fit 2002 > Softwareentwicklungsmodelle > Prototyping > konzeptionelle Entwicklungen und Auswirkungen

Überblick


Reifung und Klärung der Kernvorstellungen

Vielmehr als das Prototyping selbst hat sich die Software, die die Herstellung von Prototypen unterstützt, entwickelt. Die aktuelle Generation von Softwareentwicklungswerkzeugen für schnelle Anwendungsentwicklung, die sogenannten "rapid application development tools" (RAD), vereinfacht die Durchführung der prototypenbasierten Softwareentwicklung.

Abbildung: TOPOS: Eine Werkzeugsammlung für Prototyp-orientierte Softwareentwicklung
(Quelle:
http://www.swe.uni-linz.ac.at/publications/ps/TR-SE-92.03.ps)

Derartige Werkzeuge bestechen vor allem dadurch, daß sie den Aufwand für die Umsetzung der Anforderungen in das zu entwickelnde Produkt reduzieren. Hierfür werden neue Methoden wie "visuelle Programmierung" und "automatisierte Programmierung" eingesetzt.
Diese Techniken verlagern den Aufwand für die eigentliche Kodierung des Programms auf eine abstraktere Ebene. So werden zum Beispiel bei der visuellen Erstellung des Layouts von User Interfaces die Oberflächenelemente des unterstützten Fenstersystems unter Zuhilfenahme eines grafischen Editors in der Form entworfen, wie sie dem künftigen Benutzer des Softwareprodukts vorgestellt werden soll. Das RAD-Werkzeug ist dann in der Lage, diese graphische Repräsentation direkt in den Code der verwendeten Implementierungssprache einzubetten. Auch der Einsatz von wiederverwendbaren Softwarebausteinen unterstützt dabei, Implementierungszeiten der Versionszyklen bei der Prototypenerstellung zu verkleinern. Für die Durchführung von Prototyp-basierter Softwareentwicklung ist der Einsatz solcher Werkzeuge daher wünschenswert. 

Differenzierung und Variation der ursprünglichen Konzepte

Ein Pilotsystem ist ein Prototyp, der nicht nur zur experimentellen Erprobung oder zur Veranschaulichung dient, sondern selbst der Kern des Produkts ist. Die Unterscheidung zwischen dem Prototyp und dem Produkt verschwindet zunehmend im Verlauf des Entwicklungsprozesses. Ist ein gewisser Reifegrad erreich, dann ist der Protoyp praktisch in Form eines Pilotsystems realisiert und wird in Zyklen weiterentwickelt. Ein Pilotsystem hilft, die organisatorische Integration des Produkts vorzubereiten indem es dem Benutzer einen Vorgeschmack auf das System gibt. 

Auswirkungen im informatischen Diskurs und in der tatsächlichen Praxis 

Durch die Verwendung von Prototyping in der Entwicklungsphase ergeben sich, besonders beim evolutionären Ansatz, mehrere erwähnenswerte Verbesserungen. Auf der einen Seite erfolgt kein Methodenbruch in Verbindung mit einer Topdown-Vorgehensweise beim Testen. Das Testen sowie die gesamte Systementwicklung geht folglich nach dem Topdown-Prinzip vor. Speziell der Nachteil, daß benutzerrelevante Funktionen relativ zu Bottomup viel später getestet werden, relativiert sich. Der Topdown-Test kann wesentlich früher beginnen. Weiters wird ein Stub in dem Moment durch sein Modul ersetzt, in dem dieses fertig implementiert wurde. Absolut zur Projektdauer betrachtet, ist es möglich, die benutzerrelevanten Funktionen nahezu zum selben Zeitpunkt zu testen, wie bei der Bottomup-Vorgehensweise. Aufgrund dieses Faktums wird der Vorteil, Analyse- und Designfehler bei Topdown-Tests früher zu erkennen als bei Bottomup-Tests, sogar noch verschärft, weil der Abstand zwischen dem Erkennen eines derartigen Fehlers zwischen beiden Strategien zunimmt. Auf eine Bottomup-Teststrategie hat die Verwendung von Prototyping keinen Einfluß. Ob ein Modul mit Hilfe von Prototyping entwickelt wurde oder nicht ist unbedeutend.

Des weiteren gibt es noch einige Aspekte beim Testen von Prototypen die, unabhängig von der eingesetzten Teststrategie, zu berücksichtigen sind: Der Anwender wird im prototyping-gestützten, evolutionären Entwicklungsprozeß erwartungsgemäß mit vielen Prototypen konfrontiert. Er weist bei diesen auf Fehlern hin und versucht zu korrigieren, sobald sich das Projekt in eine falsche Richtung bewegt. Diese Vorgangsweise ist ausdrücklich erwünscht und einer der Hauptgründe für den Gebrauch  von evolutionärem Prototyping. Speziell zu beachten ist hierbei, daß die dem Anwender gezeigten Prototypen so weit wie möglich frei von Fehlern sind. Der Anwender hält sich nämlich zu lange mit kleinen, irrelevanten Fehlern auf, statt sich auf Designfehler zu konzentrieren. 

Umsetzung und Verbreitung (wirtschaftlicher) Erfolg

Prototyping ist ein komplizierter Vorgang, der hohe Anforderungen an alle Beteiligten, insbesondere an das Management stellt. Als Lohn  dieser Anstrengungen steht ein verkürzter Herstellungsprozeß und niedrigere Kosten im Vergleich zu konventionellen Vorgangsweisen, sowie als Resultat qualitativ bessere Benutzerschnittstellen, die die Wettbewerbsfähigkeit sichern können, in Aussicht. 

In vielen Softwareentwicklungsprojekten wurde bisher der Erfolg kooperativer Systemgestaltung nach dem Prototyping-Verfahren dokumentiert. Falls ein derartiges beteiligungsorientiert angelegtes Projekt trotzdem scheitert, fehlen im Normalfall die entsprechenden Voraussetzungen. 

Dies sind vor allem: 

  • Qualifizierung der beteiligten Anwender (z.B. in Teamarbeits- und Kommunikationstechniken, Grundlagen der Software-Ergonomie)
  • Qualifizierung der EDV-Entwickler (z.B. Software-Ergonomie, Kenntnisse im Anwendungsfeld, kommunikative Kompetenz)
  • Bereitstellung hinlänglicher Zeitkontingente für alle Beteiligten 
  • Hervorheben qualitätsbezogener Erfolgskriterien gegenüber Faktoren wie Termin- und Kostentreue
  • Errichtung einer kooperationsförderlichen Projektorganisation für eine gleichberechtigte Zusammenarbeit von Anwendungs- und Systemexperten.


Quellen


Budde, Kautz, Kuhlenkamp, Zullighoven, Prototyping - An Approach to Evolutionary System Development, Springer-Verlag, 1991

Pomberger, Pree, Stritzinger, Methoden und Werkzeuge für das Prototyping und ihre Integration, Informatik Forschung und Entwicklung, Vol. 7, pp. 49-61, Springer-Verlag 1992

Pomberger, Weinreich, The Role of Prototyping in Software Development, Tutorial Paper, Conference on the Technology of Object-Oriented Languages and Systems (TOOLS Europe '94), Versailles, France, March 7 - 10, 1994, Prentice Hall 1994.

Pomberger, Weinreich, Qualitative und quantitative Aspekte prototyping-orientierter Software-Entwicklung - Ein Erfahrungsbericht, Informatik Spektrum 20(1): 33-37 (1997)

Manhartsberger, Prototyping - Theorie und Praxis, Ergonomie und Informatik Nr. 33, S. 19-23, 1998


Weiterführende Informationen

RAD-Tools Übersicht und Beschreibung gängiger "Rapid Application Development"-Werkzeuge

Verweise auf Arbeiten anderer Gruppen


Funktionale Sprachen@Programmiersprachentypen
Beschreibung einer im Telekommunikationsbereich verwendeten funktionalen Programmiersprache namens "Erlang", die Prototyping-Konzepte zur Verfügung stellt

>Entstehungskontext | Konzepte und Techniken | Entwicklung und Auswirkungen | Praxis | Bewertung


Für den Inhalt verantwortlich: Alexander Obert, E881, 9427621