Prozessmodelle (2) Flashcards
Was ist ein Przessmodell?
- Allgemeiner Entwicklungsplan, der das generelle Vorgehen bestimmt
- Festlegung, welche Aktivitäten in welcher Reihenfolge von welchen Personen erledigt, welche Ergebnisse (Artefakte) dabei entstehen und wie diese überprüft werden
- Prozessmodell beinhaltet:
Vorgehensmodell, Organisationsstrukturen, Vorgaben für PM, QS, Doku, Konfigurationsmanagement u.Ä.
Definition Rolle
Beschreibt die notwendigen Erfahrungen, Kenntnisse und Fähigkeiten, über die ein MA verfügen muss, um eine best. Aktivität durchzuführen
Definition Artefakt
- Greifbares Stück Information, durch MA erzeugt, geändert oder genutzt
- Modell, Modellelement oder Dokument
- Beispiel: Dokument z.B. Lastenheft, Modell z.B. Quellcode, oo Analysemodell
Artefaktmuster
- Legt die Struktur, den Inhalt und das Layout eines Artefakts fest
- Kann durch Richtlinien oder impliziert durch CASE-Werkzeuge erfolgen
CASE Tools
Computer Aided Software Engineering Tools,
z.B. UML o.Ä.
Definition Phase
- Notwendige Aktivitäten, um ein Produkt zu entwickeln
Festlegung pro Phase:
- Ziel
- Durchzuführende Aktivitäten
- Zu erstellende Artefakte
- Zu verwendende Artefaktmuster
- Methoden, Richtlinien, Konventionen und Checklisten
- Werkzeuge und Sprachen
Definition Phasenmodell
Gliedert die Softwareentwicklung in einzelne Phasen, die sequenziell durchlaufen werden. Jede Phase wird durch einen Meilenstein abgeschlossen, erst dann startet die nächste Phase
Wasserfallmodell
Pro
- Einfach und verständlich
- Gut strukturiert durch Meilensteine
- Aufgaben klar definiert
- Definierte Nutzereinbindung
Contra
- Lange “Latenzzeit”
- Fehler unvermeidbar
- Änderungen unvermeidbar
Tayloring von Prozessmodellen
- Mittelweg zwischen Freiheit und Standardisierung muss gefunden werden
- Tayloring (Anpassung) an konkrete Situation nötig
Ziele
- So wenig Phasen, Rollen und Artefakte wie nötig
- Artefakte bilden Standardfall ab
- Optimale Werkzeugunterstützung sicherstellen
- Jedes Artefakt durch QS prüfen
Evolutionäres und inkrementelles Modell
- Produkt wird in lauffähige Teilprodukte aufgeteilt
- Phasen werden mehrfach durchlaufen
- Gesamtprodukt entsteht in Ausbaustufen
Evolutionäres Modell
- Zerlegung in weitgehend eigentständige Teilprojekte
- Teilprodukte können frühzeitig ausgeliefert und praktisch erprobt werden
- Funktionsumfang nimmt evolutionär zu
Inkrementelles Modell
- entspricht weitgehend dem evolutionären Modell
- Unterschied: Am Anfang steht eine vollständige Analyse aller Anforderungen. Diese werden dann iterativ in verschiedenen Versionen umgesetzt
Das Spiralmodell
Ziel: Reduzierung der Risiken der Softwareentwicklung
- iterative Entwicklung in Zyklen
- Phasen werden mehrfach spiralförmig durchlaufen
- Produkt entsteht inkrementell
Jeder Zyklus enthält folgende Aktivitäten:
- Festelegen der Ziele und Rahmenbedinungen und mögl. Alternativen
- Beurteilung von Alternativen, Abschätzen und Reduzieren von Risiken (z.B. durch Prototyping)
- Entwicklung und Test eines Teilprodukts
- Planung des nächsten Zyklus
Agile Softwareentwicklung (Zusammenfassung)
- klassische Methoden versagen häufig (Anforderungsänderungen oder falsch verstanden)
- verkürzter Innovationszyklus (schnelles Feedback, Kundenintegration, schlanker + schneller Prozess)
- Embrace the Change!
Agile Softwareentwicklung Rechte und Pflichten Kunde
Rechte des Kunden:
- Festlegung Releaseinhalt
- Erhalt des vereinbarten Umfangs
- Änderung von Anforderungen
Pflichten des Kunden:
- Forumulieren der Anforderungen
- Festlegung von Akzeptanzkriterien