Konzept: Prototypen
Ein Prototyp ist eine abgespeckte erste Version der Systemlösung oder ein Teil einer Systemlösung, die in relativ kurzer Zeit erstellt und in mehreren Iterationen verbessert wird, um die Effizienz des Gesamtdesigns für die Lösung eines bestimmten Problems zu testen und zu bewerten.
Beziehungen
Hauptbeschreibung

Verwendung

Prototypen werden zielgerichtet zur Minimierung von Risiken verwendet. Prototypen können Unsicherheiten in Bezug auf folgende Punkte minimieren:

  • Wirtschaftliche Machbarkeit eines zu entwickelnden Produkts
  • Stabilität oder Leistung der Schlüsseltechnologie
  • Projektzusagen oder -finanzierung: Erstellung eines kleinen Prototyps für die Machbarkeitsstudie
  • Verständnis der Anforderungen
  • Darstellung und Funktionsweise des Produkts, seine Benutzerfreundlichkeit

Ein Prototyp kann helfen, das Vertrauen in das Projekt aufzubauen, indem Benutzern, Kunden und Managern etwas Konkretes und Ausführbares gezeigt wird.

Charakter und Ziel des Prototyps müssen jedoch während seiner ganzen Lebensdauer klar bleiben. Wenn Sie nicht vorhaben, den Prototypen zum eigentlichen Produkt weiterzuentwickeln, sollten Sie diese Entscheidung nicht plötzlich revidieren, nur weil der Prototyp funktioniert. Ein explorativer Verhaltensprototyp, der dazu bestimmt ist, eine Benutzerschnittstelle auf die Schnelle auszuprobieren, wird selten zu einem stabilen, widerstandsfähigen Produkt.

Typen von Prototypen

Sie können Prototypen auf zwei Arten betrachten: was sie untersuchen und wie sie sich entwickeln oder was ihr Resultat ist.

Für die erste Betrachtungsweise (was untersuchen Prototypen) gibt es zwei Hauptarten von Prototypen:

  • Verhaltensprototyp, der sich auf die Untersuchung eines bestimmten Verhaltens des Systems konzentriert.
  • Struktureller Prototyp, der einige Architektur- oder Technologieaspekte untersucht.

Für die zweite Betrachtungsweise (das Resultat eines Prototyps) gibt es ebenfalls zwei Arten von Prototypen:

  • Explorativer Prototyp, der nach getaner Arbeit verworfen wird.
  • Evolutionärer Prototyp, der sich nach und nach zum echten System entwickelt.

Explorative Prototypen

Ein explorativer Prototyp wird als kleines "Experiment" entworfen, mit dem eine Schlüsselannahme zum Projekt (in Bezug auf die Funktionalität und/oder die Technologie) geprüft werden soll. Bei dem Prototypen kann sich um ein paar Hundert Zeilen Code zum Testen der Leistung einer wichtigen Software- oder Hardwarekomponente handeln. Er kann aber auch ein Mittel sein, um Anforderungen zu klären, z. B. ob der Entwickler eine bestimmte Verhaltensanforderung oder technische Anforderung begriffen hat.

Explorative Prototypen werden im Allgemeinen wieder verworfen und formlos getestet. Das Design explorativer Prototypen ist eher formlos und liegt in der Regel auch nur in den Händen von ein oder zwei Entwicklern.

Evolutionäre Prototypen

Evolutionäre Prototypen werden, wie ihr Name bereits andeutet, mit jeder Iteration weiterentwickelt. Ihre Qualität reicht zwar zunächst nicht für Produktionszwecke aus, aber ihr Code wird in der Regel überarbeitet, während das Produkt wächst. Damit die Nacharbeiten verwaltbar bleiben, werden sie normalerweise eher formal entworfen und selbst in den frühen Stadien der Entwicklung formal getestet. Mit dem Wachsen des Produkt werden die Tests wie auch das Design formalisiert.

Verhaltensprototypen

Verhaltensprototypen sind im Allgemeinen explorative Prototypen. Sie versuchen nicht, die Architektur des zu entwickelnden Systems zu reproduzieren, sondern konzentrieren sich vielmehr darauf, was das System tut und für den Benutzer sichtbar ist. Häufig ist dieser Prototyp eine Art "Schnellschuss", bei dem sich nicht an Projektstandards gehalten wird. Beispielsweise kann Visual Basic als Sprache für die Entwicklung des Prototypen verwendet werden, obwohl im Entwicklungsprojekt C++ als Sprache vorgegeben ist. Explorative Prototypen sind temporär, werden mit minimalem Aufwand erstellt und verworfen, nachdem sie ihren Zweck erfüllt haben.

Strukturelle Prototypen

Strukturelle Prototypen sind im Allgemeinen evolutionäre Prototypen, die die Infrastruktur des endgültigen Systems verwenden und durchaus zum echten System weiterentwickelt werden können. Wenn der Prototyp mit der Programmiersprache und den Tools für die "Produktion" erstellt wird, hat er außerdem den Vorteil, dass die Entwicklungsumgebung getestet wird und einige Mitarbeiter die Chance bekommen, sich mit neuen Tools und Prozeduren vertraut zu machen.