Entscheidungsprotokoll-Vorlage von arc42
1. Einführung und Ziele
Kurzbeschreibung der Anforderungen, treibenden Kräfte, Auszug (oder Abstrakt) der Anforderungen. Die wichtigsten drei (maximal fünf) Qualitätsziele für die Architektur, die für die wesentlichen Stakeholder höchste Priorität haben. Eine Tabelle wichtiger Stakeholder mit ihren Erwartungen an die Architektur.
1.1 Aufgabenstellung
Inhalt
Kurzbeschreibung der funktionalen Anforderungen, treibenden Kräfte, Auszug (oder Abstrakt) der Anforderungen. Verweise auf (hoffentlich vorhandene) Anforderungsdokumente, mit Hinweisen, wo diese zu finden sind.
Motivation
Aus Sicht der Endbenutzer wird ein System erstellt oder geändert, um die Unterstützung einer Geschäftstätigkeit zu verbessern und/oder die Qualität zu steigern.
Form
Kurze Textbeschreibung, gegebenenfalls im tabellarischen Anwendungsfall-Format. Wenn Anforderungsdokumente existieren, sollte diese Übersicht auf diese Dokumente verweisen.
Halten Sie diese Auszüge so kurz wie möglich. Wägen Sie die Lesbarkeit dieses Dokuments gegen mögliche Redundanz zu den Anforderungsdokumenten ab.
1.2 Qualitätsziele
Inhalt
Die wichtigsten drei (maximal fünf) Qualitätsziele für die Architektur, deren Erfüllung für die wesentlichen Stakeholder von höchster Bedeutung ist. Wir meinen wirklich Qualitätsziele für die Architektur. Verwechseln Sie sie nicht mit Projektzielen. Sie sind nicht notwendigerweise identisch. Die Norm ISO 25010 bietet einen guten Überblick über mögliche Themen von Interesse.
Motivation
Sie sollten die Qualitätsziele Ihrer wichtigsten Stakeholder kennen, da sie grundlegende Architekturentscheidungen beeinflussen werden. Seien Sie bei diesen Qualitäten sehr konkret und vermeiden Sie Schlagworte. Wenn Sie als Architekt nicht wissen, wie die Qualität Ihrer Arbeit beurteilt wird …
Form
Eine Tabelle mit den wichtigsten Qualitätszielen und konkreten Szenarien, nach Priorität geordnet.
1.3 Stakeholder
Inhalt
Explizite Übersicht über die Stakeholder des Systems, das heißt alle Personen, Rollen oder Organisationen, die
die Architektur kennen sollten
von der Architektur überzeugt werden müssen
mit der Architektur oder mit Code arbeiten müssen
die Dokumentation der Architektur für ihre Arbeit benötigen
Entscheidungen über das System oder seine Entwicklung treffen müssen
Motivation
Sie sollten alle an der Entwicklung des Systems beteiligten oder vom System betroffenen Parteien kennen. Andernfalls erleben Sie später im Entwicklungsprozess möglicherweise unangenehme Überraschungen. Diese Stakeholder bestimmen Umfang und Detaillierungsgrad Ihrer Arbeit und ihrer Ergebnisse.
Form
Tabelle mit Rollennamen, Personennamen und ihren Erwartungen an die Architektur und ihre Dokumentation.
2. Randbedingungen
Alles, was Teams bei Entwurfs- und Implementierungsentscheidungen oder Entscheidungen über verwandte Prozesse einschränkt. Kann manchmal über einzelne Systeme hinausgehen und für ganze Organisationen und Unternehmen gelten.
Inhalt
Alle Anforderungen, die Softwarearchitekten in ihrer Freiheit bei Entwurfs- und Implementierungsentscheidungen oder Entscheidungen über den Entwicklungsprozess einschränken. Diese Randbedingungen gehen manchmal über einzelne Systeme hinaus und gelten für ganze Organisationen und Unternehmen.
Motivation
Architekten sollten genau wissen, wo sie bei ihren Entwurfsentscheidungen frei sind und wo sie Randbedingungen einhalten müssen. Randbedingungen müssen stets berücksichtigt werden; sie können jedoch verhandelbar sein.
Form
Einfache Tabellen mit Randbedingungen und Erläuterungen. Bei Bedarf können Sie sie in technische Randbedingungen, organisatorische und politische Randbedingungen und Konventionen (z. B. Programmier- oder Versionierungsrichtlinien, Dokumentations- oder Namenskonventionen) unterteilen
3. Kontextabgrenzung
Grenzt Ihr System von seinen (externen) Kommunikationspartnern (Nachbarsystemen und Benutzern) ab. Legt die externen Schnittstellen fest. Dargestellt aus fachlicher/domänenbezogener Sicht (immer) oder aus technischer Sicht (optional)
Inhalt
Systemumfang und Kontext grenzen – wie der Name sagt – Ihr System (das heißt Ihren Umfang) von allen seinen Kommunikationspartnern (Nachbarsystemen und Benutzern, das heißt dem Kontext Ihres Systems) ab. Dadurch werden die externen Schnittstellen festgelegt.
Unterscheiden Sie bei Bedarf den fachlichen Kontext (domänenspezifische Ein- und Ausgaben) vom technischen Kontext (Kanäle, Protokolle, Hardware).
Motivation
Die fachlichen Schnittstellen und technischen Schnittstellen zu Kommunikationspartnern gehören zu den kritischsten Aspekten Ihres Systems. Stellen Sie sicher, dass Sie sie vollständig verstehen.
Form
Verschiedene Kontextdiagramme
Listen von Kommunikationspartnern und ihren Schnittstellen.
3.1 Fachlicher Kontext
Inhalt
Spezifikation aller Kommunikationspartner (Benutzer, IT-Systeme, …) mit Erläuterungen zu domänenspezifischen Ein- und Ausgaben oder Schnittstellen. Optional können Sie domänenspezifische Formate oder Kommunikationsprotokolle ergänzen.
Motivation
Alle Stakeholder sollten verstehen, welche Daten mit der Umgebung des Systems ausgetauscht werden.
Form
Alle Arten von Diagrammen, die das System als Blackbox zeigen und die fachlichen Schnittstellen zu Kommunikationspartnern festlegen.
Alternativ (oder zusätzlich) können Sie eine Tabelle verwenden. Der Titel der Tabelle ist der Name Ihres Systems, die drei Spalten enthalten den Namen des Kommunikations- partners, die Eingaben und die Ausgaben.
3.2 Technischer Kontext
Inhalt
Technische Schnittstellen (Kanäle und Übertragungsmedien), die Ihr System mit seiner Umgebung verbinden. Zusätzlich eine Zuordnung der domänenspezifischen Ein-/Ausgabe zu den Kanälen, das heißt eine Erläuterung, welche Ein-/Ausgabe welchen Kanal nutzt.
Motivation
Viele Stakeholder treffen Architekturentscheidungen auf Grundlage der technischen Schnittstellen zwischen dem System und seinem Kontext. Insbesondere Infrastruktur- oder Hardware- Entwerfer entscheiden diese technischen Schnittstellen.
Form
Z. B. UML-Verteilungsdiagramm, das Kanäle zu Nachbarsystemen beschreibt, zusammen mit einer Zuordnungstabelle, die die Beziehungen zwischen Kanälen und Ein-/Ausgabe zeigt.
4. Lösungsstrategie
Zusammenfassung der grundlegenden Entscheidungen und Lösungsstrategien, die die Architektur prägen. Kann Technologie, Zerlegung auf oberster Ebene, Ansätze zum Erreichen der wichtigsten Qualitätsziele und relevante organisatorische Entscheidungen umfassen.
Inhalt
Eine kurze Zusammenfassung und Erläuterung der grundlegenden Entscheidungen und Lösungsstrategien, die die Architektur des Systems prägen. Dazu gehören
Technologieentscheidungen
Entscheidungen zur Zerlegung des Systems auf oberster Ebene, z. B. die Verwendung eines Architekturmusters oder Entwurfsmusters
Entscheidungen, wie zentrale Qualitätsziele erreicht werden
relevante organisatorische Entscheidungen, z. B. die Wahl eines Entwicklungsprozesses oder die Delegation bestimmter Aufgaben an Dritte.
Motivation
Diese Entscheidungen bilden die Eckpfeiler Ihrer Architektur. Sie sind die Grundlage für viele weitere detaillierte Entscheidungen oder Implementierungsregeln.
Form
Halten Sie die Erläuterung dieser Schlüsselentscheidungen kurz.
Begründen Sie, was Sie entschieden haben und warum Sie so entschieden haben, auf Grundlage Ihrer Problemstellung, der Qualitätsziele und der wesentlichen Randbedingungen. Verweisen Sie auf Details in den folgenden Abschnitten (Abschnitt 5 für strukturelle Details, Abschnitt 8 für übergreifende Konzepte).
Sie können eine Liste von Lösungsansätzen oder eine Tabelle verwenden.
5. Bausteinsicht
Statische Zerlegung des Systems, Abstraktionen des Quellcodes, dargestellt als Hierarchie von Whiteboxen (die Blackboxen enthalten), bis zum angemessenen Detaillierungsgrad.
Inhalt
Die Bausteinsicht zeigt die statische Zerlegung des Systems in Bausteine (Module, Komponenten, Subsysteme, Klassen, Schnittstellen, Pakete, Bibliotheken, Frameworks, Schichten, Partitionen, Ebenen, Funktionen, Makros, Operationen, Datenstrukturen, …) sowie ihre Abhängigkeiten (Beziehungen, Assoziationen, …)
Diese Sicht ist für jede Architekturdokumentation verpflichtend. In Analogie zu einem Haus ist dies der Grundriss.
Motivation
Behalten Sie den Überblick über Ihren Quellcode, indem Sie seine Struktur durch Abstraktion verständlich machen.
So können Sie mit Ihren Stakeholdern auf abstrakter Ebene kommunizieren, ohne Implementierungsdetails offenzulegen.
Form
Die Bausteinsicht ist eine hierarchische Sammlung von Blackboxen und Whiteboxen (siehe Abbildung unten) und ihrer Beschreibungen.
5.1 Whitebox Gesamtsystem
Hier beschreiben Sie die Zerlegung des Gesamtsystems anhand der folgenden Whitebox-Vorlage. Sie enthält
ein Übersichtsdiagramm
eine Begründung für die Zerlegung
Blackbox-Beschreibungen der enthaltenen Bausteine. Hierfür bieten wir Ihnen Alternativen an:
eine Tabelle für einen kurzen und pragmatischen Überblick über alle enthaltenen Bausteine und ihre Schnittstellen
eine Liste von Blackbox-Beschreibungen der Bausteine gemäß der Blackbox-Vorlage (siehe unten). Je nach Wahl Ihres Werkzeugs könnte diese Liste aus Unterkapiteln (in Textdateien), Unterseiten (in einem Wiki) oder verschachtelten Elementen (in einem Modellierungswerkzeug) bestehen.
(optional:) wichtige Schnittstellen, die in den Blackbox-Vorlagen eines Bausteins nicht erläutert werden, aber für das Verständnis der Whitebox sehr wichtig sind.
Da es so viele Möglichkeiten gibt, Schnittstellen zu spezifizieren, bieten wir dafür keine spezielle Vorlage an.
Im besten Fall kommen Sie mit Beispielen oder einfachen Signaturen aus.
5.2 Ebene 2
Hier können Sie die innere Struktur (einiger) Bausteine aus Ebene 1 als Whiteboxen spezifizieren.
Sie müssen entscheiden, welche Bausteine Ihres Systems wichtig genug sind, um eine so detaillierte Beschreibung zu rechtfertigen. Bevorzugen Sie Relevanz vor Vollständigkeit. Spezifizieren Sie wichtige, überraschende, riskante, komplexe oder volatile Bausteine. Lassen Sie normale, einfache, langweilige oder standardisierte Teile Ihres Systems weg
5.2.1 Whitebox für Baustein 1
Spezifiziert die innere Struktur von Baustein 1.
Verwenden Sie die Whitebox-Vorlage (siehe oben).
6. Laufzeitsicht
Verhalten von Bausteinen als Szenarien, die wichtige Anwendungsfälle oder Features, Interaktionen an kritischen externen Schnittstellen, Betrieb und Administration sowie Fehler- und Ausnahmeverhalten abdecken.
Inhalt
Die Laufzeitsicht beschreibt konkretes Verhalten und Interaktionen der Bausteine des Systems in Form von Szenarien aus den folgenden Bereichen:
wichtige Anwendungsfälle oder Features: Wie führen Bausteine sie aus?
Interaktionen an kritischen externen Schnittstellen: Wie arbeiten Bausteine mit Benutzern und Nachbarsystemen zusammen?
Betrieb und Administration: Start, Hochfahren, Stoppen
Fehler- und Ausnahmeszenarien
Anmerkung: Das wichtigste Kriterium für die Auswahl möglicher Szenarien (Abläufe, Workflows) ist ihre architektonische Relevanz. Es ist nicht wichtig, eine große Anzahl von Szenarien zu beschreiben. Dokumentieren Sie vielmehr eine repräsentative Auswahl.
Motivation
Sie sollten verstehen, wie (Instanzen von) Bausteinen Ihres Systems ihre Aufgabe erfüllen und zur Laufzeit kommunizieren. Sie werden Szenarien vor allem in Ihrer Dokumentation erfassen, um Ihre Architektur Stakeholdern zu vermitteln, die weniger bereit oder in der Lage sind, die statischen Modelle (Bausteinsicht, Verteilungssicht) zu lesen und zu verstehen.
Form
Es gibt viele Notationen zur Beschreibung von Szenarien, z. B.
nummerierte Liste von Schritten (in natürlicher Sprache)
Aktivitätsdiagramme oder Flussdiagramme
Sequenzdiagramme
BPMN oder EPKs (ereignisgesteuerte Prozessketten)
Zustandsautomaten
usw.
6.n Laufzeitszenario n (1, 2, 3 usw.)
Fügen Sie ein Laufzeitdiagramm oder eine Textbeschreibung des Szenarios ein.
Fügen Sie eine Beschreibung der bemerkenswerten Aspekte der Interaktionen zwischen den in diesem Diagramm dargestellten Bausteininstanzen ein.
7. Verteilungssicht
Technische Infrastruktur mit Umgebungen, Rechnern, Prozessoren, Topologien. Zuordnung von (Software-)Bausteinen zu Infrastrukturelementen.
Inhalt
Die Verteilungssicht beschreibt:
die technische Infrastruktur, die zur Ausführung Ihres Systems verwendet wird, mit Infrastruktur- elementen wie geografischen Standorten, Umgebungen, Rechnern, Prozessoren, Kanälen und Netztopologien sowie anderen Infrastrukturelementen und
die Zuordnung von (Software-)Bausteinen zu diesen Infrastrukturelementen.
Oft werden Systeme in verschiedenen Umgebungen ausgeführt, z. B. Entwicklungs- umgebung, Testumgebung, Produktionsumgebung. In solchen Fällen sollten Sie alle relevanten Umgebungen dokumentieren.
Dokumentieren Sie die Verteilungssicht insbesondere, wenn Ihre Software als verteiltes System mit mehr als einem Rechner, Prozessor, Server oder Container ausgeführt wird oder wenn Sie eigene Hardware-Prozessoren und Chips entwerfen und bauen.
Aus Softwaresicht genügt es, die Elemente der Infrastruktur zu erfassen, die zur Darstellung der Verteilung Ihrer Bausteine benötigt werden. Hardwarearchitekten können darüber hinausgehen und die Infrastruktur in jedem Detaillierungsgrad beschreiben, den sie erfassen müssen.
Motivation
Software läuft nicht ohne Hardware. Diese zugrunde liegende Infrastruktur kann und wird Ihr System und/oder einige übergreifende Konzepte beeinflussen. Daher müssen Sie die Infrastruktur kennen.
Form
Möglicherweise ist das Verteilungsdiagramm auf höchster Ebene bereits in Abschnitt 3.2 als technischer Kontext mit Ihrer eigenen Infrastruktur als EINE Blackbox enthalten. In diesem Abschnitt zoomen Sie mit zusätzlichen Verteilungsdiagrammen in diese Blackbox hinein.
UML bietet Verteilungsdiagramme, um diese Sicht auszudrücken. Verwenden Sie sie, gegebenenfalls mit verschachtelten Diagrammen, wenn Ihre Infrastruktur komplexer ist.
Wenn Ihre (Hardware-)Stakeholder andere Arten von Diagrammen gegenüber dem UML-Verteilungsdiagramm bevorzugen, lassen Sie sie jede Art verwenden, die Knoten und Kanäle der Infrastruktur darstellen kann.
7.1 Infrastruktur Ebene 1
Beschreiben Sie (üblicherweise in einer Kombination aus Diagrammen, Tabellen und Text):
die Verteilung Ihres Systems auf mehrere Standorte, Umgebungen, Rechner, Prozessoren, .. sowie die physischen Verbindungen zwischen ihnen
wichtige Begründung oder Motivation für diese Verteilungsstruktur
Qualitäts- und/oder Leistungsmerkmale der Infrastruktur
die Zuordnung von Softwareartefakten (Bausteinen) zu Elementen der Infrastruktur
Für mehrere Umgebungen oder alternative Verteilungen kopieren Sie bitte diesen Abschnitt von arc42 für alle relevanten Umgebungen. **
7.2 Infrastruktur Ebene 2
Hier können Sie die innere Struktur (einiger) Infrastrukturelemente aus Infrastruktur Ebene 1 aufnehmen.
Bitte kopieren Sie die Struktur aus Ebene 1 für jedes ausgewählte Element.
8. Querschnittliche Konzepte
Insgesamt grundlegende Regelungen und Lösungsansätze, die in mehreren Teilen (→ querschnittlich) des Systems relevant sind. Konzepte beziehen sich oft auf mehrere Bausteine. Beziehen Sie verschiedene Themen ein, wie Domänenmodelle, Architektur- muster und -stile, Regeln für den Einsatz bestimmter Technologien und Implementierungs- regeln.
Inhalt
Dieser Abschnitt beschreibt querschnittliche Konzepte (Praktiken, Muster, Regelungen oder Lösungsideen). Solche Konzepte beziehen sich oft auf mehrere Bausteine. Sie können viele verschiedene Themen umfassen.
Motivation
Konzepte bilden die Grundlage für die konzeptionelle Integrität (Konsistenz, Homogenität) der Architektur. Damit sind sie ein wichtiger Beitrag, um die inneren Qualitäten Ihres Systems zu erreichen.
Dies ist die Stelle in der Vorlage, die wir für eine zusammenhängende Spezifikation solcher Konzepte vorgesehen haben.
Viele dieser Konzepte beziehen sich auf mehrere Ihrer Bausteine oder beeinflussen sie.
Form
Die Form kann variieren:
Konzeptpapiere mit beliebiger Struktur
Beispielimplementierungen, insbesondere für technische Konzepte
querschnittliche Modellauszüge oder Szenarien in der Notation der Architektursichten
Struktur dieses Abschnitts
Wählen Sie nur die für Ihr System wichtigsten Themen aus und weisen Sie jedem eine Überschrift der Ebene 2 in diesem Abschnitt zu (z. B. 8.1, 8.2 usw.).
- VERSUCHEN SIE NICHT, alle Themen des oben genannten Diagramms abzudecken.
Hintergrund
Manche Themen innerhalb von Systemen betreffen oft mehrere Bausteine, Hardware- elemente oder Entwicklungsprozesse. Es kann einfacher sein, solche querschnittlichen Themen an zentraler Stelle zu kommunizieren oder zu dokumentieren, statt sie in der Beschreibung der betroffenen Bausteine, Hardwareelemente oder Entwicklungsprozesse zu wiederholen.
Bestimmte Konzepte betreffen möglicherweise alle Elemente eines Systems, andere sind nur für wenige relevant.
9. Architekturentscheidungen
Wichtige, teure, kritische, großskalige oder riskante Architekturentscheidungen einschließlich Begründungen.
Inhalt
Wichtige, teure, großskalige oder riskante Architekturentscheidungen einschließlich Begründungen. Mit „Entscheidungen“ meinen wir die Auswahl einer Alternative anhand vorgegebener Kriterien.
Bitte entscheiden Sie nach eigenem Ermessen, ob eine Architekturentscheidung hier in diesem zentralen Abschnitt dokumentiert werden sollte oder ob Sie sie besser lokal dokumentieren (z. B. innerhalb der Whitebox-Vorlage eines Bausteins). Vermeiden Sie redundante Texte. Verweisen Sie auf Abschnitt 4, in dem Sie die wichtigsten Entscheidungen Ihrer Architektur bereits erfasst haben.
Motivation
Stakeholder Ihres Systems sollten Ihre Entscheidungen nachvollziehen und zurückverfolgen können.
Form
ADR (Architecture Decision Record) für jede wichtige Entscheidung
Liste oder Tabelle, geordnet nach Wichtigkeit und Konsequenzen oder
ausführlicher in Form separater Abschnitte pro Entscheidung
Hintergrund (zu ADRs)
Kleinere Dokumentationsstücke sind leichter zu lesen, zu erstellen und zu pflegen. Bei Architekturentscheidungen werden Entwicklungsteams oft:
die Entscheidung kennen, da sie z. B. im Quellcode sichtbar ist, aber
die Motivation hinter dieser Entscheidung nicht kennen (siehe Nygard 2011)
Daher sollten Sie einige wichtige Entscheidungen zusammen mit ihrer Motivation und Begründung dokumentieren
Unser Vorschlag zu Entscheidungen
Führen Sie eine Sammlung architektonisch bedeutsamer Entscheidungen, also derjenigen Entscheidungen, die die Struktur, Qualitätsmerkmale, wichtige (insbesondere externe) Abhängigkeiten und Schnittstellen oder Konstruktionstechniken betreffen (Dank an Michael Nygard für diesen Vorschlag).
10. Qualitätsanforderungen
Qualitätsanforderungen als Szenarien, mit einem Qualitätsbaum, der einen Überblick auf hoher Ebene gibt. Die wichtigsten Qualitätsziele sollten bereits in Abschnitt 1.2. (Qualitätsziele) beschrieben worden sein.
Inhalt
Dieser Abschnitt enthält alle relevanten Qualitätsanforderungen.
Die wichtigsten dieser Anforderungen wurden bereits in Abschnitt 1.2. (Qualitätsziele) beschrieben, daher sollten sie hier nur referenziert werden. In diesem Abschnitt 10 sollten Sie auch Qualitätsanforderungen von geringerer Wichtigkeit erfassen, die keine hohen Risiken erzeugen, wenn sie nicht vollständig erreicht werden (aber vielleicht wünschenswert sind).
Motivation
Da Qualitätsanforderungen großen Einfluss auf Architektur- entscheidungen haben werden, sollten Sie wissen, welche Qualitäten für Ihre Stakeholder wirklich wichtig sind, auf konkrete und messbare Weise.
Weitere Informationen
Siehe das umfassende Q42-Qualitätsmodell auf https://quality.arc42.org.
10.1 Übersicht der Qualitätsanforderungen
Inhalt
Eine Übersicht oder Zusammenfassung der Qualitätsanforderungen.
Motivation
Oft begegnen uns Dutzende (oder sogar Hunderte) detaillierter Qualitätsanforderungen. In diesem Übersichtsabschnitt sollten Sie versuchen, zusammenzufassen, z. B. indem Sie Kategorien oder Themen beschreiben (wie von ISO 25010:2023 oder Q42 vorgeschlagen
Wenn diese zusammenfassenden Beschreibungen bereits präzise, spezifisch genug und messbar sind, können Sie Abschnitt 10.2 überspringen.
Form
Verwenden Sie eine einfache Tabelle, in der jede Zeile eine Kategorie oder ein Thema und eine kurze Beschreibung der Qualitätsanforderung enthält. Alternativ können Sie eine Mindmap nutzen, um diese Qualitätsanforderungen zu strukturieren.
In der Literatur wurde auch die Idee eines Qualitätsattribut-Baums beschrieben, der den allgemeinen Begriff „Qualität“ als Wurzel setzt und eine baumartige Verfeinerung des Begriffs „Qualität“ verwendet. [Bass+21] führte dafür den Begriff „Quality Attribute Utility Tree“ ein.
10.2 Qualitätsszenarien
Inhalt
Qualitätsszenarien machen Qualitätsanforderungen konkret und erlauben es zu entscheiden, ob sie erfüllt sind (im Sinne von Abnahmekriterien). Stellen Sie sicher, dass Ihre Szenarien spezifisch und messbar sind.
Zwei Arten von Szenarien sind besonders nützlich:
Nutzungsszenarien (auch Anwendungsszenarien oder Anwendungsfallszenarien genannt) beschreiben die Laufzeitreaktion des Systems auf einen bestimmten Stimulus. Dazu gehören auch Szenarien, die die Effizienz oder Leistung des Systems beschreiben. Beispiel: Das System reagiert innerhalb einer Sekunde auf eine Benutzeranfrage.
Änderungsszenarien beschreiben die gewünschte Wirkung einer Änderung oder Erweiterung des Systems oder seiner unmittelbaren Umgebung. Beispiel: Zusätzliche Funktionalität wird implementiert oder Anforderungen an ein Qualitätsattribut ändern sich, und der Aufwand oder die Dauer der Änderung wird gemessen.
Form
Typische Informationen für detaillierte Szenarien umfassen Folgendes:
In Kurzform (im Q42-Modell bevorzugt):
Kontext/Hintergrund: Welche Art von System oder Komponente, was ist die Umgebung oder Situation?
Quelle/Stimulus: Wer oder was löst ein Verhalten, eine Reaktion oder eine Aktion aus.
Metrik/Akzeptanzkriterium: Eine Reaktion einschließlich eines Maßes oder einer Metrik
Die Langform von Szenarien (vom SEI und [Bass+21] bevorzugt) ist detaillierter und enthält die folgenden Informationen:
Szenario-ID: Ein eindeutiger Bezeichner für das Szenario.
Szenarioname: Ein kurzer, beschreibender Name für das Szenario.
Quelle: Die Entität (Benutzer, System oder Ereignis), die das Szenario auslöst.
Stimulus: Das auslösende Ereignis oder die auslösende Bedingung, die das System behandeln muss.
Umgebung: Der betriebliche Kontext oder die Bedingung, unter der das System den Stimulus erfährt.
Artefakt: Die Bausteine oder anderen Elemente des Systems, die vom Stimulus betroffen sind.
Reaktion: Das Ergebnis oder Verhalten, das das System als Reaktion auf den Stimulus zeigt.
Reaktionsmaß: Das Kriterium oder die Metrik, anhand derer die Reaktion des Systems bewertet wird.
Siehe auch
Seit Januar 2023 bietet arc42 ein pragmatisches Qualitätsmodell, das vorschlägt, Qualitätsanforderungen mit Hashtags oder Labels wie #flexible, #efficient, #usable, #operable, #testable, #secure, #safe, #reliable zu versehen.
11. Risiken und technische Schulden
Bekannte technische Risiken oder technische Schulden. Welche potenziellen Probleme gibt es im oder um das System? Womit ist das Entwicklungsteam unzufrieden?
Inhalt
Eine Liste identifizierter technischer Risiken oder technischer Schulden, nach Priorität geordnet
Motivation
„Risikomanagement ist Projektmanagement für Erwachsene“ (Tim Lister, Atlantic Systems Guild.)
Dies sollte Ihr Motto für die systematische Erkennung und Bewertung von Risiken und technischen Schulden in der Architektur sein, die vom Management (z. B. Projektmanager, Product Owner) als Teil der gesamten Risiko- analyse und Maßnahmenplanung benötigt werden.
Form
Liste von Risiken und/oder technischen Schulden, gegebenenfalls einschließlich vorgeschlagener Maßnahmen, um Risiken zu minimieren, abzumildern oder zu vermeiden oder technische Schulden zu verringern.