- Prototyp (Softwareentwicklung)
-
Das 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.
Inhaltsverzeichnis
Vor- und Nachteile
Vorteile
- Die Anforderungen der Anwender können laufend präzisiert und verifiziert werden. Damit sinkt das Risiko einer Fehlentwicklung.
- Unbeabsichtigte Wechselwirkungen zwischen einzelnen Komponenten des Produkts können früher erkannt werden.
- Der Fertigstellungsgrad ist besser verifizierbar.
- Die Qualitätssicherung kann frühzeitig eingebunden werden.
Nachteile
- Prototyping verführt oft dazu, Anforderungen weder korrekt zu erheben noch sauber zu dokumentieren. Der Entwicklungsprozess kann sich dadurch erheblich verlangsamen.
- Es entstehen während der Entwicklung zusätzliche Kosten, weil der Prototyp nur als Basis für die folgende eigentliche Entwicklung des Produktes dient. Diese Kosten und Zeitaufwand kann durch weniger Nacharbeit am Endprodukt wieder ausgeglichen werden.
Arten
Exploratives Prototyping
- zur Bestimmung der Anforderungen
- zur Beurteilung bestimmter Problemlösungen
- Konzentration auf die Funktionalitäten des Systems
- Ziel ist es nachzuweisen, dass Spezifikationen oder Ideen tauglich sind.
Evolutionäres Prototyping
- zur evolutionären Softwareentwicklung
- schrittweise Erweiterung der Funktionalität gemäß Feedback der zukünftigen Nutzer bzw. des Auftraggebers
- Prototyp wird stets lauffähig gehalten und bis zur Produktreife weiterentwickelt.
Experimentelles Prototyping
- zu Forschungszwecken bzw. der Suche nach Möglichkeiten zur Realisierung
- mit einem experimentellen Prototyp wird eine sehr umfangreiche Problemanalyse und Systemspezifikation durchgeführt
- gewonnene Erkenntnisse können anschließend in einem richtigen Produkt verwertet werden
Rapid Control Prototyping
Rapid Control Prototyping bezeichnet die Softwareentwicklung von Regelungen und Steuerungen, mit Hilfe grafischer Tools. Diese ist nicht zu verwechseln mit dem aus dem Maschinenbau bekannten Rapid Prototyping
Vertikales Prototyping
- Ein ausgewählter Teil des Systems wird durch alle Ebenen hindurch implementiert.
- Dies eignet sich besonders für Fälle, in denen noch Funktionalitäts- oder Implementierungsfragen ungeklärt sind.
Horizontales Prototyping
- In diesem Fall wird nur eine spezifische Ebene des Gesamtsystems realisiert.
- Diese Ebene wird möglichst vollständig dargestellt.
- z.B. Realisierung der GUI (ohne tieferliegende Funktionalitäten), zur Vorlage für den Auftraggeber
Beispiel
Ein klassisches Beispiel ist ein Oberflächenprototyp, der dem späteren Nutzer der Software einen ersten Eindruck der Benutzeroberfläche (meist graphisch) 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 Projektmanagement können die Ergebnisse dazu genutzt werden, ein Softwareprojekt hinsichtlich Aufwand und Kosten einzuschätzen.
Siehe auch
Weblinks
Tools (Auswahl)
Wikimedia Foundation.