Verfolgbarkeit von Variabilität in Software-Produktlinine
Verfolgbarkeit von Variabilität in Software-Produktlinine
Verfolgbarkeit von Variabilität in Software-Produktlinine
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