180 likes | 284 Views
System Development Teil B Der Softwareentwicklungsprozess. Allgemeine Entwicklungsphasen . Planungsphase / I. Planungsphase / II. Definitionsphase. System-Analyse (Anforderungs-Analyse, requirements engineering) Definieren der Produkt-Anforderungen Ergebnisse:
E N D
System Development Teil B Der Softwareentwicklungsprozess (C) WISS
Allgemeine Entwicklungsphasen (C) WISS
Planungsphase / I (C) WISS
Planungsphase / II (C) WISS
Definitionsphase • System-Analyse (Anforderungs-Analyse, requirements engineering) • Definieren der Produkt-Anforderungen • Ergebnisse: • Pflichtenheft, Anforderungsspezifikation • Produktmodell • Konzept der Benutzungsoberfläche (C) WISS
Entwurfsphase • software‑technische Lösung = Softwarearchitektur • "Programmieren im Grossen" • Schnittstellen zur Umgebung • Systemkomponenten und ihre Beziehungen • Funktionale Module • Datenobjekt-Module • Datentyp-Module • Objekt-Klassen (C) WISS
Implementierungsphase Tätigkeiten • Konzeption von Datenstrukturen und Algorithmen • Strukturierung von Programmen, Programmieren • Kommentare schreiben • Systemkomponenten implementieren • entwickelte Programme testen Ergebnisse • Quellprogramme einschliesslich integrierter Dokumentation • Objektprogramme • Testfälle und Testprotokolle (C) WISS
Einführungsphase • Abnahmetests • Installation des Produkts in der Zielumgebung • Bereitstellung der Dokumentation • Schulung der Benutzer und des Betriebspersonals • Inbetriebnahme des Produkts • Übergabe an den Auftraggeber • Beginn des Einsatzes mit produktiven Daten (C) WISS
Vorgehensmodelle • Durch ein Vorgehensmodell wird der SW-Entwicklungsprozess in aufeinander abgestimmte Phasen zerlegt • Für jede Phase werden Tätigkeiten, Ergebnisse und Rollen festgelegt. Beipiele • das Wasserfallmodell • das Spiralmodell • das V-Modell • das Prototyping (C) WISS
V Problemanalyse V Systemspezifikation Grobentwurf V V Feinentwurf V Implementierung V Integration Installation V Wasserfallmodell Projektauftrag, Grobplan Pflichtenheft Datenmodell, Systemarchitektur Algorithm. Struktur der IS-Komponenten Programme und Dokumentation End- produkt Betriebs-fähige Version (C) WISS
Wasserfallmodell • Das Wasserfallmodell beschreibt den Entwicklungsprozess als sequentiellen Ablauf von Phasen. • Jede Phase muss vollständig abgeschlossen sein, bevor die nächste begonnen werden darf. • Iterationen zwischen aufeinanderfolgenden Phasen sind möglich. • Jede Phase produziert genau definierte Ergebnisse, die als Input für die nächste Phase dienen. • Am Ende jeder Phase steht ein Prüfschritt (Verifikation). (C) WISS
Das Wasserfallmodell ist geeignet wenn ... die vollständigen Anforderungen frühzeitig vorliegen und sich während der Entwicklung nur marginal ändern das Projekt klein ist Wasserfallmodell • Modell ist einfach und leicht verständlich • vollständige Anforderungen liegen selten frühzeitig vor (C) WISS
kumulierte Kosten Risiko-Analyse Risiko-Analyse Fortschritte Risiko-Analyse Betriebs- fähiger Prototyp Risiko- Analyse Proto- typ 3 P2 P1 Zustimmung durch Reviews Software Anford. Definition Anforderungs- plan, Lebens- zyklusplan Konzept für den Betrieb Software Produkt- Entwurf Fein- entwurf Modul codieren Anforderungs- prüfung • Entwicklungs- • plan Modul- test Integration und Testplan Entwurfsprüfung Integration und Test Abnahme- test und Ein- führung Verbesserungsplan Spiralmodell Bestimmung von Zielen, Alternativen, Restriktionen Identifizierung und Beseitigung von Risiken Planung der nächsten Phase Entwicklung und Prüfung der nächsten Produktstufe (C) WISS
kumulierte Kosten Risiko-Analyse Risiko-Analyse Fortschritte Risiko-Analyse Betriebs- fähiger Prototyp Risiko- Analyse Proto- typ 3 P2 P1 Zustimmung durch Reviews Software Anford. Definition Anforderungs- plan, Lebens- zyklusplan Konzept für den Betrieb Software Produkt- Entwurf Fein- entwurf Modul codieren Anforderungs- prüfung • Entwicklungs- • plan Modul- test Integration und Testplan Entwurfsprüfung Integration und Test Abnahme- test und Ein- führung Verbesserungsplan Spiralmodell • vierteiliger Zyklus • geeignet für grosse, risikoreiche Systeme • Vorgehen kann zu definierten Zeiten an Umstände angepasst werden • hoher Management-aufwand notwendig (C) WISS
Testfälle V-Modell (allgemeines) System- durchführ- barkeitskonzept Testfälle Systemkonzeptvalidierung Betrieb Testfälle Anforderungs- definition Pilotbetrieb/ Einführung Anforderungs- validierung Entwurfs- validierung Test- validierung Validierung Verifikation Testfälle Systemspezifikation/ Produktentwurf Akzeptanztest/ Systemtest Testfälle Komponenten- Entwurf Integrationstest Modulentwurf/ Code Einzeltest Zeit (C) WISS
V-Modell • Fehler können am einfachsten auf derjenigen Abstraktions-stufe gefunden werden, auf der sie begangen wurden • Die Zwischenergebnisse der Softwareentwicklung werden auf den verschiedenen Teststufen validiert (C) WISS
Prototyping Der Einsatz von Prototyping ist geeignet, wenn • Anforderungen nicht vollständig zusammengestellt werden können • alternative Lösungsmöglichkeiten zuerst getestet und ausgewertet werden sollen • die Realisierbarkeit von Anforderungen garantiert werden soll Prototyping versucht zu verhindern, • dass das falsche Produkt entwickelt wird • dass sich Anforderungen während der Entwicklug als unrealisierbar erweisen (C) WISS
3 Arten von Prototyping Exploratives Prototyping Dient zur Klärung von Anforderungen „Demonstrationsprototyp“ (zum Wegwerfen) Experimentelles Prototyping Wird verwendet, um die Realisierbarkeit kritischer Systemteile zu untersuchen und um Entwurfs-alternativen zu bewerten „Labormuster“ (zum Wegwerfen) Evolutionäres Prototyping Dient der Auslieferung von Teilsystemen an den Auftragsgeber. Pilotsystem (wird weiterentwickelt) (C) WISS