Software Lifecycle Management Erfolgreiches Management von Embedded Software Dr.$Jörg(Volker$Müller$ Systemum$GmbH$&$Co.$KG$ www.systemum.de$ Design&Elektronik$Entwicklerforum$ 11.$Juli$2012$ $ Produkt Mechanik) P100 "istockphoto/enderstse" Sensorik/ Aktuatorik) So2ware) Elektronik)
Produktlinie P100 P200 P300 P100)Mechanik) S/A) So2ware) Elektronik) P200)Mechanik) S/A) P200) So2ware) P200) Elektronik) P300)Mechanik) S/A) P300) So2ware) P300) P200) Elektronik) isiken... und das kann alles passieren $ kundenspezifische$anpassungen$ Hardwarebaustein$wird$abgekündigt$ DokumentaMon$wird$nicht$nachgezogen$ Fehler$werden$ mal$eben $gefixed$ Architektur$wird$nicht$nachgezogen$ Mitarbeiter$verlässt$das$Unternehmen$ Ingenieurbüro$mit$Know(how$geht$Pleite$ Tools$erweisen$sich$als$untauglich$...$ $ $ Das$klingt$dann$so:$ Das"ist"eher"..."äh"..."gewachsener" Code. " Wir"ers;cken"in"Varianten! " Wir"wissen"nicht"mehr,"welche"Version" bei"welchem"kunden"installiert"ist! " Die"Qualität"leidet."Wir"erhalten"bereits" Beschwerden"von"Kunden. "
Die Herausforderungen Änderungsmanagement$DokumentaMon$Erosion$Fehlerabstellkosten$ Flexibilität$Harmonisierung$Individualität$$ InvesMMonsschutz$Komplexität$Konsolidierung$ Kundenzufriedenheit$Lebenszyklus$Management$ Modernisierung$Nachvollziehbarkeit$Overdesign$ProdukMvität$ Produktlinien$Qualität$edesign$Stabilität$Test$Time( to(market$transparenz$usability$varianten$ Wiederverwendung$Wissensverlust$Zuverlässigkeit$ Software Lifecycle Management Die 4D des Software Lifecycles
Software Lifecycle Management Produktmanagement der Softwareanteile in der Produktentwicklung Domain$Engineering$ Architekturmanagement$ Produktmanagement$ Asset$Management$ Service$&$Support$ Soawarewartung$ Soawareengineering$ KonfiguraMonsmanagement$ Produktmanagement Planung des Lebenszyklus eines Produkts Produktmanagement$! Produktentstehungsprozess$(z.B.$Stage( Gate)$! DefiniMon$von$Features$(=$equirements)$! Entscheidungskompetenz$(Product$Owner)$! FunkMonierende$Schnigstelle$zur$ Entwicklung$
Domain Engineering Schaffung von zentralen Plattformen Domain$Engineering$! Fokus$auf$Produktlinien$und$ familien$! Entwicklung$in$Plaiormen$und$Baukästen$! Wiederverwendung$von$ equirements$ Architekturelemente n$ Modulen$ Frameworks$ Tools$ Methoden$ Vorgehensweisen$ Prozessen$ Domain Engineering Schaffung von zentralen Plattformen Beispiel:$AUTOSA)=$Grundlage$für$die$Domäne$ Elektronische$ Steuergeräte $in$den$subdomänen$body,$chassis,$safety,$...$im$fahrzeug$ " Architektur$der$Soaware$in$einem$Steuergerät$ " Basissoaware$mit$Treibern,$Schnigstellen,$Betriebssystemdiensten$etc.$ " Mechanismus$für$die$Vernetzung$der$Dienste$untereinander$(VFB/TE)$ " Entwicklungsmethodik$mit$standardisierter$Beschreibung$der$ Schnigstellen$ "AUTOSA"
Architekturmanagement Pflege und Weiterentwicklung der Architekturkomponenten Architekturmanagement$! Wer$verwaltet$welche$Architekturelemente?$! Wie$ist$der$Prozess$bei$Änderungen$an$der$ Architektur?$! Wer$sorgt$für$die$Weiterentwicklung$der$ Architektur?$ Assetmanagement Welche Architekturelemente stehen zur Verfügung? Asset$Management$! Schnigstelle$zwischen$Domain$Engineering,$ Architekturmanagement$und$ KonfiguraMonsmanagement$! Verwaltung/Pflege$der$zentralen$Architekturelemente$ und$dokumente$! Zentrale$Schnigstelle:$elease$Management$ $ Welche$Komponente$wird$wo$genutzt/installiert?$
Software Lifecycle Management Produktmanagement der Softwareanteile in der Produktentwicklung Domain$Engineering$ Architekturmanagement$ Produktmanagement$ Asset$Management$ Service$&$Support$ Soawarewartung$ Soawareengineering$ KonfiguraMonsmanagement$ Es gibt Checklisten! ISO/IEC 15504 SPICE / Automotive SPICE ""Kugler"Maag"Cie"
SPICE ein Beispiel aus dem Process Assessment Model Beispiel Architekturdokumentation So macht es SAP
Beispiel FMC Block Diagramm Nicht UML-konform. Na und? User GUI Bike Computer Settings Live Data View Trip Data View Health Data View Flash Memory HMI Settings Odometer Flash Memory Wheel Circumference Calibration Data Mileage AM Data Manager GPS Track Altitude Cadence Heartrate Data Aggregator PC Interface Barometer otation eceiver otation Transmitter Cadence eceiver Cadence Transmitter GPS eceiver Heartrate eceiver Heartrate Transmitter USB PC User Software Lifecycle Management Zusammenfassung Komplexe$Produkte$und$Produktlinien$erfordern$ein$geplantes)Vorgehen) bei$den$komponenten,$insbesondere$der$soaware.$ Ein$geplantes,$vom$Produktlebenszyklus$getrenntes,$Management)der) So2warebausteine$ermöglicht$einen$hohen)Wiederverwendungsgrad.$ Neben$der$technischen$Lösung$muss$eine$passende)OrganisaGon)für$den$ jeweiligen$unternehmensbereich$gefunden$werden.$ Es$gilt$stets,$im$Kontext$der$externen$Anforderungen$(Gesetze,$Safety,$ Budget$etc.)$eine)für)die)jeweilige)Aufgabe)passende)Struktur)zu$finden.$ Dabei$ist$ein$Abweichen)von)Standards$immer$möglich$und$oa$sinnvoll.$ Externe)Kompetenz)kann$helfen,$Erfahrungen$aus$anderen$Domänen$und$ Unternehmen$einzubringen$(vgl.$AUTOSA).$ Es$geht$nicht$um$die$Erreichung$von$eifegraden,$sondern$um$eine$ erfolgreiche,)wirtscha2liche)und)vor)allem)langlebige)produktstrategie.$