Archiv für den Monat: August 2013

Praxis: Logische Schichten in Klassendiagrammen

In diesem Blog wurde es schon betont: Die Schichten einer Architektur werden in der logischen Sicht des 4+1-Modells dargestellt (z.B. über Packages). Die logische Sichte zeigt die Organisation der Software (z.B. Schichten, Subsysteme, Packages, Frameworks, Interfaces und wichtige Klassen).

Im Laufe eines Projekts kommt oft der Punkt, an dem der Ablauf eines UseCase durch die verschiedenen Schichten betrachtet werden soll (für die Einarbeitung eines Kollegen, für Powerpoint-Folien, für die Stakeholders…) Es wird dann ein Klassendiagramm gefordert, welches sowohl die für den UseCase relevanten Klassen, als auch die Schichten zeigt.

Grundsätzlich werden dabei mehrere Sichten vermischt, nämlich die logische Sicht und die Ablaufsicht. Weiterhin erstreckt sich der UseCase über Instanzen, ein Objektdiagramm wäre wahrscheinlich geeigneter. Aber die Zielgruppe kann nur Klassendiagramme lesen, und das geforderte Diagramm ist ein pragmatischer Kompromiss.

Die zwei Konzepte „Schicht“ und „Klasse“ sollen also gemeinsam in einem Diagramm auftauchen. Werden die Schichten als Packages modelliert, so kollidiert das mit den normalen Paketen der Klassen. UML bietet dafür Stereotypen an, über ein Profil können diese für die logischen Schichten definiert werden. Oder es wird mit Farben gearbeitet (dann aber bitte durchgängig in allen Diagrammen). Je nach Tool können auch Farben für die Stereotypen hinterlegt werden (in Astah über „Tool->Project->Set Project Properties->Default Stereotype Color“). Oder als schlechtere Lösungen, bei denen Informationen verloren gehen: Die Packages der Klassen werden weggelassen, oder die Schichten werden als Shapes modelliert.

Schichten in Klassendiagrammen

Schichten in Klassendiagrammen