IT Solution Company
IT-Strategie IT-Knowledge
Translate this page into English X

1.4 6.4. Prototyping
Während der klassische Software-Lebenszyklus ohne Prototyping auskam, hat sich die Idee des Prototyping inzwischen recht weit verbreitet.
Nur leider [Hall 90]
... wird der Begriff 'Prototyping' in der Informatik sehr unterschiedlich diskutiert.
Das Prototyping-Modell geht dabei, im Unterschied zum klassischen Modell des Software- Lebenszyklus, von folgenden Annahmen aus:
    • die wahren Anforderungen des Anwenders lassen sich von vorn herein nicht vollständig feststellen,
    • sowohl die Organisation in welche die Software eingebettet ist, als auch die Software selbst werden nicht als unveränderlich (statisch) angesehen, sondern als dynamisch,
    • die Software wirkt auf den Anwender ein und bestimmt somit dessen Sicht auf sein Arbeitsumfeld, d.h. auch dessen Anforderungen an die Software selbst (Regelkreiseffekt).
Der Begriff Prototyp wurde ursprünglich in den Ingenieurwissenschaften geprägt [Hall 90]:
Dort wird mit Prototyp das Produkt bezeichnet, das zwischen Zeichenbrett und Massenfertigung erstellt wird und alle Merkmale des späteren Verkaufsprodukts enthält. Das Produkt Software und deren Serienproduktion unterscheiden sich allerdings in wesentlichen Merkmalen ...
[Snee 85]
In der Literatur wird oft von "Prototyping" gesprochen. Das Ergebnis der ersten Stufe könnte als Prototyp bezeichnet werden. Aber hier hinkt der Vergleich zu Prototypen in anderen Ingenieurdisziplinen. Dort ist das Ergebnis ein verkleinertes Modell des endgültigen Produktes zum Zwecke der Planung. Im Falle von Software-Systemen ist das nicht zutreffend. Die erste Version ist ein unvollkommenes Produkt, mit dem man schon arbeiten kann. Sie hat aber nicht die Eigenschaften, die man sich langfristig wünscht.
Deshalb ist auch die folgende Anmerkung nicht ganz unberechtigt [Lude 89]:
"Prototyp" ist für Software ein unglückliches Wort...
Einer der wesentlichsten Unterschiede liegt in folgendem [Resi 89]:
In gewisser Weise ist Softwareentwicklung als "Orginalentwicklung" zu charakterisieren. Wir sagen ja bewußt nicht "Software-Fertigung", sondern "Software-Entwicklungs-Projekt".

+--------------------+  Rapid Prototyping               +--------------- --+
| Informelle Problem |.................                 |     Produkt     |
|   beschreibung     |---             :              -- |                 |
+--------------------+  |             :              |  +--------------- --+
                        |             :              |

    ====================|=============:==============|=================
    +                   V             :              |                +
    +    +------------------+         :          +----------------+   +
    +    |      Modell      |---      :       --|  Pilotsystem   |   +
    +    +------------------+  |      :       |  +----------------+   +
    +                          |      :       |                       +
    +                          V      :       |                       +
    +           +------------------+  v  +------------------+         +
    +           |dynamisches Modell|----|    Labormodell   |         +
    +           +------------------+     +------------------+         +
    +                                                                 +
    =========================P=R=O=T=O=T=Y=P=E=N=======================
Während der Prototyp der 'klassischen' Industrie mit dem Endprodukt (im wesentlichen) identisch ist, ist der Prototyp der Software-Industrie ein Modell. Das folgende, auf Kreplin zurückgehende Schema versucht eine Klassifikation des Prototyping [Vorw 91]:

============================================================================
+                           Zweck des Prototypen                           +
+------------------------+------------------------+--------------------- ---+
+     erforschend        |    experimentierend    | evolutionär            +
+     analysierend       |       evaluierend      |                        +
+ ---------------------- | ---------------------- | -------------------- -- +
+ Dient als Mittel zur   | Wird zur Prüfung be-   | Softwareentwicklung,   +
+ Anforderungsanalyse    | nutzerkonzipierter Lö- | die auf verschiedenen  +
+ und Aufstellen des     | sungen benutzt und     | Versionen basiert,     +
+ Pflichtenheftes        | kann als Verfeinerung  | mit denen der          +
+                        | der Anforderungsdefi-  | Anwender arbeiten kann +
+                        | nition gesehen werden  |                        +
+==========================================================================+
+                   Weiterverwendbarkeit des Prototypen                    +
+------------------------+------------------------+--------------------- ---+
+   "Wegwerf"-Prototyp   |    Prototyping für     |       Basis für        +
+                        |    Benutzertraining    | Systementwicklungen    +
+ ---------------------- | ---------------------- | -------------------- -- +
+ Schnelle Realisierung  | An der Anwenderober-   | Weiterentwicklung zur  +
+ einer Oberfläche       | fläche ist ausreichen- | Nutzung des bereits    +
+                        | der Funktionsumfang    | geleisteten Implemen-  +
+                        | vorhanden              | tierungsaufwandes      +
+==========================================================================+
+                           Ziel des Prototypen                            +
+-------------------------------------+--------------------------------- ---+
+          Unterstützung der          |          Unterstützung des         +
+        Benutzerschnittstelle        |               Systems              +
+ ----------------------------------- | -------------------------------- -- +
+  Prototyping der Anwenderschnitt-   |  Prototyping zum Festlegen,        +
+  stelle als wichtiger Ansatzpunkt   |  Implementieren und Überprüfen     +
+  der Software-Ergonomie             |  von Systemeigenschaften           +
============================================================================
Eine Kurzcharakteristik verschiedener Formen von Prototyping findet sich in [Lude 89]. Wunschvorstellung ist es, aus der Software-Spezifikation heraus zu einem ablauff-higen Prototypen zu kommen. Dies setzt eine formale Spezifikation voraus und wird als Rapid Prototyping im engeren Sinne bezeichnet.
Prototyping ist in verschiedenen Phasen und Formen möglich. So wird beispielsweise in [ToHa 86] unterschieden in Prototyping - in der Definitionsphase, - in der Entwurfsphase und - in der Implementierungsphase. In der Definitionsphase geht es dabei vor allem um ein Testen der Nutzerschnittstelle. Nach Floyd [Floy 89] kann Prototyping folgende Formen annehmen: - explorativ, - experimentell, - evolutionär. Die verschiedenen Formen sind nicht als Gegens-tze aufzufassen, sondern sie können sich erg-nzen bzw. ablösen. [GmSa 90]

             Generierung mittels
             verifizierter und
             validierter Trans-
  +----+ Abstraktion +-------------+ formationsregeln     +----+
  |Welt|------------|Spezifikation|---------------------|Code|
  +----+             +-------------+                      +----+
     ^                       |
     +-----------------------+
    Validation und Verifikation
    durch Rapid-Prototyping
Lantz [Lant 86] versucht, aus den Problemen, die mit der klassischen Vorgehensweise verbunden sind, eine Motivation für Prototyping abzuleiten: Problems with current methodologies

- Are throrough              BUT DON'T   pleases users
- Produce extensive          BUT DON'T   decrease communication
  documentation                          problems
- Identify project steps     BUT DON'T   decrease calendar time
                                         needed
- Describe system thorougly  BUT DON'T   guarantee it's the right
                                         system
- Delineate skills needed    BUT DON'T   cut manpower needed
- Track project costs        BUT DON'T   reduce them
Zu beachten ist natürlich, da+ der Einsatz von Prototyping allein die genannten Probleme nicht löst. Differenziert gesehen werden sollte die folgende Auffassung von Lantz [Lant 86]: The initial model of a prototype should feel as much as possible like the final version of the system Prototyping sollte immer in Zusammenarbeit mit den künftigen Nutzern erfolgen. Dabei hängt es wesentlich von dem betreffenden Partner ab, ab welchem Reifegrad des Modells er in den Prototyping-Proze+ einbezogen werden sollte. Ein zu frühes Einbeziehen kann dem Ansehen des Entwicklers schaden, ein zu spätes Einbeziehen den Entwicklungsproze+ verlängern.
Prototyping muß nicht erst beginnen, wenn das Gesamtmodell vorliegt. Wenn möglich sollte bereits auf Modellebene modularisiert werden, um frühestmöglich, gegebenenfalls auch parallel, mit dem Prototyping von Teilmodellen beginnen zu können.
[SrRa 86]
When the users determine that no further changes need to be made, developers must decide what do do with the prototype. Three alternatives exist: - Use the prototype as a design specification for development of the production system. - Put the prototype into production and use it as the actual system. - Scrap the prototype. Four phase prototyping procedures


+------------------------------------+
|  Identify basic user requirements  |
+------------------------------------+
                  |
                  V
+------------------------------------+
|    Develop a working prototype     |
+------------------------------------+
                  |
                  V
+------------------------------------+
|    Implement & use the prototype   |<----+
+------------------------------------+     |
                  |                        |
                  V                        |
+------------------------------------+     |
|   Revise & enhance the prototype   |     |
+------------------------------------+     |
                  |                        |
                  +------------------------+
[Hopp 88]
Das aktuelle Schlagwort Rapid Prototyping (schnelle Prototypentwicklung) bezeichnet eine Arbeitsweise, die insbesondere bei der Entwicklung von interaktiven Benutzerschnittstellen wie auch Expertensystemen erfolgreich angewandt wird. Dabei wird im Gegensatz zu einem top- down-Ansatz nicht von einem vollst-ndigen Systementwurf ausgegangen, der zunehmend verfeinert und schlie+lich in complierbaren Code überführt wird. Vielmehr ist die schnelle Prototypentwicklung durch eine inkrementelle Vorgehensweise gekennzeichnet: Ausgehend von einer konzeptionellen Vorstellung davon, was das geplante System leisten soll, werden wesentliche Funktionskomponenten herausgegriffen und unter weitgehender Vermeidung von Details in Form lauff-higer Module programmtechnisch realisiert. Diese Bausteine werden im interaktiven Betrieb getestet, verbessert, erweitert und zu größeren Einheiten zusammengefügt.

abc Information GmbH, Berlin *** Phone: +49 700-ITBROKER ** Impressum ** Contact
Host: IP: 3.137.177.116 User: Date: December 22, 2024, 7:58 am Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)