../../icons/Logo.png


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.

Prototyping.png

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.

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.

Verlauf_Inkrementell.png

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.

Verlauf_Evolutionaer.png

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.