Prototyping
Prototyping ist ein Prozess, in dem Modelle von Systemen oder Anwendungen erstellt werden, um deren Spezifikation, Design und Implementierung frühzeitig und systematisch zu überprüfen.
Es gibt im Wesentlichen folgende Ziele beim Einsatz von Prototyping:
- Überprüfung, ob Spezifikation und Design den Vorstellungen der Kunden entsprechen.
- Unterstützung der Analyse eines Softwareprodukts.
- Überprüfung technischer Aspekte eines Softwareprodukts.
- Demonstration eines Softwareprodukts.
- Frühzeitige Implementierung eines Softwareprodukts.
- Laufende Abstimmung zwischen Entwicklern und Kunden.
Im Hinblick auf hier betrachtete Entwicklungsprozesse lassen sich im Wesentlichen drei Typen des Prototypings identifizieren:
- Prototyping im engeren Sinne
- Inkrementelles Prototyping
- Evolutionäres Prototyping
Prototyping im engeren Sinne
Der Prototyp ist ein Modell oder Labormuster des Softwareprodukts oder eines Aspektes. Der Prototyp fließt nicht in das zu erstellende Softwareprodukt ein, sondern wird weggeworfen.
Inkrementelles Prototyping
Das Softwareprodukt wird zunächst teilweise als Prototyp entwickelt und dann nach und nach vervollständigt. Jeder Stand des Prototyps wird evaluiert, korrigiert und anschließend entschieden, was als nächstes entwickelt wird. Diese Vorgehensweise wird auch fortschreitendes Prototyping genannt.
Evolutionäres Prototyping
Das Softwareprodukt wird zunächst teilweise als Prototyp entwickelt und dann nach und nach vervollständigt. Jeder Stand des Prototyps wird evaluiert, korrigiert und anschließend entschieden, wie und was als nächstes entwickelt wird. Es wird die Spezifikation des Softwareprodukt angepasst, falls notwendig. Im Verlauf inkrementellen und evolutionären Prototypings wird die gesamte Entwicklung wiederholt.
Bild 11: Inkrementelles und evolutionäres Prototyping
Die Artefakte des "Prototyping im engeren Sinne" gehen prinzipiell nicht in das später erstellte Softwareprodukt ein. Bei den beiden anderen Typen handelt es sich um eine Vorgehensweise, die zu einem ausgelieferten Produkt führen soll. Leider wird dieses häufig übersehen und eine ad hoc Strategie verwendet, die fatale Folgen haben kann.
Eine Aktivität
Ein Artefakt
Ein Startknoten
Ein Endknoten
Ein Übergang
Verlauf des Prototypings
Nachfolgend betrachten wir den Verlauf inkrementellen und evolutionären Prototypings. Die Aktivitäten Analyse, Design, Implementation und Test werden mehrfach durchlaufen und dabei Artefakte erstellt.
Bild 12: Die Menge der Funktionalitäten bei inkrementellem Prototyping
In Bild 12 wird die Menge der behandelten Funktionalitäten im Verlauf von zwei inkrementellen Zyklen dargestellt. Während der ersten Analyse A wird die Spezifikation vollständig erstellt. Im darauf folgenden Design D, Implementation I und Test T wird nur ein Teil der Spezifikation realisiert.
In der zweiten Iteration wird dann die gesamte Spezifikation erfüllt.
Bild 13: Die Menge der Funktionalitäten bei evolutionärem Prototyping
In Bild 13 wird im ersten Durchlauf die Spezifikation vollständig erstellt. Im zweiten evolutionären Durchlauf werden dann einige der Anforderungen verworfen und neue hinzugenommen.
Die beiden obigen Darstellungen stellen natürlich jeweils nur ein Prinzip dar. In der Praxis werden Mischungen der beiden vorkommen. Beispielsweise wird häufig mehr spezifiziert als dann im ersten Durchlauf realisiert wird. Im zweiten evolutionären Durchlauf werden dann Anforderungen verworfen und hinzugenommen.