Prototyping Softwareentwicklung: Rapid Prototyping bringt Schwung in die Softwareentwicklung.
Prototypen werden in der Softwareentwicklung eingesetzt, um Probleme oder wichtige Elemente des neuen Programms so früh wie möglich zu entdecken. So wird die Entwicklung zu einem dynamischen Prozess.
Schließlich werden durch das Prototyping etwaige Engpässe identifiziert, beseitigt und das Programm entsprechend geändert. Dies ist bei der Softwareentwicklung von entscheidender Bedeutung, kann aber auch eine Herausforderung sein.
Schließlich kann Software einer Vielzahl von Kriterien unterworfen sein. Ständige Änderungen werden daher zu einer Quelle der Unsicherheit. Hier sind zwei ähnliche Artikel : https://tcbe.ch/2021/10/29/methoden-softwareentwicklung-geeignete-modelle-fur-die-agile-softwareentwicklung/
https://tcbe.ch/2021/10/07/v-modell-softwareentwicklung-konzeptionierung-und-qualitatskontrolle/
Genau dies kann durch den Einsatz von Rapid Prototyping in der Softwareentwicklung erreicht werden. Rapid Prototyping hat aber noch weitere Vorteile:
Rapid Prototyping ermöglicht es, schnell zu einer Lösung zu kommen.
- Es ist möglich, frühes Feedback von Verbrauchern oder Nutzern zu erhalten.
- Die Anwendbarkeit der gewählten Lösungsmethode wird so früh wie möglich festgestellt.
- Schnelle Identifizierung von Problemen.
- Änderungswünsche können innerhalb eines angemessenen Zeitrahmens erkannt und umgesetzt werden.
Die Korrektur von Fehlern und die Implementierung von Änderungen erfordert nur einen Bruchteil der Arbeit, die nach der Fertigstellung erforderlich wäre.
Schnelles Prototyping mit geringem Codierungsaufwand
Um die Softwareentwicklung mit effizientem Rapid Prototyping voranzutreiben, empfiehlt sich der Einsatz einer Low-Code-Plattform.
Low-Code-Entwicklung ist ein visueller Ansatz für die Anwendungsentwicklung. Das Ziel ist es, so wenig Zeilen Quellcode wie möglich zu verwenden. Stattdessen nutzt man als Low-Code-Entwickler Entwicklungsplattformen, die die Formulierung bestimmter Aufgaben, Algorithmen, Einstellungen und sogar die Gestaltung der grafischen Benutzeroberfläche ermöglichen.
So wird die Anwendungsentwicklung auf der Low-Code-Plattform standardisiert. Außerdem wird sie vereinfacht.
Schließlich können Softwareentwickler, die mit Low-Code arbeiten, durch Ziehen und Ablegen von Komponenten über eine grafische Benutzeroberfläche verschiedene Erfahrungsstufen und Anwendungen erstellen. Dadurch wird die Entwicklung schneller vorangetrieben.
Low-Code-Plattformen nehmen Entwicklern nicht nur die mühsame Erstellung von Quellcode ab. Sie unterstützen sie auch durch die Standardisierung von Installations- und Infrastrukturaufgaben.
Dies ist für die schnelle Anwendungsentwicklung und das Software-Prototyping von entscheidender Bedeutung, da es die…
Prototyping Softwareentwicklung: exploratives Prototyping – grafische Darstellung eines ganzen Systems.
Beim experimentellen Prototyping wird eine andere Methodik angewandt. Hier müssen alle Teilsysteme für die weitere Implementierung vollständig beschrieben werden. Anschließend müssen der Zweck der Teilsysteme sowie die zugehörigen Schnittstellen festgelegt werden. Der Schwerpunkt liegt somit auf den einzelnen Komponenten und deren Zusammenspiel.
Exploratives Prototyping – alternative Lösungen für ein Problem finden
Exploratives Prototyping ermöglicht es den Entwicklern, ein besseres Verständnis der Anwendungsdomäne zu erlangen, alternative Lösungsansätze mit dem Kunden zu diskutieren und die Machbarkeit der Umsetzung zu beurteilen. Zu diesem Zweck wird ein Prototyp unter Verwendung der Anwendung und der Ideen des Kunden erstellt. Beim explorativen Prototyping geht es eher um die Funktionsweise des Systems als um seine (visuelle) Qualität.
Prototyping Softwareentwicklung – eine schrittweise Annäherung an das Endprodukt
Evolutionäres Prototyping ist eine Methode zur schrittweisen Entwicklung von Systemen. Das System wird schrittweise nach präzisen, spezifizierten Anforderungen aufgebaut. Jede Zwischenstufe dient als Sprungbrett für ein schrittweises Wachstum als Reaktion auf weitere Anforderungen. Evolutionäres Prototyping ist eine Technik, bei der der Prototyp dem Endprodukt in vielerlei Hinsicht ähnelt.
Vertikales Prototyping (Durchstechen).
Bei dieser Aufgabe geht es darum, einen funktionierenden Teil eines Programms zu erstellen. Die wichtigste Erkenntnis ist, dass eine Teilmenge des Systems auf allen Ebenen implementiert ist.
Hier wird ein Teil des Codes implementiert. Dies ist besonders nützlich, wenn funktionale oder Implementierungsprobleme ungelöst bleiben. Fertige Komponenten können dann implementiert werden, bevor der Rest der Anforderungen vollständig spezifiziert ist.
Prototyping Softwareentwicklung: Vertikales Prototyping (Cut-Through)
Ziel dieser Aufgabe ist es, einen funktionierenden Teil eines Programms zu erstellen. Die wichtigste Erkenntnis ist, dass eine Teilmenge des Systems auf allen Ebenen implementiert wird.
Hier wird ein Teil des Codes implementiert. Dies ist besonders nützlich, wenn funktionale oder Implementierungsprobleme ungelöst bleiben. Fertige Komponenten können dann implementiert werden, bevor der Rest der Anforderungen vollständig spezifiziert ist.
Prototypen vielerlei Art
Prototypen können nach ihrer Eignung für verschiedene Anwendungsziele kategorisiert werden. Die gebräuchlichsten Arten sind die folgenden:
Demonstratoren werden häufig in der Akquisitionsphase eines Projekts oder in den frühen Phasen der Entwicklung eingesetzt. Sie geben einen allgemeinen Hinweis darauf, in welche Richtung sich eine Software entwickeln kann, sind aber oft “weit” von der endgültigen Implementierung entfernt.
Labormuster werden verwendet, um technische Probleme zu untersuchen und beispielsweise die Machbarkeit einer Architektur zu ermitteln.
Pilotsysteme sind Softwareprototypen, die einen wesentlichen Teil der endgültigen Funktionalität des Programms enthalten. Im Gegensatz zu Laborprototypen sind bei Pilotsystemen auch Personen beteiligt, die das System testen und bewerten können. Pilotsysteme sind ausgereifte Prototypen, die als Brücke zwischen “Wegwerfprototypen” und dem Zielsystem dienen.
Prototypen werden häufig nach zwei verschiedenen Mustern aufgebaut:
Abb. 1: Balzert’s Prototypenmuster.
Ein horizontaler Prototyp setzt nur einen Teil einer Architektur um. Häufig sind so genannte GUI-Prototypen zu sehen, die die Benutzeroberfläche zeigen, aber keine zugrundeliegende technische Fähigkeit implementieren. Der Zweck dieser Prototypen ist es, den Benutzer mit der Benutzeroberfläche vertraut zu machen und frühzeitig Feedback zu erhalten.
Vertikale Prototypen (auch als Cut-Through-Prototypen bezeichnet) werden verwendet, um ausgewählte Funktionen in ihrer Gesamtheit zu demonstrieren. Dies bedeutet, dass auf jeder Ebene der Architektur eine Komponente des Systems aufgebaut wird, angefangen bei der Benutzeroberfläche bis hin zum Datenmanagement. Diese Art von Prototyp dient dazu, ausgefeilte Funktionen zu zeigen und sie dann dem Benutzer zum Testen zu überlassen.
Ein Prototyp dient als erster Schritt zur Softwareentwicklung.
Das Prototyping erfolgt zu Beginn eines Softwareprojekts, um ein Muster zu erstellen. Es ist ein Prozess der Softwareentwicklung. Beim Prototyping wird eine ausführbare Software oder eine Softwarekomponente entwickelt, die bestimmte grundlegende Aufgaben erfüllt. Die Methode ist kosteneffizienter als die vollständige Entwicklung, da sie weniger Zeit in Anspruch nimmt. Es ist möglich, einen Prototyp zu erstellen und zu testen. So können Fehler früher entdeckt und Änderungswünsche besser berücksichtigt werden als bei einer fertigen Software.
Es ist besonders nützlich, wenn die endgültigen Anforderungen und Spezifikationen für das gesamte Programm noch nicht feststehen. Betrachten Sie es als einen iterativen Prozess, der zwischen dem Entwicklungsteam und dem Kunden stattfindet.
Es haben sich verschiedene Arten des Prototyping herausgebildet, darunter exploratives, experimentelles und evolutionäres Prototyping. Darüber hinaus gibt es das Fast Prototyping, das die schnelle Herstellung eines Musters ermöglicht.
Prototyping Softwareentwicklung: Software-Entwicklung
Zusammenfassend sehen wir Prototyping in der Softwareentwicklung als eine effektive Methode, um zukünftige Kunden frühzeitig und häufig in den Entwicklungsprozess einzubinden. Dadurch wird die Wahrscheinlichkeit ungünstiger Ergebnisse minimiert, und die Verbraucher sind mit dem Endprodukt wesentlich zufriedener.
Auch wir bei kreITiv sind uns des Mehrwerts bewusst, den das Prototyping bietet, und setzen dieses Werkzeug zunehmend ein, um von Beginn eines jeden Projekts an ein konsistentes und gemeinsames Bild des Endprodukts mit dem Kunden zu schaffen.
Überlegungen zum Prototyping und zur Sicherheit
Beim evolutionären Prototyping dient der Prototyp als Grundlage für das serienreife System. Dies ist aus finanzieller Sicht vorteilhaft, kann aber unter Sicherheitsaspekten problematisch sein. Je nach Art der Sicherheitsbedenken kann eines von zwei Szenarien eintreten:
(a) Bei geringfügigen Sicherheitsbedenken, die nicht architektonischer Natur sind, können sie angegangen werden, sobald der Prototyp mit dem Kunden abgestimmt ist und das Produkt zum nächsten Schritt übergeht.
b) Bei architektonischen Sicherheitsbedenken, wenn Teile des Systems neu gebaut werden müssen, wirkt sich dies sowohl auf das Budget als auch auf die Zeit des Projekts aus. Um dies zu vermeiden, können entweder Wegwerfprototypen (die einfacher zu implementieren sind) und ein produktionsreifer Entwurf des Systems unter Berücksichtigung der Sicherheit verwendet werden, oder es kann der Prototyp unter Berücksichtigung der Sicherheit verwendet werden, auch wenn dies mehr Zeit während des Prototyping-Prozesses erfordert.