Szoftveráttekintés

A Wikipédiából, a szabad enciklopédiából

A szoftveráttekintés "Egy olyan folyamat vagy találkozó, amelynek során a szoftverterméket átvizsgálják a projektben résztvevők,a menedzserek, a felhasználók, az ügyfelek, a felhasználói képviselők vagy más érdekelt felek a szoftver ellenőrzése és jóváhagyása céljából".[1]

Ebben az összefüggésben a „szoftvertermék” kifejezés jelentése „bármilyen műszaki dokumentum vagy részleges dokumentum, amelyet a szoftverfejlesztési folyamat eredményeként állítanak elő”, ami tartalmazhat olyan dokumentumokat, mint a szerződések, projekttervek és költségvetések, követelménydokumentumok, specifikációk, tervek, forráskódok, felhasználói dokumentációk, támogatási és karbantartási dokumentációk, teszttervek, tesztelési előírások, szabványok és bármilyen más típusú speciális munkatermékek.

A szoftveráttekintés fajtái[szerkesztés]

A szoftveráttekintések három kategóriába sorolhatók:

  • A szoftver szakértői értékelését (Software peer reviews) a szoftvertermék szerzője vagy a többi kollégája végzi a munka műszaki tartalmának és minőségének értékelése céljából.[2]
  • A szoftvermenedzsment felülvizsgálatát (Software management reviews) a vezetőség képviselői végzik azért, hogy értékeljék az elvégzett munka állapotát és döntéseket hozzanak a későbbi tevékenységekkel kapcsolatban.
  • A szoftverellenőrzés felülvizsgálatát (Software audit reviews) a szoftverprojekten kívüli személyzet végzi azért, hogy értékelje a specifikációk, szabványok, szerződéses megállapodások vagy egyéb kritériumok betartását.

Különböző típusú szakértői vélemények[szerkesztés]

  • A kód áttekintése (Code review) a számítógépes forráskód szisztematikus vizsgálatát jelenti (gyakran szakértői értékelésként).
  • A páros programozás egy olyan típusú kód-áttekintés, ahol két ember együtt dolgozza ki a kódot ugyanazon a munkaállomáson (workstation).
  • Az ellenőrzés (Inspection) egy nagyon formális szakértői értékelés, ahol az értékelők egy jól meghatározott eljárást követnek a hibák megállapítása során.
  • A bejárás (Walkthrough) a szakértői értékelés egyik formája, ahol a szerző irányítja a fejlesztő csapat tagjait és más érdekelt feleket a szoftverterméken keresztül, ahol a résztvevők kérdéseket tehetnek fel és észrevételeket is tehetnek az esetleges hibákkal kapcsolatban.
  • A műszaki felülvizsgálat (Technical review) a szakértői felülvizsgálat egyik formája, amelyben egy képzett személy vagy egy csoport megvizsgálja a szoftvertermék rendeltetésszerű felhasználására való alkalmasságát, és azonosítja a specifikációk és a szabványok közötti eltéréseket.

Formai és informális áttekintések[szerkesztés]

Az "Alaki követelmények" meghatározzák, hogy egy tevékenységet milyen mértékben szabályozzanak az elfogadott (írásbeli) szabályok. A szoftveráttekintési folyamatok sokféle változatban léteznek, viszonylag strukturálatlan tevékenységekkel együtt, mint például a "haver ellenőrzése" (buddy checking). Természetesen formálisabb változatok is léteznek mint például az áttekintések, műszaki áttekintések és szoftverellenőrzések. IEEE Std. Az 1028-1997 meghatározza a "hivatalos szakértői értékelések" mindegyikének a formális struktúráit, szerepeit és folyamatait, a szoftverellenőrzésekkel (software audits) együtt.[1] Az IEEE 1028-1997-et később az IEEE 1028-2008 váltotta fel.[3]

A kutatási tanulmányok alátámasztják azt a következtetést, hogy a hivatalos áttekintések jelentősen meghaladják az informális áttekintéseket a költséghatékonyság szempontjából. Az informális áttekintés gyakran szükségtelenül drága lehet (az időpazarlás és a koncentráció hiánya miatt), és gyakran olyan biztonságérzetet is nyújt, ami indokolatlan a feltárt és a kijavított valódi hibák kis száma miatt.

IEEE 1028 általános eljárás a hivatalos felülvizsgálatokhoz[szerkesztés]

Az IEEE Std 1028 meghatározza a „formális” áttekintések közös tevékenységi körét (néhány variációval együtt, különösen a szoftverellenőrzésnél). A tevékenységek sorrendje nagyrészt az ellenőrzési folyamaton alapul, amelyet Michael Fagan fejlesztett ki az IBM-nél. Különböző típusú felülvizsgálatok során alkalmazhatják ezt a szerkezetet eltérő szigorúsággal, de az ellenőrzéshez minden tevékenység kötelező:

  • 0. [Belépési értékelés]: A felülvizsgálati vezető a belépési kritériumok egységes ellenőrzőlistáját használja annak biztosítására, hogy a sikeres felülvizsgálathoz optimális feltételek álljanak rendelkezésre.
  • 1. Vezetés előkészítése: A felelősségteljes vezetés biztosítja, hogy a felülvizsgálat a megfelelő forrásokkal rendelkezzen azaz, személyzettel, idővel, anyagokkal és eszközökkel, valamint még biztosítja, hogy a felülvizsgálatot a szabványok vagy más vonatkozó kritériumok szerint végezzék el.
  • 2. A felülvizsgálat tervezése: Az áttekintő vezető azonosítja vagy megerősíti a felülvizsgálat céljait, összeállít egy áttekintői csoportot, és gondoskodik arról, hogy a csoport rendelkezésre álljon a felülvizsgálat elvégzéséhez szükséges összes erőforrással együtt.
  • 3. A felülvizsgálati eljárások áttekintése: A felülvizsgálati vezető, vagy más képzett személy biztosítja (szükség esetén egy ülésen), hogy minden bíráló megértse a felülvizsgálati célokat, a felülvizsgálati eljárásokat, a rendelkezésére álló anyagokat és a felülvizsgálat elvégzésének eljárásait.
  • 4. [Egyéni] előkészítés: A bírálók egyénileg felkészülnek a munka csoportos vizsgálatára, gondosan megvizsgálva azokat a rendellenességeket (potenciális hibákat), amelyek jellege az áttekintés típusától és céljától függ.
  • 5. [Csoportos] Vizsga: A bírálók egy tervezett időpontban találkoznak, hogy megbeszéljék az észrevételeiket és megállapodásra jussanak a felülvizsgált dokumentum (vagy tevékenység) helyzetével kapcsolatban.
  • 6. Átdolgozás / nyomonkövetés: A termék szerzője (vagy más kijelölt személy) megteszi a szükséges lépéseket a hibák kijavításához vagy a bírálók ülésén elfogadott követelmények más módon történő teljesítéséhez. A felülvizsgálati vezető ellenőrzi, hogy minden műveleti elem lezárult-e.
  • 7. [Kilépés az értékelésből]: A felülvizsgálati vezető ellenőrzi, hogy a sikeres felülvizsgálathoz szükséges összes tevékenységet elvégezték-e, és hogy a felülvizsgálat típusának megfelelő összes feladatot befejezték-e.

Az értékelések értéke[szerkesztés]

A szoftveres áttekintések (különösen a formális áttekintések) legnyilvánvalóbb értéke az, hogy korábban és olcsóbban tudják azonosítani a problémákat, mint amelyeket teszteléssel vagy helyszíni felhasználással lehetne azonosítani (hibák felderítésének folyamata). A hiba áttekintéssel történő megkeresésének és kijavításának költségei viszonylag alacsonyabbak lehetnek, mint amikor ugyanazt a hibát a teszt végrehajtása során vagy éles helyzetben találják meg.

A szoftverek áttekintésének második, de még fontosabb értéke az, hogy a műszaki szerzők képezhetőek a rendkívül alacsony hibájú dokumentumok kidolgozása során, valamint a hibák elősegítésére szolgáló hibák hiányosságainak azonosítása és eltávolítása során is (hibák megelőzésének folyamata).

Ez különösen igaz a szakértői értékelésekre, ha azokat korán és gyakran a munkamintákon végzik, ahelyett, hogy a munka befejezéséig várnának. A kis munkaminták korai és gyakori áttekintése azonosíthatja a szerző munkafolyamatainak szisztematikus hibáit, amelyek a további hibás munka elvégzése előtt kijavíthatóak lennének. A szerzői készségek javulása drasztikusan csökkentheti a kiváló minőségű műszaki dokumentum kidolgozásához szükséges időt, és drasztikusan csökkentheti a hibaarányt a dokumentum későbbi folyamatokban történő felhasználása során is.

Általános elv: minél előbb készül a műszaki dokumentum, annál nagyobb lesz a hibáinak hatása a későbbi tevékenységekre és azok munkatermékeire. Ennek megfelelően a legnagyobb értékek a dokumentumok, például marketing tervek, szerződések, projekttervek és ütemtervek, valamint a követelmények specifikációjának korai felülvizsgálatából származik. A kutatók és a gyakorlati szakemberek bebizonyították, hogy a folyamatok felülvizsgálata hatékonyságot mutat a hibák és a biztonsági kérdések felkutatásakor.[4]

Jegyzetek[szerkesztés]

  1. a b IEEE Std. 1028-1997, "IEEE Standard for Software Reviews", clause 3.5
  2. Wiegers, Karl E.. Peer Reviews in Software: A Practical Guide. Addison-Wesley, 14. o. (2001). ISBN 0201734850 
  3. (2008. augusztus 15.) „IEEE Standard for Software Reviews and Audits”. IEEE Std 1028-2008, 1–53. o. DOI:10.1109/IEEESTD.2008.4601584.  
  4. Charles P.Pfleeger, Shari Lawrence Pfleeger. Security in Computing. Fourth edition. ISBN 0-13-239077-9

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a Software review 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 és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.