Multidimensionale Separierung der Belange in der Softwareentwicklung durch Feature-Komponenten
Ein Ansatz zur dynamischen Komposition von Anwendungen
Doga Arinir(Author)
Springer (Publisher)
1st Edition
Published on 18. July 2007
Book
Paperback/Softback
XIV, 360 pages
978-3-937137-53-7 (ISBN)
Description
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.
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.
More details
Edition
1., Aufl.
Language
German
Target group
College/higher education
Professional and scholarly
Illustrations
97
97 s/w Abbildungen
153 Glossarbegriffe
Dimensions
Height: 21 cm
Width: 14.8 cm
Weight
465 gr
ISBN-13
978-3-937137-53-7 (9783937137537)
Schweitzer Classification
Person
über den Autor: Dr.-Ing. Doga Arinir ist Leiter der Software-Entwicklung bei der W3L GmbH