SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
CARL
      VON
OSSIETZKY
            Software Produktlinien:
                           ¨
            Einf¨hrung und Uberblick
                u

            Johannes Diemke

            Vortrag im Rahmen des Seminars
            Software System Engineering
            im Wintersemester 2007/2008
¨
Ubersicht


1 Motivation
2 Systematische Wiederverwendung
3 Software Produktlinien
    Systemartefakte
    Produktraum
    Variablit¨t
             a
       Produktraum-Variablit¨t
                            a
       Variationspunkte
    Produktlinien-Architektur
    Produktlinien-Prozesse
       Domain Engineering
       Application Engineering
       Management

4 Fazit

    Johannes Diemke              Software Produktlinien   13. Februar 2008   2/23
Motivation


Probleme der Software-Technik
   Steigende Komplexit¨t und Gr¨ße zu entwickelnder Softwaresysteme
                      a        o
   Softwaresysteme sollen immer leistungsf¨higer, zuverl¨ssiger,
                                          a             a
   komplexer, gleichzeitig aber immer g¨nstiger in Produktion und
                                       u
   Wartung, sowie schneller in Entwicklung und Auslieferung werden
Eine L¨sung
      o
   Die systematische Wiederverwendung erm¨glicht es diese scheinbar
                                         o
   unvereinbaren Ziele zu erreichen
   Insbesondere stellt die Entwicklung von Software Produktlinien einen
   der leistungsf¨higeren Ans¨tze der systematischen
                 a            a
   Wiederverwendung dar



   Johannes Diemke          Software Produktlinien    13. Februar 2008   3/23
Systematische Wiederverwendung


Wiederverwendung
   Ein schon lange verfolgter Ansatz, dessen Nutzen relativ fr¨h auch
                                                              u
   f¨r die Software-Technik erkannt wurde
    u
   Es werden, wie bei den meisten anderen technischen Disziplinen, im
   Entwurfsprozess vorgefertigte Komponenten genutzt
   Vorteile der Wiederverwendung:
         geringere Entwicklungskosten
         h¨here Zuverl¨ssigkeit
          o           a
         beschleunigte Entwicklung
Systematische Wiederverwendung
   Um eine systematische Wiederverwendung zu erreichen, muss diese
   allerdings fr¨hzeitig in den Entwurfsprozess mit einbezogen werden
                u
   und richtig geplant sein

   Johannes Diemke            Software Produktlinien   13. Februar 2008   4/23
Software Produktlinien


Grundlage
   Softwarehersteller spezialisieren sich h¨ufig auf spezielle
                                           a
   Anwendungsdom¨nen und entwickeln f¨r diese eine Menge von
                    a                       u
   Produktvarianten (Produktfamilie)
   Produktvarianten haben aber naturgem¨ß eine gemeinsame
                                          a
   Grundstruktur und eine Vielzahl ¨hnlicher Eigenschaften
                                   a
Ziel des Produktlinien Ansatzes
   Ausnutzung des vorhandenen Wiederverwendungspotentials einer
   Produktfamilie, indem die dazu n¨tige Infrastruktur geschaffen wird
                                   o




    Johannes Diemke        Software Produktlinien    13. Februar 2008   5/23
Software Produktlinien


Definition
Eine Software Produktlinie (SPL) ist eine Menge von softwareintensiven
Systemen, die sich eine Reihe von Systemartefakten teilen, einer
speziellen Anwendungsdom¨ne angeh¨ren und eine gemeinsame
                           a           o
systemspezifische Architektur besitzen. Jedes dieser Systeme ist auf die
eine oder andere Art spezialisiert, der gemeinsame Kern der Systeme wird
jedoch jedesmal wiederverwendet.

Software Produktlinien Ansatz
    Erstellung einer Menge von softwareintensiven Systemen auf Basis
    einer Menge gemeinsam genutzter Systemartefakte
    Systematische Wiederverwendung wird dabei von Anfang an in den
    Entwurfsprozess mit einbezogen

    Johannes Diemke          Software Produktlinien    13. Februar 2008   6/23
Software Produktlinien


Systemartefakte
   Konkrete Produktvarianten werden im Produktlinien-Ansatz durch
   das Ausw¨hlen und Anpassen von Systemartefakten erzeugt
            a
   Systemartefakte sind die Grundbausteine der Produktlinie zur
   Erstellung von Produktvarianten
   M¨gliche Systemartefakte:
     o
         wiederverwendbare Softwarekomponenten
         Softwarearchitekturen
         Module
         Frameworks
         Plattformdienste
   Eine besondere Bedeutung kommt den Softwarearchitekturen zu,
   welche erst eine Wiederverwendung und Organisation der anderen
   Systemartefakte erm¨glichen
                       o

   Johannes Diemke           Software Produktlinien   13. Februar 2008   7/23
Software Produktlinien


Systemartefakte (Forts.)
   Mindestens genauso wichtig sind Systemartefakte die Erfahrungen
   und das angesammelte strategische Wissen der Anwendungsdom¨ne a
   wiederspiegeln:
          Gesch¨ftsmodelle
                a
          Anforderungsspezifikationen
          Projektpl¨ne
                    a
          Budgets
          Testf¨lle
               a
          dom¨nenspezifische Muster
              a
          Prozesse und Richtlinien
   Jedes erstellte Systemartefakt ist ein Teil der Software Produktlinie
   und wird in einem Artefaktkatalog inventarisiert



    Johannes Diemke           Software Produktlinien    13. Februar 2008   8/23
Software Produktlinien


Systemartefakte (Forts.)
   Die Systemartefakte, mit den f¨r eine Produktvariante
                                  u
   produktspezifischen Entscheidungen, dienen im Produktionsprozess
   als Basis zur Erstellung neuer Produktvarianten

              Systemartefakte   Produktionsprozess       Produktvarianten




                                 produktspezifische
                                  Entscheidungen




    Johannes Diemke             Software Produktlinien            13. Februar 2008   9/23
Software Produktlinien


Produktraum
   Definiert Umfang einer Software Produktlinie
         Auflistung und Beschreibung der zu der Software Produktlinie
         geh¨renden Produktvarianten
             o
         Dokumentation der Anforderungen und Unterschiede zwischen
         einzelnen Produktvarianten
   Identifikation von Gemeinsamkeiten zwischen den Produktvarianten
   der Produktlinie
         Produkt×Feature-Tabellen
   Darstellung von Abh¨ngigkeiten zwischen den einzelnen Features
                      a
         Feature-Graphen




   Johannes Diemke            Software Produktlinien     13. Februar 2008   10/23
Software Produktlinien


Variablit¨t
         a
    Produktvarianten einer Software Produktlinie zeichnen sich durch
    eine Vielzahl gemeinsamer und variierender Features aus
          Variablit¨tsaspekte spielen bei der Entwicklung von Software
                   a
          Produktlinien eine ubergeordnete Rolle
                             ¨
    Unter Variablit¨t wird im Allgemeinen die M¨glichkeit verstanden,
                   a                           o
    Systeme oder Komponenten zu ¨ndern und an individuelle
                                    a
    Bed¨rfnisse anzupassen.
        u
    Bei Produktlinien bezeichnet sie die Unterschiede der
    Produktvarianten und definiert den Rahmen, in dem diese durch
    Selektion von Systemartefakten individuell angepasst werden k¨nnen
                                                                 o
    Tritt in unterschiedlichster Form auf:
          Unterst¨tzung mehrerer Betriebssysteme
                 u
          komplexe Anpassung von Systemartefakten

    Johannes Diemke             Software Produktlinien      13. Februar 2008   11/23
Software Produktlinien


Produktraum-Variablit¨t
                     a
    Beschreibung der Variablit¨t des Produktraums
                              a
          Feature×Produkt-Tabellen
          Feature-Graphen

Definition
Features beschreiben Merkmale der Software Produktlinie, die
Gemeinsamkeiten und Unterschiede der einzelnen Produktvarianten
darstellen.

    Features lassen sich weiter klassifizieren in:
          externe Features
          notwendige Features
          optionale Features


    Johannes Diemke             Software Produktlinien   13. Februar 2008   12/23
Software Produktlinien


Produktraum-Variablit¨t (Forts.)
                     a
   Beschreibung eines Produktraums einer Software Produktlinie zur
   Erstellung mehrerer Varianten eines Mail-Clients mit Hilfe eines
   Feature-Graphen:
                                                       Mail Client



     « external »          « external »
                                                 Receive Message           Send Message       Runtime Platform
   TCP Connection         Type Message
                    runtime                                          runtime                                       compiletime

                                                                                                    « external »            « external »
      Signature                   Edit                   Pop3                  IMAP
                                                                                                       win32                   linux
                                             runtime
                                                                               or specialization        composition
     « external »             « external »
                                                   Internal Editor
          vi                    Emacs

                                                                               xor specialization       optional feature




    Johannes Diemke                                       Software Produktlinien                               13. Februar 2008            13/23
Software Produktlinien


Variationspunkte
   Produkt- und systemumgebungsspezifische Variablit¨t wird durch so
                                                      a
   genannte Variationspunkte abgebildet
   Variationspunkte sind Punkte im Entwicklungsablauf, an denen
   Entwurfsentscheidungen bez¨glich der Variablit¨t getroffen werden
                              u                  a
   m¨ssen, um eine konkrete Variante eines Features zu erhalten
     u
   Es muss eine aus mehreren Entwurfsalternativen gew¨hlt werden
                                                       a
          Binden von Variationspunkten
   Das Binden kann dabei zu unterschiedlichen Zeitpunkten
   stattfinden:
          Architekturentwurf
          Feinentwurf
          Implementierung
          ¨
          Ubersetzung
          Laufzeit
    Johannes Diemke            Software Produktlinien   13. Februar 2008   14/23
Software Produktlinien


Produktlinien-Architektur
   stellt gemeinsame generische Referenzarchitektur f¨r alle im
                                                      u
   Produktraum liegenden Produktvarianten zur Verf¨gung
                                                     u
   konkrete Produktvarianten leiten ihre Architektur von der
   Produktlinien-Architektur ab
   Durch die f¨r die gesamte Produktlinie g¨ltige Architektur kann f¨r
               u                            u                       u
   alle Produkte die Erf¨llung nichtfunktionaler Anforderungen
                        u
   sichergestellt werden:
          Performance
          Verf¨gbarkeit
              u
          Skalierbarkeit
          Erweiterbarkeit
   Ziel ist es eine Produktlinien-Architektur zu entwickeln, welche den
   Anforderungen der Produktvarianten der gesamten Produktlinie
   gen¨gt
       u
    Johannes Diemke         Software Produktlinien     13. Februar 2008   15/23
Software Produktlinien


Produktlinien-Architektur (Forts.)
    Eine Produktlinien-Architektur bietet verschiedene
    Variationsm¨glichkeiten hinsichtlich ihrer Komponenten und
               o
    Konnektoren
    Definiert explizit welche Komponenten obligatorisch, optional und
    variabel sind und wie diese durch konkrete Komponente instanziiert
    werden
    Im Idealfall ist es f¨r Produktvarianten m¨glich, direkt die
                         u                    o
    Referenzarchitektur zu nutzen
          Bindung der Variationspunkte durch Selektion konkreter
          Komponenten in der Architektur
    Teilweise muss die Referenzarchitektur selbst an die
    produktspezifischen Anforderungen angepasst werden


    Johannes Diemke            Software Produktlinien      13. Februar 2008   16/23
Software Produktlinien


Produktlinien-Prozesse
   Bei der Entwicklung von Software Produktlinien wird zwischen drei
   zentralen und iterativen Prozessen unterschieden:
          Domain Engineering
          Application Engineering
          Management
Domain Engineering
   Das Domain Engineering l¨sst in drei weitere Teilprozesse
                           a
   unterteilen:
          Dom¨nenanalyse & Scoping
              a
          Architekturentwurf
          Implementierung




    Johannes Diemke            Software Produktlinien   13. Februar 2008   17/23
Software Produktlinien


Domain Engineering (Forts.)
   Die Dom¨nenanalyse umfasst die Anforderungsanalyse f¨r die
           a                                           u
   gesamte Produktlinie und dokumentiert die Gemeinsamkeiten und
   Unterschiede aller geplanter Produktvarianten
   In der Scopingphase werden alle Informationen zu den geplanten
   Produkten gesammelt
   In der Architekturentwurfsphase wird eine Produktlinien-Architektur
   entworfen
   In der Implementierungsphase werden die Systemartefakte konzipiert
   und entwickelt
   Ziel des Domain Engineering ist es, dem Application Engineering
   Prozess eine technische und organisatorische Plattform zur
   Verf¨gung zu stellen
        u

    Johannes Diemke        Software Produktlinien    13. Februar 2008   18/23
Software Produktlinien


Application Engineering
   Bezeichnet den Teilprozess in dem konkrete Produktvarianten durch
   das Ausw¨hlen und Anpassen von Systemartefakten erzeugt werden
             a
   Im Idealfall entstehen neue Produktvarianten durch das
   Zusammenbauen nach einem Produktionsplan
          Verlagerung des Schwerpunkts vom Programmieren zum Integrieren
   F¨r jede Produktvariante werden drei Phasen durchlaufen:
    u
          Systemanalyse
          Systementwurf
          Systemimplementierung
   Die Anforderungen einer konkreten Produktvariante k¨nnen
                                                      o
   wiederum dazu f¨hren, dass der Domain Engineering Prozess
                   u
   angestoßen wird um die Plattform entsprechend anzupassen und
   gegebenenfalls um Systemartefakte zu erweitern

    Johannes Diemke           Software Produktlinien    13. Februar 2008   19/23
Software Produktlinien


Management
   Das Management unterst¨tzt und koordiniert die beiden anderen
                           u
   Prozesse
   Unterscheidung zwischen:
         technischem Management
         organisatorischem Management
   Das technische Management uberwacht die Entwicklung der
                               ¨
   Systemartefakte und der konkreten Produktvarianten
   Das organisatorische Management ist f¨r die Planung, Priorisierung
                                        u
   und Verteilung der Ressourcen zust¨ndig
                                     a
   Das Management ist von entscheidender Bedeutung f¨r die
                                                      u
   erfolgreiche Umsetzung eienr Software Produktlinie


   Johannes Diemke          Software Produktlinien   13. Februar 2008   20/23
Software Produktlinien


Produktlinien-Prozesse
   Die drei zentralen Prozesse bei der Entwicklung von Software
   Produktlinien:
                           Domain Engineering
                               Process




                       Prozesse
                       Richtlinien
                       Architektur     Anforderungen             Product Line Management
                      Infrastruktur    Neue Artefakte                     Process

                       Werkzeuge
                      Komponenten




                          Application Engineering
                                                                        Produkte
                                  Process




    Johannes Diemke                         Software Produktlinien                     13. Februar 2008   21/23
Fazit


   Die Einf¨hrung von Software Produktlinien ist ein vielversprechender
           u
   Ansatz
         Reduktion der Entwicklungskosten
         Erh¨hung der Produktzuverl¨ssigkeit und Produktqualit¨t
            o                      a                          a
         beschleunigte Entwicklung
   Die Komplexit¨t der Einf¨hrung, des Aufbaus und des Betriebs stellt
                 a          u
   aber eine große H¨rde f¨r die Aussch¨pfung des vorhandenen
                    u     u            o
   Wiederverwendungspotentials dar
         Es ist viel Zeit und eine hohe Vorabinvestition n¨tig, um eine
                                                          o
         Produktlinie einzuf¨hren
                             u
         W¨hrend der Aufbauphase wirft eine Produtkline keine Ertr¨ge ab
            a                                                         a
         Aus diesen Gr¨nden scheitern viele Unternehmen bei dem Versuch
                        u
         eine Produktlinie einzuf¨hren
                                  u
   Ist eine Produktfamilie etabliert, treten die Nachteile immer mehr in
   den Hintergrund und die Vorteile kommen zum Vorschein
   Johannes Diemke            Software Produktlinien     13. Februar 2008   22/23
Fragen




        Vielen Dank fur Ihre Aufmerksamkeit!
                     ¨




   Johannes Diemke   Software Produktlinien   13. Februar 2008   23/23

Contenu connexe

Tendances

PLM Open Hours - Heterogene Systemlandschaften
PLM Open Hours - Heterogene SystemlandschaftenPLM Open Hours - Heterogene Systemlandschaften
PLM Open Hours - Heterogene SystemlandschaftenIntelliact AG
 
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...Business Intelligence Research
 
UE in der agilen Produktentwicklung #iak10
UE in der agilen Produktentwicklung #iak10UE in der agilen Produktentwicklung #iak10
UE in der agilen Produktentwicklung #iak10Sandra Griffel
 
PLM Open Hours - Konfigurierung, ein zentrales Element in der Auftragsabwicklung
PLM Open Hours - Konfigurierung, ein zentrales Element in der AuftragsabwicklungPLM Open Hours - Konfigurierung, ein zentrales Element in der Auftragsabwicklung
PLM Open Hours - Konfigurierung, ein zentrales Element in der AuftragsabwicklungIntelliact AG
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Ergosign GmbH
 
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktSwiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktIntelliact AG
 
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-Systeme
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-SystemePLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-Systeme
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-SystemeIntelliact AG
 

Tendances (7)

PLM Open Hours - Heterogene Systemlandschaften
PLM Open Hours - Heterogene SystemlandschaftenPLM Open Hours - Heterogene Systemlandschaften
PLM Open Hours - Heterogene Systemlandschaften
 
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...
Lebenszyklus eines Leads im Social Web - Anforderungen an ein Social Media Co...
 
UE in der agilen Produktentwicklung #iak10
UE in der agilen Produktentwicklung #iak10UE in der agilen Produktentwicklung #iak10
UE in der agilen Produktentwicklung #iak10
 
PLM Open Hours - Konfigurierung, ein zentrales Element in der Auftragsabwicklung
PLM Open Hours - Konfigurierung, ein zentrales Element in der AuftragsabwicklungPLM Open Hours - Konfigurierung, ein zentrales Element in der Auftragsabwicklung
PLM Open Hours - Konfigurierung, ein zentrales Element in der Auftragsabwicklung
 
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
Anforderungsanalyse - Zu Risiken und Nebenwirkungen (be-)fragen Sie Ihren Nut...
 
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktSwiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
 
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-Systeme
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-SystemePLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-Systeme
PLM Open Hours - Unterscheidungsmerkmale der verschiedenen CAD-Systeme
 

Similaire à Software Produktlinien: Einführung und Überblick (Vortrag)

Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklungbhoeck
 
PLM Open Hours - Softwareentwicklung im Innovationsprozess
PLM Open Hours - Softwareentwicklung im InnovationsprozessPLM Open Hours - Softwareentwicklung im Innovationsprozess
PLM Open Hours - Softwareentwicklung im InnovationsprozessIntelliact AG
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsGünther Haslbeck
 
PLM Open Hours - Dokumentation von Projekten mit Implementierungsanteil
PLM Open Hours - Dokumentation von Projekten mit ImplementierungsanteilPLM Open Hours - Dokumentation von Projekten mit Implementierungsanteil
PLM Open Hours - Dokumentation von Projekten mit ImplementierungsanteilIntelliact AG
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklungrico.fritzsche
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeNico Orschel
 
2011 07-13 collaboration solutions day - cedros
2011 07-13 collaboration solutions day - cedros2011 07-13 collaboration solutions day - cedros
2011 07-13 collaboration solutions day - cedrosPhilipp_Koenigs
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Adruni Ishan - applord Unternehmenspräsentation
Adruni Ishan - applord UnternehmenspräsentationAdruni Ishan - applord Unternehmenspräsentation
Adruni Ishan - applord UnternehmenspräsentationAdruni Ishan
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsThorsten Kamann
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine ÜbersichtJürgen Gutsch
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge UnternehmenBjoern Reinhold
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungAndreas Weidinger
 
Bachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20TscheschnerBachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20Tscheschnertutorialsruby
 
Bachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20TscheschnerBachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20Tscheschnertutorialsruby
 
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...Klaus Rüggenmann
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Hendrik Lösch
 
Fonda: Erfolgsfaktor Benutzeroberfläche
Fonda: Erfolgsfaktor BenutzeroberflächeFonda: Erfolgsfaktor Benutzeroberfläche
Fonda: Erfolgsfaktor BenutzeroberflächeFonda Wien
 

Similaire à Software Produktlinien: Einführung und Überblick (Vortrag) (20)

Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklung
 
PLM Open Hours - Softwareentwicklung im Innovationsprozess
PLM Open Hours - Softwareentwicklung im InnovationsprozessPLM Open Hours - Softwareentwicklung im Innovationsprozess
PLM Open Hours - Softwareentwicklung im Innovationsprozess
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web Applications
 
PLM Open Hours - Dokumentation von Projekten mit Implementierungsanteil
PLM Open Hours - Dokumentation von Projekten mit ImplementierungsanteilPLM Open Hours - Dokumentation von Projekten mit Implementierungsanteil
PLM Open Hours - Dokumentation von Projekten mit Implementierungsanteil
 
Agilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der SoftwareentwicklungAgilität und Qualitätskriterien in der Softwareentwicklung
Agilität und Qualitätskriterien in der Softwareentwicklung
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
2011 07-13 collaboration solutions day - cedros
2011 07-13 collaboration solutions day - cedros2011 07-13 collaboration solutions day - cedros
2011 07-13 collaboration solutions day - cedros
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Adruni Ishan - applord Unternehmenspräsentation
Adruni Ishan - applord UnternehmenspräsentationAdruni Ishan - applord Unternehmenspräsentation
Adruni Ishan - applord Unternehmenspräsentation
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
 
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
2008 - Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Modulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine EinführungModulare Enterprise Systeme - Eine Einführung
Modulare Enterprise Systeme - Eine Einführung
 
Systementwurf mit UML
Systementwurf mit UMLSystementwurf mit UML
Systementwurf mit UML
 
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
Java User Group Düsseldorf - Vortrag der iks am 13. März 2008
 
Bachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20TscheschnerBachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20Tscheschner
 
Bachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20TscheschnerBachelor%20thesis%20Willi%20Tscheschner
Bachelor%20thesis%20Willi%20Tscheschner
 
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...
Umsetzungsstrategien für Cross-Plattform Projekte - IA Konferenz 2013 Klaus R...
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?
 
Fonda: Erfolgsfaktor Benutzeroberfläche
Fonda: Erfolgsfaktor BenutzeroberflächeFonda: Erfolgsfaktor Benutzeroberfläche
Fonda: Erfolgsfaktor Benutzeroberfläche
 

Plus de Johannes Diemke

Pfadplanung mit harmonischen Potentialfeldern
Pfadplanung mit harmonischen PotentialfeldernPfadplanung mit harmonischen Potentialfeldern
Pfadplanung mit harmonischen PotentialfeldernJohannes Diemke
 
2010-JOGL-12-Projection-Shadows
2010-JOGL-12-Projection-Shadows2010-JOGL-12-Projection-Shadows
2010-JOGL-12-Projection-ShadowsJohannes Diemke
 
2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-ShadingJohannes Diemke
 
2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJJohannes Diemke
 
2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-MappingJohannes Diemke
 
2010-JOGL-08-Torus-Knoten
2010-JOGL-08-Torus-Knoten2010-JOGL-08-Torus-Knoten
2010-JOGL-08-Torus-KnotenJohannes Diemke
 
2010-JOGL-07-Hinweise-Uebungsblatt05
2010-JOGL-07-Hinweise-Uebungsblatt052010-JOGL-07-Hinweise-Uebungsblatt05
2010-JOGL-07-Hinweise-Uebungsblatt05Johannes Diemke
 
2010-JOGL-06-Licht-und-Material
2010-JOGL-06-Licht-und-Material2010-JOGL-06-Licht-und-Material
2010-JOGL-06-Licht-und-MaterialJohannes Diemke
 
2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen2010-JOGL-05-Transformationen
2010-JOGL-05-TransformationenJohannes Diemke
 
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-RemovalJohannes Diemke
 
2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung2010-JOGL-02-Einfuehrung
2010-JOGL-02-EinfuehrungJohannes Diemke
 
2010-JOGL-01-Organisation
2010-JOGL-01-Organisation2010-JOGL-01-Organisation
2010-JOGL-01-OrganisationJohannes Diemke
 
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Johannes Diemke
 
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Johannes Diemke
 
Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Johannes Diemke
 
Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Johannes Diemke
 
Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Johannes Diemke
 

Plus de Johannes Diemke (20)

Polymorphie
PolymorphiePolymorphie
Polymorphie
 
Prozedurale Texturen
Prozedurale TexturenProzedurale Texturen
Prozedurale Texturen
 
Pfadplanung mit harmonischen Potentialfeldern
Pfadplanung mit harmonischen PotentialfeldernPfadplanung mit harmonischen Potentialfeldern
Pfadplanung mit harmonischen Potentialfeldern
 
2010-JOGL-12-Projection-Shadows
2010-JOGL-12-Projection-Shadows2010-JOGL-12-Projection-Shadows
2010-JOGL-12-Projection-Shadows
 
2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading2010-JOGL-11-Toon-Shading
2010-JOGL-11-Toon-Shading
 
2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ
 
2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping
 
2010-JOGL-08-Torus-Knoten
2010-JOGL-08-Torus-Knoten2010-JOGL-08-Torus-Knoten
2010-JOGL-08-Torus-Knoten
 
2010-JOGL-07-Hinweise-Uebungsblatt05
2010-JOGL-07-Hinweise-Uebungsblatt052010-JOGL-07-Hinweise-Uebungsblatt05
2010-JOGL-07-Hinweise-Uebungsblatt05
 
2010-JOGL-06-Licht-und-Material
2010-JOGL-06-Licht-und-Material2010-JOGL-06-Licht-und-Material
2010-JOGL-06-Licht-und-Material
 
2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen
 
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal
2010-JOGL-04-Geometrische-Primitive-und-Hidden-Surface-Removal
 
2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung
 
2010-JOGL-01-Organisation
2010-JOGL-01-Organisation2010-JOGL-01-Organisation
2010-JOGL-01-Organisation
 
Boost C++ Libraries
Boost C++ LibrariesBoost C++ Libraries
Boost C++ Libraries
 
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
 
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
 
Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)
 
Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Theory Exploration (Vortrag)
Theory Exploration (Vortrag)
 
Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)
 

Software Produktlinien: Einführung und Überblick (Vortrag)

  • 1. CARL VON OSSIETZKY Software Produktlinien: ¨ Einf¨hrung und Uberblick u Johannes Diemke Vortrag im Rahmen des Seminars Software System Engineering im Wintersemester 2007/2008
  • 2. ¨ Ubersicht 1 Motivation 2 Systematische Wiederverwendung 3 Software Produktlinien Systemartefakte Produktraum Variablit¨t a Produktraum-Variablit¨t a Variationspunkte Produktlinien-Architektur Produktlinien-Prozesse Domain Engineering Application Engineering Management 4 Fazit Johannes Diemke Software Produktlinien 13. Februar 2008 2/23
  • 3. Motivation Probleme der Software-Technik Steigende Komplexit¨t und Gr¨ße zu entwickelnder Softwaresysteme a o Softwaresysteme sollen immer leistungsf¨higer, zuverl¨ssiger, a a komplexer, gleichzeitig aber immer g¨nstiger in Produktion und u Wartung, sowie schneller in Entwicklung und Auslieferung werden Eine L¨sung o Die systematische Wiederverwendung erm¨glicht es diese scheinbar o unvereinbaren Ziele zu erreichen Insbesondere stellt die Entwicklung von Software Produktlinien einen der leistungsf¨higeren Ans¨tze der systematischen a a Wiederverwendung dar Johannes Diemke Software Produktlinien 13. Februar 2008 3/23
  • 4. Systematische Wiederverwendung Wiederverwendung Ein schon lange verfolgter Ansatz, dessen Nutzen relativ fr¨h auch u f¨r die Software-Technik erkannt wurde u Es werden, wie bei den meisten anderen technischen Disziplinen, im Entwurfsprozess vorgefertigte Komponenten genutzt Vorteile der Wiederverwendung: geringere Entwicklungskosten h¨here Zuverl¨ssigkeit o a beschleunigte Entwicklung Systematische Wiederverwendung Um eine systematische Wiederverwendung zu erreichen, muss diese allerdings fr¨hzeitig in den Entwurfsprozess mit einbezogen werden u und richtig geplant sein Johannes Diemke Software Produktlinien 13. Februar 2008 4/23
  • 5. Software Produktlinien Grundlage Softwarehersteller spezialisieren sich h¨ufig auf spezielle a Anwendungsdom¨nen und entwickeln f¨r diese eine Menge von a u Produktvarianten (Produktfamilie) Produktvarianten haben aber naturgem¨ß eine gemeinsame a Grundstruktur und eine Vielzahl ¨hnlicher Eigenschaften a Ziel des Produktlinien Ansatzes Ausnutzung des vorhandenen Wiederverwendungspotentials einer Produktfamilie, indem die dazu n¨tige Infrastruktur geschaffen wird o Johannes Diemke Software Produktlinien 13. Februar 2008 5/23
  • 6. Software Produktlinien Definition Eine Software Produktlinie (SPL) ist eine Menge von softwareintensiven Systemen, die sich eine Reihe von Systemartefakten teilen, einer speziellen Anwendungsdom¨ne angeh¨ren und eine gemeinsame a o systemspezifische Architektur besitzen. Jedes dieser Systeme ist auf die eine oder andere Art spezialisiert, der gemeinsame Kern der Systeme wird jedoch jedesmal wiederverwendet. Software Produktlinien Ansatz Erstellung einer Menge von softwareintensiven Systemen auf Basis einer Menge gemeinsam genutzter Systemartefakte Systematische Wiederverwendung wird dabei von Anfang an in den Entwurfsprozess mit einbezogen Johannes Diemke Software Produktlinien 13. Februar 2008 6/23
  • 7. Software Produktlinien Systemartefakte Konkrete Produktvarianten werden im Produktlinien-Ansatz durch das Ausw¨hlen und Anpassen von Systemartefakten erzeugt a Systemartefakte sind die Grundbausteine der Produktlinie zur Erstellung von Produktvarianten M¨gliche Systemartefakte: o wiederverwendbare Softwarekomponenten Softwarearchitekturen Module Frameworks Plattformdienste Eine besondere Bedeutung kommt den Softwarearchitekturen zu, welche erst eine Wiederverwendung und Organisation der anderen Systemartefakte erm¨glichen o Johannes Diemke Software Produktlinien 13. Februar 2008 7/23
  • 8. Software Produktlinien Systemartefakte (Forts.) Mindestens genauso wichtig sind Systemartefakte die Erfahrungen und das angesammelte strategische Wissen der Anwendungsdom¨ne a wiederspiegeln: Gesch¨ftsmodelle a Anforderungsspezifikationen Projektpl¨ne a Budgets Testf¨lle a dom¨nenspezifische Muster a Prozesse und Richtlinien Jedes erstellte Systemartefakt ist ein Teil der Software Produktlinie und wird in einem Artefaktkatalog inventarisiert Johannes Diemke Software Produktlinien 13. Februar 2008 8/23
  • 9. Software Produktlinien Systemartefakte (Forts.) Die Systemartefakte, mit den f¨r eine Produktvariante u produktspezifischen Entscheidungen, dienen im Produktionsprozess als Basis zur Erstellung neuer Produktvarianten Systemartefakte Produktionsprozess Produktvarianten produktspezifische Entscheidungen Johannes Diemke Software Produktlinien 13. Februar 2008 9/23
  • 10. Software Produktlinien Produktraum Definiert Umfang einer Software Produktlinie Auflistung und Beschreibung der zu der Software Produktlinie geh¨renden Produktvarianten o Dokumentation der Anforderungen und Unterschiede zwischen einzelnen Produktvarianten Identifikation von Gemeinsamkeiten zwischen den Produktvarianten der Produktlinie Produkt×Feature-Tabellen Darstellung von Abh¨ngigkeiten zwischen den einzelnen Features a Feature-Graphen Johannes Diemke Software Produktlinien 13. Februar 2008 10/23
  • 11. Software Produktlinien Variablit¨t a Produktvarianten einer Software Produktlinie zeichnen sich durch eine Vielzahl gemeinsamer und variierender Features aus Variablit¨tsaspekte spielen bei der Entwicklung von Software a Produktlinien eine ubergeordnete Rolle ¨ Unter Variablit¨t wird im Allgemeinen die M¨glichkeit verstanden, a o Systeme oder Komponenten zu ¨ndern und an individuelle a Bed¨rfnisse anzupassen. u Bei Produktlinien bezeichnet sie die Unterschiede der Produktvarianten und definiert den Rahmen, in dem diese durch Selektion von Systemartefakten individuell angepasst werden k¨nnen o Tritt in unterschiedlichster Form auf: Unterst¨tzung mehrerer Betriebssysteme u komplexe Anpassung von Systemartefakten Johannes Diemke Software Produktlinien 13. Februar 2008 11/23
  • 12. Software Produktlinien Produktraum-Variablit¨t a Beschreibung der Variablit¨t des Produktraums a Feature×Produkt-Tabellen Feature-Graphen Definition Features beschreiben Merkmale der Software Produktlinie, die Gemeinsamkeiten und Unterschiede der einzelnen Produktvarianten darstellen. Features lassen sich weiter klassifizieren in: externe Features notwendige Features optionale Features Johannes Diemke Software Produktlinien 13. Februar 2008 12/23
  • 13. Software Produktlinien Produktraum-Variablit¨t (Forts.) a Beschreibung eines Produktraums einer Software Produktlinie zur Erstellung mehrerer Varianten eines Mail-Clients mit Hilfe eines Feature-Graphen: Mail Client « external » « external » Receive Message Send Message Runtime Platform TCP Connection Type Message runtime runtime compiletime « external » « external » Signature Edit Pop3 IMAP win32 linux runtime or specialization composition « external » « external » Internal Editor vi Emacs xor specialization optional feature Johannes Diemke Software Produktlinien 13. Februar 2008 13/23
  • 14. Software Produktlinien Variationspunkte Produkt- und systemumgebungsspezifische Variablit¨t wird durch so a genannte Variationspunkte abgebildet Variationspunkte sind Punkte im Entwicklungsablauf, an denen Entwurfsentscheidungen bez¨glich der Variablit¨t getroffen werden u a m¨ssen, um eine konkrete Variante eines Features zu erhalten u Es muss eine aus mehreren Entwurfsalternativen gew¨hlt werden a Binden von Variationspunkten Das Binden kann dabei zu unterschiedlichen Zeitpunkten stattfinden: Architekturentwurf Feinentwurf Implementierung ¨ Ubersetzung Laufzeit Johannes Diemke Software Produktlinien 13. Februar 2008 14/23
  • 15. Software Produktlinien Produktlinien-Architektur stellt gemeinsame generische Referenzarchitektur f¨r alle im u Produktraum liegenden Produktvarianten zur Verf¨gung u konkrete Produktvarianten leiten ihre Architektur von der Produktlinien-Architektur ab Durch die f¨r die gesamte Produktlinie g¨ltige Architektur kann f¨r u u u alle Produkte die Erf¨llung nichtfunktionaler Anforderungen u sichergestellt werden: Performance Verf¨gbarkeit u Skalierbarkeit Erweiterbarkeit Ziel ist es eine Produktlinien-Architektur zu entwickeln, welche den Anforderungen der Produktvarianten der gesamten Produktlinie gen¨gt u Johannes Diemke Software Produktlinien 13. Februar 2008 15/23
  • 16. Software Produktlinien Produktlinien-Architektur (Forts.) Eine Produktlinien-Architektur bietet verschiedene Variationsm¨glichkeiten hinsichtlich ihrer Komponenten und o Konnektoren Definiert explizit welche Komponenten obligatorisch, optional und variabel sind und wie diese durch konkrete Komponente instanziiert werden Im Idealfall ist es f¨r Produktvarianten m¨glich, direkt die u o Referenzarchitektur zu nutzen Bindung der Variationspunkte durch Selektion konkreter Komponenten in der Architektur Teilweise muss die Referenzarchitektur selbst an die produktspezifischen Anforderungen angepasst werden Johannes Diemke Software Produktlinien 13. Februar 2008 16/23
  • 17. Software Produktlinien Produktlinien-Prozesse Bei der Entwicklung von Software Produktlinien wird zwischen drei zentralen und iterativen Prozessen unterschieden: Domain Engineering Application Engineering Management Domain Engineering Das Domain Engineering l¨sst in drei weitere Teilprozesse a unterteilen: Dom¨nenanalyse & Scoping a Architekturentwurf Implementierung Johannes Diemke Software Produktlinien 13. Februar 2008 17/23
  • 18. Software Produktlinien Domain Engineering (Forts.) Die Dom¨nenanalyse umfasst die Anforderungsanalyse f¨r die a u gesamte Produktlinie und dokumentiert die Gemeinsamkeiten und Unterschiede aller geplanter Produktvarianten In der Scopingphase werden alle Informationen zu den geplanten Produkten gesammelt In der Architekturentwurfsphase wird eine Produktlinien-Architektur entworfen In der Implementierungsphase werden die Systemartefakte konzipiert und entwickelt Ziel des Domain Engineering ist es, dem Application Engineering Prozess eine technische und organisatorische Plattform zur Verf¨gung zu stellen u Johannes Diemke Software Produktlinien 13. Februar 2008 18/23
  • 19. Software Produktlinien Application Engineering Bezeichnet den Teilprozess in dem konkrete Produktvarianten durch das Ausw¨hlen und Anpassen von Systemartefakten erzeugt werden a Im Idealfall entstehen neue Produktvarianten durch das Zusammenbauen nach einem Produktionsplan Verlagerung des Schwerpunkts vom Programmieren zum Integrieren F¨r jede Produktvariante werden drei Phasen durchlaufen: u Systemanalyse Systementwurf Systemimplementierung Die Anforderungen einer konkreten Produktvariante k¨nnen o wiederum dazu f¨hren, dass der Domain Engineering Prozess u angestoßen wird um die Plattform entsprechend anzupassen und gegebenenfalls um Systemartefakte zu erweitern Johannes Diemke Software Produktlinien 13. Februar 2008 19/23
  • 20. Software Produktlinien Management Das Management unterst¨tzt und koordiniert die beiden anderen u Prozesse Unterscheidung zwischen: technischem Management organisatorischem Management Das technische Management uberwacht die Entwicklung der ¨ Systemartefakte und der konkreten Produktvarianten Das organisatorische Management ist f¨r die Planung, Priorisierung u und Verteilung der Ressourcen zust¨ndig a Das Management ist von entscheidender Bedeutung f¨r die u erfolgreiche Umsetzung eienr Software Produktlinie Johannes Diemke Software Produktlinien 13. Februar 2008 20/23
  • 21. Software Produktlinien Produktlinien-Prozesse Die drei zentralen Prozesse bei der Entwicklung von Software Produktlinien: Domain Engineering Process Prozesse Richtlinien Architektur Anforderungen Product Line Management Infrastruktur Neue Artefakte Process Werkzeuge Komponenten Application Engineering Produkte Process Johannes Diemke Software Produktlinien 13. Februar 2008 21/23
  • 22. Fazit Die Einf¨hrung von Software Produktlinien ist ein vielversprechender u Ansatz Reduktion der Entwicklungskosten Erh¨hung der Produktzuverl¨ssigkeit und Produktqualit¨t o a a beschleunigte Entwicklung Die Komplexit¨t der Einf¨hrung, des Aufbaus und des Betriebs stellt a u aber eine große H¨rde f¨r die Aussch¨pfung des vorhandenen u u o Wiederverwendungspotentials dar Es ist viel Zeit und eine hohe Vorabinvestition n¨tig, um eine o Produktlinie einzuf¨hren u W¨hrend der Aufbauphase wirft eine Produtkline keine Ertr¨ge ab a a Aus diesen Gr¨nden scheitern viele Unternehmen bei dem Versuch u eine Produktlinie einzuf¨hren u Ist eine Produktfamilie etabliert, treten die Nachteile immer mehr in den Hintergrund und die Vorteile kommen zum Vorschein Johannes Diemke Software Produktlinien 13. Februar 2008 22/23
  • 23. Fragen Vielen Dank fur Ihre Aufmerksamkeit! ¨ Johannes Diemke Software Produktlinien 13. Februar 2008 23/23