is-Logo Software Engineering
Vorgehensmodelle

S. Spolwig

[Home | Software Engineering]

 Software-Entwicklungsmodelle

Professionelle Softwareentwicklung kennt verschiedene Verfahren, um von einer Idee zu einem lauffähigen Softwareprodukt zu kommen. Ausgangspunkt ist der Software Life Cycle, der linear, zyklisch oder spiralförmig durchlaufen werden kann. Die entsprechenden Ansätze (Treppen-, Wasserfall-, Spiralmodell u. a.) erfordern im Idealfall eine vollständige Anforderungsdefinition und Spezifikation bevor die nächsten Phasen begonnen werden. Sie sind deshalb dokumentationslastig.

Für den Informatik-Unterricht sind zwei Vorgehensmodelle von Bedeutung:
 

Wasserfall-ModellEin Wasserfall-Modell

Das Wasserfallmodell ist eines der ältesten und beschreibt den Entwicklungsprozess als sequentiellen Ablauf von Phasen

  • Jede Phase wird vollständig abgeschlossen, bevor die nächste begonnen werden darf.
     

  • Jede Phase produziert genau definierte Ergebnisse, die als Input für die nächste Phase dienen.
     

  • Rücksprünge und Iterationen zwischen aufeinanderfolgenden Phasen sind aber möglich.
     

  • Am Ende jeder Phase steht ein Prüfschritt.1) 

Dieses Vorgehen eignet sich für größere (halbjährliche) Softwareprojekte, bei denen alle Phasen komplett durchlaufen und erfahrbar gemacht werden sollen. Die notwendige begleitende Dokumentation und Delegation von Verantwortung verhindern weitgehend, daß ein schulisches Projekt im Chaos versinkt.

Evolutionäres Prototyping

Ein neuerer Ansatz  ist das evolutionäre Prototyping. Evolutionär  bedeutet, daß Software häufig Weiterentwicklungen unterworfen ist und der sachgemäße Umgang mit Änderungen zu einem verbesserten Produkt führen kann. Prototyping liefert frühe Versionen eines Softwaresystems zur Begutachtung durch den Anwender. Es ist geeignet, wenn die vollständigen Anforderungen noch nicht vorliegen und alternative Lösungsmöglichkeiten erprobt werden sollen. Das muß natürlich methodisch erfolgen und keinesfalls als trial-and-error-Murkelei.

Evolutionäres Prototyping

  • Der Prototyp ist ein Pilotsystem, das bereits im Anwendungsbereich eingesetzt werden kann
     
  • Bildet den Kern des zu entwickelnden Systems
     
  • Liefert keinen Wegwerf-Prototyp
     
  • Muß nach allen Regeln der Kunst entwickelt werden
     
  • Entspricht einem Wachstumsmodell2)


Die Zwischenversionen sind Basis für neue, ergänzende Anforderungen. Im Unterricht ist es geeignet für kleine Projekte, die sich in wenigen Tagen mit (geplanten) verschiedenen Versionen durchführen lassen.

----------------

1) vgl. Bachmann, Mala :  Software-Qualität, Vorgehensmodelle und Kostenschätzung.
    http://www.swisseduc.ch/informatik/material/swquality/docs/vortrag_vorgehensmodelle.ppt#1
2) vgl. Glinz, M.: Der Software-Prozess.
    http://www.ifi.unizh.ch/groups/req/ftp/se_I/folien/kapitel_03.pdf



©  05. Oktober 2008     Siegfried Spolwig

page_top