Wann werden Projekte fertig?
-
Spaß beiseite, natürlich wäre es eine gigantische Aufgabe, für ein heutiges Standard-Betriebssystem formale Korrektheit nachzuweisen, wenn nicht unmöglich. Vielleicht gibt es eines Tages Software, die dabei behilflich ist - test-driven development geht ansatzweise in die Richtung, wenn auch nicht im Sinne formaler Beweise.
-
Arbeitet hier eigentlich keiner an sowas wie Autopiloten oder andere SW für Flugzeuge? Da kann man doch sicher nicht sagen, dass es noch ein paar Bugs gibt oder etwas noch nicht fertig ist, aber man liefer es trotzdem aus.
-
Natürlich hat auch Flugzeug-Software Bugs. Schau dir doch mal an, mit wieviel Problemen der A380 oder Eurofighter nach der Auslieferung zu kämpfen haben. Nur sind das natürlich keine Bug, die ein Flugzeug zum Absturz bringen. Aber die Hersteller dieser Flugzeuge müssen heute immer noch immer wieder ausbessern. Auch ganz aktuell:
http://www.heise.de/newsticker/Eurofighter-Blindflug-bei-Mach-2--/meldung/140001
Und das sind nur die Bugs, die an die Presse gelangen. Es gibt sicherlich noch mehr Bugs, die nebenbei behoben werden und nicht für die Presse spektakulär sind.Man muß aber sagen, das die Passagierflugzeuge ja nicht eine Steuersoftware haben. Sie haben (wenn ich mich richtig erinnere) zwei Varianten, die von zwei verschiedenen Teams in unterschiedlichen Programmiersprachen entwickelt wurden. Und diese Programme laufen gleichzeitig. Da beide unabhängigen Teams nicht die gleichen Fehler machen, hat immer eine der beiden Programme Recht. So in etwa habe ich das mal gelesen.
Aber genau diese Massnahmen beweisen, das keiner davon ausgeht, das die Software fehlerfrei ist. Ganz im Gegenteil, man geht davon aus, das es Fehler gibt, und versucht sie durch solche Massnahmen zu minimieren.
-
Bulli schrieb:
Auch ganz aktuell:
http://www.heise.de/newsticker/Eurofighter-Blindflug-bei-Mach-2--/meldung/140001
Aber natürlich, Mach 2, Computer rechnen ja mit 0 und 1, Mach 2 geht ja gar nicht
-
rusted from the rain schrieb:
Arbeitet hier eigentlich keiner an sowas wie Autopiloten oder andere SW für Flugzeuge? Da kann man doch sicher nicht sagen, dass es noch ein paar Bugs gibt oder etwas noch nicht fertig ist, aber man liefer es trotzdem aus.
Bei solchen Programmen werden üblicherweise Vorkehrungen getroffen, die dafür sorgen, dass sich Bugs nicht fatal auswirken. Das würde man wohl kaum tun, wenn man 100% sicher wäre, dass es keine Bugs gibt.
-
Ein Professor von mir ist ganz ganz großer Gegner der Airbus-Leitlinie "elektronisches Flugzeug". Er dokumentiert Fälle in denen die Airbus-Software versagt hat und zum Absturz geführt hat.
Also wer sich damit genauer befasst, dem wird sehrwohl auffallen, dass keine Software - auch nicht eine Autopiloten-Software - 100%ig funktioniert.
MfG SideWinder
-
Ich hab auch nie davon geredet, dass alle unbekannten Bugs gefixt sind (was kaum geht), sondern bekannte Bugs.
rusted from the rain schrieb:
Also bei allen größeren Projekten, mit mehreren Mannmonaten Arbeitszeit, die ich bis jetzt erlebt habt, war es so, dass bis zum Schluss noch Bugs gefixt wurden. Habt ihr schon mal ein größeres Projekt erlebt, bei dem eine oder mehrere Wochen vor Abgabe alles fertig war und alle bekannten Bugs gefixt waren?
Aber die Frage wurde ja dann gleich wieder verdreht.
-
rusted from the rain schrieb:
Ich hab auch nie davon geredet, dass alle unbekannten Bugs gefixt sind (was kaum geht), sondern bekannte Bugs.
rusted from the rain schrieb:
Also bei allen größeren Projekten, mit mehreren Mannmonaten Arbeitszeit, die ich bis jetzt erlebt habt, war es so, dass bis zum Schluss noch Bugs gefixt wurden. Habt ihr schon mal ein größeres Projekt erlebt, bei dem eine oder mehrere Wochen vor Abgabe alles fertig war und alle bekannten Bugs gefixt waren?
Aber die Frage wurde ja dann gleich wieder verdreht.
Kurz und knapp: Nein.
-
Oh. OK. Ja. Wichtiger Unterschied
Bei grösseren Projekten werden üblicherweise auch nicht alle bekannten Bugs gefixt.
Irgendwann wird ein Strich gezogen. Verbleibende Bugs werden dann in "muss gefixt werden" und "is nicht so wichtig" unterteilt. Die "is nicht so wichtig" darf dann bis zur Auslieferung oft garnichtmehr angegriffen werden, weil man vermeiden möchte beim Fixen unwichtiger Sachen wieder neue Bugs zu schaffen. Und wenn alle "muss gefixt werden" Bugs gefixt sind, wird, trotz bekannter Bugs, ausgeliefert.Allerdings kann man es relativ einfach schaffen ohne bekannte Bugs auszuliefern: indem man einfach kaum oder garnicht testet
(was aber auch nicht der richtige Weg sein kann)
-
Wo wir beim Fliegen sind: da wären ein gutes Beispiel vielleicht die Rechner in den US-Spaceshuttles, die langsam ins Museum wandern.
In einem Buch von Richard Feynman habe ich etwas über die EDV-Steuerung gelesen: so seltsame Sachen wie 4 komplett gleiche Rechner (zur Sicherheit), zu wenig Speicher für alle Programme, deshalb muss vor dem Landen das Landeprogramm per Lochkarte eingelesen werden, udgl. Aber er hat berichtet, daß sein Eindruck war, daß die Software auf sehr hohem Niveu produziert wurde (ist aber auch schon eine halbe Ewigkeit her). Jedenfalls habe ich noch nie davon gelesen, daß die NASA Probleme mit einen Programmierfehler in einem Shuttle hatte.
Ich weiß noch, daß ich mir damals, als ich das gelesen hatte, dachte: vielleicht wird ja doch einmal eines von meinen Programmen fertig.