Nummer des Themas: 1
von: Matthias Pfister
1 Einführung.....................................................................................................2 2 Prototypen .....................................................................................................3 3 Prototyping ....................................................................................................4 3.1 Exploratives Prototyping................................................................................5 3.2 Experimentelles Prototyping ..........................................................................6 3.3 Evolutionäres Prototyping..............................................................................8 4 Einsatz von Prototyping-Verfahren ..............................................................10 4.1 Architektur eines Online-Shops....................................................................10 4.2 Einsatz des explorativen Prototypings ..........................................................11 4.3 Einsatz des experimentellen Prototypings ....................................................12 4.4 Einsatz des evolutionären Prototypings ........................................................12 5 Fazit.............................................................................................................12 Literaturverzeichnis.................................................................................................13
1 Einführung
Software-Engineering beschreibt Methoden und Verfahren mit deren Hilfe Softwareprojekte effizient und qualitativ hochwertig hergestellt werden sollen. Um diese Anforderungen zu erfüllen, wurden bereits Anfang der 70iger Jahre Modelle erstellt, welche den Prozess der Softwareerstellung vereinfachen sollten. Diese sogenannten Life-Cycle-Modelle gehen davon aus, dass der gesamte Entwicklungsprozess in Phasen eingeteilt werden kann. Diese werden nacheinander so ausgeführt, dass mit einer Phase erst dann begonnen wird, wenn alle davor liegenden Phasen abgeschlossen sind. Die Erfahrung hat jedoch gezeigt, dass mit diesen traditionellen Phasenmodellen (z. B. Wasserfallmodell) viele Probleme, die bei einer Software-Entwicklung auftreten, nicht gelöst werden können [SCHÖ90, S. 21]. So ist es bei der Softwareentwicklung oftmals nicht möglich, die Grenzen der einzelnen Phasen exakt festzulegen. Außerdem entstehen bei realen Projekten oft Iterationen zwischen den einzelnen Phasen, die einen sequenziellen Ablauf des Projekts verhindern [RAAS91, S. 413]. Des Weiteren kann sich der Anwender kein Bild von der Software machen, bevor diese fertiggestellt ist. Diese fehlende Einbeziehung des Endnutzers in den Entwicklungsprozess stellt einen Hauptmangel dar. Oftmals ist der Endanwender nämlich gar nicht in der Lage, in der Definitionsphase zu Beginn des Projekts alle Anforderungen explizit und vollständig
zu formulieren [BALZ98, S. 114]. Dies führt dann dazu, dass ein Softwareprodukt hergestellt wird, welches noch nicht oder nicht mehr den Anforderungen des Endnutzers entspricht. Eine nachträgliche Änderung oder die Beseitigung von Fehlern kann dadurch sehr teuer werden [SCHÖ90, S. 298]. Aus diesem Grund ist es notwendig geworden eine Methode zu finden, die es ermöglicht, den Endnutzer in den Entwicklungsprozess einzubeziehen. Eine Möglichkeit sind sogenannte Prototypen.
2 Prototypen
Der Begriff Prototyp kommt aus dem Griechischen und bedeutet soviel wie Urbild oder Muster. In der Softwareentwicklung wird ein Prototyp als „eine frühe ausführbare Version, die bereits die relevanten grundlegenden Merkmale des späteren Produkts ausweist“ definiert [ALPA00, S. 218]. Prototypen werden hinsichtlich ihrer Art unterschieden in
Ein vollständiger Prototyp ist ein Prototyp im klassischen Sinne. Er besitzt alle wesentlichen Funktionen des geplanten Systems. Der Prototyp selbst und die bei seiner Herstellung und im Einsatz gemachten Erfahrungen sind die Grundlage für das endgültige Produkt. Allerdings finden vollständige Prototypen kaum Anwendung in der Softwareentwicklung, da sie zu komplex und zu teuer sind. Mit Hilfe unvollständiger Prototypen werden die Brauch- und Machbarkeit einzelner Teile der geplanten Software, z. B. Benutzerschnittstelle, Systemarchitektur, Systemkomponenten, untersucht.
Wegwerfprototypen sind dazu da, in der Analyse- und Spezifikationsphase den Funktionsumfang mit dem Anwender zu konkretisieren. Sie werden im weiteren Verlauf nicht weiterverwendet.
Dagegen werden wiederverwendbare Prototypen in wesentlichen Teilen bei der Implementierung der fertigen Software übernommen [KUST90, S. 228].
Seite 3
Da ein Software-Produkt aus mehreren Ebenen, wie Benutzeroberfläche, Datenbankschnittstellen oder Systemsoftware besteht, unterscheidet man weiterhin noch horizontale und vertikale Prototypen (Abbildung 1).
Abbildung 1: Horizontaler und vertikaler Prototyp [BALZ98, S. 116]
Mit einem horizontalen Prototypen werden spezifische Ebenen realisiert. Diese Ebenen werden dann möglichst vollständig in den Prototyp implementiert. Anwendung findet diese Art eines Prototyps beispielsweise bei der Gestaltung der Benutzeroberfläche [LEHN95, S.93].
Bei einem vertikalen Prototyp dagegen erfolgt eine vollständige Realisierung eines ausgewählten Teils der Anwendung durch alle Ebenen hindurch. Dies bietet sich vor allem da an, wo Funktionalitäts- und Implementierungsoptionen noch unklar sind [BALZ98, S. 116].
3 Prototyping
Als Prototyping bezeichnet man „eine Folge von - üblicherweise mehrfach auszuführenden - Arbeitsschritten, die die Entwicklung sowie die Überprüfung und Bewertung von Prototypen zum Gegenstand haben“ [SCHÖ90, S. 298]. Allgemein werden Prototyping-Verfahren hinsichtlich ihrer Zielsetzung, sprich ihren Einsatzmöglichkeiten unterschieden. In der Literatur gibt es verschiedene Einteilungen von Law, Mayhew/Dearnley, Budde und Floyd [HEEG88, S. 48]. Die größte Verbreitung hat die Klassifizierung von Floyd. Dieser unterscheidet drei Ansätze des Prototypings. Das explorative (erforschende), das experimentelle und das evolutionäre Prototyping [BERB87, S.90]. Im Folgenden werden diese vorgestellt und hinsichtlich ihrer Anwendbarkeit bei der Entwicklung eines Online-Shops beurteilt.
Seite 4
3.1 Exploratives Prototyping
Exploratives Prototyping dient dazu, die Aktivitäten in der Spezifikationsphase (Anforderungsanalyse) zu unterstützen. Kommunikationsprobleme zwischen Endnutzer und Systementwickler sollen so bereits zu Beginn des Entwicklungsprozesses beseitigt werden. Oftmals besitzen die Entwickler keine oder nur wenige Kenntnisse über das Anwendungsgebiet und die Benutzer der späteren Software haben keine Vorstellungen über die Leistungsfähigkeit der Computer und Softwaresysteme [SCHÖ90, S. 304]. Ziel ist es also, die fachlichen Anforderungen der Anwender an das System zu konkretisieren und gleichzeitig den Entwicklern einen Einblick in den Arbeitsbereich und die Arbeitsabläufe zu ermöglichen. Zum einen soll dadurch die Erfahrung der späteren Anwender genutzt und andererseits die Akzeptanz des „mitentwickelten“ Systems bei den Betroffenen erhöht werden [LEHN95, S. 93]. Das explorative Prototyping lässt sich idealerweise mit konventionellen Life-Cycle-Modellen verknüpfen. Ausgehend von ersten Anforderungsvorstellungen werden ein oder mehrere Prototypen gebaut. Diese erlauben es dem Anwender, mit Hilfe konkreter Anwendungsbeispiele, seine Vorstellungen zu überprüfen und die gewünschte Funktionalität schrittweise zu konkretisieren. Die Ergebnisse der Überprüfung gehen, im Gegensatz zum Prototypen selbst, dann als modifizierte und/oder neue Anforderungen in die Anforderungsanalyse ein. Dieser Kreislauf aus Prototypenbau und Prototypentest wird solange durchlaufen, bis alle Anforderungen hinreichend geklärt sind (Abbildung 2) [SCHÖ90, S. 304].
Abbildung 2: Exploratives Prototyping im Life-Cycle-Modell [SCHÖ90, S. 304] Betreffen können die modifizierten oder neuen Anforderungen beispielsweise
Arbeit zitieren:
Matthias Pfister, 2002, Einsatz verschiedener Prototyping-Verfahren am Beispiel der Entwicklung eines Online-Shops, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Die Entwicklung und der gegenwärtige Status des Nuclear Non-Proliferat...
Politik - Internationale Politik - Thema: Frieden und Konflikte, Sicherheit
Hausarbeit (Hauptseminar), 24 Seiten
Der Kernwaffensperrvertrag - Herausforderungen und Entwicklungen des N...
Politik - Internationale Politik - Thema: Frieden und Konflikte, Sicherheit
Hausarbeit (Hauptseminar), 42 Seiten
Das internationale nukleare Nichtverbreitungsregime
Politik - Internationale Politik - Thema: Frieden und Konflikte, Sicherheit
Hausarbeit (Hauptseminar), 29 Seiten
Matthias Pfister hat den Text Einsatz verschiedener Prototyping-Verfahren am Beispiel der Entwicklung eines Online-Shops veröffentlicht
Matthias Pfister hat einen neuen Text hochgeladen
0 Kommentare