Einf - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Einf

Description:

Einf hrung und berblick Christian K stner, Marko Rosenm ller, Norbert Siegmund, Gunter Saake – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 47
Provided by: apel151
Category:

less

Transcript and Presenter's Notes

Title: Einf


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

2
Agenda
  • Überblick Softwareproduktlinien
  • 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

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)

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
15
Application and Domain Engineering
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 Implementierungvon 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 Implementierungvon 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
  • Was sind Produktlinien?
  • Entwicklung von Softwareproduktlinien
  • Organisatorisches
  • Anforderungen
  • Termine
  • Themen

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

25
Presentation
  • Know your audience
  • Talk to the audience
  • Talk loud and slow
  • Dont hide
  • Eye contact
  • Dont read
  • Know your audience

26
Structure
  • Introduce yourself (and your background/affiliatio
    n 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 gt 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 (gt 7 objects or gt 36 words)
  • Avoid writing full sencences, instead summarize
    the content using only headwords.

28
Termine
  • 05.11.2008
  • Details zur Ausarbeitung
  • 19.11.2008 bis 07.01.2009
  • Je 2 - 3 Vorträge Diskussion
  • Genaue Termine siehe Webseite
  • Abgabe der Ausarbeitungen max. 4 Wochen nach
    Präsentation
  • Mails an nsiegmun_at_ovgu.de UND rosenmue_at_ovgu.de

29
1 Überblick SPL Engineering
  • Überblick nach SEI
  • Core assets
  • Produktentwicklung
  • Etc.
  • Einstiegspunkte
  • http//www.sei.cmu.edu/productlines/index.html
  • 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
  • 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 http//www.lero.ie/vis
    ple2007/, http//www.lero.ie/visple2008/

37
9 Testen von SPLs
  • Domänentests
  • Anwendungstests
  • Einstiegspunkte
  • Buch Pohl et al. (Kap. 13, 18)
  • Intl. Workshop on Software Product Line
    Testinghttp//www.biglever.com/split2008/index.ht
    ml

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
  • http//www.sei.cmu.edu/productlines/spl_case_studi
    es.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 http//www.infosun.fim.uni
    -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
Write a Comment
User Comments (0)
About PowerShow.com