UC - Use Cases
Anwendungsfall
Use Cases dokumentieren die Funktionalität eines geplanten oder existierenden Systems auf Basis von einfachen Modellen. In einem Use Case – auch Anwendungsfall genannt – wird das nach außen sichtbare Verhalten eines Systems aus Sicht der Nutzer beschrieben. Ein Nutzer kann hierbei eine Person, eine Rolle oder ein anderes System sein. Dieser Nutzer tritt als Akteur mit dem System in Interaktion, um ein bestimmtes Ziel zu erreichen.
Ein einzelner Use Case wird normalerweise so benannt, wie das Ziel aus Sicht des Akteurs heißt und ist dabei eine Folge von Aktionen, die in einer festgelegten Reihenfolge ablaufen. Da das gemeinsame Verständnis der Interaktion zwischen Akteur und System deutlich erhöht wird, sind Use Cases sehr beliebt und werden häufig in der Produktentwicklung und Softwareentwicklung genutzt.
Use Case-Spezifikationen beinhalten Informationen zur Systematik der Interaktionen eines Use Case mit Akteuren in der Umgebung. Diese Informationen werden mit Hilfe einer Schablone (also einer Vorlage) textuell dokumentiert und sollten Angaben wie Name mit eindeutigem Identifier, Beschreibung, beteiligte Akteure, Priorität, Kritikalität, Verantwortlichkeiten, Vorbedingungen oder Nachbedingungen, Status, verwendete andere Anwendungsfälle, sowie einen Standardablauf und alternative Abläufe enthalten. Auch Invarianten, also alle Bedingungen, die durch den Use Case selbst im Falle eines auftretenden Fehlers nicht verändert werden dürfen, sollten beschrieben werden.
Use Case-Diagramme der UML (Unified Modeling Language) sind grafische Modelle, die dazu dienen, die Funktionalitäten eines Systems aus Nutzersicht zu visualisieren, deren Beziehungen zueinander sowie die Beziehung des Systems zu dessen Umwelt aufzuzeigen. Die wichtigsten Modellelemente sind hierbei:
- Use Case
- Akteure (Personen oder Systeme)
- Systemgrenzen
- Beziehungen (extend, include, communicate)
Quelle = IREB
Welchen Nutzen haben Use Cases?
Produkte oder Software werden entwickelt, damit bestimmte Aufgaben besser erfüllt werden können. Der Nutzer soll das Produkt nutzen, um bestimmte Ziele zu erreichen. Diese Ziele sind in vielen Fällen allerdings nicht deutlich definiert. Solche Unklarheiten, aber auch Fragen die vor Entwicklungsbeginn nicht geklärt sind, führen zu Unterbrechungen im Entwicklungsprozess und damit zu höheren Entwicklungskosten. In diesen Fällen werden häufig nicht die richtigen, beziehungsweise nicht alle Anforderungen an ein System ermittelt. Änderungen müssen implementiert, Entwicklungsprozesse verändert und Ressourcen anders verteilt werden. Und je später Anforderungen bekannt werden, desto problematischer und teurer wird der Entwicklungsprozess. Ein Use Case bündelt deshalb alle möglichen Szenarien, die beim Versuch der Zielerreichung eintreten können, wobei das Ergebnis eines Use Case ein Erfolg, aber auch ein Fehlschlag bzw. Abbruch sein kann.