După mine, specificaţiile reprezintă esenţa muncii de analiză-proiectare în orice domeniu. Cine ştie să elaboreze specificaţii de foarte bună calitate, este un adevărat specialist în ale informaticii.
După mine, nişte specificaţii sunt de calitate foarte dună dacă:
- există 100 de programatori,
- cei 100 de programatori citesc aceleaşi specificaţii,
- cei 100 de programatori scriu programe,
- cele 100 de programe nu diferă semnificativ unele de altele,
- cele 100 de programe, pentru aceleaşi seturi de date de test permit obţinerea aceloraşi rezultate,
- cele 100 de programe au structuri care nu diferă semnificativ,
- toţi cei 100 de programatori au înţeles aceeaşi problemă,
- toţi cei 100 de programatori nu fac interpretări fiecare cum vrea la ceea ce este solicitat.
Dacă specificaţiile sunt incomplete, programatorii fie merg ei pe teren şi fac completările care trebuie, fie inventează după regulile proprii acele elemente lipsă şi scriu programe pentru rezolvarea a cu totul altor probleme decât cele ce trebuie rezolvate de fapt.
Dacă specificaţiile sunt supra-definite, înseamnă că includ elemente în plus şi programatorii trebuie să se descurce prin hăţişul de elemente, dintre care unele sunt redundante sau altele sunt inconsistente. Sarcina lor este să separeu grâul de neghină. Dacă nu o fac bine, ei vor scrie programe care nu prea au legătură cu problema iniţială de rezolvat.
Am văzut specificaţii scrise de persoane care nu înţeleseseră clar cum stau lucrurile şi nu formalizaseră bine mai nimic.
Să dau un exemplu.
Se ştie că atunci când vrem să rezolvăm probleme despre stocuri, nu vom lucra cu un material, căci în depozit de află N materiale sau N produse.
Deci, vom nota X1, X2, X3, . . . , XN, denumirile de materiale.
Stocul final al materialului Xi, notat SFi, se calculează după formula:
SFi = SIi + INi- IEi, i=1,2,3, . . . , N, unde:
SIi este stocul iniţial am materialului cu codul Xi,
INi sunt intrările din materialul cu codul Xi,
IEi sunt ieşirile totale din materialul cu codul Xi.
Nu-mi amintesc ca prin materialele de definire a specificaţiilor să fi văzut astfel de formule, cum nici variabilele INi şi IEi să fie scrise undeva ca fiind de fapt nişte sume de cantităţi ce rezultă din documentele de aprovizionare, respectiv, documentele cu care sunt scoase materialele pentru consum în secţiile de producţie.
Se ştie că apar fluctuaţii de preţuri şi acestea se includ în bazele de date cu niveluri şi momentele în care se face modificările, ceea ce presupune adaptarea formulelor care să ţină seama de dinamica preţurilor. Fără această abordare, ne vom găsi în situaţia că nu vom avea un produs software care să redea în esenţa ei eficienţa organizaţiei din moment ce piaţa nu se regăseşte într-o descriere completă şi nu se văd sursele de profit sau de pierdere şi apar situaţii critice, exact aşa cum am văzut eu în outlet-ul din Militari un USB de 512 Kb acum când se vorbeşte de Tb care se vindea cu 300 de lei, că un manager neglijent nu făcuse actualizările în vitrină, iar în baza sa de date, bănuiesc că era un haos de nedescris la capitolul actualizări.
|