Sunteți pe pagina 1din 21

Calitatea produselor software

9-1

Capitolul 9. Calitatea produselor software


9.1 Concepte generale privind calitatea
Importana calitii produselor software este justificat prin mai multe aspecte: erorile din programele
de aplicaie pot fi fatale n anumite domenii unde vieile oamenilor depind de acestea (controlul
traficului aerian sau feroviar, cltoriile n spaiul cosmic, sistemele de meninere a vieii n condiii
vitrege - sub ap, la mare nlime, la temperaturi sau presiuni improprii vieii umane). Aceste erori pot
provoca pierderi umane, financiare, materiale.
Calitatea produselor software reprezint totalitatea nsuirilor tehnice, economice i sociale ale
produselor software. Ea reprezint ansamblul nsuirilor ce exprim gradul n care acestea
satisfac nevoia utilizatorilor, n funcie de parametrii tehnico-economici, de gradul de utilitate i
de eficiena economic n exploatare.
Gradul de utilitate al produselor program cuprinde:
a) calitatea de concepie i proiectare - msura n care proiectul produsului program asigur
satisfacerea cerinelor utilizatorilor;
b) calitatea de execuie - msura n care procesul de elaborare se desfoar conform fluxurilor
stabilite, cu utilizarea resurselor adecvate;
c) calitatea de conformitate - gradul de concordan dintre nsuirile reale ale produsului program
i cele prezentate n documentaia final;
d) capacitatea de utilizare - comportamentul produsului program n rezolvarea curent a
problemelor aparinnd clasei pentru care a fost elaborat;
e) capacitatea de mentenan - msura n care pot fi eliminate anomaliile ce apar n timpul
execuiei sau pot fi puse de acord noi cerine de prelucrare cu efortul pentru implementare.
Toate acestea se regsesc n disponibilitatea produsului program, care este dat de capacitatea de
utilizare curent i de capacitatea de mentenan n raport cu cerinele specifice fiecrui beneficiar.
nsuirile calitative ale produselor program se creaz n procesul de elaborare, dar se manifest n
procesul de utilizare.
Calitatea procesului de elaborare reflect modul de realizare, laturile activitii de concepie tehnologic, msurile organizatorice din unitile de informatic i ofer garania realizrii de produse
program performante.
Calitatea produsului program este expresia final a procesului de realizare, sintetiznd nivelul
tehnic, funcional i economic, caracteristic fiecrui program; calitatea este o noiune complex i
dinamic, ntruct coninutul produsului program evolueaz n timp - n funcie de cerinele practice ale
utilizatorilor - att extensiv, prin modificarea numrului de funcii de prelucrare ct i intensiv, prin
mbuntirea performanelor acestuia.
Utilizatorul este cel care verific calitatea unui produs program, avnd drept criteriu satisfacerea
cerinelor sale. Productorii de software trebuie s obin, cel puin, acel nivel al calitii care s
permit satisfacerea ateptrilor utilizatorului. Un nivel mai sczut, duce la alegerea produselor
software concurente, care la acelai pre ofer nivelul necesar al calitii. Pe de alt parte, un nivel mult
mai ridicat al calitii antreneaz costuri foarte mari, care se reflect n preul produsului. n acest caz,
utilizatorul alege acele produse concurente care la un pre mai sczut, ofer un nivel suficient al
calitii.
Este necesar, deci, utilizarea unor metode de evaluare a calitii software astfel nct s existe

9-2

Calitatea produselor software

posibilitatea comparrii nivelului planificat al calitii cu cel obinut efectiv.


Dac n domeniul produselor hardware costurile au o tendin general de scdere, n domeniul
dezvoltrii de software, dei productivitatea a crescut substanial, nu se nregistreaz aceeai tendin.
Acest ultim aspect se datoreaz particularitilor prin care calitatea se manifest n domeniul
produselor software:
producia de software nu este o producie de mas, fiecare produs software fiind un unicat.
Aceasta face ca activitatea de stabilire a standardelor din acest domeniu s fie mult mai dificil. Pot
fi standardizate procesele, metodele i tehnicile de elaborare a software-ului astfel nct n final s
se obin produse software de un anumit nivel al calitii;
produsele software sunt reproductibile cu costuri aproape nule, ceea ce nseamn c, odat realizat
un produs, el este disponibil ntr-un numr nelimitat de exemplare. Calitatea copiilor este aceeai
cu cea a originalului, deci o calitate necorespunzatoare se poate propaga cu efecte nefavorabile,
antrennd costuri de remediere foarte mari i afectnd imaginea firmei producatoare;
produsele software nu sunt supuse uzurii fizice, ele se erodeaz numai din punct de vedere moral,
atunci cnd nu mai corespund noilor cerine sau cnd apar produse software mai performante care
realizeaz aceleai funciuni. Un produs software depit poate fi nlocuit cu altul nou sau poate fi
adaptat pentru a satisface noile cerine formulate de utilizator. Decizia se ia n raport de costurile
fiecreia dintre variante, iar dac produsul software este usor modificabil, costurile aferente
adaptrii sale vor fi mult mai sczute;
pentru a putea utiliza produsele software este nevoie de un procesor care s le ruleze. Sistemele de
calcul i operare sunt supuse, de asemenea, uzurii morale, punndu-se i n acest caz problema
transferrii produsului software ntr-un alt mediu. Un produs software care posed o portabilitate
ridicat poate fi modificat cu uurin, cu costuri mici.
comportamentul instruciunilor este egal n timp, nu se deterioreaz;
erorile sunt provocate de folosirea sau combinarea incorect a instruciunilor sau altor componente
elementare, i nu de aceste componente n sine;
interaciunile dintre componentele unui program sunt, n general, mai complexe, mai ales dac
acestea ruleaz n cadrul unor aplicaii complexe;
erorile exist deja n program, ele sunt eliminate cu timpul, prin depanare, deci programul nu-i
pierde calitile prin trecerea timpului, ci i le mbuntaete;
eliminarea unei erori nu d sigurana c a diminuat numrul total de erori cu o unitate;
non-calitatea programelor poate fi atribuit n ntregime greelilor umane, de proiectare, concepie,
programare, documentare.
Toate aceste aspecte sunt specifice produselor software i trebuie reflectate n evaluarea calitii
acestora.
O importan deosebit n procesul de dezvoltare software o are dependena dintre specificul i
calitatea procesului generator, calitatea proiectului i calitatea produsului. Definirea problemei la
beneficiar i clarificarea i detalierea acesteia de ctre beneficiar i productor prin elaborarea unor
specificaii are un impact deosebit att asupra calitii proiectului i, ulterior, a produsului, dar i
asupra ntregului ciclu de via al produsului software.

9.2 Evaluarea calitii produselor program


9.2.1 Sistemul caracteristicilor de calitate
Costurile ridicate care caracterizeaz activitatea de construire a produselor program impun analiza
corelaiei dintre performanele acestora i efectele pe care le are utilizarea curent a programelor.

Calitatea produselor software

9-3

Performanele se stabilesc prin luarea n considerare a duratei n care se obine soluia final i a consumului de resurse necesare pentru rezolvarea integral a problemelor curente. Nivelul performanei este
influenat de modul n care produsului program i s-au asigurat calitatea de concepie-proiectare,
calitatea de execuie, calitatea de conformitate, capacitatea de utilizare curent i capacitatea de
mentenan.
Sistemul caracteristicilor de calitate este organizat pe patru nivele i anume: caracteristici, atribute,
metrici i elemente de evaluare.
Caracteristicile de calitate ale produselor program sunt determinate de atributele de calitate. La rndul
su, fiecare atribut se msoar prin una sau mai multe metrici, iar unei metrici i corespund unul sau
mai multe elemente de evaluare.
Trebuie remarcat importana relativ a diferitelor caracteristici de calitate i alegerea n mod flexibil a
acestora pentru a aprecia calitatea unui produs program.
La realizarea unui produs program sunt alese, asigurate i controlate acele caracteristici de calitate care
s permit evaluarea calitii produsului n funcie de tipul acestuia, de domeniul de activitate n care
va fi utilizat.
Caracteristicile i atributele de calitate formeaz un sistem dinamic, complex. Creterea nivelului unei
caracteristici poate conduce automat att la creterea nivelurilor pentru unele caracteristici, ct i la
scderea nivelurilor pentru altele.
Programatorii trebuie s cunoasc modul n care interacioneaz caracteristicile i atributele de calitate
pentru a asigura realizarea echilibrului necesar ncadrrii produsului program n limite de performan
admise.
Caracteristicile de calitate sunt puse n eviden n diferite etape din ciclul de via ale produsului
program.
Caracteristicile de calitate ale produselor software sunt:
1. Fiabilitatea: un program posed caracteristica de fiabilitate n msura n care ndeplinete funciile
de prelucrare cerute de beneficiar, pe un interval de timp dat, fr erori;
2. Corectitudinea: un produs program este corect dac transformrile pe care le efectueaz conduc la
obinerea de rezultate ce corespund calitativ i cantitativ cu specificaiile de programare;
3. Eficacitatea: realizeaz o corelaie ct mai adecvat ntre consumurile de resurse (timp de
execuie, memorie intern, tipuri i numr periferice) i complexitatea problemei ce se rezolv;
4. Sigurana n utilizarea curent: stabilete msura n care un program aplicativ nu permite
efectuarea de modificri neautorizate sau nedorite n volume de date, precum i distrugerea parial
sau total a volumelor de date;
5. Stabilitatea: indic "rezistena" programului aplicativ fa de efectele generate de o modificare a
datelor iniiale, ct i n secvenele de instruciuni care compun modulele care intr n componena
sa;
6. Mentenabilitatea: msura n care este permis actualizarea rapid i uoar a produsului program
pentru a putea continua utilizarea acestuia chiar n condiii modificate;
7. Adaptabilitatea: capacitatea produsului program de a permite integrarea de noi funcii de
prelucrare i de a include acele secvene de instruciuni care mresc performana programului,
aducndu-l la nivelul eficienei de utilizare de la un moment dat, ulterior elaborrii;
8. Liniaritatea: msoar gradul n care la elaborarea unui modul, a unei secvene sunt utilizate
instruciuni care se execut una dup alta sau msura n care nu sunt utilizate instruciuni de salt
condiionat sau necondiionat; liniaritatea conduce la creterea nivelului redundanei n program,

9-4

Calitatea produselor software

dar utiliznd echilibrat instruciunile de salt se poate obine un nivel de liniaritate bun.
9. Claritatea: un produs program este considerat neclar atunci cnd secvenele ce formeaz modulele
sale conin instruciuni ce pot lipsi fr a fi afectat calitatea rezultatelor finale;
10. Reutilizabilitatea: reprezint capacitatea unor module ale produsului program de a fi ncorporate
n alte programe avnd rezultat direct economia de munc;
11. Portabilitatea: este caracteristica de calitate care pune n eviden prin nivelul su, gradul n care
un produs program poate fi rulat pe mai multe tipuri de calculatoare; un program este cu att mai
portabil cu ct volumul de munc necesar pentru a efectua modificri, adaptri impuse de rularea
pe un alt calculator, este mai redus;
12. Integrabilitatea: este caracteristica de calitate care arat gradul n care produsele program pot fi
incluse n sisteme complexe de prelucrare a datelor.
Atributele calitii produselor program sunt:
1. testabilitatea: ofer utilizatorilor posibilitatea de a pune n eviden ct mai multe variante de
probleme ce pot fi rezolvate i comportamentul programului aplicativ n situaii particulare (fiiere
vide, date incomplete, date neconsistente);
2. completitudinea: este atributul ce d msura n care modulele produsului software sunt parial
activabile i fiecare realizeaz funcia de prelucrare dat n specificaii; stabilirea completitudinii se
efectueaz prin analizarea textului surs n paralel cu documentaia i rezultatele obinute prin
rularea unui set de exemple de test; absena completitudinii este semnalat de utilizatorii care nu
pot rezolva probleme pentru care documentaia nu mentioneaz restricii; un program pentru care sa demonstrat corectitudinea este n acelai timp un program complet; completitudinea influeneaz
nivelul fiabilitii ntruct problemele ce nu pot fi rezolvate sunt consemnate ca rulri fr succes,
mrind nonfiabilitatea;
3. generalitatea: este atributul care pune n eviden aria de cuprindere a funciilor de prelucrare,
variantele problemei ce pot fi rezolvate, cazurile particulare, dimensiunile maxime ce se iau n
considerare; generalitatea este nfiat utilizatorilor prin multitudinea facilitilor pe care le
conine explicit documentaia produselor software; creterea gradului de generalitate influeneaz
negativ fiabilitatea i conduce la creterea complexitii produsului;
4. consistena: pune n eviden msura n care modulele realizeaz funcii de prelucrare
necontradictorii i se bazeaz pe uniformizare n folosirea simbolurilor, a regulilor de construire a
identificatorilor, etichetelor i n general a secvenelor omogene; gradul de consisten intern a
programului se evalueaz analiznd textul surs, iar consistena extern este dat de
comportamentul necontradictoriu al produsului; consistena extern se determin dup ce produsul
a fost testat; programul a crui corectitudine a fost demonstrat este n acelai timp un program
consistent;
5. complexitatea: fiecrui program aplicativ i se asociaz o reprezentare sub form de arborescen
sau o alt form grafic ce conine noduri i arce orientate. Complexitatea este un atribut care
permite stabilirea diferenelor dintre structurile programelor i ierarhizarea programelor dup
noduri, arce i modul de orientare a acestora din urm. Complexitatea se evalueaz lund n
considerare frecvena de apariie a instruciunilor. Evaluarea se efectueaz fie direct folosind textul
surs, fie pornind de la graful asociat programului. Prin stabilirea unor clase de complexitate pentru
module i a resurselor necesare se pot pune bazele planificrii necesarului de resurse pentru
elaborarea unui program aplicativ pentru care se cunosc funciile de prelucrare i ncadrarea lor n
clase de complexitate;
6. flexibilitatea: determin volumul de restricii impus utilizatorilor pentru a obine rezultate complete i corecte prin folosirea unui program aplicativ, programul aplicativ este cu att mai flexibil
cu ct volumul restriciilor este mai redus; flexibilitatea este pus n legatur cu numrul opiunilor

Calitatea produselor software

9-5

la dispoziia utilizatorilor; programele fiabile sunt n acelai timp flexibile; din punct de vedere al
programatorilor, flexibilitatea programului aplicativ este capacitatea de a prelua cerine noi de
prelucrare fr a necesita modificri;
7. modularitatea: este atributul de calitate care descrie ordinea din cadrul produsului format din
module; programul aplicativ are un nivel de modularitate ridicat n cazul n care identificarea
funciilor de prelucrare dup reguli standard necesit un efort minim; nivelul modularitii este
stabilit din faza de proiectare, iar evaluarea efectiv se bazeaz pe textul surs; modularitatea
influeneaz toate caracteristicile de calitate i este influenat de complexitatea programului
aplicativ.
Exist mai multe modele ale calitii software, dintre care fac parte modelul Boehm i modelul James
McCall.
Modelul Boehm este unul dintre primele modele ale calitii software elaborat de ctre un colectiv
condus de B. W. Boehm. Acest model definete urmtoarele caracteristici de calitate:

portabilitate,

fiabilitate,

eficien,

testabilitate,

uurina nelegerii - gradul n care obiectivele i scopul produsului sunt clar definite,

modificabilitate - gradul n care produsul faciliteaz efectuarea schimbrilor.


Atributele de calitate, care permit cuantificarea acestor caracteristici sunt:

independena fa de hardware,

completitudine,

acuratee - gradul n care ieirile furnizate de produs sunt suficient de precise pentru a satisface
cerinele impuse,

consisten - gradul n care produsul conine notaii, terminologie i simboluri unitare),

eficiena utilizrii hardware-ului (gradul n care produsul software utilizeaz n mod economic
hardware-ul),

accesibilitate - gradul n care produsul prezint componentele sale ntr-o manier organizat,

structuralitate - gradul n care produsul nu conine informaii excesive,

lizibilitate - gradul n care funciunile produsului pot fi identificate prin citirea codului surs,

extensibilitate - gradul n care produsul faciliteaz extinderea sa cu noi funciuni de prelucrare.


Modelul James McCall
Acest model mbuntete modelul Boehm i st la baza elaborrii standardului ISO 9126 din 1991.
Factorii de calitate prevzui de McCall sunt grupai n n trei categorii, cu referire la:
exploatarea i utilizarea produsului:
o corectitudine;
o fiabilitate;
o eficien (volumul resurselor de calcul i al codului utilizat de produs pentru realizarea
funciunilor);
o integritate (gradul n care poate fi controlat accesul, de ctre persoanele neautorizate, la
produs i la date);
o utilizabilitate (efortul necesar pentru nvarea produsului i pentru pregtirea datelor de
intrare);
revizia produsului:
o mentenabilitate;
o testabilitate;

9-6

Calitatea produselor software

o flexibilitate
tranziia produsului:
o portabilitate;
o reutilizabilitate;
o interoperabilitate (efortul necesar pentru a cupla produsul cu alte produse).

9.2.2 Msurarea nivelului calitii


Diversitatea i numrul mare al caracteristicilor i atributelor de calitate, faptul c nu toate pot fi
msurate cu aceeai acuratee fac imposibil stabilirea unei singure metode sau a unui singur indicator
cu ajutorul cruia s se msoare nivelul fiecarei caracteristici.
Dei problema agregrii informailor prezint un grad de dificultate sporit, se consider c depirea
unui nivel superior al agregrii conduce la pierderea semnificaiei pe care trebuie s o posede
indicatorul constituit. Se consider n continuare neoportun modelul unui indicator global pentru
calitate, fiind preferat luarea n considerare a sistemului de caracteristici, atribute de calitate, metrici i
elemente de evaluare.
Remarcm c pentru fiecare produs program se definete sistemul su de caracteristici, atribute,
metrici, elemente de evaluare odat cu proiectarea produsului. De asemenea, sistemul odat definit are
diferite forme n diferitele etape ale ciclului de via.
n literatura de specialitate este conturat o disciplin (software metrics metrici software) destinat
construirii i analizei indicatorilor cu care se evalueaz nivelul caracteristicilor de calitate.
Pentru o caracterizare concret se consider c trebuie respectate urmtoarele cerine:
a. ierarhizarea caracteristicilor de calitate msurabile, dup importana pe care ele o prezint la
beneficiar;
b. evaluarea ct mai precis a nivelului fiecrei caracteristici i sporirea efortului pentru creterea
preciziei;
c. nivelul maxim al caracteristicii trebuie s fie asociat produselor program ntr-adevr celor mai
bune;
d. stabilirea modului n care se utilizeaz informaia privind calitatea, pentru creterea duratei
ciclului de via al produsului program.
Evaluarea nivelului de calitate al unui produs program se face prin compararea valorilor indicatorilor
de calitate, obinute prin examinarea produsului software, cu valorile de baz existente sau estimate ale
prototipului de baz asociat produsului respectiv (adic valorile corespunznd unui nivel programat pe
plan mondial sau valori normative la nivelul clasei respective de produse program).
Indicatorii de calitate pentru caracteristici, atribute, metrici sunt caracterizai prin: valoarea i ponderea
indicatorului, relaii de influenare (conflictuale sau complementare) i relaii de ierarhizare (care se
stabilesc ntre indicatorii ce se afl n relaii de subordonare).
n cazul relaiilor de ierarhizare indicatorilor subordonai le sunt asociate ponderi care semnific gradul
de importan fa de ceilali indicatori subordonai aceluiai indicator-printe. De regul suma
ponderilor de pe un nivel inferior subordonat unei caracteristici de calitate este constant i egal cu 1
(cel mai utilizat sistem de ponderi).
n

ij

=1

j =1

unde
n numrul de indicatori j de pe nivelul inferior subordonat indicatorului i, de nivel imediat superior.

Calitatea produselor software

9-7

Valoarea E kq a unui element de evaluare se stabilete astfel:


S

kq

s
kq

s =1

k - numrul de ordine al metricii,


q numrul de ordine al elementului de evaluare,
S numrul total de evaluri ale aceluiai element de evaluare,
s numrul de ordine al evalurii elementului de evaluare,
Eskq valoarea asociat elementului de evaluare q subordonat metricii k pentru evaluarea s
Valoarea absolut a metricii k, subordonat atributului j, notat Mj k se calculeaz astfel:
Q

kq

M jk =

q =1

Q - numrul total de metrici subordonate atributului de calitate


Valoarea absolut a atributului de calitate subordonat caracteristicii de calitate i este:
nj

Aij = p jk M jk
k =1

pjk - ponderea ataat metricii k subordonat atributului de calitate j,


nj numrul de metrici ale atributului de calitate j
Valoarea relativ a atributului de calitate j subordonat caracteristicii i este:
Aij
Aijrel = baza
Aij
n cadrul politicii generale a unei organizaii, n corelaie cu celelalte politici sectoriale, orientrile i obiectivele
organizaiei privind calitatea, exprimate de conducerea de vrf, constituie politica n domeniul calitii a
organizaiei respective. Pe baza principiilor enunate de politica n domeniul calitii se stabilesc obiective
privind calitatea clare, realiste i cuantificabile.

9.3 Managementul calitii


Managementul calitii este componenta funciei generale de conducere care determin i
implementeaz politica n domeniul calitii i deine responsabilitile pentru toate activitile care
concur la ndeplinirea obiectivelor privind calitatea. n literatura de specialitate sunt definite patru
funcii principale pentru managementul calitii: planificarea, controlul, asigurarea i mbuntirea
calitii (vezi figura 9.1).
Planificarea calitii cuprinde activitile prin care se stabilesc obiectivele i cerinele privind
calitatea. La nivel strategic, sunt formulate principiile de baz i orientrile generale ale organizaiei n
domeniul calitii, care se regsesc n politica n domeniul calitii.
La nivel operaional, planificarea extern are drept scop identificarea clienilor i a cerinelor acestora,
iar prin planificarea intern se urmrete transpunerea cerinelor clienilor n caracteristici ale
produsului sau serviciului i dezvoltarea de procese adecvate.
Controlul calitii include activitile de monitorizare a desfaurrii proceselor i de evaluare a
rezultatelor referitoare la calitate, n raport cu obiectivele stabilite, n scopul eliminrii deficienelor
i/sau prevenirii apariiei acestora.

9-8

Calitatea produselor software

Asigurarea calitii, intern (pentru conducerea organizaiei) sau extern (pentru clieni) cuprinde
activitile preventive prin care se urmrete, n mod sistematic, corectitudinea i eficiena activitilor
de planificare i control, pentru a garanta obinerea rezultatelor la nivelul calitativ ateptat.
mbuntirea calitii cuprinde activitile desfurate n fiecare etap a ciclului de via al produsului
sau serviciului, n scopul obinerii unui nivel calitativ superior celui planificat, n condiiile desfurrii
corespunztoare a activitilor de planificare, control i asigurare a calitii.
Planificarea
calitii

Controlul
calitii

Asigurarea
calitii

Organizarea
calitii

Coordonarea
calitii

Fig. 9.1 Activitile implicate n asigurarea calitii

Managementul calitii este responsabilitatea tuturor nivelurilor de conducere, ns rolul cel mai
important revine conducerii de vrf. n implementarea managementului calitii sunt implicai toi
angajaii organizaiei.
Conform definiiei celei mai larg acceptate, Sistemul Calitii reprezint "ansamblul de structuri
organizatorice, proceduri, procese i resurse umane necesare pentru implementarea managementului
calitii".
Ceea ce fac sau ce nu fac organizaiile productoare de software pentru calitatea produselor lor, pentru
mbuntirea calitii, determin aprecierea produselor software respective pe pia i reuita ntregii
organizaii. Cea mai puternic reflectare a problemelor mbuntirii calitii la nivelul
managementului este apariia i dezvoltarea conceptului de management al calitii totale (TQM - Total
Quality Management). Cele trei componente de baz ale TQM sunt mbuntirea continu,
satisfacerea clienilor i creterea (avansul) organizaiei. mbuntirea calitii are, la rndul ei
componentele de standardizare i inovaie.

9.4 Asigurarea calitii produselor software


Asigurarea calitii reprezint un ansamblu de mijloace prestabilite i sistematizate, utilizate de o
firm n toate compartimentele sale implicate n activiti ce pot influena calitatea produselor i
serviciilor executate, astfel nct s exprime certitudinea realizrii cerinelor de calitate specificate.
Gestiunea calitii const n identificarea, analiza i interpretarea tuturor anomaliilor aprute n timpul
desfurrii produciei, precum i n definirea aciunilor corective sau de orientare a calitii n toate
etapele de realizare a produsului i/sau de prestare a serviciului, inclusiv prin prisma costurilor calitii.
(figura 9.2)

Calitatea produselor software

9-9

Optimizarea calitii

Gestiunea calitii

Asigurarea calitii

Costurile calitii

Sistemul calitii

Fig. 9.2 Gestiunea calitii

Gestiunea calitii acioneaz pe baza principiului c, printr-o cretere relativ redus a costurilor i
prevenirea apariiei deficienelor de calitate se obine o dimensionare a cheltuielilor de resurse cu
identificarea defectelor i o scdere substanial a cheltuielilor datorate defectelor de calitate i
remedierilor, astfel nct, pe ansamblu, cheltuielile totale cu calitatea se reduc, n condiiile sporirii
calitii produsului.
De menionat de la bun nceput c gestiunea calitii nu poate avea coeren n organizaii unde nu
exist definit un sistem al calitii, proceduri pentru meninerea, actualizarea i mbuntirea acestuia.
Pentru a identifica n mod corect cerinele majore ale gestiunii calitii, se pornete de la obiectivele
acestei activiti, care induc cerine specifice, astfel:
A. Identificarea, analiza i interpretarea tuturor anomaliilor aprute n timpul desfurrii
produciei
construirea unui sistem de caracteristici de calitate coerent, pe ct posibil necontradictoriu, care s
reflecte ct mai fidel calitatea de ansamblu a produsului;
stabilirea unui sistem ierarhic, de punctare sau de ponderare, precum i evidenierea legturilor
dintre caracteristicile ce compun sistemul;
rafinarea sistemului de caracteristici construit, pn la factori i subfactori de calitate care pot fi
efectiv msurai i elaborarea modelului calitii;
construirea, pentru fiecare factor sau subfactor de calitate a metricii sau sistemului de metrici cu
ajutorul crora nivelul acestora s poat fi msurat sau exprimat;
stabilirea seturilor de date care trebuie culese pentru calculul metricilor i a costurilor;
analiza datelor i calculul metricilor;
analiza i msurarea corelaiilor ce pot apare ntre caracteristici, cu implicaii asupra unor etape sau
asupra ntregului proces de dezvoltare software;
agregarea, pe baza unei metodologii prestabilite, a rezultatelor msurtorilor i exprimarea
nivelului de calitate;
estimarea, pe baza specificaiilor, a nivelului acceptabil de calitate al produsului;
compararea, analiza, interpretarea, stabilirea, localizarea i explicarea cauzelor anomaliilor care au
putut conduce la neconformiti - la nivelul proceselor, a mijloacelor utilizate, a personalului, a
procedurilor, a beneficiarului etc.
B. Definirea aciunilor corective sau de orientare a calitii n toate etapele de realizare a
produsului i/sau de prestare a serviciului, inclusiv prin prisma costurilor calitii
existena unei baze de date referitoare la proiecte anterioare, care s fie actualizat cu datele
proiectului curent, inclusiv n ceea ce privete costurile;
actualizarea continu, pe baza unor contacte permanente cu managementul de nivel nalt i cu
compartementele de marketing, a direciilor de aciune viabile de urmat n ceea ce privete calitatea
produsului, precum i a tendinelor aprute pe pia;
analiza i sistematizarea neconformitilor aprute, a momentelor, proceselor i cauzelor apariiei

9-10

Calitatea produselor software

acestora, precum i a costurilor aferente;


stabilirea de scenarii corective i elaborarea de diagrame de tip cauz-efect pentru fiecare tip
sistematic de neconformitate sau defeciune;
punerea de acord, din punct de vedere practic, a tendinelor generale ale pieei produsului, a
tendinelor generale n ceea ce privete calitatea, cu posibilitile concrete de care dispune
organizaia (firma) productoare de a produce o anumit calitate;
propuneri de actualizare a strategiei i politicii firmei cu privire la calitate.
Sistemul calitii

Strategia de dezvoltare software, strategiile calitii

Gestiunea calitii

Viziunea managerial asupra


costurilor, a raporturilor costcalitate i valoare-calitate

Managementul proceselor de
dezvoltare

Fig. 9.3 Factorii care influeneaz gestiunea calitii

Dezvoltarea accentuat a Internet-ului produce modificri n ceea ce privete problema produselor


software cu surse libere - "free software" - pornind tocmai de la considerente legate de calitate i
gestiunea calitii.
Gestiunea calitii nu poate fi efectiv i eficient atta timp ct, indiferent de modelul i cile de a
dezvolta un produs software, nu este prezent la nivelul tuturor proceselor i activitilor implicate, ca
modalitate de analiz i, pe aceast baz, furnizate de soluii.

9.5 Standarde de calitate


9.5.1 Standarde pentru managementul calitii
Exist o serie de reglementri generale cu privire la managementul calitii, reglementri valabile i n
cazul realizrii produselor software, precum i alte reglementri privind calitatea produselor program.
Reglementrile privind managementul calitii pot fi deosebite ca:
Reglementri specifice firmei
Reglementri specifice ramurii
Standarde naionale
Standarde internaionale
Sistemele de management al calitii, sau sistemele de asigurare a calitii - trebuie ntotdeauna nelese
ca nite sisteme specifice unei organizaii. Ele nu sunt unitare i de aceea nu pot fi standardizate.
n schimb, pot fi standardizate recomandri i directive generale pentru sistemul de management al
calitii i elementele sale.
Dezvoltarea reglementrilor managementului calitii a nceput n 1963, o dat cu norma MIL Q 9858
i s-a rspndit n toate rile occidentale.
Pe plan internaional, domeniul managementului i asigurrii calitii este reglementat prin standardele
ISO seria 9000, care descriu cerinele pentru sistemul calitii ntr-o organizaie, fr a specifica ns

Calitatea produselor software

9-11

modalitatea de implementare a acestuia.


Standardele ISO seria 9000 pot fi utilizate n urmtoarele situaii:
Asigurarea intern a calitii, la iniiativa conducerii organizaiei;
Cerine contractuale ntre furnizor i client referitoare la sistemul calitii pentru furnizor;
Evaluare secund parte, caz n care furnizorul este evaluat de ctre client pentru conformitatea
sistemului calitii cu un standard de referin;
Certificarea sistemului calitii de ctre o ter parte (un organism de certificare) n raport cu
cerinele unui standard de referin.
Colecia de standarde a fost preluat de Uniunea European sub denumirea de EN ISO 9000 i n urma
directivelor UE a cptat caracter de lege n toate rile membre UE.
Mai jos sunt prezentate standardele din seria ISO, traduse n limba roman.
SR ISO 8402: 1995; Ediia a 2-a: Managementul calitii i asigurarea calitii - vocabular
SR ISO 9000-1: 1996; Ediia a 2-a: Standarde pentru managementul calitii i asigurarea calitii Partea 1: Ghid pentru selecie i utilizare
SR ISO 9000-2 : 1995; Ediia 1: Standardele pentru conducerea calitii i asigurarea calitii Partea 2: Ghid pentru aplicarea ISO 9001, ISO 9002 i ISO 9003 la dezvoltarea, livrarea i
mentenana software-ului
SR ISO 9000-3: 1995; Ediia 1: Standardele pentru conducerea calitii i asigurarea calitii Partea 2: Ghid pentru aplicarea ISO 9001 la dezvoltarea, livrarea i mentenana software-ului
SR EN ISO 9001: 1995; Ediia a 2-a: Sistemele calitii - Model pentru asigurarea calitii n
proiectare, dezvoltare, producie, montaj i service
SR EN ISO 9002: 1995; Ediia a 2-a: Sistemele calitii - Model pentru asigurarea calitii n
producie, montaj i service
SR EN ISO 9003: 1995; Ediia a 2-a: Sistemele calitii - Model pentru asigurarea calitii n
inspecii i ncercri finale
SR EN ISO 9004-1: 1996; Ediia 1: Managementul calitii i elemente ale sistemului calitii Partea 1: Ghid
SR ISO 9004-2:1991; Ediia 1 : Conducerea calitii i elemente ale sistemului calitii - Partea a 2a: Ghid pentru servicii
SR ISO 9004-3:1993; Ediia 1: Conducerea calitii i elemente ale sistemului calitii - Partea a 3a: Ghid pentru materiale procesate
SR ISO 10011-1:1994; Ediia 1: Ghid pentru auditarea sistemelor calitii- Partea 1: Auditare
SR ISO 10011-2:1993; Ediia 1: Ghid pentru auditarea sistemelor calitii- Partea a 2-a: Criterii de
calificare pentru auditorii sistemelor calitii
SR ISO 10011-3:1994; Ediia 1 : Ghid pentru auditarea sistemelor calitii- Partea a 3-a:
Conducerea programelor de audit
SR ISO 10013:1996; Ediia 1 : Ghid pentru elaborarea manualelor calitii
Alte standarde netraduse n limba romn sunt:
ISO 9000-4:1993 Dependability Management
ISO 9004-4:1993 Quality Improvement
ISO 9004-5 Quality Assurance Plans
ISO 9004-6 Project Management
ISO 9004-7 Configuration Management
ISO 9004-8 Quality Principles
ISO 10012-1:1992 Management of Measurement Equipement
ISO 10012-2 Control of Measurement Processes

9-12

Calitatea produselor software

Cerinele ISO 9000 privind sistemele de calitate sunt prezentate n figura 9.4 :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.

Responsabilitatea managementului
Sistemul calitii
Analiza contractului
Controlul documentelor i datelor
Controlul produsului furnizat de client
Identificarea i trasabilitatea produsului
Inspecii i ncercri
Controlul echipamentelor de inspecie, msurare i ncercare
Stadiul inspecilor i ncercrilor
Controlul produsului neconform
Aciuni preventive i corective
Manipulare, depozitare, conservare i livrare
Controlul nregistrrilor calitii
Audituri interne ale calitii
Instruire
Tehnici statistice
ISO 9003

17. Aprovizionare
18. Controlul proceselor
19. Service
ISO 9002

20 Controlul proiectrii
ISO 9001
21 Considerente financiare referitoare la calitate
22 Securitatea proceselor
ISO 9004

Fig. 9.4. Cerinele ISO 9000 privind sistemele de calitate

9.5.2 Standardele calitii produselor software


Standardele de calitate din seria ISO-9000 se refer la orice domeniu de activitate economic.
Elementele specifice produselor software sunt detaliate de alte dou standarde: ISO/IEC 9126 i
ISO/IEC 14598.
Standardul 9126 propune utilizarea unui set de ase caracteristici de calitate: funcionalitate, fiabilitate,
utilizablitate, performane, mentenabilitate, portabilitate. Pentru fiecare caracteristic se detaliaz un
set de subcaracteristici, dar ultimul nivel reprezentat de metrici nu este standardizat. Modelul ISO/IEC
9126 mai este denumit i modelul caracteristic-subcaracteristic-metric.
Standardul ISO/IEC/9126 - Caracteristici de calitate software i metrici are urmtoarele componente:
9126/1 Caracteristici i subcaracteristici de calitate;
definete caracteristicile i subcaracteristicile de calitate;
se utilizeaz pentru specificarea cerinelor de calitate, evaluarea calitii produsului, proiectarea
listei de verificare pentru revizuirea proiectrii i testare.
9126/2 Metrici externe;
definete un set de metrici externe pentru msurarea unei caracteristici sau subcaracteristici de
calitate;
se utilizeaz pentru specificarea cerinelor de calitate, evaluarea calitii produselor n fazele de
testare i acceptare, dezvoltarea de noi metrici.
9126/2 Metrici interne;
definete un set de metrici interne utilizabile la msurarea atributelor interne ale produselor
software;
se utilizeaz pentru definirea scopurilor proiectului, revizuirea produselor intermediare,
dezvoltare de noi metrici.

Calitatea produselor software

9-13

Standardul ISO/IEC 14598 Evaluarea Produselor Software are urmtoarele componente:


14598/1 - definete termenii utilizai i prezint cerine i recomandri generale privind
specificarea i evaluarea calitii produselor software;
14598/2 - definete cerine privind managementul proceselor suport n evaluarea produsului
software i face recomandri privind dezvoltarea i utilizarea unui plan de msurare;
14598/3 este destinat fazei de dezvoltare a produsului software i conine criterii de selectare a
metricilor i recomandri privind verificarea i validarea caracteristicilor de calitate, analiza
msurrii, ameliorarea procesului de evaluare;
14598/4 definete un proces de evaluare a calitii unui produs software utilizabil pentru
selectarea unui produs din mai multe produse sau de acceptare a unui produs utilizndu-se
caracteristicile de calitate i metricile din standardul 9126 i modelul de evaluare 14589-1;
14598/5 definete cerine i face recomandri privind evaluarea produselor software aflate n faza
de livrare-implementare;
14598/6 definete cerinele privind documentaia ce nsoete evaluarea produsului software i
face recomandri privind dezvoltarea i validarea evalurii.

9.5.3 Standarde de calitate a procesului de realizare a produselor software Software Capability Maturity Model (SW-CMM)
SW-CMM a fost dezvoltat de Software Engineering Institute de la Universitatea Carnegie Mellon,
S.U.A. ca modalitate de evaluare a maturitii procesului de dezvoltare software la nivelul unei
ntreprinderi. Scopul urmrit este asistarea dezvoltatorilor pentru mbuntirea progresiv a gradului
de maturitate. Focalizarea este pe procesul n sine, iar nu pe produsele rezultate.
CMM prevede cinci nivele de maturitate:
1. Initial. Procesul de dezvoltare poate fi caracterizat ca ad-hoc i ocazional chiar haotic. Un
numr mic de procese sunt definite, iar succesul depinde de eforturile individuale ale
lucrtorilor.
2. Repeatable. Sunt stabilite procese de baz ale managementului de proiect pentru urmrirea
costurilor, planului de lucru i a funcionalitii. Disciplina existent asigur repetabilitatea
succesului n proiecte cu aplicaii similare.
3. Defined. Att procesul de management ct i cel de dezvoltare este documentat, standardizat i
integrat ntr-un proces standard al organizaiei. Toate proiectele folosesc o versiune ajustat i
aprobat a procesului standard.
4. Managed. Are loc colectarea datelor care msoar calitatea procesului i a produsului. Ambele
procese (management i dezvoltare) sunt gestionate i controlate n plan cantitativ.
5. Optimizing. Procesele pot fi continuu mbuntite cu ajutorul feedback-ului cantitativ i a
ideilor i tehnologiilor novatoare.
Pentru a atinge un nivel superior sunt necesare eforturi concentrate n anumite zone-cheie (key process
areas):
Pentru nivelul 2: managementul cerinelor, planificarea proiectelor, urmrirea proiectelor, gestiunea
subcontractrilor, asigurarea calitii software, managementul configuraiei software.
Pentru nivelul 3: focalizarea procesului la nivel de organizaie, definirea procesului la nivel de
organizaie, programe de instruire, management integrat, ingineria produselor software, coordonare ntre
grupuri, peer reviews.

9-14

Calitatea produselor software

Pentru nivelul 4: managementul cantitativ al proceselor, managementul calitii software.


Pentru nivelul 5: prevenirea defectelor, managementul modificrilor tehnologice, managementul
modificrilor procesului.

9.5.4 Aplicarea ISO 9001 pentru industria software


Interpretarea strict a clauzelor ISO 9001 este relativ dificil pentru organizaiile care dezvolt
software, avnd n vedere particularitile domeniului de aplicare a cerinelor standardului.
Att pentru organizaiile software care doresc s implementeze un sistem al calitii n conformitate cu
ISO 9001, ct i pentru organismele de certificare (auditori), se recomand utilizarea standardului ISO
9000-3 care contine un ghid de aplicare a cerinelor ISO 9001 pentru dezvoltarea, livrarea i
mentenana software-ului.
Factorii de succes pentru mbuntirea proceselor software prin ISO 9001 sunt:

definirea i documentarea strii curente

identificarea celor mai bune practici

identificarea proceselor lucrative

simplificarea procedurilor de rutin

audituri interne

spirit de echip

ateliere de lucru (workshop-uri)

definirea unui limbaj comun

studii ale percepiei clienilor


Numai doi dintre aceti factori sunt cerui explicit n ISO 9001: definirea i documentarea strii curente
i auditurile interne. Lista factorilor de succes relev faptul c, n companiile software, pentru
mbuntirea proceselor software se practic o abordare mai cuprinztoare dect cerinele minime din
ISO 9001.
n ceea ce privete beneficiile certificrii ISO 9001, pentru majoritatea cormpaniilor software, n timpul
implementrii sistemului calitii, s-au constatat mbuntiri substaniale. Studiile efectuate asupra
percepiei clienilor furnizeaz un feedback obiectiv, referitor la calitatea produselor i serviciilor.
Auditurile interne ale calitii mbuntesc satisfacia n munc i furnizeaz o oportunitate pentru
personal de a discuta punctele slabe i tari ale sistemului. Aceste beneficii, mpreun cu ghidurile,
listele de verificare, modelele de documente i instrumentele utilizate, conduc la concluzia c
certificarea ISO 9001 contribuie la creterea eficienei, reducerea duratei ciclurilor de dezvoltare i a
costurilor.
Beneficiile ISO 9001 pentru companiile software sunt:
Productivitate crescut
Reducerea costurilor
Marketing mai eficient
Proiectare mai bun
Elementele considerate eseniale pentru implementarea cu succes a sistemului calitii n companiile
software care au obinut certificarea ISO 9001, sunt:
A. Implicarea managementului - Este foarte important angajamentul conducerii de vrf, deoarece
proiectul de implementare i procesul de certificare presupune un consum de timp i bani.
B. lnfrastructura sistemului calitii - Procesele i modelele de documente trebuie standardizate

Calitatea produselor software

9-15

pentru utilizarea lor n cadrul ntregii organizaii. Pe msur ce sunt dezvoltate, se aplic proceduri noi
sau actualizate pentru proiectele de dezvoltare software. n acest sens, asigurarea mecanismelor de
modificare i control pentru versiunile software reprezint un punct de pornire.
Documentaia i procedurile trebuie scrise n aa fel nct s nu fie percepute ca o complicare a
activitii curente. Un volum mare de documente poate fi un obstacol n calea eficienei, de aceea
fluxul de documente trebuie raionalizat. Fiecare document trebuie s aib un obiectiv clar i s adauge
valoare sistemului calitii. Scopul final este de a dezvolta un sistem al calitii care s serveasc, n
primul rnd, organizaiei i personalului.
Documentaia trebuie mprit pe departamente sau funcii manageriale n manuale uor de utilizat
(sunt recomandate Manualele Calitii n form electronic).
Pentru a corela documentele organizaiei cu cerinele ISO 9001 se poate utiliza o matrice de
identificare a documentelor n succesiune logic. Aceast matrice ar trebui s identifice cerinele ISO
9001 care sunt complet acoperite de documentele i procedurile existente n organizaie, cerinele
parial acoperite i pe cele neacoperite.
Definiiile metricilor utilizate trebuie s fie riguroase i inteligibile, pentru a fi nelese corect i pentru
a nu cauza dificulti ulterioare.
C. Managementul proiectelor - Implementarea sistemului calitii trebuie s urmeze o abordare
gradual, etapizat, de la procesele generale la cele specifice.
Managerul de calitate are atribuii legate de :
dezvoltarea modelelor de documente la nivel de departament,
urmrirea circuitului documentelor i procedurilor de amendare,
furnizarea datelor
monitorizarea n mod continuu a progresului nregistrat la toate nivelurile organizaiei.
D. Audituri interne - Auditurile interne furnizeaz feed-back pentru sistemul calitii, informaii
referitoare la gradul n care organizaia este conform cu propria sa documentaie i n ce msur acest
lucru reflect activitile organizaiei. Auditurile interne vizeaz identificarea att a punctele tari, ct i
mai ales a punctele slabe ale sistemului calitii. Sunt supuse unui proces de analiz i inspecie toate
documentele sistemului calitii.
E. mbuntirea continu a proceselor - Implementarea sistemului calitii are dou scopuri
principale: mbuntirea procesului i certificarea. Trebuie contientizat faptul c dezvoltarea
disciplinat a software-ului, mbuntirea proceselor i interesul pentru calitate sunt benefice pentru
organizaie, iar certificarea aduce avantaje tuturor angajailor, organizaiei i clienilor.
Clienii i dezvoltatorii software reprezint interfaa principal cu sistemul calitii. De asemenea, ei
constituie cea mai important surs de informaii pentru mbuntirea proceselor, care trebuie s fie o
prioritate.
F. Personalul extern implicat - Auditorii implicai trebuie s fie calificai pentru companiile software.
De asemenea, poate fi important sprijinul consultanilor externi, mai ales dac au i cunotine de
inginerie software.
G.

lnstruirea - Trebuie avute n vedere urmtoarele tipuri de instruiri:


instruire general i de contientizare;
explicarea standardului ISO 9001 i a recomandrilor standardului ISO 9000-3;
instruirea auditorilor;

9-16

Calitatea produselor software

instruirea pentru implementare;


instruirea pentru audit.

n industria software se manifest un interes din ce n ce mai mare n ceea ce privete certificarea ISO
9001, dei exist opinii diferite referitoare la valoarea acesteia. Astfel, conform opiniei predominante,
certificarea mrete avantajul competitiv i poate contribui la meninerea poziiei pe pia. De
asemenea, este puternic susinut ideea potrivit creia certificarea conduce la mbuntirea calitii
software-ului i a utilizrii resurselor umane. Exist ns i opinii conform crora certificarea este un
proces costisitor, birocratic i mare consumator de timp. Aceste critici evidentiaz urmtoarele aspecte:
documentarea proceselor i activitilor existente, cerin de baz a unui sistem al calitii, nu
influeneaz n mod obligatoriu calitatea produsului final, iar aplicarea standardelor poate cauza
reducerea sau pierderea creativitii i flexibilitii.

9.5.5 Proiectarea i implementarea sistemului calitii n organizaii productoare


de software
Introducerea unui sistem al calitii este o decizie a conducerii de vrf a organizaiei. Conducerea de
vrf are responsabilitatea de a stabili politica i obiectivele n domeniul calitii i este direct
rspunztoare pentru deciziile privind planificarea, implementarea, aplicarea i meninerea sistemului
calitii.
Directorul general lanseaz, printr-o declaraie oficial, programul de introducere a sistemului calitii
i numete un comitet de coordonare (Consiliul Calitii) format din toi directorii i efii de
departamente. De asemenea, directorul general desemneaz un reprezentant al conducerii (managerul
calitii) care are responsabilitatea i autoritatea de a coordona toate activitile legate de proiectarea i
implementarea sistemului calitii.
Managerul calitii trebuie s fie independent de activitile de dezvoltare software, s aib competen
i experien profesional recunoscut i n plus, cunotiine referitoare la managementul i asigurarea
calitii.
O modalitate efectiv de a pstra angajamentul i implicarea conducerii de vrf o constituie ntlnirile
periodice ale conducerii cu managerul calitii (sau cu Consiliul Calitii) n cadrul crora sunt
analizate progresele nregistrate i sunt discutate principalele probleme.
Angajamentul i implicarea trebuie s existe la toate nivelurile organizaiei i un rol esenial n acest
sens l are comunicarea, avnd n vedere c atitudinea iniial din partea personalului poate fi reticent
sau ostil.
Implementarea sistemului calitii presupune urmtoarele activiti:
A. Diagnosticul calitii
Diagnosticul calitii are drept scop stabilirea nivelului curent al organizaiei n ceea ce privete
satisfacerea cerinelor ISO 9001 i identificarea procedurilor necesare, a structurii i coninutului
acestora.
Se efectueaz o (auto)evaluare iniial pe baza unui chestionar, pentru procesele i activitile
principale cu inciden major asupra calitii produselor i serviciilor, structurat conform cerinelor
din ISO 9001 sau alt model de referin pentru procesele software.
Cerinele standardului de referin sunt comparate cu procedurile existente sau practicile utilizate

Calitatea produselor software

9-17

curent. n cadrul analizei pot fi ntlnite urmtoarele cazuri:

Nu exist proceduri i metode stabilite;

Exist metode stabilite, dar acestea nu sunt documentate;

Metodele utilizate sunt documentate parial;

Cerinele standardului nu sunt aplicabile.


Dup analiza i interpretarea rspunsurilor primite la chestionar se ntocmete un Raport de Evaluare
care conine o apreciere general a situaiei existente.
B. Instruirea personalului
Se organizeaz cursuri de instruire att pentru membrii Consiliului Calitii, ct i pentru angajaii
direct implicai n activitile sau proiectele selectate. ntr-o prim faz, instruirea are drept scop
familiarizarea personalului cu conceptele specifice calitii, cu cerinele standardelor ISO 9000 i cu
documentaia sistemului calitii (Manualul Calitii, proceduri). Pe msur ce proiectarea sistemului
calitii avanseaz, se identific noi necesiti de instruire pentru care se organizeaz cursuri specifice.
n cadrul etapei de implementare efectiv a sistemului calitii, personalul executant, instruit n mod
corespunztor, trebuie s aib cunotinele i capabilitatea de a aplica sistemul, de a identifica
neconformitile i de a iniia aciunile corective necesare.
C. Proiectarea sistemului calitii
La elaborarea procedurilor, pentru descrierea unui proces sau a unei activiti poate fi utilizat o
schem flux. Pentru fiecare proces sau activitate se descriu intrrile i ieirile, paii principali de
desfurare, inclusiv punctele de decizie i responsabilitile asociate.
n continuare sunt evideniate cteva aspecte importante privind interpretarea specific a unor cerine
ISO 9001 pentru organizaii care dezvolt software, pe baza recomandrilor din standardul ISO 90003. Pentru coeren, informaiile sunt prezentate n succesiunea logic a fazelor ciclului de via a
software-ului i pe activiti suport i nu n ordinea stabilit de standard.
Termenul de software include att codul surs i programele executabile, ct i documentaia utilizator
(tiprit i/sau on-line), materialele de instruire, documentaia de intreinere.
Software-ul poate fi: software dezvoltat ce urmeaz a fi integrat cu hardware ntr-un sistem; software
dezvoltat prin contract; software dezvoltat pentru uz intern; software dezvoltat pentru o alt parte
(client).
D. Procese n cadrul ciclului de via
D. 1. Analiza contractului
Calitatea produsului software se exprim n termeni de caracteristici de calitate, aa cum sunt definite
de ISO/IEC 9126 (Information technology-Software product evaluation-Quality caracteristics and
guidelines for their use).
Principalele elemente care ar trebui analizate ntr-un contract care are ca obiect dezvoltarea de software
sunt: criteriile de acceptare a software-ului; modul de tratare a modificrilor n cerinele clientului n
timpul procesului de dezvoltare; modul de tratare a problemelor aprute n timpul sau dup testarea de
acceptare; facilitile, instrumentele i software-ul furnizat de client; standardele i procedurile
specificate n contract; cerinele de multiplicare i distribuire; planificarea etapelor principale i a
analizelor tehnice.

9-18

Calitatea produselor software

De asemenea, n contract ar trebui prevzut un mecanism de consultare ntre client i dezvoltator


pentru rezolvarea ambiguitilor, erorilor, omisiunilor, n special n cazul modificrilor setului iniial
de cerine.
D.2. Controlul proiectrii
Standardele nu impun un anumit model de dezvoltare software, ns pentru metodologia de proiectare
selectat trebuie specificate urmtoarele elemente: intrrile; metodele de dezvoltare (modele software,
standarde de cod i documentaie, instrumente, metode de testare); metodele de feedback de la proiecte
anterioare similare (dac exist); ieirile.
Intrrile pentru faza de proiectare-dezvoltare trebuie verificate n ceea ce privete: ambiguitatea;
inconsistena sau incompletitudinea; specificaii de performan nerealiste; cerine netestabile;
descrierea exact a mediului de utilizare; absena unor funciuni cheie.
Pentru ieirile fazei de proiectare-dezvoltare sunt importante urmtoarele elemente: cum se va verifica
faptul c intrrile din fiecare faz se reflect corect n ieiri; cum pot fi testate ieirile; cum vor fi
analizate ieirile pentru utilizri ulterioare.
D.3. Controlul procesului
Dezvoltarea software este un proces iterativ n funcie de modelul ciclului de via selectat, ca urmare
este dificil s se determine limitele proceselor corespunztoare fazelor de dezvoltare.
Pentru orice faz, care este diferit de fazele de proiectare, testare sau ntreinere, pentru care exist
cerine explicite n standard, se aplic cerinele referitoare la controlul procesului. Managementul
facilitilor se refer la toate aspectele legate de echipamentele i instrumentele suport pentru
dezvoltare (hardware i software).
D.4. Inspecii i ncercri
Metodele de testare utilizate pot include: verificare automat a domeniului de valori n momentul
execuiei; producere de rapoarte cu privire la utilizarea etichetelor i variabilelor; inspecii de cod
independente; instrumente automate, cu faciliti de nregistare-reluare; proiectarea i execuia
cazurilor de test cu intrri definite i ieiri ateptate. Standardul ISO 9000-3 identific urmtoarele
tipuri de teste care trebuie executate: testare la nivel de unitate (software), testare de integrare, testare
de calificare i testare de acceptare.
D.5. Controlul produsului furnizat de client
Produsele furnizate de client pot fi date de test, module software, specificaii de interfa, hardware.
E. Activiti suport
E.1. Aprovizionarea
Obiectul aprovizionrii poate fi software sau hardware reutilizabil, prin achiziie sau subcontractare
pentru dezvoltare de hardware, software, documentaie sau instruire.
E.2. Identificarea i trasabilitatea produsului
Software-ul este supus permanent modificrilor pe parcursul ciclului de via, prin urmare controlul
configuraiei este un element critic. Imediat dup ce o unitate software este complet, testat i
documentat sau pregtit pentru utilizare ulterioar, aceasta ar trebui introdus sub controlul
configuraiei. Fiecare organizaie dezvoltatoare de software utilizeaz sau dezvolt o metod de control
pentru configuraie pe care o consider cea mai adecvat dimensiunii i domeniului de aplicare a
produsului.
E.3. Tehnici statistice

Calitatea produselor software

9-19

n ISO 9000-3 este formulat cerina de definire i utilizare a metricilor de produs i proces software.
Metricile definite trebuie s fie msurabile n mod obiectiv i repetabil, s fie clar definite n scris, s
fie adecvate, s msoare o caracteristic de calitate a produsului sau procesului, aa cum este vzut de
client i s fie raportate pe baza datelor reale, colectate periodic.
F. lmplementarea sistemului calitii
nainte de experimentarea sau implementarea sistemului calitii, este necesar ca toi angajaii care vor
aplica procedurile s fie instruii cu privire la modul de utilizare a documentaiei calitii, controlul
modificrilor, rezolvarea problemelor, rolul auditurilor interne. Aplicarea procedurilor poate ncepe
simultan pentru toate activitile considerate sau se poate decide o aplicare etapizat a acestora pe
proiecte i departamente. Modul de aplicare a procedurilor, respectiv funcionarea sistemului calitii
se evalueaz prin audituri interne. Obiectivul auditurilor interne este de a stabili dac sistemul calitii
este efectiv i dac exist neconformiti n raport cu documentaia sistemului.
Pentru fiecare audit intern se stabilete un domeniu de aplicare (un proces principal al organizaiei, un
departament sau anumite proceduri) i o list de verificare pe baza procedurilor selectate. Examinarea
modului n care procedurile sunt puse n practic se face prin observare, ntrebri directe i scrise,
analiza nregistrrilor calitii. Dac sunt identificate neconformiti, acestea se consemneaz n
Raportul de audit i se iniiaz aciunile corective necesare, urmnd ca dup o perioad de timp s se
efectueze un post-audit pentru verificarea modului de finalizare a aciunilor corective.
Documentaia sistemului calitii n organizaii productoare de software
Documentaia sistemului calitii constituie cadrul suport pentru proiectarea, implementarea i
meninerea unui sistem eficient, care s faciliteze evaluarea rezultatelor curente, identificarea aciunilor
corective i preventive necesare pentru mbuntirea proceselor i activitilor organizaiei.
n scopul asigurrii interne a calitii, standardul ISO 9004 recomand ca toate elementele, cerinele i
prevederile referitoare la sistemul calitii, adoptate de o organizaie, s fie prezentate explicit n scris,
n mod ordonat, sub forma politicilor i procedurilor. n funcie de specificul fiecrei organizaii,
documentele referitoare la sistemul calitii trebuie limitate la strictul necesar.
Pentru activitile de proiectare i dezvoltare software, standardul ISO 9003 formuleaz cerine pentru
elaborarea urmtoarelor documente suplimentare:
Planul Calitii - are drept scop aplicarea adaptat a cerinelor sistemului calitii pentru un anumit
proiect, produs sau contract i poate include sau face referire la proceduri specifice. Planul Calitii
trebuie actualizat, pe msur ce proiectul avanseaz. Toate elementele unei faze trebuie definite
complet nainte de nceputul acesteia.
Planul Calitii trebuie s conin sau s fac referire la urmtoarele elemente:
o cerinele referitoare la calitate, exprimate n termeni msurabili (caracteristici de calitate);
o criteriile definite pentru nceputul i sfritul fiecrei faze a proiectului;
o identificarea tipurilor de analize, teste i a altor activiti de verificare i validare ce vor fi
efectuate;
o planificarea detaliat a analizelor, verificrilor i validrilor, inclusiv termenele, resursele i
autoritile care le aprob;
o responsabilitile specifice pentru activitile referitoare la calitate:
 analiza i testarea;
 verificarea i validarea produselor achiziionate;
 verificarea produselor furnizate de client;
 managementul configuraiei;

9-20

Calitatea produselor software




controlul produsului neconform i aciunile corective.

Planul de Dezvoltare - numit i Planul de Dezvoltare Software sau Planul Proiectului Software.
El descrie modul n care un proiect va fi condus, inclusiv tipul i frecvena raportrii ctre
management sau alte pri interesate, conform cerinelor contractuale.
Planul de Dezvoltare include urmatoarele elemente:
definirea proiectului, inclusiv descrierea obiectivelor i eventual a referinelor la alte proiecte
corelate ale clientului sau furnizorului;
definirea intrrilor i ieirilor generale ale proiectului;
organizarea resurselor proiectului, inclusiv structura echipei, responsabilitile, subcontractanii
implicai i resursele materiale necesare;
interfeele organizatorice i tehnice ntre persoane i grupuri;
identificarea pentru procesele de dezvoltare, de management i suport i pentru intrrile i
ieiriIe cerute pentru fiecare proces;
analiza riscurilor poteniale, ipotezelor, dependenelor i problemelor asociate proceselor de
dezvoltare;
identificarea pentru fazele, activitile i resursele proiectului;
identificarea pentru:
o standarde, reguli, practici, convenii;
o instrumente i tehnici pentru dezvoltare, inclusiv calificarea i controlul configuraiei
pentru acestea;
o practici privind managementul configuraiei;
o metode pentru controlul produsului neconform;
o metode pentru controlul produsului software nelivrabil, utilizat ca suport n dezvoltare;
o proceduri pentru salvare i regasire informaii;
o metode pentru controlul proteciei mpotriva viruilor.
identificarea planurilor conexe (inclusiv planurile la nlvel de sistem), cum ar fi:
o Planul Calitii
o Planul pentru Managementul Riscului;
o PIanul pentru Managementul Configuraiei;
o Planul de Integrare;
o PIanul de Testare;
o Planul de Instalare;
o PIanul de Instruire;
o Planul de ntreinere;
o Planul de Reutilizare.

Planurile de Testare - testarea software-ului poate fi cerut la diferite niveluri de dezvoltare, de la


element software individual pn la produs software complet. Exist abordri diferite pentru
testare, prin urmare limitele testrii, gradul controlului n mediul de testare, intrrile i ieirile
testrii pot varia n funcie de modul de abordare, complexitatea produsului i riscuri. De asemenea,
testarea se execut n timpul integrrii software-ului. n unele cazuri, validarea, testarea de domeniu
i testarea de acceptare constituie o singur activitate.
Planurile referitoare la testarea de unitate software, de integrare, de sistem i de acceptare trebuie
stabilite, documentate i analizate n conformitate cu Planul Calitii sau alte proceduri
documentate, acoperind urmtoarele aspecte principale:
o obiectivele testrii;
o tipurile de teste ce vor fi efectuate (de exemplu: de funcionalitate, de performan, de

Calitatea produselor software

9-21

utilizabilitate);
o succesiunea testelor, cazurile de test, procedurile de testare, datele de test i rezultatele
ateptate;
o consideraii speciale referitoare la securitate i siguran;
o mediul de testare, instrumente i software de testare, inclusiv orice calificri i controale
asociate;
o testarea documentaiei de utilizare;
o personalul necesar i cerinele de instruire asociate, inclusiv materialele necesare;
o responsabilitile pentru specificarea i executarea testelor;
o criterii de finalizare a testelor;
o metoda de nregistrare a rezultatelor;
o procedura de soluionare a problemelor identificate n timpul execuiei testelor, inclusiv
criteriile de suspendare i cerinele de reluare;
o repetabilitatea testelor.

Planul pentru Managementul Configuraiei - documentul care descrie Planul pentru


Managementul Configuraiei poate fi independent, inclus n alt document sau format din mai multe
documente i trebuie s includ urmtoarele informaii:
o organizaiile implicate n managementul configuraiei i responsabilitile asociate;
o activitile privind managementul configuraiei care vor fi desfurate;
o instrumentele, tehnicile i metodologiile ce vor fi utilizate pentru managementul
configuraiei;
o momentul de timp la care elementele considerate ar putea fi puse sub controlul
configuraiei.

Planul de ntreinere - toate activitile de ntreinere trebuie executate i conduse n conformitate


cu un Plan de ntreinere definit i acceptat att de furnizor ct i de client. Planul trebuie s conin
urmtoarele elemente:
o domeniul de aplicare pentru activitile de ntreinere;
o identificarea strii iniiale a produsului;
o organizaia (organizaiile) care ofer suport;
o activitile de ntreinere;
o nregistrrile i rapoartele referitoare la ntreinere;
o relaiile cu activitile privind managementul configuraiei, inclusiv procedura pentru
controlul modificrilor;
o planificarea propus.

S-ar putea să vă placă și