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:

  1. Name des Use Cases
  2. Eindeutige numerische Kennzeichnung
  3. Zielsetzung
  4. Geltungsbereich
  5. Beschreibungslevel
  6. Kategorie (primÀr, sekundÀr, optional)
  7. Beteiligte Klassen und Objekte
  8. Vorbedingung
  9. Nachbedingung bei Erfolg
  10. Nachbedingung bei Fehlschlag
  11. Akteure
  12. Auslösendes Ereignis
  13. Beschreibung der auszufĂŒhrenden Aktionen
  14. Beschreibung von Erweiterungen
  15. Aktionen fĂŒr Ausnahmen/Alternativen
  16. 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:

  1. Darstellung der Datenschnittstelle des Systems
  2. Hierarchisierung der Diagramme
  3. Extend - Beziehungen
  4. Include - Beziehungen
  5. 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