Zum Inhalt springen

Anwendungsfall (UML)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Juni 2006 um 15:16 Uhr durch 62.2.156.35 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Anwendungsfall (engl. Use case) ist ein Modellelement in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme. tom du mongo


Beschreibung

Anwendungsfälle sind eine Technik für die Dokumentation von Anforderungen an ein Softwaresystem, die ursprünglich von Ivar Jacobson unabhängig von der Unified Modeling Language beschrieben wurde, die er aber als Mitentwickler in die Modellierungssprache einfließen ließ. Auch die UML2, als Weiterentwicklung der UML 1.x, behielt Anwendungsfälle bei.

Ein Anwendungsfall in der UML2 ist die Deklaration eines Verhaltens, das ein modelliertes System nach außen anbietet. Er spezifiziert eine Menge von Aktionen, die ein System ausführen muss, um ein beobachtbares Resultat zu generieren, das für einen oder mehrere Akteure von Bedeutung ist, etwa weil sie damit ein fachlich motiviertes Ziel erreichen. Die UML2 vermeidet in diesem Zusammenhang jedoch den Begriff System und verwendet stattdessen den Begriff Subjekt (subject). Sie will damit ausdrücken, dass ein Anwendungsfall das erforderliche Verhalten einer Vielzahl von Modellelementen der UML2 deklarieren kann, zum Beispiel jenes einer Klasse, einer Komponente oder eines Knotens. Sind mehrere Subjekte einem Anwendungsfall zugeordnet, deklariert dieser das erwartete Gesamtverhalten aller beteiligten Subjekte.

Per definitionem deklariert ein Anwendungsfall Verhalten, das nach außen sichtbar ist. Die Elemente, die das Verhalten von außen „sehen“, die es also anstoßen oder die von seinen Resultaten abhängig sind, nennt man in der UML2 Akteure. In der UML2 modelliert man die Beziehung zwischen Anwendungsfällen und Akteuren mit Hilfe von Assoziationen.

Das Modellelement Anwendungsfall in der UML2 kann eigentlich nur deklarieren, dass ein Verhalten mit einem bestimmten Namen erforderlich ist, nicht aber wie dieses Verhalten im Detail aussehen soll. Falls weitere Einzelheiten zu diesem Verhalten, zum Beispiel einzelne Schritte im Ablauf, alternative Abläufe oder Ausnahmefälle, zu spezifizieren sind, muss ein Modellierer auf ergänzende Techniken zurückgreifen. Oft werden die Details des geforderten Verhaltens außerhalb der UML2 in einem Textdokument festgehalten. Weil das Modellelement Anwendungsfall eine Spezialisierung einer aktiven Klasse ist, kann ihm aber auch eine Verhaltensbeschreibung zugeordnet werden, die die Detailanforderungen an das Verhalten festhält.

Notationsbeispiele

Notation eines Anwendungsfalls als Oval
Notation eines Anwendungsfalls als Rechteck

Die beiden Darstellungen links zeigen zwei Möglichkeiten, wie ein Anwendungsfall mit dem Namen CD erstellen graphisch dargestellt werden kann.

Beispiel einer Klasse Mobilfunkbetreiber mit zwei Anwendungsfällen SMS verschicken und Fotomessage verschicken

Das Beispiel links zeigt eine Klasse, die als Subjekt für zwei Anwendungsfälle dient: dem Anwendungsfall SMS verschicken und dem Anwendungsfall Fotomessage verschicken. Je ein Akteur Sender und Empfänger ist an den beiden Anwendungsfällen beteiligt.

Anwendungsfälle wiederverwenden

Die UML2 stellt drei Techniken zur Verfügung, um einen Anwendungsfall bei der Deklaration eines anderen Anwendungsfalls wiederzuverwenden. Ein Anwendungsfall kann einen anderen Anwendungsfall spezialisieren, importieren oder erweitern.

Spezialisieren eines Anwendungsfalls

Zwei Anwendungsfälle, die einen dritten Anwendungfall spezialisieren

Zwischen zwei Anwendungfällen kann eine Generalisierungsbeziehung existieren. Ausgedrückt wird damit, dass der spezialisierte Anwendungsfall das Verhalten des allgemeinen Anwendungsfalls überschreibt.

Importieren eines Anwendungsfalls

Ein Anwendungsfall, der zwei andere Anwendungsfälle importiert

Ein Anwendungsfall kann einen oder mehrere andere Anwendungsfälle importieren. Das bedeutet, dass das Verhalten des Anwendungsfall zwingend das Verhalten des importierten Anwendungsfall miteinschließt. Wo genau das Verhalten des importierten Anwendungsfalls eingefügt wird, geht aus der Notation für Anwendungsfälle nicht hervor. Wenn dieser Punkt interessiert bzw. für den Zweck des Modells wichtig ist, muss er mit anderen Mitteln festgehalten werden, zum Beispiel mit einer detaillierten Verhaltensspezifikation oder mit einem Textdokument, das ausserhalb der UML2 erstellt wird.

Die Importbeziehung zwischen zwei Anwendungsfällen ist mit einer Abhängigkeitsbeziehung modelliert. Das Schlüsselwort «include» grenzt die Importbeziehung von anderen Abhängigkeitsbeziehungen ab. Das Pfeilende wird beim importierten Anwendungsfall gezeichnet.


Erweitern eines Anwendungsfalls

Ein Anwendungsfall mit einem Erweiterungspunkt. Musik-CD erstellen benutzt das Verhalten von CD beschriften nur, wenn der Kunde eine Beschriftung wünscht.

Ein Anwendungsfall kann einen oder mehrere andere Anwendungsfälle erweitern. Jeder Anwendungsfall kann eine Liste von so genannten Erweiterungspunkten definieren. Wie in der Abbildung links ersichtlich, listet man die Erweiterungspunkte im inneren Bereich des Symbols für Anwendungsfälle auf. Ein Anwendungsfall erweitert nun einen anderen Anwendungsfall, indem er sich an einen von dessen Erweiterungspunkten „andockt“ und dabei eine Bedingung angibt, unter der er dessen Verhalten an dieser Stelle erweitert.

Die Erweiterungsbeziehung zwischen zwei Anwendungsfällen ist mit einer Abhängigkeitsbeziehung modelliert. Das Schlüsselwort «extend» grenzt die Erweiterungsbeziehung von anderen Abhängigkeitsbeziehungen ab. Das Pfeilende wird beim Anwendungsfall gezeichnet, der den Erweiterungspunkt zur Verfügung stellt.


Siehe auch