VL I-? Flashcards
Prozess-Modelle beschreiben…
… den organisatorischen Rahmen für die Software-Entwicklung mit:
1) Reihenfolge und Phasen des Arbeitsablaufs
2) jeweils durchzuführenden Aktivitäten
3) Definition der Teilprodukte und ihrer Anforderungen
Eigenschaften des einfachen Wasserfall-Modells
Plangesteuert, sowohl inhaltlich als auch zeitlich. Eine Phase muss abgeschlossen sein, bevor die nächste beginnt. Aus jeder Phase gehen entsprechende Dokumente hervor.
Phasen des einfachen Wasserfall-Modells
1) Machbarkeitsstudie
2) Anforderungsanalyse
3) Entwurf
4) Codierung
5) Test
6) Betrieb
Wasserfall-Modell: Machbarkeitsstudie
Alternative Lösungsvorschläge:
- Ressourcen
- Kosten
- mögliche Erträge
Wasserfall-Modell: Anforderungsanalyse
Pflichtenheft, spezialisiert was die Software leisten soll, d.h. alle relevanten Funktions- und Qualitätsmerkmale präzise, vollständig, konsistent und verständlich
Wasserfall-Modell: Entwurf
Systemarchitektur:
- Module (Objekte, Klassen) & ihre Beziehungen
- häufig: Top-Down Entwurf, d.h. Zerlegung des Systems in Komponenten, der Komponenten in Unterkomponenten usw.
Wasserfall-Modell: Codierung
Implementierung:
- Programm bzw. Programmtext Module
- Implementierungsbericht:
- Details der Implementierung
- Abweichungen vom Entwurf
- Abweichungen vom Zeitplan inkl. Begründungen
Wasserfall-Modell: Test
Modultest: unabhäniger Test einzelner Module
Integrationstest: Test des Zusammenspiels mehrerer Module
Systemtest: Test des Gesamtsystems (alle Module)
Testbericht: Ergebnisse der durchgeführen Tests
Wasserfall-Modell: Betrieb
Installation beim Kunden -> Beginn der Wartung
Probleme des einfachen Wasserfall-Modells
- “Über die Mauer werfen”:
Kommunikation nur äber Dokumente, Verständnis für Phänomene der Phase N geht in N+1 weitgehend verloren - Probleme aus Phase N erfordern möglicherweise Änderungen in N-1
- > Wasserfall-Modell mit Rückkopplung zur direkt vorangegangen Phase
V-Modell
erweitert das Wasserfall-Modell um die Qualitätssicherung:
Anforderungsdefinition -> Anwendungsszenarien -> Abnahmetest
Grobentwurf -> Testfälle -> Systemtest
Feinentwurf -> Testfälle -> Integrationstest
Modulimplementation -> Testfälle -> Modultest
Probleme von Wasserfall-Modellem im Allgemeinen
1) Machbarkeit und Kosten lassen sich nur schwer schätzen
2) Pflichtenheft gibt dem Kunden nur unzureichenden Eindruck des zu entwickelnden Systems
3) Anforderungen werden zu früh festgesetzt
4) Zu viele Berichte, Dokumente -> Bürokratie
5) Kunde weiß oft nicht was er will
6) Fehler und Lücken in Anforderungen werden häufig erst im Betrieb entdeckt
7) Wartung schließt Weiterentwicklung mit ein -> Wiederholung einzelner Phasen
Evolutionäre/inkrementelle Softwareentwicklung
- Schrittweise (vor- und rückwärts) in Richtung Lösung
- Wichtigste Funktionalität in frühem Systeminkrement
- Frühes und stetiges Feedback vom KUnden
- Plangesteuert, agil oder Mischung daraus
- Günstiger und einfacher Änderungen einzuarbeiten
- Gleichzeitig stattfindende bzw. ineinander greifende Aktivitäten (Spezifikation -> Entwicklung -> Validierung)
Herausforderungen inkrementeller Softwareentwicklung
- inkrementelle Auslieferung kann normale Geschäftsabläufe stören
- stetige Veränderungen wodurch Systemstruktur beeinträchtigt werden kann
Arten von Prototypen
1) Demonstations-Prototyp: dient der Auftragsakquise
2) Analyse-Prototyp: dient der Veranschaulichung während der Analyse und ist ein provisorisches, ablauffähiges System
3) Labormuster: dient der Klärung konstruktionsbezogener Fragen
4) Pilotsystem: ist kein des zu erstellenden Produkts