Wie im letzten Blog zu Use Case Beschreibungen angekündigt, widmen wir uns heute der Beschreibung von Variabilität innerhalb von Produktlinien mittels Use Case Diagrammen.

In Teil 9 dieser Blog Reihe haben wir bereits eine graphische Notation, die eines Feature Models, zur Beschreibung von Variabilität kennengelernt. Im Gegensatz eines Feature Models bietet uns die Use Case Notation von Hause aus zunächst keine Möglichkeit sogenannte Variationspunkte (Optionen, Alternativen) und deren Abhängigkeiten untereinander abzubilden. Dies legt den Schluss nahe, dass Use Case Diagramme für die Beschreibung von Variabilität innerhalb der Produktlinieninfrastruktur (Domäne) ungeeignet sind.In [1] wird eine Möglichkeit aufgezeigt, in welcher Art das UML Use Case meta-model erweitert werden könnte, um die Beschreibung von Variabiltät funktionaler Systemeigenschaften zu ermöglichen. (Die Beschreibung von statischen und technischen Eigenschaften eines Systems mittels Use Case Diagrammen ist nicht möglich.)

Diese Erweiterung möchte ich an dieser Stelle kurz diskutieren:

Zunächst nochmals kurz die unterschiedlichen Arten von Variabilität, die in einer Produktlinieninfrastruktur abzubilden sind:

  1. Optionale Funktion, der frei wählbar ist und an keine Bedingung gekoppelt ist.
  2. Optionale Funktion, der durch Bedingung(en) bestimmt ist.
  3. Alternative Funktion(en) (m aus n), der frei wählbar ist und an keine Bedingung gekoppelt ist.
  4. Alternative Funktion(en) (m aus n), die durch Bedingung(en) bestimmt ist.

Den Fall 1. kann man direkt mit den Modellelementen des bestehenden UML Use Case meta-models abbilden:

Hierzu ist die <<extends>> Beziehung incl. Bedingung (extension point) zwischen Use Cases zu verwenden.

Die anderen drei Fälle lassen sich nicht mit den vorhandenen Modellelementen beschreiben. Hierzu wird in [1] vorgeschlagen das meta-model durch Modellelemente in Form von zwei zusätzlichen Beziehungen zu erweitern:

  1. <<option>> Beziehung: Diese Beziehung beschreibt, das der Use Case an keinerlei Funktionale Bedingungen, des in Beziehung stehenden Use Cases, gekoppelt ist. Die Funktion, die durch den Use Case beschrieben ist, kann in das System integriert werden oder nicht.
  2. <<alternative>> Beziehung incl. extension point mit Bestimmung wieviele Use Cases (Funktionen) aus der Auswahl integriert werden dürfen und welche Bedingungen für diese Alternative gelten: Diese Beziehung beschreibt, dass aus einer Mengen von Use Cases (Funktionen) unter evtl. Bedingungen eine festgelegte Anzahl von Funktionen in das System integriert werden können.

Mit diesen Erweiterungen wäre das Use Case meta-model mächtig genug, um die Variabilität der Funktionen innerhalb einer Produktlinieninfrastruktur beschreiben zu können.

Im nächsten Teil möchte ich gerne auf eine weitere graphen-basierte Notation, den Feature Graph, eingehen.

Quellen:

[1] Paper: Thomas von der Maßen, Horst Lichter: Modeling Variability by UML Use Case Diagrams

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