Be Software Architecture Wise
Be Wise Apps

Read in English · Leer en español · Lire en français

Abschnitt 2.7 von 2.8 · Mittelstufe · 22 Min. Lesezeit

Sicherheit, Benutzbarkeit, Interoperabilität, Kosten und Nachhaltigkeit als Qualitäten

Videolektion

5 Min. · auf Englisch gesprochen, mit Untertiteln
Nur anhören (Audio)
Transkript lesen

Diese Lektion behandelt die übrigen Qualitäten: Sicherheit, Benutzbarkeit, Interoperabilität, Kosten, Nachhaltigkeit und einige weitere, die man bis zu einem Audit leicht übersieht.

Wenn Sie eine Bank wählen, ist Ihnen wichtig, dass sie Ihr Geld sicher verwahrt, dass die App leicht zu bedienen ist, dass sie mit anderen Banken zusammenarbeitet, dass die Gebühren fair sind und vielleicht, dass sie keine Energie verschwendet. Nichts davon ist eine Funktion, auf die man auf einem Bildschirm zeigen kann. Jedes ist eine Qualität des ganzen Dienstes, und Architekten müssen jede so konkret fassen, dass man darauf hin entwerfen und sie prüfen kann.

Sicherheit ist die Fähigkeit, Daten und Funktionen vor unbefugter Nutzung zu schützen und trotzdem die Befugten zu bedienen. Die internationale Norm nennt sechs Teilmerkmale. Vertraulichkeit heißt, nur Befugte können Daten lesen. Integrität heißt, Daten und Code werden nicht ohne Befugnis verändert. Diese stammen aus der klassischen CIA-Triade. Nichtabstreitbarkeit heißt, Aktionen lassen sich später nicht leugnen. Verantwortlichkeit heißt, sie lassen sich dem zuordnen, der sie ausgeführt hat. Authentizität heißt, eine Identität lässt sich nachweisen. Und Widerstandsfähigkeit, neu seit zweitausenddreiundzwanzig, heißt, das System arbeitet auch unter Angriff weiter. Das A der Triade, die Verfügbarkeit, steht in diesem Modell unter Zuverlässigkeit.

„Das System muss sicher sein“ lässt sich nicht testen. Ein Sicherheitsszenario benennt den Angreifer, den Angriff, das Ziel und ein Maß. Zum Beispiel probiert ein Angreifer geleakte Passwörter mit fünfzig Versuchen pro Sekunde aus. Das System erkennt das Muster innerhalb von zwei Minuten und fordert die Quellen heraus oder sperrt sie. Sicherheitstaktiken wirken zu unterschiedlichen Zeiten. Vor einem Angriff wehren Sie ihn ab: authentifizieren, autorisieren, die Angriffsfläche begrenzen, verschlüsseln und Eingaben validieren. Während eines Angriffs erkennen Sie ihn und reagieren dann: Zugriff entziehen, Konten sperren, Verkehr blockieren und Personen alarmieren. Danach stellen Sie aus sauberen Backups wieder her und nutzen den Audit-Trail, um zu verstehen, was geschehen ist. Sicherheit ist eine Eigenschaft der ganzen Struktur, keine Komponente, die man am Ende hinzufügt.

Benutzbarkeit, heute Interaktionsfähigkeit genannt, ist meist Interaktionsdesign, doch Teile davon reichen tief in die Struktur. Reaktionsfähigkeit ist ein solcher Teil. Etwa eine Zehntelsekunde wirkt unmittelbar, etwa eine Sekunde erhält Ihren Gedankenfluss, und etwa zehn Sekunden sind die Grenze der Aufmerksamkeit. Rückgängigmachen, Abbrechen und Offline-Arbeit sind ebenfalls architektonisch. Sie sind viel billiger von Anfang an einzuplanen als nachzurüsten. Barrierefreiheit wird zunehmend zur rechtlichen Randbedingung. Die Web Content Accessibility Guidelines in Version zwei Komma zwei definieren testbare Kriterien, und Stufe Doppel-A ist der übliche Maßstab. In der Europäischen Union gilt der European Accessibility Act seit dem achtundzwanzigsten Juni zweitausendfünfundzwanzig für viele Dienste, darunter Banken und Onlineshops. Erfassen Sie sie also früh.

Interoperabilität heißt, Systeme können Informationen austauschen und nutzen. Einigkeit über das Format reicht nicht; sie müssen sich über die Bedeutung einig sein. Ist ein Betrag von eintausendfünfzig in Pence oder in Pfund? Die meisten Integrationsfehler betreffen die Bedeutung. Betriebssicherheit ist etwas anderes als Sicherheit. Sicherheit schützt das System vor Menschen mit schädlicher Absicht. Betriebssicherheit schützt Menschen vor dem System, auch wenn niemand böswillig ist. Observability ist, wie gut Sie anhand der Daten, die ein System ausgibt, verstehen können, was nicht stimmt. Die Wiederherstellungszeit und damit die Verfügbarkeit hängen davon ab. Und auch Gesetze erzeugen Qualitäten: wo Daten gespeichert werden, der Nachweis, wer was wann getan hat, und wie lange Daten aufbewahrt werden. Behandeln Sie sie als Randbedingungen mit klaren Akzeptanzkriterien.

Kosten und CO2 misst man am besten pro Arbeitseinheit. Ein Bestellservice kostet vierundzwanzigtausend Pfund im Monat und verarbeitet drei Millionen Bestellungen. Das sind null Komma acht Pence pro Bestellung. Für CO2 multipliziert die Formel der Software Carbon Intensity die Energie mit der CO2-Intensität des Stroms. Zwölfhundert Kilowattstunden zu je zweihundertfünfzig Gramm ergeben dreihundert Kilogramm. Dazu kommen sechzig Kilogramm für die Emissionen der Hardwareherstellung: dreihundertsechzig Kilogramm. Geteilt durch drei Millionen Bestellungen ergibt das null Komma eins zwei Gramm CO2-Äquivalent pro Bestellung. Werden Speisekarten gecacht und sinkt der Energieverbrauch so um fünfundzwanzig Prozent, fällt der Wert auf null Komma null neun fünf Gramm pro Bestellung. Nur echte Reduktionen zählen. Der Kauf von Kompensationen senkt den Wert nicht. Und weil beide Maße pro Bestellung gelten, belohnen sie Effizienz, statt Wachstum zu bestrafen.

Der vollständige Abschnitt enthält weitere Sicherheitsszenarien, die Standards für Interoperabilität und Betriebssicherheit und eine Übersichtstabelle mit Beispielmaßen. Als Nächstes sehen wir uns in Abschnitt zwei Punkt acht, dem letzten dieses Kapitels, an, wie man Qualitäten findet, gewichtet und gegeneinander abwägt. Bis gleich.

Was Sie wissen müssen

Sicherheit als Qualitätsmerkmal

Sicherheit ist die Fähigkeit des Systems, Daten und Funktionen vor unbefugtem Zugriff und unbefugter Nutzung zu schützen und dabei weiterhin die Befugten zu bedienen. Architekten gehen oft von der CIA-Triade aus: Vertraulichkeit (nur Befugte können Daten lesen), Integrität (Daten und Code werden nicht ohne Befugnis verändert, und Veränderungen sind erkennbar) und Verfügbarkeit (befugte Nutzer können den Dienst nutzen, wenn sie ihn brauchen). Angriffe lassen sich den drei zuordnen: Wer Kundendaten stiehlt, verletzt die Vertraulichkeit; wer die Bankverbindung eines Zahlungsempfängers ändert, verletzt die Integrität; und ein Denial-of-Service-Angriff verletzt die Verfügbarkeit.

ISO/IEC 25010:2023 verfeinert das Bild. Sein Merkmal Sicherheit hat sechs Teilmerkmale: Vertraulichkeit, Integrität, Nichtabstreitbarkeit (Aktionen oder Ereignisse lassen sich als geschehen nachweisen, sodass eine Partei sie später nicht leugnen kann), Verantwortlichkeit (Aktionen lassen sich eindeutig der Entität zuordnen, die sie ausgeführt hat), Authentizität (die Identität eines Subjekts oder einer Ressource lässt sich als die behauptete nachweisen) und, neu in der Ausgabe 2023, Widerstandsfähigkeit (das Produkt arbeitet weiter wie vorgesehen, während es von einem böswilligen Akteur angegriffen wird). Verfügbarkeit steht in diesem Modell unter Zuverlässigkeit, weshalb sie in Abschnitt 2.5 behandelt wurde.

Die Teilmerkmale der Sicherheit

Sicherheit nach ISO/IEC 25010:2023 hat sechs Teilmerkmale: aus der klassischen CIA-Triade Vertraulichkeit und Integrität, dazu Nichtabstreitbarkeit, Verantwortlichkeit, Authentizität und Widerstandsfähigkeit; Verfügbarkeit fällt unter ZuverlässigkeitSicherheitISO/IEC 25010:2023Vertrau-lichkeitIntegritätNicht-abstreitbark.Verant-wortungAuthen-tizitätWiderstandneu seit 2023nur Befugtekönnen lesenDaten und CodeunverändertAktionen späternicht abstreitbarAktionenrückverfolgbarIdentitätbeweisbararbeitet unterAngriff weiterVerfügbarkeit: das A der CIA, unter Zuverlässigkeit
Vertraulichkeit und Integrität stammen aus der CIA-Triade; die anderen vier machen Verantwortlichkeit, Identitätsnachweis und Verhalten unter Angriff ausdrücklich.

Sicherheitsszenarien schreiben

„Das System muss sicher sein“ lässt sich weder entwerfen noch testen. Ein Sicherheitsszenario benennt eine Quelle (wer angreift, mit welchem Zugang), einen Stimulus (was versucht wird), ein Artefakt (was angegriffen wird), eine Umgebung (online, während eines Vorfalls, mit dem Angreifer bereits im Netzwerk), eine Antwort und ein Maß. Maße für Sicherheit betreffen oft die Erkennungszeit, das Ausmaß des Schadens oder die Zeit bis zur Wiederherstellung, weil sich „kein Angriff ist je erfolgreich“ nicht überprüfen lässt.

Drei Beispiele für eine Onlinebank. Credential Stuffing: Ein externer Angreifer probiert geleakte Kombinationen aus Benutzername und Passwort mit 50 Versuchen pro Sekunde von vielen Adressen aus an der Login-API; das System erkennt das Muster innerhalb von 2 Minuten, fordert die Quelladressen heraus oder sperrt sie, und Konten mit Multi-Faktor-Authentifizierung werden nicht übernommen. Manipulation durch Insider: Ein Support-Mitarbeiter mit legitimem Zugang ändert die Empfängerdaten eines Kunden; die Änderung erfordert die Freigabe durch eine zweite Person, und das Audit-Log hält wer, was und wann in einer Form fest, die der Mitarbeiter nicht verändern kann. Gestohlenes Backup: Ein Angreifer gelangt an eine Kopie des Datenbank-Backups der letzten Woche; alle personenbezogenen Daten darin sind mit getrennt gespeicherten Schlüsseln verschlüsselt, sodass keine Kundendaten lesbar sind.

Beachten Sie, dass jedes Szenario eine andere Architektur nach sich zieht: Rate Limiting und Anomalieerkennung am Rand des Systems, einen Freigabe-Workflow nach dem Vier-Augen-Prinzip und manipulationssichere Logs sowie Verschlüsselung mit getrenntem Schlüsselmanagement. Solche Szenarien systematisch zu finden ist Aufgabe der Bedrohungsmodellierung, die in Kapitel 8 behandelt wird.

Sicherheitstaktiken: ein Überblick

Bass, Clements und Kazman gruppieren Sicherheitstaktiken danach, wann sie wirken. Angriffen widerstehen: Akteure identifizieren, authentifizieren und autorisieren, Zugriff und Angriffsfläche begrenzen (weniger offene Ports, weniger öffentliche Endpoints, Least Privilege), Daten bei der Übertragung und im Ruhezustand verschlüsseln, Entitäten trennen (sensible Daten in einem eigenen Speicher oder Netzwerksegment), Standardeinstellungen ändern und Eingaben validieren. Angriffe erkennen: Angriffserkennung (Intrusion Detection), Denial of Service erkennen, die Integrität von Nachrichten prüfen und ungewöhnliche Verzögerungen oder Muster bemerken. Auf Angriffe reagieren: Zugriff entziehen, Konten nach fehlgeschlagenen Anmeldungen sperren, Betrieb und Nutzer informieren. Sich von Angriffen erholen: einen bekannten guten Zustand wiederherstellen (wieder die Taktiken der Verfügbarkeit) und einen Audit-Trail führen, um zu verstehen, was geschehen ist, und die Nichtabstreitbarkeit zu stützen.

Dieser Abschnitt stellt nur die Familien vor. Prinzipien wie Defense in Depth und Least Privilege, Identitätsprotokolle, Verschlüsselung, Zero Trust und die Sicherheit der Lieferkette sind Thema von Kapitel 8. Der architektonische Punkt hier ist, dass Sicherheit eine Eigenschaft der gesamten Struktur ist und keine Komponente, die man am Ende hinzufügt: Wo Vertrauensgrenzen verlaufen, welche Komponente welche Daten hält und wie Services einander authentifizieren, sind frühe und teuer zu ändernde Entscheidungen.

Taktiken vor, während und nach einem Angriff

Sicherheitstaktiken wirken vor, während und nach einem Angriff: abwehren, erkennen, reagieren, erholenvor dem Angrifflaufender Angriffnach dem AngriffAbwehrenLogin, Rechte,Zugriff begrenzen,verschlüsseln, Ein-gaben validierenErkennenEinbruchs- undAnomalieerkennung,Integritätsprüfung,Raten überwachenHandelnZugang sperren,Konten sperren,Verkehr blocken,Alarm auslösenErholensaubere Backups ein-spielen, Audit-Trailzeigt, was ge-schahGruppierung nach Bass, Clements und Kazman; Details in Kapitel 8
Abwehrtaktiken verringern die Erfolgsaussichten eines Angriffs; Taktiken zum Erkennen, Reagieren und Erholen begrenzen den Schaden, wenn die Abwehr versagt.

Benutzbarkeit, Interaktionsfähigkeit und Barrierefreiheit

ISO/IEC 25010:2023 hat Benutzbarkeit in Interaktionsfähigkeit umbenannt: das Maß, in dem festgelegte Nutzer über die Benutzeroberfläche mit einem Produkt interagieren können, um Informationen auszutauschen und bestimmte Aufgaben zu erledigen. Ihre Teilmerkmale sind Erkennbarkeit der Eignung, Erlernbarkeit, Bedienbarkeit, Schutz vor Benutzerfehlern, Nutzerbindung (die die Ästhetik der Benutzeroberfläche ersetzt hat), Inklusivität, Benutzerunterstützung und Selbstbeschreibungsfähigkeit. Vieles davon ist Interaktionsdesign statt Architektur, doch mehrere Anliegen der Benutzbarkeit reichen tief in die Struktur hinein.

Reaktionsfähigkeit ist das offensichtliche. Bewährte Richtwerte der Ergonomie, bekannt gemacht durch Jakob Nielsen, nennen drei Grenzen: Etwa 0,1 Sekunden wirken unmittelbar, etwa 1 Sekunde erhält den Gedankenfluss des Nutzers, und etwa 10 Sekunden sind die Grenze der Aufmerksamkeit. Um sie einzuhalten, braucht es unter Umständen Caching, asynchrone Verarbeitung mit Fortschrittsanzeige oder optimistische Aktualisierungen. Rückgängigmachen und Abbrechen sind architektonisch: die letzten fünf Aktionen rückgängig machen erfordert umkehrbare Befehle, und das Abbrechen eines langen Uploads erfordert eine Operation, die sich sauber unterbrechen lässt. Offline-Arbeit in einer mobilen App erfordert lokale Speicherung und Synchronisation mit Konfliktbehandlung. All das ist viel billiger von Anfang an einzuplanen als nachzurüsten.

Barrierefreiheit, also die Möglichkeit für Menschen mit Behinderungen, das Produkt zu nutzen, ist zunehmend eine rechtliche Randbedingung und keine bloße Vorliebe mehr. Die Web Content Accessibility Guidelines in Version 2.2 (WCAG 2.2), seit Oktober 2023 eine W3C-Empfehlung, definieren testbare Erfolgskriterien auf den Stufen A, AA und AAA; Stufe AA ist der übliche Maßstab im Recht und in der Beschaffung. WCAG 2.2 hat neun Kriterien ergänzt, darunter Mindestgrößen für Zielflächen bei Zeigereingabe und barrierefreie Authentifizierung (kein Schritt der Anmeldung darf von einem kognitiven Funktionstest abhängen, etwa dem Merken eines Passworts oder dem Abschreiben eines Codes, es sei denn, dem Nutzer wird eine alternative Methode oder Hilfe angeboten, etwa das Einfügen aus einem Passwortmanager; einige weitere enge Ausnahmen gelten). In der Europäischen Union gilt der European Accessibility Act (Richtlinie (EU) 2019/882) seit dem 28. Juni 2025 für viele Verbraucherprodukte und -dienstleistungen, darunter E-Commerce, Bankdienstleistungen, E-Books und Personenbeförderungsdienste. Für Architekten ist Barrierefreiheit daher eine früh zu erfassende Randbedingung: Sie beeinflusst die Wahl des Frontend-Frameworks, das Designsystem, den Authentifizierungsablauf und die Test-Pipeline (automatisierte Barrierefreiheitsprüfungen in der Continuous Integration sowie manuelle Tests mit assistiven Technologien).

Interoperabilität

Interoperabilität ist das Maß, in dem zwei oder mehr Systeme Informationen austauschen und die ausgetauschten Informationen nutzen können. ISO/IEC 25010 ordnet sie der Kompatibilität zu, neben der Koexistenz. Sie hat zwei Ebenen. Syntaktische Interoperabilität bedeutet, dass sich die Systeme über Format und Protokoll einig sind: Beide sprechen HTTP und JSON. Semantische Interoperabilität bedeutet, dass sie sich über die Bedeutung einig sind: "amount": 1050 sind Pence, nicht Pfund; status: "closed" bedeutet bezahlt, nicht storniert. Die meisten Integrationsfehler sind semantisch.

Branchen senken die Kosten semantischer Einigung mit gemeinsamen Standards: HL7 FHIR für den Austausch von Gesundheitsdaten, ISO 20022 für Finanznachrichten, GTFS für Fahrpläne im öffentlichen Verkehr. Zu den architektonischen Taktiken gehören, Services über eine Registry zu finden, Schnittstellen mit Adaptern und Übersetzern anzupassen und Versionen ausdrücklich zu verwalten, damit ältere Partner weiter funktionieren. Ein Interoperabilitätsszenario könnte lauten: Ein neues Krankenhaus tritt dem Netzwerk bei und tauscht innerhalb von 4 Wochen Patientenzusammenfassungen über FHIR-R4-Ressourcen aus, ohne Änderungen am zentralen Patientenaktenservice.

Kosten als Qualität

Kosten tauchen in Qualitätsmodellen selten auf, doch sie begrenzen jede Architekturentscheidung. Unterscheiden Sie Erstellungskosten (der Aufwand, das System zu bauen), Betriebskosten (Infrastruktur, Lizenzen, Dienste Dritter, Support) und Änderungskosten (der Aufwand für jede künftige Änderung, um den es bei der Änderbarkeit geht). In der Cloud sind die Betriebskosten variabel und unmittelbar von der Architektur geprägt: Gesprächige Services zahlen für Netzwerkübertragung, überdimensionierte Cluster zahlen für ungenutzte Kapazität, und ein unbedachtes Abfragemuster kann eine Datenbankrechnung vervielfachen.

Ein nützlicher Weg, Kosten zum Qualitätsmerkmal zu machen, sind Stückkosten: Kosten pro Transaktion, pro aktivem Nutzer oder pro Bestellung. Anders als eine monatliche Gesamtrechnung zeigen sie, ob die Architektur mit wachsendem Geschäft effizienter oder weniger effizient wird, und sie lassen sich als Szenario formulieren: Bei 3 Millionen Bestellungen im Monat bleiben die Infrastrukturkosten unter 1 Penny pro Bestellung. FinOps-Praktiken, um dies zu steuern, werden in Kapitel 10 behandelt.

Ausgearbeitetes Beispiel

Ausgearbeitetes Beispiel: Stückkosten und CO2 pro Anfrage für eine API einer Essenslieferplattform

Eine Bestell-API läuft auf einem Cluster, der £24.000 im Monat kostet, und verarbeitet 3.000.000 Bestellungen im Monat. Eine Analyse schätzt ihren Energieverbrauch auf 1200 kWh im Monat, in einem Stromnetz mit durchschnittlich 250 g CO2e pro kWh, und ihr werden monatlich 60 kg CO2e an grauen Emissionen der Hardware zugerechnet. Die Formel der Software Carbon Intensity lautet SCI = ((E x I) + M) pro R.

Kosten pro Bestellung£24.000 / 3.000.000 = £0,008, also 0,8 Pence pro Bestellung
Betriebsemissionen (E x I)1200 kWh x 250 g = 300.000 g = 300 kg CO2e
Graue Emissionen addieren (M)300 + 60 = 360 kg CO2e
Durch die funktionale Einheit teilen (R = eine Bestellung)360.000 g / 3.000.000 = 0,12 g CO2e pro Bestellung
Änderung: Speisekarten cachen, Energie um 25 % senkenE = 900 kWh: (900 x 250 + 60.000) / 3.000.000 = 0,095 g pro Bestellung
Änderung: Batch-Jobs in einer Region mit 50 g pro kWh ausführenSenkt I für diesen Anteil der Last; CO2-bewusste Planung (Carbon-Aware Scheduling) senkt den Wert, ohne den Code zu ändern
Wachstum auf 6.000.000 Bestellungen auf demselben ClusterDie Kosten pro Bestellung halbieren sich auf 0,4 Pence; auch das CO2 pro Bestellung sinkt, solange der Energieverbrauch unterproportional wächst (Server im Leerlauf ziehen weiterhin Strom, daher ist höhere Auslastung effizienter)

Beide Kennzahlen sind Raten pro Einheit nützlicher Arbeit; sie belohnen daher Effizienz, statt Wachstum zu bestrafen.

Die SCI-Spezifikation zählt nur echte Reduktionen: Der Kauf von Kompensationszertifikaten oder Herkunftsnachweisen für erneuerbare Energie senkt den Wert nicht.

Energie- und Netzwerte sind Schätzungen; entscheidend ist, sie über die Zeit auf dieselbe Weise zu messen, damit sich Änderungen vergleichen lassen.

Energieeffizienz und Nachhaltigkeit

Software stößt selbst kein CO2 aus, doch die Hardware, auf der sie läuft, verbraucht Strom und trägt die Emissionen ihrer Herstellung in sich. Die Spezifikation Software Carbon Intensity (SCI) der Green Software Foundation, von der ISO als ISO/IEC 21031:2024 veröffentlicht, definiert eine Rate: Betriebsemissionen (Energie E mal CO2-Intensität I des Stroms) plus graue Emissionen M, geteilt durch eine funktionale Einheit R wie einen Nutzer, einen API-Aufruf oder eine Bestellung. Sie nennt drei Hebel: Energieeffizienz (für dieselbe Arbeit weniger Strom verbrauchen), Hardwareeffizienz (weniger Geräte nutzen und diese stärker und länger auslasten) und CO2-Bewusstsein (flexible Arbeit dann und dort ausführen, wo der Strom sauberer ist).

Die Architektur beeinflusst alle drei. Passende Dimensionierung (Right-Sizing) und höhere Auslastung verbessern die Hardwareeffizienz; Caching, effiziente Datenformate und das Vermeiden unnötiger Arbeit verbessern die Energieeffizienz; Queues und Batch-Verarbeitung ermöglichen es, Arbeit zeitlich oder räumlich zu verlagern. Nachhaltigkeit geht oft mit den Kosten einher, aber nicht immer: Ein Warm-Standby in einer zweiten Region verbessert die Verfügbarkeit und verdoppelt die grauen Emissionen. Große KI-Modelle machen die Frage dringlicher, wie Kapitel 12 erörtert.

Betriebssicherheit (Safety)

Betriebssicherheit ist die Freiheit von unvertretbaren Risiken für Menschen, Sachwerte oder die Umwelt. Sie unterscheidet sich von Sicherheit: Sicherheit schützt das System vor Menschen mit schädlicher Absicht; Betriebssicherheit schützt Menschen vor dem System, auch wenn niemand böswillig handelt. ISO/IEC 25010:2023 hat Betriebssicherheit als neuntes Merkmal ergänzt, mit den Teilmerkmalen betriebliche Beschränkung, Risikoidentifikation, Ausfallsicherheit (Fail-safe), Gefahrenwarnung und sichere Integration.

Sicherheitskritische Bereiche haben eigene Normen, die Architektur und Prozess vorgeben: IEC 61508 für funktionale Sicherheit allgemein, ISO 26262 für Straßenfahrzeuge, IEC 62304 für Software von Medizinprodukten und DO-178C für Software in der Luftfahrt. Typische Taktiken sind ein ausfallsicherer Standardzustand (ein Zug hält an, wenn die Signale ausfallen), unabhängige Überwachungskanäle, die die Hauptsteuerung übersteuern können, Redundanz mit Mehrheitsentscheid und eine strikte Trennung sicherheitskritischer Komponenten von allem anderen, damit ein Fehler im Infotainmentsystem nicht die Bremsen erreichen kann. Beachten Sie, dass ausfallsicher und hochverfügbar im Konflikt stehen können: Ein ausfallsicheres System hält oft an, was sicher, aber nicht verfügbar ist.

Observability, eine aufkommende Qualität

Observability (Beobachtbarkeit) ist das Maß, in dem Sie den inneren Zustand eines Systems von außen anhand der Daten verstehen können, die es ausgibt, und zwar gut genug, um Fragen zu beantworten, die beim Bau nicht vorhergesehen wurden. Sie ist in ISO/IEC 25010 nicht aufgeführt, auch wenn Analysierbarkeit und Verantwortlichkeit sie berühren. In verteilten Systemen ist sie zu einer eigenständigen Qualität geworden, weil die Wiederherstellungszeit und damit die Verfügbarkeit davon abhängt, wie schnell Menschen herausfinden, was nicht stimmt. Architektonisch erfordert sie strukturierte Logs, Metriken und verteilte Traces mit Korrelations-IDs, die einer Anfrage über Services hinweg folgen, und zwar von Anfang an eingeplant. Ein Szenario könnte lauten: Bei jedem fehlgeschlagenen Bezahlvorgang kann ein Bereitschaftsingenieur innerhalb von 5 Minuten den fehlerhaften Service und den Weg der Anfrage ermitteln. Siehe Observability in Kapitel 9.

Gesetze und Vorschriften erzeugen Qualitäten, die man bis zu einem Audit leicht übersieht. Datenresidenz verlangt, dass bestimmte Daten in einem bestimmten Land oder einer bestimmten Region gespeichert oder verarbeitet werden; sie kann aus Branchenregeln, Verträgen mit der öffentlichen Hand oder Kundenanforderungen stammen. Die DSGVO selbst verlangt nicht, dass Daten in der EU bleiben, aber Übermittlungen außerhalb der EU brauchen eine Rechtsgrundlage und Garantien, was in der Praxis bestimmt, wo Services und Backups laufen. Auditierbarkeit bedeutet, später zeigen zu können, wer was wann getan hat: manipulationssichere Logs, für einen festgelegten Zeitraum aufbewahrt, mit synchronisierten Uhren. Aufbewahrungs- und Löschregeln verlangen, Daten mindestens eine bestimmte Zeit aufzubewahren (Finanzunterlagen) und nach einer Höchstdauer oder auf Antrag zu löschen (personenbezogene Daten), was in Systemen mit vielen Kopien, Caches und Backups schwierig ist. Erklärbarkeit und menschliche Aufsicht sind für manche automatisierten Entscheidungen vorgeschrieben, wie das Kapitel zur KI-Verordnung der EU erläutert.

Behandeln Sie diese als Randbedingungen mit Akzeptanzkriterien: „Kundendaten deutscher Auftraggeber der öffentlichen Hand werden nur in EU-Regionen gespeichert und verarbeitet, einschließlich Backups und Logs“ ist testbar und schließt manche Managed Services sofort aus. Datenschutzanforderungen werden in Privacy by Design und die DSGVO behandelt.

Zusammenfassung: die Qualitäten dieses Abschnitts und Beispielmaße

QualitätBeispiel für ein AntwortmaßTypischer architektonischer Hebel
Sicherheit (Vertraulichkeit)Keine personenbezogenen Daten aus einem gestohlenen Backup lesbarVerschlüsselung im Ruhezustand mit getrennt verwalteten Schlüsseln
Sicherheit (Verantwortlichkeit)Jede Änderung an Empfängerdaten einer Person zuordenbar, Logs manipulationssicherZentrales Audit-Log, nur einmal beschreibbarer Speicher (Write-once)
Interaktionsfähigkeit95 % der Erstnutzer schließen den Bezahlvorgang ohne Hilfe in unter 3 Minuten abEinfache Abläufe, schnelle Antworten, Rückgängigmachen
BarrierefreiheitAlle Customer Journeys erfüllen WCAG 2.2 Stufe AABarrierefreies Designsystem, automatisierte Prüfungen in der CI
InteroperabilitätNeuer Partner nach dem veröffentlichten API-Standard innerhalb von 4 Wochen angebundenStandardformate, Adapter, versionierte APIs
KostenInfrastruktur unter 1 Penny pro Bestellung bei 3 Millionen Bestellungen im MonatRight-Sizing, Caching, Autoscaling
NachhaltigkeitSCI unter 0,1 g CO2e pro BestellungEffizienz, Auslastung, CO2-bewusste Planung
ObservabilityFehlerhafter Service innerhalb von 5 Minuten für jede fehlgeschlagene Anfrage ermitteltStrukturierte Logs, Metriken, Distributed Tracing
DatenresidenzAlle Daten von EU-Kunden, einschließlich Backups, bleiben in EU-RegionenAn Regionen gebundene Speicherung und Verarbeitung

Prüfen Sie Ihr Verständnis

Was ist der Unterschied zwischen Verantwortlichkeit und Nichtabstreitbarkeit?

Verantwortlichkeit bedeutet, dass sich Aktionen der Entität zuordnen lassen, die sie ausgeführt hat; Nichtabstreitbarkeit bedeutet, dass es einen so starken Nachweis gibt, dass die Entität die Aktion später nicht leugnen kann.

Warum zählt „die letzten fünf Aktionen rückgängig machen“ als architektonische Anforderung und nicht nur als Anforderung an die Benutzeroberfläche?

Weil Operationen dafür als umkehrbare Befehle mit gespeicherter Historie modelliert werden müssen, was beeinflusst, wie Zustandsänderungen im gesamten System strukturiert sind.

Eine API verbraucht 800 kWh im Monat in einem Stromnetz mit 200 g CO2e pro kWh, ihr sind 40 kg graue Emissionen zugerechnet, und sie bedient 2.000.000 Anfragen. Wie hoch ist ihre SCI pro Anfrage?

(800 x 200 g + 40.000 g) / 2.000.000 = 200.000 / 2.000.000 = 0,1 g CO2e pro Anfrage.

Wie unterscheidet sich Betriebssicherheit von Sicherheit?

Sicherheit schützt das System und seine Daten vor Menschen mit schädlicher Absicht; Betriebssicherheit schützt Menschen und Umwelt vor Schaden, den das System verursachen könnte, auch ohne böswilligen Akteur.

Weiter · 2.8Erheben und priorisierenWoher Qualitätsanforderungen kommen, wie der Quality Attribute Workshop des SEI und der Utility Tree der ATAM sie aufdecken und gewichten, wie man mit Konflikten zwischen Qualitäten umgeht und wie Fitness Functions sie dauerhaft absichern.Weiter →

Quellen und weiterführende Literatur

Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.

Fragen: „Wie schreibe ich für unser Kundenportal eine Sicherheitsanforderung, die das Testteam tatsächlich überprüfen kann?“