Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Schein und Sein eines Software-Engineer…

Ähnliche Präsentationen


Präsentation zum Thema: "Schein und Sein eines Software-Engineer…"—  Präsentation transkript:

1 Schein und Sein eines Software-Engineer…
…von Märchen und Wahrheiten Prof. Dr. Andreas Rausch

2 Was ist ein Software-Engineer?
Inhalt Was ist ein Software-Engineer? Warum ist Software-Engineering so besonders? Wie arbeitet ein Software-Engineer?

3 Maschinenbau-Ingenieur Elektrotechnik-Ingenieur
Andere Ingenieure… Wer baut was? Bau-Ingenieur Maschinenbau-Ingenieur Elektrotechnik-Ingenieur Software-Ingenieur/-Engineer

4 Was ist ein Software-Engineer?
Ein Zauberer? Ein Garagenbastler? Ein Software-Engineer ist ein Engineer… …Engineering ist die Anwendung von naturwissenschaftlichen Erkenntnissen und praktischen Erfahrungen, um für die Menschheit sinnvolle Dinge zu entwickeln und bereit zu stellen.

5 Was ist ein Software-Engineer?
Software Engineering ist die zielorientierte Bereitstellung und Verwendung von systematischen, ingenieurmäßigen und quantifizierbaren Vorgehensweisen für Entwicklung, Betrieb, Wartung und Stilllegung von Software-Systemen. Zielorientiert bedeutet dabei die Berücksichtigung von Zeit, Kosten und Qualität. (Ethische) Verantwortung eines Engineers und damit auch eines Software-Engineers Zeit Kosten Qualität Leistung

6 Was ist ein Software-Engineer?
Inhalt Was ist ein Software-Engineer? Warum ist Software-Engineering so besonders? Wie arbeitet ein Software-Engineer?

7 Die Bedeutung von Software…

8 Die Bedeutung von Software für den Alltag…
Haushalts- und Konsumelektronik Handys, DVD-Player, Digitalkameras  bestehen zu einem wesentlichen Teil aus Softwaresystemen Aber auch Geräte wie Kaffee- und Waschmaschinen Automobilindustrie Pro Fahrzeug bis zu 100 Mikrokontroller Mehr als 50% der Pannen  Software beteiligt: Tendenz steigend Prozesse und Produktion ohne Software nicht mehr möglich Informationssysteme Finanzen, Medizin, etc. – zwischen 60% - 90% Durchdringung 1 Geschäftsprozess integriert bis zu 15 Großanwendungen!

9 Die Bedeutung für Software für die Wirtschaft
Weltweite Leit-Industrien (Umsatz 1994 in Milliarden US-$) Militär & Verteidigung Tourismus Maschinenbau Autoindustrie Inform. - und Komm.-technik Textilindustrie Chemieindustrie [Quelle: Balzert, Bd. 1, S. 28 Abb. 6]

10 Software-Katastrophe: Start der Ariane-5 am 4. Juni 1996 (1)
Ein wirklich teurer Software-Fehler – Ariane 5: „On June 4, 1996, on its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then it began to veer off course. At the direction of the Ariane ground controller, the rocket was destroyed by remote control. … total cost of the disaster was $500 million. [Quelle: Pfleeger, Software Engineering – Theory and Practice, S.37] Ursache: Flugbahn der Rakete wird durch „Inertial Reference System (SRI)“ gemessen, dessen Software teilweise von Ariane-4 übernommen wurde ein Teilsystem von SRI rechnete nach dem Start weiter, obwohl seine Ergebnisse in Ariane-5 nicht mehr benötigt wurden andere Flugbahndaten von Ariane-5 (als bei Ariane-4) erzeugten Überlauf bei Real-Integer-Konvertierung und verursachten Fehlfunktion des SRI-Systems dadurch wurden wichtige Flugdaten durch ein Testmuster überschrieben das SRI-System und sein Backup schalteten sich aufgrund des Fehlers ab Informationen aus dem offiziellen Bericht der Untersuchungskommission sowie aus der aktuellen CNN-Berichterstattung:

11 Software-Katastrophe: Patriot-Rakete (1)
Ein fataler Software-Fehler im Golfkrieg II: “During the Gulf war, a computer failure was responsible for the failure of a patriot missile to stop a scud missile that hit an American military barracks in Dharan … 28 dead …” [Quelle: ACM SIGSOFT Software Engineering Notes, vol. 16, no. 3 (1991), S.19f] Ursache: der Steuercomputer lief 4 Tage ununterbrochen dadurch lief das interne Timer-Register über 24 Bit hinaus und es entstanden Rundungsfehler bei der Bahnberechnung wäre das Timer-Intervall 1/8 statt 1/10 Sekunde gewesen hätte es keine Rundungsfehler gegeben das Intervall wurde entgegen der ursprünglichen Programmierung nachträglich von einem Manager auf 1/10 Sek. geändert Hier hätte ich gern noch ein weiteres Beispiel: Evtl. aus der Automobilindustrie: Zum Beispiel den Air-bag Defekt bei VW Vielleicht dieses? dann nur noch entsprechend eingearbeitet werden ;-) www2-data.informatik.unibw-muenchen.de/People/minas/Lectures/FT2004/ETA-FT2004.pdf

12 IT-Projekt-Katastrophen: Alles Einzelfälle?
1981: US Air Force Command & Control Software überschreitet Kostenvoranschlag fast um den Faktor 10: 3,2 Mio. US-$. 1992: Integration des Reservierungssystems SABRE mit anderen Reservierungssystemen abgebrochen: 165 Mio. US-$. 1997: Entwicklung des Informationssystems SACSS für den Staat Kalifornien abgebrochen: 300 Mio. US-$. 1994: Eröffnung des Denver International Airport um 16 Monate verzögert wegen Softwareproblemen im Gepäcktransport-System: 655 Mio. US-$. Deutschland kann das auch… 2004: Das deutsche Maut Erfassungssystem „Toll Collect“ wurde mit großem Verzug in Betrieb genommen: ~6,5 Mrd. €.

13 Erfolgsstatistik von IT-Projekten (1)
CHAOS Report Jährlicher Bericht seit 1994 über den Erfolg von IT-Projekten Es wurden ca Projekte (nur) in den USA untersucht Herausgeber: Standish Group International, Inc. Der CHAOS Report ordnet IT-Projekte in drei Kategorien ein Succeeded: Projekt wurde innerhalb der vorgegebenen Zeit und Budget abgeschlossen, ist im Einsatz und erfüllt alle Anforderungen. Challenged: Projekt ist abgeschlossen. Projektergebnis ist im Einsatz. Zeit, Budget oder Leistung sind aber nicht im vorgegebenen Umfang erreicht worden. Failed: Das Projekt wurde vorzeitig abgebrochen oder das Projektergebnis wurde nie eingesetzt.

14 Erfolgsstatistik von IT-Projekten (2)
100% 27 40 33 nicht akzeptabel ! 80% 46 49 51 16 31 53 60% 40% 28 15 23 20% 26 28 34 0% 1994 1996 1998 2000 2003 Succeeded Failed Challenged Quelle: CHAOS Report, Standish Group International, Inc.

15 Unsere IT-Landschaft bildlich dargestellt…
nicht akzeptabel !

16 Unterschiede von Software
Software unterliegt keinen physikalischen Gesetzen, Software ist immateriell Software Engineering ist die einzige Ingenieursdisziplin, die sich mit nicht fassbaren Systemen beschäftigt Unterschiede und Missverständnisse Nur Entwicklung, keine Produktion Software ist leicht änderbar Softwaresysteme haben (fast) keinen Verschleiß Betrieb und Nutzung kann vernachlässigt werden Softwaresysteme haben einen relativ kurzen Entwicklungszyklus Große Softwaresysteme sind kurzlebig Ingenieursdisziplin Die Software Entwicklung unterscheidet sich von den traditionellen technologischen Disziplinen dadurch, daß sie keinen physikalischen Gesetzen unterliegt. Sie kann nicht durch die in ihr enthaltenen Programme charakterisiert werden, sondern nur durch ihre Arbeitsweise. Qualität Qualität von Software läßt sich kaum testen, sie muß hineinentwickelt werden. Fehler sind sowohl in der Analyse als auch in der Synthese möglich. Test Es sind Fehler in der Analyse sowie in der Synthese möglich. Je eher ein Fehler entdeckt wird, desto geringer sind die verursachten Kosten. Wartung Software altert nicht wie Bauteile, sie wird im Laufe der Zeit (bei richtiger Wartung) höchstens besser. Anmerkung: Vielleicht noch Legende einfügen

17 Was ist ein Software-Engineer?
Inhalt Was ist ein Software-Engineer? Warum ist Software-Engineering so besonders? Wie arbeitet ein Software-Engineer?

18 Wie arbeitet ein Software-Engineer?

19 Software Engineers arbeiten in Teams
Häufig: Arbeiten in Projekten Ein Projekt ist ein einmaliges Vorhaben mit einem gewissen Risiko. Ein vorgegebenes Ziel muss innerhalb einer vorgegebenen Zeit unter Einsatz von vorhandenen, meist beschränkten Mitteln erarbeitet werden. Größe von Projekten Klein: 1 PJ, 1-2 Bearbeiter, Entwicklung für Eigenbedarf Mittel: 1-10 PJ, 3-10 Bearbeiter, Compiler, Steuerprogramme, Entwicklung für Kunden Groß: 5-50 PJ, 10 bis 30 Bearbeiter, Datenbanken, Spiele, Individual-SW-Systeme Riesig: PJ, Bearbeiter, Gesamtlösungen für Unternehmen

20 Tätigkeit eines Software Engineer

21 Beispiel für verlässliche adaptive Systeme (1)
Sportler sollten für ein optimales Training in einem bestimmten Soll-Pulsbereich trainieren Soll-Pulsbereich ist abhängig von Parametern, z.B.: Individuelles Leistungsprofil Profil der Rennstrecke -> Soll-Puls muss während des Trainings angepasst werden Ist-Pulsbereich wird durch Vorgaben gesteuert, z.B.: Leistungsvorgabe für den Sportler Gegenwind durch Position in der Gruppe -> Vorgaben müssen während des Trainings angepasst werden Aufgabe des Assisted Training Systems Optimierung des Einzeltraining eines Rennradsportlers Optimierung des Gruppentraining einer Rennradgruppe

22 Beispiel für verlässliche adaptive Systeme
Pedal Power Sensor Bluetooth / WLAN GPS GSM AmI PDA Wind Sensor MICA Nodes Pulse Sensor Trainer Internet-basierte Trainingsdatenbank

23 Perspektive eines Software-Engineer


Herunterladen ppt "Schein und Sein eines Software-Engineer…"

Ähnliche Präsentationen


Google-Anzeigen