Funkcionális specifikáció

A funkcionális specifikáció (vagy funkspec, spec, funkcionális specifikáció dokumentum, funkcionális követelmény specifikáció) a szoftverfejlesztésben egy olyan dokumentum, ami meghatározza azokat a funkciókat, amiket a rendszernek meg kell tudni valósítani (sokszor ezek a követelményspecifikáció részei).

A dokumentáció általában leírja a felhasználó igényeit, ahogy az inputok és outputok elvárt jellemzőit is. Egy funkcionális specifikáció egy szakmaibb változata a hozzá tartozó követelményeket leíró dokumentumnak, például a termék követelményeit leíró dokumentumnak (Product Requirements Document vagy "PRD"). Így ez a dokumentum már használja a követelmények vizsgálatának stádiumából származó eredményeket. Egy összetettebb rendszer esetén általában több funkcionális specifikáció lesz egymásba ágyazva, pl. a teljes rendszer szintű, a modul szintű és a technikai részletek szintű specifikációk.

ÁttekintésSzerkesztés

Egy funkcionális specifikáció nem definiálja a a rendszer belső működését; nem tartalmazza annak a meghatározását, hogyan lesznek a rendszer funkciói implementálva. Ehelyett az kerül a fókuszba, hogy egy külső ügynök (a programot használó emberek, számítógépes perifériák, más számítógépek stb.) mit "figyelhet meg", amikor interakcióba lép a rendszerrel.

Egy funkcionális követelmény nézhet ki például ilyen vagy ehhez hasonló módon:

Amikor a felhasználó az OK gombra kattint, a párbeszédablak bezárul, és visszatér a fókusz a fő ablakra, ugyanabban az állapotban, mint azelőtt volt, hogy a párbeszédablak megjelent volna.

Egy ilyen követelmény leírja az interakciót egy külső ügynök (a Felhasználó) és a szoftver között. Amikor a felhasználó inputot szolgáltat a rendszernek az által, hogy megnyomja az OK gombot, a program válaszol (vagy válaszolnia kéne) oly módon, hogy bezárul az OK gombot tartalmazó párbeszédablak.

A funkcionális specifikáció témaköreiSzerkesztés

CélSzerkesztés

Sok célja van egy funkcionális specifikációnak. Az egyik elsődleges cél a csoport projektek esetén egy közös megegyezés megszületése a csapat részéről, arra vonatkozóan, hogy mi lesz a program, még az előtt, hogy az időigényesebb részekbe munkát fektetnének (Forráskód, Tesztesetek megírása, debuggolás). Általában ilyen megegyezés néhány, az érdekelt személyek által a projektről tartott megbeszélés után születik, ahol megtárgyalják, hogy mi a költséghatékony módja a követelmények teljesítésének.

  1. Hogy a fejlesztők tudják, mit kell fejleszteniük
  2. Hogy a tesztelők tudják, milyen tesztek futtatására van szükség
  3. Hogy a megrendelők tudják, mit kapnak a projekt végeztével

FolyamatSzerkesztés

A megrendelt ipari szoftver fejlesztés életciklusában (vízesésmodell) a funkcionális specifikáció azt írja le, minek kell implementálva lennie. A következő Rendszerterv dokumentum azt részletezi, hogyan lesznek az egyes funkciók megvalósítva a választott fejlesztői környezetben. A nem ipari, prototípusos rendszer fejlesztésnél a funkcionális specifikáció általában a követelmények vizsgálata után vagy részeként íródik.

Amikor a csapat egyetért abban, hogy a funkcionális specifikáció kapcsán közös megegyezés született, akkor a specifikációt "teljes"-nek nyilvánítják. Ez után, általában a szoftverfejlesztő és a tesztelő csapat forráskódot és teszteseteket ír a funkcionális specifikáció alapján. Amikor a tesztelés zajlik, a program viselkedését a specifikáció alapján elvárt viselkedéssel hasonlítják össze.

MódszerekSzerkesztés

Az egyik népszerű módja a funkcionális specifikáció írásának, hogy a dokumentum rajzokat vagy vázlatos ábrákat, vagy akár pontos, grafikusan kialakított felhasználói felületek képernyőfotóit tartalmazza. Mikor ezek már teljesek, és ezek a minták elfogadásra kerülnek a megrendelő által, akkor minden grafikus elem megszámozásra kerül, és mindegyik sorszámhoz írásos instrukció készül. Például van egy bejelentkező képernyő egy felhasználónév mezővel, ami '1'-es számmal van felcímkézve, és egy jelszó mezővel, ami pedig '2'-vel van jelölve. Ezután minden számot kifejtünk írásban a szoftverfejlesztők számára és a későbbi bétateszteléshez, hogy biztosítsa, az adott funkció szándékos. Ennek a módszernek az előnye, hogy akárhány további részlet hozzácsatolható a képernyőpéldákhoz.

Kapcsolódó szócikkSzerkesztés

FordításSzerkesztés

Ez a szócikk részben vagy egészben a Functional Specification című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.