24
Software Engineering (SE) 1) Einführung Prof. Dr. Anja Metzner Hochschule Augsburg, Fakultät für Informatik Kontakt: [email protected] Studiengang WiBac 4 (Stand: 15.03.2014) © Prof. Dr. A. Metzner, Hochschule Augsburg, 2014

Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Software Engineering (SE)

1) Einführung

Prof. Dr. Anja MetznerHochschule Augsburg, Fakultät für Informatik

Kontakt: [email protected]

Studiengang WiBac 4 (Stand: 15.03.2014)

© Prof. Dr. A. Metzner, Hochschule Augsburg, 2014

Page 2: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner2

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

Page 3: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner3

Literatur

Page 4: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner4

GliederungEinführung

1. Überblick und Terminologie

2. Geschichtlicher Überblick und Software Krise

3. Modellbildung

4. Software Ingenieur

5. Ziele der Vorlesung

Page 5: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner5

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!

Page 6: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner6

1. Überblick und Terminologie

Page 7: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner7

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 dieingenieurmäßige Entwicklung komplexerSoftwaresysteme hoher Qualität unter Berücksichtigung der einzusetzenden Arbeits- und Zeitressourcen

Page 8: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner

1. Überblick und Terminologie

� Der Software Lebenszyklus

8

Planungsphase

Definitionsphase

Designphase

Implementationsphase

Abnahme- und Einführungsphase

Wartungsphase

zeitlicher Ablauf

• Problemdefinition

• Anforderungen• Spezifikation

• Entwurf (Modell)• System Design

• SW Entwicklung

• Verifkation und Testen

Page 9: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner9

1. Überblick und Terminologie� Software (SW)

� „computer programs, procedures, rules, and possiblyassociated documentation and data pertaining to theoperation 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

Page 10: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner10

1. Überblick und Terminologie

Ingenieur-wissenschaften

Grundlagen-wissenschaften

Hilfs-wissenschaften

Software EngineeringElektrotechnik

Maschinenbau

Physik

Mathematik

Informatik

Betriebswirtschaft

Psychologie

...

...

...

M. Broy, D. Rombach: Software Engineering. Wurzeln, Stand und Perspectiven, in: Informatik Spektrum 25:6, pp. 438 - 451, 2002

Gebietseinordnung

Page 11: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner11

1. Überblick und Terminologie� SW Eigenschaften

� Welche Eigenschaften erschweren die Erstellung von SW?

Page 12: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner12

1. Überblick u. Terminologie� Schwierigkeiten bei 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:

Page 13: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner13

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

Page 14: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner14

2. Geschichtlicher Überblick und SW Krise

Wasserfallmodell, Spiralmodell

V-Modell

agile Modelle

Page 15: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner15

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

Page 16: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner16

2. SW-Krise

http://www.standishgroup.com

� Standish Group CHAOS Studie über 40.000 IT-Projekte, 1994-2000� Kostenüberschreitungen bleiben die Regel

Page 17: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner17

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!

Page 18: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner18

3. Modellbildung

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

Page 19: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner19

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

Page 20: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner20

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

Page 21: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner21

3. Modellbildung

� Überblick UML (Unified Modeling Language)� Diagrammarten

UML-Diagramme

Strukturdiagramme

Klassen-diagramme

Objekt-diagramme

Komponenten-diagramme

Kompositionsstruktur-diagramme

Paket-diagramme

Verteilungs-diagramme

Use Case-diagramme

Aktivitäts-diagramme

Zustands-diagramme

Verhaltensdiagramme

Interaktionsdiagramme

Kommunikations-diagramme

Sequenz-diagramme

Zeit-diagramme

Interaktions-übersicht

Page 22: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner22

4. Der Software Engineering Spezialist

� Bezeichnung für einen Menschen der systematischSW entwirft und implementiert

� SW-Produkt:� Anwendungsgebiet

� Bedienung u Ergonomie

� (Zukunfts-) Pläne

� SW-Prozess:� Prozessablauf

� Methoden

� SW-Entwicklung

� Wiederverwendung

� Ressourcen:� Team

� HW/SW Plattformen

� Hilfsmittel (Tools)

� Projekt:� Projektformen

� Projektmanagement

� Schätzverfahren

Aufgaben und Kenntnisse des SW-Ingenieurs:

Page 23: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner23

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

Leb

en

szyklu

s

Page 24: Software Engineering (SE) - HS Augsburggori/sue/1_SEuUE_WiBac4_Einfuehrung...Bernd Oestereich: Die UML-Kurzreferenz für die Praxis, Oldenbourg, 2001 Literatur Roger S. Pressman: Software

Prof. Dr. A. Metzner24

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...