Software machen - Das schwerste wo gibt?



  • Ich denke zum einen ist Software-Testing noch nicht so weit, wie es seien sollte. Während man heute Häuser, Autos etc. in Simulatoren testet, die alle möglichen Fälle simulieren, wird Software eher über das anwenden oder Unit-Tests getestet. Ich denke mehr Fuzzy-Testing bei Software würde helfen. Dann gibt es für Häuser, Autos und Flugzeuge auch andere Qualitätsnormen. Gibt es für Software überhaupt vergleichbares?

    Es gibt denke ich auch extreme Unterschiede zwischen dem Vorgehen einer Software-Firma und der einer Auto-Firma oder einem anderen Ingenieurs-Bereich.

    Die Komponenten eines Autos haben eben gewisse Kriterien und Zulassungsgrenzen, die man einfacher festhalten kann. Entwirft man nun ein neues Auto, kann man leichter prüfen welche Komponenten man weiterhin verwenden kann, modifizieren oder gar neu entwickeln muss, da man die neuen Anforderungen einfach mit den Design-Anforderungen vergleichen kann.

    Bei Software sind die Anforderungen ja oft sehr Waage. Man kann schlecht abschätzen, wie die Software in 5 Jahren modifiziert werden wird. Und die meisten Software-Projekte werden ja nicht komplett neu geschrieben. Windows, OpenOffice, Firefox, Internet Explorer etc. enthalten ja Jahr(zehnte)e alten Code. Da wird eben aus einem Autofahrgestell am Ende ein Raketenmotor. Damit konnte man aber am Anfang gar nicht rechnen.

    Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Die ist doch explodiert, weil man lieber 7, als 8 Milliarden ausgeben wollte, um die ganze Software neu zu implementieren...



  • Hem, also eigentlich unterscheidet sich die Arbeit der Autoentwickler nicht wirklich von der, der Software entwickler. Bis auf das Testing! Da habe ich ja gesagt, das sich die Software-Industrie ne Scheibe abschneiden kann.

    Mein Bruder hat Fzg-Technik studiert und arbeitet in einer Motorsportfirma als Berechner und Diplom-Arbeit hat er bei VW gemacht. Nun, was meinste was die für Testing und Balancing alles an Zeit und somit Geld stecken? Klar können die vieles über Software simulieren. Aber trotzdem gehen die auf die Teststrecke und für Serienfahrzeuge in die Wüste oder den Polarkreis. VW hat alleine für das Fahrwerk-Balancing des aktuellen Golf GTI knapp 12 Monate gebraucht. Erfahrung ist schön und gut, aber sobald du nen neuen oder neuartigen Motor einbaust, haste ein anderes Fahrverhalten. Dann geht die Arbeit von vorne los, bei null.

    Sowas wie Grenzwerte gibt es nicht, eher umgekehrt. Wenn du nen Bugatti Veyron mit 1001 PS baust (die Dinger fahren ja hier in Wolfsburg rum), muß halt einfach nur die Bremsanlage mehr 1001 PS haben. Aber die mußt erstmal 1001 PS auf die Strasse bringen. Zeitweise hat VW den Veyron sogar verworfen und neu angefangen, weil 1001 PS einfach nicht so zu fahren gingen, wie man es sich vorgestellt hatte.

    Also, es ist völlig egal ob du nen Compactwagen mit "nur" 200 PS baust, oder nen Brummer mit 1001 PS. Die Auto-Ingineure fangen jedes Auto bei null an!!! Erfahrungswerte zählen natürlich, aber schon alleine ein anderer Radstand zwingt dich das Auto neu zu balancieren. Was meinste warum der VW-Konzern keine heckgetriebenen Autos hat? 😉

    Selbst Autos wie der VW Fox werden mit Sonderkonstruktionsblättern (sozusagen die Changerequests bei der VW-Planung) überhäuft, weil irgendwas nicht hinhaut, wie der Ingineur es sich ursprünglich gedacht hat. Und selbst wenn nur ein Loch im Türblech um ein paar Millimeter verschoben wird, kommt die Lackiererei ins Spiel, weil die sich beschwert, das doch dann der Lack nicht mehr korrekt abliessen kann. Ja ja... man sollte nicht glauben, das nur Software schwer zu entwickeln ist.

    Der Unterschied ist nur, das die Autohersteller Änderungen nachträglich schwieriger bzw. nur mit immensen Kostenaufwand vornehmen können. Und deshalb die Planung, Testing und Balancing ausführlicher ausfällt.

    Das ist bei Konsolenspielen auch so: die Dinger kannst du nicht patchen. Jedes Spiel wird von Sony, Nintendo und MS nochmal selbst auf Herz und Nieren getestet, bevor es in die Disc-Presse kommt. Ich weiß noch, als SEGA unser Spiel nicht auf Dreamcast releasen wollte, bzw. uns immer wieder eine Mängelliste zuschickte.

    Bei PC-Software ist es aber egal: bei Fehlern kann man ja kostengünstig nen Patch nachreichen.



  • YO, dazu passt auch das hier:
    http://www.heise.de/newsticker/meldung/86839

    Schwupps hätten wir fehlerfreiere Software (sicherlich nicht 100% fehlerfrei, aber die Hersteller würden schon mal ne Software dafür 6 Monate länger testen und den User nicht ins offene Messer laufen lassen).



  • In erster Linie sollten die Softwareentfrickler mal richtig ausgebildet werden. Ein Nachweis über grundlegende Kenntnisse der Softwareentwicklung sollte Pflicht sein, bevor man die Leute auf die Menschheit los lässt. Wenn ein Haus gebaut wird, muß ein ausgebildeter Statiker die grundsätzliche Funktionsfähigkeit prüfen. Software darf ich einfach so anbieten. Wenn jemand z. B. mit Excel mal ein Rechenblatt zusammengeklickt hat, darf er es als ERP-System anbieten.



  • rüdiger schrieb:

    Bei Software sind die Anforderungen ja oft sehr Waage

    😃 😃 😃 😃 😃 😃 😃 😃



  • Apollon schrieb:

    Klar weiss es der Architekt/Bauingeneur. Deswegen bauen z.B. Japaner besonders erdbebensicher.

    hustbaer schrieb:

    Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Wieso nicht?

    Weil 10 Jahre Entwicklungszeit, 7 Milliarden Euro, und Menschenleben ebenso eine *ziemlich* kritische Sache ist und es da nicht egal war, ob die verwendete Software Fehler hat.

    Ich weiss nicht was du willst, die Ariane 5 funktioniert recht gut. Du kannst nicht verlangen dass das erste Modell beim ersten Flug funktioniert -- es kann IMMER was daneben gehen. Ich behaupte nur dass die durchschnittliche Qualität von Produkten sich danach richtet was der Markt verzeiht. Und im Schnitt funktionieren Raketen sehr zuverlässig wenn sie "produktiv gehen" -- dass einige wenige dabei explodiert sind ändert daran nix.

    Ich meine hallo, es gibt auch Flugzeugabstürze. Und genausowenig wie die Flugzeugabstürze die Tatsache ändern dass Fliegen die sicherste Art zu reisen ist -- genausowenig invalidiert es meine Erklärung dass die erste Ariane 5 auseinandergebrochen ist (und später sogar noch eine).

    Wäre der Markt nicht "gnädig" genug, hätten die niemals zahlende Kunden gefunden um ihnen > 25 Flüge zu verkaufen, hm?

    Also. Wo deckt sich nun was nicht?



  • "Software ist das komplexeste was Menschen je gschaffen haben"

    Na klar kann Software sehr komplex sein aber schau dich mal in der Physik um.

    Präsziste Messgeräte, Unglaublich viele mögliche Fehlerquellen, versuch mal 100 Kilo Plasma kontrolliert in Schwebe zu halten und sämtliche Unregelmäßigkeiten nach Möglichkeit zu kompensieren, versuche die Temperatur auf 1 Milliardstel Kelvin per Laserkühlung runterzubringen.

    und das sind noch nicht mal die komplexesten Sachen denn Laserkühlung etc wird heutzutage ja schon als durchaus umsetzbar gesehen.

    Versuch ein Proton und Neuron die aus zwei entgegengesetzten Richtungen in einem Rohr bei einer Geschwindigkeit von annähernd Lichtgeschwindigkeit (soll heissen KLEINSTE Abweichungen ändern die Bahn drastisch und sind schwer auszugleichen)
    aufeindanderprallen zu lassen (man beachte die Größe der Beiden)

    DAS is auch scheisskompliziert.

    Klar, es kann schon sein, dass Software das komplexeste ist (genauer gesagt sein kann) (aufgrund der Möglichkeiten) aber man sollte die anderen Sachen nicht unterschätzen.

    Mfg



  • Das is seit langem der dümmste Fred -.-



  • Muhi89 schrieb:

    "Software ist das komplexeste was Menschen je gschaffen haben"
    Na klar kann Software sehr komplex sein aber schau dich mal in der Physik um.

    die haben aber die menschen nicht geschaffen.
    eher mathe und natürlich philosophie, das ist 100% menschlicher gehirnschmalz. viel komplexer als software (je sein wird?)...
    🙂



  • vista schrieb:

    Muhi89 schrieb:

    "Software ist das komplexeste was Menschen je gschaffen haben"
    Na klar kann Software sehr komplex sein aber schau dich mal in der Physik um.

    die haben aber die menschen nicht geschaffen.

    Die Beschreibung dazu und auch die Meßgeräte aber schon.

    Abgesehen davon gibt es IMHO einen Unterschied zwischen komplex und kompliziert. Ein kompliziertes Problem ist ziemlich undurchschaubar, man hat viele Parameter, die miteinander 'irgendwie' wechselwirken, sich gegenseitig beeinflußen usw. Ein komplexes Problem ist etwas anderes. Solche Probleme löst man durch Modularisierung (aufsplitten in Teilprobleme, Lösen der Teilprobleme, Kombinieren zum Gesamtergebnis) oder durch Einführen von passenden Abstraktionsschichten. Komplexe Probleme sind nicht besonders schwierig zu lösen, die Lösung ist vergleichbar mit einem Lego-Baukasten: man steckt nur noch die einzelnen Module zusammen. Der Modulentwurf ist das einzige, was noch nennenswerten Denkaufwand erfordert. Bei 'rein menschengemachten' Probleme kann man normalerweise die Module recht frei wählen oder man führt eine entsprechende Abstraktionsschicht ein, in der sich das Problem fast von selbst löst. Beispiele in Software gibt es dafür genug. Man kann komplexe Logikprobleme in der passenden abstrakten Sprache (Prolog) hinschreiben und hat sofort eine Lösung. Oder wenn man sich mal überlegt, durch wie viele Abstraktionsschichten ein Video von der Kamera über youtube auf den eigenen Bildschirm kommt ... puh, das ist extrem vielschichtig (komplex), aber jeder einzelne Schritt ist recht einfach verständlich.

    Und so einfach hat man es eben nicht überall: in manchen Bereichen der Technik oder Physik bekommt man ein Moduldesign von außen (von der Natur) aufgezwungen, das man intern kaum noch weiter runterbrechen kann. Das macht solche Probleme kompliziert, aber es kommt hinterher trotzdem nichts raus, was sich von der Komplexität mit irgendwelchen vielschichtigen Softwareproblemen vergleichen ließe.



  • frickeln is relativ einfach



  • Vielleicht kann mans in Zeit ausdrücken.
    Wie lange braucht man um eine Software zu entwickeln? Also von der Idee bis zum Markteintritt.
    Bei Medikamenten vergehen da gut 10-12 Jahre und es sind viele Abteilungen verschiedener Disziplinen beteiligt.
    Chemie -> Target Identifikation -> Drug Discovery -> Pharmakologie -> Toxikologie -> Medizinal Chemie -> Klinik -> Regulatory Affairs -> Marketing
    Und Bugs sind dabei unverzeihlich.



  • THX 1138 schrieb:

    Vielleicht kann mans in Zeit ausdrücken.
    Wie lange braucht man um eine Software zu entwickeln? Also von der Idee bis zum Markteintritt.
    Bei Medikamenten vergehen da gut 10-12 Jahre und es sind viele Abteilungen verschiedener Disziplinen beteiligt.
    Chemie -> Target Identifikation -> Drug Discovery -> Pharmakologie -> Toxikologie -> Medizinal Chemie -> Klinik -> Regulatory Affairs -> Marketing
    Und Bugs sind dabei unverzeihlich.

    Ja, klar. Bis auf dass der Grossteil der Zeit mit klinischen Studien für die Zulassung verplempert wird. Und trotzdem landen Medikamente auf dem Markt die ... sagen wir mal "der Gesundheit nicht sehr zuträglich" sind.

    Davon abgesehen ist das alles nicht deswegen so kompliziert weil es eben so kompliziert ist, sondern weil die Industrie es so kompliziert gemacht hat. Wäre ja z.B. nicht gut für die ganzen grossen Konzerne wenn eine kleine Bude eben mal so ein Medikament auf den Markt bringen könnte.



  • Stimmt es ist ganz einfach ne Struktur zu finden die aufs Target passt, ne gute Pharmakokinetik hat und keine Nebenwirkungen zeigt. Aber lassen wir das.



  • hustbaer schrieb:

    Wäre ja z.B. nicht gut für die ganzen grossen Konzerne wenn eine kleine Bude eben mal so ein Medikament auf den Markt bringen könnte.

    Vor allem wär's vielleicht nicht so gut für Patienten, wenn eine kleine Bude "eben mal so" was auf den Markt bringt. Aber daran sind natürlich auch "die großen Konzerne" schuld. Und natürlich George W.



  • Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Sie wurde bewusst gesprengt!



  • Der Hauptgrund ist doch, dass es sich einfach nicht lohnt bessere Software zu produzieren.

    Man kann nen neues Computerspiel für 1000.000 Euro produzieren viel Werbung schalten schnell auf den Markt werfen, und hoffen, dass genügend Exemplare verkauft werden, bevor sich die Fehler rumsprechen. Danach macht man nen par Updates und verkauft an die Leute die es nicht als erstes, sondern fehlerfrei haben möchten.

    Andere Stategie währe. 1500000 ausgeben. Ne menge Tester einstellen, lange testen und es dann verkaufen. Daduch entstehen aber einfach mehr Risiken.
    1. Duch die längere Entwicklungszeit hinkt man dem Markt hinterher
    2. Es müssen mehr exemplare verkauft werden um nur die Produktionskosten einzuspielen
    3. Das Risiko, das das Spiel beim Käufer einfach nicht ankommt ist genauso groß
    geblieben
    4. Das Risko, dass das spiel massenhaft kopiert wird.

    Also entscheidet sich jeder Softwarehersteller mit Verstand, der kein Geld zu verschenken hat für die günstigere Variante.

    Ich lese hier immer wieder, wie Software mit Autos verglichen wird. Auch ein Automodell wird einmal entwickelt und dann Kopien verkauft (Ja ich weiß´, auch die haben Materialkosten). Es ist aber so, dass man für nen Auto 15000 Euro Bezahlt und für ne Software 50.
    Wenn du bereit bist für dein nächstes Spiel 1000 Euro auszugeben und für "Word 2010" 800 dann kannste auch verlangen das das keine Fehler enthält.

    So wird weiterhin "billig" Software produziert.

    Es gabs in letzter Zeit einige Rückrufaktionen bei Autos (=Bug)
    Außerdem gibt es beim Autoproduzieren nicht das Risiko des Kopierens.
    Es gibt halt keine Maschine in die man nen beliebiges Auto und 1000 Kilo Stahl packt und die dann in 2 Minuten 2 Autos ausspuckt (Kopie und Original)
    Obwohl... wenn man an China denkt... 😃



  • Die Wahrheit schrieb:

    Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Sie wurde bewusst gesprengt!

    Egal.
    Die Aussage des OP war ja auch nicht dass es komisch ist dass Alpha-Software viele fehler enthält und ein Testflug ist eindeutig eher mit Alpha-Software zu vergleichen als mit Profukten, die Verkauft wrden.



  • Jester schrieb:

    hustbaer schrieb:

    Wäre ja z.B. nicht gut für die ganzen grossen Konzerne wenn eine kleine Bude eben mal so ein Medikament auf den Markt bringen könnte.

    Vor allem wär's vielleicht nicht so gut für Patienten, wenn eine kleine Bude "eben mal so" was auf den Markt bringt. Aber daran sind natürlich auch "die großen Konzerne" schuld. Und natürlich George W.

    Also eigentlich ist es so, dass die kleinen Buden innovativ sind und was entdecken, aber spätestens in der Preclinic oder klinischen Phase 1 kein Geld mehr haben. Dann kommen die grossen Fische und schlucken sie.



  • Hallo,

    beim Testen der Software kann man sich vielleicht noch überlegen, wie komplex die Sache wird, wenn man alle möglichen Eingabedaten, Funktions-Parameter, Kombinationen davon usw. berücksichtigen möchte. Zum Beispiel kann ein 32 Bit unsigned int (2 hoch 32) mögliche Werte annehmen... möchte man eine Funktion voll und ganz getestet haben, dann muss man wohl im Testprogramm diese Funktion mit allen (2 hoch 32) Kombinationen aufrufen und schauen, wie sich die Funktion verhält.
    Das ist, meiner Meinung nach, der Hauptgrund, warum die Software nie ohne Fehler sein kann...


Anmelden zum Antworten