Use case

Use case
Beispiel eines Anwendungsfalldiagramms in der Unified Modeling Language. Die beiden Anwendungsfälle SMS verschicken und Fotomessage verschicken eines Mobilfunkbetreibers sind spezifiziert.

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

Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

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

  1. 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.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Use case — A use case is a description of a system’s behaviour as it responds to a request that originates from outside of that system.The use case technique is used in software and systems engineering to capture the functional requirements of a system. Use …   Wikipedia

  • Use Case — Beispiel eines Anwendungsfalldiagramms in der Unified Modeling Language. Die beiden Anwendungsfälle SMS verschicken und Fotomessage verschicken eines Mobilfunkbetreibers sind spezifiziert. Ein Anwendungsfall (engl. Use Case) definiert alle… …   Deutsch Wikipedia

  • Use case — Cas d utilisation  Ne pas confondre avec les diagrammes de cas d utilisation. En génie logiciel et en ingénierie des systèmes, un cas d utilisation définit une manière d utiliser le système et permet d en décrire les exigences fonctionnelles …   Wikipédia en Français

  • Use Case — WikiV In software and systems engineering, a use case is a description of a system’s behavior in response to external stimuli. This technique is used to develop functional requirements by specifying the system’s behavior through scenarios. This… …   Audio and video glossary

  • Use case — Прецедент (англ. Use Case, а также: вариант использования, сценарий использования) спецификация последовательностей действий (варианты последовательностей и ошибочные последовательности), которые может осуществлять система, подсистема или класс,… …   Википедия

  • Use case model — is a model that describes a system’s functional requirements in terms of use cases. Consists of all the actors of the system and all the various use cases by which the actor interact with the system, thereby describing the total functional… …   Wikipedia

  • Use case survey — is a list of names and perhaps brief descriptions of use cases associated with a system, component, or other logical or physical entity. This artifact is short and inexpensive to produce early in the analysis or envisioning stages of a software… …   Wikipedia

  • Use case diagram — A use case diagram is a type of behavioral diagram defined by the Unified Modeling Language (UML) and created from a Use case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors,… …   Wikipedia

  • Use-case analysis — A use case analysis is the most common technique used to identify the requirements of a system (normally associated with software/process design) and the information used to both define processes used and classes (which are a collection of actors …   Wikipedia

  • Use-Case-Diagramm — Strukturdiagramme der UML Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Paketdiagramm Verteilungsdiagramm Verhaltensdiagramme der UML …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”