Aufgabe: Designmechanismen identifizieren
Diese Aufgabe beschreibt, wie Analysemechanismen zu Designmechanismen verfeinert werden.
Zweck
  • Analysemechanismen basierend auf den Vorgaben der Implementierungsumgebung zu Designmechanismen verfeinern.
Beziehungen
RollenHauptrollen: Zusätzliche Rollen: Unterstützende Rollen:
EingabenVerbindlich: Optional: Extern:
  • Ohne
Ausgaben
Schritte
Clients von Analysemechanismen kategorisieren

Analysemechanismen sind konzeptionelle Gruppen von Services, die von Analyseklassen verwendet werden. Sie sind eine komfortable Kurzschreibweise für relativ komplexe Verhalten, über die Sie sich letztendlich zwar Gedanken machen müssen, aber den Rahmen der Analyse sprengen. Mit Analyseklassen können Sie die Anforderungen an diese noch zu entwerfenden Services des Systems erfassen, ohne sich um die Details des Serviceproviders selbst zu kümmern.

Jetzt müssen Sie mit der Präzisierung der Informationen beginnen, die Sie in den Analysemechanismen erfasst haben. Hierbei gehen Sie wie folgt vor:

Identifizieren Sie die Clients jedes Analysemechanismus. Ermitteln Sie alle Clients eines bestimmten Analysemechanismus und suchen Sie nach den Merkmalen, die sie für diesen Mechanismus voraussetzen. Beispielsweise können mehrere Analyseklassen einen Persistenzmechanismus verwenden, aber ihre Anforderungen an diesen Mechanismus können weit voneinander abweichen. Eine Klasse, die tausend persistente Instanzen hat, hat wesentlich andere Persistenzanforderungen als eine Klasse mit vier Millionen persistenten Instanzen. Eine Klasse, deren Instanzen in Bruchteilen von Millisekunden auf Instanzdaten antworten müssen, erfordern einen anderen Persistenzansatz als eine Klasse, auf deren Instanzdaten nur mit Ad-hoc-Abfragen und Stapelberichtsanwendungen zugegriffen wird.

Identifizieren Sie die Merkmalprofile für jeden Analysemechanismus. Es kann stark voneinander abweichende Merkmalprofile geben, die jeweils einen unterschiedlichen Grad von Leistung, Speicherbedarf, Sicherheit, wirtschaftlichen Kosten usw. darstellen. Jeder Analysemechanismus ist anders und hat andere Merkmale. Viele Mechanismen erfordern Schätzungen bezüglich der Anzahl zu verwaltender Instanzen und ihrer erwarteten Größe, ausgedrückt in der erwarteten Anzahl von Bytes. Die Bewegung großer Datenmengen in einem System stellt das System vor enorme Leistungsprobleme, die gelöst werden müssen.

Gruppieren Sie Clients nach ihrer Verwendung von Merkmalprofilen. Bilden Sie Gruppen von Clients, die denselben Analysemechanismus mit einem ähnlichen Merkmalprofil zu benötigen scheinen. Diese Gruppierungen sind ein erster Ausblick auf die Designmechanismen. Ein Beispielanalysemechanismus "Interprozesskommunikation" kann einem Designmechanismus "Object Request Broker" zugeordnet werden. Unterschiedliche Merkmalprofile führen zu unterschiedlichen Designmechanismen, die demselben Analysemechanismus entspringen. Der einfache Persistenzmechanismus in der Analyse ist der Ausgangspunkt für eine Reihe von Persistenzmechanismen im Design: Hautspeicherpersistenz, dateibasiert, datenbankbasiert, verteilt usw. Die Designmechanismen sind Präzisierungen der Analysemechanismen, die auf unterschiedlichen Merkmalprofilen basieren.

Implementierungsmechanismus inventarisieren

Wenden Sie das Bottom-up-Verfahren an und erstellen Sie eine Bestandsliste der Implementierungsmechanismen (siehe Konzept: Design- und Implementierungsmechanismen), die Ihnen zur Verfügung stehen:

  • Mechanismen, die von einem Middleware-Produkt oder Komponenten-Framework angeboten werden.
  • Mechanismen, die von Betriebssystemen angeboten werden.
  • Mechanismen, die von einer Komponente angeboten werden.
  • Mechanismen, die von einer Klassenbibliothek angeboten werden.
  • Aus früheren Versionen übernommener Code (siehe auch Aufgabe: Vorhandene Designelemente integrieren).
  • Spezielle Pakete: GUI Builder, Geographical Information System, DBMS, etc.

Stellen Sie fest, wo vorhandene Implementierungsmechanismen verwendet werden können und wo neue Implementierungsmechanismen erstellt werden müssen.

Designmechanismen zu Implementierungsmechanismen zuordnen

Designmechanismen sind eine Abstraktion der Implementierungsmechanismen und überbrücken die Kluft zwischen Analysemechanismen und Implementierungsmechanismen. Die Verwendung abstrakter Architekturmechanismen während des Designs erlaubt Ihnen zu überlegen, wie Architekturmechanismen bereitgestellt werden, ohne das aktuelle Problem mit den Details eines bestimmten Mechanismus zu überdecken. Sie ermöglichen Ihnen auch, einen bestimmten Implementierungsmechanismus gegen einen anderen auszutauschen, ohne dass sich dies nachteilig auf das Design auswirkt.

Bestimmen Sie die Merkmalbereiche. Verwenden Sie die für die Designmechanismen identifizierten Merkmale, um vernünftige, wirtschaftliche und realisierbare Wertebereiche zu bestimmen, die in den als Kandidaten zur Verfügung stehenden Implementierungsmechanismen verwendet werden.

Berücksichtigen Sie die Kosten für den Erwerb von Komponenten. Berücksichtigen Sie für in Frage kommende Implementierungsmechanismen zusätzlich zu den rein technischen Kriterien die Kosten für den Erwerb oder die Lizenzierung, die Reife des Produkts, die Beziehungen zum Lieferanten, Unterstützung usw.

Suchen Sie nach den richtigen Komponenten oder erstellen Sie die Komponenten. Sie werden häufig feststellen, dass es für einige Designmechanismen anscheinend keine geeigneten Implementierungsmechanismen gibt. In diesem Fall müssen Sie auf die Suche nach dem richtigen Produkt begeben oder den Bedarf für eine Eigenentwicklung feststellen. Außerdem können Sie feststellen, dass einige Implementierungsmechanismen überhaupt nicht verwendet werden.

Die Auswahl der Implementierungsmechanismen basiert nicht nur auf einer guten Übereinstimmung mit den technischen Merkmalen, sondern auch auf nicht technischen Merkmalen wie den Kosten. Einige Optionen können provisorisch sein. Fast alle haben Risiken. Leistung, Stabilität und Skalierbarkeit sind fast immer Aspekte, die durch Auswertung, Erstellung explorativer Prototypen oder Einbindung in den Architekturprototyp validiert werden müssen.

Architekturmechanismen dokumentieren

Die Rolle des Softwarearchitekten in dieser Aufgabe ist es, über diese Mechanismen zu entscheiden und diese zu validieren, indem er sie erstellt oder integriert und sicherstellt, dass sie ihre Aufgabe erfüllen, und sie anschließend einheitlich auf den Rest des Systemdesigns anwendet. Der Softwarearchitekt dokumentiert zusammen mit dem Prozessentwickler die Mechanismen und die Verwendungsdetails in den projektspezifischen Richtlinien. Weitere Informationen hierzu finden Sie in  Aufgabe: Projektspezifische Richtlinien vorbereiten. Die Beziehung (oder Zuordnung) der Analysemechanismen zu Designmechanismen zu Implementierungsmechanismen und die zugehörige Begründung für diese Auswahl müssen im Softwarearchitekturdokument dokumentiert werden. Die Mechanismen selbst sind Designmodellelemente (z. B. Designpakete, Designklassen und Designsubsysteme), die ausführlich im Rahmen der entsprechenden Designaufgaben im Designmodell beschrieben werden.



Eigenschaften
Mehrere Vorkommen
Ereignisgesteuert
Fortlaufend
Optional
Geplant
Wiederholt anwendbar
Weitere Informationen