Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hartman Amaker Geändert vor über 11 Jahren
1
03.05.2007 Marko Rosenmüller Universität Magdeburg 1 Software Produktlinien und Featureorientierte Programmierung
2
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg2 03.05.2007 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 Magdeburg3 03.05.2007 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 Magdeburg4 03.05.2007 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 Magdeburg5 03.05.2007 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 Magdeburg6 03.05.2007 Wo ist das Problem? Problem: Was ist, wenn wir beide Eigenschaften wollen?
7
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg7 03.05.2007 Wo ist das Problem? Problem: Was ist, wenn wir beide Eigenschaften wollen? Codereplikation
8
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg8 03.05.2007 OOP Abgrenzung von OOP
9
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg9 03.05.2007 FOPOOP Abgrenzung von OOP Schrittweise Erweiterung der Basisimplementierung durch Verfeinerungen (Refinements)
10
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg10 03.05.2007 Abstrakte Sicht auf Refinements Features Refinements
11
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg11 03.05.2007 Abstrakte Sicht auf Refinements Beliebige Merkmalskombinationen erstellbar Sortierte Liste
12
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg12 03.05.2007 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 Magdeburg13 03.05.2007 Large Scale Refinements
14
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg14 03.05.2007 Jak und FeatureC++ Jak: Umsetzung von FOP für Java Teil der AHEAD Toolsuite http://www.cs.utexas.edu/users/schwartz/ATS.html FeatureC++: Umsetzung von FOP für C++ http://wwwiti.cs.uni-magdeburg.de/iti_db/fcc/ 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 Magdeburg15 03.05.2007 Liste mit FeatureC++ Basis: Herkömmliche Implementierung einer Liste mit OOP (C++)
16
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg16 03.05.2007 Liste mit FeatureC++ Feature Sort Feature Base
17
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg17 03.05.2007 Liste mit FeatureC++ Feature Base Feature Sort Methodenverfeinerung Super-Aufruf
18
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg18 03.05.2007 Liste mit FeatureC++ Feature Base Neu eingeführte Methode Feature Sort
19
Produktlinien und Featureorientierte Programmierung Marko Rosenmüller Universität Magdeburg19 03.05.2007 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 Magdeburg20 03.05.2007 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++
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.