close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

188 4 Verhaltensmodellierung 66 3 Strukturmodellierung 36 2 Was

EinbettenHerunterladen
Geleitwort
6
Vorwort zur 3. Auflage
8
Inhaltsverzeichnis
10
1 Einleitung
16
1.1 Einführung in UML
1.1.1 Historie von UML
1.1.2 Grundprinzipien von UML
1.1.3 Diagrammarten im Überblick
1.2 Ziele und Aufbau des Buchs
1.2.1 Ziele des Buchs
1.2.2 Notationskonventionen
1.2.3 Vorstellung des CALENDARIUM-Beispiels
1.2.4 Kapitelübersicht
17
17
20
23
27
27
29
30
33
2 Was bringt UML2?
36
2.1 Ziele von UML2
36
2.1.1 Infrastruktur
2.1.2 Superstruktur
2.1.3 Object Constraint Language (OCL)
2.1.4 Diagrammaustausch
2.2 Neuerungen in der Strukturmodellierung
2.2.1 Klassendiagramm und Objektdiagramm
2.2.2 Paketdiagramm
2.2.3 Komponentendiagramm
2.2.4 Kompositionsstrukturdiagramm
2.2.5 Verteilungsdiagramm
2.3 Neuerungen in der Verhaltensmodellierung
2.3.1 Anwendungsfalldiagramm
2.3.2 Aktivitätsdiagramm
2.3.3 Zustandsdiagramm
2.3.4 Interaktionsdiagramme
2.4 Allgemeine Neuerungen
2.4.1 Verallgemeinerung des
2.4.2 Verallgemeinerung des
2.4.3 Erweiterung der Modellebene um Instanzen und Rollen
2.4.4 Striktere Trennung zwischen Sprachkonzepten und Notationselementen
2.4.5 Offene Grenzen zwischen verschiedenen Diagrammarten
2.4.6 Modularisierung von Diagrammen
2.4.7 Zertifizierungsprogramm
2.5 Hält UML2 was es verspricht?
38
39
40
40
41
41
42
42
43
44
44
45
45
47
48
49
49
50
53
56
57
60
61
61
3 Strukturmodellierung
66
3.1 Klassendiagramm
67
3.1.1 Klasse
3.1.2 Assoziation
3.1.3 Aggregation
3.1.4 Einschränkungen
3.1.5 Generalisierung
3.1.6 Abhängigkeit
3.1.7 Interface
3.1.8 Variationen des Klassenkonzepts
3.1.9 Parametrisierte Klasse
3.1.10 Datentyp
3.1.11 Signal
3.2 Objektdiagramm
3.3.1 Import von Elementen und Paketen
3.3.2 Verschmelzung von Paketen
3.3.3 Modelle und Bibliotheken
3.3.4 Exkurs: Verwendung von Paketen
3.4 Komponentendiagramm
3.4.1 Externe und interne Sicht einer Komponente
3.4.2 Verwendungsmöglichkeiten von Komponenten
3.4.3 Zusammenfassende Gegenüberstellung der Komponentenarten
3.5 Kompositionsstrukturdiagramm
3.5.1 Kompositionsstrukturdiagramm für Klassen
3.5.2 Kompositionsstrukturdiagramm für Kollaborationen
3.6 Verteilungsdiagramm
3.6.1 Knoten und Kommunikationsbeziehungen
3.6.2 Artefakte – Manifestation und Verteilung
4 Verhaltensmodellierung
4.1 Anwendungsfalldiagramm
4.1.1 Beziehungen zwischen Anwendungsfällen
4.1.2 Beziehungen zwischen Akteuren
4.1.3 Zusammenfassende Gegenüberstellung
4.2 Aktivitätsdiagramm
4.2.1 Eigenschaften einer Aktivität
4.2.2 Bestandteile einer Aktivität
4.2.3 Token zur Koordination von Aktivitätsabläufen
4.2.4 Start und Ende von Aktivitäten und Abläufen
4.2.5 Alternative Abläufe
4.2.6 Nebenläufige Abläufe
67
78
87
93
94
112
116
119
128
131
132
133
138
142
147
148
149
151
163
166
167
168
178
182
182
184
188
189
192
199
200
201
202
204
207
208
211
213
4.2.7 Arten von Objektknoten
4.2.8 Steuerung des Objektflusses
4.2.9 Partitionen
4.2.10 Strukturierte Aktivitätsknoten
4.2.11 Ausnahmebehandlung und Unterbrechungsbereich
4.2.12 Aktionen
4.3 Zustandsdiagramm
4.3.1 ODER-Verfeinerung
4.3.2 UND-Verfeinerung
4.3.3 Komplexe Transition
4.3.4 Segmentierte Transition
4.3.5 Unterautomaten
4.3.6 Spezialisierung von Zustandsdiagrammen
4.3.7 Protokollautomaten
4.4 Sequenzdiagramm
4.4.1 Lebenslinien repräsentieren Interaktionspartner
4.4.2 Interaktion als Abfolge von Ereignisspezifikationen
4.4.3 Ausführung einer Nachricht
4.4.4 Versenden einer Nachricht zwischen Interaktionspartnern
4.4.5 Zeiteinschränkungen
4.4.6 Zustandsinvarianten
4.4.7 Kontrollflusssteuerung durch kombinierte Fragmente
4.4.8 Modularisierung von Sequenzdiagrammen
4.4.9 Beispielhafter Einsatz von Sequenzdiagrammen für Komponenten und Kollaborationen
4.5 Kommunikationsdiagramm
4.5.1 Lebenslinien und Kommunikationsbeziehungen
4.5.2 Nachrichten und Kontrollflusssteuerung
217
223
226
229
235
237
243
251
255
259
261
262
263
265
266
270
271
273
274
276
278
279
295
300
303
304
305
4.6 Zeitdiagramm
4.7 Interaktionsübersichtsdiagramm
308
312
5 Die Spracharchitektur von UML
314
5.1 Das Metamodell von UML – die Superstruktur
314
5.1.1 Sinn und Zweck des UML-Metamodells
5.1.2 Ausschnitt aus dem UML-Metamodell
5.1.3 Zusammenhang zwischen Metamodell und Modell
5.1.4 Verwaltung von UML-Modellen in Repositories
5.1.5 Strukturierung des UML-Metamodells
5.1.6 Semantische Variationspunkte
314
317
320
322
325
334
5.2 Das Meta-Metamodell von UML – die Infrastruktur
339
5.2.1 Zusammenhang zwischen Infrastruktur und Superstruktur
5.2.2 Strukturierung der UML-Infrastruktur
5.2.3 Zusammenhang zum Meta Object Facility (MOF)
5.3 Erweiterungsmöglichkeiten der UML- Spracharchitektur
5.3.1 Erweiterungsmöglichkeiten im Überblick
5.3.2 Stereotype und Profile
6 Modellgetriebene Softwareentwicklung in der Praxis
6.1 Grundkonzepte von MDA
6.2 Werkzeugunterstützung
6.2.1 Kategorisierung und Abgrenzung von MDA-Werkzeugen
6.2.2 Auswahl von MDA-Werkzeugen
6.3 MDA-Fallstudie: CALENDARIUM
6.3.1 Werkzeugunterstützung
6.3.2 Modellierung des EJB-Subsystems
6.3.3 Modellierung des Web-Subsystems
6.3.4 Modellierung der physischen Komponenten
6.3.5 Transformation des Modells zu Code
6.3.6 Resümee der Fallstudie
A Notationsübersicht
Strukturmodellierung
Verhaltensmodellierung
B Schlüsselwörter und Stereotype
B.1 Schlüsselwörter
B.2 Stereotype
339
341
343
349
349
351
358
360
364
365
366
372
374
374
376
379
379
382
386
387
389
392
392
395
C Classifier-Hierarchie
400
Glossar
402
Literatur
420
Stichwortverzeichnis
428
2 Was bringt UML2? (S. 21-22)
Das vorliegende Kapitel gibt einen Einblick in die Neuerungen von UML2. Um die Motivation dafür besser zu verstehen, werden
zunächst die Ziele erläutert, die der Weiterentwicklung von UML zugrunde gelegt wurden, wobei insbesondere auch einige
Quellen von Anforderungen angeführt werden, die auf die Ausgestaltung der Ziele maßgeblichen Einfluss hatten. Aufbauend
darauf werden zunächst diagrammspezifische Neuerungen von UML2, kategorisiert in Strukturmodellierung und
Verhaltensmodellierung, beschrieben, gefolgt von generellen, diagrammübergreifenden Neuerungen. Die Beschreibung versteht
sich dabei als Überblick der nach Meinung der Autoren essenziellen Neuerungen, ein Anspruch auf Vollständigkeit wird nicht
erhoben.
Ziel ist es, nicht nur dem »UML1-Kenner« an zentraler Stelle (und damit nicht verteilt auf einzelne Kapitel) einen schnellen
Einstieg in die wesentlichen Neuerungen von UML2 zu ermöglichen, sondern auch dem »UML-Neuling« die Grundphilosophie
und ein »Big Picture « von UML2 zu vermitteln. Diesem wird die Lektüre jedoch erst nach Aneignung des Basiswissens über die
verschiedenen UML-Diagrammarten empfohlen. Details sind in jedem Fall in den nachfolgenden Kapiteln der Beschreibung der
einzelnen Diagrammarten nachzulesen, in denen auch an geeigneter Stelle auf manches Neuerungsdetail hingewiesen wird. Auf
grundlegende Neuerungen im UML-Metamodell wird – soweit der UML-Anwender davon nicht direkt betroffen ist – erst in
Unterkapitel 5.1 näher eingegangen. Den Abschluss des Kapitels bildet eine kritische Betrachtung von UML2.
2.1 Ziele von UML2
UML hat sich als Standard-Modellierungssprache in der Praxis durchgesetzt. Gründe dafür liegen zum einen darin, dass durch die
Standardisierung von UML eine stabile Grundlage für die Entwicklung von Modellierungswerkzeugen, aber auch von
Modellierungswissen geschaffen wurde.
Zum anderen bietet UML natürlich auch inhaltliche Qualitäten, wie eine »formale« Basis durch Verwendung eines Metamodells,
eine Ausdrucksstärke, die über übliche Programmiersprachen hinausgeht, sowie Erweiterungsmechanismen, die den Einsatz von
UML auch in speziellen Anwendungsgebieten ermöglichen.
Trotz dieser offensichtlichen Vorteile von UML entschloss sich die OMG zur Initiierung einer grundlegenden Weiterentwicklung
des Standards. Was waren die Gründe dafür? Zunächst die Erfahrungen, die mit UML1 bis zu diesem Zeitpunkt bereits gesammelt
werden konnten, und die dabei erkannten Nachteile beim Einsatz von UML, sowohl in der Forschung als auch in der industriellen
Praxis. Ein weiterer Motivationsgrund liegt im permanenten Technologiewandel und dem damit verbundenen Aufkommen neuer
Programmiersprachen wie C#, Phyton oder PHP und neuer Anwendungsbereiche, wie z.B. komponenten- und serviceorientierte
Architekturen (SOAs), Geschäftsprozessmanagement, eingebettete Systeme oder aber Echtzeitsysteme, die entsprechende
Modellierungsunterstützung benötigen.
In diesem Zusammenhang ist das Aufkommen der Model Driven Architecture (MDA) der OMG sicherlich als eine der treibenden
Kräfte hinter der Weiterentwicklung von UML zu sehen [OMG03c]. Die Grundidee der MDA besteht darin, Code als primäres
Artefakt der Softwareentwicklung durch Modelle abzulösen. Modellgetriebene Entwicklung auf Basis der MDA hat nicht nur eine
automatische Modelltransformation zum Ziel, z.B. zum Zweck der Codegenerierung, sondern schafft darüber hinaus auch die
Basis für eine automatische Validierung, Verifikation und Ausführung von Modellen. Notwendige Voraussetzung für den Einsatz
von UML im Rahmen der MDA ist eine Präzisionssteigerung der Definition von Sprachkonzepten, eine Forderung, die in UML1
bisher nicht konsequent umgesetzt wurde.
Document
Kategorie
Bildung
Seitenansichten
9
Dateigröße
8 KB
Tags
1/--Seiten
melden