Entwurf E DIN EN 50128 (VDE 0831-128):2009-10 pren 50128:2009



Ähnliche Dokumente
EN 62279:2003 Manuskript im Kurzverfahren. Inhalt

DIN EN (VDE ): EN 50128:2011

Vornorm DIN V VDE V (VDE V ): Inhalt

Weiterentwicklung der EN (VDE ) 128) Umsetzung im Bahnbereich

Safer Software Formale Methoden für ISO26262

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

Funktionale Sicherheit Testing unter

SRE-Methodenleitfaden

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Tabellen mit ASIL Zuordnungen

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Tabellen mit ASIL Zuordnungen

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Qualitätssicherung von Software (SWQS)

Funktionale Sicherheit in der Praxis

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Erweiterte Vorgehensmodelle für die Entwicklung echtzeitfähiger, hochintegrierter, multifunktionaler Steuergeräte-Plattformen

Modellbasierte Software- Entwicklung eingebetteter Systeme

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Qualitätsmanagement im Projekt

Funktionale Sicherheit und Simulation

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Der Rational Unified Process

on Software Development Design

Requirements-basiertes Testen am Beispiel des NI Requirements Gateways

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Anlage zur Akkreditierungsurkunde D-PL nach DIN EN ISO/IEC 17025:2005

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

IT-Projekt-Management

Quality Point München

Peter Liggesmeyer. Software-Qualität. Testen, Analysieren und Verifizieren von Software. 2. Auflage. Spektrum k-/l AKADEMISCHER VERLAG

Abschnitt 16: Objektorientiertes Design

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Product Line Engineering (PLE)

Der Design-Workflow im Software-Entwicklungs-Prozess

INHALTSVERZEICHNIS VORWORT DANKSAGUNG DANKSAGUNG DER CLIB-KOORDINATOREN MITWIRKENDE TEIL 1 ÜBER CMMI FÜR ENTWICKLUNG 1

BPMN. Suzana Milovanovic

Fred Stay /05. Management der Funktionalen Sicherheit KROHNE Academy Automatisierungstechnik in der Prozessindustrie

Catch the Bug Testaktivitäten erfolgreich messen

Markus Pister (Autor) Integration formaler Fehlereinflussanalyse in die Funktionsentwicklung bei der Automobilindustrie

Application Performance Management. Auch eine Frage des Netzwerkes?

Software Engineering

Configuration management

Abbildung 1: Tool-Qualification-Kits für Testwell CTC++ Test Coverage Analyser

A Domain Specific Language for Project Execution Models

Dr. Klaus Lamberg, Michael Beine

Softwareanforderungsanalyse

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Software-Engineering

Übungsaufgaben zum Software Engineering: Management

Comparing Software Factories and Software Product Lines

Last- und Performancetest mit freien Werkzeugen. Stefan Siegl,

IV Software-Qualitätssicherung

SEA. Modellgetriebene Softwareentwicklung in der BA

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Vertrauenswürdigkeit von Software. Sandro Hartenstein FH Brandenburg

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Electronic Safety Systems

Formale Methoden: Ein Überblick

VBA-Programmierung: Zusammenfassung

Verwendung von Anforderungsbasierten Verfolgbarkeitsmetriken im Projektmanagement

Rhapsody in J Modellierung von Echtzeitsystemen

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Einführung in die Informatik

Bausteine eines Prozessmodells für Security-Engineering

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Use Cases. Use Cases

DIN EN (VDE ): EN :2010

Modellbasierte Softwareentwicklung

Funktionale Sicherheit: Wie macht man das? Andreas Stucki, Solcept AG

Zuverlässige Systeme Fehlertoleranz

Anforderungsmanagement

Rapide An Event-Based Architecture Definition Language

Einführung in die Informatik

Software Engineering

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten

Entwicklungsoptimierung mit einem ALM Tool Positionierung mit Fallstudie

In der Entwicklung werden die Phasen Systementwurf, Projekten mit Funktionaler Sicherheit. Testen in TESTMETHODEN

Softwaretechnik. Fomuso Ekellem WS 2011/12

Service Virtualisierung

INHALTSVERZEICHNIS. Kapitel 1 Einführung Kapitel 2 Projektmanagement Vorwort Autoren...12

Kapitel 2: Der Software-Entwicklungsprozess

RUP Analyse und Design: Überblick

Medical SPICE. Was bringt die neue VDI-Richtlinie 5702? Matthias Hölzer-Klüpfel

Comparison of Software Products using Software Engineering Metrics

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Model Driven Software Development

Software-Lebenszyklus

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Software- Qualitätssicherung

Kapitel 2 - Die Definitionsphase

SAQ FG Medizinprodukte Hersteller. Validierung

CeBIT CARMAO GmbH

Rainer Janssen Wolfgang Schott. SNMP- Konzepte, Verfahren, Plattformen

Qualitätsmanagement in Gesundheitstelematik und Telemedizin: Sind ISO 9001 basierte Managementsysteme geeignet?

Transkript:

Inhalt Vorwort... 2 Einleitung... 8 1 Anwendungsbereich... 11 2 Normative Verweisungen... 12 3 Begriffe und Abkürzungen... 12 3.1 Begriffe... 12 3.2 Abkürzungen... 16 4 Ziele, Konformität und Software-Sicherheitsanforderungsstufen... 17 5 Softwaremanagement und -organisation...18 5.1 Organisation, Rollen und Verantwortlichkeiten...18 5.2 Kompetenz der Mitarbeiter... 20 5.3 Fragen des Lebenszyklus und Dokumentation... 21 6 Softwaresicherung... 24 6.1 Softwaretests... 24 6.2 Software-Verifikation... 25 6.3 Software-Validierung... 27 6.4 Software-Begutachtung... 28 6.5 Software-Qualitätssicherung... 30 6.6 Modifikations- und Änderungskontrolle... 32 6.7 Hilfswerkzeuge und Sprachen... 33 7 Entwicklung generischer Software... 36 7.1 Lebenszyklus und Dokumentation für generische Software... 36 7.2 Software-Anforderungen... 37 7.3 Architektur und Entwurf... 39 7.4 Komponentenentwurf... 45 7.5 Implementierung und Test der Komponenten... 47 7.6 Integration... 48 7.7 Endabnahme/Validierung... 50 8 Entwicklung der Anwendungsdaten oder -algorithmen Systeme, die durch Anwendungsdaten oder -algorithmen konfiguriert werden... 52 8.1 Ziele... 52 8.2 Eingangsdokumente... 53 8.3 Ausgangsdokumente... 53 8.4 Anforderungen... 53 9 Bereitstellung und Wartung der Software... 56 9.1 Bereitstellung der Software... 56 9.2 Wartung der Software... 57 3

Entwurf Anhang A (normativ) Kriterien für die Auswahl der Techniken und Maßnahmen... 60 A.1 Tabellen zu den Abschnitten... 61 A.2 Detaillierte Tabellen... 67 Anhang B (normativ) Rollen der Schlüssel-Software und Verantwortlichkeiten... 73 Anhang C (informativ) Zusammenfassung der Dokumentenkontrolle und des Dokumentenlaufs... 82 Anhang D (informativ) Verfahrensübersicht... 84 D.1 KI(Künstliche-Intelligenz)-Fehlerkorrektur (en: AI Fault Correction)... 84 D.2 Analysierbare Programme... 84 D.3 Avalanche-/Belastungstests (en: Avalanche/Stress Testing)... 85 D.4 Grenzwertanalyse (en: Boundary Value Analysis)... 85 D.5 Rückwärts-Regeneration (en: Backward Recovery)... 86 D.6 Ursache-Wirkungsdiagramme (en: Cause Consequence Diagrams)... 86 D.7 Zertifizierte Werkzeuge und zertifizierte Übersetzer (en: Certified Tools and Certified Translators)... 86 D.8 Checklisten (en: Checklists)... 87 D.9 Steuerflussanalyse (en: Control Flow Analysis)...87 D.10 Analyse gemeinsamer Fehler (en: Common Cause Failure Analysis)... 87 D.11 Datenflussanalyse (en: Data Flow Analysis)... 88 D.12 Datenflussdiagramme (en: Data Flow Diagrams)... 88 D.13 Datenaufzeichnung und -analyse (en: Data Recording and Analysis)... 89 D.14 Entscheidungstabellen (Wahrheitstabellen) (en: Decision Tables (Truth Tables))... 89 D.15 Defensive Programmierung (en: Defensive Programming)... 90 D.16 Codierstandards und Formatanleitung (en: Coding Standards and Style Guide)... 91 D.17 Diversitäre Programmierung (en: Diverse Programming)... 91 D.18 Dynamische Rekonfiguration (en: Dynamic Reconfiguration)... 92 D.19 Tests auf Basis von Äquivalenzklassen und Eingangsdaten-Unterteilung (en: Equivalence Classes and Input Partitioning Testing)... 92 D.20 Fehlererkennende und -korrigierende Codes (en: Error Detecting and Correcting Codes)... 93 D.21 Fehlererwartung (en: Error Guessing)... 93 D.22 Fehlereinstreuung (en: Error Seeding)... 93 D.23 Ereignisbaumanalyse (en: Event Tree Analysis)... 94 D.24 Fagan-Inspektionen (en: Fagan Inspections)...94 D.25 Failure Assertion -Programmierung (en: Failure Assertion Programming)... 94 D.26 SEEA Softwarefehler-Auswirkungsanalyse (en: Software Error Effect Analysis)... 95 D.27 Fehlererkennung und Diagnose (en: Fault Detection and Diagnosis)... 95 D.28 Fehlerbaumanalyse (en: Fault Tree Analysis)...96 D.29 Finite-Zustandsmaschinen (FSM)/Zustands-Übergangsdiagramme (en: Finite State Machines/State Transition Diagrams)... 96 D.30 Formale Verfahren (en: Formal Methods)... 97 4

D.31 Formaler Nachweis (en: Formal Proof)... 102 D.32 Vorwärts-Regeneration (en: Forward Recovery)... 102 D.33 Abgestufte Funktionseinschränkungen (en: Graceful Degradation)... 102 D.34 Gefahren- und Operabilitätsstudie (HAZOP) (en: Hazard and Operability Study)... 103 D.35 Auswirkungsanalyse (en: Impact Analysis)... 104 D.36 Information-Hiding/Einkapselung (en: Information Hiding/Encapsulation)... 104 D.37 Schnittstellentests (en: Interface Testing)... 105 D.38 Untermenge der Programmiersprache (en: Language Subset)... 105 D.39 Aufzeichnung ausgeführter Fälle (en: Memorising Executed Cases)... 105 D.40 Bibliothek bewährter/verifizierter Komponenten (en: Library of Trusted/Verified Components)... 106 D.41 Markov-Modelle... 106 D.42 Metriken (en: Metrics)... 107 D.43 Modularer Ansatz (en: Modular Approach)... 107 D.44 Monte-Carlo-Simulation... 108 D.45 Leistungs-Modellierung (en: Performance Modelling)... 108 D.46 Leistungsanforderungen (en: Performance Requirements)... 109 D.47 Wahrscheinlichkeits-Tests (en: Probabilistic Testing)... 109 D.48 Prozesssimulation (en: Process Simulation)... 110 D.49 Prototyping/Animation... 110 D.50 Recovery Block... 111 D.51 Zuverlässigkeits-Blockdiagramme (en: Reliability Block Diagram)... 111 D.52 Antwortzeiten und Speichergrenzen (en: Response Timing and Memory Constraints)... 111 D.53 Re-Try Fault Recovery -Mechanismen (en: Re-Try Fault Recovery Mechanisms)... 112 D.54 Externe Überwachungseinrichtung (en: Safety Bag)... 112 D.55 Nebenpfadanalyse (en: Sneak Circuit Analysis)... 112 D.56 Software-Konfigurationsmanagement (en: Software Configuration Management)... 113 D.57 Streng typisierte Programmiersprache (en: Strongly Typed Programming Languages)... 113 D.58 Strukturabhängige Tests (en: Structure Based Testing)... 113 D.59 Strukturdiagramme (en: Structure Diagrams)... 114 D.60 Strukturierte Methodik (en: Structured Methodology)... 114 D.61 Strukturierte Programmierung (en: Structured Programming)... 118 D.62 Geeignete Programmiersprachen (en: Suitable Programming Languages)... 118 D.63 Symbolische Ausführung (en: Symbolic Execution)... 119 D.64 Zeit-Petri-Netze (en: Time Petri Nets)... 119 D.65 Betriebsbewährter Übersetzer (en: Translator Proven in Use)... 119 D.66 Walkthroughs/Entwurfsüberprüfungen (en: Walkthrouhgs/Design Reviews)... 120 D.67 Objektorientierte Programmierung (en: Object Oriented Programming)... 120 D.68 Verfolgbarkeit (en: Traceability)... 124 D.69 Statische Verifikation der Laufzeiteigenschaften durch abstrakte Interpretation (en: Static 5

Entwurf verification of runtime properties by abstract interpretation)... 124 D.70 Datenfluss (en: Dataflow)... 125 D.71 Metaprogrammierung (en: Metaprogramming)... 125 D.72 Prozedurale Programmierung (en: Procedural programming)... 126 D.73 Sequentielle Funktionslisten (en: Sequential Function Charts SFC)... 126 D.74 Kontaktplan (en: Ladder Diagram)... 126 D.75 Funktionsblockdiagramm (en: Functional Block Diagram)... 126 D.76 Zustandsliste oder Zustandsdiagramm (en: State Chart or State Diagram)... 126 D.77 Datenmodellierung (en: Data modelling)... 126 D.78 Kontrollflussdiagramm/Kontrollflussgraph (en: Control Flow Diagram/Control Flow Graph)... 127 D.79 Ablaufdiagramm (en: Sequence diagram)... 128 Literaturhinweise... 129 Bilder Bild 1 Software, Übersicht über das Vorgehen... 10 Bild 2 Unabhängigkeit und Kombination der Rollen in Bezug auf die Software- Sicherheitsanforderungsstufen... 19 Bild 3 Darstellung des Entwicklungs-Lebenszyklus 1... 23 Bild 4 Darstellung des Entwicklungs-Lebenszyklus 2... 24 Tabellen Tabelle 1 Beziehung zwischen Werkzeugklasse und anwendbarem Abschnitt... 36 Tabelle A.1 Fragen des Lebenszyklus und der Dokumentation (5.3)... 61 Tabelle A.2 Software-Anforderungsspezifikation (7.2)... 62 Tabelle A.3 Software-Architektur (7.3)... 63 Tabelle A.4 Software-Entwurf und -Implementierung (7.4)... 64 Tabelle A.5 Verifikation und Testen (6.2 und 7.3)... 65 Tabelle A.6 Software/Hardware-Integration (7.6)... 65 Tabelle A.7 Testen der Gesamtsoftware (6.2 und 7.7)... 65 Tabelle A.8 Software-Analysetechniken (6.3)... 66 Tabelle A.9 Software-Qualitätssicherung (6.5)... 66 Tabelle A.10 Software-Wartung (9.2)... 66 Tabelle A.11 Codierstandards... 67 Tabelle A.12 Dynamische Analyse und Testen... 67 Tabelle A.13 Funktions-/Black-Box-Tests... 68 Tabelle A.14 Text-Programmiersprachen... 68 Tabelle A.15 Diagrammartige Sprachen für Anwendungsalgorithmen... 69 Tabelle A.16 Modellierung... 69 Tabelle A.17 Leistungstests... 69 Tabelle A.18 Statische Analyse... 70 Tabelle A.19 Komponenten... 70 6

Tabelle A.20 Testabdeckung für Code... 71 Tabelle A.21 Objektorientierte Software-Architektur... 72 Tabelle A.22 Objektorientierter detaillierter Entwurf... 72 Tabelle B.1 Spezifikation der Rolle des Anforderungsmanagers... 73 Tabelle B.2 Spezifikation der Rolle des Entwerfers... 74 Tabelle B.3 Spezifikation der Rolle des Implementierers... 75 Tabelle B.4 Spezifikation der Rolle des Testers... 76 Tabelle B.5 Spezifikation der Rolle des Verifizierers... 77 Tabelle B.6 Spezifikation der Rolle des Integrators... 78 Tabelle B.7 Spezifikation der Rolle des Validierers... 79 Tabelle B.8 Spezifikation der Rolle des Gutachters... 80 Tabelle B.9 Spezifikation der Rolle des Projektmanagers... 81 Tabelle B.10 Spezifikation der Rolle des Konfigurationsmanagers... 81 Tabelle C.1 Zusammenfassung der Dokumentenkontrolle... 82 7