Software Engineering (SE)

Werbung
Software Engineering (SE)
2) Phasenübergreifende Verfahren
Prof. Dr. Anja Metzner
Hochschule Augsburg, Fakultät für Informatik
Kontakt:
[email protected]
Studiengang IBac 1
© Prof. Dr. A. Metzner, 2014
(Stand: 01.10.2014)
Gliederung
1.
2.
3.
Vorgehensmodelle
Projektplanung
Projektmanagement
2
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Was ist ein Vorgehensmodell?
Die Software Factory als Fließbandfabrik
Quelle: [John-Harry Wieken, 1990] "Software-Produktion"
Prof. Dr. A. Metzner
3
1. Vorgehensmodelle
Was ist ein Vorgehensmodell?
Abstrakte Darstellung – Modell - für das Vorgehen
während des Prozesses des SE
Stellt die Lebenszyklen von SW dar
Legt Aktivitäten fest
Gibt eine Reihenfolge der Aktivitäten vor
Die Aktivitäten werden zu Phasen zusammengefasst
Jede Phase hat
Phasenziele
Aktivitäten und Rollenzuordnungen
Dokumentation
Methoden, Richtlinien, Konventionen, Werkzeuge und Sprachen
4
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Übersicht
Wasserfall
modell
-Original
-Verbessert:
Inkrementell, Iterativ
-iterativ
-Prototyping
V-Modell
-Testintegration
-Bausteinsystem
-Kommerziell
Prof. Dr. A. Metzner
RUP
(Rational
Unified
Process)
Spiralmodell
Agiles
Modell
-kurze Sprints
-User Stories
5
1. Vorgehensmodelle
Die SE Phasen die alle Vorgehensmodelle beinhalten
• Problemdefinition
Planungsphase
• Anforderungen
• Spezifikation
Definitionsphase
Designphase
zeitlicher
Ablauf
• Entwurf (Modell)
• System Design
Implementationsphase
• SW Entwicklung
Abnahme- und Einführungsphase
• Verifkation
und Testen
Wartungsphase
6
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das Wasserfallmodell
(Royce, 1970)
Planungsphase
Definitionsphase
Designphase
Implementationsphase
Abnahme- u.
Einführungsphase
Wartungs- u.
Pflegephase
7
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das Wasserfallmodell
Beschreibung
Aus jeder Phase gehen Dokumente hervor, die reviewed und
abgenommen werden
Vorgängerphasen sollen abgeschlossen sein
Praxis
Phasenüberlappungen und Informationsaustausch
8
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Verbesserte Wasserfallmodelle
Iterativ
Planungsphase
Definitionsphase
Designphase
Inkrementell
Implementationsphase
Abnahme- u.
Einführungsphase
Planungsphase
Wartungs- u.
Pflegephase
Definitionsphase
Designphase
Implementationsphase
Abnahme- u.
Einführungsphase
Prof. Dr. A. Metzner
Wartungs- u.
Pflegephase
9
1. Vorgehensmodelle
Verbesserte Wasserfallmodelle
Beschreibung
Wie Wasserfallmodell aber Wiederholung der einzelnen Phasen
bei Bedarf
Praxis
Viele Wiederholungen sind teuer
10
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das V-Modell
Modernere Versionen
V-Modell 97
V-Modell XT
11
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das V-Modell
Beschreibung
lediglich Aktivitäten und Ergebnisse werden definiert
Keine strikte zeitliche Abfolge
Keine Abnahmen am Phasenende
Praxis
Vorgehensmodell für die Softwareentwicklung für staatliche
Organisationen und Behörden in Deutschland
Für kleine Projekt oft zu viel Overhead
12
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das
Spiralmodell
(Böhm, 1988, IEEE)
13
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das Spiralmodell
Beschreibung
Iterative Behandlung der Phasen
Flexibles Modell: Vorgehensmodell für jeden Zyklus und
jedes Teilprodukt separat festlegbar
14
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das Spiralmodell
Beschreibung
Einsatz gut geeignet für Prototyping
Praxis
Viele Spiralzyklen sind teuer
Für große Projekte geeignet
15
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Rational Unified Process (RUP)
(Firma Rational)
Empirischer Sammlung von „best practices“
Iterative Softwareentwicklung
Anforderungsmanagement
Verwendung komponentenbasierter SW-Architekturen
Visuell gestützte SW-Modellierung (UML)
Kontrolliertes Änderungsmanagement
Eigenschaften
Ist Objektorientiert
Basiert auf Wasserfallmodell
Neue Softwareversion mit jedem Durchlauf des Wasserfalls
Iterative Vorgehensweise in Phasen
Iterationsschritte innerhalb der Phasen
Inkrementelles Wachstum über mehrere Zyklen
16
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Rational Unified Process (RUP)
17
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Rational Unified Process (RUP)
Beschreibung
Kommerzielles Vorgehensmodell
Best practices umgesetzt
Iteratives, inkrementelles, UML-gestütztes Prozessframework
Vier Phasen (Konzeptualisierungsphase, Entwurfsphase,
Konstruktionsphase, Übergangsphase) mit Milestones
Worker, Artefakte und Aktivitäten
Kern Workflows werden in unterschiedlichen Anteilen je Phase
durchlaufen
Ein Workflow ist eine Sammlung von Aktivitäten und wird
Workern zugeordnet
Praxis
Geeignet für große und komplexe Systeme
18
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Rational Unified Process (RUP)
19
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Weiterentwicklung des iterativen Paradigmas, bei der die
Planung der Iterationen dynamisch erfolgt
stetige Anpassung an Änderungen
Hat Prinzipien, z.B.
Individuum und Interaktion ist wichtiger als Prozess und
Werkzeug
Zusammenarbeit mit Kunden ist wichtiger als
Vertragsverhandlung
Berücksichtigung von Änderungen ist wichtiger als
Bestehen auf Plänen
Beispiele
SCRUM, XP (eXtreme Programming)
20
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
(Hindel et al., Basiswissen SWProjektmanagement, ,dpunkt Verlag, 2006)
Prof. Dr. A. Metzner
21
1. Vorgehensmodelle
Das agile Modell
Beispiel: Projektmanagement
22
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
User Story
eine in Alltagssprache formulierte
SW-Anforderung.
Sie ist bewusst kurz
gehalten und
umfasst in der Regel
nicht mehr als zwei
Sätze.
Story Map
Sprachschablone
"Als <Rolle> möchte ich <Ziel/Wunsch>, um <Nutzen>"
Beispiel: „Als User möchte ich einen neuen Topic anlegen können“
23
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Sprint Backlog
24
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Der Mensch steht mit im Mittelpunkt
Bescheidenheit
Respekt
Innovation
Menschliche
Werte
Feedback
Ehrlichkeit
Kommunikation
Mut zur Wahrheit
25
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Prinzipien
CCO-Collective Code
Ownership
40 h Woche
Customer
on Site
Anforderungen
werden erst
umgesetzt wenn sie
benötigt werden
Prinzipien
Dokumentation nur
wo nötig/viele
Bausteine
Mehrfache
Verwendung von
Ressourcen
(Wirtschaftlichkeit)
Einfachheit (z.B.
Konzepte, Sprache)
Totale
Qualitätsorientierung
(ähnlich zu TQM)
26
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Methoden
Code Konventionen
Ständige Integration
Testgetriebene
Entwicklung
Methoden
Pair-Programming
Rapid Code Reviews
Automatisierte
Buildprozesse
Refactoring
Story Cards
27
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Das agile Modell
Beschreibung
Leichtgewichtiges Modell (Wasserfall, iterativ, inkrementell,
Spiral,...)
Praxis
Geeignet für kleine Projektteams und kleine, flexible Systeme
28
Prof. Dr. A. Metzner
1. Vorgehensmodelle
Alle Vorgehensmodelle:
Vorteile
29
Prof. Dr. A. Metzner
2. Projektplanung
Wenn nun klar ist wie man vorgehen kann, wie geht es dann nun
weiter?
Kosten
Projekt
manage
ment
Res
sourcen
Zeit
30
Prof. Dr. A. Metzner
2. Projektplanung
Managementaufgaben
Erstellung des Angebots
Projekt- und Zeitplanung
Projektkostenkalkulation
Projektüberwachung und Reviews
Auswahl und Beurteilung Ressourcen (Personal,
Sachmittel)
Präsentation und Erstellen von Berichten
31
Prof. Dr. A. Metzner
2. Projektplanung
Ablauf Projektplanung
1.
2.
3.
Randbedingungen aufstellen
Erste Einschätzungen der Projektparameter treffen
Meilensteine und Lieferschritte des Projekts definieren
4.
6.
7.
5.
10.
8.
9.
32
Prof. Dr. A. Metzner
3. Projektmanagement
DIN-Norm (DIN 69901):
„Projektmanagement ist die Gesamtheit von
Führungsaufgaben, -organisation, -techniken und -mitteln
für die Abwicklung eines Projektes“
Hauptaufgaben des Projektmanagers
Terminmanagement
Kostenmanagement
Inhalt und Umfang der Aufgaben definieren, koordinieren und
steuern
Personalmanagement
Ein Projektmanager hat die Funktion die Erwartungen der
Stakeholder zu erfüllen
33
Prof. Dr. A. Metzner
3. Projektmanagement
Wissensgebiete des Projektmanagements
(PMI: Project Management Institute,
http://www.pmi.org/Pages/default.aspx)
34
Prof. Dr. A. Metzner
3. Projektmanagement
t
Beispiel für zeitlichen Ablauf
PM
Projekt definieren
PM
Projekt verfolgen und steuern
PM
Projektplan erstellen
SE
Anforderungen analysieren
SE
PM
Projekt abschließen
SE
Detailkonzept
verfeinern
Detailkonzept
erstellen
SE integrieren & testen
der Komponenten
SE entwickeln der
Komponenten
SE Installation beim
Kunden
SE Systemintegration
SE Auslieferung
vorbereiten
Individuelle Komponentenentwicklung
Standard Komponentenentwicklung
QM
QS Testplan erstellen
QM Systemtestfälle
festlegen
QM Systemtest
durchführen
QM Prüfmethoden &
Kriterien festlegen
KM
KM-Plan erstellen
KM
Projektbegleitende KM Dienste
35
Prof. Dr. A. Metzner
3. Projektmanagement
Gantt-Diagramm (Ablaufplan)
36
Prof. Dr. A. Metzner
3. Projektmanagement
Netzplan (Pert-Diagramm, hier: Vorgangsknotennetz)
37
Prof. Dr. A. Metzner
Lernziel
1.
Was beinhaltet ein Vorgehensmodell?
2.
Welche Form der Software Erstellung hat sich
durchgesetzt und ist erfolgversprechend?
3.
Welche Faktoren eines Softwareprojektes werden
beim Projektmanagement betrachtet?
38
Prof. Dr. A. Metzner
Herunterladen