Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

03.05.2007 Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung.

Ähnliche Präsentationen


Präsentation zum Thema: "03.05.2007 Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung."—  Präsentation transkript:

1 Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung

2 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Agenda Featureorientierte Programmierung (FOP) Produktlinienentwicklung Abgrenzung von OOP Abstrakte Sicht auf Refinements Large Scale Refinements Jak und FeatureC++

3 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Featureorientierte Programmierung Schrittweise Erweiterung einer Software um neue Features (Stepwise Refinement) Feature: Für den Anwender wesentliche Funktionalität einer Software. Z.B.: Sortierung einer Liste Suche in einer Liste Beliebige weitere (doppelt verlinkt, synchronisiert, etc.) Anwender sucht sich gewünschte Features aus

4 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Vergleich – Automobilbau Ähnliche Herangehensweise: Käufer sucht sich gewünschte Merkmale (Features) aus: Automatik- / Schaltgetriebe Klimaanlage Navigationssystem Zum Teil beliebig Kombinierbar z.B. Klimaanlage und Navigationssystem Zum Teil gegenseitig ausschließend z.B. Automatik- / Schaltgetriebe

5 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Produktlinienentwicklung Automobilbau: Vielzahl möglicher Modelle erstellbar Produktlinie Anwendung auf Software Software Produktlinien Bsp.: Bibliothek von Container-Klassen (Liste, Array, etc.): Sortierung Suche Synchronisation etc. Umsetzung mit Hilfe von FOP

6 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Wo ist das Problem? Problem: Was ist, wenn wir beide Eigenschaften wollen?

7 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Wo ist das Problem? Problem: Was ist, wenn wir beide Eigenschaften wollen? Codereplikation

8 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg OOP Abgrenzung von OOP

9 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg FOPOOP Abgrenzung von OOP Schrittweise Erweiterung der Basisimplementierung durch Verfeinerungen (Refinements)

10 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Abstrakte Sicht auf Refinements Features Refinements

11 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Abstrakte Sicht auf Refinements Beliebige Merkmalskombinationen erstellbar Sortierte Liste

12 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Large Scale Refinements Für Software Produktlinien Skalierung auf ganze Software (mehrere Klassen) notwendig Large Scale Refinements Gleichzeitige Erweiterung mehrerer Klassen Bsp.: Bibliothek von Container-Klassen Klassen (List, Array, etc.), werden um Features (Sortierung, Suche, etc.) erweitert.

13 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Large Scale Refinements

14 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Jak und FeatureC++ Jak: Umsetzung von FOP für Java Teil der AHEAD Toolsuite FeatureC++: Umsetzung von FOP für C++ Beide Ansätze basieren auf Codetransformation: Umwandlung des FOP Quelltextes (Jak, FeatureC++) in OOP Quelltext (Java, C++)

15 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Liste mit FeatureC++ Basis: Herkömmliche Implementierung einer Liste mit OOP (C++)

16 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Liste mit FeatureC++ Feature Sort Feature Base

17 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Liste mit FeatureC++ Feature Base Feature Sort Methodenverfeinerung Super-Aufruf

18 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Liste mit FeatureC++ Feature Base Neu eingeführte Methode Feature Sort

19 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Feature Base Liste mit FeatureC++ Konfiguration durch Auswahl der benötigten Features in einer Datei Base Sort [SortedList.equation] Base Sort Find [SortFindList.equation] Feature Sort

20 Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg Zusammenfassung FOP zur Entwicklung von Produktlinien: Analogie zu anderen Industriezweigen Software Produktlinie: Menge ähnlicher Programme, die erstellt werden können Erstellung einer konkreten Instanz einer Software entsprechend Auswahl notwendiger Features durch den Anwender Umsetzungen Jak als Teil von AHEAD FeatureC++


Herunterladen ppt "03.05.2007 Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung."

Ähnliche Präsentationen


Google-Anzeigen