- Use Case
-
Ein Anwendungsfall (engl. Use Case) definiert alle möglichen Szenarien, die eintreten können, wenn einer oder mehrere Akteure mithilfe des betrachteten Systems ein bestimmtes fachliches Ziel (engl. business goal) zu erreichen. Der Schwerpunkt liegt dabei auf der Fragestellung, 'Was' passiert, nicht 'Wie' es passiert.
Ein Anwendungsfall bündelt alle Szenarien einer Detaillierungsebene, die eintreten können, wenn der 'Primärakteur' versucht, mithilfe des System dieses fachliche Ziel zu erreichen. Der Anwendungsfall bündelt somit eine gewisse Dienstleistung, die das System dem Primärakteur als Kunden zur Verfügung stellt.
Die Granularität kann verschieden sein. 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.
- Geschäftsprozesse modellieren, wie das System intern operiert, um die Anforderungen der Umwelt zu erfüllen.
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 Inhalt und Umfang des betrachteten Systems:
- Bei einem Systemanwendunsfall ist Inhalt und Umfang mit dem zu entwickelnden System deckungsgleich.
- Bei einem Geschäftsanwendungsfall sind Inhalt und Umfang nach außen annähernd unbegrenzt. Sie betten die Systemanwendungsfälle in einen gemeinsamen Kontext ein.
Anwendungsfälle wurden bereits vor Etablierung der UML eingesetzt. Zusammenhängende Anwendungsfälle können in einem Anwendungsfalldiagramm dargestellt werden, das somit als Ausprägung eines Systemkontextdiagramms dienen kann
Inhaltsverzeichnis
Aufbau eines Anwendungsfalls
Der inhaltliche Aufbau eines Anwendungsfalls folgt meistens einer zu definierenden Vorlage, die abhänging vom Kontext der späteren Benutzung des Anwendungsfalls ausgearbeitet werden muss. Meist werden für verschiedene Analysephasen auch unterschiedlich stark formalisierte Vorlagen verwendet, von der rein prosaischen Kurzbeschreibung bis zu einem vollständigen ausgearbeitetem Anwendungsfall.
Exemplarisch soll hier eine Schablone nach Cockburn vorgestellt werden:
- Name und Identifier
- Anwendungsfälle haben einen Namen und werden nach Sachgruppen geordnet durchnummeriert, z.B. UC 2.01.
- Beschreibung (description)
- Hier erfolgt eine kurze Beschreibung, was im Anwendungsfall passiert. Kurz bedeutet, dass es zwei oder drei Zeilen sind, selten mehr.
- Beteiligte Akteure (actors)
- Akteure sind beteiligte Personen oder Systeme. Z. B. Anwender, angemeldeter Anwender, Kunde, System, Abrechnungsprozess. Die Akteure werden zuvor in einem eigenen Abschnitt dargestellt. Jacobson unterscheidet zwei Arten von Akteuren: Primäre Akteure sind die eigentlichen Benutzer des Systems. Neben diesen gibt es noch sekundäre Akteure (auch: 'unterstützende Akteure'), die das System überwachen, warten und den Primärakteur bei seiner Zielerreichung unterstützen.[1]
- Status
- Der Status sagt aus, wie weit die Arbeit an dem Anwendungsfall gediehen ist. In Arbeit, bereit zum Review, im Review, abgelehnt und abgenommen sind Beispiele.
- Verwendete Anwendungsfälle (includes)
- Wenn der Anwendungsfall auf andere Anwendungsfälle zurückgreift, werden diese Fälle hier aufgezählt. Aufzuzählen sind Name und Identifikationsnummer.
- Auslöser (rationale oder trigger)
- Der Grund bzw. die Gründe dafür, dass dieser Anwendungsfall ausgeführt wird.
- Vorbedingungen (preconditions)
- Alle Bedingungen, die erfüllt sein müssen, damit dieser Anwendungsfall ausgeführt werden kann. Gibt es keine Vorbedingungen, so steht hier "keine".
- Invarianten
- Alle Bedingungen, die innerhalb und durch den Anwendugsfall nicht verändert werden dürfen, also auch in einem Misserfolgs- oder Fehlerszenario immer noch gewährleistet werden müssen.
- Nachbedingung / Ergebnis (postconditions)
- Der Zustande, der nach einem erfolgreichen Durchlauf des Anwendungsfalls erwartet wird.
- Standardablauf (normal flow)
- Hier wird das typische Szenario dargestellt, das leicht zu verstehen oder der am häufigsten vorkommenden Fall ist. An seinem Ende steht die Zielerreichung des Primärakteurs. Die Ablaufschritte werden nummeriert und meist in strukturierter Sprache beschrieben. Ablaufpläne können jedoch ebenfalls benutzt werden, wenn es angebracht erscheint. Mittels der UML können diese Ablaufschritte in Aktivitätsdiagrammen oder Anwendungsfall-orientierten Sequenzdiagrammen dargestellt werden.
- Alternative Ablaufschritte (alternative flow)
- Dies sind Szenarien, die sich außer des Standardablaufs auch bei der (versuchten) Zielerreichung des Anwendungsfalls ereignen könne. Sie werden meistens als konditionale Verzweigungen der normalen Ablaufschritte dargestellt. An ihrem Ende steht ein Misserfolg, die Zielerreichung des Primärakteurs oder eine Rückkehr zum Standardablauf.
- Hinweise
- kurze Erklärungen zum besseren Verständnis, Hinweise zu Nebeneffekten, Mengengerüsten soweit erforderlich und alles andere, das nicht weiter oben dargestellt werden kann.
- Änderungsgeschichte (use case history)
- Versionierung, Name des Autors, Datum
Methodische Hinweise
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.
Siehe auch
Einzelnachweise
- ↑ Ivar Jacobson u. a.: Actors. In: Object-Oriented Software Engineering. Addison-Wesley, Workingham, England 1993, ISBN 0-201-54435-0, S. 157–159.
Literatur
- Ivar Jacobson u. a.: Object-Oriented Software Engineering. Addison-Wesley, Workingham, England 1993, ISBN 0-201-54435-0.
- Alistair Cockburn: Use Cases effektiv erstellen. MITP Verlag, 2003 ISBN 3-8266-1344-9
- Daryl Kulak, Eamonn Guiney: Use cases: requirements in context. 2. Auflage. ACM Press, New York 2004, ISBN 0-201-65767-8
- Kurt Bittner, Ian Spence: Use Case Modeling. Addison-Wesley Pearson Education, Boston 2003, ISBN 0-201-70913-9
- Hartmut Umbach, Pierre Metz: Use Cases vs. Geschäftsprozesse Informatik-Spektrum 29(6), Springer Berlin/Heidelberg, ISSN 0170-6012 (Print) 1432-122X (Online)
Weblinks
Wikimedia Foundation.