Sunteți pe pagina 1din 58

CALITATEA PRODUSELOR SOFTWARE

Introducere
Spre deosebire de activitatea industrială, ale cărei rezultate se
racterizează prin produse tangibile, domeniul tehnologiei informaţiei şi în
special producerea de software are ca rezultat produse intangibile sau care
au în componenţă astfel de produse. În acest domeniu intervin în principal
resurse intelectuale.

Odată cu diversificarea produselor IT, cu multiplicarea ofertanţilor, s-a pus


problema comparării performanţelor produselor respective. De asemenea,
elementele de comparare au apărut în legătură cu stabilirea preţului
produselor software şi la definirea performanţelor programatorilor.

Lucrarea de fata prezinta caliatatea din punctul de vedere al sistemelor de


programe si incearca sa prezinte caracteristicile de calitate ale produselor software.

Primul capitol constituie bazele teoretice ale calitatii, respectiv


managementului calitatii. Sunt definite calitatea, caracteristicile de calitate in
general, precum si, fiabilitatea, mentenabilitatea, disponibilitatea. Sunt prezentate
si diferitele etape ale asigurarii calitatii unui produs, functiile managementului
calitatii precum si diferite instrumente statistice utilizate in managementul calitatii
cu precadere in controlul calitatii. Tot aici se prezinta si standardizarea, respectiv
standardul, rezultatul unei normalizări realizate într-un anumit domeniu fiind
aprobat de către o autoritate recunoscută.

Al doilea capitol priveste calitatea si managementul calitatii din prespectiva


produselor software. Aici sunt prezentate principalele caracteristici de calitate
urmarite la sistemele de programe, totodata fiind abordata si problema masurarii
calitatii produselor software.

Ultimul capitol prezinta un studiu privind aprecierea importanţei care se


acordă caracteristicilor de calitate software. Aceste caracteristici sunt urmarite si

1
din punctul de vedere al utilizatorilor produselor precum si din punctul de vedere al
programatorilor.

2
1. Conceptul de calitate

1.1 Definirea calitatii

Traim într-o era în care evolutia vietii sociale pune un accent tot mai mare pe
calitate, rezultata din diverse procese, la nivelul diverselor domenii ale dezvoltarii
economice si sociale.

În general, termenului de „calitate” (cuvântul vine de la latinescul „qualitas”,


„qualis” care înseamna „fel de a fi”) i se pot atribui mai multe întelesuri, în functie
de contextul în care este utilizat. Astfel poate semnifica:

- felul de a fi al unui lucru sau individ, însusirile si defectele acestuia;

- ansamblul conditiilor de trai la un momemt dat – „calitatea vietii”

- calitatea comerciala a unui produs;

- nivelul de „excelenta” al unui serviciu.

Pe masura cresterii si diversificarii cererii de produse si dezvoltarii


productiei industriale, notiunea de „calitate” a produselor a evoluat continuu,
ajungându-se astazi, în conditiile utilizarii calculatoarelor electronice pentru
controlul calitatii, la noi semnificatii prin notiuni de „calitate dirijata, asigurata,
calitate totala si management de calitate totala etc”.

Principalii factori care au contribuit la creşterea importanţei calităţii


produselor şi serviciilor în economia contemporană sunt: intensificarea
concurentei, sporirea exigentelor clientilor si a societatilor precum si cresterea
complexitatii produselor si a proceselor de realizare a acestora.

Se impune o definire care sa reflecte atât comtinutul complex al notiunii cât


si caracterul ei evolutiv – dinamic. Punctul de pornire, larg acceptat, îl constituie,
în primul rând, valoarea de întrebuintare, ca totalitate a însusirilor care fac ca
produsele sa fie utile omului, diferentiindu-le dupa utilitatea pe care o satisfac.

3
Calitatea reprezinta expresia gradului de utilitate sociala a produsului,
masura în care, prin ansamblul caracteristicilor sale (tehnico-functionale, psiho-
senzoriale si al parametrilor economici), satisface nevoia pentru care a fost creat si
respecta restrictiile impuse de interesele generale ale societatii, privind eficienta
social economica, precum si protectia mediului natural si social.

Conform standardului ISO 8402, calitatea reprezinta ansamblul


caracteristicilor unei entitati - produs, activitate, proces, organizatie, persoana -
care confera acesteia aptitudinea de a satisface cerintele exprimate sau implicite.
Conform unor aspecte partiale ale calitatii unui produs sau serviciu, calitatea
semnifica:

• aptitudinea de a fi utilizat sau întrebuintat;

• satisfacerea cerintelor clientului;

• conformitatea cu o documentatie sau cu exigentile beneficiarului.

Calitatea nu este exprimata printr-o singura caracteristica, ci printr-un


ansamblu de caracteristici, nefiind de sine statatoare existand doar in relatie cu
nevoia clientilor.

Conform ISO 9000:2001 calitatea reprezinta masura in care un ansmablu de


caracteristici intrinseci indeplinesc cerintele.

Produsul, privit în conformitate cu standardul ISO 8402 poate fi orice bun


material (rezultat din fabricatie), sau imaterial (Software - programe, informatii,
date) si/sau serviciu (bancare, transport, etc), care apare ca rezultat al unor
activitati si/sau procese.

Din perspectiva ISO 9000 produsele se impart in 4 categorii si anume:


servicii (de exemplu: transport), software (un program de calculator, dictionar),
hardware (de exemplu o parte mecanica a unui motor, o componenta a unui
calculator) si materiale procesate (de exemplu lubrifiant).

Conform unor anumite orientari calitatea poate semnifica unele aspecte


speciale. Astfel:

4
- în orientarea spre produs – calitatea este considerata o caracteristica
masurabila;

- în orientarea spre proces – se ia în considerare punctul de vedere al


producatorului, dupa care produsele de calitate sunt cele care satisfac cerintele
specificate; dar utilizatorul poate avea al punct de vedere;

- în orientarea spre costuri (implicit pretul de comercializare) – produsul


este considerat de calitate daca ofera anumite performante la un nivel acceptabil de
pret. O astfel de orientare este agreata de un segment important de consumatori (în
Germania 17%);

- în orientarea spre utilizator – calitatea se defineste ca reprezentând


aptitudinea produsului de a fi apt pentru utilizare (fitness for use). Reprezinta
corespondenta cu cerintele beneficiarului privind functionalitatea, siguranta în
exploatare, pretul, termenul de livrare, costurile de utilizare, compatibilitatea cu
mediul etc.

1.2 Caracteristicile produsului


Inainte de a defini caracteristicile unui produs trebuiesc definiti urmatorii
termeni referitori la calitate: cerinta, neconformitate si defect.

Cerinta este definita ca reprezentand o nevoie sau o asteptare care este


declarata, in general implicita sau obligatorie. O cerinta specificata este una care
este declarata intr-un document.

Prin neconformitate se intelege neindeplinirea unei cerinte, in timp ce


defectul reprezinta neindeplinirea unei cerinte referitoare la o utilizare intentionata
sau specificata.

În evaluarea functiilor unui produs exista un demers obligatoriu pentru


producator, care se face cu ajutorul si prin intermediul caracteristicilor produsului.
Pentru a întelege acest demers definim si clasificam caracteristicile unui produs.

Conform standardului ISO 8402, caracteristicile unui produs sunt definite ca


proprietati specifice prin care se identifica sau diferentiaza entitatile (produse,
procese, organizatii etc), care pot fi descrise si masurate pentru a li se determina
5
conformitatea/neconformitatea în raport cu cerintele de calitate specificate.
Conform acestui standard, calitatea prezinta o variatie continua, se exprima printr-
un ansamblu de caracteristici, neavând valoare de sine statatoare decât în relatie cu
nevoile beneficiarului, nevoi implicite sau explicite legate de valoarea de
întrebuintare.

Corelatia dintre caracteristicile de calitate, ca o masura a relatiei dintre


producatorul de produse si beneficiarul acestora, se defineste:

- în procesul de proiectare – ca expresie a unor relatii matematice de


interpretare a interdependentei dintre ele;

- experimental – pe baza unor probe, încercari, testari, etc;

- în procesul de exploatare si în activitatea service (depanare post-vânzare);

- în mod empiric – în procesul de consum.

Tinând seama de aceste interdependente este posibil ca limitându-ne la un


numar relativ mic de caracteristici „de importanta majora”, circa 8 – 15, sa fie avut
în vedere întregul ansamblu de caracteristici ale unui produs complex, caracteristici
care poate fi de ordinul zecilor. Acest aspect devine extrem de important în cazul
produselor proiectate prin asistare computerizata.

Existenta unor consideratii diferite acordate notinii de „calitate” de catre


producatorul si beneficiarul produselor industriale a impus necesitatea clasificarii
caracteristicilor produselor.

• În sens larg – în special din punctul de vedere al utilizatorului - se iau


în consideratie urmatoarele caracteristici:

- siguranta în functionare – determinata de fiabilitate,


mentenabilitate, etc;

- compatibilitatea – aptitudinea produselor de a putea fi utilizate


împreuna;

- interschimbabilitatea – aptitudinea unui produs de a putea fi


utilizat fara modificari în locul altui produs, îndeplinindu-i partial
functiile;
6
- neconformitatea – abaterea/absenta unor caracteristici de calitate
în raport cu cerintele specificate;

- defecte – nesatisfacerea unor cerinte, inclusiv a celor referitoare


la securitate;

- securitatea – starea în care riscul unor daune materiale este


limitat.

• În sens restrâns – cu referire speciala la produsele industriale, deci din


punctul de vedere al producatorului industrial – caracteristicile de
calitate ale unui produs pot fi grupate în urmatoarele categorii:

- Caracteristicile tehnice si tehnologice care se refera la solutia


constructiva, care evolueaza în timp pe seama unor cheltuieli de
modernizare; dintre acestea avem:

• caracteristici functionale, de exemplu viteza, debit;

• caracteristici de identificare, apartin mai mult sistemului de


evidenta, vizând corespundenta reciproca a informatiilor din
documentatiile constructive, tehnologice, financiar-contabile,
manageriale;

• natura si structura materialelor, care determina performantele


unui produs;

• gabaritul – reducerea lui înseamna atât un consum mai mic de


materiale, energie, dar si comoditate în manevrare etc;

• precizia si siguranta în exploatare date de fiabilitate,


mentenabilitate, disponibilitate, etc;

• tot aici intra si însusirile si proprietatile fizico-chimice


masurabile ale produsului:

- direct - densitate, grad de duritate la apa, continut procentual


de metal într-un mineral, sau de substanta utila dintr-un minereu,
continutul nutritiv într-un produs alimentar, etc;

7
- indirect - calitatea unei acoperiri galvanice prin grosimea
stratului, puterea unui motor prin încalzire conductorilor, etc;

- comparabile cu o mostra etalon – obiectiv (numarul de


defecte pe cm tesatura/tricotaj/tabla etc.,gradul de alb al unei tesaturi)
sau subiectiv (finisajul unei confectii, grad de vopsire, etc);

• caracteristicile tehnologice referitoare la posibilitatile de executie


într-un sistem tehnologic dat (la nivelul unor operatii de transformare
aflate într-o desfasurare continua sau succesiva), de exemplu
tolerante, calitatea suprafetelor la prelucrare, etc.

- Caracteristicile economice care se refera la: randamente:

• indicatori tehnico-economici de consum, de utilizare (intensiva,


extensiva);

• grad de automatizare si cibernetizare;

• cheltuieli de exploatare (consumuri specifice incluse sau pe care le


determina) de întretinere (reparatii, piese de schimb);

- Caracteristicile sociale sunt legate de valoarea de întrebuintare,


utilitatea produselor si de asemeni la efectele asupra mediului
ambiant, a sigurantei si sanatatii fizice si psihice ale omului; aceste
efecte determina în prezent, în tarile puternic dezvoltate, succesul
sau insuccesul de piata al produselor.

- Caracteristicile psiho-senzoriale si estetice – caracteristici cu o


valoare subiectiva ridicata – cu importanta mai mare pentru
bunurile de consum: aspect exterior, finisare, eleganta, concordanta
cu moda, confortul pe care îl asigura la utilizare etc.

• În functie de destinatia economica si caracterul utilizarii produselor în


procesul de consum, avem:

- Caracteristici ale mijloacelor de munca: durabilitate, greutate,


ergonomicitate, precizie, randamant, fiabilitate, mantenabilitate, consumuri,

8
rezistenta la mediu (de lucru, ambiant) si la efort (de actiune, de
manipulare/lovire), etc;

- Caracteristici ale obiectelor muncii: usurinta prelucrarii,


eccnomicitatea acestora, asigurarea calitatii, elasticitate, soliditate,
compozitie chimica, etc;

- Caracteristici pentru obiecte de uz individual: forma, gust,


rezistenta la rupere/frecare, conductibilitate termica/electrica, elasticitate,
permeabilitate, etc;

• În functie de modul de exprimare,distingem:

- Caracteristici cuantificabile: cote dimensionale, greutate, debit,


presiune, etc;

- Caracteristici atributive – definite prin calificative, de exemplu


corespunzator si necorespunzator.

Pentru aprecierea calitatii produselor cu ajutorul acestor caracteristici, a fost


necesara stabilirea unor limite de referinta, specificate într-o serie de documente
specifice, dintre care cele mai importante sunt standardele, normele tehnice,
caietele de sarcini sau specificatiile tehnice contractual, comenzi.

1.3 Fiabilitate, mentenabilitate, disponibilitate


Fiabilitatea este strâns legată de calitate, fiind o extindere a acesteia în timp;
exprimă siguranţa în exploatare.

Din punct de vedere calitativ reprezinta capacitatea ca un produs sa


indeplineasca pentru un anumit interval de timp prestabilit functia pentru care a
fost creat, iar din punct de vedere cantitativ reprezinta probabilitatea ca produsul sa
respecte termenul de garantie. Introducerea acestei notiuni a aparut dat fiind ca
anumite caracteristici calitative au dobandit o importanta deosebita pentru toata
perioada de functionare, deci pe intreg ciclul de viata al produsului.

9
Conceptul de fiabilitate se mai utilizeaza si cu urmatoarele sensuri: utilizarea
in conditii prescrise un timp cat mai indelungat; probabilitatea de buna
functioanare a produsului in conformitate cu normele prescrise.

Clasificarea fiabilităţii poate fi făcută după mai multe criterii:

• Din punct de vedere al etapei de realizare a fiabilităţii există:

- fiabilitate proiectată – rezultată pe baza considerentelor de


concepţie şi proiectare care devine fiabilitate de
exploatare/prescrisă în documentaţia tehnică de fabricaţie

- fiabilitate experimentală - dată de experimentarea în laborator,


pe staţii de încercare, ştanduri de probă, unde se încearcă
produsul în condiţii similare de exploatare (solicitare);

- fiabilitate operaţională/efectivă - conform cu rezultatele privind


comportarea în exploatare, pe o perioadă de timp, a unui număr
cât mai mare de produse, efectiv utilzate (este fiabilitatea din
exploatare).

• După modul de estimare a fiabilităţii deosebim:

- fiabilitate nominală – prescrisă în anumite specificaţii


(standarde, norme tehnice, contracte) sau inscripţionată pe
produs;

- fiabilitate estimată - determinată cu un anumit interval de


încredere pe baza rezultatelor din încercările de laborator, a
informaţiilor din exploatarea unor produse identice.

Fiabilitatea depinde de modul cum a fost conceput şi executat produsul, de


condiţiile de exploatare, de condiţiile de întreţinere (mentenanţa).

In aprecierea fiabilitatii intra doua componente: dimensiunea temporala si


conditiile concrete de functionare si de mediu ambiant.

Mentenabilitatea reprezinta probabilitatea ca un produs, sau sistem tehnic,


defect, sa fie repus in stare de functionare intr-un anumit interval de timp.
Demersul prin care se rezolva aceasta problema se numeste mentenanta.
10
Mentenanţa reprezintă activitatea depusă în vederea restabilirii capacităţii de bună
funcţionare a unui produs, sau sistem tehnic, defectat. Aceasta poate fi preventivă
sau corectivă (reparaţii - parţiale,capitale).

Disponibilitatea reprezinta probabilitatea ca un produs sau sistem tehnic să


fie apt de bună funcţionare după o activitate de menetenanţă, sau raportul dintre
timpul în care produsul îşi menţine calităţile iniţiale şi timpul total de utilizare.

1.4 Nivelul calitatii unui produs


Caracterul dinamic si evolutia calitatii se apreciaza prin controlul calitatii
care cuprinde ansamblul de activitati si tehnici operationale practicate în vederea
mentinerii calitatii, activitati si tehnici ce presupun:

- asigurarea fiabilitatii optime fata de modelul proiectat si fata de


documentatia tehnica;

- metode specifice statisticii matematice

Nivelul calitatii la produse este masurat si cuantificat cu ajutorul calimetriei


- stiinta masurarii si estimarii calitatii produselor. Aceasta stiinta are urmatoarele
obiective:

- stabilirea terminologiei notiunilor de calitate în legatura cu produsele


utilizate curent;

- elaborarea nomenclatorului denumirilor produselor si clasificarea


indicatorilor de calitate pentru produse si servicii;

- elaborarea metodelor de determinare si de evaluare a diferitelor


caracteristici ale calitatii produselor;

- elaborarea metodelor de optimizare a indicatorilor de calitate.

Calitatea unui produs poate fi exprimata printr-o serie de indicatori de


calitate, care pot fi:

11
- simpli – când se refera la o singura caracteristica

- complecsi – când se refera la mai multe caracteristici sau la întregul produs

- de baza – daca servesc ca baza de comparare pentru aprecierea calitatii

- planificati – trecuti într-o sursa de informatie (o specificatie)

- efectivi – faptici, conform datelor din exploatare

Sistemul de indicatori ai calitatii produselor poate fi utilizat sub diferite


variante:

- pe faze/etape de realizare a produsului

- pe elemente definitore ale calitatii

- pe functii ale întreprinderii si atribute ale conducerii

- pe baza diferitelor clasificari ale caracteristicilor de calitate ale produselor,


etc.

Sistemul de indicatori poate fi redat sub forma unui sistem agregat,


structurat piramidal în trei trepte:

- treapta a I-a - situata la baza piramidei, care cuprinde un numar foarte


mare si divers de indicatori simpli = indicatori analitici;

- treapta a II-a - care cuprinde un numar ceva mai mic de indicatori =


indicatori sintetici ai fiecarei grupe de indicatori analitici ai caracteristicilor;

- treapta a III-a - situata în vârful piramidei contine indicatorul


global/complex, integral al calitatii – pentru exprimarea calitatii totale.

Aplicând sistemul de indicatori pentru exprimarea calitatii unui produs, mai


intâi, se realizeaza o ierarhizare a caracteristicilor functionale ale acestuia, pornind
de la urmatoarele considerente generale:

a. se listeaza toate caracteristicile produsului si se acorda fiecaruia dintre ele


o nota care exprima masura în care respectiva caracteristica ne satisface;

12
b. notele pentru toate caracteristicile, indiferent de natura fiecareia, se
convertesc într-o scala unica, pentru a putea fi însumate;

c. caracteristicile unui produs nu au importanta egala în definirea calitatii,


de aceea estimarea fiecareia trebuie corectata cu un coeficient de pondere (de
exemplu în cazul unui ceas vor conta solutia constructiva, precizia, aspectul pretul,
marca – caracteristici care vor avea o importanta deosebita în functie de
beneficiar); suma ponderilor atribuite caracteristicilor unui produs trebuie sa fie
întotdeauna constanta.

1.5 Etapele asigurarii calitatii produselor


Realizarea calitatii unui produs (sau serviciu) are loc în urma unui proces
ciclic si complex, la care participa toate componentele firmei, începând cu
cercetarea stiintifica si continuând cu proiectarea, pregatirea productiei, procurarea
materiilor prime si materiale, productia propriu-zisa, controlul produsului (rezulta
certificat de calitate), vânzarea si asigurarea service-ului la beneficiar. Acest ciclu
se reia pe o baza informationala superioara ca urmare a introducerii progresului
tehnic si stiintific ceea ce confera calitatii un caracter dinamic, exprimat prin
„spirala calitatii”.

Asigurarea calitatii unui produs implica etapele: de proiectare, de fabricatie


si de “service”.

1.5.1 Etapa de proiectare

Aceasta etapa contribuie cu ponderea cea mai mare la realizarea


performantelor finale ale produsului. Ca atare trebuie aleasa o solutie constructiva
moderna, compatibila cu gradul de înzestrare tehnica a întreprinderii, cu experienta
si calificarea personalului muncitor si cu cerintele beneficiarului.

În ultimii 30-40 de ani s-a impus metodologia, numita “ingineria valorii”


care permite optimizarea activitatii de proiectare, astfel încât produsul sa aiba
performante optime la un cost de fabricatie optim. Pe baza faptului ca fiecare
produs îndeplineste o serie de functii capabile sa satisfaca o anumita necesitate
sociala, ingineria valori (metoda tehnico-economica de analiza a modului de
conceptie, proiectare si executie a unui produs) calculeaza si minimizeaza costul

13
fiecarei functii, costul produsului fiind suma costurilor de realizare a functiilor
sale.

Minimizarea costurilor functiilor se face fara diminuarea calitatii, fiabilitatii


si performantelor produsului. Vechile metode de calcul stabileau costul produsului
ca suma a costurilor partilor sau subansamblelor ce îl compun.

Elaborarea unui nou produs, conform analizei valorii, se realizeaza de catre


echipe mixte, interdisciplinare, formate din ingineri, economisti si alti specialisti.

Elaborarea unui program presupune parcurgerea unor etape succesive,


conform cu un plan operational, care cuprinde:

- documentarea asupra produsului existent;

- definirea produsului si functiilor sale;

- raportarea functiilor la cost si valoarea lor;

- elaborarea de variante alternative de realizare a functiilor dorite;

- evaluarea - alegerea celei mai bune variante si stabilirea costurilor;

- proiectarea - transformarea variantei alese în solutie tehnologica realizabila


si întocmirea documentatiei necesare pentru realizarea produsului în varianta
aleasa;

- implementarea - realizarea prototipului si a seriei “zero”.

Daca o functie cu contributie redusa la valoarea produsului va avea o


pondere mare în costul total, atunci functia respectiva trebuie reproiectata pentru a
aduce costul la nivelul utilitatii sale (de exemplu pentru ca un autoturism - standard
sa fie performant nu este necesar sa fie vopsit cu vopsea metalizata!).

1.5.2 Etapa de fabricatie

În etapa de fabricatie calitatea produsului va fi determinata, în primul rând,


de calitatea materiilor prime si de performantele utilajelor - de gradul de uzura
fizica a acestora. Un factor determinant în asigurarea calitatii, în aceasta etapa, îl
constituie rigurozitatea controlului tehnic, pe faze si final. Prevenirea aparitiei

14
defectelor de fabricatie, prin respectarea stricta a procesului tehnologic, se face cu
ajutorul metodei „zero defecte” (Japonia, 1970).

Ideea de la care s-a pornit a fost aceea ca un produs, daca este realizat cu
respectarea stricta a tehnologiei si a calitatii materiilor prime, nu are nici un motiv
sa nu corespunda cerintelor de calitate asumata. Concurenta de piata a determinat
întreprinderile sa caute solutii pentru realizarea unui asemenea produs, lipsit
practic de defecte. Desigur ca un asemenea obiectiv nu se poate atinge dintr-o data.

Se începe cu identificarea cauzelor care duc la aparitia defectelor si se


continua cu eliminarea lor.

1.5.3 Etapa de utilizare

În ultima instanta calitatea unui produs este apreciata de cumparator


(utilizator) si în functie de usurinta cu care se realizeaza întretinerea si depanarea
lui. Cresterea complexitatii produselor a facut dificila remedierea deficientelor în
afara firmei producatoare. Acesta este motivul pentru care s-a dezvoltat reteaua de
“service” asigurata de producator.

Conceptia moderna despre calitate, leaga calitatea produselor de calitatea


proiectului (conceptiei) si calitatea fabricatiei, iar interdependenta lor se poate
exprima sintetic prin modelul cenceptual denumit “triunghiul calitatii”.

De asemenea, conceptia moderna despre calitate exprima angajarea


întregului personal al unei firme, în realizarea acesteia, pe baza unei strategii
proprii în domeniul calitatii. Se ajunge astfel, de la nivelul produsului fara defecte
la cel al întreprinderii fara defecte, concept denumit “managementul calitatii”.

15
1.6 Managementul calitatii
Pornind de la Juran (Joseph Moses Juran - considerat deschizator de
drum) managementul calitatii a fost definit prin functiile sale, în termenii “trilogiei
calitatii” (quality trilogy ):

- planificarea calitatii ( Quality Planning );

- tinerea sub control a calitatii ( Quality Control );

- îmbunatatirea calitatii ( Quality Improvement ).

J.Kélada defineste managementul calitatii (în “La gestion integrale de la


qualite. Pour une qualite total”, Ed Quafee , Quebec , 1990 ,27 ) ca un ansamblu de
activitati având ca scop realizarea unor obiective, prin utilizarea optima a
resurselor.

Definitia conform standardului ISO 8402 ne prezinta managementul calitatii


ca “ansamblul activitatilor functiei generale de management, care determina
politica privind calitatea, obiectivele si responsabilitatile ce le implementeaza în
cadrul sistemului calitatii”. Acest standard precizeaza ca:

- responsabilitatea exista la toate nivelurile de management;

- rolul de coordonare îl are conducerea de vârf (top management);

- implementarea se realizeaza cu participarea tuturor angajatilor;

- punctul de plecare îl reprezinta elaborarea strategiei si politicii calitatii;

- sistemul calitatii reprezinta structura organizatorica, procedurile, procesele


si resursele necesare pentru implementarea managementului calitatii.

1.6.1 Functiile managementului calitatii


Ansamblul activitatilor din managementul calitatii sunt: planificare,
organizare, control si asigurare a calitatii.

Planificarea calitatii presupune ansamblul proceselor de determinare a


principalelor obiective ale firmei în domeniul calitatii, precum si a resurselor si
mijloacelor de realizare a lor.

16
Obiectivele pot fi la nivel strategic si operational. Avem deci:

- o planificare externa – identificarea beneficiarilor si stabilirea cerintelor


acestora (prin studiu de marketing);

- o planificare interna – transpunerea cerintelor clientilor în caracteristici


ale produsului si in procese care fac posibila realizarea produselor cu aceste
caracteristici.

Tinerea sub control a calitatii se refera la ansamblul activitatilor:

- de supraveghere a desfasurarii proceselor;

- de evaluare a rezultatelor din traiectoria produsului în raport cu obiectivele


si cu normele specificate într-un document normativ.

Activitatile specifice de tinere sub control a calitatii conform standardului


ISO 8402 sunt:

- supravegherea calitatii – monitorizeaza si verifica continuu!

- inspectia calitatii – masoara, examineaza si încearca una sau mai multe

caracteristici!

- verificarea calitatii – confirma conformitatea cu cerintele prin examinari


si probe tangibile!

a) Auditul calitatii – o examinare sistematica si independenta care determina


daca:

- activitatile si rezultatele corespund dispozitiilor prestabilite;

- dispozitiile sunt efectiv implementate si capabile sa atinga obiectivele.

Auditul calitatii se aplica întregului sistem de calitate sau elementelor


acestuia (procese, prevederi, servicii) cu scopul de a evalua masurile corective sau
de îmbunatatire necesare.

b) Analiza sistemului calitatii - efectuata de conducere – consta în evaluarea


oficiala a starii de compatibilitate a sistemului de calitate cu politica conducerii
întreprinderii în acest domeniu. Aceste analize cuprind:
17
- constatarile auditorilor pentru elementele sistemului;

- eficacitate globala a sistemului în realizarea obiectivelor;

- adecvarea sistemului la schimbarile datorate noilor tehnologii, concepte


ale calitatii, strategii de piata, conditii sociale sau de mediu.

Îmbunatatirea calitatii presupune un ansamlu de activitati desfasurate pentru


obtinerea unui nivel de calitate superior celui planificat si prevazut în standarde sau
specificatii.

Asigurarea calitatii presupune activitati prestabilite si sistematice în cadrul


sistemului calitatii, pentru a reda încrederea corespunzatoare ca produsul va
satisface cerintele de calitate specificate. Poate fi:

- interna – pentru a da incredere conducerii întreprinderii;

- externa – pentu a da încredere clientilor ca sistemul calitatii permite


detinerea calitatii cerute.

Este necesara coordonarea tuturor activitatilor, în sensul de a forma un


ansamblul de procese care se practica în vederea armonizarii deciziilor si actiunilor
firmei si ale subsistemelor sale în scopul realizarii obiectivelor definite în cadrul
sistemului calitatii, stabilit anterior.

O coordonare eficienta presupune existenta unei comunicari adecvate


(bilaterale si multilaterale – intalniri, conferinte, reuniuni) in toate etapele
corespunzatoare managementului, cu antrenarea personalului pentru realizarea
obiectivelor din domeniul calitatii.

18
1.7 Metode si instrumente statistice de control

Un aspect important al calitatii este controlul calitatii produselor, care


constituie fundamentul pe care se bazeaza asigurarea calitatii si managementul
calitatii. Acest control se poate realiza fie prin masuratori ale aspectelor cheie ale
productiei fizice, fie cu ajutorul controlului statistic de calitate. Controlul statistic
de calitate constituie o cerinta a standardelor de calitate ISO 9000, standarde care
trebuie sa fie respectate în cazul oricaror produse exportate.

Independent de solutia de urmarire a productiei si a calitatii, integrarea


calitatii cu sistemele de productie presupune:

• identificarea operatiilor de control/repere;


• culegerea datelor masurate în punctele de control;
• punerea acestor date la dispozitia setului de diagrame, implementat în
sistem;
• existenta unui ansamblu de rutine de reprezentare grafica a seriilor de date
potrivite cu specificul sistemului.

Un produs este considerat bun calitativ, daca performantele sale masurate se


încadreaza între anumite limite de toleranta specificate. Produsul va fi bun, daca
vectorul performantelor sale va fi inclus într-un domeniu de acceptare, definit
conform limitelor de toleranta specificate si va fi necorespunzator în caz contrar.

La baza utilizarii metodelor statistice în activitatea de control de calitate, sta


principiul potrivit caruia deciziile trebuie luate pe baza unor date reale, corecte, iar
cele eronate trebuie eliminate în timp util.

Controlul statistic al calitatii este cea mai utilizata metoda si se bazeaza pe


controlul prin esantionare, in cadrul caruia prin esantionul extras (n) controlat in
totalitate se obtin rezultate si concluzii asupra intregului proces de fabricatie sau lot
de produse finite privind: stabilitatea productiei, capabilitatea proceselor de
productie, precizia de realizare a caracteristicilor de calitate controlata.

Controlul statistic are la bază statistica matematică, ştiinţă ce recurge la


eşantionare pentru caracterizarea variaţiei unei caracteristici a unei populaţii

19
statistice. Metodele statistice se bazează pe ipoteza că orice caracteristică este o
variabilă aleatoare, iar distribuţia valorilor ei, când numărul problemelor este
suficient de mare, corespunde legii normale de repartiţie, numită şi repartiţiei
Gauss. Utilizarea metodelor statistice face posibil ca, prin selectarea unui eşantion
dintr-o anumită colectivitate statistică, să se deducă repartiţia caracteristicii luate în
studiu pentru întreaga colectivitate.

Statistica operează cu relaţii de calcul specifice, care permit determinarea


parametrilor ce caracterizează repartiţia valorilor, mai importante fiind:

• valoarea medie a variabilei, n;


• abaterea medie pătratică, б ( ce măsoară gradul de împrăştiere a
valorilor);
• probabilitatea ca variabilă să se înscrie într-un domeniu de valori,
p.

Se consideră că procesul se desfăşoară normal dacă parametrii n şi б a se


încadrează în limitele unui interval stabilit, numit interval de încredere sau interval
de control.

Este cunoscut din partea industrială şi comercială că orice lot de produse


conţine o anumită proporţie de exemplare necorespunzătoare calitativ, care este
numită fracţiunea defectivă a lotului. Pe baza fracţiunii defective, p, urmează să fie
apreciată calitatea întregului Iot. Fracţiunea defectivă se poate exprima ca raport
între numărul pieselor neconforme (D) şi mărimea lotului (N). Fracţiunea defectivă
ia valori între 0 şi 1. Nivelul acesteia determină probabilitatea de acceptare a
lotului de piese, Pa.

“Educatia in controlul calitatii – arata K. Ishikawa in 1975- trebuie


desfasurata larg si profund, la toate nivelurile, pentru toti salariatii intreprinderii,
de la director pana la muncitor, nu numai in ce priveste ideile, dar si metodele
controlului statistic al calitatii.”

Plecând de la premiza ca nu este posibila tinerea sub control a calitatii fara


utilizarea unor metode statistice (95% din problemele referitoare la calitate

20
rezolvându-se cu ele), el clasifica aceste metode în trei categorii, in functie de
dificultatea aplicarii lor:

 Metode statistice elementare (Diagrama Pareto, Diagrama cauza-


efect, Stratificare, Fisa de verificare, Histograme, Diagrama corelatie,
Diagrama de control static a procesului)
 Metode statistice intermediare (Teoria supravegherii statistice,
Controlul statistic prin esantionare, Metode de estimare statistica si de
testare a ipotezelor, Metode de analiza senzoriala, Metode de
proiectare experiment)
 Metode statistice avansate (Proiectare avansata – asistata de
calculator, Analiza multicriteriala, Metode de cercetare operatioanal)

În opinia sa, metodele statistice intermediare si avansate sunt destinate


specialistilor, în timp ce metodele statistice elementare (considerate ,,instrumente
de baza’’ ale calitatii) ar trebui sa fie însusite de întregul personal. Acest punct de
vedere releva înca o data specificul conceptiei japoneze fata de calitate, ca
preocupare permanenta a tuturor – company wide quality control – si nu doar
apanajul specialistilor, asa cum a fost privita ea initial în economiile occidentale.

Fara sa fie neaparat o expunere completa a contributiei metodelor statistice


in tratarea calitatii sau o delimitare precisa a acestora fata de implicatiile altor
ramuri moderne ale stiintei, viziunea lui Ishikawa, expusa înca din anii ’50 se
constituie intr-un punct de vedere relevator pentru evaluarea impactului statisticii
in tratarea informatiei privind calitatea.

Abordarea calitatii fiind pana la urma un proces continuu si laborios de


culegere, prezentare si analiza a informatiei despre diferitele moduri de manifestare
ale acesteia, tehnicile si instrumentele oferite de stiinta in acest scop, in sensul
adaptarii si perfectionarii lor in timp, s-au constituit in preocupari permanente ale
specialistilor. Aceste instrumente sunt utilizate in trei scopuri esentiale:

• Ordonarea si sintetizarea datelor referitoare la calitate;


• Decizii referitoare la calitatea loturilor de produse pe baza analizei
esantionului de produse prelevat;

21
• Controlul bunei functionari a unui proces in scopul asigurarii
capacitatii acestuia de a obtine in mod constant nivelul de calitate
solicitat, tehnicile si instrumentele clasice utilizate astazi in
managementul calitatii, sunt preluate in cea mai mare parte din
statistica – ca stiinta fundamental ce ofera metode de tratare a datelor
numerice caracteristice fenomenelor economice.

Bazându-se pe fundamentul matematic a functiilor de repartitie, pe


instrumentele proprii de tratare descriptiva a informatiei (grafice), de înregistrare si
prelucrare primara a acesteia (fise de înregistrare – calcul a principalilor indicatori
statistici de caracterizare a seriilor de date), statistica ofera astazi un instrumentar
stiintific foarte elaborate fiind standardizat in cea mai mare parte.

1.8 Standardizare

Plecând de la necesitatea realizării eficiente a schimburilor comerciale, în


contextul existenţei unui număr mare de materii prime, materiale şi produse, într-o
multitudine de variante şi caracteristici calitative variabile în limite largi, s-a impus
ca absolut necesară normalizarea variantelor şi limitarea variabilităţii
caracteristicilor printr-un proces (de normalizare), care să conducă la cea mai bună
consideraţie a interesului tehnic şi a celui economic dintre partenerii schimburilor
comerciale – realizatorii şi beneficiarii de bunuri materiale. Necesitatea acestor
armonizări a fost resimţită din cele mai vechi timpuri, dar realizarea lor conştientă
şi sistematică, pe baza unor principii şi metode ştiinţifice, a fost posibilă doar în
momentul în care dezvoltarea forţelor de producţie a atins un nivel suficient de
ridicat. În momentul de faţă se poate vorbi despre acţiuni de normalizare - prin
documente - în sensul modern al cuvântului.

Documentele tehnice de referinţă sunt implicate în activităţile productive


orientate spre piaţa de consum (activităţi contractuale, comerciale) în scopul
normalizării relaţiilor dintre producătorii de bunuri şi beneficiarii acestora. Din
punct de vedere al aplicabilităţii, aceste documente pot fi:

22
• Voluntare

- Standardele: - documente cu caracter informativ, de recomandare;


procedurile de elaborare le asigura legitimitate democratica – in
special prin implicarea tuturor factorilor interesanti relevanti in
procesul de elaborare a lor; exemple de standarde: ISO, EN, DIN,
BS, NF, etc.
- Specificatiile (diponibile public) – contin reguli, instructiuni sau
caracteristici pentru diferite activitati sau pentru rezultatul
acestora; sunt elaborate de ateliere, consorti sau alte grupuri care
de obicei nu cuprind toate partile interesate relevante; in
majoritatea cazurilor nu exista proceduri detaliate pentru
elaborarea si actualizarea lor; exemple de specificatii: ECMA
(European Computer Manufactures Association) etc.

• Obligatorii

- Reglementarile – sunt documente care stabilesc reguli legislative


cu caracter imperativ; sunt adoptate de o autoritate legislativa; de
exemplu legile (adoptate in conformitate cu proceduri bazate pe
constitutia tarii respective), decretele, actele, etc.

În ce priveşte procesul de standardizare acesta intervine ca o necesitate de


interes general a părţilor interesate relevante. Ele doresc standardele, deoarece
acestea le oferă posibilitatea de a crea sau influenţa şi armoniza regulile din
sectoarele sferei de interes. În timpul elaborării unui standard, producătorii ajung
să cunoască cerinţele beneficiarilor, să discute aşteptările acestora, să găsească
soluţii general acceptabile şi să stabilească o bază de încredere care să constituie o
premisă a consensului.

Standardizarea, definită de EN 45020 : l993 (Ghid 2 ISO/IEC : 1991), este


activitatea indicată pentru a stabili în raport cu probleme reale sau potenţiale,
dispoziţii destinate unei utilizări obişnuite şi repetate care urmăreşte obţinerea unui
nivel optim de ordine într-un context dat.

23
Această activitate se referă în special la elaborarea, difuzarea şi aplicarea
standardelor. Este percepută şi folosită în contextul unei normalităţi în care
exigenţele explicite şi implicite (neexprimate) sunt transformate în parametri
măsurabili.

Standardizarea în sine este un model posibil ideal în cazul în care


standardele sunt percepute ca elemente stategice pentru cei ce le folosesc, dacă
sunt adaptate cerinţelor pieţii şi permit, prin coerenţă şi comprehensibilitate,
adaptarea la condiţiile impuse de contextul concurenţial existent la momentul
respectiv.

Activitatea de standardizare se realizează prin documente denumite


standarde.

Conform definiţiei Comitetului Permanent pentru studiul principiilor


ştiinţifice ale standardizării (STACO) din cadrul Organizaţiei Internaţionale de
Standardizare (ISO), standardul, rezultatul unei normalizări realizate într-un
anumit domeniu, este aprobat de către o autoritate recunoscută - care se ocupă cu
stabilirea acestor tipuri de norme,. Este publicat sub forma unui document
conţinând un ansamblu de reguli, prescripţii şi caracteristici tehnice obligatorii,
prin care se stabilesc, pentru utilizări multiple şi repetate, însuşirile tehnico-
economice pe care trebuie să le îndeplinească o activitate sau rezultatele acesteia,
precum şi prescripţiile privind recepţia, marcarea, depozitarea, transportul (etc)
produselor. Acest document este stabilit (elaborat şi redactat) prin consens de
către cei interesaţi (în cadrul şi sub asistenţa şi îndrumarea unui organism de
standardizare), potrivit nivelului de dezvoltare tehnică dintr-un anumit domeniu la
un anumit moment şi este aprobat de către un organism de autoritate recunoscută.

Exigenţele indivizilor - producători, comercianţi, consumatori – caracterizate


prin constanţă pe o anumită perioadă, sunt transformate în documente normative.
Consecinţa este consolidarea progresului, atât la nivelul consumatorului, cât şi la
nivelul producătorului şi de asemenea pregătirea viitorului, în condiţiile asigurării
timpului necesar creţiei şi verificării ideilor noi.

24
Esenţial pentru toate standardele (naţionale, profesionale, sau de firmă) este
caracterul repititiv al regulilor, prescripţiilor şi caracteristicilor comune mai multor
produse, familii de produse etc.

Standardele fac relaţia dintre partenerii comerciali inconfundabilă şi


transparentă prin introducerea unui limbaj comun.

Standardele pot fi de mai mlte tipuri, in practica fiind luate in considerare


urmatorele:

• Standard de baza - cu o aplicare generala sau care contine prevederi


generale pentru un anumit domeniu ;
• Standard de terminologie – care specifica termeni, de obicei impreuna
cu definitiile acestora si uneori cu note explicative, ilustratii, exemple,
etc;
• Standard – care specifica metode de incercare, insotire uneori de alte
prevederi referitoare la incercare, cum ar fi esantionarea, utilizarea
metodelor statistice, ordinea incercarilor;
• Standard de produs – care specifica conditiile pe care trebuie sa le
indeplineasca un produs sau o grupa de produse, pentru a asigura
aptitudinea de utilizare a acestuia/acestora;
• Standard de process – care specifica conditiile pe care trebuie sa le
indeplineasca un process, pentru a asigura aptitudinea de utilizarea a
acestuia;
• Standard pentru servicii – care specifica conditiile pe care trebuie sa
le indeplineasca un serviciu pentru a asigura aptitudinea de utilizare a
acestuia;
• Standard de interfata – care specifica conditiile referitoare la
compatibilitatea produselor sau a sistemelor in punctele lor de
legatura;
• Standard de date care trebuie indicate – contine o lista de
caracteristici ale caror valori sau alte date trebuie indicate pentru
definirea unui produs, proces sau serviciu.

Elaborarea standardelor se face în legătură cu interesul diverselor părţi


interesate. Avantajele lor sunt:
25
• Simplificare gamei tot mai mari de produse si proceduri din viata
oamenilor;
• Controlul diversitatii si utilizarea eficienta a materialelor, energiei si
resurselor umane;
• Compatibilitatea si interschimbabilitatea;
• Protectia muncii, sanatatii, vietii si mediului inconjurator;
• Reducerea gradului de incertitudine pe piata;
• Protectia intereselor consumatorilor si ale comunitatii;
• Adecvarea pentru scop;
• Eliminarea barierelor comerciale.

Faptul că consumatorii încep să aibă comportamente previzibile şi fac


referinţe la un sistem recunoscut de standarde, influenţează competitivitatea
societăţilor care concurează pe piaţa de consum, ceea ce poate modifica în mod
semnificativ echilibrul economic. Reducerea gradului de incertitudine pe piaţă se
resimte şi de către societăţi, printr-o mai mare transparenţă în situaţiile
contractuale, care să determine deciziile de investiţie pe termen scurt.

2 Calitatea in sistemele software

26
2.1 Aspecte generale

Produsele software au devenit o parte esentiala a multor sisteme moderne si


în general tind sa transforme decisiv mediul de lucru cotidian prin automatizarea
activitatilor zilnice. De fiecare data când sistemele software gresesc consecintele
sunt foarte grave si conduc la scaderea productivitatii, pierderi importante de
bunuri de orice natura, pierderea clientilor si scaderea vânzarilor, potentiale
amenintari la siguranta vietii oamenilor, brese în asigurarea securitatii
informatiilor, pierderi importante de date si informatii, cheltuieli mari pentru
recuperarea datelor si repunerea în functiune a sistemelor. Ca urmare a aderarii
României la Uniunea Europeana a aparut necesitatea dezvoltarii de produse si
servicii care sa fie compatibile si conforme cu standarde specifice pentru
acceptarea lor pe diverse piete. Mai mult, datorita noilor cerinte globale privind
calitatea produselor au capatat o importanta tot mai mare acordurile internationale
referitoare la procedurile de evaluare a calitatii produselor software. Prin acest
proiect partenerii îsi propun dezvoltarea unei platforme de cercetare care sa
implementeze functiile unui laborator de testare a produselor software, având ca
referinta un cadru conceptual metodologic bazat pe standarde internationale.

Conform standardului ISO 9000 -3 produsul software este definit ca fiind: “


o creatie intelectuala care cuprinde programe, proceduri, reguli si orice
documentatie asociata referitoare la functionarea unui sistem de prelucrare a
datelor”.

Produsul software reprezinta un ansamblu complet format din programe,


proceduri si documentie asociata, pentru calculator precum si datele destinate sa fie
livrate unui utilizator. Deci un produs software include si documentatia de instalare
si operare, documentatia de utilizare si intretinere, proceduri de utilizare si
materiale de instruire.

Fiecare generaţie de calculatoare a imprimat particularităţi specifice


procesului de dezvoltare software. De la programele monolit scrise în limbaje de
27
nivel scăzut la programele structurate pe module sau care includ definiri de
componente, saltul este vizibil.

Odată cu creşterea complexităţii produsului program sunt implementate


diferite procese de management. Acestea gestionează calitatea produsului sau
cantitatea resurselor necesare, se implică în etapele ciclului de viaţă al produsului
final şi se confruntă cu un număr foarte mare de factori primari şi agregaţi, ale
căror niveluri trebuie urmărite. Situaţia impune modularizarea produsului program
în mai multe componente, fapt ce prezintă avantaje prin:

• reutilizarea acestora, incluzându-le în alte produse;


• mai bună gestiune a proceselor de analiză, proiectare şi
implementare;
• obţinerea unei imagini clare a componentelor funcţionale;
• specializarea analiştilor, designerilor şi programatorilor.

2.2 Calitatea produselor software

Realizarea unui produs software de nivel calitativ cât mai ridicat, este
obiectivul principal în activitatea de obţinere a acestuia şi este urmărit pe
toată durata ciclului său de realizare. Atingerea acestui obiectiv trebuie evaluată şi
probată în final.

Calitatea sistemelor de programe se creează în procesul de realizare şi se


manifestă în procesul de utilizare. Ca urmare apare calitatea funcţională -
modul în care sistemul de programe rezolvă cerinţele beneficiarului şi
calitatea tehnică - performanţele tehnico-economice sau cu ce consum de resurse
se realizează funcţiunile globale ale sistemului.

Asigurarea unei eficienţe globale a activităţii de dezvoltare software


are ca scop minimizarea costurilor prin:

28
• folosirea unor mijloace adecvate de elaborare şi testare a sistemelor de
programe care să asigure minimul de erori admisibile în momentul
livrării acestora;
• utilizarea unor metode de analiză detaliată a cerinţelor utilizatorilor
care să anticipeze cerinţele ulterioare; elaborarea sistemelor de
programe într-un mod care să permită modificarea şi adaptarea
uşoară la cerinţele impuse.

Calitatea produsului final se realizează treptat, pe măsură ce se avansează în


procesul de obţinere a acestuia. Procesul de elaborare este structurat pe etape şi
faze şi astfel se obţin o serie de subproduse intermediare care constituie:

• parti din documentatia finala a etapei care fac obiectivul avizarii la


sfarsitul acesteia;
• documentatii de lucru destinate comunicarii interne in cadrul echipei
care realizeaza sistemul de programe;
• parti din sistem realizate intr-o forma preliminara.

Controlul calitatii pe parcursul realizarii sistemelor de programe se


efectueaza atat in cadrul fiecarei etape din ciclul de realizare – control interfazic,
cat si la sfarsitul fiecarei etape – control final. Obiectivul controlului calitatii este
de a depista erorile, ambiguitatiile, omisiunile intr-un moment cat mai apropiat de
aparitia lor. Astfel se elimina propagarea acestora la etapa sau faza urmatoare.
Controalele se realizeaza cu ajutorul unor grile si liste de verificari specifice
acestei activitati.

Pentru caracterizarea calitatii sistemelor de programe se recurge la metode


care imbina ideile si practicile statistice, cu cele din ingineria si managementul
proiectelor.

Un sistem de programe trebuie sa intruneasca o serie de caracteristici de


calitate, care depind de natura problemelor rezolvate, de aria de aplicabilitate, de
suportul tehnic si de dinamica conditiilor de folosire. Asemanator altor domenii si
pentru dezvoltarea software se manifesta aceeasi concentrare pe produs, a

29
activitatiilor de conceptie, executie, asigurare si verificare a calitatii , ca si in
faza preindustriala. Datorita insa complexitatii sistemelor de programe care rezulta,
exista grupul de executanti impartit in colective sau indivizi specializati ce
actioneaza pe parcursul diferitelor faze ale procesului de dezvoltare software.

Una din particularitatile productiei de software, consta in faptul ca


activitatile desfasurate sunt specifice unei anumite faze din cadrul ciclului de viata,
sau independente de fazele ciclului de viata. Astfel, modelul de productie in
industria software este un model de productie a proiectelor. Atunci cand se pune
problema importantei calitatii software intervin trei aspecte majore:

• exista domenii in care vietile oamenilor depind de buna functionare a


unor sisteme de programe si in care erorile care apar sunt uneori
fatale;
• erorile provoaca pierderi de natura materiala, financiara si chiar
umana;
• domeniul hardware este caracterizat de o tendinta de scadere a
costurilor, aspect care nu este valabil si in domeniul software unde,
desi a crescut productivitatea ca urmare a noilor metode de proiectare
si realizare, costurile nu urmeaza o tendinta de scadere.

Particularitatiile prin care se manifesta calitatea in domeniul industriei


software si modul in care ele influenteaza costurile sunt:

• comportamentul instructiunilor nu se deterioreaza in timp;


• erorile care apar sunt provocate de folosirea sau combinarea incorecta
a componentelor elementare, si nu de aceste componente in sine;
• interactiunile dintre componentele unui program sunt mai complexe,
mai ales daca acesta ruleaza in cadrul unor sisteme de programe
complexe;
• erorile exista deja in programe; ele sunt eliminate cu timpul, ca
urmare a activitatii de depanare, deci programul se imbunatateste prin
trecerea timpului;
• eliminarea unei erori nu ofera certitudine asupra faptului ca numarul
total de erori s-a redus cu o unitate;

30
• lipsa de calitate a sistemelor de programe este atribuita in intregime
greselilor umane legate de activitatile de proiectare, conceptie,
programare si documentare.

Calitatea produselor software este definita ca masura in care acestea satisfac


cerintele utilizatorilor prin caracteristici tehnice, economice si psiho-sociale.
Definitia porneste de la doua concepte fundamentale: cerintele utilizatorilor si
caracteristicile produsului. Considerate impreuna, acestea ofera o viziune clara
asupra calitatii sistemelor de programe.

In industria software o importanta deosebita o are relatia de dependenta


dintre specificul si calitatea procesului generator, calitatea proiectului si calitatea
produsului. Pe baza acestei interdependente, se deosebesc doi factori esentiali
pentru calitatea sistemelor de programe si anume: modelul specificat – proiectul si
fidelitatea reproducerii modelului – conformanta fata de proiect.

Produsul final al activitatii de dezvoltare software nu este perceput prin


simturile umane obisnuite si de aceea exista un numar mare de instrumente
proiectate pentru a face software-ul vizibil. Utlizarea acestora scoate in relief
aspecte ca:

• logica software – exprimata prin scheme logice, diagrame si listinguri


ale codului sursa a programelor;
• calitatea software – urmareste reprezentarea sau calculul volorilor
unor metrici ce exprima nivele ale unor caracteristici de calitate, sau
alre calitatii globale;
• utilizarea unor modalitati de facilitare a comunicatiei – reprezentarea
informatiilor despre logica sau calitate software se face in mod
particular pentru fiecare element participant la realizarea sistemelor de
programe; modul de reprezentare a informatiilor este diferentiat in
functie de beneficiarul acestor informatii; astfel programatorii inteleg
mai usor o schema logica in timp ce managerii asimileaza mai bine
aceleasi informatii daca sunt prezentate sub forma unei diagrame;
• controlul distorsiunilor si redundantei - utilizarea unor indicatori
statistici precum numarul mediu de erori per modul reprezinta numai

31
primul pas al procesului de eliminare a cauzelor disfunctiilor in
ingineria software; in procesul de elaborare a sistemelor de programe
si implicit de realizare a calitatii lor, sunt necesare informatii despre
fiecare element implicat: logica programelor, schema fluxului de date,
schema bazelor de date, rezultatele testarii, asa cum au evoluat ele in
dinamica procesului de dezvoltare.

Aceste aspecte influenteaza in mod diferit fiabilitatea. Astfel, logica


software permite inlantuirea corecta a instructiunilor si contribuie la diminuarea
probabilitatii de aparitie a erorilor si implicit la cresterea fiabilitatii. Plasarea
componentelor redundante in cadrul unui sistem de programe reprezinta o
modalitate eficienta de obtinere a structurilor tolerante la erori. Acestea elimina
situatiile de blocare a sistemelor de programe in cazul aparitiei unor erori si
contribuie la obtinerea unui nivel ridicat al fiabilitatii.

2.3 Masurarea calitatii produselor software

Realizarea de produse software pentru aplicatii complexe presupune


repartizarea unor programatori cu experienta si utilizarea unor sisteme de calcul
performante. In acest scop, trebuie sa se specifice cati programatori sunt necesari si
cat timp vor lucra. De asemenea, trebuie specificate cate posturi de lucru se vor
aloca, ce resurse sunt necesare (compilatoare, periferice, memorie, etc) si pe ce
durata. Dezvoltarea de aplicatii complexe presupune analiza, proiectare, testare,
implementare, toate necesitand forta de munca si resurse hardware.

Devizul de cheltuieli care precede elaborarea unui produs software reflecta


valoric consumurile de resurse necesare realizarii produsului, iar stabilirea
costurilor presupune efectuare de masurari.

Cumparatorul (utilizatorul) alege dupa diferite criterii un anumit produs.


Dominanta este corelatia cost-calitate. Atat costul, cat si calitatea, trebuie

32
exprimate cantitativ, pentru a evidentia marimea avantajului pe care o determina
alegerea facuta.

Efectele noilor tehnologii sunt cele care determina aplicarea lor, numai in
masura in care, prin cuantificare, conduc la rezultate superioare. De exemplu,
programarea structurata, prin sistematizarile determinate, a condus la reducerea
complexitatii, la cresterea productivitatii si facilitarea mentenantei software-ului.
Toate acestea au fost puse in evidenta cantitativ, printr-o serie de indicatori.
Programarea orientata spre cresterea gradului de reutilizabilitate determina
economie de munca, chiar daca nivelul de complexitate a problemelor ce se
rezolva este mult mai mare. Aceste tehnologii se implementeaza cu ajutorul unor
produse software dedicate. Studiul profitabilitatii, necesar achizitionarii acestor
instrumente, trebuie sa raspunda la intrebarea in cat timp se recupereaza investitiile
de achizitionare. Acest raspuns este posibil numai prin efectuarea unor cuantificari
ale avantajelor generate de programarea structurata.

Prezentarea în paralel a unor programe destinate rezolvării aceleiaşi


probleme, scoate în evidenţă ceea ce au ele în comun, precum şi ceea ce le
diferenţiază. Trăsăturile importante care lipsesc vor determina perfecţionări
ulterioare. Când se proiectează o nouă variantă, se caută eliminarea
inconvenientelor şi preluarea tuturor elementelor pozitive. Noul produs trebuie
caracterizat în mod riguros, atât prin costurile implicate cât şi prin nivelul
caracteristicilor de calitate obţinute.

În prezent marii producători de hardware şi software recunosc


importanţa testării şi evaluării nivelurilor calităţii. Încă din anul 1986 compania
Siemens a făcut deosebiri între categoriile de observare, evaluare şi estimare.

Astfel observarea este un proces prin care se apreciază valoarea


caracteristicilor unui produs în timpul utilizării. De exemplu, timpul de
răspuns al programelor este observat. Scopul acestei măsurări este de a evalua
conformitatea cu proiectul.

Prin evaluare, raportarea unui tip de caracteristică aşteptată are loc folosind
un produs în diferite faze de dezvoltare cât şi într-o aplicare simulată.

33
Estimarea permite evaluarea valorii anticipate a unei caracteristici cu
ajutorul descrierii unui model al produsului sau al contextului aplicaţiei. De
exemplu, timpii de răspuns într-un sistem informaţional pot fi estimaţi folosind
predicţii pe un model simulat.

Dezavantajul folosirii observaţiei constă în faptul că dezvoltarea produsului


este deja terminată, iar erorile pot deja să existe. Prin estimare pot fi evitate parţial
aceste dezavantaje, din moment ce vorbim aici de o observare “ipotetică” asupra
tipurilor de caracteristici.

Una dintre diferenţele dintre predicţie (estimare) şi observare constă în


faptul că, condiţiile implementării produsului sau aplicaţiei produsului sunt
numai parţial cunoscute. O altă diferenţă este aceea că în cazul predicţiei
ideile se aplică pe un model de produs abstract.

Pentru procesul de dezvoltare al produselor software, se poate aplica


postulatul lui Galileo „numără ce este numărabil, măsoară ce este măsurabil şi
dacă ceva nu este măsurabil, încearcă să-l faci măsurabil”.

În comparaţie cu tehnicile clasice de măsurare, tehnicile de măsurare


în domeniul dezvoltării produselor software au făcut doar primii paşi.

Prin măsurare, în domeniul IT, se înţelege obţinerea unei mulţimi de


valori ale unei metrici a unui proces de dezvoltare, a unui proces de mentenanţă
sau a unui produs software prin intermediul unor instrumente (de exemplu: prin
analize statice, colectare de date de proiectare şi prin sisteme de evaluare a
proiectului).

Procesul de masurare implica parcurgerea urmatoarelor etape:

• Determinarea obiectelor masurarii;


• Fixarea metricilor masurarii si a scalelor masurarii;
• Alocarea metodelor de masurare si a instrumentelor de masurare;
• Determinarea valorilor;
• Interpretarea rezultatelor.

34
Masurarea caracteristicilor software presupune elaborarea unei descrieri
cantitative adecvate, prin cuantificare, care sa faciliteze si sa pregateasca
masurarea propriu-zisa.

Cuantificarea constituie operatia de introducere a conceptelor cantitative, de


trecere in studiul unui fenomen de la aprecieri atributive la concepte cantitative. In
urma operatiilor de cuantificare numerica se obtin metricile.

Măsurarea unui atribut care nu depinde de măsurarea altui atribut se numeşte


măsurare directă. Rezultatul măsurării directe caracterizează atributele simple, cu
preponderenţă atributele interne ale produsului.

Măsurarea unui atribut care necesită măsurarea unuia sau mai multor
atribute ale aceleiaşi entităţi sau ale entităţilor din alte clase se numeşte
măsurare indirectă. Rezultatul măsurării indirecte se utilizează preponderent
pentru caracterizarea atributelor externe ale produselor, în scopuri de evaluare,
control şi predicţie.

În acest context, numeroase lucrări de specialitate descriu experimente


ale căror rezultate evidenţiază existenţa unor relaţii de dependenţă şi de
interdependenţă între atributele interne şi atributele externe ale software-ului
fapt foarte important pentru domeniul măsurării şi estimării calităţii software-
ului, deoarece este mult mai uşor să avem măsurări directe ale atributelor interne
decât ale atributelor externe.

2.4 Ansamblul caracteristicilor de calitate

Costurile ridicate ce caracterizează activitatea de construire a sistemelor


de programe, impun analiza corelaţiei dintre performanţele acestora şi efectele
pe care le are utilizarea curentă a lor. Performantele se stabilesc prin luarea in
considerare a dutatei in care se obtine solutia finala si a consumului de resurse
necesare, pentru rezolvarea integrala a problemelor curente. Nivelul performantei
este influentat de modul in care sistemlui de programe i s-au asigurat calitatea de
conceptie-proiectare, calitatea de executie, calitatea de conformitate, capacitatea de

35
utilizare curenta si capacitatea de mentenanta. Caracteristicile si atributele de
calitate formeaza un sistem dinamic complex; cresterea nivelului unei caracteristici
conduce atat la cresterea nivelurilor unei caracteristici, cat si la scaderea nivelurilor
pentru altele. Programatorii trebuie sa cunoasca modul in care interactioneaza
caracteristicile si atributele de calitate, pentru a asigura realizarea echilibrului
necesar incadrarii sistemului de programe intre limite de performante admise.

Caracteristicilor globale ale unui produs software, care confera calitatea


acestuia, le sunt asociate criterii de calitate:

• Utilitatea – satisfacerea cerintelor impuse in conditii de eficienta


economica ridicata;
• Operationalitatea – functionarea corecte intr-un mediu de utilizare
prestabilit, fara modificari si la nivelul performantelor specificate;
• Adaptabilitatea – folosirea sistemelor de programe intr-un mediu de
utilizare prestabilit, prin operarea de modificari cu un efort minim;
• Transferabililitate – folosirea fara modificari, sau cu modificari
minime, in alt mediu de utilizare decat cel prestabilit.

Utlitatea este un criteriu de calitate functionala, iar celelalte sunt criterii de


calitate tehnica.

Fiabilitatea este influentat in mod direct de nivelul acestor caracteristici.


Astfel, in cazul produselor software destinate evidentei contabile s-a constat ca
daca cerintele utlizatorilor sunt satisfacute in conditii de eficienta economica
ridicata, dispare necesitatea efectuarii de modificari. Implicit se micsoreaza
probabilitatea de introducere a unor noi erori; acest aspect conduce la reducerea
efortului de programare si testare, cu consecinte directe asupra nivelului costurilor
si premite cresterea fiabilitatii sistemelor de programe.

Intre caracteristicile de calitate exista o multime de relatii de subordonare,


interdependenta, ierarhizare, agregare sau de compozitie, iar complexitatea acestor
relatii face ca ansamblul caracteristicilor de calitate sa alcatuiasca un sistem, care
se bazeaza pe urmatoarele considerente:

36
• Conexiunea elementelor interne ale sistemului sa fie mai puternica
decat legaturile sistemului cu mediul;
• Indiferent de complexitatea unui sistem, el este la randul sau un
subsistem al altuia mai cuprinzator;
• Unitatea si complexitatea unui sistem presupune o anumita ordine in
asezarea si functionarea elementelor sale;
• Structura reprezinta o caracteristica definitorie a fiecarui sistem in
parte, ce trebuie privita sub forma de reunire a tuturor subsitemelor
sau prin urmarirea diferitelor structuri componente;
• Orice subsitem este alcatuit dintr-o multime de bucle de reactie care
se inchid pe anumite portiuni de proces, pe anumite portiuni de
sistem, sau chiar la nivelul intregului sistem; la nivelul sistemului
caracteristicilor de calitate acest lucru se traduce prin
interdependentele si contradictiile existente intre caracteristici.

Caracteristicile de calitate constituie agregări ale atributelor de calitate


ce sunt corespunzătoare unor proprietăţi concrete pe care trebuie să le posede
sistemele de programe.

O enumerare a acestora cuprinde acurateţea, completitudinea,


personalizarea sau individualizarea, stabilitatea, conciziunea, simplitatea,
claritatea, integritatea, confidenţialitatea, consistenţa, operabilitatea,
generabilitatea, extensibilitatea, modularitatea, eficienţa utilizării resurselor.
Ordinea de prioritate trebuie specificată încă din etapele iniţiale ale ciclului de
dezvoltare software, întrucât asigurarea lor influenţează soluţiile adoptate în
etapele următoare. Se face distincţie între controlul calităţii unui sistem de
programe şi controlul calităţii proiectului de realizare a lui. Acestea constituie
aspecte diferite ale procesului de control al calităţii ce se desfăşoară pe întregul
ciclu de dezvoltare a sistemului de programe.

Exista mai multe criterii de clasificare a caracteristicilor de calitate:

• Faza ciclului de viata a sistemului de programe pune in evidenta


faptul ca exista caracteristici de calitate evidentiate in etapele de
elaborare a sistemului, iar altele apar in etapele de efectuare a

37
modificarilor in structura sistemului pentru a-i asigura mentinerea in
functiune;
• Specificitatea sistemului de programe impune ca o caracteristica sa
fie prioritara, iar celelalte caracteristici secundare;
• Persoana care elaboreaza, foloseste sau mentine in utilizare sistemul
de programe evidentiaza prezenta sau absenta unei caracteristici de
calitate.

Caracteristicile de calitate reprezintă punctul de vedere al utilizatorului şi al


şefului de proiect asupra calităţii, folosit la definirea cerinţelor utilizatorului şi la
stabilirea obiectivelor de calitate pentru sistemul de programe.

Subcaracteristicile au semnificaţie tehnică şi sunt relevante pentru


personalul de specialitate. Ele facilitează comunicarea între şeful de proiect şi
personalul de specialitate, pentru atingerea obiectivelor de calitate.
Subcaracteristicile se definesc pentru componentele sistemului de programe şi
diferitele forme de reprezentare pe parcursul ciclului de viaţă.

2.5 Definirea caracteristicilor de calitate ale produselor


software

Exista numeroase definiri si ierarhizari ale caracteristicilor de calitate.


Abordarea acestora este facuta in mod diferit de catre autorii care s-au ocupat de
acesta problema. Ei folosesc fie termenul de caracteristici de calitate, fie le
grupeaza in caracterisitici si atribute, caracteristici si factori sau caracteristici si
subcaracteristici.

Conceptul de fiabilitate se defineste drept probabilitatea ca o functie data sa


fie executata in mod corect de un sistem pe o perioada de timp impusa. Fiablitatea
este privita ca masura increderii pe care o avem in conceptia si in capacitatea unui
sistem de programe de a functiona corect in toate conditiile avute in vedere de la
inceput. Definitia se refera mai mult la fibilitatea procesului decat la cea a

38
sistemului de programe. Este legata de probabilitatea ca o eroare din cadrul
programelor componente ale sistemului sa fie activata de un set specific de date de
intrare.

In comparatie cu fiabilitatea produselor hardware, fiabilitatea produselor


software exprima particularitatile industriei producatoare de software. Abordarile
cantitative ale fiabilitatii software exprima probabilitatea ca un sistem de programe
sa-si indeplineasca functiile cu anumite performante si fara erori intr-un interval de
timp si in conditii de exploatare date. Abordarile calitative privesc fiabilitatea ca o
capacitate a sistemului de programe.

Standardul ISO/IEC 9126, defineste fiabilitatea ca un set de atribute bazat pe


capabilitatea produsului software de a-si mentine nivelul de performanta, in
conditii si pe o perioada de timp stabilite. Analiza acestei caracteristici pune
accentul pe toleranta la defecte si corectitudine.

Tehnicile de obtinere a tolerantei la defecte se aplica in special la


componentele hardware si la sistemele de operare. Principala problema in
programare este corectitudinea sistemelor de programe, in sensul ca acestea trebuie
sa indeplineasca specificatiile functionale stabilite.

Aprecierea fiabilitatii sistemelor de programe se face prin trei elemente:

• Disponibilitatea – implica conservarea unei capacitati ridicate de


prelucrare a unui sistem de programe, chiar daca apare o anomalie in
textul sursa al componentelor acestuia;
• Integritatea – impune ca rezultatele sa fie exacte;
• Reproductibilitatea prelucrarii – urmareste obtinerea acelorasi
rezultate, cu ajutorul unor seturi de date identice, la momente si
conditii de executie diferite.

Functionalitatea este definita in standardul ISO/IEC 9126 ca un set de


atribute bazate pe existenta unui set de functii si pe proprietatile lor specificate.
Functiile satisfac necesitatile stabilite sau implicite. Datorita acestui set de atribute
care definesc functionalitatea se demonstreaza scopul caruia serveste sistemul de
programe, pentru a indeplini cerintele. In acest timp, alte seturi arata momentul si

39
modul in care sistemul de programe corespunde nevoilor utilizatorilor. Pentru a
face referire la nevoile stabilite sau implicite, se porneste de la definitia data
calitatii in standardul ISO 8402, ca totalitatea trasaturilor si caracteristicilor unui
produs sau serviciu bazat pe abilitatea sa de a satisface nevoile stabilite sau
implicite.

Utilizabilitatea este definita ca un set de atribute bazate pe efortul necesar


pentru utilizarea produsului software si pe evaluarea individuala a utilizarii
acestuia, de catre un grup stabilit sau implicit de utilizatori. Termenul utilizator are
un inteles larg si include aici categorii diverse de persoane ca: operatori, utilizatori
finali si indirecti, precum si toate categoriile care isi desfasoara activitatea
dependent, sau sub influenta utilizarii produsului software respectiv.

Eficienta este definita ca o corelatie optima intre consumul de resurse


implicat de utilizarea produsului software si complexitatea problemei de rezolvat.
Aici este introdusa si notiunea de iesire a produsului software, definita ca o relatie
intre complexitatea datelor initiale si a rezultatelor finale. In standardul ISO/IEC
9126, definitia se refera la un set de atribute bazat pe relatia dintre nivelul de
performanta al produsului software si cantitatea de resurse utilizate, in anumite
conditii stabilite. Standardul ISO 8402 ofera un inteles mai larg termenului resurse
consumate si include aici memoria, timpul de executie, precizia, serviciile de
operare, mentenanta sau suport de personal.

Mentenabilitatea este definita ca un set de atribute bazate pe efortul necesar


de a face modificarile specificate in produsul software respectiv. Acestea include
corectii, imbunatatiri sau adaptari la modificari ale platformelor de dezvoltare sau a
celor carora le sunt destinate, modificari in cerinte si specificatii functionale. Un
produs software este mentenabil in masura in care permite o rapida si usoara
actualizare astfel incat sa se utilizeze in continuare, in bune conditii. Sensul in care
sunt privite aceste actualizari este mult mai restrans, deoarece ele se refera la
operatiile realizate la nivelul sistemului de programe, al programelor si modulelor
componente, secventelor de instructiuni ale instructiunilor. Nivelul mentenabilitatii
se stabileste pe baza datelor obtinute in etapele de proiectare, testare si utilizare
curenta.

40
Robustetea este cunoscuta si sub numele de toleranta la erori. Fiabilitatea
sistemelor de programe este dependenta de toleranta la defecte hardware. Toleranta
la erori are ca element specific usurinta diagnosticarii si este influentata de
capacitatea de trecere peste defectiuni hardware minore. Totodata facilitati cum
sunt detectarea erorilor de prelucrare si faptul ca atunci cand apar solicitari eronate,
acestea nu sunt executate, iar sistemele continua sa ramana in executie, conduc la
cresterea robustetei si implicit a fiabilitatii acestora. Pentru detectarea erorilor se
folosesc verificari dinamice ale informatiei si proceduri care sa semnaleze
incompatibilitati de date sau incercari de incalcare a restrictiilor de acces.

Portabilitatea este definita ca o caracteristica de ordin calitativ a sistemelor


de programe ce pot fi executate pe mai multe tipuri de calculatoare. Asigurarea
portabilitatii sistemelor de programe contribuie la mentinerea fiabilitatii la nivel
ridicat.

Pentru unele sisteme de programe, varietatea mediilor de dezvoltare


specifice fiecarui tip de calculatoare, precum si volumul modificarilor necesar
adaptarii face ca in cele mai mutle cazuri sa se opteze pentru solutia rescrierii
acestor programe. Cazurile in care se alege varianta modificarii sistemelor
existente sunt cele in care acestea trebuie transferate intr-un timp scurt. In aceasta
situatie s-a constatat insa ca nivelul fiabilitatii este scazut, iar costurile de
exploatare sunt mari si nu se justifica din punct de vedere economic.

Siguranta in utilizare, stabileste masura in care un sistem de programe nu


permite efectuarea de modificari neautorizate sau nedorite in volumele de date,
precum si distrugerea partiala sau totala a volumelor de date.

Stabilitatea exprima rezistenta sistemului de programe fata de efectele


generate de o modificare a datelor initiale, cat si a secventelor de instructiuni care
compun programele si modulele componente ale acestuia. In functie de nivelul la
care se efectueaza modificarea se definesc stabilitatea la nivel de instructiune, la
nivel de secventa, la nivel de modul, la nivel de program si respective, stabilitatea
globala a sistemului.

Adaptabilitatea reprezinta capacitatea sistemului de programe de a permite


integrarea de noi obiecte si de a include acele secvente de instructiuni care maresc

41
performanta sistemului si il aduc la nivelul eficientei de utilizare de la un moment
dat, ulterior elaborarii. Adaptabilitatea influenteaza fiabilitatea sistemului de
programe si este influentata de nivelul stabilitatii si de complexitate.

Testabilitatea ofera utilizatorilor posibilitatea de a evidentia comportamentul


sistemului de programe in situatii particulare. Prin asigurarea testabilitatii se
urmareste descoperirea cat mai multor variante de probleme rezolvabile cu aceste
sisteme de programe.

În practică s-a observat că un sistem de programe cu robusteţe ridicată are un


nivel de fiabilitate superior şi este în acelaşi timp un sistem de programe testabil.

În prezent, testarea se realizeaza utilizand fie strategia black box (cand se


urmareste numai comportamentul functional al produsului), fie strategia white box
(se analizeaza comportamentul programului avand la dispozitie codul sursa al
acestuia). Nici o metoda de testare nu garanteaza corectitudinea produselor
software, însa creste probabilitatea ca acestea sa se încadreze în limitele de calitate
cerute.

Initial, testarea se facea integral manual, fiind considerata singura solutie de


a descoperi eventualele defecte. Ulterior, testarea manuala a fost ajutata si de
testarea automata. Testele automate executa practic o secventa de actiuni cu
interventie umana minima si pot simula utilizarea unei aplicatii în conditii reale, de
simultaneitate ridicata.

Exista o serie de controverse legate de alternativa „manual“ sau „automat“.


Unii specialisti considera ca testele automate sunt foarte costisitoare în raport cu
utilitatea lor si, prin urmare, recomanda foarte putin utilizarea ei. Altii recomanda
ca testarea sa se faca 100% automat.

Adevarul este ca fiecare firma aplica mai mult sau mai putin testarea
automata, în functie de specificul fiecarui proiect, dar si de disponibilitatile
financiare. Aplicatiile de testare automata sunt destul de scumpe si putine firme
ajung sa investeasca în achizitionarea lor.

Complexitatea este caracteristica de calitate pentru care s-au dezvoltat cele


mai multe sisteme de metrici, si se studiaza in corelatie cu alte caracteristici. Odata
cu cresterea complexitatii s-a constatat o descrestere accentuata a fiabilitatii. Mai
mult, complexitatea determina si cresterea cheltuielilor de exploatare a sistemelor

42
de programe, precum si eforturile de a dezvolta noi versiuni sau de a rescrie
sistemele de programe sau numai anumite componente.

Flexibilitatea determina volumul de restrictii impus utilizatorilor pentru a


obtine rezultate complete si corecte prin folosirea sistemelor de programe.
Flexibilitatea este relationata cu numarul optiunilor pe care aceste sisteme le pun la
dispozitia utilizatorilor.

Analiza datelor provenite din exploatare a condus la concluzia că


sistemele de programe fiabile sunt în acelaşi timp flexibile.

2.6 Managementul calitatii software


Managementul calităţii software este o componentă a managementului
general al calităţii. Aceasta reprezintă o subcomponentă a funcţiei generale de
conducere, care determină şi implementează politica în domeniul calităţii şi
deţine responsabilităţile pentru toate activităţile care concură la îndeplinirea
obiectivelor privind calitatea. Sunt definite trei functii pentru managementul
calitatii software si anume: planificarea, asigurarea si imbunatatirea calitatii.

Deoarece fiabilitatea este o caracteristică de calitate urmărită cu atenţie de


companiile care dezvoltă software, îndeplinirea obiectivelor de fiabilitate necesită
acţiuni corespunzătoare de planificare, asigurare şi îmbunătăţire a acesteia.

Procesul de planificare urmăreşte dezvoltarea de produse şi procese


care să corespundă cerinţelor clienţilor. Planificarea calităţii cuprinde activităţile
prin care se stabilesc obiectivele şi cerinţele privind calitatea software precum
şi resursele umane, financiare şi materiale necesare realizării obiectivelor. La
nivel strategic, sunt formulate principiile de bază şi orientările generale ale
organizaţiei în domeniul calităţii software, care se regăsesc în politica
referitoare la domeniul calităţii. La nivel operaţional, planificarea externă are
drept scop identificarea clienţilor şi a cerinţelor acestora, iar prin planificarea
internă se urmăreşte transpunerea cerinţelor clienţilor în caracteristici ale
sistemelor de programe şi dezvoltarea unor produse software adecvate.

43
Planificarea fiabilităţii software este o parte integrantă a planificării
unui proiect software. Activitatea de planificare este concretizată în planul de
fiabilitate. Acesta este corelat cu planul de dezvoltare a sistemelor de programe şi
cu planul de calitate software.

Planificarea fiabilitatii software trebuie sa includa urmatoarele activitati:

• Alocarea cerintelor de fiabilitate software;


• Definirea strategiei pentru obtinea fiabilitatii software;
• Definirea strategiei pentru evaluarea fiabilitatii software obtinuta.

Aceste activităţi sunt interconectate şi iterative. Ele presupun un proces


de inginerie software adecvat, insuficient pentru obţinerea fiabilităţii software.
Este necesară definirea unui proces care să asigure folosirea corectă a
metodelor şi tehnicilor corespunzătoare, în momente potrivite din ciclul de
dezvoltare. Totuşi, procesul nu oferă predicţii şi nu demonstrează nivelul
fiabilităţii software. Pentru a dovedi că sistemele de programe îşi ating cerinţele de
fiabilitate, evaluarea fiabilităţii software trebuie planificată ca o activitate
specifică. Planul de fiabilitate software descrie:

• Cerintele de fiabilitate software derivate din cele sistem;


• Procesul de inginerie software;
• Tehnicile, metodele si instrumentele folosite pentru evaluarea
fiabilitatii software obtinuta in cadrul fiecarei faze din ciclul de viata;
• Analiza riscului proiect pentru software;
• Procedurile pentru raportarea progresului inregistrat de fiabilitatea
software;
• Documentele si datele care trebuie livrate;
• Structura organizationala care se refera la: stabilirea posturilor
individuale implicate in dezvoltarea software; descrierea nivelurilor
minime de competenta pentru posturile identificate; modalitatile de
constientizare a managerilor fata de cerintele fiabilitatii software si de
responsabilitatiile ce le revin; activitatile si cerintele de instruire.

44
Asigurarea calităţii cuprinde activităţile preventive prin care se
urmăreşte, în mod sistematic, corectitudinea şi eficienţa activităţilor de
planificare şi control, pentru a garanta obţinerea unor produse software care să
satisfacă cerinţele de calitate aşteptate de clienţi.

Această funcţie necesită atât o abordare internă realizată prin prisma


conducerii companiei care dezvoltă software, cât şi una externă efectuată prin
prisma clienţilor. Pentru asigurarea calităţii sistemelor de programe se
întreprind şi acţiuni de control. Controlul calităţii software include activităţile
de monitorizare a desfaşurării proceselor şi de evaluare a rezultatelor referitoare
la calitatea software, în raport cu obiectivele stabilite, în scopul eliminării
deficienţelor şi prevenirii apariţiei acestora.

În ceea ce priveşte fiabilitatea, ca una dintre principalele caracteristici


de calitate software, ea a fost abordată indirect, prin standardele de asigurare
a calităţii software în ansamblu - ISO 9000 şi ISO 9126 sau direct, prin
standarde care vizează definirea terminologiei, precum şi măsurarea şi evaluarea
fiabilităţii software pe întreg ciclul de viaţă.

Asigurarea fiabilităţii sistemelor de programe necesită implementarea unui


set integrat de activităţi care cuprind estimarea, predicţia, alocarea şi
modelarea fiabilităţii, precum şi activităţi de testare. Aceste activităţi permit o
evaluare continuă atât a fiabilităţii globale a sistemului, cât şi a
componentelor sale. Activităţile de estimare şi predicţie ale fiabilităţii
sistemelor de programe cuprind patru categorii fundamentale:

• stabilirea scopurilor de fiabilitate pentru componentele sistemelor prin


modelare şi alocare;
• estimarea fiabilităţii designului software prin procesul de predicţie a
fiabilităţii;
• creşterea fiabilităţii sistemelor de programe prin testarea profilului
operaţional;
• evaluarea fiabilităţii sistemelor de programe obţinute prin testarea
calificării formale.

45
Îmbunătăţirea calităţii cuprinde activităţile desfăşurate în fiecare etapă a
ciclului de viaţă a unui sistem de programe, în scopul obţinerii unui nivel
calitativ superior celui planificat, în condiţiile desfăşurării corespunzătoare a
activităţilor de planificare, control şi asigurare a calităţii. Îmbunătăţirea
fiabilităţii, ca urmare a asigurării calităţii, se face prin verificarea şi validarea
sistemelor de programe.

Cea mai puternică reflectare a problemelor optimizării şi îmbunătăţirii


calităţii la nivelul managementului, este apariţia şi dezvoltarea conceptului de
management al calităţii totale. Cele trei componente de bază ale
managementului calităţii totale sunt îmbunătăţirea continuă, satisfacerea
clienţilor şi creşterea organizaţiei. Îmbunătăţirea calităţii are, la rândul ei, trei
componente: standardizarea, îmbunătăţirea şi inovaţia.

Managementul calităţii software constituie responsabilitatea tuturor


nivelurilor de conducere din companiile implicate în producţia de software,
însă rolul cel mai important revine conducerii de vârf. În implementarea
managementului calităţii software sunt implicaţi toţi angajaţii companiei.

Managerii sunt responsabili cu:

• monitorizarea stării proiectelor software;


• predicţia datei de livrare a sistemelor;
• determinarea momentului în care se permite efectuarea de modificări
în sistemele operaţionale;
• alegerea tehnicilor, metodelor şi tehnologiilor de inginerie
software ce se aplică unui proiect;
• luarea deciziei de acceptare a livrării sistemelor de programe.

Ajutaţi de inginerii de sistem, aleg şi refac planificările, bugetele, alocările şi


scopurile fiabilităţii componentelor unui sistem, precum şi resursele necesare în
dezvoltările de proiect; supervizează personalul cu alte roluri în colectarea
informaţiilor şi procesele decizionale.

Inginerii de sistem au responsabilitatea esenţială pentru înţelegerea naturii


sistemului în care se aplică măsurarea fiabilităţii software:
46
• definesc ce înseamnă o defectare pentru sistem;
• stabilesc tipurile de defecte şi le indică pe cele critice în funcţie
de datele de defectare colectate;
• studiază raportul dintre fiabilitate, resurse şi planificări;analizează
diferite opţiuni pentru alocarea fiabilităţii componentelor sistemelor
şi estimează impactul costurilor de exploatare.

Responsabilii cu asigurarea calităţii răspund de dezvoltarea procedurilor


pentru colectarea datelor necesare măsurării fiabilităţii sistemelor de programe.
Primesc informaţii de la inginerii de sistem şi furnizează orientări pentru echipa de
testare şi depanatori.

Membrii echipei de testare identifică apariţia defectărilor şi


înregistrează timpul de execuţie sau timpul calendaristic, precum şi alte informaţii
utile.

În categoria depanatorilor intră programatorii ce au scris codul şi care


realizează corecţia defectelor.

În cadrul companiilor mari de software se desemnează un inginer cu


fiabilitatea care face parte din colectivul responsabil cu asigurarea calităţii. Lui îi
revine rolul cheie în acest proces; ţine legătura cu personalul implicat în
colectarea informaţiilor despre defectări; este responsabil cu eliminarea
defectelor şi utilizarea instrumentelor care implementează modele de creştere şi
predicţie a fiabilităţii.

47
3. Studiul caracteristicilor de calitate software
Pentru aprecierea importanţei care se acordă caracteristicilor de calitate a
fost efectuat un studiu în care au fost cuprinşi un număr de zece programatori şi
zece utilizatori.

Acestora li s-au cerut sa specifice nivelul de semnificatie al caracteristicilor


de calitate pe care le considera cele mai importante in procesul de evaluare a
calitatii sistemelor de programe destinate evidentei contabile. Exprimarea s-a
efectuat in format procentual, iar suma acestora nu trebuie sa depaseasca 100 de
procente. Rezulatele obtinute sunt prezentate in tabelele 2.1 si 2.2.

Caracteristica Utilizatori
U U U U U U U U U U1
1 2 3 4 5 6 7 8 9 0 Media(%)
1 1 1 1 1 1 1 1 1
Utilizabilitatea 2 6 0 3 5 1 4 7 3 11 13.2
Functionalitate 1 1 1 1 1 1 1 1
a 9 3 2 5 0 2 0 3 2 13 11.9
1 1 1 1 1 1 1
Fiabilitatea 3 9 1 2 3 0 1 9 0 10 10.8
1 1
Flexibilitatea 0 9 9 8 8 7 7 0 7 12 8.7
1
Eficienta 9 6 0 9 7 9 8 8 7 9 8.2
Siguranta in 1
utilizare 7 0 6 7 9 8 7 9 8 8 7.9
Complexibilitat
ea 8 8 9 7 5 6 8 8 7 6 7.2
Portabilitatea 7 6 6 5 7 5 8 5 8 7 6.4
Mentenabilitate
a 7 5 6 6 5 6 5 5 7 9 6.1
Testabilitatea 6 6 5 4 5 8 8 5 7 4 5.8
Robustetea 5 6 7 7 6 6 5 5 6 3 5.6
Adaptabilitatea 3 3 5 5 5 6 6 2 5 3 4.3
Stabilitatea 4 3 4 2 5 6 3 4 3 5 3.9

Tabelul 2.1 - Semnificaţia caracteristicilor de calitate ale sistemelor de


programe pentru contabilitate în viziunea utilizatorilor

48
Caracteristica Programatori
P P P P P P P P P P1
1 2 3 4 5 6 7 8 9 0 Media(%)
1 1 1 1 1 1 1 1
Portabilitatea 0 8 6 2 3 0 4 4 2 12 12.1
1 1 1 1 1 1 1
Fiabilitatea 4 2 9 1 5 9 0 1 3 12 11.6
Complexibilitat 1 1 1 1 1
ea 2 0 3 8 2 1 7 8 7 9 9.7
1 1 1
Robustetea 9 1 8 0 9 8 9 7 0 8 8.9
1 1 1
Eficienta 1 9 7 9 8 0 9 0 8 6 8.7
Mentenabilitate 1 1
a 7 0 9 7 7 9 2 7 7 8 8.3
1 1
Utilizabilitatea 7 8 5 0 7 8 0 8 7 7 7.7
Functionalitate
a 6 6 7 5 5 8 9 8 8 7 6.9
Siguranta in
utilizare 5 7 5 7 6 6 5 5 6 9 6.1
Adaptabilitatea 5 7 6 6 4 5 4 8 7 5 5.7
Flexibilitatea 6 6 4 5 2 5 3 5 7 10 5.3
Testabilitatea 3 4 5 6 7 5 4 6 5 3 4.8
Stabilitatea 5 2 6 4 5 6 4 3 3 4 4.2

Tabelul 2.2 - Semnificaţia caracteristicilor de calitate ale sistemelor de


programe pentru contabilitate în viziunea programatorilor

Caracteristicile de calitate au fost ordonate în tabele în funcţie de media


nivelurilor de semnificaţie atribuite de utilizatori şi programatori. Ordinea
obţinută reflectă importanţa acordată fiecărei caracteristici în procesul de
evaluare a calităţii sistemelor de programe pentru contabilitate. Transpunerea
acestor rezultate în format grafic este prezentată în figurile 2.3 şi 2.4.

49
In figura de mai sus sunt reprezentate ponderile acordate de utilizatori. Din
punctul lor de vedere factorii determinanti in aprecierea calitatii sistemelor de
programe pentru contabilitate, acele caracteristici pe care le percep in mod direct.
Astfel utilizabilitatea (13.2%), functionalitatea (11.9%) si fiabilitatea (10.8%) sunt
caracteristicile principale pe care utilizatorii le urmaresc atunci atunci cand
evalueaza calitatea unui astfel de sistem de programe.

Caracteristicile care nu le confera o perceptie directa asupra sistemului sunt


mai putin importante pentru utilizatori si de aceea ei le atribuie ponderi reduse.
Astfel stabilitatea (3.9%), adaptabilitatea (4.3%) si robustetea (5.6%) sunt
caracteristici de calitate, carora utilizatorii le acorda un nivel redus de importanta.

Acest lucru se datoreaza si faptului ca utilizatorii nu inteleg bine


semnificatia acestor caracteristici si de aceea nu au o viziune corecta asupra
modului in care ele influenteaza calitatea generala a serviciilor oferite de sistemele
de programe pentru compatibilitate.

Utilizatorii acorda niveluri de imortanta medii unor caracteristici cum sunt


eficienta (8.2%), siguranta in utilizare (7.9%) si complexitatea (7.2%). Astfel,
rezulta ca ei inteleg relatia de dependenta dintre calitatea si complexitatea unui
sistem de programe sau faptul ca acesta trebuie sa aiba un nivel de siguranta in
exploatare corespunzator si deasemenea, o buna eficienta.

50
Conform opiniei utilizatorilor aceste caracteristici contribuie la
îmbunătăţirea nivelului de calitate a sistemului de programe dar nu sunt factorii lui
determinanţi.

Analizate din punctul de vedere al programatorilor, rezultatele exprimă


viziunea diferită a acestora în raport cu utilizatorii, faţă de nivelul de
importanţă atribuit caracteristicilor de calitate.

Astfel, aceştia sunt interesaţi de acele caracteristici care produc efecte


majore şi imediate asupra activităţilor pe care ei le desfăşoară. Sunt urmărite
aspecte referitoare la reducerea volumului de muncă vie, creşterea productivităţii
şi a eficienţei programatorilor şi nu în ultimul rând, reducerea costurilor pe care le
implică dezvoltarea sistemelor de programe pentru contabilitate.

Fig 2.4 : Ponderi acordate de programatori

În acest context, programatorii au considerat ca factori determinanţi în


evaluarea calităţii acestor sisteme de programe, următoarele caracteristici:
portabilitatea (12,1%), fiabilitatea (11,6%) şi complexitatea (9,7%).

O mai mică importanţă a fost acordată unor carateristici cum sunt


flexibilitatea (5,3%), testabilitatea (4,8%) şi stabilitatea (4,2%). A surprins
nivelul redus de semnificaţie pe care programatorii l-au atribuit testabilităţii.

51
O explicaţie a acestui aspect este faptul că în majoritatea companiilor
care dezvoltă sisteme de programe pentru contabilitate, asamblarea
componentelor în produsul final şi testarea întregului sistem este efectuată de
aceleaşi persoane care au participat la activităţile de analiză, proiectare şi
codificare.

În aceste condiţii, aceştia au o viziune subiectivă asupra procesului de


dezvoltare şi implicit asupra nivelului de importanţă al fiecărei etape din
ciclul de viaţă al sistemelor de programe.

Mai mult, utilizatorii sunt rareori implicaţi în procesul de dezvoltare a


sistemelor de programe. Acest lucru este reliefat de diferenţele existente în
modul de apreciere a importanţei acordate diverselor caracteristici de calitate
care influenţează calitatea generală a serviciilor furnizate de sistemele de
programe pentru contabilitate.

Datele furnizate de utilizatori şi programatori au fost cumulate şi s-a obţinut


o viziune globală asupra importanţei acordată diferitelor caracteristici de calitate în
procesul de evaluare a calităţii generale a sistemelor de programe destinate
evidenţei contabile.

Aceasta a fost exprimată sub forma mediei generale a nivelurilor de


semnificaţie acordate de cei zece utilizatori şi zece programatori pentru
fiecare caracteristică de calitate urmărită. Media a fost înregistrată în format
procentual, iar suma mediilor tuturor caracteristicilor este egală cu 100%.
Rezultatele obţinute sunt prezentate în tabelul 2.5.

Caracteristic Media
a generala(%)
Fiabilitatea 11.2
Utilizabilitatea 10.45
Functionalitate
a 9.4
Portabilitatea 9.25
Eficienta 8.45
Complexitatea 8.45
Robustetea 7.25
Mentenabilitat
ea 7.2

52
Flexibilitatea 7
Siguranta in
utilizare 7
Testabilitatea 5.3
Adaptabilitatea 5
Stabitabilitatea 4.05

Tabelul 2.5: Nivelurile medii de semnificaţie pentru caracteristicile de


calitate ale sistemelor de programe destinate evidenţei contabile în viziunea
utilizatorilor şi programatorilor.

Transpunerea acestor rezultate in format grafic este redata in figura 2.6 si


2.7.

Fig 2.6: Ponderi globale acordate de utilizatori şi programatori

53
Fig 2.7: Ponderi globale acordate de utilizatori şi programatori

Analiza acestor date reliefeaza tendinta generala in ceea ce priveste nivelul


de importanta acordat caracteristicilor de calitate, in procesul de evaluare a calitatii
serviciilor furnizate de sistemele de programe pentru contabilitate. S-a observant ca
fiabilitatea reprezinta caracteristica determinanta in acest proces cu o pondere de
11.2%, urmata indeaproape de utilizabilitate cu 10.45% si functionalitate cu 9.4%.
Ponderea ridicata atribuita fiabilitatii este justificata prin atentia sporita care este
acordata acestei caracteristici de calitate, atat in literature de specialitate, cat si in
practica evaluarii calitatii sistemelor de programe.

Complexitatea (8.45%), robustetea (7.25%) si mentenabilitatea (7.2%) sunt


plasate la mijlocul acestei scale de apreciere fapt care intareste convingerea ca atat
utilizatorii, cat si programatorii le inteleg semnificatia si le urmaresc evolutia
atunci cand evalueaza calitatea de ansamblu a sistemelor de programe pentru
contabilitate. Astfel, rezulta ca ambele categorii de persoane sesizeaza relatia de
dependenta dintre gradul de complexitate al unui sistem de programe si nivelul sau
de calitate. Mai mult, este urmarita cu atentie robustetea si mentenabilitatea
acestora, pentru a se face o estimare cat mai exacta a costurilor de exploatare.

Caracteristicile de calitate carora le sunt atribuite nivelurile de importanta


cele mai mici sunt: testabilitate (5.3%), adaptabilitatea (5%) si stabilitatea (4.05%).

54
Aceasta lipsa de interes este justificata prin perceptia diferita pe care cele
doua categorii de persoane o au fata de semnificatia caracteristicilor diferite.

Trebuie mentionat faptul ca rezultatele care s-au obtinut au un anumit grad


de subiectivitate. Intr-un alt context exista posibilitatea ca ele sa se schimbe. De
aceea trebuie privite prin prisma specificului domeniului abordat – evaluarea
calitatii sistemelor de programe destinate evidentei contabile.

Concluzii
Produsele software au devenit componente esentiale ale multor sisteme si
produse, precum si un nou factor major in comertul de produse si servicii.
Imbunatatirea calitatii produselor software constituie una din principalele
forme in care se materializeaza capacitatea de creatie. Valoarea economica a unui
produs sotware rezulta din modul in care calitatea acestuia este perceputa de
clientii sau utilizatorii finali. Din ce in ce mai mult, calitatea este perceputa ca un
atribut critic al produsului software, deoarece, lipsa calitatii determina insatisfactia
utilizatorilor, pierderi financiare si chiar pierderi de vieti omenesti.

In scopul elaborarii produselor software avand un nivel ridicat al calitatii si


asigurarii satisfactiei clientilor, producatori de software au adoptat cele mai bune
practici si standarde refritoare la managementul calitatii in ciclul de viata al
produselor software.

Asa cum sunt prezentate si in lucrarea de fata, principalele caracteristici de


calitate ale produselor software sunt: fiabilitatea, utilizabilitatea, functionalitatea,
portabilitatea, eficienta, complexitatea, robustetea, mentenabilitatea, flexibilitatea,
siguranta in utilizare, testabilitatea, adaptabilitatea si stabilitatea.

55
Importanta acestor caracteristici este perceputa in mod diferit. Astfel
utilizatori acorda o mai mare importanta utilizabilitati, functionalitatii si fiabilitatii
in timp ce, pentru programatori mai importante sunt caracteristici precum:
portabilitea sau complexitatea, precum si fiabilitatea. Aceasta din urma detine o
pondere mare atat in conceptia utilizatorilor cat si in cea a programatorilor.

Astfel, in conceperea produselor software trebuie luate in calcul si aceste


caracteristici de calitate si in special fiabilitatea, adica capacitatea unui sistem de
programe de a funcţiona corect în toate condiţiile avute în vedere de la început.

Asigurandu-se aceste proprietati ale produselor software, precum si


respectarea regulilor existente in standardele dedicate calitatii, vom obtine produse
software cu un nivel calitativ ridicat, avand o functionare corecta si fiind usor de
utilizat si intretinut.

Bibliografie

1. Progres tehnic, calitate, standardizare – Virginia Ciobotaru


2. Metode statistice in analiza software – Ion Ivan, Catalin Boja
3. Asigurarea calitatii software-ului – Radu Marinescu
4. Managementul calitatii software – Ion Ivan
5. Calitatea si managementul calitatii – Andrei Florin
6. www.pegas.ro
7. Proiectarea si implementarea sistemului calitatii – D.
Constantinescu
8. ISO 9000 Quality systems developmenthandbook – Hoyle D.
9. Managementul calitatii – Olaru M.
10. Managementul calitatii. Tehnici si instrumente. – Olaru M.

56
Cuprins
1.2 Caracteristicile produsului.................................................................................5
1.6.1 Functiile managementului calitatii............................................................16
3. Studiul caracteristicilor de calitate software.........................................................48
Concluzii...................................................................................................................55
Bibliografie............................................................................................................... 56

57
Cuprins.....................................................................................................................57

58

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