Wie ist der Begriff Zertifikation definiert?
Gesetzliche Anerkennung der Zertifikationsbehörden, dass Produkt, Dienstleistung, Organisation oder Person die Anforderungen einhalten
Was bedeutet MOC?
Beispiele?
Means of Compliance
Methoden um Einhaltung der Anforderungen zu zeigen
Compliance Statement
Design Review
Mathematische Berechnung
Safety Assessment
Labortest
Test am Flugzeug
Flugtest
Simulation
Verschiedene Zertifikationsmöglichkeiten?
Type Certification (TC) Prozess
Supplemental Type Certification (STC)
Part Manufacture Approval (PMA)
Technical Standard Order (TSO)
Erklärung TC
Type Certification (TC) Prozess:
Flugzeughersteller
Zertifizierung neuer Flugzeugtypen oder signifikanter Änderungen
Bspw: A350, A380, etc.
Erklärung STC
Supplemental Type Certification (STC):
Systemupgrades
Neue Fähigkeiten
Nur für kleine Änderungen
Bspw: Neue Rechnersysteme
Fly-by-wire upgrade ist bspw TC
Erklärung PMA
Part Manufacture Approval:
Teilehersteller
Für Teile die innerhalb eines STC hergestellt werden
Bspw: Schrauben, Kleinteile
Erklärung TSO
Technical Standard Order (TSO):
Standard-Teile
Vorquali unabhängig vom Flugzeug
Vereinfachung der STC oder TC
Bspw: Garmin 1000 Avioniksuite, IMA
Erklärung DOA
Design Organisation Approval
Voraussetzung für TC, STC, TSO
Genehmigung als Entwicklungsbetrieb
Erklärung POA
Production Organisation Approval
Genehmigung als Herstellungsbetrieb
Welche Auswirkung haben COTS-Produkte auf die Zulassung?
Commercial off the shelf
Müssen zertifiziert werden
Compliance muss gezeigt werden
Nur in gewissen Bereichen einsetzbar
Muss bei einem Gerät mit TSO noch eine TC oder STC durchgeführt werden?
Ja
TSO ist nur eine Vorqualifikation des Produkts
Skizieren Sie den Entwicklungsprozess nach der ARP 4754!
Was bedeutet DAL?
Design Assurance Level
Bestimmt die Prozesse in der Entwicklung
Testing, Unabhängigkeiten, etc.
Failure Condition Klassifizierung
Was bedeutet FMEA
Failure Modes and Effects Analysis
Fehlermodi und deren Wahrscheinlichkeiten werden nach ihren Effekten auf System oder A/C bewertet
Welche Aufgabe hat das System Safety Assessment?
Sicherheit des gesamten Systems überprüfen
Welche Aufgabe hat das Preliminary System Safety Assessment?
Vorläufige Überprüfung der Sicherheit eines Systems
Vor der Entwicklung
Definition von safey requirements
Was ist eine FHA?
Functional Hazard Assessment
Bewertung von Fehlerkonditionen aufgrund ihrer Effekte auf System oder A/C
Welche Aufgaben hat der Software-Planungsprozess?
Abschätzung von:
Kosten
Aufwand
Methoden
In Entwicklung Produktion und Verifikation
Welche inputs und outputs hat der Software-Planungsprozess?
Inputs:
Requirements
Projektplan
Output: PSAC
Erläuterung PSAC
Plan for Software Aspects of Certification
Systemübersicht
Softwareübersicht
Zertikationsüberlegungen
Lebenszyklus
Zeitplan
Erläuterung SDP
Software Development Plan
referenzierte Standards
Programmiersprachen
Tools, Compiler, Loader
Hardwareplattformen
Kann im PSAC inkludiert sein
+
Nenne gängige Prozessmodelle
Wasserfall
V-Modell
Iterativ
Spiralmodell
Scrum
Erläuterung Wasserfallmodell
Sequentielle Kaskade der Entwicklungsschritte
Kleine bis mittlere Projekte
Statische Anforderungen (-)
Für strikte Zeitpläne und Budgets (+)
Wenn viele Regularien einzuhalten (+)
Erläuterung V-Modell
Sequentielles Modell mit begleitender Validierung und Verifikation
Sicherstellung von Qualität (+)
Teuer und aufwändig (-)
statische Anforderungen (+)
Erläuterung Spiralmodell
Iteratives Modell mit Fokus auf Risikoanalyse
Für unklare Anforderungen (+)
Für komplexe Problemstellungen (+)
Keine Trennung zwischen Entwicklung und Wartung (-)
Erläuterung Inkrementmodell
Entwicklung des Projektes in Teilschritten
Spezifikation, Entwicklung und Integration von Teilprojekten
Zusammenfügen in Inkrementen
Welches Prozessmodell fordert DO 178C?
Keines, aber Auswahlkriterien:
Systmkomplexität
Stabilität der Anforderungen
Re-use
…
Erklären Sie was mit den Big Bang Effekt gemeint ist und geben Sie eine mögliche Lösung um dies zu vermeiden!
Anhäufung von Problemen und Verzögerungen durch einzelne Integrationsphasen (Bspw. Wasserfallmodell)
Besser iteratives Vorgehen mit mehreren kleinen Integrationsphasen
Sind Objekt orientierte Methoden zugelassen in der Luftfahrt? Begründen Sie Ihre Meinung!
Ja, aber mit Einschränkungen, bspw. keine Vererbung erlaubt
Erläuterung SQA
Software Quality Assurance Plan
Qualitätssicherungsmaßnahmen
Problem reporting
Zuständigkeiten
Erläuterung Software Development Standards
Definiert die Regeln und Rahmenbedigungen für den Entwicklungsprozess
Coding Standards
Anforderungsstandards
Entwicklungsstandards
Erläuterung Configuration Management Plan
Konfigurationsmanagement üben den Lebenszyklus
Nachverfolgbarkeit
Change control
Was sind Requirements
Spezifikation was ein System tut ohne zu spezifizieren wie.
Unmissverständlich
Verifizierbar
Notwendig
Möglich
Konsistent
Arten von Requirements?
High/Low Level
Functional
Performance
Safety
Derived
Erläuterung derived requirements
Nicht nachverfolgbare Requirements, bspw. aufgrund von Annahmen
Erläuterung Traceability
System Req. <—> High Level Req.
High Level Req. <—> Low Level Req.
Low Level Req. <—> Source Code
Forward —>
Backward <—
Erläuterung Software Design Process
Input:
Design Standards
High Level Requirements
PSAC
Output:
SDD
Architektur
Low Level Requirements
Funktionsallokation zu requirements
Erläuterung Software Architektur
Funktion einzelner Komponenten / Module
Datenströme in / aus Modulen
Designmethoden
Partitionierung
Was ist die Absicht eines SW Design Standards?
Naming conventions
Komplexitätsbeschränkungen
Erläuterung SW Design Description
Programmstruktur
Datenfluss
Kontrollfluss
Ein/Ausgabe
Scheduling
Interrupts
Datenstrukturen
Speichermanagement
Beschreibung des Software Coding Prozesses
Design Description
Source Code
Welche Eigenschaften sollte der Source code haben?
Korrekte Implementation der Low Level Requirements
Nachverfolgbar
Konform zu Coding Standards
Rückverfolgbar auf die Design Description
Was versteht man unter einem “Safe Subset”
Teilmenge einer Programmiersprache, die sichere und gut verstandene Funktionen enthält
Bspw. MISRA C
kein goto
goto
jedes case wird mit break; verlassen
case
break;
jede Funktion hat einen Ausgang
keine Pointer-Arithmetik
Was sind Patches und welche Gefahren bergen sie?
Direkte Modifikation des ausführbaren Objektcodes
Gefahr Nachverfolgbarkeit zu verlieren
Dead und deactivated code?
Dead code:
kann nicht ausgeführt werden (Designfehler)
nicht nachverfolgbar
schwer zu testen
Deactivated code:
Absichtlich deaktiviert
Umgang damit ist definiert
Welches ist die meist verwendete Verifikationsmethode im V-Modell?
Technical Reviews
Was ist ein Code Walk through?
Review bei dem gemeinsam der Source Code durchgegangen wird und auf Korrektheit überprüft wird
Was sind static analyzers?
Überprüfungstools, die Fehler finden, ohne dass der Code ausgeführt werden muss
Semantikbasiert bspw. Speicherverletzung, race conditions
Vorgeschrieben nach DO178C
Erläuterung Software Verification Process
Ziel: Auffinden von Fehlern
Methoden:
Tests
Reviews
Analysen
Object Code
Verification plan
Verifikationsprozeduren
Verifikationergebnisse
Woraus besteht SW Testing?
HW/SW integration testing
Korrekte Funktionalität auf target computer
Software integration testing:
Data/control flow zwischen SW Modulen
Low Level Testing:
Unit tests
Was ist das Ziel von SW Testing?
Erfüllung der Requirements
Sicherstellung dass kritische Fehler gefunden wurden
Welche Kategorien von Test Cases gibt es?
Normal Range:
nominale inputs
Zeitverhalten
Abnormal range (Robustness):
abnormale, fehlerhafte inputs
overflows
nicht erlaubte Fälle testen
Schnittstellenfehler
Interrupthandling Fehler
Datenkorruption
Wann sind keine Tests mehr notwendig?
Wenn HW/SW Integration testing abgeschlossen sind
Welche verschiedenen Teststrategien existieren?
Top down
Bottom up
Sandwich
Verscheidene Arten von Test coverage?
Requirements based test coverage:
Wurde jedes Requirement erfüllt?
Structural coverage:
Wurde der gesamte Code getestet?
Statement coverage:
Alle Anweisungen wurden aufgerufen
Decision coverage:
Jede verzweigung wurde in allen möglichen Pfaden durchlaufen
Modified decision condition coverage (MCDC):
Jede bedingung wurde überprüft
Jede verzweigung wurde in allen Pfaden durchlaufen
Es wurde gezeigt, dass jede Bedingung die Verzweigung unabhängig beinflusst
Control und Data Coupling?
Data Coupling:
Module nutzen geteilte Daten
Control Coupling:
Module beeinflussen gegenseitigen control flow
Vorteile Structural test coverage
dead code wird gefunden
ungetesteter Code wird erkannt
testen der Testprozeduren
Zuletzt geändertvor 14 Tagen