Vorwort der Übersetzer | 6 |
Einleitung | 8 |
Inhaltsverzeichnis | 10 |
1: Anforderungskatalog/Lastenheft | 14 |
1.1 Ziel und Anwendungsbereich | 14 |
1.2 Anforderungsspezifikation | 15 |
1.3 Use Cases (Anwendungsfälle) | 15 |
1.4 Unklarheit in der Anforderungsspezifikation | 16 |
1.5 Übung zur Anforderungsspezifikation | 17 |
2: Daten in einem Klassendiagramm abbilden | 18 |
2.1 Klasse | 18 |
2.2 Objekt | 19 |
2.3 Attribut | 19 |
2.3.1 Attributtyp | 19 |
2.3.2 Pflichtfeld und optionales Attribut | 20 |
2.3.3 Aufzählung | 21 |
2.4 Assoziation | 22 |
2.4.1 Multiplizität | 22 |
2.4.2 Auftreten des Henne-Ei-Problems | 23 |
2.4.3 Zwischenklasse | 24 |
2.4.4 Komposition | 24 |
2.4.5 Aggregation | 25 |
2.4.6 Navigation | 26 |
2.4.7 Assoziationsname | 27 |
2.5 Einfachheit oder Flexibilität | 28 |
2.6 Abgeleitetes Attribut | 29 |
2.7 Vererbung | 29 |
2.8 Klassendiagramm vs. Datenbankentwurf | 30 |
2.8.1 Objektrelationale Abbildung von Beziehungen | 31 |
2.8.2 Objektrelationale Abbildung von Vererbung | 33 |
2.8.3 Wofür ein Klassendiagramm? | 34 |
2.9 Übersicht zu den Elementen eines Klassendiagramms | 35 |
2.10 Übung zum Klassendiagramm | 36 |
2.11 Checkliste zum Klassendiagramm | 37 |
3: Wiedergabe von Geschäftsprozessen in einem Aktivitätsdiagramm | 38 |
3.1 Aktion | 39 |
3.2 Zustand | 39 |
3.3 Schwimmbahn | 39 |
3.4 Startknoten | 40 |
3.5 Endknoten | 40 |
3.6 Entscheidungsknoten | 41 |
3.7 Manuelle Wahl | 42 |
3.8 Beziehung mit dem Klassendiagramm | 42 |
3.9 Timer | 43 |
3.10 Parallele Flüsse | 44 |
3.11 Hauptprozess und Teilprozess | 45 |
3.12 Signal | 46 |
3.12.1 Signal akzeptieren, wenn das Objekt einen bestimmten Zustand hat | 48 |
3.12.2 Signal unabhängig vom Zustand akzeptieren | 48 |
3.12.3 Signale in der UML-2.5- Spezifikation | 49 |
3.13 Übersicht zu den Elementen eines Aktivitätsdiagramms | 50 |
3.14 Übung zum Aktivitätsdiagramm | 51 |
3.15 Checkliste zum Aktivitätsdiagramm | 52 |
4: Konsistenz der Anwendung | 53 |
4.1 Durchgängig einheitliche Terminologie | 53 |
4.2 Konzeptionelle Integrität | 54 |
4.3 Übung zur Konsistenz der Anwendung | 55 |
5: Anwenderrolle und Zugriffsrecht | 56 |
5.1 CRUD-Matrix | 56 |
5.2 Attribut in einer CRUD-Matrix | 57 |
5.3 Assoziation in einer CRUD-Matrix | 58 |
5.4 Schwimmbahn | 59 |
5.5 Löschen | 60 |
5.6 Übersicht zu Anwenderrolle und Zugriffsrecht | 61 |
5.7 Übung zu Anwenderrolle und Zugriffsrecht | 61 |
5.8 Checkliste zu Anwenderrolle und Zugriffsrecht | 62 |
6: Zustandsautomat | 63 |
6.1 Zustand und Zustandsübergang | 63 |
6.2 Zustandsautomat vs. Aktivitätsdiagramm | 64 |
7: Anwenderschnittstelle | 66 |
7.1 Dialogstruktur | 66 |
7.1.1 Hauptmenü | 68 |
7.1.2 Modales Fenster und nicht-modales Fenster | 69 |
7.1.3 Anwenderrolle und Darstellung der Dialogstruktur | 70 |
7.1.4 Pop-up oder Darstellung im Hauptfenster der Anwendung? | 71 |
Als Pop-up | 71 |
Im Hauptfenster | 72 |
7.2 Programmfenster | 72 |
7.2.1 Steuerelement für Attribute | 73 |
7.2.2 Steuerelement für Assoziationen mit einzahliger Multiplizität | 74 |
7.2.3 Steuerelement für Assoziationen mit mehrzähliger Multiplizität | 75 |
7.2.4 Information in der Bezeichnung von Schaltflächen | 76 |
7.2.5 Nicht verwendbare Schaltfläche | 77 |
7.2.6 Übersichtlichkeit oder Vollständigkeit | 77 |
7.2.7 Hilfefunktion | 78 |
7.3 Interaktion | 78 |
7.3.1 Häufigste Verarbeitungsschritte | 79 |
Der Anwender arbeitet von oben nach unten | 79 |
Auffallende und weniger auffallende Steuerelemente | 79 |
7.3.2 Nutzung von Standardwerten und Mussfeldern | 79 |
7.3.3 Modale Frage und Mitteilung | 81 |
7.3.4 Nicht-modale Frage und Mitteilung | 81 |
7.3.5 Explizites und implizites Speichern | 82 |
7.3.6 Löschen: Bestätigen oder rückgängig machen | 83 |
7.3.7 Tastatur anstelle der Maus | 84 |
7.4 CRUD-Muster | 85 |
7.5 Konsistente Anwendererfahrung | 87 |
7.6 Übersicht zur Anwenderschnittstelle | 87 |
7.7 Übung zur Anwenderschnittstelle | 88 |
7.8 Checkliste zur Anwenderschnittstelle | 89 |
8: Geschäftsregeln | 90 |
8.1 Modellbestandteil oder gesonderte Beschreibung | 90 |
8.2 Bedingung in einem Geschäftsprozess | 91 |
8.3 Bedingung in der Darstellung der Dialogstruktur | 92 |
8.4 Automatisches Ereignis in der Darstellung der Dialogstruktur | 92 |
8.5 Zeitpunkt, zu dem eine Bedingung einzuhalten ist | 93 |
8.6 Übung zu Geschäftsregeln | 94 |
9: Kopplung zwischen Systemen und Komponenten | 95 |
9.1 Nutzung einer Schnittstelle und Abhängigkeit | 95 |
9.2 Komponentendiagramm | 96 |
9.3 Paketdiagramm | 98 |
9.4 Sequenzdiagramm | 99 |
9.4.1 Synchroner Methodenaufruf | 99 |
9.4.2 Asynchroner Methodenaufruf | 100 |
9.5 Kommunikationsdiagramm | 101 |
9.6 Übung zur Kopplung zwischen Systemen | 102 |
9.7 Checkliste zur Kopplung zwischen Systemen | 102 |
10: Audit Trail und Rückgängig | 103 |
10.1 Audit Trail | 103 |
10.2 Rückgängig | 104 |
10.3 Nutzung eines Audit Trails in einer DTAP-Street | 105 |
10.4 Klassenmodell eines Audit Trails mit Rückgängig-Funktionalität | 106 |
11: Vom Modell zur funktionierenden Software | 107 |
11.1 Scrum-Methode: agil und lean | 107 |
11.2 Modellgetriebene Entwicklung | 109 |
11.3 Übung zum Iterationsplan | 110 |
Nachwort | 111 |
Sachverzeichnis | 113 |