Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
|
|
- Marie Lorenz
- vor 6 Jahren
- Abrufe
Transkript
1 Vorlesung 1 Fundamentals of Software Engineering 1 Sommersemester 2013 Inhaltsverzeichnis 1. Allgemeine Begriffsbidlung 1.1 Einleitung 1.2 Geschichte der Software-Entwicklung 1.4 Der Software Lebenszyklus Vorgehensmodelle Kostenentwicklung in Rechnersystemen 1.4 Systematische Projektplanung 1
2 1.1 Einleitung Software-Komplexität Quelle: Christof Ebert Einleitung Software: Was ist das eigentlich? Software ist soviel mehr als nur der Quellcode 2
3 1.1 Einleitung Verschiedene Sichten auf das Produkt SOFTWARE 1.2 Geschichte der Software Entwicklung Dijkstra 1972: "Als es noch keine Rechner gab, war auch das Programmieren noch kein Problem; als es dann ein paar Rechner gab, war das Programmieren ein kleines Problem; und nun, wo wir gigantische Rechner haben, ist auch das Programmieren zu einem gigantischen Problem geworden" 3
4 1.2 Geschichte der Software Entwicklung - Begriffsdefinitionen: Software Engineering - Parnas 1974: Software -Engineering ist die Programmierung unter mindestens einer der zwei Bedingungen: Mehr als eine Person schreibt und benutzt das Programm Mehr als eine Fassung des Programms wird erzeugt. Dennis 1975: "Software Engineering ist die Anwendung von Prinzipien, Fähigkeiten und Kunstfertigkeiten auf den Entwurf und die Konstruktion von Programmsystemen Boehm 1979: "Software Engineering ist die praktische Anwendung wissenschaftlicher Erkenntnisse auf den Entwurf und die Konstruktion von Programmsystemen." 1.2 Geschichte der Software Entwicklung - Definitionen: Software Engineering - Sommerville 1985: "Software Engineering befasst sich mit dem Bau von Software-Systemen, die nicht von einem Entwickler alleine hergestellt werden können. Software-Engineering beruht auf der Anwendung ingenieursmäßiger Prinzipien und umfasst sowohl technische als auch nichttechnische Aspekte." IEEE-Standard The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering g to software. Booch 1998: The goal is to efficiently and predictable deliver a software product that meets the needs of the business 4
5 1988: Airbus downing during Iran-conflict. 1991: Sleipner Offshore Platform. Sinking caused by the wrong use of FEcode NASTRAN, : Ariane 5, Explosion; data conversion of a too large number 1999: Mars ClimateOrbiters, Loss; Mixture of pounds and kilograms 2002: Geldautomaten Aufgrund eines Softwareproblems konnten bei allen anderen Geldinstituten außer der Postbank selbst mit beliebigen Pincodes Euro abgehoben werden, ohne dass das Sparkonto mit der abgehobenen Summe belastet wurde. 2003: Deutsches Mautsystem 2004: The Role of Software in Spacecraft Accidents, Nancy Leveson, Ariane 5 Absturz 4. Juni 1996: First Start of "Ariane-5 Schaden Satelliten verloren: M Euro 2 Jahre Verzug im Entwicklungsprogramm: > 500 M Euro 2 zusätzliche Erprobungsstarts bei Gesamtkosten des Projekts von 1987 bis 1998 von M Euro 5
6 Die Software für das Trägheitsnavigationssystem wird unverändert von der Ariane 4 übernommen. Alle Systeme der Rakete werden komponentenweise gründlich getestet. Ein gemeinsamer Test der gesamten Steuerungssoftware unterbleibt aus Kosten- und Machbarkeitsgründen. In der Software für das Trägheitsnavigationssystem gibt es eine Abgleichs-funktion, deren Werte eigentlich nur sinnvoll sind, solange die Rakete noch nicht fliegt. Diese Funktion arbeitet programmgemäß bis ca. 40 s nach Abheben (HO) weiter, weil das bei der Ariane 4 im Fall eines Countdownabbruchs kurz vor dem Abheben sinnvoll war. Flug 501 startet am 4. Juni Die Triebwerke zünden um HO=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. 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ägheitsnavigations-system ist aus Sicherheitsgründen doppelt ausgelegt. Ein Umschalten auf das zweite System schlägt fehl, da dieses System das gleiche Problem hatte und sich vor 0,0505 s ebenfalls abgeschaltet hat. Die Software des Steuerrechners ist auf den Ausfall beider Trägheitsnavigationssysteme nicht ausgelegt und interpretiert die gemeldeten Fehlercodes als Flugbahndaten. 6
7 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. -Was können wir aus dem Absturz der Ariane5 lernen?- Spezifikation: Bestehende Software darf nicht unbesehen für eine neue Aufgabe wiederverwendet werden. Vorher muss geprüft werden, ob ihre Fähigkeiten den Anforderungen der neuen Aufgabe entsprechen. Dokumentation: Die Fähigkeiten einer Software sowie alle Annahmen, die sie über ihre Umgebung macht, müssen dokumentiert t sein. Andernfalls ist die Prüfung auf Wiederverwendbarkeit extrem aufwendig. Design by Contract: Kooperieren zwei Software-Komponenten miteinander, so müssen eindeutige Zusammenarbeitsregeln definiert, dokumentiert und eingehalten werden: Wer liefert wem was unter welchen Bedingungen. Fehlerbehandlung: Jede potentielle Fehlersituation in einer Software muss entweder behandelt werden oder die Gründe für die Nichtbehandlung müssen so dokumentiert werden, dass die Gültigkeit der dabei getroffenen Annahmen überprüfbar ist. Software & Hardware: Mehrfache identische Auslegung von Systemen hilft nicht gegen logische Fehler in der Software. Sicherheit: Bei Störungen in sicherheitskritischen Systemen ist Abschalten nur dann eine zulässige Maßnahme, wenn dadurch wieder ein sicherer Zustand erreicht wird. 7
8 1.2.1 Software bedingte Katastrophen -Was können wir aus dem Absturz der Ariane5 lernen?- Qualitätsmanagement Test: Bei der Prüfung von Software, die aus mehreren Komponenten besteht, genügt es nicht, jede Komponente nur isoliert für sich zu prüfen. Umfangreiche Systemtests unter möglichst realistischen Bedingungen sind notwendig. Review: Jedes Programm muss - neben einem sorgfältigen Test - durch kompetente Fachleute inspiziert werden, weil insbesondere die Erfüllbarkeit und Adäquatheit von Annahmen und Ergebnissen häufig nicht testbar ist. Effektivität: Software, die nicht benötigt wird, sollte auch nicht benutzt werden. Projektführung Risikomanagement: Die Risiken erkennen, angemessene technische Maßnahmen (siehe oben) planen, durchsetzen und überprüfen. 8
Warum ist Ariane 5 beim Erstflug explodiert?
Warum ist Ariane 5 beim Erstflug explodiert? Was geschah mit Flug 501? Software Engineering I Fallstudie Ariane Flug 501 1998 by Martin Glinz 1 Chronik der Ereignisse Die Software für das Trägheitsnavigationssystem
MehrSoftware Engineering. Ariane Flug 501! Fallstudie
Martin Glinz Thomas Fritz Software Engineering Fallstudie Ariane Flug 501! 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch
MehrSoftware Engineering I Prof. Dr. Martin Glinz. Fallstudie: Ariane Flug 501. Universität Zürich Institut für Informatik
Software Engineering I Prof. Dr. Martin Glinz Fallstudie: Ariane Flug 501 Universität Zürich Institut für Informatik Was geschah mit Flug 501? So hätte es aussehen sollen......und so sah es tatsächlich
MehrSoftware Engineering Vorlesung für Medieninformatik
Software Engineering Vorlesung für Medieninformatik Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung
MehrGrundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
Vorlesung 2 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 1.1 Einleitung 1.2 Geschichte der Software-Entwicklung 1.3 Software-Engineering Today 1.4 Software Projekte und Kosten
MehrSoftwareprozessmodelle
Softwareprozessmodelle jung@cncgmbh.eu Definition Software Engineering The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that
MehrSoftware-Engineering Grundlagen des Software-Engineering 1 Einführung - Was ist Software-Engineering?
Software-Engineering Grundlagen des Software-Engineering 1 Einführung - Was ist Software-Engineering? Prof. Dr. Rolf Dornberger Software-Engineering: 1 Einführung - Was ist Software-Engineering? 05.04.2006
MehrSoftware Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,
MehrSoftware- und Systementwicklung
Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm
MehrEinführung in die Softwareentwicklung
Einführung in die Softwareentwicklung Dipl. Wirtsch. Ing. Alexander Werth 1-1 Software Enge Definition von Software: Software ist die Gesamtheit aller Programme Ein Program ist die Umsetzung von Algorithmen
MehrErster Bug: eine Motte
SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte
MehrAriane 5 - Luftfahrt Berühmt-berüchtigte Software-Fehler
Ariane 5 - Luftfahrt Berühmt-berüchtigte Software-Fehler Christian Weyand Universität Koblenz - Landau Ariane 5 - Luftfahrt p.1 Das Ariane - Programm Gründung der European Space Agency (ESA) mittlerweile
MehrBenutzerorientierte Entwicklung mobiler Anwendungen
Benutzerorientierte Entwicklung mobiler Anwendungen Prof. Dr.-Ing. Thomas Ritz 30. Juni 2006 Prof. Dr.-Ing. Thomas Ritz Arbeiten für Verlage und Verlags-SW Hersteller Fraunhofer IAO in Stuttgart Medienindustrie
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert Vgl. Kapitel 4/5 aus Basiswissen Requirements Engineering, Klaus Pohl,
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert Vgl. Kapitel 4/5 aus Basiswissen Requirements Engineering, Klaus Pohl, Chris Rupp Nachdem die Projekt-Vision und die Stakeholder
MehrSoftware-Entwicklung
Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung
MehrMethodische Softwareentwicklung (Programmiermethodik)
Methodische Softwareentwicklung (Programmiermethodik) Vorlesung im Wintersemester 2003/2004 Prof. Fachgebiet für Software Engineering Wilhelmshöher Allee 71-73 34121 Kassel (Raum 0630 im Neubau) MSEInhalt.fm,1
MehrIT-Projekt-Management
IT-Projekt-Management email: vuongtheanh@netscape.net http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte
Mehr1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell:
1 Einführung und Überblick 1.1 Spezifikation und Entwurf im Software-Lebenslauf Lineares Prozessmodell: Anstoß Auftrag Projekt planen Anforderungen spezifizieren Lieferung Architektur entwerfen System
MehrAgile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski
Agile Software Entwicklung Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski Agenda zum Kurs Software Engineering Wasserfallmodell Agile Entwicklung Wer bin ich Studium der Computerlinguistik
MehrSoftware Engineering II (IB) Testen von Software / Modultests
Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 16.05.2017 21:17 Inhaltsverzeichnis Programm-Tests.................................. 2 Ziele des Testens..................................
MehrInformatik I - Programmierung Globalübung Hoare-Kalkül. Thomas Weiler. Fachgruppe Informatik RWTH Aachen. T. Weiler, RWTH Aachen - 1 -
Informatik I - Programmierung Globalübung 11.11.2003 Hoare-Kalkül Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Ariane 5 Die Ariane 5 ist das jüngste Modell der Trägerrakete
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrProgrammieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Programmieren I Überblick KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester) 4 Vorlesungs- und Übungsstunden / Woche 7,5 (!) Stunden
MehrKernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3
Systems Engineering Systems Engineering ist die gezielte Anwendung von wissenschaftlichen und technischen Ressourcen! zur Transformation eines operationellen Bedürfnisses in die Beschreibung einer Systemkonfiguration
MehrRequirement: Klar und testbar!
Requirement: Klar und testbar! Definitionen, Merkmale, Beispiele Lukas Kraus, Lead QA Engineer www.bbv.ch bbv Software Services Corp. 1 Ich geh mal fragen was die wollen, und ihr beginnt schon mal zu codieren!!!
MehrKapitel 8: Fehlervermeidung
Kapitel 8: Fehlervermeidung Inhalt 8.1 Prozesse mit kontinuierlicher Prüfung 8.2 Systematisches Entwerfen und Programmieren 8.3 Dokumentier- und Codierrichtlinien Schlüsselbegriffe Cleanroom, Fehlervermeidung,
MehrProgrammieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Programmieren I Überblick KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Übersicht Programmieren Programmieren I (1. Semester) 4 Vorlesungs- und Übungsstunden / Woche 1 Stunde
MehrBinäre Darstellung ganzer Zahlen
Vorlesung Objektorientierte Softwareentwicklung Exkurse use Binäre Darstellung ganzer Zahlen Binärdarstellung natürlicher Zahlen Ganze Zahlen im Einerkomplement Ganze Zahlen im Zweierkomplement Elementare
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,
MehrDie Komponenten eines effektiven Projektmanagements. Biel Tabea Wallner Vivien
Die Komponenten eines effektiven Projektmanagements Biel Tabea Wallner Vivien Themen der Präsentation - Was ist ein Projekt? - Was ist Projektmanagement? - 2 Typen von Projektmanagement - Unterschied zwischen
Mehr3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP
3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg ARIS meets RUP Der ARIS Unified Information System Development Process Martin Plümicke Berufsakademie
MehrHerkömmliche Softwareentwicklungsmodelle vs. Agile Methoden
vs. Agile Methoden Christoph.Kluck@Student.Reutlingen University.de Medien und Kommunikationsinformatik Agenda Einführung Vorgehensmodelle Herkömmlich agil Resümee Klassische Probleme Nachgereichte Anforderungen
MehrProjektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)
Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:
MehrProseminar Software Desaster. ARIANE 5 Absturz des Flugs 501
Proseminar Software Desaster ARIANE 5 Absturz des Flugs 501 Mathias Riedl 4.12.2002 Gliederung: 1. Einleitung: Rückschlag für Raumfahrt 2. Allgemeine Beschreibung des Vorfalls a. Ablauf des Countdowns
MehrSoftware Engineering II (IB) Testen von Software / Modultests
Testen von Software / Modultests Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Programm-Tests Tests sollen zeigen, dass ein Programm das tut was es tun soll sowie
MehrQualitätsmanagement im Projekt
Software-Engineering Qualitätsmanagement im Projekt Vorlesung im Wintersemester 2008/2009 Fakultät Wirtschaftsinformatik Klaus Mairon, M.Sc. Inhalte Messen und Bewerten: Metriken in der Qualitätssicherung
MehrRisikoanalyse in der Nanotechnologie. Ein Ansatz um Risiken in neuen Technologien zu bewerten
Risikoanalyse in der Nanotechnologie Ein Ansatz um Risiken in neuen Technologien zu bewerten Dipl.-Phys. Thorsten Weidl TÜV SÜD Industrie Service GmbH Westendstr. 199 D-80686 München +49 (0) 89 5791 2701
MehrEinführung in die Softwareentwicklung
Einführung in die Softwareentwicklung Thorsten Lemburg Universität Hamburg Seminar: Softwareentwicklung in der Wissenschaft 1 / 53 Einführung in die Softwareentwicklung - Thorsten Lemburg Gliederung 1.
MehrEinführung in Generatives Programmieren. Bastian Molkenthin
Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung
MehrKapitel 1 1 Einleitung
Kapitel 1 Einleitung 1 1 1 Einleitung 1 Einleitung Die Informatik begegnet uns im Alltag ständig. Einmal natürlich als Rechenanlagen, die wir in Büros, Arztpraxen und zu Hause sehen. Zum anderen ist sie
MehrRisiken auf Prozessebene
Risiken auf Prozessebene Ein Neuer Ansatz Armin Hepe Credit Suisse AG - IT Strategy Enabeling, Practices & Tools armin.hepe@credit-suisse.com Persönliche Vorstellung, kurz 1 Angestellter bei Credit Suisse
MehrTesten Prinzipien und Methoden
Testen Prinzipien und Methoden ALP 2 SS2002 4.7.2002 Natalie Ardet Definition Im folgenden gilt: Software = Programm + Daten + Dokumentation Motivation Software wird immer mehr in Bereichen eingesetzt,
Mehr1. Grundbegriffe des Software-Engineering
1. Grundbegriffe Software Engineering 1 1. Grundbegriffe des Software-Engineering Was ist Software-Engineering? (deutsch: Software-Technik) Teilgebiet der Informatik, das sich mit Methoden und Werkzeugen
MehrQualitätsmanagement & Zertifizierung. Referent Christian Dörner
Qualitätsmanagement & Zertifizierung Referent Christian Dörner Überblick Systemarten Qualitätsmanagement Qualitätssicherung Qualitätskontrolle ISO 9000 Zertifizierung Safety Case IEC 61508 DO 178B Schlussfolgerung
MehrVariablen und Datentypen
Programmieren mit Java Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Bremsweg-Berechnung 3 1.1 Einführung.................................. 3 1.2 Aufgabenstellung und Programmanforderungen..............
MehrDOORS Schema IBM Rational DOORS Start-Up Training - Teil 3
DOORS Schema IBM Rational DOORS Start-Up Training - Teil 3 Inhalt: Anforderungen an ein Schema Design eines Schemas Schrittweises Vorgehen Strukturierung und Design der Daten in DOORS Voraussetzung für
MehrTransfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen
Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- entwicklung von Fahrzeugen Martin Jaensch, Dr. Bernd Hedenetz, Markus Conrath Daimler AG Prof. Dr. Klaus D. Müller-Glaser
MehrFehlertoleranz in eingebetteten Systemen
Fehlertoleranz in eingebetteten Systemen Ausgewählte Kapitel eingebetteter Systeme (AKES) 19.07.2006 1 / 36 Was ist ein Fehler? Fehlerklassen Überblick Einführung Was ist ein Fehler? Fehlerklassen 2 /
MehrBlockpraktikum (theoretische Informatik) Effizientes Programmieren
Blockpraktikum (theoretische Informatik) Effizientes Programmieren Markus Holzer und Christian Kern und Lorenz Mösenlechner und Michael Tautschnig Institut für Informatik Technische Universität München
MehrWhitepaper: Agile Methoden im Unternehmenseinsatz
Whitepaper: Agile Methoden im Unternehmenseinsatz Agilität ist die Fähigkeit eines Unternehmens, auf Änderungen in seinem Umfeld zu reagieren und diese zum eigenen Vorteil zu nutzen. Inhaltsverzeichnis
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrProseminar Technische Informatik WS08/09 bei Georg Wittenburg, M.Sc. Zuverlässigkeit und Fehlertoleranz in der Technik
Proseminar Technische Informatik WS08/09 bei Georg Wittenburg, M.Sc. Zuverlässigkeit und Fehlertoleranz in der Technik Ein Vortrag von Sebastian Oliver Kalwa Berlin, 30.01.2009 1 Was ist Fehlertoleranz?
MehrMit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle
Mit Legacy-Systemen in die Zukunft Dr. Roland Schätzle Der Weg zur Entscheidung 2 Situation Geschäftliche und softwaretechnische Qualität der aktuellen Lösung? Lohnen sich weitere Investitionen? Migration??
MehrRTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen
RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen Thorsten Keuler (thorsten.keuler@iese.fraunhofer.de) IESE Fraunhofer Institut Experimentelles Software
MehrDie Softwareentwicklungsphasen!
Softwareentwicklung Die Softwareentwicklungsphasen! Die Bezeichnungen der Phasen sind keine speziellen Begriffe der Informatik, sondern den allgemeinen Prinzipien zur Produktion integrierter Systeme entliehen.
MehrResults in time. DIE MEHRWERTE DES SAP SOLUTION MANAGER 7.2. Beratung. Support. Ganzheitliche Lösungen.
DIE MEHRWERTE DES SAP SOLUTION MANAGER 7.2 Results in time. Beratung. Support. Ganzheitliche Lösungen. BIT.Group GmbH www.bitgroup.de Klassifizierung: Öffentlich Autor: Henry Flack Version: 1.5 Datum:
MehrSoftware Engineering
Literatur Gliederung Software Engineering Herbert Kuchen Universität Münster Di+Fr 14:15-15:45, M2 Wintersemester 2009/2010 1 Literatur Gliederung Basis-Literatur H. Balzert: Lehrbuch der Software-Technik,
MehrProgrammiermethodik Vorlesung und Praktikum SS 2001
Vorlesung und Praktikum SS 2001 Prof. Dr. W. Effelsberg, G. Kühne, Ch. Kuhmünch Universität Mannheim 1. Einführung 1-1 Inhalt 1. Einführung, Vorstellung der Programmieraufgabe 2. Der Software-Entwicklungszyklus
MehrRequirements Engineering für die agile Softwareentwicklung
Johannes Bergsmann Requirements Engineering für die agile Softwareentwicklung Methoden, Techniken und Strategien Unter Mitwirkung von Markus Unterauer dpunkt.verlag Inhaltsverzeichnis 1 Einleitung 1 1.1
MehrExkursion zu Capgemini Application Services Custom Solution Development. Ankündigung für Februar 2013 Niederlassung Stuttgart
Exkursion zu Capgemini Application Services Custom Solution Development Ankündigung für Februar 2013 Niederlassung Stuttgart Ein Nachmittag bei Capgemini in Stuttgart Fachvorträge und Diskussionen rund
MehrSystematischer Testfallentwurf als zentrales Element der Aufwandsteuerung
Systematischer Testfallentwurf als zentrales Element der Aufwandsteuerung Q-Event, Luzern 4.9.2014 Hugo Beerli, bbv Software Services AG Senior Testmanager «Nicht das, was wir nicht wissen, bringt uns
Mehr4. OBDDs und Modellüberprüfung
4. OBDDs und Modellüberprüfung OBDD Ordered Binary Decision Diagrams Geordnete binäre Entscheidungsdiagramme Binäres Entscheidungsdiagramm: in der einfachsten Form ein binärer Entscheidungsbaum, in dem
MehrGemeinsam mehr erreichen.
Gemeinsam mehr erreichen. Microservices, ein Vorgehensmodell zur Softwareentwicklung - Nürnberg - 17. November 2016 "Mit unserer Begeisterung für führende Technologien vernetzen wir Systeme, Prozesse und
MehrSoftware Engineering. Validierung und Verifikation. Martin Glinz Harald Gall. Kapitel 7. Universität Zürich Institut für Informatik
Martin Glinz Harald Gall Software Engineering Kapitel 7 Validierung und Verifikation Universität Zürich Institut für Informatik 2005, 2006 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe
MehrTestplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw, 16.04.2013
Software Komponenten FS13 Gruppe 03 Horw, 16.04.2013 Bontekoe Christian Estermann Michael Moor Simon Rohrer Felix Autoren Bontekoe Christian Studiengang Informatiker (Berufsbegleitend) Estermann Michael
MehrGrundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1
Vorlesung 9 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse 4. Strukturierter Entwurf (SE) 4.1 Aufbau der Modellierungsphasen
MehrSoftware Factories WS 2016/17. Prof. Dr. Dirk Müller. 1 Einführung
Software Factories 1 Einführung Prof. Dr. Dirk Müller Überblick Master-Studiengang Angewandte Informationstechnologien Wintersemester 2016/17 2 SWS Vorlesung + 2 SWS Praktikum Prüfungsvorleistung: Belegarbeit
MehrLINUX Schulung. FrauenComputerZentrum Berlin. Jutta Horstmann, Mai 2006
LINUX Schulung FrauenComputerZentrum Berlin Jutta Horstmann, Mai 2006 Diskussion Freie Software vs. Open Source F/OSS vs. Proprietäre Software : : : data in transit : : : fczb Linux Schulung : : : Jutta
MehrÜbersicht über den Studiengang
Inhaltsübersicht - Übersicht über den Studiengang - Modellstudienpläne - Übersicht Vertiefungen (optional) - Modellstudienpläne "Research Track" (optional) Übersicht über den Studiengang Varianten "Ohne
Mehrwenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken
1 Java ist... gut erlernbar wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax objektorientiert Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken robust keine Adressen,
Mehr1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen
1.5 Einführung und Zahlensysteme/Darstellung gebrochener Zahlen 1.5.1 Situation Manchmal möchte man in Programmen mit Kommazahlen rechnen. In der Mathematik Im der Wirtschaft, im kaufmännischen Bereich
MehrScrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003
Agile Software Entwicklung mit Raffael Schweitzer 18. November 2003 Agenda Einleitung Was ist? Wie funktioniert? Einsatzbereiche Erfolgsfaktoren Fazit Agenda Einleitung Was ist? Wie funktioniert? Einsatzbereiche
MehrSchachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
MehrInhaltsverzeichnis. Teil I Grundlagen 1
xv Teil I Grundlagen 1 1 Modelle und Modellierung 3 1.1 Modelle, die uns umgeben.................................. 3 1.2 Modelltheorie........................................... 5 1.3 Ziele beim Einsatz
MehrSystematisches Requirements Engineering und Management
Christof Ebert Systematisches Requirements Engineering und Management Anforderungen ermitteln, spezifizieren, analysieren und verwalten 2., aktualisierte und erweiterte Auflage ^1 dpunkt.verlag Inhalt
MehrSoftware Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen
White Paper Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen Die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen
MehrAgiles Projektmanagement
Agiles Projektmanagement A B U S I N E S S P E R S P E C T I V E Christian Setzwein Agenda Rahmenbedingungen für Projekte Der Umgang mit Unsicherheit im klassischen PM Agiles PM: Techniken, Prinzipien,
MehrQualitätssicherung von Software
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST 2.4 OO-Test 26.11.2004 Folie 2 Kapitel 2. Testverfahren 2.1 Testen im SW-Lebenszyklus 2.2
MehrEmpirisches Software Engineering Methoden und Relevanz
Empirisches Software Engineering Methoden und Relevanz Stefan Wagner Technische Universität München Dr. Stefan Wagner 31.10.2007 Fakultät für Informatik Lehrstuhl für Software & Systems Engineering Definition
MehrSoftware-Engineering
FH Wedel Prof. Dr. Sebastian Iwanowski SWE1 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 1: Überblick über das Thema und die Vorlesung FH Wedel Prof. Dr. Sebastian Iwanowski SWE1 Folie
MehrErweiterungscurriculum Grundlagen der Informatik
BEILAGE 3 zum Mitteilungsblatt 15. Stück, Nr. 97.2 2015/2016 04.05.2016 Erweiterungscurriculum Grundlagen der Informatik Datum des Inkrafttretens 1. Oktober 2016 Inhaltsverzeichnis 1 Allgemeines...- 2-2
MehrProgrammierung, Algorithmen und Techniken. von Thomas Ohlhauser
Programmierung, Algorithmen und Techniken von Thomas Ohlhauser 1. Begriff Programmierung Entwicklung von Programmen inklusive der dabei verwendeten Methoden und Denkweisen. Ein Programm ist eine eine Zusammensetzung
Mehr» Qualitätsmanagement
» Qualitätsmanagement Juri Urbainczyk IB/K-F Team Workshop 04.05.2010 Inhalt» Wir haben ein Problem» Qualitätsdreieck, Zielunschärfe und Fehlerentstehung» Qualitätsmanagement» Risikomanagement» Anforderungsmanagement»
MehrTest. Dipl. Wirtsch. Ing. Alexander Werth 9-1
Test Dipl. Wirtsch. Ing. Alexander Werth 9-1 Phasen der Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung Methoden der 9-2 Software Test / Erprobung Messen der
MehrPrüfung WS 2006/07. Robotik
Prüfung WS 26/7 Robotik Anmerkungen: Aufgabenblätter auf Vollständigkeit überprüfen Nur Blätter mit Namen und Matr.Nr. werden korrigiert. Keine rote Farbe verwenden. Zu jeder Lösung Aufgabennummer angeben.
MehrKlassische Softwareentwicklung - Software Engineering -
Klassische Softwareentwicklung - Software Engineering - Von: Claus Christofzik, Vincent Strelow Inhaltsverzeichnis: 1. WAS IST SOFTWARE- ENGINEERING 1 2. WORAUS BESTEHT SOFTWARE- ENGINEERING 1 3. VORGEHENSMODELLE.
MehrSoftware-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase)
Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase) Prof. Dr. Rolf Dornberger Software-Engineering: 7 Implementierungsphase 27.04.2006 1 7 Implementierungsphase
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++
Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen
Mehr8. Softwareentwicklung
8. Softwareentwicklung (Software Engineering) Einbettung der Programmierung in der Gesamtprozess der Softwareentwicklung K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 20015/16 Version: 02.11..2015
MehrAutomotive Software Engineering
Jörg Schäuffele Thomas Zurawka Automotive Software Engineering Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen 4., überarbeitete und erweiterte Auflage Mit 276 Abbildungen PRAXIS ATZ/MTZ-Fachbuch
MehrIngenieurinformatik. Einführung in die Programmiersprache C
Ingenieurinformatik Einführung in die Programmiersprache C 1 Das Modul Ingenieurinformatik wird in den Bachelorstudiengängen Maschinenbau, Fahrzeugtechnik, Luft- und Raumfahrt angeboten Teil 1: Grundlagen
MehrSoftwareentwicklungsumgebungen
Softwareentwicklungsumgebungen Pit Pietsch Dipl.-Wirt.-Inform. Universität Siegen Fachgruppe Praktische Informatik Themen 1. SEU / Eclipse 2. Emf Ecore & Model Driven Engineering 3. Model-Repositories
MehrLehrplan: Grundlagen der industriellen So4ware- Entwicklung. paluno
Lehrplan: Grundlagen der industriellen So4ware- Entwicklung Gliederung 1 Grundlagen der industriellen So4ware- Entwicklung 2 Requirements Engineering (RE) 3 SpezifikaDon 4 Architektur und Design 5 Architektur-
MehrDr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. Debugging-Aufgaben. Aus Programmfehlern lernen
Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur Debugging-Aufgaben Aus Programmfehlern lernen No Machine is Perfect! 2 1970er-Jahre Der Autopilot von Prototypen des Kampfflugzeug F-16 brachte das Flugzeug
MehrQualitätsmanagement. Grundlagen
Grundlagen Historie: Mit industriellen Massenproduktion erforderlich geworden (Automobilindustrie, Anfang des letzten Jahrhunderts); Qualitätsmanagement zunächst nur in der Fertigung Mitte des letzten
MehrKleine BUGs, große GAUs
Kleine BUGs, große GAUs Softwarefehler und ihre Folgen Prof. Thomas Huckle 6.3.2002 Murphy s Law Wenn irgendein Teil einer Maschine falsch eingebaut werden kann, so wird sich immer jemand finden, der
MehrAgile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg
Herzlich willkommen Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg Heike Bickert Software-/Systemingenieurin, Bereich Quality Management Braunschweig // 17.11.2015 1 Agenda ICS AG Fragestellungen
Mehr