SSE Schein und Sein eines SoftwareEngineer von Mrchen























- Slides: 23
SSE Schein und Sein eines Software-Engineer… …von Märchen und Wahrheiten Prof. Dr. Andreas Rausch Technische Universität Clausthal Institut für Informatik – Software Systems Engineering Lehrstuhl von Prof. Dr. Andreas Rausch
Inhalt SSE • Was ist ein Software-Engineer? • Warum ist Software-Engineering so besonders? • Wie arbeitet ein Software-Engineer? ©Prof. Dr. Andreas Rausch 2
Andere Ingenieure… SSE Wer baut was? • Bau-Ingenieur • Maschinenbau-Ingenieur • Elektrotechnik-Ingenieur • Software-Ingenieur/-Engineer ©Prof. Dr. Andreas Rausch 3
Was ist ein Software-Engineer? Ein Zauberer? SSE 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. ©Prof. Dr. Andreas Rausch 4
Was ist ein Software-Engineer? SSE • 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. Zeit Leistung Kosten Qualität • (Ethische) Verantwortung eines Engineers und damit auch eines Software-Engineers ©Prof. Dr. Andreas Rausch 5
Inhalt SSE • Was ist ein Software-Engineer? • Warum ist Software-Engineering so besonders? • Wie arbeitet ein Software-Engineer? ©Prof. Dr. Andreas Rausch 6
Die Bedeutung von Software… ©Prof. Dr. Andreas Rausch SSE 7
Die Bedeutung von Software für den Alltag… SSE • 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! ©Prof. Dr. Andreas Rausch 8
Die Bedeutung für Software für die Wirtschaft SSE Weltweite Leit-Industrien (Umsatz 1994 in Milliarden US-$) Tourismus Chemieindustrie Inform. - und Komm. -technik Textilindustrie Autoindustrie Maschinenbau Militär & Verteidigung [Quelle: Balzert, Bd. 1, S. 28 Abb. 6] ©Prof. Dr. Andreas Rausch 9
Software-Katastrophe: Start der Ariane-5 am 4. Juni 1996 (1) SSE 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 ©Prof. Dr. Andreas Rausch 10
Software-Katastrophe: Patriot-Rakete (1) SSE 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. 19 f] 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 ©Prof. Dr. Andreas Rausch 11
IT-Projekt-Katastrophen: Alles Einzelfälle? SSE • 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. €. ©Prof. Dr. Andreas Rausch 12
Erfolgsstatistik von IT-Projekten (1) SSE • CHAOS Report – Jährlicher Bericht seit 1994 über den Erfolg von IT-Projekten – Es wurden ca. 100. 000 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. ©Prof. Dr. Andreas Rausch 13
Erfolgsstatistik von IT-Projekten (2) SSE 100% 80% 33 46 49 51 28 23 15 27 26 28 34 1996 1998 2000 2003 53 60% 40 40% 31 20% 16 0% 1994 Succeeded Failed Quelle: CHAOS Report, Standish Group International, Inc. ©Prof. Dr. Andreas Rausch Challenged 14
Unsere IT-Landschaft bildlich dargestellt… ©Prof. Dr. Andreas Rausch SSE 15
Unterschiede von Software SSE • 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 ©Prof. Dr. Andreas Rausch 16
Inhalt SSE • Was ist ein Software-Engineer? • Warum ist Software-Engineering so besonders? • Wie arbeitet ein Software-Engineer? ©Prof. Dr. Andreas Rausch 17
Wie arbeitet ein Software-Engineer? ©Prof. Dr. Andreas Rausch SSE 18
Software Engineers arbeiten in Teams SSE Häufig: Arbeiten in Projekten Ein Projekt ist 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: 50 -5. 000 PJ, 20 -1000 Bearbeiter, Gesamtlösungen für Unternehmen ©Prof. Dr. Andreas Rausch 19
Tätigkeit eines Software Engineer ©Prof. Dr. Andreas Rausch SSE 20
Beispiel für verlässliche adaptive Systeme (1) SSE • 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 ©Prof. Dr. Andreas Rausch 21
Beispiel für verlässliche adaptive Systeme Kapitel 1 Kapitel 2 Kapitel 3 Kapitel 4 GPS Kapitel 5 Internet-basierte Trainingsdatenbank Am. I PDA GSM Wind Sensor MICA Nodes Vortragstitel hier eintragen ©Autor hier eintragen Kapitel 6 Bluetooth / WLAN Pulse Sensor Trainer SSE Pedal Power Sensor 22
Perspektive eines Software-Engineer ©Prof. Dr. Andreas Rausch SSE 23























