Monday, April 25, 2016

O regulă care merită să fie încălcată

Se zice, exact cum încep basmele populare că atunci când este proiectat un sistem informatic să nu se memoreze în bazele de date rezultate calculate. Nu se precizează când au fost calculate și nici de către cine.

  • Dacă se scrie un program în care se preiau date dintr-o bază de date, se fac niște calcule, este normal ca rezultatele obinute să nu fie înscrise în baza de date dacă acele rezultate sunt destinate uzului intern și dacă tot ce se face pe baza lor cade direct în sarcina celui care este prorpietarul aplicației, întrucât el își asumă toate responsabilitățile;
  • Dacă operatorului îi vine o factură în care sunt înscrise cantități, prețuri fie că este completată manual, fie că vine în format electronic, se preaiu și rezultatele. Se refac calculele și dacă nu există diferențe se merge mai departe, iar dacă apar diferențe acestea sunt tratate. Există posibilitatea că emitentul facturii să fi greșit și se face corecția, Dar tot atât de bine este posibil ca programul propriu sa conțină în el o eroare. Eroarea trebuie corectată.
Este rezonabil ca în noul context în care nu există proceduri unice, ci fiecare dezvoltator are schema lui de a scrie o procedură pentru a face o prelucrare pentru care există deja ceva scris, dar nefiind obligat, nu foloseste, să fie utilizate modalități de a verifica tot ceea ce este rezultat al prelucrărilor precedente.

Dacă, așa cum a fost dat cazul facturilor în baza de date sunt stocate 2.000 de facturi cu valori totale, cu valori fără TVA dar și nivelul TVA și dacă în toate cele 2.000 de cazuri apar diferențe între ceea ce oferă acele facturi și calculele din programul nostru, cu siguranță că programul propriu este cu problemă.
Consider ca refacerea calculelor și compararea rezultatelor proprii cu cele deja existente în baza de date preluate din facturile oferite, este o modalitate de testare. Se știe că în informatică zicerea: gunoi bagi, gunoi scoți, atât de adevărată în zona datelor de intrare trebuie completată cu proverbul machedonilor: dacă într-o oală de ciorbă pui o lingură de rahat, totul rahat se numește. După părerea mea această zicere este mai apropiată de adevăr, întrucâu un singur rezultat intermediar dacă este eronat compromite întreaga prelucrare.
Acum mulți ani un magazin a întocmit o factură și a greșit cu 1 leu în plus. S-a obținut credit dar în loc calculul să fi fost făcut înainte de acordare de credit, s-a făcut verificarea după, cerând rambursarea 1 leu primit credit aiurea. Acest lucru s-a făcut la o sucursală a băncii, numai materialele imprimate folosite plus tranzactia în sine au costat cam 10 lei. Morala: toate datele se introduc îb baza de date, se refac calculele și numai după aceea se aprobă credituș Așa zisa reglare duce la cheltuieli aberante.
Să ne imaginăm un zbor cosmic sau fundația unui baraj în care ceva aparent neimportant este eronat. Acel ceva neînsemnat intră în calcule și se rostogolește propagând eroarea, amplificând-o chiar. Rezultatul este o catastrofă.


(26 aprilie 2016)

No comments:

Post a Comment