1 / 38

Viele Köche verderben den Brei

Viele Köche verderben den Brei. Softwaretechnik. Bürgerkolleg 2000 Hochschule Anhalt (FH) Fachbereich Informatik Prof. Dr. Michael Worzyk. Agenda. Programmfehler Komplexität von Software Besonderheit von Software Werkzeuge Methoden. Programmfehler.

Download Presentation

Viele Köche verderben den Brei

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Viele Köche verderbenden Brei Softwaretechnik Bürgerkolleg 2000 Hochschule Anhalt (FH)Fachbereich Informatik Prof. Dr. Michael Worzyk

  2. Agenda • Programmfehler • Komplexität von Software • Besonderheit von Software • Werkzeuge • Methoden Softwaretechnik

  3. Programmfehler Am 4. Juni 1996 startete die ESA eine unbemannte Rakete mit vier Satelliten an Bord von Französisch Guyana aus. 40 Sekunden nach dem Start explodierte die Ariane 5. Verlust ca. 500 Millionen Dollar für Rakete und Satelliten. Entwicklungskosten ca. 7 Milliarden Dollar. Softwaretechnik

  4. Programmfehler Ursache für den Absturz: Der Bordcomputer stürzte 36.7 Sek. nach dem Start ab als er versuchte, den Wert der horizont. Geschwindigkeit von 64 Bit Gleitkommadarstellung in 16 Bit signed Integer umzuwandeln: Die entsprechende Zahl war grösser als 215=32768 und erzeugte einen Overflow. Das Lenksystem brach zusammen und gab die Kontrolle an eine zweite, identische Einheit ab. Selbstzerstörung wurde ausgelöst, da die Triebwerke abzubrechen drohten. Softwaretechnik

  5. Programmfehler Pentium Prozessor Divisions-Fehler 1994 Beispiel: x = 4195835.0 y = 3145727.0 z = x - (x/y) * y Bei exakter Rechnung und fehlerfreiem Prozessor: 0 Pentium liefert als Ergebnis: 256 Rückrufaktion: 475 Millionen Dollar Softwaretechnik

  6. Programmfehler Ursache: INTEL verwendet einen speziellen und schnellen Divisions-Algorithmus, den Radix-4 SRT Algorithmus: Zwischenergebnisse werden aus einer Tabelle abgelesen. In dieser Tabelle fehlten 4 von 1066 Einträgen. Softwaretechnik

  7. Programmfehler Bei der Neueröffnung des Flughafens in Denver sollte ein voll automatisches Gepäcksystem verwendet werden. 300 Computer, Laserscanner,Photozellen, Ethernet-Netzwerk Eröffnung des Flughafens wegen Fehler im Gepäcksystem um 16 Monate verspätet. Zerquetschte, verlorene Koffer usw. Verlust: ca. 3.2 Milliarden Dollar Softwaretechnik

  8. Programmfehler Teilursache: Zu viele Nachrichten über Ethernet. Sortier-Anweisungen kamen nicht rechtzeitig wegen Überlastung des Netzwerks (LAN). Gesamtproblem zu komplex. http://www.forwiss.tu-muenchen.de/~baumann/bugs.html http://catless.ncl.ac.uk/Risks/ Softwaretechnik

  9. Komplexität von Software Softwaretechnik

  10. 7 6 , 5 6 5 t i e z 4 , 2 s g n 4 u l k 3 , 5 c i w t n 3 E e r 2 , 3 h a J 2 1 1 0 , 8 0 1 9 7 5 1 9 8 0 1 9 9 0 1 9 7 5 1 9 8 0 1 9 9 0 T e c h n i s c h e P r o g r a m m e K o m m e r z i e l l e P r o g r a m m e Entwicklungsdauer Softwaretechnik Q u e l l e n : T R W D o D G E I , e n t n o m m e n a u s S c h a r f 8 8 , S . 6 2

  11. Teamgröße Softwareentwicklung geschieht in Teams Teamgröße 3 bis 50 Personen Projektgröße 36 bis 1500 Personenmonate Softwaretechnik

  12. Nachfrage Softwaretechnik

  13. Software Software ist ein immaterielles Produkt Software unterliegt keinem Verschleiß Software wird nicht durch physikalische Gesetze begrenzt Software ist i. allg. leichter und schneller änderbar als ein technisches Produkt Software ist schwer zu »vermessen«. Softwaretechnik

  14. Softwaretechnik Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden, Konzepten, Notationen und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Software-Systemem H. Balzert Softwaretechnik

  15. + + - - + + - - zielorientiert Qualität Quantität Projektdauer Kosten Softwaretechnik

  16. Werkzeuge Projektmanagement Programme CASE-Tools Computer Aided Software Engineering Programmierumgebungen Testumgebungen Softwaretechnik

  17. Projektmanagement Softwaretechnik

  18. CASE-Tools Softwaretechnik

  19. Programmierumgebung Softwaretechnik

  20. Notationen Beschreibung eines Sachverhaltes durch Symbole Beispiel: Selektion innerhalb eines Programms Wenn eine Bedingung zutrifft, mach dieses, wenn sie nicht zutrifft, mach jenes Softwaretechnik

  21. Programmablaufplan Selektion: Softwaretechnik

  22. Else Bedingung x Then Bedingung x 1 2 3 Struktogramm Selektion: Softwaretechnik

  23. Klassenstruktur Softwaretechnik

  24. Konzepte Modellierung eines definierten Sachverhales • Programmablaufplan (DIN 66001) • Struktogramm (Nassi-Shneiderman Diagramm) • Entity Relation Diagramm • Entscheidungstabelle Softwaretechnik

  25. Groschenröhre = 10 50-Pfg-Röhre = 10 Markröhre = 10 immer Groschenröhre < 5 oder 50-Pfg-Röhre < 5 oder Markröhre < 5 ? nein ja Bitte abgezähltes Geld einwerfen Getränkeautomat Eingeworfenes Geld zählen Kosten = Kosten des ausgewählten Produkts solange bis Eingeworfenes Geld >= Kosten Eingeworfenes Geld zählen Ware auswerfen solange bis Eingeworfenes Geld-Kosten<100 oder Markröhre = 0 1 DM auswerfen Eingeworfenes Geld = eingeworfenes Geld-100 Markröhre = Markröhre - 1 solange bis Eingeworfenes Geld-Kosten<50 oder 50-Pfg-Röhre = 0 50 Pfg auswerfen Eingeworfenes Geld = eingeworfenes Geld-100 50-Pfg-Röhre = 50-Pfg-Röhre - 1 solange bis Eingeworfenes Geld-Kosten=0 oder Groschenröhre = 0 Groschen auswerfen usw. Eingeworfenes Geld in die Röhren sortieren Softwaretechnik

  26. ERDPatientenaufnahme 1 B.Rassmann, G.Tusch 16 Patient Station 4 15 3 2 14 Leistung Aufenthalt 13 Pflegesatz 5 Adresse Sonder rechnungs empfänger 11 8 12 Kostenträger Angehöriger 6 Arzt Informant 9 10 7 Arbeitgeber Hauptversicherter Notfall Softwaretechnik

  27. Methoden Vorgehensmodelle Wasserfallmodell V-Modell Objektorientiertes Vorgehen Prototyping Testmethoden Inspektion Blackbox Pfadüberdeckung Softwaretechnik

  28. Software Entwicklung Projektmanagement EDV Phasen Projektinitierung Vorstudie Fachkonzept Qualitätssicherung Dokumentation DV-Design Realisierung Einführung Gewährleistung Softwaretechnik

  29. Wasserfallmodell Anforderungen Design Realisierung Testen Produktion Softwaretechnik

  30. V - Modell Machbarkeitsstudie Produktion Pflichtenheft Einführung Grobkonzept Integrationstest Feinkonzept Modultest Realisierung Softwaretechnik

  31. Objektorientierte Softwareentwicklung Softwaretechnik

  32. Prototyping • exploratives (provokatives) • experimentelles • evolutionäres Softwaretechnik

  33. Fehlerkosten Softwaretechnik

  34. Inspektion (Review) Formaler Bewertungsprozess Die Teilnehmer müssen vorbereitet sein Es wird das Produkt geprüft, nicht der Produzent Es wird ein Protokoll erstellt Es gibt eine Erledigungsliste der Korrekturen -> Frühe und umfassende Mängelaufdeckung Softwaretechnik

  35. Blackboxtest Es wird das Ein- Ausgabeverhalten des Programms getestet, nicht die interne Struktur Besipiel: Umwandlung Jahrestag -> Datum z.B.: Tag 100 -> 10.April Softwaretechnik

  36. Testfälle Sinnvoll: 1, 0, -1, 60 (28. oder 29. Februar), 365, 366, 367 weniger sinnvoll: 2, 3, 100, 101, 102 Softwaretechnik

  37. Pfadüberdeckung Alle möglichen Verzweigungen des Programms werden betrachtet. Es werden die Testfälle so konstruiert, dass jeder mögliche Pfad durch das Programm durchlaufen wird. Softwaretechnik

  38. Prinzipien Ziel der Softwaretechnik ist es, qualitativ hochwertige Programme in einem vertretbaren Kosten- und Zeitrahmen herzustellen. Softwaretechnik

More Related