lehrerbibliothek.deDatenschutzerklärung
UML IT-Tutorial
UML IT-Tutorial




Jason T. Roff

mitp-Verlag
EAN: 9783826613326 (ISBN: 3-8266-1332-5)
360 Seiten, paperback, 18 x 24cm, 2003

EUR 27,00
alle Angaben ohne Gewähr

Umschlagtext
Die Unified Modeling Language (UML) von Grady Brooch, Ivar Jacobson und James Rumbaugh gilt als Standard im objektorientierten Softwareentwurf. In diesem Tutorial lernen Sie alle Grundlagen zur objektorientierten Softwareentwicklung mit UML, von der Analyse bis hin zur Entwicklung. Sie lernen hierbei alle Grundbegriffe, Konzepte und Diagramme kennen, die Sie benötigen, um ein Softwareprojekt zu planen und umzusetzen. Dies beginnt bei dem Gespräch mit dem Endanwender und der Umsetzung seiner Vorstellungen für die objektorientierte Software. Im Folgenden werden alle einzelnen Diagramme anhand praktischer Beispiele und Projekte erläutert. Mit diesen Grundlagen haben Sie die Werkzeuge erlernt, mit denen Sie komplexe Softwareprojekte mit UML planen und umsetzen können.



Das Konzept der Tutorials ist für das praxisnahe, schrittweise und strukturierte Erlernen von UML ausgelegt und zeichnet sich durch folgende Elemente aus:



- Modulares Lernen: In sich geschlossene Lerneinheiten mit klar formulierten Lernzielen

- Fragen an den Experten: Fragen zu weiterführenden Aspekten, die der Vertiefung Ihres Wissens dienen

- 1-Minuten-Tests: Zu Festigung Ihrer Kenntnisse werden Themenschwerpunkte zwischendurch abgefragt

- Projekte: Jedes Kapitel enthält mehrere Projekte, in denen gezeigt wird, wie Sie das Gelernte praktisch anwenden können. Die Ausführung wird schrittweise erläutert.

- Übungsaufgaben: Am Ende jedes Kapitels wird Ihr Wissen anhand von Aufgaben getestet. Die dazugehörigen Lösungen finden Sie im Anhang.
Inhaltsverzeichnis
Einführung 11


1 Grundlagen der UML 15

Warum wir Software modellieren 16
Analyse, Design und Implementierung 17
Software-Lebenszyklusmodelle 19
Den Unified Modeling Process verstehen lernen 21
Etablierungsphase 22
Entwurfsphase 22
Konstruktionsphase 23
Übergangsphase 23
Was ist die UML? 24
Die Geschichte 24
OMG 26
Die Komponenten der UML 27
Strukturdiagramme 27
Verhaltensdiagramme 28
Verfügbare UML-Modellierungswerkzeuge 30
Rational Rose 30
Visio 30
Tafel/Flipchart oder Bleistift und Papier 31
Übungsaufgaben 31

2 Anwendungsfalldiagramme 33
Anwendungsfalldiagramme definieren 34
Warum modellieren wir Anwendungsfalldiagramme? 35
Die Notationskomponenten eines Anwendungsfalldiagramms 36
System 37
Akteure 37
Anwendungsfälle 38
Beziehungen 41
Subsysteme 43
Generalisierungsverfahren 44
Beziehung zwischen Anwendungsfällen 44
Beziehungen zwischen Akteuren 48
Projekt 2.1: Das Anwendungsfalldiagramm interpretieren 50
»include«- und »extend«-Beziehungen 51
»include«-Beziehung 51
»extend«-Beziehung 52
Anwendungsfälle beschreiben lernen 55
Ein Anwendungsfalldiagramm modellieren lernen 58
Die Akteure und Anwendungsfälle in dem System ermitteln 58
Prioritäten von Anwendungsfällen festlegen 60
Jeden Anwendungsfall detaillieren 61
Das Anwendungsfallmodell strukturieren 62
Projekt 2.2: Ein Anwendungsfalldiagramm modellieren 64
Übungsaufgaben 66

3 Einführung in das objektorientierte Design 69
Die Eigenschaften des objektorientierten Designs 70
Die Verwendung von Klassen im OOD 72
Abstraktion 72
Einkapselung 74
Schnittstellen 74
Die Verwendung der Vererbung im OOD 76
Vererbungshierarchien 78
Mehrfachvererbung 80
Die Polymorphie im OOD verwenden 81
Projekt 3.1: Ein Klassendiagramm erstellen 82
Übungsaufgaben 85

4 Arbeitsabläufe mit Aktivitätsdiagrammen modellieren 87
Aktivitätsdiagramme definieren 88
Warum wir Aktivitätsdiagramme modellieren 88
Die Notationselemente von Aktivitätsdiagrammen 89
Aktivitäten: Aktionszustände 90
Zustände 90
Übergänge 91
Die Kombination der Komponenten 92
Mit Bedingungen arbeiten 93
Wächterbedingungen 93
Entscheidungspunkte 94
Projekt 4.1: Ein Aktivitätsdiagramm lesen 96
Andere Komponenten von Aktivitätsdiagrammen 97
Ereignisse und Trigger 97
Verantwortlichkeitsbereiche 98
Aufspaltungen und Zusammenführungen 99
Ein Aktivitätsdiagramm modellieren 102
Die Anwendungsfälle identifizieren 102
Den Hauptprozess modellieren 103
Alternative Pfade modellieren 104
Verantwortlichkeitsbereiche hinzufügen 105
Umfangreiche Aktivitäten zerlegen 106
Projekt 4.2: Ein Aktivitätsdiagramm modellieren 107
Übungsaufgaben 109

5 Verhalten mit Sequenzdiagrammen modellieren 111
Sequenzdiagramme definieren 112
Warum wir Sequenzdiagramme modellieren 112
Die Notation von Sequenzdiagrammen 114
Aktive Objekte 115
Nachrichten 116
Mittels Nachrichten kommunizieren 118
Synchrone Nachrichten 120
Asynchrone Nachrichten 121
Flache Nachrichten 122
Weitere Verfahren in Sequenzdiagrammen 124
Objekte erstellen 125
Mit Zuständen arbeiten 126
Verzweigungen und alternative Pfade 127
Projekt 5.1: Ein Sequenzdiagramm lesen 130
Sequenzdiagramme modellieren lernen 131
Die Arbeitsabläufe auswählen 131
Die Objekte anordnen 131
Nachrichten und Bedingungen hinzufügen 132
Ein generisches Diagramm zeichnen 134
Projekt 5.2: Ein Sequenzdiagramm modellieren 135
Übungsaufgaben 136

6 Domänenmodelle mit Klassendiagrammen definieren 139
Klassendiagramme definieren 140
Warum wir Klassendiagramme modellieren 140
Die Notationselemente von Klassendiagrammen 141
Klassen 142
Beziehungen 143
Multiplizität 144
Rollen 145
Der Aufbau einer Klasse 147
Attribute und Operationen 148
Objekte: Exemplare von Klassen 149
Pakete 151
Attribute detaillierter darstellen 152
Datentypen 152
Anfangswerte 154
Multiplizität 154
Abgeleitete Attribute 155
Operationen mit Parametern detaillierter darstellen 157
Projekt 6.1: Ein Klassendiagramm lesen 159
Ein Klassendiagramm modellieren lernen 160
Die Klassen und Assoziationen identifizieren 161
Die Attribute und Operationen identifizieren 165
Projekt 6.2: Ein Klassendiagramm modellieren 166
Übungsaufgaben 169

7 Kollaborationsdiagramme 171
Kollaborationsdiagramme definieren 172
Warum wir Kollaborationsdiagramme modellieren 172
Die Notationselemente von Kollaborationsdiagrammen 173
Objekte und Rollen 173
Assoziationsrollen 175
Verbindungen (Links) 177
Nachrichten 178
Nachrichtentypen 179
Synchrone Nachrichten 179
Asynchrone Nachrichten 180
Flache Nachrichten 180
Zusätzliche Nachrichten-Notationen 181
Die Reihenfolge von Nachrichten festlegen 181
Wächterbedingungen 183
Objekte erstellen 184
Itcration 185
Projekt 7.1: Ein Kollaborationsdiagramm lesen 186
Kollaborationsdiagramme modellieren lernen 187
Die Elemente des Diagramms identifizieren 188
Die strukturellen Beziehungen modellieren 189
Ein Objekt-Level-Diagramm modellieren 189
Projekt 7.2: Ein Kollaborationsdiagramm modellieren 191
Übungsaufgaben 193

8 Weiteres über Klassendiagramme 195
Aggregations- und Kompositionsassoziationen 196
Aggregation 196
Komposition 198
Kompositionen grafisch verschachteln 200
Aggregation und Komposition mit einer Generalisierung kombinieren 202
Projekt 8.1: Aggregation und Komposition modellieren 203
Assoziationsanmerkungen 205
Bedingungen 205
Diskriminatoren 208
Endnotationen 209
Ordnen und Sortieren 209
Navigation 210
Projekt 8.2: Weitere Assoziationen modellieren 211
Übungsaufgaben 213

9 Weiteres über Sequenzdiagramme 215
Der Steuerungsfokus 216
Mit dem Steuerungsfokus arbeiten 217
Aktivierungszeiten angeben 218
Zeit modellieren 220
Änderungen im Zeitablauf anzeigen 221
Zeitbedingungen modellieren 222
Die Zeitdauer modellieren 223
Projekt 9.1: Sequenzdiagramme für die Aktivierungszeiten und die
Zeitbedingungen lesen 225
Iterationen modellieren 226
Schleifen modellieren 227
Rekursion modellieren 228
Fortgeschrittene Nachrichten modellieren 230
Nachrichtenargumente und Rückgabewerte 231
Nachrichtensequenzen festlegen 231
Notizen zu einem Sequenzdiagramm hinzufügen 232
Projekt 9.2: Die weitere Modellierung von Sequenzdiagrammen 233
Übungsaufgaben 236

10 Verhalten mit Zustandsdiagrammen modellieren 237
Zustandsdiagramme definieren 238
Warum wir Zustandsdiagramme modellieren 238
Die Notationselemente von Zustandsdiagrammen 239
Zustände 239
Übergänge 240
Entscheidungspunkte 241
Synchronisierung 243
Aktionen und Ereignisse für Zustände spezifizieren 244
Ereignisse 244
Aktionen 245
Projekt 10.1: Ein Zustandsdiagramm lesen 247
Mit zusammengesetzten Zuständen arbeiten 248
Unterzustände 248
Zusammengesetzte Zustände 249
Zustandsdiagramme modellieren 251
Die Entitäten identifizieren, die detaillierter dargestellt werden müssen 252
Die Start- und Endzustände der Entität identifizieren 252
Die Ereignisse einer Entität ermitteln 252
Das Zustandsdiagramm ab dem Startzustand erstellen 253
Bei Bedarf zusammengesetzte Zustände spezifizieren 254
Projekt 10.2: Ein Zustandsdiagramm modellieren 255
Übungsaufgaben 256

11 Die physische Architektur mit Implementierungsdiagrammen entwerfen 259
Implementierungsdiagramme definieren 260
Warum wir Implementierungsdiagramme modellieren 260
Komponentendiagramme 261
Komponenten 261
Abhängigkeiten 261
Stereotypen für Abhängigkeiten 262
Enthaltene Komponenten 264
Projekt 11.1: Ein Komponentendiagramm lesen 264
Einsatzdiagramme 266
Knoten 266
Kommunikationsassoziationen 267
Projekt 11.2: Ein Einsatzdiagramm lesen 268
Komponenten- und Einsatzdiagramme kombinieren 270
Implementierungsdiagramme modellieren lernen 272
Knoten hinzufügen 273
Kommunikationsassoziationen hinzufügen 273
Komponenten, Klassen und Objekte hinzufügen 274
Abhängigkeiten hinzufügen 275
Projekt 11.3: Ein Implementierungsdiagramm modellieren 277
Übungsaufgaben 279

12 Mit der Object Constraint Language arbeiten 281
Was ist die Object Constraint Language (OCL)? 282
Warum wir die OCL einsetzen 282
Die OCL-Syntax verstehen 283
Kontext und Stereotypen 283
Typen und Operationen 285
Projekt 12.1: Grundlegende OCL-Anweisungen lesen 287
Mit Collections arbeiten 288
Sets 289
Sequenzen 290
Bags 290
Andere gebräuchliche Operationen für Collections 291
Projekt 12.2: Fortgeschrittene OCL-Anweisungen lesen 292
Übungsaufgaben 293

A Übungsaufgaben: Lösungen 295
Kapitel 1: Grundlagen der UML 296
Kapitel 2: Anwendungsfalldiagramme 296
Kapitel 3: Einführung in das objektorientierte Design 299
Kapitel 4: Arbeitsabläufe mit Aktivitätsdiagrammen modellieren 301
Kapitel 5: Verhalten mit Sequenzdiagrammen modellieren 303
Kapitel 6: Domänenmodelle mit Klassendiagrammen definieren 305
Kapitel 7: Kollaborationsdiagramme 308
Kapitel 8: Weiteres über Klassendiagramme 309
Kapitel 9: Weiteres über Sequenzdiagramme 312
Kapitel 10: Verhalten mit Zustandsdiagrammen modellieren 315
Kapitel 11: Die physische Architektur mit Implementierungsdiagrammen
entwerfen 316
Kapitel 12: Mit der Object Constraint Language arbeiten 317

B Projekte: Ausgewählte Lösungen 321
Projekt 4.2: Ein Aktivitätsdiagramm modellieren 322
Projekt 5.2: Ein Sequenzdiagramm modellieren 323
Projekt 6.2: Ein Klassendiagramm modellieren 325
Projekt 7.2: Ein Kollaborationsdiagramm modellieren 327
Projekt 8.1: Aggregation und Komposition modellieren 328
Projekt 8.2: Weitere Assoziationen modellieren 329
Projekt 9.2: Die weitere Modellierung von Sequenzdiagrammen 331
Projekt 10.2: Ein Zustandsdiagramm modellieren 334
Projekt 11.3: Ein Implementierungsdiagramm modellieren 335

C Glossar 337

Stichwortverzeichnis 353
Weitere Titel aus der Reihe IT-Tutorial