Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: Software-Produktlinien (SPL) Einführung und Überblick Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: Software-Produktlinien (SPL) Einführung und Überblick Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake."—  Präsentation transkript:

1 Seminar: Software-Produktlinien (SPL) Einführung und Überblick Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake

2 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 2 Agenda Überblick Softwareproduktlinien Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

3 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 3 Zwei Entwicklungen... Moderne Anwendungssoftwaresysteme Eier-legende Wollmilchsäu Bsp.: Windows Vista, Open Office, Oracle, SAP myERP, iTunes Nicht so bei eingebetteten Systemen Maßgeschneiderte Lösungen Bsp.: PDA, Handy, Sensoren, Toaster, Mikrowelle, Fernseher, Wetterstation, Taschenrechner, Chipkarten, Bordcomputer, Router, Ubiquitious Computing

4 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 4 Softwareproduktlinien Techniken für die Entwicklung maßgeschneiderte Software, die genau die benötigte Funktionalität enthält  Varianten für verschiedene Anwendungsfälle  Neue Varianten können leicht hinzugefügt werden, schnelle Entwicklung, Wiederverwendung bewährter Funktionalität  Kunden-individuelle Fertigung, Spezialisierung  Anpassung an verfügbare Ressourcen Software-Produktlinien: Konfiguration durch Auswahl von Features (deutsch: Merkmale)

5 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 5 Auto-Produktlinie

6 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 6 Schuh-Produktlinie

7 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 7 PC-Produktlinie

8 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 8 Features in MS Office

9 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 9 Softwareproduktlinien Eine Menge von Programmvarianten (Software- Produkten),...die auf ein gemeinsames Marktsegment (Domäne) zugeschnitten sind...mit dem Ziel der Wiederverwendung von gemeinsamen Software-Artefakten z. B. Tetris Produktlinie 2D / 3D Unterstützte Hardware (PC, Handys, etc.) Multiplayer

10 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 10 Domäne Die Programme einer Produktlinie sind zugeschnitten auf ein Anwendungsgebiet Dieses Anwendungsgebiet wird als Domäne bezeichnet Beispiele: Datenbanken Eingebettete Systeme (z.B. Automobilbau) Lagerverwaltung Netzwerkkommunikation (Netzwerkstack)

11 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 11 Features (deutsch Merkmale) “first-class domain abstractions” … repräsentieren Anforderungen, Gemeinsamkeiten bzw. Unterschiede von Programmvarianten … sind Mittel zur Kommunikation zwischen Stakeholdern … dienen zur Spezifikation von Varianten Feature-Auswahl als Eingabe für die Programmgenerierung

12 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 12 Features – Beispiele Computerspiele: Ein- / Mehrspielermodus, Netzwerkmodus, Grafik-Details, Physik Engine PIM: Mail Unterstützung, Adressverwaltung, Kalender Funktion, Geburtstage, Notizen, Aufgaben Allgemein: Unterstützte Betriebssysteme (Windows, Linux, etc.), unterstützte Hardware (PC, Spielekonsole, Handy, eingebettetes System)

13 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 13 Entwicklung einer Produktlinie Entwicklung einer Programmfamilie statt einzelner Anwendung Programmfamilie erfüllt Anforderungen einer ganzen Domäne Abweichung vom klassischen Entwicklungsprozess und Lebenszyklus Unterscheidung in Domain Engineering Application Engineering

14 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 14 Application and Domain Engineering

15 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 15 Application and Domain Engineering

16 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 16 Feature-Modellierung Darstellung der Features einer Domäne Zur Visualisierung und Kommunikation Ein Feature-Modell beschreibt  die elementaren Abstraktionen einer Domäne und deren Beziehungen  die Menge der Programme einer Produktlinie Ein Feature-Diagramm visualisiert Features und deren Beziehungen

17 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 17 Beispiel: Graph-Bibliothek Bibliothek von Graph-Datenstrukturen und – Algorithmen Gewichtete/ungewichtete Kanten Gerichtete/ungerichtete Kanten Gefärbte Knoten Algorithmen: kürzester Pfad, Minimale Spannbäume, Transitive Hülle, …

18 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 18 Graph-Feature-Modell

19 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 19 Entwurf und Implementierung von Features Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Domain Eng. Application Eng. Feature-Auswahl Feature-ModellWiederverwendbare Implementierungs- artefakte Generator Fertiges Program

20 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 20 Entwurf und Implementierung von Features Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Domain Eng. Application Eng. Feature-Auswahl Feature-ModellWiederverwendbare Implementierungs- artefakte Generator Fertiges Program

21 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 21 SPL Implementierung Verschiedene Wege SPLs zu implementieren Beispiele:  Komponenten  Frameworks/Plugins  Präprozessoren (z.B. C/C++ #ifdef )  Feature-Orientierte Programmierung (Kollaborationen, Mixins)  Aspekte-Orientierte Programmierung

22 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 22 Agenda Überblick Softwareproduktlinien Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

23 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 23 Vorträge / Ausarbeitungen Vorträge 20 min Vortrag (siehe Infos auf Webseite) 10 min Diskussion Ausarbeitungen 3-6 Seiten (Format siehe Webseite) Inhalte: Motivation / Einleitung in das Thema Analyse / Aufarbeitung des Themas Je nach Themengebiet: Vor- / Nachteile, offene Fragen, Vergleich analysierter Ansätze Zusammenfassung / Schlussfolgerung

24 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 24 Bewertung Anmeldung heute, Abmeldung bis max. 2 Wochen später Vortrag Gewichtung 50 % Ausgabe von Bewertungsbögen Ausarbeitung Gewichtung 50 %

25 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 25 Presentation Know your audience Talk to the audience Talk loud and slow Don’t hide Eye contact Don’t read Know your audience

26 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 26 Structure Introduce yourself (and your background/affiliation if necessary) State target/aim of presentation early Motivate your work, why should I listen Cohesion! Summarize main points, take-away message Emphasize conclusion/consequences References if used in the slides

27 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 27 Technical Hints 20 min, about 7 to 15 slides Fontsize >= 18, sans-serife fonts Name, title and affiliation on every slide Slides number on every slide At most one topic per slide Visualization, colors where necessary Avoid overfull slides (> 7 objects or > 36 words) Avoid writing full sencences, instead summarize the content using only headwords.

28 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 28 Termine Details zur Ausarbeitung bis Je Vorträge + Diskussion Genaue Termine siehe Webseite Abgabe der Ausarbeitungen max. 4 Wochen nach Präsentation Mails an UND

29 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 29 1 Überblick SPL Engineering Überblick nach SEI – Core assets – Produktentwicklung – Etc. Einstiegspunkte – – Buch: Clements & Northrop (Part I)

30 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 30 2 Requirementsengineering / Domänenanalyse Methoden zur Analyse von Gemeinsamkeiten / Unterschiede von Anforderungen innerhalb einer Domäne Einstiegspunkte – Buch: Clements & Northrop (4.6) – Buch: Pohl et al. (Kap. 10)

31 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 31 3 Domänenmodellierung Überblick zu existierenden Featuremodellen Einstiegspunkte – Buch: Czarnecki & Eisenecker – Kang et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, 1990

32 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 32 4 Beispiele Softwareproduktlinien Domänenalyse und Featuremodellierung an konkreten Domänen Braucht man SPLs in dieser Domäne? Mehrere Beispiele je Domäne; Feature Diagramme Wie sehen diese aus bzw. wie könnten diese aussehen? – Computerspiele – Betriebssysteme – Datenbanken – Eingebettete Systeme im Automobil – Handy Software – Eigene Vorschläge

33 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 33 5 Metriken in SPLs Bewertung von SPLs – z.B. bzgl. Komplexität Einstiegspunkte – Lopez-Herrejon & Trujillo: How Complex is my Product Line? The case for Variation Point Metrics, VAMOS 2008

34 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 34 6 Implementierung von SPLs 2 Studenten (Aufteilung der Themen) Themenauswahl: – Frameworks, – Komponenten, – Präprozessoren (z.B. C/C++ Präproz.) – Programmgeneratoren Einstiegspunkte – Buch: Czarnecki & Eisenecker

35 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 35 7 Produktkonfiguration Konfigurationsprozess Staged Configuration Einstiegspunkte – Buch: Czarnecki & Eisenecker – Czarnecki et al.: Staged Configuration Using Feature Models, SPLC 2004

36 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 36 8 Visualisierung im Konfigurationsprozess Werkzeuge zur Konfiguration und deren Methoden Visualisierung Einstiegspunkte – VISPLE Workshop 2007, 2008:

37 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 37 9 Testen von SPLs Domänentests Anwendungstests Einstiegspunkte – Buch: Pohl et al. (Kap. 13, 18) – Intl. Workshop on Software Product Line Testing

38 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie Organisatorische Aspekte Team Struktur Prozesse Einstiegspunkte – Buch: Clements & Northrop (6) – Buch: Pohl et al. (19)

39 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie Wirtschaftliche Aspekte von SPLs SPL pricing Kosten (Entwicklung, Softwaretests, etc.) Risiken Einstiegspunkte – Buch: Pohl et al. (Kap. 20) – Buch: Clements & Northrop (6)

40 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie SPL Fallstudien Überblick zu SPL Fallstudien Ergebnisse, Erfahrungen, Probleme Einstiegspunkte – s.html – Buch: Pohl et al. (Kap. 21) – Buch: Clements & Northrop (Part III)

41 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie Open Source SPLs Analyse existierender SPLs Verwendete Implementierungstechniken Domänen Etc. Einstiegspunkte – Dissertation Sven Apel: passau.de/cl/publications/docs/Dissertation.pdf

42 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie SPL Adoption Aspekte zur Einführung von SPLs in Unternehmen – Techn. Aspekte – Wirtschaftl. Aspekte – Organisatorische Aspekte Einstiegspunkte – Buch: Pohl et al. (Kap. 20) – Clements & Krueger: Point/Counterpoint: Being Proactive Pays Off/Eliminating the Adoption Barrier. IEEE Software, 2002

43 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie Domänenspezifische Sprachen Übersicht Verwendung im Kontext von SPLs Einstiegspunkte – Buch: Czarnecki & Eisenecker

44 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 44 Literatur Czarnecki & Eisenecker: Generative Programming, 2000, Addison-Wesley Clements & Northrop: Software Product Lines: Practices and Patterns, 2002, Addison-Wesley Pohl et al.: Software Product Line Engineering, 2005, Springer (Kopien heute / morgen Vormittag)

45 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 45 Themen 1 Überblick SPL Engineering 2 Requirementsengineering / Domänenanalyse 3 Domänenmodellierung 4 Beispiele Softwareproduktlinien 5 Metriken in SPLs 6 Implementierung von SPLs (1-2 Stud.) 7 Produktkonfiguration 8 Visualisierung im Konfigurationsprozess 9 Testen von SPLs 10 Organisatorische Aspekte 11 Wirtschaftliche Aspekte von SPLs 12 SPL Adoption 13 Domänenspezifische Sprachen 14 SPL Fallstudien 15 Open Source SPLs

46 Kästner, Rosenmüller, Siegmund, SaakeSeminar: Software-Produktlinien (SPL) – Folie 46 Themen 4 Beispiele Softwareproduktlinien – Computerspiele – Betriebssysteme – Datenbanken – Eingebettete Systeme im Automobil – Handy Software – Eigene Vorschläge


Herunterladen ppt "Seminar: Software-Produktlinien (SPL) Einführung und Überblick Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake."

Ähnliche Präsentationen


Google-Anzeigen