Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten von Doga Arinir | Ein Ansatz zur dynamischen Komposition von Anwendungen | ISBN 9783937137537

Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten

Ein Ansatz zur dynamischen Komposition von Anwendungen

von Doga Arinir
Buchcover Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten | Doga Arinir | EAN 9783937137537 | ISBN 3-937137-53-X | ISBN 978-3-937137-53-7
Inhaltsverzeichnis

Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten

Ein Ansatz zur dynamischen Komposition von Anwendungen

von Doga Arinir
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 XML-Beschreibung
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 E-Learning-Plattform W3L 1.0
4.6.2 W3L-Rechteverwaltung
4.6.3 Online-Shop
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.