V-Model — Metodológia systémového inžinierstva
V-Model (Verifikačný a validačný model) je metodológia systémového inžinierstva, kde každá vývojová fáza na ľavej strane „V” má priamo zodpovedajúcu testovaciu a verifikačnú fázu na pravej strane. Je štandardným prístupom pre bezpečnostne kritický vývoj v letectve (DO-178C/DO-254), automobilovom priemysle (ISO 26262), obrane a priemyselnej automatizácii.
Štruktúra V-Modelu
Požiadavky ──────────────────── Akceptačné testovanie
↓ ↑
Systémový návrh ──────────── Systémové testovanie
↓ ↑
Návrh architektúry ──── Integračné testovanie
↓ ↑
Detailný návrh ──── Jednotkové testovanie
↓ ↑
Implementácia
Fázy V-Modelu
| Ľavá strana (Vývoj) | Pravá strana (Verifikácia) | Sledovateľnosť |
|---|
| Analýza požiadaviek | Akceptačné testovanie | Každá požiadavka má pass/fail test |
| Systémový návrh | Systémové testovanie | Správanie validované voči návrhu |
| Návrh architektúry | Integračné testovanie | Overenie rozhraní modulov |
| Detailný návrh | Jednotkové testovanie | Každý komponent testovaný izolovane |
| Implementácia | — (kódovanie / výroba) | — |
Prečo V-Model pre hardvér?
- Zmeny sú drahé — Na rozdiel od softvéru, hardvérové chyby objavené neskoro môžu stáť milióny (respin ASIC, re-layout PCB, re-certifikácia).
- Sledovateľnosť je povinná — Bezpečnostné normy (DO-254, ISO 26262) vyžadujú úplnú sledovateľnosť od požiadaviek po dôkazy o verifikácii.
- Včasná detekcia chýb — Každá fáza má explicitné revízne brány.
- Regulačný súlad — Certifikačné autority (EASA, FAA, TÜV) akceptujú dokumentáciu V-Modelu.
V-Model vo vývoji FPGA
| Fáza | Aktivity | Výstupy |
|---|
| Požiadavky | Zachytenie funkčných a výkonnostných požiadaviek | Špecifikácia požiadaviek |
| Architektúra | Rozdelenie na IP bloky, definícia rozhraní | Dokument architektúry, ICD |
| Detailný návrh | RTL mikroarchitektúra, stavové automaty | Dokument detailného návrhu |
| Implementácia | VHDL kódovanie, syntéza, P&R | RTL zdrojový kód, bitstream |
| Jednotkové testy | Simulácia na úrovni blokov, pokrytie | Testovacie správy |
| Integračné testy | Multi-bloková simulácia | Integračná správa |
| Systémové testy | Hardware-in-the-loop, environmentálne testy | Akceptačná správa |
V-Model vs. Agile
| Faktor | V-Model | Agile |
|---|
| Náklady na iteráciu | Vysoké (fyzické prototypy, certifikácia) | Nízke (softvérový deployment) |
| Regulačné akceptovanie | Vyžadované DO-254, ISO 26262 | Neakceptované pre certifikáciu |
| Najlepšie pre | Bezpečnostne kritický HW a FW | Aplikačný softvér, UX iterácia |
Moderné tímy používajú hybridný prístup: V-Model pre hardvér a kritický firmvér, Agile pre aplikačný softvér.
Normy vyžadujúce V-Model
| Norma | Doména |
|---|
| DO-254 | Letecký hardvér |
| DO-178C | Letecký softvér |
| ISO 26262 | Automobilový priemysel |
| IEC 61508 | Priemyselná funkčná bezpečnosť |
| IEC 62443 | Priemyselná kybernetická bezpečnosť |
Súvisiace pojmy
- FPGA — Hardvérové zariadenia vyvíjané podľa V-Modelu.
- RTL Design — Implementačná fáza V-Modelu pre digitálne obvody.
- PCB Design — Návrh fyzického hardvéru podľa revíznych brán V-Modelu.