Wie im letzten Blog Nummer 12 angekündigt werden wir in diesem Teil die UML in Bezug auf Abbildung von Variabilität betrachten.

In den Teilen 10 und 11 sind wir bereits auf Use Cases eingegangen. Heute wollen wir die folgenden weiteren UML Diagramme untersuchen:

  1. Klassendiagramme
  2. Sequenzdiagramme

Klassendiagramme
In Klassendiagrammen können Stereotypen dazu verwendet werden um Variabilität abzubilden.

Hierzu direkt unser Beispielsystem „Wecker“ durch ein Klassendiagramm beschrieben:

Abbildung 1: Beispiel für ein Klassendiagramm

Über die Stereotypen, die in einem Klassendiagramm frei verwendet werden können lassen sich somit variable statische Eigenschaften von Systemen beschreiben. In unserem Beispiel ist das Radio als optionale Systemkomponente abgebildet.

Sequenzdiagramme
Stellen wir uns nun die Frage, wie variables Systemverhalten abgebildet werden kann. In [1] werden Sequenzdiagramme als Möglichkeit beschrieben dies zu tun. Im Urzustand besitzen Sequenzdiagramme allerdings keine Elemente um variable Verhaltensweisen zu beschreiben. Aus diesem Grund müssen Elemente zur Beschreibung von Variationspunkten und optionalem Verhalten eingeführt werden. Schauen wir uns ein Sequenzdiagramm mit variablem Systemverhalten beispielhaft an:

Abbildung 2: Beispiel für ein Sequenzdiagramm

Das Beispiel zeigt, dass der Benutzer des Weckers (User) über die A-Taste zunächst die Weckzeit einstellen kann. Je nachdem, ob der Wecker mit einem Radio (der optionalen Komponente) ausgestattet ist oder nicht, kann er zusätzlich noch den Typ des Alarms (Klingelton oder Radio) auswählen und speichern. Bei einem Wecker ohne Radio würde das Systemverhalten aus dem gestrichelt umrandeten Teil des Sequenzdiagramms komplett entfallen.

Die beiden in diesem Blogbeitrag angeführten Beispiele zeigen, dass man mit Hilfe von UML-Diagrammen sowohl statische als auch dynamische Variabilitäten einer Produktlinieninfrastruktur abbilden kann.

Quellen:

[1]        Paper: Tewfik Ziadi, Loic Hélouet, Jean-Marc Jézéquel: Modeling behaviors in Product Lines

Series Navigation<< Kosten, Zeit und Qualität optimieren: Anforderungsmanagement für Produktlinien – Teil 12: Variabilität und Feature Graphen