Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung und Überblick

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung und Überblick"—  Präsentation transkript:

1 Einführung und Überblick
Christian Kästner, Marko Rosenmüller, Norbert Siegmund, Gunter Saake

2 Agenda Überblick Softwareproduktlinien Organisatorisches
Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

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 Vista kommt auf DVD braucht mehrere GB fuer installation SAP myERP braucht 18h fuer einfache Installation iTunes spielt nicht nur mp3s, Bibliothek, Shop integriert, Fernsehen, Musikverteilen, CDs brennen und rippen uvm. Wer hat schonmal einen Serienbrief geschrieben? Welche Hardware braucht man heute um einen Brief mit Word auf Vista zu schreiben? Hardwareanforderung SAP, Oracle (32gb ram, 4-16 prozessoren, ...) Selbst SAP zielt auf Massengeschaeft, moeglichst viele Betriebe abdecken koennen. Grosse Software die man anschliessend auf die Ansprueche konfigurieren kann Selbst Linux hat noch fast homogene Vorraussetztungen, unterstuetzung nur von PC Architekturen und wenigen anderen...

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 Auto-Produktlinie

6 Schuh-Produktlinie

7 PC-Produktlinie

8 Features in MS Office

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 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) Fuers naechste Jahr: domaene und anwendungsgebiet erklaeren sich gegenseitig. Horizontal vs. Vertikal ist voellig unwichtig für die vorlesung.

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 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 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 Application and Domain Engineering
Domain design und Design-analysis spielten bei uns relativ wenig eine rolle, da wir uns auf features beschraenken.

15 Application and Domain Engineering
Domain design und Design-analysis spielten bei uns relativ wenig eine rolle, da wir uns auf features beschraenken.

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 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 Graph-Feature-Modell

19 Entwurf und Implementierung von Features
Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Feature-Modell Wiederverwendbare Implementierungs- artefakte Domain Eng. Application Eng. Feature-Auswahl Generator Fertiges Program

20 Entwurf und Implementierung von Features
Nach der Feature-Modellierung folgt der Entwurf und die Implementierung... Feature-Modell Wiederverwendbare Implementierungs- artefakte Domain Eng. Application Eng. Feature-Auswahl Generator Fertiges Program

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 Agenda Überblick Softwareproduktlinien Organisatorisches
Was sind Produktlinien? Entwicklung von Softwareproduktlinien Organisatorisches Anforderungen Termine Themen

23 Vorträge / Ausarbeitungen
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 Bewertung Anmeldung heute, Abmeldung bis max. 2 Wochen später Vortrag
Gewichtung 50 % Ausgabe von Bewertungsbögen Ausarbeitung

25 Presentation Know your audience Talk to the audience
Talk loud and slow Don’t hide Eye contact Don’t read

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 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 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 1 Überblick SPL Engineering
Überblick nach SEI Core assets Produktentwicklung Etc. Einstiegspunkte Buch: Clements & Northrop (Part I)

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 3 Domänenmodellierung Überblick zu existierenden Featuremodellen
Einstiegspunkte Buch: Czarnecki & Eisenecker Kang et al.: Feature-Oriented Domain Analysis (FODA) Feasibility Study, 1990

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 5 Metriken in SPLs Bewertung von SPLs Einstiegspunkte
z.B. bzgl. Komplexität Einstiegspunkte Lopez-Herrejon & Trujillo: How Complex is my Product Line? The case for Variation Point Metrics, VAMOS 2008

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 7 Produktkonfiguration
Konfigurationsprozess Staged Configuration Einstiegspunkte Buch: Czarnecki & Eisenecker Czarnecki et al.: Staged Configuration Using Feature Models, SPLC 2004

36 8 Visualisierung im Konfigurationsprozess
Werkzeuge zur Konfiguration und deren Methoden Visualisierung Einstiegspunkte VISPLE Workshop 2007, 2008:

37 9 Testen von SPLs Domänentests Anwendungstests Einstiegspunkte
Buch: Pohl et al. (Kap. 13, 18) Intl. Workshop on Software Product Line Testing

38 10 Organisatorische Aspekte
Team Struktur Prozesse Einstiegspunkte Buch: Clements & Northrop (6) Buch: Pohl et al. (19)

39 11 Wirtschaftliche Aspekte von SPLs
SPL pricing Kosten (Entwicklung, Softwaretests, etc.) Risiken Einstiegspunkte Buch: Pohl et al. (Kap. 20) Buch: Clements & Northrop (6)

40 12 SPL Fallstudien Überblick zu SPL Fallstudien
Ergebnisse, Erfahrungen, Probleme Einstiegspunkte s.html Buch: Pohl et al. (Kap. 21) Buch: Clements & Northrop (Part III)

41 13 Open Source SPLs Analyse existierender SPLs
Verwendete Implementierungstechniken Domänen Etc. Einstiegspunkte Dissertation Sven Apel: passau.de/cl/publications/docs/Dissertation.pdf

42 14 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 15 Domänenspezifische Sprachen
Übersicht Verwendung im Kontext von SPLs Einstiegspunkte Buch: Czarnecki & Eisenecker

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 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 Themen 4 Beispiele Softwareproduktlinien Computerspiele
Betriebssysteme Datenbanken Eingebettete Systeme im Automobil Handy Software Eigene Vorschläge


Herunterladen ppt "Einführung und Überblick"

Ähnliche Präsentationen


Google-Anzeigen