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.
|
|