Software Engineering (SE)



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

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

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

Übungsaufgaben zum Software Engineering: Management

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

Software Engineering

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Softwaretechnik (Allgemeine Informatik) Überblick

Hochschule Darmstadt Fachbereich Informatik. Softwaretechnik II. 4.1 Darstellung der Architektur

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Gliederung des Vortrages

Abschnitt 16: Objektorientiertes Design

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Die Unified Modeling Language UML

Prozess-Modelle für die Softwareentwicklung

Softwaretechnik WS 2013/14. Fomuso Ekellem

Requirements Engineering I

Softwaretechnik. Fomuso Ekellem WS 2011/12

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

Syllabus BAE2134/BAE2136 Informationstechnologie 1 WiSe 15/16

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Validierung und Verifikation

Validierung und Verifikation!

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

Übungen zu Softwaretechnik

Software Engineering in der Praxis

Informationswirtschaft 2: Überblick

Software Systems Engineering

Software Engineering Vorlesung für Medieninformatik

Software Engineering. 3. Analyse und Anforderungsmanagement

Free your work. Free your work. Wir wollen Ihnen die Freiheit geben, sich auf Ihr Geschäft zu konzentrieren.

Inhaltsverzeichnis. Literatur. 4 Rational Unified Process [JBR98, Kru03] und UML [BRJ02, FS00, Bal01]

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Vgl. Kapitel 5 aus Systematisches Requirements Engineering, Christoph Ebert

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

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

Requirements Engineering I

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

Analyse und Toolevaluierung

Vorlesung Embedded Software-Engineering im Bereich Automotive

CONTINUOUS LEARNING. Agile Anforderungsanalyse mit Impact Mapping

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

Objektorientierte Analyse und Design

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

Wirtschaftsinformatik I Teil 2. Sommersemester Übung

Eberhard Lehmann: Projekte im Informatik-Unterricht Software Engineering, Ferd. Dümmlers Verlag, Bonn Inhaltsverzeichnis.

Systemdenken und Gestaltungsmethodik System-Modellierung

Requirements Engineering

Prüfung Software Engineering I (IB)

Semester: -- Worload: 150 h ECTS Punkte: 5

16 Architekturentwurf Einführung und Überblick

Einführung in die Modellierung

Wir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Beraten? Begeistern!

Grundlagen der Softwaretechnik

Software-Qualität Ausgewählte Kapitel

Klausur Software-Engineering SS 2005 Iwanowski

Kapitel 2: Der Software-Entwicklungsprozess

Requirements Engineering für IT Systeme

Software Engineering. Organisation von Softwareentwicklungsprojekten

Risikomanagement bei PPP Projekten: Erfahrungen aus Deutschland

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Übungen zur Softwaretechnik

Quality is our Passion!

Die künftige Ingenieurausbildung in der EU - Brennpunkt Ostsee-Raum oder The Network of Excellence in Mechatronics in the Baltic Sea Region

1. Grundbegriffe des Software-Engineering

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Softwaretechnik. Fomuso Ekellem WS 2011/12

Software Engineering. Dokumentation! Kapitel 21

Softwareentwicklungsprozess im Praktikum. 23. April 2015

WARENWIRT- SCHAFT UND ERP BERATUNG Mehr Sicherheit für Ihre Entscheidung

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Klausur Software Engineering für WI (EuI)

Was meinen die Leute eigentlich mit: Grexit?

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Ausbildung Innovationsmanagement

Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Prof. Dr. R. Dumke. Prüfungsklausur Softwaretechnik I. Bewertung

Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering

Herzlich willkommen! SIEVERS-SNC - IT mit Zukunft.

Prüfung Software Engineering I (IB)


Content Management System mit INTREXX 2002.

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

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

Übungsklausur vom 7. Dez. 2007

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Jochen Bauer

Hinweise für das Schreiben einer Bachelor-Arbeit im Fachbereich Wirtschaftspsychologie

Transkript:

Software Engineering (SE) 1) Einführung Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: anja.metzner@hs-augsburg.de Studiengang WiBac 4 (Stand: 15.03.2014), Hochschule Augsburg, 2014

Literatur Begleitend zum Unterricht Ian Sommerville: Software Engineering, 6. Auflage, Pearson Studium, Addison- Wesley, 2001 Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software Engineering, A Practitioner s Approach, 4. Auflage, The McCraw-Hill Companies Inc., 1997 Helmut Balzert: Lehrbuch der Software-Technik (Band 1): Software-Entwicklung, Spektrum Akademischer Verlag, 2000 Helmut Balzert: Lehrbuch der Software-Technik (Band 2): Software-Management, Software-Qualitätssicherung, Unternehmensmodellierung, Spektrum Akademischer Verlag (1998) Christine Rupp et al.: Requirements-Engineering und Management, 3.Auflage, Hanser, 2004 Jeckle, Rupp, Hahn, Zengler, Queins: UML 2 glasklar, 1.Auflage, Hanser, 2003 Rumbaugh/Jacobson/Booch: The Unified Modeling Language Reference Manual, Auflage: Bk&CD-Rom, Addison-Wesley Professional, 1998 Peter Liggesmeyer: Software-Qualität: Testen, Analysieren und Verifizieren von Software, Spektrum Akademischer Verlag, 2002 2

Literatur 3

Gliederung Einführung 1. Überblick und Terminologie 2. Geschichtlicher Überblick und Software Krise 3. Modellbildung 4. Software Ingenieur 5. Ziele der Vorlesung 4

1. Überblick und Terminologie Aufgabe 1 Ziel ist es einen Turm zu erstellen. Verwendet werden dürfen alle Materialien, die Ihnen derzeit zur Verfügung stehen. Insbesondere Papier, Stifte, Schere, Tesafilm und was Sie sonst so dabei haben. Auftraggeber ist Ihre Professorin. Für diese Aufgabe haben Sie ab jetzt 15 Minuten Zeit. Wichtig: Wer die Lösung der Aufgabe schon kennt, der meldet sich bitte und setzt aus, ohne den anderen Kommilitonen die Lösung zu verraten! 5

1. Überblick und Terminologie 6

1. Überblick und Terminologie Was ist Software Engineering? The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. IEEE Standard Gegenstand des Software Engineering ist die ingenieurmäßige Entwicklung komplexer Softwaresysteme hoherqualität unter Berücksichtigung der einzusetzenden Arbeits- und Zeitressourcen 7

1. Überblick und Terminologie Der Software Lebenszyklus Planungsphase Definitionsphase Problemdefinition Anforderungen Spezifikation zeitlicher Ablauf Designphase Implementationsphase Abnahme- und Einführungsphase Entwurf (Modell) System Design SW Entwicklung Verifkation und Testen Wartungsphase 8

1. Überblick und Terminologie Software (SW) computer programs, procedures, rules, and possibly associated documentation and data pertaining to the operation of a computer system IEEE Standard Glossary of Software Engineering Softwaresystem: Ein System dessen Subsysteme und Komponenten aus Software bestehen Software-Produkt: Ein Produkt ist ein in sich abgeschlossenes, i. A. für einen Auftraggeber bestimmtes Ergebnis eines erfolgreich durch-geführten Projekts (oder Herstellungsprozesses). SW-Produkt: Produkt, das aus Software besteht Main() { } Microsoft Office 9

1. Überblick und Terminologie... Gebietseinordnung Elektrotechnik Software Engineering Maschinenbau... Physik Informatik Psychologie Betriebswirtschaft... Mathematik Ingenieurwissenschaften Grundlagenwissenschaften Hilfswissenschaften M. Broy, D. Rombach: Software Engineering. Wurzeln, Stand und Perspectiven, in: Informatik Spektrum 25:6, pp. 438-451, 2002 10

1. Überblick und Terminologie SW Eigenschaften Welche Eigenschaften erschweren die Erstellung von SW? 11

1. Überblick u. Terminologie Schwierigkeitenbei der SW Entwicklung gibt es viele; Diese sind unter anderem: Kommunikationsprobleme mit Usern Arbeitsabläufe werden durch SW oft verändert SW Varianten SW Einsatz in verschiedenen Umgebungen Abhilfe: Standards, Methoden und Werkzeuge Beispiel: Beispiel: Beispiel: 12

1. Überblick u. Terminologie CASE Tools CASE: (engl.) Computer Aided SW Engineering Tools: Einsatz von Werkzeugen Beispiele Visual Paradigm (Visual Paradigm International) Rational Rose (Rational) Enterprise Architekt (Sparx)... Inhalte: im Mittelpunkt steht die Modellierung UML (Unified Modeling Language) Transformation in verschiedene Programmiersprachen Datenstrukturen Reverse Engineering Generierung von Prototypen 13

2. Geschichtlicher Überblick und SW Krise agile Modelle V-Modell Wasserfallmodell, Spiralmodell 14

2. SW-Krise Phänomen: tratt erstmals Mitte der 60er auf Erstmalig: Kosten für SW > Kosten der HW Folge: erste große SW-Projekte scheiterten Grund: die bisher genutzten Techniken konnte nicht mit dem Umfang und der Komplexität der SW mithalten Auf einer NATO Tagung (1968) wurde das Phänomen diskutiert und als Reaktion der Begriff des Software Engineering eingeführt 15

2. SW-Krise Standish Group CHAOS Studie über 40.000 IT-Projekte, 1994-2000 Kostenüberschreitungen bleiben die Regel http://www.standishgroup.com 16

2. SW-Krise Schlussfolgerungen aus der Software-Krise Früher war SW-Entwicklung ähnlich wie der Bau von Häusern OHNE Architekten, Pläne und Maschinen,. SW-Entwicklung ist keine (nicht nur) kreative Kunst SW-Entwicklung ist hauptsächlich eine ingenieurmäßige Wissenschaft mit wohldefinierter Vorgehensweise => Aus Fehlern anderer Lernen! 17

3. Modellbildung Girl and globe Quibeldey-Cirkel, Objekt-Paradigma, 1994, S. 15 18

3. Modellbildung Poppers 3 Welten Sir Karl Raimund Popper (*1902; 1994) war ein österreichisch-britischer Philosoph, der mit seinen Arbeiten u.a. zur Erkenntnistheorie beitrug 19

3. Modellbildung Bedeutung von Modellen für SE Terminologische Unterscheidung zwischen Realität und Modellen ist wichtig Reales Objekt und Modell-Objekt (z.b. repräsentiert durch OO Klasse) wird unterschieden Modelle sind nötig damit wir Menschen komplexe Abläufe verstehen Vereinfachung, Abstraktion Je ähnlicher ein Modell einem realem Objekt wird, desto besser ist das Modell Abwägungen zwischen Kosten/Zeit und Nutzen sind notwendig 20

3. Modellbildung Überblick UML (Unified Modeling Language) Diagrammarten UML-Diagramme Strukturdiagramme Verhaltensdiagramme Klassendiagramme Objektdiagramme Komponenten -diagramme Use Casediagramme Aktivitätsdiagramme Zustandsdiagramme Kompositionsstrukturdiagramme Paketdiagramme Verteilungsdiagramme Interaktionsdiagramme Sequenzdiagramme Interaktionsübersicht Kommunikationsdiagramme Zeitdiagramme 21

4. Der Software Engineering Spezialist Bezeichnung für einen Menschen der systematisch SW entwirft und implementiert Aufgaben und Kenntnisse des SW-Ingenieurs: SW-Produkt: Anwendungsgebiet Bedienung u Ergonomie (Zukunfts-) Pläne Ressourcen: Team HW/SW Plattformen Hilfsmittel (Tools) SW-Prozess: Prozessablauf Methoden SW-Entwicklung Wiederverwendung Projekt: Projektformen Projektmanagement Schätzverfahren 22

5. Ziele der Vorlesung Vorschau Vorlesung Kapitel 2: Phasenübergreifendes Kapitel 3: Planungsphase Kapitel 4: Definitionsphase Kapitel 5: Designphase Kapitel 6: Implementierungsphase Kapitel 7: Abnahme- und Einführungsphase Kapitel 8: Wartungs- und Pflegephase SW Lebenszyklus 23

5. Ziele der Vorlesung Was ist Software Engineering und warum ist die Erstellung von qualitativ hochwertiger Software so schwer? Ingenieurstätigkeit zur Softwareerstellung SW ist immateriell und die Modellbildung schwierig Verstehen und beherrschen der einzelnen Phasen bei der Entstehung von Software Phasen: Problemanalyse, Anforderungsdefinition, System- und Softwareentwurf, Implementierung, Integration und Systemtests, Betrieb und Wartung Studieren einer breiten Auswahl wichtiger und nützlicher Verfahren die dazu beitragen Software mit Qualität zu produzieren Beispiele: Vorgehensmodelle, Requirement Engineering, UML, SW-Architekturen, Testverfahren, Managementmethoden, Wartung und Weiterentwicklungstechniken... 24