SDLC - Software Prototype Model
Das Software-Prototyping bezieht sich auf das Erstellen von Prototypen für Softwareanwendungen, die die Funktionalität des in der Entwicklung befindlichen Produkts anzeigen, jedoch möglicherweise nicht die genaue Logik der ursprünglichen Software enthalten.
Software-Prototyping wird als Softwareentwicklungsmodell immer beliebter, da es ermöglicht, die Kundenanforderungen in einem frühen Stadium der Entwicklung zu verstehen. Es hilft dabei, wertvolles Feedback vom Kunden zu erhalten, und hilft Software-Designern und -Entwicklern zu verstehen, was genau von dem in der Entwicklung befindlichen Produkt erwartet wird.
Was ist Software Prototyping?
Der Prototyp ist ein funktionierendes Softwaremodell mit eingeschränkter Funktionalität. Der Prototyp enthält nicht immer die genaue Logik, die in der tatsächlichen Softwareanwendung verwendet wird, und ist ein zusätzlicher Aufwand, der bei der Aufwandsschätzung berücksichtigt werden muss.
Mithilfe des Prototyping können die Benutzer Entwicklervorschläge bewerten und vor der Implementierung ausprobieren. Es hilft auch dabei, die Anforderungen zu verstehen, die benutzerspezifisch sind und vom Entwickler beim Produktdesign möglicherweise nicht berücksichtigt wurden.
Es folgt ein schrittweiser Ansatz zum Entwerfen eines Software-Prototyps.
Identifizierung der Grundanforderungen
Dieser Schritt beinhaltet das Verständnis der grundlegenden Produktanforderungen, insbesondere in Bezug auf die Benutzeroberfläche. Die komplizierteren Details des internen Designs und externe Aspekte wie Leistung und Sicherheit können in dieser Phase ignoriert werden.
Entwicklung des ersten Prototyps
In dieser Phase wird der erste Prototyp entwickelt, in dem die grundlegenden Anforderungen vorgestellt und Benutzeroberflächen bereitgestellt werden. Diese Funktionen funktionieren möglicherweise intern in der tatsächlich entwickelten Software nicht genau auf die gleiche Weise. Die Problemumgehungen werden verwendet, um dem Kunden im entwickelten Prototyp das gleiche Erscheinungsbild zu verleihen.
Überprüfung des Prototyps
Der entwickelte Prototyp wird dann dem Kunden und den anderen wichtigen Projektbeteiligten vorgestellt. Das Feedback wird auf organisierte Weise gesammelt und für weitere Verbesserungen des in der Entwicklung befindlichen Produkts verwendet.
Überarbeiten und verbessern Sie den Prototyp
Das Feedback und die Überprüfungskommentare werden in dieser Phase diskutiert, und einige Verhandlungen mit dem Kunden finden auf der Grundlage von Faktoren wie Zeit- und Budgetbeschränkungen und der technischen Machbarkeit der tatsächlichen Implementierung statt. Die akzeptierten Änderungen werden erneut in den neu entwickelten Prototyp übernommen und der Zyklus wiederholt sich, bis die Kundenerwartungen erfüllt sind.
Prototypen können horizontale oder vertikale Abmessungen haben. Ein horizontaler Prototyp zeigt die Benutzeroberfläche des Produkts an und bietet einen breiteren Überblick über das gesamte System, ohne sich auf interne Funktionen zu konzentrieren. Ein vertikaler Prototyp auf der anderen Seite ist eine detaillierte Ausarbeitung einer bestimmten Funktion oder eines Teilsystems im Produkt.
Der Zweck des horizontalen und vertikalen Prototyps ist unterschiedlich. Horizontale Prototypen werden verwendet, um weitere Informationen zur Benutzeroberfläche und zu den Geschäftsanforderungen zu erhalten. Es kann sogar in den Verkaufsdemos vorgestellt werden, um das Geschäft auf den Markt zu bringen. Vertikale Prototypen sind technischer Natur und werden verwendet, um Details über die genaue Funktionsweise der Subsysteme zu erhalten. Zum Beispiel Datenbankanforderungen, Interaktion und Datenverarbeitungslasten in einem bestimmten Subsystem.
Software Prototyping - Typen
In der Branche werden verschiedene Arten von Software-Prototypen verwendet. Im Folgenden sind die wichtigsten weit verbreiteten Software-Prototyping-Typen aufgeführt:
Wegwerf- / Rapid-Prototyping
Einweg-Prototyping wird auch als Rapid- oder Close-Ended-Prototyping bezeichnet. Diese Art des Prototyping erfordert nur sehr wenig Aufwand mit einer Analyse der Mindestanforderungen, um einen Prototyp zu erstellen. Sobald die tatsächlichen Anforderungen verstanden sind, wird der Prototyp verworfen und das eigentliche System mit einem klaren Verständnis der Benutzeranforderungen entwickelt.
Evolutionäres Prototyping
Evolutionäres Prototyping, auch als Breadboard-Prototyping bezeichnet, basiert auf der Erstellung tatsächlicher funktionaler Prototypen mit minimaler Funktionalität am Anfang. Der entwickelte Prototyp bildet das Herzstück der zukünftigen Prototypen, auf denen das gesamte System aufgebaut ist. Durch die Verwendung von evolutionärem Prototyping werden die gut verstandenen Anforderungen in den Prototyp aufgenommen und die Anforderungen werden hinzugefügt, sobald sie verstanden werden.
Inkrementelles Prototyping
Inkrementelles Prototyping bezieht sich auf die Erstellung mehrerer funktionaler Prototypen der verschiedenen Subsysteme und die anschließende Integration aller verfügbaren Prototypen zu einem vollständigen System.
Extremes Prototyping
Extreme Prototyping wird in der Webentwicklungsdomäne verwendet. Es besteht aus drei aufeinander folgenden Phasen. Zunächst wird ein grundlegender Prototyp mit allen vorhandenen Seiten im HTML-Format dargestellt. Anschließend wird die Datenverarbeitung mithilfe einer Prototyp-Serviceschicht simuliert. Schließlich werden die Services implementiert und in den endgültigen Prototyp integriert. Dieser Prozess wird als Extreme Prototyping bezeichnet, um die Aufmerksamkeit auf die zweite Phase des Prozesses zu lenken, in der eine voll funktionsfähige Benutzeroberfläche entwickelt wird, bei der die tatsächlichen Dienste kaum berücksichtigt werden.
Software Prototyping - Anwendung
Software Prototyping ist am nützlichsten bei der Entwicklung von Systemen mit einem hohen Maß an Benutzerinteraktionen, wie z. B. Online-Systemen. Systeme, bei denen Benutzer Formulare ausfüllen oder verschiedene Bildschirme durchlaufen müssen, bevor Daten verarbeitet werden, können Prototyping sehr effektiv einsetzen, um das genaue Erscheinungsbild zu erhalten, noch bevor die eigentliche Software entwickelt wird.
Software, die zu viel Datenverarbeitung erfordert und die meisten Funktionen intern mit sehr wenig Benutzeroberfläche ist, profitiert normalerweise nicht vom Prototyping. Die Entwicklung von Prototypen kann bei solchen Projekten einen zusätzlichen Aufwand bedeuten und erfordert möglicherweise zusätzliche Anstrengungen.
Software Prototyping - Vor- und Nachteile
In typischen Fällen wird Software-Prototyping verwendet, und die Entscheidung sollte sehr sorgfältig getroffen werden, damit der Aufwand für die Erstellung des Prototyps einen erheblichen Mehrwert für die endgültig entwickelte Software darstellt. Das Modell hat seine eigenen Vor- und Nachteile, die wie folgt diskutiert werden.
Die Vorteile des Prototyping-Modells sind folgende:
Verstärkte Beteiligung der Benutzer am Produkt bereits vor seiner Implementierung.
Da ein Arbeitsmodell des Systems angezeigt wird, erhalten die Benutzer ein besseres Verständnis des zu entwickelnden Systems.
Reduziert Zeit und Kosten, da die Fehler viel früher erkannt werden können.
Es ist ein schnelleres Benutzerfeedback verfügbar, das zu besseren Lösungen führt.
Fehlende Funktionen können leicht identifiziert werden.
Verwirrende oder schwierige Funktionen können identifiziert werden.
Die Nachteile des Prototyping-Modells sind wie folgt:
Risiko einer unzureichenden Anforderungsanalyse aufgrund zu starker Abhängigkeit vom Prototyp.
Benutzer können in den Prototypen und tatsächlichen Systemen verwirrt sein.
In der Praxis kann diese Methodik die Komplexität des Systems erhöhen, da der Umfang des Systems über die ursprünglichen Pläne hinausgehen kann.
Entwickler können versuchen, die vorhandenen Prototypen wiederzuverwenden, um das eigentliche System zu erstellen, auch wenn dies technisch nicht machbar ist.
Der Aufwand für den Bau von Prototypen kann zu hoch sein, wenn er nicht ordnungsgemäß überwacht wird.