Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 1 3 Professor Dr. Josef L. Staud Hochschule Ravensburg-Weingarten Postfach 1261 D-88241 Weingarten www.staud.info [email protected] ISBN 978-3-642-04411-3 e-ISBN 978-3-642-04412-0 DOI 10.1007/978-3-642-04412-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 Strafbe- 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 viele Bereiche, die Ein weites Feld 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- Daten- und Prozess- ben in einer Unternehmensmodellierung aber die Daten- und Prozessmo- modellierung 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- sion statt. Z.B. über den Gegensatz klassischer und objektorientierter Methoden. Da setzt dieses Buch ein. Es widmet sich der Frage: Unternehmens- modellierung Wie kann eine zeitgemäße Unternehmensmodellierung in heute? all ihren Komponenten (insbesondere Daten- und Prozess- modellierung) unter Einbeziehung effizienter klassischer und objektorientierter Theorieelemente aussehen? Insbesondere wird eine Antwort auf die Frage gesucht, in welchem Um- Objektorientiert? 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: (cid:120) 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. (cid:120) Eine Hinterfragung aller Theoriekomponenten der UML 2.0 auf ihre Tauglichkeit für die Unternehmensmodellierung, insbesondere die Prozessmodellierung. (cid:120) 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. (cid:120) Einen Vergleich der „Methode EPK“ (als einer Ausprägung klassi- scher Prozessmodellierung) mit den entsprechenden objektorientier- ten Vorschlägen. VI Vorwort Informations- Dass die objektorientierte Theorie grundsätzlich geeignet ist, Strukturen 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. Wo ist ooERP? 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 Struktur + Im Groben geht es in der Unternehmensmodellierung also um zwei Be- Verhalten reiche, zum einen um die Modellierung von „Strukturen“ (i.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 „Dynamik“ (Verhalten, Abläufe, Geschäftsprozesse) wurde per Systemanalyse in Modelle umge- setzt, die Geschäftsprozesse wurden nicht oder getrennt betrachtet. Statische und Mit der objektorientierten Theorie wurde dies etwas anders. Es werden dynamische zwar „structure“ und „behavior“ (wie die US-amerikanische Literatur es Aspekte des nennt) immer noch getrennt, mit der Einbindung von Methoden bei den Anwendungs- Klassen sind diese aber auch gleich mit wichtigen Aspekten von Dynamik bereichs ausgestattet. So dass wir hier bezüglich der Thematik „Struktur + Verhal- ten“ folgende Situation haben: (cid:120) Modellierung der Strukturen durch Klassen mit ihren Attributen (hier in den Kapiteln 2 – 6): (cid:120) Modellierung der „Dynamik Stufe 1“ durch Methoden/Operationen in den Klassen (hier in Kapitel 7). In der Abbildung unten mit Nach- richtenverkehr bezeichnet. (cid:120) 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 inhaltli- chen Kapitel des Buches an. Vorwort VII 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 sind so gestaltet, dass in den ersten Abschnitten das Basiswissen + Basiswissen zum jeweiligen Gegenstand vorgestellt wird. Etwa so, wie es Vertiefung in einem Bachelor-Studiengang zu vermitteln ist. 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 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 Stichworte, Zahlreiche Mittel werden eingesetzt, um den Leser bei der Erschließung Definitionen, dieses Textes sowie auch des Originaltextes der UML-Autoren zu unter- Beispiele stützen. Für diesen Text: (cid:120) Ein allgemeines Stichwortverzeichnis (cid:120) Ein Verzeichnis der Definitionen (cid:120) Ein Verzeichnis der Beispiele Für die Originaltexte der UML-Autoren: (cid:120) Die intensive und transparente Erschließung der Begrifflichkeit der UML-Autoren im Text. (cid:120) Eine Auflistung der verwendeten Begriffe aus der UML in Deutsch und Englisch zu Beginn eines jeden Kapitels. (cid:120) Eine Erläuterung der Metamodellierung der UML 2.0 in einem be- gleitenden Text (WebZumBuch_UM03, vgl. unten). Metamodellierung 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 der Struktur der Texte, die auf einer umfassenden Metamodellierung basieren und deshalb nicht ganz leicht zu lesen sind. Viele Begriffe 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 (cid:120) WebZumBuch_UM01 – Weitere Beispiele. (cid:120) WebZumBuch_UM02 – Zusammenfassung. Mit einer kurzen Zusam- menfassung zu allen Kapiteln. (cid:120) WebZumBuch_UM03 – 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. (cid:120) WebZumBuch_UM04 – Vertiefungen und Erweiterungen. (cid:120) WebZumBuch_UM05 – Glossar. (cid:120) WebZumBuch_UM06 – Gallerie. Mit ausgewählten inhaltlich sor- tierten Abbildungen. (cid:120) WebZumBuch_UM07 – Abbildungen. Mit den Abbildungen in der Anordnung des Buches. Abkürzungen für Methoden Wenn es darum geht, einzelne Teile der objektorientierten Theorie anzu- AD sprechen, werden in diesem Buch folgende Kurzbezeichnungen verwen- SD det: AF ZA (cid:120) Methode AD: alle Theorieelemente zur Erfassung und Darstellung EPK von Aktivitäten (cid:120) Methode SD: alle Theorieelemente zur Erfassung und Darstellung von Sequenzdiagrammen. (cid:120) Methode AF: alle Theorieelemente zur Erfassung und Darstellung von Anwendungsfällen. (cid:120) 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: (cid:120) 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) in 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...........................................................................1 1.1 Unternehmensmodellierung...................................................1 1.2 Objektorientierung als solche.................................................6 1.3 Die UML................................................................................8 1.4 Verwendete Datentypen.........................................................9 1.5 Formatierung und Schreibweise...........................................10 2 OBJEKTE UND OBJEKTKLASSEN....................................11 2.1 Einführung...........................................................................12 2.2 Instantiierung und Klassifikation.........................................20 2.3 Objektklassen als Verwalter von Information......................20 2.4 Grafische und textliche Darstellung.....................................21 2.4.1 Klassen..................................................................21 2.4.2 Instanzen bzw. Objekte.........................................23 2.5 Sichtbarkeit..........................................................................24 2.6 Kapselung............................................................................26 2.7 Beispiele...............................................................................27 2.7.1 Hochschule............................................................27 2.7.2 WebShop...............................................................28 2.7.3 Angestellte eines Unternehmens...........................30 2.8 Vertiefung............................................................................31 2.8.1 Klassenbildung und Objektfindung.......................31 2.8.2 Identität und Gleichheit.........................................32 2.8.3 Komplexe Objekte.................................................34 2.8.4 Eine ganz besondere Klasse – Classifier...............34 2.9 Beitrag zur Unternehmensmodellierung..............................36 3 ASSOZIATIONEN.................................................................39 3.1 Definition.............................................................................39 3.2 Grafische Darstellung..........................................................40 3.3 Hintergrund..........................................................................42 3.4 Wertigkeiten.........................................................................42 3.5 Beispiele...............................................................................43 3.6 Rollen...................................................................................48 XII Inhaltsverzeichnis 3.7 N-stellige Assoziationen vertieft..........................................50 3.8 Klassendiagramme – Definition und Beispiele....................52 3.9 Navigierbarkeit.....................................................................56 3.10 Vertiefungen........................................................................58 3.11 Objektdiagramme.................................................................59 3.12 Beitrag zur Unternehmensmodellierung..............................60 4 ASSOZIATIONSKLASSEN...................................................63 4.1 Einführung...........................................................................63 4.2 Grafische Darstellung..........................................................65 4.3 Beispiele...............................................................................66 5 AGGREGATION UND KOMPOSITION................................73 5.1 Definition.............................................................................73 5.2 Einführende Beispiele mit grafischer Notation....................74 6 GENERALISIERUNG / SPEZIALISIERUNG........................77 6.1 Definition.............................................................................77 6.2 Grafische Darstellung..........................................................78 6.3 Beispiel Hochschule und grafische Varianten......................79 6.4 Überlappung und Überdeckung...........................................83 6.5 Mehrere Ebenen...................................................................86 6.6 Vererbung............................................................................88 6.7 Abstrakte Klassen................................................................90 7 ZUSAMMENWIRKEN DURCH NACHRICHTENVERKEHR 93 7.1 Einführung...........................................................................93 7.2 Kollaborationen....................................................................95 7.2.1 Definition..............................................................95 7.2.2 Grafische Darstellung............................................97 7.2.3 Beispiele................................................................97 7.3 Rollen...................................................................................97 7.4 Lebenslinien.........................................................................98 7.5 Nachrichten........................................................................100 7.5.1 Definition............................................................100 7.5.2 Synchron und Asynchron....................................101 7.5.3 Sequenznummern................................................102 7.5.4 Grafische Darstellung..........................................103 7.6 Kommunikationsdiagramme..............................................104 7.6.1 Definition............................................................104 7.6.2 Grafische Darstellung..........................................105 7.7 Beispiel Rechnungsdruck...................................................105