jetzt lerne ich Inhaltsverzeichnis Einführung 19 Teil I: Erste Schritte 21 1 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4 1.4.1 1.4.2 1.4.3 1.5 1.6 1.7 23 24 25 26 27 28 28 29 29 31 31 31 32 32 33 33 33 34 35 35 Einführung in die UML Wahnsinn mit Methode Entstehung der UML Komponenten der UML Klassendiagramm Objektdiagramm Anwendungsfalldiagramm Zustandsdiagramm Sequenzdiagramm Aktivitätsdiagramm Kollaborationsdiagramm Komponentendiagramm Einsatzdiagramm Weitere Features Pakete Notizen Stereotypen Wozu die ganzen Diagramme? Zusammenfassung Nachgefragt 7 Inhaltsverzeichnis jetzt lerne ich 8 1.8 1.8.1 1.8.2 Workshop Fragen Übungen 36 36 36 2 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.3 2.4 2.5 2.6 2.6.1 2.6.2 Objektorientierung verstehen Objekte überall Konzepte Abstraktion Vererbung Polymorphismus Kapselung Nachrichten versenden Assoziationen Aggregation Der Clou Zusammenfassung Nachgefragt Workshop Fragen Übungen 37 38 40 40 41 42 43 44 46 47 49 50 50 51 51 51 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.10.1 3.10.2 Objektorientiert arbeiten Visualisieren einer Klasse Attribute Operationen Attribute, Operationen und Visualisierung Verantwortlichkeiten und Einschränkungen Beigefügte Notizen Klassen – Was sie tun und wie man sie findet Zusammenfassung Nachgefragt Workshop Fragen Übungen 53 53 54 56 57 59 60 61 63 64 64 64 65 4 4.1 4.1.1 4.1.2 4.1.3 4.2 4.3 Beziehungen spielen lassen Assoziationen Einschränkungen für Assoziationen Assoziationsklassen Verknüpfungen Multiplizität Qualifizierte Assoziationen 67 68 69 70 70 71 72 Inhaltsverzeichnis jetzt lerne ich 4.4 4.5 4.5.1 4.5.2 4.6 4.7 4.8 4.9 4.9.1 4.9.2 Reflexive Assoziationen Vererbung und Generalisierung Vererbung entdecken Abstrakte Klassen Abhängigkeiten Zusammenfassung Nachgefragt Workshop Fragen Übungen 73 73 75 76 77 77 78 78 78 78 5 5.1 5.1.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.9.1 5.9.2 Aggregationen, Komposita, Schnittstellen und Realisierungen verstehen Aggregationen Einschränkungen für Aggregationen Komposita Kontexte Schnittstellen und Realisierungen Sichtbarkeit Gültigkeitsbereich Zusammenfassung Nachgefragt Workshop Fragen Übungen 81 82 83 83 83 85 87 88 88 89 90 90 90 6 6.1 6.2 6.3 6.3.1 6.3.2 6.4 6.5 6.6 6.7 6.8 6.9 6.9.1 6.9.2 Einführung in Anwendungsfälle Anwendungsfälle: Was sie sind Anwendungsfälle: Warum sie wichtig sind Beispiel: Getränkeautomat Der Anwendungsfall »Getränk ziehen« Weitere Anwendungsfälle Enthält-Beziehung des Anwendungsfalls Einen Anwendungsfall erweitern Start einer Anwendungsfallanalyse Zusammenfassung Nachgefragt Workshop Fragen Übungen 91 92 93 93 94 95 96 97 97 98 99 99 99 100 9 Inhaltsverzeichnis jetzt lerne ich 10 7 7.1 7.1.1 7.1.2 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.3 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.5 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.6 7.7 7.8 7.9 7.9.1 7.9.2 Mit Anwendungsfalldiagrammen arbeiten Darstellung eines Anwendungsfallmodells Zurück zum Getränkeautomaten Schritte in den Szenarios nachvollziehen Beziehungen zwischen Anwendungsfällen visualisieren Enthalten Erweiterung Generalisierung Gruppierung Anwendungsfalldiagramme im Analyseprozess Anwendungsfallmodelle anwenden: Ein Beispiel Die Domäne verstehen Die Anwender verstehen Die Anwendungsfälle verstehen In die Tiefe gehen Bestandsaufnahme Strukturelemente Beziehungen Gruppierung Anmerkung Erweiterung ... und Sonstiges Das Gesamtbild Zusammenfassung Nachgefragt Workshop Fragen Übungen 101 102 102 103 104 104 105 106 107 108 108 109 109 110 112 113 114 114 114 114 114 115 115 116 117 117 117 118 8 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.1 8.2.2 8.3 8.4 8.5 Mit Zustandsdiagrammen arbeiten Was ist ein Zustandsdiagramm? Symbolvorrat Zustandssymbol mit Details Zustandsübergänge mit Details: Ereignisse und Aktionen Zustandsübergänge mit Details: Wächterbedingungen Teilzustände Sequenzielle Teilzustände Nebenläufige Teilzustände Erinnerungszustände Nachrichten und Signale Warum sind Zustandsdiagramme wichtig? 119 120 120 121 122 123 124 124 125 126 127 127 Inhaltsverzeichnis jetzt lerne ich 8.6 8.7 8.8 8.9 8.9.1 8.9.2 Das Gesamtbild aufbauen Zusammenfassung Nachgefragt Workshop Fragen Übungen 128 129 130 130 130 131 9 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.3 9.3.1 9.3.2 9.4 9.5 9.6 9.7 9.8 9.9 9.9.1 9.9.2 Mit Sequenzdiagrammen arbeiten Was ist ein Sequenzdiagramm? Objekte Nachrichten Zeit GUI Sequenz Sequenzdiagramm Anwendungsfall Getränkeautomat als Instanz und generisch Instanz-Sequenzdiagramm Generisches Sequenzdiagramm Ein Objekt in der Sequenz erzeugen Rekursion darstellen Das Gesamtbild aufbauen Zusammenfassung Nachgefragt Workshop Fragen Übungen 133 134 134 134 135 135 136 136 137 138 138 139 142 144 145 146 146 147 147 147 10 10.1 10.2 10.2.1 10.3 10.4 10.5 10.5.1 10.5.2 10.5.3 10.5.4 10.6 10.7 10.8 Mit Kollaborationsdiagrammen arbeiten Was ist ein Kollaborationsdiagramm? GUI Zustandsänderungen Getränkeautomat Objekt erzeugen Weitere Konzepte Mehrere empfangende Objekte in einer Klasse Rückgabewerte darstellen Aktive Objekte Synchronisierung Das Gesamtbild aufbauen Zusammenfassung Nachgefragt 149 150 151 152 152 155 156 156 157 158 158 160 160 161 11 jetzt lerne ich 12 Inhaltsverzeichnis 10.9 10.9.1 10.9.2 Workshop Fragen Übungen 161 162 162 11 11.1 11.2 11.2.1 11.2.2 11.2.3 11.3 11.3.1 11.3.2 11.4 11.5 11.6 11.7 11.8 11.9 11.9.1 11.9.2 Mit Aktivitätsdiagrammen arbeiten Ziele Was ist ein Aktivitätsdiagramm? Entscheidungen, Entscheidungen, Entscheidungen Nebenläufige Pfade Signale Aktivitätsdiagramme einsetzen Operation: Fibonacci-Zahlen Ein Prozess: Erstellen eines Dokuments Schwimmbahnen Hybriddiagramme Das Gesamtbild aufbauen Zusammenfassung Nachgefragt Workshop Fragen Übungen 163 163 164 165 165 166 167 167 169 171 173 175 176 177 177 178 178 12 12.1 12.2 12.2.1 12.3 12.4 12.4.1 12.4.2 12.5 12.5.1 12.5.2 12.5.3 12.6 12.7 12.8 12.9 12.9.1 12.9.2 Mit Komponentendiagrammen arbeiten Was ist eine Komponente? Komponenten und Schnittstellen Ersetzen und Wiederverwenden Komponentenarten Was ist ein Komponentendiagramm? Darstellung einer Komponente Darstellung von Schnittstellen Komponentendiagramme einsetzen Eine Webseite mit Java-Applet Eine Webseite mit ActiveX-Steuerelementen PowerToys Komponentendiagramme im Gesamtbild der UML Zusammenfassung Nachgefragt Workshop Fragen Übungen 179 179 180 182 182 183 183 184 185 185 187 188 189 190 191 191 191 192 Inhaltsverzeichnis jetzt lerne ich 13 13.1 13.2 13.2.1 13.2.2 13.2.3 13.2.4 13.2.5 13.3 13.4 13.5 13.6 13.6.1 13.6.2 Mit Einsatzdiagrammen arbeiten Was ist ein Einsatzdiagramm? Einsatzdiagramme anwenden Homecomputersystem Token-Ring-Netzwerk ARCnet Thin Ethernet Ricochet Wireless Network von Metricom Einsatzdiagramme im Gesamtbild der UML Zusammenfassung Nachgefragt Workshop Fragen Übungen 193 194 196 196 197 198 199 200 201 201 202 202 202 203 14 14.1 14.2 14.2.1 14.2.2 14.2.3 14.3 14.4 14.4.1 14.4.2 14.4.3 14.4.4 14.4.5 14.4.6 14.4.7 14.4.8 14.5 14.6 14.7 14.8 14.9 14.9.1 Die UML-Grundlagen besser verstehen Die Struktur der UML Metamodell-Ebene: Aus der Nähe betrachtet Das Paket »Grundlage« Das Paket »Verhaltenselemente« Das Paket »Modellmanagement« Erweiterung der UML Stereotypen Abhängigkeit Klassifizierung Klasse Generalisierung Paket Komponente Einige weitere Stereotypen Grafische Stereotypen Einschränkungen Eigenschaftswerte Zusammenfassung Nachgefragt Workshop Fragen 205 206 208 209 210 211 211 212 212 213 214 214 214 215 215 215 216 217 218 218 219 219 15 15.1 15.1.1 15.1.2 Die UML im Entwicklungsprozess Alte und neue Methodik Der alte Weg Ein neuer Weg 221 222 222 223 13 jetzt lerne ich Inhaltsverzeichnis 15.2 15.3 15.3.1 15.3.2 15.3.3 15.3.4 15.3.5 15.3.6 15.4 15.5 15.6 15.7 15.7.1 14 Was ein Entwicklungsprozess leisten muss GRAPPLE Struktur des GRAPPLE-Prozesses Anforderungen sammeln Analyse Entwurf Entwicklung Einsatz Erfolgreicher Abschluss des GRAPPLE Zusammenfassung Nachgefragt Workshop Fragen 224 225 226 227 230 232 233 234 235 235 236 237 237 Teil II: Fallstudie 239 16 16.1 16.2 16.2.1 16.2.2 16.2.3 16.3 16.4 16.5 16.6 16.6.1 16.6.2 Einführung in die Fallstudie Das Problem anGRAPPLEn Geschäftsprozesse entdecken Einen Gast bedienen Essen zubereiten Tisch säubern Die Lektionen daraus Zusammenfassung Nachgefragt Workshop Fragen Übungen 241 242 242 243 252 255 256 257 257 258 258 258 17 17.1 17.2 17.3 17.4 17.4.1 17.4.2 17.4.3 17.4.4 17.4.5 17.4.6 17.5 17.6 Domänenanalyse durchführen Interview zum Geschäftsprozess analysieren Erstes Klassendiagramm entwickeln Klassen gruppieren Assoziationen bilden Assoziationen mit dem Gast Assoziationen mit der Bedienung Assoziationen mit dem Koch Assoziationen mit dem Hilfskellner Assoziationen mit dem Manager Exkurs Aggregationen und Komposita bilden Klassen ausfüllen 261 262 263 265 267 268 272 274 274 274 275 276 277 Inhaltsverzeichnis jetzt lerne ich 17.6.1 17.6.2 17.6.3 17.7 17.7.1 17.7.2 17.8 17.9 17.10 17.11 17.11.1 17.11.2 Gast Angestellter Rechnung Allgemeines zum Thema Modellierung Modellwörterbuch Diagrammorganisation Die Lektionen daraus Zusammenfassung Nachgefragt Workshop Fragen Übungen 278 278 280 280 281 281 281 282 282 283 283 283 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.8.1 18.8.2 Systemanforderungen sammeln Die Vision entwickeln Anforderungen sammeln Die JAD-Sitzung zu den Anforderungen Ergebnis Was nun? Zusammenfassung Nachgefragt Workshop Fragen Übung 285 286 296 297 301 302 305 305 306 306 306 19 19.1 19.2 19.3 19.3.1 19.3.2 19.3.3 19.3.4 19.3.5 19.3.6 19.3.7 19.3.8 19.3.9 19.4 19.5 19.6 Anwendungsfälle ausbauen Anwendungsfälle pflegen und ausbauen Anwendungsfallanalyse Das Paket »Bedienung« Bestellung aufnehmen Bestellung an die Küche weiterleiten Bestellung ändern Feststellen, wie weit die Bestellung ist Dem Koch Bescheid geben, wie weit die Gästegruppe ist Rechnung aufsummieren Rechnung ausdrucken Eine Hilfskraft rufen Übrige Anwendungsfälle Komponenten des Systems Zusammenfassung Nachgefragt 307 308 309 310 310 311 312 313 314 316 316 317 318 318 320 320 15 jetzt lerne ich 16 Inhaltsverzeichnis 19.7 19.7.1 19.7.2 Workshop Fragen Übungen 321 321 321 20 20.1 20.1.1 20.1.2 20.1.3 20.1.4 20.1.5 20.1.6 20.1.7 20.2 20.2.1 20.2.2 20.2.3 20.3 20.4 20.5 20.6 20.6.1 20.6.2 Interaktionen und Zustandsänderungen Die arbeitenden Teile des Systems Das Paket »Bedienung« Das Paket »Koch« Das Paket »HilfsKellner« Das Paket »RestaurantHilfe« Das Paket »HilfsKoch« Das Paket »BarMann« Das Paket »GarderobenFräulein« Interaktionen innerhalb des Systems Bestellung aufnehmen Bestellung ändern Feststellen, wie weit die Bestellung ist Implikationen Zusammenfassung Nachgefragt Workshop Fragen Übungen 323 324 324 325 325 325 326 326 326 327 327 331 332 334 334 335 335 336 336 21 21.1 21.2 21.3 21.4 21.5 21.5.1 21.5.2 21.6 21.7 21.7.1 21.7.2 21.8 21.9 21.10 21.10.1 21.10.2 Look&Feel und Einsatz planen Einige allgemeine Prinzipien des GUI-Entwurfs Die JAD-Entwurfssitzung Von Anwendungsfällen zu Benutzerschnittstellen UML-Diagramme für den GUI-Entwurf Einsatz des Systems planen Das Netzwerk Die Knoten und das Einsatzdiagramm Die nächsten Schritte ... nun ein Wort von unserem Sponsor Verkaufsmannschaft stärken In der Gastronomie expandieren Zusammenfassung Nachgefragt Workshop Fragen Übungen 337 337 340 341 344 345 346 347 349 349 350 350 352 352 353 353 354 Inhaltsverzeichnis 22 22.1 22.2 22.3 22.3.1 22.3.2 22.4 22.5 22.6 22.7 22.8 22.8.1 22.8.2 Entwurfsmuster verstehen Parametrisierung Entwurfsmuster Zuständigkeitskette Zuständigkeitskette: Restaurantdomäne Zuständigkeitskette: Ereignismodelle von Webbrowsern Selbst erstellte Entwurfsmuster Vorteile von Entwurfsmustern Zusammenfassung Nachgefragt Workshop Fragen Übungen jetzt lerne ich 355 356 358 359 361 362 364 366 367 367 368 368 368 Teil III: Blick nach vorne 369 23 23.1 23.2 23.3 23.4 23.4.1 23.4.2 23.4.3 23.4.4 23.5 23.5.1 23.5.2 23.5.3 23.5.4 23.5.5 23.6 23.7 23.8 23.9 23.9.1 23.9.2 Eingebettete Systeme modellieren Die zündende Idee GetAGrip nimmt Gestalt an Was ist ein eingebettetes System? Konzepte für eingebettete Systeme Zeit Threads Interrupts Betriebssysteme GetAGrip modellieren Klassen Anwendungsfälle Interaktionen Allgemeine Zustandsänderungen Einsatz Muskeln spielen lassen Zusammenfassung Nachgefragt Workshop Fragen Übungen 371 372 373 375 376 376 377 378 379 381 381 383 384 387 387 389 389 390 390 391 391 24 24.1 24.2 24.3 Die Zukunft der UML gestalten 393 Erweiterungen für die Wirtschaft 394 Schlussfolgerungen aus den Erweiterungen für die Wirtschaft 395 Grafische Benutzeroberflächen 396 17 Inhaltsverzeichnis jetzt lerne ich 24.3.1 24.3.2 24.4 24.4.1 24.4.2 24.4.3 24.5 24.6 24.7 24.8 24.9 24.9.1 24.9.2 Teil IV: 18 An Anwendungsfälle anschließen Die GUI modellieren Expertensysteme Komponenten eines Expertensystems Ein Beispiel Wissensbasis modellieren Webanwendungen Das wär's Zusammenfassung Nachgefragt Workshop Fragen Übungen Anhänge 396 397 398 399 401 403 405 407 408 409 409 409 409 411 Anhang A: Antworten 413 Anhang B: UML-Modellierungstools 425 B.1 B.2 B.3 B.4 B.5 425 426 428 430 432 Gemeinsamkeiten Rational Rose SELECT Enterprise Visual UML Das ideale Modellierungstool Anhang C: UML-Diagrammtypen 433 Anhang D: Die CD zum Buch 441 Stichwortverzeichnis 443
© Copyright 2024 ExpyDoc