Prototyping (Softwareentwicklung)

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.

Inhaltsverzeichnis

Definition

Ein 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).

Arten

Exploratives Prototyping

Erstes Ergebnis: Eine übersichtliche Anforderungsspezifikation
Ziel: Ziel ist es nachzuweisen, dass Spezifikationen oder Ideen tauglich sind.

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

Erstes Ergebnis: Ein Programm mit den Grundfunktionalitäten
Ziel: Anhand der Grundfunktionalitäten die Akzeptanz beim Nutzer und die Notwendigkeit ergänzender Funktionen zu überprüfen

Beim evolutionären Prototyping wird die Anwendung nach und nach erweitert. Dabei wird vor Allem das Feedback der zukünftigen Nutzer bzw. des Auftraggebers genutzt. Der Prototyp wird dabei stets lauffähig gehalten und bis zur Produktreife weiterentwickelt.

Experimentelles Prototyping

Erstes Ergebnis: ein erster experimenteller Prototyp
Ziel: Sammeln von Erfahrungen mit dem Prototyp

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 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 (Durchstich)

Erstes Ergebnis: Ein ausgewählter Teil des Systems wird durch alle Ebenen hindurch implementiert.
Ziel: Bestrebung explizit einen konkreten Teil eines Programms anzufertigen.

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

Erstes Ergebnis: Eine ausgewählte Ebene des Gesamtsystems wird fertiggestellt.
Ziel: Eine funktionierende Ebene, die vorgestellt werden kann, oder an der sich andere Ebenen orientieren können.

In diesem Fall wird nur eine spezifische Ebene des Gesamtsystems realisiert, welche jedoch möglichst vollständig abgebildet wird. (z.B. Realisierung der GUI (Oberflä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 jedoch eine starke (sowieso 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 sie unabhängig von der Oberfläche funktionieren.

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.

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.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Prototyping — bezeichnet alle Verfahren, bei denen ein Prototyp hergestellt wird. Beim Rapid Prototyping (schnellen Prototyping) geht es darum, Prototypen eines Produktes mit verhältnismäßig geringem Aufwand aus ersten Entwurfsdaten herzustellen. Prototyping… …   Deutsch Wikipedia

  • Prototyping — 1. Begriff: Im ⇡ Software Engineering Vorgehensweise bei der ⇡ Softwareentwicklung, bei der nicht sofort ein endgültiges ⇡ Softwaresystem, sondern zunächst ein oder mehrere Prototypen erstellt werden. 2. Motivation: Bei Softwareentwicklung nach… …   Lexikon der Economics

  • Iteratives Prozess Prototyping — Inhaltsverzeichnis 1 Modell 1.1 Organisationsmodell 1.2 Daten /Objektmodell 1.3 Referenzprozessmodell 1.4 Prototyping 1.5 Customizing …   Deutsch Wikipedia

  • Vorgehensmodell zur Softwareentwicklung — Ein Vorgehensmodell zur Softwareentwicklung ist ein für die Softwareentwicklung angepasstes Vorgehensmodell bei der professionellen ( ingenieursmäßigen ) Anwendungsentwicklung. Es dient dazu, die Softwareentwicklung übersichtlicher zu gestalten… …   Deutsch Wikipedia

  • Prototyp (Softwareentwicklung) — Dieser Artikel oder Abschnitt besteht hauptsächlich aus Listen, an deren Stelle besser Fließtext stehen sollte. Das Prototyping bzw. Prototypenbau ist eine Methode der Softwareentwicklung, die schnell zu ersten Ergebnissen führt und frühzeitiges… …   Deutsch Wikipedia

  • Agile Softwareentwicklung — Agile software development poster Agile Softwareentwicklung ist der Oberbegriff für den Einsatz von Agilität (lat. agilis: flink; beweglich) in der Softwareentwicklung. Je nach Kontext bezieht sich der Begriff auf Teilbereiche der… …   Deutsch Wikipedia

  • Fertigungstechnik: Automatisierung, Rapid Prototyping, CIM —   Mit Simulationen die industrielle Wirklichkeit ergründen   Roboter sind das nach außen am deutlichsten sichtbare Zeichen einer Revolution, die sich in der industriellen Fertigung vollzieht. Der eigentliche Wandel hin zu einer immer stärkeren… …   Universal-Lexikon

  • Rapid Environment for Audio Prototyping and Efficient Recording — REAPER Entwickler: Cockos Inc. Aktuelle Version: 2.58 (16. März 2009) Betriebssystem: Windows Kategorie …   Deutsch Wikipedia

  • Extreme programming — (XP), auch Extremprogrammierung, ist eine agile Methode, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und dabei einem formalisierten Vorgehen geringere Bedeutung zumisst. Die Extremprogrammierung… …   Deutsch Wikipedia

  • Extremprogrammierung — Extreme Programming (XP), auch Extremprogrammierung, ist eine agile Methode, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und dabei einem formalisierten Vorgehen geringere Bedeutung zumisst. Die… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”