Software-Entwurf mit UML im Springer Verlag
Teil I. UML als Entwurfssprache
1. Modellierung von Software-Systemen
1.1 Entstehung der UML
1.2 Zum Aufbau des Buches
1.3 Modelle, Sichten und Diagramme
1.4 Das statische Modell
1.5 Das dynamische Modell
2. Das Use-Case-Diagramm
2.1 Anwendungsfälle
2.2 Das Anwendungsfalldiagramm
2.3 Verfeinerung von Anwendungsfällen
2.4 Beziehungen in Use-Case-Diagrammen
2.5 Zusammenfassung
3. Das Aktivitätsdiagramm
3.1 Abläufe und Vorgänge
3.2 Aufteilung des Kontrollflusses
3.3 Zuteilung der Verantwortung
3.4 Objektfluss
3.5 Aktivitäten und Aktionen
3.6 Zusammenfassung
4. Das Klassendiagramm
4.1 Klassen
4.2 Attribute und Operationen
4.3 Verantwortlichkeiten
4.4 Objekte
4.5 Verknüpfungen
4.6 Kooperation
4.7 Assoziationen
4.7.1 Rollen und Richtungen
4.7.2 Aggregation und Komposition
4.7.3 Multiplizität
4.7.4 Objektselektoren
4.7.5 Assoziation als Klasse
4.7.6 Mehrstellige Assoziationen
4.8 Generalisierung
4.8.1 Verallgemeinerung -- Spezialisierung
4.8.2 Abstraktion
4.8.3 Klassifikation
4.9 Klassen und Schnittstellen
4.10 Schablonen
4.11 Erläuternder Text
4.11.1 Bedingungen
4.11.2 Kommentare
4.11.3 Eigenschaftslisten
4.12 Stereotypen
4.13 Zusammenfassung
5. Das Sequenzdiagramm
5.1 Nachrichtenaustausch
5.2 Aktivitätszonen
5.3 Asynchrone Nachrichten
5.4 Erzeugung und Zerstörung von Objekten
5.5 Bedingungen
5.6 Zeitachse
5.7 Schleifen
5.8 Zusammenfassung
6. Das Kooperationsdiagramm
6.1 Objekte und Nachrichten
6.2 Multiobjekte
6.3 Anwendung von Kooperationsdiagramme
7. Das Zustandsdiagramm
7.1 Zustandsautomaten
7.2 Zustände und Ereignisse
7.3 Verzweigungen
7.4 Aktionen und Aktivitäten
7.5 Hierarchische Zustandsdiagramme
7.5.1 Unterzustände
7.5.2 History-Zustand
7.5.3 Nebenläufige Zustände
7.6 Zusammenfassung
8. Die Implementierungsdiagramme
8.1 Das Komponentendiagramm
8.2 Das Installationsdiagramm
9. Das Paketdiagramm
9.1 Pakete und Abhängigkeiten
9.2 Subsysteme
9.3 Modelle
Teil II. Anwendung der UML
10. Ein Vorgehensmodell für den Software-Entwurf
10.1 Anforderungsermittlung
10.2 Analyse
10.2.1 Objekte finden
10.2.2 Objekte strukturieren
10.2.3 Verantwortlichkeiten verteilen
10.3 Entwurf
10.3.1 Systemarchitektur festlegen
10.3.2 Klassenentwurf
10.3.3 Schnittstellen spezifizieren
10.3.4 Detailentwurf
10.4 Implementierung
10.4.1 Klassendefinitionen
10.4.2 Methoden
10.5 Bemerkungen
10.6 Modularisierung
10.6.1 Verfeinerung von Modellelementen
10.6.2 Vergröberung
10.6.3 Frühe Zerlegung des Modells
10.7 Das Vorgehensmodell -- kurz gefasst
10.8 Einsatzgebiete der Diagramme
11. UML und Java
11.1 Klassendefinitionen
11.1.1 Attribute
11.1.2 Methoden
11.2 Beziehungen zwischen Klassen
11.2.1 Generalisierung
11.2.2 Assoziationen
11.2.3 Aggregation und Komposition
11.2.4 Vorgehen
11.3 Methodenrümpfe
11.3.1 Implementierung aus Kooperationsdiagrammen
11.3.2 Implementierung aus Zustandsdiagrammen
11.3.3 Bedingungen
11.4 Pakete
11.5 Java Klassenbibliotheken
12. Entwurfsmuster
12.1 Einführung und Begriffsklärung
12.2 Das Kompositum-Muster
12.3 Das Beobachter-Muster
12.3.1 Die Model-View-Controller Architektur
12.4 Das Adapter-Muster
12.5 Das Kommando-Prozessor-Muster
12.6 Das Status-Muster
12.7 Der Asynchrone Methodenaufruf
12.8 Software-Entwurf mit Entwurfsmustern
13. Fallstudie: Eine Tabellenkalkulation
13.1 Einführung
13.1.1 Tabellenkalkulation
13.1.2 Entwicklungsvorgehen
13.2 Anforderungsermittlung
13.2.1 Szenarien in Form von Aktivitätsdiagrammen
13.2.2 Weitere Anforderungen
13.3 Analyse und Entwurf
13.3.1 Festlegen der Software-Architekt
13.3.2 Die Tabelle
13.3.3 Der Formel-Parser
13.3.4 Die Benutzeroberfläche
13.3.5 Kopplung der Subsysteme
13.4 Implementierung in Java
Teil III. Formale Grundlagen der UML
14. Erweiterungsmechanismen
14.1 Präzisierung
14.2 Zusätzliche Information
14.3 Vereinbarung von Stereotypen
14.4 Die OCL
14.4.1 Überblick
14.4.2 Einführung der OCL an einem Beispiel
15. Das UML-Metamodell
15.1 Modell und Metamodell
15.2 Die 4-Schichten Architektur von UML
15.3 Zusammenfassung
Teil IV. Anhang
A. Die UML Referenz
A.1 Aktivitätsdiagramm
A.1.1 Aktivität
A.1.2 Endzustand
A.1.3 Entscheidungsaktivität
A.1.4 Objekt
A.1.5 Objektfluss
A.1.6 Schwimmbahn, Verantwortlichkeitsbereich
A.1.7 Startzustand
A.1.8 Synchronisationsbalken
A.1.9 Transition
A.1.10 Unteraktivität
A.1.11 Wächterbedingung
A.1.12 Zusammenführung
A.2 Implementierungsdiagramme
A.2.1 Abhängigkeit
A.2.2 Schnittstelle, Interface
A.2.3 Software-Komponente
A.2.4 Objekt
A.2.5 Rechnerknoten
A.2.6 Kommunikationsverbindung
A.3 Interaktionsdiagramme
A.3.1 Objekt
A.3.2 Nachricht
A.3.3 Wächterbedingung
A.3.4 Akteur
A.3.5 Aktives Objekt
A.3.6 Kooperation
A.3.7 Link, Verknüpfung
A.3.8 Multiobjekt
A.3.9 Nachricht im Kooperationsdiagramm
A.3.10 Rollendiagramm
A.3.11 Aktivitätszone
A.3.12 Instanzen, Exemplare
A.3.13 Nachricht im Sequenzdiagramm
A.3.14 Objektlebenslinie
A.3.15 Rückkehrnachricht
A.3.16 Schleife, Iteration
A.4 Klassendiagramm
A.4.1 Abhängigkeit
A.4.2 Aggregation
A.4.3 Assoziation
A.4.4 n-äre Assoziation
A.4.5 Assoziationsklasse
A.4.6 Attribut
A.4.7 Generalisierung
A.4.8 Interface, Schnittstelle
A.4.9 Interface-Realisierung
A.4.10 Klasse
A.4.11 Komposition
A.4.12 Link, Verknüpfung
A.4.13 Multiplizität
A.4.14 Objekt
A.4.15 Objektselektor
A.4.16 Operation
A.4.17 Schablone
A.4.18 Sichtbarkeit
A.5 Paketdiagramm
A.5.1 Abhängigkeit (zwischen Paketen)
A.5.2 Generalisierung (von Paketen)
A.5.3 Modelle
A.5.4 Paket
A.5.5 Sichtbarkeit
A.5.6 Subsystem
A.6 Use-Case-Diagramm
A.6.1 Akteur
A.6.2 Assoziation
A.6.3 Erweiterungspunkt
A.6.4 Generalisierung
A.6.5 System
A.6.6 Use-Case, Anwendungsfall
A.6.7 Use-Case Abhängigkeit
A.7 Zustandsdiagramm
A.7.1 Aktion
A.7.2 Aktivität
A.7.3 Endzustand
A.7.4 Ereignis
A.7.5 Hierarchischer Zustand
A.7.6 History-Zustand
A.7.7 Konkurrente Zustände
A.7.8 Nachricht
A.7.9 Startzustand
A.7.10 Synchronisationsbalken
A.7.11 Synchronisationszustand
A.7.12 Transition
A.7.13 Transitionsstumpf
A.7.14 Unterautomat
A.7.15 Unterzustandsindikator
A.7.16 Verzweigungspunkt
A.7.17 Wächterbedingung
A.7.18 Zustand
A.8 Gemeinsame Elemente aller Diagramme 316
A.8.1 Bedingung, Einschränkung, Constraint
A.8.2 Eigenschaftsliste, tagged values
A.8.3 Notiz, Kommentar
A.8.4 Stereotyp
A.9 Die OCL-Syntax
A.10 Vordefinierte Stereotypen
A.11 Vordefinierte Bedingungen
B. Inhalt der CD-ROM
Literatur
Index

Quick Links
- Dokumente zum Bachelor Informatik
- Vorlesungen im Wintersemester 08/09
- Algorithmen und Datenstrukturen
- Programmierpraktikum
- Softwarepraktikum
- Programmierung verteilter Systeme
- Management im Software-Engineering
- Computergraphik
- Projektpraktika zu Digitalen Bibliotheken, Indexierung und Visualisierung
- Seminar zu Text Mining, Semantic Web und Anwendungen
- The object-oriented Approach and Java Programming

