Software Engineering Vorlesung für Medieninformatik

Ähnliche Dokumente
Software Engineering I Prof. Dr. Martin Glinz. Fallstudie: Ariane Flug 501. Universität Zürich Institut für Informatik

Warum ist Ariane 5 beim Erstflug explodiert?

Software Engineering. Ariane Flug 501! Fallstudie

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Software Engineering

Software Engineering. Bibliographisches Institut & F. A. Brockhaus AG, Mannheim; Spektrum Akademischer Verlag GmbH, Heidelberg, 2003

Software Systems Engineering

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich. Softwaretechnik I

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Agile Software Development

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Agile Softwareentwicklung

Benötigen wir einen Certified Maintainer?

Karriere in der IT und Informatik: Voraussetzungen für den Arbeitsplatz der Zukunft

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Projektmanagement. Dokument V 1.1. Oliver Lietz - Projektmanagement. Wie kommt es zu einem Projektauftrag? Ausführung

Software Engineering. 3. Analyse und Anforderungsmanagement

Projektmanagement (Modelle, Methoden & Tools)

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Übungsaufgaben zum Software Engineering: Management

Wirtschaftsingenieurwesen (Informationstechnik) Modulname. Programmierung II / Software Engineering II Modulnummer


10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

Fragebogen: Abschlussbefragung

Informationswirtschaft 2: Überblick

Requirements Engineering Research Group!

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Datenübernahme easyjob 3.0 zu easyjob 4.0

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

Projektmanagementsoftware: Standard vs. Individual

2. Workshop: Vorgehensmodelle in der Praxis Reife und Qualität

Oracle 9i Real Application Clusters

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Success-Story. Das Unternehmen. mobile.international

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Letzte Krankenkassen streichen Zusatzbeiträge

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

Installation OMNIKEY 3121 USB

Was versteht man unter Softwaredokumentation?

Dokumentation. Projekt: Innovation Management Plattform To Activate Creative Thoughts

SWE12 Übungen Software-Engineering

SAFEYTEAMS-Newsletter Nr. 5

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Der Projektmanager (nach GPM / IPMA) Fragen zur Selbsteinschätzung und für die Prüfungsvorbereitung. Kapitel B Vorgehensmodelle

Die Online-Meetings bei den Anonymen Alkoholikern. zum Thema. Online - Meetings. Eine neue Form der Selbsthilfe?

Was meinen die Leute eigentlich mit: Grexit?

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Die Post hat eine Umfrage gemacht

Prüfung Software Engineering I (IB)

Binärdarstellung von Fliesskommazahlen

Software Engineering. Dokumentation! Kapitel 21

Informationsblatt Induktionsbeweis

Einführungsstrategien komplexer IT-Lösungen

Rundum-G. Die Anforderungen durch ständig steigende

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Requirements Engineering für IT Systeme

Call-Center-Auswertung TeleSales Woodmark Consulting AG

Wir machen neue Politik für Baden-Württemberg

Algorithmische Kryptographie

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

Grundlagen der Informatik

Musterlösung 2. Mikroprozessor & Eingebettete Systeme 1

Prozess-Modelle für die Softwareentwicklung

Softwaretechnik. Einführung. Prof. Dr. Matthias Hölzl Joschka Rinke. 21. Januar 2016

Software Engineering

Erster Bug: eine Motte

Pflegedossier für die kreisfreie Stadt Frankfurt (Oder)

Zahlenmauern. Dr. Maria Koth. Ausgehend von dieser einfachen Bauvorschrift ergibt sich eine Vielzahl an möglichen Aufgabenstellungen.

Anleitung über den Umgang mit Schildern

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Kapitel 10: Dokumentation

Projektmanagement durch Scrum-Proxies

Naturgewalten & Risikoempfinden

Lizenzen auschecken. Was ist zu tun?

Fachapplikationen in heterogenen IT Landschaften

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Projekt- Management. Landesverband der Mütterzentren NRW. oder warum Horst bei uns Helga heißt

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Agile Prozessverbesserung. Im Sprint zu besseren Prozessen

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Einführung und Motivation

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

0. Gliederung. 1. Qualitätssicherung vs. Qualitätsmanagement 2. zu Qualitätssicherung 3. zu Qualitätsmanagement 4. Diskussion 5.

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Die Wirtschaftskrise aus Sicht der Kinder

Individuelles Bachelorstudium. Software Engineering for Physics

Übungen zur Softwaretechnik

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Transkript:

Software Engineering Vorlesung für Medieninformatik

Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement Testen Abnahme, Einführung, Wartung und Pflege

Literatur Balzert, Helmut: Lehrbuch der Softwaretechnik 1. Basiskonzepte und Requirements Engineering. 3. Auflage. Spektrum 2009. Balzert, Helmut: Lehrbuch der Softwaretechnik. 2. Software-Management. 2. Auflage Spektrum 2008. Balzert, Heide: Lehrbuch der Objektmodellierung. Analyse und Entwurf mit der UML 2. 2. Auflage. Spektrum 2004. Sommerville, Ian: Software Engineering. 8. Auflage. Pearson, 2007.

Beispiel Ariane 5, 1996, Quelle: Lions, J. L. (1996), Report by the Inquiry Board. Paris: ESA. http://sspg1.bnsc.rl.ac.uk/share/istp/ariane5r.htm

Beispiel Was war passiert? Die Software für das Trägheitsnavigationssystem wird unverändert von der Ariane 4 übernommen. Ein Test dieser Software unterbleibt daher. Die übrigen Systeme der Rakete werden komponentenweise gründlich getestet. Ein gemeinsamer Test der gesamten Steuerungssoftware der Rakete unterbleibt aus Kosten- und Machbarkeitsgründen. In der Software für das Trägheitsnavigationssystem gibt es eine Abgleichsfunktion, deren Werte eigentlich nur sinnvoll sind, solange die Rakete noch nicht fliegt. Diese Funktion arbeitet programmgemäß bis ca. 40 s nach H0 weiter, weil das bei der Ariane 4 im Fall eines Countdownabbruchs kurz vor dem Abheben sinnvoll war. Flug 501 startet am 4. Juni 1996. Die Triebwerke zünden um H0= 9: 33: 59 Ortszeit. Die ersten 36 Sekunden des Flugs verlaufen normal. Da die Ariane 5 eine andere Flugbahn hat als die Ariane 4, berechnet die Abgleichsfunktion einen Wert, der wesentlich größer ist als erwartet. Bei der Konvertierung dieses Werts von einer 64 Bit Gleitkommazahl in eine 16- Bit Festkommazahl tritt ein Überlauf ein; der Rechner erzeugt eine Ausnahmebedingung.

Beispiel Die Ausnahmebedingung wird nicht behandelt (obwohl dies in der verwendeten Programmiersprache Ada möglich wäre). Der Trägheitsnavigationsrechner setzt eine Fehlermeldung an den Steuerrechner der Rakete ab und schaltet sich 36,75 s nach H0 ab. Das Trägheitsnavigationssystem ist aus Sicherheitsgründen doppelt ausgelegt. Ein Umschalten auf das zweite System schlägt fehl, da dieses System das gleiche Problem gehabt und sich vor 0,05 s ebenfalls abgeschaltet hat. Die Software des Steuerrechners ist auf den Ausfall beider Trägheitsnavigationssysteme nicht ausgelegt und interpretiert die gemeldeten Fehlercodes als Flugbahndaten. Dies führt zu völlig unsinnigen Berechnungen und als Folge davon zu unsinnigen Stellbefehlen an die Steuerdüsen der Rakete: Diese werden bis zum maximal möglichen Anstellwinkel ausgeschwenkt. Aufgrund der resultierenden Scherkräfte zerbricht die Rakete, worauf der Selbstzerstörungsmechanismus ordnungsgemäß anspricht. Dieser sprengt Rakete und Nutzlast und verhindert damit, dass größere Trümmerteile auf den Boden fallen.

Beispiel Entstandener Schaden: 4 Satelliten verloren: 400-500 Mio Euro 2 Jahre Verzug im Entwicklungsprogramm: > 500 Mio Euro 2 zusätzliche Erprobungsstarts bei Gesamtkosten des Projekts von 1987 bis 1998 von 6700 Mio Euro und vor allem: erheblicher Imageschaden

Veränderungen des Software-Marktes Zunehmende Bedeutung von Software Wachsende Komplexität Zunehmende Vernetzung, Virtualisierung, Zusammenspiel mit Komponenten verschiedener Hersteller Zunehmende Qualitätsanforderungen Mehr Standardsoftware Mehr Außer Haus-Entwicklung Zunehmend Offshore-Entwicklung Open Source-Entwicklung Zunehmend Altlasten

Definition Software Engineering 1. Die Anwendung eines systematischen, disziplinierten quantifizierbaren Ansatzes zur Entwicklung, zum Betrieb und zur Wartung von Software. D. h. Die Anwendung ingenieurwissenschaftlicher Prinzipien auf Software 2. Die Untersuchung und Entwicklung derartiger Ansätze Quelle: www.swebok.org

Software Engineering "Body of Knowledge" Wissensgebiete Software Engineering: Anforderungen Entwurf Implementierung Testen Wartung Konfigurationsmanagement Entwicklungsmanagement Vorgehen der Software-Entwicklung Werkzeuge und Methoden Qualität SWE "Body of Knowledge" der IEEE Computer Society - www.swebok.org

Software Engineering "Body of Knowledge" Verwandte Disziplinen: Computertechnik Informatik Management Mathematik Projekt-Management Qualitätsmanagement Software-Ergonomie Systems Engineering SWE "Body of Knowledge" der IEEE Computer Society - www.swebok.org

Agile Software-Entwicklung Herkömmliche Vorgehensmodell gelten z. T. als schwergewichtig Umfangreich, bürokratisch Trotz vielen Jahren Software Engineering sind viele Projekte nach wie vor nicht besonders erfolgreich Dies war der Ausgangspunkt zur Entwicklung leichtgewichtiger, agiler Methoden Es gibt verschiedene agile Ansätze, z. B. Extreme Programming (XP) Crystal Scrum

Agile Software-Entwicklung Direkte Kommunikation ist die beste Kleine Teams, geeignete Anordnung der Arbeitsplätze Zu schwere Methoden sind teuer Nur so viele Regeln und so viel Dokumentation wie nötig Ersatz von Plänen und Diagrammen durch lauffähigen Teilcode Zwischenergebnisse sind direkt überprüfbar Kurze Releasezyklen Disziplin, Können und Verständnis vs. Vorgehensmodelle, Formalia und Dokumentation Fähigkeiten der Mitarbeiter stärker nutzen Leichter anpassbar