Vergleich von Softwareentwicklungsmodellen

Eingeordnet in Lehre und Ausbildung

Geschrieben am in Deutsch mit einer Größe von 3,85 KB

Wasserfallmodell (Kaskadenmodell)

Merkmale

  1. Die Anforderungen an ein Problem sind gut verstanden und stabil in den 5 Stufen des generischen Software Engineering.
  2. Dokumente werden in jeder Phase erstellt.
  3. Revisionen überschneiden sich nicht.
  4. Die Weitergabe zur nächsten Stufe erfolgt nur, wenn die vorherige Phase abgeschlossen ist.

Vorteile

  1. Empfohlen für Produkte, die eine stabile Definition haben.
  2. Empfohlen bei der Arbeit mit bekannten Methoden.
  3. Hilft, die Kosten für die Planung zu minimieren, da Probleme in Bezug auf Zeit, Ressourcen oder Definitionen unwahrscheinlich sind.

Nachteile

  1. Es ist schwierig, die Anforderungen an ein Projekt von Anfang an eindeutig festzulegen, bevor Design und Code geschrieben werden.
  2. Kleine Auslassungen in der Definition führen in der Regel zu großen Veränderungen in den verschiedenen Stadien.
  3. Schwerwiegende Fehler werden oft erst in der Bauphase oder später erkannt.

Inkrementelles Modell

Merkmale

  1. Es ist von Natur aus ein iteratives Modell.
  2. Es verbindet Elemente des Wasserfallmodells, die iterativ angewendet werden.
  3. Es wendet eine gestaffelte lineare Abfolge über die Zeit an.

Vorteile

  1. Nützlich, wenn die Verfügbarkeit der Mitarbeiter knapp ist.
  2. Die Inkremente helfen, das technische Risiko des Projekts zu senken.

Nachteile

  1. Ähnliche Nachteile wie beim Wasserfallmodell, jedoch in geringerem Maße.

Fazit

  1. Empfohlen für Projekte, die modular und in Raten umgesetzt werden können.
  2. Empfohlen für Projekte mit stabilen Anforderungen.

Modell RAD (Rapid Application Development)

Merkmale

  1. Inkrementelles Prozessmodell.
  2. Das Modell ist eine Hochgeschwindigkeits-Adaption des Wasserfallmodells.
  3. Basiert auf einem Konstruktionsansatz für Softwarekomponenten und automatischer Codegenerierung.

Vorteile

  1. Empfohlen, wenn das Projekt in Module getrennt werden kann.
  2. Empfohlen, wenn die Module und die Umsetzungszeit für jedes Modul bekannt sind.
  3. Empfohlen, wenn das Projekt die Implementierung von Komponenten beinhaltet.

Nachteile

  1. Es erfordert genügend Ressourcen, um Teams zu bilden.
  2. Es erfordert ein hohes Engagement von Entwicklern, um die Entwicklungszeit jedes Moduls einzuhalten; andernfalls können Engpässe entstehen.
  3. Bereitet Schwierigkeiten, wenn ein System nicht in Module getrennt werden kann.

Fazit

  1. Empfohlen für Projekte, die die Implementierung von Komponenten erfordern.
  2. Empfohlen für Projekte, bei denen die Umsetzungszeit jedes Moduls bekannt ist und mit bekannten Technologien gearbeitet wird.

Prototyping-Modell

Merkmale

  1. Anforderungs-Debugging-orientiert.
  2. Ermöglicht ein hohes Maß an Interaktion mit dem Kunden.
  3. Zeigt dem Kunden schnell Ergebnisse.

Vorteile

  1. Kein umfangreiches Projektmanagement erforderlich; es geht keine Zeit durch Planung, Dokumentation, Qualitätssicherung oder Einhaltung von Normen verloren.
  2. Fortschritte können sofort gezeigt werden, da sofort mit der Codierung begonnen wird.
  3. Nützlich für kleine, kurzfristige Projekte, deren Ergebnisse später ersetzt oder entfernt werden können.
  4. Hilft beim Verständnis der Projektanforderungen.

Nachteile

  1. Es ist unmöglich, die gesamte Projektdauer zu Beginn festzulegen.
  2. Die Anzahl der durchzuführenden Iterationen ist unbekannt.
  3. Die tatsächlichen Umsetzungszeiten sind schwierig zu bestimmen.

Fazit

  1. Empfohlen für Projekte, bei denen Unsicherheit in der Definition ihrer Anforderungen besteht.

Verwandte Einträge: