08.08.2013 Aufrufe

Verfolgbarkeit von Variabilität in Software-Produktlinine

Verfolgbarkeit von Variabilität in Software-Produktlinine

Verfolgbarkeit von Variabilität in Software-Produktlinine

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Sem<strong>in</strong>ar: „Neue Ansätze der <strong>Software</strong>qualitätssicherung“ – Prof. Dr. Engels - SS2009<br />

<strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong><br />

<strong>Software</strong>-Produktl<strong>in</strong>ien<br />

• <strong>Software</strong>-Produktl<strong>in</strong>ien<br />

Christoph Oberhokamp<br />

09.07.2009<br />

Agenda<br />

– Grundlagen<br />

– Entwicklungsprozess<br />

– <strong>Variabilität</strong> <strong>in</strong> SPL<br />

• <strong>Variabilität</strong>smanagement <strong>in</strong> <strong>Software</strong>-Produktl<strong>in</strong>ien<br />

• <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> <strong>Software</strong>-Produktl<strong>in</strong>ien<br />

– Grundproblem<br />

– Vorstellung ausgewählter Lösungsansätze<br />

• Zusammenfassung und Ausblick<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

2<br />

09.07.2009<br />

1


Geme<strong>in</strong>samkeiten und Unterschiede<br />

Modell 1 Modell 2 Modell 3<br />

• Aktuell 136 Modelle erhältlich!<br />

• Entwicklung der <strong>Software</strong>?<br />

Modell 4<br />

Modell 5<br />

<strong>Software</strong>-Produktl<strong>in</strong>ie Quelle: www.nokia.de<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• <strong>Software</strong>-Produktl<strong>in</strong>ien – Idee<br />

<strong>Software</strong>-Produtkl<strong>in</strong>ien<br />

– Mehrere <strong>Software</strong>-Produkte aus möglichst vielen geme<strong>in</strong>samen Teilen<br />

entwickeln<br />

– Entwicklungsaufwand für diese Teile nur e<strong>in</strong>mal leisten<br />

Konsequente Wiederverwendung <strong>von</strong> Entwicklungsartefakten<br />

– Anforderungen, Spezifikationen, Architekturbeschreibungen, Quellcode, Testfälle<br />

– Gleichzeitig besitzt jedes Produkt spezifische Teile<br />

• Produkte e<strong>in</strong>er SPL – Ausrichtung<br />

– <strong>Software</strong>-Produkte s<strong>in</strong>d für e<strong>in</strong> bestimmtes Geschäftsfeld (Domäne)<br />

bestimmt<br />

• Informationssysteme (CRM-Systeme, ERP-Systeme)<br />

• E<strong>in</strong>gebettete Systeme (Kfz-, Schiffs- und Flugzeugelektronik, Telekommunikation)<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

3<br />

4<br />

09.07.2009<br />

2


• SPL-Entwicklung – Vorteile<br />

– Reduzierung der Entwicklungskosten<br />

– Verbesserung der <strong>Software</strong>-Qualität<br />

– Verkürzung des Time-to-Market<br />

– Reduzierung des Wartungsaufwands<br />

– Verbesserung der Kostenschätzung<br />

• SPL-Entwicklung – Nachteile<br />

– Höherer Aufwand / Vorausleistung<br />

– Verlangt Voraussagefähigkeit<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Plattform<br />

Produkt<br />

Plattform<br />

Analyse<br />

Produkt<br />

Analyse<br />

*<br />

*<br />

*<br />

*<br />

Plattform<br />

Design<br />

1 * 1<br />

Produkt<br />

Design<br />

Vorteile <strong>von</strong> <strong>Software</strong>-Produtkl<strong>in</strong>ien<br />

SPL-Entwicklungsprozess<br />

Plattform<br />

Implementierung<br />

Produkt<br />

Implementierung<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

1<br />

1..*<br />

1 *<br />

1<br />

1..*<br />

1<br />

Plattform Test<br />

Produkt Test<br />

Quelle: abgewandelt aus [5]<br />

5<br />

6<br />

09.07.2009<br />

3


<strong>Variabilität</strong> <strong>in</strong> <strong>Software</strong>-Produktl<strong>in</strong>ien<br />

• Zentrales Konzept für die Def<strong>in</strong>ition und Dokumentation<br />

der <strong>Variabilität</strong> e<strong>in</strong>er SPL s<strong>in</strong>d Variationspunkte und<br />

Varianten<br />

• Variationspunkt<br />

– E<strong>in</strong> Variationspunkt def<strong>in</strong>iert, was variieren kann<br />

• Variante<br />

– E<strong>in</strong>e Variante beschreibt e<strong>in</strong>e konkrete Auswahl<br />

<strong>Variabilität</strong>smanagement<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Verwaltung <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> e<strong>in</strong>er SPL<br />

Plattform<br />

*<br />

*<br />

Plattform<br />

Design<br />

1 * 1<br />

Produkt<br />

Design<br />

<strong>Variabilität</strong>smanagement <strong>in</strong> SPL<br />

– Variationspunkte und deren Beziehungen zue<strong>in</strong>ander<br />

– Über den gesamten <strong>Software</strong>-Entwicklungsprozess h<strong>in</strong>weg<br />

– Unabhängig <strong>von</strong> der Abstraktionsebene<br />

Plattform<br />

Analyse<br />

*<br />

*<br />

Plattform<br />

Design<br />

1 * 1<br />

Plattform<br />

Implementierung<br />

Allgeme<strong>in</strong>gültiger <strong>Variabilität</strong>smanagement-Ansatz<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

1<br />

1..*<br />

1<br />

Plattform Test<br />

*<br />

*<br />

1<br />

1..*<br />

1 *<br />

1<br />

1..*<br />

1<br />

7<br />

8<br />

09.07.2009<br />

4


<strong>Variabilität</strong>smanagement-Ansatz<br />

• Anforderungen an e<strong>in</strong>en allgeme<strong>in</strong>gültigen<br />

<strong>Variabilität</strong>smanagement-Ansatz für SPL nach Berg und Muthig [1]<br />

– Konsistenz, Skalierbarkeit, <strong>Verfolgbarkeit</strong>, Visualisierung<br />

• Konsistenz<br />

– <strong>Variabilität</strong> <strong>in</strong> den verschiedenen Entwicklungsphasen und auf den<br />

verschiedenen Abstraktionsebenen gleich handhaben<br />

– Konfusion und fehlerhaften Gebrauch des Ansatzes vorbeugen<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Skalierbarkeit<br />

<strong>Variabilität</strong>smanagement-Ansatz<br />

• Anforderungen an e<strong>in</strong>en allgeme<strong>in</strong>gültigen<br />

<strong>Variabilität</strong>smanagement-Ansatz für SPL nach Berg und Muthig [1]<br />

– Konsistenz, Skalierbarkeit, <strong>Verfolgbarkeit</strong>, Visualisierung<br />

– Die <strong>Variabilität</strong> muss leicht handhabbar se<strong>in</strong>, egal ob es sich um e<strong>in</strong>e<br />

e<strong>in</strong>zelne Komponente oder um e<strong>in</strong> komplexes System handelt<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

9<br />

10<br />

09.07.2009<br />

5


• <strong>Verfolgbarkeit</strong><br />

<strong>Variabilität</strong>smanagement-Ansatz<br />

• Anforderungen an e<strong>in</strong>en allgeme<strong>in</strong>gültigen<br />

<strong>Variabilität</strong>smanagement-Ansatz für SPL nach Berg und Muthig [1]<br />

– Konsistenz, Skalierbarkeit, <strong>Verfolgbarkeit</strong>, Visualisierung<br />

– <strong>Variabilität</strong> <strong>in</strong> verschiedenen Entwicklungsphasen und auf verschiedenen<br />

Abstraktionsebenen steht im Zusammenhang zue<strong>in</strong>ander<br />

– Zusammenhänge müssen mite<strong>in</strong>ander verknüpft und verwaltet werden<br />

– Vere<strong>in</strong>fachung der Wartbarkeit und der Evolution e<strong>in</strong>er <strong>Software</strong>-<br />

Produktl<strong>in</strong>ie<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Visualisierung<br />

<strong>Variabilität</strong>smanagement-Ansatz<br />

• Anforderungen an e<strong>in</strong>en allgeme<strong>in</strong>gültigen<br />

<strong>Variabilität</strong>smanagement-Ansatz für SPL nach Berg und Muthig [1]<br />

– Konsistenz, Skalierbarkeit, <strong>Verfolgbarkeit</strong>, Visualisierung<br />

– Visualisierung der <strong>Variabilität</strong> und der Abhängigkeiten zwischen<br />

Produkten <strong>in</strong> e<strong>in</strong>er Produktl<strong>in</strong>ie<br />

– Verbesserter Überblick über die Zusammenhänge<br />

– Fördert die Verständlichkeit und Wartbarkeit<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

11<br />

12<br />

09.07.2009<br />

6


Anforderungen<br />

<strong>Variabilität</strong>smanagement-Ansatz<br />

• Anforderungen an e<strong>in</strong>en allgeme<strong>in</strong>gültigen<br />

<strong>Variabilität</strong>smanagement-Ansatz für SPL nach Berg und Muthig [1]<br />

– Konsistenz, Skalierbarkeit, <strong>Verfolgbarkeit</strong>, Visualisierung<br />

<strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> <strong>Software</strong>-Produktl<strong>in</strong>ien<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

1<br />

4<br />

Plattform<br />

Produkt<br />

Plattform<br />

Analyse<br />

Produkt<br />

Analyse<br />

3<br />

5<br />

*<br />

*<br />

*<br />

*<br />

<strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL<br />

Plattform<br />

Design<br />

1 * 1<br />

1<br />

1..*<br />

Produkt<br />

Design<br />

1 *<br />

1<br />

1..*<br />

1<br />

* *<br />

Plattform<br />

Implementierung<br />

Produkt<br />

Implementierung<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

2<br />

Plattform Test<br />

2 2 2<br />

3 3 3<br />

Produkt Test<br />

5 5 5<br />

13<br />

14<br />

09.07.2009<br />

7


– <strong>Variabilität</strong><br />

• Horizontal<br />

• Vertikal<br />

– Evolution<br />

AnforderungsAnforderungsdef<strong>in</strong>itiondef<strong>in</strong>ition<br />

funktionaler<br />

funktionaler<br />

Systementwurf<br />

Systementwurf<br />

technischer<br />

technischer<br />

Systementwurf<br />

Systementwurf<br />

KomponentenKomponentenspezifikationspezifikation<br />

Arten an <strong>Verfolgbarkeit</strong> <strong>in</strong> SPL<br />

Programmierung<br />

Programmierung<br />

Komponententest<br />

Komponententest<br />

Abnahmetest<br />

Abnahmetest<br />

Systemtest<br />

Systemtest<br />

Integrationstest<br />

Integrationstest<br />

Quelle: entnommen aus [3]<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

<strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL<br />

– <strong>Verfolgbarkeit</strong>s-Verknüpfungen zwischen<br />

• Variationspunkten und ihren Varianten<br />

• Varianten untere<strong>in</strong>ander<br />

• Variationspunkten untere<strong>in</strong>ander<br />

• Entwicklungsartefakten und Variationspunkten<br />

oder Varianten<br />

• Auswahlmöglichkeiten die <strong>von</strong> der Plattform angeboten werden<br />

und den Entscheidungen, die bei der Produktentwicklung<br />

getroffen wurden<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

15<br />

Quelle: entnommen aus [3]<br />

16<br />

09.07.2009<br />

8


Grundproblem<br />

• Grundproblem der <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL<br />

– „Das Problem ist, dass <strong>in</strong>dividuelle Features typischerweise nicht<br />

direkt zu e<strong>in</strong>er <strong>in</strong>dividuellen Komponente oder e<strong>in</strong>em Cluster <strong>von</strong><br />

Komponenten verfolgt werden können – das bedeutet, wenn e<strong>in</strong><br />

Produkt durch die Auswahl e<strong>in</strong>er Gruppe <strong>von</strong> Features def<strong>in</strong>iert<br />

wird, dann ist e<strong>in</strong>e sorgfältig abgestimmte und komplizierte<br />

Mixtur an Teilen <strong>von</strong> verschiedenen Komponenten <strong>in</strong>volviert.“ [4]<br />

• Beispiel Mobiltelefon<br />

– Anforderung: Mobiltelefon besitzt e<strong>in</strong>en Internetzugang<br />

– Komponenten: E-Mail, Browser, <strong>Software</strong>-Updates, Spiele-Downloaden<br />

– Anforderungen: Mp3s abspielen, Videos abspielen, Sprachaufzeichnung<br />

– Komponenten: Mediaplayer<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Grundproblem<br />

• Grundproblem der <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL<br />

– „Das Problem ist, dass <strong>in</strong>dividuelle Features typischerweise nicht<br />

direkt zu e<strong>in</strong>er <strong>in</strong>dividuellen Komponente oder e<strong>in</strong>em Cluster <strong>von</strong><br />

Komponenten verfolgt werden können – das bedeutet, wenn e<strong>in</strong><br />

Produkt durch die Auswahl e<strong>in</strong>er Gruppe <strong>von</strong> Features def<strong>in</strong>iert<br />

wird, dann ist e<strong>in</strong>e sorgfältig abgestimmte und komplizierte<br />

Mixtur an Teilen <strong>von</strong> verschiedenen Komponenten <strong>in</strong>volviert.“ [4]<br />

1<br />

Feature<br />

1..* 1..* 1..*<br />

Anforderung Designelement<br />

1..* 1..* 1..* 1..*<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

1..*<br />

1..*<br />

Implementierungselement<br />

17<br />

Quelle: entnommen aus [6]<br />

18<br />

09.07.2009<br />

9


Problemraum<br />

Problem- und Lösungsraum<br />

• Die Entwicklungsphasen e<strong>in</strong>er <strong>Software</strong>-Produktl<strong>in</strong>ienentwicklung<br />

lassen sich <strong>in</strong> den Problemraum und Lösungsraum<br />

e<strong>in</strong>teilen<br />

• Problemraum<br />

– Die Systemspezifikation, die während der Anforderungsanalysephase<br />

und Designanalysephase entwickelt wird<br />

• Lösungsraum<br />

– Das konkrete System, welches während der Architektur-, Design- und<br />

Implementierungsphase erstellt wird<br />

Anforderungen Design-Analyse Architektur Design Implementierung<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Artefakte im<br />

Problemraum<br />

1..*<br />

1..*<br />

Artefakte im<br />

Lösungsraum<br />

Anforderung:<br />

Mobiltelefon besitzt e<strong>in</strong>en Internetzugang<br />

Problemraum<br />

Grundproblem<br />

Lösungsraum<br />

Quelle: entnommen aus [1]<br />

Komponenten:<br />

E-Mail, Browser, <strong>Software</strong>-Updates, Spiele-Downloaden<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

19<br />

Lösungsraum<br />

20<br />

09.07.2009<br />

10


Artefakte im<br />

Problemraum<br />

1..*<br />

1..*<br />

Artefakte im<br />

Lösungsraum<br />

Anforderungen:<br />

Mp3s abspielen, Videos abspielen, Sprache<br />

aufzeichnen<br />

Problemraum<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Zwischenschicht<br />

Artefakte im<br />

Problemraum<br />

1..*<br />

1..*<br />

Artefakte im<br />

Lösungsraum<br />

Komponente:<br />

Mediaplayer<br />

Grundproblem<br />

Lösungsraum<br />

Grundproblem und Lösungsansatz<br />

Artefakte im<br />

Problemraum<br />

?<br />

1..*<br />

1<br />

1<br />

1..*<br />

Artefakte im<br />

Lösungsraum<br />

Quelle: entnommen aus [2]<br />

– Löst n-zu-n Beziehung auf<br />

– Ermöglicht 1-zu-1 Mapp<strong>in</strong>g zwischen Variationspunkten der<br />

verschiedenen Räume<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

21<br />

22<br />

09.07.2009<br />

11


Lösungsansätze<br />

• Lösungsansätze – <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL<br />

Plattform<br />

– Unterschiede im Grad der Abdeckung der Entwicklungsphasen<br />

• Nur e<strong>in</strong>e Phase, mehrere Phasen oder alle Phasen<br />

Plattform<br />

Analyse<br />

Plattform<br />

Design<br />

– Unterschiede <strong>in</strong> der Notation, Notationsabhängigkeit, Ausgangslage<br />

• Vorstellung der Lösungsansätze <strong>von</strong><br />

– Schmid und John [7]<br />

– Berg, Bishop und Muthig [1]<br />

Plattform<br />

Implementierung<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Schmid et al.<br />

Plattform Test<br />

Ansatz <strong>von</strong> Schmid et al.<br />

– „e<strong>in</strong> homogenes <strong>Variabilität</strong>smanagement über die verschiedenen<br />

Entwicklungs-Lebenszyklus-Phasen, unabhängig <strong>von</strong> e<strong>in</strong>er spezifischen<br />

Notation“ [7]<br />

• Ausgangslage<br />

– E<strong>in</strong>zelsystementwicklung wird betrieben<br />

– Umstellung auf e<strong>in</strong>e Produktl<strong>in</strong>ienentwicklung<br />

• Vorgehen<br />

– Möglichst viele bestehende Notationen, Ansätze und Prozesse behalten<br />

• Anforderungen, Spezifikationen, Architekturbeschreibungen, Testfälle<br />

– <strong>Variabilität</strong> wird <strong>in</strong> e<strong>in</strong>em neuen Modell verwaltet<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

23<br />

24<br />

09.07.2009<br />

12


• Fünf Komponenten des Ansatzes<br />

Komponenten des Ansatzes<br />

1. Entscheidungsmodell<br />

• Basis für die Charakterisierung der Auswirkungen <strong>von</strong> <strong>Variabilität</strong><br />

• Zentrale Komponente des Ansatzes<br />

• Zwischenschicht zwischen Problem- und Lösungsraum<br />

2. Interaktionen<br />

• E<strong>in</strong> Mechanismus, um Interaktionen zwischen verschiedenen<br />

Entscheidungen (decisions) zu beschreiben<br />

3. Relationen<br />

• Relationen zwischen Variationspunkten und spezifischen Entscheidungen<br />

(Gruppe <strong>von</strong> Entscheidungen), <strong>von</strong> denen die Auflösung der <strong>Variabilität</strong><br />

abhängt<br />

– AND, OR, XOR / sub, #, <strong>in</strong>, ->, <br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Fünf Komponenten des Ansatzes<br />

Komponenten des Ansatzes<br />

4. Auswahltypen<br />

• <strong>Variabilität</strong>s-Auswahltypen<br />

– optional, alternativ, Mengen-alternativ, Mengen-auswahl, Wert-Referenz<br />

5. Mapp<strong>in</strong>g<br />

• Mapp<strong>in</strong>g / Zuordnung der Auswahltypen auf e<strong>in</strong>e spezifischen Notation<br />

• Ausdrücken der Variationspunkte <strong>in</strong> den Entwicklungsartefakten<br />

• <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong><br />

Entscheidungsmodell<br />

Mapp<strong>in</strong>g<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

25<br />

26<br />

09.07.2009<br />

13


<strong>Variabilität</strong>smanagement<br />

-<br />

Ansatz<br />

Text-basiert<br />

ARIS-basiert<br />

UML-basiert<br />

feste Elemente des Ansatzes<br />

Entscheidungsmodell<br />

Entscheidungsmodell<br />

Entscheidungsmodell<br />

Entscheidungsmodell<br />

Ansatz <strong>von</strong> Schmid et al.<br />

Interaktionen Relationen Auswahltypen<br />

Interaktionen Relationen Auswahltypen<br />

Interaktionen Relationen Auswahltypen<br />

Interaktionen Relationen Auswahltypen<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Entscheidungsmodell nach Schmid et al.<br />

– Wird <strong>in</strong> Tabellenform notiert<br />

– Besteht aus Entscheidungsvariablen<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

…<br />

Entscheidungsmodell<br />

anpassbare Elemente<br />

spezifisches<br />

Mapp<strong>in</strong>g<br />

Text-Mapp<strong>in</strong>g<br />

Model-<br />

Mapp<strong>in</strong>g<br />

UML-Mapp<strong>in</strong>g<br />

Quelle: entnommen aus [7]<br />

Quelle: entnommen aus [7]<br />

27<br />

28<br />

09.07.2009<br />

14


• Spezifisches Mapp<strong>in</strong>g nach Schmid et al.<br />

Spezifisches Mapp<strong>in</strong>g<br />

– Entscheidungsvariablen werden <strong>in</strong> die Entwicklungsartefakte <strong>in</strong>tegriert<br />

– Beispiel: textbasiertes Entwicklungsartefakt<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Quelle: entnommen aus [7]<br />

E<strong>in</strong>b<strong>in</strong>dung des Entscheidungsmodells<br />

• Entscheidungsmodell als Basis der <strong>Variabilität</strong><br />

– Entscheidungsvariablen können <strong>in</strong> allen<br />

Entwicklungsartefakten wiederverwendet werden<br />

• Produkterstellung<br />

Entscheidungsmodell<br />

Anforderungen<br />

Design Analyse<br />

Architektur<br />

Design<br />

– Entscheidungen treffen<br />

– Den Entscheidungsvariablen im Entscheidungsmodell<br />

werden Werte zuweisen<br />

– Die Variationspunkte <strong>in</strong> den Entwicklungsartefakten, die mit den<br />

Entscheidungsvariablen <strong>in</strong> Bezug stehen, werden <strong>in</strong>stanziiert<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Implementierung<br />

29<br />

30<br />

09.07.2009<br />

15


<strong>Verfolgbarkeit</strong><br />

• Variationspunkt<strong>in</strong>formationen werden im Entscheidungsmodell<br />

<strong>in</strong> Form <strong>von</strong> Entscheidungsvariablen gekapselt<br />

– Für jeden Variationspunkt <strong>in</strong> jedem Entwicklungsartefakt<br />

– Insbesondere die Beziehungen und Abhängigkeiten zu Variationspunkten<br />

<strong>in</strong> anderen Artefakten<br />

• Mithilfe der Entscheidungsvariablen ist e<strong>in</strong>e <strong>Verfolgbarkeit</strong> der<br />

<strong>Variabilität</strong> gewährleistet<br />

1-zu-1 Mapp<strong>in</strong>g zwischen Variationspunkten aus<br />

dem Problem- und dem Lösungsraum ist möglich<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Berg et al.<br />

Ansatz <strong>von</strong> Berg, Bishop, Muthig<br />

– „<strong>Variabilität</strong>smanagement <strong>in</strong> e<strong>in</strong>er dritten Dimension, <strong>in</strong> e<strong>in</strong>em<br />

sogenannten konzeptionellen <strong>Variabilität</strong>smodell<br />

(conceptual variability model)“[1]<br />

• Ausgangslage<br />

– Es besteht bereits e<strong>in</strong>e <strong>Software</strong>-Produktl<strong>in</strong>ienentwicklung<br />

– Diese soll um e<strong>in</strong> <strong>Variabilität</strong>smanagement erweitert werden<br />

• Vorgehen<br />

– <strong>Software</strong>entwicklung wird <strong>in</strong> zwei Dimensionen aufgefasst, e<strong>in</strong>e für<br />

den Entwicklungsprozess und e<strong>in</strong>e für die Abstraktionsebene<br />

– <strong>Variabilität</strong> wird <strong>in</strong> e<strong>in</strong>er 3. Dimension verwaltet<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

31<br />

32<br />

09.07.2009<br />

16


<strong>Variabilität</strong>s<strong>in</strong>formationen<br />

Problemraum<br />

Anforderungen<br />

<strong>Variabilität</strong><br />

Design-Analyse<br />

hohe Abstraktion<br />

niedrige Abstraktion<br />

Architektur<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

<strong>Variabilität</strong>s<strong>in</strong>formationen<br />

Problemraum<br />

e<strong>in</strong>fache Entscheidung<br />

Anforderungen<br />

Vp<br />

Variationspunkt<br />

(Entscheidungen)<br />

<strong>Variabilität</strong><br />

Design-Analyse<br />

hohe Abstraktion<br />

niedrige Abstraktion<br />

Vp<br />

Architektur<br />

Vp<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Vp<br />

Zwei Dimensionen<br />

Design<br />

3. Dimensionen<br />

Design<br />

Vp<br />

Implementierung<br />

Lösungsraum<br />

Quelle: entnommen aus [1]<br />

Implementierung<br />

Vp<br />

Vp<br />

33<br />

Lösungsraum<br />

Quelle: entnommen aus [1]<br />

34<br />

09.07.2009<br />

17


<strong>Verfolgbarkeit</strong><br />

• Variationspunkt<strong>in</strong>formationen werden im konzeptionellen<br />

<strong>Variabilität</strong>smodell gekapselt<br />

– Für jedes generische Artefakt<br />

– Insbesondere die Beziehungen und Abhängigkeiten zu Variationspunkten<br />

<strong>in</strong> anderen Artefakten<br />

• Mithilfe dieser gekapselten <strong>Variabilität</strong>s<strong>in</strong>formationen ist e<strong>in</strong>e<br />

<strong>Verfolgbarkeit</strong> der <strong>Variabilität</strong> gewährleistet<br />

1-zu-1 Mapp<strong>in</strong>g zwischen Variationspunkten aus<br />

dem Problem- und dem Lösungsraum ist möglich<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Geme<strong>in</strong>samkeiten<br />

Vergleich der vorgestellten Ansätze<br />

– Idee für die <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> ist grundsätzlich dieselbe<br />

– <strong>Variabilität</strong>s<strong>in</strong>formationen werden gekapselt<br />

– Gekapselte Informationen ermöglichen die <strong>Verfolgbarkeit</strong><br />

• Unterschiede<br />

– Voraussetzungen<br />

– Verständnis der Modelle<br />

• Entscheidungsmodell<br />

• Konzeptionelles <strong>Variabilität</strong>smodell<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

35<br />

36<br />

09.07.2009<br />

18


• Vorteile<br />

Vergleich der vorgestellten Ansätze<br />

– <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> möglich, über den gesamten<br />

Entwicklungszyklus<br />

– Kapselung der <strong>Variabilität</strong>s<strong>in</strong>formationen<br />

– Notationsunabhängig<br />

• Nachteile<br />

– Übersichtlichkeit bei der Auswahl e<strong>in</strong>es konkreten Produktes sehr<br />

e<strong>in</strong>geschränkt<br />

– Ke<strong>in</strong>e Angaben zu e<strong>in</strong>er möglichen Visualisierung der <strong>Variabilität</strong><br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

• Zusammenfassung<br />

Zusammenfassung und Ausblick<br />

– Grundproblem der <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL dargestellt<br />

– Verschiedene Lösungsansätze vorgestellt und verglichen<br />

– Vorgestellten Lösungsansätze s<strong>in</strong>d zum Teil <strong>in</strong> der Praxis erprobt<br />

• Problem grundsätzlich gelöst<br />

• E<strong>in</strong>ige Schwächen<br />

• Ausblick<br />

– Unterstützung durch Tools ist e<strong>in</strong>geschränkt<br />

• Viele verschiedene Tools für Teilbereiche vorhanden<br />

• Durchgängiges Tool für alle Entwicklungsphasen fehlt noch<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

37<br />

38<br />

09.07.2009<br />

19


Fragen & Antworten<br />

Gerne beantworte ich eure Fragen!<br />

<strong>Software</strong>-Produktl<strong>in</strong>en <strong>Variabilität</strong>smanagement <strong>in</strong> SPL <strong>Verfolgbarkeit</strong> <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> SPL Lösungsansätze<br />

Literatur<br />

1. Berg, K., Bishop, J., Muthig, D.: Trac<strong>in</strong>g <strong>Software</strong> Product L<strong>in</strong>e Variability: From Problem<br />

to Solution Space. In: Proceed<strong>in</strong>gs of SAICSIT 2005, ACM International Conference<br />

Proceed<strong>in</strong>g Series, vol. 150, pp. 182--191. White River, South Africa (2005)<br />

2. Berg, K., Muthig, D.: A Critical Analysis of Us<strong>in</strong>g Feature Models for Variability Management.<br />

Technical Report, University of Pretoria, South Africa (2005)<br />

3. Boehm, B.W.: Guidel<strong>in</strong>es for Verify<strong>in</strong>g and Validat<strong>in</strong>g <strong>Software</strong> Requirements and De-sign<br />

Specification. In: EURO IFIP 1979, pp. 711--719 (1979)<br />

4. Griss, D., Allen, R., d’Allesandro, M.: Integrat<strong>in</strong>g Feature Modell<strong>in</strong>g with the RSEB. In:<br />

Proceed<strong>in</strong>gs of the 5th International Conference of <strong>Software</strong> Reuse (ICSR) 1998, pp. 76--<br />

85, IEEE Computer Society, Wash<strong>in</strong>gton, DC, USA (1998)<br />

5. Pohl, K., Böckle, G., L<strong>in</strong>den, F.v.: <strong>Software</strong> Product L<strong>in</strong>e Eng<strong>in</strong>eer<strong>in</strong>g: Foundations,<br />

Pr<strong>in</strong>ciples, and Techniques, Spr<strong>in</strong>ger, Heidelberg (2005)<br />

6. Riebisch, M.: Towards a More Precise Def<strong>in</strong>ition of Feature Models. In: Workshop at<br />

ECOOP 2003. Pp. 64--76, Books On Demand, Darmstadt (2003)<br />

7. Schmid, K., John, I.: A customizable approach to full-life cycle variability management.<br />

Science of Computer Programm<strong>in</strong>g, vol. 53, No. 3, pp. 259--284 (2004)<br />

39<br />

40<br />

09.07.2009<br />

20


• Feature<br />

Def<strong>in</strong>itionen: „Feature“<br />

– „e<strong>in</strong>e funktionale E<strong>in</strong>heit, die e<strong>in</strong>em System h<strong>in</strong>zugefügt oder aus<br />

e<strong>in</strong>em System weggelassen werden kann“ (Plath et al. [9])<br />

– “e<strong>in</strong>e für den Endbenutzer sichtbare Charakteristik e<strong>in</strong>es Systems”<br />

(Czarnecki & Eisenecker [10])<br />

– “e<strong>in</strong>e unterscheidbare Charakteristik e<strong>in</strong>es Konzeptes” (STARS [12])<br />

– “e<strong>in</strong>e für den Benutzer bedeutender oder markanter, sichtbarer Aspekt,<br />

Qualität oder Charakteristik e<strong>in</strong>es <strong>Software</strong>-Systems oder Systems“<br />

(Kang et al. [11])<br />

– …<br />

Im Allgeme<strong>in</strong>en werden als Feature markante und wichtige<br />

Charakteristiken e<strong>in</strong>er Domäne oder e<strong>in</strong>es <strong>Software</strong>-Systems<br />

verstanden (Von der Maßen[8])<br />

Def<strong>in</strong>itionen: „Feature“ - Literatur<br />

8. Maßen, T.v.: Feature-basierte Modellierung und Analyse <strong>von</strong> <strong>Variabilität</strong> <strong>in</strong> Produktl<strong>in</strong>ienanforderungen.<br />

Dissertation, RWTH Aachen, Shaker, Aachen (2007)<br />

9. Plath, M.C., Ryan, M.D.: Feature Integration Us<strong>in</strong>g a Feature Construct. Science of Computer<br />

Programm<strong>in</strong>g, vol. 41, pp. 53--84, Elsevier, Niederlande (2001)<br />

10. Czarnecki, K., Eisenecker, U.W.: Generative Programm<strong>in</strong>g: Methods, Tools, and Applications.<br />

Addison-Wesley. Boston, USA (2000)<br />

11. Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Doma<strong>in</strong> Analysis<br />

(FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, <strong>Software</strong> Eng<strong>in</strong>eer<strong>in</strong>g Institute,<br />

Carnegie Mellon University, Pittsburgh, USA (1990)<br />

12. <strong>Software</strong> Technology for Adaptable, Reliable Systems (STARS): Organization Doma<strong>in</strong> Model<strong>in</strong>g<br />

(ODM) Guidebook, Technical Report STARS-VCA025/ 001/00 (1996)<br />

41<br />

42<br />

09.07.2009<br />

21

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!