SSE Schein und Sein eines SoftwareEngineer von Mrchen

  • Slides: 23
Download presentation
SSE Schein und Sein eines Software-Engineer… …von Märchen und Wahrheiten Prof. Dr. Andreas Rausch

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? •

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

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…

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

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? •

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… ©Prof. Dr. Andreas Rausch SSE 7

Die Bedeutung von Software für den Alltag… SSE • Haushalts- und Konsumelektronik – Handys,

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

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

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,

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

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

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

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

Unsere IT-Landschaft bildlich dargestellt… ©Prof. Dr. Andreas Rausch SSE 15

Unterschiede von Software SSE • Software unterliegt keinen physikalischen Gesetzen, Software ist immateriell •

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? •

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

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

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

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

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

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

Perspektive eines Software-Engineer ©Prof. Dr. Andreas Rausch SSE 23