fit 2002 >
Softwareentwicklungsmodelle >
Prototyping >
Konzepte und Techniken |
Überblick |
|
Bei der Verwendung eines throw-away Ansatzes wird ein nicht vollständiges, aber lauffähiges Programm (natürlich in Sinne der Anforderung) beschrieben. Dies wird dann dem Benutzer zur expertimentellen Auswertung übergeben. Diese Programm (oder Prototyp) wird anschließend nicht weiterverwendet, sondern verworfen. Die gewonnenen Ergebnisse dieser experimentellen Auswertung werden anschließend bei der Neukontruktion des Programmes verwendet. Man kann auch sagen, dass dieser Prototyp als Lernphase angesehen wird. Die Erstellung eines solchen Prototyp nach dem throw-away Ansatz wird meist in einer speziellen Programmiersprache implementiert ("quick-and-dirty"). Immerhin kostet dieser Prototyp circa 10% der Gesamten zur Verfügung stehenden Mitteln. Daher kann man sagen, dass mit diesem Prototyp sehr viel Geld, aber auch Zeit vergeudet wird. Der inkrementelle Ansatz: Bei dem inkremmentellen Ansatz eines Prototypen wird zunächst ein stabiler Programmkern aufgebaut. Diesem Kern werden danach schrittweise neue Funktionen oder auch neue Systemteile hinzugefügt. Programmteile die dem Prototypen noch fehlen, werden einfach durch Simulationen vervollständigt. Daher kann man sagen, dass dieser Prototyp aus zwei verschiedenen Teilen besteht, nämlich einem fest implementieren Softwareteil und einem Simulationsteil. Ein Nachteil dieses Konzeptes ist, dass ein neu hinzugefügtes Programmteil, das Gesamtsystem meist in hohem Masse beeinflusst, sodass Entwurfsentscheidungen korrigiert werden müssen. Dadurch entstehen wieder Kosten und die Korrektur beansprucht sehr viel Zeit. Der evolutionäre Ansatz: Bei dieser Ansatzmethode sind die Archiketurkonzepte zu keinem Zeitpunkt festgelegt, dadurch können jederzeit neue Anforderungen aufgenommen werden. Die Architektur passt sich den Umgebungsanforderungen an. Der Prototyp der am Ende der evolutionären Ansatzmethode herauskommt, ist auch gleichzeitig das fertige Endprodukt. (Dies bezeichnet man auch noch aus "versioning".) Bis in die 60-ziger Jahre geht diese Idee
des evolutionären Ansatzes zurück, aber unglücklicherweise ist sie
bis heute noch sehr schwer zum Umsetzen. |
Dieser Prototyp soll vor allem das User Interface, aber auch die Handhabung und auch die prinzipiellen Einsatzmöglichkeiten des zukünftigen Endproduktes zeigen. Für den Demonstrationsprototypen wird vor allem der throw-away Ansatz gewählt. Der funktionale Prototyp: Im Gegensatz zum Demonstrationsprototypen, der mehr das User Interface zeigen soll, wird bei dem funktionalen Prototypen mehr auf die Funktionalität eines bestimmten Programmteils geachtet. Man kann den Unterschied auch mit den zwei Begriffen "horizontal prototyping" und "vertical prototyping" beschreiben, wie es folgendes Bild näher veranschaulicht. Horizontal and Vertical prototyping >[Nielsen,1993] Auch für den funktionalen Prototyp wird der throw-away Ansatz gewählt. Das Labormuster (Labormodell): Dient der Prototyp den Entwicklern intern als Bewertungsgegenstand, der Fragen der technischen Umsetzung und der Realisierbarkeit klären soll, heisst er auch Labormodell. Das Pilotsystem: Die Pilotsysteme sind schon so ausgereift, dass sie nicht nur im Labor selbst, sonder auch im Anwendungsbereich selbst.
|
Quellen |
[Hallmann, 1990] Hallmann: "Prototyping komplexer Softwaresysteme" [Pomberger, 1994] Pomberger, Weinreich: ">[The Role of Prototyping in Software Development]"
|
Weiterführende Informationen |
>[Prototyping] What is Prototyping? >[The Usability Methods Toolbox] Horizontal and Vertical Prototyping |
Verweise auf Arbeiten anderer Gruppen |
>Praxis@Programmiersprachentypen
Ein Beispiel wo Prototyping in der Industrie zum Einsatz kommt,
unter Verwendung der Programmiersprache Erlang. |
>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung |
Autoren: Roland Sattler, Stefan Schmied; Tutor: Stephan Wright |