UML at Work
dpunkt Verlag (Hersteller)
978-3-89864-194-4 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
Über die Autoren:
Martin Hitz: Familienmensch, Wissenschafter, Lehrer, Softwareentwickler,
Konsulent. Studium der Informatik an der Technischen Universität Wien (Dipl.-Ing.,
Dr. techn.). Forschungsaufenthalte am Politecnico di Milano und an der University
of Ottawa, danach außerordentlicher Universitätsprofessor am Institut fuer
Angewandte Informatik und Informationssysteme der Universität Wien. Seit Mai
2000 Professor für Interaktive Systeme am Institut für Informatik-Systeme der
Universität Klagenfurt.
Interesse an interaktiven Systemen, objektorientierter Softwareentwicklung,
Wiederverwendbarkeit, Softwaremetrie, Tarock und
Fliegenfischen.
Gerti Kappel studierte an der Universität Wien und an der Technischen Universität
Wien Informatik und Wirtschaftsinformatik
(Mag., Dipl.-Ing., Dr. techn.). Nach einem Forschungsaufenthalt an der Universität
Genf nahm sie 1993 einen Ruf auf eine ordentliche Professur an die Johannes
Kepler Universität Linz an. 2001 folgte sie einem Ruf an die Technische Universität
Wien, wo sie die Arbeitsgruppe Business Informatics des Fachbereichs Informatik
leitet. Forschungsinteressen umfassen objektorientierte Softwareentwicklung,
Datenbank/Web-Integration und ubiquitäre Web-Technologien sowie deren
Anwendung in Workflow Management und Electronic Commerce.
Rezension (zur 1. Auflage des Buches:
.... bietet dieses Buch für den interessierten Praktiker, der anhand eines
konkreten Fallbeispiels die Modellierungssprache UML erlernen und sein Wissen
darüber vertiefen möchte, einen guten Einstieg.
(Informatik Spektrum, 23. Oktober
2000)
Inhaltsverzeichnis
1 Einleitung 1
1.1 Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Notationskonventionen . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Einführung in UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Dokumentation von UML . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Vorstellung des CALENDARIUM-Projekts . . . . . . . . . . 13
2 UML – Syntax und Semantik 17
2.1 Klassendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.1 Klasse und Objekt . . . . . . . . . . . . . . . . . . . . . . . . 19
Objekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Hilfsmittelklasse . . . . . . . . . . . . . . . . . . . . . . . . . 25
Geschachtelte Klassendeklarationen . . . . . . . . . . 26
2.1.2 Allgemeine Assoziation . . . . . . . . . . . . . . . . . . . . 27
Qualifizierte Assoziation . . . . . . . . . . . . . . . . . . . 30
Assoziationsklasse . . . . . . . . . . . . . . . . . . . . . . . . 32
Mehrstellige Assoziation . . . . . . . . . . . . . . . . . . . 33
Xor-Assoziation . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.3 Aggregation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Komposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Exkurs: Aggregationssemantik . . . . . . . . . . . . . . 39
2.1.4 Generalisierung . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Assoziationsgeneralisierung . . . . . . . . . . . . . . . . . 46
Exkurs: Vererbungssemantik . . . . . . . . . . . . . . . . 47
2.1.5 Abhängigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.1.6 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1.7 Variationen des Klassenkonzepts . . . . . . . . . . . . . 56
Fokus- und Hilfsklasse . . . . . . . . . . . . . . . . . . . . 56
Typ und Implementierungsklasse . . . . . . . . . . . . . 56
Exkurs: Einsatz von Klassen und verwandten
Konzepten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Exkurs: Rollen . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Inhaltsverzeichnis x
2.1.8 Parametrisierte Klasse . . . . . . . . . . . . . . . . . . . . . 65
2.1.9 Aufzähltyp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.2 Grundprinzipien von UML . . . . . . . . . . . . . . . . . . . . . . 68
2.2.1 Metamodellierung . . . . . . . . . . . . . . . . . . . . . . . . 68
2.2.2 Erweiterungsmechanismen . . . . . . . . . . . . . . . . . 72
2.2.3 OCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.2.4 Paket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Exkurs: Verwendung von Paketen . . . . . . . . . . 102
2.2.5 Profil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.3 Anwendungsfalldiagramm . . . . . . . . . . . . . . . . . . . . . 104
2.3.1 Beziehungen zwischen Anwendungsfällen . . . . . 106
Exkurs: Bedeutung der include-Beziehung,
extend-Beziehung und Generalisierungsbeziehung
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
2.3.2 Beziehungen zwischen Akteuren . . . . . . . . . . . . 111
Exkurs: Abstrakter Anwendungsfall . . . . . . . . . 112
2.3.3 Zusammenfassende Gegenüberstellung . . . . . . . 114
2.4 Sequenzdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Beschriftung der Marginalie . . . . . . . . . . . . . . . 122
2.5 Kollaborationsdiagramm . . . . . . . . . . . . . . . . . . . . . . 124
2.5.1 Kollaboration . . . . . . . . . . . . . . . . . . . . . . . . . . 124
2.5.2 Interaktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2.5.3 Kollaboration auf Spezifikationsebene . . . . . . . 130
2.5.4 Muster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Exkurs: Unterschiedliche Rollenbegriffe in UML 134
2.6 Zustandsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
2.6.1 ODER-Verfeinerung . . . . . . . . . . . . . . . . . . . . . 144
2.6.2 UND-Verfeinerung . . . . . . . . . . . . . . . . . . . . . . 149
Exkurs: Semantik von UND-Verfeinerungen . . . 152
2.6.3 Komplexe Transition . . . . . . . . . . . . . . . . . . . . 153
2.6.4 Segmentierte Transition . . . . . . . . . . . . . . . . . . 154
2.6.5 Synch-Zustand . . . . . . . . . . . . . . . . . . . . . . . . . 156
2.6.6 Ereignishierarchien . . . . . . . . . . . . . . . . . . . . . . 157
2.6.7 Senden von Nachrichten zwischen Zustandsdiagrammen
. . . . . . . . . . . . . . . . . . . . . . . . . . . 158
xi Inhaltsverzeichnis
2.7 Aktivitätsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
2.7.1 Kontrollfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.7.2 Objektfluss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
2.7.3 Verantwortlichkeitsbereiche . . . . . . . . . . . . . . . 170
2.8 Komponentendiagramm . . . . . . . . . . . . . . . . . . . . . . . 172
2.9 Verteilungsdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . . 176
3 ISP – Ein Vorgehensmodell 179
3.1 Anforderungsbeschreibung . . . . . . . . . . . . . . . . . . . . . 182
3.2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3.3 Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
3.4 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Weitere Phasen . . . . . . . . . . . . . . . . . . . . . . . . . 190
4 Anforderungsbeschreibung 191
4.1 Anwendungsfallmodellierung . . . . . . . . . . . . . . . . . . . 192
4.1.1 Identifikation von Akteuren . . . . . . . . . . . . . . . 192
4.1.2 Identifikation von Anwendungsfällen . . . . . . . . 194
4.1.3 Überarbeitung des Anwendungsfalldiagramms . 199
4.1.4 Beschreibung eines Anwendungsfalls . . . . . . . . . 200
4.1.5 Abschließende Bemerkungen . . . . . . . . . . . . . . . 206
4.2 Problembereichsmodellierung . . . . . . . . . . . . . . . . . . . 207
4.2.1 Identifikation von Klassen . . . . . . . . . . . . . . . . . 209
4.2.2 Identifikation von Attributen . . . . . . . . . . . . . . . 212
4.2.3 Modellierung von Beziehungen . . . . . . . . . . . . . 215
4.3 Iteration: Anwendungsfallmodellierung II . . . . . . . . . . 224
4.4 Schnittstellenmodellierung . . . . . . . . . . . . . . . . . . . . . . 228
4.4.1 Benutzerschnittstellen . . . . . . . . . . . . . . . . . . . . 228
4.4.2 Systemschnittstellen . . . . . . . . . . . . . . . . . . . . . . 233
5 Analyse 235
5.1 Erstellen des Strukturmodells . . . . . . . . . . . . . . . . . . . . 237
5.1.1 Schnittstellenklassen . . . . . . . . . . . . . . . . . . . . . 238
5.1.2 Steuerungsklassen . . . . . . . . . . . . . . . . . . . . . . . 240
5.1.3 Überarbeitung und Erweiterung des Modells . . . 243
5.2 Partitionierung des Strukturmodells . . . . . . . . . . . . . . . 250
5.3 Erstellen des dynamischen Modells . . . . . . . . . . . . . . . 252
5.3.1 Verhaltensdiagramme . . . . . . . . . . . . . . . . . . . . 256
5.3.2 Verhaltenszuordnung . . . . . . . . . . . . . . . . . . . . 261
Inhaltsverzeichnis xii
6 Entwurf 263
6.1 Systementwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.1.1 Werkzeuge und Entwicklungsumgebung . . . . . . 264
6.1.2 Verteilung, Kontrollfluss und Kommunikation . 265
6.1.3 Persistenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
6.2 Detailentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
6.2.1 Assoziationen . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Assoziationsklassen . . . . . . . . . . . . . . . . . . . . . . 281
Qualifizierte Assoziationen . . . . . . . . . . . . . . . . 282
Aggregation und Komposition . . . . . . . . . . . . . 283
Mehrstellige Assoziationen . . . . . . . . . . . . . . . . 284
6.2.2 Mehrfachvererbung . . . . . . . . . . . . . . . . . . . . . 288
6.2.3 Extensionsverwaltung . . . . . . . . . . . . . . . . . . . . 291
6.2.4 Parametrisierte Klassen . . . . . . . . . . . . . . . . . . . 295
6.2.5 Aktive Objekte . . . . . . . . . . . . . . . . . . . . . . . . . 297
6.2.6 Interaktionsdiagramme . . . . . . . . . . . . . . . . . . . 299
6.2.7 Zustandsdiagramme . . . . . . . . . . . . . . . . . . . . . 303
Ereignistypen . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Anhang A Ein UML-basiertes Framework zur
Modellierung ubiquitärer Web-Anwendungen 307
A.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
A.2 Anpassungsmodellierung . . . . . . . . . . . . . . . . . . . . . . . 309
A.3 Kontextmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
A.4 Anpassungsregelmodell . . . . . . . . . . . . . . . . . . . . . . . . 319
A.5 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Anhang B Standardelemente 323
B.1 Stereotype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
B.2 Einschränkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
B.3 Schlüsselwort/Wert-Paare . . . . . . . . . . . . . . . . . . . . . . 330
Glossar 331
Literaturverzeichnis 349
Stichwortverzeichnis 357
Themenwelt | Informatik ► Software Entwicklung ► UML |
---|---|
ISBN-10 | 3-89864-194-5 / 3898641945 |
ISBN-13 | 978-3-89864-194-4 / 9783898641944 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |