Softwareentwicklungsmodell
[[[Datei:http://www.example.com Link-Text]]Datei:Beispiel.jpg]==Definition==
Da komplexe Software nur schwer zu erstellen und zu warten ist, bedienen sich Softwareentwickler eines Planes zur Entwicklung von Software. Dieser Plan, das Vorgehensmodell, unterteilt den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen. Die Software wird somit Schritt für Schritt fertiggestellt. Der eigentliche Entwicklungsprozess wird dabei vom Projektmanagement und der Qualitätssicherung begleitet. Softwareentwicklungsprozesse dienen zur Steuerung einer Softwareentwicklung von der Konzeption bis zum Einsatz im Echtbetrieb inklusive der im Echtbetrieb anfallenden Änderungen einer Software und dienen dazu die Komplexität überschaubar zu machen. Eines der ältesten Modelle ist das Wasserfallmodell, das eine starre Abfolge der einzelnen Phasen annimmt. Weiterentwicklungen wie das Spiralmodell sehen hingegen Interaktionen vor, d. h. derselbe Arbeitsschritt (z. B. die Analyse) wird mehrmals durchlaufen und die Ergebnisse des Arbeitsschrittes pro Durchlauf verfeinert und verbessert.
Vorteile
•Einfach verständlich, kein großer Schulungsaufwand notwendig •Verbessert die Planung und Verifikation von Softwaresystemen. •Auftraggeber wird stärker an der Entwicklung beteiligt. •Anforderungen der Anwender können laufend präzisiert werden. •Kreative Alternativlösungen möglich. •Reduziert das Entwicklungsrisiko. •Fehlerhafte Wechselwirkungen der Komponenten werden früher erkannt.
Nachteile
•Annahme, dass zu Beginn eine abgeschlossene und korrekte Anforderungsdefinition existiert, entspricht nicht der Realität •Lauffähige Version des Systems liegt erst am Ende der Entwicklung vor •Auftraggeber ist nur in der Anforderungsdefinition mit eingebunden •Nichteinhalten der Projektdauer führt zu Abstrichen in den späten Phasen •Tests werden nur am Ende des Entwicklungszyklus vorgesehen