Detailansicht

Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten

Ein Ansatz zur dynamischen Komposition von Anwendungen
ISBN/EAN: 9783937137537
Umbreit-Nr.: 1240040

Sprache: Deutsch
Umfang: XIV, 360 S., 97 s/w Illustr., 153 Glossarbegriffe
Format in cm: 2 x 21 x 14.5
Einband: kartoniertes Buch

Erschienen am 18.07.2007
Auflage: 1/2007
€ 49,90
(inklusive MwSt.)
Nicht lieferbar
  • Zusatztext
    • 1 Einleitung 1.1 Motivation 1.2 Zum Wesen der Softwareentwicklung 1.3 Das Prinzip der Trennung der Belange 1.3.1 Definition des Belang-Begriffes 1.3.2 Ursachen querschneidender Belange 1.3.3 Multidimensionale Softwareentwicklung 1.4 Struktur und Zielsetzung dieser Arbeit 1.4.1 Topologie des Forschungsgebietes 1.4.2 Aufbau der Arbeit 2 Vorhandene Techniken aus Forschung und Praxis 2.1 Metaprogrammierung 2.1.1 Ökonomischer Nutzen 2.1.2 Klassifikationsmerkmale 2.2 Generisches Programmieren 2.2.1 Programmierung mit generischen Parametern 2.2.2 Parametrisierte Programmierung 2.2.3 Unterschiede zum Polymorphismus 2.2.4 Zusammenfassung und Bewertung 2.3 Metaobjektprotokolle 2.3.1 MetaJava 2.3.2 Binary Component Adaptation 2.3.3 OpenC++ 2.3.4 Abgrenzung zu dieser Arbeit 2.4 Aspektorientierte Programmierung 2.4.1 Vererbungsanomalie 2.4.2 AOP mit AspectJ 2.4.3 Adaptive Programmierung 2.4.4 Kompositionsfilter 2.4.5 Subjektorientierte Programmierung 2.4.6 Hyperspace-Ansatz 2.5 Aspektorientierte Analyse und Entwurf 2.5.1 Der Theme-Prozess 2.5.2 Zusammenfassung 2.6 Empirische Bewertung 2.6.1 Linguistisch vs. objektorientiert 2.6.2 Aspekte als Bindeglied 3 Das Feature-Komponentenmodell 3.1 Wesentliche Bestandteile 3.1.1 IEEE P1471 3.1.2 Dekompositionsmodell 3.1.3 Kompositionsmodell 3.2 Anwendungsarchitektur 3.3 Evolutionärer Entwicklungsprozess 4 Die Feature-Komponentenplattform 4.1 Architektur im Überblick 4.1.1 Integrationsarchitektur 4.1.2 Prinzip der generischen Reifikation 4.2 Laufzeitsystem 4.2.1 Basisfunktionalität 4.2.2 XMLBeschreibung 4.3 Erweiterbares Reifikationssystem 4.3.1 Anbindung an das JANUS-Laufzeitsystem 4.3.2 Anbindung an das Java-Laufzeitsystem 4.4 Spezieller Fachkonzeptadapter: Die Java-Bridge 4.5 Hilfsprogramme der Feature-Komponentenplattform 4.5.1 Feature-Komponenten-Assembler 4.5.2 Feature-Anwendungs- und Deployment-Manager 4.6 Fallbeispiele aus der Praxis 4.6.1 Die ELearningPlattform W3L 1.0 4.6.2 W3LRechteverwaltung 4.6.3 OnlineShop 5 Entwicklungsstand und Ausblick 5.1 Innovationen 5.2 Ausblick. Bei der Modularisierung von Softwaresystemen in Klassen und Komponenten sorgen querschneidende Belange immer wieder für Probleme, da sie sich nicht eindeutig einer Klasse zuordnen lassen. Die Idealvorstellung einer optimalen Softwarestruktur aus lose gekoppelten Klassen und Komponenten kann daher oft nicht verwirklicht werden. Der Autor erarbeitet zunächst eine allgemeine Definition für querschneidende Belange und untersucht vorhandene Ansätze aus Forschung und Praxis. Anschließend entwickelt er ein eigenes komponentenbasiertes Programmiermodell für eine bessere Lokalisierung von querschneidenden Belangen.
  • Autorenportrait
    • InhaltsangabeInhaltsverzeichnis 1 Einleitung 1 1.1 Motivation 6 1.2 Zum Wesen der Softwareentwicklung 12 1.3 Das Prinzip der Trennung der Belange 16 1.3.1 Definition des Belang-Begriffes 20 1.3.2 Ursachen querschneidender Belange 25 1.3.3 Multidimensionale Softwareentwicklung 31 1.4 Struktur und Zielsetzung dieser Arbeit 38 1.4.1 Topologie des Forschungsgebietes 42 1.4.2 Aufbau der Arbeit 47 2 Vorhandene Techniken aus Forschung und Praxis 49 2.1 Metaprogrammierung 50 2.1.1 Ökonomischer Nutzen 50 2.1.2 Klassifikationsmerkmale 51 2.2 Generisches Programmieren 57 2.2.1 Programmierung mit generischen Parametern 58 2.2.2 Parametrisierte Programmierung 59 2.2.3 Unterschiede zum Polymorphismus 62 2.2.4 Zusammenfassung und Bewertung 63 2.3 Metaobjektprotokolle 63 2.3.1 MetaJava 67 2.3.2 Binary Component Adaptation 73 2.3.3 OpenC++ 85 2.3.4 Abgrenzung zu dieser Arbeit 90 2.4 Aspektorientierte Programmierung 91 2.4.1 Vererbungsanomalie 93 2.4.2 AOP mit AspectJ 98 2.4.3 Adaptive Programmierung 118 2.4.4 Kompositionsfilter 125 2.4.5 Subjektorientierte Programmierung 131 2.4.6 Hyperspace-Ansatz 143 2.5 Aspektorientierte Analyse und Entwurf 168 2.5.1 Der Theme-Prozess 172 2.5.2 Zusammenfassung 178 2.6 Empirische Bewertung 180 2.6.1 Linguistisch vs. objektorientiert 181 2.6.2 Aspekte als Bindeglied 183 3 Das Feature-Komponentenmodell 185 3.1 Wesentliche Bestandteile 188 3.1.1 IEEE P1471 190 3.1.2 Dekompositionsmodell 192 3.1.3 Kompositionsmodell 203 3.2 Anwendungsarchitektur 213 3.3 Evolutionärer Entwicklungsprozess 216 4 Die Feature-Komponentenplattform 219 4.1 Architektur im Überblick 219 4.1.1 Integrationsarchitektur 223 4.1.2 Prinzip der generischen Reifikation 226 4.2 Laufzeitsystem 231 4.2.1 Basisfunktionalität 231 4.2.2 XML-Beschreibung 256 4.3 Erweiterbares Reifikationssystem 265 4.3.1 Anbindung an das JANUS-Laufzeitsystem 266 4.3.2 Anbindung an das Java-Laufzeitsystem 281 4.4 Spezieller Fachkonzeptadapter: Die Java-Bridge 287 4.5 Hilfsprogramme der Feature- Komponentenplattform 290 4.5.1 Feature-Komponenten-Assembler 290 4.5.2 Feature-Anwendungs- und Deployment- Manager 293 4.6 Fallbeispiele aus der Praxis 295 4.6.1 Die E-Learning-Plattform W3L 1.0 295 4.6.2 W3L-Rechteverwaltung 301 4.6.3 Online-Shop 306 5 Entwicklungsstand und Ausblick 309 5.1 Innovationen 310 Glossar 315 Literatur 337 A DTD der Komponenten- und Anwendungenbeschreibung 351 B DTD der Feature- Kompositionsbeschreibung 353 Sachindex 355