Das Use-Case-Diagramm, oder auf Deutsch An­wen­dungs­fall­dia­gramm, gehört zu den Ver­hal­tens­dia­gram­men der Unified Modelling Language, kurz UML, mit der Systeme und Prozesse der ob­jekt­ori­en­tier­ten Pro­gram­mie­rung oder auch Ge­schäfts­pro­zes­se dar­ge­stellt werden. Bei UML handelt es sich also nicht um eine Pro­gram­mier-, sondern um eine Mo­del­lier­spra­che. Es ist eine stan­dar­di­sier­te Methode, die ein geplantes oder bereits be­stehen­des System be­schreibt. Das geschieht mithilfe von Dia­gram­men, in denen sämtliche be­tei­lig­te Objekte struk­tu­riert und zu­ein­an­der in Beziehung gesetzt werden.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Das Use-Case-Diagramm: Eines unter vielen UML-Dia­gram­men

Da es zu kom­pli­ziert und zu un­über­sicht­lich wäre, alle Objekte, Be­zie­hun­gen und Abläufe in einem einzigen Diagramm dar­zu­stel­len, werden in UML 14 ver­schie­de­ne Dia­gramm­ty­pen genutzt. Sie lassen sich in die Ka­te­go­rien Struk­tur­dia­gram­me, Ver­hal­tens­dia­gram­me und In­ter­ak­ti­ons­dia­gram­me einteilen, wobei die In­ter­ak­ti­ons­dia­gram­me eine Un­ter­grup­pe der Ver­hal­tens­dia­gram­me sind.

Bei Struk­tur­dia­gram­men liegt der Fokus auf der Abbildung aller Elemente eines Systems und ihrer Be­zie­hun­gen zu­ein­an­der. Ein typisches Beispiel dafür ist das Klas­sen­dia­gramm, mit dem Elemente gruppiert und Hier­ar­chien vi­sua­li­siert werden können. Ver­hal­tens­dia­gram­me be­schäf­ti­gen sich hingegen nicht mit sta­ti­schen Struk­tu­ren, sondern zeigen den geplanten oder tat­säch­li­chen Ablauf von Prozessen, wie er bei der Benutzung des Programms oder der Software zu erwarten ist. Bei diesen Dia­gram­men steht also die Dynamik im Vor­der­grund.

Al­ler­dings ist das Use-Case-Diagramm in dieser Gruppe ein Son­der­fall, denn es bildet ab, welches Verhalten von einem System bzw. einer Software in einem be­stimm­ten An­wen­dungs­fall erwartet wird. Im Vergleich zu den anderen Ver­hal­tens­dia­gram­men in UML ist das An­wen­dungs­fall­dia­gramm also eher statisch, denn mit ihm lassen sich nur Handlung und Ziel, nicht aber die genaue Rei­hen­fol­ge ver­schie­de­ner Abläufe und Aktionen be­schrei­ben. Dafür werden in UML andere Dia­gramm­ty­pen genutzt, z. B. Ak­ti­vi­täts­dia­gram­me für die chro­no­lo­gi­sche Dar­stel­lung von Abläufen oder Se­quenz­dia­gram­me für den Nach­rich­ten­aus­tausch zwischen ver­schie­de­nen Elementen eines Systems.

Das An­wen­dungs­fall­dia­gramm in der Praxis

Mit einem Use-Case-Diagramm werden die Funk­tio­nen eines Systems aus der Sicht des Anwenders (in UML „Akteur“ genannt) dar­ge­stellt. Bei diesem Akteur muss es sich nicht zwingend um einen mensch­li­chen User handeln. Die Rolle kann auch einem externen System zu­ge­schrie­ben werden, das auf ein anderes System zugreift. Das An­wen­dungs­fall­dia­gramm bildet nun den Zu­sam­men­hang zwischen einem Akteur und seinen An­for­de­run­gen oder Er­war­tun­gen an das System ab, ohne die ab­lau­fen­den Aktionen dabei zu be­schrei­ben oder in eine logische Rei­hen­fol­ge zu bringen.

In der Praxis eignet sich diese Struktur gut dazu, um die wich­tigs­ten Funk­tio­nen und/oder Ziele eines Systems über­sicht­lich dar­zu­stel­len. Aus diesem Grund ist es bei der Ent­wick­lung von Software oder der Planung neuer Ge­schäfts­pro­zes­se häufig einer der ersten Schritte, ein An­wen­dungs­fall­dia­gramm zu erstellen. Damit wird einfach und an­schau­lich vi­sua­li­siert, welche An­wen­dungs­fäl­le bei der Ent­wick­lung be­rück­sich­tigt werden sollten, damit die Akteure (und im weiteren Sinne auch die Betreiber oder Auf­trag­ge­ber) an ihr Ziel kommen – und zwar zunächst ohne Rücksicht auf die tech­ni­sche Um­setz­bar­keit.

Bausteine und Aufbau des Use-Case-Diagramms

Damit das Use-Case-Diagramm auf einen Blick für alle ver­ständ­lich ist, werden für die Dar­stel­lung stan­dar­di­sier­te Bausteine verwendet. Zunächst gibt es drei we­sent­li­che Elemente:

  • Akteur: Akteure, sowohl Personen als auch Systeme, werden als Strich­männ­chen ab­ge­bil­det.
  • System: Das System, auf das sich der Use Case bezieht, wird als Rechteck dar­ge­stellt.
  • Use Case: Der ei­gent­li­che An­wen­dungs­fall wird als Ellipse dar­ge­stellt, in der üb­li­cher­wei­se eine kurze Wort­grup­pe steht, die den Vorgang benennt.

Nun werden die Zu­sam­men­hän­ge zwischen diesen Elementen mit Ver­bin­dungs­li­ni­en, so­ge­nann­ten As­so­zia­tio­nen, be­schrie­ben. Eine durch­ge­zo­ge­ne Linie zwischen Akteur und Use Case macht klar, dass der Akteur und der in der Ellipse be­schrie­be­ne An­wen­dungs­fall in einer Beziehung zu­ein­an­der stehen. Zu­sätz­lich gibt es ge­stri­chel­te Linien für die Beziehung zwischen ver­schie­de­nen Use Cases. Da es zwei ver­schie­de­ne As­so­zia­ti­ons­ar­ten zwischen Use Cases gibt, werden die Linien durch ein Schlüs­sel­wort ergänzt, das in UML „Stereotyp“ genannt und in doppelten spitzen Klammern dar­ge­stellt wird. Eine Pfeil­spit­ze zeigt außerdem die Ab­hän­gig­keit zwischen den Use Cases an. Es wird zwischen diesen beiden Ste­reo­ty­pen un­ter­schie­den:

  • include-As­so­zia­ti­on: Der Use Case, von dem die ge­stri­chel­te Ver­bin­dungs­li­nie ausgeht, schließt einen zweiten Use Case, auf den die Pfeil­spit­ze zeigt, mit ein.
  • extend-As­so­zia­ti­on: Der Use Case, von dem die ge­stri­chel­te Ver­bin­dungs­li­nie ausgeht, kann den Use Case, auf den die Pfeil­spit­ze zeigt, unter be­stimm­ten Vor­aus­set­zun­gen erweitern. Das muss aber nicht so sein.

Während die include-As­so­zia­ti­on also die Aus­füh­rung beider Use Cases vor­aus­setzt, hängt die Aus­füh­rung des zweiten Use Cases bei der extend-As­so­zia­ti­on von be­stimm­ten Be­din­gun­gen ab. Diese Be­din­gun­gen werden im UML-An­wen­dungs­fall­dia­gramm als Er­wei­te­rungs­punkt oder Extension Point angegeben. Vi­sua­li­siert wird das auf zwei Arten:

  • Ergänzung der Use-Case-Ellipse: Unter der Benennung des Use Case wird der mögliche Extension Point benannt und kurz be­schrie­ben.
  • No­tiz­zet­tel: Der extend-Stereotyp wird über eine ge­stri­chel­te Linie mit einem sti­li­sier­ten No­tiz­zet­tel (Rechteck mit ab­ge­knick­ter Ecke) verbunden, der mit „Condition“ und „Extension“ be­schrif­tet ist. Hinter Condition wird in ge­schweif­ten Klammern definiert, welche Bedingung erfüllt sein muss, damit der zweite Use Case aus­ge­führt wird. Hinter Extension Point wird auf dessen Benennung in der Use-Case-Ellipse verwiesen, damit die Er­wei­te­rung eindeutig zu­ge­ord­net werden kann.

Sie kennen nun alle Bausteine, die Sie brauchen, um ein eigenes Use-Case-Diagramm zu erstellen.

Das An­wen­dungs­fall­dia­gramm am Beispiel erklärt

Bis zu diesem Punkt haben Sie viel theo­re­ti­sches Wissen gesammelt. Damit Sie eine bessere Vor­stel­lung von der prak­ti­schen Umsetzung bekommen, zeigen wir Ihnen nun die Er­stel­lung eines An­wen­dungs­dia­gramms am Beispiel eines Bank­kun­den, der am Geld­au­to­ma­ten Geld abheben will.

Hinweis

Achten Sie in der Praxis immer darauf, dass Ihr Use-Case-Diagramm nicht zu un­über­sicht­lich wird. Das kann schnell passieren, wenn Sie in einem Diagramm mehrere Fälle abbilden, die zudem noch mit <<include>>- und <<extend>>-As­so­zia­tio­nen verbunden sind. Im Zwei­fels­fall ist es besser, für jeden Use Case ein eigenes An­wen­dungs­fall­dia­gramm zu erstellen.

Damit ist der Geld­au­to­mat das System und der Bankkunde der Akteur, der den Use Case „Geld abheben“ ausführen will. Dieser ist über include-As­so­zia­tio­nen mit zwei weiteren Use-Cases verbunden, nämlich „Au­then­ti­fi­zie­rung“ und „PIN- und Kon­ten­kon­trol­le“. Ist die Au­then­ti­fi­zie­rung nicht er­folg­reich, kann das Anliegen des Kunden nicht bedient werden. Damit die Versuche des Kunden nicht ins Un­end­li­che laufen, soll die Karte ein­ge­zo­gen werden, wenn die PIN drei Mal feh­ler­haft ein­ge­ge­ben wurde. Für den Use Case „Au­then­ti­fi­zie­rung“ wird deshalb ein Extension Point mit der Bedingung „drei Mal falsche PIN“ fest­ge­legt. Ist diese Bedingung erfüllt, wird der Use Case „Karte einziehen“ aus­ge­führt, der über eine extend-As­so­zia­ti­on mit dem Use Case „Au­then­ti­fi­zie­rung“ verbunden ist. Das Use-Case-Diagramm für dieses Beispiel sieht so aus:

Zum Hauptmenü