Prototypemodel i Software Engineering
Hvad er Prototyping Model?
Prototyping model er en softwareudviklingsmodel, hvor prototypen bygges, testes og omarbejdes, indtil en acceptabel prototype er opnået. Det skaber også en base for at producere det endelige system eller software. Det fungerer bedst i scenarier, hvor projektets krav ikke er kendt i detaljer. Det er en iterativ, prøve- og fejlmetode, som foregår mellem udvikler og klient.
Prototyping modelfaser
Prototyping Model har følgende seks SDLC faser som følger:
Trin 1: Kravindsamling og analyse
En prototypemodel starter med behovsanalyse. I denne fase defineres kravene til systemet i detaljer. Undervejs i processen bliver brugerne af systemet interviewet for at vide, hvad de forventer af systemet.
Trin 2: Hurtigt design
Den anden fase er et foreløbigt design eller et hurtigt design. I denne fase skabes et enkelt design af systemet. Det er dog ikke et komplet design. Det giver en kort idé om systemet til brugeren. Det hurtige design hjælper med at udvikle prototypen.
Trin 3: Byg en prototype
I denne fase designes en egentlig prototype baseret på informationen indsamlet fra hurtig design. Det er en lille arbejdsmodel af det påkrævede system.
Trin 4: Indledende brugerevaluering
I denne fase præsenteres det foreslåede system for klienten til en indledende evaluering. Det hjælper med at finde ud af arbejdsmodellens styrke og svaghed. Kommentar og forslag indsamles fra kunden og leveres til udvikleren.
Trin 5: Forfining af prototype
Hvis brugeren ikke er tilfreds med den nuværende prototype, skal du forfine prototypen i henhold til brugerens feedback og forslag.
Denne fase afsluttes ikke, før alle de krav, der er specificeret af brugeren, er opfyldt. Når brugeren er tilfreds med den udviklede prototype, udvikles et endeligt system baseret på den godkendte endelige prototype.
Trin 6: Implementer produkt og vedligehold
Når det endelige system er udviklet baseret på den endelige prototype, testes det grundigt og implementeres til produktion. Systemet gennemgår rutinemæssig vedligeholdelse for at minimere nedetid og forhindre store fejl.
Typer af prototypemodeller
Fire typer prototyping-modeller er:
- Rapid Throwaway prototyper
- Evolutionær prototype
- Inkrementel prototype
- Ekstrem prototype
Rapid Throwaway Prototype
Hurtig smid er baseret på det foreløbige krav. Det er hurtigt udviklet til at vise, hvordan kravet vil se ud visuelt. Kundens feedback hjælper med at drive ændringer af kravet, og prototypen oprettes igen, indtil kravet er baselinet.
I denne metode vil en udviklet prototype blive kasseret og vil ikke være en del af den i sidste ende accepterede prototype. Denne teknik er nyttig til at udforske ideer og få øjeblikkelig feedback til kundernes krav.
Evolutionær prototyping
Her bliver den udviklede prototype trinvist forfinet baseret på kundens feedback, indtil den endeligt accepteres. Det hjælper dig med at spare tid og kræfter. Det er fordi det nogle gange kan være meget frustrerende at udvikle en prototype fra bunden for hver interaktion i processen.
Denne model er nyttig til et projekt, der bruger en ny teknologi, som ikke er godt forstået. Det bruges også til et komplekst projekt, hvor hver funktionalitet skal kontrolleres én gang. Det er nyttigt, når kravet ikke er stabilt eller ikke forstås klart i den indledende fase.
Inkrementel prototyping
Ved inkrementel prototyping decimeres det endelige produkt til forskellige små prototyper og udvikles individuelt. Til sidst bliver de forskellige prototyper slået sammen til et enkelt produkt. Denne metode er nyttig til at reducere feedbacktiden mellem brugeren og applikationsudviklingsteamet.
Ekstrem prototyping
Ekstrem prototyping-metode bruges mest til webudvikling. Den består af tre sekventielle faser.
- Grundlæggende prototype med alle de eksisterende sider er til stede i HTML-formatet.
- Du kan simulere dataproces ved hjælp af et prototypeservicelag.
- Tjenesterne implementeres og integreres i den endelige prototype.
Bedste Practices of Prototyping
Her er et par ting, du bør holde øje med under prototypingsprocessen:
- Du bør bruge Prototyping, når kravene er uklare
- Det er vigtigt at udføre planlagt og kontrolleret prototyping.
- Regelmæssige møder er afgørende for at holde projektet til tiden og undgå dyre forsinkelser.
- Brugerne og designerne bør være opmærksomme på prototyping problemer og faldgruber.
- På et meget tidligt tidspunkt skal du godkende en prototype og først derefter give teamet lov til at gå videre til næste trin.
- I softwareprototypemetoden skal du aldrig være bange for at ændre tidligere beslutninger, hvis nye ideer skal implementeres.
- Du bør vælge den passende trinstørrelse for hver version.
- Implementer vigtige funktioner tidligt, så hvis du løber tør for tid, har du stadig et værdifuldt system
Fordele ved prototyping-modellen
Her er vigtige fordele/fordele ved at bruge Prototyping-modeller:
- Brugerne er aktivt involveret i udviklingen. Derfor kan fejl opdages i den indledende fase af softwareudviklingsprocessen.
- Manglende funktionalitet kan identificeres, hvilket er med til at reducere risikoen for fejl, da Prototyping også betragtes som en risikoreducerende aktivitet.
- Hjælper teammedlem med at kommunikere effektivt
- Kundetilfredshed eksisterer, fordi kunden kan mærke produktet på et meget tidligt tidspunkt.
- Der vil næppe være nogen chance for softwareafvisning.
- Hurtigere brugerfeedback hjælper dig med at opnå bedre softwareudviklingsløsninger.
- Giver klienten mulighed for at sammenligne, om softwarekoden matcher softwarespecifikationen.
- Det hjælper dig med at finde ud af den manglende funktionalitet i systemet.
- Den identificerer også de komplekse eller vanskelige funktioner.
- Tilskynder til innovation og fleksibelt design.
- Det er en ligetil model, så den er let at forstå.
- Intet behov for specialiserede eksperter til at bygge modellen
- Prototypen tjener som grundlag for at udlede en systemspecifikation.
- Prototypen er med til at få en bedre forståelse af kundens behov.
- Prototyper kan ændres og endda kasseres.
- En prototype fungerer også som grundlag for operationelle specifikationer.
- Prototyper kan tilbyde tidlig træning for fremtidige brugere af softwaresystemet.
Ulemper ved prototyping-modellen
Her er vigtige ulemper/ulemper ved prototypemodeller:
- Prototyping er en langsom og tidskrævende proces.
- Omkostningerne ved at udvikle en prototype er totalt spild, da prototypen i sidste ende bliver smidt væk.
- Prototyping kan tilskynde til overdrevne ændringsanmodninger.
- Nogle gange er kunder måske ikke villige til at deltage i iterationscyklussen i længere tid.
- Der kan være alt for mange variationer i softwarekravene, hver gang prototypen evalueres af kunden.
- Dårlig dokumentation, fordi kundernes krav ændrer sig.
- Det er meget svært for softwareudviklere at imødekomme alle de ændringer, som kunderne efterspørger.
- Efter at have set en tidlig prototypemodel, kan kunderne tro, at det faktiske produkt snart vil blive leveret til ham.
- Kunden kan miste interessen for det endelige produkt, når han eller hun ikke er tilfreds med den oprindelige prototype.
- Udviklere, der ønsker at bygge prototyper hurtigt, kan ende med at bygge sub-standard udviklingsløsninger.
Resumé
- I Software Engineering er prototypemetodologi en softwareudviklingsmodel, hvor en prototype bygges, testes og derefter omarbejdes efter behov, indtil en acceptabel prototype er opnået.
- 1) Kravindsamling og analyse, 2) Hurtigt design, 3) Byg en prototype, 4) Indledende brugerevaluering, 5) Forfining af prototype, 6) Implementer produkt og vedligehold; er 6 trin i prototypingsprocessen
- Typen af prototypemodeller er 1) Rapid Throwaway-prototyper 2) Evolutionær prototype 3) Incrementel prototype 4) Ekstrem prototype
- Regelmæssige møder er afgørende for at holde projektet til tiden og undgå dyre forsinkelser i prototyping-tilgangen.
- Manglende funktionalitet kan identificeres, hvilket hjælper med at reducere risikoen for fejl, da Prototyping også betragtes som en risikoreducerende aktivitet i SDLC.
- Prototyping kan tilskynde til overdrevne ændringsanmodninger.