Home
Unternehmensmodellierung: Objektorientierte Theorie
Contents
1. Ablehnung mitteilen Vorlage zur Genehmt gung Betrag gt 200 Entscheidung Annahme Automatische Genehmi wn gung Beirag lt 200 Mitteilung Keine Aktion l Transaktion L abbrechen Timer f r Keine Aktion Abbildung 10 10 7 Aktivit t Auslagenerstattung Quelle Leicht ver ndert nach OMG 2003a S 300 Figure 216 Vorgang abbrechen Die Abbildung enth lt u a folgende Komponenten bzw Strukturmerkmale Ein Aktivit tsende Einen Startknoten Eine Gabelung Mehrere Verzweigungen Mehrere Zusammenf hrungen Au erdem eine Wettlaufsituation und einen Timer Was meinen die UML Autoren wenn sie hier von einer Wettlaufsituation Zeitablaufkontrolle sprechen Nun im oberen Teil l uft ganz normal der Genehmigungspro zess ab in zwei alternativen Fl ssen Der untere Fluss aber stellt eine Art Zeitablaufkontrolle time check path dar Das Verh ltnis zwischen die sem und den beiden obigen veranschaulichen die UML Autoren mit der Klausursituation Entweder der Studierende wird vor Ablauf der Zeit Vorschl ge wahrnehmen ndern und pr fen 190 10 Aktivit ten fertig oder es l uft zuerst die Zeit ab Beides beendet den Prozess der Klausurerstellung Das Beispiel entstammt Workflow Modellen daher auch dieser Timer In der klassischen Prozessmodellierung w rde man eine andere L sung finden 10 10 7 Vorschlagswesen Im folgenden Beis
2. Abbildung 6 2 1 Grafische Darstellung einer Generalisierung Spezialisierung Die m glichen Varianten dieser Darstellungsweise werden im n chsten Abschnitt vorgestellt 6 3 Beispiel Hochschule und grafische Varianten Die folgende Abbildung zeigt ein Beispiel Die Superklasse soll die Per sonen darstellen die an einer Hochschule den Lehrbetrieb sichern Diese kann man sich aufgeteilt denken in Angestellte und Beamte der Hoch schule sowie in externe Dozenten Lehrende die nicht an der Hochschule angestellt sind IT Abbildung 6 3 1 Generalisierung Spezialisierung Besch ftigte einer Hochschule Besch ftigte einer Hochschule In diesem Beispiel und in den folgenden werden die Klassen nur mit ihren Nur Bezeichnungen Bezeichnungen angegeben ohne Attribute Methoden usw da es hier nur um die Beziehungen zwischen den Klassen geht Allerdings ist f r diese Art der Modellierung unabdingbar dass es allgemeine Attribute und oder Methoden f r die Generalisierung und jeweils spezielle Attribute und oder Methoden f r die Spezialisierungen gibt Betrachten wir obige Generalisierungshierarchie auf Klassenebene Die Klasse Personen enth lt dann die Attribute und Methoden die f r alle Objekte G ltigkeit besitzen Die Klassen Externe Dozenten Ange bei den Klassen Zeitlicher Besch ftigungs umfang Generalisierungs beziehung und Generalisierungs menge 80 6 Generalisierung Spezialisieru
3. 278 12 5 2 Prozessbeispiel Kunde und Lieferant 219 12 5 3 Prozessbeispiel Versicherungswesen 280 12 6 Anwendungsf lle und Unternehmensmodellierung 281 ZUSTANDSAUTOMATEN 222220220020200002n00nnnnnonnnnnnn nn 285 13 1 Einlihrung essen 285 13 2 Gmalasen ns 286 13 2 1 Elemente nissen 286 1322 ZU 289 13 2 3 Einf hrende Beispiele uueseeenennnns 291 I 3 Ver N ee ee ee 297 13 3 1 Strukt rierte Knoten ann 297 1332 Pseudozust nde unesanineneir ai 299 13 3 3 Zustandsautomaten im Zustand ee 305 13 3 4 Trans tionen zu Zust nden eeeeeen 310 13 3 5 Semantik von Zust nden eeeen 312 13 3 6 Grafische Darstellung von Zust nden 315 13 3 7 Beispiele f r zusammengesetzte Zust nde 317 13 3 8 Trans tionen vertieft eeessseeeeeeessseeseennnnnneeennnen 319 13 3 9 Ereignisraum und Ereignisverarbeitung 322 XVI 14 15 16 17 Inhaltsverzeichnis 13 4 Protokollzustandsautomaten usseeeeeeeeeseesennnnnennnneeeeneen 323 13 5 Beispiele von Verhaltenszustandsautomaten 326 13 5 1 Prozessbeispiel Rechnung mittelgro 326 13 5 2 Prozessbeispiel Rechnung umfassend 329 13 5 3 Systembeispiel Telefonanlage 332 13 6 Zustandsautomaten und Unternehmensmodellierung 3
4. Bindet man eine Aktion in den Kontrollfluss bzw einen Objekt oder Parameterknoten in den Objektfluss ein dann modelliert man konkret folgendes e Eine Aktion wird einmal akt v dann geht es weiter zum n chsten Element Kontrollknoten Aktion Parameterknoten e Ein Objekt dient bei Parameterknoten entweder genau einmal als Input oder genau einmal als Output e Ein Objekt dient als Objektknoten im Objektfluss genau einmal vgl die Beispiele mit dem Objekt Rechnung u a in den Abbildungen 10 3 1 und 10 5 7 Aktiv bleiben Innere Schleife 148 10 Aktivit ten Mit dem Konzept des streaming bietet die UML nun die M glichkeit einen ununterbrochenen regelm ig ablaufenden Fluss von Aktionen Objektknoten und Parameterknoten zu modellieren Bei Aktionen Die Vorstellung ist hier dass die betreffende Aktion nicht nur einmal Input annimmt ihre Aufgabe ausf hrt und Output abgibt sondern dass es regelm ig weitergeht Eine Aktion bleibt also st ndig weiter aktiv Die UML Autoren nennen dies fortgesetztes Verhalten continuous behavior Streaming erlaubt somit einer Aktion im Rahmen ihrer Aktionsaus f hrung Input anzunehmen und Output abzugeben w hrend s e bereits akt v st Somit kann die Aktion w hrend einer Ausf hrung mehrere To ken annehmen und abgeben an einem P n oder auch an mehreren In der grafischen Notation wird dies durch die textliche Anmerkung stream bei der Aktion dem Parameterknoten
5. Der Tokenfluss Grafische Darstellung Input und Output von Aktivit ten 136 10 Aktivit ten Datenspeicher wurden eingef hrt um ltere Formen des Datenflusses zu modellieren Unter lteren Formen verstehen die UML Autoren dass Daten persistent sind und bei Bedarf genutzt werden Unter neueren Formen dass die Daten fl chtig transient sind und genutzt werden wenn sie verf gbar sind OMG 2003a S 319 Anmerkung vgl Abschnitt 8 6 f r eine Einf hrung in den Token Begriff Die Rolle der Datenspeicher wird klar wenn der Tokenfluss betrachtet wird Ein Datenspeicher beh lt alle Token die zu ihm kommen und ko piert sie wenn sie weiter im Kontrollfluss gehen m ssen Kommt ein Token an der ein Objekt enth lt und gibt es im Datenspeicher bereits einen Token mit diesem Objekt dann ersetzt der neue Token den alten Token f r die es also im Fluss weitergeht werden kopiert so dass es so aussieht als ob die Token niemals den Datenspeicher verlassen Die Darstellung ist wie bei Objektknoten enth lt aber die zus tzliche Beschriftung lt lt datastore gt gt lt lt datastore gt gt Bezeichnung state Abbildung 10 3 3 Objektknoten Datenspeicher Grafische Darstellung 10 3 3 Parameterknoten Parameterknoten sind Objektknoten zur Modellierung von Input und Output von Aktivit ten Da sie im Theoriegeb ude der UML gleichzeitig Knoten und Parameter sind erhielten sie die Bezeichnung activi
6. 9 Ber cksichtigung der zeitlichen Dimension Sie ist zumindest in der einfachsten Form vorhanden entsprechend dem Grundgedanken dass Aktionen durch Ereignisse ausgel st werden und dass ihre Beendigung ebenfalls durch ein Ereignis markiert werden kann Wie die UML Autoren dies in ihr Theoriegeb ude umsetzen ist in Abschnitt 10 9 kurz beschrieben 10 Tr ger Ein solches Konzept liegt nicht vor zumindest nicht deutlich aufbereitet In die Richtung deutet der Begriff subject vgl Exkurs in Abschnitt 12 1 Auch wenn dieses dann als das system under consideration OMG 2003a S 503 definiert wird Letzteres spiegelt auch die Unsch r fe n der Abgrenzung zwischen Systemen und Gesch ftsprozess wider 10 11 3 Weitere Theorieelemente Der obige Abschnitt fragte ab ob die grunds tzlichen Elemente f r eine Methode zur Prozessmodellierung bei Aktivit tsdiagrammen vorhanden sind Hier werden nun weitere Elemente der Methode AD vorgestellt die einen Hinweis auf die Denkweise der UML Autoren geben und die viel leicht f r eine Weiterentwicklung der Prozessmodellierung genutzt wer den k nnen Der Hinweis zielt insgesamt auf eine st rker integrierte Sichtweise des Prozessgeschehens auf eine Gesamtsicht aller Prozesse eines Unterneh mens Einzelprozesse oder Gesamtheit der Prozesse Es gibt tats chlich einige Aspekte der Methode AD die einen deutlichen Hinweis zur berwindung einer Einzelprozesssicht geb
7. Objektklassen Objekte die dieselben Attribute und Methoden haben die also strukturell Von Objekten zu gleich sind werden zu Objektklassen kurz auch Klassen zusammenge Objektklassen fasst Auch dieser Abstraktionsvorgang ist uns vertraut Schlie lich nehmen durch wir wenn wir aus einiger Entfernung eine Ansammlung bestimmter Abstraktion B ume sehen diese als Wald war D h wir abstrahieren und fassen diese Tannen Fichten Laubb ume usw als Einheit auf Diese Klassenbildung ist ein g ngiger Abstraktionsmechanismus aller Modellierungsans tze ein Schritt um die Komplexit t der realen Welt f r die gezielte Modellierung zu reduzieren Es werden also z B alle Angestellten eines Unternehmens zusammen gefasst um im obigen Beispiel zu bleiben Aber schon wenn wir f r unterschiedliche Gruppen von Angestellten teilweise unterschiedliche Attribute und oder Methoden haben ist dies nicht mehr so einfach vgl Kapitel 6 Die Klasse erh lt dann eine Bezeichnung und sie hat die f r d e Ein zelobjekte eingef hrten Attribute und Methoden Nat rlich werden einer Objektklasse nur Attribute zugeordnet die ge Attributs nau diese Objekte beschreiben und zwar mit jeweils genau einer Attri zuordnung butsauspr gung und nur Operationen die auf genau diesen Objekten ausf hrbar sind Deshalb wird bei dem Realweltph nomen Rechnung zwischen Rech Beispiel nungskopf und Rechnungspositionen unterschieden Rechnungsk pfe
8. Eine erste Antwort ist schnell gegeben Der Beitrag wird im Bereich der Ablauf Prozessmodellierung liegen denn von ihrer urspr nglichen Aufgabe her der Modellierung von Softwaresystemen ist nur das in der Methode angelegt Die Pr zisierung der Antwort ist schwieriger Vor allem mu dabei zwischen den zwei Typen von Zustandsautomaten unterschieden werden die oben recht deutlich wurden Fixe und Flache Zustandsautomaten so sollen sie hier genannt werden Dies sind die mit fixen festen Zust nden die ein Objekt das nicht weiter strukturiert unterteilt wird modellieren und deren Objektzust nde nicht durch Aktivit ten erzeugt und aufrecht erhal ten werden m ssen Diese Objekte werden zwar bei jedem Zustands bergang verarbeitet ihr Zustand im Sinne der Auspr gung ihrer Attributsauspr gungen ver ndert sich bei jedem Zustands bergang aber hre einzelnen Zust nde s nd f x Vgl das Beispiel Rechnung oben und auch die Diskussion hierzu in Abschnitt 13 2 2 e Dynamische und tiefe Zustandsautomaten Diese haben dynami sche Zust nde die durch Aktivit ten im umgangssprachlichen Sinn erzeugt und aufrechterhalten werden und die auch noch tief ver schachtelt sein k nnen Zustandsautomat im Zustand usw Fixe und flache Zustandsautomaten Diese eignen sich hervorragend f r das f r das sie ja auch gemacht sind f r die Verfolgung der verschiedenen Zust nde eines Objekts hier ei
9. Eine solche Verkn pfung ist gegeben durch die Lifelines die ja im Nor malfall Objekte aus dem objektorientierten Modell repr sentieren 11 5 7 SD und EPK im direkten Vergleich Wenigstens kurz soll hier noch betrachtet werden wie es um die bertra gung von Sequenzdiagrammen in eine Methode der Standardprozessmo dellierung hierf r wurde wieder die Methode EPK gew hlt steht Ist sie m glich Wo liegen die Probleme Mehr dazu in WebZumBuch_UMOI Beispiel Kaufabwicklung als Ereignisgesteuerte Prozesskette Das oben vorgestellte Beispiel Kaufabwicklung soll hier in eine Ereignis gesteuerte Prozesskette berf hrt werden Es sollte als ein typisches Pro zessbeispiel dazu auch geeignet sein Um die direkte Vergleichbarkeit zu erleichtern wird das Sequenzdiagramm hier in Abbildung 11 5 2 noch mals angegeben Eigentlich geht es um die Variante mit dem kombinierten Fragment Abbildung 11 5 2 da aber die erste Variante dieses Sequenzdiagramms Abbildung 11 3 2 bei jedem Kontrollfokus auch eine Benennung der T tigkeit aufweist sollte sie auch mit hinzugezogen werden Die n chsten Abbildungen zeigen die Ereignisgesteuerte Prozesskette die diesem Sequenzdiagramm entspricht wobei zwei beispielhafte poten tielle Verzweigungen hinzugef gt wurden um anzudeuten dass diese in einer Prozessmodellierung unabdingbar sind Vgl f r eine Einf hrung in die Modellierung von Gesch ftsprozes sen durch Ereignisgesteuerte Prozesske
10. R ckbuchbar e Zahlung per Uberweisung Zahlung korrekt Damit ndert sich der Nicht bezahlt Zustand in Bezahlt Rechnung bezahlt e Zahlung per Lastschrift Zahlung korrekt Damit ndert sich der Zustand in R ckbuchbar bezahlt 294 13 Zustandsautomaten e Drei Wochen vergangen Zahlung nicht erfolgt Damit ndert sich der Zustand in Nicht bezahlt Der Zustand R ckbuchbar bezahlt r hrt daher weil per Lastschrift einge zogene Rechnungsbetr ge innerhalb eines bestimmten Zeitraums hier werden sechs Wochen angenommen wieder zur ckgefordert werden k nnen Von diesem Zustand zum Zustand Bezahlt f hrt dann eine Tran sition die den Ablauf dieser Frist ohne R ckholung angibt e Sechs Wochen vergangen keine R ckbuchung Damit ndert sich der Zustand in Rechnung Bezahlt Rechnung ist zuzustellen Zustellung gescheitert Neue Nicht Rechnung zustellbar Rechnung ist zuzustellen Zustellung gelungen Status offen setzen Zahlung erfolgt per Lastschrift Zahlung per berweisung hlung k kt R ckbuchbar aii bezahlt Sechs Wochen vergangen keine R ckbuchung 21 Tage vergangen Zahlung nicht erfolgt Nicht or Abbildung 13 2 6 Zustands bergangsdiagramm Rechnung einfach Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten o Einen Anfangszustand Zahlreiche Transitionen Drei Schlusszust nde Au erdem mehrere Zust nde mit mehr als ein
11. Superklasse Tu uU uU 2 70 270 270 2 70 2 7 070270 270 270 270 E m DEREN FE a a m zz m Abbildung 6 4 5 berlappende Subklassen und unvollst ndige berdeckung der Superklasse durch die Subklassen in einer Generalisierung Spezialisierung 6 5 Mehrere Ebenen Von einer Baumstruktur zu sprechen hat nur Sinn wenn es mehrere Ebe nen gibt wenn also Subklassen auch gleichzeitig wieder Superklassen sind Betrachten wir zur Veranschaulichung den Anwendungsbereich Fahr zeuge aller Art Hier kann man leicht sehr viele Fahrzeugtypen finden die jeweils teilweise unterschiedliche Attribute und vielleicht auch Me thoden haben Damit werden s e dann in verschiedenen Klassen model liert Auf diesen Klassendefinitionen kann eine Generalisierungshierar chie angelegt werden da sie ja alle auch Attribute und Methoden gemein sam haben An der Spitze dieser Hierarchie soll eine Klasse Fahrzeuge im Sinne von Fahrzeuge aller Art stehen mit den Attributen und Methoden die allen Fahrzeugen gemeinsam sind Die Subklassen dieser Klasse sollen hier PKW LKW Busse und Ket tenfahrzeuge sein Weitere w ren nat rlich denkbar Wie oben ange f hrt handelt es sich damit um ein Beispiel f r eine unvollst ndige ber deckung Die Subklasse PKW weist nun ebenfalls Subklassen auf f r die sie Su perklasse ist Limousinen Cabriolets Sportwagen Familienautos Die Klasse Familienautos ist dann noch weiter unterteilt in
12. Verwendete Fachbegriffe in Kapitel 11 0 basictrace model oo ealain S oo o calvet S oo continuation SS SSS ooo eecutionmodel EEE 17 EEE 0 interaction Tables _ o interactiontrcemcel _ ooo imvalidtraces S E timing diagrams trace validtraces Ereigniseintritt Ereignisauftre event occurrence ten Auftreten eines Ereignis ses Interaktionsoperator alternati interaction operator alternati ves alt ves alt assert assert break break Interaktionsoperator critical interaction operator critical region critical region critical Interaktionsoperator ignore interaction operator ignore consider ignore consider ignore Interaktionsoperator loop interaction operator loop loop loop Interaktionsoperator negative interaction operator negative neg neg Interaktionsoperator option interaction operator option opt opt Interaktionsoperator parallel interaction operator parallel par par Interaktionsoperator ref interaction operator ref Interaktionsoperator strict se interaction operator strict quencing strict sequencing strict 11 5 Sequenzen und Unternehmensmodellierung 267 Interaktionsoperator weak interaction operator weak sequencing seq sequencing seq Interaktions berblick interaction overview Interaktions berblicksdia interaction overview diagram gramm Verschmelzen Verschachteln interleaving von traces Zustandseinschr nkung st
13. berholen wie oben beschrieben bedeutet dann dass der eine Transportvorgang fr her gestartet wird aber sp ter fertig ist als ein anderer In der Standardprozessmodellierung ist dies nicht vorgesehen Der Grund liegt dar n dass die T tigkeiten mit ihren Ergebnisereignissen sequentiell angeordnet sind und dass es nur einen Kontrollfluss gibt In Sequenzdiagrammen ist dies anders Jede Lebenslinie hat ihre eigene Ablauffolge Hier in der jeweiligen sequentiellen Abfolge ist die Rei henfolge ebenfalls fixiert und ein Einwirken von oben nach unten oder umgekehrt ist nicht denkbar ber die Lebenslinien hinweg aber schon 11 5 Sequenzen und Unternehmensmodellierung 255 Soweit die wichtigsten ber die heutige Standardprozessmodellierung hinausweisenden Theorielemente Sie geben einen Hinweis und stellen eine Frage Der Hinweis ist der auf die Systemn he der Methode SD die Frage die ob hier nicht Hinweise gegeben werden f r eine Weiterent wicklung der Gesch ftsprozessmodellierung z B durch Einf hrung einer systemnahen Prozessmodellierung Dazu mehr in Abschnitt 11 5 8 zu zweiterem auch in Kapitel 14 11 5 4 Defizite in Hinblick auf Ablaufmodellierung Was fehlt beim typischen Sequenzdiagramm f r eine fundierte Prozess modellierung Bei genauer Betrachtung recht viel F r den Abgleich wurden die 10 Punkte von Abschnitt 15 3 Basiselemente einer Methode zur Prozessmodellierung hinzugezogen 1 Ele
14. in Aktivit ten also gar kein s chtbares Ereignis Ein Scheitern oder einfach nur alternative Er gebnisse sind nicht im Modell ausgedr ckt Vgl dazu die oben angef hr ten Beispiele Dies ist der Prozessmodellierung v llig fremd Hier sind sehr oft alter native Ergebnisse und auch ein Scheitern n der Modellierung vorgedacht Eine Ursache hierf r ist das Systemdenken Bei der Modellierung von Systemen ist die Detaillierung zwangsl ufig so gro dass sich weniger Verzweigungen ergeben und dass nicht bei jeder Aktion ein Scheitern angedacht wird Kein Oder Operator F r Aktivit tsdiagramme ist kein Oder Operator nicht exklusives ODER vorgesehen Das ist bedauerlich denn in der Prozessmodellierung wird dieser durchaus ben tigt D h die Semantik Mindestens eines der verkn pften Ereignisse mu eintreten damit es weitergeht oder Minde stens eine der verkn pften Funktionen mu realisiert werden kommt tats chlich vor Dieser Operator kann zwar durch eine Kombination von XODER und UND Operatoren ersetzt werden was aber umst ndlich ist Insofern ist das nicht exklusive ODER eine sinnvolle Erg nzung der Operatoren der Prozessmodellierung die hier aber fehlt Vgl zu den Hinweisen die dieses Fehlen gibt Abschnitt 10 11 und Kapitel 14 10 11 5 Grafische Gestaltung Es st nun mal so Eine Methode zur Prozessmodellierung muss auch eine Umsetzung der Modelle in Grafiken umfassen Die grafische Ums
15. Aussen gt Auszahlung Objekt Rechnung Rechnung erstellt Zustellung gelungen Rechnung als Offen deklarieren z Offen oats Abbildung 13 2 2 Zustands berg nge Transitionen Grafische Darstellung Ein Zustands bergangsdiagramm beginnt mit einem Startsymbol und Anfang und Ende endet mit einem Endesymbol oder mit mehreren Entsprechend befindet sich der Zustandsautomat als Ganzes im Anfangszustand initial pseudo state bzw im Schlusszustand final state Im Diagramm geht dann vom Anfangszustand genau ein Transitionspfeil aus beim Schlusszustand kommt mindestens einer an e Abbildung 13 2 3 Anfangszustand und Schlusszustand Grafische Darstellung Der Zustandsautomat als Ganzes wird 1 d R in ein Rechteck gepackt und mit seiner Bezeichnung beschriftet Vgl hierzu die folgenden Beispiele Kommt es nicht zu einem ordnungsgem en Ende bei den Zustands berg ngen des Zustandsautomaten wird auch das in der grafischen Dar stellung angegeben durch die Angabe eines Ausstiegspunktes exit point An diesem wird durch eine Beschriftung der Ausstieg spezifiziert abgebrochen Abbildung 13 2 4 Ausstiegspunkt Grafische Darstellung Weitere grafische Elemente spielen nur in der Vertiefung eine Rolle und werden dort vorgestellt 13 2 2 Zust nde Anmerkung Die Ausf hrungen dieses Abschnitts beziehen sich auf Verhaltenszustandsautomaten vgl zu Protokollzustandsauto maten Abschnitt 13 4 Abbruch D
16. Die Abbildung enth lt u a folgende Komponenten bzw Strukturmerkmale Zwei Aktivit tsenden Einen Startknoten Eine Gabelung Eine Verzweigung Eine Zusammenf hrung Au erdem eine R ckschleife Die beiden Knoten Aktivit tsende h tten auch zusammengefasst werden k nnen 10 11 Aktivit ten und Unternehmensmodellierung 10 11 1 Grunds tzliche Eignung Welchen Beitrag k nnen Aktivit ten zu einer Unternehmensmodellierung grunds tzlich leisten Die Antwort f llt leicht Nur einen f r die Model lierung von T tigkeitsfolgen f r die Ablauf bzw Prozessmodellierung Da aber sehr umfassend Dies f hrt automatisch zu einem Vergleich der Methode AD mit der Methode EPK als der klassischen Methode der Gesch ftsprozessmodel lierung Durch folgende Fragen und Betrachtungen soll deshalb hier die Eignung von Aktivit ten f r die Prozessmodellierung ausgeleuchtet wer den Welche Theorieelemente sind f r die Prozessmodellierung geeignet Welche weiteren Theorieelemente enthalten Potential f r eine Fort schreibung der Prozessmodellierung Welche Defizite liegen bez glich der Prozessmodellierung vor Wie steht es um die Qualit t der grafischen Gestaltung Wie steht es um die Verkn pfung mit der brigen objektorientierten Theorie Vergleich einiger Strukturmerkmale von Aktivit tsdiagrammen und Ereignisgesteuerten Prozessketten Direkte Gegen berstellung von Aktivit tsdiagrammen und Ereignis gesteuerten Proze
17. Extend Beziehung 276 Flussende 163 Generalisierungsbeziehung 80 Generalisierungsmenge 80 Gruppentransition 320 Include Beziehung 277 inline Interaktion 249 Instantiierung 20 Instanz 20 Interaktionseinschr nkung 230 Interaktionsoperand 230 Interaktionsoperator alternatives alt 233 Interaktionsoperator break 233 Interaktionsoperator critical region 234 Interaktionsoperator negative neg 234 Interaktionsoperator parallel merge 233 Interaktionsoperator strict sequencing 234 Interaktionsoperatoren 230 interleaving 227 Kapselung 26 Klassenattribute 21 Klassifikation 20 kombinierte Fragmente 229 Komposition 74 Kontrollfokus 220 LCA Zustand 322 Lebenszyklus eines Objekts 285 loop 236 Methoden klassenbezogene 21 Nachricht 94 Index der Definitionen Objektdiagramm 60 Objekte 13 Objektklasse 15 16 Objektknoten 134 Operationen 18 option opt 233 Pin 124 141 private f r Attribute und Methoden 25 protected f r Attribute und Methoden 25 Protokoll 94 Protokolltransition 323 Protokoll Zustandsautomat 286 public f r Attribute und Methoden 25 Realweltph nomene 11 Regionen eines Zustandsautomaten 297 Selbstransition 312 self object 175 send signal action 173 Standardprozessmodellierung 357 Startknoten 162 streaming 148 Strukturierte Aktivit tsknoten 152 Subklasse 77 subordinate units 127 Subzustand 298 Superklasse 77 synchroner Nachrichtenaustausch 101 Tr
18. Getr nk ausgeben einwerfen Abbildung 10 11 5 Fragment Getr nkeautomat als Aktivit tsdiagramm Getr nk Die im obigen Beispiel vorliegende Vereinigung entspricht dem UND Aktion Funktion Operator wie er in Ereignisgesteuerten Prozessketten verwendet wird positives Ergebnis Funktion Ereignis Funktion Scheitern 208 10 Aktivit ten Das Beispiel oben macht aber folgendes deutlich Im Vergleich mit EPKs ist eine Aktion hier gleich Funktion positivem Ergebnis Ereignis dort D h die UML Autoren fassen das eigentliche Geschehen n der Aktion mit dem positiven Ergebnis zusammen Dies r hrt daher weil sie grunds tzlich weniger Verzweigungen realisieren und dann wenn schon keine betrachtet werden nat rlich die positive Alternative genommen wird Die Methode EPK dagegen trennt dies ganz grunds tzlich Das Ge schehen in der Funktion ist getrennt von allen m glichen Ergebnissen Diese werden durch die ja zwangsweise von der Syntax erzwungenen nachfolgenden Ereignisse modelliert Obige Vereinigung w rde bei EPKs durch eine Folge von Funktionen und Ereignissen modelliert Die folgenden Abbildungen zeigen in zwei Varianten das obige Beispiel in EPK Notation Die erste Abbildung realisiert die beiden Aktionen parallel insgesamt eingebunden in ein durch zwei logische UND gebildetes Zeitfenster Diese L sung wird gew hlt wenn die Reihenfolge der T tigketien nicht beach
19. Grunds tzlich k nnte schon der Eindruck entstehen dass mit diesem Theorieelement Abl ufe evtl sogar Prozesse modelliert werden k nnen Denn es ist eigentlich vieles da was daf r ben tigt wird Beschreibung der Handelnden Klassen bzw Objekte verwaltete Informationen Ko operation zwecks gemeinsamer Aufgabenerledigung und ein wenn auch bescheidenes Kontrollflusskonzept In Gr ssle Baumann und Baumann 2000 wird die Bedeutung des Nachrichtenkonzeptes f r die objektorientierte Gesch ftsprozessmodellie rung betrachtet Sie bejahen diese und weisen darauf hin dass aus der Sicht der Prozessmodellierung die Parameter des Methodenaufrufs zu Gesch ftsobjekten S 85 werden Dann kann man sagen dass das Ge sch ftsobjekt zusammen mit der Nachricht bermittelt w rd Dies st aber h chstens f r sehr einfache und systemnah modellierte Gesch ftsprozesse denkbar Also zum Beispiel f r Prozesse die f r die Automatisierung vorgesehen sind F r wirkliche Gesch ftsprozesse taugt diese Methode nicht Denn Kommunikationsdiagramme sind zwar sehr aussagekr ftig aber nur im Kleinen und nur falls auf eine detaillierte Darstellung des Kontrollflusses verzichtet werden kann Z B auf Oder Verzweigungen denn diese sind nicht darstellbar Sie k nnten nur erfasst werden wenn jeweils eigene Abbildungen erstellt w rden Es empfiehlt sich bei Bedarf an kleinr umigen Betrachtungen auf Sequenzen vgl Kapitel 11 zur
20. Inhalt der folgenden Kapitel 114 8 Modellierung von Verhalten und Abl ufen von Klassen geworden die von der Klasse zur Verf gung gestellt werden Dann ist auch Einstellen eine solche Methode genauso wie K ndigen durch den Angestellten obwohl aus der Gesch ftsprozessperspektive ersteres mit dem Angestellten geschieht und nur zweiteres eine aktive Handlung eines Objekts darstellt Zur Verf gung gestellte Methoden k nnen aber egal welchen Hintergrund sie haben durchweg als das Verhalten der Klasse bzw ihrer Objekte aufgefasst werden Insgesamt machen sie das Gesamtverhalten die einzelnen Methoden die Verhaltensaspekte aus Die Antwort auf die zu Beginn dieser Anmerkung gestellte Frage ist daher dass die UML Autoren die Perspektive von Softwareentwicklern einnehmen und mit dieser ihr Theoriege b ude erstellen In den folgenden Kapiteln werden nun alle Konstrukte vorgestellt die die objektorientierte Theorie f r die Modellierung von Verhalten T tigkeits folgen anbietet Und dies in einer solchen Tiefe dass sie erstens verstan den und zweitens auf ihre Tauglichkeit f r die Modellierung von Ge sch ftsprozessen gepr ft werden k nnen Damit w rd dann auch gekl rt ob sie f r eine integrierte Unternehmensmodellierung taugen Betrachtet wird der objektorientierte Ansatz in seiner Auspr gung in der Unified Modeling Language UML Auch hier bei der Verhaltens modellierung haben die UML Auto
21. Wie immer in diesem Text AD Aktivit tsdiagramm EPK Ereignisgesteuerte Prozessketten Spezifizierung Objektfluss Kanten gewichtung Auswahl verhalten streaming Parameter knoten Unklarheiten W chter 200 10 Aktivit ten Aktivit tsdiagrammen Weiteres dazu findet sich in WebZumBuch _ UMOI Die strikte Trennung von Objekt und Kontrollfluss wie er f r Aktivi t tsdi agramme vorgesehen ist kann in Ereignisgesteuerten Prozessketten nicht realisiert werden Hier sind Objekte im Sinne von Gesch ftsobjek ten immer mit der Funktion T tigkeit verbunden bei der sie gelesen erzeugt ver ndert oder transportiert werden Eine Kantengewichtung bei Objektfl ssen vgl Abbildung 10 7 13 mit weight all ist in EPKs durch Spezifizierung der Funktion m glich berhaupt erweisen sich die Beschriftungen der Funktionen Ereignisse Organi sationseinheiten und Informationsobjekte als ein Werkzeug mit dem viel von den Modellaussagen bei Aktivit tsdiagrammen in Ereignis gesteuerten Prozessketten ausgedr ckt werden kann Ein Auswahlverhalten vgl das Beispiel in Abbildung 10 11 3 w re ebenfalls durch eine Funktion m glich Ein st ndiger Fluss von Objekten mit stream ist in EPKs sinnvoll nicht zu realisieren Das Grundkonzept ist hier die f r die Prozessmodel l erung bliche Vorstellung von sequentiell nacheinander ablaufenden elementaren T tigkeiten Ein streaming Konzept sprengt den Rahmen
22. ben in der Aktivit t erfassten Aktionen ablaufen Die Trennung zwischen Kontroll und Datenfl ssen ist strikt Alle Kanten die zu Objektknoten f hren oder weggehen m ssen Objektfluss kanten sein Es gibt unterschiedliche grafische Darstellungsformen f r Objektfl sse und Objektflusskanten Hier die erste Bei dieser werden die Kanten nicht direkt zwischen den beiden Aktionen oder subordinate behaviors ange ordnet sondern ber einen Objektknoten gef hrt der das zu transportie rende Objekt repr sentiert Die erste Kante f hrt von der ersten Aktion zum Objekt die zweite vom Objekt zur zweiten Aktion Beispiel Das Beispiel zeigt einen Objektknoten Auftrag im Objektfluss der Objek te der Klasse Auftr ge enth lt Die Aktion Auftrag ausf hren erzeugt ausgef hrte Auftr ge Auftrag versenden verbraucht diese Der Aufruf von Auftrag ausf hren muss beendet sein dann kann Auftrag versenden beginnen Weiter unten wird gezeigt wie diese Situation mit Pins und ihren Symbolen dargestellt wird 10 4 Aktivit tskanten 141 Auftra versenden Das folgende Modellfragment aus dem einf hrenden Beispiel zeigt deutlich die Absichten der UML Autoren mit diesem Konzept Die Akti on Rechnung senden bewirkt einen Transportvorgang des Objekts Rech nung vom Unternehmen zum Kunden der die Aktion Zahlung durch f hren anst t Abbildung 10 4 6 Objektflusskanten Zahlung durchf hren Abbildun
23. oo oo l else bar x l doitiz x bar 15 ee BIA SAE EELMA MAA AEE EMI Te ET ee T l i 182 Abbildung 11 4 8 Sequenzdiagramm Abstraktes Beispiel Quelle OMG 2003a S 414 Figure 333 Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Ein kombiniertes Fragment auf der Basis des Interaktionsoperator alt Den Interaktionsoperator alt Zwei Interaktionseinschr nkungen x gt 0 und else Zwei Interaktionsoperanden Ein Element zur Beendigung der Existenz einer Instanz stop Mehrere Ereigniseintritte Au erdem wird das Erzeugen eines Objektes 0b2 C2 in der Sequenz gezeigt Seine Exi stenz endet dann auch innerhalb der Sequenz wozu das Element Stop dient Interaktion Sequenzdiagramm M Das folgende ebenfalls abstrakte Beispiel zeigt wiederum ein Sequenz diagramm mit weiteren Komponenten Interaktionsoperator Der ignore Aspekt ist bei der Bezeichnung des Sequenzdiagramms ignore consider vermerkt und legt hier fest dass die Nachrichten t und r ignoriert werden Beim Interaktionsfragment consider st bei der Bezeichnung festgehalten dass die Nachrichtentypen q v und w betrachtet werden Nachrichten Motiv f r dieses Theorieelement sind Testsituationen OMG 2003a S ausklammern 442 Wenn ein System bei dem grunds tzlich im betrachteten Abschnitt die Nachrichtentypen q r t v und w vorkommen dahingehend getestet wird dass t und r ignoriert q v und w aber zugelas
24. 194 196 199 200 201 213 214 352 363 Gesch ftsprozesskarten 282 Gewichtung Aktivit tenkante Beispiel 160 Gewichtung bei Aktivit tskanten 138 Gleichheit vs Identit t 33 Grafische Darstellung accept event action 172 Aktion 122 Aktivit tsende 154 Antwort auf eine synchrone Nachricht 103 Assoziation dreistellig 41 Assoziation einstellig mit Raute 41 16 1 Allgemeiner Index 367 Assoziation zweistellig 40 Assoziation zweistellig mit Raute 40 Asynchrone Nachrichten 103 Ausstiegspunkt ZA 289 309 Auswahlknoten ZA 304 Beenden Knoten ZA 304 Classifier 35 Classifier mit Unterbereichen 36 decision input behavior 155 Einstiegspunkt ZA 309 Flussende 154 164 Gabelung 154 158 Interaktionsdiagramme 237 Klasse 21 Kontrollknoten 154 Objektknoten 135 Objektknoten f r Mengen 135 Objektknoten mit einer oberen Grenze 135 Objektknoten mit Signalcharakter 135 Objektknoten mit Sortierung 135 Objektknoten mit Zust nden 135 Objektzustand 134 Output Pin 125 send signal action Startknoten 154 162 Strichmensch 273 Synchrone Nachrichten 103 Transitionen 288 Vereinigung 154 59 Vereinigung mit Join Spezifikation 161 Verzweigung 154 155 wait time action 172 Zusammenf hrung 154 156 zusammengesetzter Zustand 297 Zustand 315 Grobmodellierung von Gesch ftsprozessen 110 174 348 354 355 358 Gruppentransitionen Definition 320 Hierarchischer Zustandsautomat 313 History Zustand voreingestellter Def
25. 229 11 4 4 Die Interaktionsoperatoren uuneeeeeeeseeennnnneneennnn 233 1 DB So a 1 1 VPRRPNERDRRIEEIRER E HIER EHERR 236 11 4 6 Interaktionen noch einmal 0 237 11 4 7 Verweise auf andere Sequenzdiagramme 238 11 4 8 Zustandseinschr nkung und Stop eee 239 12 13 Inhaltsverzeichnis XV 1149 Weitere Beispiele ae 240 11 4 10 Zeitaspekte und Interaktions berblicke 247 11 5 Sequenzen und Unternehmensmodellierung 251 Hak 211 122 e i 251 11 5 2 Theorieelemente f r die Prozessmodellierung 251 1153 Weitere Theomselehente ee 253 11 5 4 Defizite in Hinblick auf Ablaufmodellierung 255 11 5 5 Grafische Gestaltung uuunennnnnnnennnn 256 11 5 6 Verkn pfung mit der brigen objektorientierten TE SH ea ernennen 251 11 5 7 SD und EPK im direkten Vergleich 251 11 5 8 Zusammenfassung ueeeeeeeeeeeeeeeeeneeeeneeeeeeennnnnn 264 ANWENDUNGSF LLE uuunsssnsssnsnnnnannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 269 121 Eile nennen 269 122 1 Tate ee ee er 271 PA BEMO RERIREN EUER SUE E a 271 12 2 2 Anwendungsf lle im engeren Sinn 271 ARE ena Ni 27 12 3 Eint hrende Bere le jenen ee 274 124 Verl Kine een 276 124 1 Extend Beziehuns uuuu nuuenn en 276 124 2 Inchide BeZieh ne u ne 271 125 Bene Eeen a e a e ee 278 12 5 1 Systembeispiel Mahnwesen integriert
26. Abbildung 3 10 1 Assoziationsenden mit verschiedenen Erg nzungen Quelle OMG 2003a S 84 Figure 32 3 11 Objektdiagramme In einem Klassendiagramm sind die Klassen des Anwendungsbereichs zusammengestellt In manchen Situationen st es aber auch gew nscht einzelne Objekte und ihren jeweiligen Zustand die aktuellen Daten zu betrachten Dies ist m glich weil ein objektorientiertes Modell wie oben gesehen Daten widerspiegelt die als Attribute bzw deren Auspr gungen angelegt sind Betrachtet man deshalb ein objektorientiertes Modell zu einem be stimmten Zeitpunkt kann man den Zustand der Daten zu diesem Zeit Spezialisiert und spezialisierend Beispiele Von den Klassen zu Objekten Zustand der Daten zu einem bestimmten Zeitpunkt Abbildung mit Objekten Erg nzung des Grund instrumentariums 60 3 Assoziationen punkt feststellen Dazu ist es aber notwendig nicht die Klassen sondern einzelne Objekte Instanzen mit ihren Beziehungen untereinander zu betrachten Diese Beziehungen sind hier erst mal nur die Assoziationen sp ter kommen Generalisierung Spezialisierung vgl Kapitel 6 sowie Aggregation und Komposition vgl Kapitel 5 hinzu Eine solche Abbildung die dann als Knoten nur einzelne Objekte In stanzen enth lt wird Objektdiagramm oder Objektmodell genannt Es enth lt die ausgew hlten Objekte mit Assoziationen und die interessie rende Datenlage Die folgende Abbildung zeigt ein Beispie
27. Aufbau der Bezeichnungen von Attributen und Methoden Operationen 22 2 Objekte und Objektklassen Die folgende Abbildung zeigt einige Beispiele Angestellte MitarbProjekt Studierende 55107 Abbildung 2 4 1 Grafische Darstellung einer Objektklasse In der UML ist das auch die grafische Darstellung eines Classifiers der obersten Klasse in der Metamodellierung vgl WebZumBuch _UMO03 und Klassen sind davon abgeleitet Deshalb m sste eigentlich ber der Klassenbezeichnung das Schl sselwort class stehen Dieses wird bei Klassen aber weggelassen da wie die UML Autoren schreiben Klassen die am meisten genutzten Classifier sind So wird es auch hier gehalten Das Rechteck kann Unterbereiche haben f r die Attribute und Metho den Werden die Attribute hinzugenommen ergibt sich mit dem obigen Beispiel zu den Angestellten die Darstellung wie in der folgenden Abbil dung Die Attribute und Operationen werden textlich wie folgt angegeben S e werden in Normalschrift gesetzt und links ausgerichtet e S e werden klein geschrieben e Falls sie aus mehreren W rtern bestehen wird das zweite Wort mit einem Gro buchstaben begonnen und direkt an das erste angef gt F r ein evtl drittes Wort gilt entsprechendes Beispiele gehalt alter datumEinstellung Die Festlegung der Formatie rung und des Schriftformats ist in Abschnitt 1 5 angegeben Angestellte pershr integer name string Abbildung 2 4 2 Darstel
28. Ausstiegspunkt am Zustand ZA 307 Auswahlverhalten 147 182 Beendigung Subzustand 312 Bereiche f r interne Aktivit ten ZA 333 Datenspeicher 182 decision input 181 Eingangsaktivit t 318 Einstiegspunkt 319 326 333 Elementaraktionen 126 Else Ausgang Aktivit t 180 Ereigniseintritt 242 Extend Beziehung 277 Include Beziehung 278 Initialknoten ZA 312 Initialknoten in Regionen ZA 312 Inline Interaktionen 250 Interaktionsauftreten 239 250 Interaktionseinschr nkung 232 241 242 250 Interaktionsfragment assert 243 Interaktionsoperanden 232 233 242 247 Interaktionsoperator alt 242 Interaktionsoperator alternatives alt 232 233 247 Interaktionsoperator critical 235 Interaktionsoperator ignore consider 235 243 Interaktionsoperator opt 239 Interaktionsoperator parallel par 235 Interaktionsoperator ref 239 Interaktions berblick 250 Klassendiagramm 54 56 70 71 87 88 kombinierte Fragmente 232 233 235 242 247 Kombiniertes Fragment assert 243 Kontextklassifier T r 326 Kontrollfokus 222 225 233 247 Lebenslinien 222 225 233 247 Lokales Attribut SD 229 Nachrichten asynchron SD 228 229 Nachrichten synchron SD 222 225 233 247 Objekt mit Zustand 147 149 Objektdiagramm 60 Objektfluss 141 142 Objektknoten 137 160 Objektknoten im Objektfluss 150 151 Objektknoten vom Typ S gnal 160 Objektmodell Angestellte 49 Objektspezifizierung 147 orthogo
29. Gesch ftsprozesse Angebotserstellung Personaleinstellung haben kein Verhalten sondern sie beschreiben T tigkeiten die von Mensch oder Maschine Programm erledigt werden Auch einzelne Funktionen von Gesch ftsprozessen Kalkulation durchf hren Perso nalbogen ausf llen haben kein Verhalten sondern beschreiben kleinere eng zusammh ngende T tigkeiten Der Begriff Verhalten wird daher in den folgenden Abschnitten zwar benutzt aber nicht in der Ausschlie lichkeit wie es die UML Autoren tun Hier wird fters auch von T tigkeiten T tigkeitsfolgen Abl ufen oder eben auch Gesch ftsprozessen die Rede sein die vom jeweiligen Modell erfasst werden Exkurs Systemdenken Wie kommen die UML Autoren dazu die dynamischen Aspekte eines Anwendungsbereichs ganz unter den Begriff Verhalten zu packen Die Antwort findet man wie so oft bei der UML wenn man sich in die Situation eines Softwareentwicklers versetzt Bei dessen Arbeit sind die dynamischen Aspekte Angestellte k nnen eingestellt entlassen bef rdert und mit Geh ltern versehen werden zu Methoden Verhalten behavior T tigkeiten T tigkeitsfolgen Abl ufe Gesch ftsprozesse Inhalt der folgenden Kapitel 114 8 Modellierung von Verhalten und Abl ufen von Klassen geworden die von der Klasse zur Verf gung gestellt werden Dann ist auch Einstellen eine solche Methode genauso wie K ndigen du
30. Kerner und Horn 1997 S 270 Dies ist in der Standardprozessmodellierung nicht m glich bzw nicht n tig M glich st aber durch einen UND Operator parallele Verarbei tungsschritte anzufordern Die einzelnen Str nge werden dabei unabh n gig voneinander abgearbeitet bis sie zum Ende kommen Falls eine Zu Einfaches Ablaufmodell Nebenl ufigkeit Zeitfenster Transport von Informations objekten 254 11 Sequenzen sammenf hrung der getrennten Kontrollfl sse gew nscht st k nnte ein zweiter UND Operator eingesetzt werden vgl Staud 2006 Kapitel 4 Die folgende Abbildung zeigt ein Beispiel Datenbeitung testen Geldautomal in Bereilschafs zustand Selzen Abbildung 11 5 1 Parallelverarbeitung in Ereignisgesteuerten Prozessketten Statt von Parallelit t spricht der Verfasser bei einer solchen Struktur lie ber von einem Zeitfenster Erst wenn alle T tigkeiten zwischen den bei den UND Operatoren abgearbeitet sind geht es weiter Insofern ist diese Struktur in der Prozessmodellierung eher Ausdruck der Absicht sich um die Reihenfolge der T tigkeiten nicht k mmern zu m ssen als um wirkli che Parallelit t F r eine Standardprozessmodellierung reicht dies auch aus in einer Systemanalyse bedarf es der pr ziseren Fassung berholen einer Nachricht durch eine andere Einer Nachricht in Sequenzdiagrammen entspricht n der Prozessmodel lierung der Transport von Informationsobjekten Ein
31. Objekte mit ihren Klassen k nnen zusammenwirken z B durch den Austausch von Nachrichten wie oben gezeigt und man kann damit auch zielgerichtetes Handeln m Kleinen im System modellieren Es fehlt aber die berge ordnete Ebene die steuernde Hand des Kontrollflusses Daf r gibt es kein m Kern des objektorientierten Ansatzes integriertes Konzept und deshalb m ssen die oben beschriebenen dem objektorientierten Ansatz Bearbeitung von Informations objekten Wer In erster Linie Software engineering Kein Kontrollfluss in der objektorientierten Theorie berwindung Einzelprozesssicht Immer detaillierter und hin zur Automatisierung Verk rzter Abstand zwischen Prozess modellierung und Systemanalyse Automatisierung der Gesch ftsprozesse 352 14 Gesamteinsch tzung zum Teil aufgepfropften Konstrukte zur Beschreibung dynamischer Aspekte Aktivit tsdiagramme Sequenzdiagramme Zustandsautomaten hinzugef gt werden 14 2 2 Gesamtsicht Nicht direkt aber indirekt und implizit und da recht deutlich gibt die Methode AD und die UML insgesamt einen deutlichen Hinweis zur berwindung einer Einzelprozesssicht Diese ist in der Prozessmodellie rung immer noch die Regel und auch zu Recht Die Betrachtung von Einzelprozessen gen gte bisher vollkommen v a wenn die loose Kopp lung der Prozesse miteinander mitbedacht wurde Die Dinge ndern sich aber seit einigen Jahren Zum einen durch die
32. absolut gleich sind Eine solche Objektidentifikation wird auch als Surrogat surrogate bezeichnet Der Begriff soll andeuten dass die identifizierende Informati on Stellvertreter f r das Realweltobjekt ist Folgende Eigenschaften wer den f r Surrogaten definiert e _Unver nderbarkeit Ein einmal vergebener Wert bleibt unver ndert er wird nicht neu vergeben auch wenn das Objekt gel scht wird e _ rtsunabh ngigkeit Sie werden unabh ngig vom geografischen Speicherungsort und von der Speicherungsform vergeben Dies macht s e geeignet f r den referenzbasierten Aufbau von Beziehun gen zwischen Objektklassen vgl unten sowie Meier und W st 1997 S 16 Geppert 1997 S 2 Meier und W st weisen weiter darauf hin dass trotz der Existenz die ses Systemschl ssels andere benutzerbezogene Identifikations oder Zugriffsschl ssel eingerichtet werden k nnen Dies erfolgt ber die Attri bute z B Personalummern Produktnummern Kontonummern Artikel nummern usw Die entstehenden Attributskombinationen werden wertba sierte Suchschl ssel genannt Ein wertbasierter Suchschl ssel value based search key identifiziert ein bestimmtes Objekt aufgrund von Attri butwerten oder Attributwertkombinationen Meier und W st 1997 S 38 Seine Spezifizierung erfolgt durch den Zusatz Key in der Klassendefiniti on z B Key Personalnummer Objektidentifizierer Gleich und doch nicht identisch Surrogat Wer
33. der Instanz einer Klasse 7 4 Lebenslinien 99 Lebenslinie Abbildung 7 4 1 Grafische Darstellung einer Lebenslinie Diese Darstellung wird in Sequenzdiagrammen benutzt In den in diesem vgl Kapitel 11 Kapitel betrachteten Kommunikationsdiagrammen wird die gestrichelte Linie nicht ben tigt Im Rechteck wird also die Bezeichnung der Lebenslinie festgehalten Diese besteht aus einer Zeichenfolge die nacheinander folgende Elemen te enth lt e Bezeichnung des verkn pfbaren Elements so die Bezeichnung aller verkn pfbaren Elemente in der UML zu der auch die Lebenslinien geh ren e Eine Auswahl selector falls n tig vgl unten e Einen Doppelpunkt e Die Bezeichnung des Classifiers meist also die Bezeichnung der Klasse Handelt es sich bei den Lebenslinien um Instanzen Objekte einer Klas Instanzen als se wird die Bezeichnung unterstrichen wie es f r Instanzen blich ist Lebenslinien vgl Abschnitt 3 11 Beispiele e wire Wire left Bead r ght Bead aus Rumbaugh Jacobson und Booch 2005 S 243 Figure 14 64 e c Controller Cache aus Booch Rumbaugh und Jacobson 2006 S 259 Abbildung 16 4 e c Kunde p ODBCProxy aus Booch Rumbaugh und Jacobson 2006 S 295 Abbildung 19 1 L sst man die Bezeichnung des verkn pfbaren Elements weg entstehen Anonyme in Anlehnung an den Begriff der anonymen Objekte sog anonyme Le Lebenslinien benslinien Beispiele daf r e Controller Window Line aus
34. ftigung Lehrbetrieb Vollzeit Teilzeit besch ftigte besch ftigte Professoren i20 Abbildung 6 3 5 Generalisierung Spezialisierung Generalisierungsmengen durch Strichlinien Nehmen wir obige zwei Generalisierungsmengen und eine weitere die die Besch ftigten in Angestellte und Beamte Generalisierungsmenge Art Arbeitsverh ltnis unterteilt dann entsteht die folgende zusammengefass te Generalisierung Spezialisierung Die Objektklasse Personen ist drei fach unterteilt mit drei Generalisierungsmengen e Nach Art Arbeitsverh ltnis in Angestellte und Beamte e Nach Umfang Besch ftigung n Vollzeitbesch ftigte und Teilzeitbe sch ftigte e Nach Rolle im Lehrbetrieb in Professoren und Studierende AD V Studierende Angestellte Professoren Teilzeit besch ftigte Vollzeit besch ftigte Abbildung 6 3 6 Generalisierung Spezialisierung mit mehreren Generalisierungsmengen Es ist also m glich dieselbe Superklasse mehrfach zu spezialisieren mehreren Diskriminatoren auszusetzen und dies in einer Abbildung d h einem Modellelement zusammenzufassen Zu beachten ist dabei aber dass im Vergleich zu den Modellelementen wo jeweils nur eine Generalisierungsmenge vorliegt hier die Superklasse weniger gemeinsame Attribute und Methoden enth lt W hrend sie im einfachen Fall z B die Attribute enth lt die Vollzeit und Teilzeitbe sch ftigte gemeinsam haben hat sie hier jetzt nur die
35. fung Anforderungen Genehmigung Anforderungen Zuerst stream Festlegung PartModWorkflow Planung Part Mod Workflow Pr fung Arbeitsplan PartModWorkflow ausf hren Reihenfolge 184 10 Aktivit ten Pr fung Anforderungen und Genehmigung Anforderungen verbunden sind Der Designingenieur mu sozusagen die Festlegungen des Beschaf fungsingenierus absegnen Methodisch interessant sind die beiden Kan ten mit dem Zusatz stream Wie oben Abschnitt 10 5 4 ausgef hrt wurde bedeutet dies dass die Aktionen aktiv bleiben auch wenn sie schon gestartet wurden Hier stellen sich die UML Autoren also e n st n diges H n und Her von Pr fung und letztendlicher Absegnung der Anfor derungen vor Modelltechnisch liegt hier eine Unsch rfe in der Modellierung bzw Kl rungsbedarf vor Bevor es von Pr fung Anforderungen weiter geht zur konkreten Kl rung des weiteren Vorgehens hier Festlegung PartMod Workflow genannt muss die mit stream festgelegte kooperative Kl rung bis zur Genehmigung der Anforderungen vollst ndig abgeschlossen sein Es liegt also eigentlich eine Reihenfolge bei den Kanten vor die von Pr fung Anforderungen wegf hren Zuerst die Stream Kanten Hin und Zur ck dann der weitere Fortgang Dies ist im Modell nicht ersicht lich Das fortgesetzte Verhalten der Aktion muss ja sp testens dann sein Ende finden wenn es zur n chsten Aktion weitergeht Letztendlich wir
36. haben die Attribute rechnungsnummer rechnungsdatum usw Rech nungspositionen dagegen die Attribute positionsnummer artikelbezeich nung Menge einzelpreis und positionsgesamtpreis D h es entstehen Objekte die Rechnungsk pfen und andere Objekte die Rechnungsposi tionen entsprechen Bezeichnungen von Attributen und Methoden Operationen zu ihrem Aufbau vgl unten zur Formatierung Abschnitt 1 5 Wie sehen dies die UML Autoren und wie betten sie das Klassenkonzept Die Sicht der UML in ihr Theoriegeb ude ein Sie gehen aus vom Ziel einer Klasse das sie Autoren Classifier Sehr wichtig oft nicht beachtet Voreinstellung f r die Instantiierung Objektorientierte Modelle 16 2 Objekte und Objektklassen wie folgt definieren Eine Klasse soll eine Klassifizierung von Objekten leisten und die Struktur und Verhaltenseigenschaften dieser Objekte festlegen OMG 2003a S 87 Dies entspricht dem oben ausgef hrten F r die UML Autoren ist eine Klasse ein sog Classifier vgl Ab schnitt 2 8 4 und zwar einer der Attribute und Operationen hat OMG 2003a S 87 Die oben schon angef hrte strukturelle Gleichheit aller Objekte betont die folgende Definition Klasse Eine Klasse beschreibt eine Menge von Objekten die die selben Merkmale Einschr nkungen semantische Integri t tsbedingungen und dieselbe Semantik besitzen OMG 2003a S 86 bersetzung durch den Verfasser Womit sie dann das Ziel einer Klasse
37. hrt Zum anderen durch das Zusammenwirken ber verschachtelte Elemente Die Frage des Zusammenwirkens von T tigkeitsfolgen verschiedener Ebenen ist gr ndlich gel st vgl die Diskussion um orthogonale Regio nen usw oben Wenn also eine Aufgabe in sich strukturiert ist gibt es einen Subautomaten und auch dieser kann wiederum strukturiert sein d h einen Automaten enthalten Dieses Strukturmerkmal ist f r die Gesch ftsprozessmodellierung s nnvoll Mit den obigen Punkten ist eine einfache Realisierung eines Kontrollflusses wie er f r Gesch ftsprozesse ben tigt wird m glich Trotz dieser grunds tzlichen Eignung gibt es auch Defizite Was Zu standsautomaten zum Beispiel nicht bieten sind quivalente Operatoren Im Kernbereich wenn es nicht um orthogonale Regionen geht die durch Transitionen parallel gestartet werden wird nur das exklusive Oder ange boten D h ein Zustand geht aus einer Auswahl immer zu genau einem neuen Zustand ber Das ist naheliegend f r das Zustandskonzept damit auch ein St ck weit f r Systeme aber nicht f r Gesch ftsprozesse Informations verarbeitung in Anfangs Zustands Schlussaktivit ten Aufeinanderfolgen Tiefenstruktur Defizit Wenig Verzweigung m glichkeiten Kein UND oder doch L nge nicht Tiefe Hindernis Lebenszyklus 338 13 Zustandsautomaten Dass es im Kernbereich keinen UND Operator gibt berrascht nat r lich nicht Ein Zustand kann nicht
38. nnische und gewerbliche Damit liegen dann jeweils drei Generalisierungsebenen vor Weitergeben von Attributen und Methoden 88 6 Generalisierung Spezialisierung Mit der Unterteilung der Angestellten ohne F hrungsaufgaben in Ent wickler Programmierer und sonstige Angestellte liegen bei den Ange stellten sogar vier Ebenen vor Wie schon ausgef hrt h tte eine solche Unterteilung nur Sinn wenn in den Spezialisierungen jeweils spezifische Attribute vorl gen Mehr als n der Generalisierung und teilweise andere als in den anderen Spezialisie rungen derselben Ebene L Auszubil A A E Arbeiter d U Kaufm nnische eiarbeiter Auszubildende Angestellte F hrungs oF personal n Program Sonstige aiti Abbildung 6 5 2 Generalisierung Spezialisierung mit mehreren Generalisierungsmengen und in mehreren Ebenen Das obige Klassendiagramm enth lt u a folgende Komponenten Mehrere Generalisierungen Spezialisierungen Mehrere mehrstufige Generalisierungen Spezialisierungen Au erdem zahlreiche vollst ndige berdeckungen 6 6 Vererbung Mithilfe der Baumstruktur die eine Generalisierung Spezialisierung darstellt kann nun ein zentrales Element des objektorientierten Ansatzes eingef hrt werden die Vererbung Durch sie enth lt jede Superklasse die Attribute und Methoden die alle ihre Subklassen gemeinsam haben Jede Subklasse wiederum erg nzt ihre spezifischen Attribute un
39. public display hide private attachX x W in X Window Abbildung 2 5 1 Darstellung von Klassen in der UML Gruppierung nach Sichtbarkeit Quelle OMG 2003a S 89 Figure 38 00133 Statt der Begriffe public protected und private k nnen auch die in der folgenden Abbildung angegebenen Zeichen und benutzt werden Gesch tzte Attribute Kapselung Kapselung in objektorientierten Modellen Information hidding 26 2 Objekte und Objektklassen size Area 100 100 visibility Boolean true defaultSize Rectangle XWin XWindow display hide attachX xWin XWindow 00138 Abbildung 2 5 2 Darstellung von Klassen in der UML Gruppierung nach Sichtbarkeit Quelle OMG 2003a S 88 Figure 37 2 6 Kapselung Es geh rt zu den Grundmerkmalen objektorientierter Modelle dass Attri bute vor direkten Zugriffen gesch tzt sind Normalerweise kann auf ihre Auspr gungen nicht direkt zugegriffen werden so wie z B in Relationa len Datenbanken sondern nur ber die Methoden die f r die Objekte definiert sind Dies wird als Kapselung encapsulation bezeichnet Ganz wird dieses Prinzip allerdings n cht durchgehalten So erlauben objektorientierte Da tenbanksysteme meist den direkten Zugriff auf die Attr butsauspr gun gen z B zum Zwecke der Abfrage Geleistet wird durch die Kapselung folgendes Die Datenstrukturen die Objekte und Beziehungen repr sentieren
40. sein die den Zustandsautomat von einer Zustandskonfiguration in eine andere bringt und die damit die vollst ndige Antwort des Zustandsautomaten auf ein bestimmtes Ereignis darstellt Auch hier gibt es W chter die das Aktivieren der Transition berwa chen Der W chter kommt zum Einsatz wenn ein Ereignis durch den Zustandsautomaten ausgel st wird Ergibt die Pr fung den Wahrheitswert wahr wird die Transition aktiviert ansonsten wird sie nicht ausgef hrt W chter d rfen keine Seiteneffekte haben Der Quellknoten einer Transition kann ein Zustand oder ein Pseudozu stand sein Folgende Einschr nkungen gelten vgl OMG 2003a Seite 498f dort finden sich auch textlich ausformulierte Beispiele e Eine Gabelung oder eine Verkn pfung darf keine W chter oder Trig ger haben e Eine Gabelung muss immer zu einem Zustand f hren e Ein Verkn pfer muss immer von einem Zustand kommen e Trans tionen die von einem Pseudozustand ausgehen d rfen keine Trigger haben e Eine Starttransition auf der obersten Ebene Region eines Zustands automaten hat entweder keinen Trigger oder einen der Form create Gruppentransitionen Transitionen die von zusammengesetzten Zust nden composite states herr hren werden Gruppentransitionen group transitions genannt Wenn sie ausgel st sind verlassen sie die Subzust nde des zusammenge setzten Zustandes in dem sie ihre Schlussaktivit ten ausf hren Dies be ginnt mit den innersten Zu
41. stream bei dem Parameterknoten Material f r Produkti on bedeutet vgl oben dass es einen st ndigen Fluss von Produktions material gibt wodurch die st ndig weitergehende Herstellung von Plat nen gespeist wird Die Festlegung einer Ausnahme verlangt ja mindestens zwei Kanten wovon dann eine die Kennzeichnung als Ausnahme erh lt Im folgenden Beispiel beschreibt die eine Kante das Standardergebnis das zu Compu tern ohne Fehler f hrt Der andere Parameterknoten repr sentiert das Ausnahmeergebnis dass ein Computer fehlerhaft ist Dies wird durch ein 10 4 Aktivit tskanten 151 Dreieck festgehalten Auch der entsprechende Output Parameterknoten wird so markiert Defekte Computer Computer zusammen bauen Material f r Produktion Computer testen Herstellung Platinen Gr Fehlerfreie Computer ERDE Abbildung 10 4 24 Aktivit t Computerbau Parameterknoten mit streaming und Ausnahmen Quelle Leicht ver ndert nach OMG 2003a Figure 222 S 306 bersetzung durch den Verfasser Die obige Abbildung enth lt ein Aktivit tsdiagramm mit folgenden Komponenten Einen Parameterknoten mit streaming Eine Ausnahmeanmerkung s Mehrere Objektknoten im Objektfluss Au erdem eine Verzweigung mit exklusivem Oder ohne Operatorsymbol 10 4 6 Abgrenzung zwischen den Kantenarten Die UML Autoren betonen die Abgrenzung von Kontroll und Objekt Am Anfang war der fluss sehr
42. tzlich wird n dieser Branche ein Kaufvorgang als zweistufig angesehen Zuerst erfolgt eine Voranfrage die den Beschaffungswunsch grob umreisst Nach deren Beantwortung wird im zweiten Schritt die detailliertere und aufw ndigere Anfrage formuliert Ansonsten n mmt diese Kaufabwicklung den blichen Gang Alle T tigkeiten beim Kunden und beim Lieferanten werden durch e1 nen Kontrollfokus dargestellt an dessen Ende die Nachrichten bermitt lung durch die Pfeillinie dargestellt ist Der Gesch ftsprozess beginnt damit dass beim Kunden eine Voran frage vorbereitet wird vgl den obersten Kontrollfokus Wenn dies ge schehen ist erfolgt die Nachrichten bermittlung Beim potentiellen Lieferanten st t dies die T tigkeit Voranfrageant wort erstellen an die wiederum mit einer Nachricht endet dem bersen den der Voranfrageantwort Auf der Basis dieser Antwort wird dann beim Kunden eine Anfrage er arbeitet im Sequenzdiagramm wiederum durch den Kontrollfokus ausge dr ckt Am Ende dieser Bem hungen wird die Anfrage an den Lieferan ten geschickt hier modelliert als Nachricht Anfrage senden Element bezeichnungen Kunde und Lieferant Start des Gesch ftsprozesses Auftrag senden Verzweigungen Auftragsbest tigung senden Liefermitteilung Lieferung pr fen Eingang best tigen Rechnung senden Zahlung 224 11 Sequenzen Der n chste Kontrollfokus gibt nun an dass der Kunde das Angebot entgegennimmt und
43. 13 Zustandsautomaten Objektorientierte Unternehmens 14 Gesamteinsch tzung modellierung ons Abbildung Struktur und Verhalten bzw Statik und Dynamik in der objektorientierten Theorie und in den Kapiteln des Buches Innerer Aufbau der einzelnen Kapitel Die einzelnen Kapitel s nd so gestaltet dass n den ersten Abschnitten das Basiswissen Basiswissen zum jeweiligen Gegenstand vorgestellt wird Etwa so wie es Vertiefung in einem Bachelor Studiengang zu vermitteln st Es folgen dann Ab schnitte die mit Vertiefung bezeichnet sind Sie enthalten Themen die nach den Erfahrungen des Verfassers in weiterf hrenden Studieng ngen z B in Masterstudieng ngen vermittelt werden k nnen Ihre Bearbeitung w rde den zeitlichen Umfang der in Bachelorstudieng ngen zur Verf gung steht sprengen Bei den Kapiteln zu Strukturen ist in der Regel fast der gesamte Text im Grundlagenteil Bei denen zu Verhalten nicht Eine Ausnahme stellt Kapitel 10 zu den Aktivit ten dar Hier sollte wegen der Bedeutung dieses Themas f r die Wirtschaftsinformatik in einer Bachelorveranstal tung das gesamte Kapitel besprochen werden Weggelassen werden kann das Tokenkonzept das im ganzen Kapitel immer wieder angesprochen wird Die Abschnitte mit den Beispielen sind wiederum f r alle von Interesse Viele System und je nach Kenntnisstand Es wurden bewusst viele Beispiele eingef gt Prozessbeispiele Stic
44. 162 Starttransition 319 stop sd Beispiel 242 stream 148 Beispiel 186 streaming 137 Beispiel 143 149 Definition 148 streaming mit Pins Beispiel 149 streaming Konzept 177 Strichmensch Grafische Darstellung 273 Struktur Verhalten VI Strukturierte Aktivit tsknoten 16 1 Allgemeiner Index 371 Definition 152 Strukturierter Aktivit tsknoten 175 subject 194 Sprachgebrauch in der UML 270 Subklasse 78 Definition 77 subordinate units Definition 127 Subzustand Definition 298 Subzust nde Beispiel 299 Superklasse 78 Definition 77 Surrogat 33 Synchrone Nachrichten Grafische Darstellung 103 synchroner Nachrichtenaustausch Definition 101 Systemdenken vs Prozessdenken 197 349 systemnahe Prozessmodellierung 109 110 214 253 255 265 342 348 354 355 357 358 363 Systemorientierung 127 192 195 196 197 201 213 336 342 348 350 Teil_von Beziehung 73 time event 172 Timer Aktivit t Beispiel 189 Token 118 159 Definition 119 Token in der Informatik 118 Token Konzept 178 Transition Beispiel 294 296 307 333 Definition 287 interne 321 Transition zu Subzustandsautomat Beispiel 319 Transitionen Beispiel 331 Grafische Darstellung 288 berblicksnotation 110 berdeckung Beispiel 87 Beispiel Besch ftigte 88 berholen Nachrichten in SDn 247 berholen einer Nachricht SD Beispiel 229 248 Und Operator 372 16 Indexierung Definition 362 Ursache f r Kontrollflussdefizit 351 use cases 269 V
45. 3 Vertiefung 13 3 1 Strukturierte Knoten Ausgehend von der grunds tzlichen Definition Ein Zustandsautomat ist ein Graph und der Tatsache dass Graphen Knoten haben k nnen die Zust nde in Zustands bergangsdiagrammen als Knoten bezeichnet wer den Dieser Begriff ist notwendig weil es a verschiedene andere Knoten in Zustandsautomaten gibt und b ein Zustand hier nicht nur ein einfacher Zustand sondern wie oben schon gezeigt ein tief strukturiertes Gebil de sein kann Folgende Zustandstypen werden in der UML unterschieden e einfacher Zustand simple state e zusammengesetzter Zustand composite state mit den Untertypen einfacher zusammengesetzter Zustand simple composite state und orthogonaler Zustand orthogonal state e Zustand der einen Zustandsautomaten enth lt submachine state Regionen Liegt eine Untergliederung eines Zustandes oder Zustandsautomaten vor nennt man die einzelnen Bereiche Regionen Sie enthalten ebenfalls Zu st nde und Trans tionen Der Zustand insgesamt wird durch die Bildung von Regionen zu einem zusammengesetzten Zustand composite state Die Regionen werden auch als orthogonal part bezeichnet Der Be griff orthogonal bedeutet hier dass jede Region eine Menge von Kno ten und Transitionen hat die sich gegenseitig nicht berschneiden die also voneinander unabh ngig s nd Die Aufteilung eines Zustandes oder eines Zustandsautomaten in Re gionen wird g
46. 4 Token In Abschnitt 8 6 wurde das Token Konzept grunds tzlich eingef hrt danach wurde es fters bei anderen Theorieelementen thematisiert jetzt kann es erg nzend beschrieben werden Ein Knoten node in einem Aktivit tsdiagramm ist immer etwas dy namisches da er ja aus einer subordinate unit oder gleich aus Aktivit ten besteht Ihn zu aktivieren hei t Aktionen auszul sen Er beginnt mit der Ausf hrung wenn bestimmte Bedingungen auf seinen Inputtoken erf llt sind Die m glichen Arten von Bedingungen h ngen von der Art des Knotens ab Wenn der Knoten mit der Ausf hrung beginnt werden Token von seinen Inputkanten von einigen oder auch allen akzeptiert und der Token ist dem Knoten zugeordnet Wenn dann ein Knoten die Ausf hrung beendet wird ein Token von dem Knoten entfernt und einigen oder allen seinen Outputkanten werden Token angeboten OMG 2003a S 284 In Zusammenhang mit der Semantik des Operators Vereinigung findet sich folgende Beschreibung die den Umgang mit Kontrolltoken kl rt If all the tokens offered on the incoming edges are control tokens then one control token is offered on the outgoing edge OMG 2003a S 339 So kann man die Semantik dieses Operators treffend beschreiben In Bezug auf die Startknoten gilt Wenn die Aktivit t gestartet wird wird dem Startknoten ein Kontrolltoken zugeordnet Dieser w rd dann allen abgehenden Kanten angeboten OMG 2003a S 335 Hat eine
47. 5 Beispiele von Verhaltenszustandsautomaten 329 Rechnung ist zurusielien stellung gescheitert Status Acht zuwfeilbar setzen Nicht zustellbar Zahlung ist abzubuchen _ Eahikung Komet Salus Rockbuchbar berahi setzen 21 Tage vergangen Zahlung nicht erlsigt Lastschrift verwexgert Kein ZE nach 21 Tagen und KS Minus Sachs Wochen vergangen k ine R ckbuchung Rechnungsstatus aul Sarai andern Abk rzungen ZA Zahlungsart KS Kundenstatus ZE Zahlungseingang Abbildung 13 5 1 Zustands bergangsdiagramm Rechnung mittelgro Vgl die Varianten dieses Zustands bergangsdiagramms in den Abbildungen 13 2 6 einfach und 13 5 2 umfassend 13 5 2 Prozessbeispiel Rechnung umfassend Baut man das Beispiel noch etwas aus indem man die m glichen Wider spr che von Kunden einbaut was ja f r die Gesch ftsprozesse eines Un ternehmens von gro er Bedeutung ist erh lt man das Zustandsdiagramm Neuer Zustand in Widerspruch Wege zum Zustand Widerspruch 330 13 Zustandsautomaten der folgenden Abbildung Hier wird ein neuer Zustand der Rechnung in Widerspruch eingef hrt und in die Zustands bergang eingebaut Die Abbildung zeigt auch die Grenzen der grafischen Darstellbarkeit von Zustandsautomaten auf Widerspr che Wird in einem der Zust nde Offen Zahlungserinnerung 2 Erinnerung 1 Mahnung oder 2 Mahnung ein Widerspruch gegen die Rechnung erhoben wechselt sie in den
48. Abl ufe Gesch ftsprozesse wurde per Systemanalyse in Modelle umge setzt die Gesch ftsprozesse wurden nicht oder getrennt betrachtet Mit der objektorientierten Theorie wurde dies etwas anders Es werden zwar structure und behavior wie die US amerikanische Literatur es nennt immer noch getrennt mit der Einbindung von Methoden bei den Klassen s nd diese aber auch gleich mit wichtigen Aspekten von Dynamik ausgestattet So dass wir hier bez glich der Thematik Struktur Verhal ten folgende Situation haben e Modellierung der Strukturen durch Klassen mit ihren Attributen hier in den Kapiteln 2 6 e Modellierung der Dynamik Stufe 1 durch Methoden Operationen in den Klassen hier in Kapitel 7 In der Abbildung unten mit Nach richtenverkehr bezeichnet e Modellierung Dynamik Stufe 2 durch die UML Theorieelemente f r die Verhaltensmodellierung hier in den Kapiteln 9 13 Die folgende Abbildung gibt den daraus folgenden Aufbau der inhaltl chen Kapitel des Buches an Vorwort VII 2 Objekte und Objektklassen 3 Assoziationen Statik Modellierung 4 Assoziationsklassen von Informations strukturen i un 5 Aggregation und Komposition 6 Generalis Spezialisierung Dynamik 1 Nachrichtenverkehr _ 7 Nachrichtenverkehr Methodenaufruf Objekt orientierte 9 Aktionen Theorie 10 Aktivit ten Dynamik 2 Modellierung von Verhalten Abl ufen euere Gesch ftsprozessen 12 Anwendungsf lle
49. Angestellte m ller Angestellte Ist die Benennung eines bestimmten Objekts nicht wichtig nicht sinnvoll oder nicht m glich wird die Objektbezeichnung weggelassen Angestellte Im Vergleich zur Darstellung von Klassen werden hier statt der Attribute mit ihren Datentypen die Attributsbezeichnungen und Attributsauspr gungen angegeben Statt konkreter Werte bei den Attributsauspr gungen k nnen auch Wertebereiche angegeben werden anonymes Objekt Grafische Darstellung 24 2 Objekte und Objektklassen Die folgende Abbildung zeigt die grafische Darstellung jektbez klassenbe atfributsbez attributsauspr gung Abbildung 2 4 4 Darstellung eines Objekts in Objektdiagrammen Der Ausdruck Objektbezeichnung Klassenbezeichnung wird nicht fett gesetzt Die ganze Bezeichnung wird unterstrichen Folgende Abbildun gen mit dem Beispiel der Klasse Angestellte und dem Objekt Widmer m gen dies illustrieren Die erste Abbildung zeigt die am h ufigsten vorkommende Notation volle Bezeichnung ohne Attribute mer Angestellt Abbildung 2 4 5 Grafische Darstellung von Objekten Instanzen ohne Attribute In manchen Situationen ist es nicht nur sinnvoll das Objekt zu benennen sondern auch einige seiner Attribute Dann werden diese in einem zweiten Bereich angegeben Die Liste der Attribute muss nicht vollst ndig sein sondern kann s ch auf die konzentrieren die f r die jeweilige Analyse von Bedeutung sind name W
50. Auftragsab wicklung oder im Sinne von Systemverhalten Karte einziehen Karte pr fen usw Die UML Autoren geben im Text und in den Beispielen zahlreiche Hinweise darauf an welche Arten von T tigkeitsfolgen sie denken OMG 2003a S 284 e Aktivit ten k nnen prozedurale Programmstrukturen beschreiben Dann sind sie Methoden die zu bestimmten Operationen von Klassen geh ren e Aktivit ten k nnen Gesch ftsprozesse beschreiben im Rahmen der Gesch ftsprozessanalyse und im Rahmen der Vorgangsbearbeitung workflow Dass die UML Autoren hier tats chlich an Gesch fts prozesse denken wird deutlich wenn sie darauf hinweisen dass Er eignisse hier oft interne sein k nnen z B die Beendigung einer Auf gabe aber auch externe z B der Anruf eines Kunden e Aktivit ten k nnen auch bei der Modellierung von Informationssy stemen benutzt werden um unterschiedliche system level proces ses festzulegen Aktivit ten vs Aktionen Der Zusammenhang zwischen Aktionen und Aktivit ten sollte oben klar geworden sein Die UML Autoren fassen ihn wie folgt zusammen OMG 2003a S 283 e Fine Aktion stellt einen einzelnen Schritt in einer Aktivit t dar der in dieser Aktivit t nicht st rker unterteilt wird e Fine Aktivit t repr sentiert Verhalten das aus einzelnen Elementen besteht die Aktionen sind e Fine Aktion ist einfach aus der Sicht der Aktivit t in der sie enthal ten ist Sie kann aber komplex in i
51. Da setzt dieses Buch ein Es widmet sich der Frage W e kann eine zeitgem e Unternehmensmodellierung in all ihren Komponenten insbesondere Daten und Prozess modellierung unter Einbeziehung effizienter klassischer und objektorientierter Theorieelemente aussehen Insbesondere wird eine Antwort auf die Frage gesucht n welchem Um fang sie objektorientiert sein kann bzw ob der Anspruch der UML Autoren mit ihrem Theorievorschlag die Gesamtheit der Unternehmens modellierung insbesondere auch die Prozessmodellierung abdecken zu k nnen tats chlich begr ndet ist Um dies zu erreichen umfasst das Buch folgende Inhalte e Eine Einf hrung in die objektorientierte Theorie so wie sie inzwi schen in der UML 2 0 formuliert wurde umfassend ohne Ausspa rungen und in voller Tiefe e Eine Hinterfragung aller Theoriekomponenten der UML 2 0 auf ihre Tauglichkeit f r die Unternehmensmodellierung insbesondere die Prozessmodellierung e In fast allen Kapiteln eine Diskussion des wirklichen oder scheinba ren Gegensatzes System Prozess Auch in den Beispielen Hier werden die in einem solchen Text sowieso immer vorhandenen Sy stembeispiele Beispiele die eher auf Systeme zielen z B Geldau tomaten erg nzt um typische Prozessbeispiele e Einen Vergleich der Methode EPK als einer Auspr gung klassi scher Prozessmodellierung mit den entsprechenden objektorientier ten Vorschl gen Ein weites Feld
52. Daten und Prozess modellierung Unternehmens modellierung heute Objektorientiert Informations strukturen Wo ist ooERP Struktur Verhalten Statische und dynamische Aspekte des Anwendungs bereichs VI Vorwort Dass die objektorientierte Theorie grunds tzlich geeignet ist Strukturen im Sinne von Informationsstrukturen die zu Datenbanken f hren zu modellieren wird hier vorausgesetzt Deshalb f llt die Betrachtung beim Vergleich klassisch vs objektorientiert oft auf die Betrachtung der Prozessmodellierung zur ck Auch ihre Eignung f r die Systemanalyse und Vorbereitung der Programmrealisierung wird hier vorausgesetzt Doch k nnen auch hier Fragen gestellt werden Z B die wieso diesbe z glich die auf dem Markt befindlichen wichtigen Softwareprodukte nicht objektorientiert sind wieso also keine solche ERP Software mit objekt orientierter Datenbank und objektorientierter Programmierung existiert Aufbau des Buches Im Groben geht es in der Unternehmensmodellierung also um zwei Be reiche zum einen um die Modellierung von Strukturen 1 w um das informationelle Abbild des Unternehmens zum anderen um die Model lierung von Verhalten Abl ufen Verhalten Gesch ftsprozessen usw In den Ans tzen vor der Objektorientierung war die Aufteilung recht klar und einfach Die Strukturen waren informationelle Strukturen und wurden per Datenmodellierung bew ltigt Die Dynam k Verhalten
53. Einschr nkungen gelten e Ein Protokollzustandsautomat darf nur einen Kontextclassifier haben keinen Verhaltenskontext behavioral feature context Den letztge nannten haben dagegen die Verhaltenszustandsautomaten e Alle Transitionen von Protokollzustandsautomaten m ssen Protokoll transitionen sein Protokollzustandsautomaten helfen die Einsatzm glichkeiten der Opera tionen eines Classifiers und die Aufgaben f r die ein Classifier geeignet ist zu definieren indem sie folgendes festlegen e in welchem Kontext unter welchen Zust nden und Vorbedingungen die Operationen genutzt werden k nnen e ob es eine protocol order zwischen ihnen gibt e welches Ergebnis aus ihrem Einsatz erwartet wird Die Nutzung von Vor und Nachbedingungen bei Operationen ist eine Technik die sehr gut geeignet ist solche Festlegungen zu treffen Jedoch werden sie auf der Ebene der Operationen definiert und liefern daher keinen geschlossenen berblick auf der Classifierebene Es kann sein dass Protokollzustandsautomaten nicht alle Vor und Nachbedingungen von Operationen ausdr cken k nnen In diesem Fall k nnen zus tzliche Bedingungen auf der Operationenebene hinzugef gt werden Formal geschieht dann folgendes Die Vorbedingung einer Ope ration wird zu den Bedingungen die von dem Protokollzustandsautoma 37 Vgl zum Konzept des Classifier Abschnitt 2 8 4 sowie WebZumBuch UMO03 13 4 Protokollzustandsautomaten 325 ten abgeleitet wu
54. Ereignis Es wurde oben schon ausgef hrt Die Sequenzdiagramme weisen nur wenige Verzweigungen auf und deren Realisierung durch die kombinier ten Fragmente ist m hsam und nicht effizient Sequenzdiagramme in der Praxis sind meist recht arm an Verzweigungen Dies passt nicht zur Prozessmodellierung Hier wird deutlich mehr an Verzweigungen modelliert detaillierter also mehr beim positiven Dur gang und mehr bzgl St rungen Denn St rungen Kunde akzeptiert Angebot nicht Kalkulation gelingt nicht usw sind in Gesch ftsprozes sen etwas allt gliches Um sie geht es sogar oft haupts chlich z B m Rahmen der Gesch ftsprozessoptimierung Um dies zu verdeutlichen wurde deshalb hier bei der n chsten Funkti on Voranfrage auswerten Kontrollfokus Voranfrageantwort erstellen eine prozesstypische Verzweigung die auf einer St rung basiert einge baut Es wurde angenommen dass die Auswertung der Voranfrage zur Ablehnung f hren kann der potentielle Kunde m chte Unm gliches zur Bitte um Verhandlungen oder gleich zur Akzeptanz Damit erg be sich dann eine prozesstypische Verzweigung Hier wurden die Alternativen allerdings nicht weiter verfolgt Die Verzweigung die auch im Sequenzdiagramm eingebaut ist wird weiter unten gezeigt Die folgende Abbildung 11 5 4 Teil 2 zeigt den weiteren Ablauf bis zur Erstellung des Angebots Hier bleibt es beim einfachen sequentiellen Ablauf so wie er durch das Sequenzdiagramm angeg
55. Figure 377 Angenommen alle W chter mit Triggern von Trans tionen die von einem Auswahlknoten wegf hren sind bin re Ausdr cke mit einem gemeinsa men linken Operanden dann kann die Darstellung vereinfacht werden Dann kommt der linke Operand in das rautenf rmige Symbol und der jeweilige Rest des W chter Ausdrucks auf die wegf hrende Transition I lt 10 Abbildung 13 3 8 Grafische Darstellung von Auswahlknoten Quelle OMG 2003a Seite 474 Figure 377 Beenden Knoten Das Erreichen eines Pseudozustandes vom Typ Beenden terminate be deutet dass die Ausf hrung des Zustandsautomaten beendet wird Ein solcher Pseudozustand wird als Kreuz dargestellt X Abbildung 13 3 9 Grafische Darstellung eines Knotens vom Typ Beenden Quelle OMG 2003a Seite 473 13 3 Vertiefung 305 Der Pseudozustand Ausstiegspunkt wird am Ende des n chsten Abschnitts erl utert 13 3 3 Zustandsautomaten im Zustand Anmerkung Die Ausf hrungen dieses Abschnitts betreffen nur die Verhaltenszustandsautomaten Oben wurde schon gezeigt dass Zust nde nicht einfach Zust nde s nd im umgangssprachlichen Sinn sondern dass sie T tigkeiten bzw T tigkeits folgen enthalten k nnen die den jeweiligen Zustand realisieren In die sem Abschnitt gehen wir nun noch einen Schritt weiter und betrachten ein Konstrukt das erlaubt ganze Zustandsautomaten in einen Zustand einzu betten Es geht also um verschachtelte Strukturen Genauer um
56. Funktionsmodellierung dargestellt wurde Aussagekr ftiger st allerdings wenn zwischen den n den einzelnen Ebenen gekapselten T tigkeitsfolgen Beziehungen vorliegen so dass klar ist welche T tigkeitsfolge in der h heren Ebene zusammengefasst ist Zum Beispiel mit exakten Verweisen zwischen den Ebenen so wie bei den Strukturierten Aktivit tsknoten oder den Subautomaten im Zustand 8 Verweise Verkn pfungen Eher aus der Praxis der Modellierung kommt diese Theorieelement Hier ist man oft gen tigt lange T tigkeitsfolgen aufzuteilen Zum einen weil dadurch oft genutzte Prozessabschnitte an verschiedenen Stellen einfach 15 3 Basiselemente einer Methode zur Prozessmodellierung 363 per Verweis eingebaut werden k nnen zum anderen schlicht wegen der bersichtlichkeit der ja jeweils entstehenden Grafik 9 Zeitliche Dimension F r eine Standardprozessmodellierung gen gt es wenn bzgl der zeitli chen Dimension folgendes erfasst ist bzw werden kann e die zeitliche Abfolge durch die sequentielle Anordnung e Zeitpunkte e Zeitverbrauch vorgesehener zumindest bei ausgew hlten T tigkei ten 10 Tr ger Mit diesem Element soll erfasst werden k nnen wer der Tr ger des Gesch ftsprozesses ist Typischerweise ein Unternehmen oder mehrere Dies sollte nicht verwechselt werden mit den Tr gern einzelner T tigkeiten Und danach Soweit kurz und knapp aber hoffentlich ausreichend f r die notwendigen V
57. Instanzen Klassifikation 20 2 Objekte und Objektklassen 2 2 Instantiierung und Klassifikation In der objektorientierten Theorie vor allem in der objektorientierten Pro grammierung werden Objekte oft als Instanzen bezeichnet Woher kommt dieser Begriff Bei der Bildung von Objektklassen werden die Definitionsmerkmale der Objekte bei der Klasse hinterlegt so dass formuliert werden kann Die Objekte einer Klasse werden durch die Klassendefiniti on beschrieben Erzeugt nun z B in einem Programm die Klasse ein Objekt z B mit Hilfe einer Methode CREATE nutzt sie die hinterlegten Definitions merkmale und richtet das Objekt ein Z B um im obigen Beispiel zu bleiben f r einen neuen Angestellten Dieser Vorgang wird als nstantiie rung instantiation bezeichnet Daher r hrt dann der Begriff Instanz f r das neu entstehende Objekt Instantiierung bedeutet somit dass ein und dieselbe Definition benutzt wird um Objekte mit demselben Aufbau und demselben Verhalten zu erzeugen Konkret wird u a folgendes festgelegt e die Menge der Attribute der Instanzen e die Menge der Operationen e die Menge der Methoden die den Operationen entsprechen Dieser Schritt von der Klasse zum Einzelobjekt hat als Gegenst ck den urspr nglichen der von den Einzelobjekten zur Klasse f hrte vgl oben Er beruhte auf der strukturellen Gleichheit der Objekte und wird Klassi fikation classification genannt Hier nun die allgemeine Defi
58. Kante gehen m ssen Das ist eine Festlegung die jedesmal berpr ft bzw berechnet wird wenn ein neuer Token f r die Quelle zur Verf gung steht Das Ergebnis der Pr fung muss eine positive ganze Zahl oder Null sein Wenn die Mindestzahl von Token vorhanden ist werden alle Token der Quelle dem Ziel auf einmal angeboten Ein eventueller W chter Guard vgl Exkurs unten muss f r alle To ken den Wert wahr ergeben Klappt dies nicht und f llt dadurch die Zahl der dem Ziel angebotenen Token unter die Gewichtung werden gar keine Token angeboten Eine Gewichtung von Null null weight bedeutet dass alle Token der Quelle dem Ziel angeboten werden Beispiele Das folgende Beispiel spiegelt den Sachverhalt wider dass beim Zusam menstellen einer Fu ballmannschaft insgesamt 11 Spieler zu finden sind Mannschafl zusammen stellen Fu ball spieler weight 11 odi Abbildung 10 4 2 Aktivit tskante mit Gewichtung durch absolute Zahl Das zweite Beispiel enth lt eine Gewichtung die durch ein Attribut ange geben wird Damit wird der Sachverhalt erfasst dass erst alle Teilaufga ben erledigt sein m ssen bevor die Rechnung daf r versandt wird 10 4 Aktivit tskanten 139 weight anzahl_Teilaufgaben Aufgabe erledigt Rechnung senden atti Abbildung 10 4 3 Aktivit tskante mit Gewichtung durch ein Attribut Exkurs W chter guards Hier und im weiteren wird ein
59. L sung best nde darin ausgehend von 00Struktur einem Klassendiagramm die Strukturaspekte des Anwendungsbereichs OOVerhalten objektorientiert zu beschreiben und von da aus eine integrierte objektori entierte Beschreibung der Gesch ftsprozesse der dynamischen Aspekte also zu realisieren Eine solche L sung gibt es diesseits von experimen tellen kleinen oder Laboranwendungen nicht Die folgende Abbildung deutet die hier umzusetzenden Komponenten und Vorgehensweisen an Die gestrichelten Pfeile deuten die Schritte an die nach der Unternehmensmodellierung f r die konkrete Umsetzung erfolgen m ssten Zum einen m sste die objektorientierte Datenbank entstehen zum anderen ber eine Systemanalyse die Anwendungspro gramme klassische und objektorientierte Vorgehensweise Themen des Buches 4 1 Einleitung Anwendungsbereich z B das gesamte Unternehmen N Anwendungs f lle AFe Aktivit ts diagramme Klassen diagramme mit Nachrichten verkehr Methoden aufruf f Sequenz Zustands diagramme automaten i i SDe ZAn Y YV Y Systemanalyse Objektorientierte s Datenbank Programme Programmierung Abbildung 1 1 3 Elemente einer objektorientierten Unternehmensmodellierung Gegenstand dieses Buches Mit obigen Ausf hrungen kann der Gegenstand dieses Buches nochmals verdeutlicht werden In der folgenden Abbildung sind die klassische und m gliche objektorientierte Vorgehensweise bei der Unter
60. Methode EPK werden Ereignisse als solche direkt in den Kon Ereignisse trollfluss eingebunden und beeinflussen hn auf vielf ltige Weise In der UML dagegen erfolgt die Kontaktaufnahme zwischen Ereignis und Ablaufbeschreibung ber Aktionen die in den Kontrollfluss einge bunden sind und die auf das entsprechende Ereignis warten Dieses War ten k nnte auch als implizite Schleife wie es die UML Autoren an ande rer Stelle gern tun interpretiert werden Ein wenig erinnert dies an die Konstruktion wenn in Ereignisgesteuer ten Prozessketten eine Funktion Warten eingebaut wird Da bleibt dann der Prozess stehen bis eines der angedachten Ergebnisereignisse eintritt Dieser Unterschied im Umgang mit Ereignissen hat eine tiefere Ursa che Da n der UML T tigkeit Verhalten nicht von den m glichen Er gebnissen getrennt wird ist nur auf die beschriebene Weise durch eine Aktion die auf ein Ereignis wartet die Einbindung externer Ereignisse m glich Letztendlich kann man diese L sung Ereignisse durch auf Ereignisse Kl rung wartende Aktionen einzubinden aber nur dann verstehen wenn man Programm akzeptiert dass die UML durch ihre Hauptaufgabe Systemanalyse und Stuktur Vorbereitung der Programmierung gepr gt ist Denn f r einen Program mierer ist eine solche Aktion ein direkter Hinweis auf ein Programmele ment Z B auf das das beim Geldautomaten Bereitschaft herstellt und das Karteneinzugser t samt Lesevorrichtung akt v
61. Nutzer den aktiven Zustand durch Auflegen been det im Leerlauf Wird der H rer abgenommen wird der Subzustandsau tomat Aktiv gestartet was bedeutet dass sein Startknoten den Zustand W hlton aktiviert Kommt es hier zu einer Pause von 15 Sekunden ger t die Anlage in den Zustand Zeitablauf time out und eine Nachricht wird abgespielt Werden nun Ziffern gew hlt ger t die Anlage in den Zustand W hlen Dieser Zustand hat eine Selbsttransition und ruft sich solange selber auf bis alle Ziffern gew hlt sind Vom Zustand W hlen gibt es drei m gliche Zustands berg nge e zu Verbinden falls alle Nummern gew hlt sind und die Nummer g ltig ist Ziffern gew hlt n vollst ndig connect e zu Ung ltig falls die Ziffern insgesamt keine g ltige Nummer dar stellen Ziffern gew hlt n ung ltig Dieser Zustand spielt dann eine Nachricht ab e zu Zeitablauf falls 15 Sekunden Pause bei der Eingabe entstehen nach 15 Sek Betrachten wir den weiteren Verlaut falls die Verbindung zustande kam Hier ger t die Anlage entweder in den Zustand Besetzt oder Rufton Falls der Angerufene abnimmt kommt die Anlage in den Zustand Sprechen Die beiden Elemente am unteren Ende deuten die Abschaltung der An lage an Entweder durch das Abschalten Schlusszustand der Anlage oder durch einen Abbruch Auf der linken Seite st die normale Beendigung des Gespr chs model liert Falls der Anrufer auflegt wird die Verbindung unterbrochen
62. OMG 2003a S 360 Figure 287 bersetzung durch den Verfasser Mit Auswahl Auswahlverhalten Eine Auswahl mittels Auswahlverhalten kann nicht nur auf die Kanten gelegt werden sondern auch auf die Pins Dies geschieht wiederum mit dem Schl sselwort lt lt selection gt gt in einem Anmerkungssymbol und durch Anbindung mittels einer gestrichelten Linie lt lt selection gt gt N Festlegung Auswahl Abbildung 10 4 14 Objektfluss mit Auswahl selection behavior Quelle OMG 2003a S 346 Figure 268 Ubersetzung durch den Verfasser Beispiele Die ersten beiden Abbildungen zeigen eine Auswahl die bei den Objekt knoten vermerkt ist Es sind zwei Darstellungen einer Situation in der verlangt ist dass die Auftr ge nach ihrer Priorit t ausgef hrt und bei gleicher Priorit t nach dem FIFO Prinzip first in first out behandelt werden 146 10 Aktivit ten Auftrag cA Auftra ausf hren versenden Abbildung 10 4 15 Objektfluss mit Auswahl Darstellung 1 Quelle OMG 2003a S 362 Figure 290 bersetzung durch den Verfasser Auftrag ausf hren Auftra versenden Auftrag ausgef hrt Abbildung 10 4 16 Objektfluss mit Auswahl Darstellung 2 Quelle OMG 2003a S 362 Figure 290 bersetzung durch den Verfasser Die folgenden Beispiele zeigen die Festlegung der Auswahl ber den Objektfluss Das erste stimmt inhaltlich mit den obigen berein versenden Ab
63. Programmiersprachen wie Java und C ha ben z B synchrone Operationsaufrufe D h es existiert nur ein einziger Kontrollfluss zu einem bestimmten Zeitpunkt wird immer nur eine einzi ge Anweisung ausgef hrt Balzert f hrt aus dass in Komponentenmodellen wozu objektorien tierte Modelle geh ren der synchrone Nachrichtenaustausch Standard ist dass aber der asynchrone Austausch insbesondere in Verbindung mit Ereignissen sinnvoll ist z B wenn die durch das Ereignis angesprochenen Empf nger nur informiert werden sollen Balzert 2001 S 913 Im Falle eines asynchronen Nachrichtenaustausches wird Nebenl ufig keit erm glicht Dies ist so Booch Rumbaugh und Jacobson 2006 S R ckgabewerte Nachricht erzeugt Nachricht Synchroner Nachrichten austausch Asynchroner Nachrichten austausch Nebenl ufigkeit Keine zeitliche Dimension Reihenfolge mit Hilfe der Dezimal klassifikation 102 7 Zusammenwirken durch Nachrichtenverkehr 259 von gro er Bedeutung f r die heutige Welt von nebenl ufiger Ver arbeitung Exkurs Einige einfache Beispiele In der Daten bertragung Erfolgt diese synchron bleiben zeitliche Beziehungen zwischen den Daten bei der bertragung erhalten Dies ist z B notwendig bei der bertragung von Filmen weil da der zeitliche Abstand zwischen aufeinanderfolgenden Bildern wichtig ist Bei einer asynchronen Daten bertragung m ssen solche zeitlichen Bedingungen nicht streng eingehalt
64. Rumbaugh Jacobson und Booch 2005 S 243 Figure 14 64 e OrderTaker TicketDB CreditBureau aus Rumbaugh Jacobson und Booch 2005 S 107 Figure 9 4 e c V ew aus Booch Rumbaugh und Jacobson 2006 S 259 Abbil dung 16 4 Auswahl Schl sselwort self UML Sichtweise Ereigniskonzept 100 7 Zusammenwirken durch Nachrichtenverkehr e Transaktion aus Booch Rumbaugh und Jacobson 2006 S 295 Abbildung 19 1 Falls das zu verkn pfende Element mehrwertig ist Wertigkeit gr er 1 dann kann die Lebenslinie einen Ausdruck den selector haben der festlegt welcher Teil durch die Lebenslinie repr sentiert wird Liegt bei einer Wertigkeit gr er als eins keine Auswahl vor bedeutet das dass ein beliebiger Repr sentant genommen wird Ist die Bezeichnung der Lebenslinie das Schl sselwort se f dann repr sentiert die Lebenslinie das Objekt des Classifiers das die Interaktion umfasst zu der die Lebenslinie geh rt OMG 2003a S 428 7 5 Nachrichten 7 5 1 Definition Im ersten Abschnitt dieses Kapitels wurden Nachrichten bereits vorge stellt Zu erg nzen ist noch dass Nachrichten eine Bezeichnung und Pa rameter haben Die Bezeichnungen der Nachricht und der Methode zu sammen mit den Ein und Ausgabeparametern werden als Signatur be zeichnet Da es wie oben ausgef hrt tats chlich so ist dass meist Objekte von Klassen Nachrichten aussenden und empfangen reduzieren viele Autoren den Nachrichtenb
65. Transition in einem Zustandsautomaten vgl Kapitel 13 oder die Ausf hrung einer Aktivit t veranlassen Eventuelle Argumentwerte werden bergeben und das angesprochene Verhalten beginnt sofort mit der Ausf hrung Grafische Darstellung Die grafische Darstellung erfolgt durch ein F nfeck mit Spitze wie es die nachfolgende Abbildung zeigt Abbildung 10 9 3 SendSignalAction Beispiele Das erste Beispiel ist Teil einer Auftragsverarbeitung in der zwei Signale Auftrags gesendet werden verarbeitung mit Signalen Ein Auftrag wird auf der Basis einer Kundenbestellung bearbeitet Das Lager wird aufgefordert das gew nschte zusammenzustellen und zu versenden erstes Signal Dort wird der Auftrag ausgef hrt und ver schickt Dann wird eine Rechnung erzeugt und dem Kunden zugeschickt zweites Signal Zahlungs aufforderung als Signal An jedem Monatsende 174 10 Aktivit ten Kunde Rechnung senden Auftrag bearbeiten erstellen oa185 Abbildung 10 9 4 Send signal action im Einsatz Quelle OMG 2003a S 257 Figure 166 bersetzung durch den Verfasser Lager anfrage In der n chsten Abbildung wird folgender Ablauf modelliert Wenn die Auftragsbearbeitung fertig ist wird mit Hilfe einer send signal action ein Signal zur Zahlungsaufforderung rausgeschickt Danach wartet die Aktivit t bis der Zahlungseingang best tigt wird durch das accept event action Das Zahlungseing
66. Vans und Mini Vans hnlich bei den Kettenfahrzeugen Diese sind noch unterteilt in zivile und milit rische letztere hier dann noch in Kampfpanzer und Br cken legepanzer Insgesamt haben dann in diesem Beispiel folgende Klassen die Dop pelfunktion als Super und Subklassen e PKW 6 5 Mehrere Ebenen 87 e Familienautos e Kettenfahrzeuge e Milit rische Kettenfahrzeuge Fahrzeuge JANY Ketten O PN A V D Zivile Ketten Milit rische fahrzeuge Kettenfahrzeuge Br ckenlege panzer Familienautos Vans Minivans FA Abbildung 6 5 1 Generalisierung Spezialisierung mit mehreren Ebenen Das obige Klassendiagramm enth lt u a folgende Komponenten Mehrere Generalisierungen Spezialisierungen Mehrere mehrstufige Generalisierungen Spezialisierungen Au erdem vollst ndige und unvollst ndige berdeckungen Die folgende Abbildung zeigt ein weiteres Beispiel Es soll um die Be Noch ein Beispiel sch ftigten eines Unternehmens gehen Hier kann man sich ohne Schwie Besch ftigte rigkeiten eine Einteilung in Arbeiter Angestellte und Auszubildende vorstellen die zwar bestimmte Attribute und Methoden gemeinsam ha ben andere aber auch gemeinsam Letztere finden s ch dann in der Gene ralisierung Besch ftigte Die Arbeiter k nnten unterteilt werden in Arbeiter des Unternehmens und Leiharbeiter die Angestellten in solche mit und ohne F hrungsauf gaben und die Auszubildenden in kaufm
67. Zustand Widerspruch Beispiel f r die vollst ndige Transitionsbeschriftung Widerspruch ist eingegangen Widerspruch ist zu pr fen Rechnungsstatus n Widerspruch ndern Aus dem Zustand R ckbuchbar bezahlt kommt die Rechnung in den Zu stand Widerspruch falls eine R cklastschrift erfolgte Falls aus dem Zustand nkassob ro ein Widerspruch erfolgt wird er vom verantwortlichen Rechtsanwalt im Rahmen seiner allgemeinen T tigkeit bearbeitet Jeglicher Widerspruch wird von der Abteilung Zahlungs berwachung gepr ft Wird festgestellt dass er nicht berechtigt ist geht die Rechnung in den jeweiligen vorherigen Zustand zur ck Ist der Widerspruch berech tigt geht die Rechnung in den Zustand Gutschrift ber Der Zustands bergang Widerspruch ist zu bearbeiten Widerspruch ist berechtigt Gutschrift ausstellen und Rechnungsstatus ndern 13 5 Beispiele von Verhaltenszustandsautomaten 331 Rechnung st zuzusiellen Zustellung gescheitert Saus Michi Zustellbar setzen Nicht Rechnung slornderen zustellbar Zahlung korekt Status A ckbuchbar bezahlt setzen 21 Tage vergangen Zahlung nicht erfolgt Kain ZE nach 21 Tagen i gt Zahlungs und KS Pius __ erinnerung Kein ZE nach 21 Tagen und u Pr fung KS und Pr fung ZE Kein ZE nach 21 Tagen und KS Pos Sechs Wochen vergangen keine R ckbuchung Rechnungsstatus auf Garani andem Kein ZE nach 21 Tagen und KS Minu
68. aktiv sein dann wird es reentrant genannt e Kann ein Verhalten zu einem Zeitpunkt nur einmal ausgef hrt wer den dann wird es non reentrant genannt Ein Aufruf eines Verhaltens vom Typ non reentrant f hrt somit nicht zum Start des Verhaltens wenn das Verhalten bereits ausgef hrt wird In diesem Fall versammeln s ch die Tokens an den Input Pins der aufrufen den Aktion invocation action falls ihre obere Grenze gr er als eins ist oder woanders stromaufw rts weiter vorn m Fluss Der Aufruf eines Verhaltens vom Typ reentrant das bereits aktiv ist startet eine neue Ausf hrung mit neu angekommenen Token auch wenn das Verhalten bereits mit Token des fr heren Aufrufs ausgef hrt wird reentrant und streaming Ein Verhalten vom Typ reentrant kann keine stream ng Parameter haben da dabei grunds tzlich mehrere Ausf hrungen des Verhaltens zur selben Zeit stattfinden und es schwer zu kl ren w re welche Ausf hrung die streaming Token erhalten sollte OMG 2003a S 353 23 Die maximale Anzahl von Token die in einem Knoten erlaubt sind Objekte k nnen nur dann in einen Knoten flie en wenn die obere Grenze noch nicht erreicht ist Implizite Schleife und St ndiger Fluss Aktiv werden obwohl schon aktiv Pr zisierung durch token Inputtoken Outputtoken Kontrolltoken Kontrolltoken und Startknoten Token und Schlussknoten Token und Kontrollknoten Tokenflussregeln 178 10 Aktivit ten 10 9
69. andere Hier wird oft betont dass die Assoziationen notwendig sind damit Objekte miteinander kommunizieren k nnen vgl beispielhaft Oestereich 1998 S 268 Damit wird die Tatsache angesprochen dass in einem objektorientierten System die einzelnen Klassen und ihre Objek te bei der Erledigung der Aufgaben zusammenwirken vgl Kapitel 7 Dies geschieht aber entlang der oben eingef hrten semantisch wichtigen Beziehungen zwischen den Klassen Insofern ergibt sich kein Wider spruch Insbesondere in Abgrenzung zum relationalen Modell muss hier noch darauf hingewiesen werden dass die konkrete Realisierung dieser Bezie hungen zwischen Objekten modelliert wird indem die entsprechenden Objekte mithilfe ihrer Objektidentifizierer verkn pft werden und nicht mithilfe attr butbasierter Schl ssel 3 4 Wertigkeiten Oben wurden schon mehrfach Wertigkeiten von Assoziationen angege ben Hier nun die Pr zisierung 3 5 Beispiele 43 Die Wertigkeiten von Assoziationen geben an wieviele Objekte jeder beteiligten Klasse an der Assoziation teil haben Es gibt also f r jede an der Assoziation beteiligten Klasse eine solche Wertigkeit Folgende Darstellung haben die UML Autoren festgelegt e einfach Genau ein Objekt der jeweiligen Klasse geht in die Be z ehung ein e 0 1 konditionell einfach Kein oder ein Objekt der jeweiligen Klas se geht in die Beziehung ein e konditionell mehrfach Null eines oder viele Objekte de
70. auf der Systemanalyse wie der Sprachgebrauch sehr oft ist bei der Vorstellung der einzelnen Konstrukte direkt von Systemen die Rede und auch das folgende Zitat zeigt The Unified Modeling Language is a visual language for specifying constructing and documenting the artifacts of systems It is a general purpose modeling language that can be used with all major object and component methods and that can be applied to all application domains e g health finance telecom aerospace and implementation platforms e g J2EE NET OMG 2003b S 22 In der Version 1 5 war der bergeordnete Anspruch auch f r die Unter nehmensmodellierung tauglich zu sein noch wesentlich deutlicher Note that UML can be used to model different kind of sys tems software systems hardware systems and real world organizations Business modeling models real world orga nizations UML 1997a S 1 Allerdings wird auch in der Version 2 0 dieser Anspruch wieder formu liert im Sprachgebrauch in den Beispielen vgl unten und auch direkt wie das folgende Zitat aus dem Kapitel zu den Aktivit ten zeigt 19 In vielen Erl uterungen werden Beispiele aus dem Bereich der Gesch ftsprozesse gew hlt wie Auftrag eingegangen Auftragsversand Personaleinstellung usw 8 2 Verhalten 115 Activities may describe procedural computation In this context they are the methods corresponding to operations on classes Activities may be applied t
71. beendet ist bietet die Aktion den weg f hrenden Kontrollkanten und Output Pins Token an wo sie f r andere Aktionen verf gbar sind bzw andere Aktionen ansto en OMG 2003a S 280f 9 3 3 Elementaraktionen Mit Elementaraktion bezeichnen die UML Autoren die kleinsten Einhei ten der Verhaltensmodellierung Sie werden so elementar gefasst dass sie entweder eine Berechnung oder einen Speicherzugriff beschreiben nie mals beides auf einmal OMG 2003a S 203 Damit ist eine eindeutige Abbildung auf ein physikalisches Modell m glich Folgende Untertypen werden u a unterschieden OMG 2003a S 204f Grafische Darstellung Indirekte Weitergabe von Daten 126 9 Aktionen e Aufrufaktionen invocation actions die Operationen aufrufen und S gnale senden e Leseaktionen read actions die Auspr gungen values erhalten und die in der Lage sind diese zu erkennen e Schreibaktionen write actions die Auspr gungen values ver n dern und Objekte erzeugen und zerst ren k nnen e Objektaktionen object actions die Objekte erzeugen und zerst ren e sStrukturaktionen structural feature actions die das Lesen und Schreiben von Strukturmerkmalen von Objekten unterst tzen e Assoziationsaktionen association actions die auf Assoziationen und Verkn pfungen links agieren e Variablenaktionen variable actions die das Lesen und Schreiben von Variablen unterst tzen e _Rechenaktionen computation actions die
72. d h es kann von einem bestimmten Zustand aus verschiedene Transitionen geben Ausgel st wird eine Zustands nderung durch ein Ereignis das zu ei Ereignisse nem bestimmten Zeitpunkt eintritt und selbst keine Zeit in Anspruch n mmt Welche Zustands nderung eintritt h ngt von dem Ereignis und dem Objektzustand zum Zeitpunkt des Ereignisses ab Eine genauere Erkl rung folgt gleich mit der Vorstellung der grafi schen Darstellung von Zustandsautomaten Grafische Darstellung Die grafische Darstellung von Zustandsautomaten erfolgt durch Zu stands bergangsdiagramme die im Kern aus folgenden Elementen beste hen einem Startzustand Zust nden eines Objektes Transitionen Zustands nderungen Zustands berg ngen einem Schlusszustand oder mehreren Implizit ist auch ein Operator dabei wenn von einem Zustand zu mehre ren anderen alternative Zustands berg nge vorliegen exklusives Oder Die Zust nde werden durch Rechtecke mit abgerundeten Ecken darge Zust nde grafisch stellt Im Rechteck wird der jeweilige Zustand des Objektes angegeben Ereignis Bedingung Aktion 288 13 Zustandsautomaten Dasselbe Objekt taucht mit unterschiedlichen Zust nden mehrfach in einem Zustandsautomat auf Die Beschriftung der Rechtecksymbole f r Zust nde kann unterschied lich sein Im einfachsten Fall steht die Bezeichnung des Zustandes in der Mitte des Rechtecks wie in der folgenden Abbildung Hier soll der Grundzustand eines Gelda
73. das grafische Symbol angeh ngt wer den so wie es die folgende Abbildung zeigt Die in der Abbildung ebenfalls angegebenen Pfeillinien an der Aktion verweisen schon auf die Einbettung jeder Aktion in den bergeordneten Kontrollfluss ihrer Aktivit t vgl das n chste Kapitel lt lt jocalPrecandition gt gt Ein Getr nk des Getr nke automaten ist ausgew hlt lt lt localPostcondition gt gt Der Getr nkeautomat gibt das gew hlte Getr nk aus eE Abbildung 9 2 3 Eine Aktion mit lokalen Vor und Nachbedingungen Quelle OMG 2003a S 283 bersetzung durch den Verfasser Sequentielle Anordnung von Aktionen Kanten hin Kanten weg Ausf hren von Aktionen und Aktivit ten Laufzeitverhalten 124 9 Aktionen 9 2 3 Aktionen im Kontrollfluss Aktionen s nd in Aktivit ten vgl Kap tel 10 enthalten In diesen stehen sie im Zusammenhang werden z B in eine Reihenfolge gebracht Dass hinter diesem sequencing of actions wie die UML Autoren schreiben nat rlich mehr als nur eine Anordnung in lineare Abfolgen steht wird deutlich wenn sie von Aktionen als Knoten und von control edges und object flow edges sprechen also von Kanten die den Kontrollfluss und den Fluss von Objekten modellieren Dahinter steckt ein umfassendes Kontrollflusskonzept das im n chsten Abschnitt vertieft vorgestellt wird Hier wird dies nur kurz betrachtet um Eigenschaften von Aktionen ableiten zu k
74. den Verfasser Die Abbildung enth lt u a folgende Komponenten Zwei Flussenden s Zwei Verzweigungen Weiter ohne Ansto Aktivit tsende Vergleich EPK AD Weitere Motive 166 10 Aktivit ten Eine Schleife R ckschleife Ein Aktivit tsende Eine Gabelung Au erdem ein Beispiel f r ein unmittelbares Hintereinanderfolgen einer Gabelung und einer Verzweigung In Abschnitt 10 11 8 wird im Rahmen eines Vergleichs der bei den Methoden EPK und AD zu diesem Aktivit tsdiagramm eine aquivalente Ereignisgesteuerte Prozesskette vorgestellt Aktivit tsende vs Flussende Nach der Motivation f r den Knoten Aktivit tsende muss man nicht fra gen Jeder Modellierungsansatz der Abl ufe modelliert hat ein solches Element Was aber ist die Motivation f r den Knoten Flussende neben der oben schon angef hrten die sich aus den Anforderungen der Systemanalyse ergibt Die UML Autoren nennen zwei Situationen f r seinen Einsatz Die erste Situation Eine Aktivit t beschreibt ja eine bestimmte abgegrenzte Folge von T tig keiten Falls f r alle Aufrufe einer solchen T tigkeitsfolge dieselbe Akt vit t benutzt wird flie en unterschiedliche Tokenstr me durch dieselbe Aktivit t In so einem Fall ist es u U nicht gew nscht alle Token zu vernichten wenn eines einen Schlussknoten erreicht Benutzt man nun an einer solchen Stelle ein Flussende dann werden nur die Token zerst rt die diesen erreichen d
75. die Angabe eines Parameters der typischerweise ein Attribut eines Datenbestandes darstellt in foo foo_par x doit z bar x mit einer Methodenantwort als x bar _ 15 mit R ckantworten die ohne Parameter erfolgen in doit _ usw durch die aber die Erledigung s gnalisiert wird Objekt 2 von Klasse 2 das ja erst bei der Abarbeitung entsteht wird auch gleich wieder vernichtet was durch das Element stop am Ende der Lebenslinie ob2 C2 angezeigt wird Im Beispiel sind zahlreiche Antworten auf Methodenaufrufe angege ben Sie werden ja durch eine gestrichelt Linie und eine nicht gef llte Spitze dargestellt Typischerweise sind sie Teil eines synchronen Szenarios Senderobjekt schickt eine Nachricht mit Methodenaufruf und wartet Empf ngerobjekt klasse f hrt Operation aus Empf ngerobjekt klasse sendet R ckantwort Senderobjekt setzt sein Tun fort Diese R ckantworten k nnen Parameterwerte zur ckgeben oder auch nur den Abschluss der durchgef hrten Operation melden Verschachtelte Aufrufe Kombiniertes Fragment Nachrichten synchron und asynchron Parameter bergabe Element Stop Nachrichten als Antworten auf Methodenaufrufe 242 11 Sequenzen sd AbstraktesBeispiel J amp 4 gt j ui er co ws g Fu foolfoo_par x I i l l I create 0b2 C2 l doit _ loot ppm u v X i l j _
76. die Nachricht bestimmePosSu bestimme die Summe der Rechnungspositionen an eine Klasse Rechnungspositionen zum Aufruf der entsprechenden Methode und zur Antwort mit dem berechneten Wert f hren Erh lt ein Objekt einer Klasse eine Nachricht f hrt es eine Operation aus Im Rahmen der Ausf hrung dieser Operation ist es m glich dass weitere Nachrichten erzeugt und versandt werden E n einfaches Beispiel zum Druck einer Rechnung ist unten angegeben Wenn ein Objekt der Klasse Rechnungspositionen bzw RechPos die Aufgabe erh lt die Rechnungspositionen zusammenzustellen ruft es selbst eine Methode von Artikel auf 7 5 2 Synchron und Asynchron Nachrichten k nnen synchron oder asynchron ausgetauscht werden Da bei bedeutet ein synchroner Nachrichtenaustausch dass der Sender war tet bis der Empf nger den betreffenden Methodenaufruf beendet hat und erst dann wieder aktiv wird In vollem Umfang was eigene Verarbei tungsschritte angeht und was weitere auszusendende Nachrichten angeht Eine Operation die durch eine synchrone Nachricht ausgel st wurde kann im Rahmen der Antwort Werte zur ckgeben Bei der R ckgabe erh lt der Sender dann auch die Kontrolle ber den Kontrollfluss zu r ck Asynchron dagegen bedeutet dass das Senderobjekt mit seinem weite ren Tun nicht wartet bis die aufgerufene Aktion durchgef hrt ist sondern gleich wieder irgendwelche Verarbeitungsschritte durchf hren kann G ngige objektorientierte
77. die Ursache f r die T tigkeit Die Tatsache dass eine T tigkeitsfolge endet stellt wiederum ein Ereignis dar bzw f hrt zu einem Ereignis oder auch zu mehreren entsprechend der Operatoren Dieses Konzept T tigkeitsfolgen und Ereignisse miteinander zu verkn pfen ist elementar und aus der Standardprozessmodellierung nicht wegdenkbar Die Ereignisse kommen aus einer Ereignisumwelt heraus 6 Kontrollfluss Der Kontrollfluss regelt die Abfolge der elementaren T tigkeiten Hierzu geh rt zuerst die sequentielle Anordnung hintereinander dann aber auch die Verzweigung F r die Standardprozessmodellierung gen gt der einfachste Fall Gesch ftsprozess wird angesto en abgearbeitet beendet und steht erst dann wieder zur Verf gung Also e Kein Neustart wenn schon gestartet e Keine Nebenl ufigkeiten echte technische Parallelit t Verbindung zu den Daten Erzeugen Bearbeiten L schen Transportieren Immer dabei Sequentielle Abfolge Verzweigungen XOder Oder Und Zusammenf hren Start und Ende Gesamtende Horizontale Integration Vertikale Integration bersicht durch Aufteilen 362 15 Abrundung e Gesamtbeendigung Wenn die T tigkeitsfolge beendet wird ist sie insgesamt beendet l uft nicht irgendwo in Kontrollflusszweigen weiter Bei den Verzweigungen des Kontrollflusses ist im einfachsten Fall folgendes einzuplanen e Ein exklusives Oder Genau einer der verkn pften Kon
78. die alle speziali 6 4 berlappung und berdeckung 83 s erten Klassen gemeinsam besitzen Bei der konkreten Umsetzung in eine Datenbank oder in ein Anwendungsprogramm muss dies ber cksich tigt werden 6 4 berlappung und berdeckung Die Beispiele oben wurden so angelegt dass d e einzelnen Generalisie berlappung rungsbeziehungen jeweils disjunkte sich nicht berschneidende Sub klassen bilden Dies st oft der Fall muss aber nicht sein Nehmen wir eine Superklasse Datenverwaltende Systeme mit folgenden Subklassen Dateisysteme Relationale Datenbanksysteme Objektorientierte Datenbanksysteme Information Retrieval Systeme Dann werden sich die Subklassen nicht berschneiden Nehmen wir aller dings noch die Subklassen e Entwicklungssysteme und e Verteilte Datenbanksysteme hinzu sieht dies anders aus Entwicklungssysteme k nnen Relationale Datenbanksysteme oder auch Objektorientierte Datenbanksysteme sein Verteilte Datenbanksysteme ebenfalls Bei genauerem Hinsehen wird man au erdem entdecken dass Entwicklungssysteme auch Verteilte Da tenbanksysteme sein k nnen Datenverwaltende Systeme A Objektorientierte Entwicklungs Datenbanksysteme systeme Relationale Information Verteilte Daten Datenbanksysteme Retrieval Systeme banksysteme ie Abbildung 6 4 1 Generalisierung Spezialisierung f r Datenverwaltende Systeme Ein zweiter Unterschied zwischen Generalisierungen Spezia
79. dieses Grundkonzepts Dabei kann man sich L sungen zu den Beispie len n den Abbildungen 10 4 20 10 4 21 und 10 4 24 eher vorstellen als zum Beispiel in Abbildung 10 10 5 wo der streaming Vorgang quasi parallel zum sonstigen Kontrollfuss angelegt ist Parameterknoten machen bei einer bertragung keine Schwierigkeiten Sie werden in einer EPK einfach als Informationsobjekte modelliert die zu Beginn in den Prozess hineingegeben Auftrag eingegangen oder am Ende als weiterzugebendes Ergebnis Kalkulation weiterleiten herausgegeben werden Alle Elemente bei Aktivit tsdiagrammen die Richtung Gesamtsicht vgl oben und die Zusammenfassung unten zeigen sind in Ereignisge steuerten Prozessketten nicht oder nur sehr schwer nachbildbar Die in den Beispielen fters aufsch mmernden Unklarheiten bzgl der Festlegung des Entscheidungsprozesses vgl Beispiel Problembehand lung in Abbildung 10 11 6 muss bei einer bernahme in eine EPK durch entsprechende Funktionen und Ergebnisereignisse modelliert werden Die Erzwingung von Ereignissen die Ergebnisse der vorangehenden Funktion erfassen f hrt automatisch dazu Das Konzept der W chter also der Bedingungen die gepr ft wer den bevor ein bestimmter Schritt gegangen wird ist problemlos in EPKs realisierbar als Funktion die genau die berpr fung der Bedingung rea lisiert 24 Um Missverst ndnissen vorzubeugen Der Verfasser ist sich bewusst dass durch Sch
80. ein Objekt mit Zustandsfest legung Die entsprechende Darstellung mit den Pinsymbolen zeigt die folgende Abbildung u Abbildung 10 4 21 Objektfluss durch Streaming mit Pins Quelle In Anlehnung an OMG 2003a S 360 Figure 288 bersetzung durch den Verfasser Die obige Abbildung enth lt zwei Beispiele f r streaming mit Pins Es gibt auch die M glichkeit streaming mit der Kante grafisch auszu dr cken Dabei wird dann entweder die Pfeilspitze der Kanten schwarz eingef rbt oder die Rechtecke der Pins vgl OMG 2003a S 358f 10 4 5 Ausnahmen modellieren Es st rt doch sehr dass bei den Aktionen im Regelfall nur das positive Nur das positive Ergebnis einer Aktion modelliert wird Das haben wohl auch die Autoren Ergebnis der UML gemerkt und deshalb zumindest f r Ausnahmen eine Model lierungsm glichkeit geschaffen die Ausnahmeanmerkung exception notation Sie bedeutet dass eine zus tzliche wegf hrene Kante angelegt wird ohne Operator die eine Ausnahme erfassen soll In der grafischen Darstellung wird dies beim jeweiligen Pin durch ein Dreieck vermerkt Die zwei folgenden Abbildungen zeigen ein Beispiel in zwei verschie Ausnahme denen Notationen Die Aktion Zahlungsannahme hat die zwei Pins akzep zur ckgewiesene tierte Zahlung und zur ckgewiesene Zahlung Zahlungsannahme f hrt ZAhlung normalerweise zu einer Zahlung die akzeptiert wird und dem Konto gut geschrieben wird In Ausnahmef llen ist
81. eine Relation auch einer Datei entspricht f hrt dies zu einer Segmentierung auf logi scher und auf physischer Ebene die viele Auswertungen Abfragen usw sehr kompliziert macht 2 8 2 Identit t und Gleichheit Ein Modellierungskonzept das f r die objektorientierte Unternehmens modellierung mit Sicherheit von Bedeutung ist wird vor allem in der Diskussion um objektorientierte Datenbanken betont die eindeutige 2 8 Vertiefung 33 best ndige und von der Beschreibung durch Attribute unabh ngige Identi fizierbarkeit der Objekte Bei objektorientierten Datenbanken soll jedes Datenbankobjekt eindeu tig identifiziert werden durch einen Objektidentifizierer OID object identifier der vom Datenbanksystem vergeben wird Er ist unabh ngig von den Attributen der Objektklasse Insbesondere darf dieser OID nicht mit einem inhaltlich basierten Schl ssel z B Projektbezeichnung ver wechselt werden wie es ihn z B bei Relationen in der Datenbanktheorie gibt Vom Aufbau her hnelt er den Schl sseln die als laufende Nummer angelegt und z B vom Datenbanksystem verwaltet werden Mit diesem Konzept der OID kann dann zwischen dentit t und Gleichheit von Objekten unterschieden werden Mehrere Objekte k nnen absolut gleich sein gemessen an den Auspr gungen ihrer Attribute und sind doch nicht identisch Ein Beispiel w ren die Produkte einer Serien fertigung z B Fernsehapparate die gemessen an den beschreibenden Attributen
82. einen Schlussknoten der wiederum von den Aktivit tsdiagrammen geborgt wurde 11 5 Sequenzen und Unternehmensmodellierung 251 11 5 Sequenzen und Unternehmensmodellierung 11 5 1 Beitrag Welchen Beitrag k nnen Sequenzdiagramme zu einer Unternehmensmo dellierung leisten Sie taugen und daf r sind sie ja auch gedacht zur Beschreibung des Nachrichtenverkehrs zwischen Objekten die gemeinsam eine Aufgabe erledigen Damit sind sie nimmt man die Systemanalyse zur Vorberei tung der Anwendungsprogrammierung mit zu den Aufgaben der Unter nehmensmodellierung f r diese geeignet Dies ist aber auch unstrittig Bleibt die Frage ob sie auch f r die bergeordnete Ebene der Pro zessmodellierung taugen Wie oben zu sehen war kann man mit ihnen schon einfache Prozesse beschreiben K nnen aber auch ausreichend komplexe Gesch ftsprozesse damit beschrieben werden Wie steht es ganz allgemein um die Aussagekraft dieser Prozessmodelle Um Antworten daruf zu finden im folgenden nun eine Kl rung welche Elemente der Methode SD grunds tzlich f r eine Prozessmodellierung sinnvoll erscheinen welche nicht welche Elemente fehlen und was da ist aber f r eine Prozessmodellierung derzeit noch nicht gebraucht wird 11 5 2 Theorieelemente f r die Prozessmodellierung Jede Methode zur Prozessmodellierung ben tigt Handelnde Tr ger der T tigkeitsfolgen Diese sind hier durch die Objekte bzw die Lebenslinien gegeben Durch d
83. einen Trace bezeichnen sie eine Folge von Er eigniseintritten nat rlich zusammenh ngenden die damit einen Ablauf beschreiben Ein Trace kann dann durch einen Ausdruck wie lt eventoccurrencel eventoccurrence2 eventoccurrence n gt dargestellt werden OMG 2003a S 403 11 4 Vertiefung 227 Genau diese Traces bezeichnen die UML Autoren als Semantik der Modellelemente die durch die Traces beschrieben werden Dies ist auf den ersten Blick eine gewagte Reduktion dessen was blicherweise unter Semantik verstanden wird Auf den zweiten Blick ist es aber konsequent Da es ja um die Beschreibung von Abl ufen geht sind Folgen von Er eignissen eine sinnvolle Technik zur Beschreibung und dies kann durch aus auch als wenngleich inhaltlich arme Semantik verstanden werden Es geht noch weiter Hat man schon mal Semantik ber Folgen von Ereignissen definiert kann man auch dar ber nachdenken solche Folgen auf die eine oder andere Weise zusammenzubringen oder auch zu tren nen Es geht dann ja darum die Semantik der verschiedenen Elemente zu verschmelzen Daf r haben die UML Autoren ein Konzept eingef hrt das sie inter leaving nennen Sie bezeichnen damit das Verschmelzen Verschachteln mehrerer traces dergestalt dass die Ereignisse verschiedener traces im neuen trace n beliebiger Reihenfolge auftreten w hrend die Ereignisse innerhalb desselben trace ihre Reihenfolge behalten OMG 2003a S 403 Dies ist
84. einer Lebenslinie oder zwischen Lebenslinien dar Der Schwerpunkt liegt dabei auf dem Zeitpunkt des Eintretens von Ereignis sen die zu Ver nderungen in den erfassten Rahmenbedingungen der Lebenslinien f hren Die folgende Abbildung zeigt ein Beispiel ein ganz normales Se quenzdiagramm mit zus tzlichen Festlegungen zeitlicher Aspekte Es enth lt zwei Lebenslinien Nutzer und Zugangskontrolle gedacht ist wie der an einen Geldautomaten Der Nutzer sendet einen message Code als Parameter ist eine Zeitein heit angegeben Die Zugangskontrolle sendet zwei Nachrichten zur ck zum Nutzer Dabei ist hier im Modell festgelegt dass KarteRaus zwischen 0 und 13 Zeiteinheiten ben tigen darf Dar berhinaus darf die Spanne zwischen dem Senden des Codes und dem Empfang des OK nur zwischen d und 3 d ben tigen d 3 d Bei der Nachricht OK wird der Entstehungszeitpunkt festgehalten t now Durch t t 3 wird dann noch die Zeitspanne bis zum Empfang der Nachricht KarteRaus festgelegt Wie ja auch m gleich strukturierten Beispiel von Abbildung 11 4 2 zu berholen sehen ist kann hier die Nachricht KarteRaus die Nachricht Alles in Ordnung OK berholen was bedeutet dass sie zwar fr her startet aber sp ter ankommt Knoten aus Interaktionen bzw Interaktions auftreten 248 11 Sequenzen sd Zugangskontrolle Zugangs Code d duration tanow l l I l KarteRaus 0 13 1 I l I aufschlie en I Abbildu
85. einfach grafisch dadurch ausgedr ckt dass der Transitionspfeil an der Grenzlinie des Zustands mit dem untergeordnten Zustandsautomat im Beispiel ZeseBetrag LeseBetragSM in Geldautomat endet bzw von diesem ausgeht ganz ohne Verkn pfungspunkte Methodisch bedeutet dies dass der nitialknoten des eingebetteten Zu standsautomaten aktiv wird Durch diesen wird der voreingestellte Stan dardzustand im Beispiel w hleBetrag realisiert Genauso wird die normale Beendigung dargestellt Wird im einge betteten Zustand der Schlusszustand erreicht aktiviert dies im bergeord neten Zustandsautomaten die Transition die von dem Zustand abgeht der 13 3 Vertiefung 309 den Automat enth lt Klingt kompliziert ist es aber nicht wie das Bei spiel zeigt Wird in LeseBetragSM der Schlusszustand erreicht ist in Geldautomat der Zustand LeseBetrag LeseBetragSM abge arbeitet und die von ihm abgehende normale Transition zu Pr feTransaktion wird aktiviert Bei nicht normaler Beendigung erfolgt die Wegweisung durch grafische Elemente Verkn pfungspunkte die Einstiegs und Ausstiegspunkte genannt werden Pseudozustand Einstiegspunkt Ein Pseudozustand vom Typ Einstiegspunkt entry point stellt einen Zugang n den Zustandsautomaten dar In jeder Region des Zustandsau tomaten gibt es eine einzige Transition zu einem solchen Knoten inner halb derselben Region Ein Einstiegspunkt wird als kleiner Kreis auf der Grenzlini
86. einfachen Objektknoten Zwei Objektknoten vom Typ Signal Au erdem die Einbindung eines Objekts in den Kontrollfluss Hintergrund Die UML Autoren f hren aus dass die Vereinigung eingef hrt wurde um Parallelit t in Aktivit ten zu unterst tzen OMG 2003a S 341 Mit Parallelit t kann dann nur gemeint sein dass der Kontrollfluss ber die Vereinigung erst dann weitergeht wenn alle Aktionen vor den hinf hren den Kanten ausgef hrt wurden Insofern ist auch verst ndlich wenn sie ausf hren dass eine Vereinigung mehrere Kontrollfl sse synchronisiert OMG 2003a S 338 Der Tokenfluss Wenn auf allen ankommenden Kanten ein Token angeboten wird werden der wegf hrenden Kante Token gem den folgenden Regeln angeboten OMG 2003a S 339 e Falls alle angebotenen Token Kontrolltoken sind dann wird der weg f hrenden Kante ein Kontrolltoken angeboten 10 6 Kontrollknoten 161 e Falls einige der angebotenen Token Kontrolltoken sind und andere Datentoken dann werden nur die Datentoken der wegf hrenden Kan te angeboten Die Funktionalit t eines UND Operators erl utern die UML Autoren mit Voreinstellung Hilfe der Token wie folgt Das reservierte Wort and als Join Spezifika AND tion bedeutet dass von jeder ankommenden Kante mindestens ein Token verlangt wird Wie sehr die berlegungen der UML Autoren ins Detail gehen zeigt die folgende Festlegung des Tokenflusses Falls der wegf hrenden Ka
87. erfolgt dann eine vertiefte Ursachenforschung M gliche Ursachen sind e Die in der berweisung angebene Rechnungsnummer ist falsch An sonsten kann der Vorgang gekl rt werden e Der Kunde ist unbekannt 11 4 Vertiefung 245 e Der berweisungsbetrag stimmt nicht mit dem Rechnungsbetrag berein Kann der Kunde festgestellt werden versucht das Programm folgende Informationen Informationen zusammenzustellen sammeln e Kundennummer e Kundenname e Ort e Stra e Kann der Vorgang identifiziert werden werden Auftragsnummer Da tumsangaben Positions und Gesamtsummen festgestellt Anschlie end wird eine Mail erzeugt in der die Ursache der Unklar Mail mit heit dargelegt wird und in der alle verf gbaren Informationen zusammen Unklarheiten gestellt sind Diese Mail wird wiederum an das B ro geschickt das diese F lle bearbeitet Reklamationsb ro Die Abk rzungen in der Abbildung bedeuten bk_nr Buchungskontennummer buch trans buchungskonto transaktionen k id Kundenschl ssel r_nr Rechnungsnummer ZE Zahlungseingang ze_id Zahlungseingangsld 246 11 Sequenzen sd AbgleichZahlungseingang i doHoleZEi alt fergebris i Zahlung in Ordnung l l l I I lerge nis 3 Zahlunglrnklar i E Er a E EEE F GE a l E BD aa ms i Zahlungseingaenge l gt leseDatensatz ze_id gt datensalz gt LeseBuchungstext text 7 ergebnis gt erg gt abgleichRechnu
88. fungen Sie kann so interpretiert werden Ein Studierender besucht eine Pr fung die sich auf eine Lehrveranstaltung bezieht Beide dreistelligen Assoziationen unterscheiden sich in ihrer Aussage kraft von den gleichnamigen zweistelligen Dazu unten mehr 3 2 Grafische Darstellung Eine zweistellige Assoziation wird normalerweise einfach durch eine durchgezogene Linie dargestellt die die beiden Klassen verbindet An der Linie sind die Bezeichnungen der Assoziation angegeben Es sind zwei eine f r jede Richtung Bezeichnung Klasse 1 Assozialions sar z bezeichnung 2 Abbildung 3 2 1 Assozialions b bezeichnung 1 Bezeichnung Klasse 2 Grafische Darstellung einer zweistelligen Assoziation ohne Raute Jede Assoziation kann auch mit einer Raute gezeichnet werden Dann verbindet eine durchgezogene Linie jede beteiligte Klasse mit der Raute Die n chste Abbildung zeigt ein Beispiel Assozialions bezeichnung 1 Bezeichnung Assoziations Klasse 2 bezeichnung 2 Bezeichnung Klasse 1 Abbildung 3 2 2 Grafische Darstellung einer zweistelligen Assoziation mit Raute 9 Statt dreistellig wird auch der Begriff tern r verwendet 3 2 Grafische Darstellung 41 Liegen mehr als zwei Klassen vor ist die Assoziation also mehr als zwei stellig kann sie nur auf diese Weise gezeichnet werden Die gef llten Dreiecke bei den Assoziationsbezeichnungen zeigen die Leserichtung vgl d
89. gen gt aber um in einer Prozessbeschreibung als T tigkeit wahrgenommen und modelliert zu werden in einer Ereignisgesteuerten Prozesskette z B als Funktion Auch ein Theorielement um Sequenzdiagramme ineinander zu verschachteln liegt mit dem Theorieelement nteraktionsauftreten ref vor Damit ist es m glich e ein oft ben tigtes Modellfragment einmal zu erstellen und wo immer n tig zu nutzen e bzw aus Gr nden der bersichtlichkeit einzelne Fragmente auszu lagern 11 5 Sequenzen und Unternehmensmodellierung 253 11 5 3 Weitere Theorieelemente Es gibt in der Methode SD sehr viele weitere Elemente die zumindest n einer Standardprozessmodellierung vgl hierzu Kap tel 15 nicht ben tigt werden Weitere Interaktionsoperatoren Dies gilt z B f r die Interaktionsoperatoren break parallel weak sequen cing strict sequencing negative critical region und ignore consider Diese zielen so sehr in die Systemanalyse die Programmentwicklung dass sie f r die Prozessmodellierung keinen Sinn machen es sei denn Prozessmodellierung f llt auf Systemanalyse zur ck vgl unten sowie Kapitel 14 Asynchron synchron und Nebenl ufigkeit Die n chsten beiden Punkte erscheinen auf den ersten Blick als untaug lich f r eine Standardprozessmodellierung Bei n herem Hinsehen aller dings wird schnell klar dass sie f r eine systemnahe Prozessmodellierung nat rlich notwendig sind denn da geht es ja um die Realisier
90. geschaffene Bereich stellt dann einen Operanden dar Ein Operator im linken oberen Eck des Rechtecks in einem F nfeck gibt die Art der Verkn pfung an vgl auch die folgende Abbildung Als Operator kann einer der oben aufgelisteten dienen mit durchaus sehr unterschiedlicher Bedeutung Vgl unten Es ist m glich dass ein Sequenzdiagramm mehrere solche Interakti onsoperatoren enth lt Dies nicht nur hintereinander entlang der Nach richtenfolge sondern auch verschachtelt vgl die Beispiele in den folgen den Abbildungen Interaktionsoperator altfernative kombiniertes Fragment l l Nachrichtenverkehr usw f r den Fall dass die Bedingung erf llt ist i l Nachrichtenverkehr usw f r den Fall dass die Bedingung nicht erf llt ist Interaktions Interaktions operanden einschr nkungen Abbildung 11 4 3 Grafische Realisierung von kombinierten Fragmenten Semantik bestimmung Ein Operator und seine Operanden Mehr als ein Operator 232 11 Sequenzen Die Abbildung enth lt u a folgende Komponenten Ein kombiniertes Fragment Zwei Interaktionsoperanden Den Interaktionsoperator alternatives alt Au erdem zwei Interaktionseinschr nkungen die bei diesem Interaktionsoperator Bedin gungen f r die Alternativen darstellen Kaufabwicklung Die zweite Abbildung nimmt das Beispiel Kaufabwicklung von oben mit Verzweigung wieder auf Hier wurde nun wenigstens eine Verzweigung d h ei
91. h lt Von AD zu EPK Parameterknoten Informationsobjekt Aktion Funktion meist Verzweigung 202 10 Aktivit ten 10 11 38 AD und EPK im direkten Vergleich Wenigstens kurz soll hier noch betrachtet werden wie es um die bertra gung von Aktivit tsdiagrammen in eine Methode der Standardprozess modellierung hierf r wurde die Methode EPK gew hlt steht Ist sie m glich Wo liegen die Probleme Mehr dazu in WebZumBuch _ UMOI Alle hier verwendeten Aktivit tsdiagramme kommen oben in diesem Kapitel vor Die gr eren sind hier aber grafisch anders angeordnet von oben nach unten und nicht nicht wie bei den UML Autoren von links nach rechts Dies dient dazu den Vergleich mit den Ereignisgesteuerten Prozessketten zu erleichtern Aktivit t Auftragsbearbeitung Das einf hrende Beispiel zu diesem Kapitel kommt in mehreren Varian ten vor vgl die Abbildungen 10 3 1 10 9 1 und 10 9 2 F r diesen Ver gleich wurde 10 9 2 genommen eine der Versionen mit Angabe der Or ganisationseinheiten Die folgende Abbildung zeigt das Aktivit tsdia gramm danach ist die entsprechende EPK angegeben Die bertragung ist fast problemlos Der Parameterknoten Auftrag wird zu einem Informationsobjekt das der Funktion Auftragseingang zugeordnet ist Anmerkung zu den EPKs Der Verfasser h lt sich an die Original version von Scheer mit einer Ausnahme Informationsobjekte die lediglich transportiert werden erhalten eine Verbi
92. ist wie folgt loop lt minint gt lt maxint gt lt minint gt nat rliche Zahl d h positive ganze Zahl lt maxint gt nat rliche Zahl gr er oder gleich lt minint gt Einsch tzung W hrend das Konzept strukturierte Sequenzdiagramme sehr sinnvoll ja sogar notwendig anmutet ist die grafische Realisierung unhandlich Wie soll dies bei komplexeren Abl ufen funktionieren Dass es aber zumindest bei berschaubaren Problemstellungen funktioniert zeigen die Beispiele in diesem Kapitel 11 4 5 Gates Dieses Modellelement spielte schon bei den Aktivit ten eine Rolle vgl Kapitel 10 Genau wie dort ist ein Gate eine Verkn pfungsstelle an der eine Nachricht von au erhalb eines Fragments mit einer Nachricht inner halb in Beziehung gebracht wird Die Gates werden durch einen Namen identifiziert falls festgelegt oder durch einen konstruierten Bezeichner der durch Aneinanderh ngen der Richtung der Nachricht und dem Nachrichtennamen z B out CardOut gebildet wird Aufgabe der Gates und der Nachrichten zwischen diesen ist es f r jede Nachricht den konkreten Sender und Empf nger klarzustellen Gates sind Punkte auf dem Rahmen des Sequenzdiagramms die End punkte der Nachrichten Ihnen kann eine Bezeichnung zugewiesen wer den Dasselbe Gate kann mehrfach vorkommen in derselben Abbildung oder n verschiedenen 11 4 Vertiefung 237 In der folgenden Abbildung ist an de
93. meist auf mehreren Ebenen So verwendete die SAP als sie ihr Unternehmensmodell aufstellte vgl Staud 2006 Kapitel 8 f r eine Kurzdarstellung f r die Dynamik aspekte auf der detailliertesten Ebene Ereignisgesteuerte Prozessketten dar ber Szenarien wo in einem Element ganze Gesch ftsprozesse enthal ten sind und dar ber Wertsch pfungsketten Bei letzteren kann dann z B der ganze Vertrieb in einem Element enthalten sein Im Strukturteil werden oft Modellierungstechniken der semantischen Datenmodellierung insbesondere ER Modelle bei der SAP n den Var anten SERM und SAP SERM verwendet Da kann dann leicht integriert werden z B indem mehrere Entit tstypen aus einem Bereich des Ver Daten Prozesse Organisations strukturen Mehr oder weniger detailliert Von Basis EPKs bis zu Wertsch pfungs ketten Von ERM bis zu Relationen RM EPK 2 1 Einleitung triebs zu einem zusammengefasst werden Dies ist in mehreren Ebenen denkbar und auf der obersten Ebene kann dann das gesamte Unternehmen auf einer Seite dargestellt werden Das ist der Grund weshalb hier bei den Theorieelementen wo immer es sinnvoll ist gefragt wird ob sie die Bildung von Ubersichtsnotationen zulassen Klassisch oder Objektorientiert Die Aufgabe der Unternehmensmodellierung kann klassisch oder ob jektorientiert gel st werden Klassisch meint evtl auf der Basis des ARIS Ansatzes von Scheer die Verwendung relationa
94. ngig von der Existenz der einzelnen Objekte sie betreffen die Gesamtheit der Objekte der Klasse Beispiele in einer Klasse Angestellte k nnten feststellenAnzahl und berechnenGehaltssumme sein passend zu den obigen Attributen Auch hier erfolgt die Kennzeichnung durch Un terstreichung Wie n der UML vorgeschlagen werden in den textlichen und grafi schen Darstellungen von Objektklassen Klassenattribute und methoden durch Unterstreichung gekennzeichnet vgl die Abbildungen unten Klassenmethoden und attr bute machen einen grunds tzlichen Unter schied bei der Klassenbildung im objektorientierten Ansatz und bei lte ren Modellierungsans tzen z B der Bildung von Entit tstypen in der ER Modellierung deutlich S e zeigen dass hier auch die Klassen selbst Tr ger von Attributen und Methoden sein k nnen 2 4 Grafische und textliche Darstellung 2 4 1 Klassen Die Darstellung von Klassen erfolgt durch ein Rechteck mit der Bezeich nung der Klasse Folgende weitere Festlegungen f r die grafische Darstel lung gelten in der UML OMG 2003a S 88 e Die Bezeichnung der Klasse wird zentriert und in Fettschrift gesetzt e Der erste Buchstabe der Klassenbezeichnung wird gro gesetzt e Besteht die Bezeichnung aus mehreren W rtern werden diese je weils mit Gro buchstaben begonnen und ohne Leerzeichen aneinan dergef gt Klassenattribute Klassenmethoden Klassen als Tr ger von Attributen und Methoden Classifier
95. pr zisieren k nnen Das Ziel einer Klasse ist die Klassifikation von Objekten und die Festlegung der Merkmale die die Struktur und das Verhalten dieser Objekte festlegen OMG 2003a S 87 bersetzung durch den Verfasser Weiter geben sie einen wichtigen Hinweis auf korrekte Modellierung wenn sie ausf hren dass die Objekte einer Klasse f r jedes Attribut das zur Klasse geh rt Werte enthalten m ssen OMG 2003a S 87 Denn das bedeutet dass jedes Attribut f r alle Objekte G ltigkeit haben mu Dies verhindert zum Beispiel dass das Attribut beherrschte Program miersprache f r alle Angestellten angelegt wird wenn es Angestellte gibt die nicht programmieren vgl zu dieser Problematik auch Kapitel 6 Sie weisen auch darauf hin dass es voreingestellte Werte f r die Attri bute geben kann die bei der Objekterzeugung Instantilerung vgl unten falls nicht anders gewollt genutzt werden Diese werden dann beim At tr but vermerkt Soweit die UML Autoren Zusammenfassend kann dann wie folgt de finiert werden Objektklasse In einer Objektklasse sind Objekte zusammengefasst die dieselben Attribute und Methoden haben In einem objektorientierten Modell gibt es in der Regel zahlreiche Ob jektklassen Diese beschreiben zum einen jeweils eine Menge von Objek ten der Realwelt zum anderen stehen sie in Beziehungen dazu unten mehr 4 Mit Merkmalen sind Eigenschaften Attribute gemeint 5 Das schlie t nat rl
96. r eigentlich der Begriff Kategorie zur Verf gung Hier soll trotzdem der englische Begriff benutzt werden Klassifi zierer w rde doch recht seltsam klingen auch um den Zusammenhang mit der objektorientierten Theorie gleich herzustellen In Booch Rumbaugh und Jacobson 2005 wird f r Classifier die bersetzung Ding verwendet Dies ist ein mutiger Vorschlag da er auch die Allgemeinheit des Begriffs und Konzepts zum Ausdruck bringt Allerdings wird er hier nicht nachvollzogen da er sprachlich zu argen Wortunget men f hren w rde Dass sich die UML Autoren mit der Definition hier nicht leicht tun zeigt auch folgendes Zitat A classifier models a discrete concept that describes things objects having identity state behavior relation ships and an optional internal structure Rumbaugh Ja cobson und Booch 2005 S 48 Hervorhebung durch den Verfasser Diese Schwierigkeiten bei der Definition sind nicht berraschend Der Begriff Classifier ist ein Grundbegriff mit philosophischen Aspekten und bedarf daher eines hohen Abstraktionsgrades Grafische Darstellung Die grafische Standardnotation f r einen Classifier ist eine Rechteck mit durchgezogenen Linien in dem die Bezeichnung des Classifier angege ben ist Der Typ des Classifier kann in Guillemets ber der Bezeichnung angegeben werden Optional k nnen Bereiche durch horizontale Linien abgetrennt werden In diesen Bereichen werden Merkmale oder andere Elemente
97. stark ja sie haben sogar den Objektfluss als Ausgangspunkt Objektfluss wenn sie ausf hren das das Konzept des Kontrollflusses eingef hrt wur de um die Abfolge von Verhalten in den F llen modellieren zu k nnen wo keine Objekte flie en OMG 2003a S 316 Zusammengefasst gilt dass Objekte und Daten nicht ber eine Kon trollflusskante gelangen k nnen ebenda S 315 d h Kontrollfl sse d rfen keinen Objektknoten an einem ihrer Enden haben Dies greift auch bzgl der im n chsten Abschnitt vorgestellten Kontrollknoten Operato ren Die Kanten die zu einem Kontrollknoten hin oder wegf hren sind entweder alle Objektfl sse oder alle Kontrollfl sse Eine Vermischung ist nicht zul ssig OMG 2003a Seite 317 Obiges gibt einen guten Einblick in die Philosophie der UML Autoren Am Anfang Hier war entsprechend der Kernaufgabe Systemanalyse und Systemde Objektfl sse sign und entsprechend der daf r notwendigen elementaren Beschrei bungsebene tats chlich der Objektfluss zuerst da und sozusagen im Zentrum der Betrachtung Der Kontrollfluss kam dann sp ter dazu Knoten mit Inhalt Wof r berblick Bew ltigung Parallel verarbeitung 152 10 Aktivit ten 10 5 Strukturierte Aktivit tsknoten Sie tragen zwar die Bezeichnung Knoten sind aber tats chlich auch Akti vit ten allerdings solche die in anderen gr eren enthalten sind und dort hnlich wie ein Knoten wahrgenommen werden Diese
98. time action 174 Wettlaufsituation Aktivit t 189 XOder Verzweigung ohne Operatorsymbol 150 151 Zeitereignis 182 zeitliche Festlegung SD 248 Zeitverbrauch SD 250 Zuordnung Organisationseinheiten Aktivit ten 185 Zuordnung Personen AD 185 186 Zusammenf hrung 133 157 168 180 186 188 189 191 zusammengesetzter Zustand 299 Zustand 307 Zustand in Protokollzustandsautomat 326 Zustand mit Bereichen 316 333 Zustand mit mehreren abgehenden Transitionen 293 294 296 331 333 Zustand mit Regionen 299 312 Zustand mit Subzustandsautomat 319 Zustand von Objekten 142 Zustand einbettender 312 Zustandsaktivit t 318 333 Zustandsautomat 294 318 Zustandsautomat eines Subzustandes 318 Zustandsautomat Geldautomat 307 Zustandsautomat im Zustand 307 312 318 Zustandsautomat Kundenanfrage 296 331 Zustandsautomat Leistungserbringung 312 Zustandsautomat LeseBetrag 293 Zustandsautomat mit Regionen 302 Zustandsautomat Telefonanlage 333 Zustandseinschr nkung SD 243 Zustands bergang mit Gabelung 302 Zustands bergang mit Verkn pfer 302 376 16 Indexierung 16 3 Abstrakte Operationen 91 accept event action 171 Aktionsausf hrung 124 Aktionsknoten 133 Aktivit tsende 163 Aktivit tskanten 130 Aktivit tsknoten 130 assertion 236 Asynchroner Nachrichtenaustausch 101 Classifier 34 Elementaraktion 125 enthaltender Zustandsautomat 308 entity 11 Ereigniseintritt bei Sequenzen 226
99. und die W chter Bedingungen sind optional Falls das Ereignis Parameter hat k nnen sie in dem Ausdruck der die Aktivit t festlegt durch die aktuelle Ereignisva riable genutzt werden 13 3 Vertiefung 317 Zusammengesetzte Zust nde Im Zerlegungsbereich w rd der Aufbau des Zustandes durch Regionen andere Zust nde und Transitionen angegeben Erg nzend kann in einem eigenen Bereich eine Abbildung die Verschachtelung angeben In einigen F llen kann es sinnvoll sein die Zusammensetzung des zu sammengesetzten Zustandes zu verbergen Zum Beispiel k nnen eine gro e Anzahl von Zust nden in einem zusammengesetzten Zustand ver schachtelt sein und einfach nicht alle in den Platz passen der f r die Ab bildung zur Verf gung steht In diesem Fall wird der zusammengesetzte Zustand durch ein einfaches grafisches Symbol repr sentiert Dieses wird blicherweise im rechten unteren Eck vgl Abbildung 13 3 18 f r die Darstellung eingef gt Die Inhalte des zusammengesetzten Zustandes werden n einer eigenen Ab bildung gezeigt 13 3 7 Beispiele f r zusammengesetzte Zust nde Beispiel 1 Zust nde im Zustand Das folgende Beispiel zeigt einen einbettenden Zustand W hlen In den eingebetteten Zust nden s nd auch die Eingangs Ausgangs und eine Zustandsaktivit t angegeben Der Zustand beschreibt in einfacher Form das W hlen einer Telefon nummer in klassischen Fernsprechanlagen Der Initialknoten f hrt zum ersten Zus
100. von Asso Von Ein bis ziationen Mehrstellig e Fine Assoziation einer Klasse mit sich selbst einstellig e Fine Assoziation zwischen zwei Klassen zweistellig bin r e Eine Assoziation zwischen mehr als zwei Klassen mehrstellig z B tern r Beispiele f r einstellige Assoziationen sind St cklisten ist enthalten n oder ein Vorgesetztenverh ltnis ist vorgesetzt Zweistellig Mehr als zwei Klassen Linie mit zwei Bezeichnungen ohne oder mit Raute 40 3 Assoziationen Zweistellige Assoziationen sind sehr zahlreich Im Anwendungsbe reich Hochschule z B Pr fungsbesuch beteiligte Klassen w ren Studierende und Pr fungen oder Vorlesungsbesuch Studierende und Vorlesungen Im Anwendungsbereich Angestellte z B Abteilungs zugeh rigkeit beteiligte Klassen Angestellte und Abteilungen Mehrstellige Assoziationen kommen nicht sehr oft vor Hier zwei Bei spiele die oben angef hrte zweistellige Assoziationen inhaltlich ausbau en Im Anwendungsbereich Hochschule ist eine dreistellige Assozia tion denkbar die den Besuch von Lehrveranstaltungen beschreibt Sie verbindet die Klassen Studierende Dozenten und Lehrveranstaltungen und kann so interpretiert werden Ein Studierender besucht eine Vorle sung bei einem Dozenten Vgl das Hochschulbeispiel unten Eine weitere dreistellige Assoziation wird im Hochschulbeispiel unten betrachtet die zwischen Studierende Lehrveranstaltungen und Pr
101. von Verhaltens zustandsautomaten sehr hnlich Das Schl sselwort protocol wird bei der Bezeichnung des Zustandsautomaten platziert Die folgende Abbildung zeigt ein Beispiel Die T r der Kontextclassi fier kann die drei Zust nde ge ffnet zu und verschlossen annehmen Vom Zustand ge ffnet kann nur der Zustand zu erreicht werden von die sem entweder offen oder verschlossen Somit dr ckt die Abbildung auch aus dass die T r erst verschlossen werden kann wenn sie zugemacht wurde Ziel Widerspruchs freiheit und Korrektheit T r als Kontextclassifier Prozessbeispiel Aktion Setzen des neuen Zustandes Neu Offen 326 13 Zustandsautomaten ge ffnet verschlossen 0151 Abbildung 13 4 2 Protokollzustandsautomat T r Quelle OMG 2003a S 466 Figure 364 bersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten o Mehrere Protokolltransitionen Mehrere Zust nde in einem Protokollzustandsautomaten Au erdem das Beispiel eines Kontextclassifiers 13 5 Beispiele von Verhaltenszustandsautomaten 13 5 1 Prozessbeispiel Rechnung mittelgro W hrend das Beispiel in Abbildung 13 2 6 Rechnung einfach auf grund seiner Abgehobenheit tats chlich den Eindruck eines Prozessbei spiels macht ist dies hier nicht mehr so eindeutig Aufgrund der Detaillie rung sind wir hier doch schon recht nahe an der programmm igen Reali sierung Noch mehr im f
102. von oben gekl rt der flussabw rts wartende Join vgl Abschnitt 10 6 3 10 10 2 Lagerentnahme Die erste Aktion links modelliert eine Lagerentnahme bzgl einer Auf tragsposition des zu bearbeitenden Auftrags Die nachfolgende Gabelung st t zum einen die Aktion Vorbereitung Lieferung zum anderen eine Pr fung an ob der Lagerbestand noch ausreichend ist vgl den decision input Die Pr fung wird durch eine Verzweigung modelliert und durch An gabe des decision input pr zisiert Es wird gepr ft ob nach der Lagerent nahme der Lagerbestand unter die Nachbestellmarke gefallen ist Falls dies so ist erfolgt eine Nachbestellung falls nicht endet dieser Zweig Das Flussende bedeutet dass dieser eine Kontrollflusszweig die Akti v t tskante mit dem Ergebnis falsch aus der Pr fung ob der Lagerbe 10 10 Beispiele 181 stand unter die Nachbestellmarke gefallen ist beendet wird Der andere Kontrollflusszweig ist weiter aktiv Der Schlussknoten so wie er hier eingesetzt wird ist nur n tig durch das Token Konzept In einer Ereignisgesteuerten Prozesskette w rde hier einfach der Prozess nicht fortgesetzt f Vorberei tung Auftrag Lieferung versenden Quelle OMG 2003a S 322 Figure 239 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten Eine Verzweigung Eine Gabelung Ein Flussende Au erdem einen decision input 10 10 3 Aspekte des P
103. werden und nicht die Klassen als solche vgl z B Rumbaugh Jacobson und Booch 2005 S 39 Deshalb erfolgt in Abschnitt 7 3 auch eine vertiefte Kl rung des Rollenbegriffs 7 2 Kollaborationen 7 2 1 Definition Oben wurde es angef hrt Neben den strukturierten Class fiern 1 d R objektorientierte Modelle die sich als Klassendiagramme grafisch artiku lieren sind Kollaborationen die Basis f r die Betrachtung des Nachrich tenverkehrs Dieses Theorieelement ist eigentlich nicht notwendig da Zusammen arbeit in vielen anderen Theorieelementen der UML modelliert wird In Booch et al wird aber dann doch die Motivation deutlich die hinter die sem Konstrukt steht Es soll Verhalten im Kleinen modellieren Der Schl ssel neben satz f r dieses Verst ndnis ist der folgende Eine Kollaboration benennt eine Gemeinschaft von Klas sen Interfaces und anderen Elementen die zusammenarbei ten um ein kooperatives Verhalten hervorzurufen das mehr ist als die Summe seiner Teile Booch Rumbaugh Instanzmethoden und Klassenmethoden Basis einer Interaktion strukturierte Classifier oder Kollaborationen Rollen gestalten den Nachrichten verkehr Verhalten im Kleinen Elementare Systembestandteile Rollen Systeme Begrenzte Aussagekraft 96 7 Zusammenwirken durch Nachrichtenverkehr und Jacobson 2006 S 425 Hervorhebung durch den Ver fasser Also sinnvoll abgegrenzte Systemkomponenten
104. wie z B Kommentare und solche die zusammen mit einigen Zusatzinformationen an die syntaktische Analyse weitergegeben werden Die se werden auch Token genannt Die syntaktische Analyse erzeugt einen Tokenstrom der dem Parser bergeben wird der die eigentliche syntaktische Analyse vornimmt In der Sprechweise der formalen Sprachen sind die Token in der Literatur auch Morpheme genannt die Terminalsymbo le f r den Parser Typische Token sind Wortsymbole Schl sselw rter reservierte W rter Klammern Operato ren Literale Zahlw rter Zeichenketten und Bezeichner Namen f r Konstanten Variablen und Funktionen Dasselbe meinen Gumm und Sommer 1998 S 542 wenn sie Token als elementare Bestandteile eines Programmes definieren Zusammengefasst kann damit festgehalten werden dass in der Informatik Token kleinste interpretierbare Einheiten einer formalen Sprache sind Die UML Autoren erl utern bei der Beschreibung der Semantik von Ak tivit ten was sie unter einem Token verstehen alle nachfolgenden Zitate stammen von OMG 2003a S 286 und sind vom Verfasser bersetzt Ein Token enth lt ein Objekt einzelne Daten oder Kontroll information Entsprechend ist die Wortwahl Objekttoken Datentoken und Kontrollto ken Dabei geht es um Objekte von Objektklassen aus dem objektorientier ten Modell das den dynamischen Bereich umgibt oder um etwas virtuel les was direkt aus der Modellbildung kom
105. wurde hier die oben eingef hrte L sung gew hlt Die Pr fungen werden an sich festgehalten d h ohne Bezug zu konkreten Lehrveranstaltungen 3 8 Klassendiagramme Definition und Beispiele 53 Von den Assoziationen ist wohl nur das Pr fungsgeschehen erkl Die Assoziationen rungsbed rftig Diese dreistellige Assoziation erfasst den Besuch von Pr fungen die sich ja immer auf bestimmte Lehrveranstaltungen bezie hen durch Studierende Die Wertigkeiten bedeuten e bei Studierende Rolle Pr fungsteilnehmer An einem Pr fungsgeschehen nimmt mindestens ein Studierender teil e bei Lehrveranstaltungen Rolle Pr fungsgegenstand Ein Pr fungsgeschehen bezieht s ch auf eine Lehrveranstaltung e bei Pr fungen Rolle Pr fung Ein Pr fungsgeschehen erfolgt auf eine bestimmte Pr fungsart Klausur m ndliche Pr fung usw Dass dieselbe Lehrveranstaltung u U am Ende eines jeden Semesters gepr ft wird und damit entlang der Zeitachse mehrfach vorkommt ist hier noch nicht ber cksichtigt kommt unten aber dazu i di I et p Wer bei diesem Klassendiagramm Unbehagen versp rt und sich Phasen z B fragt wo denn die Pr fungsergebnisse abgelegt werden sp rt richtig Vgl hierzu das n chste Kapitel Dozenten dazNr integer anrede string halten orlesung haltenPr fung Lehrender 4 werden gehalten De putatsstunde F el HE Leh
106. zusammengefasst werden wie es die folgende Abbildung zeigt b Ci Abbildung 10 6 7 Zusammenf hrung und Verzweigung zusammen In Bezug auf die Semantik bedeutet dies dass in einer konkreten Situati on genau eine der ankommenden Kanten aktiv wird und dass der Kon trollfluss zu genau einer der wegf hrenden Kanten f hrt Beispiel Die Situation im folgenden Fragment kann man sich wie folgt vorstellen Ein Handelshaus hat einen Teil der Kunden schon auf Rechnungen umge stellt die per E Mail verschickt werden Die meisten erhalten aber die 158 10 Aktivit ten Rechnung noch per Brief Wenn dann eine Paketsendung fertig und ver schickt ist muss entschieden werden auf welche Weise anschlie end die Rechnung verschickt wird Rechnung per Brief Brief Rechnung erstellen E Mail gt Rechnung erstellen Rechnung per E Mail Abbildung 10 6 8 Zusammenf hrung und Verzweigung zusammen 10 6 3 Gabelung Ein Gabelung fork node repr sentiert eine Und Verkn pfung in den wegf hrenden Kanten d h alle wegf hrenden Kanten werden aktiviert wenn der Kontrollfluss beim Knoten ankommt Gabelungen wurden eingef hrt um Parallelit t von Kontrollflusszwei gen n Aktivit ten modellieren zu k nnen Grafische Darstellung Die grafische Darstellung geht von einem Balken aus Hier kommen nun aber eine zuf hrende und mehrere wegf hrende Aktiv
107. 03a S 369 Verhalten ist untrennbar mit seinem Tr ger dem Objekt oder den Objekten verbun den 8 4 Executing und Emergent Behavior 117 Diese enge Verkn pfung bleibt nat rlich auch bestehen wenn es um die Verarbeitung von Daten geht Hat Verhalten mit Daten zu tun dann kommen die Daten vom Host Objekt Damit ergibt sich eine sehr enge Definition von Verhalten deren Eignung f r die Gesch ftsprozessmodel lierung in Kapitel 9 diskutiert wird Eine Ausnahme gibt es von dieser stringenten Definition Das sog executing behavior das gleich hier unten eingef hrt wird Dieses kann auch selbst ein Objekt sein OMG 2003a S 369 8 4 Executing und Emergent Behavior Die UML Autoren unterscheiden zwei Arten von Verhalten executing behavior und emergent behavior Executing Behavior Executing behavior wird durch ein Objekt ausgef hrt seinen Host Es stellt die Beschreibung des Verhaltens dieses Objektes dar und wird di rekt verursacht durch den Aufruf einer Verhaltenseigenschaft dieses Ob jekts oder durch dessen Erzeugung In beiden F llen ist es die Konse quenz der Ausf hrung einer Aktion durch ein Objekt Ein Verhalten hat Zugriff auf die Strukturmerkmale seines Host Objekts Emergent Behavior Emergent behavior entsteht aus dem Zusammenwirken von Objekten Es stellt also das Verhalten einer Gruppe von Objekten die Summe ihrer executing behaviors dar Beispiele f r ein emergent behavior ist die Aus f hrung ei
108. 10 5 4 und durch Ausnahmen vgl Abschnitt 10 5 5 Vgl Ausnahmen Abbildung 10 5 16 f r das obige Beispiel erg nzt um die beiden Konzep te Anmerkung zur Gliederung Bevor die Betrachtung der Knoten mit den strukturierten Aktivit tsknoten und den Kontrollknoten fortge setzt werden kann m ssen nun erst die Kanten eingef hrt werden 10 4 Aktivit tskanten Es gibt zwei Arten von Kanten in Aktivit tsdiagrammen Aktivit tskan ten e Kontrollflusskanten control flow edges e Objektflusskanten object flow edges 10 4 1 Kanten f r den Kontrollfluss Wie oben ausgef hrt und im einf hrenden Beispiel gezeigt wird der Die Kanten und ihre Kontrollfluss durch Kanten edges zwischen den Aktivit tsknoten ausge Darstellung dr ckt Eine solche Aktivit tskante wird durch eine Pfeillinie zwischen je zwei Aktivit tsknoten dargestellt Hat die Kante eine Gewichtung wird Gewichtung W chter 138 10 Aktivit ten diese in geschweiften Klammern angegeben Hat sie eine Beschriftung wird diese ebenfalls bei der Kante vermerkt Vergleiche die folgende Abbildung f r eine einfache Kante eine mit Gewichtung und eine mit Beschriftung weight n gepackt 0052 Abbildung 10 4 1 Aktivit tskanten einfach mit Gewichtung mit Beschriftung ber eine Aktivit tskante kann zu einem Zeitpunkt eine beliebige Anzahl von Token passieren Die Gewichtung schreibt die Mindestanzahl von Tokens vor die zur selben Zeit ber die
109. 13 6 Zustandsautomaten und Unternehmensmodellierung 341 Abbildung 13 6 1 Zustandsautomat Rechnung einfach als Ereignisgesteuerte Prozesskette Die andere Richtung Die bertragung in die andere Richtung von EPKs zu Zustandsautoma Von EPK nach ZA ten ist nur so m glich dass der gesamte Gesch ftsprozess als Zustand aufgefasst wird und dann in Subzust nde unterteilt wird Man nutzt in diesem Fall die ausgefeilten M glichkeiten der Verschachtelung von Automaten f r die Abbildung der Prozesslogik So etwas ist ansatzwei se m glich f hrt aber nicht zu berzeugenden Ergebnissen vor allem auch nicht in der grafischen Gestaltung Dies kann aus Platzgr nden hier nicht dargestellt werden Vgl Web ZumBuch UMOI Systemorientierung Verschachtelung Antwort 1 Automatisierung Neue Frage Antwort 2 342 13 Zustandsautomaten 13 6 4 Zusammenfassung Nimmt man alle Faktoren zusammen Methodenelemente Darstellungs technik Methodenphilosophie dann mu man feststellen dass mit den Zustandsautomaten ganz einfach eine andere Ebene modelliert wird als in der Gesch ftsprozessmodellierung Es ist eine die sehr nahe am zu erstellenden Programm ist Das macht auch die Wortwahl der UML Autoren immer wieder deut lich die au erhalb der Beispiele meist auf die programmnahe System ebene ausgerichtet ist Nur hin und wieder v a auch in den Beispielen wird Bezug auf Abl ufe genommen die f r Gesch ftsp
110. 133 Grafische Darstellung 154 Kontrolltoken 119 140 178 LCA Zustand Definition 322 Lebenslinie Aufbau 220 Beispiel 222 225 233 247 grafische Darstellung 98 Lebenszyklus eines Objekts Definition 285 Lokales Attribut SD Beispiel 229 loop Definition 236 mehrfache Vererbung 90 Methode AD 5 129 191 194 196 199 265 352 357 Definition IX Methode AF Definition IX Methode EPK V 5 129 191 201 202 208 257 259 339 357 16 1 Allgemeiner Index 369 Definition IX Methode SD 219 240 251 253 255 259 Definition IX Methode ZA 285 338 342 Definition IX Methoden 17 18 Methoden klassenbezogene Definition 21 Methoden vs Operationen 18 Muss Assoziationen 43 Nachricht 93 101 Definition 94 Nachrichten asynchron SD Beispiel 228 229 Nachrichten synchron SD Beispiel 222 225 233 247 Namensbereich eines Zustandes 316 Nebenl ufigkeit 101 Neudefinition Assoziationsende 58 Objekt Zustand 26 Objekt mit Zustand Beispiel 147 149 Objekt oder Eigenschaft 14 Objektdiagramm Beispiel 60 Definition 60 Objekte Definition 13 14 komplexe 34 zusammengesetzte 34 Objektfluss 134 Beispiel 141 Objektfluss ohne Kanten 144 Objektfluss zwischen Knoten Beispiel 142 Objektflusskanten 137 140 Objektidentifizierer 33 Objektklasse Definition 15 16 Objektknoten 133 141 Beispiel 137 160 Definition 134 Grafische Darstellung 135 Objektknoten f r Mengen Grafische Darstellung 135 Objektknoten im Objektfluss Be
111. 2 Tr ger der T tigkeiten Ein solches Konzept ist hier nicht vorgesehen Betrachten wir zwei Beispiele Wenn die Rechnung vom Status Neu zu Offen bergeht gibt es keine M glichkeit einen Handelnden festzuhalten obwohl es nat rlich einen gibt Wenn im Geldautomat die eingeschobene Karte gelesen wird ist ebenfalls keiner im Modell direkt erkennbar Systemorientierung Nur ein flaches Objekt Nur ein Objekt aber tief verschachtelt Keine Informations verarbeitung 336 13 Zustandsautomaten Der Grund ist einfach die Systemorientierung der UML Autoren Tr ger der Aktivit ten ist implizit unbewusst das jeweilige System das technische oder das Softwaresystem da st das Festhalten eines Tr gers bei einer einzelnen Handlung einem Systemschritt nicht sinnvoll 3 Informationen auf Tr gern aller Art Typ fix und flach Bei diesem Typ Zustandsautomat ist das Objekt selbst im Prozessumfeld also typischerweise ein Gesch ftsobjekt der Informationstr ger der betrachtet wird Weitere Information findet sich in den Tansitionen Dies sind aber Informationen die zu den Zustands nderungen f hren die also die Dynamik des Geschehens realisieren und insofern hier nicht z hlen Dies reicht nat rlich f r eine Prozessmodellierung nicht aus Welcher Gesch ftsprozess kommt schon mit nur einem Gesch fts Objekt aus Typ dynamisch und tief Bei diesem Typ Zustandsautomat spielen Informatio
112. 253 wiederholt In beiden F llen f hren die UML Autoren aus dass nach dem Bau der letzten Komponente der Knoten Flussende greift und die Herstellung der Komponenten endet dass anderes Verhalten aber weiterhin aktiv ist hier die Aktion Baue Komponente ein 10 9 Die zeitliche Dimension und die Ereignisse 177 Wenn es nicht so w re w re auch das Beispiel sinnlos Der Kompo nenteneinbau geht also so lange weiter bis alle Komponenten verbaut sind Das Streaming Konzept Das oben besprochene streaming Konzept durchbricht ebenfalls das ein fache Schema Aktion wird gestartet l uft ab ist beendet Der Zusatz stream an einem Pin erlaubt einer Aktion Token anzunehmen w hrend die Aktion bereits ausgef hrt wird M a W Damit k nnen dann z B Objekte jederzeit w hrend der Ausf hrung einer Aktion ankommen nicht nur am Anfang Dies gilt immer wenn ein Verhalten mit streaming Parameter aufgeru fen wird Obige Regeln gelten somit f r Input der ankommt nachdem ein Ver halten gestartet wurde und f r Output der verschickt wird bevor das Verhalten endet Stream Inputs und Stream Outputs Mehrfach aktiv Normalerweise kann ein Verhalten das bereits aktiv ist nicht nochmals gestartet werden Dies geht erst wieder wenn der Aufruf abgearbeitet ist Manchmal ist aber auch der andere Fall w nschenwert bzw n tig Die UML Autoren definieren wie folgt e Kann ein Verhalten zu ein und demselben Zeitpunkt mehrfach
113. 3 2 5 Zustandsautomat LeseBetrag Quelle In Anlehnung an OMG 2003a S 510 Figure 398 bersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Einen Anfangszustand o Einen Schlusszustand Einen Ausstiegspunkt Au erdem zwei Zust nde mit mehreren abgehenden Transitionen Was an diesem Beispiel aus OMG 2003a auff llt ist der dynamische Zust nde mit Charakter der Zust nde Tats chlich stellen sie Aktivit ten im allgemei Aktivit ten nen Sinn von Systemkomponenten dar die einen Zustand des Gesamtsy stems herbeif hren und aufrechterhalten Beispiel 2 Rechnung einfach Prozessbeispiel Die folgende Abbildung zeigt einige Zust nde die eine Rechnung z B bei einem WebShop annehmen kann Das ist hier die einfache Variante die etwas ausf hrlichere und realit tsn here findet sich in Abbildung 13 5 1 und eine weitgehend vollst ndige in Abbildung 13 5 2 Nach dem Anfangszustand ist die gerade erstellte Rechnung im Zu Neu stand Neue Rechnung Von diesem Zustand aus sind zwei alternative Offen Transitionen m glich Nicht zustellbar e Rechnung ist zuzustellen Zustellung gelungen Rechnungsstatus offen setzen Dies f hrt zum Zustand Offen e Rechnung ist zuzustellen Zustellung gescheitert Rechnungsstatus nicht zustellbar setzen Dies f hrt zum Zustand Nicht zustellbar Auch vom Zustand Offen aus sind mehrere Zustands berg nge m glich Bezahlt
114. 34 13 6 1 Tauglichkeit f r die Prozessmodellierung 335 13 6 2 Verkn pfung mit der brigen objektorientierten I Ole ee 339 13 6 3 ZA und EPK im direkten Vergleich 339 13 6 4 Zusammenfassung re 342 GESAMTEINSCH TZUNG uuusensnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 347 14 1 Statische Aspekte der Unternehmensmodellierung 347 14 2 Dynamische Aspekte der Unternehmensmodellierung 348 14 2 1 Systemdenken vs Prozessdenken 348 1422 QGesamisic it eeii 352 14 2 3 Automatisierung und ihre Folgen 2 14 2 4 Unternehmensmodellierung der Zukunt 354 ABRUNDUNG 22 20 00 0 nee 357 15 1 Prozessmodellierung auf verschiedenen Ebenen 39 15 2 Funktionsmodellierung vs Prozessmodellierung 358 15 3 Basiselemente einer Methode zur Prozessmodellierung 360 INDEXIERUNG 222er 365 16 1 Allgemeiner Inder u uuuuueunsseuiieaine 365 16 2 Index der Beispiek ee ee 374 16 5 Index der Definitionen aaa mer 376 EITERATUR crpio E 377 Abk rzungsverzeichnis AD AF BPMN BPR EPK ERP IKS IT KI OCL OID ooERP SD SPM UML vs Web ZA Aktivit tsdiagramm Anwendungsfall Business Process Modeling Notation Business Process Reengineering Ereignisgesteuerte Prozesskette Enterprise Ressource Planning Informations und Kommunikationssysteme Informationstechnologie n K nstliche Intelligenz Object Constraint L
115. 383 M gliche Bereiche eines Zustandes sind e _Namensbereich f r die Bezeichnung e Bereich f r die internen Aktivit ten e Bereich f r die internen Transitionen Ein zusammengesetzter Zustand hat zus tzlich ein Feld f r die Angabe der Zerlegungen Im Namensbereich wird die optionale Bezeichnung des Zustandes festgehalten Falls es sich um den Zustand eines untergeordneten Zu standsautomaten handelt wird der Name des entsprechenden Zustandsau tomaten als Zeichenfolge mit einem Doppelpunkt nach der Bezeichnung des Zustandes angegeben wie oben gezeigt Im Bereich f r die internen Aktivit ten steht eine Liste der Aktivit ten oder Zustandsaktivit ten die ausgef hrt werden wenn der Zustand aktiv ist F r jede Aktivit t gibt es eine Bezeichnung und einen Ausdruck Die Bezeichnung h lt fest unter welchen Bedingungen die Aktivit t aufgeru fen wird der Ausdruck legt die Aktivit t fest Vgl die obige Abbildung 13 3 16 f r ein Beispiel Einige Aktivit tsbezeichnungen s nd reserviert k nnen also nicht als Ereignisbezeichnungen verwendet werden e entry f r die Anfangsaktivit t e exit f r die Schlussaktivit t e do f r die Zustandsaktivit t Im Bereich f r die internen berg nge steht eine Liste der internen Tran s tionen Die Gestaltung ist wie die bei Triggern Jede Ereignisbezeich nung kann mehr als einmal pro Zustand auftreten wenn die W chter Bedingungen verschieden s nd Die Ereignisparameter
116. 8 XOder Verzweigung ohne Operatorsymbol Beispiel 150 151 Zeitereignis Beispiel 182 Zeitliche Dimension in der UML 170 zeitliche Festlegung SD Beispiel 248 Zeitverbrauch SD Beispiel 250 Zerlegungsbereich ZA 317 Zuordnung Personen Aktivit ten Beispiel 185 186 Zusammenf hrung Beispiel 133 157 168 180 186 188 189 191 Definition 156 Grafische Darstellung 154 156 zusammengesetzte Objekte 34 zusammengesetzter Zustand 297 Beispiel 299 Darstellung 298 Definition 297 Zustand Beispiel 307 Darstellung 315 Definition 290 von Objekten 59 Zustand eines Objekts 26 Zustand in Protokollzustandsautomat 16 1 Allgemeiner Index 373 Beispiel 326 Zustand mit Bereichen Beispiel 316 333 Zustand mit mehreren abgehenden Transitionen Beispiel 293 296 331 333 Zustand mit Regionen Beispiel 299 312 Zustand mit Subzustandsautomat Beispiel 319 Zustand von Objekten Beispiel 142 Zustand der einen Zustandsautomaten enth lt 297 Zustand einbettender Beispiel 312 Zustand einfacher Definition 298 Zustand verborgener Beispiel 318 Zustandsaktivit t Beispiel 318 333 Zustandsautomat Beispiel 293 294 296 318 331 Beispiel Geldautomat 307 Beispiel Leistungserbringung 312 Beispiel Telefonanlage 333 Definition 285 Zustandsautomat eines Subzustandes Beispiel 318 Zustandsautomat im Zustand Beispiel 307 312 318 Zustandsautomat mit Regionen Beispiel 302 Zustandsautomaten Grafische Darstellung 287 Zustandse
117. 94 TOKSIN een see 178 TOEO Beispiele e EEE ENENEENLENEE E E EEEE EEEE 179 10 10 1 Fehlerbehandlung re mean 179 110 2 Laperentmahimie sasiki anaia aa 180 10 10 3 Aspekte des Personalwesens ueeeen 181 10 10 4 Teiledesign und Teilebeschaffung 182 10 10 5 Problembehandluins unseren 186 10 10 6 Auslagenerstattung access 188 10 10 7 Vorschlagswesei uracsskesunssiiienesnen 190 10 11 Aktivit ten und Unternehmensmodellierung 191 10 11 1 Grunds tzliche Eignung ceeee 191 10 11 2 Theorieelemente f r die Prozessmodellierung 191 10 11 3 Weitere Theorieelemenite uuemi euns0u 194 10 11 4 Defizite n Hinblick auf die Prozessmodellierung 196 10 11 5 Grafische Gestaltung uuueeeeeeeeeeeeneeeeeenn 198 10 11 6 Verkn pfung mit der brigen objektorientierten TO SS PSNEREER EINER EEE EN EUNTENUEIEERUPEIRRERRER 199 10 11 7 Vergleich der beiden Methoden AD und EPK 199 10 11 83 AD und EPK im direkten Vergleich 202 10 11 9 Zusammenfassung een 213 SEQUENZEN siera EEEE EE EEEO REEN 219 E E eE E 219 11 2 Gnda sisena a a N 220 11 3 Eint hrende Beispiele une een 221 11 3 1 Systembeispiel Mahnwesen 221 11 3 2 Prozessbeispiel Kaufabwicklung 223 FRA Veilig 226 11 4 1 Weitere Theorkelemente unse 226 11 42 Nachrichten ocn E aE 221 11 4 3 Strukturieren durch kombinierte Fragmente
118. Aktion Baue Komponente ein und des Entschei dungsvorgangs ob weitere Komponenten zu bauen sind wird mit einem UND Operator modelliert Der Entscheidungsvorgang muss allerdings n der EPK durch eine eigene Funktion Pr fen ob weitere Komponenten herzustellen sind realisiert werden Nach der Pr fung wird n der EPK der R cksprung realisiert Das Flus sende AD einfach durch ein Schlussereignis Im Kontrollfluss wird dann die Aktion Baue Komponente ein angesto Ben Ebenso in der EPK Danach mu wieder f r die Verzweigung im Aktivit tsdiagramm eine Entscheidungsfunktion Pr fen ob weitere Komponenten zu installieren sind eingef gt werden mit den entsprechenden Ergebnisereignissen Das Flussende bei weitere Komponenten zu installieren und die an haltende Ausf hrung der Aktion Baue Komponetnen ein vgl die Ausf h rungen hierzu in Abschnitt 10 6 6 kann in der EPK durch eine R ck schleife modelliert werden in der Abbildung dick gezeichnet 10 11 Aktivit ten und Unternehmensmodellierung POR ob ern STB herzustellen Sind Abbildung 10 11 4 Fragment Komponentenverarbeitung als Ereignisgesteuerte Prozesskette Getr nkeautomat 207 Das kleine Beispielsfragment von Abbildung 10 7 15 hilft auf ein weite res Merkmal vieler Beispiele von Aktivit tsdiagrammen in den UML Unterlagen hinzuweisen hoinSpec A und E und der Gesamtwert der eingegebenen M nzen ist gt Getr nkepreis l w hlen
119. Aktionen Um den Input und den Output f r Aktionen zu modellieren wird n der UML das Konzept der Pins verwendet Es sind so etwas wie Schaltstellen f r die Aufnahme oder die Abgabe von Werten Ein Pin repr sentiert 9 3 Vertiefung 125 jeweils entweder einen Input f r eine Aktion Input Pin oder einen Out put Output Pin Durch einen Pin flie en Objekte oder Daten Die Pins werden in der grafischen Darstellung als kleine Rechtecke dargestellt die mit den Rechtecken der Aktion verbunden sind wie es die folgende Abbildung zeigt Die Bezeichnung des Pin wird neben das Rechteck gesetzt Zumindest in der Praxis der grafischen Darstellung legen die UML Autoren den Kontrollfluss meist von links nach rechts Deshalb ist das Pinsymbol f r den Input auf der linken Seite der Aktion angebracht TO Abbildung 9 3 1 Grafische Darstellung eines Input Pin Entsprechend ist das P nsymbol f r den Output auf der rechten Seite an gef gt E Abbildung 9 3 2 Grafische Darstellung eines Output Pin Soweit ein erstes Kennenlernen der Pins Eine vertiefte Darstellung folgt im folgenden Kapitel wenn die weiteren daf r notwendigen Vorausset zungen vorgestellt sind 9 3 2 Start einer Aktion Wann kann eine Aktion starten Eine Bedingung f r den Start einer Akti on ist dass alle Input Pins Objekttoken haben Die Aktion startet dann indem sie Token von den zuf hrenden Kontrollkanten und den Input Pins nimmt Wenn die Durchf hrung
120. Aktionsknoten 133 Definition 133 Aktivit t Auftragsbearbeitung einfach 132 mit Schwimmbahnen 168 Aktivit ten 129 Aktivit tsdiagramm Computerbau 151 Aktivit tsende 163 Beispiel 133 166 168 185 186 188 189 191 Definition 163 Grafische Darstellung 154 Aktivit tskante 124 137 Definition 130 Allgemeiner Index 16 1 Allgemeiner Index 365 Aktivit tskante mit Gewichtung Beispiel 138 175 Aktivit tsknoten Definition 130 Anfangsaktivit t 312 Anfangszustand Beispiel 293 294 296 331 333 Anfangszust nde in Regionen ZD Beispiel 299 anonyme Lebenslinie 99 Antwort auf eine synchrone Nachricht Grafische Darstellung 103 Antwortnachrichten SD Beispiel 222 Anwenderfunktionen 282 Anwendungsfalldiagramm Mahnwesen Beispiel 279 Anwendungsf lle Definition 269 assertion Definition 236 Assoziation Beispiel 44 n stellig 50 rekursive 47 Assoziation beschriftet Beispiel 54 55 56 70 71 Assoziation dreistellig Grafische Darstellung 41 Assoziation dreistellig Wertigkeit 51 Assoziation dreistellig Beispiel 54 55 Assoziation dreistellig Beispiel 70 Assoziation einstellig Beispiel 56 71 Assoziation einstellig mit Raute Grafische Darstellung 41 366 16 Indexierung Assoziation Navigierbarkeit Beispiel 57 Assoziation n stellige Wertigkeit 50 Assoziation vierstellig Beispiel 50 Assoziation zweistellig Beispiel 44 54 55 56 70 71 Grafische Darstellung 40 Assoziati
121. Aktivit t mehr als einen Startknoten dann werden beim Start der Aktivit t mehrere Fl sse gestartet f r jeden Startknoten einer mit je einem Kontrolltoken ebenda Ein Schlussknoten akzeptiert alle Token der ankommenden Kanten Kommt ein Token bei einem Aktivit tsende an werden alle Kontrollfl s se in der zugeh rigen Aktivit t abgebrochen D h die Aktivit t ist been det der Token und alle brigen noch irgendwo aktiven werden zerst rt Token k nnen bei Kontrollknoten nicht verweilen um auf das Weiter gehen m Kontrollfluss zu warten Kontrollknoten dienen nur als Steuer elemente Sie verwalten Token auf ihrem Weg zwischen Objektknoten und Aktionen Dort in Objektknoten und Aktionen k nnen die Token f r eine bestimmte Zeit verweilen Eine Ausnahme von dieser Regel sind die Startknoten Knoten und Kanten haben Tokenflussregeln Knoten kontrollieren wenn Token reinkommen oder rausgehen Kanten haben Regeln daf r wann ein Token vom Quellknoten genommen und zum Zielknoten trans portiert werden darf 10 10 Beispiele 179 Ein Token durchquert eine Kante wenn er die Regeln f r Z elkno ten Kante und Quellknoten erf llt Das bedeutet dass ein Quellknoten den weggehenden Kanten nur Token anbieten kann er kann sie nicht der Kante aufzwingen weil die Token von der Kante oder dem Zielknoten abgewiesen werden k nnen Abschlie end noch einige weitere Aspekte die das Token Konzept der UML Autoren verdeutliche
122. Anwendungsbereich der im Extremfall bei der Unternehmensmodellierung das ganze Unter nehmen umfasst 1 2 Objektorientierung als solche 7 Wie oben wird hier und im weiteren der Begriff Anwendungsbe reich f r die zu modellierende Realwelt verwendet Objektorientierte Modellierung Die objektorientierte Theorie ist also ein Modellierungsansatz ein Werk zeug zur ad quaten Beschreibung eines Anwendungsbereichs F r die Anwendungsentwicklung als Systemanalyse und Systemdesign f r Da tenbanken als Datenmodell Diese Modelle dienen dann der konkreten Programmierung bzw der Einrichtung der Datenbank Das Ergebnis der Modellierungsbem hungen wird Objektorientiertes Modell genannt Zus tzlich zu obigem behaupten wichtige Vertreter der objektorientier ten Theorie vor allem die Autoren der UML worauf hier immer wieder eingegangen wird seit einigen Jahren dass die objektorientierte Theorie auch geeignet sei Gesch ftsprozesse zu modellieren Dass also das In strumentarium zur Beschreibung von Abl ufen vom Zusammenspiel in Systemen auch geeignet sei f r die Prozessmodellierung Es wird in dieser Arbeit zu pr fen sein ob dies tats chlich so ist W re dies m glich dann w re der objektorientierte Ansatz in seiner gegenw rtigen Auspr gung geeignet Unternehmen in ihrer ganzen Kom plexit t zu modellieren also nicht nur bez glich der Datenstrukturen sondern auch bez glich der Gesch ftsprozesse und anderer Eigenscha
123. Aufli stung aller Modelle zu diesem Gesch ftsprozess und eine Darstel lung des Gesamtzusammenhanges Das folgende Sequenzdiagramm zeigt einen Ausschnitt aus dem Ge sch ftsprozess MAHNWESEN und zwar den Teil der voll automatisiert das Versenden von Zahlungshinweisen vornimmt Im Vorfeld ist bereits im Gesch ftsprozess Zahlungseingangs berwa chung gekl rt worden dass ein Zahlungshinweis zu erstellen ist um wel chen Typ es s ch handelt und welcher Kunde betroffen ist Folgende Ty pen sind m glich e 1 Zahlungserinnerung e 2 Zahlungserinnerung e Mahnung e 2 Mahnung e bergabe an ein Inkassob ro Der Client d h der Programmteil der in diesem Fragment den Kontroll fluss realisiert liefert die Rechnungsnummer der zu beanstandenden Rechnung und die Festlegung um welchen Zahlungshinweis es sich handelt Dazu erzeugt er die Nachricht doErzZH doErz euge Z ahlungs H inweis mit den zwei Parametern Attributen rechnungsNr Schl ssel der Rechnung und zhTyp Typ des Zahlungshinweises und sendet sie an das Objekt eigentlich Lebenslinie vgl Abschnitt 7 4 Zahlungshinweise 26 In der objektorientierten Programmierung wird mit Client das Programm bezeichnet das die Methoden einer Klasse nutzt vgl die Anmerkung hierzu in Prata 2005 S 461 Im Herzen des objektorientierten Ansatzes System oder Prozess Zahlungshinweis erzeugen Zahlungshinweis erstellen PDF Dokument erzeugen Ab
124. Be trag LeseBetragSM verlassen ber den dortigen Ausstiegspunkt und die Transition die vom Ausstiegspunkt ausgeht Abbruch angefordert ausgef hrt Der eingebettete Zustand im Beispiel LeseBetragSM enth lt also a mindestens einen Zustand der einen entsprechenden Ausgang hat im Beispiel eingebenBetrag b mindestens eine Trans tion zum Ausstiegs punkt und c den Ausstiegspunkt selbst Letzterer wird auf die Grenzlinie platziert Das grafische Element f r den Zustand eines untergeordneten Zu standsautomaten kann grunds tzlich auch mehrere solcher Aus bzw Einstiegspunkte aufweisen Dieses Konstrukt Zust nde mit untergeordneten Zustandsautomaten submachine states bei denen durch Einstiegs und Ausstiegspunkte die Verkn pfung erfolgt ist eingef hrt worden um eine Skalierbarkeit von Zustandsautomaten mit untergeordneten Zustandsautomaten sicherzustel len und um Kapselung im Sinne der objektorientierten Theorie zu er m glichen Damit durch die evtl rekursive Abspaltung bestimmter T tigkeits folgen kann somit die Wiederverwendbarkeit von Modellfragmenten bzw von Systemkoponenten nach der Realisierung gesichert werden Nat rlich spiegelt dieses Konstrukt aber auch die Tatsache wider dass Systeme andere Systeme enthalten durchaus auf mehreren Ebenen was hiermit auf einfache Weise modelliert werden kann 13 3 4 Transitionen zu Zust nden Transitionen wurden im Grundlagenteil nur bzgl einfa
125. Bedeutung des Fehlers eingesch tzt f r Wartung Produktion usw und die Produkti onsplanung PP berarbeitet Im anderen Kontrollflusszweig wird das Ger t repariert und dann gete stet Auf der rechten Seite kommt zuerst eine Zusammenf hrung die die beiden alternativen Zweige von priority 1 und else zusammenf hrt Dann eine Vereinigung f r die beiden durch die Gabelung entstandenen Durchqueren einer Kante Wandernde Token W chter decision input 180 10 Aktivit ten Zweige Erst wenn diese realisiert ist geht es zur Freigabe des Ger ts weiter Hier kann man nun erkennen was die UML Autoren mit ihrem fters thematisierten stromabw rts wartenden Join meinen Stellen wir uns vor bei der Verzweigung g be es den Else Zweig nicht Dann w rde l ge keine Priorit t 1 vor der obere Zweig niemals bei der Vereinigung an kommen und w rde niemals berwunden Deshalb empfehlen sie in einer solchen Konstellation die Einf hrung eines Else Zweiges OMG 2003a S 296 Bedeutung PP ber priority 1 einsch tzen arbeiten Reparatur Abbildung 10 10 1 Aktivit t Fehlerbehandlung Quelle In Anlehnung an OMG 2003a S 297 Figure 212 Fehler do kumentieren 1 Freigabe Die Abbildung enth lt u a folgende Komponenten Eine Verzweigung Eine Vereinigung Eine Gabelung Eine Zusammenf hrung Einen Else Ausgang Einen W chter Au erdem wird hier ein Problem
126. Es ist also nicht m glich zu erfassen dass die eine Information ben tigt wird die andere entsteht und die n chste verarbeitet wird Und dies nat rlich f r Informationstr ger aller Art Vgl die Ausf hrungen hierzu in Abschnitt 10 11 4 Defizite 4 Informationsverarbeitung Die Modellierung dieser Vorg nge ist direkt und aussagekr ftig nicht vorgesehen Vgl die Ausf hrungen hierzu in Abschnitt 10 11 4 Defizi te 5 Ereignisse Grunds tzlich liegt ein Ereigniskonzept vor vgl Abschnitt 10 10 Ereig nisse werden auch stark ausdifferenziert sowohl inhaltlich wie metho disch Auch ein Aquivalent zum Ereignisraum event pool genannt liegt vor Ereignisse werden aber n den grafischen Darstellungen nicht ausdr cklich ausgewiesen Dies kann man machen es dient aber nicht der bersichtlichkeit und es birgt Gefahren z B die im folgenden Absatz geschilderte Zumindest n den Beispielen entsteht der Eindruck dass in den Aktivi t tsdi agrammen sehr oft Aktion gleich Funktion positivem Ergebnis Ereignis gesetzt w rd Es wird also vom positiven Ergebnis ausgegangen und nur dieses modelliert Die Ausf hrungen zur Theorie geben hier di rekt keine Antwort Ist es Absicht oder Ausdruck einer von Systemen gepr gten Modellierung F r eine Prozessmodellierung ist es aber keineswegs tauglich Hier m ssen oft verschiedene m gliche Ergebnisse einer T tigkeit bedacht werden Vgl zu den m glichen Folg
127. Internetunternehmen bereits vorgelebt Automatisierung bedeutet hier dann nicht nur Echtzeit das haben wir in ERP Software schon lange und auch nicht nur die Unterst tzung einzelner Funktionen sondern die weitgehend durch ein Programm 14 2 Dynamische Aspekte der Unternehmensmodellierung 353 realisierte Abwicklung der Gesch ftsprozesse F r den Menschen bleiben von Unternehmensseite her nur noch die Entscheidungsschritte und die Ausnahmen Dies betrifft nicht nur die Kundenkontakte sondern auch die brigen Bereiche der Unternehmen Z B m Finanzwesen Wir n hern uns damit der vollautomatisierten Abwicklung von Gesch ftsprozessen wo mensch liches Eingreifen nur noch da erfolgt wo Entscheidungen anstehen die aus irgendeinem Grund nicht automatisiert sind oder die nicht automati siert werden k nnen Wer nun glaubt dies sei alles nur eine Sache der v llig standardisierten Gesch ftsprozessabschnitte eine eng umgrenzte Angelegenheit der irrt Er m ge den Entwicklungsschritt der ERP Software von vor 10 Jahren bis heute bedenken und diese Entwicklung hochrechnen und er m ge die gestiegene Leistungsf higkeit von KI Systemen bedenken die heute Dinge m glich machen vor denen wir vor 20 Jahren tr umten Z B m Bereich Sprach und Hand Schrifterkennung Gegensatz System Gesch ftsprozess Mit obigem Trend stellen sich f r die Unternehmensmodellierung einige Fragen Z B die folgende Gibt es den Gegensatz Sy
128. Josef L Staud Unternehmens modellierung Objektorientierte Theorie und Praxis mit UML 2 0 A Springer Unternehmensmodellierung Josef L Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis m t UML 2 0 Z Springer Professor Dr Josef L Staud Hochschule Ravensburg Weingarten Postfach 1261 D 88241 Weingarten www staud info staudjI t online de ISBN 978 3 642 04411 3 e ISBN 978 3 642 04412 0 DOJI 10 1007 978 3 642 044 12 0 Springer Heidelberg Dordrecht London New York Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet ber http dnb d nb de abrufbar Springer Verlag Berlin Heidelberg 2010 Dieses Werk ist urheberrechtlich gesch tzt Die dadurch begr ndeten Rechte insbesondere die der ber setzung des Nachdrucks des Vortrags der Entnahme von Abbildungen und Tabellen der Funksendung der Mikroverfilmung oder der Vervielf ltigung auf anderen Wegen und der Speicherung in Datenverarbeitungs anlagen bleiben auch bei nur auszugsweiser Verwertung vorbehalten Eine Vervielf ltigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9 September 1965 in der jeweils geltenden Fassung zul ssig Sie ist grunds tzlich verg tungspflichtig Zuwiderhandlungen unterliegen den Str
129. Karte wird gepr ft Falls g ltig wird die Auszahlung angesto en falls ung ltig wird die Karte einbehalten das Personal informiert und dem Kunden eine Nachricht angezeigt Im dritten Teil dieser Definition OMG 2003a S 5 geben s e auch gleich an welche Formen das Beschreiben eines Verhaltens annehmen kann interaction statemachine activity or procedure a set of actions Diese Begriffe werden unten erl utert Verhalten bedeutet hier also in erster Linie Systemverhalten Und zwar auf Anforderungen von au erhalb des Systems Kunde schiebt EC Karte in den Geldautomaten oder von innerhalb digitale Auszahlkomponente startet mechanische Auszahleinrichtung Struktur vs Verhalten Definition Verhalten Mit dabei die Anwender Host Objekt 116 8 Modellierung von Verhalten und Abl ufen Es ist also der gute alte Systembegriff der hier wieder zugrunde liegt Etwas anderes w re auch nicht m glich wenn man den Hauptzweck der UML sieht die Systemanalyse und die Unterst tzung der Software entwicklung Bei jeder Verhaltensmodellierung werden automatisch auch die An wender mit betrachtet da ein Teil der Dynamik von ihnen kommt Unter Umst nden starten sie den zum Verhalten geh renden Vorgang oftmals nutzen sie das entstehende System Dieses Einbinden der Anwender geschieht st rker bei der Gesch fts prozessmodellierung etwas weniger bei der Systemanalyse wo ein Teil der Dynamik auch v
130. Knoten wird die Aktivit t beendet und der Token wird zerst rt Irgendwelche Objektknoten die als Output deklariert sind werden aus der Aktivit t rausgegeben Der Tokenfluss Beispiel Im folgenden Beispielsfragment soll nach der Aktion Ware versenden die gesamte Aktivit t beendet werden Ware versenden amp Abbildung 10 6 18 Aktivit tsende Beispiel und grafische Darstellung W hrend obiger Knoten Aktivit tsende dem blichen entspricht das man von Methoden der Ablaufbeschreibung kennt zeigt der nachfolgende Aktivit tsende Ein Zweig endet alle anderen machen weiter Komponenten installieren und zusammenbauen Zweiter Teil 164 10 Aktivit ten Knoten Flussende Modellierungsm glichkeiten auf die zumindest in der Prozessmodellierung so nicht betrachtet werden Flussende Ein Flussende st ein Schlussknoten der nur den Kontrollfluss beendet mit dem er verkn pft ist alle brigen aber bestehen l sst Dem liegt die berlegung zugrunde dass es sinnvoll ist wenn nur einzelne Kontroll flusszweige abgeschaltet werden k nnen Die Vorstellung der UML Autoren ist hier also dass eine gesamte Ak tivit t auch aus voneinander unabh ngigen Kontrollflusszweigen bestehen kann die getrennt abgeschaltet werden k nnen Mehr dazu unten Grafische Darstellung Knoten des Typs Flussende werden wie folgt grafisch dargestellt RO Ein Flussende zerst rt alle Token die bei ihm ankommen aber nur dies
131. Konzept ben tigt das die UML Autoren guard bzw guard condition nennen und das hier mit W chter bersetzt wird Dabei handelt es sich um Bedin gungen die gepr ft werden bevor ein bestimmter Schritt gegangen wird Bei Entscheidungsknoten vgl unten haben z B die wegf hrenden Kanten W chter die festlegen mit welcher Kante die Token weiterziehen Bei Transitionen vgl Kapitel 13 wird durch W chter bestimmt ob sie feuern d rfen usw Es handelt sich dabei 1 d R um einfache mathematische oder andere logische Ausdr cke wie z B x lt 10 Wie oben schon gezeigt k nnen Aktivit tskanten auch beschriftet wer den Eine solche Bezeichnung beschreibt das Ergebnis der vorangehen den Aktion Die UML Autoren betonen dass diese Bezeichnung inner halb der Aktivit t nicht eindeutig sein muss Beispiel Zwe Aktionen Paket packen und Paket versenden sind durch eine be schriftete Kante verbunden Die Bedeutung ist wie folgt Wenn die Akti on Paket packen erledigt ist wird die Aktion Paket versenden angesto en und ausgef hrt Die Kantenbeschriftung dr ckt dann das Ergebnis der vorangegangenen Aktion aus Paket gepackt Paket packen versenden re Abbildung 10 4 4 Aktivit tskante mit Beschriftung Bei der Darstellung eines Kontrollflusszweiges ist es auch m glich Ver kn pfer Konnektoren connectors einzuf gen Dies geschieht durch einen Kreis der eindeutig bezeichnet ist im Rahmen des jeweilige
132. L verwendete Begriff 5 Aggregation und Komposition Am Ende des Kapitels ist eine Liste der verwendeten Fachbegriffe in Deutsch und Englisch angegeben 5 1 Definition Aggregation Im wirklichen Leben gibt es ein allgegenw rtiges Strukturmerkmal das so beschrieben werden kann Es gibt Dinge die andere Dinge enthalten Und auch letztere k nnen wieder aus Dingen bestehen Die einfachsten Beispiele finden sich im technischen Bereich Ein Airbus besteht aus Grobkomponenten diese aus feineren Komponenten diese auch w eder bis man bei elementaren Teilen angekommen ist Ein so wichtiges Strukturmerkmal muss dann nat rlich auch bei der Realit tsmodellierung sei es f r Systeme f r Datenbanken oder f r Ge sch ftsprozesse zur Verf gung stehen Das Konzept f r die Modellierung dieses Strukturmerkmals wird in der objektorientierten Modellierung Aggregation genannt Es ist eine speziel le Auspr gung einer Assoziation allerdings k nnen nur zweistellige As soziationen Aggregationen sein Bei der Aggregation geht es also um Beziehungen zwischen Klassen die den Tatbestand beschreiben dass bestimmte Objekte n anderen ent halten sind Deshalb nennen die UML Autoren und ihre Vorg nger diese Beziehung auch whole part relationship Meier und W st schlagen die Begriffe Aggregationsklasse f r die bergeordnete und Komponentenklassen f r die untergeordneten vor Meier und W st 1997 Eine Komponentenklasse kann w
133. OBEKI isian 134 10 32 Parineterknoteii eiga 136 10 4 Aktivit tskanten 022u0ssssssssssennennnnnennnnnnnnnnnnnennnnnnnneen 137 10 4 1 Kanten f r den Kontrollfluss 137 10 4 2 Kanten f r den Objektfluss Objektflusskanten 140 10 4 3 Objektfl sse und Pins enateuennanen 141 10 4 4 St ndiger Fluss mit streaming 147 10 4 5 Ausnahmen modellieren 0000000000000 149 10 4 6 Abgrenzung zwischen den Kantenarten 151 10 5 Strukturierte Aktivit tsknoten eeeeeeeeeeeecessseeenenneeeeeene 152 10 6 Kontrollknoten 2222222224snnnnenennnnennsnnnnennnnnnnn nennen 154 10 6 1 Verzweigung ussseneeseenennnnnnnnnnnnnnnnnnnnnnnnnnn nn 154 10 6 2 Zusammenf hrung eenennnnnnnennn 156 10 6 3 Gabelung uuueeeeeeeeeeeeeeeeeeeeeeenneenenennneneeeeeennn 158 10 6 4 Vereinigung ssessscnss seseereseesiereieenneienn 159 XIV 11 Inhaltsverzeichnis 10 05 Stariknotei nen 162 10 6 6 Schlussknoten uueeeeeeeeeseesnnnnnnnnnneennnneen 163 10 7 Aufruf von Aktivit ten ea 167 10 8 Aktivit ten aufteilen Tr ger zuordnen 168 10 9 Die zeitliche Dimension und die Ereignisse 170 10 9 1 Ereignisse im ZIEBIAUR essen 170 10 9 2 Verbindung von Ereignissen und Aktionen 171 10 9 3 Verhalten von Aktionet seeninsenienu 175 10
134. PC Nutzer sowie Abteilungsleiter bzw Sachbearbeiter Entsprechend ergeben sich die Assoziationen Die Assoziation zwi schen den Klassen Projekte und Angestellte h lt fest welche Angestell ten in welchen Projekten t tig sind Die unteren Werte sind Null weil wir hier auch Projekte anlegen wollen die noch keine zugewiesenen Ange stellten haben und weil es auf der anderen Seite nat rlich Angestellte gibt die in keinem Projekt sind Die Assoziation zwischen den Klassen Angestellte und Abeilungen h lt die Abteilungszugeh rigkeit fest Hier wird angenommen bzw wur de festgelegt dass jeder Angestellte in genau einer Abteilung ist und dass eine Abteilung mindestens einen Angestellten hat Die Assoziation zur PC Nutzung h lt fest dass ein PC keinem einem oder vielen Angestellten zugeordnet sein kann Der Hintergrund k nnte sein dass in der Anwendung und in der zugrundeliegenden Datenbank neu angeschaffte PC und PC in Reparatur keine Zuordnung zu Angestell ten haben Einem Angestellten ist kein PC oder maximal einer zugeord net Bleibt noch die rekursive Assoziation die das Vorgesetztenverh ltnis erfasst Anwendungs bereich Angestellte eines Unternehmens Amgestellte mit vielen Rollen 56 3 Assoziationen 4 haben z gewiesen Projeki arbeiten mit in I tagEin richtung date i F E Abteilungen E3 rganisationseinheit i abiBez string 1 abtLeitertia string standon string Ange stell
135. Pos Rechnungspositionen solange die Positi onsdaten Positionsnummer Artikelbeschreibung Anzahl Positions summe an bis alle Positionen abgearbeitet sind e Lebenslinie RechnPos schickt jedesmal eine Nachricht zu Artikel mit der Aufforderung die Artikelbezeichnung und den Einzelpreis des durch die Artikelnummer artNr identifizierten Artikels zu liefern e Anschlie end berechnet RechnPos durch Aufruf einer seiner Metho den die gew nschten Angaben und liefert sie an RechnK pfe zur ck e RechnK pfe bestimmt dann durch Aufruf einer seiner Methoden die Rechnungssumme MWSt und eventuelle weitere auf die Gesamt rechnung bezogene Daten e Nach Einholen aller notwendigen Informationen und Beendigung aller Berechnungen erstellt RechnK pfe mit Hilfe seiner Methode druckeRechnung die Rechnung Schritt um Schritt zur Rechnung Sequenznummer 22 106 7 Zusammenwirken durch Nachrichtenverkehr Auch wenn dieses Beispiel den Vorgang nur andeuten kann sollte es Aufgaben erledigung im doch das diesem Theorieelement zugedachte Modulierungsziel verdeutli knpn chen Aufgabenerledigung im Kleinen dazu unten mehr comm Rechnungsdruck ET SS Kunden s 28 t S a k5 s lt E A 2 2 bestimmePos rechnhr a l 3 posNr artBez anzahl rt u ni ausdrRech RNr gt Rechnkopt x EL u TE E S F Ei u 3 u iL 5 N f 7 Artikel Gil Abbildung 7 7 1 Kommunikationsdiagramm Rechnungsdr
136. Projektmitarbeiter Diese unterschiedlichen Funktionen werden hier als Rollen bezeichnet als Rol len der Objekte in der jeweiligen Assoziation 3 6 Rollen 49 Diese k nnen in der grafischen Darstellung angegeben werden Sie werden an die Assoziationslinie auf der Seite hinzugef gt auf der sich die Objektklasse befindet deren Rolle in der jeweiligen Beziehung gekl rt werden soll Die folgenden Abbildungen zeigen zwei Beispiele Beispiel Angestellte In der ersten Abbildung wurde ein Beispiel von oben wieder auf Angestellte mit genommen jetzt aber mit einer zus tzlichen Klasse Projekte und einer Projekte umfangreicheren Klassendarstellung Das Beispiel enth lt zwei Assoziationen Die zwischen Angestellte Assoziationen und PC betrifft die PC Nutzung Die Angestellten des Unternehmens s nd PC Nutzung und in Bezug auf diese Assoziation PC Nutzer die PCs haben hier die Rolle PV Ausstattung einer DV Ausstattung Die zweite Assoziation verkn pft Angestellte und Projekte Hier ha ben die Angestellten die Rolle Projektmitarbeiter Die Wertigkeiten bei der neuen Assoziation bedeuten e Ein Angestellter arbeitet in keinem einem oder mehreren Projekten mit e Ein Projekt hat mindestens einen Angestellten als Projektmitarbeiter Rolle Dauer integer persNr integer name sting vname string DV Ausstattung invNr integer Rolle bez string typ string Abbildung 3 6 1 Assoziationen mit Rollen im Anw
137. Umwelt geschickt Eine solche Stelle ber die der Kontakt zur Au Au enwelt Benwelt der Sequenz realisiert wird tr gt die Bezeichnung Gate vgl Abschnitt 11 4 5 Das lokale Attribut PIN wird im oberen Bereich der Abbildung ange geben sd Zugangskontrolle PIN Integer readonly 0 lt PIN 9999 aufschlie en gotea Abbildung 11 4 2 Sequenzdiagramm Zugangskontrolle Quelle OMG 2003a S 421 Figure 337 Ubersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Asynchrone Nachrichten Ein Gate Ein lokales Attribut Au erdem ein Beispiel f r das berholen einer Nachricht durch eine andere 11 4 3 Strukturieren durch kombinierte Fragmente Aufbau Der oben eingef hrten Standardnotation von Sequenzdiagrammen fehlt eine wichtige Eigenschaft Mit ihr ist es nicht m glich den Nachrichten verkehr zu strukturieren um zum Beispiel aufgrund eines Ereignisses den einen oder den anderen Nachrichtenverkehr zu w hlen M a W Es ist nicht m glich zu verzweigen Dies haben auch die UML Autoren bemerkt und deshalb bei Sequenz Gruppen von diagrammen ein entsprechendes Theorieelement eingef gt die kombinier Nachrichten bilden ten Fragmente combined fragments Sie erlauben die Definition ver Y4 in Beziehung schiedener Fragmente zum Nachrichtenverkehr d h Gruppen von Nach een richten und im zeitlichen Ablauf der Nachrichtenaufrufe die Anwahl Gr
138. Vereinigung join node nennen werden Die Abbildung zeigt auch dass f r eine Aktivit t Vor und Nachbe dingungen gestellt werden k nnen Vgl 12 und 13 In der oberen linken Ecke ist noch der Name der Aktivit t angegeben 14 z Process Order lt precondition gt gt Order complete amp lt postcondition gt gt Order closed Rutag abgelehni 3 Lieferung Gi yom Auftrag 2 Au V o a Zahlung Zahlung durchf hren akzeptieren e l Abbildung 10 2 1 Aktivit t Auftragsbearbeitung einf hrendes Beispiel Quelle OMG 2003a S 290 Figure 203 bersetzt durch den Verfasser Die obige Aktivit t Auftragsbearbeitung enth lt folgende Komponenten 10 3 Aktivit tsknoten 133 Eine Verzweigung Eine Vereinigung Eine Gabelung Eine Zusammenf hrung Einen Startknoten Einen Schlussknoten Aktivit tsende Au erdem einen Objektknoten vgl unten der als Input f r die Aktivit t fungiert Soweit das einf hrende Beispiel Es wird in diesem Kapitel noch fters angesprochen und vertieft erl utert Insgesamt zeigt es auch bei oberfl chlicher Betrachtung durchaus einen Aufbau der f r die Modellierung von T tigkeitsfolgen sinnvoll erscheint In Abschnitt 10 11 8 wird im Rahmen eines Vergleichs der bei den Methoden EPK und AD zu diesem Aktivit tsdiagramm eine aquivalente Ereignisgesteuerte Prozesskette vorgestellt 10 3 Aktivit tsknoten Es gibt vier Arten
139. Verhalten geh renden Vorgang oftmals nutzen sie das entstehende System Dieses Einbinden der Anwender geschieht st rker bei der Gesch fts prozessmodellierung etwas weniger bei der Systemanalyse wo ein Teil der Dynamik auch vollautomatisch zwischen den Systemkomponenten abl uft 8 3 Starke Verkn pfung von Objekten und Verhalten In der objektorientierten Theorie sind Objekte und Verhalten untrennbar miteinander verkn pft Verhalten Akt on von Objekten Jedes Verhalten st das direkte Ergebnis der Aktion mindestens eines Objekts OMG 2003a S 369 Beispiele daf r bei einem Geldautomaten sind Einzug EC Karte um sie zu lesen Ausgabe Geldscheine nach erfolgter Pr fung Das Wort mindestens deutet aber schon an dass die UML Autoren auch das Zusammenwirken mehrerer Objekte bzw des Verhaltens mehrerer als Grundlage eines modellierten Verhaltens sehen Die UML Autoren pr gen f r das Objekt von dem das Verhalten stammt den Begriff Host Objekt host object Der Zusammenhang zwischen Objektstruktur und Verhalten wird so gesehen dass das Verhalten Objektzust nde ver ndert Verhalten nderung von Objektzust nden Objekte haben Zust nde die durch Struktureigenschaften fixiert sind Diese Zust nde k nnen sich im Zeitablauf ndern Genau diese Zu standsver nderungen stellen Verhalten dar Nehmen wir als Beispiel das Karteneinzugsger t bei einem Geldauto maten Zustand 1 k nnt
140. Vgl die folgende Abbildung Die Einf hrung dieser Pseudoknoten Gabelung und Verkn pfer st n tig weil ein einfaches Anlegen der wegf hrenden Trans tionen an den Zustand mit der Standardsituation verwechselt w rde bei der dann ent weder der eine oder der andere Zustands bergang akt v w rde exklusives Oder zwischen den Transitionen Dasselbe gilt f r die Verkn pfer Die grafische Darstellung von Gabelungen und Verkn pfern ist wie in Kapitel 10 bei den Aktivit ten gezeigt Ein Balken zu dem eine Transiti on hinf hrt und mehrere weg Gabelung oder umgekehrt Verkn pfer Die folgende Abbildung enth lt einige der oben eingef hrten Elemen te Von einem Zustand Setup erfolgen gleichzeitig Transitionen zu Al und B1 Dies wird durch die Gabelung erfasst Von den zwei Zust nden A2 und B2 geht es zu einem einzigen Zustand Cleanup weiter Dies wird durch den Verkn pfer erfasst Die Bezeichnung des Zustandes ist hier wie oben schon f r Regionen eingef hrt an der oberen Kante in einem Rechteck angegeben Alle Vari anten zur grafischen Darstellung von Zust nden sind in Abschnitt 13 3 6 zusammengefasst Process Ar el Abbildung 13 3 5 Grafische Darstellung von Verkn pfern und Gabelungen Quelle OMG 2003a Seite 474 Figure 376 Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Eine Gabelung fork auf der linken Seite Zwei orthogonale Regionen Einen Verkn pfer Jo
141. a be er wartet aber auch oft auf Eingaben Warten auf EC Karte Warten auf Geheimzahl usw und stellt da h chstens Verhalten zur Verf gung Noch gr er ist die begriffliche Unstimmigkeit bei Gesch ftsprozes sen Gesch ftsprozesse Angebotserstellung Personaleinstellung haben kein Verhalten sondern sie beschreiben T tigkeiten die von Mensch oder Maschine Programm erledigt werden Auch einzelne Funktionen von Gesch ftsprozessen Kalkulation durchf hren Perso nalbogen ausf llen haben kein Verhalten sondern beschreiben kleinere eng zusammh ngende T tigkeiten Der Begriff Verhalten wird daher in den folgenden Abschnitten zwar benutzt aber nicht in der Ausschlie lichkeit wie es die UML Autoren tun Hier wird fters auch von T tigkeiten T tigkeitsfolgen Abl ufen oder eben auch Gesch ftsprozessen die Rede sein die vom jeweiligen Modell erfasst werden Exkurs Systemdenken Wie kommen die UML Autoren dazu die dynamischen Aspekte eines Anwendungsbereichs ganz unter den Begriff Verhalten zu packen Die Antwort findet man wie so oft bei der UML wenn man sich in die Situation eines Softwareentwicklers versetzt Bei dessen Arbeit sind die dynamischen Aspekte Angestellte k nnen eingestellt entlassen bef rdert und mit Geh ltern versehen werden zu Methoden Verhalten behavior T tigkeiten T tigkeitsfolgen Abl ufe Gesch ftsprozesse
142. afbe stimmungen des Urheberrechtsgesetzes Die Wiedergabe von Gebrauchsnamen Handelsnamen Warenbezeichnungen usw in diesem Werk berech tigt auch ohne besondere Kennzeichnung nicht zu der Annahme dass solche Namen im Sinne der Waren zeichen und Markenschutz Gesetzgebung als frei zu betrachten w ren und daher von jedermann benutzt werden d rften Einbandentwurf deblik Gedruckt auf s urefreiem Papier Springer ist Teil der Fachverlagsgruppe Springer Science Business Media www springer com Vorwort Unternehmensmodellierung Heute F r die Wirtschaftsinformatik ist die Unternehmensmodellierung ein zen trales Thema Hat ein Fach die Aufgabe die Welt der Anwendungssyste me zu durchleuchten dann geh rt dieses Thema ganz einfach dazu Das Gebiet Unternehmensmodellierung umfasst v ele Bereiche die Daten und Prozessmodellierung die Vorgangsbearbeitung die Organisa tionsmodellierung und z B im technischen Bereich Architekturfragen zur Vorbereitung der Hardware und Softwarerealisation Den gr ten Anteil auch was den Modellierungsaufwand angeht ha ben in einer Unternehmensmodellierung aber die Daten und Prozessmo dellierung W hrend die Datenmodellierung einen inzwischen doch sehr ausgereiften Eindruck macht kann dies bei der Prozessmodellierung nicht gesagt werden Hier findet v a auch in der Praxis eine intensive Diskus s on statt Z B ber den Gegensatz klassischer und objektorientierter Methoden
143. afische Darstellung 230 11 Sequenzen des einen oder anderen Vgl zur grafischen Darstellung die Ausf hrungen unten sowie die folgende Abbildung 11 5 1 mit Anmerkungen Daf r sind die folgenden Operatoren definiert die nteraktionsopera toren interaction operators genannt werden In Klammern ist noch je weils die Kurzbezeichnung angegeben die n den grafischen Notationen verwendet wird alternatives alt assertion assert break break critical region critical ignore consider ignore loop loop negative neg option opt parallel par reference ref strict sequencing strict weak sequencing seq Eine Erl uterung der Interaktionsoperatoren folgt unten Die Operanden Liegen Operatoren vor dann mu es auch Operanden geben die durch die Operatoren verarbeitet werden Diese werden hier Interaktionsoperan den interaction operand genannt Wenn also z B die Aufteilung in zwei Teile erfolgte dann stellt die untere und die obere H lfte jeweils ein Fragment dar und jedes ist ein Interaktionsoperand Optional kann ein Fragment eine Interaktionsein schr nkung haben von den UML Autoren auch W chter genannt vgl die Anmerkungen unten Interaktionsoperanden werden durch eine gestrichelte horizontale Linie getrennt Alle Interaktionsoperanden zusammen stellen das kombinierte Fragment dar Vgl die folgende Abbildung Bedingungen Interaktionseinschr nkungen Bei allen mehrstelligen Interakt
144. agement Group OMG Unified Modeling Language Speci fication Version 1 3 June 1999 OMG 2003a Object Management Group UML 2 0 Superstructure Specification Unified Modeling Language Superstructure version 2 0 final Adop ted Specification ptc 03 08 02 August 2003 OMG 2003b Object Management Group UML 2 0 Infrastructure Specification Unified Modeling Language UML Specification Infrastructure version 2 0 ptc 03 09 15 Dezember 2003 OMG 2003c Object Management Group UML 2 0 OCL Specification OCL 2 0 OMG Final Adopted Specification ptc 03 10 14 Oktober 2003 Prata 2005 Prata Stephen C Primer Plus F fth Edition Indianapolis 2005 Rumbaugh Jacobson und Booch 2005 Rumbaugh James Jacobson Ivar Booch Grady The Unified Model ing Language Reference Manual Second Edition Boston u a 2005 Schader und Rundshagen 1994 Schader Martin Rundshagen Michael Objektorientierte Systemana lyse Eine Einf hrung Berlin u a 1994 Smith und Smith 1977a Smith John Miles und Smith Diane C P Database Abstractions Agregation In Communications of the ACM June 1977 Volume 20 Number 6 S 405 413 17 Literatur 379 Smith und Smith 1977b Smith John Miles und Smith Diane C P Database Abstractions Agregation and Generalization In ACM Transactions on Database Systems Vol 2 No 2 June 1977 S 105 133 Staud 2005 Datenmodellierung und Datenbankentwurf Berlin u a 2005 Sprin ger Verlag Staud 2006 Staud Jo
145. agramme Definition und Beispiele 52 I Nayvisiebaik ea 56 3 10 Verl NO N einen 58 31 ObjeKiHast atime nee en A ANSERA 59 3 12 Beitrag zur Unternehmensmodellierung 60 ASSOZIATIONSKLASSEN z222022002020000000000n00nnnn0n0n 63 41 Eon een 63 4 2 Grafische Darstellung n 65 4 3 Beispiele 66 AGGREGATION UND KOMPOSITION 2 22222 2220220020 73 sA BT ee E EE a 73 5 2 Einf hrende Beispiele mit grafischer Notation 74 GENERALISIERUNG SPEZIALISIERUNG 22 2 77 9 DOW ee nee 71 9 2 Gralsche Darstellung ee een gen 78 6 3 Beispiel Hochschule und grafische Varianten 79 6 4 _ berlappung und berdeckuns nenenn 83 6 5 Mehrere Ebenen ansassseieinsnsannhentensinaetniainansine inner 86 GE VERTDENS een u ee nen AS een 88 67 Abstrakte Klassen neue naaa aaa 90 ZUSAMMENWIRKEN DURCH NACHRICHTENVERKEHR 93 TA Ehe ee 93 Ta Koliborione i aeien a A a Eea 95 Tal Den Oa enden 95 1 22 Gratische Darstell n i sense 97 Teua BERDIih ea ereneeee 97 7 ROT r E EE 97 174 Lebenslinien eessrsiccensrmncenseeraa srren 98 e A A AE A TT 100 Tod DenMUON sessen ei 100 7 5 2 Synchron und Asynchron 000000ssseeeeeeeeeee 101 1 SEAQUENZNUMMENN uuusussennssanseeeneeeennnsnsnsnennnine 102 7 5 4 Grafische Darstellung ennen 103 7 6 Kommunikat
146. ahmei hinzufuegen wadi Abbildung 2 7 6 Anwendungsbereich WebShop Klasse Artikel Angestellte Projekte 30 2 Objekte und Objektklassen 2 7 3 Angestellte eines Unternehmens Ber cksichtigen wir aus diesem Anwendungsbereich die Abteilungszuge h rigkeit die Projektmitarbeit Angestellte arbeiten n Projekten n wech selnder Zusammensetzung mit und den PC Einsatz sind im ersten Schritt die nachfolgend angef hrten Attribute zu erheben F r die Angestellten Personalnummer persNr Name name Vor name vname Postleitzahl plz Ort ort Stra e strasse Einstellungs datum datumEinst und Geburtstag gebTag Au erdem sollen die je weilige Anzahl der Mitarbeiter anzMitarb und die Gehaltssumme sum meGehalt ausgewiesen werden Letztere sind Klassenattribute Bez glich der Methoden erfassen wir Einstellung Entlassung Verset zung Bef rderung und Gehaltszahlung einstellen entlassen verset zen befoerdern zahlenGehalt Die folgende Abbildung zeigt die Klasse Dort wurden auch die Klas senmethoden Anzahl feststellen feststellenAnzahl und Gehaltssumme berechnen berechneGehaltssumme eingef gt Angestellte strasse siring datumEinst date geb Tag date anzMitarb integer Abbildung 2 7 7 Anwendungsbereich Angestellte Klasse Angestellte F r die Projekte die im Unternehmen mit wechselnder personeller Zu sammensetzung realisiert werden werden die Bezeichnung
147. alkulation als T tigkeit in einem Gesch fts prozess einen Input und einen Output k nnte als ausf hrbares Element des Gesch ftsprozesses aufgefasst werden und ist eingebettet in einen Kontroll und Datenfluss in einem gr eren Ganzen dem Gesch ftspro zess Au erdem stellt sie das wollen wir nicht vergessen oben bei den Zitaten der UML Autoren ist es unausgesprochen dabei auch Verarbei tung dar Schlie lich muss der Input auf kompetente Weise zu einem Output z B dem Preis f r ein neues Produkt finden Beispiele f r Aktionen finden s ch n gro er Zahl in den Aktivit ten des n chsten Kapitels 9 2 2 Grafische Darstellung Aktionen werden als Rechtecke mit abgerundeten Ecken dargestellt Der Name der Aktion wird in das Rechteck eingef gt 9 2 Grundlagen 123 Bezeichnung der Aktion Abbildung 9 2 1 Grafische Darstellung von Aktionen Die UML Autoren sehen vor dass eine Aktion auch in einer formalen Festlegung durch Sprache z B einer Programmiersprache ausgedr ckt werden kann Die eine formale folgende Abbildung zeigt ein Beispiel Sprache FOR every Employee calculate salary pon check NDFOR Abbildung 9 2 2 Grafische Darstellung von Aktionen mit einer Beschreibung in einer formalen Sprache Quelle OMG 2003a S 283 Ebenfalls ist es m glich bei Aktionen Vor und Nachbedingungen f r deren Ausf hrung zu hinterlegen Diese lokalen Vor und Nachbedingun gen k nnen als Anmerkungen an
148. and ist In den beiden letztgenannten obigen F llen erfolgt der Zutritt zum vor eingestellten History Zustand Das ist der Subzustand der das Ziel der Zustands konfiguration Voreinstellung Gezielter Zutritt Shallow history Eintritt Deep history Eintritt Hin und weg durch Einstiegs und Ausstiegspunkte 314 13 Zustandsautomaten Transition ist die vom History Pseudozustand herr hrt Falls keine solche Transition festgelegt ist ist die Situation fehlerhaft definiert und der Um gang mit ihr ist nicht festgelegt Falls der durch die History definierte aktive Subzustand ein zusammengesetzter Zustand ist dann geht es mit der voreingestellten Anfangsaktivit t weiter F r einen deepHistory Pseudozustand gilt dasselbe mit der Ausnahme dass die Regel rekursiv auf alle darunter liegenden Ebenen in der aktiven Zustandskonfiguration angewandt wird Zutritt zu einem orthogonalen zusammengesetzten Zustand Immer wenn ein orthogonaler zusammengesetzter Zustand betreten wird wird jede seiner orthogonalen Regionen betreten entweder per Vorein stellung oder ausdr cklich Endet die Transition am Rand des zusammengesetzten Zustandes dann werden auch mit Hilfe der Voreinstellungen alle Regionen betreten Falls die Transition gezielt zu einer bestimmten oder zu mehreren be stimmten f hrt bei einer Gabelung dann werden diese Regionen explizit betreten und die anderen nach der Voreinstellung Verlassen nicht orth
149. and mit unterge ordnetem Zustandsautomaten oder einen Ausstiegspunkt hat Sie hat kei ne expliziten Trigger obwohl ein W chter definiert sein kann Wenn alle Transitionen Eingangsaktivit ten und Zustandsaktivit ten im jeweiligen aktuellen Zustand erledigt sind wird ein Abschlussereignis completion event erzeugt Dieses Ereignis ist der implizite Trigger f r eine Abschlusstransition Das Abschlussereignis tritt vor allen anderen Ereignissen im Ereignisraum ein und hat keine Parameter Zum Beispiel wird eine Abschlusstransition die von einem orthogona len zusammengesetzten Zustand ausgeht automatisch aktiviert sobald alle orthogonalen Regionen ihren Schlusszustand erreicht haben Sind mehrere Abschlusstransitionen f r einen Zustand definiert dann sollten sie sich gegenseitig ausschlie en ber die W chter Bedingungen W chter Guard In einer einfachen Transition mit einem W chter wird dieser ausgewertet bevor die Transition ausgel st wird In Verbundtransitionen mit mehreren W chtern werden alle gepr ft bevor eine Transition ausgel st wird es sei denn es gibt Auswahlknoten entlang einem Pfad oder entlang mehrerer Die Abfolge in der die W ch ter ausgewertet werden ist nicht definiert Gibt es Auswahlknoten in einer Verbundtransition werden nur die W chter ausgewertet die davor liegen gem obiger Regel W chter nach einem Auswahlknoten werden ausgewertet falls und wenn der Kno ten erreicht wird nac
150. angssignal wird nur angenommen wenn das S gnal zur Zahlungsaufforderung vorher gesandt wurde Wenn dann der Zahlungseingang best tigt ist wird der Auftrag verschickt Zahlungs Auftra eingang versenden Abbildung 10 9 5 Send signal action und accept event action im Einsatz Quelle OMG 2003a S 218 Figure 158 bersetzung durch den Verfasser Auf diese Weise kann das Aussenden der Rechnung und das Warten auf den Zahlungseingang auch modelliert werden Dies ist allerdings nur f r eine Grobmodellierung geeignet da sie keine Pr zisierung erlaubt Das n chste Beispiel zeigt die wait time action im Einsatz Hier ist model liert dass an jedem Monatsende das Ereignis eintritt Da diese Aktion keine hinf hrenden Kanten hat ist sie so lange aktiv wie ihre Aktivit t oder ihr strukturierter Knoten Sie erzeugt am Ende eines jeden Monats einen Output Damit k nnen dann monatliche Gehaltszahlungen wie in der folgenden Abbildung mo delliert werden Gehalts zahlungen Monats ende er reicht Abbildung 10 9 6 Wait time action Das folgende Beispiel zeigt dieses Element in Kombination mit einer Vereinigung Einmal j hrlich werden aus einer Personaldatenbank Daten ber die Angestellten abgerufen Danach wird die Beurteilung der Ange stellten durchgef hrt 10 9 Die zeitliche Dimension und die Ereignisse 175 lt lt datastore gt gt weight all Personal datenbank x Einmal j hrlich Beurteil
151. anguage Objektidentifizierer objektorientierte ERP Software Sequenzdiagramm Standardprozessmodellierung Unified Modeling Language versus gegen kontra World Wide Web Zustandsautomat 1 Einleitung 1 1 Unternehmensmodellierung Im Vorwort wurde der Begriff Unternehmensmodellierung schon ange sprochen Hier soll er n her beschrieben werden Jedes Unternehmen ja sogar jede Organisation ben tigt eine Planung seiner Strukturen und Abl ufe Im einfachsten Fall geht es um die Daten Prozess und Organisationsmodellierung e Datenmodellierung Welche Daten werden ben tigt welche entste hen welche m ssen ber die Zeit gerettet werden e Prozessmodellierung Welche Abl ufe liegen vor wie k nnen sie m glichst effizient gestaltet werden e _ rgan sationsmodellierung Welche Organisationsstrukturen m ssen geplant werden welche sind in der jeweiligen Unternehmens und Unternehmensumweltsituation n tig Das ist sozusagen der Kern der Unternehmensmodellierung Darum her um sind weitere Modellierungsvorhaben angesiedelt von der Planung der konkreten IT Serviceorientierung Die Wolke bis zur Planung des Workflow zum Beispiel Mehrere Ebenen Zu einer Unternehmensmodellierung geh rt auch die Bereitstellung unter schiedlicher Niveaus in der Modellierung Nicht nur eine umfassende und detaillierte Darstellung z B des Datenmodells oder der Gesch ftsprozes se sondern auch bersichtsnotationen Dies sogar
152. ansition 287 Verbundtransition 320 Vererbung 88 Verhaltenszustandsautomat 286 Verkn pfer ZA 301 weak sequencing 234 249 Zusammenf hrung 156 zusammengesetzter Zustand 297 Zustand 290 Zustand einfacher 298 Zustandsautomat 285 17 Literatur Allweyer 2008 Allweyer Thomas BPMN Business Process Modeling Notation Ein f hrung in den Standrd f r die Gesch ftsprozessmodellierung Nor derstedt 2008 Balzert 1998 Balzert Helmut Lehrbuch der Software Technik Software Manage ment Software Oualit tssicherung Unternehmensmodellierung Hei delberg und Berlin 1998 Balzert 1999 Balzert Heide Lehrbuch der Objektmodellierung Analyse und Ent wurf Heidelberg und Berlin 1999 Balzert 2000 Balzert Heide Objektorientierung in 7 Tagen Vom UML Modell zur fertigen Web Anwendung Heidelberg und Berlin 2000 Balzert 2001 Balzert Helmut Lehrbuch der Software Technik Software Entwicklung 2 Auflage Heidelberg und Berlin 2001 Booch Rumbaugh und Jacobson 1999 Booch Grady Rumbaugh James Jacobson Ivar Das UML Benutzerhandbuch Bonn u a 1999 Booch Rumbaugh und Jacobson 2006 Booch Grady Rumbaugh James Jacobson Ivar Das UML Benutzerhandbuch Aktuell zur Version 2 0 M nchen u a 2006 Eriksson und Penker 2000 Eriksson Hans Erik Penker Magnus Business Modeling with UML Business Pattern at Work New York u a 2000 Fowler 2004 Fowler Martin UML konzentriert Eine kompakte Einf hrung in die Standa
153. apazit t ist zu pr fen Kapazit t reicht Kapazit t pr fen Produktionska pazit t gepr ft Materialbestand ist zu pr fen Materialbestand reicht Materialbestand gepr ft Materialbe stand gepr ft Anfrage ist zuzusagen Pr fungen erfolgreich Anfrage zusagen Anfrage zugesagt Anfrage eingetroffen Machbarkeit verneint Anfrage absagen Anfrage absagen Kapazit t reicht nicht Produktionskapazit t ist zu pr fen Anfrage absagen Materialbestand ist zu pr fen Materialbestand reicht nicht abgesagt oo170 Abbildung 13 2 7 Zustands bergangsdiagramm Kundenanfrage Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Einen Anfangszustand Zahlreiche Transitionen Einen Schlusszustand Au erdem mehrere Zust nde mit mehr als einer abgehenden Transition Das obige Beispiel stellt einen reinen Ablauf dar wie es bei Gesch fts prozessen normalerweise der Fall ist was die Formulierung der Uberg n ge etwas schwierig macht insbesondere was die auszuf hrende Aktion angeht 13 3 Vertiefung 297 Im Gegensatz hierzu geht es bei Systemen eher um das Zusammenspiel von Komponenten innerhalb derer allerdings oft auch Abl ufe bzw Durchg nge vorliegen Soweit die Grundstruktur von Zustandsautomaten und Zustands ber gangsdiagrammen Im folgenden wird diese nun schrittweise erweitert und vertieft 13
154. as Beispiel folgendes Eine Abgehende Transition geht ber einen Ausstiegspunkt weg subEnd Ein entspre Transitionen chender Ausstiegspunkt muss also auch im Subzustandsautomaten vorlie gen Eine andere Transition geht von der Grenzlinie des Zustandes aus Sie wird aktiv wenn im Subzustandsautomaten FehlerbehandlungSM der Schlusszustand erreicht wurde Das Symbol rechts unten gibt an dass der Aufbau des zusammenge Verborgener setzten Zustandes an dieser Stelle verborgen wird vgl oben zusammengesetzter Zustand POIERTHESETANPEE FehlerbehandlungSM subEnd i xedi Abbildung 13 3 19 Zustandsautomat eines Subzustandes Quelle OMG 2003a S 487 Figure 387 Ubersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten e Einen Einstiegspunkt Sub1 Einen Ausstiegspunkt subEnd Das Symbol f r einen verborgenen zusammengesetzten Zustand Au erdem eine Transition die auf der Grenzlinie endet und eine die von der Grenzlinie ausgeht 13 3 8 Transitionen vertieft Hier nun zusammengefasst und vertiefend weitere Anmerkungen zu Transitionen Von einem Zustand in den n chsten Ausgangspunkte Transitionen von zusammengesetzten Zust nden Von und zu einer Menge von Zust nden 320 13 Zustandsautomaten Definition Eine Transition ist eine gerichtete Beziehung zwischen einem Quell und einem Zielknoten Sie kann Teil einer Verbundtransition vgl unten
155. ass nur solche Probleme die also auf diese Weise beschrieben werden k nnen f r die Modellierung durch Sequenzdiagramme geeignet sind 11 5 Sequenzen und Unternehmensmodellierung 265 Obiges Argument greift aber nicht f r Systeme Hier sind die einzelnen T tigkeiten so weit heruntergebrochen dass dieses Konzept ausreicht Gekapselt sind hier nur noch die Methoden in denen Programmabl ufe stecken Das gesamte Instrumentarium von Sequenzdiagrammen zielt auf Ab l ufe im Kleinen nicht im Gro en Auf Systeme nicht auf Gesch ftspro zesse Ausdruck davon ist auch die Ausrichtung auf die positiven Ergeb nisse auf Nichtverzweigung Dies ist eher in Systemen Programmen denkbar als in Gesch ftsprozessen Insgesamt kann daher festgehalten werden Sequenzdiagramme taugen nicht f r die Prozessmodellierung Sie decken nur Teilaspekte eines Ge sch ftsprozesses ab Nat rlich kann wenn man gen gend abstrah ert jeder Gesch ftsprozess auch als Sequenzdiagramm dargestellt werden denn irgendwelche Nachrichten sozusagen als Kitt zwischen diesen Aktivit ten finden sich immer aber ein solche Modell ist weitgehend aussagefrei Vgl auch die im Kapitel angef hrten Prozessbeispiele Sequenzdiagramme taugen aber abgeleitet aus Prozessmodellen f r die Systemanalyse insbesondere f r die Vorbereitung der Programmie rung Hier spiegeln dann die Lebenslinien auch die Klassen des Klassen diagramms wider und die Nachrichten entspr
156. ate invariant Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff Begriffe ohne bersetzung wurden auch im Text in englischer Sprache verwendet 13 Zustandsautomaten Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch nach UML 2 0 angegeben In diesem Kapitel wird die Kurzbezeichnung Methode ZA f r alle Theo rieelemente zur Erfassung und Darstellung von Zustandsautomaten einge f hrt 13 1 Einf hrung F r die UML Autoren sind die in diesem Abschnitt vorgestellten Zu standsautomaten state machines endliche Automaten OMG 2003a S 370 Um was geht s Im Mittelpunkt des Geschehens steht hier jeweils ein Objekt im Sinne der objektorientierten Theorie mit den Zustands berg ngen die es erle ben und den Zust nden die es annehmen kann So wie z B ein Ge sch fts Objekt Rechnung vom Zustand Neu nach der Erstellung zu Offen nach Zusendung zum Kunden und letztendlich zu Bezahlt finden kann Interpretiert man die Zustands nderungen als Ausdruck von Verhalten wie es die UML Autoren tun kann man wie folgt definieren Ein Zustandsautomat beschreibt das Verhalten eines Objek tes m Zeitablauf indem die Lebenszyklen von Objekten mit den verschiedenen m glichen Objektzust nden und den Zustands berg ngen modelliert werden Rumbaugh Jacob son und Booch 2005 S 665 Es geht also erstens nu
157. ate machine Zustandsautomat untergeord neter Zustandsautomat Zustandsautomat untergeord submachine composite state neter Zustandsautomat eines machine zusammengesetzten Zu standsautomaten transition Zweig statisch bedingter static conditional branch Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff 14 Gesamteinsch tzung Die Gesamteinsch tzung hier fasst die Ausf hrungen aus den Abschnitten 7 8 9 4 10 11 11 5 12 6 und 13 6 zusammen Wie steht es nun mit den Antworten auf die zu Beginn gestellten Fra gen nach den Umrissen einer zeitgem en Unternehmensmodellierung bzw nach der Eignung der objektorientierten Theorie f r diese Diese sollen nun erg nzend zu den Zusammenfassungen der Kapitel Schritt f r Schritt gegeben werden Der gr te Teil der Ausf hrungen wird s ch auf die UML Theorieelemente f r die Verhaltensmodellierung beziehen Dynamische Aspekte doch kurz soll hier auch auf die Theo rieelemente f r die Strukturmodellierung Statische Aspekte eingegan gen werden 14 1 Statische Aspekte der Unternehmensmodellierung Die Tauglichkeit der objektorientierten Theorie f r die Modellierung der Informationsstrukturen bzw der statischen Aspekte eines Anwendungsbe reichs ist unstrittig H er kann h chstens die im Vorwort gestellte Frage wiederholt werden wieso die auf dem Markt befindlichen einschl gige
158. auspr gungen haben Soweit eine erste Ann herung an den Token Begriff der UML Autoren Wie man sehen kann geht es auch hier wie in der allgemeinen Definition um elementare Informationseinheiten wenngleich auch in drei sehr verschiedenen Varianten Objekt und Datentoken haben wie n Kapitel 10 zu sehen sein wird eine durchaus praktische Bedeutung m Kontrollfluss Etwas abgehobener ist das Konzept der Kontrolltoken Es kann allerdings wenn man Kontrollfl sse modelliert durchaus von Wert sein ein Mittel zu haben den konkreten Kontrollfluss zu beschreiben V a wenn wie hier neben dem Kontrollfluss auch Daten und Objekte flie en Dazu unten mehr In den folgenden Abschnitten wird dieser Token Begriff immer wieder thematisiert da er eine der Grundlagen des Kontrollflusskonzeptes ist 9 Aktionen Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch nach UML 2 0 angegeben 9 1 Einf hrung Die wichtigsten neuen Konzepte in der UML 2 0 zur Modellierung von Verhalten waren Aktionen und Aktivit ten Aktionen sind sozusagen die elementaren Einheiten die im jeweiligen System am niedrigsten aggre gierten T tigkeitsfolgen Verhaltensabl ufe Aktivit ten dagegen enthal ten Aktionen und stellen damit umfassendere Folgen von T tigkeiten bzw Verhaltensabl ufen dar In der Prozessanalyse sind die dynamischen Aspekte des Anwen dungsbereichs mit den Begriffen T tigkeit T tigkeits
159. beit ist die Bildung korrekter Objekte von gro er Bedeutung Ein Weg dahin geht ber die Betrachtung der Attribute die erfasst werden sollen Geht es nur um ein einzelnes Attribut f r das Real weltph nomen z B abteilungsbezeichnung wird dieses zu einer be schreibenden Information f r eine anderes Realweltph nomen z B An gestellte Geht es dagegen um mehr als ein Attribut z B abteilungsbe zeichnung und abteilungsleiter entsteht ein Informationstr ger im Sinne der konzeptionellen Modellierung und hier in der objektorientierten Theo rie ein Objekt Nat rlich muss mindestens eines der Attribute identifizie renden Charakter haben Es werden also alle die Realweltph nomene zu Objekten denen man neben einem identifizierenden Attribut oder einer identifizierenden At tributkombination mindestens ein weiteres zuordnet Identifizierende s Attribut e ein weiteres beschreibendes min destens gt Objekt bezPS Nehmen wir das Attribut bezPS Bezeichnung einer Programmierspra che Dies kann einfach ein Attribut sein z B von den Angestellten eines Softwarehauses die Programmiersprache mit der sie haupts chlich pro grammieren Entschlie t man sich aber die Programmiersprache n her zu beschreiben z B durch Angabe des Compilers bezComp entstehen datenbanktechnisch Programmiersprachen als Objekte Der Schl ssel ist dann bezPS die Bezeichnung des Compilers ist ein beschreibendes Attri but bezProjekt Ange
160. beitung verursacht sein 10 2 Einf hrendes Beispiel Zu Beginn ein einf hrendes und hoffentlich motivierendes Beispiel das fast alle Elemente von Aktivit ten enth lt Es soll nur einen ersten Ein druck von Aktivit ten als Konstrukt der UML geben Elemente und Syn tax werden danach ausf hrlich erl utert Anmerkung In der folgenden Abbildung sind einigen Elementen Kreise mit Nummern zugeordnet Diese geh ren nicht zur UML sondern dienen der Verbindung von erl uterndem Text und Abbil dung Betrachten wir die Abbildung Wie zu erwarten war besteht eine Aktivi t t aus einer Menge von Aktionen Eine ist mit 3 markiert Wie im vori gen Abschnitt schon ausgef hrt stehen die Aktionen in einem Zusam menhang dargestellt durch die Aktivit tskanten gerichtete Pfeile Der einfachste solche Zusammenhang st das Aufeinanderfolgen dann f hrt eine Kante einfach von der einen Aktion zur n chsten Dieses Aufeinanderfolgen kann so deutet es die Stelle 9 an auch durch Informationen begleitet sein Beim Voranschreiten der T tig keitsfolge von Rechnung senden zu Zahlung durchf hren spielt die Rech nung eine Rolle Die Aktivit t insgesamt ist zusammenh ngend und nach au en ab grenzbar Dies wird in der Abbildung durch die Grenzlinie ausgedr ckt hier markiert durch 11 Wie es sich f r die Modellierung von T tigkeitsfolgen geh rt gibt es einen Startpunkt 1 manchmal auch mehrere und ei
161. bestimmeBPibez preis anzahl integer 1 Pr bez preis mwst money bestimmePosi bestimmePosSu bestimme Pos MWSt 1 2 2 bestimmePosSu anzahl posPreis lagMin integer bestimme bez preis e ne Nachrichtenverkehr im Klassendiagramm am Beispiel Rechnungsdruck 7 8 Bedeutung f r die Unternehmensmodellierung Statische und dynamische Aspekte Struktur und Verhalten Wie im Vorwort bereits dargestellt zerf llt die objektorientierte Theorie in zwei gro e Komplexe der eine beschreibt die Gestaltung der Informa tionsstrukuren Strukturen Statische Aspekte des Anwendungsbe reichs der andere erlaubt die Vorg nge Abl ufe T tigkeitsfolgen und evtl sogar Gesch ftsprozesse zu modellieren Verhalten Dynamische Aspekte des Anwendungsbereichs Zwei gro e Komplexe OOGPROZ mit Hilfe des Nachrichten konzepts Aussagekr ftig im Kleinen Kontrollflussdefizit Kontrollfluss im Programm 108 7 Zusammenwirken durch Nachrichtenverkehr Mit diesem Kapitel ist nun die Beschreibung der objektorientierten Modellierung von Informationsstrukturen einschlie lich des Nachrichten verkehrs abgeschlossen Deshalb wird hier neben einer Betrachtung der grunds tzlichen Eignung des Nachrichtenverkehrs auch die Eignung des gesamten Strukturteils f r die Unternehmensmodellierung betrachtet Nachrichten und Kommunikationsdiagramme Eignung f r die Unternehmensmodellierung
162. bez der Standort standort der Einrichtungstag tagEinr und die geplante Dauer in Monaten dauer erfasst Projekte bez string standort string tagEinr date dauer integer be Abbildung 2 7 8 Anwendungsbereich Angestellte Klasse Projekte 2 8 Vertiefung 31 F r die Personal Computer PC die Inventarnummer invNr die Be Personal Computer zeichnung bez und der Typ typ invi Hr string bez string typ siring 0268 Abbildung 2 7 9 Anwendungsbereich Angestellte Klasse PC F r die Abteilungen die Abteilungsbezeichnung abtBez den Namen Abteilungen des Abteilungsleiters abtLeiterNa und den Standort standort der Abtei lung Geb ude x m Unternehmensteil y Abteilungen abtBez string abileiterMa sting standort string posau Abbildung 2 7 10 Anwendungsbereich Angestellte Klasse Abteilungen 2 8 Vertiefung 2 8 1 Klassenbildung und Objektfindung Eine angedachte Klassenbildung sollte bereits bei der Objektfindung Klassenbildung bei ber cksichtigt werden Realweltph nomene sollten nur dann zu Objekten Objektfindung gemacht werden wenn aus diesem Schritt mehrere Objekte entstehen die dann zu einer Objektklasse werden k nnen D h parallel zum Suchen nach den geeigneten Objekten muss bereits reflektiert werden welche Objekte zusammen in eine Objektklasse geh ren Oftmals denkt man auch bereits an Objektklassen wenn man ber Ob jekte redet da man den Abstraktionssc
163. bildung 10 4 17 Objektfluss mit Auswahl an Kante Quelle OMG 2003a S 348 Figure 273 bersetzung durch den Verfasser Im folgenden Beispiel erfasst die linke Aktion das Beendigen der Arbeit an einem Auftrag Daraus entstehen Objekte des Typs abgeschlossener Auftrag Durch die Notwendigkeit dem Kunden eine Notiz zu senden ausgedr ckt durch die entsprechende Aktion wird ein Objekt Kunde ben tigt Die lt lt transformation gt gt legt nun fest dass eine Abfrage mit Hilfe des jeweiligen Auftrags das Kundenobjekt bestimmt 10 4 Aktivit tskanten 147 lt lt transformation gt gt N O rder customer Auftra abge schlossen i Kunde i Abbildung 10 4 18 Objektfluss mit Auswahl an Kante Quelle OMG 2003a S 348 Figure 273 Ubersetzung durch den Verfasser Die obige Abbildung enth lt u a ein Objekt mit Zustand zwei Pins und einen Hinweis auf die Verarbeitung der Daten transformation Das dritte Beispiel zeigt eine Spezifizierung von Objekten Es wird aus gedr ckt dass die Aktion Auftrag erteilen Objekte des Typs Auftrag erzeugt und dass die Aktion Auftrag ausf hren diese liest und dann aus f hrt ausf hren Quelle OMG 2003a S 348 Figure 273 Ubersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Zwei Objekte mit Zust nden Mehrere Pins Au erdem zwei Spezifizierungen von Objekten 10 4 4 St ndiger Fluss mit streaming
164. bildungen Mit den Abbildungen in der Anordnung des Buches Abk rzungen f r Methoden Wenn es darum geht einzelne Teile der objektorientierten Theorie anzu sprechen werden in diesem Buch folgende Kurzbezeichnungen verwen det e Methode AD alle Theorieelemente zur Erfassung und Darstellung von Aktivit ten e Methode SD alle Theorieelemente zur Erfassung und Darstellung von Sequenzdiagrammen e Methode AF alle Theorieelemente zur Erfassung und Darstellung von Anwendungsf llen e Methode ZA alle Theorieelemente zur Erfassung und Darstellung von Zustandsautomaten Weil in einigen F llen objektorientierte Methoden zur Gesch ftsprozess modellierung mit der Theorie rund um Ereignisgesteuerte Prozessketten verglichen werden wird auch noch diese Kurzbezeichnung verwendet e Methode EPK alle Theorieelemente zur Erfassung und Darstellung von Ereignisgesteuerten Prozessketten Motiv Ein wichtiges Motiv f r dieses Buch ist dass die Fragen der Unterneh mensmodellierung und ganz besonders der Prozessmodellierung n der Literatur zur objektorientierten Theorie nur stiefm tterlich und teilweise nach Auffassung des Verfassers falsch behandelt werden weshalb die oben gestellte Frage damit nur unzul nglich beantwortet werden kann Inhaltsverzeichnis 1 EINLEITUNG see 1 1 1 Unternehmensmodellierung nenne l 1 2 Objektorientierung als solche kann 6 o Dire UM eee E S 8 1 4 Verwendete Dalehypeii uese nennen 9 1 5 Formatie
165. bstrakte Klasse Window Quelle OMG 2003a S 88 Figure 37 Klassen die nicht abstrakt sind werden konkrete Klassen concrete clas ses genannt Abstrakte Operationen Abstrakte Operationen sind solche die keine Implementierung Methode Operationen ohne haben Rumbaugh Jacobson und Booch 2005 S 129 Sie k nnen nur in Implementierung abstrakten Klassen vorkommen S e werden n Superklassen angelegt um dann in zahlreichen Subklassen verwendet werden zu k nnen Konkrete Subklassen m ssen sogar die abstrakten Operationen einer bergeordne ten Superklasse besitzen ebenda Die Bezeichnung einer abstrakten Operation wird kursiv gesetzt Al ternativ kann das Schl sselwort abstract in geschweiften Klammern zur Bezeichnung hinzugetan werden Eine abstrakte Klasse kann also konkrete und abstrakte Operationen haben eine konkrete Klasse nur konkrete Operationen Da diese Theorieelemente Generalisierung Spezialisierung ledig lich das in Kapitel 2 vorgestellte Grundinstrumentarium erg nzen lohnt sich eine Betrachtung der Tauglichkeit f r die Unterneh mensmodellierung hier nicht Vgl dazu die Diskussion zum gesam ten Strukturteil in Abschnitt 7 8 92 6 Generalisierung Spezialisierung Verwendete Fachbegriffe in Kapitel 6 konkrete Operation Mehrfachvererbung mehrfache multiple inheritance Vererbung Subklasse subclass Superklasse superclass Vererbung inheritance Links der in diesem Text verwendete Begr
166. bt eine Gesamt bersicht und zeigt die grafi schen Grundelemente Die Raute f r Verzweigung und Zusammenf hrung Der Balken f r Gabelung und Vereinigung Der gef llte Punkt f r den Startknoten Der Kreis mit innerem Punkt f r den Knoten Aktivit tsende Der Kreis mit einem Kreuz im Inneren f r den Knoten Flussende verzweigend Verzweigung exklusives 4 decision node ODER e verkn pfend Zusammenf hrung merge node verzweigend Gabelung 5 UND lt fork node Be j u 5 verkn pfend Vereinigung join node Z a amp Aktivit tsende Da al activity final SCHMSS K Flussende fow final Start amp Startknoten oo initial node Abbildung 10 6 1 Kontrollknoten und ihre grafische Darstellung 10 6 1 Verzweigung Eine Verzweigung decision node repr sentiert eine exklusiv ODER Verkn pfung in den wegf hrenden Kanten d h die wegf hrenden Kan 10 6 Kontrollknoten 155 ten sind alternativ Semantisch bedeutet dies dass die Kanten alternative Aktionen ansteuern Die grafische Darstellung geht von einer Raute aus Eine Kante f hrt Grafische hin mehrere f hren weg Darstellung Abbildung 10 6 2 Verzweigung mit Aktivit tskanten Im Beispiel der folgenden Abbildung kommt nach der Aktion Auf Beispiel tragseingang die Pr fung ob der Auftrag angenommen oder abgelehnt wird Diese ist durch die Verzweigung modelliert Die alternativen Er gebnisse der Pr fu
167. che dargestellt wie in der folgenden Abbildung gezeigt Darstellung Zustand 2 Abbildung 13 3 6 Grafische Darstellung von Verbindungsknoten Quelle OMG 2003a Seite 473 Figure 373 bersetzung durch den Verfasser Auswahlknoten Auswahlknoten choice vertices f hren zu einer dynamischen berpr Dynamische fung der W chter der Trigger der wegf hrenden Transitionen Dadurch berpr fung wird ein dynamisch bedingter Zweig dynamic conditional branch real siert Er erlaubt das Aufteilen von Transitionen in mehrere wegf hrende 36 Vgl die Ausf hrungen hierzu in Kapitel 10 Grafische Darstellung Alternative f r die grafische Darstellung 304 13 Zustandsautomaten Pfade so dass die Entscheidung welcher Pfad genommen werden soll eine Funktion des Ergebnisses fr herer Aktionen sein kann die m selben Schritt ausgef hrt wurden In dieser letztgenannten Eigenschaft steckt das Motiv f r die Wahl der Bezeichnung dynamisch bedingter Zweig Falls mehr als ein W chter wahr ergibt wird ein beliebiger genommen Falls keiner wahr ergibt st das Modell fehlerhaft Um dies zu vermeiden wird empfohlen bei jedem Auswahlknoten eine wegf hrende Else Transition zu definieren Ein Auswahlknoten wird als rautenf rmiges Symbol dargestellt zu dem eine Transition f hrt und von dem mehrere weggehen Id gt 10 Id lt 10 Abbildung 13 3 7 Grafische Darstellung von Auswahlknoten Quelle OMG 2003a Seite 474
168. che Aufteilung ver zichtet H tte man sie doch vorgenommen w re Zahlung vorbereitet eingef gt worden Soweit die Ableitung einer Ereignisgesteuerten Prozesskette aus einem Sequenzdiagramms die problemlos m glich ist Von EPK zu SD Einschr nkung 264 11 Sequenzen lt pr fen i Lieferung gepr f Eingang C Kunde gt best tigen K Eingangs best tigung Eingang besfangl Turn gt Rechnung stellen Rechnung ersielh ann versenden i Rechnun Vosa j Zn Oee D durchf hren Zahlu durchgef hrt Abbildung 11 5 7 EPK Kaufabwicklung Teil 5 vgl die Sequenzdiagramme in den Abbildungen 11 3 2 und 11 5 2 Die andere Richtung Die bertragung in die andere Richtung von Ereignisgesteuerten Pro zessketten zu Sequenzdiagrammen ist nur sehr eingeschr nkt m glich es fehlen in Sequenzdiagrammen einfach zu viele Theorielemente die eine Prozessmodellierung ben tigt Vgl f r einige diesbez gliche Versuche WebZumBuch _ UMOI 11 5 8 Zusammenfassung Letzendlich ist die Modellierung durch Sequenzdiagramme reduziert auf die Nachrichten und lediglich die T tigkeiten die f r die Vorbereitung der Nachricht notwendig sind Dies bedeutet eine enorme Einschr nkung der Aussagekraft Um es zu verdeutlichen Es w re nicht m glich T tigkeiten als Kontrollfokus oder sonstwo einzubauen die nicht zu Nachrichten d h Methodenaufrufen f hren Im Umkehrschluss bedeutet dies im brigen d
169. cher Zust nde vorgestellt Nun nachdem die tiefe m gliche Strukturierung von Zust n den und Zustandsautomaten eingef hrt wurde k nnen auch die Transitio nen vertieft betrachtet werden Zu einem eingebetteten enthaltenen Zustand Eine Transition zu einem Zustand der einen Zustandsautomaten enth lt einbettender Zustand ist gleichbedeutend mit einer Transition zum Initi alknoten in jeder Region desselbigen In der folgenden Abbildung 13 3 14 bedeutet somit der In tialknoten links oben und die von hm ausgehende Transition zum eingebetteten Zustand dass alle drei In tialknoten der Regionen aktiv werden Zu einem Schlusszustand Eine Transition zu einem Schlusszustand stellt den Abschluss der Aktivi t t n der eingebetteten Region dar 13 3 Vertiefung 311 Der Abschluss der Aktivit t n allen orthogonalen Regionen stellt den Abschluss der Aktivit t im gesamten eingebetteten Zustand dar und l st ein Abschlussereignis bez glich dieses eingebetteten Zustandes aus Der Abschluss der am weitesten oben angesiedelten Regionen eines Zustandes bedeutet seine Beendigung Im folgenden Beispiel von Abbildung 13 3 14 hat dies folgende Be deutung Das Erreichen der Schlusszust nde n allen drei Regionen f hrt zur Beendigung des gesamten eingebetten Zustandes was die Trans tion zum Zustand Bestanden ausl st Beispiel Leistungserbringung Im folgenden Beispiel st der Zustandsautomat Studieren eingebettet in den Zustand Lei
170. chno logien f hrt aber die im vorigen Abschnitt beschriebene Herleitung ber die Attributkonstellation schneller zu besseren Ergebnissen Methoden werden blicherweise von Objekten abgeleitet und dann mit diesen verwaltet Oftmals geben Methoden aber auch Hinweise auf zu identifizierende Objekte Nehmen wir z B die Methode Rechnungsstel lung Sie gibt nicht nur einen eindeutigen Hinweis auf die Objekte Rech nungen sondern auch gleich auf die Adressaten der Rechnungen Kun den und die Waren oder Dienstleistungen um die es geht Nicht vergessen werden soll an dieser Stelle dass Methoden auch Hinweise auf zu erfassende Attribute geben Eine Methode Gehaltszah lung erzwingt z B die Erfassung von Attributen wie Familienstand Steu erklasse USW Im Bereich der objektorientierten Datenmodellierung gehen einige Au toren so weit eine Beziehung zwischen den Objekten der Datenbank und denen des Anwendungsbereichs hier auch oft Weltausschnitt ge nannt zu fordern Diese direkte bereinstimmung zwischen Realweltobjekten und Da tenbankobjekten bzw Elementen des Datenmodells wird im Datenbank bereich geradezu als zentral angesehen Ein Grund daf r ist der Wunsch die Segmentierung der Information f r ein Objekt in konventionellen Datenbanken zu berwinden In relationalen Datenbanken werden zum Beispiel die Attribute zur Beschreibung eines Objekts in der Regel ber eine gr ere Zahl von Relationen verteilt Da blicherweise
171. ckzugreifen hnlich sieht es Oestereich 2004 S 180 der von der mit diesen Dia grammen nicht beherrschbaren kombinatorischen Explosion der Ablauf varianten spricht Hier zeigt sich zum ersten Mal sehr deutlich das Kontrollflussdefizit der objektorientierten Theorie Es ist mit dem oben beschriebenen In strumentarium nicht m glich einen Kontrollfluss wie wir ihn f r Abl u fe Gesch ftsprozesse usw ben tigen zu modellieren Das ist ja auch der Grund weshalb die UML Autoren die Erg nzungen schufen die in den n chsten Kapiteln beschrieben werden Trotzdem sind grunds tzlich Klassendiagramme mit oder ohne ange gebene Nachrichten Grundlage des Kontrollflusses der zu programmie renden Anwendung Allerdings steckt der Kontrollfluss da dann in der Ablauflogik des Programms 7 8 Bedeutung f r die Unternehmensmodellierung 109 Ber cksichtigt man die Unterscheidung von Funktionsmodellierung Modellierung einzelner abgegrenzter Funktionen vgl Abschnitt 15 2 und Prozessmodellierung dann ist diese Technik eindeutig in der Funkti onsmodellierung angesiedelt Obige Abschnitte stellen die Antwort dar die man vor 10 Jahren noch ohne Z gern gegeben h tte Die Distanz zwischen Systemanalyse und Prozessmodellierung war da noch so gro dass alles andere den meisten Prozessmodellierern absurd vorgekommen w re Doch hat sich inzwischen durch das Voranschreiten von Theorie und Praxis bei der Gestaltung von Informatio
172. consider Beispiel 235 Interaktionsoperator ignore consider Beispiel 243 Interaktionsoperator ignore consider ignore SD 230 Interaktionsoperator loop loop SD 230 bertragung in EPKs 252 Interaktionsoperator negative neg SD 230 234 Interaktionsoperator opt Beispiel 239 Interaktionsoperator option opt SD 230 bertragung in EPKs 252 Interaktionsoperator parallel par 230 Beispiel 235 Interaktionsoperator parallel merge Definition 233 Interaktionsoperator ref 230 Beispiel 239 Interaktionsoperator strict sequencing 230 Definition 234 Interaktionsoperatoren Definition 230 Liste 230 Interaktions berblick Beispiel 219 250 interleaving Definition 227 Ist_ein Beziehung 78 Kapselung Definition 26 Kein Oder Operator 198 Klasse Grafische Darstellung 21 Klassenattribute Definition 21 Klassendiagramm 110 Beispiel 54 56 70 71 87 88 Klassenhierarchie 78 Klassifikation Definition 20 Kollaborationsdiagramme 104 kombinierte Fragmente Beispiel 232 233 235 242 247 Definition 229 Kombiniertes Fragment assert Beispiel 243 Kommunikationen 219 komplexe Objekte 34 Komponentenklasse 73 Komposition Definition 74 konkrete Klassen 91 Konnektor 139 Kontextclassifier Beispiel 326 Kontrollfluss in Aktivit ten 131 Kontrollflussdefizit der objektorientierten Theorie 108 349 351 Kontrollflusskanten 137 Kontrollfokus Beispiel 222 225 233 247 Definition 220 Kontrollkante Definition 124 Kontrollknoten
173. d Konzepte die sie nicht aus sich heraus erkl ren kann sondern auf denen sie aufbaut Sie entstammen ihrer begrifflichen und philosophischen Umwelt In der objektorientierten Theorie im allgemeinen und in der UML im besonderen ist einer dieser Begriffe entity 2 Also wie der Begriff das Konzept in der Fachliteratur verwendet wird Dies ist in solchen F llen meist die einzige M glichkeit der Kl rung Modelle erstellen Realweltph nomen entity Informationstr ger Zusammengeh rig My cat is object oriented Ankerpunkt und Subjektivit t Informationen zuordnen 12 2 Objekte und Objektklassen 2 1 Einf hrung Objekte in dieser Welt Wir alle benutzen umgangssprachlich den Begriff Objekt Es w re wohl auch bereinstimmung zwischen uns allen herstellbar dass der Begriff etwas zusammengeh riges bezeichnet Genau das war die Motivation f r die Wortwahl ganz am Anfang des objektorientierten Denkens Die ele mentaren Einheiten einer Modellierungstheorie sollten etwas Zusammen geh riges beschreiben und nicht Teile davon berwindung der Aufteilung von Information also Motiviert war dies v a durch die relationale Datenbanktheorie die durchaus f r ein Real weltph nomen ein Objekt eine Vielzahl von Relationen fordert Einen Ausdruck fand dieses Denken in dem in der Randspalte angegebenen Satz von Roger King Nun wissen wir auf oder besser abgekl rten Menschen des neuen Jahrtausends dass Zusamme
174. d Methoden um die der Superklasse 6 6 Vererbung 89 Vererbung meint also den Vorgang dass die Subklasse die Attribute Methoden und auch Nachrichten vgl Kapitel 7 der Superklasse besitzt sie von ihr sozusagen weitergereicht bekommt Durch die Vererbung wird die Klassenhierarchie und die Ist_ein Be z ehung gekl rt An der Spitze der Hierarchie steht die allgemeinste Klas se mit Attributen und Methoden die alle Klassen gemeinsam haben Die erste Ebene der Subklassen erg nzt diese dann um ihre jeweiligen spezifi schen Attribute usw Eine m gliche programmtechnische Umsetzung soll das folgende Bei spiel andeuten Es handelt sich um einen Auszug aus obiger Klassenhier archie zu Fahrzeugen die beiden Klassen Fahrzeuge und PKW In der Klasse Fahrzeuge sind die allgemeinsten Attribute und Metho den in diesem Kontext operations genannt angef hrt Die Klasse Autos enth lt die spezifischen und auch den Eintrag INHERIT Fahrzeuge was bedeuten soll dass sie von der Klasse Fahrzeuge erbt dass also die Attribute und Methoden der Superklasse ebenfalls zur Verf gung stehen Das Beispiel zeigt auch dass es m glich ist ein Attribut in einer Sub klasse neu zu definieren wie es hier mit Kraftstofftyp geschehen ist un ter der Annahme dass PKW nur verbleiten oder unverbleiten Kraftstoff tanken CLASS Fahrzeuge PROPERTIES Kennzeichen Fabrikat Modell String Farbe FarbenTyp Kilometerstand Integer Kraftst
175. d R nur den positiven Ausgang einer Aktion Es zeigt sich aber auch in der Theorie weil die inhaltliche und grafische Erfassung von Verzweigungen nur auf umst ndliche Weise m glich ist 39 Dies wird durch das ausdr ckliche Einbauen von Theoriebestandteilen zur Bew ltigung von Ausnahmen wie in Abschnitt 10 4 5 beschrieben nur best tigt Systemdenken vs Prozessdenken Defizite Kommunikations diagramme Sequenzen Zustandsautomaten Aktivit ten Aufgepfropft Kein Scheitern keine Alternativen Ursache Oder Operator Der Prozess wird durchlaufen Das System handelt Pragmatik 350 14 Gesamteinsch tzung Woher kommt so etwas Nun es kommt von der oben angesprochenen Systemorientierung der UML Autoren Je tiefer man in ein System einsteigt desto geringer wird die Wahrscheinlichkeit dass eine Aktion au erhalb von technischem Versagen schief geht oder dass es Entscheidungsprozesse gibt die zahlreiche alternative Ergebnisse haben von beliebigen Teilmengen als Ergebnismenge wie beim Oder Operator ganz zu schweigen vgl hierzu unten In der Prozessmodellierung sind dagegen solche Strukturen st ndig vorhanden entsprechend vorbereitet ist hier die Modellierung von Verzweigungen Besonders deutlich wird dies beim Oder Operator Es ist nur eine Kleinigkeit aber doch eine symptomatische Dieses nicht exklusive Oder vgl Abschnitt 15 3 Punkt 6 f r eine Kurzbeschreibung fehlt in allen Theorieelemen
176. d dann die Aktion Festlegung PartModWorkflow an gesto en und durchgef hrt wobei wie oben ausgef hrt aus inhaltli chen Gr nden die Erledigung des Stream Vorgangs vorher erfolgen muss Anschlie end wird weiterhin vom Beschaffungsingenieur der Part ModWorkflow geplant Der dabei entstehende Arbeitsplan w rd dem Flugzeugdesigner zur Genehmigung zur ckgegeben Dieser pr ft mit drei m glichen Ergebnissen e Er gibt ihn zur ck zur nochmal igen Planung neue Planung durch den Beschaffungsingenieur e Er bricht die Aktivit t ab e Er ist zufrieden mit der Planung Dann werden vom Beschaffungsin genieur die zwei Aktionen PartModWorkflow ausf hren und Produk tionsanfrage stellen angesto en Der PartModWorkflow wird durchgef hrt und zwar in st ndiger Abstim mung mit dem Designingenieur der gegebenenfalls zus tzliche Informa tionen liefert Dies ist durch den Zusatz stream an den zwei Kanten modelliert Auch hier liegt wieder die oben schon angemerkte Unsch rfe in der Modellierung mit dem stream Zusatz vor Inhaltlich macht der weitere Fortgang zur Gabelung nur Sinn wenn die Aktion PartModWorkflow ausf hren vorher voll durchgef hrt ist 10 10 Beispiele 185 Man muss wohl grunds tzlich annehmen dass die UML Autoren sich vorstellen dass bei Vorliegen einer Verkn pfung mit stream und einer weiteren Kante zuerst die mit stream abgearbeitet wird Das Szenario am Ende dieser Aktivit t ist wiederu
177. d f r Systeme entwickelt worden und dadurch umfassend gepr gt Dies bemerkt man nicht an den Beispielen die oftmals geradezu ausdr cklich in der Grobmodellierung angesiedelt sind sondern in den Theoriekomponenten selbst Vgl die Zusammenfas sungen der entsprechenden Kapitel in 10 11 11 5 12 6 13 6 Aus Prozesssicht geht es bei diesen Theoriekomponenten um Funktionsmodellierung nicht um Prozessmodellierung im Sinne von Abschnitt 15 2 ja sogar um Funktionsmodellierung auf Systemebene Dies hat die Konsequenz dass die Theorieelemente f r eine sehr detaillierte Ebene der Ablaufbeschreibung konzipiert sind 14 2 Dynamische Aspekte der Unternehmensmodellierung 349 Mit einem anderen Schlagwort aus den obigen einschl gigen Kapiteln Systemdenken vs Prozessdenken kann man festhalten dass ersteres hier eindeutig dominiert und zweiteres nur in den Beispielen aufschimmert Besonders deutlich wird diese Ausrichtung bei folgenden Stellen die dann auch Defizite der UML bzgl der Prozessmodellierung darstellen Kontrollflussdefizit Selbst bei sehr wohlwollender Betrachtung bleibt es bei dem Kontroll flussdefizit der UML auch in der Version 2 0 Dies ist zwar kleiner als in den fr heren Versionen aber immer noch da Kommunikationsdiagramme besitzen nur ein sehr abgemagertes Kontrollflusskonzept Sequenznummern erfassen h chstens eine Variante des Kontrollflusses sozusagen eine Instanz Sequenzen enthalten nur einen aus Pr
178. d ist insofern nicht berraschend Geht man von Systemen aus mu man gar nicht fragen und es wurde oben schon angedeutet In einem komplexen System werden nat rlich Komponenten und d h ihre Aktivit ten aktiv oder auch wieder inaktiv wenn sie nicht mehr ben tigt werden Hier ist es durchaus sehr sinnvoll einzelne Subsysteme sozusagen zwischendurch abschalten zu k n nen Vgl zu diesen berlegungen auch Kapitel 14 Mit obigem sind auch die von den UML Autoren vorgestellten nicht alternativen Startknoten sinnvoll Aus der Prozessmodellierung ist man gew hnt dass es zwar mehrere Startknoten geben kann dass diese aber alternativ sind D h die Standard prozessmodellierung geht davon aus dass ein Prozess einmal gestartet wird seine Aufgabe erf llt und dann fertig ist Wenn er wieder ben tigt Keinen Bedarf an einem Flussende Mehrere zusammenwirkende Gesch ftsprozesse Leistungs erbringung Richtung System Aus Systemsicht Nicht alternative Startknoten Nebenl ufigkeit St ndiger Neustart Restart streaming Verarbeitung und Entstehung von Informationen nicht erfassbar 196 10 Aktivit ten wird wird er wieder gestartet Aber bei jeder Instanz des Gesch ftspro zesses immer nur jeweils von einem Startereignis Bei einer Gesamtsicht und modellierung w re der Einbau nicht alter nativer Startpunkte unvermeidlich Auch die von den UML Autoren immer wieder thematisierte Neben l ufigkeit das
179. dacht werden muss Zumindest bei Zustandsautoma ten aus dem Bereich der Systemanalyse kann dies gleichbedeutend sein mit der Frage bis zu welcher Systemtiefe modelliert wird 13 2 3 Einf hrende Beispiele Die beiden Beispiel sind einf hrend und deshalb einfach gehalten Zuerst ein Beispiel aus dem Bereich der Systemanalyse bzw des Software Engi neerings Systembeispiel dann eines mit Bezug zu Gesch ftsprozessen Prozessbeispiel Beispiel 1 Geldautomat Systembeispiel Das Objekt um das es geht ist ein Geldautomat ATM automated teller machine Die Rechtecke mit abgerundeten Ecken repr sentieren somit die Zust nde des Geldautomaten die Pfeile die Zustands berg nge Die Zustand durch Aktivit t Objekt Geldautomat Ein Zustand drei Zustands berg nge Transitionen Schluss durch Auszahlung Schluss durch Abbruch 292 13 Zustandsautomaten Beschriftung der Trans tionen zumindest mit dem ausl senden Ereignis ist v a dann wichtig wenn mehrere Pfeile von einem Zustand weggehen wie im folgenden Beispiel In einem solchen Fall sind die Transitionen alternativ und k nnen daher als durch ein exklusives Oder verkn pft angesehen werden Gleich nach dem Anfangszustand wird mit dem Zustand w hleBetrag der Zustandsautomat aktiv Von diesem Zustand aus gibt es drei m gliche Transi tionen e Betrag gew hlt Wahl korrekt Zustand ndern in Schlusszustand fertig Normalerweise ginge es hier nat rlich
180. dass Verhalten in diesem Sinne die Programmschritte computation festlegt die die Effekte des Verhaltens der Verhaltenseigenschaft behavioral feature erzeugen e Beispiel f r Verhalten Effekte desselben bei einem Geldautomaten Karte wird gepr ft Falls g ltig wird die Auszahlung angesto en falls ung ltig wird die Karte einbehalten das Personal informiert und dem Kunden eine Nachricht angezeigt Im dritten Teil dieser Definition OMG 2003a S 5 geben s e auch gleich an welche Formen das Beschreiben eines Verhaltens annehmen kann interaction statemachine activity or procedure a set of actions Diese Begriffe werden unten erl utert Verhalten bedeutet hier also in erster Linie Systemverhalten Und zwar auf Anforderungen von au erhalb des Systems Kunde schiebt EC Karte in den Geldautomaten oder von innerhalb digitale Auszahlkomponente startet mechanische Auszahleinrichtung Struktur vs Verhalten Definition Verhalten Mit dabei die Anwender Host Objekt 116 8 Modellierung von Verhalten und Abl ufen Es ist also der gute alte Systembegriff der hier wieder zugrunde liegt Etwas anderes w re auch nicht m glich wenn man den Hauptzweck der UML sieht die Systemanalyse und die Unterst tzung der Software entwicklung Bei jeder Verhaltensmodellierung werden automatisch auch die An wender mit betrachtet da ein Teil der Dynamik von ihnen kommt Unter Umst nden starten sie den zum
181. de Pr fung gepr ft wird In der folgenden Abbildung ist deshalb in Pr fungen das Attribut Be zugLV eingef gt das angibt auf welche Lehrveranstaltung sich die Pr fung bezieht Die Wertigkeiten bedeuten hier dass ein Studierender kei ne eine oder mehrere Pr fungen besucht und dass eine Pr fung von kei nem einem oder mehreren Studierenden aufgesucht werden kann 3 5 Beispiele 45 matrikelNummer string pruefhr integer Pr fungsbesuch bezPruef string art string kaenge integer Ba nn BezugLV string immatrikulienend exmatrikulieren eintragenNote Abbildung 3 5 3 Zweistellige Assoziation Beispiel Pr fungsbesuch zweistellig Sind dagegen die konkreten Lehrveranstaltungen oder die Pr fungen zu Pr fungsbesuch einer eigenst ndigen Existenz gekommen ergibt sich eine andere Situati dreistellig on Dies soll hier der Fall sein weil die Pr fungen an sich erfasst wer den ohne Bezug zu einer konkreten Lehrveranstaltung Damit sind in Pr fungstyp nur Eintr ge wie in der folgenden Tabelle m glich Pr fungstypen 1 Klausur 020 60 2 Klausur J9 3 M ndliche Pr fung 30Minten 4 Laborarbeit t1Semester 5 Praktische Arbeit 1Semesterr 5 Diplomarbeit 4 Monate _ _ 6 Bachelorarbeit 3Monte __ M gliche Pr fungstypen im Anwendungsbereich Hochschule W rde man die Pr fungstypen direkt bei den Lehrveranstaltungen mit Redundanz verwalten erg be sich eine gro e Red
182. de in geschweiften Klam mern angegeben Folgendes ist m glich e Das Ende st eine Teilmenge einer Eigenschaft Dies wird durch subsets lt property name gt angegeben lt property name gt ist die Ei genschaft e Das andere Ende lt end name gt wird durch das betreffende Ende neu definiert Dies wird durch redefined lt end name gt angegeben e Das Ende ist die Vereinigung seiner Teilmengen Dies wird durch union angegeben e Das Ende stellt eine geordnete Menge dar Dies wird durch ordered angegeben e Das Ende ist eine Sammlung in der ein Element mehrfach vorkom men kann Dies wird durch bag angegeben e Das Ende ist eine Sequenz eine geordnete Sammlung Dies wird durch sequence or seq angegeben e Falls das Ende navigierbar ist kann jede Eigenschaft die zu einem der Attribute geh rt angegeben werden Falls das Assoziationsende abgeleitet ist kann dies durch einen Schr g strich vor der Bezeichnung gezeigt werden Falls keine Bezeichnung vorliegt kann der Schr gstrich auch alleine eingef gt werden Subset Teilmengen Das Ende einer Assoziation kann unter folgenden Umst nden als eine Teilmenge des Endes einer anderen gekennzeichnet werden e Beide haben dieselbe Anzahl von Enden e Jede der Type Mengen die durch die teilmengenbildende Assoziati on verbunden werden entspricht einem entsprechenden Type der durch die aufgeteilte Assoziation verkn pft ist In diesem Fall ist die Sammlung des
183. dellierung deutlich macht Prozessmodellie rung ist pragmatisch Bei ihr mu nicht um im Bild zu bleiben jede Teilmenge der verkn pften Oder Elemente dahingehend gepr ft wer den ob ihr Wirksamwerden nicht vielleicht Sch den verursacht Es ge n gt wenn die Oder Konstruktion die Varianten abdeckt die im Prozess auftreten k nnen Allgemein gesprochen Ein Prozessmodell mu alle im Prozess vor handenen Kontrollflussvarianten abdecken der Rest bleibt ungekl rt Eine systemnahe Modellierung dagegen muss alle denkbaren Abl ufe ber cksichtigen Die Ursache daf r ist die folgende Ein Prozess wird ganz konkret von seinen Part zipanten realisiert Menschen Maschinen usw Das Mo 14 2 Dynamische Aspekte der Unternehmensmodellierung 351 dell muss dieses Handeln unterst tzen aber nicht absichern dass der Prozess in unkontrollierte Zust nde ger t Das machen die beteiligten Menschen Ein System dagegen handelt einmal angesto en und durch evtl Be nutzereingaben gesteuert selbst ndig und das Modell muss verhindern dass es n einen nicht vorgedachten Zustand kommt Informationsobjekte Auch beim Umgang mit Informationsobjekten w rd das Systemdenken deutlich Zum Beispiel wird bei Aktivit ten nur sehr ungen gend die Informationsverarbeitung erfasst vgl Abschnitt 10 11 2 z B die die jede Aktion an den Informationsobjekten Rechnung vornimmt Dies ist f r Prozessanalysen absolut ungen gend Ande
184. den Zustand einer Lebenslinie Dabei sind hier mit Zustand auch die Wer te eventueller Attribute der Lebenslinie gemeint Die Einschr nkung wird zur Laufzeit gepr ft Und zwar unmittelbar vor der Ausf hrung des n chsten Ereignisauftretens Wenn die Bedingung wahr ist ist der folgende Trace g ltig falls die Bedingung nicht erf llt st ist der Trace in diesem Durchgang ein ung ltiger Trace Anmerkung Die Wortwahl Laufzeit der UML Autoren zeigt dass dieses Merkmal in Rich tung Programmierung zielt Es ist aber nat rlich auch ohne Schwierigkeit in Prozessabl ufen denkbar Festlegungen Stop Klassen bzw Objekte Instanzen Aufruf von au en Kontrollfokus 240 11 Sequenzen Darstellung Die Darstellung erfolgt entweder in Textform in geschweiften Klammern auf der Lebenslinie oder als Notiz bei einem Ereigniseintritt Vgl Abbil dung 11 4 9 f r je ein Beispiel Ganz gleich w e bei den Aktivit ten gibt es hier ein Element Stop das etwas beendet Hier ist Stop ein Ereignisauftreten das das Ende der Exi stenz einer Instanz signalisiert einer Instanz der Lebenslinie auf der das Stoppsymbol erscheint Die grafische Darstellung erfolgt durch ein Kreuz in Form eines X am Ende der Lebenslinie Vgl Abbildung 11 4 8 f r ein Beispiel 11 4 9 Weitere Beispiele In Erg nzung zu den obigen Beispielen die jeweils auf ein bestimmtes Modellelement bzw eine bestimmte Modellstruktur bezogen waren hier noch einige
185. den in eine senkrechte Anordnung gebracht Dieses Beispiel weist eine komplexe Verzweigungsstruktur auf die aber ohne Schwierigkeit bertragen werden kann Auch die zahlreichen Spr nge nach flussabw rts k nnen durch Einf gen entsprechender Operatoren in der EPK problemlos realisiert werden Dasselbe gilt f r die R ckspr nge Sie werden in Aktivit tsdiagrammen wie es ja auch sinn voll st direkt auf einen Operator vor eine Aktion gef hrt Entsprechend erfolgt in der EPK wie dort ja auch syntaktisch vorgeschrieben der Wiedereinstieg der R ckschleife mit H lfe eines XODER Operators vor eine Funktion Bei den Entscheidungsvorg ngen m ssen wiederum Erg nzungen vor genommen werden und zwar berall dort wo die Entscheidungsfindung in der Aktivit t nur ber die Kantenbeschriftungen modelliert ist Hier bei Problemdarstellung richtigstellen 10 11 Aktivit ten und Unternehmensmodellierung 211 Auf das Wiederzusammenf hren der Kontrollfl sse ganz am Ende des Aktivit tsdiagramms wurde in der EPK verzichtet Dort ist das nicht b lich das Ende wird durch die Schlussereignisse signalisiert Problem aufzeichnen Problem reprodu zieren Ines B dryau Bungspwepwargosg Problem beschreibung korrigieren Problem nicht gel st bekannt Festhalten Abbildung 10 11 8 Problembehandlung als Aktivit tsdiagramm vgl Abbildung 10 10 6 Quelle OMG 2003a Figure 205 S 292 grafisch v
186. den kann Hier gibt es nat rlich Spielraum z B k nnte die oben er w hnte Kalkulation auch noch unterteilt werden aber das Handeln der Prozesspartizipanten spiegelt sich doch noch in der Prozessbeschreibung wider Das st auch die Ebene auf der zwischen Funktions und Prozessbe schreibung unterschieden wird vgl den n chsten Abschnitt wo also u U in einem Basiselement z B einer Funktion ein detaillierter Ablauf gekapselt wird Detaillierung Standardprozess modellierung Istanalyse Systemnahe Prozess modellierung Grobmodellierung von Gesch ftsprozessen Kapselung Abgehoben Typisch 358 15 Abrundung Zahlreiche Beispiel hierzu finden sich n Staud 2006 und n Web ZumBuch UMOI Dies ist im brigen auch die Ebene die viele Anbieter von ERP Software w hlen wenn sie durch Prozessmodelle ihre Software beschrei ben Ein Gegenst ck hierzu ist die software systemnahe Prozessmodellie rung F r diese sind die einzelnen Handlungen so zerlegt dass sie pro blemlos in Programmierkonstrukte abgebildet werden k nnen Eine solche Prozessmodellierung muss z B f r Prozesse realisiert wer den die automatisiert werden sollen Ein anderes Gegenst ck ist die Grobmodellierung von Gesch ftspro zessen Diese beschreibt den Prozess zwar noch integriert fasst aber gan ze Prozessabschnitte zusammen Insgesamt entsteht so eine eher ober fl chliche Prozessbeschreibung Solche Modelle
187. der Buchstabe H befindet Er hat G ltigkeit f r die Region des Zustandes in der er enthalten ist 6 Abbildung 13 3 4 Grafische Darstellung eines shallowHistory Knotens Quelle OMG 2003a Verkn pfer Verkn pfer join vertices dienen dazu mehrere Transitionen zu vereini gen die von Knoten aus verschiedenen orthogonalen Regionen stammen eine UND Verkn pfung der Transitionen Die Transitionen die zu einem solchen Knoten f hren d rfen keine W chter oder Trigger haben Zur grafischen Darstellung vgl Abbildung 13 3 5 Gabelung Gabelungen fork vertices erlauben es eine ankommende Transition in zwei oder mehr Transitionen aufzuteilen die bei orthogonalen Zielknoten Geschichte 2 flach Beispiel Grafische Darstellung Verschmelzung Gabelung Grafische Darstellung Von einem Zustand zu zweien und von zweien zu einem 302 13 Zustandsautomaten enden Mit orthogonalen Knoten sind hier solche gemeint die sich in verschiedenen Regionen eines zusammengesetzten Zustandes befinden Das bedeutet dass es einen Zustands bergang von einem Zustand zu mehreren gibt eine UND Verzweigung der Transitionen was in den Grundlagen vgl oben nicht vorgesehen ist Ebenso umgekehrt mit den Verkn pfern Von mehreren Zust nden gibt es einen Zustands bergang zu genau einem Auch dies gibt es in den Grundlagen nicht Die Transitionen die von einer Gabelung weggehen d rfen keine W chter oder Trigger haben
188. des Classifier eingetragen Folgende weiteren Festlegungen gelten e Der genaue Typ des Classifier kann in Guillemets ber der Bezeich nung angegeben werden e Die Spezialisierungen von Classifiern haben ihre eigene grafische Notation e Liegt ein abstrakter Classifier vor wird die Bezeichnung kursiv ge setzt Ist ein Classifier eine Klasse ergibt sich die Darstellung wie in der fol genden Abbildung Klassifizierte Informationstr ger Ding Rechteck mit Bezeichnung und Bereichen Classifier Klasse Unterbereiche in Classifiern Informationelles Grundger st des Unternehmens Elementare Verarbeitungs schritte von Informationen 36 2 Objekte und Objektklassen lt lt class gt gt Klassenname Abbildung 2 8 1 Grafische Darstellung eines Classifiers am Beispiel einer Klasse Hier noch ein Beispiel f r die Darstellung von Unterbereichen in Classi fiern wieder am Beispiel einer Klassendarstellung lt lt class gt gt Klassenname Liste der Attribute Liste der Methoden Abbildung 2 8 2 Grafische Darstellung eines Classifiers mit Unterbereichen am Beispiel einer Klasse Da Klassen die am h ufigsten vorkommenden Classifier sind kann bei ihnen die Bezeichnung des Typs class weggelassen werden 2 9 Beitrag zur Unternehmensmodellierung Gehen wir von einem Unternehmen als Anwendungsbereich aus Klassen bilden durch die Attribute das informationelle Grundger st des Untern
189. die Betrachtung auf das Zahlungs und Mahnwesen Bez glich der Angestell ten eines Unternehmens werden die Zugeh rigkeit zu Abteilungen die Mitarbeit in Projekten und die Nutzung von Computern betrachtet Hier nun dem Kapitel entsprechend eine erste Sammlung von At tributen und Methoden und eine erste Klassenbildung 2 7 1 Hochschule Betrachten wir beispielhaft eine Hochschule und stellen wir uns vor der Vorlesungsbetrieb sollte modelliert werden Dann w rden zwe Objekt klassen s ch geradezu aufdr ngen Studierende und Dozenten Als Attribute f r Studierende sind unschwer zu erkennen Matrikel nummer matrikelNr name vorname plz ort stra e Zeitpunkt des Be ginns beginnStudium und des Endes des Studiums endeStudium studi engang und fachsemester Als Operationen immatrikulieren exmatriku lieren Studierende beginnStudium date ende Studium date studiengang siring fachsemester integer immatrikulierend exmalrkuliereni Abbildung 2 7 1 Objektklasse Studierende Studierende F r die Dozenten finden sich auf Anhieb die Attribute Personalnummer Dozenten persNr name vorname und die Operationen Vorlesungs und Pr fungs durchf hrung haltenVorlesung haltenPr fung 7 Vgl zu den Formatierungen Abschnitt 1 5 Kunden Rechnungsk pfe Rechnungs positionen Artikel Attribute von Rechnungsk pfen und Methoden 28 2 Objekte und Objektklassen Dozen
190. die Ak tionen so wie dies bei jeder Modellierung von Abl ufen der Fall ist Damit stellen Aktivit ten eine Sammlung von sinnvoll in einen Kon trollfluss gepackten Aktionen dar 10 3 2 Objektknoten Objektknoten repr sentieren Objekte im Sinne des objektorientierten Ansatzes Mit ihrer Hilfe werden die in einer Aktivit t vorkommenden Objekte erfasst Die Aufgabe der Objektknoten ist es den Objektfluss flow of objects n einer Aktivit t zu modellieren Ein Objektknoten hat einen Typ und kann damit Auspr gungen an nehmen Allerdings nur solche die dem Typ des Objektknotens entspre chen Folgende Typen werden unterschieden Objektknoten f r Mengen Objektknoten vom Typ Signal Objektknoten f r Objekte in spezifischen Zust nden Objektknoten mit einer oberen Grenze Objektknoten mit einer von FIFO abweichenden Sortierung Grafische Darstellung von Objektknoten Die folgende Abbildung zeigt die grafische Darstellung von Objektkno ten als Rechteck bzw Sechseck mit einer Bezeichnung die auch den Typ des Objektknotens angibt Die mit der Nummer 1 versehene Grafik gibt die Grundform an Die Bezeichnung kann auch durch die Angabe des Objektzustandes genauer gefasst werden Diese Zust nde werden in eckigen Klammern unter die Bezeichnung geschrieben vgl das Stichwortverzeichnis f r Hinweise auf Beispiele Obergrenzen upper bounds und eine von FIFO Voreinstellung abweichende Sortierung werden n geschweiften Klam
191. die Autoren denken nur an Systeme das macht die Wortwahl deutlich bei denen alles brige was nicht mit dem ausgew hlten Verhalten zu tun hat weggelassen wird Dies sind so etwas wie elementare Systembestandteile die nicht nur jeweils einzeln mehr sind als die Summe ihrer Teile sondern die auch jeweils einen wichtigen Beitrag zum Gesamtsystem leisten Das Herz der Architektur eines Systems schl gt in seinen Kooperationen alle gut strukturierten objektorientierten Systeme sind aus einer regul ren Menge mittlerer Gr e solcher Kollaborationen aufgebaut Booch Rum baugh und Jacobson 2006 S 431 Damit wird deutlich dass es wesentlich um Systemdesign geht Hier ist tats chlich das Finden der elementaren Verhaltenseinheiten von entschei dender Bedeutung f r die Qualit t der dann entstehenden Software Die Beschreibung dieses eng umgrenzten Verhaltens soll dann auch die Rollen angeben die die Partizipanten dabei einnehmen Dies ist den UML Autoren sehr wichtig Die Betonung der Rollen geht so weit dass die UML Autoren hier die collaborating elements und die Rollen gleichsetzen ebenda Eine Kollaboration kann damit z B eine Operation beschreiben oder aber einen Anwendungsfall vgl Kapitel 12 n dem die Classifier und Assoziationen angegeben werden die f r seine Leistung notwendig s nd OMG 2003a S 157 Auch dies gibt Hinweise auf die Motivation f r dieses doch etwas berraschende Theorieele
192. die Ver schachtelung von T tigkeitsfolgen nicht nur in zwei sondern in beliebig vielen Ebenen Die Motivation daf r st klar Systeme enthalten nun mal Systeme und dies muss auch modelliert werden k nnen Dieses Enthaltensein wird dann hier ber die Zustandsautomaten mo delliert Das zentrale Instrument dabei ist in einem Zustand eines Zu standsautomaten einen anderen untergeordneten Zustandsautomaten zu platzieren So wie im untenstehenden Beispiel im Zustand LeseBe trag LeseBetragSM der Zustandsautomat LeseBetragSM enthalten ist Abbildungen 13 3 10 und 13 3 11 Damit sind dann bereits die ersten zwei Ebenen realisiert Setzt man dasselbe auch mit dem eingebetteten Zustandsautomaten auch er hat in einem Zustand wieder einen Zustands automaten fort ist die dritte Ebene realisiert Usw Eine Schwierigkeit hierbei stellt die Verkn pfung dar Wie werden die beiden Zustandsautomaten der auf der jeweils oberen Ebene und der untergeordnete miteinander verkn pft Wie werden die Ergebnisse des im Zustand eingebetteten Zustandsautomaten an den Zustand bergeben so dass dieser damit mit seinen anderen Zust nden interagieren kann Da die Erfahrung zeigt dass dieses Thema abstrakt n cht ganz einfach zu verstehen st werden die folgenden Ausf hrungen auch mit einem anschaulichen Beispiel n den n chsten zwei Abbildungen erl utert Beispiel erste Abbildung Zuerst ein einfacher Zustandsautomat LeseBetragSM Er wurde sch
193. die fol gende Abbildung an Dabei dient common behaviors Klasse Common Behaviors als Generalisierung der Klassen mit den eigentlichen Kon strukten Diese werden in den folgenden Kapiteln erl utert Klassen classes common behaviors Aktivit ten interaktionen Zustandsautomaten Anwendungsf lle activities interactions state machines use cases actions Abbildung 8 5 1 Die Konstrukte der UML f r die Modellierung von Verhalten und ihr Zusammenhang Quelle OMG 2003a S 201 grafisch ver ndert bersetzung durch den Verfasser 8 6 Token eine erste Ann herung In Zusammenhang mit der Verhaltensmodellierung spielt bei den UML Autoren der Begriff des Token eine sehr gro e Rolle Bei der Ausarbei tung des Kontrollflusskonzepts vgl unten dient er sogar der methodi schen Fundierung Da er auch schon sehr fr h bei den folgenden Ausf h rungen vorkommt wird er hier erl utert In der Informatik taucht dieser Begriff im Zusammenhang mit forma len Sprachen auf im engeren Bereich der Compiler bzw Parser Die erste von einem Compiler zu l sende Aufgabe besteht darin das Programm in Token zu zerlegen Token sind Teilstrings die logisch zusammenpassen Beispiele sind Bezeichner Konstanten Schl sselw rter wie then und 8 6 Token eine erste Ann herung 119 Operatoren wie oder lt Jedes Token kann als regul rer Ausdruck spezifiziert werden Aho und Ullmann 1996 S 751 Etwas detail
194. diesem Kapitel sollen einige Themen angesprochen werden die im Buch Verwendung finden und deren Kenntnis nicht einfach vorausgesetzt werden kann Hinweis Auch hier wird wieder der Begriff T tigkeit verwendet wenn es um die einzelnen zu l senden Aufgaben in einem Ge sch ftsprozess geht und T tigkeitsfolge wenn der Gesamtprozess gemeint ist Der Grund ist einfach der dass die Begriffe Aktion Aktivit t und auch Funktion durch die Methode AD bzw die Me thode EPK besetzt sind 15 1 Prozessmodellierung auf verschiedenen Ebenen Unternehmensmodellierung im allgemeinen und Prozessmodellierung im besonderen finden auf verschiedenen Detaillierungsebenen statt Ein Ergebnis dieser Arbeit ist dass wir wohl in Zukunft eine software systemnahe Prozessmodellierung als eine dieser Varianten ins Auge fas sen m ssen Insgesamt werden damit in dieser Arbeit die folgenden Varianten der Prozessmodellierung bzgl des Detaillierungsgrades der Analyse unter schieden Unter einer Standardprozessmodellierung SPM versteht der Verfas ser die Auspr gung der Prozessmodellierung bei der eine Handlung eines Prozessteilnehmers Kalkulation erstellen Brief schreiben an Sit zung teilnehmen in ein Bas stheorieelement eine T tigkeit findet Auf dieser Detaillierungsebene sollten auch die Gesch ftsobjekte als Ganzes erhalten bleiben vgl auch unten Das ist die Ebene die z B in einer klassischen Istanalyse Verwendung fin
195. dort studieren Beim Sammeln der Attribute und Methoden falls objektorien tiert modelliert wird wird man schnell merken dass z B alle Besch ftig ten viele Attribute und Methoden gemeinsam haben einige aber auch nicht Dies ist eine vor allem aus der semantischen Datenmodellierung z B der ER Modellierung vgl Staud 2005 gut bekannte Struktur f r die man dort schon sehr fr h ein Konzept fand das Generalisierung Spezia lisierung genannt wurde Dabei bildet man einen Entit tstyp mit den Attributen die allen gemeinsam sind und jeweils einen spezifischen Enti t tstyp mit denen die spezifisch s nd Bei der bertragung auf die objektorientierte Modellierung wurde das Konzept um die Methoden erweitert Gemeinsame Attribute und Metho den werden der generalisierten Klasse zugeordnet die Methoden und Attributen der spezialisierten Klassen kommen in diese Die generalisierte Klasse wird oft auch Superklasse genannt die spe zialisierten Klassen Subklassen Durch diese Zuordnung von Attributen und Methoden erlaubt dieses Konzept eine sparsame Modellierung und sp ter dann Programmie rung denn eine Alternative w re die Attribute und Methoden der generalisierten Einheit Klasse Entit tstyp allen spezialisierten Ein heiten zuzuweisen Dieses Konzept dr ckt hnlichkeit zwischen den erfassten Informati onstr gern aus hier in der objektorientierten Modellierung also die Ahn lichkeit von Objekten b
196. durch Aufruf einer Funk tion eine Menge von Eingabewerten in eine Menge von Ausgabewer ten tranformieren Beispiele f r Elelementaraktionen Folgende Beispiele f r Elementaraktionen werden in OMG 2003a S 284 genannt e Arithmetische Funktionen als sog Elementarfunktionen primitive functions e Aufruf von Verhalten z B in Aktivit ten e Kommunikation z B das Senden eines Signals e Manipulation von Objekten z B Lesen oder Schreiben von Attribu ten oder Assoziationen 9 3 4 Aktionen und Variable Variablen sind uns ja bekannt aus der Mathematik und der Programmie rung Hier im Zusammenhang mit Aktionen sind sie Elemente um Daten zwischen Aktionen indirekt weiterzugeben Eine lokale Variable speichert Werte die von mehreren Aktionen einer zusammenwirkenden Gruppe ben tigt werden Nach au en stehen sie nicht zur Verf gung Die Ausgabe einer Aktion kann in eine Variable geschrieben werden und als Eingabe einer nachfolgenden Aktion dienen Dies meinen die UML Autoren wenn sie von einem indirekten Daten flussweg sprechen vgl OMG 2003a Abschnitt 12 3 40 S 363 ff 9 4 Aktionen und Unternehmensmodellierung 127 9 3 5 Uhntereinheiten Aktionen sind die Grundelemente von Aktivit ten Neben diesen definie ren die UML Autoren noch zus tzliche Untereinheiten die subordinate units Dies sind Gruppen zusammengefasster Aktionen die ebenfalls Ele mente einer Aktivit t sein k nnen Jede dieser subordi
197. e Der Zustand LeseBetrag LeseBetragSM ist nun genau so einer um den es hier geht Er verweist auf einen Zustandsautomaten und zwar auf den der vorigen Abbildung mit der Bezeichnung ZLeseBetragSM Insgesamt beschreibt dieser Zustandsautomat einige Aspekte von Geldautomaten Der nitial Pseudozustand f hrt zum ersten Zustand Pr feKarte Ergab die Pr fung dass die Karte in Ordnung ist gibt es einen Zustands bergang zum Zustand LeseBetrag LeseBetragSM in dem der Einlesevorgang modelliert ist der also einen eigenen Zustandsauto maten enth lt Zu diesem unten mehr Von diesem aus gibt es zwei m g liche Transitionen die zum Abbruch oder zur Pr fung der Transaktion f hren Ein Abbruch oder die Pr fung der Transaktion f hren zum Zu stand FreigebenKarte 13 3 Vertiefung 307 Beispiel zweite Abbildung LeseBelra LeseBe Betrag gew hlt Mah korrekt Transaktion pr fen Pr fe Trans aktion Transaktion gepr ft Transaktion 1 0 Karte freigeben De Abbildung 13 3 11 Zustandsautomat mit untergeordnetem Zustandsautomat und Ausstiegspunkt Quelle In Anlehnung an OMG 2003a Seite 489 und 510 Figure 390 und Figure 399 Das obige Beispiel enth lt u a folgende Komponenten o Mehrere Zust nde Mehrere Transitionen Einen Zustandsautomaten im Zustand Au erdem einen Ausstiegspunkt am Zustand Anmerkung zur In diesem Abschnitt wird es begrifflich etwas anstrengend Die US Amerikaner k nnen B
198. e Es hat im Gegensatz zum Aktivit tsende keine Wirkung auf die Token in anderen Kontrollfl ssen Der Tokenfluss Beispiel Im folgenden Aktivit tsfragment sei die Situation wie folgt Zahlreiche Komponenten werden gebaut und installiert Die Aktion Stelle Kompo nente her ist in einer Schleife Nach jeder Komponentenherstellung wird zum einen die Aktion Baue Komponente ein aktiviert zum anderen kommt es aber auch zu einem Entscheidungsvorgang der in der Grafik durch die Verzweigung angegeben ist Da wird gepr ft ob weitere Komponenten herzustellen sind oder nicht Die beiden m glichen Ergebnisse sind weitere Komponenten zu bauen bzw keine weiteren Komponenten zu bauen Dieser Entscheidungsvor gang wird jedesmal nach der Herstellung jeder Komponente durchge f hrt Irgendwann kommt es hier zu der Entscheidung dass keine weiteren Komponenten zu bauen sind Dann wird dieser Kontrollfluss diese Wie derholschleife rund um die Herstellung durch den Knoten Flussende abgebrochen Betrachten wir den zweiten Teil ab der Aktion Baue Komponente ein Nach dieser Aktion bzw in ihr kommt es zur Entscheidung ob weitere Komponenten zu installieren sind oder nicht Falls weitere zu installieren sind wird ein Flussende erreicht das diesen Kontrollflusszweig beendet 10 6 Kontrollknoten 165 Falls keine weiteren Komponenten zu liefern sind startet die Aktion An lage liefern nach dieser beendet ein Aktivit tsende die gesamt
199. e dass das Problem nicht ge l st ist wird nochmals in der Aktion Problem ID und L sung nach einem korrekten Ergebnis gesucht Zur ck zur nochmaligen Bearbeitung Damit liegt hier also eine R ckschleife vor Die Schlusssequenz zeigt das aus der Modellierung von Abl ufen be kannte Ph nomen dass zwei Aktionen angesto en werden und dass es erst dann weitergeht zum Aktivit tsende wenn beide erledigt sind Mo delliert wird dies hier durch eine Gabelung und eine Vereinigung Aktion L sung pr fen Vergleich EPK AD 188 10 Aktivit ten Problemdarstellung richtiggestellt aufge zeichnet Problem reprodu zieren beschreibu ng korrigieren nicht aufge zeichnet Problem ist reproduzierbar Ergebnisse bekannt festhalten aus 10 10 6 Aktivit t Problembehandlung Quelle OMG 2003a Figure 205 S 292 bersetzung durch den Verfasser En Por Problem nicht gel st Die Abbildung enth lt u a folgende Komponenten bzw Strukturmerkmale Zwei Aktivit tsenden Einen Startknoten Eine Schleife R cksprung Eine Gabelung Eine Vereinigung Mehrere Verzweigungen Mehrere Zusammenf hrungen Au erdem mehrere unmittelbar aufeinander folgende Verzweigungen Entscheidungen und eine R ckschleife In Abschnitt 10 11 38 wird im Rahmen eines Vergleichs der bei den Methoden EPK und AD zu diesem Aktivit tsdiagramm eine aquivalente Ereignisgesteu
200. e Aktivit t Da die Aktion Baue Komponente ein direkt von Stelle Komponente her angesto en wird gibt es keinen Ansto mehr wenn diese endet Dann sollten auch tats chlich keine weiteren Komponenten zu installieren sein so dass das Aktivit tsende erreicht wird Die Beschreibung in OMG 2003a zeigt aber dass die UML Autoren sich vorstellen eine Aktion k nne auch ohne unmittelbaren Ansto durch den Kontrollfluss weiterarbeiten When the last component is built the end of the building iteration is indicated with a flow final However even though all component building has come to an end other behaviors are still executing When the last component has been installed the application s delivered OMG 2003a S 332 Hier w rde also die Aktion Baue Komponente ein solange weitermachen bis auch die zuletzt gelieferte Komponente eingebaut ist Voraussetzung ist nat rlich dass alle ben tigten Komponenten vorher auch hergestellt wurden Danach wird dann die gesamte Aktivit t beendet In der Grafik ist dies durch den Knoten Aktivit tsende festgehalten Anlage liefern keine weiteren Komponenten zu installieren Baue Komponente ein weitere Komponenten keine zu installieren weiteren Komponenten weitere Komponenten zu bauen zu bauen Abbildung 10 6 19 Komponentenverarbeitung Aktivit tsende und Flussende im Einsatz Quelle OMG 2003a S 332 Figure 251 bersetzung durch
201. e Assoziation als abgeleitet gekennzeichnet werden vgl unten Wird keine Assoziationsbezeichnung angegeben gen gt in solch einem Fall der Schr gstrich alleine Generalisierungen vgl unten zwischen Assoziationen k nnen durch einen Generalisierungspfeil der zwischen den betreffenden Assoziations symbolen eingef gt wird ausgedr ckt werden Das Assoziationsende kann beschriftet werden Dann wird die Be zeichnung des Assoziationsendes in der N he des Linienendes platziert Als Assoziationsende bezeichnen die UML Autoren die Verbindung zwi schen der Linie die die Assoziation darstellt und dem grafischen Element f r die Klasse Grunds tzlich sind so die UML Autoren Assoziationen nicht nur zwi schen Klassen sondern zwischen Classifiern aller Art m glich 3 3 Hintergrund Das Konzept der Assoziation wie es in der objektorientierten Theorie ausformuliert wird entspricht dem in Beziehung setzen von Modellein heiten Relationen Entit tstypen in der klassischen Datenbanktheorie Werden dort z B n der ER Modellierung die Entit tstypen Dozenten und Vorlesung in die Beziehung Dozent h lt Vorlesung gesetzt durch einen Beziehungstyp entspricht dies einer Assoziation In relationalen Datenmodellen wird eine solche Beziehung sogar gleich datentechnisch durch Schl ssel Fremdschl ssel Beziehungen physisch umgesetzt In der objektorientierten Systemanalyse ist allerdings die Sichtweise meist eine
202. e Variante f r die Ein bindung von Organisationseinheiten nur sehr begr t werden Sie erlaubt auch die Modellierung gr erer Modelle mit zugeordneten zahlreichen Tr gern von Aktionen Es bleibt allerdings die Frage was getan werden muss wenn z B meh rere Organisationseinheiten Tr ger einer Aktion sind was in Gesch fts prozessen oft vorkommt zumindest in der Gesch ftsprozessmodellierung Dies w rde sehr un bersichtlich Auch diese L sung erscheint daher stark vom Umfeld System her gepr gt wo die Zahl der Akteure sich bei einem Modellelement doch arg n Grenzen h lt im Gegensatz zu Gesch fts prozessen Hier schl gt also die Orientierung an Systemen sogar bis in die konkrete Gestaltung der Grafik durch Offen bleibt auch wie Beziehungen zwischen den Organisationsein heiten einer Aktion modelliert werden k nnten Das macht die Materi alwirtschaft mit der Lagerhaltung oder mit der Produktionsplanung Eine solche Struktur liegt in der Praxis tats chlich oft vor 10 9 Die zeitliche Dimension und die Ereignisse 10 9 1 Ereignisse im Zeitablauf Alle theoretischen Ans tze die Abl ufe bzw T tigkeitsfolgen modellie ren m ssen die zeitliche Dimension mitber cksichtigen In der Version 2 0 der UML geschieht dies auch wobei die Konzepte zur Einbeziehung von Zeitaspekten sehr eng mit dem Ereigniskonzept zusammenh ngen weshalb hier beide gemeinsam betrachtet werden hnlich wie bei Ereignisgesteuer
203. e Wortwahl Objekttoken Datentoken und Kontrollto ken Dabei geht es um Objekte von Objektklassen aus dem objektorientier ten Modell das den dynamischen Bereich umgibt oder um etwas virtuel les was direkt aus der Modellbildung kommt um die Information wo der Kontrollfluss gerade steht Die UML kennt mittlerweile wie unten erl u tert wird ein Kontrollflusskonzept und zu diesem geh rt nat rlich dann auch die Information an welcher Stelle typischerweise Knoten der Kon trollfluss bei einer konkreten Realisierung wann steht Ein Token ist im Aktivit tsdiagramm das eine T tigkeits folge beschreibt einem bestimmten Knoten zugeordnet Nun die UML Autoren Elementare Informations einheiten und Steuerinformation 120 8 Modellierung von Verhalten und Abl ufen Das erg nzt obiges Die Token wandern entlang der verschiedenen Kon trollflusszweige durch die Aktivit t bzw durch das Aktivit tsdia gramm Token haben Auspr gungen So hat z B ein Objekt der Objektklasse Angestellte bestimmte Auspr gungen genauso eine Auspr gung des Attributs Gehalt und auch der Token der die Kontrollinformation enth lt ist immer an einer bestimm ten Position und hat damit eine Auspr gung Alle Token sind verschieden auch wenn sie dieselbe Aus pr gung haben Dies korrespondiert mit der Tatsache dass im objektorientierten Ansatz Objekte einer Objektklasse auch dann verschieden sind wenn sie diesel ben Attributs
204. e auch deutlich machen dass die Art der verarbeiteten Gesch ftsobjekt Information in den unteren zwei Ebenen sehr unterschiedlich ist W h als Ganzes oder rend in der Standardprozessmodellierung Gesch ftsobjekte also z B lest Rechnungen Bestellungen Lieferscheine usw betrachtet werden was ja auch dem Prozessdenken entspricht geht es in der systemnahen Pro zessmodellierung um Attribute bzw Variablen usw eben um die In formation in die das jeweilige Gesch ftsobjekt f r die Zwecke der Spei cherung und Programmierung zerlegt werden mu te Die Semantik zu den Gesch ftsobjekten ist da dann im jeweiligen Programm hinterlegt Vergleichsbasis Kontrollfluss mit T tigkeiten und Ereignissen Was Ansto en ausf hren beenden Wer Beziehungen zwischen Zust ndigen 360 15 Abrundung 15 3 Basiselemente einer Methode zur Prozessmodellierung An einigen Stellen im Buch war es notwendig die jeweilige Teilmethode Aktivit tsdiagramme Zustandsautomaten Sequenzdiagramme mit de nen einer Standardprozessmodellierung zu vergleichen Deshalb werden in diesem Abschnitt die wichtigsten Theorieelemente einer solchen Me thode zusammengestellt Die Frage ist also Welche Elemente sind grunds tzlich und abstrahiert notwendig f r eine Standardprozessmodellierung Sozusagen die Grundannahme ist dass jede Modellierung von T tigkeitsfolgen einen Kontrollfluss hat und dass dieser von einer Abfol
205. e ben tigten In formationen stehen entweder vollst ndig durchstrukturiert zur Verf gung z B als Variablen oder Datenbankeintr ge oder werden ber fest defi nierte Kan le in strukturierter Form abgefragt beim Geldautomat Nut zereingabe Kontoabfrage Informationsverarbeitung w hrend der Realisierung der elementa ren T tigkeiten Aktionen Funktionen Der erste Eindruck ist Die M glichkeit dies zu beschreiben liegt nicht vor Dies kann aber eigentlich nicht sein selbst wenn man die Herkunft von der Systemanalyse bedenkt Nach einigem Nachdenken wird klar dass es ein solches Element nicht geben kann weil in diesem Theorieansatz nicht zwischen Prozess und Funktionsmodellierung unterschieden wird Weil die Informationsverar beitung die w r in der Prozessmodellierung den einzelnen Funktionen zuordnen hier im Ablauf selbst steckt Dies gibt einen deutlichen Hinweis auf die Philosophie der UML Autoren Vgl hierzu die Zusammenfassung zu diesem Kapitel in Ab schnitt 10 11 9 und die Gesamteinsch tzung in Kapitel 14 Anmerkung In der Prozessmodellierung ergeben sich immer wieder Funktionen mit einer tiefen inneren Struktur mit z T komplexen Abl ufen z B Kalkulation erstellen Pro gnoserechnung durchf hren Diese werden in der Prozessmodellierung nur ber die Be zeichnung erfasst und in den Prozessablauf eingef gt Was wird getan Es wird aber nicht ausgef hrt wie die Funktion konkret rea
206. e der Abbil dung dargestellt Die Bezeichnung wird angef gt Bezeichnung Abbildung 13 3 12 Grafische Darstellung von Einstiegspunkten Quelle OMG 2003a Seite 472 Figure 371 Pseudozustand Ausstiegspunkt Ein Beispiel f r einen Ausstiegspunkt wurde oben schon eingef hrt vgl Abbildung 13 3 10 Ein Ausstiegspunkt signalisiert die Beendigung eines Zustandsautomaten Weitere Erl uterungen folgen hier unten am Beispiel Er wird als kleiner Kreis mit einem Kreuz dargestellt und auf der Grenzlinie der Abbildung platziert Die Bezeichnung wird angef gt Bezeichnung Abbildung 13 3 13 Grafische Darstellung eines Ausstiegspunkts Quelle OMG 2003a Seite 472 Doch nun zur ck zur nicht normalen Beendigung und deren Modellie rung Daf r gilt Wird ein Ausstiegspunkt in einer Region des Zustands automaten erreicht die sich auf einen Zustand eines untergeordneten Zustandsautomaten bezieht bedeutet dies dass dieser Zustand verlassen wird und dass die Transition die diesen Ausstiegspunkt als Quelle in dem bergeordneten Zustandsautomaten hat ausgef hrt wird Im Beispiel Der Zustandsautomat ZLeseBetragSM hat einen Ausstiegs punkt Wird dieser erreicht wird m bergeordneten Zustandsautomat Nicht normale Beendigung Zugang in den Automaten Grafische Darstellung Ausgang Grafische Darstellung Zweck Skalierbarkeit und Kapselung 310 13 Zustandsautomaten Geldautomat Abbildung 13 3 11 der Zustand Lese
207. e in Regionen Mehrere Anfangszust nde in Regionen Es handelt sich somit um einen zusammengesetzten Zustand F r einen solchen Schlusszustand gelten folgende Bedingungen Er hat e keine wegf hrenden Transitionen keine Regionen keine Verweise auf einen untergeordneten Automaten keine Anfangsaktivit t vgl unten keine Schlussaktivit t vgl unten keine Zustandsaktivit t vgl unten Die grafische Darstellung eines Schlusszustandes wurde oben schon vor gestellt ein Kreis der einen kleineren schwarz eingef rbten Kreis umgibt Die Transition zum Schlusszustand wird nicht beschriftet 13 3 2 Pseudozust nde Anmerkung Pseudozust nde gibt es nur in Verhaltenszustandsau tomaten Mit Pseudozustand bezeichnen die UML Autoren verschiedene Typen von Knoten in Graphen von Zustandsautomaten Es s nd keine Zust nde sie werden aber trotzdem in der Modellierung ben tigt Typischerweise werden sie benutzt um Trans tionen in Beziehung zu setzen Zum Bei spiel indem eine einzelne Transition die zu einer Gabelung fork vertex f hrt mit einer Menge von Transitionen kombiniert wird die von der Zust nde verkn pfen Anfangszustand Geschichte 1 tief Grafische Darstellung Beispiel 300 13 Zustandsautomaten Gabelung wegf hren Damit erh lt man eine Verbundtransition vgl Abschnitt 13 3 8 die zu einer Menge von voneinander unabh ngigen Z elzust nden f hrt Folgende Pseudozust nde gibt es Init
208. e sein Bereit Karte anzunehmen Zustand 2 Ge sperrt Usw Fast schon philosophisch werden die UML Autoren wenn sie darauf hinweisen dass Verhalten in diesem Sinn somit nicht f r sich alleine existiert und nicht kommuniziert OMG 2003a S 369 Verhalten ist untrennbar mit seinem Tr ger dem Objekt oder den Objekten verbun den 8 4 Executing und Emergent Behavior 117 Diese enge Verkn pfung bleibt nat rlich auch bestehen wenn es um die Verarbeitung von Daten geht Hat Verhalten mit Daten zu tun dann kommen die Daten vom Host Objekt Damit ergibt sich eine sehr enge Definition von Verhalten deren Eignung f r die Gesch ftsprozessmodel lierung in Kapitel 9 diskutiert wird Eine Ausnahme gibt es von dieser stringenten Definition Das sog executing behavior das gleich hier unten eingef hrt wird Dieses kann auch selbst ein Objekt sein OMG 2003a S 369 8 4 Executing und Emergent Behavior Die UML Autoren unterscheiden zwei Arten von Verhalten executing behavior und emergent behavior Executing Behavior Executing behavior wird durch ein Objekt ausgef hrt seinen Host Es stellt die Beschreibung des Verhaltens dieses Objektes dar und wird di rekt verursacht durch den Aufruf einer Verhaltenseigenschaft dieses Ob jekts oder durch dessen Erzeugung In beiden F llen ist es die Konse quenz der Ausf hrung einer Aktion durch ein Objekt Ein Verhalten hat Zugriff auf die Strukturmerkmale seines Host Objekts Eme
209. eben ist 30 Dass dies auch an der gew hlten Modellierungsebene liegt wird unten diskutiert 11 5 Sequenzen und Unternehmensmodellierung 261 Vor wirage z ersieilen ee Voranfrage amtet ersielli omnia Kunden Banden Vorantage Voranfrage beim Kunden Vaoranirage rn Anfrage erarbeilen Anfrage ri Anfrage Anfrage beim Lieferanten Anir ngota Ang bol Abbildung 11 5 4 EPK Kaufabwicklung Teil 2 vgl die Sequenzdiagramme in den Abbildungen 11 3 2 und 11 5 2 Teil 3 in Abbildung 11 5 5 beginnt mit dem Ereignis das die Beendigung Kombiniertes der Angebotserstellung festh lt und der Funktion Angebot zum Kunden Fragment senden Anschlie end ist ja im Sequenzdiagramm von Abbildung 11 5 2 P7W ein kombiniertes Fragment eine Verzweigung eingebaut Das Angebot en wird entweder angenommen oder nicht Damit liegt eine Verzweigung vor mit dem Interaktionsoperator alt und zwei Interaktionsoperanden In der EPK wird daraus eine Verzweigung mit einem exklusiven Oder Im einen Zweig ist die Ablehnung modelliert im anderen der positive Weitergang Die Interaktionseinschr nkungen werden zu Beschriftungen f r die Ergebnisereignisse der EPK Entsprechend dem Sequenzdiagramm findet der Fortgang bei einer Ab lehnung ein schnelles Ende Hier wurde zum Abschluss noch ein Schluss ereignis Angebot abgelehnt angef gt Im Falle der Akzeptanz des Angebots wird in beiden Modellen die Er arbeitung
210. ebenslinie gelegt ist wird gezeichnet ab dem Ereigniseintritt der die Methode aktiviert und bis zu ihrem Ende Im Falle dass eine Le benslinie fast immer aktiv ist wird sie wie hier bei obl C1 auch ganz durchgezogen 11 4 Vertiefung 241 Bei verschachtelten Aufrufen wie hier bei foo und doit im oberen Fragment und bei bar und doit im unteren wird die oberste aufrufende Lebenslinie auch als aktiv angenommen wenn die danach kommende die dritte Lebenslinie aufruft und dort Verarbeitung stattfindet Die L nge des Balkens hat keine inhaltliche Bedeutung sondern wird nur aus den Notwendigkeiten der Grafik heraus gestaltet Im Beispiel enthalten ist auch ein kombiniertes Fragment mit dem In teraktionsoperator alt ernative und zwei Interaktionsoperanden Dadurch entsteht im Ablauf eine Verzweigung die durch die zwei Interaktionseinschr nkungen x gt 0 und else pr zisiert ist Das Beispiel enth lt synchrone und asynchrone Nachrichten Die Nachricht create ist asynchron was hier auch m glich ist da keine unmit telbare Antwort erwartet wird Dagegen ist die n chste Nachricht foo foo_par x synchron da sie ei nen Methodenaufruf darstellt der zur einer Antwort f hrt Damit kann man dann auch Methodenaufrufe sinnvoll verschachteln wie es hier mit doit z geschieht Dieser ganze Abschnitt ist dann mit der R ckmeldung foo _ beendet Angegeben sind auch verschiedene Varianten von Parameter berga ben Zum einen
211. echen Methodenaufrufen Insofern st der Anspruch der UML Autoren der auch durch die Bei spiele untermauert wird mit Sequenzdiagrammen Gesch ftsprozesse modellieren zu wollen nicht haltbar In einer zeitgem en Unternehmensmodellierung werden also Se quenzdiagramme dazu dienen abgeleitet von der Prozessmodellierung Abschnitte die in Software gepackt werden sollen f r die Programmie rung vorzubereiten Z B das Mahnwesen wie in Abschnitt 11 3 1 be schrieben Nehmen wir den deutlichen Trend zur v llig automatisierten Realisie rung von Gesch ftsprozessen den uns die Internetunternehmen gerade demonstrieren k nnte auch eine andere Position eingenommen werden Wenn Gesch ftsprozesse so weit es geht durch Programme realisiert werden sind dann Sequenzdiagramme nicht das geeignete Werkzeug der Wahl Denkbar w re dies f r die Beschreibungsebene die unmittelbar der Vorbereitung der Programmierung dient die systemnahe Prozessmodel lierung Hier liegt aber bereits die Methode AD vor die daf r deutlich besser geieignet ist vgl den dortigen Abgleich mit den Anforderungen an eine Standardprozessmodellierung Insofern bleibt es f r die Sequenz diagramme bei der wichtigen Rolle in der Systemananlyse der unmittel baren Vorbereitung der Programmierung Systeme nicht Gesch ftsprozesse Vorbereitung der Programmierung Keine Prozess modellierung mit Sequenz diagrammen Oder doch Nein 266 11 Sequenzen
212. ederum f r weitere Objekte Aggregationsklasse sein Oftmals wird diese Beziehung auch Teil _von Beziehung part _of Beziehung genannt 12 Bei einigen Autoren wird hiermit auch der Zusammenhang zwischen Attributsnamen und Attributsauspr gungen erfasst Bei dieser Auffassung bedeutet dann der Schritt von der Menge der Auspr gungen zum Attribut als solchem eine Aggregation Auch die Vorgehensweise in der Entity Relationship Modellierung mehrere Attribute zu einem entity type zusammenzufassen kann dann als Aggregation interpretiert werden Dinge die andere Dinge enthalten Aggregations und Komponenten klassen unshared aggregation strong ownership Komponenen eines PC 74 5 Aggregation und Komposition Komposition Kompositionen composite aggregation sind ebenfalls Aggregationen allerdings mit einer zus tzlichen Bedingung Jedes Objekt einer Kompo nentenklasse darf zu einem bestimmten Zeitpunkt nur Komponente eines einzigen Objekts der Aggregatklasse sein Au erdem ist das Aggregatob jekt verantwortlich f r die Entstehung und Zerst rung der Komponenten Es muss also bei der Aggregationsklasse eine Kardinalit t von nicht gr er als eins vorliegen Au erdem gilt dass bei einem L schen eines Aggregationsobjekts die entsprechenden Komponentenobjekte ebenfalls gel scht werden Die Komponenten sind also existenzabh ngig vom Gan zen Eine Komposition wird auf dieselbe Weise dargestellt wie eine zwei stellige As
213. ef 336 342 349 einfacher Zustand 297 Eingangsaktivit t Beispiel 318 Einstiegspunkt ZA 309 Beispiel 319 326 333 Grafische Darstellung 309 Elementaraktion Beispiele 126 Definition 125 Else Ausgang Aktivit t Beispiel 180 enthaltender Zustandsautomat Definition 308 entity 20 31 Entity Definition 11 Ereignisauftreten AD 171 Ereigniseintritt Beispiel 242 Definition bei Sequenzen 226 Ereignisraum 167 321 322 Definition 176 Ereignisse in der UML 170 Liste 171 event pool 192 Executing behavior Beschreibung 117 exklusives Oder Operator Definition 362 Extend Beziehung Beispiel 277 Definition 276 extension point AF 276 fix und flach 336 342 349 Flussabw rts wartender Join 180 Flussende Beispiel 165 181 Definition 163 Grafische Darstellung 154 164 Formatierung von Theorieelementen 10 fortgesetztes Verhalten 148 Funktionsmodellierung vs Prozessmodellierung 109 197 256 Gabelung 158 Beispiel 133 158 166 168 180 181 186 188 189 191 Grafische Darstellung 154 158 Gabelung ZA Beispiel 302 Gabelung Verzweigung Beispiel 166 Gate SD Beispiel 229 237 248 Gefundene Nachrichten 228 Generalisierung Spezialisierung Beispiel 79 80 81 82 Beispiel Besch ftigte 88 Beispiel Fahrzeuge 87 Generalisierung Spezialisierung mehrstufig Beispiel Besch ftigte 88 Beispiel Fahrzeuge 87 Generalisierungsbeziehung Definition 80 Generalisierungsmenge Definition 80 Gesamtsicht 167
214. efundene Nachrichten werden durch einen kleinen schwarzen Kreis am Startpunkt der Nachricht gekennzeichnet Die UML Autoren de fin eren diese als Nachrichten bei denen der Empf nger und Emp fangsvorgang bekannt sind nicht aber der Sender und Sendevorgang OMG 2003a S 429 und S 439 Um das Aktivsein von Methoden mit Methodenaufrufen durch Nachrich ten zu veranschaulichen wird n der grafischen Darstellung ein d nnes graues oder weisses Rechteck gew hlt das die gestrichelte Linie der Le benslinie bedeckt so lange die Methode aktiv ist Beispiele Im folgenden Beispiel geht es um Nutzer eines Systems die sich bei ei nem Kontrollsystem mittels einer PIN Personal Identification Number identifizieren m ssen Entweder ergibt diese Pr fung ein positives Ergeb nis oder nicht Daf r werden zwei Lebenslinien und drei Nachrichten ben tigt Die Lebenslinien sind Nutzer und Zugangskontrolle Alle Nachrichten sind asynchron Bei diesen kann es passieren dass eine Nachricht A eine andere Nachricht B berholt was schlicht bedeu tet dass A nach B eintrifft obwohl die Reihenfolge auf der sendenden Lebenslinie umgekehrt ist Auch dies zeigt das Beispiel Die Nachricht KarteRaus berholt die Nachricht OK Dadurch sind hier die empfangen den Ereigniseintritte in umgekehrter Reihenfolge gegen ber den senden den 11 4 Vertiefung 229 Eine vierte Nachricht aufschlie en wird von der Zugangskontrolle an Gate Tor zur die
215. egriff auch darauf In der UML wurde dieses Konzept bernommen pr zisiert und er g nzt Hier ist eine Nachricht eine Kommunikation zwischen den Lebens linien einer Interaktion Dies kann sein e Senden und Empfangen eines Signals e Aufruf einer Operation e Erzeugung oder Zerst rung einer Instanz Die Nachricht legt nicht nur die Art der Kommunikation fest sondern auch den Sender und den Empf nger Erg nzend wird in der UML ein Ereigniskonzept hinzugef gt Erei gnisse l sen einerseits die Nachrichten aus beim Sender und entstehen andererseits durch das Eintreffen der Nachricht beim Empf nger Eine f r Ablaufbeschreibungen naheliegende Erg nzung Die Bezeichnung der Nachricht spezifiziert das Ereignis Gr ssle Bau mann und Baumann 2000 S 211 die Argumente enthalten die Informa tionen die der Nachricht mitgegeben werden damit der Empf nger die geforderten Aktivit ten ausf hren kann Zu diesen Informationen geh ren auch Kontroll und Steuerungsinformationen 7 5 Nachrichten 101 In der UML kann eine Nachricht ein Signal oder der Aufruf einer Ope ration sein Ein Signal kann als Empf nger auch mehrere Objekte haben ein Operationsaufruf bezieht sich immer auf nur ein Objekt Unterschieden werden die Nachrichtentypen Call Return Send Create und Destroy Die bersandten Nachrichten l sen typischerweise Aktivit ten aus und f hren evtl auch zur bermittlung von Ergebnissen in der Antwort So kann z B
216. egriff der Methode SD Der Begriff Kontrollfluss wird als bergeordneter Begriff f r alle Methoden zur Ablaufbe schreibung angesehen Beschafungs wunsch liegt T C kune gt Vorantrage au Voranfrage WEHTCHeR et Kes gt er Voranfrage beim Lieferanten Voranirege AS C Lietenn gt weren Eee En fe EF Voranirage Woranlrage Bitte umer abgelehnt akzeptiert handlungen T7 777 Abbildung 11 5 3 EPK Kaufabwicklung Teil 1 vgl die Sequenzdiagramme in den Abbildungen 11 3 2 und 11 5 2 29 So werden bei der Methode EPK die Informationen mit ihrem Informationstr ger ge nannt Tr ger der Funktion Informationsobjekte Ansto en der n chsten T tigkeit Ansto en Wenige Verzweigungen Verzweiugng durch St rung 260 11 Sequenzen Somit wird aus dem ersten Teil des Sequenzdiagramms Voranfrage vorbereiten Voranfrage senden einem Kontrollfokus und einer Nach richt die entsprechende vierteilige Abfolge in der Ereignisgesteuerten Prozesskette Dies ist ein weiterer Grund f r die L nge der EPK Die Tatsache dass die Nachricht Voranfrage senden die T tigkeit Vor anfrageantwort erstellen anst t wird n der EPK durch den Kontroll fluss erfasst Das Ereignis Voranfrage beim Lieferanten ist n cht nur Er gebnisereignis der Funktion Voranfrage senden sondern auch ausl sen des Ereignis f r die Funktion Voranfrage auswerten und genau da liegt das Ansto en der Funktion durch ein
217. egrifflichkeit leichter Substantive mit tief verschachtelter Semantik bilden als wir So k nnen sie von submachine ausgehend die Begriffe submachine state submachine state machine und submachine composite state machine bilden Im Deutschen w rde sich eine bersetzung in Substantive merkw rdig anh ren Subzu standsautomat Zustandsautomat Deshalb wurde f r die komplexen Begriffe eine beschreibende bersetzung gew hlt o submachine untergeordneter Zustandsautomat submachine state Zustand eines untergeordneten Zustandsautomaten submachine state machine untergeordneter Automat eines Zustandsautomaten oder auch Subautomat eines Zustandsautomaten Au erdem wird hier fters auf die Originalbezeichnung verwiesen Doch nun zur ck zum Thema dieses Abschnitts der Einbettung von Zu standsautomaten die dann quasi untergeordnet sind in Zust nde Hier enth lt der Zustandsautomat Geldautomat einen Zustand LeseBe trag der selbst wieder einen Zustandsautomaten enth lt LeseBetragSM Die Schreibweise ist wie folgt Zuerst die Bezeichnung des Zustandes Zustand der einen Zustandsautomaten enth lt Enthaltender Zustandsautomat Normale Beendigung Standardweg 308 13 Zustandsautomaten dann nach einem Doppelpunkt die Bezeichnung des eingebetteten Zustandsautomaten lt Zustandsbezeichnung gt lt Bezeichnung Zustandsau tomat gt Im obigen Beispiel also LeseBetrag LeseBetragSM Auf die
218. ehaviors Aktivit ten interaktionen Zustandsautomaten Anwendungsf lle activities interactions state machines use cases actions Abbildung 8 5 1 Die Konstrukte der UML f r die Modellierung von Verhalten und ihr Zusammenhang Quelle OMG 2003a S 201 grafisch ver ndert bersetzung durch den Verfasser 8 6 Token eine erste Ann herung In Zusammenhang mit der Verhaltensmodellierung spielt bei den UML Autoren der Begriff des Token eine sehr gro e Rolle Bei der Ausarbei tung des Kontrollflusskonzepts vgl unten dient er sogar der methodi schen Fundierung Da er auch schon sehr fr h bei den folgenden Ausf h rungen vorkommt wird er hier erl utert In der Informatik taucht dieser Begriff im Zusammenhang mit forma len Sprachen auf im engeren Bereich der Compiler bzw Parser Die erste von einem Compiler zu l sende Aufgabe besteht darin das Programm in Token zu zerlegen Token sind Teilstrings die logisch zusammenpassen Beispiele sind Bezeichner Konstanten Schl sselw rter wie then und 8 6 Token eine erste Ann herung 119 Operatoren wie oder lt Jedes Token kann als regul rer Ausdruck spezifiziert werden Aho und Ullmann 1996 S 751 Etwas detaillierter bei Horn Kerner und Forbrig 2001 S 409 in Bezug auf das Beispiel C Der Eingabestrom wird in Abschnitte Lexeme zerlegt Dabei gibt es Lexeme die herausgefiltert werden weil sie syntaktisch keine Bedeutung haben
219. ehmens ab Sie beschreiben aus Prozesssicht alle Dokumente z B auch Gesch ftsobjekte und sonstigen Informationen die bei der Abwick lung der Gesch ftsprozesse und bei der Realisierung der Funktionen be n tigt werden Durch die zus tzliche Erfassung der Methoden erfassen sie auch ele mentare Verarbeitungsschritte von Informationen allerdings erst mal nur solche die sich auf die Objekte der eigenen Klasse beziehen Wobei mit Methoden allein kein Gesch ftsprozess modelliert werden kann vgl hierzu die Diskussion in Kapitel 7 Insgesamt also eine gute Ausgangsgsituation Klassen erscheinen durch hre Verbindung von statischen und dynamischen Aspekten gerade zu pr destiniert f r die Unternehmensmodellierung Mehr dazu in den n chsten Kapiteln Vgl insbesondere die zusammenfassende Diskussion zum gesamten strukturteil in Abschnitt 7 8 2 9 Beitrag zur Unternehmensmodellierung 37 Verwendete Fachbegriffe in Kapitel 2 abstrakte Klassse abstrakte Metaklassse Attribut Informationstr ger Informationstr ger auch Ding classifier bei Booch Rumbaugh und Jacobson 2005 Instantiierung nstanz Kapselung Klassenattribut klassenbezogene Methoden Klassifikation Konzeptionelle Modellierung Methoden Methoden klassenbezogene Operation Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff Begriffe ohne bersetzung wurden auch im Te
220. eicht Kapazit t pr fen e Produktionskapazit t ist zu pr fen Kapazit t reicht nicht Anfrage absagen Vom Zustand Produktionskapazit t gepr ft aus sind ebenfalls zwei Tran s tionen m glich e Materialbestand ist zu pr fen Materialbestand reicht Neuen Zustand anlegen Materialbestand gepr ft e Materialbestand ist zu pr fen Materialbestand reicht nicht Anfrage absagen Vom Zustand Materialbestand gepr ft aus gibt es hier eine Transition e Anfrage ist zuzusagen Pr fungen erfolgreich Anfrage zusagen Auf die Erfassung eines eventuellen Scheiterns an dieser Stelle wird ver zichtet Damit ist die Kundenanfrage im Zustand zugesagt beim positiven Ergebnis also und es folgt der Schlusszustand Das Zustands bergangsdiagramm macht auch deutlich wann der Zu stand Anfrage abgesagt eintritt Gesch ftsprozess als Zustandsautomat Anfrage machbar Kapazit t vorhanden Material vorhanden 296 13 Zustandsautomaten e Falls die Produktionskapazit t nicht reicht e Falls der Materialbestand nicht reicht e Falls die Machbarkeit gleich zu Beginn verneint wurde Kundenanfrage R ckfragen n tig keine Einigung erzielt Anfrage absagen R ckfragen Anfrage eingelroffen R ckfragen notwendig Anfrage ist zu R ckfragen bearbeiten R ckfragen gekl rt Anfrage bearbeiten Anfrage eingetroffen Machbarkeit bejaht Anfrage bearbeiten zu bearbeiten Produktionsk
221. einen Auftrag vorbereitet Am Ende dieser T tigkei ten steht das bersenden des Auftrags an den Lieferanten An dieser Stelle st rt doch sehr dass der Fall nicht ber cksichtigt ist dass das Angebot letztendlich doch nicht angenommen wird Dies ist in einer Prozessmodellierung unabdingbar Im folgenden Abschnitt wird vorgestellt wie dieses Einbauen von Verzweigungen wenn auch in bescheidenem Umfang in Sequenzdiagrammen m glich ist Dabei wird auch dieses Beispiel erg nzt um eine Verzweigung herangezogen Beim Lieferanten wird der Auftrag entgegengenommen und eine Auf tragsbest tigung verschickt Da dies beim Kunden keine unmittelbare T tigkeit ausl st ist nach dem Eintreffen dieser Nachricht kein Kontroll fokus eingef gt Auch die n chste Nachricht kommt vom Lieferanten wenn er den Auf trag erledigt hat und eine Liefermitteilung sendet Die anschlie ende eigentliche Lieferung ist hier ebenfalls als Nachricht modelliert sie ist ja auch Teil des Gesch ftsprozesses Beim Kunden wird dann die Lieferung gepr ft und nach dem hoffent lich positiven Ergebnis der Eingang best tigt Dies l st beim Lieferanten die Rechnungserstellung und den Versand der Rechnung aus In der letz ten T tigkeit dieser Sequenz wird beim Kunden die Zahlung vorbereitet und durchgef hrt Der Charakter der gestrichelten Linie als einer Zeitachse entlang derer die T tigkeiten ablaufen wird hier sehr deutlich Ebenso dass jede Nach rich
222. eise und Verkn pfungen von einem Zustandsautomaten zum anderen sind direkt nicht vorgesehen k nnten aber durch ein grafisches Element hnlich dem Ausstiegspunkt leicht realisiert werden 9 Zeitliche Dimension Die zeitliche Dimension liegt im Kern der Methode ZA vor als Lebenszyklus des Objekts um das es geht Die Bedeutung der zeitlichen Dimension zeigt sich auch darin dass die History Pseudozust nde definiert werden k nnen sozusagen als Netz in das das System im Krisenfall f llt Mehr liegt nicht vor 10 Tr ger Ein hnliches Konstrukt liegt hier in den Objekten vor um die es beim jeweiligen Zustandsautomat geht Also m flachen und fixen Fall das Gesch ftsobjekt im dynamischen und tiefen Fall der Automat 13 6 Zustandsautomaten und Unternehmensmodellierung 339 13 6 2 Verkn pfung mit der brigen objektorientierten Theorie Die Verkn pfung dieses Theorieelements mit den brigen Bereichen der objektorientierten Theorie ist ansatzweise gegeben Bei diesem Typ Zustandsautomat dadurch dass das zu betrachtende Objekt ein Gesch ftsobjekt sein kann das n den Datenbest nden erfasst sein muss sich also in der objektorientierten Datenbank finden k nnte Durch die Attribute Methoden usw Eine weitere Verkn pfung ist dadurch denkbar dass sich die Methoden in den Zustands berg ngen spiegeln Bei diesem Typ Zustandsautomat vor allem durch die Methoden die sich in den Zustands berg ngen
223. ekten und Methoden Realwelt werden Passende Modell objekte UTEN objekte haben haben Eigenschaften edene asinen Attribute haben haben N Wird repr sentiert Verhalten Te Methoden 00 Abbildung 2 1 1 Realwelt und ihre Repr sentation im Objektorientierten Modell Damit wird wieder der qualitative Sprung deutlich der hier gegen ber lteren Modellierungsans tzen vorliegt In der objektorientierten Model lierung werden die Objekte nicht nur informationell durch Attribute be schrieben sondern es wird auch hr Verhalten modelliert Operationen Im objektorientierten Modell werden diese Methoden durch Operationen repr sentiert Oftmals werden Methoden und Operationen so abgegrenzt dass Operationen als die Dienstleistungen die von einem Objekt angefordert werden k nnen und Methoden als die Implementierungen der Operatio nen definiert werden Oestereich 1998 S 236 Welche Methoden bzw Operationen auf ein Objekt anwendbar sind h ngt sehr stark von dessen Aufgabe im Anwendungsbereich ab Einige Operationen s nd aber nat rlich von grundlegender Bedeutung und liegen immer vor So z B die f r die Erzeugung oder die L schung eines Mo dellobjektes Insgesamt geht es also darum die Dreiecksbeziehung zwischen At tributen Objekten und Methoden zu kl ren d h identifizierte Objekte mit gew nschten Attributen und Methoden in eine geeignete Struktur zu bringen 2 1 E
224. elbe Information stellen sie nur unterschiedlich dar Booch et al weisen auf die Motive f r die beiden Visualisierungen hin Se quenzdiagramme betonen die zeitliche Reihenfolge der Nachrichten w hrend Kommunikationsdiagramme die strukturelle Organisation der Nachrichten sendenden Objekte in den Vordergrund stellen Booch Rumbaugh und Jacobson 1999 S 243 Ansonsten betonen sie aber die semantische Gleichwertigkeit der beiden Konzepte Hinweis Kommunikationsdiagramme wurden in fr heren UML Versionen Kollaborationsdiagramme genannt Sequenz und Kommunkationsdiagramme werden auch unter dem Begriff Interaktionsdiagramm zusammengefasst Innere Struktur Die innere Struktur wird dargestellt indem die Kompenten z B die Ob jekte ihre semantischen Verkn pfungen z B die Assoziationen und dann eben der f r die jeweilige Aufgabe notwendige Nachrichtenaus tausch angegeben wird Da im Rahmen einer Aufgabenerf llung die Komponenten z B Objekte meist spezifische Rollen einnehmen wird hier das oben eingef hrte Rollenkonzept verwendet Im Falle von Objekten entsteht also ein Kommunikationsdiagramm aus einem Klassendiagramm in dem die Nachrichten mit Hilfe der oben ein gef hrten Pfeile vermerkt s nd Fowler weist darauf hin dass standardm ig in der UML in Klassen diagrammen keine Nachrichten angezeigt werden Fowler 2004 S 107 dass dies aber m glich ist Geschieht es werden an den Seiten von Asso ziationen Pfeile
225. eliebig weit gefasst werden Z B als das Mahnwesen m Beispiel WebShop oder als Zeistungserbringung eines Unternehmens Im folgenden Abschnitt nun der Abgleich mit diesen Bas selementen 13 6 1 Tauglichkeit f r die Prozessmodellierung Dieser Abgleich soll in Anlehnung an die in Abschnitt 15 3 vorgestellten Basiskomponenten einer Methode zur Prozessmodellierung durchgef hrt werden S e enthalten die f r eine Modellierung von T tigkeitsfolgen m einfachsten Fall notwendigen Theorieelemente Die Nummerierung ist die von Abschnitt 15 3 1 Elementare T tigkeiten Die Einteilung der Gesamtaufgabe in einzelne T tigkeiten und damit in Zerlegung T tigkeitsfolgen ist gegeben So wie das Objekt Geldautomat tats chlich aus vielen Komponenten besteht besteht der Gesch ftsprozess eben aus seinen Teilaufgaben So wie die Kompenenten zum Zwecke der Aufga benerf llung im System zusammenwirken tun es die Teilaufgaben im Gesch ftsprozess Dies gilt f r die fixen und flachen Zustandsautomaten weniger als T tigkeit in der f r die dynamischen und tiefen Bei ersteren steckt die T tigkeit nur in Transition der Transition als dritter Teil derselbigen Bei zweiteren dagegen zus tzlich auch n den Aktivit ten im Zustand T tigkeit auch im entry do exit activity Hier kann man sich bereits eine Verschachte Zustand lung vorstellen da dieses Konzept sehr dem Gegensatz von Funktions und Prozessmodellierung hnelt
226. ellen den Nachrichtenaus tausch zwischen einer Gruppe von Lebenslinien dar und sind die ver breitetste Variante e Interaktions berblicke mit Interaktions berblickdiagrammen Sie sind eine Variante der Aktivit tsdiagramme und geben einen ber blick ber den Kontrollfluss vgl Abschnitt 11 4 10 e Kommunikationen mit Kommunikationsdiagrammen die ebenfalls den Nachrichtenaustausch zwischen Lebenslinien zeigen erg nzt um seine Reihenfolge Diese wurden in Abschnitt 7 6 vorgestellt Zus tzlich und optional auch Timing Diagrams und Interaction Tables Allen ist gemeinsam dass sie dynamische Aspekte des untersuchten Anwendungsbereichs beschreiben genauer Wechselwirkungen zwischen den Komponenten Typischerweise decken alle diese Arten von Interaktionen nur Teil aspekte ab nicht die Gesamtheit des System Geschehens m jeweiligen Anwendungsbereich OMG 2003a S 403 Methode SD Einordnung Nachrichtenverkehr f r Aktivit ten im Rahmen einer Aufgabenerf llung Dynamische Teilaspekte Vgl Abschnitt 7 4 zur Definition und zum Aufbau von Lebenslinien Was wird modelliert 220 11 Sequenzen 11 2 Grundlagen Nach Aussage der UML Autoren geh ren Sequenzen zu den am meisten betrachteten Interaktionen und damit Sequenzdiagramme zu den am mei sten verbreiteten Interaktionsdiagrammen S e geben durch die sogenann ten Lebenslinien einen Hinweis auf die statische Struktur des Anwen dungsbereichs bzw auf desse
227. ementare Verhaltenseinheiten sind eingebettet in einen gr eren Zusammenhang zu dem sie hren Beitrag leisten e die Aktion Gefr nkeausgabe ist Teil des Gesamtsystems Getr nke automat e cine Aktion Kalkulationsdurchf hrung kann Teil eines Gesch ftspro zesses Angebotserstellung sein Definition Den gr eren Zusammenhang bilden hier bei der UML die Aktivit ten activities Sie beschreiben zusammenh ngende T tigkeitsfolgen Auf bauend auf dem oben vorgestellten Konzept der Aktionen stellen sie somit Folgen von Aktionen dar Umgekehrt und im Nachtrag zum vorigen Ab schnitt liefern Aktivit ten somit den Lebensraum von Aktionen Actions are contained in activities which provide their context OMG 2003a S 203 Hervorhebung durch den Verfasser Wesentlich f r das Konzept der Aktivit ten sind wiederum die Token die durch die Aktivit t flie en und den sog Tokenfluss ausmachen The semantics of activities is based on token flow OMG 2003a S 286 Methode AD Methode EPK Graphen Zusammen h ngende T tigkeitsfolgen Knoten und Kanten f r Aktivit ten 130 10 Aktivit ten Das ist der Grund weshalb in diesem Abschnitt oft von Token und To kenfluss die Rede sein wird Vgl die grunds tzlichen Anmerkungen zum Token Konzept in Abschnitt 8 6 Mit Aktivit ten st es m glich Folgen von T tigkeiten zu modellieren seien es nun T tigkeiten im Sinne von Gesch ftsprozessen
228. en Diese ist in der Prozessmodellierung immer noch die Regel und auch zu Recht wird aber in der Zukunft nicht gen gen Bevor dies vertieft wird hier die Aspekte von denen die Hinweise stammen Arbeitet man gew hnlich mit Gesch ftsprozessen kommt einem das oben vorgestellte Theorieelement Flussende berfl ssig vor Wird z B bei einer EPK ein Gesch ftsprozess gestartet kann er auf folgende Weise enden e Falls nur ein Kontrollflusszweig vorliegt durch ein Ereignis am Ende desselbigen Dieses wird dadurch zu einem Schlussereignis e Falls in der Schlussphase des Gesch ftsprozesses mehrere von einem ODER bzw XODER Operator herr hrenden Kontrollflusszweige vorliegen durch das Ereignis am Ende des Kontrollflusszweiges der bei der jeweiligen Instanz des Gesch ftsprozesses aktiv ist Dieses wird dadurch ebenfalls zu einem Schlussereignis 10 11 Aktivit ten und Unternehmensmodellierung 195 In beiden F llen endet damit der Gesch ftsprozess als Ganzes wodurch die Schlussereignisse dem UML Element Aktivit tsende entsprechen Einen Bedarf einzelne Zweige abzuschalten gibt es insoweit nicht Etwas hnliches wie Beenden einzelner Zweige liegt bei Ereignisge steuerten Prozessketten vor wenn mehrere durch UND verkn pfte Kon trollflusszweige vorliegen Dies dr ckt ja Teilaufgaben aus und jedes Ende signalisiert die Erledigung einer solchen Also auch hier kein Bedarf an einem Flussende Kurz gesagt Ein Flussende
229. en f hrt fast alle automatisiert aus auch die mit den Partnern des Gesch ftsprozesses berl ssst den Menschen nur noch die Entscheidungen und die Ausnahmef lle Stufe 3 dann hat ERP Software inzwischen die Stufe 2 erreicht Die Prozessmodellierung wird aber da wir n Teilbereichen die sich mit Sicherheit best ndig vergr ern werden inzwischen Stufe 3 erreicht haben einen weiteren Schritt tun m ssen Sie wird erg nzend zur Stan dardprozessmodellierung eine systemnahe Prozessmodellierung realisie ren m ssen vgl Abschnitt 15 1 10 11 Aktivit ten und Unternehmensmodellierung 215 Verwendete Fachbegriffe in Kapitel 10 reentrant Aktion strukturierter Aktivit tsknoten exception notation exception 216 10 Aktivit ten Ergebnistoken o o O continuous behaviour Gabelung nach Booch Rumbaugh fork node und Jacobson 2006 input pin Kanten edges Kontrollflusskanten control flow edges Objektflusskanten Object flow edges Knoten nodes Aktionsknoten action node Objektknoten object node Parameterkknoten activity parameter node Kontrollknoten control node Kontrollknoten Objektflusskante object flow bzw object flow edge Operatoren connectors Gabelung UND weg fork node Vereinigung UND hin join node Verzweigung XODER weg decision node Zusammenf hrung XODER hin merge node 10 11 Aktivit ten und Unternehmensmodellierung 217 Input Pin Pin ob
230. en Geldautomaten Er beginnt mit einem Wartezu stand dem Leerlauf e Bereit EC Karte zu lesen Nach dem Einlesen der Karte dem Ereignis kommt er n den Zustand e Nutzer identifizieren konkret Geheimzahl anfordern Usw Der Zustands bergang wurde also durch das Ereignis Karte einge steckt Karte gelesen ausgel st und ist mit einer Aktion verbunden dem Einlesevorgang Dazwischen verharrt er im jeweiligen Zustand Anmerkung Die Begriffe Aktion und Aktivit t werden hier wenn nicht ausdr cklich anders vermerkt im umgangssprachlichen Sinn gebraucht und nicht im Sinne der Kapitel rund um Aktionen und Aktivit ten 9 und 10 Betrachtet man obige Beispiele genauer wird deutlich dass ein Zustand auf einer tieferen System Ebene oftmals durch aktives Handeln aufrecht erhalten werden muss Der Zustand Bereit EC Karte zu lesen bedeutet in Wirklichkeit dass der Geldautomat st ndig die Sensoren des Kartenle 35 Mit dem Begriff Situation liegt ein weiterer Aufsetzpunkt der UML vor Vgl die Dis kussion der Aufsetzpunkte der UML Autoren in WebZumBuch UMO03 13 2 Grundlagen 291 seger ts abfragt ob eine Karte reingesteckt wurde hnlich ist es mit vielen Zust nden gerade bei Beispielen aus der Systemanalyse Dort ist aber meist die Aktivit t des Zustandes weniger verdeckt als m gerade beschriebenen Beispiel Z B ist im ersten Beispiel des folgenden Abschnitts der Zustand w hleBetrag oder eingebenB
231. en aus ihrem strukturierten Aktivit tsknoten oder dem self ob ject Das ist das Objekt zu dem die Aktivit t geh rt in der die Aktions ausf hrung stattfindet Wenn sie fertig ist bietet eine Aktionsausf hrung allen ihren Output Das Ende Pins Objekttoken an Allen ihren wegf hrenden Kontrollkanten werden Kontrolltoken angeboten Danach endet s e Die Outputtoken stehen nun zur Verf gung um die Anforderungen anderer Aktionsausf hrungen bzgl der Kontroll oder Objektfl sse zu erf llen Einmal mehrmals oder auch nicht Zeitverbrauch Immer aktiv Ereignisse speichern im event pool Schleife in der Aktion 176 10 Aktivit ten Wie lange sind Aktionen aktiv Grunds tzlich gilt dass jede Aktion in einer Aktivit t entweder einmal mehrmals oder auch nicht ausgef hrt werden kann OMG 2003a S 265 Aktionen sind darauf weisen die UML Autoren an dieser Stelle ebenfalls hin eine Angelegenheit die Zeit verbraucht die also eine bestimmte Zeitspanne f r hre Realisierung ben tigt Der einfache Fall dass eine Aktion in der Abarbeitung des Kontroll flusses einmal aufgerufen und ausgef hrt wird und dies in einer Wieder holschleife vielleicht auch mehrfach ist zwar meistens gegeben aber bei weitem nicht immer wie die folgenden Ausf hrungen zeigen Ausnahme accept event action Eine erste Ausnahme findet sich im Umfeld der accept event action Hier wird ausgef hrt dass eine solche Aktion wenn sie keine hin
232. en kommen s e von den bersandten Nachrichten des Sequenzdiagramms Nachrichten Die bersendung einer Nachricht stellt einen Transportvorgang dar Transport von Transport von Informationen Solche Transportvorg nge k nnen in Er Informationen eignisgesteuerten Prozessketten modelliert werden oder auch nicht vgl 11 5 Sequenzen und Unternehmensmodellierung 259 Staud 2006 Will man eine detaillierte Beschreibung des Gesch ftspro zesses dann dr ckt man die Transportvorg nge ausdr cklich durch Funk tionen aus Geht es eher um eine oberfl chliche Beschreibung dann legt man daf r keine eigenen Funktionen an Der Transport wird dann dadurch ersichtlich dass ein Informationsobjekt von der einen zur anderen Funk tion weiter wandert F r das Beispiel hier wurde nun f r jeden Kontrollfokus mindestens eine Funktion angelegt und f r jede Nachrichten bermittlung genau eine Bei jeder EPK Funktion wurde au erdem festgehalten wer ihr Tr ger ist Dies ist ja im Sequenzdiagramm durch die Lebenslinien angegeben Durch die Nachrichten im Sequenzdiagramm erfolgt auch ein Hinweis auf Informationsobjekte in der Ereignisgesteuerten Prozesskette so dass diese dort ebenfalls erg nzt wurden Erinnerung Methoden und ihre Begriffe T tigkeit T tigkeitsfolge bergeordnete Begriffe Funktion Begriff der Methode EPK Ereignis Begriff der Methode EPK Nachricht Begriff der Methode SD Kontrollfokus B
233. en werden Zum Beispiel bei einem File Transfer Netze Ein Beispiel f r ein synchrones Netz ist das klassische Fernsprechnetz und das daraus abgeleitete ISDN Netz Ein Beispiel f r ein asynchrones Netz ist das Internet 7 5 3 Sequenznummern Rumbaugh et al weisen auf einen Schwachpunkt von Diagrammen hin in denen einfach nur die auszuf hrenden Nachrichten vermerkt sind Z B also bei einem Klassendiagramm in dem die Nachrichten erg nzt wurden vgl Abbildung 7 7 2 In einem solchen Fall st die Abfolge der Nach richten genauer der Kontrollfluss nur bei genauem Studium des Dia gramms erkennbar falls berhaupt Das macht die Diagramme schwer lesbar Deshalb geben sie die Abfolge der Nachrichten durch Sequenznummern sequence numbers an Rumbaugh Jacobson und Booch 2005 S 241 Die Sequenznummern entsprechen einer Dezimalklassifikation wie sie in B chern oft verwendet wird und auch in diesem Text Die erste zu erfassende Nachricht erh lt die Nummer 1 die zweite die Nummer 2 usw Wird innerhalb der Abarbeitung von Nachricht 2 eine weitere aufge rufen erh lt diese die Nummer 2 1 eine weitere die Nummer 2 2 usw Wird innerhalb der Ausf hrung der Operation von Nachricht 3 eine wei tere Nachricht aktiviert 3 1 und sendet dieses im Rahmen ihrer Abarbei tung zwe Nachrichten aus erhalten diese gem ihrer Rangfolge die Nummerierung 3 1 1 und 3 1 2 Die Sequenznummern werden zusammen mit einem Doppelpunkt vor d
234. endes 13 3 6 Grafische Darstellung von Zust nden Die grafische Darstellung von Zust nden wurde oben ja schon n den Beispielen vorgestellt Hier nun zusammenfassend die Darstellung aller Varianten F r einfache Zust nde gibt es zwei Grundformen Sie bestehen aus ei nem Rechteck mit abgerundeten Ecken und der Bezeichnung des Zustan des entweder in diesem oder in einem separaten Rechteck an der oberen Randlinie Letztere L sung wird blicherweise f r die Bezeichnung eines zusammengesetzten Zustandes gew hlt der orthogonale Regionen hat Vgl das Beispiel in Abbildung 13 3 5 Passworteingabe Passworteingabe Abbildung 13 3 15 Darstellung von Zust nden Quelle OMG 2003a Zutritt ber In tialknoten Ausstiegs m glichkeiten Verlassen durch Schlusszustand oder Gruppentransition Einfache Zust nde Zust nde mit Bereichen Namensbereich Bereich f r die internen Aktivit ten Bereich f r die internen Zustands berg nge 316 13 Zustandsautomaten Die grafische Darstellung von Zust nden kann auch unterteilt werden Die Trennung erfolgt durch eine horizontale Linie Die folgende Abbil dung zeigt ein Beispiel vgl auch die Abbildungen 13 3 17 und 13 3 18 Passworteingabe entry Anzeige Eingabe ausschalten exit Anzeige Eingabe normal character Eingabe Zeichenfolge help Hilfe anzeigen Abbildung 13 3 16 Darstellung von Zust nden mit Bereichen Quelle OMG 2003a S 483 Figure
235. endungsbereich Angestellte Beispiel Hochschule Die n chste Abbildung stellt die Dozenten einer Hochschule und die Dozenten und Lehrveranstaltungen Vorlesungen bungen Praktika in Beziehung Die ihre Lehre Dozenten haben hier die Rolle als Lehrende die Lehrveranstaltungen als Studienbetrieb Die Wertigkeiten bedeuten Mehr als zwei Lehrbetrieb durch vierstellige Assoziation 50 3 Assoziationen e Ein Dozent h lt keine eine oder mehrere Lehrveranstaltungen e Fine Lehrveranstaltung wird entweder von einem oder von zwei Dozenten gehalten Rolle Lehrender Lehrmveran Dozenten A dwid pehaten von Sud T staltungen Rolle Abbildung 3 6 2 Rollen in Assoziationen 3 7 N stellige Assoziationen vertieft Oben wurde die Grundform einer dreistelligen Beziehung schon vorge stellt Allgemein spricht man bei Assoziationen mit mehr als zwei betei ligten Klassen von n stelligen Assoziationen Die Wertigkeit von n stelligen Assoziationen mit n gr er als 2 ist wie folgt definiert Die Wertigkeit an einem Assoziationsende stellt die poten tielle Anzahl von Werten dar wenn die Werte an den n 1 anderen Enden auf bestimmte Werte fixiert sind Damit ist folgendes gemeint Liegen insgesamt n Enden vor wird eine beliebige Auswahl von n 1 Enden genommen denen ja jeweils Instanzen zugeordnet sind Dann wird die Menge der Verkn pfungen dieser n 1 Assoziationen eine ganz bestimmte Menge von Instanzen am anderen Ende identifiz
236. enf hrung merge node repr sentiert eine exklusive Oder Verkn pfung in den hinf hrenden Kanten d h die hinf hrenden Kanten sind alternativ Es handelt sich somit um einen Kontrollknoten zu dem mehrere Aktivit tskanten hinf hren und von dem genau eine wegf hrt Seine Aufgabe ist es Kontrollflusszweige die zuvor z B im Rahmen einer Verzweigung aufgeteilt wurden wieder zusammenzuf hren Grafische Darstellung Die grafische Darstellung geht wiederum wie bei einer Verzweigung von einer Raute aus Hier kommen nun aber zuf hrende Aktivit tskanten und genau eine wegf hrende dazu 10 6 Kontrollknoten 157 e Abbildung 10 6 5 Zusammenf hrung mit Aktivit tskanten Beispiel Im folgenden Beispiel vgl dazu das EPK Beispiel in Staud 2006 Ab bildung 4 4 29 erfolgt der Versand einer Paketsendung entweder mit DHL mit DPS oder mit UPS Anschlie end wird die Rechnungsstellung angesto en Versand per DHL Versand versand Rechnungs stellung Versand per UPS Abbildung 10 6 6 Beispiel f r den Einsatz eines Zusammenf hrung Der Tokenfluss Alle Token der ankommenden Kanten werden den wegf hrenden angebo ten Da immer nur eine hinf hrende Kante aktiv wird wird genau ein Token weitergereicht Zusammenf hrung Verzweigung Es kommt vor dass eine Zusammenf hrung und eine Verzweigung un mittelbar hintereinander folgen Dann k nnen die beiden Knoten grafisch
237. engang genau eine Vorlesung Entsprechendes gilt auch f r die jeweils obersten Werte In diesem Fall gestalten zwei Dozenten in einem Raum f r zwei Studieng nge eine Vorlesung e Fixieren wir nun Dozenten Lehrveranstaltungen und Studieng n ge mit den minimalen Werten Dann gestaltet ein Dozent eine Lehr veranstaltung f r einen Studiengang in genau einem Raum e Zuletzt noch eine Fixierung von Lehrveranstaltungen auf 1 Stu dieng nge auf 2 und R ume auf 1 In diesem Fall wird eine Vor lesung in einem Raum f r 2 Studieng nge von einem oder auch meh reren Dozenten get tigt Lehrver anstaltungen Lehrveran Studieng nge staltungs durchf hrung Abbildung 3 7 1 N stellige vierstellige Assoziation und ihre Wertigkeiten Das zweite Beispiel spiegelt Trainingsdurchf hrung wider Es wird ange Beispiel Trainings nommen dass Trainer Trainingsorte und Mannschaften eigenst ndige geschehen Klassen darstellen Sie haben also eigene Attribute und Methoden Die tern re Assoziation beschreibt die Trainingsdurchf hrung Die Wertigkei ten ergeben s ch dann wie folgt Eine Trainingsdurchf hrung zu einem Zeitpunkt zur Zeitproblematik vgl unten findet statt e mit einem Trainer oder mit zweien e aneinem Trainingsort e mit einer Mannschaft oder mit zweien Klassen Assoziationen Beispiel Hochschule 52 3 Assoziationen Trainingsorte Trainer 00134 Abbildu
238. er schiedliche Zust nde annehmen kann Verwirrung entsteht hier manchmal weil ein Objekt nat rlich aus an Objekt deren Objekten zusammengesetzt sein kann und hier auch wieder diesbe in Objekt z glich um was geht es genau eine klare Festlegung getroffen werden Objekt mu Dies zeigt schon das Beispiel Geldautomat sehr deutlich Geldau tomaten bestehen aus zahlreichen Komponenten Jede dieser Komponen ten kann ebenfalls aus Komponenten bestehen usw Und alle arbeiten zum Zwecke der Aufgabenerf llung zusammen wie es sich f r ein Sy stem eben geh rt Ein solches Objekt hat Zust nde die es annehmen kann Typischer Lebenszyklus eines weise durchl uft es im Rahmen seiner Existenz eine ganze Reihe solcher Objekts Zust nde deren Gesamtheit hier aber auch anderswo als Lebenszyklus bezeichnet wird Der Geldautomat ist z B zu Beginn wenn wir uns hm n hern n einem Bereitschaftszustand Leerlauf Warten auf Kunde Danach in so unterschiedlichen Zust nden wie Karte lesen Geld auszah len Kontoinformationen ausgeben und hoffentlich nicht Karte einziehen Eine Rechnung kann wie oben schon angemerkt die Zust nde Neu Of fen Bezahlt aber auch R ckbuchbar bezahlt Im Widerspruch usw annehmen Vgl hierzu die Beispiele unten Der bergang von einem Zustand zu einem anderen wird als Transiti Transitionen on bezeichnet Dabei k nnen von einem Zustand aus durchaus alternative weitere Zust nde erreicht werden
239. er ndert bersetzung durch den Verfasser 212 10 Aktivit ten Problem tritt auf Problem aufzeichnen h LMA Problem darstellu richtig steilen Problemdar Problem stellung NICHT darstellung chi gestellt richtig gestellt Problem und Problem isi Problem ist L su nicht Dekani reproduzierbar reproduzierba r or Problem beschreibung k rgieren Problem ID E umd f L sung Th ut u TF i Ergebnisse Ergebnisse bekannt festhalten machen Par i Emebnisse Ergebnisse Bekan tesigenanen gemacht Abbildung 10 11 9 Problembehandlung als Ereignisgesteuerte Prozesskette Die andere Richtung Von EPKnachAD Die bertragung in die andere Richtung von Ereignisgesteuerten Pro zessketten zu Aktivit tsdiagrammen ist zumindest auf einer oberfl chli 10 11 Aktivit ten und Unternehmensmodellierung 213 chen Ebene ebenfalls m glich Dies kann allerdings hier aus Platzgr n den nicht dargestellt werden Vgl WebZumBuch UMDOI 10 11 9 Zusammenfassung Die obigen Ausf hrungen zeigen dass Aktivit tsdiagramme von den Anforderungen der Systemanalyse gepr gt sind auch wenn die Beispiele in OMG 2003a etwas anderes suggerieren Und dies wie oben hoffent lich auch deutlich wurde bis in die tieferen Schichten der Theorie Dies hat wie ebenfalls dargelegt wurde zwei modelltechnisch bedeutsame Konsequenzen e Sie taugen nur eingeschr nkt f r die Prozessmodellieru
240. er abgehenden Transition 13 2 Grundlagen 295 Vgl die Varianten dieses Zustands bergangsdiagramms in den Abbildungen 13 5 1 mittelgro und 13 5 2 umfassend Beispiel 3 Kundenanfrage Prozessbeispiel Dass auch ein Vorgang bei dem man es auf den ersten Blick nicht an nehmen w rde als Zustandsautomat dargestellt werden kann zeigt das folgende Beispiel Hier handelt es sich tats chlich um einen Gesch fts prozess allerdings um einen sehr einfachen rund um ein einzelnes Ge sch ftsobjekt Das Objekt um das es geht soll eine Kundenanfrage sein Ganz kon kret als schriftliches Objekt und damit im Gesch ftsprozesssinne als Ge sch ftsobjekt und abstrakt als der ganze Vorgang drumherum Die Kundenanfrage ist im Unternehmen eingetroffen und damit im Zu stand zu bearbeiten Eine erste Pr fung Machbarkeitspr fung kann zu drei Ergebnissen und damit zu drei neuen denkbaren Zust nden f hren e Anfrage eingetroffen Machbarkeit bejaht Anfrage bearbeiten e Anfrage eingetroffen Machbarkeit verneint Anfrage absagen e Anfrage eingetroffen R ckfragen notwendig r ckfragen Anfrage ist im Zustand R ckfragen Das Objekt Kundenanfrage ger t dann in den jeweiligen Zustand R ck fragen in Arbeit oder Anfrage abgesagt Vom Zustand Anfrage abgesagt geht es dann gleich weiter zum Schlusszustand Vom Zustand in Arbeit aus sind zwei Zustands berg nge denkbar e Produktionskapazit t ist zu pr fen Kapazit t r
241. er also m glich Was die eigentlichen Entscheidungsvorg nge angeht muss hier wohl angenommen werden dass beide in der Aktion Problem aufzeichnen stattfinden Falls die Problemdarstellung richtig gestellt ist erfolgt gleich ein Sprung ans Ende der Aktivit t zu den zwei gleichzeitig angesto enen Aktionen Ergebnisse bekannt machen und Ergebnisse festhalten Falls nicht else wird das Problem reproduziert Aktion Problem re produzieren Danach steht wieder eine Entscheidung mit folgenden Al ternativen an e nicht reproduzierbar In diesem Fall wird die Problembeschreibung korrigiert wie auch immer und es erfolgt ein Sprung zum abschlie Benden Teil e Problem und L sung bekannt Auch danach geht s ab zum ab schlie enden Teil e identisch zu fr heren Problemen In diesem Fall erfolgt ein Sprung direkt vor die Aktion L sung pr fen Dazu unten mehr e Problem ist reduzierbar In diesem Fall erfolgt ein Sprung vor die Aktion Problem ID und L sung Hier gilt das Problem als identifi ziert und die L sung als gefunden Danach geht es weiter zu L sung pr fen Die Aktion L sung pr fen wird entweder gestartet wenn das Problem identisch ist zu fr heren oder wenn die L sung gefunden wurde S e be deutet wohl nochmaliges Nachdenken ber das Ganze denn aus hr heraus kommt es entweder zur Erkenntnis Problem nicht gel st oder else alles ok Falls hier die Erkenntnis gewonnen wurd
242. er die Abbuchungsgenehmigung widerrufen Zahlungsart berweisung Falls berweisung vereinbart war hat der Kunde ebenfalls eine Rechnung erhalten es wird aber auf den Zahlungseingang gewartet Die Frist f r die Zahlung ist zwei Wochen Systemintern wird eine Woche dazugegeben f r die Zustellung der Rechnung f r den Zahlungsverkehr usw Wird die Rechnung innerhalb von 21 Tagen berwiesen geht sie in den Zustand Bezahlt ansonsten n den Zustand Nicht bezahlt ber Nicht bezahlt Aus dem Zustand Nicht bezahlt f hren zwei Transitionen e Handelte es sich zuvor um eine berweisung wird eine Zahlungser innerung verschickt und die Rechnung geht in diesen Zustand Zah lungserinnerung ber e Handelte es sich zuvor um eine Lastschrift bzw um eine danach erfolgte R cklastschrift kommt die Rechnung gleich n den Zustand 1 Mahnung Zahlungserinnerung Zahlungsfrist Wird bei einer Zahlungserinnerung kein Zahlungseingang innerhalb von 21 Tagen festgestellt kommt es zu einer 2 Erinnerung falls der Kunden status Plus ist Ist der Kundenstatus Minus kommt es gleich zur 1 Mah nung Falls auf eine eventuelle 2 Mahnung wiederum kein Zahlungsein gang innerhalb von 21 Tagen erfolgt kommt es ebenfalls zur 1 Mah nung _ Selbstverst ndlich kann die Rechnung aus allen Mahnstufen durch berweisung in den Zustand Bezahlt gelangen R ckbuchbar bezahlt Lastschrift verweigert Bezahlt oder Nicht bezahlt Erinnerungen
243. er konkreten Modellierung mehrere Ge neralisierungsmengen f r eine Superklasse ergeben Auch dies sollen die folgenden Beispiele zeigen Die n chste Generalisierung Spezialisierung enth lt zum einen die von oben schon bekannte Generalisierungsmenge mit voll und teilzeit Besch ftigten Umfang Besch ftigung Au erdem enth lt sie eine weite 6 3 Beispiel Hochschule und grafische Varianten 81 re Generalisierungsmenge mit Studierende und Professoren die mit Rolle im Lehrbetrieb bezeichnet wird Y Umfang Besch ftigung Vollzeit PER Abbildung 6 3 3 Generalisierung Spezialisierung Generalisierungsmengen Generalisierungsbeziehungen k nnen also benannt werden und alle gleich benannten geh ren zur selben Generalisierungsmenge Die Pfeile die zur selben Generalisierungsmenge geh ren k nnen Alternative auch zu einer Pfeillinie zusammengefasst werden wie es die folgende grafische Abbildung zeigt Darstellung Personen Umfang Besch ftigung Teilzeit besch ftigte Vollzeit besch ftigte 55131 Rolle im Lehrbetrieb Studierende Professoren Abbildung 6 3 4 Generalisierung Spezialisierung alternative grafische Gestaltung Alternativ k nnen die Generalisierungsmengen auch durch gestrichelte Linien die die entsprechenden Generalisierungsbeziehungen schneiden dargestellt werden Vgl die folgende Abbildung 82 6 Generalisierung Spezialisierung Umfang Rolle im Besch
244. erbindungsknoten ZA Beispiel 303 verborgener zusammengesetzter Zustand Beispiel 318 319 Verbundtransition 300 Definition 320 Vereinigung Beispiel 133 159 160 168 180 182 186 188 Grafische Darstellung 154 159 Vereinigung mit Join Spezifikation Beispiel 161 Grafische Darstellung 161 Vererbung Definition 88 mehrfache 90 Verhalten non reentrant 177 Verhalten Definition 115 reentrant 177 von Realweltobjekten 17 Verhalten als Durchqueren eines Graphen 286 Verhaltens Zustandsautomat Definition 286 Verkn pfer 139 Verkn pfer ZA Beispiel 302 Definition 301 Verlorene Nachrichten 228 verschachtelte Fragmente SD Beispiel 243 verschachtelte kombinierte Fragmente Beispiel 235 239 verschachtelte Strukturen 152 Verweis auf eine andere Aktivit t 183 Verzweigung Beispiel 133 155 165 168 180 181 185 186 188 189 191 Grafische Darstellung 154 155 Verzweigung Interaktions berblick Beispiel 250 Verzweigungen mehrere hintereinander Beispiel 188 W chter 156 179 Definition 139 mit Else 156 W chter Aktivt t Beispiel 180 wait time action 172 Beispiel 174 Grafische Darstellung 172 weak sequencing Definition 234 249 WebZumBuch_UMOI IX WebZumBuch_UMO2 IX WebZumBuch_UMO3 IX WebZumBuch_UMO4A IX WebZumBuch_UMO5 IX WebZumBuch_UMO06 IX WebZumBuch_UM07 IX wertbasierte Suchschl ssel 33 Wertigkeit einer dreistelligen Assoziation 51 Wettlaufsituation 189 Beispiel 189 Erl uterung 189 Wurzel 7
245. ergibt keinen Sinn wenn ein Prozess ge startet wird seinen Kontrollfluss durchl uft und dann auf die beschriebe ne Weise endet Einen Sinn macht solch ein Element erst wenn mehrere unabh ngig voneinander agierende Kontrollfl sse vorliegen Dies ergibt sich z B wenn das Blickfeld auf mehrere Gesch ftsprozes se oder sogar auf alle Gesch ftsprozesse eines Unternehmens bzw sogar zus tzlich auf das Prozessumfeld des Unternehmens erweitert wird Dann sind zahlreiche Prozesse aktiv zwischendurch auch nicht werden wieder aktiviert usw Dann kann man sich ein Element Flussende im Sinne von Abschalten einzelner Teilprozesse durchaus vorstellen So wird z B der Prozess Angebotserstellung nur ben tigt wenn eine Kundenanfrage ein geht usw Das entscheidende ist also die Perspektive L st man s ch von der Be trachtung einzelner Gesch ftsprozesse ordnet man sozusagen alles in den bergreifenden Gesch ftsprozess Leistungserbringung eines Unterneh mens ein entsteht ein unternehmensweites Prozessmodell und jeder Gesch ftsprozess ist Teil davon Damit sind w r von der Konstruktion her in Richtung System ger ckt Die Gesch ftsprozesse eines Unternehmens als ein System So weit w e manche jetzt vielleicht denken sind wir davon nicht ent fernt Siehe die weitgehend automatisierten Gesch ftsprozesse der Inter netunternehmen Dass die Theorieelemente der UML diesen Hinweis geben r hrt von ihrer Herkunft vom Systemdenken her un
246. ergleiche in den angesprochenen Kapiteln diese Grundanforderungen an eine Standardprozessmodellierung Geht man weiter insbesondere auch in Hinblick auf eine systemnahe Prozessmodellierung dann m ssen diese Konzepte n vielerlei Hinsicht erg nzt werden wobei dabei die Betrachtung der Verhaltens Kapitel der objektorientierten Theorie sehr hilfreich ist Ein wesentlicher Punkt w re der der unter dem Stichwort Gesamtsicht oben mehrfach diskutiert wurde Das Ganze sehen nicht nur einzelne Prozesse mit allen Konsequenzen und mit einer Verkn pfung zur Standardprozessmodellierung Dies erfordert die bernahme von Theorieelementen die oben unter den Begriffen Nebenl ufigkeit restart streaming nicht alternative Startknoten Abschalten einzelner Kontrofllusszweige usw diskutiert wurden und die Grundlage vollkommen automatisierter Gesch ftsprozesse sind des gesamten Gesch ftsprozesses Per Gesamtsicht zur Automatisierung 16 Indexierung 16 1 abstrakte Klasse Beispiel 25 90 Abstrakte Operationen Definition 91 accept event action Beispiel 173 Definition 171 Grafische Darstellung 172 Start 172 accept signal action 172 Aggregation 153 Beispiel 75 Aggregationsklasse 73 Akteure 273 Aktion Definition 121 122 Grafische Darstellung 122 Start 125 Aktion mit Vor und Nachbedingungen Beispiel 123 Aktion mit Vor und Nachbedingungen lokale 123 Aktionen und Variable 126 Aktionsausf hrung 175 Definition 124
247. erhaltenszustandsautomaten dr cken das Verhalten von Teilen eines Systems aus Es geht um die Modellierung von diskretem Verhalten durch endliche Automaten Somit geht es auch um das Verhalten von Modellelementen z B von einzelnen Instanzen N heres hierzu in den n chsten Abschnitten Protokollzustandsautomaten Bei Protokollzustandsautomaten geht es darum das Nutzungsprotokoll von Teilen eines Systems festzuhalten In der Sprache der UML Autoren Sie modellieren die zul ssigen Transitionen die ein Classifier ausl sen kann Damit erlauben die Protokollzustandsautomaten den Lebenszyklus von Objekten bzw die Abfolge von Methodenaufrufen festzuhalten Die Besonderheiten dieser Automaten sind in Abschnitt 13 4 zusammenge stellt Verhalten In beiden Versionen von Zustandsautomaten wird Verhalten wie folgt modelliert Als ein Durchqueren eines Graphen von Zustandsknoten wobei die Zustandsknoten durch eine oder mehrere bergangskanten verbunden s nd und das Durchqueren durch das Aktivieren einer Serie von Ereignissen gesteuert wird 13 2 Grundlagen 13 2 1 Elemente Den Kern eines Zustandsautomaten stellt also ein Objekt dar Die Beto nung liegt auf der Einzahl Es geht tats chlich um ein einzelnes Objekt dessen Zust nde betrachtet werden Z B um einen Geldautomaten oder auch nur um die Leseeinheit eines solchen Oder um das Gesch ftsobjekt 13 2 Grundlagen 287 Rechnung das im Rahmen eines Finanz und Mahnwesens sehr unt
248. erschiedenen Varianten Objekt und Datentoken haben wie n Kapitel 10 zu sehen sein wird eine durchaus praktische Bedeutung m Kontrollfluss Etwas abgehobener ist das Konzept der Kontrolltoken Es kann allerdings wenn man Kontrollfl sse modelliert durchaus von Wert sein ein Mittel zu haben den konkreten Kontrollfluss zu beschreiben V a wenn wie hier neben dem Kontrollfluss auch Daten und Objekte flie en Dazu unten mehr In den folgenden Abschnitten wird dieser Token Begriff immer wieder thematisiert da er eine der Grundlagen des Kontrollflusskonzeptes ist 8 Modellierung von Verhalten und Abl ufen 8 1 Einf hrung In diesem Kapitel wird berblicksartig beschrieben welche Werkzeuge die objektorientierte Theorie f r die Modellierung von Vorg ngen T tig keiten T tigkeitsfolgen kurz f r die dynamischen Aspekte der Anwen dung oder des Anwendungsbereichs anbietet In der objektorientierten Terminologie wird dabei von der Modellie rung von Verhalten behavior gesprochen Dies gilt auch f r die UML Autoren die konsequent den Begriff behavior verwenden wenn es um diese dynamischen Aspekte geht Dies tun sie auch in Situationen wo im deutschen Sprachgebrauch die bersetzung Verhalten nicht passend er scheint weil das modellierte System nicht handelt sondern nur reagiert dann aber nat rlich handelt Nehmen wir das hier im folgenden fters angef hrte Beispiel eines Geldautomaten Er handelt zwar Geldausg
249. ersonalwesens Die Aktion Einstellung Angestellte f hrt zu einem neuen Objekt in der Personaldatenbank Die Aktion Zuweisung Arbeitsgebiet wird nur dank des Auswahlverhaltens f r die Angestellten aktiviert denen kein Ar beitsgebiet zugeordnet ist Einmal j hrlich wird das wiederholte Zeitereignis aktiv Mit ihm zu sammen kann dann die Aktivit tskante von der Personaldatenbank die Aktion Beurteilung Angestellte ansto en Die Gewichtung der Kontrollkante mit weight all bedeutet dass die Beurteilung f r alle Angestellten vorgenommen wird Die beiden Vorg nge Einstellung Angestellte und Beurteilung Ange stellte h ngen inhaltlich nicht zusammen Sie sind hier wohl nur zusam mengebracht worden um den Einsatz der entsprechenden Theorieelemen te aufzeigen zu k nnen Zuordnung von Personen 182 10 Aktivit ten Einstellung Angestellte lt lt datastore gt gt weight all Personal datenbank A Einmal j hrlich Beurteilung Angestellte uweisung Arbeits _ gebiet Abbildung 10 10 3 Aktivit t Aspekte des Personalwesens Quelle OMG 2003a S 319 Figure 236 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten Eine Vereinigung Einen Datenspeicher Ein wiederholtes Zeitereignis Au erdem ein Auswahlverhalten selection auf einer Aktivit tskante 10 10 4 Teiledesign und Teilebeschaffung Dieses Beispiel umfasst zwe
250. erte Prozesskette vorgestellt 10 10 6 Auslagenerstattung Hier geht es um die Erstattung von Auslagen die Besch ftigte eines Un ternehmens f r das Unternehmen get tigt haben Z B Kauf eines Fachbu ches von B romaterial oder von Software So etwas f llt in gr eren Unternehmen t gl ch mehrere Hundert Mal an D h t glich werden meh rere Hundert Instanzen dieses Prozesses erzeugt Folgende Regeln gelten f r den Prozess e Betr ge unter 200 Euro werden automatisch genehmigt e Betr ge gleich oder h her 200 Euro ben tigen die Genehmigung des Vorgesetzten 10 10 Beispiele 189 e Im Falle einer Ablehnung erh lt der Angestellte eine Begr ndung per E Mail e Falls innerhalb von 7 Tagen nichts passiert dann muss der Angestell te eine E Mail zum Stand des Verfahrens erhalten e Falls die Anfrage nicht innerhalb von 38 Tagen erledigt ist wird sie ung ltig Der Angestellte erh lt eine entsprechende Nachricht und muss das Ganze nochmals vorlegen Das Beispiel zeigt zwei Fl sse die um die Wette flie en eine Struktur Wettlaufsituation vor der die UML Autoren immer wieder warnen Der erste der das Akti v t tsende erreicht bricht die ganze Aktivit t und damit den anderen Fluss ab Die beiden Fl sse sind n derselben Aktivit t so dass sie Daten gemeinsam nutzen k nnen z B zur Kl rung der Frage wer im Falle der Zur ckweisung informiert werden muss Ablehnung Entscheidung Ablehnung
251. erungen hieraus Abschnitt 10 11 9 und die Gesamteinsch tzung in Kapitel 14 10 11 Aktivit ten und Unternehmensmodellierung 193 6 Kontrollfluss Ein Kontrollflusskonzept liegt vor als Abfolge der Aktionen Auch die zwei Verzweigungsm glichkeiten einer jeden Basismodellierung das exklusive ODER XODER und das UND liegen vor F r ersteres als Verzweigung und Zusammenf hrung f r zweiteres als Gabelung und Vereinigung Etwas unscharf ist in den Abbildungen die Erfassung des Entschei dungsvorgangs beim exklusiven Oder Zumindest in vielen Beispielen kann der Eindruck entstehen dass der Entscheidungsvorgang im Symbol f r die Verzweigung also au erhalb der davor angesiedelten Aktion angesiedelt ist Die UML Autoren scheinen die Zusammenf hrung von Kontrollfl s sen auch ohne Operator zu akzeptieren So deuten es zumindest einige Beispiele an Z B in Abbildung 10 11 4 Hier kommen zu einer Aktivit t zwei Kontrollfl sse ohne Operator hnlich in Abbildung 10 11 5 in Verbindung mit dem streaming Konzept Ein Element das den Start der T tigkeitsfolge angibt ist vorhanden der Startknoten Auch die oft vorkommende Ralweltsituation mehrerer alternativer Startpunkte ist damit problemlos modellierbar Ein Element das die Beendigung der T tigkeitsfolge angibt ist eben falls vorhanden das Aktivit tsende Auch hier gilt dass die blichen S tuationen alternative Abschl sse Beendigung nach Teilaufgaben damit ohne Sch
252. es jedoch m glich dass die Zahlung zur ckgewiesen wird z B weil sie nicht korrekt ist Dies wird dann durch das Dreieck an der jeweiligen Kante beim Pin vermerkt Exlusives Oder 150 10 Aktivit ten f Zahlung zur ck weisen Zahlung zur ckgewiesen Dem Konto gut sch reiben Zahlung akzeptiert Abbildung 10 4 22 Kennzeichnung von Ausnahmen Quelle OMG 2003a S 361 Figure 289 bersetzung durch den Verfasser Die folgende Darstellung ist diejenige die die Objektknoten im Objekt fluss angibt Auch hier wird die Ausnahmekante durch ein Dreieck markiert Zur ck Zahlung gewiesene zur ck Zahlung Zahlungs annahme Abbildung 10 4 23 Kennzeichnung von Ausnahmen Quelle OMG 2003a S 361 Figure 289 bersetzung durch den Verfasser Die obigen beiden Abbildung enthalten u a folgende Komponenten Zahlreiche Pins Eine Ausnahmeanmerkung Objektknoten im Objektfluss Au erdem Verzweigungen mit exklusivem Oder ohne Operatorsymbol Diese zweite Kante f hrt bezogen auf die Aktion zu einer impliziten nicht grafisch ausgedr ckten Verkn pfung mit einem exklusiven Oder Zus tzlich wird die Information weitergegeben dass der eine Fall nur in Ausnahmef llen eintritt Beispiel Streaming und Ausnahme Das folgende Beispiel n mmt das aus Abbildung 10 4 4 w eder auf und erg nzt es um die beiden Konzepte streaming und Ausnahme Der Zusatz
253. esshandeln erfasst werden kann so dass d e Modellierung des Kontrollflusses ohne Schwierigkeit m glich ist Hierf r sind die Ereignisgesteuerten Prozessketten aufgrund ihrer wohltuenden Abgehobenheit und ihrer f r die Prozessmodellierung geeigneten Theorieelemente die Methode der Wahl vgl Staud 2006 f r eine Einf hrung Darunter eine systemnahe Prozessmodellierung zur direkten Vor bereitung der Systemanalyse und des Software Engineering In der heuti gen Situation sind daf r Aktivit tsdiagramme und Zustandsautomaten die Werkzeuge der Wahl Dar ber die blichen bersichtsnotationen Z B Grobmodellierungen der Gesch ftsprozesse entweder mit aggregierten Funktionen in Ereig nisgesteuerten Prozessketten oder auch mit Methoden wie der Business Process Modeling Notation BPMN Auf der obersten Eben bleiben die klassischen Wertsch pfungsketten ein s nnvolles Instrument 14 2 Dynamische Aspekte der Unternehmensmodellierung 355 Insgesamt also zum Beispiel e bersichtsnotation 1 Wertsch pfungsketten e bersichtsnotation 2 Grobmodellierung der Gesch ftsprozesse mit Ereignisgesteuerten Prozessketten aggregiert verdichtete Funk tionen e Standardprozessmodellierung mit Ereignisgesteuerten Prozessketten e Systemnahe Prozessmodellierung mit Aktivit tsdiagrammen oder Zustandsautomaten und wo n tig e Modellierung einzelner Funktionen mit Sequenzdiagrammen 15 Abrundung In
254. etrag gleich als akt v erkennbar Dass dies nicht immer so ist zeigt wiederum das Beispiel aus dem Anwendungsbereich Mahnwesen vgl Abbildung unten Ein Ge sch ftsobjekt Rechnung ist z B Neu d h gerade erstellt Da gibt es keine Tiefenstruktur Auch nicht nach der Zustellung zum Kunden wenn die Rechnung in den Zustand Offen ger t Aktivit t im Zustand Somit k nnen bei Zustandsautomaten statische oder dynamische Bedin gungen vorliegen Z B eine statische Situation dergestalt dass ein Objekt darauf wartet dass ein externes Ereignis eintritt Oder eben dynamische Bedingungen d e einen Zustand herstellen und aufrechterhalten Letzteres bedeutet Das betrachtete Modellelement kommt in den Zu stand wenn die Aktivit t beginnt und verl sst ihn sobald die Aktivit t vollendet st Z B Abfragen der Sensoren des Kartenleseger ts beim Geldautomaten Dies erweitert das Konzept des Zustandes doch sehr stark denn hier ist dann tats chlich mit dem Zustand auch eine Aktivit t verbunden Vgl dazu auch die einf hrenden Beispiele unten Es verwischt aber ein wenig den Unterschied zwischen Transitionen und Zust nden Z B kann damit eine Aktivit t Karte lesen bei einem Geldautomaten auch als Zustand definiert werden Objekt ist im Zustand lesend F r die konkrete Modellierung bedeutet es dass die Abgrenzung zwi schen Aktivit ten innerhalb und au erhalb eines Zustandes bei der Mo dellierung st ndig be
255. etzung der Aktivit ten in Aktivit tsdiagramme ist insgesamt akzeptabel wobei die bersichtlichkeit noch steigt wenn der Kontrollfluss von oben nach unten angeordnet wird vgl die Beispiele unten In einigen Punkten ist sie allerdings auch verbesserungsw rdig Z B be der Erfassung der Organisationseinheiten Tr ger der Aktionen Die Zuordnung der Organ sationseinheiten wird in allen drei Darstel lungsvarianten schnell un bersichtlich 10 11 Aktivit ten und Unternehmensmodellierung 199 Auch die Einbindung der Objekte ist nicht berzeugend gel st Sie ist auch schwierig wenn wie in Aktivit tsdiagrammen der Fluss der Objekte neben dem Kontrollfluss ausgedr ckt werden soll Auch die Darstellung wirklich umfassender und zahlreicher Verzwei gungen wie sie in Gesch ftsprozessen n tig sind ist umst ndlich Dies gilt auch f r die Verdeutlichung der Entscheidungsprozesse die den Ver zweigungen des Kontrollflusses zugrundeliegen Insgesamt gilt dass Aktivit tsdiagramme bei der Darstellung wirkli cher Gesch ftsprozesse vgl z B die Gesch ftsprozesse in Kapitel 6 von Staud 2006 sowie WebZumBuch _ UMOI schnell un bersichtlich wer den 10 11 6 Verkn pfung mit der brigen objektorientierten Theorie Die Methode AD st mit den brigen Theorieelementen der UML kaum verkn pft Sie ist sicherlich eine effiziente Methode zur Modellierung der Abl ufe in Systemen und kann auch Hinweise geben f r eine Weiterent wic
256. eue Rechnung wegge hen sind Ausdruck des Zustellversuchs der in der EPK als Funktion modelliert wird Entsprechend den beiden Transitionen mit den Bedin gungen Zustellung gescheitert und Zustellung gelungen wird in der Ereig nisgesteuerten Prozesskette ein exklusives Oder XOder Operator ge setzt Fix und flach Dynamisch und tief Von ZD zu EPK Vgl Abbildung 13 2 6 Transitionen zu Kontrollfluss elementen Start Status nderung Aktion Zeitaspekte 340 13 Zustandsautomaten Die Aktionen bestehen in diesem Zustandsautomaten aus der jeweils notwendigen Statusver nderung S e wurde einmal angef hrt Rechnung ist zuzustellen Zustellung gelungen Status Offen setzen ansonsten weggelassen In der EPK m ssen sie aber angef hrt werden da hier zur Syntax geh rt dass Ereignisse und Aktionen sich m Kontrollfluss abl sen m ssen Auch die Zeitaspekte sind in Ereignisgesteuerten Prozessketten abbild bar Hier wurde einfach nach der nderung des Rechnungsstatus auf Offen eine Wartefunktion Warten auf den Zahlungseingang gesetzt die entweder zum r ckbuchbaren Zahlungseingang zur erfolgten berwei sung oder zum Ablauf der Frist f hrt Nach der r ckbuchbaren Bezahlung kann dann noch eine Funktion Warten ob R ckbuchung eingebaut werden die dann den Tatbestand erfasst dass erst nach 6 Wochen vollst ndige Sicherheit bzgl der Last schrift vorliegt Die restliche EPK sollte selbsterkl rend sein
257. ezeigt dargestellt werden zur grafischen Darstellung vgl unten kundendaten RNr KNr gt Rechnungskopf atid Abbildung 7 1 1 Nachrichtenaustausch zum Zwecke der Kooperation Voraussetzung f r das Gelingen ist dass in der Klasse Kunde eine ent sprechende Methode kundendaten vorhanden ist Begriffe Meist werden in der deutschsprachigen Literatur die Begriffe Nachricht und Nachrichtenaustausch verwendet Bei einigen Autoren so z B bei den beiden Balzerts auch Botschaft Die UML und die brige englisch sprachige Literatur verwenden die Begriffe message und message pas sing Nachrichten Hier eine erste Kl rung des Nachrichtenbegriffs mehr dazu in Abschnitt 7 5 Nachrichten stehen in einem engen Zusammenhang mit Methoden und Operationen Definiert man wie in Kapitel 2 geschehen Operationen als Dienste die von einem Objekt angefordert werden k nnen und als Methoden die Implementierungen der Operationen dann k nnen Nach richten so definiert werden Eine Nachricht berbringt einem Objekt die Information dar ber welche Aktivit t von ihm erwartet wird d h eine Nachricht fordert ein Objekt zur Ausf hrung einer Operati on auf Oestereich 2004 S 355 Nur unwesentlich verk rzt bei Meier und W st Unter einer Nachricht engl message versteht man die Aufforderung eines Objektes an ein anderes eine bestimm te Methode auszuf hren Meier und W st 1997 S 32 Die Menge der B
258. f ten Dann k nnte der Schritt zu einem umfassenden objektorientierten integrierten Unternehmensmodell getan werden Diese Hinwendung der Autoren in der objektorientierten Fachlitera tur zu den Gesch ftsprozessen erfolgt nicht zuf llig sondern kommt von dem Bedeutungsgewinn den die Prozessanalyse in den letzten 15 Jahren gewonnen hat Trotzdem werden Fragen der Prozessmodellierung in den einschl gigen Ver ffentlichungen nur stiefm tterlich behandelt Dies soll in diesem Buch nicht geschehen Meist wurden und werden von diesen Autoren Prozesse mit Systemen gleichgesetzt was zum gegenw rtigen Stand der Entwicklung der Infor mationstechnologien IT zumindest fragw rdig ist und was hier ja auch hinterfragt werden soll Zumindest bei einigen Autoren hat sich dies in zwischen auch ge ndert Es wurde erkannt dass es ber der System ebene noch die Gesch ftsprozesse gibt und dass diese eine besondere Behandlung verdienen Ein Grund daf r ist dass Gesch ftsprozesse auch Abl ufe betreffen die nicht automatisiert sind die also nicht durch Soft ware unterst tzt werden Automatisierung Und doch gibt es in der Praxis heutiger Informations und Kommunikati onssysteme IKS in Unternehmen einen Trend der diese Betrachtungen in einem v llig neuen Licht erscheinen l sst Den zu fast vollst ndig au tomat sierten d h durch Software abgewickelten Gesch ftsprozessen Objektorientierte Modelle Auch f r Gesch fts
259. f hrenden Kanten hat zusammen mit hrer Aktivit t oder ihrem strukturierten Ak t vit tsknoten startet Sie ist dann aber immer in der Lage Ereignisse zu akzeptieren egal wie viele und h rt auch nicht auf wenn sie ein Ereignis akzeptiert hat sondern steht weiterhin in Warteposition ist also weiterhin akt v Die UML Autoren betonen aber ausdr cklich den Ausnahmecha rakter dieses Verhaltens OMG 2003a S 217f Ereignisraum Was der Verfasser in seinen Ver ffentlichungen als Zreignisraum bezeichnet die Gesamtheit aller m glichen Ereignisse um einen Ge sch ftsprozess herum kennen die UML Autoren auch und bezeichnen es als event pool Dieser ist einem Objekt zugeordnet und wird auch daf r verwendet Ereignisse zu speichern ihr Erscheinen festzuhalten die nicht unmittelbar genutzt werden k nnen Sp ter k nnen s e dann ber ck sichtigt werden Ein solcher Ereignisspeicher wird auch input event pool des Objektes genannt Implizite Schleife in der Aktion Vor allem in den Abschnitten zu den Schlussknoten Flussende und Akt v t tsende und in den Beispielen gewinnt man den Eindruck dass sich die UML Autoren auch vorstellen dass eine Aktion l ngere Zeit wei termacht also ihre Leistung z B Komponenteneinbau nicht nur einmal erbringt sondern mehrfach Z B ber eine implizite Schleife Vgl dazu die Abbildung 10 6 19 Sie entspricht OMG 2003a Figure 251 diese wird auszugsweise in OMG 2003a Figure
260. folge und Ge sch ftsprozess verkn pft Die objektorientierte Wahrnehmung dieser Dynamik ist eine andere Hier steht der Begriff Verhalten behavior im Vordergrund Verhalten braucht einen Tr ger Dieser ist in der objektori entierten Theorie das Objekt bzw die Objektklasse Vgl dazu die Aus f hrungen n Kapitel 10 Es war gut dass diese beiden Theorieelemente Aktionen und Aktivit ten in die Version 2 0 aufgenommen wurden fehlten doch der UML bis dahin fundierte Instrumente zur Verhaltensmodellierung 9 2 Grundlagen 9 2 1 Definition Die UML Autoren definieren eine Aktion als eine elementare Verhaltens einheit the fundamental unit of behavior specification und fahren fort An action takes a set of inputs and converts them into a set of outputs though either or both sets may be empty OMG 2003a S 203 Dies klingt sehr datentechnisch ja fast nach Programmmodulen kann aber mit ein wenig Abstraktion auch auf Handeln T tigkeiten in Ge sch ftsprozessen bertragen werden Neu in UML 2 0 Aktionen und Aktivit ten T tigkeiten vs Verhalten Elementare Verhaltenseinheit Aktionen als ausf hrbare Knoten Aktionen ver ndern Bezug zu Gesch ftsprozessen 122 9 Aktionen Die Beschreibung als fundamental unit macht auch deutlich dass die UML Autoren Aktionen als Elementareinheiten sehen wobei dies bei Programmmodulen leicht z B als der Programmcode der kleinsten Mo dule ansonste
261. ft und dort den Startknoten aktiviert Anga bots erstellung Abbildung 10 7 1 Aufruf einer Aktivit t durch eine Aktion einer anderen Aktivit t Diese aufrufende Aktion ist genauso in den Kontrollfluss eingebettet wie eine normale Aktion D h sie hat neben einer hinf hrenden auch eine wegf hrende Aktivit tskante Vgl hierzu das Beispiel in den Abbildun gen 10 11 4 und 10 11 5 Gesamtsicht Aufruf aus dem Ereignisraum Einbindung in objektorientierte Modelle Aufruf durch eine andere Aktivit t hnlichkeit zwischen Aktionen 168 10 Aktivit ten 10 8 Aktivit ten aufteilen Tr ger zuordnen Das Problem den Aktionen einer Aktivit t die Tr ger z B die Organisa tionseinheiten zuzuordnen l sen die UML Autoren wie folgt Sie f hren ein allgemeines Konzept ein hnlichkeit zwischen Aktionen erfassen zu k nnen und nennen dies activity partition Im Falle der Tr ger von Aktio nen besteht dann die hnlichkeit darin denselben Tr ger zu haben Grafisch wird dies auf unterschiedliche Weise realisiert Zum Beispiel ber sog Schwimmbahnen wie es die folgende Abbildung zeigt Das Beispiel der folgenden Abbildung ist vom einleitenden Teil be kannt Aktivit t Auftragsbearbeitung Vgl das Stichwortverzeichnis f r die Fundorte aller Varianten dieser Aktivit t Auftrag abgelehnt Auftrags N Auftrag eingang ausf hren Auftrag angenommen Auftrag schlie en Zah
262. g 10 4 7 Objektfluss mit Rechnung Quelle OMG 2003a S 296 bersetzung durch den Verfasser Rechnung senden 10 4 3 Objektfl sse und Pins Oben in Abschnitt 9 5 wurde schon das Konzept der Pins eingef hrt Jetzt kann es vertieft werden Ein Pin repr sentiert einen Objektknoten der den Input und den Output von Aktionen modelliert Er h lt also fest was in die Aktion hineinflie t und was aus ihr herauskommt f r dieses was haben die UML Autoren das Konzept der Token Ist die Aktion ein Aufruf die UML Autoren sprechen dann von einer aufrufenden Aktion invocation act on vgl oben dann m ssen die An zahl von Pins und deren Typen gleich sein wie die Anzahl Parameter und die Typen des aufgerufenen Verhaltens oder der Verhaltenseigenschaft behavioral feature Die Pins werden nach ihrer Reihenfolge auf die Parameter abgebildet Beispiele Das folgende Beispiel zeigt denselben Vorgang wie oben jetzt aber mit ausdr cklich ausgewiesenen Objektknoten Pins object node pins und ihren Symbolen Die P nsymbole repr sentieren beim linken Knoten das zur Verf gung gestellte und abgehende Objekt auf der rechten Seite das geforderte und empfangene Objekt Noch ein Transportvorgang Zustand state von Objekten 142 10 Aktivit ten Auftra versenden Auftra ausf hren E E Abbildung 10 4 8 Objektknoten mit Pinsymbolen Quelle OMG 2003a S 359 Figure 286 Ubersetzun
263. g durch den Verfasser Die Pins werden grafisch durch Rechtecke angedeutet und mit dem Na men des Objekts beschriftet Die folgende Abbildung zeigt wie mehrere Objektfl sse zwischen zwei Aktionen bei dieser Notation dargestellt werden Im Beispiel geht es um einen Auftrag bzgl einer Maschine Zuerst werden die Teile be schafft dann wird die Maschine zusammengebaut Der Objektfluss be steht zum einen in der Weitergabe des Auftrags zum anderen in der Wei tergabe der Teile Auch dieses Beispiel macht deutlich dass die UML Autoren mit die sem Konzept tats chlich reale Transportvorg nge von physischen und digitalen Objekten meinen Auftrag Auftrag Auftrag zusammen stellen I E Teile Teile Abbildung 10 4 9 Objektflusskante mit zwei Objekten Quelle OMG 2003a S 347 Figure 272 bersetzung durch den Verfasser Das dritte Beispiel verdeutlicht die Verwendung von mehreren Pins Fol gendes wird mit Hilfe der Pins transportiert e Auftr ge e Teile e PC Designs Die Abbildung zeigt auch anschauliche Beispiele f r den Zustand state von Objekten und deren nderung Das Objekt Auftrag ndert ihn vom Anfangszustand beim Eingang des Auftrags in Auftrag akzeptiert und am Schluss in Auftrag zusammengebaut Die Zustands nderung wird also in eckigen Klammern angeboten Zust nde und ihre nderungen sind wesentliche Aspekte von Zu standautomaten die in Kapitel 13 besprochen werden Bleibt n
264. g repr sentiert e Kombinierte Fragmente mit dem Operator parallel par werden durch eine Gabelung entsprechend einem logischen UND und eine entsprechende Vereinigung repr sentiert 11 4 Vertiefung 249 e Kombinierte Fragmente mit dem Operator loop werden durch einfa che Schleifen repr sentiert e Verzweigungen und das Zusammenf hren von Zweigen muss durch eine geeignete Verschachtelung dargestellt werden Die folgende Abbildung zeigt ein Beispiel S e st inhaltlich angelehnt an Abbildung 11 4 7 Als erstes erscheint nach dem Startknoten die Interaktion Verbindung Herstellen mit dem Argument Falsche PIN Der Interaktionsoperator ref zeigt dass es sich um einen Verweis auf eine andere Interaktion han delt Die Zeitangabe 0 25 gibt wie im vorigen Abschnitt vorgestellt die zur Verf gung stehende Zeitdauer f r den Vorgang an Es folgt eine Interaktion genauer ein Sequenzdiagramm mit den bei den auch in der Bezeichnung genannten Lebenslinien und mit der Nach richt KarteRaus Eine solche fragmentarische einen in sich geschlossenen Ablauf modellierende Interaktion wird als inline Interaktion bezeichnet Danach folgt eine Verzweigung mit einem exklusiven Oder Diese wird hier wie oben ausgef hrt als Verzweigung eingef gt Ein Zweig hat die Interaktionseinschr nkung pin ok Bei ihm folgt eine weitere inline Interaktion mit der Nachricht Msg Bitte eintreten und den beteiligten Lebenslinien Den Absc
265. ge von Ereignissen und T tigkeiten gepr gt ist Dies ist ja auch wie oben im Text gesehen in der objektorientierten Theorie so wenn sie sich dann ernsthaft der Ablaufmodellierung zuwendet Ebenso wird vorausgesetzt dass der Gesch ftsprozess eine Aufgabe zu erf llen hat und dabei Ressourcen aller Art ben tigt Ganz im Sinne der Definition von Gesch ftsprozessen Vgl hierzu Staud 2006 Kapitel 2 Hier nun die Theorieelemente sie sind von 1 bis 10 durchnum meriert 1 Elementare T tigkeiten Ein Element f r die Teilaufgaben in die man die Gesamtaufgabe zerlegt Bzgl der unvermeidlichen Subjektivit t dieser Zerlegung vgl auch die Ausf hrungen zu Systemdenken vs Prozessdenken im vorigen Kapitel sowie grunds tzlicher Kapitel 2 von Staud 2006 In der Standardprozessmodellierung sind dies T tigkeiten die einmal angesto en dann ausgef hrt und zuletzt beendet sind Es ist also keine implizite Schleife bleibt aktiv vorgesehen wie bei einigen Theorieelementen der UML vgl insbesondere Kapitel 12 2 Tr ger der T tigkeiten Dieses Element benennt wer die jeweilige T tigkeit realisiert Dies k nnen Organisationseinheiten Stellen Personen Programme z B auch WebServices oder auch Maschinen sein Diese Zust ndigen werden den elementaren T tigkeiten zugeordnet Es sollte m glich sein mehrere Tr ger darzustellen auch Beziehungen zwischen den Tr gern Dies erledigt der Verkauf en
266. geht es ber den Knoten weiter Er ist somit ein Kon trollknoten zu dem mehrere Aktivit tskanten hinf hren und von dem genau eine wegf hrt Grafische Darstellung Die grafische Darstellung geht wiederum w e bei einem Gabelung von einem Balken aus Hier kommen nun aber zuf hrende Aktivit tskanten und genau eine wegf hrende dazu Abbildung 10 6 11 Vereinigung mit Aktivit tskanten Beispiele Im folgenden Beispiel werden zuerst Rohstoffe bereit gestellt Fremdteile beschafft und Kapazit ten eingeplant Erst wenn all dies geschehen ist kann die Produktion geplant werden vgl dazu das EPK Beispiel in Staud 2006 Abbildung 4 4 6 W chter Kontrollfl sse synchronisieren 160 10 Aktivit ten Rohstoffe bereitstellen Produktion planen Kapaz t t einplanen Abbildung 10 6 12 Beispiel f r den Einsatz einer Vereinigung Fremdteile beschaffen Das n chste Beispiel zeigt die Vereinigung in Zusammenhang mit einem Objektknoten vom Typ Signal vgl Abschnitt 10 4 2 der Signaltoken abg bt und mit einer Kantengewichtung die hier einfach aussagt dass alle Angebotsvorschl ge in Betracht gezogen werden vergeben trifft ein 188 Abbildung 10 6 13 Vereinigung mit Signaltoken und Kantengewichtung In Anlehnung an OMG 2003a S 297 Figure 213 weight all Die Abbildung enth lt u a folgende Komponenten Eine Gewichtung an einer Aktivit tskante Eine Vereinigung Einen
267. h der gleichen Regel wie oben Mehrere W chter Vom Quellzustand zum Zielzustand Quelle des Ereignisraumes Ereignis verarbeitung Eins nach dem anderen 322 13 Zustandsautomaten Ausf hrung von Transitionen Jede Transition mit Ausnahme von internen und lokalen Transitionen verursacht zweierlei Das Verlassen eines Quellzustandes und das Einge hen eines Zielzustandes Diese zwei Zust nde die zusammengesetzt sein k nnen werden als die Hauptquelle und das Hauptziel einer Transition bezeichnet Der LCA Zustand LCA least common ancestor letzter gemeinsamer Vorg nger einer Transition ist der niedrigste zusammengesetzte Zustand der alle expliziten Quellzust nde und alle expliziten Zielzust nde der Verbundtransition enth lt Im Falle von Verbindungspunkten werden nur die Zust nde die in Be z ehung stehen zum dynamisch ausgew hlten Pfad als explizite Ziele betrachtet d h umgeleitete Zweige werden nicht betrachtet Falls der LCA nicht ein orthogonaler Zustand ist ist die Hauptquelle der Transition ein direkter Subzustand des letzten gemeinsamen Vorg n gers der die expliziten Quellzust nde enth lt und das Hauptziel ist ein Subzustand des letzten gemeinsamen Vorg ngers der die expliziten Ziel zust nde enth lt F r den Fall dass der LCA ein orthogonaler Zustand ist sind Haupt quelle und Hauptziel der orthogonale Zustand selbst Der Grund ist Wird eine orthogonale Region verlassen muss der gesa
268. halb ben tigt man immer eine Standardprozessmodellierung und auch weitere bersichtsnotationen selbst wenn der Automatisierungsgrad noch gewaltig angestiegen sein wird Denn die systemnahe Ebene kann ohne den berblick der bergeordneten Ebenen nicht modelliert werden 14 2 4 Unternehmensmodellierung der Zukunft Wie sieht nun f r die wichtigsten zwei Bereiche die Unternehmensmo dellierung der Zukunft aus Informationsstrukturen Statische Aspekte Hier ist wie mehrfach ausgef hrt in der Praxis wenig Bewegung zu er kennen W nschenswert w re eine umfassende objektorientierte Daten modellierung mit Umsetzung elementarer Abl ufe durch die implemen tierten Methoden Es wird aber wohl in der absehbaren Zukunft bei der Dominanz der relationalen Theorie bleiben und bei Methoden der seman tischen Modellierung v a ER Modellen Letztere nicht nur aber auch f r die berblicksnotationen berblicksnotationen sind hier auch notwendig vor allem dergestalt dass Gesch ftsobjekte Rechnung Lieferschein direkt sichtbar werden etwa so wie bei den Business Objekten der SAP Unternehmensmodellie rung Vielleicht aber auch so dass ein gesamtes Unternehmensdatenmo dell auf einer Seite dargestellt werden kann Verhalten Dynamische Aspekte Die Modellierung des Verhaltens mu eine Standardprozessmodellie rung zum Begriff vgl Abschnitt 15 1 aufweisen Das ist die Ebene auf der Gesch ftsobjekte sichtbar sind und Proz
269. hen Charakter von Zust nden wie er oben eingef hrt wurde besonders deutlich Die Zust nde sehen aus wie Aktivit ten Abschlusspr fung ist dann hier in einem Zustandsautomat ein Zustand etwas in dem man sich befindet obwohl es tats chlich auch einen Vorgang darstellt Damit ist die Unterscheidung von Aktivit tsbeschreibung und Zu standsbeschreibung teilweise aufgehoben 13 3 5 Semantik von Zust nden Ein bestimmter Zustand ist w hrend der Ausf hrung des Zustandsauto maten akt v oder naktiv Er wird aktiv wenn er als Ergebnis einer Tran sition eintritt und er wird inaktiv wenn er durch eine Transition verlas sen wird Ein Zustand kann auch als Ergebnis ein und derselben Transition be endet werden oder eintreten In einem solchen Fall wird die Transition Selbsttransition self transition genannt vgl hierzu das Beispiel in Ab bildung 13 3 17 F r jeden Zustand gibt es eine Anfangsaktivit t entry activity und ei ne Schlussaktivit t exit activity Immer wenn ein Zustand eintritt f hrt er seine Anfangsakt vit t aus vor allem anderen Umgekehrt f hrt er wenn er verlassen wird als letzten Schritt seine Schlussaktivit t aus Anmerkung Der Begriff Aktivit t wird hier im allgemeinen fach sprachlichen Sinn verwendet nicht im Sinn von Kapitel 10 Zwischen der Anfangs und der Schlussaktivit t muss sich ja auch noch etwas tun Dieser Teil der Aktivit t eines Zustandes wird Zustandsakt
270. hine state machine tomaten Transition Zustands bergang Transition Abschlusstransition transition completion transiti on shallowHistory Knoten shallowHistory vertex Transition Gruppentransition transition group transition Transition transition Transition Verbundtransition transition compound transiti on untergeordneter Automat eines submachine state machine Zustandsautomaten oder auch Subautomat eines Zustandsau 13 6 Zustandsautomaten und Unternehmensmodellierung 345 E untergeordneter Zustandsau tomat zusammengesetzter Zustand composite state Zustandsautomaten automaten enth lt automaten enth lt Zustand einfacher zusammen state simple composite state gesetzter Zustand Zustand History Zustand state history state Zustand indirekter Sub state indirect substate Zustand Zustand Protokollzustand state protocol state Zustand Pseudozustand state pseudostate Zustand Quellzustand state source state Zustand Subzustand state substate Zustand Zielzustand state target state Zustand Zustandsautomaten enth lt Zustandsaktivit t Do Aktivit t state activity Do activity Zustandsautomat Zustandes Zustandsautomat enthaltender state machine containing Zustandsautomat bergeord state machine neter Zustandsautomat d Zustand orthogonaler Zustand state orthogonal state 346 13 Zustandsautomaten scher Zustandsautomat state machine neter Zustandsautomat st
271. hinzugef gt die mit dem Namen der Nachrichten be schriftet sind wie oben gezeigt Er weist au erdem darauf hin dass f r einen Nachrichtenverkehr nicht unbedingt eine Assoziation vorliegen muss ebenda 7 7 Beispiel Rechnungsdruck 105 7 6 2 Grafische Darstellung Die folgende Abbildung zeigt die grafische Darstellung von Kommunika tionsdiagrammen Sie kann nicht so allgemeing ltig sein wie sonst da es f r die unterschiedliche Anzahlen von Komponenten und f r die unter schiedliche innere Struktur keine Abstraktionsm glichkeit g bt Hier das Beispiel dreier Objekte die zusammenwirken Objekt 1 sen det zwei Nachrichten die Reihenfolge ist durch die Sequenznummern angegeben Die zweite Nachricht wird wiederholt versendet Beide Nach richten haben Parameter und damit Argumente 1 antwort nachricht argumente ergebnis gt objekt1 Klasse 2 nachnicht argumente Abbildung 7 6 1 Darstellung von Kommunikationsdiagrammen beispielhaft 7 7 Beispiel Rechnungsdruck Das folgende Kommunikationsdiagramm zeigt den vereinfachten Nach richtenaustausch rund um den Druck einer Rechnung vgl auch das nach folgende Klassendiagramm mit diesem Nachrichtenverkehr e Nach Eingehen der Aufforderung die Rechnung zu drucken fordert die Lebenslinie RechnK pfe Rechnungsk pfe von der Lebenslinie Kunden die Kundendaten an e RechnK pfe hat eine Methode zur Erstellung der Rechnung Diese fordert von Rechn
272. hluss bei diesem Zweig bildet wieder ein Interak tionsauftreten mit dem Verweis auf eine Interaktion T r ffnen Auch hier ist wieder eine zeitliche Festlegung getroffen Der andere Zweig mit der Interaktionseinschr nkung else f hrt gleich zum Schlussknoten F r den Zusammenhang zwischen dem ersten und zweiten Element und dann von der zweiten Inline Interaktion zum Interaktionsauftreten also f r alle sequentiellen Abfolgen ohne Operator sprechen die UML Autoren von weak sequencing D h auf einem Zweig wird die Abfolge der Elemente eingehalten die zwischen Elementen verschiedener Zweige aber nicht unbedingt vgl Abschnitt 11 4 4 Verweis Inline Interaktion Pin ok oder nicht Operator seq weak sequencing 250 11 Sequenzen sd Interaktions berblicksdiagramm Lebenslinien Nutzer Zugangssystem VerbindungHerstellen Falsche PIN Zugangssystem r i i Karteraus Abbildung 11 4 12 Interaktions berblicksdiagramm Zugang Geldautomat Quelle OMG 2003a S 449 Figure 349 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Zwei Inline Interaktionen Zwei Interaktionsauftreten Verweise auf andere Interaktionen hier Sequenzdiagram me mit dem Interaktionsoperator ref a Angaben zum Zeitverbrauch Einen Operator Verzweigung von Aktivit tsdiagrammen entsprechend dem logischen Oder Zwei Interaktionseinschr nkungen Au erdem
273. hlusszust nde auch in Regionen Bei der Vorstellung der Grundlagen wurde das Element Schlusszustand bereits eingef hrt Hier kann es nun vertieft betrachtet werden Bei einem Schlusszustand handelt es sich um eine spezielle Art von Zustand dessen Eintreten bedeutet dass die bergeordnete ihn enthal tende Region abgeschlossen ist d h dass die Abschlussbedingung erf llt ist Falls die bergeordnete Region direkt in einem Zustandsautomaten enthalten ist und dessen andere Regionen ebenfalls abgeschlossen s nd dann bedeutet es dass der ganze Zustandsautomat abgeschlossen ist Betrachten wir dazu das folgende Beispiel Es handelt sich um einen Auszug von Abbildung 13 3 14 die in Anlehnung an OMG 2003a S 486 Figure 386 entstand Der Zustand Studieren umfasst drei Regio nen mit jeweils eigenen Zust nden und Transitionen Wenn in allen drei Regionen von Studieren jeweils der Schlusszustand erreicht ist ist auch 13 3 Vertiefung 299 der im Zustand enthaltene Zustandsautomat dazu gleich unten mehr beendet Veranstaltungen bestanden Veranstaltungen bestanden Grundstudium Hauptstudium Projekte Projekte realisiert Abschluss beslanden O DOIE Abbildung 13 3 2 Zustand mit Regionen zusammengesetzter Zustand Quelle Auszug aus Abbildung 13 3 14 Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Mehrere Regionen Zahlreiche Subzust nde Mehrere Schlusszust nd
274. hr integer rechnDatum siring kNr integer zahlungsart string versandart string rechnSumme money mwsi money lesePosi bestimmeRS bestimme MWSt jan Abbildung 2 7 4 Anwendungsbereich WebShop Klasse Rechnungsk pfe Die Attribute der Klasse Rechnungspositionen erg nzen die der Klasse Rechnungs Rechnung um die Informationen die positionsspezifisch sind Dies sind positionen die Positionsnummer posNr die Artikelnummer artNr die Mengenan gabe bei der Position anzahl sowie der Positionspreis posPreis und der Mehrwertsteuerbetrag der Position mwst Das Attr but Rechnungsnum mer rechnNr h lt fest zu welcher Rechnung die jeweiligen Rechnungs positionen geh ren Rechnungs positionen rechnhr integer p oshr integer anr integer anzahl integer 1 posPreis money mwa money bestimmePosSu bestimmePosMWSt pasa Abbildung 2 7 5 Anwendungsbereich WebShop Klasse Rechnungspositionen In der Klasse Artikel wird die Artikelnummer artNr die Artikelbezeich Artikel nung artBez die Artikelbeschreibung artBeschr der Listenpreis list Preis sowie der minimale Lagerbestand bei dessen Erreichen oder Un terschreiten nachbestellt wird lagMin festgehalten Elementare Methoden begleiten hier die Entnahme von und das wieder Hinzuf gen von Artikeln in das Lager entnahme hinzuf gen artNr integer artBez string artBeschr string lagMin integer entin
275. hren Auswirkungen sein e Eine Aktivit t modelliert Verhalten das an vielen Stellen w ederver wendet werden kann Der Kontrollfluss Die Elemente einer Aktivit t die Aktionen darstellen werden Aktivit ts knoten genannt Eine Aktivit t besteht dann aus Aktivit tsknoten activity nodes und Aktivit tskanten activity edges Die Aktivit tskanten sind 20 W rtlich Activities may be applied to organizational modeling for business process engineering and workflow OMG 2003a S 284 10 2 Einf hrendes Beispiel 131 gerichtet und verbinden die Knoten Mit diesen Knoten und Kanten werden die verschiedenen Flussmodelle dargestellt Mit dem Begriff Fluss ist im Zusammenhang mit Aktivit ten gemeint dass die Ausf hrung eines Knotens zur Ausf hrung anderer Knoten f hrt Dies ist das was g ngigerweise mit Kontrollfluss bezeichnet wird Wie blich ist auch hier die Vorstellung die dass die Kontrolle entlang der Knoten weitergegeben wird Wenn eine Aktion fertig st geht die Kon trolle an die n chste weiter und so fort Die Aktivit tsknoten enthalten Verhalten behavior unterschiedlich ster Art z B eine Berechnung den Aufruf einer Operation oder die Bear beitung von Objektinhalten Sie k nnen auch Kontrollflusselemente ent halten f r die Verzweigung bzw das Zusammenf hren von Kontrollfluss zweigen Diese k nnen durch eine Gleichzeitigkeit von Aktionen durch Entscheidungen oder durch Parallelverar
276. hritt von den Objekten zur Klasse fast automatisch vollzieht Wie findet man nun ganz konkret Objekte Der sicherste Weg ist der Objekte finden oben beschriebene der ber die Betrachtung von Attributen und Real weltph nomenen zum Ziel f hrt Andere Autoren v a die mit einem Datenbankhintergrund behelfen sich einfach mit einem Hinweis auf die entsprechenden Realweltobjekte wie z B Bertino und Martino In object oriented systems each real world entity is repre sented by an object to which is associated a state and a be havior Bertino und Martino 1993 S 14 Wohlunterscheid barer Gegenstand Objektfindung durch Methoden Durch Methoden zu Attributen 1 1 Abbildung Keine Zerlegung 32 2 Objekte und Objektklassen Damit ist das Problem zumindest was das Finden bzw Festlegen der Objekte angeht aber nur verlagert denn Realweltobjekte besitzen auch nicht immer die Eindeutigkeit die f r eine L sung der Frage notwendig w re Meier und W st 1997 S 3 definieren Objekte als Grundbausteine aus welchen objektorientierte Anwendungssysteme aufgebaut werden und pr zisieren dann Unter einem Objekt versteht man einen wohlunterscheid baren Gegenstand aus der realen Welt oder einen abstrakten Begriff aus der Vorstellung Meier und W st 1997 S 13 hnliche Definitionen finden sich in gro er Zahl in der Literatur Sie helfen ein St ck weit auf dem Hintergrund der heutigen Speicherte
277. hworte Definitionen Beispiele Metamodellierung Viele Begriffe VIII Vorwort weil eine Methode deren Ergebnisse letztendlich als Abbildungen vorlie gen durch grafisch ausgedr ckte Beispiele leichter zu vermitteln ist Am Schlu der meisten Kapitel erfolgt eine Zusammenfassung und Unternehmensmodellierung die f r alle Lesergruppen gedacht ist Sie wird aber wieder aus zeitlichen Gr nden in Bachelorveranstaltungen nicht in voller Intensit t behandelbar sein Erschlie ungshilfen Zahlreiche Mittel werden eingesetzt um den Leser bei der Erschlie ung dieses Textes sowie auch des Originaltextes der UML Autoren zu unter st tzen F r diesen Text e Ein allgemeines Stichwortverzeichnis e Ein Verzeichnis der Definitionen e Ein Verzeichnis der Beispiele F r die Originaltexte der UML Autoren e Die intensive und transparente Erschlie ung der Begrifflichkeit der UML Autoren im Text e Fine Auflistung der verwendeten Begriffe aus der UML in Deutsch und Englisch zu Beginn eines jeden Kapitels e Eine Erl uterung der Metamodellierung der UML 2 0 in einem be gleitenden Text WebZumBuch UMDO3 vgl unten Der Grund f r obige Hilfen liegt in der Komplexit t der UML Texte Aus vielen Gespr chen mit Praktikern und Studierenden wei ich dass die Originaltexte als sehr schwer empfunden werden Nicht so sehr wegen der anderen Sprache und auch nicht nur wegen der Komplexit t der Mate rie sondern wegen de
278. i Aktivit ten bei denen es darum geht Stan dardteile bzw komponenten f r den Bau des Flugzeuginneren zusam menzustellen Dabei sind zwei Gruppen von Ingenieuren t tig Diejeni gen die f r das Design verantwortlich sind die Designingenieure design engineer und diejenigen die die Teile bzw Komponentenbeschaffung realisieren Beschaffungsingenieure standards engineer Die Aktivit t Teiledesign beschreibt einige Arbeitsschritte beim De sign von Teilen Von dieser Aktivit t wird die andere aufgerufen Hier liegt also das erste Beispiel f r einen Aktivit tsaufruf durch eine Aktivit t vor Die Aktivit t Teilebeschaffung beschreibt einige Aspekte des Suchvor gangs wenn bestimmte Teile angefordert werden und gesucht werden m ssen In der Aktivit t Teiledesign ist durch eine Linie in der Mitte der Abbil dung die Zuordnung der Personen zu den Aktivit ten angegeben Die Aktivit ten der oberen H lfte werden vom Designingenieur realisiert die der unteren H lfte vom Beschaffungsingenieur Diese Darstellung w hl ten die UML Autoren wohl in Anlehnung an die Schwimmbahnenkon struktion Aktivit t Teiledesign Der Prozess beginnt damit dass der Designingenieur bei seiner Arbeit den Bedarf f r ein Standardteil feststellt Teilebedarf Dies wurde hier von den UML Autoren als Aktion modelliert was etwas irritierend ist da es sich eigentlich um ein Ergebnis handelt Gemeint ist aber wohl einfach die T tigkeit die zur E
279. ialknoten initial vertex Beenden Knoten terminate deepHistory Knoten history vertex shallowHistory Knoten history vertex Verkn pfer Join vertex Gabelung fork vertex Verbindungsknoten junction vertex Auswahlknoten choice vertex Einstiegspunkt entry point Ausstiegspunkt exit point Initialknoten Ein Initialknoten stellt einen voreingestellten Knoten dar von dem genau eine Transition zum voreingestellten Standardzustand eines zusammenge setzten Zustandes f hrt In einer Region kann h chstens ein solcher Initi alknoten sein Ein Initialknoten wird als kleiner schwarz eingef rbter Kreis darge stellt Zur grafischen Darstellung vgl die folgenden Beispiele deepHistory Pseudozustand Ein Pseudozustand des Typs deepHistory repr sentiert die letzte aktive Konfiguration des zusammengesetzten Zustandes die diesen Pseudozu stand direkt enth lt direkter Subzustand Zum Beispiel die Zustandskonfiguration die aktiv war als der zusam mengesetzte Zustand zuletzt verlassen wurde OMG 2003a S 470 Hier spielt also die zeitliche Dimension eine Rolle Es geht darum eine bestimmte Zustandskonfiguration festzuhalten und verf gbar zu machen Ein Pseudozustand des Typs deepHistory wird durch einen Kreis dar gestellt in dem sich die Zeichenfolge H befindet Er hat G ltigkeit f r die Region des Zustandes in der er enthalten ist Stellen wir uns vor der Geldautomat f hrt nachdem der Kunde seine EC Karte ei
280. ich nicht aus dass Daten schlicht fehlen d h noch nicht verf gbar sind 2 1 Einf hrung 17 Mit obigem sollte es bereits klar geworden sein Auch die objektorien Objekte Attribute tierte Theorie baut wie die meisten anderen Modellierungsans tze auf Methoden dem Attributkonzept auf Attribute sind das zentrale Beschreibungsmittel Attribute bestimmten welche Realweltph nomene zu Objekten werden und welche dann zu Klassen zusammengefasst werden Wir k nnen also zu Beginn einer Modellierung von folgenden notwen digen Schritten ausgehen e Im ersten Schritt werden bestimmte Realweltph nomene durch Attri bute beschrieben wodurch sie zu Objekten werden Ihnen werden Methoden zugeordnet e Im zweiten Schritt werden die Objekte die dieselben Attribute haben und denen dieselben Methoden zugeordnet sind zu Objektklassen zusammengefasst Methoden Was ist nun etwas genauer mit Methoden gemeint Mit Objekten der Realwelt k nnen bestimmte Dinge gemacht werden bzw sie haben ein bestimmtes Verhalten Einiges davon st im Anwendungsbereich von Bedeutung Zum Beispiel e Objekte Studierende Sie k nnen immatrikuliert und exmatrikuliert werden sie k nnen Pr fungen besuchen und Noten erhalten e Objekte PCs f r ein Unternehmen Sie k nnen beschafft in einer Abteilung installiert einem Angestellten zugewiesen oder auch aus gemustert werden e Objekte Abteilungen in einem Unternehmen Sie k nnen eingerichtet
281. ich und ein Erfolg eines solchen Projekts keineswegs gesi chert w re 7 8 Bedeutung f r die Unternehmensmodellierung 111 Verwendete Fachbegriffe in Kapitel 7 message message Z o Role o droe S Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff 8 Modellierung von Verhalten und Abl ufen 8 1 Einf hrung In diesem Kapitel wird berblicksartig beschrieben welche Werkzeuge die objektorientierte Theorie f r die Modellierung von Vorg ngen T tig keiten T tigkeitsfolgen kurz f r die dynamischen Aspekte der Anwen dung oder des Anwendungsbereichs anbietet In der objektorientierten Terminologie wird dabei von der Modellie rung von Verhalten behavior gesprochen Dies gilt auch f r die UML Autoren die konsequent den Begriff behavior verwenden wenn es um diese dynamischen Aspekte geht Dies tun sie auch in Situationen wo im deutschen Sprachgebrauch die bersetzung Verhalten nicht passend er scheint weil das modellierte System nicht handelt sondern nur reagiert dann aber nat rlich handelt Nehmen wir das hier im folgenden fters angef hrte Beispiel eines Geldautomaten Er handelt zwar Geldausga be er wartet aber auch oft auf Eingaben Warten auf EC Karte Warten auf Geheimzahl usw und stellt da h chstens Verhalten zur Verf gung Noch gr er ist die begriffliche Unstimmigkeit bei Gesch ftsprozes sen
282. ichtenverkehrs Da dieser nicht detailliert wird werden auch die dort angegebenen Informationen erzeugenden ver ndernden und l schenden T tigkeiten nicht angegeben 5 Ereignisse Diese s nd vorhanden rund um den Nachrichtenverkehr Aber nur da 6 Kontrollfluss Der zeitlich angeordnete Nachrichtenverkehr zwischen mehreren Lebens linien stellt so etwas wie einen Kontrollfluss dar allerdings einen f r die Funktionsfolge nicht f r die Prozessabl ufe vgl Stichwort Funktions modellierung vs Prozessmodellierung insbesondere Abschnitt 15 2 7 Ebenen Kapselung Das Element ref erlaubt in einfacher Form die Kapselung und die Bildung von Ebenen 8 Verweise Verkn pfungen Dies k nnte ebenfalls mit dem Element ref realisiert werden wenn die Modellfragmente parallel angeordnet w rden 9 Zeitliche Dimension Eine Erfassung von Zeitaspekten ist nur eingeschr nkt m glich Die se quentielle Abfolge des Nachrichtenverkehrs erfasst allerdings einen f r Ablauffolgen typischen Aspekt 10 Tr ger des gesamten Gesch ftsprozesses Ein solches Konzept ist nicht vorgesehen 11 5 5 Grafische Gestaltung Die grafische Gestaltung ist bei gr eren Projekten umst ndlich v a in zweierlei Hinsicht e Bei der Gestaltung der Operatoren e Bei der Darstellung einer gro eren Anzahl von Partizipanten 11 5 Sequenzen und Unternehmensmodellierung 257 11 5 6 Verkn pfung mit der brigen objektorientierten Theorie
283. idmer vorname Angelika Abbildung 2 4 6 Grafische Darstellung von Objekten Instanzen mit Attributen Gen gt in der Analyses tuation die Angabe der Objektbezeichnung kann auch die folgende Darstellung gew hlt werden Man Abbildung 2 4 7 Grafische Darstellung von Objekten Instanzen nur Objektbezeichnung 2 5 Sichtbarkeit Stark von der objektorientierten Programmierung inspiriert sind die wei teren M glichkeiten Attribute und Methoden zu kennzeichnen und zu 2 5 Sichtbarkeit 25 gruppieren Dabei geht es vor allem um die Sichtbarkeit eines Modell elements im jeweiligen Modell bzw um das Zusammenwirken von Me thoden verschiedener Klassen vgl Kapitel 7 e Mit public werden die Attribute und Methoden bezeichnet die grunds tzlich auch anderen Klassen zur Verf gung stehen e Mit private werden die Attribute und Methoden bezeichnet die nur innerhalb der Klasse genutzt werden k nnen e Mit protected werden die Attribute und Methoden bezeichnet die f r die Klassen s chtbar s nd die n einer Generalisierung vgl Kapitel 6 bergeordnet sind Dazu ein Beispiel aus den UML Texten Die Kursivsetzung der Bezeich abstrakte Klasse nung bedeutet dass es sich um eine abstrakte Klasse eine die keine Window eigenen Instanzen hat n heres hierzu findet sich n Abschnitt 6 7 han delt public size Area 100 100 defaultSize Rectangle protected visibility Boolean true private xWin XWindow
284. ie Beispiele unten Eine einstellige Assoziation wird normalerweise einfach durch eine Einstellig durchgezogene Linie dargestellt die die Klasse mit sich selbst verbindet Auch hier werden zwei Assoziationsbezeichnungen angef gt Assozialions Bezeichnung bezeichnung 1 3 Klasse i Assoziations bezeichnung Abbildung 3 2 3 Grafische Darstellung einer einstelligen Assoziation Die Darstellung mit einer Raute ist ebenfalls m gl ch Mit Raute Bezeichnung Klasse lt gt Bunuupiazeg SUONEIZOSSY Assoziations bezeichnung 2 K a Abbildung 3 2 4 Grafische Darstellung einer einstelligen Assoziation mit Raute Die folgende Abbildung zeigt die grafische Darstellung einer dreistelligen Dreistellig Assoziation Hier wird die Bezeichnung der Assoziation an der Raute angesiedelt Bezeichnung Klasse 2 Bezeichnung Klasse 1 Bezeichnung Bezeichnung Klasse 3 Assoziation Abbildung 3 2 5 Grafische Darstellung einer dreistelligen Assoziation 20118 Bei jeder Klasse sind im konkreten Fall noch Wertigkeiten anzuf gen Vgl hierzu die Ausf hrungen unten Abgeleitet Generalisierungen zwischen Assoziationen Assoziationsende Nicht nur Klassen Vorg nger Datenbanktheorie Assoziationen als Kommunikations pfade Verkn pfung durch Objektidentifizierer 42 3 Assoziationen Au erdem kann durch einen Schr gstrich vor der Assoziationsbe zeichnung di
285. ie Methoden der Klassen sind sogar die m glichen Handlungen fixiert Allerdings konzentriert sich das Ganze auf die Objek te des objektorientierten Modells Wie aber die prozessnahen Beispiele oben zeigen ist dieses Instrument durchaus flexibel Letztendlich kann s ch das Diagramm nicht wehren wenn beliebige Akteure als Objekte niedergeschrieben werden Ein weiteres Element das grunds tzlich Potential f r eine Prozessmo dellierung hat sind die Nachrichten Jede Nachricht e erfordert T tigkeiten zu ihrer Erzeugung und gibt damit einen Hin weis auf die konkreten einzelnen Aktivit ten e ist ein Informationsobjekt was insbesondere die Prozessbeispiele oben sehr deutlich machen e muss transport werden was wieder eine T tigkeit darstellt e l st beim Empf nger T tigkeiten aus 28 Vgl Kapitel 15 f r eine Darstellung von Grundanforderungen an eine Methode zur Prozessmodellierung Nachrichtenverkehr zwischen Objekten f r Systeme Auch f r Gesch ftsprozesse Handelnde und ihr Tun Nachrichten Kontrollfokus Verzweigungen Kontrollfluss Nachricht ohne Kontrollfokus Verweise 252 11 Sequenzen Somit geben Nachrichten deutliche Hinweise auf die Abfolge der T tig keiten auf Informationsobjekte und auf den Transport derselbigen Der oben angef hrten T tigkeit zur Vorbereitung des Nachrichtenver kehrs entspricht der sog Kontrollfokus Indem er das Aktivsein des jewei ligen Objekts darstell
286. ie Nachricht gesetzt Z B also 1 anfrageLagerbestand anzahl 1 1 abz hlenWarengruppe 2 berechnenGesamtsumme 2 1 berechnenPositionssumme anzahl einzelpreis Dieses Konzept erlaubt also die Erfassung von Verschachtelungen ein insgesamt doch sehr d rftiges Kontrollflusskonzept das aber durch die zwei nachfolgenden Elemente Wiederholung Parallelit t etwas erwei tert wird F r die Vorbereitung der Programmierung gibt es aber zumin dest Hinweise 7 5 Nachrichten 103 Syntax der Nachrichtenbezeichnung Insgesamt ergibt sich dann folgender Aufbau f r die Nachrichtenbezeich nung Sequenznummer attr but Nachrichtenbezeichnung Liste Parameter R ckgabewert Soll eine Nachricht wiederholt werden kann dies in der Nachrichtenbe zeichnung ausgedr ckt werden Dazu wird ein Stern nach der Se quenznummer und vor der Nachrichtenbezeichnung eingetragen Ein Beispiel ist die Nachricht bestimmtePos an eine Klasse Rechnungspo sitionen die so oft gesandt wird bis alle Positionen abgearbeitet sind Die wiederholte Ausf hrung kann auch genauer beschrieben werden indem in eckigen Klammern eine Pr zisierung erfolgt z B i 1 n Sogar eine parallele Ausf hrung kann angefordert werden Dazu werden nach dem Stern zwei senkrechte Striche eingef gt vgl OMG 2003b S 447 7 5 4 Grafische Darstellung In der grafischen Darstellung objektorientierter Datenmodelle werden Nachrichten durch Pfeilsymbole z
287. ie anderen bleiben bestehen Das korrespondiert mit dem oben angef hrten Verweis auf den Sy stemgedanken Man stelle sich eine Systemkoponente vor die von mehre ren Aktivit ten benutzt wird z B in einem Geldautomaten eines Parkhau ses die Komponente die Geldscheine erfasst und ihren Wert festh lt Ben tigt wird Sie bei der Eingabe von Geld in den Automaten durch die Mitarbeiter bei der Ausgabe von Geld an abhebende Kunden evtl bei der R ckgabe von Restgeld usw Dann ist durchaus vorstellbar dass eine solche Komponente isoliert abgeschaltet werden soll Die zweite Situation F r unterschiedliche Aufrufe einer Aktivit t sollen Varianten derselben benutzt werden Dann kann durch ein Flussende erreicht werden dass Token unterschiedlicher Aufrufe sich nicht gegenseitig beeintr chtigen OMG 2003a S 298 Hintergrund Bei der Modellierung von Abl ufen hat man oft das Pro blem dass man dieselbe Ablauffolge n leichter Variation ben tigt Die einfache L sung ist die Ablauffolge mehrfach dupliziert einzusetzen Dies f hrt aber zu einer Vermehrung von Modelelementen weshalb man u U die Variation innerhalb eines Modellelements abf ngt 10 7 Aufruf von Aktivit ten 167 Anstatt nun also eine Aktivit t zu duplizieren und jeweils eine be stimmte Variante in einer Aktivit t zu modellieren f ngt man die Varian ten innerhalb der Aktivit t ab Dann kann es sinnvoll sein bestimmte Kontrollfl sse bei einem Du
288. ieren vgl die Beispiele unten Spielt man alle Wertigkei ten der n 1 Klassen durch erh lt man den Rahmen f r die Wertigkeit der n ten Klasse Beispiel Hochschule Das erste Beispiel beschreibt wiederum den Lehrbetrieb an Hochschulen jetzt am Beispiel einer vierstelligen Assoziation Dozenten halten Lehr veranstaltungen f r Studieng nge in bestimmten R umen Grundlage dieses Beispiels ist dass alle vier Klassen existieren dass also alle vier Realweltph nomene als Klassen modelliert wurden Zu beachten ist dass es nicht um Lehrveranstaltungstermine geht son dern um die Lehrveranstaltung als solche bzw als Gegenstand der Studi enordnung Die Wertigkeiten bei den Klassen bedeuten e Ein Dozent oder maximal zwei f hren die Lehrveranstaltung durch e Es geht jeweils um eine Lehrveranstaltung 3 7 N stellige Assoziationen vertieft 51 e blicherweise findet eine Lehrveranstaltung in einem einzelnen Studiengang statt Es k nnen aber auch zwei sein wenn z B Al An gewandte Informatik und WI Wirtschaftsinformatik gemeinsam Mathematik 1 h ren usw e Eine konkrete Lehrveranstaltung findet in genau einem Raum statt Nehmen wir obigen Gedankengang Fixierung von n 1 Enden Betrach Fixieren und tung des n ten Assoziationsendes auf ergibt sich folgendes betrachten e _Fixieren wir Dozenten R ume und Studieng nge auf den jeweils untersten Wert Dann gibt es f r einen Dozenten einen Raum und e nen Studi
289. ierung stark einschr nken Informationen auf Tr gern aller Art In jedem Gesch ftsprozess werden zahlreiche Informationen erzeugt bearbeitet ver ndert gel scht und transportiert und das auf allen m gli chen Tr gern Dies muss in der Prozessmodellierung erfasst werden Die Methode AD leistet dies nur unzureichend Sie hat hierf r kein schl ss ges Konzept Elemente wie Objekt und Objektfl sse durch Objektfluss kanten reichen da nicht aus Auf Umwegen ber das Konstrukt der Objekte ist es dann ein St ck weit m glich Erfasst werden kann der Objektfluss wenn also ein Infor mationsobjekt in der Prozessmodellierung typischerweise ein Gesch fts objekt in der T tigkeitsfolge weitergereicht wird Vermisst wird hier die 10 11 Aktivit ten und Unternehmensmodellierung 197 M glichkeit Informationsverarbeitung und entstehung sauber zu erfas sen Dieses Defizit r hrt sicherlich daher dass in einem Systemumfeld die Frage der Ber cksichtigung aller Arten von benutzter Information nicht so nahe liegt wie in der Prozessmodellierung In der klassischen Pro zessmodellierung muss aus vielerlei Gr nden jegliche Information be trachtet werden die eine Rolle spielt Z B um Defizite in der Informati onsverarbeitung zu entdecken um beispielsweise eine bisher auf Papier erfolgte CAD Archivierung durch eine digitale zu ersetzen vgl Ab schnitt 6 1 in Staud 2006 Bei Systemen ist dies dagegen viel bersichtlicher Di
290. ierung typischerweise nicht so gemacht Dort wird zwischen dem Tr ger oder den Tr gern des Prozesses und den Partnern des Prozesses entschieden Dies ndert sich gerade wenn zum Beispiel integrierte webbasierte Systeme f r die Wertsch pfungsketten mehrerer zusammenarbeitender Unternehmen entwickelt werden bzgl der Kundenkontakte ist es aber meist so wie beschrieben Die Handlun gen des Kunden sind nicht Teil der Unternehmensprozsse Die beiden in der Modellierung mit Ereignisgesteuerten Prozessketten Vgl zu beiden typischen Vorgehensweisen sind in der EPK eingef gt Entweder eine Konzepten Wartefunktion Warten auf Zahlungseingang mit ihren Fortsetzungen Staud 2006 linke Seite als Alternative gekennzeichnet oder ein externes Ereignis Zahlung eingegangen mit seinen Fortsetzungen rechte Seite und der Einbindung durch den UND Operator Das Zusammenf hren der Verzweigungen am Ende des Akt vit tsdia Verzweigungen gramms kann wieder direkt in der EPK abgebildet werden zusammenf hren 25 Au er bei sehr abgehobenen Darstellungen die lediglich der oberfl chlichen ber blicksgewinnung dienen 204 10 Aktivit ten Auftrag abgelehnt Auftrag angenommen Abbildung 10 11 1 Auftragsbearbeitung als Aktivit t vgl Abbildung 10 9 2 Quelle OMG 2003a S 310 Figure 227 leicht ver ndert Ubersetzung durch den Verfasser Die folgende Abbildung zeigt die Ereignisgesteuerte Prozesskette die dieser Akt
291. iff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff 7 Zusammenwirken durch Nachrichtenverkehr Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch nach UML 2 0 angegeben 7 1 Einf hrung Von Anbeg nn an war das Konzept des Nachrichtenaustausches zwischen Objekten Gegenstand der objektorientierten Theorie Botschaften wie sie auch genannt werden wiesen auch schon fast alle Vorg nger der UML auf vgl Stein 1994 S 78 Sie wurden gesehen als Werkzeug zur In terobjektkommunikation ebenda S 179 Mit dem Konzept des Nachrichtenaustausches wird die Ebene der Strukturbeschreibung wie in den obigen Kapiteln vorgestellt verlassen und die der Verhaltensbeschreibung erreicht denn Nachrichten sind Aus druck der Funktionalit t eines objektorientiert entwickelten Systems und die gesamte Funktionalit t beruht auf dem Nachrichtenaustausch Schader und Rundshagen 1994 S 16 Der bergang zu den Verhaltensaspekten f hrt auch dazu dass in diesem Kapitel einige neue Grundbegriffe erl utert werden m ssen Kol laborationen Rollen und Lebenslinien bevor dann der eigentliche Ge genstand Nachrichten Kommunkationsdiagramme vorgestellt werden kann Hintergrund Wie oben gezeigt sind bei den Objektklassen Methoden hinterlegt mit denen die Objekte der jeweiligen Klasse bearbeitet werden k nnen Genauer Verarbeitet werden die Ausp
292. ignal und signal event time event change event oder call event 172 10 Aktivit ten sophie der UML Autoren an dieser Stelle kann wie folgt beschrieben werden e Ereignisse werden durch die Objekte unabh ngig von Aktionen ent deckt e Die Ereignisse werden durch das Objekt gespeichert D h sie u ern sich durch Daten in irgendeiner Form Damit kann dann formuliert werden accept event actions gehen mit Er eignissen um die von dem betroffenen Objekt entdeckt werden OMG 2003a S 217 Es versteht sich dass nur Kontrollkanten zu einer accept event action f hren d rfen Es w re nicht sinnvoll Objekttoken mit hr zu konfrontie ren Wie werden Ereignisse dann bemerkt Z B als Signal und damit als signal event Ist das Ereignis ein solches dann enth lt der Ergebnistoken ein signal object dessen Entgegennahme durch das owning object das Ereignis ausl st F r eine solche Aktion die auf einem signal event beruht nutzen die UML Autoren auch die Bezeichnung accept signal action Ist das Ereignis ein fime event dann enth lt der sich ergebende Token den Zeitpunkt zu dem das Ergebnis eintrat F r die Aktion die darauf beruht nutzen die UML Autoren auch die Bezeichnung wait time action Liegt ein call event oder ein change event vor ist das Ergebnis ein Kontrolltoken Start einer accept event action Falls eine accept event action keine ankommenden Kanten hat startet die Aktion wenn ihre Aktivit t
293. immer detaillierter werdende Prozessmodellierung zum anderen durch den Trend zu vollautomatisierten Gesch ftsprozessen vgl unten sowie Stichwort Automatisierung Beide Entwicklungen verk rzen den Abstand zwischen Prozessmodel lierung und Systemanalyse f r die Anwendungsentwicklung und f hren auch dazu dass die Zusammenh nge zwischen den Gesch ftsprozessen wesentlich intensiver bedacht werden m ssen Ein Prozessmodell wird dann nicht nur die Prozesse mit ihren Verkn pfungen darstellen m ssen sondern alle Aspekte die f r ein komplexes zusammenwirkendes Ganzes notwendig sind vgl hierzu die Zusammenfassung von Kapitel 10 in Abschnitt 10 11 14 2 3 Automatisierung und ihre Folgen Es gibt viele Trends in der Entwicklung der Informationstechnologien die direkt in die Unternehmensmodellierung hineinwirken e Eine immer detailliertere Abbildung von Informationsstrukturen und Gesch ftsprozessen in die Modelle und dann in die Software Vgl Staud 2006 insbes Abschnitt 3 6 f r eine Diskussion dieses Punktes e Die Abwertung der Aufbauorganisation in vielen Unternehmen und damit der Organisationsmodellierung e Die Auslagerung von Teilen der Datenbest nde und Gesch ftsprozesse nach au en jetzt evtl sogar n die Wolke Ein Trend aber schl gt in seiner Bedeutung alle anderen der aktuelle und durchschlagende Trend zur vollkommen automatisierten Abwicklung von Gesch ftsprozessen Dieser Trend wird durch die
294. in auf der rechten Seite Au erdem zeigt es den Zustands bergang von einem Zustand Setup zu zweien Al Bl und von zweien A2 B2 zu einem Cleanup 13 3 Vertiefung 303 Verbindungsknoten Verbindungsknoten Junction vertices sind semantikfreie Knoten die Semantikfreie benutzt werden um mehrere Transitionen zu verketten Sie werden be Verbindungsknoten nutzt um Pfade mit Verbundtransitionen vgl Abschnitt 13 3 8 zwi schen Zust nden zu erstellen Zum Beispiel kann ein Verbindungsknoten benutzt werden um mehre re ankommende Transitionen in eine einzige wegf hrende Transition zusammenzuf hren Umgekehrt k nnen sie auch benutzt werden um eine ankommende Transition in mehrere wegf hrende aufzusplitten die unter schiedliche W chter Bedingungen haben Im letztgenannten Fall sind die wegf hrenden Transitionen deren Eise Bedingung W chter Bedingungen FALSE ergeben abgeschaltet Ein vordefinierter W chter der ELSE genannt wird kann f r h chstens eine wegf hrende Transition definiert werden Diese Transition wird aktiv falls alle anderen W chter der anderen Transitionen nicht g ltig werden Durch Verbindungspunkte wird ein sog statisch bedingter Zweig sta tic conditional branch realisiert Diese unterscheiden sich von dynamisch bedingten Zweigen die durch Auswahlknoten choice vertices realisiert werden Vgl den n chsten Abschnitt Ein Verbindungsknoten wird durch einen kleinen schwarzen Kreis Grafis
295. in zwei Zust nde bergehen Aller dings kann ein UND Operator durch Verschachtelung ausgedr ckt wer den wenn z B ein Zustand mit Regionen angelegt wird vgl Abbildung 13 3 2 Dies f hrt dazu dass die gegen ber Systemen erweiterte L nge eines Gesch ftsprozesses nur durch Verschachtelung erfasst werden kann Typisch f r Gesch ftsprozesse ist aber L nge nicht Tiefe so dass hier insgesamt komplexe Modelle entstehen Dass die UML Autoren dieses Defizit im Kontrollflusskonzept be merkt haben zeigen die Pseudoknoten und ihr Umfeld Verkn pfer Ga belung Doch diese decken das Defizit nicht wirklich Sie wirken k nstlich aufgepfropft da bei ihnen das Grundkonzept Zust nde nicht mehr erkennbar ist Vgl die Beispiele in den Abbildungen 13 5 und 13 6 Man gewinnt an dieser Stelle den Eindruck dass die Methode ZA unter allen Umst nden prozesstauglich gemacht werden sollte Dieses Defizit ist ein starkes Hindernis f r eine nicht triviale Prozess modellierung mit Zustands berg ngen bzw Zustandsautomaten 7 Ebenen Kapselung Ein solches Konzept ist direkt nicht vorgesehen k nnt aber durch die im vorigen Punkt beschriebene vertikale Strukturierung gel st werden Wenn also z B der Zustand selbst sehr abgehoben formuliert wird Angebot erstellen und der Subautomat z B Kalkulation erstellen nur angef hrt aber nicht detailliert beschrieben wird 8 Verweise Verkn pfungen Verw
296. inf hrung 19 Objekte ae Methoden Attribute Abbildung 2 1 2 Dreierbeziehung Objekte Attribute Methoden Die UML Autoren sehen Operationen so dass diese auf einem Objekt nderung von aufgerufen werden und nderungen in den Attributsauspr gungen Wer Attributs te der Attribute des Objekts bewirken k nnen Sie k nnen auch als Uspr gungen hier Ergebnis einen Wert zur ckgeben wenn ein Ergebnis Typ f r die Ope en ration definiert wurde Dar berhinaus kann der Aufruf von Operationen auch Ver nderungen in den Werten anderer Objekte bewirken die di rekt oder indirekt von dem Objekt auf dem die Operation aufgerufen wird angesteuert werden k nnen OMG 2003a S 87 Sie weisen au erdem darauf hin dass durch den Aufruf von Operatio nen auch die Erzeugung und L schung von Objekten veranlasst werden kann Betrachten wir nochmals das oben schon eingef hrte Beispiel der An Beispiel Angestellte gestellten eines Unternehmens Sie existieren wir nehmen sie wahr wir weisen Informationen zu die f r die Gesch ftsprozesse ben tigten z B Personalnummer Name Vorname Postleitzahl PLZ Ort Stra e Einstellungsdatum Geburtstag usw S e ben tigen aber auch Methoden wie Einstellen des Realweltobjekts Erzeugung des Datenbankobjekts Entlassen des Realweltobjekts L schen des Datenbankobjekts Versetzen Bef rdern Gehalt zahlen USW Instanzen Instantiierung f hrt zu
297. inition 313 Host Objekt Definition 116 Identit t vs Gleichheit 33 Include Beziehung Beispiel 278 368 16 Indexierung Definition 277 indirekter Subzustand 298 information hidding 26 Informationstr ger 14 Initialknoten ZA Beispiel 312 Initialknoten in Regionen ZA Beispiel 312 inline Interaktion Definition 249 Inline Interaktionen Beispiel 250 Input Pin 125 Instantiierung 20 Definition 20 Instanz Definition 20 Instanzen 20 Darstellung 23 Instanzmethoden 17 Interaktionen abstraktes Konzept 237 Erl uterung 219 Interaktionsauftreten Beispiel 250 Interaktionsauftreten Beispiel 239 Interaktionsdiagramme 104 Grafische Darstellung 237 Interaktionseinschr nkung 236 Beispiel 232 241 242 250 Definition 230 Interaktionsfragment assert Beispiel 243 Interaktionsoperand Beispiel 242 Definition 230 Interaktionsoperanden Beispiel 232 233 247 Interaktionsoperator alt Beispiel 242 Interaktionsoperator alternatives alt Beispiel 232 233 247 Definition 233 Interaktionsoperator alternatives alt SD 230 bertragung in EPKs 252 Interaktionsoperator assertion assert SD bertragung in EPKs 252 Interaktionsoperator assertion assert SD 230 Interaktionsoperator break Definition 233 Interaktionsoperator break break SD 230 Interaktionsoperator critical Beispiel 235 Interaktionsoperator critical region Definition 234 Interaktionsoperator critical region critical SD 230 Interaktionsoperator ignore
298. inken oberen Eck wird n einem F nfeck das Schl sselwort meist sd f r Sequenzdiagramm der Interaktionsname und die Parameter angegeben Innerhalb des Rechteck folgt die spezifische Notation f r die Untertypen In diesem Kapitel werden Sequenzdiagramme und in Abschnitt 11 4 10 Sequenzdiagramme mit zeitlichen Festlegungen sowie Interakti Grafische Darstellung von Interaktionen Erinnerung Sequenzdiagramme sind Interaktionen Aktuelle Gates f r formale Gates 238 11 Sequenzen ons berblicksdiagramme vorgestellt Kommunikationsdiagramme werden in Abschnitt 7 6 beschrieben 11 4 7 Verweise auf andere Sequenzdiagramme Man stelle sich vor es g be einen Teil einer Interaktion der in mehreren umfangreicheren Interaktionen genutzt werden kann Dann kann er ausge lagert werden und an seiner Stelle kann ein Platzhalter stehen F r dieses Konzept steht in der UML das nteraktionsauftreten interaction occur rence Konkret ist damit in der grafischen Darstellung das Element ge meint das vom bergeordneten Sequenzdiagramm auf das untergeordnete verweist Dies ist eine Standardtechnik in jeder Theorie zur Ablaufmodellierung vgl zum Beispiel die Prozesswegweiser in Ereignisgesteuerten Prozess ketten Die untergeordnete Interaktion kann in verschiedenen bergeordneten mit unter Umst nden ungleichen Anbindungen eingesetzt werden Da diese An oder Einbindung hier durch Gates realisiert wird ist es so dass ein Interakti
299. inschr nkung SD Beispiel 243 Zustandskonfiguration 313 Zustands bergang mit Gabelung Beispiel 302 Zustands bergang mit Verkn pfer Beispiel 302 Zustands bergangsdiagramme Aufbau 287 374 16 Indexierung 16 2 abstrakte Klasse 25 90 Aggregation 75 Aktion mit Vor und Nachbedingungen 123 Aktivit t Auftragsbearbeitung 132 168 Index der Beispiele Flussende 165 181 Gabelung 133 158 168 180 181 186 188 189 191 Gabelung Knoten 166 Gabelung ZA 302 Aktivit tsdiagramm Computerbau 151 Gabelung Verzweigung 166 Aktivit tsende 133 166 168 185 186 188 189 191 Aktivit tskante mit Gewichtung 138 175 Anfangszustand 293 294 296 331 333 Gate SD 229 229 237 248 Generalisierung Spezialisierung 79 80 81 82 87 88 Generalisierung Spezialisierung mehrstufig 87 Gewichtung Aktivit tenkante 160 Anfangszust nde in Regionen ZD 299 Hochschule 50 52 Angestellte 13 Antwortnachrichten SD 222 Anwendungsbereich Angestellte eines Unternehmens 19 Anwendungsfalldiagramm Mahnwesen 279 Assoziation 44 Assoziation beschriftet 54 55 56 70 71 Assoziation dreistellig 54 55 56 70 Assoziation einstellig 71 Assoziation Navigierbarkeit 57 Assoziation vierstellig 50 Assoziation zweistellig 44 54 55 56 70 71 Assoziationsklasse aufgel ste 68 Aufruf einer Aktivit t 183 Aktivit t 185 Ausnahmeanmerkung 150 151 Ausstiegspunkt 293 319 333
300. ion auf der Lebenslinie gegen ber den anderen beh lt Alle beteiligten Le benslinien werden zusammen betrachtet Damit hat jeder Ereigniseintritt und jede Nachricht eine bestimmte Position die beibehalten wird Die senkrechte Dimension die Zeitachse beh lt also ihre G ltigkeit ber das ganze Fragment hinweg und nicht nur f r die einzelne Lebensli nie Negative Der Interaktionsoperator negative neg legt fest dass das Fragment Tra ces repr sentiert die als ung ltig deklariert sind Er ist einstellig Critical Region Der Interaktionsoperator critical region critical kennzeichnet ein ein zelnes Fragment und legt fest dass in diesem die Traces nicht verschach telt sein d rfen 11 4 Vertiefung 235 Das folgende Beispiel veranschaulicht dies am Beispiel von Notrufen Ein 911 call muss bzw musste in den USA unmittelbar weitergegeben werden vor allen anderen Anrufen Die brigen Anrufe k nnen dagegen beliebig entsprechend dem Interaktionsoperator par verarbeitet wer den sd CriticalRegion J P a BEER 00 call 100 GE SEREEEEEEEEEEEEEEEEEEEEEE Abbildung 11 4 5 Sequenzdiagramm mit kombinierten Fragmenten par und critical Quelle OMG 2003a S 411 Figure 332 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Mehrere kombinierte Fragmente Einen Interaktionsoperator par allel mit drei kombinierten Fragmenten Den Interaktions
301. ionsdiagramme essssssssssssssssnnnnnnnnnn 104 Tod Dia oe een 104 7 6 2 Grafische D rstellun8 nennen 105 7 7 Beispiel Rechnunssdr ck u 105 10 1 8 Inhaltsverzeichnis XIII Bedeutung f r die Unternehmensmodellierung 107 MODELLIERUNG VON VERHALTEN UND ABL UFEN 113 8 SEID ee ee 113 82 Ferhalen nana ee 115 8 3 Starke Verkn pfung von Objekten und Verhalten 116 8 4 Executing und Emergent Behavior eeeen 117 8 5 Konstrukte f r die Verhaltensmodellierung 117 8 6 Token eine erste Ann herung uu00000nneeeenennn 118 AKTIONEN 2er ee 121 D u 3 111 u 1 11 41 1 12 SSREREINEREIENTEENEEER aE a E E EE 121 92 1 6 151 2 ssena a 121 9 2 1 Definition UORORERERRERBEENEREREEREEEEESENEEREEULDEESEOERFERERBEREELER 121 9 2 2 Grafische D rstelling aussusussssunsR 122 9 2 3 Aktionen im Kontrollfluss 00e 124 gt en 1 5 11112 ri E E 124 93 41 Pinsan Aktionen ee ee 124 9 3 2 SBILENERAKUON nen 125 9 3 3 Blement raktionen unuunniianniseiiee 125 9 3 4 Aktionen und Variable cceeeeeeeeeeeeeeeeeeeeeeeeene 126 932 Vier innere 127 9 4 Aktionen und Unternehmensmodellierung 127 AKTIVIT TEN unuusneesnensnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 129 KE Eile ee 129 10 2 Eint hrendes Beispiel 131 0 3 AktG EKD einer 133 1031 BRLOHEKDO Teens ses 133 10 22
302. ionsoperatoren mu es Bedingungen ge ben die festlegen wann welches Fragment wirksam wird Vgl z B im ersten Beispiel unten die Ausdr cke x gt 0 und else Diese werden text lich formuliert und nteraktionseinschr nkung interaction constraint genannt Eine Interaktionseinschr nkung ist also ein boolescher Ausdruck der angibt welcher Operand in einem kombinierten Fragment G ltigkeit hat bzw ob ein Operand begangen wird oder nicht Wegen diesem Hinter grund werden in den UML Texten diese booleschen Ausdr cke oft auch 11 4 Vertiefung 231 als W chter guard bezeichnet hnlich wie bei den Aktivit tsdiagram men Die Darstellung im Modell erfolgt in textlicher Form in eckigen Klam mern auf der Lebenslinie dort wo der erste Ereigniseintritt des Fragments vorkommt Es versteht sich dass in die Bestimmung der Semantik nur Interakti onsoperanden miteinbezogen werden deren Interaktionseinschr nkungen wahr sind Ist kein W chter da wird dies gleichgesetzt mit einem W chter dessen Bedingungen erf llt sind Grafische Darstellung von kombinierten Fragmenten F r die grafische Darstellung dieser Fragmente wird der gesamte dem Interaktionsoperator unterworfene Bereich mithilfe eines Rechtecks um randet Ist der Operator mehrstellig wird dieses Rechteck mit einer horizonta len gestrichelten Linie unterteilt oder mit mehreren womit die kombi nierten Fragmente entstehen Jeder durch die Unterteilung
303. ispiel 150 151 Objektknoten mit einer oberen Grenze Grafische Darstellung 135 Objektknoten mit Signalcharakter 370 16 Indexierung Grafische Darstellung 135 Objektknoten mit Sortierung Grafische Darstellung 135 Objektknoten mit Zust nden Grafische Darstellung 135 Objektknoten vom Typ Signal Beispiel 160 Objektknoten Pins 141 Objektmodell 16 60 Definition 7 Objektmodell Angestellte 49 objektorientierte Theorie Entwicklungsstand 6 Objektorientierung 6 Objektspezifizierung Beispiel 147 Objekttoken 119 Objektzustand Grafische Darstellung 134 Oder Operator 198 Definition 362 OID 33 ooERP VI 110 Operationen Definition 18 Definition in der UML 19 Schreibweise 22 Operationsaufruf 101 option opt Definition 233 orthogonale Regionen ZA Beispiel 302 Output Pin 125 Grafische Darstellung 125 action execution 175 owning object 172 Parameterknoten 133 Parameterknoten f r Input Beispiel 137 Parameterknoten f r Output Beispiel 137 Parameterknoten mit streaming Beispiel 151 Pin Beispiel 147 150 Definition 124 141 Pin input Beispiel 143 Pin output Beispiel 143 Pins ohne Kanten 144 Beispiel 144 private Definition 25 protected Definition 25 Protokoll Definition 94 Protokolltransition Definition 323 Protokollzustandsautomat Beispiel 326 Definition 286 Prozessmodellierung vs Systemanalyse 253 public Definition 25 Realweltph nomene Definition 11 ref 256 Regionen ZD Beispiel 299 Regionen ei
304. ispiel St ckliste Nicht nur eine Assoziation 48 3 Assoziationen A z 2 S ist untergeben Abbildung 3 5 7 Einstellige Rekursive Assoziation zu Angestellten Das bekannte Beispiel einer St ckliste kann auch hier zur weiteren Ver anschaulichung einer rekursiven Definition einer Objektklasse benutzt werden Geht es um die zwei Beziehungen Teil von und Obermenge von kann eine St ckliste so wie in der n chsten Abbildung grafisch dargestellt und entsprechend modelliert werden Bis auf ein Teil das oberste ist jedes Teil von genau einem ande ren woraus sich die Wertigkeit 0 1 konditionell einfach f r diese Richtung ergibt Sollte es Teile geben die in mehreren enthalten sind m sste die Wertigkeit ver ndert werden Umgekehrt kann jedes Teil Obermenge von vielen anderen Teilen sein muss aber nicht die untersten woraus sich die konditionell mehrfache Assoziation in diese Richtung ergibt vgl auch Meier und W st 1997 S 25f Abbildung 3 5 8 St ckliste als einstellige reflexive Assoziation Der Sachverhalt St ckliste kann mit mehr Aussagekraft auch als Ag gregation modelliert werden Vgl Kapitel 5 insbesondere Abbildung 5 2 2 3 6 Rollen Die Objekte einer Klasse k nnen an mehreren Assoziationen teilhaben So k nnten z B die Angestellten zum einen als PC Nutzer fungieren wie im obigen Beispiel zum anderen aber auch als
305. it tskanten dazu Abbildung 10 6 9 Gabelung mit Aktivit tskanten Beispiel Im folgenden Beispiel wird zuerst die Aktion Auftrag ausf hren ausge l st Diese startet dann zwei Aktionen Auftrag versenden und Rechnung senden Auftra versenden Auftrag ausf hren 3 Rechnung senden Abbildung 10 6 10 Beispiel f r den Einsatz einer Gabelung 10 6 Kontrollknoten 159 Der Tokenfluss Die Token kommen ber die hinf hrende Kante bei dem Knoten an Sie werden dann allen wegf hrenden Kanten angeboten Wenn das Token von allen diesen akzeptiert wurde werden sie vervielf ltigt und jeweils eine Kopie geht weiter zu einer Kante Auch bei diesem Knoten sind auf den wegf hrenden Kanten W chter m glich Falls dies so ist f hren die UML Autoren aus muss der Model lierer sicherstellen dass keine Vereinigungen weiter vorne im Fluss downstream joins von den Token abh ngen die durch die kontrollierte Kante kommen Falls dies nicht vermieden werden kann sollte ein Ent scheidungsknoten eingef hrt werden der f r den Fall dass der W chter den einzigen Kantenfluss zum Vereinigungs Knoten blockiert den Token flussabw rts f hrt Abbildung 10 10 1 Fehlerbehandlung zeigt ein Beispiel Vgl auch die Ausf hrungen dort 10 6 4 Vereinigung Eine Vereinigung join node repr sentiert eine UND Verkn pfung bzgl der hinf hrenden Kanten d h alle hinf hrenden Kanten m ssen akt v werden nur dann
306. it tsknotens m ssen ihre Quell und Zielknoten innerhalb des strukturierten Aktivit tsknotens haben e Kein Unterknoten des strukturierten Knotens darf mit der Ausf h rung beginnen bevor der Knoten selbst einen Kontrolltoken ver braucht hat e Ein Kontrollfluss von einem strukturierten Aktivit tsknoten weg bedeutet Ein Token wird nur dann produziert wenn keine Token in dem Knoten oder in denen die er rekursiv enth lt mehr brig sind Zugriff Au erdem gilt dass auf einen Objektknoten der in einem strukturierten Aktivit tsknoten enthalten ist nur innerhalb des Knotens zugegriffen werden kann Es gelten dieselben Regeln wie f r Kontrollfl sse Ein Input Pin auf einem strukturierten Aktivit tsknoten bedeutet dass im Knoten keine Aktion mit der Ausf hrung beginnen darf bis alle Input Pins Token erhalten haben Ein Output Pin auf einem strukturierten Akti vit tsknoten macht erst dann Token nach au en verf gbar wenn keine Token in ihm und in den Knoten die er rekursiv enth lt zur ckbleiben Verschachtelung Ebenen Insgesamt entstehen so z B drei Ebenen bei der Beschreibung von Abl u fen Aktionen strukturierte Akt vit tsknoten und Aktivit ten Aktionen sind die Elementarbestandteile strukturierte Aktivit tsknoten die erste Gruppierung von s nnvoll miteinander agierenden Aktionen die erste Aggregation Aktivit ten dann die Gesamtheit die zweite Aggregation Die UML Autoren sprechen hier auch von ver
307. ivi t t genannt do activity Sie wird ausgef hrt w hrend der Zustandsau tomat im jeweiligen Zustand ist und startet wenn der Zustand eintritt nach der Anfangsaktivit t Falls die Aktivit t fertig wird w hrend der Zustand noch aktiv ist f hrt dies zu einem Abschlussereignis completion event F r den Fall dass es eine nach au en f hrende abschlie ende Transition gibt wird der Zustand dann verlassen 13 3 Vertiefung 313 Hierarchischer Zustandsautomat In einem hierarchischen Zustandsautomaten hierarchical state machine kann mehr als ein Zustand zu einem Zeitpunkt aktiv sein Dabei gilt Ist der Zustandsautomat in einem einfachen Zustand der in einem zusam mengesetzten Zustand enthalten ist dann sind alle zusammengesetzten Zust nde die entweder direkt oder transitiv den einfachen Zustand ent halten ebenfalls aktiv Dar berhinaus gilt da der Zustandsautomat als Ganzes und einige sei ner zusammengesetzten Zust nde n dieser Hierarchie orthogonal sein k nnen d h Regionen enthalten dass der aktuelle aktive Zustand durch eine Menge von Zustandsb umen repr sentiert wird beginnend mit den obersten Zust nden der Wurzel Regionen runter zu den individuel len einfachen Zust nden auf den Bl ttern Ein solcher Zustandsbaum wird als Zustandskonfiguration state configuaration bezeichnet Au er be der Ausf hrung eines Zustands berganges gelten folgende Invarianten immer f r Zustandskonfigu
308. ivit t entspricht 10 11 Aktivit ten und Unternehmensmodellierung 205 Aufl eingeirolen Auftrags Auffrags eingang i been OR einga vira Gaii Aufrags Machbarkeis ii A bearbeiiung Anmerkungen Gesirichelt Allermainsen Informationzobgekt ohne ne Pieisp ze Transportworgang Rechnung Zahlung akreplieren Zahlung I j i akzeptieri i Zahlungseingang Zub A angegangen f OO KW m un una aasassnnna mE Aunrag schlie en Auf geschlossen Abbildung 10 11 2 Auftragsbearbeitung als Ereignisgesteuerte Prozesskette Aktion zu Funktion EPK Entscheidung als Funktion R cksprung 206 10 Aktivit ten Komponentenverarbeitung Auch eine Aktivit t mit Schleifen Akt vit ts und Flussenden und einer insgesamt eigenwilligen Architektur vgl Abschnitt 10 6 6 l sst sich n eine EPK abbilden keine weiteren Komponenten ZU installieren weitere Komponenten zu installieren keine wenenen Komponenten weitere Komponenten zu bauen zu bauen Abbildung 10 11 3 Fragment Komponentenverarbeitung als Aktivit tsdiagramm Quelle OMG 2003a S 332 Figure 251 bersetzung durch den Verfasser Die Aktion Stelle Komponente her wird zu einer entsprechenden Funkti on Die R ckschleife wird n der EPK durch einen XODER Operator vor der Funktion modelliert vgl zu R ckschleifen in EPKs Staud 2006 Abschnitt 5 1 Das Ansto en der
309. ject node pin Objektknoten Pin Pin output pin Output Pin Schwimmbahn Signaltoken Startknoten Strukturierter Aktivit tsknoten Tokenfluss Vereinigung nach Booch Rumbaugh JoinNode und Jacobson 2006 Verhaltenseigenschaft connector Veerzweigung nach Booch Rum decision node baugh und Jacobson 2006 W chter guard guard condition wiederholtes Zeitereignis repetitive time event Zusammenf hrung merge node Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff Begriffe ohne bersetzung wurden auch im Text in englischer Sprache verwendet 11 Sequenzen Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch nach UML 2 0 angegeben In diesem Kapitel wird die Kurzbezeichnung Methode SD f r alle Theo rieelemente zur Erfassung und Darstellung von Sequenzen eingef hrt 11 1 Einf hrung F r die UML Autoren sind die in diesem Abschnitt vorgestellten Interak tionen zu denen die Sequenzen geh ren partiell geordnete Ereignisfol gen partially ordered sequences of events OMG 2003a S 370 Sequenzen als Interaktionen Die Sequenzen geh ren zur Gruppe der Interaktionen Alle Interaktionen beschreiben Aktivit ten im Rahmen einer Aufgabenerf llung und insbe sondere den daf r notwendigen Nachrichtenverkehr Folgende werden von den UML Autoren angef hrt e Sequenzen mit Sequenzdiagrammen Sie st
310. klung der Prozessmodellierung einen Integrationsbeitrag leistet sie aber nicht Weder zum Strukturteil objektorientiertes Modell Klassen diagramm noch zu den brigen Elementen der objektorientierten Theo rie Die einzige denkbare Verkn pfung ist die dass Aktionen Methoden einer Klasse sind oder Aktivit ten durch Methoden aufgerufen werden Das ist schon berraschend Vielleicht dr cken aber auch die Aktivi t tsdiagramme nur den Wunsch der UML Autoren aus st rker das Pro zessgeschehen im Theoriegeb ude zu ber cksichtigen 10 11 7 Vergleich der beiden Methoden AD und EPK Vergleicht man die beiden Methoden wird schnell deutlich dass die Modelle auf einer mittleren methodischen Ebene beinahe problemlos ineinander berf hrt werden k nnen Schwieriger wird es methodisch oder in der grafischen Darstellung wenn die Prozessbeschreibung tiefer geht e wenn zum Beispiel die EPK zahlreiche detaillierte Verzweigungen enth lt mit oder ohne den nicht exklusiven ODER Operator e wenn in die EPK zahlreiche Organisationseinheiten eingebaut sind e wenn zum Beispiel in einem Aktivit tsdiagramm Konzepte wie Ne benl ufigkeit streaming unabh ngige Startknoten d h solche die Richtung Gesamtsicht zielen vgl oben umgesetzt sind Im folgenden nun einige Ergebnisse des Methodenvergleichs auf dieser Ebene Anschlie end folgen einige direkte Vergleiche von EPKs und Wirkliche Gesch ftsprozesse Aufgepfropft
311. l in Anlehnung an das ob jektorientierte Modell ANGESTELLTE Vgl Abschnitt 2 4 2 f r die grafi sche Darstellung von Objekten Es ist tats chlich ein Schnappschuss z B n einer Anwendung die Projektmitarbeit abfragt Ausgedr ckt ist dass der Angestellte Paul Maier m Projekt bpr Bu siness Process Reengineering mitwirkt und dass er den PC 41723 nutzt bez bpr standart ravensburg tagEinrichtung 30 01 2009 tel maier Ang A1723 PC persNr 1007 er rn gt Dame Make Abbildung 3 11 1 Objektdiagramm zum Klassendiagramm ANGESTELLTE 3 12 Beitrag zur Unternehmensmodellierung Assoziationen erg nzen das in Kapitel 2 vorgestellte Grundinstrumentari um vgl die Zusammenfassung in Abschnitt 2 9 Erst durch die damit m gliche semantische Verkn pfung bzw durch die damit erm glichte Erg nzung von Semantik gewinnen objektorientierte Modelle die F hig keit Informationsstrukturen angemessen zu erfassen Wegen diesem erg nzenden Charakter lohnt sich eine weitergehende Betrachtung der Tauglichkeit f r die Unternehmensmodellierung hier nicht Vgl dazu die Diskussion zum gesamten Strukturteil in Abschnitt 7 8 3 12 Beitrag zur Unternehmensmodellierung 61 Verwendete Fachbegriffe in Kapitel 3 recursive association Kann Assoziationen Muss Assoziationen SSS Role _ re SY Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UM
312. le mente quas untereinander angeordnet sind und die ein Element ganz oben ben tigt oftmals hier Wurzel root genannt in diesem Bild w re die Spitze aber dann unten Dieses ganz oben angesiedelte Element ist im Theoriegeb ude der UML der sog Classifier Von ihm sind also die meisten anderen Theorieelemente abgeleitet was nat rlich zu Folge hat dass er sehr abstrakt definiert sein muss Er ist eine sog abstrakte Metaklassse Meta bedeutet hier berge ordnet konzeptionell ber anderen Klassen angesiedelt abstrakte Klas sen werden unten vgl Abschnitt 6 7 ausf hrlich vorgestellt hier soll folgendes gen gen Abstrakte Klassen haben keine Objekte Instanzen In der Sprache der UML Sie k nnen nicht instanziieren Rumbaugh Jacobson und Booch 2005 S 129 Die UML Autoren definieren nun einen Classifier als eine Sammlung von Instanzen die sich hnlich sind A collection of instances that have something in common A classifier can have features that characterize its instances Classifiers include interfaces classes datatypes and com ponents OMG 2003a S 6 8 Vgl zur Metamodellierung der UML WebZumBuch UM03 2 8 Vertiefung 35 Damit gewinnt die Definition Konturen Interfaces Klassen Datentypen und Komponenten sind Informationstr ger und sie werden klassifiziert nach bestimmten ihrer Eigenschaften Das Ergebnis dieser Klassifikation sind die Classifier Im Deutschen steht daf
313. leich eingehender Zahlungen mit den offenen Posten und ist ein realit tsnahes System Beispiel bei dem auch die Aufgabe der Vorbereitung der Programmierung deutlich zu erkennen ist Interaktionsoperator assert Zustandseinschr nk ungen Verschachtelte Fragmente Client ze id Zahlungseingangs schl ssel Aufruf der eigenen Methoden Zahlung in Ordnung Verbuchen und Transkationen bereinigen R cklastschrift berweisung wurde zur ckgeholt Zahlung ung ltig 244 11 Sequenzen Hier wurde bewusst eine Verzweigung eingef gt um deren Realisie rung im Kontext der Sequenzdiagramme nochmals zu zeigen Dies soll auch deutlich machen dass eine breiterer Bedarf an Verzweigungen gra fisch kaum zu schultern w re Wir wollen wieder annehmen dass ein Programm bzw eine Methode einer Klasse der Client vgl hierzu Abschnitt 11 3 1 die Steuerung ber nimmt sozusagen also den Kontrollfluss realisiert Der Client fordert Zahlungseing nge auf evtl neue Zahlungseing nge zu melden einen nach dem anderen Zur ckgemeldet wird ein Schl ssel des Zahlungseingangs Mit der Nachricht dem Methodenaufruf doZahlungsabgleich wird dann die Bearbeitung des jeweiligen Zahlungseingangs begonnen Nach einander werden der Datensatz und der Buchungstext gelesen Danach erfolgt der Abgleich mit den Rechnungen Dies leistet die Methode ab gleichRechnungen mit den Parametern Rechnungsnummer r_nr Kun denschl ssel k_id
314. leifenkonstrukte oder durch entsprechende Beschriftung von Funktionen L sungen denkbar sind Allerdings keine die organisch in das Gesamtkonzept passen 10 11 Aktivit ten und Unternehmensmodellierung 201 Die Join Spezifikation bei der eine Vereinigung mit einer Festlegung Join Spezifikation pr zisiert wird vgl die Abbildungen 10 7 14 und 10 7 15 st problem los in die Struktur Funktion Ergebnisereignisse abbildbar als Bedin gung daf r dass der verkn pfende UND Operator berwunden werden kann In einigen Beispielen die auch wiederholt thematisiert werden wird Innere Schleife deutlich dass sich die UML Autoren ein Weiteragieren einzelner Aktio nen trotz Abbruchs an anderer Stelle durch ein Flussende vorstellen Vgl dazu die Ausf hrungen am Ende von Abschnitt 10 10 3 und die Abbildung 10 7 19 Hier bleibt die Aktion Baue Komponente ein aktiv auch wenn keine weiteren Komponenten herzustellen sind Dies ist gegen ber dem Grundkonzept eine deutliche Erweiterung der Systemorientierung M glichkeiten zur Ablaufbeschreibung vgl die Ausf hrungen zum Stichwort Gesamtsicht Grunds tzlich auch eine sinnvolle insbesondere wenn man an Systemanalyse und Programmrealisierung denkt denn hier gibt es tats chlich viele Komponenten die aktiv sein m ssen obwohl Teile des Systems nicht mehr aktiv sind In Ereignisgesteuerten Prozessketten ist zumindest dieses Aktivbleiben recht einfach durch Schleifen nachbildbar In der
315. ler Datenbanken die Beschreibung der Prozesse durch nicht objektorientierte Methoden meist durch Ereignisgesteuerte Prozessketten EPKs usw Alle gro en kommerziellen L sungen als ERP Software Branchensoftware sind heute so geplant und realisiert Die folgende Abbildung m chte diese klassische Variante andeuten Anwendungsbereich z B das gesamte Unternehmen Wertsch pfungsketten WSK Entity Relationship Modelle ERM auf mehreren Ebenen Prozessmodell mit aggregierten Ereignisgesteuerten Prozessketten V Prozessmodell mit Basis EPKs Relationales Datenmodell RM Abbildung 1 1 1 Elemente einer klassischen Unternehmensmodellierung In der Praxis erf hrt dieses Konzept nat rlich Varianten So z B bei der SAP dem Unternehmen mit der ausgefeiltesten Unternehmensmodellie rung Die nachfolgende Abbildung stellt die wesentlichen Aspekte dar Lesehinweis zu dieser und den n chsten Abbildungen Die Ele mente sind in der Regel Modelle entweder aus dem Struktur oder dem Verhaltensbereich Die Pfeile deuten die einzelnen zu gehenden Schritte an 1 1 Unternehmensmodellierung 3 Anwendungsbereich z B das gesamte Unternehmen Wertsch pfungsketten WSK Business Objekte SAP SERM Szenarien Relationales Datenmodell Prozessmodell mit RM Basis EPKs Abbildung 1 1 2 Elemente einer klassischen Unternehmensmodellierung am Beispiel SAP Eine konsequent objektorientierte
316. lierter bei Horn Kerner und Forbrig 2001 S 409 in Bezug auf das Beispiel C Der Eingabestrom wird in Abschnitte Lexeme zerlegt Dabei gibt es Lexeme die herausgefiltert werden weil sie syntaktisch keine Bedeutung haben wie z B Kommentare und solche die zusammen mit einigen Zusatzinformationen an die syntaktische Analyse weitergegeben werden Die se werden auch Token genannt Die syntaktische Analyse erzeugt einen Tokenstrom der dem Parser bergeben wird der die eigentliche syntaktische Analyse vornimmt In der Sprechweise der formalen Sprachen sind die Token in der Literatur auch Morpheme genannt die Terminalsymbo le f r den Parser Typische Token sind Wortsymbole Schl sselw rter reservierte W rter Klammern Operato ren Literale Zahlw rter Zeichenketten und Bezeichner Namen f r Konstanten Variablen und Funktionen Dasselbe meinen Gumm und Sommer 1998 S 542 wenn sie Token als elementare Bestandteile eines Programmes definieren Zusammengefasst kann damit festgehalten werden dass in der Informatik Token kleinste interpretierbare Einheiten einer formalen Sprache sind Die UML Autoren erl utern bei der Beschreibung der Semantik von Ak tivit ten was sie unter einem Token verstehen alle nachfolgenden Zitate stammen von OMG 2003a S 286 und sind vom Verfasser bersetzt Ein Token enth lt ein Objekt einzelne Daten oder Kontroll information Entsprechend ist di
317. lisiert wird Wie wird es getan Insofern wird bei der Modellierung von Gesch ftsprozessen zwischen Funktions und Prozess modellierung unterschieden Dies sollte nicht verwechselt werden mit der Zusammenfas sung von T tigkeiten f r abgehobenere Prozessbeschreibungen N heres hierzu in Abschnitt 15 2 Organisationseinheiten bzw Tr ger der Aktionen Die Erfassung der Organisationseinheiten bzw Tr ger der Aktionen ist nicht berzeugend Weder sind mehrere Tr ger bei einer Aktion vorgesehen noch Beziehungen zwischen diesen Auch die grafische Einbindung ist untauglich vgl unten Systemdenken vs Prozessdenken Systemorientierung Keine Informations verarbeitung Funktions modellierung vs Prozess modellierung Keine komplexen Tr gerstrukturen Nur positive Ergebnisse Komfort Unzureichend Tr ger der Aktion 198 10 Aktivit ten Trennung von T tigkeit und Ereignissen Es liegt wohl daran dass die Ereignisse erst als Bestandteile der Aktionen thematisiert werden und nicht auf derselben Ebene wie die Aktionen dass sie in der praktischen Modellierung nicht so richtig deutlich werden Die ser Punkt stellt insofern nicht so sehr ein Defizit der Theorie dar gibt aber doch einen Hinweis auf einen Schwachpunkt Wie u ert sich dieses Defizit Wie oben schon ausgef hrt sind in den praktischen Beispielen oftmals Aktion und positives Ergebnisereignis unausgesprochen zusammengefasst Es gibt
318. lisierungen berdeckung ergibt s ch daraus ob die Subklassen insgesamt alle Objekte der Super klasse abdecken oder nicht Nehmen wir die im n chsten Abschnitt vor gestellte Superklasse Fahrzeuge mit ihren Subklassen PKW LKW Bus se und Kettenfahrzeuge dann decken die Spezialisierungen nicht alle 84 6 Generalisierung Spezialisierung m glichen Fahrzeuge ab z B fehlen die Bagger weshalb es sich um eine unvollst ndige berdeckung handelt Insgesamt k nnen folgende Subklassenvarianten unterschieden wer den Disjunkte Subklassen Vollst ndige berdeckung Disjunkte Subklassen Unvollst ndige berdeckung berlappende Subklassen Vollst ndige berdeckung berlappende Subklassen Unvollst ndige berdeckung disjunkt und Ein Beispiel f r die erste Variante ist die obige Einteilung der Hochschul vollst ndig besch ftigten n Teilzeit und Vollzeitbesch ftigte Diese Subklassen stellen auch eine vollst ndige berdeckung dar Die folgende Abbildung dr ckt dies grafisch aus Superklasse i e i klassei eig klasse3 I Sub klasse ee Abbildung 6 4 2 Disjunkte Subklassen und vollst ndige Uberdeckung der Superklasse durch die Subklassen in einer Generalisierung Spezialisierung disjunkt nicht Sehr oft liegt auch die zweite Variante vor die Subklassen sind disjunkt vollst ndig umfassen aber nicht alle Objekte der Superklasse Ein Beispiel wiederum in Bezug auf den Anwendung
319. llinien die versendeten Nachrichten an Diese sind von oben nach unten in zeitlicher Reihenfolge angeordnet Die absolute Distanz ist aber ohne Bedeutung d h es gibt keine Zeitmetrik e Zu einem Sequenzdiagramm geh rt eine Umrahmung mit einer Be zeichnung links oben innerhalb des Rahmens mit dem Schl sselwort sd Die vertikale Achse stellt somit eine Zeitachse dar w hrend in der hori zontalen die Objekte angeordnet sind Insgesamt modelliert ein Sequenzdiagramm einen Ablauf eher einen k rzeren als einen l ngeren wegen der bersichtlichkeit die bei l ngeren leicht verloren ginge ber den Nachrichtenaustausch zwischen Objekten 11 3 Einf hrende Beispiele 221 Die Nachrichten verweisen auf bzw nutzen die bei den Objektklassen hinterlegten Methoden Das Konzept ist damit im Herzen des objektorientierten Ansatzes an gesiedelt mehr als die oben besprochenen Aktivit ten Denn das Mitein ander durch gegenseitigen Methodenaufruf st von zentraler Bedeutung f r die Aufgabenerledigung in der objektorientierten Theorie 11 3 _ Einf hrende Beispiele Auch hier sollen die Beispiele die an Systeme erinnern Systembeispiele genannt werden und die die eher Gesch ftsprozesse beschreiben Pro zessbeispiele 11 3 1 Systembeispiel Mahnwesen Anmerkung Der Gesch ftsprozess MAHNWESEN ist in WebZum Buch_UMO1 beschrieben und auch als Ereignisgesteuerte Pro zesskette EPK modelliert Au erdem findet sich dort eine
320. lun akzeptieren lt lt attribute gt gt performingDept Department senden 9 Finan lt lt exiermal gt gt Zahlung durchf hren K i Abbildung 10 8 1 Aktivit t Auftragsbearbeitung mit Schwimmbahnen Quelle OMG 2003a S 310 Figure 226 leicht ver ndert bersetzung durch den Verfasser Die obige Aktivit t Auftragsbearbeitung mit Schwimmbahnen enth lt folgende Komponen ten Eine Zuweisung von Organisationseinheiten durch Schwimmbahnen Eine Verzweigung Eine Vereinigung Eine Gabelung Eine Zusammenf hrung Einen Startknoten Einen Schlussknoten Aktivit tsende Au erdem ein Objekt im Kontrollfluss 10 3 Aktivit ten aufteilen Tr ger zuordnen 169 Dabei wird die gesamte Aktivit t in Bahnen aufgeteilt in denen sich Tr ger in Bahnen jeweils die Aktionen eines Tr gers befinden Im obigen Beispiel ist die oberste Bahn der Abteilung Auftragsbearbeitung zugeordnet Entspre chend sind in ihr die Aktionen Auftragseingang Auftrag ausf hren Liefe rung und Auftrag schlie en angesiedelt Die zweite Bahn enth lt die Aktionen die durch das Finanzwesen rea lisiert werden die dritte die vom Kunden realisierte Aktion Das ist hier nat rlich der Zahlvorgang Der Objektknoten der ja jetzt nicht nur eine Wanderung von einer Aktion zur n chsten signalisiert sondern auch den Wechsel der Bahn wird auf die Grenzlinie gesetzt Die L sung mit Schwimmbahnen nutzen viele Ans tze z
321. lung von Objektklassen mit Attributen Erg nzt man zus tzlich die Methoden Operationen wird ein weiterer Bereich mit der Auflistung der Operationen unten angef gt Die Opera tionen werden textlich wie die Attribute gestaltet zus tzlich werden die Funktionsklammern mit oder ohne Parameter angegeben Beispiele zahlenGehalt einstellen entlassen 2 4 Grafische und textliche Darstellung 23 Klassenattribute und methoden werden genauso dargestellt und zu s tzlich unterstrichen Mit obigen Klassenattributen und methoden ergibt s ch damit die Klasse Angestellte wie in der folgenden Abbildung einstellen entlassen versetzen befoerdem Abbildung 2 4 3 Grafische Darstellung von Objektklassen mit Attributen Methoden Klassenattributen und Klassenmethoden Zus tzlich ist es m glich Voreinstellungen bei den Attributen anzugeben Voreinstellungen Dies erfolgt nach der Festlegung des Datentyps Z B wenn in der obigen Klasse die meisten Angestellten aus Ravensburg kommen so ort string Ravensburg plz string D 88212 Vgl weitere Beispiele mit Datentypen die aus der Anwendung heraus entstanden sind Area Rectangle XWindow im folgenden Abschnitt 2 4 2 Instanzen bzw Objekte Instanzen Objekte werden ebenfalls als Rechtecke dargestellt Die Be zeichnung einer Instanz ist wie folgt aufgebaut Objektbezeichnung Klassenbezeichnung Ein Beispiel f r ein Objekt aus der Klasse
322. m methodisch inter Schluss der essant Die Aktivit t kommt zu einem Ende wenn entweder der Part Aktivit t ModWorkflow ausgef hrt und die Produktionsanfrage akzeptiert wurde oder wenn die Produktionsanfrage abgelehnt wurde Dies wird mit Hilfe einer Verzweigung und einer Gabelung modelliert Das eine ist der positive das andere der negative Schluss der Aktivit t Wie oben schon ausgef hrt sind die m glichen Beendigungen dieser Aktivit t in der bergeordneten Aktivit t zu den zwei Ergebnissen Teil beschafft und else zusammengefasst Teil Standard gefunden Teil Teilesuche verwenden Teil nicht gefunden Beschaffungs un a ingenieur Teil er An Abbildung 10 10 4 Aktivit t Teiledesign Quelle Leicht ver ndert nach OMG 2003a S 291 Figure 204 bersetzung durch den Verfasser Teiledesign Teillebedarf Design Ingenieur else Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Ein Aktivit tsende Einen Startknoten Aufruf einer Aktivit t Zwei Verzweigungen Au erdem eine Zuordnung von Personen Entscheidung nach Entscheidung 186 10 Aktivit ten Teilebeschaffung Experten teilesuche Beschaffungs Design Teil ingenieur ingenieur gefunden Genehmi Teil nicht gung Anfor gefunden stream a derungen Zuweisung an Pr fung y Festlegung F F Planun Pr fung Anforde PartMod 2 PartMod Arbets plan Beschaffung
323. ment Es geht wohl auch um den Wunsch ein zelne Anwendungsf lle n her zu beschreiben Auf jeden Fall aber sind die Grundlage von Kollaborationen Teile die zusammenarbeiten in UML Sprache Teile eines Classifier und andere Elemente die diese verkn pfen Im Standardfall also Klassen und Asso ziationen Auch bei diesem Konzept denken die UML Autoren in erster Linie an Systeme Its primary purpose is to explain how a system works ebenda Aber dies ist ja nicht berraschend sondern im gr ten Teil der UML Texte so Kollaborationen haben nur eine eingeschr nkte Aussagekraft Will man genauer wissen wie das Zusammenspiel und der daf r notwendige Nachrichtenverkehr erfolgt dann sind Kommunikations oder Sequenz diagramme besser geeignet Booch et al weisen noch darauf hin dass es auch eine Beziehung zwi schen Kollaborationen gibt Verfeinern Booch Rumbaugh und Jacobson 7 3 Rollen 97 2006 S 431f Dabei wird in der verfeinerten Kollaboration ein Teil des Verhaltens der anderen erfasst 7 2 2 Grafische Darstellung Eine Kollaboration wird als Ellipse mit gestrichelter Linie dargestellt In der Ellipse wird die Bezeichnung der Kollaboration vermerkt ak E jun Tease El nn Pr f Bezeichnung ii der Kollaboration j nenn Abbildung 7 2 1 Grafische Darstellung einer Kollaboration Die interne Struktur der Kollaboration Rollen und Konnektoren kann ebenfalls n der Ellipse angegeben werde
324. mentare T tigkeiten Sind in der Methode SD vorgesehen Aber nur e als Nachrichtenverkehr Methodenaufruf e als Vorbereitung des Nachrichtenversands e als Antwort auf eine Nachricht Wobei die Nachrichten die Methoden der beteiligten Klassen widerspie geln Die T tigkeiten der Kontrollfokusse m ssen in anderen Bereichen der Programmierung gesucht werden Bei Systemen insbesondere Softwaresystemen ist mehr auch nicht n tig Hier sind die handelnden Einheiten sehr weit heruntergebrochen bis auf die f r die Programmierung taugliche Ebene In Prozessen gibt es dagegen durchaus Situationen wo die n chste T tigkeit einfach nur ange sto en wird durch die Erledigung der vorigen 2 Tr ger der T tigkeiten Auch dieses Theorieelement ist vorhanden allerdings auch wieder in eingeschr nkter Form Vorhanden sind Objekte die Basis der Lebenslinien sind d h meist deren Klassen mit ihren Methoden Andere Tr ger von Aktivit ten aber nicht 3 Informationen auf Tr gern aller Art Informationen erscheinen hier bei den Parametern der Nachrichten Ansonsten nicht Die Informationsverarbeitung wird hier auf Programmebene betrachtet Etwas mehr schimmert in den Grobmodellierungen auf wie auch hier in den Prozessbeispielen Ein Hinweis und eine Frage Systemdenken Nur Parameter Verborgen 256 11 Sequenzen 4 Informationsverarbeitung Diese wird nicht ausgeweisen sie ist verborgen in der Vorbereitung des Nachr
325. mern unter dem Objektknoten angegeben Die Zuordnung der Objekttypen zu den Grafiken gibt der Anmer kungsteil nach der Abbildung an 10 3 Aktivit tsknoten 135 Menge von Bezeichnung Bezeich nungen Hain _ 1 2 3 An upperBound 2 ordering LIFO 5 6 Abbildung TTN Da von Objektknoten Quelle OMG 2003a S 303 bersetzung durch den Verfasser Die obige Abbildung zeigt die grafische Darstellung folgender Objektknoten Die Grundform 1 Objektknoten f r Mengen 2 Objektknoten mit Signalcharakter 3 Objektknoten f r Knoten mit Zust nden 4 Objektknoten mit einer oberen Grenze 5 Objektknoten mit einer spezifischen Sortierung 6 Beispiele finden sich unten Auswahlverhalten Es ist m glich bei Objektknoten eine Auswahl festzulegen Dies wird Objekte ausw hlen Auswahlverhalten selection behavior genannt Es wird in einer Notiz note symbol angegeben angef hrt vom Schl sselwort lt lt selection gt gt und an den Objektknoten angef gt wie es die folgende Abildung zeigt Abbildung 10 3 2 Angabe einer Auswahl auf einem Objektknoten Quelle OMG 2003a Figure 277 S 303 Ubersetzung durch den Verfasser Datenspeicher Ein Objektknoten zur Verwaltung von Informationen ist der sog Daten speicher data store Wie es der Begriff schon nahelegt ist es seine Auf gabe eine Art Pufferknoten f r nicht fl chtige Informationen zu sein central buffer node OMG 2003a S 318
326. mit Personal versehen einen geografischen Standort mit bestimmten R umen zugeordnet bekommen oder auch geschlossen werden e Objekte Angestellte eines Unternehmens Sie k nnen eingestellt entlassen bef rdert versetzt werden und Geh lter bekommen e Objekte Rechnungen Sie k nnen entstehen bezahlt storniert oder gemahnt werden Weil diese Methoden einzelne Instanzen betreffen und nicht die gesamte Klasse vgl unten werden sie auch nstanzmethoden genannt F r Methoden gibt es in der Literatur zwei Interpretationen die passive k nnen gemacht werden und die aktive haben Verhalten Beide sind richtig Es geht immer um Aktivit ten die mit den Objekten in Zu sammenhang stehen Die UML Autoren sprechen in OMG 2003a nur von behavior wenn sie die dynamischen Aspekte eines Anwendungsbereichs thematisieren Dazu unten mehr So wie die Realweltobjekte durch die Modellobjekte in der Datenbank repr sentiert werden wird das Verhalten durch die Methoden repr sen Notwendige Schritte Verhalten aktiv und passiv Pass v und aktiv Realwelt vs Modell Methoden vs Operationen Dreiecksbeziehung 18 2 Objekte und Objektklassen tiert Eingestellt werden also durch eine Methode die eine Personalakte in den Datenbanken des Unternehmens anlegt usw Die folgende Abbildung fasst dies alles zusammen erstens den Zu sammenhang zwischen Realwelt und Modell zweitens den Zusammen hang zwischen Attributen Obj
327. mt um die Information wo der Kontrollfluss gerade steht Die UML kennt mittlerweile wie unten erl u tert wird ein Kontrollflusskonzept und zu diesem geh rt nat rlich dann auch die Information an welcher Stelle typischerweise Knoten der Kon trollfluss bei einer konkreten Realisierung wann steht Ein Token ist im Aktivit tsdiagramm das eine T tigkeits folge beschreibt einem bestimmten Knoten zugeordnet Nun die UML Autoren Elementare Informations einheiten und Steuerinformation 120 8 Modellierung von Verhalten und Abl ufen Das erg nzt obiges Die Token wandern entlang der verschiedenen Kon trollflusszweige durch die Aktivit t bzw durch das Aktivit tsdia gramm Token haben Auspr gungen So hat z B ein Objekt der Objektklasse Angestellte bestimmte Auspr gungen genauso eine Auspr gung des Attributs Gehalt und auch der Token der die Kontrollinformation enth lt ist immer an einer bestimm ten Position und hat damit eine Auspr gung Alle Token sind verschieden auch wenn sie dieselbe Aus pr gung haben Dies korrespondiert mit der Tatsache dass im objektorientierten Ansatz Objekte einer Objektklasse auch dann verschieden sind wenn sie diesel ben Attributsauspr gungen haben Soweit eine erste Ann herung an den Token Begriff der UML Autoren Wie man sehen kann geht es auch hier wie in der allgemeinen Definition um elementare Informationseinheiten wenngleich auch in drei sehr v
328. mte orthogonale Zu stand verlassen werden 13 3 9 Ereignisraum und Ereignisverarbeitung Das Konzept des Ereignisraumes wurde schon mehrfach bei den einzel nen Konstrukten erw hnt Was ist nun der Ereignisraum eines Zustandsautomaten Da jeder Zu standsautomat im Rahmen der Metamodellierung der UML Autoren auf einen Verhaltensclassifier zur ckgeht also dessen Spezialisierung ist bestimmt dieser den Ereignisraum Ist der Zustandsautomat eine Methode und geh rt somit zu einem Ver haltensmerkmal eines Classifier liefert dieser den Ereignisraum Wie werden die Ereignisse verarbeitet Die Vorstellung der UML Autoren ist dass der Zustandsautomat die Ereignisse eintreten l sst Die Reihenfolge in der sie abgearbeitet werden ist nicht definiert wodurch die M glichkeit bleibt verschiedene auf unterschiedlichen Priorit ten beruhende Abl ufe zu modellieren Die Semantik der Ereignisverarbeitung basiert auf der run to comple tion Annahme Diese sagt dass ein Ereignis nur dann vom Ereignisraum genommen und realisiert werden kann falls die Verarbeitung des vorigen aktuellen Ereignisses vollst ndig fertig ist 13 4 Protokollzustandsautomaten 323 Die Verarbeitung eines einzelnen Ereignisses durch einen Zustandsau tomaten wird als run to completion step bezeichnet Vor dem Beginn eines run to completion step st der Zustandsautomat in einer stabilen Zustandskonfiguration bei der alle Eingangs Ausgangs und internen Aktivi
329. n e Es gibt Interaktionen zwischen ihnen e Token k nnen Engp sse erreichen auf andere Token warten die vor ihnen sind und die weiter flussabw rts gehen sollen e Token k nnen sich gegenseitig vernichten mit den Knoten Aktivit ts und Flussende e Token werden den Input Pins von Aktionen angeboten e Token k nnen von Aktionen verbraucht werden e Es gibt auf einem Knoten Inputtoken und Outputtoken Zusammengefasst kann festgehalten werden dass mit dem Element der Token die vielen Fl sse in Systemen Abl ufen und Gesch ftsprozessen veranschaulicht werden Die UML Autoren stellen sich den Kontrollfluss bzw die Fl sse von Kontrollinformationen Objekten und Daten als wandernde Token vor 10 10 Beispiele Hier nun zur Verdeutlichung und Vertiefung einige einfache Beispiele zu den oben eingef hrten Knoten 10 10 1 Fehlerbehandlung Stellen wir uns einen Hersteller von mechanischen Ger ten vor dem Ger te zur Reparatur eingeschickt werden Die erste Aktion ganz l nks beschreibt den Vorgang dass der Fehler dokumentiert wird Danach wird mit Hilfe einer Gabelung zum einen die Reparatur veranlasst zum ande ren zu einer Entscheidung weitergeleitet die kl rt ob es sich um einen Fall der Priorit t 1 handelt oder nicht Die Entscheidung wird mit einer Verzweigung modelliert Die Bedingung f r die Alternative priority 1 wird als W chter guard bezeichnet Ist also die Priorit t so hoch wird die
330. n cht so einfach m glich oder macht zumindest mehr Schwie r gkeiten Zumal es auch Funktionalit t gibt die sich dem objektorientier ten Ansatz ganz entzieht Noch nicht ganz so weit ist die Entwicklung bei Datenbanksystemen Hier ist zwar in der Theorie alles vorbereitet und es existieren auch kom merziell verf gbare Datenbanksysteme mit einem St ck Objektorientie rung der gro e Durchbruch in der Praxis l sst allerdings auf s ch warten Und dies schon recht lange Noch ganz am Anfang steht die objektorientierte Theorie bei der Pro zessmodellierung Hier ist noch nicht mal die Frage beantwortet ob hr Einsatz berhaupt sinnvoll ist Dies sieht man auch daran dass die von den UML Autoren direkt vorgeschlagene Methode zur Modellierung von T tigkeitsfolgen Aktivit tsdiagramme gar nicht objektorientiert ist sondern recht unabh ngig neben der objektorientierten Theorie her exi stiert Deshalb findet Prozessmodellierung in der Praxis heute fast aus schlie lich klassisch nicht objektorientiert statt Objektorientierung Was ist das nun Objektorientierung Es bedeutet eine bestimmte Art und Weise mit der in der Informatik und Wirtschaftsinformatik Realweltph nomene wahrgenommen werden In der Systemanalyse und Programmie rung die der zu programmierenden Anwendung Im Bereich der Daten banken der so genannte Weltausschnitt der zur Modellierung ansteht Bei der Gesch ftsprozessmodellierung der jeweilige
331. n getrennt von der Bezeichnung durch eine gestrichelte Linie Vgl dazu die Beispiele 7 2 3 Beispiele Im ersten Beispiel ist angedeutet dass die Kollaboration Rechnung schreiben von den beiden Komponenten Rechnungskopf und Rechnungs positionen realisiert wird sr Fr a Pr Rechnung schreiben U et Abbildung 7 2 2 Kollaboration Rechnungserstellung Alternativ kann ein Komponentendiagramm genutzt werden In diesem Fall werden die beteiligten Classifier mit dem Symbol f r die Kollabora tion verbunden 7 3 Rollen Der Begriff Rolle wurde oben in dem Kapitel zu Assoziationen schon angesprochen Dort wurden z B die Angestellten in ihrer Rolle als PC Nutzer oder in ihrer Rolle als Gehaltsempf nger modelliert Ben tigt wird der Begriff n der UML f r Kollaborationen f r den Be griff Part und f r Assoziationen Die UML Autoren definieren eine Rolle als eine Menge von Merkma len die benannt sind und die sich auf eine Sammlung von Entit ten be ziehen die in einem bestimmten Zusammenhang stehen OMG 2003a S Beispiel Rechnungen Versender der Nachrichten 98 7 Zusammenwirken durch Nachrichtenverkehr 14 Bei der Fortsetzung der Definition unterscheiden sie zwischen Kolla borationen Parts und Assoziationen e Bei Kollaborationen sprechen sie von einer benannten Verhaltens menge einer Klasse oder eines Part die in einem bestimmten Zu sammenhang stehen e Bei Part von ei
332. n wichtigen Softwareprodukte nicht objektorientiert sind wieso also keine solche ERP Software mit objektorientierter Datenbank und objektorien tierter Programmierung existiert Denn an sich ist der Weg bereitet die Methoden stehen bereit Ein wichtiger und klassischer Teilbereich der Unternehmensmodel lierung ist die sog Datenmodellierung die Entwicklung von Datenbanken f r Unternehmen Heute bedeutet dies konkret die Entwicklung von Da tenbanken f r die informationelle Absicherung der Gesch ftsprozesse eines Unternehmens Die klassischen Techniken sind hier die relationale Datenmodellierung und die ER Modellierung F r diesen Bereich ist der objektorientierte Ansatz aus mehreren Gr n den fruchtbar Zum einen weil er erlaubt die halbwegs nat rliche Wahrnehmung eines Weltausschnitts als Ansammlung von Objekten mit Beziehungen direkt n das Datenmodell hinein abzubilden Nicht wenige Autoren schreiben sogar von einer 1 1 Abbildung zwischen Objekten der Realwelt und Objekten des objektorientierten Datenmodells Objektorientierte Unternehmens modellierung Modellierung von Informations strukturen Datenmodellierung 1 1 in die Datenbank Teilweise Aufhebung Prozess vs Funktions modellierung Detaillierungs ebenen Systemorientierung Funktions modellierung vs Prozess modellierung 348 14 Gesamteinsch tzung Ein zweiter Punkt ist aber genauso wichtig Sieht man statische Da tenbanken letz
333. n wird entsprechend zu obigem auf jedem Starknoten der Token platziert Der Einfachheit halber sind Startknoten eine Ausnahme von der Regel dass Kontrollknoten keine Token halten k nnen wenn diese daran gehin 22 Dies ist bei EPKs nicht m glich Vgl Abschnitt 10 12 10 6 Kontrollknoten 163 dert werden m Kontrollfluss voranzuschreiten Dies ist gleichbedeutend damit einen Pufferknoten zwischen dem Startknoten und seinen wegf h renden Kanten zwischenzuschalten OMG 2003a S 335 Au erdem weisen die UML Autoren darauf hin dass Kontrollfl sse auch von anderen Knoten starten k nnen so dass nicht unbedingt Start knoten da sein m ssen um eine Aktivit t zu starten ebenda 10 6 6 Schlussknoten Es gibt zwei Aktivit tsknoten die eine Beendigung von Kontrollfl ssen modellieren Aktivit tsende activity final modelliert die Beendigung der gesamten Aktivit t Flussende flow final die Beendigung eines einzel nen Kontrollflusses Aktivit tsende Ein Aktivit tsende stoppt sobald es erreicht wird alle Kontrollfl sse in einer Aktivit t Eine Aktivit t kann mehr als ein Aktivit tsende haben Ist dies so beendet das erste das erreicht wird die Aktivit t einschlie lich der Fl sse die zu anderen Schlussknoten f hren Grafische Darstellung Ein Knoten Aktivit tsende wird wie folgt dargestellt Ein Aktivit tsende akzeptiert alle Token von ankommenden Kanten Erreicht dann ein Token einen solchen
334. n Abbildung in die Klassenhierarchie des gesamten Anwendungsbereichs und durch den Nachrichtenaustausch zwischen diesen und weiteren Modellelementen einen Einblick in wichti ge dynamische Aspekte Der Aufbau der Sequenzdiagramme ist wie folgt vgl auch die folgen de Abbildung e Ein Sequenzdiagramm besteht aus mehreren Lebenslinien die mit einander Nachrichten austauschen und damit Abl ufe modellieren e Eine Lebenslinie besteht aus einem Rechteck an der Spitze das das handelnde Objekt angibt und einer darunter angeordneten senkrech ten gestrichelten Linie e Die Lebenslinien eines Sequenzdiagramms stehen d R in gleicher H he nebeneinander Ausnahmen sind die die erst im Verlauf der Sequenz entstehen Diese werden auf der H he angeordnet auf der die Nachricht steht durch die sie erzeugt werden vgl Abbildung 11 10 1 f r ein Beispiel e Die Lebenslinie die die Interaktion startet wird 1 d R ganz links angeordnet e Die gestrichelte Linie symbolisiert die Existenz eines Objekts w h rend eines Zeitraums Typischerweise f r die Interaktion dann ber die gesamte L nge Vgl f r eine verk rzte Lebenslinie auch Abbil dung 11 10 1 e Eine S ule die ber die gestrichelte Linie gelegt ist gibt den Zeit raum an in dem ein Objekt eine Aktion ausf hrt entweder direkt oder durch ein nachgeordnetes Objekt Diese S ule wird Kontrollfo kus genannt e Zwischen den gestrichelten Linien bzw den S ulen geben Pfei
335. n Mo dells und der die Rolle der Z elaktion auf der einen Seite und die der Ausgangsaktion auf der anderen Seite bernimmt Paket h Paket poz Abbildung 10 4 5 Verkn pfer im Kontrollfluss Quelle Angelehnt an OMG 2003a S 296 Beschriftung von Aktivit tskanten Verkn pfer Nur Kontrolltoken Zwei Fl sse auf denselben Aktionen Notation 1 140 10 Aktivit ten Dieses Element erlaubt z B die grafische Aufteilung gro er Aktivit ten hnlich wie mit Prozesswegweisern bei Ereignisgesteuerten Prozessketten vgl Staud 2006 Abschnitt 4 7 Der Tokenfluss Die in den obigen Beispielen vorhandenen Kontrollkanten bilden nur den Kontrollfluss ab nichts anderes Uber sie k nnen nur Kontrolltoken pas sieren Sollen Objekte oder Daten transportiert werden bedarf es der Objekt flusskanten die im n chsten Abschnitt vorgestellt werden 10 4 2 Kanten f r den Objektfluss Objektflusskanten Objektflusskanten object flows bzw object flow edges sind ebenfalls Aktivit tskanten aber solche ber die Objekte oder Daten passieren k nnen Sie modellieren also den Fluss von Daten und von Objekten in einer Aktivit t Es gibt somit in Aktivit ten zwei verschiedene Fl sse die Kontroll fl sse und die Objektfl sse Diese Trennung ist unabdingbar die beiden Fl sse stellen unterschiedliche wenn auch zusammenh ngende Aspekte dar Der Zusammenhang ergibt sich daraus dass beide Fl sse auf densel
336. n aber nur schwer absolut definiert werden kann Bezogen auf die Aktivit ten activities in denen die Aktionen ja ein gebettet sind definieren die UML Autoren eine Aktion als etwas das ausf hrbar ist es wird angesto en und das ein einzelnes Element der ausf hrbaren Gesamtfunktionalit t einer Aktivit t darstellt An action is an executable activity node that is the funda mental unit of executable functionality in an activity as op posed to control and data flow among actions OMG 2003a S 280 Der zweite Teil des Zitats deutet schon an dass die Aktionen auch in einen Kontroll und Datenfluss eingebettet sind Dazu unten mehr Aktionen stellen also im Rahmen der Aktivit ten vgl den n chsten Abschnitt ausf hrbare Knoten dar die mit einem Kontroll und Daten fluss zwischen den Aktionen zusammenwirken Erg nzend fahren die UML Autoren dann fort dass die Ausf hrung einer Aktion Ver nderun gen im modellierten System bewirkt Ihe execution of an action represents some transformation or processing n the modeled system be t a computer sys tem or otherwise ebenda Damit sind die wichtigsten Merkmale von elementaren Verhaltens oder Handlungseinheiten zusammengestellt Die Formulierungen der UML Autoren sind sehr von der Sichtweise der objektorientierten Systemanalyse gepr gt k nnen aber auch auf An wendungsbereiche au erhalb der engeren Systemanalyse angewendet werden So hat z B eine K
337. n bzgl dreier Klassen A B und C mehr von der Semantik der Beziehung erfasst als die zweistelligen Assoziationen AB AC und BC dozNr integer anrede string Lehrender bunyeysussaruys my Lehrmveranstaltungs 5 besuch 1 eg HE Lehrveran el staltungen H r bezLV string 1 Lehrveranstaltung Besucher ma trikelHr integer name string name string Pr fungstyp piz string i strasse string i art stri beginnStudium date BERNER aa endeStudium date studiengang string fachsemester integer immatrikulierend exmafrikulierenl 2 Abbildung 3 8 2 Klassendiagramm zum Anwendungsbereich Hochschule Pr fungsgeschehen und Lehrveranstaltungsbesuch dreistellig Das obige Klassendiagramm enth lt u a folgende Komponenten Pr fungsgegenstand Studiengang string semesterSP integer Pr fungstyp 7 prTyphr integer ort string Pr fungs bezPruef string laenge integer 3 8 Klassendiagramme Definition und Beispiele 55 Zwei dreistellige Assoziationen Eine zweistellige Assoziation Objekte mit verschiedenen Rollen Au erdem zahlreiche beschriftete Assoziationen Im Beispiel zum Anwendungsbereich Angestellte wie er hier kurz genannt wird werden die hierzu oben eingef hrten Modellfragmente zusammengef hrt Im Mittelpunkt steht die Klasse Angestellte Ihre Objekte sind gleichzeitig Projektmitarbeiter Mitarbeiter in Abteilungen
338. n der fol genden Abbildung ausgedr ckt werden Der standalone pin so wird er genannt steht dann gleichzeitig f r einen Output Pin und ein Input Pin 144 10 Aktivit ten Teile beschaffen Abbildung 10 4 11 Objektflusskante ohne genaue Ausweisung des Objektflusses Quelle OMG 2003a S 357 Figure 281 bersetzung durch den Verfasser Auch die Darstellung mit nur einem Rechteck als Symbol f r das Objekt wird von den UML Autoren als standalone pin bezeichnet Ohne Kanten Stehen inhaltlich und damit auch f r d e grafische Darstellung keine Kan ten zur Verf gung ist die in der folgenden Abbildung gezeigte Ersatzdar stellung m glich Dabei werden Pfeile in das Rechteck des Pin gezeich net Weist der Pfeil zu der Aktion handelt es sich um einen Input Pin weist der Pfeil weg von der Aktion um einen Output Pin Abbildung 10 4 12 Pins ohne Kanten Input Pin und Output Pin Quelle OMG 2003a S 358 Figure 284 Mit Klassendiagramm In der Abbildung unten wird der Objektknoten Auftrag durch einen Aus schnitt aus einem Klassendiagramm n her erl utert Das Klassendia gramm zeigt dass zu einer Auftragsausf hrung in Wirklichkeit drei Din ge geh ren e cein Auftrag e _Auftragspositionen und e die Anforderungen des Kunden an den Versand hier kurz Abwick lung genannt 10 4 Aktivit tskanten 145 positonen Abbildung 10 4 13 Verkn pfung eines Klassendiagramms mit einem Objektknoten Quelle
339. n kom biniertes Fragment eingebaut Angenommen wurde dass nach Zusen dung des Angebots durch den potentiellen Lieferanten der Kunde entwe der zusagt oder auch absagt Absage Bei einer Absage wird diese erstellt vgl den Kontrollfkus ganz unten und die entsprechende Nachricht zum potentiellen Lieferanten geschickt sd Kaufabwicklung I Voranfrage senden x lt H I 1 Voranfrageantwort senden _ Anfrage senden Angebot senden Angebot akzeptiert u Liefermitteilung senden Bap S _ Lieferung Eingang best tigen _ l I 1 ___ Rechnung senden Ls Abbildung 11 4 4 Sequenzdiagramm Kaufabwicklung mit einem kombinierten Fragment 11 4 Vertiefung 233 Obige Abbildung enth lt u a folgende Komponenten Mehrere synchrone Nachrichten Ein kombiniertes Fragment Zwei Interaktionsoperanden Den Interaktionsoperator alternatives alt Mehrere Lebenslinien Au erdem mehrere Kontrollfokusse Falls das Angebot akzeptiert wird ergibt sich derselbe weitere Fortgang wie oben vgl Abbildung 11 3 2 11 4 4 Die Interaktionsoperatoren Hier nun die vertiefte Erl uterung der Interaktionsoperatoren Alternatives Der Interaktionsoperator alternatives alt legt fest dass das Fragment erlaubt Verhaltensalternativen zu modellieren Genau einer der Operan den wird also ausgef hrt Der Operand der zur Ausf hrung kommt muss eine Interaktionseinschr nkung haben die an dieser Stelle der Inte
340. n und dar ber hinaus k nnen s ch Fragen bzgl der Parallelverarbeitung stellen Z B kann es schwierig sein Zugriff und nderung des Objektspeichers fehlerfrei zu gestalten Um dies zu realisieren kann es sinnvoll sein die Effekte einer Gruppe von Aktionen von den Effekten anderer Aktionen zu isolieren Dies wird erm glicht durch die Gruppierungsm glichkeit als strukturierter Aktivi t tsknoten und dadurch dass ein Attribut desselbigen mustlsolate auf wahr gesetzt wird Ist ein strukturierter Aktivit tsknoten auf diese Weise isoliert dann kann auf kein Objekt das bei einer Aktion in diesem Knoten benutzt wird von einer Aktion von au erhalb zugegriffen werden bis der struktu rierte Aktivit tsknoten als Ganzes fertig ist Irgendwelche parallelen Aktionen d e zu Zugriffen auf solche Objekte f hren k nnten m ssen ihre Ausf hrung verschieben bis der Knoten fertig ist 10 5 Strukturierte Aktivit tsknoten 153 Wie wird eine solche Isolation erreicht und wie werden damit Proble me mit der Paralellverarbeitung vermieden Z B durch Sperrmechanis men oder durch Sequentialisierung in eine Reihenfolge bringen der Ausf hrung Ein solches Element verlangt nach der Einhaltung bestimmter Regeln Hier die wichtigsten e Strukturierte Aktivit tsknoten d rfen sich nicht berlappen die Kno ten des einen d rfen nicht zu einem anderen geh ren e Sie d rfen verschachtelt sein e Die Kanten eines strukturierten Aktiv
341. nale Regionen ZA 302 Parameterknoten f r Input 137 Parameterknoten f r Output 137 Parameterknoten mit streaming 151 Pin 147 150 Pin input 143 Pin output pin 143 Pins ohne Kanten 144 Protokollzustandsautomat 326 Regionen ZD 299 Regionen in einem Subzustand ZA 312 Rollen 54 55 56 70 71 R ckschleife Aktivit t 191 166 R cksprung AD 186 188 Schleife 164 186 Schlussaktivit t 318 Schlussknoten Interaktions berblick 250 Schlusszustand 293 294 296 331 333 Schlusszust nde in Regionen ZA 312 299 Schwimmbahnen AD 168 Selbsttransition 318 333 Sequenzdiagramm mit Zeitaspekten 248 standalone pin 143 Startknoten 133 162 168 185 186 188 189 Startknoten 191 stop sd 242 streaming 143 149 186 Subzust nde 299 Timer Aktivit t 189 Transition 294 307 331 333 Transition zu Subzustandsautomat 319 berdeckung 87 88 berholen einer Nachricht SD 229 248 Verbindungsknoten ZA 303 verborgener zusammengesetzter Zustand 319 verborgener Zustand 318 Vereinigung 133 159 160 160 168 180 182 188 Vereinigung mit Join Spezifikation 161 16 2 Index der Beispiele 375 Verkn pfer ZA 302 verschachtelte Fragmente SD 243 verschachtelte kombinierte Fragmente 235 239 Verzweigung 133 155 165 168 180 181 185 186 188 189 191 Verzweigung Interaktions berblick 250 Verzweigungen mehrere hintereinander 188 W chter Aktivit t 180 wait
342. nalisiert dass der Zu stand m Detail an anderer Stelle beschrieben ist entry Beginn W hlton exit Ende W hlton CHI Abbildung 13 3 18 Verborgener zusammengesetzter Zustand Quelle OMG 2003a S 486 Figure 385 bersetzung durch den Verfasser Beispiel 3 Zustandsautomat eines Subzustandes Das n chste Beispiel zeigt einen Zustand der auf einen Zustandsautoma ten verweist vgl Abbildung 13 3 11 f r eine anderes Beispiel Entspre chend sind die Bezeichnungen Der Zustand hei t Feehlerbehandlung es ist ein Subzustand Der untergeordnete Zustandsautomat hat die Bezeich nung FehlerbehandlungSM er ist an anderer Stelle spezifiziert Insgesamt hat das Element dann die Bezeichnung Fehlerbehandlung Fehlerbehand lungSM Betrachten wir die Verkn pfung zwischen den zwei Ebenen die an kommenden und die wegf hrenden Trans tionen Die ankommenden 13 3 Vertiefung 319 geben sozusagen den Input f r den Subzustandsautomaten an die weg f hrenden seinen Output Zuerst die ankommenden Transitionen Die Transition die durch das Ankommende Ereignis errorl ausgel st wird endet bei Einstiegspunkt Subl des Transitionen Zustandsautomaten FehlerbehandlungSM Dieser E instiegspunkt muss also dort vorliegen Die Transition error3 die auf der Grenzlinie endet f hrt dazu dass die voreingestellte Starttransition dieses Subzustandsau tomaten benutzt wird Bei den wegf hrenden Transitionen zeigt d
343. nate units besteht wiederum aus einzelnen Aktionen den Elementaraktionen primitive actions Anmerkung Die Darstellung ist hierzu in OMG 2003a nicht einheitlich An vielen Stellen wird diese mittlere Ebene der subordinate units nicht genannt sondern die Aktivit ten einfach als aus Aktionen bestehend definiert An vielen anderen wird aber diese mittlere Ebene bewusst erw hnt z B auf Seite 4 bei einer Kurzdefinition von activity A specification of param eterized behavior that is expressed as a flow of execution via a sequencing of subordinate units whose primitive elements are individual act ons Mit diesem Konzept ist es m glich wie in allen Ans tzen der Unterneh mensmodellierung die Modellbildung auf verschiedenen Aggregations niveaus vorzunehmen Insgesamt liegen damit in der UML bez glich der Abl ufe folgende Aggregationsniveaus vor e Aktionen e Subordinate Units e Aktivit ten vgl Kapitel 10 Das durch die subordinate unit abgedeckte Verhalten nennen die UML Autoren dann subordinate behavior Diese einzelnen Verhaltenskompo nenten k nnen gleich wie Aktionen n das Geschehen eingebunden wer den Gestartet werden s e z B dadurch dass e andere Verhaltenskomponenten ihre T tigkeit beenden e Objekte und oder Daten verf gbar werden e externe Ereignisse eintreten 9 4 Aktionen und Unternehmensmodellierung Mit dem Konstrukt der Aktionen liegt ein geeignetes Instrument f r die Beschreibung de
344. ndungslinie zur Funktion ohne Pfeilspitze Grunds tzlich sind Aktionen Aktivit tsdiagramm und Funktionen EPK gleichzusetzen EPK seitig m ssen nur die Ereignisse spezifiziert werden Deshalb entsteht hier f r die Aktion Auftragseingang eine gleichnamige Funktion im Sinne von Eingehenden Auftrag bearbeiten Ebenso problemlos k nnen die Tr ger der Aktionen Organisations einheiten bernommen werden Umgekehrt w re es schwieriger Wie soll man eine gr ere Zahl von Organi sationseinheiten insgesamt und bzgl einzelner Funktionen Aktivit ten in einem Aktivit tsdiagramm ausdr cken Die nachfolgende Verzweigung wurde hier in der EPK mit einer eige nen Funktion Machbarkeitspr fung gel st Diese Entscheidungsfindung h tte aber auch gleich n Auftragseingang mit hineingepackt werden k n nen Die Kantenbeschriftungen des Aktivit tsdiagramms werden dann zu Ergebnisereignissen der Funktion Die nachfolgende Gabelung AD kann durch einen entsprechenden UND Operator ausgedr ckt werden ebenso wie die sp ter folgende Ver einigung AD 10 11 Aktivit ten und Unternehmensmodellierung 203 Beim Einbau der Aktionen des Kunden in die Ereignisgesteuerte Pro Externe Aktivit ten zesskette ist etwas Nachdenken n tig Im Aktivit tsdiagramm ist die Handlung des Kunden Zahlung durchf hren einfach in den Kontroll fluss der ja ansonsten vom Unternehmen realisiert wird eingebaut Dies wird in der Prozessmodell
345. ne damit Gesch ftsprozesse modellieren 13 6 Zustandsautomaten und Unternehmensmodellierung 337 4 Informationsverarbeitung Hierzu gibt es eine Entsprechung in Zustandsautomaten zumindest n denen mit dynamischen Zust nden Die Informationsverarbeitung kann im Zustand angegeben werden Z B k nnte f r einen Gesch ftsprozess Leistungserbringung der Zustand Kalkulation d e Anfangsaktivit t Daten zusammenstellen d e Zustandsaktivit t Kalkulation durchf hren und die Schlussaktivit t Ergebnis versenden haben Klingt etwas seltsam w re aber von der Methode her machbar Trotz aller solcher Bem hungen bliebe es bei dem im vorigen Punkt beschriebenen Defizit dass die Informationsobjekte nur implizit vorhan den s nd 5 Ereignisse Ein Ereigniskonzept ist vorhanden Ereignisse l sen die Zustands ber g nge aus Sie sind auch bei dynamischen Zust nden f r die Strukturierung der Verarbeitungsschritte m Zustand verantwortlich 6 Kontrollfluss Dieses Konzept liegt vor und zwar n vielf ltiger Form Zum einen durch das Zusammenwirken in der Abfolge mit Hilfe der Transitionen Dieses Aufeinanderfolgen der einzelnen T tigkeiten wird hier durch drei Aspekte beschrieben e dem Ereignis durch das es zur Zustands nderung kommt e c iner Bedingung f r das Voranschreiten das Eintreten des Zu stands bergangs und e ciner Aktion die im Zuge der Transition auszuf hren ist die also zum n chsten Zustand f
346. nehmensmodel lierung zusammengestellt auch mit der Andeutung von Alternativen So stehen sich klassische und objektorientierte Theorien im Bereich der Strukturen und des Verhaltens gegen ber Alles in allem ein weites Feld wie leicht zu erkennen ist das den Rah men einer einzelnen Ver ffentlichung sprengt Die in diesem Buch betrachteten Themenbereiche sind die in der Ab bildung fett gesetzten Zum einen wird die objektorientierte Theorie ganz grunds tzlich in ihrer aktuellen Fassung vorgestellt wobei allerdings wo sinnvoll System und Gesch ftsprozessbeispiele angef hrt werden zum 1 1 Unternehmensmodellierung 5 anderen wird bei fast jedem Kapitel gefragt welchen Beitrag das jeweili ge Theorieelement zur Unternehmensmodellierung leistet Au erdem wird ein direkter Vergleich zwischen Ereignisgesteuerten Prozessketten der Methode EPK und Aktivit tsdiagrammen der Metho de AD vorgenommen so dass letztendlich und alles in allem die Frage beantwortet werden kann inwiefern die objektorientierte Theorie f r die Unternehmensmodellierung tauglich ist Die gestrichelten Pfeillinien am unteren Ende deuten wiederum die n chsten Schritte an Anwendungsbereich z B das gesamte A rans Fi AFe clan Altemativ ERNEUTEN als ne EPKnY Om E x Aktivit ts Entity diagramme n E Klassen diagramme Acay ER 1 AN mit HT Nachrichten Relationales verkehr Datenmodell Methoden RM aufruf
347. nen einstellen Arial 9 zum Aufbau vgl unten 2 Objekte und Objektklassen Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch angegeben Zwei Basisbegriffe Mit Hilfe der objektorientierten Theorie werden Modelle erstellt Typi scherweise von einem Anwendungs oder Gegenstandsbereich Z B von einem geplanten Geldautomaten den Gesch ftsprozessen in einer Abtei lung dem Mahnwesen eines Internetunternehmens usw Diese Modelle dienen dann der Erstellung der Software Ganz zu Beginn dieser Modellierungsprojekte mu man sich somit mit der Realwelt auseinandersetzen Deshalb braucht man einen Begriff f r die ersten noch vagen Eindr cke die man erh lt wenn man mit der Un tersuchung beginnt Dieser Begrift ist Realweltph nomen Er bezeichnet also unsere noch nicht modelltechnisch strukturierten Wahrnehmungen zu Beginn der Modellierung Hat man dann die Realweltph nomene strukturiert und mit Informatio nen versehen m ssen sie auch wieder abstrakt benannt werden k nnen Die UML Autoren nutzen daf r den Begriff entity Untersucht man den Sprachgebrauch stellt man fest dass mit entity in den UML Texten wie auch ansonsten in Teilen der US amerikanischen Informatikliteratur tats chlich so etwas wie Informationstr ger gemeint ist Es existiert und hat Eigenschaften hier in der objektorientierten Theo rie als Attribute festgehalten Hintergrund Jede Theorie hat Begriffe un
348. nen Schlusspunkt 2 oder auch mehrere Diese Aktivit t kann aber auch durch einen von 21 Die UML Autoren sprechen an dieser Stelle von flow of execution Kontrollfluss Aktivit tsknoten etwas genauer Aktivit t Menge von Aktionen Informationen im Fluss Verzweigung Zusammenf hrung Gabelung Vereinigung 132 10 Aktivit ten au en kommenden Auftrag 15 initiiert werden Parameterknoten vgl unten Die Strukturierung kennt so deutet es das Beispiel an Entscheidungs vorg nge z B an Position 4 Diese werden sp ter Verzweigung decisi on node genannt Hier geht es darum ob der Auftrag angenommen oder abgelehnt wird Diese beiden Alternativen sind an den Kontrollflusskan ten textlich vermerkt vgl die Positionen 5 und 6 Es gibt auch Verschmelzpunkte wo unterschiedliche Zweige zu sammengef hrt werden vgl 10 Diese werden sp ter Zusammenf h rung merge node genannt Auch das von anderen Methoden bekannte gleichzeitige Ansto en mehrerer Aktionen ist im Beispiel erkennbar vgl Position 7 Nach der Ausf hrung des Auftrags erfolgt zum einen die Lieferung zum anderen wird die Rechnung versandt Ein solches Element wird sp ter Gabelung fork node genannt Sozusagen die Umkehrung zeigt das grafische Element 8 Nur wenn die Lieferung erfolgte und wenn die Zahlung akzeptiert ist geht es weiter in Richtung Auftrag schlie en Dies f hrt zu einem Element das wir sp ter
349. nen auf Tr gern aller Art keine Rolle da im Prozessumfeld als Objekt einfach der ganze Gesch ftsprozess genommen wird z B die Leistungserbringung in einem Unternehmen und m Systemumfeld das ganze System Geldautomat Dann werden die einzelnen Teilaufgaben einfach hintereinander gelegt oder auch verschachtelt Die einzelnen Zust nde enthalten dann Automaten Subautomaten usw Die Zustands nderung besteht darin zum n chsten Abschnitt Zu stand zukommen bzw vertikal einen Subautomaten zu betreten bzw zu verlassen So wie bei den im Kapitel vorgestellten Beispielen Geldauto mat vgl insbes 13 3 10 und 13 3 11 und Telefonanlage vgl insbeson dere Abbildung 13 5 3 Von Informationsverarbeitung im hier gemeinten S nn also keine Spur W rde man also um in einem Prozessbeispiel zu bleiben die Leistungs erbringung horizontal und vertikal so zerlegen dass der ganze Gesch fts prozess in einen Zustandsautomaten abbildbar w re k nnte man die ein zelne Informationsverarbeitung zwar in die Zust nde reinschreiben ein Deutlichmachen der Informationstr ger w re dar berhinaus aber nicht m glich Zur Verdeutlichung stelle man sich vor man m sse in Abbildung 13 3 14 d e m dort beschriebenen Prozess sicher zahlreichen Informationstr ger z B zu durchgef hrten Pr fungen im Modell ausdr cken Dies kann man den Zustandsautomaten auch nicht vorwerfen Aber man muss es denen sagen die denken man k n
350. nen wird die Raute eingeschw rzt ansonsten ist die grafi sche Notation dieselbe wie f r Aggregationen Die Wertigkeit auf der Seite der Aggregation ist auf Grund der Definition von Kompositionen immer eins so dass sie oft auch weggelassen wird Ein Beispiel f r eine Komposition ist die Beziehung zwischen einem Rechnungskopf und den Rechnungspositionen das in der folgenden Ab bildung angegeben ist Abbildung 5 2 3 Die Beziehung zwischen Rechnung skopf und Rechnungspositionen als Komposition Ein anderes gern angef hrtes Beispiel ist das der Baumstruktur eines Dateien verwaltenden Systems z B des Windows Explorer L scht man ein Dateiverzeichnis werden die enthaltenen Dateien und Verzeichnisse auch gel scht Au erdem kann eine konkrete Datei nur in einem Ver zeichnis sein Da diese Theorieelemente Aggregation und Komposition lediglich das in Kapitel 2 vorgestellte Grundinstrumentarium erg nzen lohnt sich eine Betrachtung der Tauglichkeit f r die Unternehmensmo dellierung hier nicht Vgl dazu die Diskussion zum gesamten Strukturteil in Abschnitt 7 8 6 Generalisierung Spezialisierung Am Ende des Kapitels ist eine Liste der verwendeten Fachbegriffe in Deutsch und Englisch angegeben 6 1 Definition Stellen wir uns folgende Situtation vor Im Rahmen einer Anwendungs entwicklung f r die Datenbank die Systementwicklung m ssen alle Personen erfasst werden die in einer Hochschule t tig sind oder die
351. ner Teilmenge einer bestimmten Klasse die einen Teil der Merkmale der Klasse besitzt e Bei Assoziationen stellt eine Rolle ein Synonym f r ein Assoziation sende dar das sich auf eine Teilmenge der Class fier Instanzen be zieht die an der Assoziation teilhaben ebenda F r eine vertiefte Darstellung vgl Booch Rumbaugh und Jacobson 2006 S 432ff 7 4 Lebenslinien W hrend n popul ren Darstellungen vgl zum Beispiel Balzert 2000 Abschnitt 4 4 gleich von Objekten die Rede ist die Nachrichten bei den beiden Balzert Botschaften versenden oder empfangen ist in den UML Texten von lifelines als Tr gern des Nachrichtenverkehrs die Rede Lifeline W rtlich Rettungsleine fig Lebensader im Sinne von Versorgungsweg was hier wohl am besten passt In diesem Buch wird die in Booch Rumbaugh und Jacobson 2006 vorge schlagene bersetzung Lebenslinie benutzt Eine Lebenslinie repr sentiert einen einzelnen Teilnehmer an der Interak tion Dies kann ein beliebiger Classifier sein also z B auch eine Instanz ein Objekt einer Klasse Grafische Darstellung Eine Lebenslinie wird durch ein Rechteck und eine senkrechte gestrichel te Linie dargestellt Das Rechteck bildet sozusagen den Kopf darunter folgt die Linie vgl die folgende Abbildung Die Linie repr sentiert bei einer entsprechenden Darstellungstechnik vgl Sequenzdiagramme in Kapitel 11 die Dauer der Existenz des Kommunikationsteilnehmers also z B
352. nes Gesch ftsobjekts Die Zustands nderungen stellen dabei Verarbeitungs schritte dar und spiegeln direkt einen Prozessablauf wider Allerdings einen rund um ein einzelnes Gesch fts Objekt Vgl das oben angef hrte Beispiel Rechnung Die Darstellung dieser Lebenszyklen eines Objekts als Zustandsdia gramm kann bei komplexen Anwendungen sehr sinnvoll sein z B zur Vorbereitung der Programmierung Sie stellen damit Detailanalysen aus dem weiten Feld der Prozessanalyse dar Einen weiteren Beitrag k nnen sie aber nicht leisten Sie eignen sich damit auch nicht zur Prozessmodellierung auch wenn oben ein typischer Gesch ftsprozess als Zustandsautomat dargestellt wurde Kundenanfra ge Eine solche Darstellung eines Zustandsautomaten als Gesch ftspro 38 Wie immer au erhalb von Kapitel 10 im umgangssprachlichen Sinn 13 6 Zustandsautomaten und Unternehmensmodellierung 335 zess ist in Wirklichkeit nur die Beschreibung der Zust nds berg nge als Ablauf Dynamische und tiefe Zustandsautomaten Betrachtet man diesen Typ Zustandsautomat mit den zwei Merkmalen e Zust nde als etwas aktives mit innerer dynamischer Struktur e _Verschachtelung der Zust nde d h T tigkeit in T tigkeit usw dann ist man deutlich n her an den notwendigen Bas selementen einer Methode zur Prozessmodellierung vgl unten Damit sind grunds tzlich auch wichtige Aspekte von Gesch ftsprozessen modellierbar Denn das Objekt kann ja b
353. nes Anwendungsfalles oder einer Interaktion vgl unten 8 5 Konstrukte f r die Verhaltensmodellierung Die Version 2 0 der UML die nun schon seit einiger Zeit vorliegt enth lt gegen ber den fr heren Versionen verbesserte Konzepte f r die Model lierung der dynamischen Aspekte eines Systems oder eines Gesch fts prozesses Folgende Grundkonzepte bieten die UML Autoren nun an Aktionen actions Aktivit ten activities Interaktionen Interactions Zustandsautomaten state machines Anwendungsf lle use cases Dass hier tats chlich teilweise Neues vorlag sahen auch die Autoren der UML Unter dem Titel Changes from previous UML f hren sie aus Daten vom Host Objekt emergent vs executing Token in der Informatik 118 8 Modellierung von Verhalten und Abl ufen Explicitly modeled actions as part of activities are new in UML 2 0 and replace ActionState CallState and Subactiv ityState in UML 1 5 They represent a merger of activity graphs from UML 1 5 and actions from UML 1 5 Local pre and postconditions are new to UML 2 0 OMG 2003a S 283 Den Zusammenhang zwischen diesen Konstrukten die im Rahmen der Metamodellierung der UML als Klassen modelliert sind deutet die fol gende Abbildung an Dabei dient common behaviors Klasse Common Behaviors als Generalisierung der Klassen mit den eigentlichen Kon strukten Diese werden in den folgenden Kapiteln erl utert Klassen classes common b
354. nes Zustandsautomaten Definition 297 Regionen in einem Subzustand ZA Beispiel 312 Rekursive Assoziation 47 Rollen Beispiel 54 55 56 70 71 R ckschleife Aktivit t Beispiel 166 191 R cksprung AD Beispiel 186 188 run to completion Annahme 322 run to completion step 323 Schleife UML Beispiel 164 Schlussaktivit t 312 Beispiel 318 Schlussknoten Interaktions berblick Beispiel 250 Schlusszustand Beispiel 293 294 296 331 333 Definition 298 Schlusszust nde in Regionen ZA Beispiel 299 312 Schreibweise von Attributen und Operationen 22 Schwimmbahnen 168 mehrdimensional 169 Schwimmbahnen AD Beispiel 168 Selbstransition Definition 312 Beispiel 318 333 self bei Lebenslinies 100 self object Definition 175 Semantik Definition in der UML 227 Semantikbestimmung bei Interaktionsoperanden 231 send signal action Definition 173 Grafische Darstellung 173 seq Operator 249 Sequenzdiagramm mit Zeitaspekten Beispiel 248 Sequenzdiagramme Aufbau 220 Sequenzen 219 Sequenznummer 102 Sich berholende Nachrichten SD 228 Signal 101 signal event 172 signal object 172 Signatur 100 standalone pin Beispiel 143 Grafische Darstellung 143 Standardprozessmodellierung 109 110 195 196 202 213 214 253 254 255 257 265 339 348 354 355 358 359 360 361 362 363 Definition 357 Startknoten Beispiel 133 162 168 185 186 188 189 191 Definition 162 Grafische Darstellung 154
355. ng 11 4 1 Weitere Theorieelemente Ereigniseintritte In den Abschnitten 7 5 und 10 10 wurde schon kurz auf das Auftreten von Ereignissen event occurrences hier auch Freigniseintritt oder Ereignis auftreten genannt eingegangen Dort wird mit diesem Konstrukt die Be ziehung zwischen Ereignissen und Aktionen hergestellt indem die UML Autoren definieren dass Ereigniseintritte Zeitpunkte darstellen denen Aktionen zugeordnet sind hnlich hier bei den Sequenzen Hier sind sie inhaltlich verkn pft mit den Nachrichten die bei den Sequenzen eine wichtige Rolle spielen und repr sentieren den Beginn bzw das Ende der Nachricht Das erste wird auch sendender Ereigniseintritt genannt das zweite empfangender Freig niseintritt Die folgende Abbildung erl utert dies grafisch Das Element mit der Nummer 1 repr sentiert eine Nachricht Am Startpunkt der Nachricht Punkt 2 und am Endpunkt Punkt 3 liegt jeweils ein Ereignisauftre ten vor ein sendendes bzw ein empfangendes I l i bestellenProdukt i E 1 Abbildung 11 4 1 Ereignisauftreten in Sequenzdiagrammen Anmerkung Die Nummern geh ren nicht zur UML Traces Da jede Nachricht durch zwei Ereignisauftritte zeitlich fixiert ist kann eine Sequenz auch so gesehen werden dass sie aus einer oder mehreren Folgen von Ereigniseintritten besteht Dies wird nun von den UML Autoren f r ein weiteres Element in ihrem Theoriegeb ude benutzt den Traces fig Spuren Als
356. ng stellte und Beamte enthalten die Attribute und Methoden die jeweils nur f r die Klasse gelten Also z B e Personen die Attribute beginnT tigkeit geburtsdatum name und vorname e Externe Dozenten die spezifischen Attribute wohnort mit PLZ stra e organisation Arbeitsplatz tarif Stundensatz e Angestellte die spezifischen Attribute tarifgruppe und status e Beamte die spezifischen Attribute fakult t fach amtsbezeichnung besoldungsstufe Die folgende Abbildung zeigt ein weiteres Beispiel Hier sind die an der Hochschule besch ftigten Personen unterteilt in halbtags und ganztags Besch ftigte Wieder gilt dass nat rlich halbtags und ganztags Be sch ftigte gemeinsame Attribute und Methoden haben aber nat rlich auch unterschiedliche Vollzeit Teilzeit besch ftigte besch ftigte 514 Abbildung 6 3 2 Generalisierung Spezialisierung Zeitlicher Umfang der Besch ftigung Bei diesem Diskriminator der Umfang Besch ftigung genannt werden kann umfassen die Subklassen genau die Attribute und Methoden die sich mit dem Zeitaspekt der Besch ftigung befassen Generalisierungsmengen Jede einzelne Beziehung zwischen einer spezialisierten und einer genera lisierten Klasse wird Generalisierungsbeziehung genannt Die Generalisierungsbeziehungen die gemeinsam eine Klasse untertei len stellen in der Sprache der UML Autoren eine Generalisierungsmenge dar Nun gilt dass sich sehr oft n d
357. ng e Sie geben Hinweise f r deren We terentwicklung v a durch den Punkt Gesamtsicht Diese Hinweise sind von grunds tzlicher Bedeutung und erhalten noch mehr Gewicht wenn man die Tendenz zu vollautomatisierten Gesch fts prozessen sieht Sie wurden oben unter drei Bezeichnungen zusammenge fasst e _Funktionsmodellierung vs Prozessmodellierung e Systemdenken vs Prozessdenken e Gesamtsicht Die Ursache f r alle drei Aspekte ist die ausgepr gte Systemorientierung der UML Autoren Letzendlich macht die parallele Betrachtung von Aktivit tsdiagram men und einer Methode der Standardprozessmodellierung hier EPKs auch deutlich dass Prozessmodellierung und systemnahe Modellierung verschiedene Dinge sind Gemeinsam ist ihnen dass sie Abl ufe erfassen danach kommen aber Besonderheiten der beiden Modellierungsebenen Prozessebene Systemebene die zu unterschiedlichen Theorieauspr gungen f hren Dar ber hinaus wird deutlich Wer in Systemen denkt tut sich schwer eine wirkliche Prozesssicht einzunehmen Sozusagen als Teilaspekt des obigen ergab s ch dieser Punkt Die f r die Prozessmodellierung wichtige Unterscheidung von Funktions und Prozessmodellierung ist in Systemen nicht brauchbar Geht man wie die UML Autoren unausgesprochen von Systemen aus f llt es einem des halb schwer die Unterscheidung in das eigene Theoriegeb ude einzubau en au er in Beispielen Auch der Aspekt der speziellen Betracht
358. ng 11 4 11 Sequenzdiagramm mit Zeitaspekten Quelle OMG 2003a S 444 Figure 347 Ubersetzung durch den Verfasser Die obige Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Mehrere zeitliche Festlegungen e _ berholen von Nachrichten Au erdem eine Nachricht die nach au en f hrt Gate Interaktions berblicke Das folgende Modellelement Interaktions berblicke und seine grafi sche Umsetzung wurde von den UML Autoren entwickelt um durch Kombination von Komponenten aus verschiedenen Modelltypen Se quenz und Aktivit tsdiagrammen den Kontrollfluss besser erfassen zu k nnen und einen gr eren berblick zu erhalten OMG 2003a S 447 Grunds tzlich beschreiben diese Modelle aber Interaktionen Die Knoten in diesen Diagrammen sind Interaktionen oder Verweise auf Interaktionen erkennbar am Interaktionsoperator ref Die Lebensli nien und die Nachrichten erscheinen bei dieser berblicksdarstellung nicht die Lebenslinien k nnen bei der Benennung des Diagramms ange f hrt werden Im Vergleich zu Aktivit tsdiagrammen ergeben sich folgende Unter schiede e An der Stelle von Objektknoten in den Aktivit tsdiagrammen gibt es hier nur Interaktionen oder Verweise auf Interaktionen e Kombinierte Fragmente mit dem Interaktionsoperator alternative alt werden durch eine Verzweigung entsprechend einem exklusiven Oder vgl Kapitel 10 Aktivit ten und eine damit zusammenh ngen de Zusammenf hrun
359. ng 3 7 2 Dreistellige Assoziation Trainingsdurchf hrung Konkrete Trainings durchf hrung 3 8 Klassendiagramme Definition und Beispiele Stellt man f r ein objektorientiertes Modell die Klassen und ihre Assozia tionen zusammen entsteht ein Klassendiagramm Das ist dann aber nur die Grundversion die durch viele weitere Theorieelemente ausgebaut werden kann Z B durch grafische Elemente f r die n den n chsten Ka piteln einzuf hrende Aggregation und Komposition Kapitel 5 sowie Generalisierung Spezialisierung Kap tel 6 Insbesondere aber auch durch die Verhaltensaspekte die durch Methodenaufrufe modelliert wer den k nnen vgl ab Kapitel 8 Die Klassendiagramme sind im Rahmen der objektorientierten Model lierung die wichtigsten Diagramme So auch Rumbaugh Jacobson und Booch 2005 S 217 Die folgenden zwei Beispiele zu den Anwendungsbereichen Hoch schule und Angestellte geben einen Eindruck von der Grundversion Die Beispiele werden in den n chsten Kapiteln ausgebaut Ziel der Anwendung beim Hochschulbeispiel ist die Verwaltung des Vorlesungsbetriebs und der Studierendenakten bzgl Vorlesungs und Pr fungsbesuch sowie des Betreuungsverh ltnisses zwischen Dozenten und Studierenden bzgl Diplomarbeiten Bachelerarbeiten Projektarbei ten usw Folgende Klassen wurden gefunden Dozenten Studierende Lehrveranstaltungen Pr fungen Die ersten drei d rften unstrittig sein Was die Pr fungen angeht
360. ng werden an die weiterf hrenden Kanten geschrieben Diese sto en dann jeweils eine entsprechende Aktion an Auftrag ableh nen bzw Auftrag annehmen Auftrag ablehnen Auftrag annehmen Auftrag eingang bee Auftrag angenommen 3 Abbildung 10 6 3 Beispiel f r den Einsatz einer Verzweigung Es kann auch eine Bedingung f r den Entscheidungsprozess definiert Variante werden Diese wird decision input behavior genannt n einer Notiz ange geben und durch das Schl sselwort lt lt decisionInput gt gt gekennzeichnet Vgl die folgende Abbildung Abbildung 10 6 4 Entscheidungsknoten mit decision input Quelle OMG 2003a S 321 Figure 237 Ein decision input behavior hat einen Inputparameter und einen Output parameter Der Inputparameter mu zu dem Objekttoken object token passen der ber die hinf hrende Kante ankommt D h er mu vom sel ben Typ sein Das decision input behavior darf keine Seiteneffekte haben In Abbildung 10 12 2 findet sich ein Beispiel Dort st die Bedingung f r den Entscheidungsknoten dass der Lagerbestand kleiner ist als die Nachbestellmarke Tokenfluss nur zu einer Kante Restkategorie Else Tokenfluss bei decision input behavior Verschmelzer 156 10 Aktivit ten Jeder Token der bei einem Entscheidungsknoten ankommt kann nur zu einer der wegf hrenden Kanten gelangen dies entspricht dem exklusi ven Oder In der Sprache der UML Auto
361. ngebracht werden k nnen AVI Audio video interleave Von Ereigniseintritten ber Traces zur Semantik Semantik Verschmelzung Verschmelzen In Systemen und Prozessen Vgl zu synchronen und asynchronen Nachrichten Abschnitt 7 5 2 Methodenaufrufe Zugangssystem Sich berholende Nachrichten 228 11 Sequenzen stellen dann neben Koordinierungsinformation zwar auch Aufrufe von T tigkeiten dar aber nat rlich nicht Methodenaufrufe Wie oben gesehen wird jede Nachricht in Sequenzdiagrammen durch jeweils eine beschriftete Pfeillinie zwischen den betreffenden Lebenslini en ausgedr ckt Die Pfeillinie gibt dann nicht nur an von wem die Nach richt stammt und an wen sie adressiert ist sondern ihre Gestaltung gibt weitere Eigenschaften der Nachricht an e Asynchrone Nachrichten haben eine Pfeilspitze ohne F llung e Synchrone Nachrichten die ja typischerweise Methodenaufrufe dar stellen werden mit einem gef llten Pfeilkopf dargestellt e Die Antwortnachricht zu einem Methodenaufruf hat eine gestrichelte Linie e Eine Nachricht zur Objekterzeugung hat eine gestrichelte Linie mit einem nicht gef llten Pfeilkopf e Verlorene Nachrichten lost messages werden durch einen kleinen schwarzen Kreis am Pfeilende gekennzeichnet Die UML Autoren definieren diese als Nachrichten bei denen der Sender und Sende vorgang bekannt ist n cht aber der Empf nger und Empfangsvorgang OMG 2003a S 429 und S 438 e G
362. ngeh rigkeit letztendlich auch eine Illusion ist Alle was ist besteht aus Teilen diese auch wieder usw Trotzdem bedarf es eines Angel oder Ankerpunktes mit dem wir arbeiten k nnen sonst w rde Realit tserfassung nicht mehr m glich So kommt es dass wir den Wald der Spazierg nger oder die Fichten Tannen Laubb ume aller Art usw der F rster erfassen und nicht die Bestandteile Bl tter Zweige usw vom weiteren inneren Aufbau ganz zu schweigen Obiges macht zweierlei klar Erstens die Wahl eines Ankerpunktes in der sozusagen senkrechten Zerlegungsdimension und zweitens die Subjektivit t des Vorgangs Denn der einfache Waldbesucher nimmt anderes wahr als der F rster und dieser wiederum anderes als ein durch den Wald wandernder Biologe ganz zu schweigen von einem durch den Wald flanierenden Liebespaar dessen konzentrierte Wahrnehmung kaum von den Waldbestandteilen jeglicher Art gest rt wird Das wof r man sich letztendlich entscheidet wird dann Objekt ge nannt Also z B Abteilung Stelle Geldautomat Rechnung usw Objekte in der objektorientierten Theorie Wie kann das nun f r die objektorientierte Theorie pr zisiert werden Zuerst einmal kn pfen wir an das an was wir auch umgangssprachlich darunter verstehen Objekte sind die Dinge die UML Autoren haben daf r den Begriff Classifier vgl unten die wir wahrnehmen und denen wir dadurch Informationen zuordnen 3 In seinem Buch mit dem Ti
363. ngen r_nr k_id bk_nr gt ergebnis T i doZahlung kize_id r_nr rechnungVerbuchenir nr buch_ftrans ze_id r_nr gt transaktions_id ee N r_ nr i I i buch_trans ze_id r_nr gt erzeugeMaillze_id r_nr Mail nB ro E transaktions_id doZahlungUnklar ze_id r_nr erzeugeMail text i gt MailAnB ro gt transaktions_id Datenbank E l l cu co en m a o m m m Emm m HE am vi e MEN Can E e MEN mim MEN HEN MANS HEN MEN Ha HEN HEN HEN MEN AEG HEN CE ME HE HG EG HE AG GA GE A GE BE HE GG GE HE a HE GE Ha Kam a Abbildung 11 4 10 Sequenzdiagramm AbgleichZahlungseingang Prozessbeispiel ro 11 4 Vertiefung 247 Obige Abbildung enth lt u a folgende Komponenten Mehrere synchrone Nachrichten Ein kombiniertes Fragment Drei Interaktionsoperanden Den Interaktionsoperator alternatives alt Mehrere Lebenslinien Au erdem mehrere Kontrollfokusse Au erdem handelt es sich um ein ausgepr gtes Systembeispiel 11 4 10 Zeitaspekte und Interaktions berblicke Zeitaspekte in Sequenzdiagrammen Wie in den obigen Abschnitten zu sehen war spielen konkrete Zeitaspek te n Sequenzdiagrammen keine Rolle Deshalb hier einige Erg nzungen die es erm glichen Zeitaspekte zu ber cksichtigen Diese Erg nzungen werden benutzt wenn der Hauptzweck des Dia Zeitaspekte gramms ist zeitliche Aspekte darzustellen Sie stellen Ver nderungen im Zeitablauf auf
364. ngesteckt hatte die Kontoabfrage durch Mitten in dieser kommt es zu einem Stromausfall Wenn dann im Pseudozustand fest gehalten ist in welchem Zustand die einzelnen Teilsysteme waren kann bei einem Neustart die alte Konfiguration wiederhergestellt werden 13 3 Vertiefung 301 6 Abbildung 13 3 3 Grafische Darstellung eines deepHistory Knotens Quelle OMG 2003a Die UML Autoren betonen noch dass in der neuesten Fassung der UML der enthaltende Zustand nicht verlassen werden muss um deepHistory zu definieren Dies bedeutet dass deepHistory Ziel von Transitionen von innerhalb des enthaltenden Zustandes sein kann und nicht nur von Zu st nden von au erhalb shallowHistory Pseudozustand Ein Pseudozustand des Typs shallowHistory repr sentiert den letzten aktiven Subzustand des Zustandes der den Pseudozustand enth lt aber nicht die Subzust nde dieses Subzustandes Nehmen wir wieder das obige Beispiel eines Geldautomaten und den Stromausfall w hrend der Kontoabfrage W re ein shallowHistory Kno ten vorhanden dann w rde der Zustand des Leseger ts festgehalten nicht aber die Zust nde seiner Komponenten Ein zusammengesetzter Zustand kann h chstens einen solchen Knoten haben Eine Transition zu dem shallowHistory Knoten ist gleichbedeu tend mit einer Transition die zu dem letzten aktiven Subzustand eines Zustandes f hrt Ein Pseudozustand des Typs shallowHistory wird durch einen Kreis dargestellt in dem sich
365. nicht gef llte Pfeilspitze am Ende einer Assoziation bedeutet dass das Ende navigierbar ist e Ein kleines x am Ende der Assoziation bedeutet dass das Ende nicht navigierbar ist Die folgende Abbildung zeigt einige Beispiele Assoziationen und Navigierbarkeit e Oberstes Paar AB Bin re Assoziation mit zwei navigierbaren Enden e CD Bin re Assoziation mit zwei nicht navigierbaren Enden e EF Bin re Assoziation mit nicht festgelegter Navigierbarkeit e GH Bin re Assoziation bei der ein Ende navigierbar ist und das andere nicht e JJ Bin re Assoziation bei der ein Ende navigierbar ist und bei dem dies f r das andere Ende nicht festgelegt ist Abbildung 3 9 1 Assoziationen Navigierbarkeit von Enden Quelle OMG 2003a S 85 Figure 33 Die folgende Abbildung zeigt ein navigierbares Ende mit der Attribut Navigierbares Ende notation Diese Darstellung ist m glich weil ein navigierbares Ende ein als Attribut Attribut ist Abbildung 3 9 2 Navigierbares Ende einer Assoziation in Attribut Notation Quelle OMG 2003a S 86 Figure 34 Enden einer Assoziation Enden und Teilmengen 58 3 Assoziationen 3 10 Vertiefungen Oben wurde der Begriff schon eingef hrt Assoziationsende f r die Enden einer Assoziation von denen jede Assoziation mindestens zwei hat Diese Assoziationsenden k nnen Eigenschaften haben die in den Grafiken angegeben werden k nnen Diese Pr zisierungen werden am Linienen
366. nicht gleich in den Schlusszustand sondern es w rde zur Auszahlung weitergehen Aber f r dieses Teilsy stem LeseBetrag ist es so richtig e Anderer Betrag angefordert Wahl korrekt Zustand ndern in einge benBetrag e Abbruch angefordert Wahl korrekt Ausstieg Dies f hrt zum Aus stieg Kommt es also zu einem g ltigen Auszahlungsbetrag ist der Automat mit seinen Aktivit ten am Ende und der Schlusszustand erreicht Wird keiner der auf der Anzeige angef hrten Betr ge gew nscht an dererBetrag geht es weiter zum Zustand eingebenBetrag Die dritte Transition signalisiert dass dem Nutzer auch die M glichkeit des Ab bruchs gegeben wird Der Pfeil f hrt zu einem Ausstiegspunkt der den Abbruch symbolisiert Der zweite Zustand eingebenBetrag hat ebenfalls mehrere abgehende Transitionen e Betrag eingegeben Eingabe korrekt Zustand ndern in Schlusszu stand e Abbruch angefordert Wahl korrekt Dies f hrt zum Ausstieg Entweder klappt also die Eingabe des Betrags dann dr ckt der Transiti onspfeil zum Schlusszustand das positives Ende aus oder es kommt zum Abbruch dann f hrt der Transitionspfeil zum Ausstiegspunkt 13 2 Grundlagen 293 LeseBetrag Abbruch angefordert Wahl korrekt Ausstieg w hleBetrag Betrag gew hlt hi korrekt S Wahl korrekt ii l S S Fi 2 m eingebenBetra Betrag eingegeben 9 9 Abbruch LS Eingabe korrekt angefordert Wahl korrekt Ausstieg oa Abbildung 1
367. nition der UML Autoren von Instanzen auf der Basis des Begriffs entity Instanz An entity that has unique identity a set of operations that can be applied to t and state that stores the effects of the operations OMG 2003a S 10 Zum Begriff und Konzept entity vgl Kapitelanfang 2 3 Objektklassen als Verwalter von Information So wie sie nun hier definiert sind werden Objektklassen auch zu Verwal tern von Informationen Zu den Informationen die bei der Klasse verwal tet werden geh ren e die Informationen der einzelnen Instanzen e Informationen zur Klasse als Ganzes 2 4 Grafische und textliche Darstellung 21 e Prozeduren mit denen die interne Repr sentation der Datenstruktur Beschreibung der Objekte ver ndert wird Zu den Informationen f r die Klasse als Ganzes geh ren Attribute die f r alle Instanzen gleich sind und aggregierte Informationen wie Anzahl Objekte oder der Mittelwert eines entsprechenden Attributs Solche Attribute werden Klassenattribute genannt Sie sind so definiert dass eine Auspr gung die gesamte Klasse betrifft Ihre Kennzeichnung erfolgt durch Unterstreichung Beispiele sind anzahlMitarbeiter und gehalts summe in einer entsprechenden Klasse zu den Angestellten eines Unter nehmens Bezeichnungen von Attributen und Methoden Operationen zu ihrem Aufbau vgl unten zur Formatierung Abschnitt 1 5 Daneben gibt es auch klassenbezogene Methoden class methods Sie sind unabh
368. nnen Auf welche Art sind also Aktionen in Aktivit ten eingebettet Am wichtigsten sind hierbei die Aktivit tskanten activity edges Eine Aktion wird durch eine solche zu ihr f hrende Kante aktiviert Sie startet dann wenn u a alle ankommenden Kanten mit Kontrollinformationen die Kontrollkanten control edges aktiv wurden Und sie hat von ihr weg f hrende Kanten die z B andere Aktionen ansto en Dazwischen leistet die Aktion ihren eigenen Beitrag zur Leistungserbringung Die UML Autoren sprechen dabei von Aktionsausf hrung action execution und definieren An action execution represents the run time behavior of executing an action within a specific activity execution OMG 2003a S 280 In diesem Kontrollflusskonzept sind Aktionen also aktive Elemente die angesto en werden etwas tun und etwas weitergeben Die Aktionsausf hrung steht n einem engen Zusammenhang mit der Ausf hrung der gesamten Aktivit t der Aktivit tsausf hrung activity execution Diese besteht darin einzelne Aktionen auszuf hren Jede Aktion kann bei einer bestimmten Aktivit tsausf hrung mehrfach einmal oder auch nicht aktiviert werden Mit der Wortwahl run time behavior sind die UML Autoren thema tisch bei der Softwareentwicklung und bei der Systemanalyse Dies ist bei vielen Textstellen so der Anspruch auf die anderen Bereiche siehe oben wird zwar erhoben im Text aber nicht immer bedacht 9 3 Vertiefung 9 3 1 Pins an
369. nommen in einem Anwendungsbereich Unternehmen sollen Projekte erfasst werden Dann kann z B das Attribut persNr Personal nummer zusammen mit einem Attribut bezProjekt Projektbezeichnung festhalten welcher Angestellte in welchem Projekt mitarbeitet Es be schreibt also Projektmitarbeit Kommt dann aber z B das Attribut name Name des Angestellten hinzu entstehen zus tzlich Objekte die Ange stellte beschreiben Erst mal mit persNr und name im weiteren dann sicherlich auch mit wohnort plz strasse usw Dies l st auch die n der Literatur immer wieder gestellte Frage wann ein beobachtetes Ph nomen Objekt oder Eigenschaft st Dient es dazu etwas anderes zu beschreiben ist es Eigenschaft und wird als Attribut bzw Attributsauspr gung modelliert Wird es selber durch andere Infor mationen beschrieben ist es Objekt Hierzu ein Beispiel 2 1 Einf hrung 15 Wenn es Gesch ftsstellen eines Unternehmens in mehreren St dten gibt sollten dann die St dte eine Eigenschaft der Objekte Gesch ftsstellen sein oder sollten sie zu eigenst n digen Objekten werden Mit der oben eingef hrten Regel kommt man zu folgendem Ergebnis Zuordnung Werden die St dte n her beschrieben z B durch einwohnerzahl kauf kraft region usw m ssen eigene Objekte angelegt werden Sind die St d te ber ein dentifizierendes Attribut allein als Eigenschaften der Ge sch ftsstellen gef hrt dann sollten sie Attr but der Gesch ftsstellen sein
370. nssystemen die Lage deutlich ver ndert Heute ist der Trend berdeutlich Immer mehr Gesch ftspro zesse werden vollst ndig automatisiert erledigt Menschen kommen zum Beispiel nur noch als Kunden vor Nutzer und Beschleuniger die ses Trends sind die Internetunternehmen deren Gesch ftsmodell auf dem automatisierten Umgang mit Tausenden oder Millionen Kunden aufbaut Werden also Gesch ftsprozesse durch Programme abgewickelt k n nen zwar Kommunikationsdiagramme das Problem der fehlenden steu ernden Hand Kontrollfluss nicht l sen aber die Programme l sen es Vgl zu dieser Frage die entsprechenden zusammenfassenden Ab schnitte in den n chsten Kapiteln und die Gesamteinsch tzung in Kapi tel 14 In der Vergangenheit war um es einfach auszudr cken ein Klas sendiagramm ein zu sehr ins Detail gehendes Instrument f r die Unter nehmensmodellierung Unternehmensmodellierung wurde nicht auf der Ebene von Attributen und Methoden die Attribute verarbeiteten durch gef hrt sondern auf der von Gesch ftsobjekten und hren Methoden Dies ndert sich gerade durch den oben angesprochen Trend zur Au tomatisierung Er erzwingt eine systemnahe Prozessmodellierung vgl Anmerkung unten zur Vorbereitung der Systemanalyse und des Software Engineering Die bisherige Unternehmensmodellierung wird dann z B aber nicht nur m Teilbereich der Prozessmodellierung zu einer bergeordneten Modellierung Im Be
371. nte Token angeboten werden muss die Weitergabe traversal akzeptiert oder abgelehnt werden bevor weitere Token der wegf hrenden Kante angebo ten werden Falls Token zur ckgewiesen werden werden sie der wegf h renden Kante nicht l nger angeboten OMG 2003a S 339 Falls zus tzlich eine Join Spezifikation angegeben wird wird sie wie in Join Spezifikation der n chsten Abbildung angegeben zur Grafik hinzugef gt joinSpec E E Abbildung 10 6 14 Vereinigung mit Join Spezifikation Beispiel Das folgende Beispiel enth lt eine solche Festlegung des Joins Die Fest legung besagt Erst wenn beide Aktionen abgeschlossen sind und wenn zus tzlich die eingeworfenen M nzen den Getr nkepreis abdecken dann wird das Getr nk ausgegeben hoinSpec A und E und der Gesamtwert der eingegebenen M nzen ist gt Getr nkepreis l Getr nk w hlen M nzen einwerfen Abbildung 10 6 15 Fragment Getr nkeautomat Vereinigung mit Join Spezifikation Getr nk ausgeben Vergleich In Abschnitt 10 11 8 wird im Rahmen eines Vergleichs der bei bk ap den Methoden EPK und AD zu diesem Aktivit tsdiagramm eine aquivalente Ereignisgesteuerte Prozesskette vorgestellt Beispiel Keine Speicherung in Kontrollknoten 162 10 Aktivit ten Vereinigung und Gabelung zusammen hnlich wie oben f r die Zusammenf hrung und die Verzweigung ge zeigt k nnen auch Vereinigung und Gabelung di
372. o organizational modeling for business process engineering and workflow In th s context events often originate from inside the system such as the finishing of a task but also from outside the system such as a customer call OMG 2003a S 284 Hervorhebung durch den Verfasser Das Zitat zeigt auch wiederum sehr deutlich den Spagat auf den die UML Autoren leisten wollen Zum einen soll die klassische Aufgabe bez glich Systemanalyse und Systemdesign erf llt werden zum anderen die rund um Gesch ftsprozesse 8 2 Verhalten Im Gegensatz zum vorigen Kapitel geht es hier also nicht um Informati onsszrukturen nicht um statische Aspekte eines Systems oder auch eines Gesch ftsprozesses sondern um die dynamischen Aspekte das System verhalten bzw d e T tigkeitsfolgen n Gesch ftsprozessen Die UML Au toren schreiben in diesem Zusammenhang auch konsequent von Verhal tensmodellierung behavioral modeling Sie definieren Verhalten als die beobachtbaren Wirkungen eines Vor gangs operation oder Ereignisses einschlie lich seiner Ergebnisse OMG 2003a S 5 e Ein Beispiel f r einen Vorgang bei einem Geldautomaten Kunde schiebt EC Karte rein Sie pr zisieren dann dahingehend dass Verhalten in diesem Sinne die Programmschritte computation festlegt die die Effekte des Verhaltens der Verhaltenseigenschaft behavioral feature erzeugen e Beispiel f r Verhalten Effekte desselben bei einem Geldautomaten
373. och der Zusatz stream bei dem Pin Objektkknoten PC Designs Dieses streaming Konzept wird in Abschnitt 10 5 4 erl utert 10 4 Aktivit tskanten 143 Der Ablauf Das kleine Fragment aus einem gr eren Gesch ftsprozess zeigt dass die Aktion Auftrag zusammenbauen insgesamt drei Objekte ber ihre drei Input Pins erh lt Auftrag Teile PC Design In der Aktion wird dann der Zusammenbau vorgenommen und der Output Pin tr gt das Objekt Auf trag zusammengebaut Tokenfluss Token sind hier dann zum einen Kontrolltoken die das Weitergehen im Kontrollfluss modellieren zum anderen die angef hrten Objekttoken PC Designs Design PC Designs Auftra akzeptiert __ my Auftrag aan Me zusammen gestellt gebaut Abbildung 10 4 10 Objektknoten mit Pinsymbolen Quelle OMG 2003a S 359 Figure 286 bersetzt durch den Verfasser Auftrags annahme Teile zusammen Teile f r Au Este trag zusam menstellen Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Mehrere Input Pins Mehrere Output Pins Au erdem eine streaming Festlegung Kurznotation Neben obiger grafischer Darstellung f hren die UML Autoren auch eine optionale Kurznotation ein Diese greift wenn der Output Pin einer Akti on mit einem gleichnamigen Input Pin einer anderen Aktion verbunden ist Dann kann dies unter Verwendung nur eines Symbols wie i
374. oder dem Objektkknoten ausgedr ckt Falls die PIN Notation gew hlt wurde kommt die Anmer kung in die N he des P n Symbols Die Voreinstellung ist in allen F llen nonstream Bei Objekten in Parameterknoten Bei Objekten in Parameterknoten ist die Bedeutung wie folgt e Bei Input Das Objekt kommt st ndig an wird st ndig in den Fluss reingereicht Vgl Abbildung 10 5 24 f r ein Beispiel e Bei Output Das Objekt wird st ndig erzeugt und nach au en wei tergereicht Beispiele Oben im Beispiel der Abbildung 10 5 10 war eine Aktion mit dem Zusatz stream enthalten Die Aktion Design erstellen erstellt nicht nur ein einzelnes Objekt PC Design sondern st ndig neue und bietet sie auf sei nem Outputtoken an Die Aktion Auftrag zusammenbauen nimmt sich dann die Objekte PC Designs wie sie sie ben tigt Im folgenden Beispiel ist Auftrag ausf hren ein st ndiger Vorgang der in regelm igen Abst nden Objekte des Typs Auftrag ausgef hrt er zeugt Der Auftragsversand ist ebenfalls ein st ndiger Vorgang der re gelm ig die ausgef hrten Auftr ge erh lt und dann den Auftragsversand realisiert 10 4 Aktivit tskanten 149 Auftra versenden stream Auftrag ausf hren Aunrag ausgef hrt Abbildung 10 4 20 Objektfluss durch Streaming Quelle In Anlehnung an OMG 2003a S 360 Figure 288 bersetzung durch den Verfasser Die obige Abbildung enth lt zwei Beispiele f r streaming und
375. oder ihr strukturierter Aktivit tsknoten es tun Au erdem gilt dass eine solche Aktion immer in der Lage ist Ereignisse zu akzeptieren egal wie viele Sie h rt auch nicht auf wenn sie ein Er eignis akzeptiert hat sondern steht weiterhin in Warteposition ist also weiterhin aktiv Dies weicht ab von der ansonsten blichen Festlegung in der UML Graphische Darstellung Eine accept event action wird durch ein F nfeck mit Einbuchtung darge stellt eine wait time action durch ein Stundenglas Vgl die folgende Abbildung 2 z Abbildung 10 9 1 Modellierung von Zeitpunkten Accept event action und wait time action 10 9 Die zeitliche Dimension und die Ereignisse 173 Beispiele Das erste Beispiel zeigt ein Signal das die Stornierung eines Auftrags verlangt Die Akzeptanz des Signals st t dann die Aktion Auftrag stor nieren an Auftrag stornieren Abbildung 10 9 2 Accept event action im Einsatz Die obige Abbildung enth lt folgende Merkmale bzw Komponenten Die Modellierung eines Zeitpunkts Eine accept event action Au erdem ein Signal das eine Aktion ausl st Vor dem n chsten Beispiel wird noch ein weiteres Element eine weitere Aktion ben tigt das die Aussendung eines Signals modelliert Send signal action ist diese Aktion die mit ihrem Input ein einzelnes send signal action Signal signal instance erzeugt und zum Zielobjekt bertr gt Dort kann diese das Feuern einer
376. offtyp verbleit unverbleit Diesel Erstzulassung Integer OPERATIONS Neues Pahrzeug es Wert Fahren Verkaufen END Fahrzeug CLASS PKW INHERIT Fahrzeuge PROPERTIES Kraftstofftyp verbleit unverbleit neu definiert zus tzliche Eigenschaften von Autos Gr e kompakt mittel gro Extras Menge OptionsTyp END Auto Beispiel Fahrzeuge V gel die nicht fliegen Mehrfach erben Klassen ohne Instanzen Klasse ohne eigene Objekte 90 6 Generalisierung Spezialisierung Ausnahmen Nat rlich muss hier auch die Situation der Ausnahmen ber cksichtigt werden dass z B bez glich einer Methode bestimmte Objekte einer Objektklasse eine Methode nicht ohne Modifikation erben k nnen Stellen wir uns dazu eine Objektklasse V gel vor Deren Instanzen haben sicherlich alle die Eigenschaft kann fliegen bis auf einige Ausnahmen Solche Ausnahmen k nnen erfasst werden indem f r die Ausnahmeob jekte die geerbten Methoden und Attribute berschrieben werden k n nen Mehrfachvererbung Die sich oben ergebende Baumstruktur wird durchbrochen wenn eine Subklasse zwei oder mehr Superklassen hat Dann liegt eine sog mehrfa che Vererbung multiple inheritance vor In einem solchen Fall erbt eine Subklasse die Methoden und Attribute mehrerer bergeordneter Klassen W hrend die einfache Vererbung zwischen einer Superklasse und einer Subklasse bei der Um
377. ogonaler Zust nde Wird ein zusammengesetzter Zustand verlassen wird der aktive Subzu stand rekursiv verlassen Das bedeutet dass die Schlussaktivit ten nach einander ausgef hrt werden beginnend mit dem innersten aktiven Zu stand n der aktuellen Zustandskonfiguration Verlassen eines orthogonalen Zustandes Wird ein orthogonaler Zustand verlassen wird jede seiner Regionen ver lassen Danach werden die Schlussaktivit ten des Zustandes ausgef hrt Zustand eines untergeordneten Zustandsautomaten Ein Zustand eines untergeordneten Zustandsautomaten submachine state ist semantisch gleichbedeutend mit dem zusammengesetzten Zustand der durch den untergeordneten Zustandsautomaten definiert ist Erreichen und Verlassen des zusammengesetzten Zustandes erfolgt im Gegensatz zu einem einfachen zusammengesetzten Zustand mittels Einstiegs und Ausstiegspunkten Erreichen Ein untergeordneter Zustandsautomat eines zusammengesetzten Zu standsautomaten submachine composite state machine kann durch sei nen voreingestellten Initialknoten Pseudozustand oder durch einen sei ner Einstiegspunkte betreten werden Es kann also sein dass der Zutritt zu einem nicht orthogonalen oder einem orthogonalen zusammengesetzten Zustand mit Regionen erfolgen muss 13 3 Vertiefung 315 Der Zutritt ber den In tialknoten bedeutet dasselbe wie f r gew hnli che zusammengesetzte Zust nde Ein Einstiegspunkt ist gleichbedeutend mit einem Verbindung
378. olgenden Beispiel Rechnung umfassend Es soll aber doch bei dieser Kennzeichnung als Prozessbeispiel bleiben da Rechnung tats chlich ein Gesch ftsobjekt ist und zum Beispiel auf System bzw Programmebene noch weiter zerlegt werden m sste Rech nungskopf Rechnungspositionen Erscheinungsformen einer Rechnung In einem Mahnwesen spielt nat rlich die Rechnung eine prominente Rolle Sie kann auch sehr viele unterschiedliche Zust nde einnehmen Diese werden hier dargestellt Anmerkung Die Aktion die als dritter Teil der Transition angege ben wird ist hier sehr oft schlicht das Setzen des neuen Zustan des Sie wird zur Verdeutlichung einige Male angegeben meist aber weggelassen Nach der Erstellung der Rechnung ist sie f r das System existent und im Zustand Neue Rechnung Nach der bersendung zum Kunden kommt sie in den Zustand Offen 13 5 Beispiele von Verhaltenszustandsautomaten 327 Zahlungsart Lastschrift Durch eine Abbuchung im Lastschriftverfahren geht die Rechnung in den Zustand R ckbuchbar bezahlt ber Sind sechs Wochen vergangen kann die Zahlung vom Kunden nicht mehr zur ckgebucht werden und die Rechnung geht in den Zustand Bezahlt ber War die Lastschrift gar nicht m glich geht die Rechnung von Offen n den Zustand Lastschrift verweigert ber Folgende Gr nde sind daf r m glich e das Konto existierte nicht mehr e das Konto war nicht gedeckt e der Kunde hat der Bank gegen b
379. ollautomatisch zwischen den Systemkomponenten abl uft 8 3 Starke Verkn pfung von Objekten und Verhalten In der objektorientierten Theorie sind Objekte und Verhalten untrennbar miteinander verkn pft Verhalten Akt on von Objekten Jedes Verhalten st das direkte Ergebnis der Aktion mindestens eines Objekts OMG 2003a S 369 Beispiele daf r bei einem Geldautomaten sind Einzug EC Karte um sie zu lesen Ausgabe Geldscheine nach erfolgter Pr fung Das Wort mindestens deutet aber schon an dass die UML Autoren auch das Zusammenwirken mehrerer Objekte bzw des Verhaltens mehrerer als Grundlage eines modellierten Verhaltens sehen Die UML Autoren pr gen f r das Objekt von dem das Verhalten stammt den Begriff Host Objekt host object Der Zusammenhang zwischen Objektstruktur und Verhalten wird so gesehen dass das Verhalten Objektzust nde ver ndert Verhalten nderung von Objektzust nden Objekte haben Zust nde die durch Struktureigenschaften fixiert sind Diese Zust nde k nnen sich im Zeitablauf ndern Genau diese Zu standsver nderungen stellen Verhalten dar Nehmen wir als Beispiel das Karteneinzugsger t bei einem Geldauto maten Zustand 1 k nnte sein Bereit Karte anzunehmen Zustand 2 Ge sperrt Usw Fast schon philosophisch werden die UML Autoren wenn sie darauf hinweisen dass Verhalten in diesem Sinn somit nicht f r sich alleine existiert und nicht kommuniziert OMG 20
380. on oben als einf hrendes Beispiel verwendet vgl die Beschreibung dort Hier spielt er nun aber eine besondere Rolle weil er in einem Zustand des n chsten Zustandsautomaten wieder auftritt Dies deutet auch das An h ngsel SM submachine an die Bezeichnung an F r die Betrachtung der Verschachtelung unten soll hier gekl rt wer den wie dieser Zustandsautomat beendet werden kann Zum einen sozu Automat im Zustand System im System im System Automat im Automat im Automat Verkn pfung ber Ebenen LeseBetragSM Zustandsautomat mit einem Zustand der einen Zustandsautomaten enth lt LeseBetrag Lese BetragsM Beschreibung 306 13 Zustandsautomaten sagen erfolgreich durch den Schlusszustand zum anderen durch den Ausstiegspunkt der ben tigt wird falls es zu einem Abbruch kommt LeseBetragSM Abbruch angefordert Wahl korrekt Ausstieg andererBetrag w hleBetrag angefordert Betrag gew hlt Wahl korrekt Wahl korrekt abgebrochen eingebenBetragl X Betrag eingegeben Abbruch LS Eingabe korrekt angefordert Wahl korrekt Ausstieg 50172 Abbildung 13 3 10 Zustandsautomat LeseBetragSM Quelle In Anlehnung an OMG 2003a S 488 Figure 389 bersetzung durch den Verfasser Das Beispiel der n chsten Abbildung zeigt den Zustandsautomaten Geld automat Dieser enth lt f nf Zust nde Pr feKarte LeseBetrag LeseBetragSM Pr feTransaktion FreigebenKart
381. on zweistellig mit Raute Grafische Darstellung 40 Assoziationsende Eigenschaften 58 Assoziationsklasse aufgel ste Beispiel 68 Assoziationsklassen 64 Asynchrone Nachrichten Grafische Darstellung 103 Asynchroner Nachrichtenaustausch Definition 101 Attribute Schreibweise 22 Aufruf einer Aktivit t 167 Beispiel 183 185 aufrufende Aktion 141 177 Ausnahmeanmerkung 149 Beispiel 150 151 Ausnahmen 137 Ausstiegspunkt ZA 309 Beispiel 293 319 333 Grafische Darstellung 289 309 Ausstiegspunkt am Zustand ZA Beispiel 307 Auswahl Objektknoten Grafische Darstellung 135 Auswahlknoten ZA Grafische Darstellung 304 Auswahlknoten ZD 303 Auswahlverhalten Beispiel 147 182 Definition 135 Automatisierung 7 108 109 214 352 Beenden Knoten ZA Grafische Darstellung 304 Beendigung Subzustand Beispiel 312 Bereich eines Zustandes f r die internen Aktivit ten 316 f r die internen berg nge 316 Bereiche eines Zustandes 316 Bereiche f r interne Aktivit ten ZA Beispiel 333 BPMN 354 Business Process Modeling Notation 354 callevent 172 change event 172 Classifier Definition 34 Erl uterung 34 Grafische Darstellung 35 Classifier mit Unterbereichen Grafische Darstellung 36 Darstellung Instanzen 23 Datenspeicher 135 Beispiel 175 182 Datentoken 119 decision input Beispiel 181 decision input behavior 155 Grafische Darstellung 155 Ding 35 direkter Subzustand 298 300 Diskriminator 78 dynamisch und ti
382. onsauftreten eine Menge aktueller Gates hat die den forma len Gates der Interaktion auf die sie sich bezieht entsprechen m ssen Die Semantik eines Interaktionsauftreten ist wiederum einfach durch die Traces der einzubindenen Interaktion gegeben Grafische Darstellung Das Interaktionsauftreten wird w e ein kombiniertes Fragment dargestellt mit dem Interaktionsoperator ref Beispiel In der folgenden Abbildung sind zwei Beispiele f r ein Interaktionsauftre ten enthalten ffneT r und VerbindungHerstellen Beide sind als kombi nierte Fragmente mit ref dargestellt Diese stellen jeweils eigene Interak tionen dar die an anderer Stelle spezifiziert sind 11 4 Vertiefung 239 sd Zugangskontrolle sd Zugangskontrolle I KarteRaus I Msgi Bitte eintreten I ffneT r Abbildung 11 4 7 Sequenzdiagramm mit kombinierten Fragmenten ref und opt Quelle OMG 2003a S 424 Figure 338 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Zwei Verweise auf andere Interaktionen bzw Sequenzdiagramme Interaktionsauftre ten s Den Interaktionsoperator ref mit dem die Verweise gekennzeichnet sind Den Interaktionsoperator opt Au erdem zwei verschachtelte kombinierte Fragmente mit den Interaktionsoperatoren opt und ref 11 4 8 Zustandseinschr nkung und Stop Eine Zustandseinschr nkung state invariant ist eine Einschr nkung f r
383. operator critical Au erdem zwei verschachtelte kombinierte Fragmente critical in par Ignore Consider Der Interaktionsoperator ignore consider legt fest dass es Nachrichten Aktiv oder auch gibt die im jeweiligen Fragment nicht aktiv werden d rfen nicht Umgekehrt legt consider fest welche Nachrichten im jeweiligen Frag ment beachtet werden sollen Damit erhalten alle anderen Nachrichten m Fragment den Status ignorieren F r ein Beispiel und die grafische Darstellung vgl Abbildung 11 4 9 Darstellung Unhandlich Festlegung Nachrichtenverkehr Bezeichnung Darstellung 236 11 Sequenzen Assertion Der Interaktionsoperator assertion assert legt fest dass der im Fragment angegebene Nachrichtenverkehr auf jeden Fall stattfindet Assertions s nd oft kombiniert mit gnore Consider F r ein Beispiel und die grafische Darstellung vgl Abbildung 11 4 9 Loop einstellig Der Interaktionsoperator loop legt fest dass das Fragment eine Schleife repr sentiert Der Schleifenoperand wird mehrfach wiederholt Die Inter aktionseinschr nkung kann sowohl eine untere und obere Grenze f r die Wiederholungen enthalten als auch einen Booleschen Ausdruck Das loop Konstrukt repr sentiert eine rekursive Anwendung des seq Operators wo die Ergebnisse der einzelnen Schritte der Iterationen des loop Operanden in eine sequentielle Abfolge gebracht werden Die Darstellung ist textlich Die Syntax des loop Operanden
384. orbe re tung der Programmierung dienen kommen also nach der Unter nehmensmodellierung Vgl hierzu auch die Gesamteinsch tzung in Kapitel 14 13 6 Zustandsautomaten und Unternehmensmodellierung 343 Verwendete Fachbegriffe in Kapitel 13 Aktivit t Zustandsaktivit t Do activity state activity Do Aktivit t activity initial pseudo state t ten ment tionen ment deepHistory Knoten deepHistory vertex direkter Subzustand direct substate einbettender Zustand enclosing state einfacher zusammengesetzter simple composite state Zustand einfacher Zustand simple state Einstiegspunkt entry point Ereignis Abschlussereignis event completion event Eingangsaktivit t entry activity event pool event set Gabelung hierarchischer Zustandsauto hierarchical state machine mat LCA letzter gemeinsamer Vor LCA least common ancestor g nger dynamisch bedingter Zweig dynamic conditional branch Gruppentransition group transition 344 13 Zustandsautomaten punkt ten Pseudozustand Beenden pseudostate terminate en moanden pseudos termale Knoten vertex Pseudozustand Einstiegspunkt pseudostate entry point Pseudozustand Gabelung pseudostate fork vertex Pseudozustand Initialknoten pseudostate initial vertex ry Knoten vertex pseudostate junction vertex Knoten Starttransition initial transition statisch bedingter Zweig static conditional branch Subautomat eines Zustandsau submac
385. otschaften auf die Objekte einer Klasse reagieren k n nen wird als Protokoll protocol der Klasse bezeichnet Balzert 2001 S 206f 7 2 Kollaborationen 95 Unterschieden wird dabei der Aufruf von nstanzmethoden und von Klassenmethoden Wie in Kapitel 2 gezeigt wurde sind erstere Methoden die einzelne Instanzen betreffen z B eine Preis nderung bez glich einer Instanz einer Objektklasse zu Produkten Zweitgenannte betreffen Me thoden durch die alle Objekte einer Objektklasse angesprochen sind z B die Feststellung der Gesamtzahl der Angestellten oder der Lohnsumme in einer Klasse zu den Angestellten Interaktion F r die UML Autoren f llt der Nachrichtenverkehr zwischen Objekten unter den Begriff der Interaktion F r sie basiert eine Interaktion auf ei nem strukturierten Classifier oder auf einer Kollaboration Die Interakt on kann im Rahmen der UML als Sequenz mit Sequenzdiagrammen oder als Kommunikation mit Kommunikationsdiagrammen beschrieben wer den die jeweils unterschiedliche Aspekte der Interaktion betonen Rum baugh Jacobson und Booch 2005 S 37 Unter einem strukturierten Classifier kann man sich z B ein objektori entiertes Modell mit einem Kommunikationsdiagramm vorstellen Kolla borationen werden m n chsten Abschnitt vorgestellt In den Originalquellen und bei den meisten sonstigen Autoren wird auch betont dass als Versender wie auch als Empf nger von Nachrichten Rollen vgl unten betrachtet
386. ozesssicht stark reduzierten Kon trollfluss so wie er f r ein Programm notwendig ist Zustandsautomaten enthalten in der einfachen Form fix und flach nur die Zustands nderungen eines Objekts In der komplexen Form dy namisch und tief deutlich mehr allerdings ist die Umsetzung eines Kontrollflusses in diese Strukturen sehr kompliziert vgl Abschnitt 13 6 Ein St ck weit wurde das Kontrollflussdefizit in der Version 2 0 durch die Aktivit ten beseitigt Mit ihnen ist es m glich wenn auch in haltlich und grafisch umst ndlich Ablauffolgen zu modellieren Eine Ursache f r die Schwierigkeiten ist dass das eigentlich f r die Darstel lung des Kontrollflusses gedachte Konzept Aktivit ten in der modell technischen Aufteilung von T tigkeit und Ergebnis und der damit ver bundenen Einbindung von Operatoren unhandlich ist Au erdem ist die Methode AD dem Kernbereich der objektorientierten Theorie aufgepfropft und kaum mit den brigen Theorieelementen ver bunden Es wurde im Text in den einschl gigen Kapiteln mehrfach thematisiert In allen Theorielementen ist der Einbau von Verzweigungen umst ndlich Aktivit ten Sequenzen bis so gut wie unm glich Kommunikationsdia gramme Die UML Autoren scheinen davon auszugehen dass die T tigkeiten in der Regel nicht scheitern und dass es selten alternative Zweige des Kontrollflusses zu gehen gilt Am deutlichsten ist dies in den Beispielen erkennbar diese zeigen 1
387. parallele unabh ngig voneinander erfolgende Ag eren einzelner Prozesse st dann nicht nur vorstellbar sondern notwendig Ein weiterer Hinweis ergibt sich durch die Elemente restart und strea ming mit denen das Grundschema durchbrochen wird dass eine T tigkeit erst neu starten kann wenn die vorige Aktivierung beendet ist Ersteres bedeutet dass ein Prozess der noch aktiv ist gleich nochmals gestartet werden kann In der Standardprozessmodellierung wird unaus gesprochen davon ausgegangen dass ein einmal gestarteter Prozess erst abgewickelt sein mu bevor er neu gestartet werden kann Dies ist auch durch die grafische Darstellung des Kontrollflusses nicht anders m glich Auch das streaming Konzept geh rt hierher Wie oben dargestellt be deutet streaming dass eine bereits aktive Aktion weiterhin Input anneh men und Output abgeben kann Sie bleibt also permanent aktiv Durch Systemorientierung zur Gesamtsicht Insgesamt also deutliche Hinweise auf eine S cht der Unternehmensabl u fe die durch eine Systemorientierung gepr gt ist F r die Prozessmodel lierung wird dieser Hinweis durch den Trend zur Automatisierung der Gesch ftsprozesse bedeutsam vgl dazu auch Kapitel 14 denn von Men schen getragene Gesch ftsprozesse k nnen kaum mit diesen Merkmalen versehen werden 10 11 4 Defizite in Hinblick auf die Prozessmodellierung Die Methode AD weist auch einige Defizite auf die eine Einsetzbarkeit in der Prozessmodell
388. piel geht es um Abl ufe rund um ein Vorschlagswesen Die Abl ufe sind wie folgt Die erste Aktion Vorschlag ver ndern wird entweder durch den Start der Aktivit t aufgerufen oder aber durch eine Schleife Dazu gleich mehr Danach wird die Aktion Vorschlag pr fen ausgef hrt Mit dieser kommt es zu einem Entscheidungsvorgang einer Verzweigung Der Vorschlag wird entweder zur ckgewiesen ge ndert oder angenommen e Im Falle der Annahme wird die Aktivit t Vorschlag annehmen aus gef hrt Danach endet die Aktivit t modelliert durch einen Knoten Aktivit tsende e Im Falle der Ablehnung wird diese bekanntgegeben Auch hier endet dann die Aktivit t wiederum modelliert durch einen Knoten Aktivi t tsende e Wird beschlossen den Vorschlag zu ndern werden mit Hilfe einer Gabelung zwei Aktionen angesto en Zum einen die Benachrichti gung bzgl des nderungswunsches zum anderen die Aktion Vor schlag ver ndern am Anfang der Aktion Es kommt also zu einem R cksprung Dieser ben tigt vor der ersten Aktion eine Zusammen f hrung Man vermisst in diesem Beispiel schon sehr schmerzhaft die Angabe der Tr ger der Aktionen Dies w rde die Aussagekraft sehr erh hen Vorschlag annehmen Vorschlag Vorschlag ver ndern pr fen ee decision zur ck weisen Abbildung 10 10 8 Aktivit t Vorschlagswesen Quelle In Anlehnung an OMG 2003a S 300 Figure 217 10 11 Aktivit ten und Unternehmensmodellierung 191
389. pielhaft angegeben Die Wertigkeiten legen die Beziehungen beispiel haft fest Ein PC hat genau eine Hauptplatine Eine Hauptplatine steckt in maximal einem PC Ein PC hat mindestens eine Festplatte Jede Festplatte geh rt zu maximal einem PC Ein PC hat genau einen Bildschirm Ein Bildschirm geh rt zu maximal einem PC Eine Hauptplatine enth lt mindestens einen maximal vier Prozesso ren Jeder Prozessor geh rt zu maximal einer Hauptplatine Eine Hauptplatine enth lt mindestens einen Speicherbaustein Jeder Speicherbaustein geh rt zu maximal einer Hauptplatine Eine Hauptplatine enth lt mindestens ein maximal drei Bussysteme Jedes Bussystem geh rt zu einer Hauptplatine Die Grenze zwischen einfachen Assoziationen und Aggregationen ist St ckliste flie end Deshalb kann die oben als einfache Assoziation modellierte St cklistenbeziehung vgl Abbildung 3 5 8 hier als Aggregation ange f hrt werden 14 Dem Verfasser ist bewusst dass hier teilweise auch andere Werte m glich sind 15 Hier wird deutlich dass es nicht um Typen von Speicherbausteinen sondern um einzelne Exemplare geht Existenz abh ngigkeit Baumstruktur 76 5 Aggregation und Komposition A Teilw r Abbildung 5 2 2 St cklistenbeziehung als Aggregation Allerdings ist diese Modellierung aussagekr ftiger als die oben da sie zus tzlich zur semantischen Verkn pfung noch das Enthaltensein aus dr ckt Kompositionen Bei Kompositio
390. prozesse Umfassendes objektorientiertes integriertes Unternehmens modell Gesch ftsprozesse Systemverhalten Sind Gesch ftsprozesse Automaten Statik vs Dynamik Struktur vs Verhalten Viele Beispiele in Abbildungen 8 1 Einleitung Die Webunternehmen f hren uns diesen Trend gerade eindr cklich vor Nicht nur der Kontakt zum Kunden sondern seine R ckmeldungen das Mahnwesen Finanzwesen die Leistungserbringung usw werden automa tisiert abgewickelt Dazu unten in den Kapitelzusammenfassungen und in der Gesamtein sch tzung Kapitel 14 mehr 1 3 Die UML Was ist die UML Objektorientierung gab es vor der UML und wird es auch danach geben wie das so ist im Wissenschaftsleben Die Unified Modeling Language stellt aber derzeit einen Standard dar Die Leistung der UML Autoren bestand u a darin eine Vereinheitlichung der vielen verschiedenen ob jektorientierten Theorieans tze durchzuf hren Es war aber nicht nur die Vereinheitlichung sondern auch die Pr zisie rung und Vertiefung die den Wert der UML ausmacht Hier vor allem durch eine ausgefeilte Metamodellierung Vgl hierzu WebZum Buch UMO3 Hauptwirkungsbereich der objektorientierten Theorie war und bleibt die Systemanalyse mit ihrer Zweiteilung zwischen Struktur und Verhalten im Anwendungsbereich Diese Zweiteilung wurde in der objektorien tierten Theorie von Anfang an bernommen vor der UML und dann auch durch die UML Autoren Das is
391. r berblicksnotation ooERP Wie in Abschnitt 2 9 schon ausgef hrt ist die Eignung des Strukturteils der objektorientierten Theorie f r die Modellierung von Informations strukturen unstrittig auf einer systemnahen Ebene Klassendiagramme k nnen ein umfassendes Modell der ben tigten Datenbanken liefern wie sie f r die Realisierung der Gesch ftsprozesse ben tigt werden Bleibt noch die Frage nach der Eignung f r die integrierte Unterneh mensmodellierung Struktur Verhalten Zusammen mit der Erfas sung des elementaren Verhaltens in den Methoden Operationen und mit der kooperativen Bearbeitung von Aufgaben im Kleinen durch den Nach richtenverkehr und dann letztendlich der Hinterlegung des eigentlichen Kontrollflusses in den Programmen w re schon eine L sung denkbar S e wurde aber im Gro en und au erhalb von Laborsystemen bisher nicht gew hlt Eine objektorientierte ERP Software ooERP basierend auf einer umfassenden objektorientierten Unternehmensmodellierung ist schlicht nicht vorhanden Vielleicht fehlt sie bei den gro en Anbietern einfach deshalb weil ein solches Projekt e welches das gesamte Unternehmen abbildet e welches die Vorg nge und Abl ufe zwischen den Methoden der Klassen und den sonstigen Programmen aufteilt und e welches bedingt durch die M glichkeiten der objektorientierten Theorie Informationsstrukturen und Abl ufe auf Klassenebene teilweise integriert sehr umfangre
392. r gungen der Attribute durch die die Objekte beschrieben sind Die interne Repr sentation der Objekte Dabe handelt es sich um Methoden die zur Erf llung einer Teilaufgabe in der Gesamtanwendung dienen F r viele Aufgaben ist es aber notwen dig dass die Methoden verschiedener Objektklassen im korrektem Zu sammenspiel aufgerufen werden Dies wird so realisiert dass Objekte der einen Objektklasse Methoden einer anderen aufrufen k nnen Modell ie rungstechnisch wird dies mit dem Konzept von Nachrichten die zwi schen den Objekten und Objektklassen ausgetauscht werden realisiert Objekte kommunizieren Von der Struktur zur Verhaltens beschreibung Hinterlegte Methoden Methoden im Zusammenspiel Der einfachste Fall Rechnungskopf braucht Kundendaten Nachricht oder auch Botschaft Nachrichten fordern Operationen an Meldungsverkehr Protokoll 94 7 Zusammenwirken durch Nachrichtenverkehr Den einfachsten Fall eines solchen Nachrichtenaustausches k nnen wir bereits darstellen Die Kommunikation zweier Objekte miteinander Stellen wir uns vor bei einer Klasse Rechnungsk pfe sei die Metho de f r das Erstellen und den Ausdruck von Rechnungen hinterlegt Dann gibt es eine Stelle n diesem Ablauf an dem das jeweilige Objekt in der folgenden Abbildung als anonymes Objekt dargestellt von einem Objekt der Klasse Kunden die Kundendaten Name Adresse usw anfordert Dies kann wie in der folgenden Abbildung g
393. r Position 1 das Gate hervorge rufen durch eine Nachricht die durch ein Ereignisauftreten an Punkt 2 ausgel st wird sd AbstraktesBeispiel Lebenslinie_1 Nachricht_x Nachricht_y a pe oo Ay l l I I I l I I E Abbildung 11 4 6 Gates in Sequenzdiagrammen 11 4 6 Interaktionen noch einmal Zu Beginn dieses Kapitels wurden Interaktionen schon als abstrakte Klas se eingef hrt deren eine Subklasse Sequenzen in diesem Kapitel betrach tet wird Inzwischen sind so viele Begriffe eingef hrt dass das abstrakte Konzept der Interaktionen vorgestellt werden kann Die UML Autoren definieren wie folgt Eine Interaktion ist eine Verhaltenskomponente die den be obachtbaren Austausch von Informationen zwischen verkn pfbaren Elementen beschreibt OMG 2003a S 419 bersetzung durch den Verfasser Verhalten ist ja nicht an sich da sondern bedarf eines Tr gers F r die Tr ger von UML Autoren sind das die Classifier Interaktionen sind Verhaltensein Verhalten heiten eines sie umschlie enden Classifiers Interaktionen konzentrieren sich somit etwas konkreter auf den Informationsaustausch durch Nachrichten zwischen den verkn pfbaren Elementen des Classifiers Hinweis In WebZumBuch_UMO3 wird am Beispiel der Interaktio nen die Metamodellierung der UML Autoren erl utert F r alle Interaktionsdiagramme gilt dass sie in einem Rechteck mit durchgezogenen Linien dargestellt werden Im l
394. r Struktur der Texte die auf einer umfassenden Metamodellierung basieren und deshalb nicht ganz leicht zu lesen sind Die Zahl der Begriffe die die UML Autoren bei den Konstrukten zur Verhaltensmodellierung ben tigen ist sehr gro Um die bersichtlich keit zu erh hen und um die Beziehung zum Originaltext herzustellen wird daher bei den meisten Kapiteln am Schluss die oben angef hrte Auflistung der verwendeten Begriffe angegeben in ihrer Originalsprache und in der gew hlten bersetzung Bei bersetzten Begriffen wird auch im Text bei der Erstnutzung der Originalbegriff angegeben um die Ver bindung zum Originaltext herzustellen Letztendlich wird es unumg ng lich sein f r einzelne Fragen den Originaltext zu konsultieren da sollten diese Angaben eine Hilfe sein Begleitende Texte im Web Begleitend zum Buch werden folgende Texte und Materialien ins Web gestellt www staud info Vorwort IX e WebZumBuch_UMOI Weitere Beispiele e WebZumBuch_UMO02 Zusammenfassung Mit einer kurzen Zusam menfassung zu allen Kapiteln e WebZumBuch UMO03 Metamodellierung und Aufsetzpunkte Mit einer Erl uterung der Grundkonzepte auf denen das Theoriegeb ude der UML Autoren aufbaut und der von ihnen verwendeten Metamo dellierung e WebZumBuch UMO04 Vertiefungen und Erweiterungen e WebZumBuch _UMO5 Glossar e WebZumBuch_UMO06 Gallerie Mit ausgew hlten inhaltlich sor tierten Abbildungen e WebZumBuch UM07 Ab
395. r T tigkeiten vor die in der jeweiligen Modellierung nicht weiter zerlegt werden sollen Es entspricht in etwa dem der Funk tionen in Ereignisgesteuerten Prozessketten EPKs vgl Staud 2006 Kapitel 4 Wobei die von den UML Autoren angef hrten Elementarak tionen stark in Richtung Systemanalyse deuten und deren Systemorientie rung deutlich machen Grunds tzlich sind mit diesem Konstrukt aber T tigkeiten Abl ufe aller Art modellierbar Damit liegt auch ein Problem vor das ein solches Theorieelement im mer mit sich bringt die Schwierigkeit der Festlegung der Ebene auf der Untereinheiten Aggregations niveaus subordinate behavior Geeignetes Instrument zur Erfassung von Basisaktivit ten Ebene 128 9 Aktionen die jeweiligen T tigkeiten Abl ufe betrachtet werden sollen Dies ist nicht objektiv feststellbar sondern muss subjektiv festgelegt werden Diese Eigenschaft hat aber auch einen wichtigen Vorteil S e erlaubt es n der Unternehmensmodellierung Teilbereich Prozessmodellierung bersichtsnotationen zu erstellen vgl auch Abschnitt 1 1 was nicht nur gew nscht sondern auch notwendig ist vor allem um berblicksdarstel lungen realisieren zu k nnen Passen Aktionen in die objektorientierte Theorie Keine Verkn pfung Auffallend ist dass dieses Theorieelement direkt nur mit den Aktivit ten mit Statikteil vgl das n chste Kapitel verkn pft ist nicht aber mit dem brigen ob jektorientier
396. r jeweili gen Klasse geht in die Beziehung ein Weitere Konkretisierungen bez glich der maximalen und minimalen Anzahl von Objekten k nnen erfolgen so dass z B folgende Angaben m glich sind f nf oder mehr 5 null bis drei 0 3 genau f nf 5 drei vier oder acht 3 4 8 alle nat rlichen Zahlen au er elf 1 10 12 Balzert f hrt zus tzlich die Begriffe Kann und Muss Assoziationen e n Kann Assoziationen haben als Untergrenze die Kardinalit t 0 Muss Assoziationen die Kardinal t t 1 oder gr er Balzert 1999a S 41f In den Abbildungen werden die Wertigkeiten an den Assoziationsen den vermerkt Vgl die Beispiele unten und die Hinweise zur Anordnung der Wertigkeiten in den Abbildungen 3 5 Beispiele Hier nun Beispiele von Assoziationen mit unterschiedlichen Wertigkei ten Zweistellige Assoziationen Die folgende Abbildung erfasst eine m gliche Variante des Verh ltnisses von Angestellten und PC Hier gilt e Ein Angestellter benutzt genau einen PC e Ein PC ist mindestens einem Angestellten zugeordnet Die kursiv gesetzten Texte in der Abbildung machen die Positionierung der Wertigkeiten deutlich Wieviele Objekte einer Klasse an der Assozia 10 Oestereich spricht hier von Multiplizit ten einer Assoziation Oestereich 1998 S 268 Balzert 1999a S 41 von Kardinalit ten wie bei Entity Relationship Modellen Wertigkeiten Multiplizit ten Kardinalit ten Kann und Mus
397. r um einzelne Objekte und zweitens nur um deren Verhalten Insbesondere geht es nicht um die Interaktionen zwischen Objekten Der Lebenszyklus eines Objekts besteht aus Zust nden in denen Ob jekte eine bestimmte Zeit verharren und auf Ereignisse warten Das ist f r die UML Autoren die zentrale Vorstellung bei diesem Theorieelement und sie ist auch naheliegend zumindest f r Systeme Ob s e auch f r die 34 Zum Beispiel das Objekt Geldautomat das auf die Eingaben des Kunden wartet oder das Objekt Kundenanfrage das auf die Durchf hrung einer Kalkulation wartet Vgl zu beiden Objekten die Beispiele unten Methode ZA Einordnung Ereignisse l sen Zustands nderungen aus Verhalten und Protokoll Verhaltens modellierung Protokollierung Verhalten Durchqueren eines Graphen Objekte 286 13 Zustandsautomaten Untersuchung wichtiger Aspekte von Gesch ftsprozessen taugt wird im folgenden untersucht Bei diesem Theorieelement sind somit Ereignisse von gro er Bedeu tung Sie l sen die Zustands berg nge aus und erm glichen damit die Modellierung der dynamischen Aspekte Die UML Autoren unterscheiden zwei Typen von Zustandsautomaten die Behavioral State Machines und die Protocol State Machines Sie werden hier mit Verhaltenszustandsautomat bzw Protokollzustandsau tomat bersetzt Beide nutzen weitgehend dasselbe Instrumentarium sind aber doch etwas verschieden Verhaltenszustandsautomaten Die V
398. rafisch durch gestrichelte Linien dargestellt Vgl die fol gende Abbildung Jede Region kann einen Namen haben und enth lt die verschachtelten nicht berlappenden Zust nde und die berg nge zwi schen diesen Der Bereich mit der Bezeichnung des gesamten Zustandes wird wie in der folgenden Abbildung gezeigt an das umschlie ende Rechteck ange Knoten Zustandstypen Orthogonalit t Grafische Darstellung von Regionen Subzust nde direkt und indirekt Beispiele 298 13 Zustandsautomaten f gt oder in einem eigenen Bereich eingef gt wie es das n chste Beispiel zeigt Zustandsbezeichnung or Abbildung 13 3 1 Darstellung eines zusammengesetzten Zustandes eines Zustandes mit Regionen Jeder Zustand der s ch n einer Region eines zusammengesetzten Zustan des befindet wird Subzustand substate dieses zusammengesetzten Zu standes genannt Er wird direkter Subzustand direct substate genannt wenn er in keinem anderen Zustand enthalten ist ansonsten indirekter Subzustand indirect substate Vgl f r Zust nde mit Regionen die Beispiele in den Abbildungen 13 3 2 13 3 5 und 13 3 14 Einfacher Zustand Ein einfacher Zustand hat im Gegensatz zu obigem keine Subzust nde d h er hat keine Regionen und keinen untergeordneten Zustandsautoma ten vgl unten Der dritte Zustandstyp der oben aufgelistet wurde Zustand der einen Zustandsautomaten enth lt submachine state wird unten erl utert Sc
399. rag eingegangen Auftragsversand Personaleinstellung usw 8 2 Verhalten 115 Activities may describe procedural computation In this context they are the methods corresponding to operations on classes Activities may be applied to organizational modeling for business process engineering and workflow In th s context events often originate from inside the system such as the finishing of a task but also from outside the system such as a customer call OMG 2003a S 284 Hervorhebung durch den Verfasser Das Zitat zeigt auch wiederum sehr deutlich den Spagat auf den die UML Autoren leisten wollen Zum einen soll die klassische Aufgabe bez glich Systemanalyse und Systemdesign erf llt werden zum anderen die rund um Gesch ftsprozesse 8 2 Verhalten Im Gegensatz zum vorigen Kapitel geht es hier also nicht um Informati onsszrukturen nicht um statische Aspekte eines Systems oder auch eines Gesch ftsprozesses sondern um die dynamischen Aspekte das System verhalten bzw d e T tigkeitsfolgen n Gesch ftsprozessen Die UML Au toren schreiben in diesem Zusammenhang auch konsequent von Verhal tensmodellierung behavioral modeling Sie definieren Verhalten als die beobachtbaren Wirkungen eines Vor gangs operation oder Ereignisses einschlie lich seiner Ergebnisse OMG 2003a S 5 e Ein Beispiel f r einen Vorgang bei einem Geldautomaten Kunde schiebt EC Karte rein Sie pr zisieren dann dahingehend
400. raktion wahr sein muss Wie bei solchen Verzweigungen um die handelt es sich eigentlich wenn man vom modellierten Ablauf ausgeht blich gibt es sehr oft eine Verzweigung die greift wenn alle anderen scheitern Sie wird mit Else bezeichnet F r Beispiele und die grafische Darstellung vgl die Abbildungen 11 5 l und 11 10 1 Option einstellig Der Interaktionsoperator option opt st einstellig und legt folgende Wahlm sglichkeit fest Entweder der einzige Operand kommt zur Ausf h rung oder n chts geschieht F r ein Beispiel und die grafische Darstellung vgl Abbildung 11 4 7 Break Das mit dem Interaktionsoperator break bezeichnete Fragment wird im Bedarfsfalle an Stelle des gesamten Restes des Fragments aufgerufen Es erlaubt den Abbruch des Fragments an dieser Stelle Parallel merge Der Interaktionsoperator parallel merge par legt fest dass das Fragment eine parallele Verschmelzung parallel merge zwischen zwei Verhal tenskomponenten der Operanden darstellt Die Ereigniseintritte der Ope randen k nnen auf beliebige Weise verschachtelt werden solange die Reihenfolge die durch jeden Operanden festgelegt ist erhalten bleibt Ein Zusage Verhaltens alternativen Else Verzweigung Abbruch Verschmelzung 1 Verschmelzung 2 Verschmelzung 3 Sofort auszuf hren 234 11 Sequenzen parallel merge definiert eine Menge von traces die den Weg beschreiben die Ereigniseintritte der Operanden zu
401. rationen e Ist ein zusammengesetzter Zustand aktiv und nicht orthogonal dann ist genau einer seiner Subzust nde substates akt v e Ist der zusammengesetzte Zustand akt v und orthogonal dann sind alle seine Regionen aktiv ein Subzustand substate in jeder Region Zutritt zu einem nicht orthogonalen zusammengesetzten Zustand Beim Eintritt n einen zusammengesetzten Zustand werden die folgenden F lle unterschieden e Der voreingestellte Zugang wird grafisch durch eine ankommende Transition angezeigt die am u eren Rand des zusammengesetzten Zustandes endet In diesem Fall wird die voreingestellte Transition genommen Gibt es einen W chter auf dem Trigger der Transition muss er wahr sein Die Eingangsaktivit t des zusammengesetzten Zustandes wird vor der Aktivit t ausgef hrt die mit der Starttransiti on verkn pft ist e Geht die Transition gezielt zu einem bestimmten Subzustand des zusammengesetzten Zustandes dann wird der Subzustand akt v und seine Anfangsaktivit t wird nach der Ausf hrung der Anfangsakt ivi t t des zusammengesetzten Zustandes ausgef hrt Diese Regel gilt rekursiv falls die Transition auf einem transitiv verschachtelten Sub zustand endet e Endet die Transition auf einem shallowHistory Pseudozustand wird der aktive Subzustand zum letzten aktiven Subzustand vor diesem Eintritt es sei denn der letzte aktive Subzustand ist der Schlusszu stand oder falls dieser Zutritt der erste n diesen Zust
402. rch den Angestellten obwohl aus der Gesch ftsprozessperspektive ersteres mit dem Angestellten geschieht und nur zweiteres eine aktive Handlung eines Objekts darstellt Zur Verf gung gestellte Methoden k nnen aber egal welchen Hintergrund sie haben durchweg als das Verhalten der Klasse bzw ihrer Objekte aufgefasst werden Insgesamt machen sie das Gesamtverhalten die einzelnen Methoden die Verhaltensaspekte aus Die Antwort auf die zu Beginn dieser Anmerkung gestellte Frage ist daher dass die UML Autoren die Perspektive von Softwareentwicklern einnehmen und mit dieser ihr Theoriege b ude erstellen In den folgenden Kapiteln werden nun alle Konstrukte vorgestellt die die objektorientierte Theorie f r die Modellierung von Verhalten T tigkeits folgen anbietet Und dies in einer solchen Tiefe dass sie erstens verstan den und zweitens auf ihre Tauglichkeit f r die Modellierung von Ge sch ftsprozessen gepr ft werden k nnen Damit w rd dann auch gekl rt ob sie f r eine integrierte Unternehmensmodellierung taugen Betrachtet wird der objektorientierte Ansatz in seiner Auspr gung in der Unified Modeling Language UML Auch hier bei der Verhaltens modellierung haben die UML Autoren einen hohen Anspruch wie die gegen ber fr heren Versionen wesentlich ausf hrlichere und konsequen tere Behandlung der Verhaltensmodellierung in der Version 2 0 zeigt Dabei liegt aber nat rlich der Schwerpunkt in der UML weiterhin
403. rchgang abzuschalten die anderen aber nicht Tieferliegender Grund Obiges zusammen mit dem Theorieelement selbst gibt einen Hinweis auf einen tiefer liegenden Grund Auf eine andere Sichtweise d e hier von den UML Autoren eingenommen wird Eine die die Gesamtheit aller Gesch ftsprozesse ins Visier nimmt und sie in einem system hnlichen Zusammenspiel sieht Vgl hierzu Abschnitt 10 11 und Kapitel 14 10 7 Aufruf von Aktivit ten Wie k nnen Aktivit ten aufgerufen werden Die erste Variante ist der nicht dokumentierte Aufruf durch externe Ereignisse Z B wenn ein Kundenauftrag eintrifft ein Angebot erstellt werden muss oder sich ein Kunde dem Geldautomaten n hert und diesen aktiviert In Anlehnung an die Ausf hrungen bei den Ereignisgesteuerten Prozessketten kann da vom Ereignisraum des Unternehmens der Anwendung gesprochen werden der sich durch das Ereignis art kuliert vgl unten Die Ereignisse dieses Ereignisraumes werden deutlicher wenn das ob jektorientierte Modell insgesamt vorliegt Da werden auf Systemebene Aktivit ten blicherweise indirekt als Methoden die an Operationen gebunden sind aufgerufen Die zweite Variante ist dass eine Aktivit t A eine Aktivit t B aufruft Dann enth lt Aktivit t A eine Aktion die diesen Aufruf signalisiert Die folgende Abbildung zeigt ein Beispiel In Aktivit t A gibt es das Aktions symbol Angebotserstellung mit dem Symbol mM das eine gleichnamige Aktivit t aufru
404. rd Objektmodellierungssprache Bonn u a 2004 Fowler 2004 Fowler Martin UML konzentriert Eine kompakte Einf hrung in die Standard Objektmodellierungssprache M nchen u a 2004 Fowler und Scott 1998 Fowler Martin Scott Kendall UML konzentriert Die Standardob jektmodellierungssprache anwenden Bonn u a 1998 Gr ssle Baumann und Baumann 2000 Gr ssle Patrick Baumann Henriette Baumann Philippe UML pro jektorientiert Gesch ftsprozessmodellierung IT System Spezifikation und Systemintegration mit der UML Bonn 2000 378 17 Literatur Jeckle Rupp Hahn u a 2004 Jeckle Mario Rupp Chris Hahn J rgen Zengler Barbara und Queins Stefan UML 2 glasklar M nchen und Wien 2004 Kerner und Horn 1997 Kerner Immo O Horn Christian Hrsg Lehr und bungsbuch In formatik Band 3 Praktische Informatik M nchen und Wien 1997 Marshall 2000 Marshall Chris Enterprise Modeling with UML Designing Success ful Software through Business Analysis Reading Mass u a 2000 Meier und W st 1997 Meier Andreas W st Thomas Objektorientierte Datenbanken Ein Kompaf f r die Praxis Heidelberg 1997 Oestereich 1998 Oestereich Bernd Objektorientierte Softwareentwicklung Analyse und Design mit der Unified Modeling Language 4 Auflage M n chen und Wien 1998 Oestereich 2004 Oestereich Bernd Objektorientierte Softwareentwicklung Analyse und Design mit der UML 2 0 6 Auflage M nchen und Wien 2004 OMG 1999 Object Man
405. rdem mehrere Kontrollfokusse Das obige Beispiel ist als Systembeispiel sehr nahe an der Programmie rung angesiedelt Das SD gibt in einer objektorientierten L sung einen aussagekr ftigen Hinweis auf notwendige Klassen und ihre Methoden 11 3 Einf hrende Beispiele 223 11 3 2 Prozessbeispiel Kaufabwicklung Das folgende Beispiel zeigt die Abl ufe rund um eine Kaufabwicklung als Sequenzdiagramm Diese Abl ufe stellen durchaus einen wahrneh mungsw rdigen kleinen Gesch ftsprozess dar In Abschnitt 11 12 wird dieses Sequenzdiagramm im Rahmen der Pr fung der Eignung von Sequenzdiagrammen zur Prozessmodel lierung in eine Ereignisgesteuerte Prozesskette bertragen Dem Charakter von Sequenzdiagrammen entsprechend ist die Ablaufbe schreibung auf den Nachrichtenverkehr zwischen den hier zwei Part zi panten reduziert Alle kursiv gesetzten Texte mit ihren Pfeilen geben die Bezeichnungen wichtiger Modellelemente an und sind nicht Teil der UML In diesem Beispiel ist auch bei jedem Kontrollfokus angegeben wel che T tigkeit stattfindet Dies ist optional und in der UML nicht zwingend vorgeschrieben Beschreibung des Sequenzdiagramms Hier wird f r Aktivit ten im umgangssprachlichen Sinn der Begriff T tigkeit verwendet da der erstgenannte Begriff in der UML ja belegt ist Das Beispiel geht von zwei Unternehmen Kunde und Lieferant aus Das eine hat einen Beschaffungswunsch das andere soll ihn erf llen Grunds
406. rden hinzugef gt logisches UND als Vorbedingung der Operation Entsprechendes gilt f r Nachbedingungen Der Protokollzustandsautomat definiert alle erlaubten Transitionen f r jede Operation Er muss alle Operationen repr sentieren die eine be stimmte Zustands nderung f r eine Klasse erzeugen k nnen Operatio nen die keine Transitionen erzeugen werden in dem Protokollzustands automaten nicht dargestellt Protokollzustandsautomaten bilden ein Werkzeug um die Interfaces von Klassen zu formalisieren und dr cken nichts anderes aus als Regeln f r die Widerspruchsfreiheit und Korrektheit bei der Implementierung der dynamischen Aspekte von Klassen Die Interpretation von Protokollzustandsautomaten kann unterschied lich sein e Deklarative Protokollzustandsautomaten die f r jede Operation die zul ssigen Transitionen festlegen Die genauen Bedingungen f r das Ausl sen der Transitionen werden nicht festgelegt e Ausf hrbare Protokollzustandsautomaten die alle Ereignisse auf die ein Objekt reagieren und mit denen es umgehen kann festlegen und die auch noch die damit zusammenh ngenden Transitionen angeben In diesem Fall sind die zul ssigen Transitionen f r Operationen ge nau die ausgel sten Transitionen Die Darstellung f r beide Interpretationen ist dieselbe Der Unterschied besteht dar n dass die zweite die dynamischen Aspekte betont Grafische Darstellung Die Darstellung von Protokollzustandsautomaten ist der
407. re m Sequenz Zustands idiagramme automaten i SDe ZAn r v vVNV y Programme Datenbanken Programmierung Abbildung 1 1 4 Unternehmensmodellierung im Vergleich und als Forschungsgegenstand Die in der Abbildung kursiv gesetzten Themenbereiche werden im bri gen in Staud 2006 Gesch ftsprozessanalyse und Staud 2005 Daten modellierung betrachtet Methode EPK vs Methode AD Programmierung Systemanalyse und design Datenbanksysteme Gesch ftsprozesse Wahrnehmungs fragen 6 1 Einleitung 1 2 Objektorientierung als solche Entwicklungsstand Die objektorientierte Theorie ist mittlerweile im Bereich der Program miersprachen fest etabliert Dies betrifft nicht nur C sondern die mei sten neuen Sprachen v a auch die f r Webanwendungen Entweder sind sie gleich objektorientiert wie z B Java oder ihre eigentlich prozedurale Grundstruktur wird um objektorientierte Komponenten erweitert Damit und auch unabh ngig davon als Modellierungsinstrument ist sie in Systemanalyse und design ebenfalls umfassend eingef hrt wobei zu beobachten ist dass das Systemdesign noch umfassender objektorien tiert erfolgt als die Systemanalyse Die Ursache liegt sicherlich darin dass sich die heutigen grafischen Bedienoberfl chen sehr leicht und umfassend objektorientiert denken lassen Auf der anderen Seite st die Umsetzung der Funktionalit t eines Anwendungsbereichs in objektorientierte Model le oftmals
408. reich der Prozessmodellierung soll diese Standard prozessmodellierung genannt werden vgl Anmerkung unten Im Bereich der Informationsstrukturen der Datenbanken bedeutet dies eine bergeordnete Notation bei der ein Gesch ftsobjekt Rechnung als solches im Modell vorkommt und nicht nur seine Attribute Methoden und sonstigen datenbanktechnischen Komponenten Vgl bez glich beider Bereiche f r eine aus der Praxis kommende L sung die der SAP kurz beschrieben in Staud 2006 Kapitel 8 18 Die mit der Frage wie sich das jeweilige Theorielement f r die Unternehmensmodellie rung eignet 9 4 10 11 11 5 12 6 13 6 Funktions modellierung vs Prozess modellierung Heute Trend zur Automatisierung Ebenen der Prozess modellierung Trend zur Automatisierung Gesch ftsobjekte als solche Modellierung von Informations strukturen Zus tzliche Verhaltens modellierung Wo ist das umfassende objektorientierte Unternehmens modell 110 7 Zusammenwirken durch Nachrichtenverkehr Anmerkung F r den Teilbereich Prozessmodellierung der Unternehmensmodellierung wird in Abschnitt 15 1 folgende Unterscheidung vorgestellt software systemnahe Prozessmodellierung sysPM z B f r automatisierte Ge sch ftsprozesse Standardprozessmodellierung SPM typischerweise f r Istanalysen Grobmodellierung von Gesch ftsprozessen GPM f r bersichtsnotationen Letztere ist ein erstes Beispiel eine
409. rekt hintereinander fal len und grafisch zu einem Element verschmelzen Abbildung 10 6 16 Vereinigung Gabelung Hier liegt zuerst eine Vereinigung vor deren einzige wegf hrende Kante nicht angezeigt wird Unmittelbar danach folgt die Gabelung deren einzi ge hinf hrende Kante ebenfalls nicht angezeigt wird Solche Strukturen sind bei Operatoren durchaus blich bei Ereignisgesteuerten Prozessket ten entsprechen dem Beispiel hier zwei unmittelbar aufeinanderfolgende UND Operatoren in einem Operatorkreis 10 6 5 Startknoten Ein Startknoten initial node markiert den Start der Aktivit t Er gibt an welcher Fluss startet wenn die Aktivit t aufgerufen wird Eine Aktivit t kann mehr als einen Startknoten haben Wird dann die Aktivit t gestartet starten mehrere Kontrollfl sse einer bei jedem Startknoten Ein Start knoten hat keine ankommenden Kanten und genau eine wegf hrende Graphische Darstellung Startknoten werden durch einen eingef rbten schwarzen Kreis dargestellt Die folgende Abbildung zeigt ein Beispiel gleich mit einer nachfolgenden Aktion Kalkulation erstellen Abbildung 10 6 17 Startknoten Darstellung und Beispiel Weitere Beispiele finden sich n den folgenden Aktivit ten Der Tokenfluss Wenn die Aktivit t startet wird ein Kontrolltoken auf dem Startknoten platziert Die Token in einem Startknoten werden allen wegf hrenden Kanten angeboten Hat eine Aktivit t mehr als einen Startknote
410. ren Die Token werden nicht vervielf ltigt Die hinf hrenden Kanten bieten den wegf hrenden Kanten die Token an In der Regel bestimmen die W chter der wegf hrenden Kanten mit welcher von ihnen es weiter geht Die Reihenfolge in der die W chter ausgewertet werden ist nicht definiert Der Modellierer sollte es so ein richten dass jedes Token nur f r eine einzige wegf hrende Kante gew hlt werden kann um eine Wettlaufsituation vgl Abschnitt 10 10 6 und dort Abbildung 10 10 7 zwischen den wegf hrenden Kanten zu vermei den OMG 2003a S 320 F r den Fall dass keine der wegf hrenden Kanten einen Token akzep tiert sollte ein Else W chter definiert werden f r h chstens eine Kan te Dieser kommt also dann zu Wirkung falls der Token von allen ande ren wegf hrenden Kanten nicht akzeptiert werden kann Das entspricht der blichen Restkategorie die bei solchen Verzweigungen immer be r cksichtigt werden muss bzw dem Else Zweig n der Programmierung von Verzweigungen Falls Bedingungen f r den Entscheidungsknoten durch ein decision in put behavior definiert sind wird jeder Token zuerst bez glich dieser Bedingungen gepr ft bevor der Abgleich mit den W chtern der wegf h renden Kanten erfolgt Das Ergebnis dieser Pr fung steht den W chtern zur Verf gung Decision input behaviors wurden eingef hrt um redundante Neube rechnungen in W chtern zu vermeiden 10 6 2 Zusammenf hrung Eine Zusamm
411. ren einen hohen Anspruch wie die gegen ber fr heren Versionen wesentlich ausf hrlichere und konsequen tere Behandlung der Verhaltensmodellierung in der Version 2 0 zeigt Dabei liegt aber nat rlich der Schwerpunkt in der UML weiterhin auf der Systemanalyse wie der Sprachgebrauch sehr oft ist bei der Vorstellung der einzelnen Konstrukte direkt von Systemen die Rede und auch das folgende Zitat zeigt The Unified Modeling Language is a visual language for specifying constructing and documenting the artifacts of systems It is a general purpose modeling language that can be used with all major object and component methods and that can be applied to all application domains e g health finance telecom aerospace and implementation platforms e g J2EE NET OMG 2003b S 22 In der Version 1 5 war der bergeordnete Anspruch auch f r die Unter nehmensmodellierung tauglich zu sein noch wesentlich deutlicher Note that UML can be used to model different kind of sys tems software systems hardware systems and real world organizations Business modeling models real world orga nizations UML 1997a S 1 Allerdings wird auch in der Version 2 0 dieser Anspruch wieder formu liert im Sprachgebrauch in den Beispielen vgl unten und auch direkt wie das folgende Zitat aus dem Kapitel zu den Aktivit ten zeigt 19 In vielen Erl uterungen werden Beispiele aus dem Bereich der Gesch ftsprozesse gew hlt wie Auft
412. rgent Behavior Emergent behavior entsteht aus dem Zusammenwirken von Objekten Es stellt also das Verhalten einer Gruppe von Objekten die Summe ihrer executing behaviors dar Beispiele f r ein emergent behavior ist die Aus f hrung eines Anwendungsfalles oder einer Interaktion vgl unten 8 5 Konstrukte f r die Verhaltensmodellierung Die Version 2 0 der UML die nun schon seit einiger Zeit vorliegt enth lt gegen ber den fr heren Versionen verbesserte Konzepte f r die Model lierung der dynamischen Aspekte eines Systems oder eines Gesch fts prozesses Folgende Grundkonzepte bieten die UML Autoren nun an Aktionen actions Aktivit ten activities Interaktionen Interactions Zustandsautomaten state machines Anwendungsf lle use cases Dass hier tats chlich teilweise Neues vorlag sahen auch die Autoren der UML Unter dem Titel Changes from previous UML f hren sie aus Daten vom Host Objekt emergent vs executing Token in der Informatik 118 8 Modellierung von Verhalten und Abl ufen Explicitly modeled actions as part of activities are new in UML 2 0 and replace ActionState CallState and Subactiv ityState in UML 1 5 They represent a merger of activity graphs from UML 1 5 and actions from UML 1 5 Local pre and postconditions are new to UML 2 0 OMG 2003a S 283 Den Zusammenhang zwischen diesen Konstrukten die im Rahmen der Metamodellierung der UML als Klassen modelliert sind deutet
413. rkenntnis des Teilebedarfs f hrt 10 10 Beispiele 183 Dadurch wird eine Standardteilesuche angesto en Diese f hrt entwe der dazu dass das Teil gefunden wird oder nicht was durch einen Ent scheidungsknoten eine Verzweigung modelliert st Wird es gefunden startet die Aktion Teil verwenden Wird das Teil nicht gefunden kommt es zur Aktion Teil beschaffen Diese wird von einem Beschaffungsingenieur realisiert und zwar als eine Aktion die eine gleichnamige Aktivit t aufruft Letzteres ist durch das Symbol rechts unten im Aktionssymbol angegeben Der Kontrollfluss geht damit weiter n die Aktivit t Teilebeschaffung Nach seiner R ckkehr liegt dann entweder das Ergebnis Teil beschafft oder else vor Falls ersteres vorliegt wird wiederum die Aktion Teil verwenden ausgef hrt F r zweiteres wird die Aktivit t beendet Der weitere Verlauf bleibt unklar auch die positive Beendigung der Aktivit t Auff llig an diesem Beispiel ist dass es eine Aktion gibt Teil verwen den zu der mehrere Kanten f hren Aus der Logik des Beispiels folgt dass die beiden Kanten in einem exklusiven ODER Verh ltnis stehen Vgl hierzu die Ausf hrungen in Abschnitt 10 12 Aktivit t Teilebeschaffung Auch in der Aktivit t Teilebeschaffung werden den Aktionen wiederum die zwei Personengruppen Designingenieur und Beschaffungsingenieur zugeordnet Diesmal durch eine senkrechte Linie und durch Beschriftung der jeweiligen Bereiche Die Ak
414. rname string plz string ort string strasse siring beziV string beginnStudium date studiengang string ende Studium date semesterSF O integer studiengang string achsemester integer immatrikulierend exmatrikulierend nr Wi Lehrveranstaltungen 2 4 werden besucht Abbildung 3 5 5 Zweistellige Assoziation Beispiel Lehrveranstaltungsbesuch Obige L sung geht davon aus dass jede Lehrveranstaltung einmalig ist dass dieselbe Lehrveranstaltung zum Beispiel BWL 1 wirklich nur ein mal und nur von einem Dozenten angeboten wird Wird Sie z B wegen hoher Studierendenzahlen mehrfach angeboten von einem Dozenten oder von mehreren ist diese Tatsache nicht im Modell ausdr ckbar Bei einer dreistelligen Assoziation dagegen w re dies kein Problem mehr Der Veranstaltungsbesuch wird dann durch die kombinierte Infor mation aus Studierenden Lehrveranstaltung Dozenten erfasst Damit w re es m glich dass die drei Dozenten Maier M ller und Bauch alle je eine Lehrveranstaltung BWL 1 geben Ein Studierender besucht dann eine 3 5 Beispiele 47 Lehrveranstaltung bei einem Dozenten Vgl dazu auch das Hochschulbei spiel unten Die Wertigkeiten bedeuten e Bei Studierende Mindestens 5 Studierende nehmen teil e Bei Lehrveranstaltungen Es geht jeweils um genau eine Lehrveran staltung e Bei Dozenten Jeweils ein Dozent h lt die Lehrveranstaltung W rde man a
415. rozesse typisch sind Es ist im brigen nicht verwunderlich dass die Verschachtelung von Zust nden Zustandsautomaten so stark betont wird Ohne diese w ren Zustandsautomaten nur eine sehr eingeschr nkte Angelegenheit Mit dieser aber und mit einer bereit angelegten obersten Ebene der ganze Geldautomat kann hier umfassend Systemverhalten beschrieben wer den Bis zur Programmebene bzw bei technischem Ger t bis zur tech nischen Realisierung Soweit die Antwort auf die Frage nach der grunds tzlichen Tauglich keit der Methode ZA f r die Unternehmensmodellierung hier speziell Prozessmodellierung Nimmt man den schon mehrfach angesprochenen Trend zur vollst n digen Automatisierung von Gesch ftsprozessen vgl auch Kapitel 14 mit in d e Betrachtung was ndert sich dann K nnen Zustandsautomaten Zustands bergangsdiagramme in diesem Bereich f r die systemnahe Prozessmodellierung eingesetzt werden vgl Abschnitt 15 1 f r die Ebe nen der Prozessmodellierung Angesichts der oben beschriebenen Defizite ist das nur schwer vor stellbar zumal f r diese Aufgabe die Aktivit tsdiagramme zur Verf gung stehen Ein sinnvoller Einsatz der Zustandsautomaten kann daher wie folgt umrissen werden e Die des Typs fix und flach k nnen f r Detailanalysen komplexer S tuationen rund um ein Gesch ftsobjekt dienen vgl das Beispiel Rechnung oben e Die des Typs dynamisch und tief k nnen der unmittelbaren V
416. rs bei Systemen Hier finden sich Informationsobjekte nur auf elementarer Ebene bei Software systemen z B als Attribute also Attribute Kundennahme Kundennum mer usw statt Gesch ftsobjekt Rechnung oder als Signale eingelesene EC Karte ist g ltig Nur diese werden vom Programm verarbeitet Tr ger Denkt man in Systemen braucht man auch keinen Tr ger von Aktionen Handlungen usw Die jeweilige Systemkomponente bzw das jeweilige Programm sind der Tr ger Das st wohl der Grund dass solche Tr ger fast v llig fehlen was in einer Prozessmodellierung undenkbar ist Insgesamt Systemorientierung Es bleibt somit der Gesamteindruck dass die UML Autoren den Dyna mik Teil n erster Linie f r das Softwareengineering entwickelt haben f r die Systemanalyse die diese vorbereitet auch wenn der Anspruch ein umfassenderer ist Dementsprechend beschreiben die in den Kapiteln 11 bis 15 angef hrten Modellkonzepte wichtige Aspekte von Systemen und Systemverhalten und bereiten damit hervorragend die Systemrealisa tion durch Programmierung vor Die Kapitel sollten aber deutlich ge macht haben dass sie nicht Gesch ftsprozesse als solche beschreiben zumindest nicht so wie wir es inzwischen gewohnt sind Tiefer liegende Ursache Die hier deutlich gewordene Schwierigkeit der UML Autoren und ihrer Vorg nger bzgl der Dynamik Teile der objektorientierten Theorie hat eine tief in der objektorientierten Theorie liegende Ursache
417. rung und Schreibweise 10 2 OBJEKTE UND OBJEKTKLASSEN 22220 22020200000nnnn nn 11 2A EONA ee a EAE EE 12 2 2 hnstantiierung und Klassifikation 20 2 3 Objektklassen als Verwalter von Information 20 2 4 Grafische und textliche Darstellung 21 2 4 1 SU EIKE 0 SERIE EEE EE EE ERERREEER 21 242 Instanzen bzw Objekte nnnnnnnnnonnneneee0e1eeeeeeeee 25 29 gt 5119 15 esusen n aisi 24 20 EDS DS ee ee ee ee ee 26 2r 133 1 gt SERNRNRENNES REIN SER EEEEENENR ENIRLAE EFLER SR EEHRESIEEEEKERCHR EIERN 21 21 Hochschul rue 27 212 N DSNOD ee ee 28 2 7 3 Angestellte eines Unternehmens 30 28 Meile ne ee ee 31 2 8 1 Klassenbildung und Objektfindung 31 2 8 2 Identit t und Gleichheit 32 2 8 3 Komplexe Objekte dan 34 2 8 4 Eine ganz besondere Klasse Classifier 34 2 9 Beitrag zur Unternehmensmodellierung 36 3 ASSOZIATIONEN 22222442202000020000a0000nan00nnanunnnnnunnnnunnnnnunnnnn 39 Il DI Tees E E 39 3 2 Grafische Darstellung 00ssssssssssnensnennnnnnnnnnn 40 E E onina a n E E i 42 34 Wertigkeit oeicerciitrcediiteern eieiei aiir iia 42 3 gt BEIEPDIER Sasse 43 3 0 RO eea E 48 XII Inhaltsverzeichnis 3 7 N stellige Assoziationen vertieft eeeessssssssssssssnennnn 50 3 8 Klassendi
418. rveran E staltungen 5 5 9 4 werden besucht Lehrveranstaltung g SY 2 besuchen bezuv string s Pr fungsgegenstand S udiengang string El semesterSPO integer e ch 2 E aE E Studierende matrikelNr integer TE name string Pr fungstyp vname string i plz string STE Miring E Pr fungs strasse sting geschehen beginnStudium date endeStudium date studiengang string fachsemester integer exmatrikulieren Abbildung 3 8 1 Klassendiagramm zum Anwendungsbereich Hochschule Pr fungsgeschehen dreistellig Semantikvarianten Mehr Semantik 54 3 Assoziationen Das obige Klassendiagramm enth lt u a folgende Komponenten Eine dreistellige Assoziation Mehrere zweistellige Assoziationen Objekte mit verschiedenen Rollen Au erdem zahlreiche beschriftete Assoziationen Dass je nach Festlegung der Semantik unterschiedliche objektorientierte Modelle entstehen zeigt die folgende Variante des obigen Modells F r dieses wurde angenommen dass der Lehrveranstaltungsbesuch durch eine dreistellige Assoziation erfasst wird Der Unterschied zu oben besteht darin dass jetzt bei jedem Lehrveranstaltungsbesuch das Tripel Dozent Studierende r Lehrveranstaltung erfasst wird w hrend oben zwei zwei stellige Assoziationen diesen Sachverhalt abdeckten Studierende Lehr veranstaltung bzw Dozenten Lehrveranstaltung Grunds tzlich gilt dass eine solche dreistellige Assoziatio
419. s Abk rzungen ZA Zahlungsart KS Kundenstalus ZE Zahlungseingang Abbildung 13 5 2 Zustands bergangsdiagramm Rechnung umfassend Vgl die Varianten dieses Zustands bergangsdiagramms in den Abbildungen 13 2 6 einfach und 13 5 1 mittelgro Die obigen Beispiele enthalten u a folgende Komponenten bzw Besonderheiten Einen Anfangszustand Zahlreiche Transitionen Mehrere Schlusszust nde Au erdem mehrere Zust nde mit mehr als einer abgehenden Transition Dynamik Leerlauf Zeitablauf W hlen Verbindung zustandegekommen 332 13 Zustandsautomaten 13 5 3 Systembeispiel Telefonanlage Die folgende Abbildung zeigt ein Zustandsdiagramm f r ein einfaches Telefonobjekt In Erg nzung zum Anfangszustand hat der Zustandsauto mat einen Einstiegspunkt der activeEntry genannt wird In Erg nzung zum Schlusszustand einen Ausstiegspunkt der abgebrochen genannt wird Die Zust nde sind alle dynamisch sie werden durch Aktivit ten dieser Begriff wird hier wie immer au erhalb von Kapitel 10 im um gangssprachlichen Sinn verwendet aufrecht gehalten Vgl die Diskussi on hierzu zu Beginn des Kapitels Abschnitt 13 2 2 Dies ist auch an den Zustandsaktivit ten erkennbar die in den meisten Zust nden angegeben sind wodurch es dann zu den Elementen mit Berei chen kommt Standarddurchgang Betrachten wir einen Standarddurchgang Die Anlage ist nach ihrer Akti vierung bzw wenn der
420. s ingenieur rungen Workflow gai i o Y Abbruch neue Planung OK Liefern zu stream s tzlicher PartMod PartMod Info Workflow ausf hren Produktions anfrage stellen Iabgeichnil ehn Abbildung 10 10 5 Aktivit t Teilebeschaffung Quelle Leicht ver ndert nach OMG 2003a S 291 Figure 204 bersetzung durch den Verfasser Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Mehrere Aktivit tsenden Einen Startknoten Eine Gabelung Eine Vereinigung Eine Schleife R cksprung Mehrere Verzweigungen Einen Startknoten Eine Zuordnung von Personen Eine Zusammenf hrung Au erdem zweifaches fortgesetztes Verhalten mit dem Zusatz stream 10 10 5 Problembehandlung Ein Problem taucht auf z B mit einem technischen Ger t es muss fest gehalten werden Problem aufzeichnen Wird es aufgezeichnet geht es in der Aktivit t weiter falls nicht Gr nde daf r sind im Beispiel nicht an gegeben endet die Aktivit t Im weitergehenden Kontrollfluss kommt nun gleich eine weitere Ent scheidung modelliert durch eine Verzweigung Aus den Kantenbeschrif 10 10 Beispiele 187 tungen ist erkennbar dass es darum geht ob die Problemdarstellung rich tiggestellt ist oder nicht Auch dieses n der Prozessmodellierung ben tigte Strukturmerkmal zwei direkt aufeinanderfolgende Entscheidungsschritte konkret zwei direkt aufeinander folgende Verzweigungen ist hi
421. s Assoziationen Angestellte PC Angestellte Abteilungen Pr fungsbesuch zweistellig 44 3 Assoziationen tion teilhaben wird jeweils am entgegengesetzten Ende der Assoziation vermerkt Wertigkeit Ein Angestellter benutzt genau einen PC Angestellte 4 ist_zuge rdnet Wertigkeit Ein PC ist mindestens einem Angestellten zugeordnet Abbildung 3 5 1 Zweistellige Assoziation mit Wertigkeiten und benannten Beziehungen Die Beziehungen k nnen so wie in der Abbildung angegeben gelesen werden Das zweite Beispiel zeigt eine Assoziation zwischen Angestellte und Abteilungen Es gelten folgende Wertigkeiten e Ein Angestellter ist genau einer Abteilung zugeordnet e Eine Abteilung hat blicherweise mehrere zugeh rige Angestellte genauer keinen einen oder mehrere ist zugeordnet gt Angestellte i hat zugeh rige 1 Abteilungen 00123 Abbildung 3 5 2 Zweistellige Assoziation mit Wertigkeiten und benannten Beziehungen Von zwei zu dreistelligen Assoziationen Mit den dreistelligen Assoziationen soll an den Beispielen Pr fungsbe such und Vorlesungsbesuch auch der Unterschied zwischen einer zwei stelligen und dreistelligen Assoziation erl utert werden Eine zweistellige Assoziation Pr fungsbesuch muss als Grundlage fol gende Klassen haben e Klasse Studierende e Klasse Pr fungen In dieser Klasse muss als Attribut festgehalten sein welche Lehrveranstaltung durch je
422. sbereich Hochschule ist die Bildung der Klassen Studierende und Dozenten wenn die Superklasse alle Personen umfasst die mit der Hochschule zu tun haben 6 4 berlappung und berdeckung 85 Superklasse Sub klasse3 er Abbildung 6 4 3 Disjunkte Subklassen und unvollst ndige berdeckung der Superklasse durch die Subklassen in einer Generalisierung Spezialisierung Der n chste Fall betrifft die Situation dass die berdeckung vollst ndig nicht disjunkt ist in der Abbildung stellen wieder die drei Teilmengen zusammen die vollst ndig Superklasse dar die einzelnen Subklassen sich aber berschneiden Ein Beispiel sind hier die oben angef hrten Datenverwaltenden Systeme wenn man annimmt dass wirklich alle Arten dieser Systeme erfasst wur den Superklasse Sub klasse Sub klasse3 gozos Abbildung 6 4 4 berlappende Subklassen und vollst ndige berdeckung der Superklasse durch die Subklassen in einer Generalisierung Spezialisierung Im letzten Fall liegen wieder berlappende Subklassen vor allerdings ist die berdeckung nicht vollst ndig Als Beispiel stellen wir uns vor bei den oben angef hrten Datenverwaltenden Systemen w rden nur Relatio nale Datenbanksysteme Objektorientierte Datenbanksysteme Entwick lungssysteme und Verteilte Datenbanksysteme betrachtet nicht disjunkt nicht vollst ndig Gleichzeitig Super und Subklasse 86 6 Generalisierung Spezialisierung
423. schachtelten Knoten Grafische Darstellung Ein strukturierter Akt vit tsknoten wird durch ein Rechteck rund um seine Knoten und Kanten dargestellt Das Rechteck hat eine gestrichelte Linie und runde Ecken Am oberen Rand wird das Schl sselwort lt lt structu red gt gt angef gt Regeln Drei Ebenen der Prozess bzw Unternehmens modellierung Hinf hrende und wegf hrende Kanten Exklusives Oder UND 154 10 Aktivit ten 10 6 Kontrollknoten Die Kontrollknoten dienen der Strukturierung des Kontrollflusses inner halb der Aktivit t Sie haben somit immer mit Akt vit tskanten zu tun die zu ihnen hin oder von ihnen wegf hren und die sie der Logik eines Ver kn pfungsoperators unterwerfen Auch wenn die Begrifflichkeit der UML Autoren eine andere ist so definieren sie doch ein exklusives ODER Ist es verzweigend kommt also eine Kante an und und gehen mehrere weg wird es Verzweigung genannt Ist es verkn pfend kommen also mehrere Kanten und geht nur eine weg wird es Zusammenf hrung genannt Ebenso liegt ein logisches UND vor Ist es verzweigend wird es Gabe lung genannt ist es verkn pfend Vereinigung Weiter g bt es Knoten die das Ende von Aktivit ten s gnalisieren F r die gesamte Aktivit t Aktivit tsende activity final f r einzelne Kontroll fl sse Flussende flow final Ein letzter Knoten der Startknoten initial node gibt einen Startpunkt der Aktivit t an Die folgende Abbildung gi
424. schluss 222 11 Sequenzen Ein Objekt Zahlungshinweise sendet dann die Nachricht erzZH erz euge Z ahlungs H inweis an ein Objekt Datenbank Der Parameter datenstrukturZH Datenstruktur Zahlungshinweis enth lt die Hinweise f r die Gestaltung des Dokuments Durch Datenbank wird dann die Me thode aufgerufen und mit Hilfe der abgespeicherten Daten der Zah lungshinweis als Datenstruktur erzeugt Die Antwort auf diesen Metho denaufruf deshalb der gestrichelte Pfeil g bt den Schl ssel des Zah lungshinweises zh _id zur ck Im Anschluss sendet Zahlungshinweise eine Nachricht erzZHDok an Dokumente mit der Aufforderung das PDF Dokument f r den Zahlungs hinweis zu erzeugen Dies geschieht dort und der Schl ssel des PDF Dokuments wird zur ckgemeldet Anschlie end sendet Zahlungshinweise die Nachricht updateZHPdfld mit der Pdf id an Datenbank Diese aktualisiert und meldet die erfolgrei che Aktualisierung zur ck Danach wird der Schl ssel des Zahlungshin weises zh_1d an Client zur ckgemeldet sd ErzeugeZahlungshinweis 4 doErzZH l rechnungsNr zhTyp i erzZH datenstruktu ren i zh_id erzZHDok zh_id ns Kemmer remmer reamme nn m nn memme emmma ee y T Abbildung 11 3 1 Sequenzdiagramm Mahnwesen Systembeispiel Die Abbildung enth lt u a folgende Komponenten Mehrere synchrone Nachrichten Mehrere Antwortnachrichten zu Methodenaufrufen Mehrere Lebenslinien Au e
425. se Weise enth lt also ein Zustand einen Zustandsautomaten So sehen es die UML Autoren wenn sie von submachine state und von submachine state ma chine sprechen A submachine state specifies the insertion of the specifica tion of a submachine state machine OMG 2003a S 478 Ein Zustand der einen Zustandsautomaten enth lt submachine state legt somit fest wie der untergeordnete Zustandsautomat in den berge ordneten eingef gt ist Der Zustandsautomat der den Zustand mit dem untergeordneten Zu standsautomaten submachine state enth lt wird der enthaltende Zu standsautomat genannt Hier im Beispiel ist dies Geldautomat Derselbe Zustandsautomat kann mehr als einmal untergeordneter Zu standsautomat submachine sein Im Beispiel LeseBetragSM k nnte also mehr als einmal vorkommen Verkn pfung von bergeordnetem und untergeordnetem Zustands automat Verschachtelt man auf diese Weise Zust nde muss deren Verkn pfung gekl rt werden Kommt der eingebettete untergeordnete Zustandsauto mat zu seinem normalen Abschluss muss dies nach oben deutlich werden kommt er zu einem anderen z B zu einem Abbruch ebenfalls Und dies alles ist in vollem Umfang zu leisten also auch bei mehreren Ebenen Der Standardweg vom eingebetteten Zustandsautomat im Beispiel LeseBetragSM ber den Zustand im bergeordneten Automat LeseBe trag LeseBetragSM zum bergeordneten Zustandsautomaten Geldauto mat wird
426. sef Gesch ftsprozessanalyse Ereignisgesteuerte Prozessket ten und objektorientierte Gesch ftsprozessmodellierung f r Betriebs wirtschaftliche Standardsoftware 3 Auflage Berlin u a 2006 Springer Verlag Stein 1994 Stein Wolfgang Objektorientierte Analysemethoden Vergleich Be wertung Auswahl Mannheim u a 1994 WebZumBuch _UMOI Weitere Beispiele www staud info WebZumBuch_UMO2 Zusammenfassung www staud info WebZumBuch_UMO3 Metamodellierung und Aufsetzpunkte www staud info WebZumBuch_UMO4 Vertiefungen und Erweiterungen www staud info WebZumBuch_UMOS5 Glossar www staud info WebZumBuch_UMO06 Gallerie www staud info WebZumBuch_UMO07 Abbildungen www staud info
427. sen werden sollen dann kann dies so wie unten angegeben im Modell ausgedr ckt werden 11 4 Vertiefung 243 Im kombinierten Fragment consider st ein weiteres Fragment des Typs assert enthalten Dieses stellt sicher dass der in ihm angegebene Informationsaustausch auf jeden Fall realisiert wird Hier also das ber senden der Nachricht q und das Wirksamwerden der Zustandseinschr n kung Y p 15 Im Beispiel sind auch zwei Zustandseinschr nkungen enthalten die ei ne n Textform mit geschweiften Klammern die andere als Notiz mySta te Sie werden wie oben ausgef hrt zur Laufzeit gepr ft und zwar direkt vor dem ersten Ereigniseintritt das auf Y nach der Zustandseinschr n kung erscheint Die beiden Interaktionsfragmente assert und consider sind verschach telt Das Interaktionsfragment mit assert st in dem mit consider enthal ten Das bedeutet dass erwartet wird dass die Nachricht q vorkommt wenn vorher eine Nachricht v aufgetreten ist Abbildung 11 4 9 Sequenzdiagramm M Quelle OMG 2003a S 442 Figure 345 Obige Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Einen Interaktionsoperator ignore consider Eine Zustandseinschr nkung mystate Ein kombiniertes Fragment assert Ein Interaktionsfragment mit dem Operator assert Au erdem zwei ineinander verschachtelte Fragmente Abgleich Zahlungseingang Das folgende Beispiel entstammt dem Awendungsbereich Mahnwe sen Es modelliert den Abg
428. setzung in der Programmierung leicht zu l sen ist bereitet die Mehrfachvererbung gr ere Probleme Hier kann es zu kollidierenden Attributen und Methoden kommen z B wenn ein Attribut in zwei bergeordneten Superklassen mit unterschiedlichen Werteberei chen auftritt 6 7 Abstrakte Klassen Abstrakte Klassen mussten oben schon mehrfach angef hrt werden jetzt mit dem Konzept der Generalisierung Spezialisierung werden sie vertieft betrachtet Wie in Kapitel 2 angemerkt haben abstrakte Klassen keine Instanzen sie k nnen nicht instanziieren Sie haben aber von ihnen abgeleitete Klas sen die Instanzen haben Ja sie sollten sie sogar haben nur dann ist ihre Definition sinnvoll Rumbaugh Jacobson und Booch 2005 S 129 Beispiel Stellen wir uns im Systemdesign einer Anwendungssoftware die ver schiedenen Fenster vor Dann k nnte eine abstrakte Klasse Window die Attribute und Methoden enthalten die alle Fenster gemeinsam haben z B size visibility display hide Sie h tte aber keine eigenen Objekte In stanzen Erst die von ihr abgeleiteten konkreten Fenster h tten welche Die folgende Abbildung zeigt eine solche Klasse F r die Notation im Rahmen der UML gilt dass die Bezeichnung von abstrakten Klassen kursiv gesetzt wird 6 7 Abstrakte Klassen 91 size Area 100 100 visibility Boolean true defaultSize Rectangle x Win Kiindow attachX x in XWindow Abbildung 6 7 1 A
429. sind Bestandteil der bersichtsnotationen wie sie zum Beispiel in der Unternehmensmodellierung n tig sind Beispiele daf r sind die Szenarien in der SAP Unternehmensmodellierung ganz allge mein die Wertsch pfungsketten und viele der Beispiele in der Literatur zu Gesch ftsprozessen die sehr oft auf Detaillierung verzichten und falls dies doch mal da ist auf Umfang 15 2 Funktionsmodellierung vs Prozessmodellierung Es ist nun mal jedenfalls derzeit noch ein Unterschied der Bedeutung hat In der Prozessmodellierung werden ganze Funktionen abgegrenzte kleine Aufgaben oftmals in einem Basiselement gekapselt Damit sind sie nur noch durch ihre Benennung pr sent nicht in ihrem Aufbau In der Systemanalyse ist dies nicht n tig ja nicht m glich Das Sy stem egal ob Softwaresystem oder physisch greifbares System muss alle anstehenden Aufgaben bearbeiten Die folgende Abbildung soll das verdeutlichen Es soll um einen aus Prozesssicht winzigen Ausschnitt aus der Leistungserstellung eines Un ternehmens gehen In einer Grobmodellierung zum Begriff vgl oben k nnte das Zusammenstellen der Ware das Erstellen der Rechnung und der Versand des Ganzen zum Kunden in eine Aktion oder Funktion gepackt sein In einer Standardprozessmodellierung k nnte dieser Ausschnitt so mo delliert sein wie in der zweiten Ebene angegeben Elementare T tigkeiten werden jeweils in ein Basiselement gepackt wie z B bei einer Istanal
430. sknoten oder einer Gabelung f r den Fall dass der zusammengesetzte Zustand orthogonal ist Der Zutritt ber einen Ein stiegspunkt bedeutet dass die Eingangsaktivit t des zusammengesetzten Zustandes ausgef hrt wird danach folgen die Transitionen eine oder mehrere vom Einsteigspunkt zu dem Zielzustand bzw den Zielzust nden innerhalb des zusammengesetzten Zustandes Genau wie f r die voreinge stellten Starttransi tionen m ssen die W chter Bedingungen der Trigger dieser Starttransitionen wahr sein damit das Modell fehlerfrei ist Verlassen Auf hnliche Weise kann ein Zustandsautomat verlassen werden als Ergebnis davon dass der Schlusszustand erreicht wird durch eine Grup pentransition die f r alle Subzust nde des untergeordneten Automaten eines zusammengesetzten Zustandsautomaten submachine state compo s te state gilt oder durch irgendeinen seiner Ausstiegspunkte Das Verlassen durch einen Schlusszustand oder durch eine Gruppen trans tion hat hier dieselbe Bedeutung wie f r einfache zusammengesetzte Zust nde Ein Ausstiegspunkt ist gleichbedeutend mit einem Verbin dungsknoten bzw Verkn pfer f r den Fall dass der zusammengesetzte Zustand orthogonal ist Verlassen durch einen Ausstiegspunkt bedeutet dass die erste Aktivit t der Transition mit dem Ausstiegspunkt als Ziel ausgef hrt wird gefolgt von der Schlussaktivit t des zusammengesetzten Zustandes Falls mehrere erste Aktivit ten vorliegen gilt entsprech
431. sog strukturierten Aktivit tsknoten stellen eine Gruppierung von zusammengeh rigen und zusammenwirkenden Aktionen dar Es s nd aus der Sicht ihrer Aktivit t ausf hrbare Knoten die in sich untergeordnete Knoten als activity group enthalten Es kann Kontrollkanten und Pins geben die mit ihm dem strukturier ten Aktivit tsknoten verbunden sind Die Ausf hrung jeder in ihn einge betteten Akt on kann erst beginnen wenn der strukturierte Aktivit tskno ten seine Objekt und Kontrolltoken erhalten hat Die Outputtoken des strukturierten Aktivit tsknotens stehen erst zur Verf gung wenn alle eingebetteten Aktionen fertig sind Wof r wird ein solches Konzept ben tigt F r ein allgemeines grund s tzliches Problem jeder Modellierung von T tigkeitsfolgen der Bew lti gung unterschiedlicher Detaillierungsgrade Durch die strukturierten Ak tivit tsknoten kann rekursiv auch in mehreren Ebenen in einem Aktivi t tsknoten eine kleinere Aktivit t definiert werden in einem Knoten die ser wieder eine usw Somit k nnen verschachtelte Strukturen entstehen Dies kann z B dazu benutzt werden auf der obersten Ebene eher glo bale Knoten anzulegen die dann in einem oder in mehreren Schritten verfeinert werden Eine weitere eher auf die technische Realisierung von Software zielen de Begr ndung f hren die UML Autoren an Dabei geht es um Probleme mit der Parallelverarbeitung Bei der Ausf hrung von Aktionen in Aktivit te
432. soziation aber mit einer gef llten Raute am Assoziationsende 5 2 Einf hrende Beispiele mit grafischer Notation Aggregationen Ein PC Personal Computer besteht typischerweise u a aus einer Hauptplatine Festplatten und einem Bildschirm Auf der Hauptplatine wiederum finden sich u a Prozessoren Speicherbausteine und Bussy steme vgl das Beispiel unten Beliebt in der Literatur ist auch das Bei spiel moderner Flugzeuge die nat rlich vielstufig aus zahlreichen Komponenten bestehen In der folgenden Abbildung ist das oben erw hnte Beispiel n der UML Notation angegeben Jede Verbindungslinie von einer Komponen ten zu einer Aggregationsklasse bedeutet eine Teil_von Beziehung und wird durch eine Raute wie in der Abbildung gezeigt grafisch ausge dr ckt Die Raute kennzeichnet die Aggregation Die einzelnen Beziehungen werden auch als Assoziationen bezeichnet und k nnen auch mit den in Abschnitt 3 4 eingef hrten Wertigkeiten spezifiziert werden 13 Einige Autoren fassen bei einer baumartigen Anordnung der Aggregationsbeziehungen die Rauten zu jeweils einer zusammen 5 2 Einf hrende Beispiele mit grafischer Notation 75 Computer Y o 0 1 0 a enth lt sieckt_in 1 I 1 Hauptplatinen Festplatten Bildschirme 0 170 17 1 4 1 ee Speicher Abbildung 5 2 1 Erfassung einer Komponentenstruktur durch Aggregation Eine textliche Beschreibung der Assoziationen ist in der Abbildung bei s
433. ssketten 10 11 2 Theorieelemente f r die Prozessmodellierung Dieser Abgleich soll in Anlehnung an die in Abschnitt 15 3 vorgestellten Basiskomponenten einer Methode zur Prozessmodellierung durchgef hrt werden S e enthalten die f r eine Modellierung von T tigkeitsfolgen m einfachsten Fall notwendigen Theorieelemente Die Nummerierung ist die von Abschnitt 15 3 Nur f r T tigkeitsfolgen Es bleibt dabei AD Aktivit tsdiagramm EPK Ereignisgesteuerte Prozesskette Auch auf verschiedenen Niveaus Begrenzt Nicht vorgesehen w hrend der Realisierung der elementaren T tigkeiten Aktion nur mit positivem Ende Nicht in der Prozess modellierung 192 10 Aktivit ten 1 Elementare T tigkeiten Diese sind n Aktivit tsdiagrammen durch die Aktionen gegeben und zwar in vollem Umfang Auch in der Hinsicht dass hier auf verschiede nen Niveaus zusammengefasst werden kann was wegen der ber sichtsgewinnung f r eine Unternehmensmodellierung unabdingbar ist 2 Tr ger der T tigkeiten Auch diese sind vorgesehen Entweder durch die Schwimmbahnen oder durch Eintrag innerhalb des Aktionssysmbols Die Ausarbeitung geht hier allerdings nicht sehr weit Was ist wenn auf dem jeweiligen Aggregati onsniveau mehrere Tr ger eine T tigkeit realisieren Was ist wenn es Beziehungen zwischen den Tr gern gibt 3 Informationen auf Tr gern aller Art Ihre Erfassung ist direkt nicht vorgesehen
434. st nden der aktiven Zustandskonfiguration Eine solche Transition mit einem Ziel au erhalb des zusammengesetz ten Zustandes bedeutet dass die Schlussaktivit t des zusammengesetzten Zustandes ausgef hrt wird Ist das Ziel innerhalb geschieht dies nat rlich nicht Verbundtransitionen Eine Verbundtransition compound transition stellt einen semantisch vollst ndigen Pfad aus einer Transition oder aus mehreren dar Er kommt von einer Menge von Zust nden im Gegensatz zu Pseudozust nden und zielt auf eine Menge von Zust nden Damit stellt eine Verbundtransition eine azyklische ununterbrochene Kette von Transitionen dar die mittels der Pseudozust nde Verkn pfer Verbindungspunkt Auswahlknoten oder Gabelung verkn pft s nd und die 13 3 Vertiefung 321 den Weg von einer Menge von Quellzust nden zu einer Menge von Ziel zust nden angeben F r eine Selbsttransitionen stellt derselbe Zustand die Quell und die Zielmenge dar Eine einfache Transition die zwei Zust nde verbindet ist ein Sonder fall einer Verbundtransition Interne Transitionen Eine interne Transition wird ausgef hrt ohne den Zustand in dem sie definiert ist zu verlassen oder wieder zu betreten Dies gilt auch falls der Zustandsautomat in einem verschachtelten Zustand ist Abschlusstransitionen und Abschlussereignisse Eine Abschlusstransition completion transition ist eine Transition die als Quelle einen zusammengesetzten Zustand einen Zust
435. stem vs Gesch ftsprozess wirk lich Oder etwas provozierend Sind Gesch ftsprozesse Automaten mit minimalem men schlichen Einwirken Als ein extremes Szenario kann man sich vorstellen dass damit Ge sch ftsprozessmodellierung immer mehr und alleine zu Software Engi neering wird Damit w re die in den obigen Abschnitten ge u erte Kritik an der ob jektorientierten Theorie im allgemeinen und der UML im besonderen nicht haltbar Sie w re geradezu geschaffen f r eine zuk nftige Unter nehmensmodellierung Nun dem ist nicht so und dies aus zwei Gr nden e Erstens weil derzeit und in naher Zukunft trotz aller Fortschritte viele Gesch ftsprozesse bzw Gesch ftsprozessabschnitte schlicht nicht au tomat sierbar sind Vgl dazu den Punkt Wirkliche Gesch ftsprozes se in WebZumBuch UMDOI e Zweitens aber und vor allem weil es die Ebene der Gesch ftsobjekte und des Prozesshandelns tats chlich gibt Sie macht den Prozess aus mit ihr nur erkennt man ihn und kann ihn und seinen Kontrollfluss beschreiben In einer systemnahen Modellierung ist dagegen ein Ge sch ftsprozess nicht mehr wirklich erkennbar Abgegrenzte Sache Sind Gesch ftsprozesse Automaten Pr destiniert Nein nicht ganz Unternehmens datenmodelle Im Zentrum Standardprozess modellierung Darunter Systemnahe Prozess modellierung Dar ber Grobmodellierung von Gesch fts prozessen 354 14 Gesamteinsch tzung Des
436. stlegung der jeweils folgenden Aktionen Folgende unterschiedlichen Ereignisse werden hier u a unterschieden call behavior event call event call invocation event change event invocation event receiving event send invocation event s gnal event start event termination event time event e trigger event Die meisten stellen nur Bezeichnungen f r bestimmte Ereignisarten dar ohne tiefere theoretische Bedeutung einige der v a durch den Tokenfluss inhaltlich begr ndeten werden im folgenden erl utert Ereignisauftreten Um ihr Theoriegeb ude l ckenlos zu halten ben tigen die UML Autoren auch ein Theorieelement f r den Zeitpunkt in dem ein Ereignis eintritt Dies ist das Ereignisauftreten event occurrence Mit diesem Konzept wird auch die Beziehung zwischen Ereignissen und Aktionen hergestellt indem die UML Autoren definieren dass das Auftreten von Ereignissen Zeitpunkte darstellt denen Aktionen zugeord net sind OMG 2003a S 416 10 9 2 Verbindung von Ereignissen und Aktionen Den UML Autoren gen gt es nicht dass ein Ereignis eintritt und eine Aktion anst t hier ist dieser Vorgang detaillierter konzeptionell vorge dacht und modelliert Eine wichtige Rolle spielt dabei die accept event action Sie ist definiert als eine Aktion die auf das Eintreten eines Ereignisses wartet das bestimmten Bedingungen gen gt OMG 2003a S 217 Die Philo Ereignisse l sen Verhalten aus Liste von Ereignissen s
437. stungserbringung Au erdem enth lt das Beispiel viele der in den letzten Abschnitten besprochenen Elemente und Konstrukte Der eingebettete Zustand mit den Regionen kann auf zwei verschiede nen Arten enden Entweder positiv wie oben beschrieben dadurch dass alle drei Schlusszust nde erreicht werden Dann greift die Transition zum Zustand Bestanden Oder durch Nichtbestehen der Abschlusspr fung Tritt dies ein wird die Transition von Abschlusspr fung nach Durchgefallen ausgel st Leistungserbringung Veranstaltungen bestanden Grundstudium Projekte l Projekte realisiert Abschluss pr fung durchgefallen Durchgefallen oo Abbildung 13 3 14 Orthogonaler Zustand mit Regionen Quelle In Anlehnung an OMG 2003a S 486 Figure 386 Abschluss in verschachtelten Strukturen Zustand im Zustand Reflektion Aktiv oder inaktiv Transition auf sich selbst Anfangs und Schlussaktivit t Zustandsaktivit t Abschlussereignis 312 13 Zustandsautomaten Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Einen einbettenden Zustand Einen Zustand mit Regionen Einen Zustandsautomaten im Zustand Mehrere orthogonale Regionen in einem Subzustand Einen Initialknoten Anfangszustand der den eingebetteten Zustand aktiviert Schlusszust nde in Regionen Initialknoten in Regionen Au erdem ein Beispiel f r die Beendigung eines Subzustandes Dieses Beispiel macht den dynamisc
438. t ten vervollst ndigt sind aber nicht notwendigerweise die Zu standsaktivit ten Die gleichen Bedingungen gelten wenn der run to completion step vervollst ndigt ist Auf diese Weise wird ein Ereignis nie verarbeitet w hrend der Zu standsautomat in einem Zwischenzustand oder in einer inkonsistenten Situation ist Der run to completion step ist die Passage zwischen zwei Zustandskonfigurationen des Zustandsautomaten 13 4 Protokollzustandsautomaten Die Protokollzustandsautomaten haben grunds tzlich denselben Aufbau wie die Verhaltenszustandsautomaten Sie beschreiben aber nicht Sy stemverhalten sondern die Nutzungsprotokolle eines Systems und geben somit die legalen Transitionen an die ein Classifier ausf hren kann Zust nde Zwei Unterschiede gibt es zwischen Zust nden in Verhaltens und in Protokollzustandsautomaten e Einige Elemente von Verhaltenszustandsautomaten gibt es bei Proto kollzustandsautomaten nicht Eingangsaktivit t Schlussaktivit t und Zustandsaktivit t e Zust nde n Protokollzustandsautomaten k nnen eine Invariante haben Deren textliche Bezeichnung wird nach oder unter der Be zeichnung des Zustandes in eckigen Klammern angegeben vgl die folgende Abbildung Passwort eingabe invarianter Ausdruck Abbildung 13 4 1 Darstellung eines Zustandes in einem Protokollzustandsautomaten Quelle OMG 2003a Seite 489 Figure 391 bersetzung durch den Verfasser Transitionen Eine Pro
439. t T tigkeiten beim anderen Part zipanten ausl st und dass am Ende derselbigen wieder eine Nachricht verschickt wird Was auch insgesamt und nicht nur wie oben schon angemerkt in einer bestimmten Situation auff llt st das Fehlen von Verzweigungen Dies ist untypisch f r Gesch ftsprozesse und hre Modelle Dazu unten mehr 11 3 Einf hrende Beispiele 225 Lebenslinie mit Rechteck Nachricht mit und gestrichelter Linie Bezeichnung sd Kaufabwicklung E BT i E i F Voranfrage senden er g i 9 be 5 Kontroll N ESS fokus Voranfrageantwort senden J 52 en E Anfrage senden Lo a i 35 l 2D l Angebot senden SE 28 Auftrag senden O ER 1 Bo 12 BEER Deng Auftragsbest tigung senden 5 E i i l l 138 Liefermitteilung senden ES ar J 22 F Lieferung Mig S Eingang best tigen __ 4 l gt ro e5 23 c Rechnung senden 5 m D 5 55 Tig CE Zahlung i L gasii Abbildung 11 3 2 Sequenzdiagramm Kaufabwicklung Prozessbeispiel Quelle In Anlehnung an Eriksson und Penker 2000 S 48 Die Abbildung enth lt u a folgende Komponenten bzw Besonderheiten Zahlreiche synchrone Nachrichten Mehrere Lebenslinien Au erdem mehrere Kontrollfokusse Obige zwei Beispiele stellen die Grundstruktur von Sequenzdiagrammen dar Im folgenden wird dies nun schrittweise erweitert und vertieft Sendend und empfangend Folgen von Ereigniseintritten 226 11 Sequenzen 11 4 Vertiefu
440. t nun mal ein wesentliches Struk turmerkmal von Systemen aber auch von anderen Anwendungsbereichen z B Gesch ftsprozessen wo s ch dies n Abl ufen und genutzten Daten artikuliert Eine Theorie im Bereich der Unternehmensmodellierung wird erstmal textlich formuliert und legt so hre Begriffe Konzepte und Konstrukte fest Typisch f r eine Theorie die Modelle zum Ziel hat ist die zus tzli che Nutzung von Abbildungen mit denen Modelle Modellelemente oder Modellaspekte ausgedr ckt werden Deshalb und auch weil der Verfasser Beispiele f r sehr sinnvoll h lt die zahlreichen Abbildungen in diesem Buch f r Struktur und f r Verhaltensaspekte aus dem System und dem Prozessumfeld Die folgende Grafik zeigt die Theorieelemente der UML und die verwendeten Abbildungen f r die beiden Bereiche dort werden sie structure and behavior diagrams genannt Die meisten davon werden in diesem Buch vorgestellt 1 Auf die Darstellung einer anderen Entwicklungslinie die zu diesem Grundkonzept f hrte oder von der entsprechenden Realweltstruktur motiviert wurde die abstrakten Datentypen mit ihrer Verbindung von Informationstyp und f r ihn geeigneten Verarbei tungsprozessen wird hier verzichtet 1 4 Verwendete Datentypen 9 Abbildung 1 3 1 Abbildungen f r die Struktur und Verhaltensmodellierung in der UML Quelle OMG 2003 S 590 Figure 464 grafisch ver ndert 1 4 Verwendete Datentypen In den in den folgenden Kapi
441. t und an seinem Ende der Nachrichtenversand er folgt wird die gesamte Aktivit t bis zum Versand hier erfasst Ganz konkret st dies nicht nur die Nachrichtenaufbereitung sondern auch alles andere was davor erfolgen muss und was Grundlage der Nach richt ist z B bei Prozessbeispielen Durchf hrung einer Kalkulation Teilebeschaffung Auch die in jeder Prozessbeschreibung notwendigen Verzweigungen bzw Festlegungen bzgl der Kontrollfl sse sind zumindest teilweise vor handen e Der Interaktionsoperator alternatives alt entspricht einem exklusi ven Oder e Der Interaktionsoperator assertion assert w rde in einer Prozessbe schreibung zu einem Kontrollflusszweig f hren der auf keinen Fall umgangen werden kann e Der Interaktionsoperator loop loop w rde in einer Prozessbeschrei bung als R ckschleife modelliert vgl Staud 2006 Abschnitt 5 1 e Der Interaktionsoperator option opt w rde als Verzweigung mit einem exklusiven Oder mit einem Leerzweig modelliert Insgesamt liegen mit der zeitlichen Hintereinanderanordnung der Nach richten und den durch Interaktionsoperatoren pr zisierten kombinierten Fragmenten Grundz ge eines Kontrollflusskonzeptes vor Welche Situation liegt vor wenn vor dem Nachrichtenversand kein Kontrollfokus angegeben ist In Sequenzdiagrammen s eht man dies oft dann wenn dem Nachrichtenversand keine ausf hrliche T tigkeit voran geht sondern nur die der Nachrichtenerzeugung Diese
442. tand Er beginnt mit dem Starten des W hltons Eingangsakti v t t und endet mit dessen Abstellung Schlussaktivit t wenn die erste Ziffer gew hlt wird Dies l st die erste Transition aus Der zweite Zustand beschreibt den W hlvorgang der bis die n Zif fern eingegeben sind dank der Selbsttransition immer wieder startet und endet Falls die Nummer g ltig ist kommt es zum Schlusszustand vgl zu diesem Anwendungsbereich auch das ausf hrlichere Beispiel n Abbil dung 13 5 3 Zerlegungsbereich Zusammensetzung verbergen Zust nde im Zustand Verborgener zusammengesetzter Zustand Zustandsautomat eines Subzustandes 318 13 Zustandsautomaten W hlen W hlen Ziffern gew hltin mar LBaan panien eniry Ziffer anf genin Ziffer gew hlt unvollst ndig w hle Ziffer n Abbildung 13 3 17 Zusammengesetzter Zustand mit zwei Zust nden Quelle Leicht ver ndert nach OMG 2003a S 485 Figure 384 bersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten Eine Selbsttransition Mehrere Eingangsaktivit ten ZA Eine Schlussaktivit t Mehrere Transitionen Eine Zustandsaktivit t ZA Au erdem einen Zustandsautomat in einem Zustand und somit einen einbettenden Zustand Beispiel 2 Verborgener zusammengesetzter Zustand Das zweite Beispiel zeigt einen verborgenen zusammengesetzten Zu stand Das Symbol n der unteren rechten Ecke sig
443. tats chlich sinnvoll Stellen wir uns zwei Abl ufe vor die auf diese Weise zusammengef hrt werden Jeder einzelne Ablauf beh lt seine Struktur seine Abfolge von Ereigniseintritten bez glich des entstehen den neuen Trace ist aber nicht festgelegt wie die Ereigniseintritte der Ausgangs Traces zueinander stehen Der neue Trace leistet also alle Abl ufe der urspr nglichen das Verh ltnis zueinander bleibt aber offen Soweit einige Grundbegriffe die von zentraler Bedeutung sind f r In teraktionen und die deshalb hier vorab betrachtet wurden Im folgenden nun die Vorstellung der Komponenten von Sequenzdiagrammen im De tail 11 4 2 Nachrichten Auf das Konzept der Nachrichten wurde schon in Kapitel 7 insbesondere Abschnitt 7 5 eingegangen Hier deshalb nur einige zusammenfassende und vertiefende Erg nzungen In Sequenzen senden sich die Lebenslinien Nachrichten wie in Kapitel 7 beschrieben zur gemeinsamen Aufgabenerledigung Bei Anwendungs bereichen f r die ein Softwaresystem erstellt werden soll sind dies dann Objekte Instanzen von Klassen und die Nachrichten betreffen 1 d R Methodenaufrufe Hat der Ablauf Prozesscharakter stellen die Lebenslini en oftmals beliebige Partizipanten dar die sich nicht im Softwaresystem finden z B wie oben gesehen Kunden Lieferanten usw Die Nachrichten 27 to interleave verschachteln In der Datenverarbeitung auch f r Techniken benutzt mit denen Bild und Ton in einer Datei zusamme
444. tbasierte Suchschl ssel Nicht primitive Objekte B ist abgeleitet von A CvonB D von C Sammlung von teilweise gleich strukturierten Dingen 34 2 Objekte und Objektklassen 2 8 3 Komplexe Objekte Objekte werden auch im objektorientierten Ansatz in erster Linie durch Attribute beschrieben Attribute in der ganz blichen Auffassung wie oben beschrieben Zus tzlich k nnen hier allerdings die Auspr gungen eines Attributs nicht nur die blichen einfachen Attributsauspr gungen sein sondern ganze Objekte Mengen von Attributsauspr gungen oder Mengen von Objekten In diesem Kontext werden dann einfache Attri butsauspr gungen als primitive objects bezeichnet Liegen nun aber als Attributsauspr gungen nicht primitive Objekte vor spricht man von komplexen oder zusammengesetzten Objekten Entsprechend beschreiben Balzert 1999 S 542 und Meier und W st 1997 S 6 komplexe Objekte als Objekte deren Attribute selbst wie derum Objekte sein k nnen 2 8 4 Eine ganz besondere Klasse Classifier Die UML Autoren haben in ihrem Theoriegeb ude eine Vielzahl von Elementen Begriffe Konzepte Konstrukte die sie auch in Beziehung setzen Vor allem in eine Beziehung die hier mit ist abgeleitet von beschrieben werden soll und die wir weiter unten als Generalisie rung Spezialisierung n her kennenlernen werden Kapitel 6 Durch eine solche Beziehung entsteht eine Hierarchie in der die E
445. te persNr integer Mitarbeiter arbeiten in gt name string T vname string n 4 sind zugeordnet plz string ort string stra e string datumEinstellung date geburtstag date einstellen entlassen versetzen beioerdern zahlenGehaltl PC PC Nutzer benutzen gt DV Ausstattung Pe 4 sind zugeordnet 0 1 invNr integer Sachbearbeiter 1 i im Abteilungsleiter ist_vorgeselzt p q ist_untergeben Abbildung 3 8 3 Klassendiagramm zum Anwendungsbereich Angestellte Das obige Klassendiagramm enth lt u a folgende Komponenten Eine einstellige Assoziation Mehrere zweistellige Assoziationen Objekte mit verschiedenen Rollen Au erdem zahlreiche beschriftete Assoziationen 3 9 Navigierbarkeit Navigierbare Enden Die Entscheidung ob ein Assoziationsende navigierbar ist oder nicht f r bin re h ngt davon ab ob eine Assoziation eine Eigenschaft hat Wenn eine oe Eigenschaft am Ende einer Assoziation zu einem der assoziierten Classi fier geh rt stellt sie ein navigierbares Ende der Assoziation dar In die sem Fall ist die Eigenschaft auch ein Attribut des assoziierten Classifiers Nur bin re Assoziationen haben navigierbare Enden Die Navigierbarkeit kann in den Grafiken angezeigt werden oder nicht Sie kann in beide Richtungen existieren oder auch nur in eine In den Grafiken wird sie durch Pfeile und Kreuze angezeigt 3 9 Navigierbarkeit 57 e Eine
446. teilmengenbildenden Endes voll kommen enthalten n der Sammlung die durch das aufgeteilte Ende be zeichnet ist Neudefinition redefining Ein Assoziationsende kann als neudefinierend f r ein anderes bezeichnet werden falls gilt e Beide haben dieselbe Anzahl von Enden 3 11 Objektdiagramme 59 e Jede der Type Mengen die durch die neudefinierende Assoziation verkn pft sind entspricht einem entsprechenden Type der durch die neudefinierte Assoziation verkn pft ist Ist also eine Menge von spezifischen Instanzen f r die anderen Enden beider Assoziationen gegeben gilt Die Sammlungen der neudefinieren den und der neudefinierten Enden sind dieselben Spezialisierung von Assoziationen Assoziationen k nnen auch spezialisiert werden Das Bestehen einer Verkn pfung einer spezialisierenden Assoziation bedeutet die Existenz einer Verkn pfung die dieselbe Menge von Instanzen in einer speziali sierten Assoziation in Beziehung setzt Die folgende Abbildung zeigt Assoziationen die zahlreiche der hier oben und in den oberen Abschnitten angef hrten Beschreibungsmerkmale aufweisen e Drei der vier Enden haben Bezeichnungen a b und d e Alle Enden haben Beziehungswertigkeiten von 0 1 bei a bei b 1 bei dem nicht benannten Ende und 0 1 bei d e Festlegung dass am Assoziationsende b eine Reihenfolge vorliegt e Teilmengenbildung bei d F r eine Instanz der Klasse C ist die Sammlung d eine Teilmenge der Sammlung b
447. tel Object oriented concepts databases and applications New York 1989 2 1 Einf hrung 13 Damit sind wir einen Schritt weiter Wahrnehmung bedeutet Informa tionen zuzuordnen Dadurch werden Realweltph nomene vgl oben fassbar bzw zu etwas fassbarem Diese erste Wahrnehmung der Realit t st Thema der sog Konzeptio nellen Modellierung und wird hier nicht weiter thematisiert Nur zwei Aspekte sollen angesprochen werden Erstens ist unsere Wahrnehmung nicht nur subjektiv wenn w r einen Anwendungsbereich betrachten siehe oben sondern auch zielgerichtet idealerweise auf das Ziel die Ge sch ftst tigkeit des Unternehmens zu unterst tzen Zweitens sind es im wesentlichen Attribute vgl zu Attr buten Staud 2005 die wir f r die Modellierung verwenden Auf Attribute fallen also die Informationen zur ck die oben angesprochen wurden Doch zur ck zu den Objekten In einem Theoriegeb ude wird so ein Konzept der Alltagswelt dann nat rlich pr zisiert So sind die wahrge nommenen Informationen hier die gerade eingef hrten Attribute die gegen ber Eigenschaften pr ziser gefasst sind und zus tzlich wird die M glichkeit der Informationsverarbeitung bedacht Objekte haben Methoden die angeben welche Informa tionsverarbeitung mit ihren Attributsauspr gungen m glich sind Nehmen wir als Beispiel die Angestellen eines Unternehmens Sie sind Objekte und haben Attribute Z B name vorname datumEinstellung Als Me
448. teln gezeigten Beispielen werden auch Da UML Datentypen tentypen angegeben Folgende werden in den Texten der UML und in Rumbaugh Jacobson und Booch 2005 verwendet und sollen deshalb auch hier zum Einsatz kommen CH Schriftformate f r Anwendungs bereiche Objektorientierte Modelle Objekte Klassen Attribute Methoden 10 1 Einleitung Category Money String Date Integer Boolean T meofDay Einige Beispiele werden auch in C angegeben Da finden folgende Datentypen Verwendung Char Float Double Int Wo n tig und sinnvoll sind noch selbsterkl rende weitere Datentypen eingef gt 1 5 Formatierung und Schreibweise Im Text und in den Grafiken wird jeweils ein bestimmtes Schriftformat f r Anwendungsbereiche Objektorientierte Modelle Objekte Klassen Attribute und Methoden verwendet Au erdem schreibt die UML bei einigen dieser Bezeichner einen bestimmten Aufbau des Wortes bzgl Kleinschreibung Gro schreibung und Unterstreichung vor Dieser wird hier schon mal vorgestellt bei der Einf hrung des jeweiligen Theorieele ments dann erl utert Hier die f r diesen Text gew hlte Formatierung e _Anwendungsbereiche Unternehmen Arial fett 11 Objektorientierte Modelle PERSONALWESEN Arial fett Gro buchstaben 9 Klassen Angestellte Arial fett 9 Objekte Maier Angestellte Ar al 8 zum Aufbau vgl unten Attribute datumEinstellung Ar al 9 zum Aufbau vgl unten Methoden Operatio
449. ten dozNr string anrede string name string wame siring strasse siring email string halten Vorlesung haltenPr fung 55138 Abbildung 2 7 2 Objektklasse Dozenten 2 7 2 WebShop Betrachten wir das Geschehen rund um einen WebShop sind ebenfalls sehr schnell sehr viele Attribute und Klassen erkennbar Hier sollen im ersten Schritt die Kunden die Rechnungsk pfe und Rechnungspositionen sowie die Artikel betrachtet werden F r die Kunden werden die Attribute Kundennummer kNr name vorname plz ort strasse Mailadresse mail telefon und Kundenstatus status sowie die Methoden Rechnungs und Mahnungserstellung erstel lenRechnung erstellenMahnung erfasst Kunden KNr integer name string mail string telefon string status integer erstellenRechnung erstellenMahnung Abbildung 2 7 3 Anwendungsbereich WebShop Klasse Kunden Die Rechnungsk pfe k nnen mit den Attributen Rechnungsnummer rechnNr Rechnungsdatum rechnDatum Kundennummer kNr zah lungsart und versandart beschrieben werden F r jede Rechnung wird auch noch die Rechnungssumme rechnSumme und die angefallene Mehrwertsteuer mwst erfasst Bei den Methoden sollen f r s erste das Lesen der Rechnungspositi onsinformationen lesePos die Bestimmung der Rechnungssumme und die Bestimmung der Mehrwertsteuer reichen bestimmeRS bestim meMWSt 2 7 Beispiele 29 Rechnungs k pfe rechn
450. ten Instrumentarium auch und gerade aus dem Strukturteil Dabei ist diese Verkn pfung nat rlich n der Real t t da und gerade f r die Unternehmensmodellierung von gro er Bedeutung Gesch ftsprozesse greifen auf vielf ltige Weise auf die Datenbanken zu Ein klein wenig wird die Verkn pfung bei der Betrachtung der Aktivi t ten thematisiert Dort wird betrachtet wie die Aktionen um Informatio nen zu Objekten die meist durch Informationen repr sentiert sind und Organi sationsstrukturen erweitert werden Verwendete Fachbegriffe in Kapitel 9 0 subordnatebehviorr _ o subordntents DD primitive action Links der in diesem Text verwendete Begriff Rechts der in der objektorientierten Theorie bzw in der UML verwendete Begriff Begriffe ohne bersetzung wurden auch im Text in englischer Sprache verwendet 10 Aktivit ten Am Ende des Kapitels st eine Liste der verwendeten Fachbegriffe n Deutsch und Englisch nach UML 2 0 angegeben In diesem Kapitel wird die Kurzbezeichnung Methode AD f r alle Theo rieelemente zur Erfassung und Darstellung von Aktivit ten eingef hrt Entsprechend Methode EPK f r alle Theorieelemente zur Erfassung und Darstellung von Ereignisgesteuerte Prozessketten 10 1 Einf hrung F r die UML Autoren sind die in diesem Abschnitt vorgestellten Aktivi t ten auf Petrinetzen aufbauende Graphen OMG 2003a S 370 Im vorigen Abschnitt wurde es schon mehrfach angesprochen Aktio nen als el
451. ten Prozessketten ist bei Aktivit ten keine explizite Ber cksichtigung der Zeitachse vorgesehen Nur in der Erfassung des Hintereinanderfolgens der einzelnen Aktionen wird zumin dest die relative zeitliche Position der Aktionen erfasst Mit den Aktivi t tskanten und den verschiedenen Knoten ist dies umfassend modelliert und im Kontrollfluss festgehalten hnlich sehen es auch die UML Autoren The UML does not provide for the specification of a time metric but only describes sequences of executions OMG 2003a S 265 Ganz anders mit Ereignissen Diese m ssen als Konzept bei der Modellie rung von Abl ufen vorhanden sein und sie sind es auch hier in vielf ltiger Form Booch et al definieren wie folgt Ein Ereignis ist die Spezifikation eines signifikanten Vor kommens das sich zeitlich und r umlich zuordnen l sst Booch Rumbaugh und Jacobson 2006 S 336 10 9 Die zeitliche Dimension und die Ereignisse 171 Grunds tzlich gilt hier w e bei Ereignisgesteuerten Prozessketten dass Ereignisse entweder von au en kommen oder intern entstehen Wobei intern hier bedeutet dass das Ereignis innerhalb einer Aktivit t auftritt In der UML werden Ereignisse in enger Verbindung mit Verhalten ge sehen Ereignisse l sen Verhalten aus OMG 2003a S 8 Den umge kehrten Tatbestand dass Verhalten auch zu bestimmten Ereignissen f hrt sehen ben tigen die UML Autoren nicht bzw modellieren hn auf andere Weise durch Fe
452. ten des Dynamik Teils was auf den ersten Blick ber rascht da dieser Operator in der Prozessmodellierung wirklich Bedeutung hat Er dr ckt dort allerdings meist wenn es nicht um Regelwerke und einfache F lle geht so ewas wie Unsch rfe aus Z B darf jede beliebi ge Teilmenge von verkn pften Ereignissen eintreten dann ist der Opera tor erf llt obwohl vielleicht nur einige der Teilmengen Bedeutung haben Oder falls durch hn T tigkeiten verkn pft sind Jede Teilmenge der T tigkeiten erf llt den Operator obwohl auch hier vielleicht tats chlich nur bestimmte Teilmengen berhaupt Bedeutung haben Dies st rt n der Prozessanalyse nicht weil da das Modell nur den in der Praxis vorkommenden Abl ufen entsprechen muss es m ssen nicht alle denkbaren Instanzen korrekt sein Der Prozess wird angetrieben durch menschliches Handeln durchlaufen Anders in der Systemanalyse Hier w re es eine Katastrophe wenn z B einige der Teilmengen schlicht nicht zul ssig w ren Die notwendige Determiniertheit der Abl ufe ginge verloren Deshalb muss hier aufge spaltet werden n eine Kontrollflussstruktur aus einem XOder Operator dessen Kontrollflusszweige genau zu den mit dem logischen UND ver kn pften zul ssigen Teilmengen der Ereignisse bzw Funktionen f hren Hier wird somit eine weitere Ursache f r dieses Defizit sichtbar eine Ursache die auch einen grunds tzlichen wichtigen Unterschied zwischen systemnaher und Prozessmo
453. tendlich als informationelle Grundlage von dynamischen Gesch ftsprozessen dann erlaubt die im objektorientierten Ansatz vorge nommene Aufhebung der Trennung von dynamischen und statischen Aspekten eines Weltausschnitts ber die Operationen Methoden u U eine effizientere Modellierung auch m Bereich der Gesch ftsprozesse Leider ist da au erhalb von Laborsystemen wenig zu sehen Dies gilt nicht nur f r ERP Software sondern auch f r Datenbanksysteme allgemein Die relationale Technologie ist dominierend objektorientierte Elemente sind dabei aber im Kleinen Ein wirklich ernsthafter Versuch vom Kern her objektorientiertt eine Unternehmensmodellierung aufzusetzen ist nicht erkennbar 14 2 Dynamische Aspekte der Unternehmensmodellierung F r die folgenden Ausf hrungen ist eine Unterscheidung wichtig die in der Prozessmodellierung allgegenw rtig ist in der Systemanalyse aber nicht die von Prozess und Funktionsmodellierung Vgl hierzu Abschnitt 15 2 Au erdem wird eine Unterscheidung bez glich der Detaillierungsebe ne der Prozessmodellierung ben tigt e Grobmodellierung von Gesch ftsprozessen e Standardprozessmodellierung und e software systemnahe Prozessmodellierung Vgl die Kapitel oben insbesondere Abschnitt 7 8 und f r eine n here Beschreibung Abschnitt 15 1 14 2 1 Systemdenken vs Prozessdenken Es st sozusagen berall mit der Hand zu greifen Alle Theorieelemente des Dynamik Teils der UML s n
454. tet werden soll wie ja auch im Aktivit tsdiagramm Angedeutet sind aber auch die M glichkeiten des Scheiterns M nzen nicht ausreichend bzw Kein passendes Getr nk gefunden Hier w rden in einer ernsthaften Prozessbeschreibung die dadurch notwendigen T tigkei ten folgen 10 11 Aktivit ten und Unternehmensmodellierung 209 Durst iniii auf Getr nk w hlen LE E E E T BE Er Sr E Abbildung 10 11 6 Fragment Getr nkeautomat als Ereignisgesteuerte Prozesskette Funktionen parallel und m gliches Scheitern In der n chsten Abbildung sind die beiden Funktionen hintereinander angeordnet Hier wird also eine Reihenfolge angenommen Lediglich bei einer Funktion ist das m gliche Scheitern angedeutet Insgesamt macht dieses Beispiel deutlich dass das ausdr ckliche An Erzwungene fordern von Ereignissen n Ereignisgesteuerten Prozessketten eine segens Ereignisse reiche Wirkung hat Die Aussagekraft wird erh ht und au erdem wird das Erkennen von Verzweigungen eher angesto en Zahlreiche Verzweigungen Spr nge und R ckspr nge 210 10 Aktivit ten Getr nk w hlen Getr nk 00T ausgeben Getr nk ausgegeben Abbildung 10 11 7 Fragment Getr nkeautomat als Ereignisgesteuerte Prozesskette Funktionen hintereinander Problembehandlung Als n chstes nun ein Beispiel mit mehr ernsthaftem Prozesscharakter Es ist die oben betrachtete Problembehandlung hier allerdings aus Dar stellungsgr n
455. thoden kommen einstellung gehaltszahlung versetzung usw in Frage Vgl zur Formatierung der Bezeichnungen von Attributen und Me thoden Abschnitt 1 5 Wichtig war den ersten Autoren der objektorientierten Theorie auch der direkte Bezug von Realwelt und Modell Einem Objekt der Realwelt z B einer Angestellten in einem Unternehmen sollte eine integrierte Repr sentation im Modell gegen berstehen Objekte sind damit die kleinsten Einheiten eines objektorientierten Modells die auf denen das restliche Modell aufbaut So wie Relationen Tabellen in der relationalen Theorie Entit ts und Beziehungstypen in der ER Modellierung Funktionen und Ereignisse in der Gesch ftspro zessmodellierung mit EPKs usw Aufbauend darauf k nnen Objekte wie folgt definiert werden Objekte im S nne des objektorientierten Ansatzes s nd Realweltph nomene die durch Attribute beschrieben und oder denen Methoden zugewiesen werden Selektive hoffentlich aber gezielte Wahrnehmung Beispiel Angestellte Basiseinheiten Ganz pragmatisch Objektfindung durch Attribute Ausgangspunkt Realwelt ph nomene Noch einige Beispiele Objekt oder Eigenschaft 14 2 Objekte und Objektklassen Mittlerweile kann diese Definition dahingehend erg nzt werden dass nat rlich weitere Informationstypen wie Grafik Bild Text usw ebenfalls zur Identifizierung und Spezifizierung von Objekten dienen k nnen In der praktischen Ar
456. tivit t startet mit der Expertenteilesuche Diese f hrt zu einem gefundenen Teil oder nicht was durch eine Verzweigung exklusives Oder mit entsprechenden Kantenbeschriftungen modelliert wird Ist die Suche erfolgreich wird die Aktivit t gleich wieder beendet modelliert durch den Knoten Aktivit tsende In der bergeordneten Aktivi t bedeutet dies dass die Aktion Teil beschaffen abgeschlossen ist und dort die Akti v t t wie oben beschrieben zu Ende geht War die Suche nicht erfolgreich f hrt dies dazu dass ein Standardteil ver ndert werden muss Teil dieses Prozesses ist es die Suchbedingungen zu pr fen Es kann sein dass der Flugzeugdesigner die Suche wegen der gro en Anzahl von Teilen und Teilegruppen nicht korrekt formuliert hat Falls mit der berpr ften Suchanfrage kein Teil gefunden wird f hrt dies zu einer Reihe von Alternativen entweder zur Ver nderung eines vorhandenen Teils oder zur Erzeugung eines neuen Standardteils Die Bew ltigung dieser Problematik leistet ein Beschaffungsingenieur und zwar einer der sich im jeweiligen Bereich auskennt Dem wird diese Aufgabenstellung deshalb zugewiesen Als erstes pr ft er die Anforderungen an das Teil Dies geschieht in ei nem st ndigen Austausch mit dem Designingenieur im Modell ersichtlich durch den Zusatz stream an den beiden Kanten mit denen die Aktionen Aufruf einer anderen Aktivit t Expertenteilesuche Zuweisung an Beschaffungs ingenieur Pr
457. tokolltransition legt eine zul ssige Transition f r eine Operation fest Transitionen von Protokollzustandsautomaten haben die folgenden Informationen eine Vorbedingung W chter einen Trigger und eine Keine unklaren Zust nde Nutzungsprotokolle eines Systems Vorbedingung Ereignis Nachbedingung Zul ssige Operationen Einsatz der Operationen Vor und Nachbedingungen bei Operationen 324 13 Zustandsautomaten Nachbedingung Mit einem entsprechenden Text kann in einer Abbildung der Transitionspfeil versehen werden Jede Protokolltransition steht mit h chstens einer Operation in Bezie hung die zum Kontextclassifier des Protokollzustandsautomaten geh rt Zustandsautomaten Ein Protokollzustandsautomat wird immer in Zusammenhang mit einem Classifier definiert Er legt fest welche Operationen des Classifiers in welchem Zustand und unter welchen Bedingungen aufgerufen werden k nnen wodurch auch die erlaubten Aufruffolgen auf den Operationen des Classifiers festgelegt werden Damit gibt ein Protokollzustandsautomat die m glichen und erlaubten Transitionen auf den Instanzen seines Kontextclassifiers an zusammen mit den Operationen die die Transitionen tragen Auf diese Weise kann ein Lebenszyklus einer Instanz erzeugt werden indem die Reihenfolge in der die Operationen aktiviert werden k nnen und die Zust nde die eine Instanz im Laufe seiner Existenz erlebt fest gehalten werden Folgende
458. trollfluss zweige wird aktiv dann geht es weiter e Ein Oder nicht exklusives Oder Eine beliebige Teilmenge der verkn pften Kontrollflusszweige wird aktiv dann geht es weiter e Fin Und Genau einer der verkn pften Kontrollflusszweige wird aktiv dann geht es weiter Vgl zu diesen Operatoren auch Staud 2006 Kapitel 4 Es m ssen elementare T gigkeiten aber auch Ereignisse mit diesen Operatoren verkn pft werden k nnen Dies betrifft nicht nur das Aufteilen des Kontrollflusses in mehrere Zweige sondern auch das Zusammenf hren mehrerer zuvor getrennter Kontrollflusszweige In einem Kontrollflusskonzept sollte auch ein Element f r den Start und die Beendigung des Gesch ftsprozesses vorhanden sein Damit ist dann auch die oft vorkommende Ralweltsituation mehrerer alternativer Startpunkte problemlos modellierbar Das Element zur Beendigung einer T tigkeitsfolge sollte die gesamte T tigkeitsfolge beenden Die Beendigung eines einzelnen Zweiges ist au erhalb von angesto enen Teilaufgaben in der Standardprozessmodel lierung nicht n tig 7 Ebenen Kapselung Eine Standardprozessmodellierung muss Detaillierungsebenen erm gli chen Dies kann im einfachsten Fall so realisiert werden dass einfach n den Elementen die elementare T tigkeitsfolgen erfassen mehr oder weniger vom jeweiligen Abschnitt der T tigkeitsfolge reingepackt wird strukturell hnlich dem was im vorigen Kapitel unter dem Stichwort Prozess vs
459. tten Staud 2006 Die gro e L nge der Ereignisgesteuerten Prozesskette entsteht aus mehre ren Gr nden Einer st dass hier die grafische Konvention beibehalten wurde auch in der einfachen sequentiellen Abfolge die Ereignisse nach den Funktionen mit anzugeben Verzichtet man darauf werden die se quentiellen Abfolgen wesentlich k rzer Vgl f r eine diesbez gliche Variante dieser Ereignisgesteuerten Prozesskette WebZumBuch_UMDOI Auf andere Gr nde die hier zu einer recht langen Ereignisgesteuer ten Prozesskette f hren wird unten eingegangen Von SD zu EPK Vergleich mit Methode EPK EPK Ereignisgesteuerte Prozesskette K rzer ohne Ereignisse 258 11 Sequenzen sd Kaufabwicklung I Voranfrage senden a 1 u I A Voranfragea ntwort senden Anfrage senden teur o y i l Angebot senden Angebot akzeptiert Auftrag senden Auftragsbest tigung senden l Liefermitteilung senden Lieferung 4 Eingang best tigen _ Rechnung senden i Abbildung 11 5 2 Sequenzdiagramm Kaufabwicklung mit Interaktionsoperator Die Ereignisgesteuerte Prozesskette Zu Beginn wurde ein Startereignis angef gt Beschaffungswunsch liegt vor Danach folgen im wesentlichen n einfacher sequentieller Abfolge Funktionen mit ihren Ergebnisereignissen Die Funktionen speisen sich aus zwei Quellen e Zum einen entsprechen sie dem jeweiligen Kontrollfokus des Se quenzdiagramms e Zum ander
460. tweder mit der Produktion oder mit dem Controling 15 3 Basiselemente einer Methode zur Prozessmodellierung 361 3 Informationen auf Tr gern aller Art Dieses Element erfasst jede irgendwie genutzte Information auf allen Tr gern Dies ist grunds tzlich notwendig gibt aber auch den Hinweis auf Optimierungspotential Au erdem stellt es die Verbindung zu den statischen Aspekten dar den Datenbanken 4 Informationsverarbeitung Unabdingbar f r eine Standardprozessmodellierung ist die Informations verarbeitung w hrend der Realisierung der elementaren T tigkeiten zu erfassen Der Grund ist dass in jedem Gesch ftsprozess zahlreiche und umfang reiche Informationen verwaltet werden Schlie lich stellt ja auch jedes Gesch ftsobjekt Informat on dar Dieses erzeugen bearbeiten l schen und transportieren von Informati on ist den oben eingef hrten elementaren T tigkeiten zuzuordnen Die dort angegebenen Tr ger sind dann die informationsverarbeitende Ein heit Die Erfassung der Informationsverarbeitung stellt den Zusammenhang zwischen Prozess und Funktionsmodellierung her 5 Ereignisse Gedacht ist hier an die f r den Gesch ftsprozess wichtigen Ereignisse Ereignisse in diesem Sinne sind ein Bestandteil des Kontrollflusses In der Ablaufmodellierung werden schon lange Ereignisse und Aktionen miteinander verkn pft Die einfache Tatsache dass eine T tigkeit startet ist ein Ereignis bzw bedingt ein Ereignis
461. ty para meter node hier mit Parameterknoten bersetzt Parameterknoten haben entweder ankommende oder wegf hrende Kanten nicht beides wenn sie am Anfang der Aktivit t stehen keine ankommenden wenn sie am Ende stehen keine weggehenden Beispiel Herstellung von Platinen Hier liegen folgende Parameterknoten vor e F r den Output Defekte Computer und Fehlerfreie Computer e F r den Input Material f r Produktion Der Fluss beschreibt auf einfache und sehr abstrahierte Weise die Her stellung von Computern Es werden Platinen hergestellt die Computer zusammengebaut und dann getestet Am Schluss der Aktivit t sind die Computer qualit tsgepr ft mit positivem oder negativem Ausgang 10 4 Aktivit tskanten 137 Die Verzweigung am Schluss entspricht einem exklusiven Oder das hier ohne Operator realisiert ist Herstellung Platinen Material f r Produktion Por Computer zusammen bauen J Abbildung 10 3 4 Parameterknoten im Einsatz Quelle Leicht ver ndert nach OMG 2003a Figure 222 S 306 bersetzung durch den Verfasser Computer testen Zusammen 1 gebaute Computer Die obige Abbildung enth lt folgende Knoten Einen Parameterknoten f r den Input Zwei Parameterknoten f r den Output Au erdem mehrere Objektknoten die physische Objekte repr sentieren Parameterknoten erlauben auch die Spezifizierung durch streaming vgl Streaming und Abschnitt
462. uch die Variante ber cksichtigen wollen dass u U mehrere Dozenten gemeinsam eine bestimmte LV durchf hren dann m sste die Wertigkeit bei Dozenten ver ndert werden Dozenten personalnumer siring name sinng vorname string halten Vorlesung haltenPr fung Studierende matrikelhr string name siring vomname string plz string ort string _ strasse string 5 m 1 bezLV string beginnStudium date Veranstaltungs studiengang string endeStudium date realisierung semesterSPO integer studiengang string tachsernester integer imma trikulierend exma trikuliereni gozar Lehrveranstaltungen Abbildung 3 5 6 Dreistellige Assoziation Beispiel Veranstaltungsbesuch Einstellige rekursive Assoziationen Bei den einstelligen rekursiven Assoziationen geht es um Beziehungen innerhalb einer einzigen Klasse Betrachten wir als Beispiel eine Objektklasse Angestellte mit den b lichen Hierarchiestufen z B Sachbearbeiter Abteilungsleiter Hauptab teilungsleiter usw Hier stehen tats chlich die Angestellten untereinan der n einer Beziehung Z B alle Sachbearbeiter einer Abteilung mit dem Abteilungsleiter und umgekehrt Die Wertigkeiten und Rollenangaben in der folgenden Abbildung bedeuten e Jeder Sachbearbeiter hat genau einen Vorgesetzten den Abteilungs leiter e Jeder Abteilungsleiter hat mindestens einen Untergebenen Einstellige Assoziationen Beispiel Angestellte Be
463. uck Nachrichtenverkehr Die folgende Abbildung zeigt nun diesen Nachrichtenverkehr in einem im Klassendiagramm Die Elemente sind hier die ganz normalen Klassen des Klassendiagramm objektorientierten Modells deren Bezeichnungen aus Gr nden der An schaulichkeit l nger gew hlt wurden Zus tzlich zu den Nachrichten sind hier noch die Antworten angegeben Auch hier ist nat rlich der Kontrollfluss auf das verschachtelte Aus senden der Nachrichten mit Wiederholung und Parallelit t beschr nkt und insofern von eingeschr nkter Aussagekraft Die grafische Darstellung zeigt au erdem dass auch diese Darstellung des kooperativen Miteinanders nur bei kleinen Modellen interpretierbar ist 7 8 Bedeutung f r die Unternehmensmodellierung 107 ausdrRech RNr Abbildung 7 7 2 KNr integer 1 kundendatenikNr name string vname string Tal telefon string Rechnungs status integer l k pfe kundendaten rechnhr integer rechnDatum string kNr integer zahlungsart Sining 2 bestimmePosfrechnNr versandart string rechnSumme money mwst money erstelleRech ausdrRech bestimmeRS i bestimme MWSt posHr artBez anzahl posSumme EEE m mm a GE E GES GA GES SS HA HE GES GE GG BE GE 1 posNr artBez anzahl posSumme 5 amp E or Rechnungs T E 4q geh ren_z ij zur 2 GENE i positionen E 1 rechn r integer poe Are E r integer 3 2 1
464. umfassendere Beispiele Sequenzdiagramm AbstraktesBeispiel Das erste Beispiel stammt aus OMG 2003a Es ist inhaltslos gehalten wohl um m glichst viele Elemente von Sequenzdiagrammen unterzubrin gen Trotzdem ist es erkennbar ein Systembeispiel Hier sind tats chlich fast alle Elemente der Methode SD angef hrt Die vier Lebenslinien bezeichnet mit ob1 C1 0ob2 C2 0ob3 C3 und 0ob4 C4 in diesem System Beispiel zeigen es wiederum deutlich Typi scherweise bestehen Lebenslinien in der Vorstellung der UML Autoren aus Objekten Instanzen von Klassen Das ger t etwas in Vergessenheit wenn man die vielen Gesch ftsprozessbeispiele sieht muss aber immer bedacht werden vgl auch Abschnitt 11 12 Hier sind es die Objekte obl der Klasse C1 ob3 von C3 und ob4 von C4 Die Lebenslinien sind grafisch auf derselben H he angeordnet mit Ausnahme derjenigen die erst bei der Abarbeitung entsteht Dies ist hier ob2 C2 Es wird also angenommen dass die von ob1 C1 kommende Nachricht create die gleichnamige Methode in C2 aufruft die wiederum dann ob2 erzeugt Das Beispiel weist auch darauf hin dass Sequenzen und ihre Dia gramme mit dem restlichen System direkt verkn pft sein k nnen Dies geschieht durch einen Pfeil von der Randlinie aus zur ersten Lebenslinie hier mit opti beschriftet Es zeigt auch Beispiele f r das Anzeigen der aktiven Phase einer Le benslinie eigentlich aktive Phase der Methode Der Balken der daf r ber die L
465. und Mahnungen je nach Kundenstatus 2 Mahnung und Inkassob ro Storniert 328 13 Zustandsautomaten 1 Mahnung Zahlungsfrist Wird eine Rechnung im Zustand Mahnung nicht innerhalb von 21 Tagen beglichen geht sie entweder in den Zustand 2 Mahnung oder in den Zustand nkassob ro ber In den Zustand 2 Mahnung kommt sie falls es sich um einen Neukunden handelt oder falls bei einem Altkun den n den letzten drei Jahren keine Zahlungsschwierigkeiten aufgetre ten waren Kundenstatus Plus In den Zustand Inkassob ro kommt sie falls es sich um einen Altkunden handelt bei dem in den letzten drei Jahren schon mal Zahlungsschwierigkeiten auftraten Kundenstatus Mi nus 2 Mahnung Zahlungsfrist Wird eine Rechnung im Zustand 2 Mahnung nicht innerhalb von 21 Tagen beglichen wird sie einem Rechtsanwalt der ein Inkassob ro be treibt bergeben und geht n den entsprechenden Zustand ber Nicht einzutreiben Falls keine Bezahlung der Rechnung m glich ist muss sie storniert wer den und erreicht den entsprechenden Zustand Dies ist in der Regel nur nach dem Zustand Inkassob ro m glich In Ausnahmef llen wird dieser Zustand auch vom Zustand Offen aus er reicht falls gleich erkannt wird dass keine Eintreibung m glich ist Eine weitere Ursache konnte sein dass eine neue Rechnung gar nicht zustell bar st Dann durchl uft die Rechnung die Zust nde Neue Rechnung Nicht zustellbar und Storniert 13
466. und Buchungskontennummer bk_nr Folgende Er gebnisse sind hier dann m glich e Die Zahlung ist in Ordnung e Es handelt sich um eine R cklastschrift e Die Zahlung ist unklar d h sie kann nicht zugeordent werden In der Abbildung is die entsprechende Verzweigung eingebaut Falls es sich um eine ordnungsgem e Zahlung handelt wird die Me thode doZahlungOk aufgerufen Sie st t das Verbuchen der Rechnung an mit Hilfe eines Objekts Datenbank und f hrt die notwendigen nde rungen bei den Buchungskontotransaktionen durch Zur ckgeliefert wird der Transaktionsschl ssel ergebnis Falls es sich um eine R cklastschrift handelte wird die Methode zur R cklastschriftenbearbeitung angesto en doR cklastschrift Diese ver merkt zuerst die Tatsache der R cklastschrift im Buchungskonto An schlie end wird eine Mail generiert aus vorgefertigten Textbausteinen und an das B ro geschickt das solche F lle bearbeitet Die Bearbeitung geht dann dort nicht automatisiert weiter Dieser Abschnitt endet dann wie oben mit der Kl rung der Transaktions id und der Antwort auf den Methodenaufruf ergebnis Im dritten Teil werden unklare Zahlungen durch die Methode doZah IungUnklar bearbeitet Als erstes wird gekl rt woher die Unklarheit r hrt Danach wird m glichst viel Information gesammelt Falls die Rechnungsnummer r_nr festgestellt werden kann wird die se festgehalten Durch Abgleich der verf gbaren Daten
467. und der Versand des Auftrags modelliert 262 11 Sequenzen 2 Angesn X beten zum nd n N Angebot Angebot Kane Ablehnurs a ds schraibeh lt P ii hz i sr E 32 i Aut zum l Lieferanten i ji aara Abbildung 11 5 5 EPK Kaufabwicklung Teil 3 vgl die Sequenzdiagramme in den Abbildungen 11 3 2 und 11 5 2 Teil 4 Danach verlagert sich die Aktivit t zum Lieferanten Nach der Auftrags annahme wird die Auftragsbest tigung verschickt Im Sequenzdiagramm folgt dann in einem Kontrollfokus die Auftragserledigung Leistungs erbringung mit Liefermitteilung und Lieferung In der EPK wurde dies alles als Folge von vier Funktionen mit ihren Ergebnisereignissen model liert 11 5 Sequenzen und Unternehmensmodellierung 263 _Aufirags best tigung Kyeterant ng letan E mitteilung hetera D Abbildung 11 5 6 EPK Kaufabwicklung Teil 4 vgl die Sequenzdiagramme in den Abbildungen 11 3 2 und 11 5 2 Abbildung 11 5 7 zeigt den Abschluss des Gesch ftsprozesses Der Kun Teil 5 de pr ft die Lieferung und best tigt den korrekten Eingang was beim Lieferanten zur Erstellung und zum Versand der Rechnung f hrt Die Nachricht Zahlung des Sequenzdiagramms wurde in der EPK als Funkti on Zahlung durchf hren modelliert gefolgt vom Ergebnisereignis Zah lung durchgef hrt das gleichzeitig Schlussereignis ist Bei dieser letzten Funktion wurde auf eine m gli
468. und die 13 5 Beispiele von Verhaltenszustandsautomaten 333 Anlage ist wieder im Leerlauf aus dem sie durch das Abnehmen des H rers kommen kann activeEntry unvollst ndig w hle Ziffer n nach 15 Sek Sa W hlton w hle Ziffern n do spiele Wahllon F Ziffern gew hlt n u 1 H rer abheben lungotoll zinem gew hlt n Mahiton h ren Ung ltig an i iconnect Verbinden Besetzt l spe verbunden Pinned Angerufener Angerufener antwortet h ngt auf er Leitung freischalten garr abbrechen beenden amp abgebrochen Abbildung 13 5 3 Zustands bergangsdiagramm Telefonanlage Quelle OMG 2003a Seite 495 Figure 392 bersetzung durch den Verfasser Das obige Beispiel enth lt u a folgende Komponenten bzw Besonderheiten MehrereAnfangszust nde Einen Ausstiegspunkt abgebrochen Mehrere Bereiche f r interne Aktivit ten ZA Einen Einstiegspunkt activeEntry Einen Schlusszustand Eine Selbsttransition W hlen Zahlreiche Transitionen Mehrere Zust nde mit Bereichen Zahlreiche Zustandsaktivit ten ZA Au erdem zwei Zust nde mit mehreren abgehenden Transitionen Wenn schon dann Ablaufmodellierung Fix und flach Dynamisch und tief Gesch ftsobjekte in ihren Zust nden verfolgen 334 13 Zustandsautomaten 13 6 Zustandsautomaten und Unternehmensmodellierung Welchen Beitrag k nnen Zustandsautomaten zu einer Unternehmensmo dellierung leisten
469. und die Prozeduren zur Manipulation der internen Repr sentation der Datenstruktur werden lo gisch und softwaretechnisch zusammengefasst Jedes Objekt enth lt und definiert die Prozeduren Methoden und die Schnittstelle das Interface durch die es angesprochen und manipuliert werden kann durch andere Objekte Die Schnittstelle eines Objekts besteht aus einer Menge von Operationen die auf das Objekt angewandt werden k nnen Somit kann der Zustand eines Objekts the state of an object d h die konkreten Aus pr gungen seiner Attribute nur durch die Methoden ver ndert werden die durch die entsprechenden Operationen aufgerufen werden Damit bleibt die interne Repr sentation der Datenstruktur und der Me thoden dem Nutzer verborgen D h die Nutzer sehen nur die Objekte usw wie diese intern realisiert werden bleibt f r sie unsichtbar Kapse lung erlaubt somit information hidding Durch die Kapselung ist es auch m glich dass sich z B die Methoden einer Klasse ndern k nnen ohne dass der brige Bereich der Anwen dung tangiert wird falls die Schnittstelle gleich bleibt 6 Dieses Konzept geht auf das der abstrakten Datentypen zur ck 2 7 Beispiele 27 2 7 Beispiele In diesem Buch werden Beispiele aus drei Anwendungsbereichen ver wendet Hochschule WebShop und Angestellte Im Hoch schulbeispiel wird vor allem das Geschehen rund um die Vorlesungs und Pr fungsdurchf hrung betrachtet Beim WebShop konzentriert sich
470. undanz da die Daten der Pr fung dann bei jeder einschl gigen Lehrveranstaltung erfasst werden m ssten Die Wertigkeiten bei den einzelnen Klassen beziehen sich hier im drei stelligen Fall nicht auf gegen berliegende Klassen wie bei den zwei stelligen Assoziationen geht ja nicht sondern auf die Assoziation als solche Hier also e In einem Pr fungsgeschehen nimmt mindestens ein Studierender teil e n einem Pr fungsgeschehen liegt ein bestimmter Pr fungstyp vor e In einem Pr fungsgeschehen geht es um genau eine Lehrveranstal tung Vorlesungsbesuch zweistellig Vorlesungsbesuch dreistellig 46 3 Assoziationen Lehrveranstaltungen bezLV string studiengang string semesterSP integer Studierende matrikelNr string name string DE alla sining Pr fungstyp ort stri ae ah pruefNr integer beginnStudium date bezPruef string endeStudium date art sining Studiengang string laenge integer fachsemester integer exmaitrikulieren be re Abbildung 3 5 4 Dreistellige Assoziation Beispiel Pr fungsbesuch Nun das Beispiel zum Vorlesungsbesuch zuerst zweistellig Die Wertig keit f r Studierende bedeutet Ein Studierender kann keine oder beliebig viele Lehrveranstaltungen besuchen Die f r Lehrveranstaltungen Eine Lehrveranstaltung hat mindestens 5 Studierende die sie besuchen sonst findet sie nicht statt matrikelNr string name string vo
471. ung Angestellte Abbildung 10 9 7 Wait time action im Einsatz repetitive time event Ausschnitt aus Abbildung 10 11 3 Die obige Abbildung enth lt u a folgende Komponenten Das Element wait time action Eine Vereinigung Einen Objektknoten des Typs Datenspeicher Au erdem eine Aktivit tskante mit Gewichtung 10 9 3 Verhalten von Aktionen Was geschieht nun genau wenn eine Aktion aktiviert wird Hier haben Aktionsausf hrung die UML Autoren eine sehr detaillierte Vorstellung die auf dem Konzept der Aktionsausf hrung beruht das in Abschnitt 9 4 schon kurz vorgestellt wurde Die UML Autoren definieren eine Aktionsausf hrung als das Laufzeit verhalten einer zur Ausf hrung gebrachten Aktion Kommt es zur Ausf hrung einer Aktion wird zuerst eine solche Akti onsausf hrung erzeugt Damit dies geschieht m ssen alle Voraussetzun gen f r die Objekt und Kontrollfl sse erf llt sein d h allen Input Pins m ssen Token angeboten worden sein und diese m ssen sie angenommen haben Die Aktionsausf hrung verbraucht dann die Kontroll und Objekttoken Der Start des Input und entfernt sie von den Quellen der Kontrollknoten und von den Input Pins Sie ist dann in Stand gesetzt und kann mit der Ausf hrung beginnen OMG 2003a S 281 Eine Aktion macht so lange weiter bis sie fertig ist Die meisten Aktio Die eigentliche nen verarbeiten nur ihren Input Einige gehen dar ber hinaus und arbeiten Arbeit mit Variabl
472. ung f hrt zu einer Baumstruktur mit ber und untergeordneten Klassen Daher kommen die oben schon ange f hrten Bezeichnungen Subklasse f r eine untergeordnete Klasse eine Spezialisierung und Superklasse f r die bergeordnete Klasse die Ge neralisierung An der Spitze der so entstehenden Baumstruktur ist die Wurzel sozu sagen die allgemeinste Objektklasse des Modells z B Objekte an sich Die Wurzel ist Superklasse f r alle anderen die jeweils unterste Ebene der Objektklassen hat nur die Eigenschaft Subklasse zu sein alle Objekt klassen dazwischen sind gleichzeitig Super und Subklassen In der objektorientierten Modellierung wird solch ein Baum als Klas senhierarchie bezeichnet Stellen wir uns die Baumstruktur so vor dass die Wurzel oben ange ordnet ist und nach unten jeweils die Verzweigungen dann liegen von oben nach unten Spezialisierungen und von unten nach oben Generalisie rungen vor Die Beziehungen zwischen den einzelnen Klassen werden von der Su per zur Subklasse auch als Ist_ein Beziehung bezeichnet 6 2 Grafische Darstellung Auch hier orientiert sich die grafische Notation an der UML 2 0 In ihr wird von jeder Subklasse zur Superklasse eine Linie mit einem gro en nicht gef llten Pfeil gef hrt Die folgende Abbildung zeigt die Darstel lung am Beispiel dreier Subklassen 6 3 Beispiel Hochschule und grafische Varianten 79 Superklasse IN gt Subklasse 2 Subklasse 3
473. ung von Programmen f r die automatisierte Abwicklung von Gesch ftsprozessen Erinnern wir uns Ein synchroner Nachrichtenaustausch bedeutet dass Prozess modellierung vs Systemanalyse Asynchron und der Sender wartet bis der Empf nger den betreffenden Methodenaufruf Synchron beendet hat zur ckmeldet und dann erst wieder akt v wird Bei einem asynchronen Nachrichtenaustausch dagegen wartet das Senderobjekt nicht bis die aufgerufene Aktion durchgef hrt ist sondern f hrt gleich wieder irgendwelche Verarbeitungsschritte durch vgl Abschnitt 7 5 2 In einer Prozessbeschreibung w rde dies bedeuten dass eine Funktion zum Beispiel nach Absenden einer Nachricht d h hier Ansto en einer weiteren Funktion gleich noch weitere absendet ohne abzuwarten bis die vorige abgearbeitet ist So etwas ist in der Standardprozessmodellierung nicht vorgesehen Diese beruht auf dem einfachen Ablaufmodell Funktion wird angesto en Funktion f hrt hre Aufgaben aus n chste Funktion wird angesto en usw Etwas anderes ist nicht vorgesehen und nicht n tig Man kommt in der Prozessmodellierung sehr gut damit aus notfalls den Prozess ber eine Schleife immer wieder neu zu starten Obiges hat auch mit dem zu tun was in der Informatik Nebenl ufigkeit genannt wird Dadurch werden in Systemen parallele Abschnitte reali siert Die Grundlage ist dass das Versenden und Empfangen von Bot schaften zeitlich parallel erfolgen kann
474. ungsweise wurde oben aus f hrlich beschrieben hier nur einige erg nzende Anmerkungen Eine zentrale Botschaft der Aktivit tsdiagramme abgeleitet aus ihrer system nahen theoretischen Konstruktion ist wenn man so will Beendet die Systemorientierung Systemdenken vs Prozessdenken Funktions modellierung vs Prozess modellierung Blickfeld Blickwinkel Defizit Automatisierung Systemnahe Prozess modellierung 214 10 Aktivit ten Einzelprozesssicht kommt zu einer Gesamtsicht aller Prozesse eines Unternehmens so wie bei Systemen Dies ist tats chlich ein Hinweis auf ein Defizit heutiger Standardpro zessmodellierung und n mmt man den Automatisierungstrend vgl un ten ernst auf die Notwendigkeit einer erg nzenden systemnahen Pro zessmodellierung wie sie in Abschnitt 15 1 kurz beschrieben wird In diesem Kapitel wurde mehrfach auf den Trend zur vollst ndigen Automatisierung von Gesch ftsprozessen hingewiesen und auf deren Konsequenzen Dies soll nicht bedeuten dass die heutige ERP Software au erhalb der beschriebenen Web Unternehmen nicht auch schon teil weise automatisiert ist Geht man von folgender einfachen Skala bez g lich des Automatisierungsgrades von Gesch ftsprozessen aus e unterst tzt die Nutzer in einzelnen Funktionen Stufe 1 e unterst tzt die meisten Funktionen f hrt einige automatisiert aus berl sst einige den beteiligten Menschen Stufe 2 e unterst tzt alle Funktion
475. ur Modellie rung von Abl ufen S e ist geeignet falls es sich um eine berschaubare Anzahl von Organisationseinheiten handelt Mehrdimensionale Schwimmbahnen Die L sung mit Schwimmbahnen gibt es auch mehrdimensional Vgl Schwimmbahnen OMG 2003a S 311ff und insbesondere Abbildung 228 wo in der einen mehrdimensional Dimension die Abteilungen und in der anderen die geografischen Stand orte angesiedelt sind Eine solche L sung ist jedoch nur m glich falls nicht mehr als zwei Dimensionen vorliegen und diese nur wenig Auspr gungen haben Tr ger zu den Aktionen Eine weitere von den UML Autoren vorgeschlagene L sung besteht dar Tr ger der Aktion in im Symbol f r die Aktionen die Tr ger zu vermerken so wie es die direkt bei der folgende Abbildung zeigt Aktion Auftrags Auftrags bearbeitung bearbeilung Auftrags Auftrag eingang Auftrag ausf hren Lieferung schlie en Finanz Finanz wesen wesen Kunde Zahlung akzeptieren Rechnung Zahlung senden durchf hren Abbildung 10 8 2 Aktivit t Auftragsbearbeitung mit Tr gern bei den Aktionen Quelle OMG 2003a S 310 Figure 227 leicht ver ndert bersetzung durch den Verfasser Betrachteter Gegenstand pr gt Grafiken Keine explizite Ber cksichtigung der Zeit Ereignisse 170 10 Aktivit ten Im Anschluss an die Ausf hrungen oben kann dies
476. utomaten beschrieben sein Abbildung 13 2 1 Objektzustand Grafische Darstellung Die Trans tionen werden durch Pfeillinien zwischen je zwei Zust nden dargestellt Das Rechteck am Pfeilanfang gibt den Zustand des Objekts vor der Transition Zustand 1 und das am Ende des Pfeils den Zustand nach der Transition Zustand 2 an Die Pfeile f r die Transitionen sind beschriftet mit dem ausl senden Ereignis d h dem Ereignis durch das es zur Zustands nderung kommt e mit einer Bedingung in eckigen Klammern f r das Eintreten des Zustands bergangs e mit einer Aktion die im Zuge der Transition auszuf hren ist die also zum n chsten Zustand f hrt Beispiele Geldautomat Gesch ftsobjekt Rechnung e EC Karte wurde eingesteckt Karte lesbar Karte lesen e Betrag wurde angefordert Konto gedeckt Auszahlen e Rechnung erstellt Zustellung gelungen Rechnung als offen dekla rieren e Rechnung erstellt Zustellung gescheitert Rechnung als nicht zu stellbar deklarieren Es m ssen nicht immer alle drei Elemente angegeben werden die Be schriftung sollte aber klarstellen wodurch die Transition n tig wurde Die folgende Abbildung zeigt die grafische Darstellung von Transiti onspfeilen jeweils zusammen mit dem Ausgangs und Schlusszustand 13 2 Grundlagen 289 ausl sendes Ereignis Bedingung f hrende Aktion Zustand 1 a Zustand 2 Objekt Geldautomat Betrag wurde angefordert Konto gedeckt 04 A Eingabe
477. verschachteln ohne dass die Ord nung der Ereigniseintritte im Operanden zerst rt wird F r ein Beispiel und die grafische Darstellung vgl Abbildung 11 5 3 Weak sequencing Der Interaktionsoperator seq legt fest dass das Fragment die beiden Ope randen auf eine bestimmte Art und Weise dem sog weak sequencing verbindet Folgende Eigenschaften gelten daf r e Die Abfolge der Ereigniseintritte in jedem der Operanden wird im Ergebnis beibehalten e Freigniseintritte auf verschiedenen Lebenslinien von verschiedenen Operanden k nnen in beliebiger Reihenfolge sein e Freigniseintritte auf derselben Lebenslinie von verschiedenen Ope randen sind so sortiert dass ein Ereigniseintritt des ersten Operanden vor dem des zweiten Operanden kommt Es handelt sich also um eine einfache sequentielle Abfolge die auf einer Lebenslinie die Einhaltung der Reihenfolge erzwingt diejenige zwischen Elementen verschiedener Lebenslinien aber offen l sst Damit wird weak sequencing zu einem parallel merge falls die Ope randen auf elementfremden sich nicht berschneidenden Elementen aufbauen Es f llt auf strict sequencing vgl unten zur ck falls die Ope randen nur auf einer einzelnen Menge von Elementen arbeiten Vgl f r ein Beispiel zu weak sequencing Abbildung 11 4 13 2 Strict sequencing Der Interaktionsoperator strict sequencing strict legt fest dass bei einer Zusammenf hrung mehrerer Traces jeder Ereigniseintritt seine Posit
478. von Knoten in Aktivit tsdiagrammen e Aktionsknoten Knoten die Aktionen repr sentieren oder sog subor dinate units Gruppen von Aktionen e Objektknoten Knoten die Objekte repr sentieren auch mit Knoten zur Datenspeicherung e Parameterknoten Knoten die gleichzeitig Objektknoten und Para meter sind e Kontrollknoten Knoten zur Steuerung des Kontrollflusses Die Kontrollknoten sind noch unterteilt in Knoten f r Alternativen Verzweigung und Zusammenf hrung Knoten f r Gleichzeitigkeit Gabelung und Vereinigung Knoten f r den Abschluss Aktivit tsende und Flussende Knoten f r den Start Startknoten 10 3 1 Aktionsknoten Die Knoten in einer Aktivit t die Aktionen repr sentieren werden Ak tionsknoten genannt Sie repr sentieren Aktionen wie sie im vorigen Kapitel eingef hrt wurden Im obigen einf hrenden Beispiel sind also Auftragseingang Auftrag ausf hren Lieferung Auftrag schlie en Rech nung senden Zahlung durchf hren und Zahlung akzeptieren Aktionskno ten F r die Aktivit ten stellen die Aktionen die kleinsten Einheiten f r das Systemverhalten dar Auch wenn die Definition kleinster Einheiten Vergleich EPK AD Aktionen in Knoten Objekte in Knoten 134 10 Aktivit ten schwierig ist ist doch eines klar Das gesamte Verhalten im Sinne von Systemen bzw die gesamte T tigkeitsfolge im Sinne von Gesch ftspro zessen von Aktivit ten wird zerlegt in sinnvolle Untereinheiten
479. widerspiegeln Dann aber auch durch die activities der dynamischen Zust nde entry do exit die sich in ei nem integrierten objektorientierten Modell als Klassenmethoden wieder finden 13 6 3 ZA und EPK im direkten Vergleich Wenigstens kurz soll hier noch betrachtet werden wie es um die bertra gung von Zustandsautomaten in eine Methode der Standardprozessmodel lierung hierf r wurde die Methode EPK gew hlt steht Ist sie m glich Wo liegen die Probleme Mehr dazu in WebZumBuch_UMOI Angesichts der obigen Ausf hrungen berrscht es nicht das die ber tragung problemlos m glich ist wenn man sich auf die Grundstruktur die berg nge von einem Zustand zum anderen beschr nkt Das folgende Beispiel soll dies veranschaulichen Dabei wird das Bei spiel Rechnung einfach von oben in eine EPK bertragen Trans tionen mit ihrem Aufbau bei Verhaltenszustandsautomaten Er eignis Bedingung Aktion k nnen direkt in Kontrollflusselemente ber setzt werden Im einfachsten Fall gibt das Ereignis einen Hinweis auf eine durchgef hrte Aktivit t und die Aktion einen Hinweis auf die n chste zu realisierende Aktivit t Falls mehr als eine Transition von einem Zustand abgeht gibt die Bedingung Hinweise auf die Verzweigung im Rahmen eines exklusiven Oders Zustandsautomat Rechnung einfach Der Startvorgang des Zustandsautomaten wird einfach zu einem Starter eignis Die beiden Transitionen die vom Zustand N
480. wierigkeit modelliert werden k nnen 7 Ebenen Kapselung Kapselung in dem S nne dass T tigkeiten zusammengefasst und dann als neues Element in die sequentielle Abfolge gebracht werden muss in einer Methode zur Prozessmodellierung vorhanden sein In Aktivit tsdiagram men ist dies auch der Fall vgl oben In einer einzelnen Aktion k nnen durchaus mehrere T tigkeiten zusammengefasst sein Auch die Bildung von Ebenen unterschiedlicher Detaillierung f r bersichtsnotationen in der Unternehmensmodellierung ist damit m g lich Sogar mit exakten Verweisen zwischen den Ebenen durch die sog Strukturierten Aktivit tsknoten Allzuviel ist das aber nicht Vgl zu den damit entstehenden M glichkeiten in der Unternehmens modellierung Abschnitt 10 5 8 Verweise Verkn pfungen Verweise liegen in einfacher Form vor vgl Abschnitt 10 8 und das Beispiel Teiledesign und Teilebeschaffung in Abschnitt 10 11 4 Durch ein grafisches Symbol in einer Aktion wird dabei der Verweis deutlich gemacht Die Bezeichnung der Aktion ist auch die Bezeichnung der eingebetteten Aktivit t XODER und UND Zusammen f hrung von Kontrollfl ssen ohne Operator Start Gesamtende Horizontale Anordnung Kapseln mit vertikaler Integration Von einem Aktivit tsdiagramm zum n chsten Ereignis T tigkeit Ereignis des gesamten Gesch ftsprozesses Gesamtsicht Eine neue Sichtweise Flussende 194 10 Aktivit ten
481. wischen den Sendern und Empf ngern kenntlich gemacht Die Richtung der Nachricht zeigt von der sendenden zur empfangenden Lebenslinie Falls eine R ckantwort vgl unten erfol gen soll w rd eine entsprechende Antwortnachricht modelliert Die konkrete Gestaltung des Pfeils variiert e Synchrone Nachrichten werden durch eine durchgezogene Pfeillinie und eine gef llte Pfeilspitze gekennzeichnet e Asynchrone Nachrichten erhalten ebenfalls eine durchgezogene Pfeillinie sowie eine Pfeilspitze ohne F llung nur mit Strichen e Fine Antwort auf eine synchrone Nachricht wird durch eine gestri chelte Pfeillinie und eine Pfeilspitze ohne F llung gekennzeichnet synchrone Nachricht asynchrone Nachricht gt Anwot Abbildung 7 5 1 Grafische Darstellung von Nachrichten Schleife Parallelit t synchron asynchron Antwort Aufgabenerf llung durch Nachrichten austausch Interaktions diagramme Standardm ig keine Klassendiagramme 104 7 Zusammenwirken durch Nachrichtenverkehr 7 6 Kommunikationsdiagramme 7 6 1 Definition Jetzt kann endlich das neue Theorieelement vorgestellt werden Ein Kom munikationsdiagramm erfasst den f r eine Aufgabenerf llung notwendi gen Nachrichtenaustausch zwischen Lebenslinien im einfachsten Fall zwischen Objekten Die Abfolge der Nachrichten wird durch Sequenz nummern erfasst Sequenzen und Sequenzdiagramme vgl Kapitel 11 erfassen bzw be schreiben dies
482. xt in englischer Sprache verwendet 3 Assoziationen Am Ende des Kapitels ist eine Liste der verwendeten Fachbegriffe in Deutsch und Englisch angegeben 3 1 Definition Im vorigen Kapitel wurden die Grundkonzepte Objekt und Objektklasse Objekte in eine eingef hrt In diesem Abschnitt geht es nun um die Techniken mit denen inhaltliche diese Objekte bzw Objektklassen miteinander in Beziehung gesetzt wer Pezichung setzen den k nnen denn nat rlich stehen in objektorientierten Modellen die einzelnen Objektklassen nicht unverbunden nebeneinander Diese Beziehungen sind inhaltliche sie kommen aus der Semantik des Anwendungsbereichs und werden ausgew hlt nach den Anforderungen der Modellierung Nehmen wir als Beispiel wieder den Anwendungsbereich Hoch schule mit den Klassen Dozenten Vorlesungen Studierende R ume und Pr fungen Die Anwendung soll den Lehrbetrieb erfassen Dann w ren dies Beziehungen wie e Dozenten halten Vorlesungen e Studierende besuchen Vorlesungen e Vorlesungen finden in R umen statt e Studierende besuchen Pr fungen Es gibt nat rlich mehr solche Beziehungen in einem Anwendungsbereich Ausgew hlt werden aber nur die die f r die Anwendung z B bestimmte Gesch ftsprozesse von Bedeutung sind Assoziationen werden meist auf Klassenebene betrachtet stellen aber Instanzen ganz konkret Instanzen der beteiligten Klassen miteinander in Beziehung Grunds tzlich g bt es folgende M glichkeiten der Bildung
483. ynamik im Zustand Zustand Definition Zustand statisch Zustand dynamisch 290 13 Zustandsautomaten Zumindest umgangssprachlich verbinden wir im Deutschen mit dem Begriff Zustand etwas festes stabiles statisches Wenn wir vom Auto verk ufer h ren m ssen dass der Gebrauchtwagen den wir in Zahlung geben m chten in einem schlechten Zustand sei dann ist es so Ebenso wenn wir vor Arbeitsbeginn den eigenen Zustand als topfit oder auch m de matt schlapp feststellen m ssen Oder wenn die Rechnung in den Zustand nicht eintreibbar ger t dann ist das nicht nur bedauerlich son dern etwas festes Ist das Objekt aber zusammengesetzt aus zusammenwirkenden Ele menten also ein System dann ist dem nicht so Dann ist ein Zustand etwas dynamisches etwas was u U auch aufrechterhalten werden mu Dies wird noch nicht so deutlich dar n wie die UML Autoren einen Zustand definieren Ein Zustand modelliert eine Situation in der einige nor malerweise implizite Bedingungen stabil sind OMG 2003a S 477 Hier kann man sich durchaus noch etwas statisches vorstellen zumal mit implizit hier Bedingungen innerhalb des Zustandes gemeint sind nicht die der Umwelt Bei einer Rechnung um im obigen Beispiel zu bleiben w re das auch so Betrachten wir aber ein Systembeispiel z B einen Geldautomaten wird deutlich dass die Definition auch Zust nde solcher Objekte umfasst Nehmen wir wieder ein
484. yse Da w re dann z B auch die Aktion Funktion Rechnung erstellen mit dabei 15 2 Funktionsmodellierung vs Prozessmodellierung 359 Diese hat nat rlich eine innere Struktur die aber in der Prozessmodel lierung keine Rolle spielt Sie ist hier gekapselt In einer typischen Systemanalyse z B f r ein Softwaresystem das ei Funktions ne weitgehend automatisierte Abwicklung des Prozesses erlaubt m sste modellierung aber nat rlich die innere Struktur eines solchen Basiselements gekl rt und in ein Programm umgesetzt werden Das ist n der dritten Ebene angege ben als Nachrichtenverkehr mit Sequenznummern vgl zum Kommuni kationsdiagramm und zum Klassendiagramm mit Nachrichtenverkehr Abschnitt 7 7 1 Srobmodellierung von Gesch ftsprozessen Ware mit Rechnung versenden 2 Standardprozessmodellierung Istanalyse Rechnung erstellen Warten auf Zahlungs eingang Ware zu sammen stellen Rechnung zur Ware hinzuf gen Sendung zu Kunde senden 3 Systemnahe Prozessmodellierung Rechnung bestimmen 1 Rechnungskopf zusammenstellen 1 1 Rechnungspositionen zusammenstellen 1 1 1 Artikel kl ren 1 1 1 1 Artikelpreis bestimmen 1 1 1 1 Artikelbezeichnung bestimmen 1 1 1 Positionssumme bestimmen 1 2 Rechnungsdaten zusammenstellen 1 3 PDF Dokument erstellen Abbildung 15 2 1 Funktionsmodellierung vs Prozessmodellierung Das Beispiel sollt
485. zw Objektklassen hnlich sind damit Objekte 16 Das Konzept der Generalisierung Spezialisierung geht auf Smith und Smith 1977a b zur ck 17 Die andere Alternative alle Attribute und Methoden aller Spezialisierungen und der Generalisierung in eine Einheit Klasse Entit tstyp zu tun kommt wegen der dann auftretenden grunds tzlichen Probleme ebenfalls nicht in Frage hnlichkeit Generalisierung Spezialisierung Begriffe Sparsam modellieren hnlichkeit Diskriminatoren Baumstruktur mit Superklassen und Subklassen Wurzel 78 6 Generalisierung Spezialisierung aus verschiedenen Objektklassen falls sie Attribute und oder Methoden gemeinsam haben hnlichkeit bedeutet hier also auch dass Objekte teilweise ein gleiches Verhalten haben bzw dass auf sie dieselben Methoden anwendbar sind Eine andere Sichtweise betont den Vorgang der Unterscheidung von Objekten der hier vorliegt Die Unterscheidung in ber und unterge ordnete Objekte und dann genauso wichtig die Unterscheidung der untergeordneten voneinander Dieses Kriterium nach dem die Objekte unterschieden und die Objektklassen gebildet wurden wird auch Diskri minator genannt vgl z B Oestereich 1998 S 261f Dabe kann eine Spezialisierungshierarchie durchaus mehrere Diskri minatoren ber cksichtigen und diese k nnen in der grafischen Notation angegeben werden vgl unten Die Generalisierung Spezialisier
Download Pdf Manuals
Related Search
Related Contents
Ergotron VESA Bracket Adaptor Kit Model 29322 Speakerphone with 12 Instrukcja użytkownika Portalu e-klient dla klientów MetLife TUnŻiR SA KALORIK FT 36673 0 - i-Logic Software Philips Blender jar HR3960 Consola MISSION CONDITIONS GENERALES 2 - Onkyo Copyright © All rights reserved.
Failed to retrieve file