Prototyping (Softwareentwicklung)Prototyping bzw. Prototypenbau ist eine Methode der Softwareentwicklung, die schnell zu ersten Ergebnissen führt und frühzeitiges Feedback bezüglich der Eignung eines Lösungsansatzes ermöglicht. Dadurch ist es möglich, Probleme und Änderungswünsche frühzeitig zu erkennen und mit weniger Aufwand zu beheben, als es nach der kompletten Fertigstellung möglich gewesen wäre. DefinitionEin Prototyp steht für ein lauffähiges Stück Software oder eine anderweitige konkrete Modellierung (z. B. Mock-up) einer Teilkomponente des Zielsystems. Dieser Prototyp dient anschließend oft als Basis für eine bessere Kommunikation mit den Kunden oder auch innerhalb des Entwicklungsteams über konkrete Dinge (statt abstrakte Modelle). ArtenExploratives Prototyping
Das explorative Prototyping wird zur Bestimmung der Anforderungen und zur Beurteilung bestimmter Problemlösungen verwendet und konzentriert sich dabei auf die Funktionalitäten des Systems. Evolutionäres Prototyping
Beim evolutionären Prototyping wird die Anwendung nach und nach erweitert. Dabei werden vor allem die Rückmeldungen der zukünftigen Nutzer bzw. des Auftraggebers genutzt. Der Prototyp wird dabei stets lauffähig gehalten und bis zur Produktreife weiterentwickelt. Experimentelles Prototyping
Bei diesem Vorgehen wird zu Forschungszwecken bzw. zur Suche nach Möglichkeiten zur Realisierung ein experimenteller Prototyp entwickelt. An diesem wird anschließend eine sehr umfangreiche Problemanalyse und Systemspezifikation durchgeführt. Die gewonnenen Erkenntnisse können anschließend für die Entwicklung eines Produktes verwertet werden; der Prototyp wird verworfen. Rapid Control PrototypingRapid Control Prototyping bezeichnet die Softwareentwicklung von Regelungen und Steuerungen mit Hilfe grafischer Werkzeuge. Diese ist nicht zu verwechseln mit dem aus dem Maschinenbau bekannten Rapid Prototyping. Vertikales Prototyping (Durchstich)
Hierbei wird ein ausgewählter Teil umgesetzt. Dies eignet sich besonders für Fälle, in denen noch Funktionalitäts- oder Implementierungsfragen ungeklärt sind. Abgeschlossene Teile können dann bereits umgesetzt werden, bevor die Anforderungen für den Rest komplett festgelegt wurden. Horizontales Prototyping
In diesem Fall wird nur eine spezifische Ebene des Gesamtsystems realisiert, welche jedoch möglichst vollständig abgebildet wird (z. B. Realisierung der grafischen Benutzeroberfläche ohne tiefer liegende Funktionalitäten, zur Vorlage für den Auftraggeber). Diese Methode hat den Vorteil, dass man dem Auftraggeber schon etwas zeigen kann, ohne das komplette System entwickelt zu haben. Dies setzt eine starke (jedoch ohnehin sinnvolle) Trennung der einzelnen Komponenten voraus. Die Oberfläche muss dementsprechend unabhängig von der dahinter liegenden Logik funktionieren, oder, wenn die Logik-Ebene umgesetzt wird, muss diese unabhängig von der Oberfläche funktionieren. Vor- und NachteileVorteile
Nachteile
BeispielEin klassisches Beispiel ist ein Oberflächenprototyp, der dem späteren Nutzer der Software einen ersten Eindruck der Benutzerschnittstelle (meist grafisch) und des Programmablaufs vermittelt. Die inkrementelle Entwicklung eines Produkts in den Anfangsphasen kann frühzeitig auf Probleme im Design aufmerksam machen und zusätzliche Kundenwünsche in die Anforderungen einfließen lassen. Im Bereich des Projektmanagements können die Ergebnisse dazu genutzt werden, ein Softwareprojekt hinsichtlich Aufwand und Kosten einzuschätzen. Siehe auch
Weblinks |
Portal di Ensiklopedia Dunia