First page Back Continue Last page Overview Graphics
Qualitätssicherung
Problem:
Wie stellt man die Qualität von Software sicher?
Wie definiert man Qualität?
Fallbeispiel Ariane 5: Jungfernflug am 4.6.96 endete nach 40 Sekunden mit der Selbstzerstörung, weil die Fluglagekontroll-software SRI-2 unverändert von Ariane 4 übernommen worden war.
Notes:
Der Jungfernflug der Ariane 5 („Flight 501“) endete 40 Sekunden nach dem Start, nachdem der Selbstzerstörungsmechanismus der Rakete ausgelöst hatte. Im Untersuchungsbericht heißt es dazu:
Die Zerstörung der Rakete begann 39 Sekunden nach dem Start. Durch einen Neigungswinkel von mehr als 20° trennten sich aufgrund der aerodynamischen Belastung die Zusatzaggregate von der Hauptantriebsstufe, was den Selbstzerstörungsmechanismus der Rakete aktivierte. Der Neigungswinkel der Rakete wurde durch den Vollausschlag der Strahlrichtungsklappen sowohl der Zusatzaggregate als auch des Vulcain-Hauptantriebaggregates bedingt. Diese wurden von der zentralen Flugsteuerungssoftware auf der Basis von Daten des aktiven inertialen Referenzsystems (SRI-2) kontrolliert. Das SRI-2 lieferte jedoch nicht nur Flugdaten, sondern auch fälschlicherweise als Flugdaten interpretierte Diagnose-Bitmuster. Das SRI-2 übermittelte keine korrekten Höhendaten mehr, da es sich – ebenso wie das mit der identischen Software-Ausnahme für funktionsuntüchtig erklärt und deaktiviert hatte. Die Ausnahme kam durch die Konvertierung eines (zu großen) 64-bit Fließkommawertes in einen 16-bit Integerwert zustande. Der entsprechende Programmteil war im Gegensatz zu vergleichbaren umgebenden Programmteilen nicht gegen solche Ausnahmen geschützt. (ESA, 1996)
Man hatte also die Lageregelungssoftware unverändert aus der Ariane 4 in die Ariane 5 übernommen, ohne die völlig andere Starttrajektorie zu berücksichtigen. Interessanterweise werden - aus dem Blickwinkel unterschiedlicher Projektbeteiligter – jeweils andere Gründe für das Versagen der Fluglagesteuerung angegeben:
Der Programmierer spricht von einem klaren Programmierfehler: Eine Ausnahme wurde nicht behandelt; bessere Programmierpraktiken hätten diesen Fehler vermieden
Der Entwurfsspezialist sieht einen klaren Entwurfsfehler: Der Entwurf berücksichtigte lediglich Hardwarefehler, sodass der Softwarefehler nicht behandelt wurde und das SRI-2 infolgedessen stillgelegt wurde. Ebenso die Ersatzeinheit. Ein besserer Entwurf hätte das verhindern können.
Der Anforderungsermittler spricht von einem klaren Fehler bei der Ermittlung der Anforderungen: Ariane 5 stellt völlig andere Anforderungen als ihr Vorgänger. Hätte man diese Änderungen bis zur Implementierung verfolgt, hätte man erkannt, dass die Funktionalität des SRI nach dem Start überflüssig ist.
Der Tester spricht von einem klaren Fehler im Testprozess: so gab es bspw. keinen Test der SRI-Einheiten gegen die geänderte Starttrajektorie der Ariane 5 (und zwar aus Kostengründen!)
Der Projektmanager sieht einen klaren Managementfehler: so wurden z.B. bei den Reviews keine externen Spezialisten herangezogen, und die Dokumentation war inkonsistent.
Im Grunde ist jede einzelne Aussage richtig, wir benötigen daher „Qualitätssicherung“