Prototypemodel in software-engineering

Wat is een prototypemodel?

Prototyping-model is een softwareontwikkelingsmodel waarin een prototype wordt gebouwd, getest en herwerkt totdat een acceptabel prototype is bereikt. Het creëert ook de basis voor de productie van het uiteindelijke systeem of de uiteindelijke software. Het werkt het beste in scenario's waarin de vereisten van het project niet in detail bekend zijn. Het is een iteratieve, vallen en opstaan-methode die plaatsvindt tussen ontwikkelaar en klant.

Prototyping van modelfasen

Prototyping van modelfasen

Het prototypingmodel kent de volgende zes SDLC-fasen:

Stap 1: Verzamelen en analyseren van vereisten

Een prototypemodel begint met een analyse van de vereisten. In deze fase worden de eisen van het systeem gedetailleerd gedefinieerd. Tijdens het proces worden de gebruikers van het systeem geïnterviewd om te weten wat hun verwachtingen van het systeem zijn.

Stap 2: Snel ontwerp

De tweede fase is een voorlopig ontwerp of een snelontwerp. In deze fase wordt een eenvoudig ontwerp van het systeem gemaakt. Het is echter geen compleet ontwerp. Het geeft de gebruiker een kort idee van het systeem. Het snelle ontwerp helpt bij het ontwikkelen van het prototype.

Stap 3: Bouw een prototype

In deze fase wordt een daadwerkelijk prototype ontworpen op basis van de informatie die is verzameld tijdens het snelle ontwerp. Het is een klein werkmodel van het benodigde systeem.

Stap 4: Eerste gebruikersevaluatie

In deze fase wordt het voorgestelde systeem voor een eerste evaluatie aan de klant gepresenteerd. Het helpt om de sterke en zwakke punten van het werkmodel te achterhalen. Opmerkingen en suggesties worden verzameld bij de klant en aan de ontwikkelaar doorgegeven.

Stap 5: Verfijnen van het prototype

Als de gebruiker niet tevreden is met het huidige prototype, moet u het prototype verfijnen op basis van de feedback en suggesties van de gebruiker.

Deze fase is pas voorbij als aan alle door de gebruiker gestelde eisen is voldaan. Zodra de gebruiker tevreden is met het ontwikkelde prototype, wordt een definitief systeem ontwikkeld op basis van het goedgekeurde definitieve prototype.

Stap 6: Product implementeren en onderhouden

Zodra het uiteindelijke systeem is ontwikkeld op basis van het uiteindelijke prototype, wordt het grondig getest en in productie genomen. Het systeem ondergaat routinematig onderhoud om downtime te minimaliseren en grootschalige storingen te voorkomen.

Soorten prototypemodellen

Vier soorten prototypemodellen zijn:

  1. Rapid Throwaway-prototypes
  2. Evolutionair prototype
  3. Incrementeel prototype
  4. Extreem prototype

Snel wegwerp-prototype

Snelle weggooi is gebaseerd op de voorafgaande eis. Het is snel ontwikkeld om te laten zien hoe de vereiste er visueel uit zal zien. De feedback van de klant helpt veranderingen in de vereisten aan te brengen, en het prototype wordt opnieuw gemaakt totdat de vereisten op de basislijn zijn gezet.

Bij deze methode wordt een ontwikkeld prototype weggegooid en geen onderdeel van het uiteindelijk geaccepteerde prototype. Deze techniek is handig voor het verkennen van ideeën en het krijgen van directe feedback over klantvereisten.

Evolutionaire prototypering

Hier wordt het ontwikkelde prototype stapsgewijs verfijnd op basis van de feedback van de klant totdat het uiteindelijk wordt geaccepteerd. Het helpt u zowel tijd als moeite te besparen. Dat komt omdat het soms erg frustrerend kan zijn om voor elke interactie in het proces een volledig nieuw prototype te ontwikkelen.

Dit model is handig voor een project dat een nieuwe technologie gebruikt die nog niet goed begrepen wordt. Het wordt ook gebruikt voor een complex project waarbij elke functionaliteit één keer gecontroleerd moet worden. Het is handig wanneer de vereiste niet stabiel is of niet duidelijk begrepen wordt in de beginfase.

Incrementele prototypering

Bij incrementele prototyping wordt het eindproduct gedecimeerd in verschillende kleine prototypes en individueel ontwikkeld. Uiteindelijk worden de verschillende prototypes samengevoegd tot één product. Deze methode is nuttig om de feedbacktijd tussen de gebruiker en het applicatieontwikkelteam te verkorten.

Extreem prototypen

Extreme prototyping-methode wordt meestal gebruikt voor webontwikkeling. Het bestaat uit drie opeenvolgende fasen.

  1. Basisprototype met alle bestaande pagina's is aanwezig in HTML-formaat.
  2. U kunt het gegevensproces simuleren met behulp van een prototypeservicelaag.
  3. De diensten worden geïmplementeerd en geïntegreerd in het definitieve prototype.

Beste praktijken bij het maken van prototypes

Hier zijn een paar dingen waar u op moet letten tijdens het prototypeproces:

  • U moet Prototyping gebruiken als de vereisten onduidelijk zijn
  • Het is belangrijk om geplande en gecontroleerde prototypes uit te voeren.
  • Regelmatige bijeenkomsten zijn essentieel om het project op tijd te houden en kostbare vertragingen te voorkomen.
  • De gebruikers en de ontwerpers moeten zich bewust zijn van de prototypingproblemen en valkuilen.
  • In een heel vroeg stadium moet je een prototype goedkeuren en pas daarna het team de volgende stap laten zetten.
  • Bij het maken van softwareprototypen moet je nooit bang zijn om eerdere beslissingen te wijzigen als er nieuwe ideeën moeten worden geïmplementeerd.
  • Voor elke versie moet u de juiste stapgrootte selecteren.
  • Implementeer belangrijke functies in een vroeg stadium, zodat u, als u geen tijd meer heeft, nog steeds over een waardevol systeem beschikt

Voordelen van het prototypemodel

Hier volgen belangrijke voordelen/voordelen van het gebruik van prototypemodellen:

  • Gebruikers worden actief betrokken bij de ontwikkeling. Daarom kunnen fouten worden ontdekt in de beginfase van het softwareontwikkelingsproces.
  • Ontbrekende functionaliteit kan worden geïdentificeerd, wat het risico op falen helpt verminderen, aangezien prototyping ook wordt beschouwd als een risicoverminderende activiteit.
  • Helpt teamleden effectief te communiceren
  • Klanttevredenheid ontstaat doordat de klant het product al in een zeer vroeg stadium kan voelen.
  • De kans op softwareafwijzing is nauwelijks aanwezig.
  • Snellere gebruikersfeedback helpt u betere softwareontwikkelingsoplossingen te realiseren.
  • Hiermee kan de klant vergelijken of de softwarecode overeenkomt met de softwarespecificatie.
  • Het helpt u om de ontbrekende functionaliteit in het systeem te achterhalen.
  • Het identificeert ook de complexe of moeilijke functies.
  • Stimuleert innovatie en flexibel ontwerpen.
  • Het is een eenvoudig model, dus gemakkelijk te begrijpen.
  • Er zijn geen gespecialiseerde experts nodig om het model te bouwen
  • Het prototype dient als basis voor het afleiden van een systeemspecificatie.
  • Het prototype helpt om de behoeften van de klant beter te begrijpen.
  • Prototypes kunnen worden gewijzigd en zelfs weggegooid.
  • Een prototype dient tevens als basis voor operationele specificaties.
  • Prototypes kunnen vroege training bieden voor toekomstige gebruikers van het softwaresysteem.

Nadelen van het prototypemodel

Hier zijn belangrijke nadelen/nadelen van het prototypemodel:

  • Prototyping is een langzaam en tijdrovend proces.
  • De kosten voor het ontwikkelen van een prototype zijn totale verspilling, aangezien het prototype uiteindelijk wordt weggegooid.
  • Prototyping kan buitensporige wijzigingsverzoeken aanmoedigen.
  • Soms zijn klanten misschien niet bereid om voor langere tijd deel te nemen aan de iteratiecyclus.
  • Er kunnen veel te veel variaties zijn in de softwarevereisten wanneer het prototype elke keer door de klant wordt geëvalueerd.
  • Slechte documentatie omdat de eisen van de klanten veranderen.
  • Het is erg moeilijk voor softwareontwikkelaars om aan alle veranderingen te voldoen die door de klanten worden gevraagd.
  • Na het zien van een vroeg prototypemodel, denken de klanten misschien dat het daadwerkelijke product binnenkort aan hem zal worden geleverd.
  • De klant kan zijn interesse in het eindproduct verliezen als hij of zij niet tevreden is met het eerste prototype.
  • Ontwikkelaars die snel prototypes willen bouwen, kunnen uiteindelijk ontwikkelingsoplossingen bouwen die niet aan de standaard voldoen.

Samenvatting

  • In Software Engineering is Prototype-methodologie een softwareontwikkelingsmodel waarin een prototype wordt gebouwd, getest en vervolgens indien nodig herwerkt totdat een acceptabel prototype is bereikt.
  • 1) Verzamelen en analyseren van vereisten, 2) Snel ontwerp, 3) Bouw een prototype, 4) Eerste gebruikersevaluatie, 5) Verfijnen van het prototype, 6) Implementeer het product en onderhoud het; zijn 6 stappen van het prototypeproces
  • Type prototypemodellen zijn 1) Rapid Throwaway-prototypes 2) Evolutionair prototype 3) Incrementeel prototype 4) Extreem prototype
  • Regelmatige bijeenkomsten zijn essentieel om het project op tijd te houden en kostbare vertragingen bij het maken van prototypen te voorkomen.
  • Ontbrekende functionaliteit kan worden geïdentificeerd, wat het risico op falen helpt verminderen, aangezien prototyping ook wordt beschouwd als een risicoverminderende activiteit in SDLC.
  • Prototyping kan buitensporige wijzigingsverzoeken aanmoedigen.