Use Case Diagramm
aus www.iwiki.de, der freien Wissensdatenbank
Ein Use Case Diagramm (dt. Anwendungsfalldiagramm) ist ein Diagramm der dynamischen Modellsicht und zÀhlt somit zu der Gruppe der Verhaltensdiagramme.
Inhaltsverzeichnis |
Grundlegendes
Das Use Case Diagramm beschreibt das benötigte Verhalten bzw. die Funtionen und Aufgaben eines IT-Systems. Die Gesamtheit dieser Use Cases spezifiziert das Verhalten des IT-Systems. Ein Use Case Diagramm kommt in der Softwareentwicklung zu Beginn der Objektorientierten Analyse zum Einsatz und kann zur Systemabgrenzung eingesetzt werden. Im Use Case Diagramm werden Use Cases, Akteure und Beziehungen grafisch oder in Textform beschrieben. Es soll zu einem gemeinsamen VerstĂ€ndis des Problembereiches fĂŒhren, indem Entwickler und Auftraggeber gemeinsam die AnwendungsfĂ€lle identifizieren und beschreiben. Ein Use Case Diagramm setzt keinerlei IT-Kenntnis voraus und es sollte tunlichst vermieden werden schon hier IT-Eigenheiten zu modellieren. Oberste PrioritĂ€t ist es hier den Auftraggeber intesiv miteinzubeziehen und nicht durch unnötiges Fachchinesisch zu verschrecken und eventuell auch unbemerkt aus dem Entwicklungsprozess auszuschlieĂen.
Bestandteile eines Use Case Diagrammes
Use Case Diagramme setzen sich aus Use Cases, Akteuren ,(Teil-)Systemen und deren Beziehungen zusammen.
Use Case
Synonyme: Anwendungsfall, GeschÀftsprozess, kohÀrente Funktionseinheit.
Ein Use Case ist ein einzelner Anwendungsfall, welchen die Software in einem IT-System beherrschen soll. Beispiele fĂŒr solche AnwendungsfĂ€lle sind z.B. "Gebot prĂŒfen", "Kunde anlegen" oder "Gehalt buchen". Er kapselt eine Ansammlung von Aktionen, die von einem IT-System in einer definierten Reihenfolge abgearbeitet werden um schlieĂlich fĂŒr den Akteur ein nĂŒtzliches Ergebnis zu erstellen. Der Use Case stellt also seiner Umgebung eine Dienstleistung zur VerfĂŒgung. Use Cases werden immer im Vorfeld der Analyse eingesetzt um einen bestimmten Anwendungsbereich zu analysieren. In der Beschreibung wird das System nach auĂen abgegrenzt und die externen Schnittstellen werden beschrieben. Mit Hilfe der Use Cases werden spĂ€ter die entsprechenden Klassen erstellt. Hierbei ist darauf zu achten, dass gut modellierte Use Cases nur wesentliches Systemverhalten beschreiben und weder zu allgemein noch zu speziell sind. Ein Use Case liefert fĂŒr mindestens einen Akteur greifbare Arbeitsergebnisse. Sollen Use Cases weiter verfeinert werden besteht die Möglichkeit, Use Cases hierarchisch zu gliedern und einzelne Use Cases in einem gesonderten Diagramm detailierter zu beschreiben. Use Cases beschreiben nur was getan werden soll, das wie ist im Use Case nicht von belang. Die Bezeichnung von Use Cases besteht nach Konvention aus Substantiv und Verb. Use Cases werden im Use Case Diagramm durch Ellipsen dargestellt. In der Ellippse steht die Bezeichnung des UseCases.
Akteur
Ein Akteur ist ein externer Kommunikationspartner eines Use Cases . Er interagiert mit dem System bei der AusfĂŒhrung eines Use Cases (empfĂ€ngt oder sendet Daten bzw. Signale). Der Akteur initiiert den Use Case, der das Ergebnis an diesen oder einen anderen Akteur zurĂŒckliefert. Akteure können sowohl Menschen sein, welche das Softwaresystem bedienen als auch andere Systeme, welche mit dem betrachteten interagieren.
Akteure werden im Use Case Diagramm durch ein StrichmĂ€nnchen modelliert. Die Bezeichnung des Akteurs steht unterhalb des StrichmĂ€nnchens und ist laut Konvention ein Substantiv. Beispiele fĂŒr Akteure sind z.B. Kunde, Datenbanken oder andere IT-Systeme.
Beziehung
Wie bereits bei den Akteuren beschrieben, bestehen Verbindungen zwischen Use Cases und Akteuren. Im Use Case Diagramm werden die Verbindungen zwischen Use Case und Akteur mittels den aus Klassendiagrammen bekannten Mitteln detailliert beschreiben.
Möglichkeiten:
- Verwendung von KardinalitÀten
- Darstellung von Beziehung zwischen Akteuren
- Darstellung von Vererbungsbeziehungen
- Beschreibung von Akteuren mit Klassensymbolen
Zwischen Use Case und Akteur besteht eine m:n Beziehung. Ein Akteur kann mit mehreren Use Cases interagieren und ein Use Case kann mit mehreren Akteuren interagieren.
Auch zwischen den Akteuren eines Use Cases können binÀre Assoziationen modelliert werden.
Besondere Beziehungen stellen die <<include>> und <<extends>> Beziehungen zwischen den Use Cases dar.
(Teil-)System
Um Use Case Diagramme ĂŒbersichtlich zu gestalten, ist es notwendig die Use Cases einem System oder Teilsystem zuzuordnen. Diese Aufteilung ermöglicht es ein komplexes Softwaresystem in mehrere Teilsysteme zu unterteilen und somit kleine, verstĂ€ndliche, in sich abgeschlossene Einheiten zu betrachten. Dies fördert die VerstĂ€ndlichkeit und die Ăbersicht erheblich.
Ein (Teil-)System wird im Use Case Diagramm durch ein Rechteck um die zugehörigen Use Cases modelliert. Am oberen Rand des Rechteckes steht der Name des (Teil-)Systems.
Use Case Beschreibung
ZusÀtzlich zu der grafischen Darstellung von UseCases ist eine Beschreibung in Textform zu erstellen. Die Beschreibung muss von Entwickler und Auftraggeber/Kunde gmeinsam verfasst werden. Sie sollte nicht in Prosa verfasst sein, sondern sollte einer formalisierten Form entsprechen.
Eine Beschreibung eines Use Cases in Textform kann z.B. so aussehen:
- Name des Use Cases
- Eindeutige numerische Kennzeichnung
- Zielsetzung
- Geltungsbereich
- Beschreibungslevel
- Kategorie (primÀr, sekundÀr, optional)
- Beteiligte Klassen und Objekte
- Vorbedingung
- Nachbedingung bei Erfolg
- Nachbedingung bei Fehlschlag
- Akteure
- Auslösendes Ereignis
- Beschreibung der auszufĂŒhrenden Aktionen
- Beschreibung von Erweiterungen
- Aktionen fĂŒr Ausnahmen/Alternativen
- Evtl. Verweis auf Ablaufdiagramme, Status-Transitionsdiagramme
Unter folgendem Link kann man ein Muster eines Use Cases nach Cockburn, Alistair einsehen: http://members.aol.com/acockburn/papers/uctempla.htm
Erweiterungen
Use Cases können mit folgenden Mitteln verfeinert bzw. erweietert werden:
- Darstellung der Datenschnittstelle des Systems
- Hierarchisierung der Diagramme
- Extend - Beziehungen
- Include - Beziehungen
- Generalisierungs- und Spezialisierungsbeziehungen
Nutzen
- beschreiben das Verhalten eines Systems
- beschreiben die externen Schnittstellen
- auch fĂŒr KHV - Personen verstĂ€ndlich
- können zur Systemabgrenzung benutzt werden
- können Bestandteil des Vertrages zwischen Anwender und Entwickler sein
- dienen somit als Abnahmekriterium
- dienen der Herleitung der relevanten Klassen
Literatur
- Jacobson, I: Object-Oriented Software Engineering - A Use Case Driven Approach, Addison Wesley Longman, 1992
- McMenamin S.M., Palmer, J.F.: Essential System Analysis, Prentice Hall, Englewodd Clifs, 1984
- Armour F.: Advanced Use Case Moddeling, Addison-Wesley GmbH, 2000
- Cockburn A.: Writing Effective Use Cases, Addison-Wesley GmbH, 1998
