Martin Fowler, Kendali Scott 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. UML - konzentriert Die Standardobjektmodellierungssprache anwenden Deutsche Übersetzung von Arnulf Mester, Michael Sczittnick und Günter Graw ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California New York Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam
Vorwort der Übersetzer 9 Geleitwort 11 Vorwort 13 1 Einleitung 17 1.1 WasistUML? v 17 1.2 Historie 17 1.3 Notationen und Metamodelle 20 1.4 Warum Analyse und Entwurf? 22 1.4.1 Objektorientierung lernen 22 1.4.2 Kommunizieren mit Experten des Problembereichs 23 1.4.3 Verstehen des Gesamtbilds 24 1.5 Weiterführende Informationen 25 2 Der Umriß eines Entwicklungsprozesses 27 2.1 Überblick über den Prozefi 28 2.2 Einstieg 29 2.3 Ausarbeitung 29 2.3.1 Der Umgang mit Anforderungsrisiken 30 2.3.2 Der Umgang mit technologischen Risiken 35 2.3.3 Der Umgang mit Risiken bei den Fähigkeiten 36 2.3.4 Der Umgang mit politischen Risiken 38 2.3.5 Die grundlegende Architektur 38 2.3.6 Wann ist die Ausarbeitung abgeschlossen? 38 2.3.7 Planung 39 2.4 Konstruktion 41 2.5 Umstrukturierung 42 2.5.1 Wann setzt man Umstrukturierung ein? 44 2.5.2 Wo findet man mehr zum Thema? 44 2.5.3 Iterative Entwicklung und Planung 45 2.5.4 Der Einsatz von UML in der Konstruktion 45
2.6 Muster 47 2.6.1 Wann setzt man Muster ein? 50 2.6.2 Wo findet man mehr zum Thema? 50 2.7^- Die Überleitung 51 2.8 Wann setzt man die iterative Entwicklung ein? 52 2.9 Wo findet man mehr zum Thema? 52 3 Anwendungsfälle 53 3.1 Anwenderziele und Systeminteraktionen 54 3.2 Anwendungsfalldiagramme 54 3.2.1 Akteure 55 3.2.2 Benutzt (Uses) und Erweitert (Extends) ' 5 8 3.3 Wann setzt man Anwendungsfälle ein? 60 3.4 Wo findet man mehr zum Thema? 60 4 Klassendiagramme: Das Wesentliche 61 4.1 Sichtweisen 61 4.2 Assoziationen 64 4.3 Attribute 69 4.4 Operationen 70 4.5 Klassenkarten 71 4.5.1 Wann setzt man Klassenkarten ein? 72 4.5.2 Wo findet man mehr zum Thema? 73 4.6 Generalisierung 74 4.7 Bedingungsregeln 75 4.8 Entwurf durch Verträge 76 4.8.1 Wann setzt man Entwurf durch Verträge ein? 78 4.8.2 Wo findet man mehr zum Thema?. 78 4.9 Wann setzt man Klassendiagramme ein? 79 4.10/Wo findet man mehr zum Thema? 79 5 Klassendiagramme: Fortgeschrittene Konzepte 81 5.1 Stereotypen 81 5.2 Mehrfache und dynamische Klassifikation 82 5.3 Aggregation and Komposition 85 5.4 Abgeleitete Assoziationen und Attribute 87
5.5 Schnittstellen und abstrakte Klassen 89 5.6 Referenzobjekte und Wertobjekte 92 5.7 Sammlungen für mehrwertige Rollen 93 5.8 Unveränderbarkeit 94 5.9 Klassifikation and Generalisierung. 94 5.10 Qualifizierte Assoziationen 95 5.11 Assoziationsklassen 96 5.12 Parametrisierte Klassen 99 5.13 Sichtbarkeit " 101 5.14 Eigenschaften des Gültigkeitsbereichs einer Klasse 104 6 Interaktionsdiagramme - 105 6.1 Sequenzdiagramme 105 6.1.1 Nebenläufige Prozesse und Aktivierungen 107 6.2 Kollaborationsdiagramme 109 6.3 Vergleich von Sequenz-und Kollaborationsdiagrammen 112 6.3.1 Bedingtes Verhalten 113 6.4 Wann setzt man Interaktionsdiagramme ein? 113 6.5 Wo findet man mehr zum Thema? 113 7 Paketdiagramme.115 7.1 Wann setzt man Paketdiagramme ein? 120 7.2 Wo findet man mehr zum Thema? 121 8 Zustandsdiagramme 123 8.1 Nebenläufige Zustandsdiagramme 127 8.2 Wann setzt man Zustandsdiagramme ein? ' 129 8.3 Wo findet man mehr zum Thema? 129 9 Aktivitätsdiagramme 131 / 9.1 Aktivitätsdiagramme bei Anwendungsfällen 134 9.2 Verantwortlichkeitsgrenzen 139 9.3 Verfeinernde Zerlegung einer Aktivität 141 9.4 Wann benutzt man Aktivitätsdiagramme? 142 9.5 Wo findet man mehr zum Thema? 143
10 Verteilungsdiagramme 145 10.1 Wann setzt man Verteilungsdiagramme ein? 147 11 UML und Programmierung 149 11.1 Patientenbeobachtung: Problembereichsmodell 149 11.2 Patientenbeobachtung: Spezifikationsmodell 153 11.3 Der Übergang zu Quellcode 156 A Techniken und ihr Gebrauch 165 B Änderungen von UML 1.0 zu UML 1.1 167 B.l Typ und Implementationsklasse 167 B.2 Operationen und Attribute im Klassenbereich 168 B.3 Vollständige und unvollständige Diskriminatorbedingungen 168 B.4 Rückgaben in Sequenzdiagrammen 168 B.5 Die Benutzung des Begriffs»Rolle«' 169 B.6 Iterationsmarkierungen 169 C Begriffe (Englisch-Deutsch) 171 D Begriffe (Deutsch-Englisch) 175 E Abbildungsverzeichnis 179 F Literaturverzeichnis 181 Stichwortverzeichnis 183