59
Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009 Vorlesung „Embedded Software-Engineering im Bereich Automotive“ Technische Universität Dresden, Fakultät Informatik, Professur Softwaretechnologie WS 2008/2009 Dr. rer. nat. Bernhard Hohlfeld [email protected] 1

Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Vorlesung „Embedded Software-Engineering im Bereich

Automotive“

Technische Universität Dresden, Fakultät Informatik, Professur Softwaretechnologie

WS 2008/2009

Dr. rer. nat. Bernhard [email protected]

1

Page 2: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Inhalt

1. Motivation und Überblick

2. Grundlagen Fahrzeugentwicklung, KFZ-Elektronik und Software

3. Übersicht Automotive Elektrik/Elektronik-Entwicklung (E/E)

4. Kernprozess zur Entwicklung von elektronischen Systemen und Software

5. Unterstützungsprozesse für die Embedded Software Entwicklung

6. Beispiele aus der Praxis

7. Wichtige Normen/Standards/Empfehlungen für die Embedded Software Entwicklung

2

Page 3: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung

3

Page 4: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Kapitel 3

Quelle

4

Page 5: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

• Weitgehend unabhängig von Software

• Anwendbar auf allen Systemebenen im Fahrzeug

• Sollwertgeber

• Sensoren

• Aktoren

• Hardware

• Software

Unterstützungsprozesse für die Entwicklung von elektronischen Systemen und Software

5

Page 6: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung

6

Page 7: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Grundbegriffe der Systemtheorie

• Systemtheorie = Vorgehensweisen zum Umgang mit Komplexität

• Ansatz

• Divide et impera / Teile und Beherrsche

• Annahmen

1. Die Aufteilung des Systems in Komponenten verfälscht nicht das betrachtete Problem.

2. Die Komponenten für sich betrachtet sind in wesentlichen Teilen identisch mit den Komponenten des Systems.

3. Die Prinzipien für den Zusammenbau der Komponenten zum System sind einfach, stabil und bekannt.

• Diese Annahmen sind bei der Entwicklung von elektronischen Systemen und Software für Fahrzeuge erfüllt bzw. erfüllbar.

• Die Eigenschaften des Systems ergeben sich aus dem Zusammenspiel der Komponenten

• Komplexität des Systems führt zu komplexen und aufwändigen Analysen der Komponenten und ihres Zusammenspiels = Kern der Systemtheorie

• Komponenten

• Technische Bauteile

• Menschen

• Umwelt

7

Page 8: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Systemdefinition

• Ein System ist eine von ihrer Umgebung abgegrenzte Anordnung aufeinander einwirkender Komponenten

• Beispiel

• Systemeingänge

• Aktionen des Fahrers

• Beschleunigen

• Bremsen

• Lenken

• Blinken

• Sensorsignale

• Reibwerterkennung

• System

• Fahrzeug

• Systemausgänge

• Geschwindigkeitsvektor

• Aktionen

• Blinker leuchtet

8

Page 9: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Systemzustand

• Systemzustand

• Menge von Eigenschaften, die das System zu einem bestimmten Zeitpunkt beschreiben

• Beispiele

• Motor läuft mit 4862 Umdrehungen / min

• Getriebe läuft im 5. Gang

• Im Radio läuft MDR Jump

9

Page 10: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Systemumgebung

• Systemumgebung (Umgebung)

• Menge von Komponenten, die nicht zum System gehören, aber das System beeinflussen (können)

• Beispiel

• System: Fahrzeug

• Umgebung: Fahrer, Strasse

• Systemschnittstellen

• Signale aus der Umgebung (Systemeingänge)

• Signale an die Umgebung (Systemausgänge)

über die Systemgrenze

• Komponenten eines Systems können wiederum Systeme sein (Subsysteme)

• Mehrere Systemebenen (Betrachtungsebene, Abstraktionsebene)

• Aussensicht

• Abstraktion der Systemsicht auf Systemgrenze und Systemschnittstellen

• Keine Unterscheidung zwischen Komponente und System

10

Page 11: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Modellierung von Systemen

• Methoden zur Modellierung von Systemen

• Abstraktion durch

• Hierarchiebildung

• Zusammenführung von Komponenten zum System

• Integration

• Komposition

• Modularisierung

• Zerlegung eines Systems in Komponenten

• Partitionierung

• Dekomposition

11

Page 12: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Beispiel: Systemebenen in der Fahrzeugelektronik

12

Page 13: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung

13

Page 14: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Vorgehensmodelle und Standards

• CMMI Capability Maturity Model Integration

• http://www.sei.cmu.edu/cmmi

• SPICE Software Process Improvement and Capability Determination (ISO/IEC 15504-1)

• http://www.sqi.gu.edu.au/spice/

• V-Modell

• V-Model 1997

• http://www.v-modell.iabg.de

• V-Modell XT 2005

• http://www.kbst.bund.de/cln_012/nn_1000358/Content/Standards/V__Modell__xt/v__modell__xt__node.html__nnn=true

• http://www.kbst.bund.de/-,279/v-modell.htm (Schäuffele/Zurawka) ist nicht mehr gültig

14

Page 15: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

V-Modell und CMMI

• V-Modell: Tätigkeitsbereiche

• Systemerstellung

• Projektmanagement

• Konfigurationsmanagement

• Qualitätssicherung

• CMMI Reifegradstufe 2: Key Process Areas

• Anforderungsmanagement

• Konfigurationsmanagement

• Qualitätssicherung

• Projektplanung

• Projektverfolgung

• Lieferantenmanagement

• In dieser Vorlesung

• Konfigurationsmanagement

• Projektmanagement

• Lieferantenmanagement

• Anforderungsmanagement

• Qualitätssicherung

15

Page 16: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Anpassung für konkrete Projekte

• Motorsteuergeräte

• Kalibrierung wichtig

• Vielzahl verschiedener Funktionen

• Karosserieelektronik

• Kalibrierung untergeordnet

• Verteilte und vernetzte Systeme

• Kein Anspruch auf Vollständigkeit, sondern Darstellung der Vorgehensweise mit Beispielen

16

Page 17: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement 1. Produkt und Lebenszyklus2. Varianten und Skalierbarkeit3. Versionen und Konfigurationen

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung

17

Page 18: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Produkt und Lebenszyklus

• Phasen

• Entwicklung

• Produktion

• Betrieb und Service

18

Page 19: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

• Unterschiedliche Lebenszyklen der Komponenten

• Fahrzeug 10 - 20 Jahre

• Steuergeräte 2 Jahre

• Unterhaltungselektronik 6 Monate

• Unterschiedliche Anforderungen an Schnittstellen des Steuergerätes in Entwicklung, Produktion, Betrieb und Service

Produkt und Lebenszyklus

19

Page 20: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Varianten und SkalierbarkeitVariantenbildung für Komponenten

• Zunehmende Anzahl von Fahrzeugvarianten

• Gestiegene Kundenerwartungen

• Individualisierung

• Erweiterbarkeit

• Bespiel

• Variante 1:Automatikgetriebe

• Variante 2:Schaltgetriebe

20

Page 21: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Varianten und SkalierbarkeitSkalierbare Systemarchitekturen

• Zunehmende Anzahl von Fahrzeugvarianten

• Gestiegene Kundenerwartungen

• Individualisierung

• Erweiterbarkeit

• Beispiel

• Komponente Z:Schiebedach

21

Page 22: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Versionen und Konfigurationen

• Systemvarianten können auf allen Systemebenen auftreten

• Hierarchiebeziehungen

• Baumstrukturen

• Jede Komponente gehört zu genau einem System

• Netzstrukturen

• Eine Komponente kann zu mehreren Systemen gehören

• Das Versions- und Konfigurationsmanagement zur Verwaltung von geht von Netzstrukturen aus

• Warum?

22

Page 23: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Versionen

• Bestehende elektronische Systeme werden weiterentwickelt

• Zusätzliche elektronische Systeme werden eingeführt

• Komponentenebene

• Zu bestimmten Zeitpunkten verschiedene Versionen

• Systemebene

• Zusätzlich Verwaltung der Beziehungen (Referenzen) zu den enthaltenen Komponenten

• Version: Verwaltung der Komponente an sich

23

Page 24: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Konfiguration

• Eine Konfiguration ist eine versionierbare Komponente, die eine Menge anderer versionierbarer Komponenten referenziert.

• Verwaltung der Beziehungen zu den enthaltenen Komponentenversionen.

• Referenzierte Versionen dürfen nicht mehr geändert werden

• Versionen einer Konfiguration

• Versionen der Komponenten

• Änderung der Hierarchiebeziehungen

24

Page 25: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Konfigurationsmanagement

• Eigentlich:

• Versions- und Konfigurationsmanagement

• Verwaltet die Beziehungen zwischen Systemen und Komponenten und deren Änderungen

• Weiterentwicklungen von Komponenten

• Änderung der Hierarchien von Systemen

• Wichtiger Bestandteil von

• Entwicklungsprozessen

• Produktionsprozessen

• Serviceprozessen

• Das Konfigurationsmanagement verwaltet

• Anforderungen

• Spezifikationen

• Implementierungen (Programmstände, Datenstände)

• Beschreibungsdateien für Diagnose, Software-Update, Software-Parametrierung

• Dokumentation

25

Page 26: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement1. Projektplanung2. Projektverfolgung und Risikomanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung

26

Page 27: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projekte

• Als Projekte werden Aufgabenstellungen bezeichnet, die durch folgende Merkmale gekennzeichnet sind

• Aufgabenstellung mit Risiko und einer gewissen Einmaligkeit - keine Routineaufgaben

• Eindeutige Aufgabenstellung

• Verantwortung und Zielsetzung für ein zu lieferndes Gesamtergebnis

• Zeitliche Befristung mit klarem Anfangs- und Endtermin

• Begrenzter Ressoureneinsatz

• Besondere auf das Projekt abgestimmte Organisation

• Häufig: Teilaufgaben und Organisationseinheiten

• Verschiedenartig

• Untereinander verbunden

• Wechselseitig voneinander abhängig

27

Page 28: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projektziele

• Qualitätsziele

• Welche Anforderungen sollen vom Gesamtergebnis erfüllt werden?

• Kostenziele

• Wie viel darf die Erarbeitung des Gesamtergebnisses kosten?

• Terminziele

• Wann soll das Gesamtergebnis vorliegen?

28

Qualitätsziele

Kostenziele Terminziele

Page 29: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projektmanagement

• Projektplanung

• Planung der Umsetzung der Projektziele

• Qualitätsplanung

• Kostenplanung

• Terminplanung

• Organisationsplanung

• Einsatzplanung

• Risikoanalyse

• Projektverfolgung / Projektsteuerung

• Verfolgung und Überwachung von

• Qualität

• Kosten

• Terminen

• Risikomanagement

• Beobachtung von auftretenden Risiken und Gegensteuerung

29

Page 30: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projektplanung

• Definition der Teilaufgaben eines Projektes

• Meilenstein

• Abschluss einer Teilaufgabe

• Termin für

• Teillieferungen

• Tests

• Teilzahlungen

• Projektphase

• Zeitraum, in dem eine Teilaufgabe bearbeitet wird

• Im allgemeinen vier Projektphasen (die in der Realität weiter untergliedert werden)

30

Page 31: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projektplanung: Qualität und Kosten

• Qualitätsplanung

• Festlegung der Massnahmen zur Erreichung des Gesamtergebnisses

• Für alle Projektphasen

• Richtlinien zur Qualitätssicherung

• Massnahmen zur Qualitätsprüfung

• Phasenübergreifende Zusammenfassung in einem Qualitätsplan

• Kostenplanung

• Personalkosten

• Einsatzpläne für Mitarbeiter

• Sachkosten

• Materialkosten

• Raumkosten

• Reisekosten

• Massnahmen

• Z.B. Wiederverwendung von Ergebnissen aus anderen Projekten

31

Page 32: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Projektplanung: Termine

• Terminplanung

• Festlegung des Zeitraums für die Durchführung der Projektphasen

• Anfangstermin

• Endtermin / Meilenstein

• Herausforderungen

• Einsatz von Mitarbeitern in verschiedenen Projekten

• Gleichzeitige Durchführung mehrerer Projekte

• Abhängigkeiten zwischen den Projektphasen

• Abarbeitung

• Sequentiell bei abhängigen Aufgaben

• Parallel bei unabhängigen Aufgaben

• Verkürzung der Entwicklungszeit

• Simultaneous Engineering

• Planung und und Synchronisation zeitlich paraller Entwicklungsschritte

32

Page 33: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Beispiel: Terminplan für Fahrzeugentwicklung

Abstimmung von Fahrzeug-, Elektronik- und Software-Entwicklung

33

Page 34: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Sequentielle Planung

Vorteile: Sequentieller Informationsfluss ohne Risiko

Nachteile: Lange Bearbeitungszeit

Beispiel: Integrationstest (Phase B) nach Integration (Phase A)

34

Page 35: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Parallele Planung ohne Einfrieren

Vorteile: Kürzere Bearbeitungsdauer

Nachteile: Risiko von Verzögerungen durch Iterationen in der Phase B

Beispiel: Anwendungssoftware (Phase B) wird mit Rapid Prototyping System vor Fertigstellung der Plattformsoftware (Phase A) begonnen

35

Page 36: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Parallele Planung mit Einfrieren

Vorteile: Kürzere Bearbeitungsdauer

Nachteile: Risiko von Qualitätseinbussen durch frühe Einschränkungen in der Phase A

Beispiel: Kalibrierung von implementierten Funktionen der Anwendungssoftware (Phase B) vor Fertigstellung aller Funktionen (Phase A)

36

Page 37: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Rollen und Aufgabengebiete in der Entwicklung

37

Page 38: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement1. System- und Komponentenverantwortung2. Schnittstellen für Spezifikation und Integration3. Festlegung des firmenübergreifenden Entwicklungsprozesses

6. Anforderungsmanagement

7. Qualitätssicherung

38

Page 39: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Entwicklung elektronischer Systeme im Automobil

• Starke Arbeitsteilung zwischen Fahrzeugherstellern und Zulieferern

• Festlegung der Anforderungen an eine zu entwickelnde Funktion

• Fahrzeughersteller

• Realisierung der Funktion durch elektronische Systeme

• Zulieferer

• Abstimmung und Abnahme der Funktion im Fahrzeug

• Fahrzeughersteller

• Firmenübergreifende Zusammenarbeit

• Technische Aspekte

• Organisatorische Aspekte

• Rechtliche Aspekte

• Lieferantenmanagement

• Alle Aufgaben, die im Rahmen der Systementwicklung an den Schnittstellen zwischen Fahrzeughersteller und Zulieferern beachtet werden müssen

39

Page 40: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

System- und Komponentenverantwortung

• Präzise Definition der Schnittstellen zwischen Fahrzeughersteller und Zulieferern

• Orientierung am V-Modell

• Fahrzeughersteller

• Gesamtfahrzeug

• Zulieferer

• Komponenten

40

Page 41: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Schnittstellen für Spezifikation und Integration

• Zwei Arten von Schnittstellen

• Spezifikationsschnittstelle im linken Ast des V-Modellls

• Integrationsschnittstelle im rechten Ast des V-Modellls

• Grosse Komplexität

• Hersteller

• n Komponenten von n verschiedenen Zulieferern

• 1:n-Beziehung an der Spezifikationsschnittstelle

• 1:n-Beziehung an der Integrationsschnittstelle

• Zulieferer

• 1 Komponente an m verschiedene Hersteller

• 1:m-Beziehung an der Spezifikationsschnittstelle

• 1:m-Beziehung an der Integrationsschnittstelle

41

Page 42: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Festlegung des firmenübergreifenden Entwicklungsprozesses

• Elektronische Steuergeräte sind eingebettete Systeme, die für den Benutzer nicht unmittelbar in Erscheinung treten

• Beispiel: Türsteuergerät

• Für den Benutzer sind die Funktionen sichtbar

• Beispiele:

• Fensterheber

• Spiegelverstellung

• Sitzverstellung

• Grundfunktionen können herstellerübergreifend entwickelt werden

• Beispiel:

• Steuerung von Fensterheber, Spiegelverstellung, Sitzverstellung

• Wetbewerbsdifferenzierende Zusatzfunktionen werden herstellerspezifisch entwickelt

• Beispiel:

• Automatische Spiegelverstellung und Sitzverstellung (Memory, Ergonomie)

42

Grundidee von AUTOSAR

Page 43: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

LOV-Diagramme

• LOV: Line of Visibility

• Grafische Beschreibung der komplexen Beziehungen zwischen Herstellern und Zulieferern

• 3-21

43

Page 44: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

LOV-Diagramme: Beispiel

• 3-22

44

Page 45: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement1. Erfassen von Benutzeranforderungen2. Verfolgen von Anforderungen

7. Qualitätssicherung

45

Page 46: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Anforderungsmanagement

• Anforderungsmanagement ist - wie Konfigurationsmanagement - nicht grundsätzlich autmobilspezifisch

• Einsatz von Standardwerkzeugen wie Telelogic DOORS (Jetzt IBM)

• http://www.telelogic.com/products/doors/index.cfm

• Aber: Berücksichtigung von besonderen Anforderungen in Fahrzeugprojekten

• Unterstützung der unternehmens- und standortübergreifenden Zusammenarbeit im Anforderungsmanagement

• Versionierung von Anforderungen

• Zusammenspiel von Anforderungsmanagement und Konfigurationsmanagement

• Lange Produktlebenszyklen

• Änderung der Anforderungen

• Unterstützungsprozess Anforderungsmanagement

• Erfassen von Benutzeranforderungen

• Verfolgen von Anforderungen

• Kernprozess der System- und Softwareentwicklung (Abschnitt 4)

• Analyse der Anforderungen

• Spezifikation der logischen und technischen Systemarchitektur

46

Page 47: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Erfassen von Benutzeranforderungen

• Benutzer sind alle Personen, deren Wünsche Einfluss auf das Fahrzeug haben können

• Benutzergruppen eines Fahrzeugs

• Fahrer

• Insassen

• Andere Verkehrsteilnehmer

• Fahrzeuge

• Fahrer

• Radfahrer

• Reiter

• Fussgänger

• Mitarbeiter im Service

• Gesetzgeber

• Gesetzliche Vorgaben werden auch als Randbedingungen bezeichnet

47

Page 48: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Drei Arten von Benutzeranforderungen

• Unterscheidung nach Zeitpunkt der Erfassung

• Anforderungen, die zu Beginn des Projektes gestellt werden

• Anforderungen, die im Laufe des Projektes gestellt werden

• Änderungswünsche

• Zusätzliche Anforderungen

• Anforderungen, die nach Übergabe des Produktes gestellt werden

• Neue Anforderungen

• Fehlermeldungen

• Verbesserungsvorschläge

• Erfassung von Benutzeranforderungen durch

• Ableitung aus existierenden Systemen

• Technische Entwicklungen

• Rückmeldungen

• Interviews

• Workshops

• ...

48

Page 49: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Anzahl der Benutzeranforderungen

• Zunahme mit jeder Fahrzeuggeneration

• Gestiegene Anzahl der Fahrzeugfunktionen

• Zunahme der Fahrzeugvarianten

• Gestiegene Kundenerwartungen

49

Page 50: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Anforderungsklassen

50

Page 51: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Benutzeranforderungen und Architektur

51

Page 52: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Verfolgen von Anforderungen

• Welche Anforderungen werden wie umgesetzt?

52

Page 53: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

5. Unterstützungsprozesse für die Embedded Software Entwicklung

1. Grundbegriffe der Systemtheorie

2. Vorgehensmodelle und Standards

3. Konfigurationsmanagement

4. Projektmanagement

5. Lieferantenmanagement

6. Anforderungsmanagement

7. Qualitätssicherung1. Integrations- und Testschritte2. Maßnahmen zur Qualitätssicherung von Software

53

Page 54: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Qualitätssicherung

• Qualitätssicherung

• Alle Maßnahmen, die sicherstellen, dass das Produkt die geforderten Anforderungen erfüllt.

• Richtlinien zur Qualitätssicherung: Vorbeugende Maßnahmen

• Einsatz von erfahrenen und geschulten Mitarbeitern

• Geeigneter Entwicklungsprozess mit definierten Testschritten

• Richtlinien, Maßnahmen und Standards zur Unterstützung des Prozesses

• Werkzeugumgebung zur Unterstützung des Prozesses

• Automatisierung manueller und fehlerträchtiger Arbeitsschritte

• Maßnahmen zur Qualitätssicherung: Finden von Fehlern

• Nach jedem Schritt des Entwicklungsprozesses

• Ins V-Modell integriert, siehe Teil 4 der Vorlesung

• Software-Produkte

• Spezifikationsfehler

• Implementierungsfehler

• Ergebnis von zahlreichen Untersuchungen:

• In den meisten Projekten überwiegen die Spezifikationsfehler

54

Page 55: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Validation und Verifikation

• Validation

• Prüfen auf Spezifikationsfehler

• Validation ist der Prozess zur Beurteilung eines Systems oder einer Komponente mit dem Ziel festzustellen, ob der Einsatzzweck oder die Benutzererwartungen erfüllt werden. Funktionsvalidation ist demnach die Prüfung, ob die Spezifikation die Benutzeranforderungen erfüllt, ob überhaupt die Benutzerakzeptanz durch eine Funktion erreicht wird.

• Verifikation

• Prüfen auf Implementierungsfehler

• Verifikation ist der Prozess zur Beurteilung eines Systems oder einer Komponente mit dem Ziel festzustellen, ob die Resultate einer gegebenen Entwicklungsphase den Vorgaben für diese Phase entsprechen. Software-Verifikation ist demnach die Prüfung, ob eine Implementierung der für den betreffenden Entwicklungsschritt vorgegebenen Spezifikation genügt.

55

Page 56: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

• Das V-Modell unterscheidet vier verschiedene Testschritte:

• Beim Komponententest wird eine Komponente gegen die Spezifikation der Komponente getestet.

• Beim Integrationstest wird das System gegen die Spezifikation der technischen Systemarchitektur getestet.

• Beim Systemtest wird das System gegen die Spezifikation der logischen Systemarchitektur getestet.

• Beim Akzeptanztest wird das System gegen die Benutzeranforderungen getestet.

• Validation und Verifikation

Integrations- und Testschritte

56

Page 57: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Integrations- und Testschritte

57

Page 58: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Motivation

Tests können die Anwesenheit von Fehlern zeigen, nie aber deren Abwesenheit.

Edsger W. Dijkstra

Ein fehlender Programmzweig ... wird auch durch Austesten aller vorhandenen Programmzweige nicht gefunden.

Bernhard Hohlfeld

Software wird hauptsächlich getestet

• Testverfahren können nie alle Systemzustände erreichen

• Wurde ausreichend getestet?

• Software muss für Tests vorhanden und ausführbar sein

• Ist die Spezifikation korrekt?

Interne Qualitätseigenschaften werden selten geprüft

• Ist die Software zuverlässig, wartbar, änderbar etc. ?

• Ist die Software effizient?

• Wie viel Speicher/Zeit verbraucht das System maximal?

58

Page 59: Vorlesung „Embedded Software-Engineering im Bereich ...st.inf.tu-dresden.de/files/teaching/ws08/ase/05_ASE_WS_2008-09... · Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich

Dr. B. Hohlfeld: Embedded Software-Engineering im Bereich Automotive, TU Dresden, WS 2008/2009

Maßnahmen zur Qualitätssicherung von Software

59