Zum Inhalt springen

Prototyping (Softwareentwicklung)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 8. Mai 2006 um 19:11 Uhr durch Kieselhorst (Diskussion | Beiträge) (Arten). Sie kann sich erheblich von der aktuellen Version unterscheiden.

In der Technik ist ein Prototyp (von griech. πρῶτος "der erste") eine ausführbare und evaluierbare Version eines Systems oder Systemteils (evolutionärer Prototyp) oder eines Werkzeugs, um ausgewählte Merkmale des späteren, operationellen Systems (explorativer oder experimenteller Prototyp) zu evaluieren; ein für die jeweiligen Zwecke voll funktionsfähiges Versuchsmodell eines geplanten Produktes oder Bauteils. Beispielsweise besitzt ein Prototyp in der KFZ-Industrie bereits alle wesentlichen Merkmale eines zukünftigen Serienfahrzeuges. Prototypen müssen nicht unbedingt aus materiellen Objekten bestehen – ein Prototyp kann beispielsweise auch eine einfache Implementation einer Software ("Alpha-Version") oder ein dreidimensionales CAD-Modell sein. Dieses Vorgehen ist in der Industrie bereits seit langem üblich, z.B. bei Bauprojekten, bei denen Modelle und Pläne des zu erstellenden Bauwerks in immer größerem Maßstab und höherer Detaillierung erstellt werden, genauso bei Produktentwicklungen wo Funktionsmodelle, Labormodelle und Prototypen vor der endgültigen Produktion stehen. In der Softwareentwicklung ist das Prototyping nicht näher definiert. Es wird eine Reihe von lauffähigen Modellen des Endprodukts mit wachsendem Funktionsumfang entwickelt und dem Kunden präsentiert. Es führt schnell zu ersten Ergebnissen und frühzeitigem Feedback bezüglich der Eignung eines Lösungsansatzes.


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 dazu, Anforderungen weder korrekt zu erheben noch sauber zu dokumentieren. Der Entwicklungsprozess kann sich dadurch erheblich verlangsamen.

Arten

Exploratives Prototyping

  • 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 Auftragsgebers
  • 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 Prototyping

  • Sammlung von Erfahrung

Vertikales Prototyping

  • nur einige Fakten
  • vollständige Implementierung

Horizontales Prototyping

  • ganze Funktionalität wird dargestellt
  • nur teilweise realisiert

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