|
Danksagung |
6 |
|
|
Prolog |
7 |
|
|
Inhaltsverzeichnis |
8 |
|
|
1 Einleitung |
12 |
|
|
1.1 Lamento |
12 |
|
|
1.2 Legacysystem |
13 |
|
|
1.3 Assessment |
16 |
|
|
1.4 Dualismen |
17 |
|
|
2 Messbarkeit |
19 |
|
|
2.1 Komplexitätsmetriken |
22 |
|
|
2.2 Halstead-Metriken |
27 |
|
|
2.3 Funktionspunkt-Metrik |
29 |
|
|
2.4 Small-Worlds |
30 |
|
|
2.5 Entropie |
33 |
|
|
2.6 Volatilität |
36 |
|
|
2.7 Maintainability Index |
37 |
|
|
2.8 Metrikbasierte Verbesserungen |
40 |
|
|
3 Lebenszyklus |
43 |
|
|
3.1 Zustände |
44 |
|
|
3.2 Versionierung |
48 |
|
|
3.3 Operationen |
49 |
|
|
4 Softwareevolution |
51 |
|
|
4.1 Alterungsprozess |
54 |
|
|
4.2 Gesetze der Softwareevolution |
58 |
|
|
4.3 Kontinuierliche Veränderung |
59 |
|
|
4.4 Wachsende Komplexität |
60 |
|
|
4.5 Entropie |
62 |
|
|
4.6 Selbstregulierung |
64 |
|
|
4.7 Erhaltung der organisatorischen Stabilität |
65 |
|
|
4.8 Erhaltung der Ähnlichkeit |
66 |
|
|
4.9 Wachstum |
67 |
|
|
4.10 Nachlassende Qualität |
67 |
|
|
4.11 Volatilität |
68 |
|
|
4.12 Konsequenzen aus den Evolutionsgesetzen |
71 |
|
|
4.13 Bloating |
73 |
|
|
4.14 Taxonomie der Änderung |
74 |
|
|
4.15 Anforderungsevolution |
90 |
|
|
4.16 Wertentwicklung |
92 |
|
|
4.17 Komplexitätskosten |
92 |
|
|
4.18 Datenqualität |
94 |
|
|
4.19 Architekturevolution |
95 |
|
|
4.20 Mitose |
96 |
|
|
5 Migration |
97 |
|
|
5.1 Enterprisemigration |
101 |
|
|
5.2 Organisatorische Aspekte |
102 |
|
|
5.3 Technische Migration |
102 |
|
|
5.4 Softwareentwicklungsstrategien |
106 |
|
|
5.5 Maintenanceende |
114 |
|
|
5.6 Reengineering |
115 |
|
|
5.7 Business Process Reengineering |
117 |
|
|
5.8 Replacement |
119 |
|
|
5.9 Software Reengineering |
120 |
|
|
5.10 Reverse Engineering |
124 |
|
|
5.11 Datenstrategien |
130 |
|
|
5.12 Organisatorische Migrationsprobleme |
143 |
|
|
6 Legacytransformation |
146 |
|
|
6.1 Transformationsprozess |
147 |
|
|
6.2 Refaktoring |
151 |
|
|
6.3 Zielplattformen |
152 |
|
|
6.4 Projektmanagement |
154 |
|
|
6.5 Transformationsbeispiel |
155 |
|
|
7 Maintenance |
161 |
|
|
7.1 Softwarequalität |
164 |
|
|
7.2 Taxonomie |
167 |
|
|
7.3 Kostenverteilung |
172 |
|
|
7.4 Maintenanceservices |
175 |
|
|
7.5 Maintenanceprozess |
181 |
|
|
7.6 Maintenanceprozessverbesserung |
185 |
|
|
7.7 Maintenance-Funktionspunkte |
188 |
|
|
7.8 Impact-Analyse |
189 |
|
|
7.9 Sourcecode |
196 |
|
|
7.10 Vorhersagbarkeit |
199 |
|
|
7.11 Menschliche Effekte |
200 |
|
|
7.12 Stochastische Modelle |
205 |
|
|
7.13 Defektraten |
209 |
|
|
7.14 Services-Maintenance |
210 |
|
|
8 Outsourcing |
212 |
|
|
8.1 Vorgehensweisen |
216 |
|
|
8.2 Risiken |
220 |
|
|
8.3 Insourcing |
222 |
|
|
9 Produktlinien |
224 |
|
|
9.1 Einsatz |
227 |
|
|
9.2 Kognitive Effekte |
230 |
|
|
9.3 Assetmining |
231 |
|
|
9.4 Architekturmining |
236 |
|
|
9.5 Produktlinienwege |
237 |
|
|
9.6 Featuremodell |
244 |
|
|
9.7 Typische Probleme |
245 |
|
|
9.8 Evolution von Produktlinien |
246 |
|
|
10 COTS |
248 |
|
|
10.1 Teilersatz |
251 |
|
|
10.2 Ersatz |
265 |
|
|
10.3 Softwareevolution und COTS |
267 |
|
|
10.4 Defekte in COTS-Software |
269 |
|
|
10.5 COTS-Softwareisolation |
272 |
|
|
11 Entwicklungsprozesse |
274 |
|
|
11.1 Komplexe Systeme |
275 |
|
|
11.2 Rational Unified Process |
279 |
|
|
11.3 Enterprise Unified Process |
283 |
|
|
11.4 Agiles Manifest |
288 |
|
|
11.5 Agile Maintenance |
304 |
|
|
12 Architekturen und Sprachen |
305 |
|
|
12.1 Legacyarchitekturen |
305 |
|
|
12.2 Legacysprachen |
324 |
|
|
12.3 Neuere Architekturen |
329 |
|
|
12.4 Java 2 Enterprise Edition |
336 |
|
|
12.5 .NET |
348 |
|
|
12.6 Enterprise Application Integration |
352 |
|
|
12.7 MQ-Series |
359 |
|
|
12.8 Service Oriented Architecture |
361 |
|
|
12.9 Webservices |
363 |
|
|
12.10 Systemintegration |
374 |
|
|
13 Patterns und Antipatterns |
379 |
|
|
13.1 Softwaredarwinismus |
380 |
|
|
13.2 Kleine Oberfläche |
381 |
|
|
13.3 Service Layer |
381 |
|
|
13.4 Gateway |
382 |
|
|
13.5 Teile und Modernisiere! |
383 |
|
|
13.6 Externalisierung |
384 |
|
|
13.7 Legacysoftwareintegration |
385 |
|
|
13.8 Facade |
386 |
|
|
13.9 Adaptor |
386 |
|
|
13.10 Schichten |
387 |
|
|
13.11 Model View Controller |
388 |
|
|
13.12 Distributed Object |
389 |
|
|
13.13 Broker |
390 |
|
|
13.14 Conway’s Law |
391 |
|
|
13.15 Silver Bullet |
391 |
|
|
13.16 Batteries not included |
392 |
|
|
14 Epilog |
393 |
|
|
Literaturverzeichnis |
396 |
|
|
Sachverzeichnis |
416 |
|