Suchen und Finden
Service
Infos und Kontakt
Inhaltsverzeichnis
6
1 Einleitung
10
1.1 Zielgruppe und Aufbau dieses Buches
10
1.1.1 IT-Verantwortliche, Manager und Projektleiter
10
1.1.2 Analysten und Software-Architekten
10
1.1.3 Software-Entwickler, Test- und Build-Manager
10
1.2 Motivation
11
1.3 Begriffe
12
1.3.1 Modellgetriebene Softwareentwicklung
12
1.3.2 Model Driven Architecture (MDA)
15
1.4 Vorteile im Überblick
16
1.5 Bedeutung von MDA in der Praxis
18
1.6 Einführung in das Beispiel
20
2 Etablierung von MDSD in der Softwareentwicklung
22
2.1 MDSD im objektorientierten Entwicklungsprozess
22
2.2 MDSD und Vorgehensmodelle
25
2.2.1 V-Modell XT
25
2.2.2 Rational Unified Process (RUP)
27
2.2.3 Generative Development Process (GDP)
29
2.2.4 Agile Softwareentwicklung
32
2.3 Projektvorgehen
38
2.3.1 Entwicklung des Generators
38
2.3.2 Parallele Entwicklung von Generator und Anwendung in der Praxis
41
3 Modellierung
46
3.1 Modellierung im Sinne der MDA
47
3.2 Abstraktion
47
3.3 Agile Modellierung
48
3.4 Modellierungssprachen
50
3.4.1 Definition von Modellierungssprachen
50
3.4.2 Beispiele für Modellierungssprachen
51
3.5 Metamodellierung
53
3.6 Domänenspezifische Modellierung
57
3.6.1 Domänenspezifische Sprachen
58
3.6.2 Erfolgsfaktor domänenspezifische Modellierung
60
3.6.3 DSLs im Projekt
61
3.6.4 Anhaltspunkte auf dem Weg zu einer geeigneten DSL
63
3.6.5 Frameworks zur Definition von Modellierungssprachen
65
3.7 Modellvalidierung
68
3.7.1 Validierungstechnologien
69
3.7.2 Beispiel
70
3.8 Modelltransformationen
71
3.8.1 Transformationsarten
72
3.8.2 Transformationstechnologien
72
3.9 Werkzeugunterstützung
73
3.9.1 Anforderungen an ein Modellierungswerkzeug
73
3.9.2 Werkzeuganpassung/-erstellung
76
4 Domänenspezifische Sprachen in der Praxis
86
4.1 WebML
86
4.1.1 Motivation
86
4.1.2 Modelle
88
4.1.3 Der WebML-Entwicklungsprozess
101
4.2 Der Entwurf einer DSL für Tests mit FIT und FitNesse
103
4.2.1 Einleitung
103
4.2.2 Was ist FIT?
104
4.2.3 Erarbeitung der DSL
112
5 Best Practices
120
5.1 Entwicklung von Cartridges
120
5.1.1 Was sind Generatoren?
120
5.1.2 Was sind Cartridges?
122
5.1.3 Aufbau einer Cartridge
123
5.1.4 Entwicklung einer Cartridge
126
5.1.5 Erweiterte Konzepte im openArchitectureWare Framework
128
5.1.6 Integration in den Entwicklungsprozess
133
5.1.7 Versionierung
134
5.1.8 Deployment und Distribution
135
5.1.9 Integration in die Entwicklungsumgebung
137
5.2 Integration in den Buildprozess
137
5.2.1 Build-Automatisierung / -Management
137
5.2.2 Ant
139
5.2.3 Maven
148
5.2.4 Continuous Integration
156
5.3 Dokumentation
160
5.3.1 Verschiedene Arten der Dokumentation
161
5.3.2 Technische Dokumentation
161
5.3.3 Architekturdokumentation
166
5.3.4 Generatordokumentation
173
5.4 Handgeschriebener Code
174
5.4.1 Bedarf für handgeschriebene Ergänzungen
174
5.4.2 Anforderungen für den Umgang mit generiertem Code
175
5.4.3 Ansatz 1: Getrennte Dateien
176
5.4.4 Ansatz 2: Geschützte Bereiche
178
5.4.5 Eine Zukunftsvision
181
5.5 Wiederverwendung und Austausch über die Fornax-Plattform
182
6 MDSD-Anwendungsbeispiel
184
6.1 Erstellung des Anwendungsmodells
185
6.1.1 Definition des Profils
185
6.1.2 Geschäftsobjektmodell
188
6.1.3 Business-Fassade
191
6.1.4 Präsentationsschicht
192
6.2 openArchitectureWare 4
193
6.2.1 Generator Workflow
194
6.2.2 Das openArchitectureWare Expressions Framework und das interne Typsystem
195
6.2.3 xPand
195
6.2.4 Xtend
197
6.2.5 Check
198
6.3 Entwicklungs- und Laufzeitumgebung des Beispielprojekts
199
6.3.1 Projektstruktur
199
6.3.2 Struktur des Projekts fornax-cartridges-uml2-ejb3- generator
201
6.3.3 Struktur des Projekts library.generator
201
6.4 Entwicklung der Generator Cartridge
202
6.4.1 Workflow
202
6.4.2 Extensions
204
6.4.3 Templates
205
6.5 Vom Generierungsergebnis zur lauffähigen Anwendung
231
6.5.1 Manuelle Anteile an den JSPs
231
6.5.2 Implementierung der Handler-Methoden
232
6.5.3 Implementierung der Session Bean
233
6.5.4 Weitere manuelle Implementierungen
235
6.6 Benutzung des Anwendungsbeispiels
235
6.6.1 Installationsanweisung
235
6.6.2 Starten der Applikation
235
6.6.3 Die Anwendung
239
7 Fazit und Ausblick
242
7.1 Zusammenfassung
242
7.2 Wo steht MDSD heute?
244
7.2.1 Modellierung – mehr als ein anerkanntes Hilfsmittel
244
7.2.2 Hype oder nicht?
245
7.3.1 Modellierung – mehr als UML
245
7.3.2 Weitere Anwendungsbereiche des modellgetriebenen Vorgehens
248
7.3.3 Trends bei MDSD-Werkzeugen und -Frameworks
250
Stichwortverzeichnis
252
Über die Autoren
256
Mehr eBooks vom gleichen Verlag
Java Rules Engines - Entwicklung von regelbasierten Systemen, von: Lars Wunderlich, Preis: 21,20 EUR
C++ Programmierhandbuch, von: Walter Saumweber, Preis: 28,00 EUR
eBay API. schnell+kompakt, von: Carsten Harnisch, Preis: 6,70 EUR
Programmieren in D, von: Tobias Wassermann, Christian Speer, Preis: 21,20 EUR
Windows Forms mit Visual C++ - Professionell einsteigen, von: Dirk Louis, Preis: 29,70 EUR
Silverlight 2.0, von: Sebastian Eschweiler, Preis: 8,00 EUR
Objektorientierte Programmierung in Java, von: Ralph Steyer, Preis: 16,90 EUR
LDAP für Java-Entwickler - Eine praxisorientierte Einführung, von: Stefan Zörner, Preis: 20,00 EUR
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion























