Vergleich von Softwareentwicklungsmodellen
Eingeordnet in Lehre und Ausbildung
Geschrieben am in
Deutsch mit einer Größe von 3,85 KB
Wasserfallmodell (Kaskadenmodell)
Merkmale
- Die Anforderungen an ein Problem sind gut verstanden und stabil in den 5 Stufen des generischen Software Engineering.
- Dokumente werden in jeder Phase erstellt.
- Revisionen überschneiden sich nicht.
- Die Weitergabe zur nächsten Stufe erfolgt nur, wenn die vorherige Phase abgeschlossen ist.
Vorteile
- Empfohlen für Produkte, die eine stabile Definition haben.
- Empfohlen bei der Arbeit mit bekannten Methoden.
- Hilft, die Kosten für die Planung zu minimieren, da Probleme in Bezug auf Zeit, Ressourcen oder Definitionen unwahrscheinlich sind.
Nachteile
- Es ist schwierig, die Anforderungen an ein Projekt von Anfang an eindeutig festzulegen, bevor Design und Code geschrieben werden.
- Kleine Auslassungen in der Definition führen in der Regel zu großen Veränderungen in den verschiedenen Stadien.
- Schwerwiegende Fehler werden oft erst in der Bauphase oder später erkannt.
Inkrementelles Modell
Merkmale
- Es ist von Natur aus ein iteratives Modell.
- Es verbindet Elemente des Wasserfallmodells, die iterativ angewendet werden.
- Es wendet eine gestaffelte lineare Abfolge über die Zeit an.
Vorteile
- Nützlich, wenn die Verfügbarkeit der Mitarbeiter knapp ist.
- Die Inkremente helfen, das technische Risiko des Projekts zu senken.
Nachteile
- Ähnliche Nachteile wie beim Wasserfallmodell, jedoch in geringerem Maße.
Fazit
- Empfohlen für Projekte, die modular und in Raten umgesetzt werden können.
- Empfohlen für Projekte mit stabilen Anforderungen.
Modell RAD (Rapid Application Development)
Merkmale
- Inkrementelles Prozessmodell.
- Das Modell ist eine Hochgeschwindigkeits-Adaption des Wasserfallmodells.
- Basiert auf einem Konstruktionsansatz für Softwarekomponenten und automatischer Codegenerierung.
Vorteile
- Empfohlen, wenn das Projekt in Module getrennt werden kann.
- Empfohlen, wenn die Module und die Umsetzungszeit für jedes Modul bekannt sind.
- Empfohlen, wenn das Projekt die Implementierung von Komponenten beinhaltet.
Nachteile
- Es erfordert genügend Ressourcen, um Teams zu bilden.
- Es erfordert ein hohes Engagement von Entwicklern, um die Entwicklungszeit jedes Moduls einzuhalten; andernfalls können Engpässe entstehen.
- Bereitet Schwierigkeiten, wenn ein System nicht in Module getrennt werden kann.
Fazit
- Empfohlen für Projekte, die die Implementierung von Komponenten erfordern.
- Empfohlen für Projekte, bei denen die Umsetzungszeit jedes Moduls bekannt ist und mit bekannten Technologien gearbeitet wird.
Prototyping-Modell
Merkmale
- Anforderungs-Debugging-orientiert.
- Ermöglicht ein hohes Maß an Interaktion mit dem Kunden.
- Zeigt dem Kunden schnell Ergebnisse.
Vorteile
- Kein umfangreiches Projektmanagement erforderlich; es geht keine Zeit durch Planung, Dokumentation, Qualitätssicherung oder Einhaltung von Normen verloren.
- Fortschritte können sofort gezeigt werden, da sofort mit der Codierung begonnen wird.
- Nützlich für kleine, kurzfristige Projekte, deren Ergebnisse später ersetzt oder entfernt werden können.
- Hilft beim Verständnis der Projektanforderungen.
Nachteile
- Es ist unmöglich, die gesamte Projektdauer zu Beginn festzulegen.
- Die Anzahl der durchzuführenden Iterationen ist unbekannt.
- Die tatsächlichen Umsetzungszeiten sind schwierig zu bestimmen.
Fazit
- Empfohlen für Projekte, bei denen Unsicherheit in der Definition ihrer Anforderungen besteht.