V-modellen är en typ av SDLC-modell där processen körs sekventiellt i en V-form. Den är också känd som verifierings- och valideringsmodellen. Den är baserad på associeringen av en testfas för varje motsvarande utvecklingssteg. Utvecklingen av varje steg är direkt kopplad till testfasen. Nästa fas startar först efter avslutad föregående fas, dvs för varje utvecklingsaktivitet finns det en testaktivitet som motsvarar den.
Innehållsförteckning
- V-modelldesign
- Vikten av V-modellen
- Principer för V-modell
- När ska man använda V-modellen?
- Fördelar med V-modell
- Nackdelar med V-modell
- Slutsats
V-modellen är en mjukvaruutvecklingslivscykelmodell (SDLC) som ger en systematisk och visuell representation av mjukvaruutvecklingsprocessen. Den är baserad på idén om en V-form, där V:ets två ben representerar utvecklingen av V:et mjukvaruutvecklingsprocessen från krav insamling och analys till design, implementering, testning och underhåll.
V-modelldesign
- Kravsamling och analys : Den första fasen av V-modellen är kravinsamlings- och analysfasen, där kundens krav på mjukvaran samlas in och analyseras för att bestämma projektets omfattning.
- Design: I designfasen utvecklas mjukvaruarkitekturen och designen, inklusive högnivådesign och detaljdesign.
- Genomförande: I implementeringsfasen byggs mjukvaran utifrån designen.
- Testning: I testfasen testas mjukvaran för att säkerställa att den uppfyller kundens krav och håller hög kvalitet.
- Spridning: I implementeringsfasen distribueras programvaran och tas i bruk.
- Underhåll: I underhållsfasen underhålls mjukvaran för att säkerställa att den fortsätter att möta kundens behov och förväntningar.
- V-modellen används ofta i säkerhet: kritiska system, såsom flyg- och försvarssystem, på grund av dess betoning på grundliga tester och dess förmåga att tydligt definiera stegen som är involverade i mjukvaruutvecklingsprocessen.
SDLC V-modell
Följande illustration visar de olika faserna i en V-modell av SDLC.
Verifiering Faser :
Det involverar en statisk analysteknik (granskning) som görs utan att exekvera kod. Det är processen för utvärdering av produktutvecklingsfasen för att ta reda på om specificerade krav uppfylls.
Det finns flera verifieringsfaser i V-modellen:
selen handledning
Analys av affärsbehov:
Detta är det första steget i beteckningen av utvecklingscykeln där produktbehov måste lösas ur kundens perspektiv. i dessa faser inkluderar korrekt kommunikation med kunden för att förstå kundernas krav. det här är de mycket viktiga aktiviteterna som måste hanteras på rätt sätt, eftersom kunderna oftast inte vet exakt vad de vill ha, och de är inte säkra på det vid den tidpunkten, då använder vi en design för acceptanstest planering som görs vid tidpunkten för affärskravet kommer den att användas som en inmatning för acceptanstestning.
Systemdesign:
Design av systemet kommer att starta när det övergripande vi är tydliga med produktkraven, och sedan behöver designa systemet helt. Denna förståelse kommer att vara i början av komplett under produktutvecklingsprocessen. dessa kommer att vara fördelaktiga för det framtida utförandet av testfall.
Arkitektonisk design:
I detta skede förstås och designas arkitektoniska specifikationer. Vanligtvis läggs flera tekniska tillvägagångssätt ut, och det slutliga valet görs efter att ha övervägt både den tekniska och ekonomiska bärkraften. Systemarkitekturen är vidare uppdelad i moduler som var och en hanterar en distinkt funktion. Ett annat namn för detta är High-Level Design (HLD).
Vid denna tidpunkt är utbytet av data och kommunikation mellan de interna modulerna och externa system väl förstått och definierat. Under denna fas kan integrationstester skapas och dokumenteras med hjälp av den information som tillhandahålls.
bash om skick
Moduldesign:
Denna fas, känd som Low-Level Design (LLD), specificerar den omfattande interna designen för varje systemmodul. Kompatibilitet mellan design och andra externa system samt andra moduler i systemarkitekturen är avgörande. Enhetstester är en avgörande komponent i varje utvecklingsprocess eftersom de hjälper till att identifiera och utrota de flesta misstag och brister i ett tidigt skede. Baserat på de interna moduldesignerna kan dessa enhetstester nu skapas.
Kodningsfas:
Kodningssteget innebär att man skriver koden för de systemmoduler som skapades under designfasen. System- och arkitekturkraven används för att avgöra vilket programmeringsspråk som är mest lämpligt.
Kodningsstandarderna och -principerna följs vid utförande av kodningen. Innan den slutliga byggnaden checkas in i förvaret genomgår koden många kodgranskningar och är optimerad för optimal prestanda.
Godkännande Faser :
Det involverar dynamiska analystekniker (funktionella och icke-funktionella) och testning som görs genom att exekvera kod. Validering är processen för att utvärdera programvaran efter att utvecklingsfasen har slutförts för att avgöra om programvaran uppfyller kundens förväntningar och krav.
Så, V-Model innehåller verifieringsfaser på ena sidan av valideringsfaserna på andra sidan. Verifierings- och valideringsfaserna förenas av kodningsfasen i en V-form. Därför kallas det V-Model.
Det finns flera Godkännande faser i V-modellen:
Enhetstestning:
Enhetstestplaner utvecklas under moduldesignfasen. Dessa enhetstestplaner exekveras för att eliminera buggar på kod- eller enhetsnivå.
Integrationstestning:
Efter avslutad enhetstestning utförs integrationstestning. Vid integrationstestning integreras modulerna och systemet testas. Integrationstestning utförs i arkitekturdesignfasen. Detta test verifierar kommunikationen av moduler sinsemellan.
Systemtestning:
Systemtestning testar hela applikationen med dess funktionalitet, ömsesidiga beroende och kommunikation. Den testar de funktionella och icke-funktionella kraven för den utvecklade applikationen.
while och do while loop i java
Testning av användaracceptans (UAT):
ekta kapoor skådespelare
UAT utförs i en användarmiljö som liknar produktionsmiljön. UAT verifierar att det levererade systemet uppfyller användarens krav och att systemet är redo att användas i den verkliga världen.
Designfas:
- Kravanalys: Denna fas innehåller detaljerad kommunikation med kunden för att förstå deras krav och förväntningar. Detta steg är känt som Requirement Gathering.
- Systemdesign: Denna fas innehåller systemdesignen och den kompletta hårdvaru- och kommunikationsuppställningen för att utveckla produkten.
- Arkitektonisk design: Systemdesign bryts ner ytterligare i moduler som tar upp olika funktionaliteter. Dataöverföringen och kommunikationen mellan de interna modulerna och med omvärlden (andra system) är tydligt förstådd.
- Moduldesign: I denna fas delas systemet upp i små moduler. Den detaljerade designen av moduler specificeras, även känd som Low-Level Design (LLD).
Testfaser:
- Enhetstestning: Enhetstestplaner utvecklas under moduldesignfasen. Dessa enhetstestplaner exekveras för att eliminera buggar på kod- eller enhetsnivå.
- Integrationstestning: Efter avslutad enhetstestning utförs integrationstestning. Vid integrationstestning integreras modulerna och systemet testas. Integrationstestning utförs i arkitekturdesignfasen. Detta test verifierar kommunikationen av moduler sinsemellan.
- Systemtestning: Systemtestning testar hela applikationen med dess funktionalitet, ömsesidiga beroende och kommunikation. Den testar de funktionella och icke-funktionella kraven för den utvecklade applikationen.
- Testning av användaracceptans (UAT): UAT utförs i en användarmiljö som liknar produktionsmiljön. UAT verifierar att det levererade systemet uppfyller användarens krav och att systemet är redo att användas i den verkliga världen.
Industriell utmaning:
I takt med att branschen har utvecklats har teknologierna blivit mer komplexa, allt snabbare och föränderliga, men det finns fortfarande en uppsättning grundläggande principer och koncept som är lika tillämpliga idag som när IT var i sin linda.
- Definiera och förfina användarkrav exakt.
- Designa och bygg en applikation enligt behöriga användarkrav.
- Verifiera att applikationen de hade byggt uppfyllde de auktoriserade affärskraven.
Vikten av V-modellen
1. Tidig identifiering av defekter
Genom att integrera verifierings- och valideringsuppgifter i varje steg i utvecklingsprocessen uppmuntrar V-modellen tidiga tester. Detta sänker kostnaden och ansträngningen som krävs för att åtgärda problem senare i utvecklingens livscykel genom att hjälpa till med tidig upptäckt och lösning av fel.
2. fastställa faserna för utveckling och testning
V-modellen innehåller en testfas som motsvarar varje steg i utvecklingsprocessen. Genom att säkerställa att test- och utvecklingsprocesser är tydligt kartlagda främjar denna tydliga kartläggning ett metodiskt och ordnat förhållningssätt till mjukvaruutveckling.
3. Förhindrar Big Bang-testning
Tester görs ofta i slutet av utvecklingens livscykel i traditionella utvecklingsmodeller, vilket resulterar i en Big Bang-metod där all testverksamhet fokuseras på en gång. Genom att integrera testaktiviteter i utvecklingsprocessen och uppmuntra en mer progressiv och reglerad testmetod förhindrar V-modellen detta.
4. Förbättrar samarbetet
På alla nivåer främjar V-modellen samarbetet mellan test- och utvecklingsteamen. Genom detta samarbete förstås bättre projektkrav, designval och testmetoder, vilket förbättrar effektiviteten och effektiviteten i utvecklingsprocessen.
5. Förbättrad kvalitetssäkring
Den övergripande kvalitetssäkringen förbättras av V-modellen, som inkluderar testoperationer på alla nivåer. Innan programmet når det sista implementeringsstadiet ser det till att det uppfyller kraven och går igenom en strikt validerings- och verifieringsprocess.
Principer för V-modell
- Stor till liten: I V-Model görs testning i ett hierarkiskt perspektiv, till exempel krav som identifierats av projektgruppen, skapande av High-Level Design och detaljerade designfaser av projektet. När var och en av dessa faser har slutförts kraven, de definierar blir mer och mer förfinade och detaljerade.
- Data/processintegritet: Denna princip säger att en framgångsrik utformning av alla projekt kräver inkorporering och sammanhållning av både data och processer. Processelement måste identifieras vid varje krav.
- Skalbarhet: Denna princip säger att V-Model-konceptet har flexibiliteten att rymma alla IT-projekt oavsett dess storlek, komplexitet eller varaktighet.
- Korsreferenser: En direkt korrelation mellan krav och motsvarande testaktivitet kallas korsreferens.
Påtaglig dokumentation:
Denna princip säger att varje projekt måste skapa ett dokument. Denna dokumentation krävs och tillämpas av både projektutvecklingsteamet och supportteamet. Dokumentation används för att underhålla applikationen när den väl är tillgänglig i en produktionsmiljö.
Varför föredras?
- Det är lätt att hantera på grund av modellens styvhet. Varje fas av V-Model har specifika resultat och en granskningsprocess.
- Proaktiv felspårning – det vill säga defekter upptäcks i ett tidigt skede.
När du ska använda av V-modell ?
- Spårbarhet av krav: V-modellen visar sig vara fördelaktig i situationer när det är absolut nödvändigt att skapa exakt spårbarhet mellan kraven och deras relaterade testfall.
- Komplexa projekt: V-modellen erbjuder ett metodiskt sätt att hantera testaktiviteter och minska risker relaterade till integrations- och gränssnittsproblem för projekt med hög nivå av komplexitet och ömsesidigt beroende mellan systemkomponenter.
- Vattenfallsliknande projekt : Eftersom V-modellen erbjuder en lättillgänglig struktur för att organisera, utföra och övervaka testaktiviteter på alla utvecklingsnivåer, är den lämplig för projekt som använder en sekventiell strategi för utveckling, ungefär som vattenfallsmodellen.
- Säkerhetskritiska system: Dessa system används inom flyg-, bil- och hälsovårdsindustrin. De lägger stor vikt vid rigida verifierings- och valideringsprocedurer, som hjälper till att garantera att väsentliga systemkrav uppfylls och att eventuella risker hittas och elimineras tidigt i utvecklingsprocessen.
Fördelar av V-modellen
- Detta är en mycket disciplinerad modell och faserna genomförs en i taget.
- V-Model används för små projekt där projektkraven är tydliga.
- Enkel och lätt att förstå och använda.
- Denna modell fokuserar på verifierings- och valideringsaktiviteter tidigt i livscykeln och ökar därmed sannolikheten för att bygga en felfri produkt av god kvalitet.
- Det gör det möjligt för projektledning att spåra framstegen exakt.
- Tydlig och strukturerad process: V-modellen ger en tydlig och strukturerad process för mjukvaruutveckling , vilket gör det lättare att förstå och följa.
- Tonvikt på testning: V-modellen lägger stor vikt vid testning, vilket hjälper till att säkerställa programvarans kvalitet och tillförlitlighet.
- Förbättrad spårbarhet: V-modellen ger en tydlig koppling mellan kraven och slutprodukten, vilket gör det lättare att spåra och hantera ändringar i programvaran.
- Bättre kommunikation: V-modellens tydliga struktur hjälper till att förbättra kommunikationen mellan kunden och utvecklingsteamet.
Nackdelar med V-modell
- Hög risk och osäkerhet.
- Det är inte bra för komplexa och objektorienterade projekt.
- Den lämpar sig inte för projekt där kraven inte är tydliga och innehåller stor risk för förändringar.
- Denna modell stöder inte iteration av faser.
- Den hanterar inte lätt samtidiga händelser.
- Inflexibilitet: V-modellen är en linjär och sekventiell modell, vilket kan göra det svårt att anpassa sig till förändrade krav eller oväntade händelser.
- Tidskrävande: V-modellen kan vara tidskrävande, eftersom den kräver mycket dokumentation och testning.
- Överförlitning på dokumentation: V-modellen lägger stor vikt vid dokumentation, vilket kan leda till en övertro på dokumentation på bekostnad av det faktiska utvecklingsarbetet.
Slutsats
Ett vetenskapligt och organiserat förhållningssätt till Software Development Life Cycle (SDLC) tillhandahålls av Software Engineering V-Model. Teamets expertis med den valda metoden, projektets unika egenskaper och kravens karaktär bör alla beaktas vid val av SDLC-modeller, inklusive V-modellen.
Uppslagsbok:
Software Engineering: A Practitioner’s Approach av Roger S. Pressman, publicerad av McGraw-Hill Education, 2017.