V modell

iDevice ikon

A szoftverfejlesztésben alapvető követelmény a fejlesztési folyamat mindvégig helyes, következetes végrehajtása.

A fejlesztés egyes stádiumaihoz egymástól eltérő megvalósítási reprezentációk tartoznak. A helyes végrehajtás deklarálása azt kívánja meg, hogy bizonyítsuk ezen reprezentációk közötti egyértelmű összhang teljesülését. Ekkor azt kell bizonyítanunk, hogy a végeredményként kiadódó szoftvertermék 100%-ig megfelel a kiindulási specifikációnak.

A bizonyítási folyamat elvégzése úgy logikus, hogy az egymást követő fejlesztési fázisok közötti összhang, ekvivalencia igazolását végezzük el lépésenként. Ha eltérés adódik, akkor az éppen vizsgált fázist addig kell módosítani, amíg összhangba nem kerül az őt megelőző fázissal.

Az egymást követő fejlesztési fázisok közötti összhang, ekvivalencia ellenőrzési folyamatát nevezzük verifikációnak. Pontosabb definícióval ezt a következő módon fogalmazhatjuk meg:

Verifikáció: Az a folyamat, amelyben meghatározzuk, hogy a vizsgált informatikai rendszer szoftvere teljesíti-e mindazokat a követelményeket, amelyeket egy előző fázisban specifikáltak a szoftver fejlesztési vagy előállítási folyamatában.

 

Egy rendszer fejlesztési életciklusának állomásai a V-modellben: 

  • Követelmények specifikálása: Minden fejlesztési folyamat kiindulási pontját a rendszerre vonatkozó követelmények képezik. Ennek megjelenési formája: Funkcionális követelmények dokumentációja. A dokumentáció azt írja le, hogy milyen funkciókat és milyen módon kell a rendszernek teljesíteni.
  • Hazárdok és kockázatok elemzése: Célja: a lehetséges veszélyhelyzetek meghatározása a rendszerben, a megelőző kiszűrés érdekében.
    Hazárd:
    Olyan helyzet, amely egy valóságos vagy lehetséges veszélyt jelent az emberek vagy a környezet számára.
    Kockázat: Egy hazárdhoz kapcsolódó események és azok következményei, valószínűségi alapon. Azt fejezi ki, hogy milyen valószínűségű veszélyes következményei lehetnek egy hazárdnak.
  • A teljes rendszerspecifikáció: A funkcionális követelmények valamint a biztonsági követelmények együttese alkotja. Mindezen specifikáció alapján megkezdhető a teljes rendszer konkrét tervezési folyamata.
  • Architekturális tervezés: A teljes informatikai rendszer architektúrája hardverből és szoftverből tevődik össze. A tervezésnek ebben a fázisában azt kell eldönteni, hogy mely funkciók legyenek megvalósítva hardver, és melyek szoftver által. A választási szempontok: teljesítmény, sebesség, biztonság, költségesség. A tervezés eredményeként létrejönnek a hardver és a szoftver rendszertervei, tervdokumentációk formájában. Ezek alapján mind a hardvert, mind pedig a szoftvert hierarchikusan fentről lefelé haladva (top-down) tervezik meg.
  • A szoftver modulokra bontása: Célja a tervezési folyamat egyszerűsítése, áttekinthetőbbé tétele, a fejlesztési feladatok részekre való szétosztása. A tervezés eredményeként a szoftver modulok specifikációja, valamint a köztük levő interfészek, ill. kapcsolódási folyamatok terve készül el.
  • A modulok elkészítése és tesztelése: Ebben a szakaszban történik meg az egyes modulok forrásnyelvi kódjának megírása, a modulok egyenkénti lefordítása, a nyomkövetéses fejlesztői „belövése", ezt követően pedig az elkészült modulok önálló tesztelése. A tesztelési folyamatok előzetesen megtervezendők. A tesztelés már integráns része a szoftver verifikációs folyamatának, amelyben azt döntjük el, hogy egy-egy modul megfelel-e a specifikációjának. Ehhez az inputot a modulok terve szolgáltatja.
  • A szoftvermodulok integrálása: Miután mindegyik modul átment a tesztelésen, a teljes rendszer integrálására kerül sor. Ennek a folyamatnak a végrehajtásához a bemenő ionformációt a modulok terve, és a teljes rendszer terve képviselik.
  • A teljes rendszer verifikálása: Ebben a fázisban eldöntendő, hogy a teljes rendszer megfelel-e a specifikációjának, vagyis funkcionálisan teljesíti-e az összes specifikációs pontot. Az ehhez felhasználandó input: a rendszer terve, valamint a teljes rendszerspecifikáció.
  • A teljes rendszer validálása: Azt döntendő el, hogy a teljes rendszer megfelel-e a felhasználói követelményeknek. Ebbe beletartozik a biztonsági feltételek teljesítésének eldöntése is: az ún. biztonságigazolás. (Ez az előírt funkciók ellenőrzésén túli ellenőrzést követel meg.) Input a rendszer-követelmények dokumentációja, és a teljes rendszerspecifikáció.
  • Bizonylatolás (certification): A hatósági előírások és szabványok szerinti megfelelés eldöntése, és az erre vonatkozó bizonylatok kiállítása. Input a rendszerkövetelmények dokumentációja, és a teljes rendszerspecifikáció.
  • Üzembe helyezés, üzemeltetés, karbantartás, elavulás, üzemeltetés megszüntetése: Input a biztonsági követelmények dokumentációja.

 

A V-modell részletesebb megjelenítése a következő ábrán látható. Az ábra szögletes blokkjai az egyes fázisok tevékenységét tartalmazzák, a kerekített sarkú blokkok a kimenti eredményeket képviselik, a folyamatos nyíl az információ elsődleges áramlását, a szaggatott nyíl pedig a másodlagos információáramlást jelzi.

3. ábra