Software Product Line Engineering Grundlagen, Variabilität, Organisation Sebastian Steger steger@cs.tu-berlin.de WS 2005/2006 SWT: Entwicklung verteilter eingebetteter Systeme Software Product Line Engineering p. 1/25
Aufbau des Vortrags Grundlagen Was ist Software Product Line Engineering? Haupteigenschaften Entwicklung mit Hilfe von Software Product Line Engineering Software Product Line Engineering p. 2/25
Aufbau des Vortrags Grundlagen Was ist Software Product Line Engineering? Haupteigenschaften Entwicklung mit Hilfe von Software Product Line Engineering Variabilität Illustratives Beispiel Grundbegriffe Verschiedene Arten von Variabilität Software Product Line Engineering p. 2/25
Aufbau des Vortrags Grundlagen Was ist Software Product Line Engineering? Haupteigenschaften Entwicklung mit Hilfe von Software Product Line Engineering Variabilität Illustratives Beispiel Grundbegriffe Verschiedene Arten von Variabilität Organisation mögliche/notwendige Firmenstrukturen Übergang zum Software Product Line Engineering Software Product Line Engineering p. 2/25
Software Product Line Engineering Teil I: Grundlagen Software Product Line Engineering p. 3/25
Was ist Software Product Line Engineering? Klassische Softwareentwicklung (Einzelprodukt): Software Product Line Engineering p. 4/25
Was ist Software Product Line Engineering? Klassische Softwareentwicklung (Produktfamilie): Software Product Line Engineering p. 4/25
Was ist Software Product Line Engineering? Extraktion von Gemeinsamkeiten: Software Product Line Engineering p. 4/25
Was ist Software Product Line Engineering? Software Product Line Engineering: Software Product Line Engineering p. 4/25
Haupteigenschaften Individualisierte Massenfertigung Kostengünstige Entwicklung von Produkten im Gegensatz zu Individualsoftware Anpassungen an Kundenanforderungen im Gegensatz zum einzelnen fertigen Produkt Klassisches Beispiel: Automobilindustrie Software Product Line Engineering p. 5/25
Haupteigenschaften Individualisierte Massenfertigung Kostengünstige Entwicklung von Produkten im Gegensatz zu Individualsoftware Anpassungen an Kundenanforderungen im Gegensatz zum einzelnen fertigen Produkt Klassisches Beispiel: Automobilindustrie Gemeinsame Plattform Enthält alle Gemeinsamkeiten der abgeleiteten Produkte Stellt Basis für abgeleitete Produkte dar, ist jedoch kein eigenständiges Produkt Erlaubt eine effiziente Erstellung abgeleiteter Produkte durch Variabilität Software Product Line Engineering p. 5/25
Auswirkungen Geringere Entwicklungskosten Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Hohe Umstrukturierungskosten Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Hohe Umstrukturierungskosten Hohe Plattformentwicklungskosten Software Product Line Engineering p. 6/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Hohe Umstrukturierungskosten Hohe Plattformentwicklungskosten Lange Plattformentwicklungszeit Software Product Line Engineering p. 6/25
Entwicklung der Plattform Anforderungen: Identifizierung der Gemeinsamkeiten, Definition der Variabiltät Software Product Line Engineering p. 7/25
Entwicklung der Plattform Anforderungen: Identifizierung der Gemeinsamkeiten, Definition der Variabiltät Architektur: Definiert die grobe Struktur und die wiederverwendbaren Teile aller Produkte. Variabilität und Erweiterbarkeit hat höchste Priorität. Software Product Line Engineering p. 7/25
Entwicklung der Plattform Anforderungen: Identifizierung der Gemeinsamkeiten, Definition der Variabiltät Architektur: Definiert die grobe Struktur und die wiederverwendbaren Teile aller Produkte. Variabilität und Erweiterbarkeit hat höchste Priorität. Realisierung: Beschränkung auf einzelne wiederverwendbare, konfigurierbare Komponenten; keine fertige Applikation. Software Product Line Engineering p. 7/25
Entwicklung der Plattform Anforderungen: Identifizierung der Gemeinsamkeiten, Definition der Variabiltät Architektur: Definiert die grobe Struktur und die wiederverwendbaren Teile aller Produkte. Variabilität und Erweiterbarkeit hat höchste Priorität. Realisierung: Beschränkung auf einzelne wiederverwendbare, konfigurierbare Komponenten; keine fertige Applikation. Testing: Keine Applikation zum Testen verfügbar Beschränkung auf das Testen einzelner Komponenten. Entwicklung einer (minimalen) Testapplikation. Software Product Line Engineering p. 7/25
Entwicklung der Produkte Anforderungen: Identifizierung der Anforderungsabdeckung durch die Plattform. Software Product Line Engineering p. 8/25
Entwicklung der Produkte Anforderungen: Identifizierung der Anforderungsabdeckung durch die Plattform. Architektur: Aufbau auf der existierenden Plattformarchitektur. Auswahl der Varianten, die die Plattform bietet. Software Product Line Engineering p. 8/25
Entwicklung der Produkte Anforderungen: Identifizierung der Anforderungsabdeckung durch die Plattform. Architektur: Aufbau auf der existierenden Plattformarchitektur. Auswahl der Varianten, die die Plattform bietet. Realisierung: Hauptaufgabe: Auswahl und Konfiguration der wiederverwendbaren Komponenten der Plattform. Applikationsspezifische Realisierungen müssen an die Plattformstruktur angepasst werden. Software Product Line Engineering p. 8/25
Entwicklung der Produkte Anforderungen: Identifizierung der Anforderungsabdeckung durch die Plattform. Architektur: Aufbau auf der existierenden Plattformarchitektur. Auswahl der Varianten, die die Plattform bietet. Realisierung: Hauptaufgabe: Auswahl und Konfiguration der wiederverwendbaren Komponenten der Plattform. Applikationsspezifische Realisierungen müssen an die Plattformstruktur angepasst werden. Testing: Test der applikationsspezifischen Teile, sowie der Plattform in der definierten Konfiguration. Software Product Line Engineering p. 8/25
Software Product Line Engineering Teil II: Variabilität Software Product Line Engineering p. 9/25
Beispiel: MP3 - Player USB MSD Treiber Zugriff auf Flash Speicher Dekodierer Userinterface USB MSD Treiber Zugriff auf Festplatte Dekodierer Userinterface Zugriff auf CD-Laufwerk Anti-Shock Dekodierer Userinterface Software Product Line Engineering p. 10/25
Beispiel: MP3 - Player Plattform Userinterface Dekodierer USB MSD Treiber Zugriff auf Flash Speicher USB MSD Treiber Zugriff auf Festplatte Zugriff auf CD-Laufwerk Anti-Shock Software Product Line Engineering p. 10/25
Beispiel: MP3 - Player Plattform Userinterface USB MSD Treiber Dekodierer Datenzugriff Anti-Shock Software Product Line Engineering p. 10/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Software Product Line Engineering p. 11/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Ermöglicht individualisierte Massenfertigung Software Product Line Engineering p. 11/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Ermöglicht individualisierte Massenfertigung Ermöglicht detaillierte Konfiguration der Plattform Software Product Line Engineering p. 11/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Ermöglicht individualisierte Massenfertigung Ermöglicht detaillierte Konfiguration der Plattform Notwendigkeit der Modellierung der Variabilität Software Product Line Engineering p. 11/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Ermöglicht individualisierte Massenfertigung Ermöglicht detaillierte Konfiguration der Plattform Notwendigkeit der Modellierung der Variabilität Variabilität in der realen Welt wird repräsentiert durch: Variabilitäts-Subjekt Variabilitäts-Objekt Software Product Line Engineering p. 11/25
Variabilität Grundlegendes Konzept von Software Product Line Engineering Ermöglicht individualisierte Massenfertigung Ermöglicht detaillierte Konfiguration der Plattform Notwendigkeit der Modellierung der Variabilität Variabilität in der realen Welt wird repräsentiert durch: Variabilitäts-Subjekt Variabilitäts-Objekt Variabilität der Plattform(Modell) wird repräsentiert durch: Variationspunkt Variante Software Product Line Engineering p. 11/25
Variabilitäts-Subjekt/-Objekt Variabilitäts-Subjekt ist eine real existierende variable Größe. Variabilitäts-Objekt ist eine konktete Instanz eines Variabilitäts-Subjekts. Software Product Line Engineering p. 12/25
Variabilitäts-Subjekt/-Objekt Variabilitäts-Subjekt ist eine real existierende variable Größe. Variabilitäts-Objekt ist eine konktete Instanz eines Variabilitäts-Subjekts. Software Product Line Engineering p. 12/25
Variationspunkt/Variante Variationspunkt ist ein durch Kontextinformation ergänztes Modell eines Variabilitätssubjektes. Variante ist ein Repräsentant eines Variabilitäts-Objekts innerhalb einer Variationspunkt. Software Product Line Engineering p. 13/25
Variationspunkt/Variante Variationspunkt ist ein durch Kontextinformation ergänztes Modell eines Variabilitätssubjektes. Variante ist ein Repräsentant eines Variabilitäts-Objekts innerhalb einer Variationspunkt. Software Product Line Engineering p. 13/25
Vorgehensweise Vorgehensweise zur Identifizierung von Variabilität in einer Software Product Line: Festlegung des Variabilitäts-Subjekts Software Product Line Engineering p. 14/25
Vorgehensweise Vorgehensweise zur Identifizierung von Variabilität in einer Software Product Line: Festlegung des Variabilitäts-Subjekts Definition der Variationspunkt Abstraktion von der Realität Festlegung des Kontextes Software Product Line Engineering p. 14/25
Vorgehensweise Vorgehensweise zur Identifizierung von Variabilität in einer Software Product Line: Festlegung des Variabilitäts-Subjekts Definition der Variationspunkt Abstraktion von der Realität Festlegung des Kontextes Definition der Varianten 1:1 Zuordnung zu einem Variabilitäts-Objekt Später noch ergänzbar Software Product Line Engineering p. 14/25
Zeitliche- / Räumliche Variabilität Zeitliche Variabilität: Verschiedene Varianten existieren zu verschiedenen Zeiten Beispiel MP3-Player: Software Product Line Engineering p. 15/25
Zeitliche- / Räumliche Variabilität Zeitliche Variabilität: Verschiedene Varianten existieren zu verschiedenen Zeiten Räumliche Variabilität: Gleichzeitige Nutzung verschiedener Varianten Beispiel MP3-Player: Software Product Line Engineering p. 15/25
Externe vs. Interne Variabilität Externe Variabilität: Kunde kann zwischen den Varianten wählen. Gründe für externe Variabilität: Unterschiedliche Kundenbedürfnisse Gesetze und Standards Software Product Line Engineering p. 16/25
Externe vs. Interne Variabilität Externe Variabilität: Kunde kann zwischen den Varianten wählen. Gründe für externe Variabilität: Unterschiedliche Kundenbedürfnisse Gesetze und Standards Interne Variabilität: Varianten sind für Aussenstehende nicht sichtbar. Gründe für interne Variabilität: Detaillierung von Externer Variabilität Detaillierung von Interner Variabilität Technische Gründe Strategische Gründe Software Product Line Engineering p. 16/25
Software Product Line Engineering Teil III: Organisation Software Product Line Engineering p. 17/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Stärkere Auswirkung bei Verwendung von Software Product Line Engineering Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Stärkere Auswirkung bei Verwendung von Software Product Line Engineering Gewissenhafte Auswahl der geeigneten Firmenstruktur unumgänglich: Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Stärkere Auswirkung bei Verwendung von Software Product Line Engineering Gewissenhafte Auswahl der geeigneten Firmenstruktur unumgänglich: Hierarchische Strukturen Matrixförmige Strukturen Software Product Line Engineering p. 18/25
Bedeutung von Organisationsformen für die Softwareentwicklung Probleme, die durch ungeeignete Firmenstruktur auftreten können: Langsame Entscheidungsfindung Unverhältnismäßig hoher Anteil von Koordinationsaufgaben Unklare Zuordnung von Verantwortlichkeiten Unzureichender Kundenbezug Stärkere Auswirkung bei Verwendung von Software Product Line Engineering Gewissenhafte Auswahl der geeigneten Firmenstruktur unumgänglich: Hierarchische Strukturen Matrixförmige Strukturen Software Product Line Engineering p. 18/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Einzelne Entwicklungsabteilung Verteilte Plattformentwicklung Zentrale Plattformentwicklung Unkompliziert Unübersichtlichkeit Keine klare Zuordnung von Verantwortlichkeiten Geeignet für kleine Firmen (<30 Entwickler) Software Product Line Engineering p. 19/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Einzelne Entwicklungsabteilung Verteilte Plattformentwicklung Zentrale Plattformentwicklung Kundenorientiert Komplizierte Entscheidungsfindung im Plattformbereich Mögliche Vernachlässigung des Plattformentwicklung Geeignet für Produktlinie mit großen Unterschieden Software Product Line Engineering p. 19/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Einzelne Entwicklungsabteilung Verteilte Plattformentwicklung Zentrale Plattformentwicklung Klare Zuordnung von Verantwortlichkeiten Schnelle Entscheidungsfindung Wenig Kundenbezug der Plattformentwicklung Geeignet für typische Produktlinien Software Product Line Engineering p. 19/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Plattform als Funktion Plattform als Projekt Separate Plattformentwicklung Kundenorientiert Flexibel Verantwortlichkeiten zwar klar geregelt, nicht jedoch die Entscheidungskompetenz Software Product Line Engineering p. 19/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Plattform als Funktion Plattform als Projekt Separate Plattformentwicklung Klare Zuordnung von Verantwortlichkeiten Wenig Kundenbezug der Plattformentwicklung Geeignet für Produktlinien mit hohem Änderungsgrad der Plattform Software Product Line Engineering p. 19/25
Überblick von Organisationsformen Hierarchische Strukturen Matrixförmige Strukturen Plattform als Funktion Plattform als Projekt Separate Plattformentwicklung Klare Zuordnung von Verantwortlichkeiten Wenig Kundenbezug der Plattformentwicklung Innerhalb der Plattformentwicklung keine klare Zuordnung Software Product Line Engineering p. 19/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Hohe Umstrukturierungskosten Hohe Plattformentwicklungskosten Lange Plattformentwicklungszeit Software Product Line Engineering p. 20/25
Auswirkungen Geringere Entwicklungskosten Kürzere Produkteinführungszeiten Höhere Qualität Höhere Zuverlässigkeit Geringerer Wartungsaufwand Bewältigung von Komplexität Gemeinsames Look & Feel Hohe Umstrukturierungskosten Hohe Plattformentwicklungskosten Lange Plattformentwicklungszeit Auswahl einer geeigneten Strategie für den Übergangsprozess Software Product Line Engineering p. 20/25
Gängige Übergangsstrategien Schrittweise Einführung Versuchsprojekt Strategie Taktischer Ansatz "Big Bang" Strategie Anfangs geringer Personaleinsatz; Schrittweise Erhöhung im Erfolgsfall Anfangs nur erfolgversprechender Teil als Produktlinie (bspw. Erstellung wiederverwertbarer Komponenten oder Umstrukturierung bestehender Komponenten); Schrittweise Erweiterung im Erfolgsfall Software Product Line Engineering p. 21/25
Gängige Übergangsstrategien Schrittweise Einführung Versuchsprojekt Strategie Taktischer Ansatz "Big Bang" Strategie Einführung von SPLE aus technischer Notwendigkeit Häufig beschränkt auf einzelne Bereiche Häufig informelle Anwendung von Softwareentwicklern Im Gegensatz zur Schrittweisen Einführung keine Gesamtlösung. Software Product Line Engineering p. 21/25
Gängige Übergangsstrategien Schrittweise Einführung Versuchsprojekt Strategie Taktischer Ansatz "Big Bang" Strategie 1. Entwicklung eines der folgenden Produkte: Erstes mögliche Produkt der neuen Produktlinie Eine Erweiterung einer bestehenden Serie von konventionell erstellten Produkten, die in die Produktlinie eingegliedert werden sollen Ein einfaches Demonstrationsprodukt Ein Prototyp 2. Anpassung der Produkte an die Plattform im Erfolgsfall Software Product Line Engineering p. 21/25
Gängige Übergangsstrategien Schrittweise Einführung Versuchsprojekt Strategie Taktischer Ansatz "Big Bang" Strategie 1. Komplette Erstellung der Plattform 2. Erstellung der Produkte durch Ableitung Software Product Line Engineering p. 21/25
Bewertung der Übergangsstrategien Schrittweise Einführung Taktischer Ansatz Versuchsprojekt Strategie "Big Bang" Strategie Gesamtdauer Gesamtlösung Vorhersehbarkeit des Ergebnisses Weiterführung aktueller Projekte Geringe Anfangsinvestition Wenig überflüssige Arbeit Abbruch des Übergangs Software Product Line Engineering p. 22/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten, wie zum Beispiel: Produktmanager Manager Projektmanager Softwareentwickler Qualitätsmanager evtl. Kunden Software Product Line Engineering p. 23/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten 2. Ermittlung der Ziele der Beteiligten, wie zum Beispiel: Produktmanager Manager, Projektmanager Umsatzerhöhung, kurze Produkteinführungszeiten Kostenreduzierung, Effizienzerhöhung Softwareentwickler Qualitätsmanager Technische und zeitliche Machbarkeit Einhaltung der erforderlichen Qualität Software Product Line Engineering p. 23/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten 2. Ermittlung der Ziele der Beteiligten 3. Erstellung von Geschäftsplänen Ein Geschäftsplan pro Beteiligten Zeigt wie die definierte Ziele mit SPLE erreicht werden können Enthält u.a. auch folgende Zahlen: Umsatz, Gewinn, ROI Vergleicht koventionelle Softwareentwicklung mit SPLE Software Product Line Engineering p. 23/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten 2. Ermittlung der Ziele der Beteiligten 3. Erstellung von Geschäftsplänen 4. Erstellung eines Anpassungsplans (a) Beschreibung des Ist-Zustands (b) Beschreibung des Soll-Zustands (c) Weg vom Ist- zum Soll-Zustand (Auswahl der Übergangsstrategie) Software Product Line Engineering p. 23/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten 2. Ermittlung der Ziele der Beteiligten 3. Erstellung von Geschäftsplänen 4. Erstellung eines Anpassungsplans 5. Start des Software Product Line Engineering Festlegung von: Organisationsstruktur Aufgaben und Verantwortlichkeiten Finanzierungsplan Software Product Line Engineering p. 23/25
Die Wichtigsten Schritte des Übergangsprozesses 1. Ermittlung aller Beteiligten 2. Ermittlung der Ziele der Beteiligten 3. Erstellung von Geschäftsplänen 4. Erstellung eines Anpassungsplans 5. Start des Software Product Line Engineering Software Product Line Engineering p. 23/25
Zusammenfassung Grundlagen Entwicklung einer gemeinsamen Plattform anstatt Einzelentwicklung Effizienzsteigerung nach Anlaufphase Zweiteilung der Entwicklung (Plattform, Produkte) Software Product Line Engineering p. 24/25
Zusammenfassung Grundlagen Entwicklung einer gemeinsamen Plattform anstatt Einzelentwicklung Effizienzsteigerung nach Anlaufphase Zweiteilung der Entwicklung (Plattform, Produkte) Variabilität Grundlegendes Konzept des Software Product Line Engineering Modellierung von real existierender Variabilität Software Product Line Engineering p. 24/25
Zusammenfassung Grundlagen Entwicklung einer gemeinsamen Plattform anstatt Einzelentwicklung Effizienzsteigerung nach Anlaufphase Zweiteilung der Entwicklung (Plattform, Produkte) Variabilität Grundlegendes Konzept des Software Product Line Engineering Modellierung von real existierender Variabilität Organisation Mögliche Firmenstrukturen (Hierarchisch/Matrix) Verschiedene Konzepte beim Übergang zum Software Product Line Engineering möglich Software Product Line Engineering p. 24/25
Weitere Informationen Literatur [1] K. Pohl, G. Böckle und F. van der Linden Software Product Line Engineering. Springer, 2005 Software Product Line Engineering p. 25/25