Kategorien
Anforderungsanalyse

Geschäftsprozess vs. Geschäftsvorfall

Es ist ganz interessant, dass viele Leute auch seit Jahren den Unterscheid zwischen einem Geschäftsvorfall und Geschäftsprozess nicht kennen bzw. anhand der Namensgleichheit (Ähnlichkeit) nie Gedanken darüber gemacht haben, dass da ein gravierender Unterscheid besteht. Das kann man den Leuten sogar nicht verübeln, da die UML selbst keine enge Definition eines Use Cases kennt.

 

Dieser Artikel klärt das Ganze mal auf.

Am besten verstehen kann man das Ganze, wenn man sich erst mal eine Standard-Definition für einen Use Case ansieht. Wobei man hier schon auf ein Begriffsproblem stößt: Use Case und Anwendungsfall, sowie Geschäftsvorfall ist das gleiche, Geschäftsprozeß ist was anderes.

Wieso ist eine Definition eines Use Case so schwierig?

Das liegt daran, dass die UML selbst eine Notation ist. Deswegen ist die Definition im UML Standard auch sehr grob. Die UML ist ja auch keine Vorgehensweise. Erst eine Vorgehensweise definiert Elemente detailliert. Sieht man sich die Definition in der UML an:

„Use cases are a means for specifying required usages of a system. Typically, they are used to capture the requirements of a system, that is, what a system is supposed to do.“ siehe UML Superstructure

So kann man mit dem Use Case jede Art von System modellieren. Die Vorgehensweisen, die UML nutzen, waren da detaillierter und schränken das Ganze ein.

Deshalb ist es meiner Meinung nach sehr wichtig erst mal eine saubere Use Case Definition zu haben. Sonst passieren merkwürdige Dinge bei der Use Case Modellierung. Da modellieren die einen Partysysteme mit Cocktail mixen als Use Case, die anderen modellieren Gartensysteme mit Blumen gießen als Use Case. Das eigentliche Ziel sind aber doch EDV Systeme. Warum also diese Definition nicht auf ein vernünftiges Maß reduzieren bzw. bringen? Hier eine praktikable Definition für einen Use Case, die gleichzeitig eine Abgrenzung zum Geschäftsprozess liefert.

Definition für eine Use Case/Anwendungsfall/ Geschäftsvorfall an (Ich verwende ab jetzt Use Case, die anderen Begriffe passen aber auch).

Definition Use Case:

„Ein Use Case ist ein software-gestützter Ablauf, der nach relativ kurzer Zeit ein Ergebnis für einen primären Akteur erzeugt.“

Diese Definition hat sich 1000fach bewährt. Man kann allerdings vielleicht nur etwas damit anfangen, wenn man ein Beispiel dazu nutzt. Das Standard-Bespiel der Weltliteratur ist schon seit über 25 Jahren der Use Case: Geld abheben am Geldautomat.

Ein klassischer Use Case. Man macht kurz was, Karte einschieben etc. und man erhält nach kurzer Zeit das Geld (Ergebnis).

Dazu kann man sich beliebige Bespiele überlegen bzw. im Internet finden. Anmelden auf einer Webseite, Personedaten ändern, etwas Bestellen, im Internetbanking überweisen, Kontostand abfragen, Umsätze einsehen etc..

Übrigens gabs tatsächlich bei der Sparkasse Geldautomaten auf denen neben der Abbruch Taste „Geschäftsvorfall abbrechen“ stand.

Ist der Ablauf ein Use Case?

Als Prüfung gilt:

  • Ist der Ablauf Computer (Software) gestützt?
  • Ist der Ablauf kurz (vertretbare Wartezeit)
  • Erzeugt er ein Ergebnis für den primären Akteur?
  • Findet kein Akteurwechsel statt?

Sind diese Fragen mit Ja zu beantworten, ist die Wahrscheinlichkeit sehr hoch, dass es sich um einen Use Case handelt.

So weit, so gut, aber was passiert jetzt bei der KFZ Zulassung oder besser aufgedrückt beim Ablauf „Zulassen eines PKWs“.

Jeder, der schon mal ein Auto zugelassen hat, weiß, dass das schon etwas länger dauern kann. Ferner sind verschiedene Personen (Akteure) beteiligt Außerdem gibt es manuelle Tätigkeiten, wie das Kleben der Plaketten und das Anschrauben der Schilder. Es gibt sogar maschinelle Tätigkeiten, wie das Prägen der Schilder.

Man sieht recht schnell, dass die Use Case Definition hier nicht passt. Somit kann man prüfen, ob eher ein Geschäftsprozess vorliegt.

Ist der Ablauf ein Geschäftsprozess?

Als Prüfung gilt:

  • Wechselt der Akteur?
  • Gibt es Wartezeiten im Ablauf?
  • Gibt es im Ablauf manuelle Tätigkeiten?
  • Gibt es im Ablauf maschinelle Tätigkeiten?

Sind diese Fragen mit Ja zu beantworten, ist die Wahrscheinlichkeit sehr hoch, dass es sich um einen Geschäftsprozess handelt.

Wieso ist nur die Wahrscheinlichkeit hoch?

In beiden Fällen habe ich geschrieben, dass die Wahrscheinlichkeit hoch ist, wenn man die jeweiligen Fragen mit Ja beantwortet, es sich um einen Use Case bzw. einen Geschäftsprozess handelt.

Es gibt keine ganz klare Grenze. Meist allerdings eher bei den Geschäftsprozessen. Es kann sein, dass es sich, obwohl keine manuellen und oder maschinellen Tätigkeiten im Ablauf vorhanden sind, es sich trotzdem um einen Geschäftsprozess handelt.

Ferner waren bestimmte Abläufe, die früher ein Geschäftsprozess waren und heute ein Use Case bzw. Anwendungsfall ist. Bespiel: Das Anlegen eines Girokontos. Früher musste man zur Bank, einen Antrag ausfüllen, dann wurde der bearbeitet etc., also ein klassischer Geschäftsprozess. Heute kann man ein Girokonto innerhalb kurzer Zeit samt allen Prüfungen übers Internet anlegen und sofort verwenden, somit heute ein Use Case.

Der Zusammenhang zwischen Geschäftsprozess und Use Case

Wenn die Abgrenzung nun grob klar ist, stellt sich die Frage, ob es einen Zusammenhang zwischen Use Case und Geschäftsprozess gibt.

Den gibt es natürlich. Im Geschäftsprozess „KFZ zulassen“ gibt es einen einzelnen Schritt (Aktivität), der das Bezahlen der Zulassung darstellen wird. Im Geschäftsprozess-Modell interessiert mich aber nur, das ein Bezahlbetrag in die Aktivität hinein geht und eine Quittung hinausgeht. Ferner noch die Art, wie ich bezahlen will, z.B. Kreditkarte oder EC-Karte.

Das würde völlig ausreichen, um den Geschäftsprozess zu verstehen. Aus diesem Schritt wird dann ein Use Case, den ich dann im Use Case Modell weiter detailliert herunterbrechen kann.

Gegenüberstellung

Geschäftsprozess Geschäftsvorfall/Use Case
Kompletter Geschäftsmäßiger Ablauf z.B. in der KFZ Zulassung Abschnitt eines Geschäfts­prozesses oder eigenständig z.B. Bezahlen Zulassung, Geld abheben am Geldautomat
Akteurwechsel Kein Akteurwechsel (primärer Akteur bleibt gleich)
Manuelle Tätigkeiten möglich Keine Manuellen Tätigkeiten
Maschinelle Tätigkeiten möglich Keine Maschinellen Tätigkeiten
Erzeugt ein geschäftsmäßiges Ergebnis Erzeugt ein (Teil) Ergebnis, das weiter verwendet werden kann, entweder direkt oder als Ergebnis eines Schritts im Geschäftsprozeß

Zusammenfassung:

Sie sehen, es gibt schon einen gravierenden Unterschied zwischen Geschäftsprozess und Use Case. Ferner werden normalerweise Geschäftsprozesse und Use Cases mit unterschiedlichen Notationen modelliert. So gibt es für die Use Cases die UML, während es für die Geschäftsprozesse die BPMN gibt.

Allerdings gibt es auch die Möglichkeit Geschäftsprozesse mit UML Use Cases zu modellieren (Später mehr dazu).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.