Specifikáció

A Programozás Wiki wikiből

A programfejlesztésben a specifikáció valamilyen programmal, programrésszel, vagy szolgáltatással szemben támasztott követelmények leírása. A specifikáció jellemzően a programfejlesztés korai szakaszában készül el, alapot szolgáltatva egyrészt a megbízóval történő egyeztetéshez, másrészt a megvalósítás fő irányainak kialakításához.

Felépítés[szerkesztés]

Egy program specifikációjában jellemzően az alábbiak szerepel(het)nek:

  • Milyen feladatot kell egy programnak elvégeznie
  • Milyen bemeneti adatokkal dolgozik a program
  • Milyen kimeneti adatokat szolgáltat a program

Grafikus felületű programok esetén:

  • Milyen elemeket (ablakokat, paneleket) lát a felhasználó
  • Milyen kapcsolatban vannak a felületi elemek, honnan hová lehet továbblépni
  • Milyen események fordulhatnak elő az egyes helyzetekben, milyen választ ad rájuk a program
  • Egyéb (pl. design, időbeli, erőforrás-használati) elvárások

Programkönyvtár esetén:

  • A könyvtár által használt adattípusok leírása
  • A könyvtár által nyújtott szolgáltatások (függvények) leírása
  • Egyéb (pl. architektúra, erőforrás-használati) megkötések

Függvények esetén:

Jellemzők[szerkesztés]

Általános elvárás a specifikáció irányában, hogy lehetőleg mind felhasználói, mind programfejlesztői szempontból pontos, értelmes, és minél teljesebb legyen. Bizonyos esetekben a specifikáció, vagy annak egyes részei valamilyen formális nyelven (is) készülnek, elősegítve az egyértelmű megfogalmazást.

Gyakorlatban főleg a kisebb, vagy gyorsan változó projektek esetén a pontos specifikáció idő- és költségigénye aránytalanul nagy lehet a megvalósítás összes költségéhez mérten. Ilyen esetekben annak elkészítése és használata háttérbe szorul. Egyes módszertanok akár teljesen el is hagyhatják ezt a lépést.

Általában a specifikáció megléte sokat segíthet a megbízóval történő egyeztetésben. Ha a leírás formája kezelhető és átlátható, a felmerülő újabb igények a specifikáció változatása után pontosabban, ellenőrizhető formában kerülhetnek megvalósításra.