Vorgehensmodelle: Prototyping

avatar

Durch die Entwicklung von Prototypen kann man im Rahmen einer Projektentwicklung frühzeitig zu einem lauffähigen – aber nicht unbedingt einsatzfähigen – System kommen. Dadurch kann einerseits die Motivation der Mitarbeiter erhöht und andererseits die Abstimmung mit dem Auftraggeber erleichtert werden.

Die Erstellung des Prototyps dient hier lediglich der besseren Abstimmung mit dem Auftraggeber. Der Prototyp wird so lange revidiert, bis die Anforderungen feststehen. Im Allgemeinen reicht hierzu ein Prototyp der Benutzungsoberfläche, der sich mit einem entsprechenden Werkzeug relativ schnell erstellen lässt. Es handelt sich dabei aber um einen Wegwerfprototyp – analog zu einem Modell in der Architektur. Man bezeichnet den Einsatz eines Prototyps in diesem Sinne oft auch als Rapid Prototyping.

prototyp.png
Abbildung: Prototyping

Eine andere Art des Prototyping ist die evolutionäre Softwareentwicklung. In diesen Fällen kann ein experimentelles und exploratives
Vorgehen während der Systementwicklung hilfreich sein. Statt eines Wegwerfprototyps wird hier eine Serie von Prototypen entwickelt, die direkt in die Produktionsversion der Software konvergiert.
Dabei wird für jeden einzelnen Prototypen der vollständige Entwicklungszyklus durchlaufen. Die ersten Prototypen erreichen jedoch nicht die Phase Einsatz und Wartung, sondern sie dienen nach einer ausführlichen Begutachtung lediglich als Basis für eine Verfeinerung der Analyse- und Definitionsergebnisse, die dann zu einer Weiterentwicklung des Prototyps in dem folgenden Entwicklungszyklus führt.

prototyp_evo.png
Abbildung: evolutionäre Softwareentwicklung

Bei einem derartigen Vorgehen erscheint es im Allgemeinen sinnvoll, in den frühen Phasen der Prototyperstellung (Analyse und Definition sowie Entwurf) durchaus auch das Gesamtsystem im Auge zu behalten. Die Implementierung wird aber in jedem Fall auf den eingeschränkten Prototyp reduziert.

Die Vorteile einer solchen evolutionären Softwareentwicklung liegen zunächst in einer größeren Nähe zum Auftraggeber/Benutzer. Da man in kürzeren Abständen fertige Teilergebnisse mit dem Auftraggeber abstimmen kann, erhöht sich im Allgemeinen auch die Akzeptanz des Systems.

Quelle
https://www.softwareresearch.net/fileadmin/src/docs/publications/J001.pdf



0
0
0.000
1 comments