Einführung
Der Übergang von der Analyse- zur Designebene der Architektur erfordert die Bestimmung des Hardware- und
Softwarekomponentendesigns. Diese Spezifikation auf Designebene setzt sich aus den zu implementierenden Komponenten
zusammen: Hardware, Software und Mitarbeiter.
Hardwarekomponenten werden durch die Analyse der Standardorte, der abgeleiteten Merkmale und der auf ihnen ausgeführten
Subsubsystemoperationen bestimmt. Mit diesen Informationen können Lokalitäten auf Deskriptorebene realisiert werden.
Deskriptorknotendiagramme geben die Komponenten, Server, Workstation, Mitarbeiter usw. ohne spezifische Auswahl von
Technologien an, die diese Komponenten implementieren. Die Abbildung zeigt ein beispielhaftes Deskriptorknotendiagramm,
das das in Konzept: Lokalität gezeigte Lokalitätsdiagramm realisiert. Die Erfüllungslokalität
setzt sich aus vier Komponenten zusammen: einem Warehouse-Gateway, einem Mail-/Postsystem und zwei Mitarbeitern.
Die Deskriptorknoten übernehmen die Merkmale ihrer Lokalitäten durch einen Reservierungs- bzw. Kalkulationsprozess.
Hardware
Die Hardwarekomponenten der Implementierung, d. h. die tatsächlich implementierten Hardwarekomponenten, werden
bestimmt, indem auf der Basis der Deskriptorsicht eine Abwägung zwischen Kosten, Leistung und Kapazität vorgenommen
wird. In Wirklichkeit kann ein System mehr als eine Hardwarekonfiguration haben, die jeweils unterschiedlichen
Preis/Leistungsaspekten entsprechen.
Software
Komponenten werden bestimmt, indem eine von Klassen definiert wird und der Code dieser Klassen anschließend zu
ausführbaren Dateien kompiliert und assembliert wird. Eine sorgfältig durchdachtes Softwarekomponentendesign muss eine
Vielzahl von Aspekten berücksichtigen:
-
Lokalität — wo die Komponenten ausgeführt werden müssen
-
Hosting — Prozessorinstruktionssatz und Hauptspeichereinschränkungen für den ausführenden Code
-
Gemeinsamer Zugriff — Aufteilung der Verarbeitung auf verschiedene Hosts und Hauptspeicherbereiche, um die
Zuverlässigkeit und zugehörige Aspekte zu adressieren
Zu den zur Angabe der Komponenten erforderlichen Informationen gehören Übersichten über die Subsystemoperationen für
die einzelnen Lokalitäten und die dort realisierten Hardwarekomponenten, Übersichten über ausgeführte Operationen für
Prozesse zusammen mit Kollaborationen zur Realisierung der Subsystemoperationen, die die Klassen ergeben, die zu einer
Komponentenstruktur geformt werden sollen.
In der ersten Annäherung nehmen Sie beispielsweise an, dass alle Klassen zu einer einzigen Komponente und eine
1:1-Beziehung zwischen Komponente und Subsystem aufweisen. Dies ist die Standardempfehlung, die in Richtlinie für Arbeitsergebnis: Designsubsystem gegeben wird. Suchen Sie als
nächstes nach Gründen für eine weitere Aufteilung der Komponente. Falls zu den Klassen mehrere aktive Klassen gehören,
die einen Prozess darstellen, prüfen Sie, ob eine Partitionierung einer aktiven Klasse (Prozess) pro Komponente in
Frage kommt, wobei Sie die Klassen mit den stärksten Beziehungen zusammenfassen. Einige Klassen können von mehreren
Komponenten verwendet werden. Wenn eine oder eine Gruppe dieser Klassen einen gemeinsamen Status darstellen, auf den
verschiedene Komponenten zugreifen, liegt ein Fall vor, in dem die Klassen in jeweils eigene Komponenten aufgeteilt
werden können. Wenn die gemeinsam genutzten Klassen statusunabhängig sind, können Sie diese in einer separaten
Servicekomponente (einer statusunabhängigen Funktionskomponente) absondern, sofern sie funktional zusammengehören.
Selbst in einem passiven Subsystem (ohne aktive Klassen) können Sie eine weitere Partitionierung vornehmen, indem Sie
beispielsweise nach differenzierten Komponenten suchen, die wiederverwendbar sind. Zum Schluss partitionieren Sie die
Komponenten erneut, um bestimmten Technologien (z. B. J2EE™-Plattform oder Microsoft® .NET), Speicherbeschränkungen (z.
B. Entscheidung zwischen .exe und .dll), Einschränkungen durch Auslieferungsmedien usw. Rechnung zu tragen.
Das Ergebnis dieser Aufgaben sind Gruppen mit spezifischen Hardware- und Softwarekomponenten, aus denen sich das System
zusammensetzt.
|