Ich rekapituliere nochmal die verschiedenen Diagrammtypen für die Softwareentwicklung und möchte mit dem Use Case Diagramm anfangen.

Use Case oder auch Anwendungsfalldiagramme beschreiben die Funktionalitäten eines System. Sie zeigen die möglichen Anwendungsfälle und die Beziehungen zwischen diesen Fällen und den beteiligten Akteuren.

Ein solches Diagramm besteht aus mehreren Komponenten:

  • System: Das zu beschreibende System
  • Anwendungsfall: Auszuführende Aktion
  • Akteure: Auslöser
  • Assoziationen: Verbindung zwischen Akteuren und Aktionen
  • Multiziplitäten: Genauere Definition der Assoziationen
  • Generalisierung / Spezialisierung: Verfeinerung von Anwendungsfällen und Akteuren
  • Include / Extends: Verbindung bzw. Erweiterung von Anwendungsfällen

Die Beispielaufgabe mit dem Filmverleih für die GUI dürfte bekannt sein. Anhand derer werde ich das Use Case Diagramm darstellen.

In einem Filmverleih arbeiten mehrere Service-Mitarbeiter. Dise können im System neue Filme anlegen, müssen dies aber nicht tun. Sobald ein Kunde einen Film ausleihen möchte, muss ihm der Film von einem Service-Mitarbeiter verliehen werden. Der Verleihprozess ist für die Mitarbeiter sehr kleinteilig, für das Diagramm soll der Prozess jedoch so einfach wie möglich gehalten werden. Wenn der Kunde einen Film zurückgeben möchte und dabei die Leihfrist nicht eingehalten wurde, muss er eine Überziehungsgebühr zahlen.

Ich gebe zu, es ist nicht das beste Beispiel, aber man sieht alle Elemente eines einfachen Use Case Diagramms und wie sie zusammenspielen. Zu beachten sind vor allem die Multiziplitäten, sowie die Bedingung, die an die <<extends >> - Verbindung geknüpft ist. Bei der Benennung des Systems wäre auch Filmverleihsystem möglich und wahrscheinlich besser, da der eigentliche Filmverleih wohl eher das Ladengeschäft meint.