SOFTWARE
ENGINEERING
Definition, Software Life Cycle, Modelle
Inhalt
2
Software Engineering
Definition und Bedeutung
Software Life Cycle
Von Anfang bis Ende
Vorgehensmodelle
Ziel, Synonyme, Beispiele
24.05.2009 Software Engineering Daniel Egger
3
Software Engineering
Definition und Bedeutung
24.05.2009 Software Engineering Daniel Egger
Software Engineering
4
Herstellung von Software
Besteht aus
Entwicklung
Betrieb
Praktischer Nutzen
Messbar
Vergleichbar
SWEBOK: Software Engineering Body of
Knowledge (IEEE Computer Society)
24.05.2009 Software Engineering Daniel Egger
Software Engineering
5
Helmut
Balzert
Zielorientierte Bereitstellung und
systematische Verwendung von
Prinzipien, Methoden und
Werkzeugen für die arbeitsteilige,
ingenieurmäßige Entwicklung und
Anwendung von umfangreichen
Softwaresystemen
24.05.2009 Software Engineering Daniel Egger
Software Engineering
6
Komplexe Software
Strukturierter Plan
Vorgehensmodell
Überschaubarkeit der Phasen
Aufteilung in 10 Phasen
Planung, Analyse, Entwurf, Programmierung, Vali
dierung
&Verifikation, Anforderungsmanagement, Projekt
management, Qualitätsmanagement, Konfiguratio
nsmanagement, Dokumentation
Individuelle Aufteilung möglich
24.05.2009 Software Engineering Daniel Egger
7
Software Life Cycle
Von Anfang bis Ende
24.05.2009 Software Engineering Daniel Egger
Phasen
8
Anforderungsanalys
Anforderungsanalyse
e
Systemarchitektur Wartung Systemarchitektur
Konzeption
Kodierung Produktivnahme Konzeption
Test
Abnahme Abnahme Kodierung
Produktivnahme
Test
Wartung
24.05.2009 Software Engineering Daniel Egger
Produktivnahme
15
Installation und Konfiguration
Vorraussetzungen:
Schulung der Anwender
Benutzerschulung
Schulung der Systembetreuer
Datenbankpflege
Systeminstallation
Aufbau der Arbeitsumgebung
Netzwerke
Services
24.05.2009 Software Engineering Daniel Egger
Wartung
16
Nicht direkter Projektbestandteil
Kodierungsregeln beachten
Dokumentation warten
Fehlerbehebung
Updates,Patches
Neucodierung
Änderungen auf Auftrag
Kick-Off für neues Projekt
24.05.2009 Software Engineering Daniel Egger
17
Vorgehensmodelle
Ziel, Synonyme, Beispiele
24.05.2009 Software Engineering Daniel Egger
Vorgehensmodelle
18
Abstrakte Beschreibung des Software Life Cycle
Eigenschaften
Idealisierend
Abstrahierend
Ziel
Planbarkeit
Transparenz
Synonyme
Phasenmodell, Objektmodell
Prozessmodell, SLC-Modell
24.05.2009 Software Engineering Daniel Egger
Modelle
19
Wasserfallmodell
V-Modell
Spiralmodell
Extreme Programming
Inkrementelles Modell
Prototyping
Formal Methods Modell
Vorgehensmodelle für objektorientierte
Softwareentwicklung
24.05.2009 Software Engineering Daniel Egger
Wasserfallmodell
20
24.05.2009 Software Engineering Daniel Egger
Wasserfallmodell
21
Sequentieller Ablauf von Phasen
Phase muss vollständig abgeschlossen sein
Iterationen sind nur zwischen
Phase/Vorgänger und Phase/Nachfolger
möglich
Phase produziert definiertes Ergebnis
Ergebnis des Vorgängers ist Grundlage für die
nächste Phase
Prüfschritt in jeder Phase
24.05.2009 Software Engineering Daniel Egger
Wasserfallmodell
22
Geeignet für
Kleine Projekte
Projekte bei denen
Anforderungen frühzeitig bekannt sind
Anforderungen sich nicht/geringfügig ändern
Vorteil
Einfacher Aufbau
Leicht verständlich
Nachteil
Praktisch selten anwendbar
24.05.2009 Software Engineering Daniel Egger
V-Modell
23
24.05.2009 Software Engineering Daniel Egger
V-Modell
24
Fehler auf Abstraktionsebene finden
Phaseneinteilung
Konstruktiv (Spezifikation)
Prüfend (Realisierung)
Gegenläufige Zuteilung
Schnittstelle bilden Tests
Vorteil
Einfach zu handhaben
Nachteil
Oft zu ungenau
24.05.2009 Software Engineering Daniel Egger
Spiralmodell
25
24.05.2009 Software Engineering Daniel Egger
Spiralmodell
26
Einteilung in vier Phasen
Vier Durchläufe
Geeignet für
Große Systeme
Risikoreiche Projekte
Vorteil
Anpassungsfähig
Nachteil
Hoher Managementaufwand
24.05.2009 Software Engineering Daniel Egger
Impressum & Quellenangaben
28
Autor
Daniel Lucas Egger
Erstellt für
Universität Klagenfurt SS 09
Lehrveranstaltung
621.006 Proseminar aus Informatik für
Lehramtstudierende
Quellen
Boehm-Paper
Skript der HTL Wolfsberg
24.05.2009 Software Engineering Daniel Egger
0 comments
Post a comment