Fagano patikra (Fagan inspection) - struktūrizuotas procesas, skirtas trūkumų
atradimui programinės įrangos kūrimo dokumentuose (tokiuose, kaip programos kodas,
specifikacijos, projektavimas ir kt.). Pavadinta Michaelio Fagano*) vardu.
Tai grupinės peržiūros metodas, turintis įvertintis proceso rezultatus (output).
Jame numatytos skirtingos rolės: autoriaus, skaitytojo, tikrintojo, moderatoriaus.
Fagano patikra apibrėžia procesą kaip tam tikrą veiklą su iš anksto nustatytais įėjimo ir išėjimo kriterijais ir patikrina ar išėjimo duomenys
atitinka nustatytus kriterijus. Ją galima panaudoti:
- Reikalavimų specifikacijai;
- Architektūrai (programinės įrangos ar informacinės sistemos), pvz., DYA;
- Programavimui, pvz., XP ar DSDM iteracijoms;
- Testavimui, pvz., kuriant testus...
Programinės įrangos kūrimas tinka Fagano patikrai, nes tai yra veiksmų sekos, ir jis
pateikia tam tikrus rezultatus. Patikra daroma patikrinant kiekvieno veiksmo rezultatus pagal išėjimo kriterijus.
Įėjimo kriterijai yra tam tikri kriterijai, kurie būtini tam tikro proceso pradėjimui. Išėjimo
kriterijai yra tam tikri reikalavimai, kurie turi būti patenkinti pasibaigus procesui. Nukrypimai
nuo reikalavimų vadinami trūkumais ir gali būti įvertinti kaip Svarbūs ir Nesvarbūs.
Įprastinis Fagano patikros procesas susideda iš:
- Planavimo (Medžiagos parengimas; dalyvių paskyrimas; susirinkimų vietų paskyrimas);
- Peržiūros (Grupės supažindinimas su tikrinama medžiaga; rolių paskirstymas);
- Pasiruošimo (Dalyviai pasiruošia rolėms);
- Patikros susirinkimo (Faktinis trūkumų suradimas);
- Pataisymo (Surastų trūkumų šalinimas [autorius, projektuotojas ar programuotojas]. Dokumentai taisomi tol, kol patenkinami reikalavimai);
- Užbaigimo (Moderatorius patikrina, ar visi pataisymai padaryti ir ar nepadaryta naujų trūkumų).
Didelėse kompanijose jos pagalba galima aptikti 80-90% trūkumų.
Vėliau buvo pasiūlyti Fagano patikros patobulinimai. Buvo sukurta ir programinė įranga,
rastus defektus sauganti DB ir automatiškai skanuojanti programinį kodą ieškant tų žinomų netikslumų.
21 a. pradžia atnešė Agile. Extreme Programming (XP) į programinės įrangos kūrimą įnešė daug įvairių įžvalgų,
tarp kurių bent dvi iš svarbių susiję su pradinio kodo peržiūra porinio programavimo idėja užtikrina nuolatinį pradinio
kodo patikrinimą, o TDD (į testavimą orientuotas programavimas) apsaugo nuo kai kurių kompiliavimo meto, indeksų ir
nuorodų klaidų. Kita XP įžvalga susijusi su kaina radus klaidą vėlai (t.y., kuo vėliau randama klaida, tuo jos ištaisymas
reikalauja daugiau pastangų). Čia ir suveikia Agile, leidžianti aptikti klaidą maždaug 2 savaičių laikotarpiu (o ne po 6
mėn. kaip naudojantis waterfall principais).
*) Maiklas Faganas (Michael Fagan)- amerikiečių programinės įrangos projektuotojas,
Michael Fagan Associates (įsteigtos 1989 m.) vadovas, 8-ojo dešimtm. pradžioje dirbant IBMe sukūręs Fagano patikrą ir vėliau
išvystęs į Fagano klaidų neturintį procesą (Fagan Defect-Free Process), kurie leido žymiai
sumažinti klaidų kiekį tiek programinėje įrangoje, tiek aparatinėje įrangoje.
Literatūra:
- M.E. Fagan. Design and Code inspections to reduce errors in program development// IBM Systems J., 1976, vol.15, no 3
- M.E. Fagan. Advances in Software Inspections// IEEE Transactions on Software Engineering, 1986, vol. SE-12, no 7
Kiti HOT.LT straipsniai:
Nulio istorija
"Ruby" kalba ir RoR
Papildytoji tikrovė
Siurbkite tiesiai į smegenis
Intuityvus Hafmano kodo paaiškinimas
Klodas Šenonas žmogus, išradęs ateitį
Kiber-seksualumas ir žmogaus prigimties vystymasis
Danas Briklinas: skaičiuoklės autorius
Kibersekso pamokos
Matematinė kalba ir simbolika
Nekenčiu kalkuliatoriaus!
Didelių duomenų analizės terminai
Matematikos filosofinės problemos
Technika: Nuo Paleolito laikų
Naujojo tipo mokslas
ARPANET istorija
Programavimo kalbų evoliucija
Intuicijos ribojimas matematikoje 19-me amžiuje
Verčiame kompiuterinius terminus (PDF)
Ką byloja byla: ar teks bylinėtis dėl bylos? (HTML)
Seniausias pasaulyje analoginis kompiuteris (HTML)
Išorinio panašumo pavojus
Visata kaip kompiuteris
Eliza ir rūpesčiai dėl tapatybės
Programavimo paradigmos
Trijų taisyklė
|