Artefakt: Softwarearchitekturdokument
Dieses Arbeitsergebnis liefert einen umfassenden architekturbezogenen Überblick über das System. Hierfür werden verschiedene Architektursichten verwendet, um verschiedene Aspekte des Systems zu beleuchten.
Domänen: Analyse und Design
Arten von Arbeitsergebnissen: Spezifikation
Zweck

Das Softwarearchitekturdokument liefert einen umfassenden Überblick über die Architektur des Softwaresystems. Es dient als Kommunikationsmittel zwischen dem Softwarearchitekten und anderen Projektteammitgliedern in Bezug auf architektonisch wichtige Entscheidungen, die für das Projekt getroffen wurden.

Beziehungen
RollenVerantwortlich: Geändert von:
AufgabenEingabe für:
Ausgabe von:
Prozessverwendung
Abbildungen
Anpassung
DarstellungsoptionenUML-Darstellung: Eine Gruppe relevanter Architektursichten: Anwendungsfallsicht, logische Sicht, Prozesssicht, Deployment-Sicht, Implementierungssicht, Datensicht.

Sie müssen den Entwurf des Softwarearchitekturdokuments an die Gegebenheiten Ihrer Software anpassen:

  • Einige der Architektursichten sind möglicherweise irrelevant:
    • Die Deployment-Sicht ist für Systeme mit einer CPU nicht erforderlich.
    • Die Prozesssicht ist nicht erforderlich, wenn das System nur einen einzigen Steuerungs-Thread verwendet.
    • Die Datensicht ist nicht erforderlich, es sei denn, die Objektpersistenz ist ein wichtiger Aspekt des Systems und der Persistenzmechanismus erfordert eine Zuordnung von persistenten und nicht persistenten Objekten.
  • Einige spezielle Aspekte der Software erfordern unter Umständen einen eigenen Abschnitt, z. B. Aspekte, die sich auf das Datenmanagement oder Benutzerfreundlichkeit beziehen.
  • Möglicherweise benötigen Sie zusätzliche Anhänge, um bestimmte Aspekte zu erläutern, wie z. B. die Begründung bestimmter kritischer Optionen zusammen mit den Lösungen, die verworfen wurden, oder um Akronyme oder Abkürzungen zu definieren oder allgemeine Designprinzipien darzulegen.
  • Die Reihenfolge der verschiedenen Abschnitte kann je nach Stakeholdern des Systems und ihrem Schwerpunkt und Interesse variieren.

Die Vorteile und Nachteile der einzelnen Architektursichten sind im Folgenden beschrieben:

Anwendungsfallsicht

Diese Sicht ist verbindlich.

Logische Sicht

Diese Sicht ist verbindlich.

Prozesssicht

Diese Sicht ist optional. Verwenden Sie diese Sicht nur, wenn das System mehrere Steuerungs-Threads hat und die einzelnen Threads interagieren oder voneinander abhängig sind.

Deployment-Sicht

Diese Sicht ist optional. Verwenden Sie diese Sicht nur, wenn das System auf mehrere Knoten verteilt ist. Selbst in diesen Fällen sollten Sie die Deployment-Sicht auch nur dann verwenden, wenn die Verteilung Auswirkungen auf die Architektur hat. Wenn es beispielsweise nur einen Server, aber viele Clients gibt, wird eine Deployment-Sicht nur benötigt, um die Zuständigkeiten des Servers und der Clients als Klasse von Knoten aufzuzeigen. Es ist nicht erforderlich, jeden Clientknoten zu zeigen, wenn alle dieselben Fähigkeiten haben.

Implementierungssicht

Diese Sicht ist optional. Verwenden Sie diese Sicht nur, wenn die Implementierung nicht strikt an das Design angelehnt ist, d. h. wenn die Verteilung der Zuständigkeiten auf die entsprechenden Pakete im Design- und Implementierungsmodell nicht identisch ist. Falls die Verteilung beim Design- und beim Implementierungsmodell identisch ist, kann diese Sicht weggelassen werden.

Datensicht

Diese Sicht ist optional. Verwenden Sie diese Sicht nur, wenn Persistenz ein wichtiger Aspekt des Systems ist und die Übersetzung des Designmodells in das Datenmodell nicht automatisch vom Persistenzmechanismus durchgeführt wird.



Weitere Informationen