Ein Anwendungsfall (engl. use case) bündelt alle möglichen Szenarien, die eintreten können, wenn ein Akteur versucht, mit Hilfe des betrachteten Systems ein bestimmtes fachliches Ziel (engl. business goal) zu erreichen. Er beschreibt, was inhaltlich beim Versuch der Zielerreichung passieren kann und abstrahiert von konkreten technischen Lösungen. Das Ergebnis des Anwendungsfalls kann ein Erfolg oder Fehlschlag/Abbruch sein.
Allgemeines Bearbeiten
Anwendungsfälle werden typischerweise so benannt, wie die Ziele aus Sicht der Akteure heißen: Mitglied anmelden, Geld abheben, Auto zurückgeben.
Die Granularität von Anwendungsfällen kann sich stark unterscheiden: Auf sehr hohem Niveau beschreibt ein Anwendungsfall lediglich sehr grob und abstrakt, was passiert. Die Technik des Anwendungsfall-Schreibens kann jedoch bis auf Ebene von IT-Prozessen verfeinert werden, sodass das Verhalten einer Anwendung detailliert beschrieben wird. Dies widerspricht der ursprünglichen Intention von Use Cases, ist aber manchmal zweckmäßig.
Anwendungsfall und Geschäftsprozess werden oft ungenau voneinander abgegrenzt. Der Bezug zur Systemtheorie zeigt jedoch, dass Anwendungsfälle und Geschäftsprozesse jeweils eine andere Sicht auf das zu modellierende System beschreiben:
- Anwendungsfälle beschreiben, was die Umwelt vom System erwartet.
- Ein Geschäftsprozess beschreibt eine Folge von Einzeltätigkeiten, die schrittweise ausgeführt werden, um ein geschäftliches oder betriebliches Ziel zu erreichen.
Diese Abgrenzung gilt unabhängig von der Art des zu modellierenden Systems für Unternehmen und Software gleichermaßen. Sie ist auch nicht mit der Unterscheidung zwischen White-Box- und Black-Box-Modellierung gleichzusetzen.
Die Begriffe Geschäftsanwendungsfall (engl. business use case) und Systemanwendungsfall (engl. system use case) hingegen beschreiben den inhaltlichen Umfang des betrachteten Systems:
- Bei einem Systemanwendungsfall ist der inhaltliche Umfang durch das zu entwickelnde System gesetzt.
- Bei einem Geschäftsanwendungsfall ist der inhaltliche Umfang durch eine organisatorische Einheit gesetzt, beispielsweise eine Firma oder Abteilung.
Üblicherweise werden Geschäftsanwendungsfälle dafür genutzt, die Systemanwendungsfälle in einen gemeinsamen Kontext einzubetten und weitere Anforderungen aufzudecken.
Anwendungsfälle wurden bereits vor Etablierung der UML eingesetzt. Zusammenhängende Anwendungsfälle können in einem Anwendungsfalldiagramm dargestellt werden. Häufig wird mit diesem auch ein Systemkontextdiagramm erstellt.
Aufbau eines Anwendungsfalls Bearbeiten
Der inhaltliche Aufbau eines Anwendungsfalls erfolgt meist mittels einer zu definierenden Vorlage. Diese wird abhängig vom Kontext der späteren Benutzung des Anwendungsfalls ausgearbeitet. Oft werden für die verschiedenen Analysephasen unterschiedlich stark formalisierte Vorlagen verwendet. Die Bandbreite reicht von der rein prosaischen Kurzbeschreibung bis zu einem vollständigen, ausgearbeiteten Anwendungsfall.
Exemplarisch soll hier eine Schablone nach Cockburn vorgestellt werden:
Methodische Hinweise Bearbeiten
Ein Anwendungsfall beschreibt die Interaktionen zwischen Nutzer und System, die notwendig sind, um ein fachliches Ziel des Nutzers zu verwirklichen. Dabei dürfen die beschriebenen Abläufe nicht zu komplex werden. Als Anhaltspunkt kann der von Alistair Cockburn beschriebene Kaffeepausen-Test dienen: Der Anwendungsfall ist zu komplex, wenn „der Nutzer während der Interaktionen eine Kaffeepause einlegen“ würde.
Abgrenzung zur User Story Bearbeiten
In der agilen Softwareentwicklung, ursprünglich speziell im Extreme Programming (XP), werden Use Cases aufgrund der organisatorischen Besonderheiten in einer noch knapperen Form verfasst. Aufgrund dieser noch weiter verknappten Form der Darstellung tragen sie nicht die Bezeichnung Use Case, sondern werden als User Story bezeichnet. Eine User Story in XP ähnelt eher der Kurzbeschreibung eines klassischen Use Case.
Use Case 2.0 Bearbeiten
Im Dezember 2011 veröffentlichten Ivar Jacobson, Ian Spence und Kurt Bittner das Konzept Use Case 2.0. Es beschreibt eine skalierbare, agile Technik zur Entwicklung von Anforderungen, mit denen die inkrementelle Systementwicklung gesteuert werden kann. Die Prinzipien des neuen Konzeptes sind:
- Beschreibe Dinge einfach – mit Geschichten („stories“)
- Verstehe das „Big Picture“
- Stelle den Nutzen in den Mittelpunkt
- Baue das System scheibchenweise („in slices“)
- Liefere das System in Inkrementen
- Passe dich den Bedürfnissen des Teams an
Die Problemlösung für agile Projektplanung mit Use Cases liefert die Technik des „Slicings“ – dem Aufschneiden eines Use Cases in kleinere Einheiten, die dann innerhalb eines Sprints realisiert werden können.
Weiterführende Themen Bearbeiten
- Mit der Robustheitsanalyse können spezielle Eigenschaften der Use Cases untersucht werden.
Literatur Bearbeiten
- Kurt Bittner, Ian Spence: Use Case Modeling. Addison-Wesley Pearson Education, Boston 2003, ISBN 0-201-70913-9.
- Alistair Cockburn: Use Cases effektiv erstellen. MITP, Bonn 2003, ISBN 3-8266-1344-9.
- Ivar Jacobson u. a.: Object-Oriented Software Engineering. Addison-Wesley, Wokingham UK 1993, ISBN 0-201-54435-0.
- Christoph Kecher: UML 2.0, Das umfassende Handbuch. Galileo Computing, 2006, ISBN 978-3-89842-738-8.
- Daryl Kulak, Eamonn Guiney: Use cases: requirements in context. 2. Auflage. ACM Press, New York 2004, ISBN 0-201-65767-8.
- Robert Morys: Metrikbasierte Qualitätsmodellierung von Use-Case-basierten Anforderungsspezifikationen. (PDF; 1,5 MB) Diplomarbeit RWTH Aachen; abgerufen im Oktober 2012
- Doug Rosenberg: Use Case Driven Object Modeling with UML – Theory and Practice. Apress U.S.A, 2007, ISBN 978-1-59059-774-3.
- Chris Rupp und die SOPHISTENen: Requirements-Engineering und Management – Professionelle Iterative Anforderungs-Analyse für die Praxis. 6. Auflage. Hanser, München 2014, ISBN 978-3-446-43893-4.
- Hartmut Umbach, Pierre Metz: Use Cases vs. Geschäftsprozesse. In: Informatik-Spektrum, 29 (2006) Nr. 6, S. 424–432, DOI:10.1007/s00287-006-0106-8.
Weblinks Bearbeiten
- Use Case Diagramme auf Wikibooks
- Einführungs-Guide zu Use Case 2.0 (PDF; englisch)
- Use Case 2.0: Agile Projektplanung mit Use Case Slices
Einzelnachweise Bearbeiten
- Ivar Jacobson u. a.: Actors. In: Object-Oriented Software Engineering. Addison-Wesley, Wokingham UK 1993, ISBN 0-201-54435-0, S. 157–159.
- Cockburn: Use Cases effektiv erstellen. mitp, Bonn 2003, S. 231.
- Use-Case 2.0 e-Book. 21. Juli 2014, abgerufen am 6. Juli 2023 (englisch).