V-model je typ SDLC model kde sa proces vykonáva postupne v tvare V. Je známy aj ako model overovania a overovania. Je založená na spojení testovacej fázy pre každú zodpovedajúcu vývojovú fázu. Vývoj každého kroku je priamo spojený s fázou testovania. Ďalšia fáza začína až po ukončení predchádzajúcej fázy, t. j. pre každú vývojovú aktivitu existuje testovacia aktivita, ktorá jej zodpovedá.
Obsah
- Dizajn modelu V
- Význam V-Modelu
- Princípy V-Modelu
- Kedy použiť V-Model?
- Výhody V-Modelu
- Nevýhody V-Modelu
- Záver
V-Model je model životného cyklu vývoja softvéru (SDLC), ktorý poskytuje systematickú a vizuálnu reprezentáciu procesu vývoja softvéru. Je založený na myšlienke tvaru V, pričom dve nohy V predstavujú priebeh proces vývoja softvéru od zhromažďovanie požiadaviek a analýzy na návrh, implementáciu, testovanie a údržbu.
Dizajn modelu V
- Zhromažďovanie a analýza požiadaviek : Prvá fáza V-Modelu je fáza zhromažďovania a analýzy požiadaviek, kde sa zhromažďujú a analyzujú požiadavky zákazníka na softvér, aby sa určil rozsah projektu.
- Dizajn: Vo fáze návrhu sa vyvíja softvérová architektúra a dizajn, vrátane návrhu na vysokej úrovni a detailného návrhu.
- Implementácia: Vo fáze implementácie je softvér zostavený na základe návrhu.
- Testovanie: Vo fáze testovania je softvér testovaný, aby sa zabezpečilo, že spĺňa požiadavky zákazníka a je vysoko kvalitný.
- Nasadenie: Vo fáze nasadenia je softvér nasadený a uvedený do používania.
- Údržba: Vo fáze údržby je softvér udržiavaný, aby sa zabezpečilo, že bude naďalej spĺňať potreby a očakávania zákazníka.
- V-Model sa často používa v oblasti bezpečnosti: kritických systémov, ako sú letecké a obranné systémy, a to z dôvodu dôrazu na dôkladné testovanie a schopnosti jasne definovať kroky zahrnuté v procese vývoja softvéru.
SDLC V-Model
Nasledujúca ilustrácia zobrazuje rôzne fázy vo V-modeli SDLC.
Overenie Fázy :
Zahŕňa techniku statickej analýzy (kontrolu) vykonanú bez spustenia kódu. Je to proces hodnotenia fázy vývoja produktu, aby sa zistilo, či sú splnené špecifikované požiadavky.
V-Model má niekoľko fáz overenia:
Analýza obchodných požiadaviek:
Toto je prvý krok určenia vývojového cyklu, kde je potrebné vyriešiť požiadavku na produkt z pohľadu zákazníka. do týchto fáz patrí správna komunikácia so zákazníkom, aby sme pochopili požiadavky zákazníkov. toto sú veľmi dôležité činnosti, ktoré je potrebné správne zvládnuť, pretože zákazníci väčšinou nevedia, čo presne chcú, a nie sú si tým istí, potom používame návrh akceptačnej skúšky plánovanie, ktoré sa vykonáva v čase obchodnej požiadavky, bude sa používať ako vstup na akceptačné testovanie.
Dizajn systému:
Návrh systému začne, keď celkovo máme jasno s požiadavkami na produkt a potom je potrebné navrhnúť celý systém. Toto pochopenie bude na začiatku úplného v rámci procesu vývoja produktu. budú prospešné pre budúce vykonávanie testovacích prípadov.
Architektonický dizajn:
V tejto fáze sa pochopia a navrhnú architektonické špecifikácie. Zvyčajne sa uvádza niekoľko technických prístupov a konečný výber sa urobí po zvážení technickej aj finančnej životaschopnosti. Architektúra systému sa ďalej delí na moduly, z ktorých každý rieši odlišnú funkciu. Iný názov je High-Level Design (HLD).
V tomto bode je výmena údajov a komunikácia medzi internými modulmi a externými systémami dobre pochopená a definovaná. Počas tejto fázy je možné vytvoriť a zdokumentovať integračné testy pomocou poskytnutých informácií.
Dizajn modulu:
Táto fáza, známa ako Low-Level Design (LLD), špecifikuje komplexný vnútorný dizajn pre každý systémový modul. Rozhodujúca je kompatibilita medzi dizajnom a inými externými systémami, ako aj ďalšími modulmi v architektúre systému. Jednotkové testy sú kľúčovou súčasťou každého vývojového procesu, pretože pomáhajú identifikovať a odstraňovať väčšinu chýb a nedostatkov v počiatočnom štádiu. Na základe návrhov interných modulov môžu byť teraz vytvorené tieto testy jednotiek.
Fáza kódovania:
Krok Kódovanie zahŕňa písanie kódu pre systémové moduly, ktoré boli vytvorené počas fázy návrhu. Na určenie najvhodnejšieho programovacieho jazyka sa používajú systémové a architektonické požiadavky.
Pri kódovaní sa dodržiavajú štandardy a zásady kódovania. Predtým, ako sa konečné zostavenie skontroluje v úložisku, kód prechádza mnohými kontrolami kódu a je optimalizovaný na optimálny výkon.
Validácia Fázy :
Zahŕňa techniky dynamickej analýzy (funkčné a nefunkčné) a testovanie vykonávané spustením kódu. Validácia je proces hodnotenia softvéru po dokončení fázy vývoja s cieľom určiť, či softvér spĺňa očakávania a požiadavky zákazníka.
double v jave
V-Model teda obsahuje overovacie fázy na jednej strane a overovacie fázy na druhej strane. Fázy overenia a overenia sú spojené fázou kódovania do tvaru V. Preto sa nazýva V-Model.
Je ich viacero Validácia fázy v modeli V:
Testovanie jednotky:
Plány testovania jednotiek sa vyvíjajú počas fázy návrhu modulu. Tieto plány testovania jednotiek sa vykonávajú na odstránenie chýb v kóde alebo na úrovni jednotky.
Testovanie integrácie:
Po dokončení testovania jednotky sa vykoná testovanie integrácie. Pri integračnom testovaní sú moduly integrované a systém je testovaný. Testovanie integrácie sa vykonáva vo fáze návrhu architektúry. Tento test overuje komunikáciu modulov medzi sebou.
Testovanie systému:
Testovanie systému testuje kompletnú aplikáciu s jej funkčnosťou, vzájomnou závislosťou a komunikáciou. Testuje funkčné a nefunkčné požiadavky vyvíjanej aplikácie.
Používateľské akceptačné testovanie (UAT):
UAT sa vykonáva v používateľskom prostredí, ktoré sa podobá produkčnému prostrediu. UAT overuje, či dodaný systém spĺňa požiadavky užívateľa a či je systém pripravený na použitie v reálnom svete.
Fáza návrhu:
- Analýza požiadaviek: Táto fáza obsahuje detailnú komunikáciu so zákazníkom, aby sme pochopili jeho požiadavky a očakávania. Táto fáza je známa ako zhromažďovanie požiadaviek.
- Dizajn systému: Táto fáza obsahuje návrh systému a kompletné nastavenie hardvéru a komunikácie pre vývoj produktu.
- Architektonický dizajn: Návrh systému je ďalej rozdelený do modulov, ktoré zaberajú rôzne funkcie. Prenos dát a komunikácia medzi internými modulmi a vonkajším svetom (inými systémami) je zrozumiteľná.
- Dizajn modulu: V tejto fáze sa systém rozpadá na malé moduly. Je špecifikovaný detailný návrh modulov, známy aj ako Low-Level Design (LLD).
Testovacie fázy:
- Testovanie jednotky: Plány testovania jednotiek sa vyvíjajú počas fázy návrhu modulu. Tieto plány testovania jednotiek sa vykonávajú na odstránenie chýb na úrovni kódu alebo jednotky.
- Testovanie integrácie: Po dokončení testovania jednotky sa vykoná testovanie integrácie. Pri testovaní integrácie sú moduly integrované a systém je testovaný. Testovanie integrácie sa vykonáva vo fáze návrhu architektúry. Tento test overuje komunikáciu modulov medzi sebou.
- Testovanie systému: Testovanie systému testuje kompletnú aplikáciu s jej funkčnosťou, vzájomnou závislosťou a komunikáciou. Testuje funkčné a nefunkčné požiadavky vyvíjanej aplikácie.
- Používateľské akceptačné testovanie (UAT): UAT sa vykonáva v používateľskom prostredí, ktoré sa podobá produkčnému prostrediu. UAT overuje, či dodaný systém spĺňa požiadavky užívateľa a či je systém pripravený na použitie v reálnom svete.
Priemyselná výzva:
Ako sa toto odvetvie vyvíjalo, technológie sa stávajú zložitejšími, čoraz rýchlejšími a neustále sa meniacimi, avšak stále existuje súbor základných princípov a konceptov, ktoré sú rovnako použiteľné dnes, ako keď bolo IT v plienkach.
- Presne definujte a spresnite požiadavky používateľov.
- Navrhnite a zostavte aplikáciu podľa požiadaviek oprávnených používateľov.
- Overte, či aplikácia, ktorú vytvorili, spĺňa požiadavky autorizovaného podnikania.
Význam V-Modelu
1. Včasná identifikácia defektu
Začlenením overovacích a validačných úloh do každej fázy vývojového procesu podporuje V-Model skoré testovanie. To znižuje náklady a úsilie potrebné na nápravu problémov neskôr počas životného cyklu vývoja tým, že pomáha pri včasnej detekcii a riešení porúch.
2. určenie fáz vývoja a testovania
V-Model obsahuje testovaciu fázu, ktorá zodpovedá každej fáze vývojového procesu. Tým, že zaisťuje, že testovacie a vývojové procesy sú jasne zmapované, toto jasné mapovanie podporuje metodický a usporiadaný prístup k softvérovému inžinierstvu.
3. Zabraňuje testovaniu veľkého tresku
Testovanie sa často vykonáva na samom konci životného cyklu vývoja v tradičných vývojových modeloch, čo vedie k prístupu veľkého tresku, kde sa všetky testovacie operácie sústreďujú naraz. Integráciou testovacích aktivít do procesu vývoja a podporou progresívnejšieho a regulovanejšieho testovacieho prístupu tomu V-Model bráni.
4. Zlepšuje spoluprácu
Na každej úrovni podporuje V-Model spoluprácu medzi testovacími a vývojovými tímami. Vďaka tejto spolupráci sú lepšie pochopené požiadavky na projekt, výber dizajnu a testovacie metodológie, čo zvyšuje efektivitu a efektivitu procesu vývoja.
5. Zlepšené zabezpečenie kvality
Celkové zabezpečenie kvality je vylepšené V-Modelom, ktorý zahŕňa testovacie operácie na každej úrovni. Predtým, ako program dosiahne konečnú fázu nasadenia, uistí sa, že spĺňa požiadavky a prejde prísnym procesom validácie a overovania.
Princípy V-Modelu
- Veľké po malé: Vo V-Model sa testovanie vykonáva v hierarchickej perspektíve, napríklad požiadavky identifikované projektovým tímom vytvárajúce fázy projektu na vysokej úrovni a podrobného návrhu. Ako každá z týchto fáz dokončuje požiadavky, definujú sa čoraz prepracovanejšie a podrobnejšie.
- Integrita údajov/procesov: Tento princíp uvádza, že úspešný návrh akéhokoľvek projektu si vyžaduje začlenenie a súdržnosť údajov aj procesov. Prvky procesu musia byť identifikované pri každej požiadavke.
- Škálovateľnosť: Tento princíp uvádza, že koncept V-Model je flexibilný na prispôsobenie sa akémukoľvek IT projektu bez ohľadu na jeho veľkosť, zložitosť alebo trvanie.
- Krížové odkazy: Priama korelácia medzi požiadavkami a zodpovedajúcou testovacou činnosťou je známa ako krížové odkazy.
Hmotná dokumentácia:
Tento princíp hovorí, že každý projekt potrebuje vytvoriť dokument. Táto dokumentácia je vyžadovaná a používaná tímom vývoja projektu aj tímom podpory. Dokumentácia sa používa na údržbu aplikácie, keď je dostupná v produkčnom prostredí.
Prečo preferovaný?
- Ľahko sa ovláda vďaka tuhosti modelu. Každá fáza V-Modelu má špecifické výstupy a proces kontroly.
- Proaktívne sledovanie defektov – to znamená, že defekty sa zistia v počiatočnom štádiu.
Kedy použiť z V-Model ?
- Vysledovateľnosť požiadaviek: V-Model sa osvedčuje v situáciách, keď je nevyhnutné vytvoriť presnú sledovateľnosť medzi požiadavkami a súvisiacimi testovacími prípadmi.
- Komplexné projekty: V-Model ponúka metodický spôsob riadenia testovacích aktivít a znižovania rizík súvisiacich s integráciou a problémami s rozhraním pre projekty s vysokou úrovňou zložitosti a vzájomnou závislosťou medzi systémovými komponentmi.
- Projekty podobné vodopádom : Keďže V-Model ponúka prístupnú štruktúru na organizovanie, vykonávanie a monitorovanie testovacích aktivít na každej úrovni vývoja, je vhodný pre projekty, ktoré využívajú sekvenčný prístup k vývoju, podobne ako vodopádový model.
- Systémy kritické z hľadiska bezpečnosti: Tieto systémy sa používajú v leteckom, automobilovom a zdravotníckom priemysle. Kladú veľký dôraz na prísne overovacie a validačné postupy, ktoré pomáhajú zaručiť splnenie základných systémových požiadaviek a nájdenie a odstránenie možných rizík už v ranom štádiu vývoja.
Výhody modelu V
- Toto je vysoko disciplinovaný model a fázy sa dokončujú jedna po druhej.
- V-Model sa používa pre malé projekty, kde sú jasné požiadavky na projekt.
- Jednoduché a ľahko pochopiteľné a použiteľné.
- Tento model sa zameriava na overovacie a validačné činnosti na začiatku životného cyklu, čím sa zvyšuje pravdepodobnosť vytvorenia bezchybného a kvalitného produktu.
- Umožňuje projektovému manažmentu presne sledovať pokrok.
- Jasný a štruktúrovaný proces: V-Model poskytuje jasný a štruktúrovaný proces pre vývoj softvéru , čo uľahčuje pochopenie a sledovanie.
- Dôraz na testovanie: V-Model kladie veľký dôraz na testovanie, čo pomáha zabezpečiť kvalitu a spoľahlivosť softvéru.
- Vylepšená sledovateľnosť: V-Model poskytuje jasné prepojenie medzi požiadavkami a konečným produktom, čo uľahčuje sledovanie a správu zmien v softvéri.
- Lepšia komunikácia: Jasná štruktúra V-Modelu pomáha zlepšiť komunikáciu medzi zákazníkom a vývojovým tímom.
Nevýhody V-Modelu
- Vysoké riziko a neistota.
- Nie je to dobré pre zložité a objektovo orientované projekty.
- Nie je vhodný pre projekty, kde požiadavky nie sú jasné a obsahujú vysoké riziko zmeny.
- Tento model nepodporuje iteráciu fáz.
- Nie je ľahké zvládnuť súbežné udalosti.
- Nepružnosť: V-Model je lineárny a sekvenčný model, ktorý môže sťažiť prispôsobenie sa meniacim sa požiadavkám alebo neočakávaným udalostiam.
- Časovo náročný: Model V môže byť časovo náročný, pretože vyžaduje veľa dokumentácie a testovania.
- Prílišné spoliehanie sa na dokumentáciu: Model V kladie veľký dôraz na dokumentáciu, čo môže viesť k nadmernému spoliehaniu sa na dokumentáciu na úkor skutočných vývojových prác.
Záver
Vedecký a organizovaný prístup k životnému cyklu vývoja softvéru (SDLC) poskytuje softvérové inžinierstvo V-Model. Pri výbere akýchkoľvek modelov SDLC vrátane V-Modelu by sa mali brať do úvahy odborné znalosti tímu s vybranou metodikou, jedinečné vlastnosti projektu a povaha požiadaviek.
Príručka:
Software Engineering: A Practitioner’s Approach od Rogera S. Pressmana, vydané McGraw-Hill Education, 2017.