In der Regel ist eine Person oder ein kleines Team für eine Gruppe von Designelementen verantwortlich, normalerweise
ein oder mehrere Pakete oder Subsysteme, die andere Designelemente enthalten. Diese Person bzw. dieses Team muss die
Designdetails für die im Paket bzw. Subsystem enthaltenen Elemente ausarbeiten. Die Aufgabe: Kapseldesign konzentriert sich auf die rekursive
Dekomposition der Funktionalität im System anhand von Kapseln und (passiven oder Daten-) Klassen. Die Aufgabe: Klassendesign beschäftigt sich im Wesentlichen mit der
Präzisierung des Designs passiver Klassendesignelemente, wohingegen die Aufgabe: Subsystemdesign sich auf die Zuordnung des Verhaltens des
Subsystems selbst zu den enthaltenen Designelementen (entweder enthaltene Kapseln und Klassen oder Subsysteme)
konzentriert. In der Regel werden Subsysteme primär als grobe Modellorganisationsstrukturen verwendet, während Kapseln
für die Masse der Arbeiten verwendet werden und "herkömmliche" Klassen größtenteils zu passiven Informationsspeichern
degradiert werden.
Die Einzelpersonen bzw. Teams, die für das Design von Kapseln verantwortlich sind, müssen Kenntnisse in der
Implementierungssprache sowie Erfahrung mit Parallelitätsproblemen im Allgemeinen besitzen. Einzelpersonen, die für das
Design passiver Klassen verantwortlich sind, müssen außerdem mit der Implementierungssprache sowie den Algorithmen und
Technologien vertraut sein, die von der Klasse verwendet werden. Die für Subsysteme verantwortlichen Einzelpersonen
oder Teams sollten eher Generalisten und in der Lage sein, Entscheidungen darüber zu treffen, wie die Funktionalität am
besten auf die Designelemente verteilt wird, und abschätzen zu können, welche Auswirkungen die Kompromisse der
verschiedenen Designalternativen auf das System haben.
Während die einzelnen Designelemente präzisiert werden, müssen die Anwendungsfallrealisierungen ebenfalls präzisiert
werden, damit sie die Zuständigkeiten für die Designelemente widerspiegeln. Normalerweise ist eine Person oder ein
kleines Team dafür verantwortlich, eine oder mehrere zugehörige Anwendungsfallrealisierungen zu präzisieren. Wenn
Designelemente hinzugefügt oder präzisiert werden, müssen die Anwendungsfallrealisierungen überdacht und
weiterentwickelt werden, wenn sich nicht mehr aktuell sind oder wenn am Designmodell vorgenommene Verbesserung eine
Vereinfachung der Anwendungsfallrealisierungen erlauben. Die Einzelpersonen bzw. Teams, die für
Anwendungsfallrealisierungen verantwortlich sind, müssen eingehender mit dem von den Anwendungsfällen erwarteten
Verhalten und den Entscheidungen in den verschiedenen Ansätzen bezüglich der Verteilung dieses Verhaltens auf die
Designelemente vertraut sein. Da sie für die Auswahl der Elemente verantwortlich sind, die die Anwendungsfälle
ausführen, müssen sie außerdem fundierte Kenntnisse des externen (öffentlichen) Verhaltens der Designelemente selbst
besitzen.
|