Sunteți pe pagina 1din 10

Revista Informatica Economica, nr.

1 (13) / 2000 41

Aprecierea fiabilitatii folosind metrici software

Lect. Mihai POPESCU


Academia Tehnica Militara, Bucuresti

IEEE defineste fiabilitatea ca "abilitatea unei componente sau a unui sistem de a îndeplini
functiile cerute în conditii date si pentru o perioada specificata de timp" [XXXX90].
Managerii de proiect, aproape în totalitate, identifica fiabilitatea cu corectitudinea, pentru ca
ei au în vedere testarea si numarul de "bug-uri" gasite si fixate. În timpul descoperirii si
fixarii bug-urilor din procesul de testare se asigura, de fapt, fiabilitatea produsului, testarea
în toate fazele ciclului de viata fiind o modalitate recomandata pentru dezvoltarea unui
produs robust, de înalta calitate si fiabilitate. Astfel, fiabilitatea codului livrat este direct
proportionala cu calitatea tuturor proceselor si produselor dezvoltarii software (cu
documentarea cerintelor, cu codul, planurile de test si testarea). În acest context, metricile
software se utilizeaza pentru a îmbunatati fiabilitatea si calitatea produselor software.
Fiabilitatea este un atribut al calitatii si calitatea produselor software poate fi masurata.
Cuvinte cheie: metrica, software, fiabilitate, management.

EEE 982.1-1988 [XXXX88] defineste sunt identificate si eliminate. Eliminarea


I managementul fiabilitatii software ca continua cu o rata mica pâna în faza opera-
fiind "procesul optimizarii fiabilitatii soft- tionala. Numarul de erori scade continuu,
ware printr-un program care accentueaza presupunând ca nu se introduc altele.
pe prevenirea, detectarea si eliminarea ero- Software-ul nu are componente în miscare
rilor software si folosirea metricilor pentru si nu se defecteaza ca hardware-ul, dar
a maximiza fiabilitatea în lumina constrân- poate deveni nefolositor si învechit la un
gerilor proiect, cum ar fi resursele, planifi- moment dat.
carea, costul si performantele". O importanta deosebita trebuie acordata
Pornind de la aceasta definitie, fiabilitatea prevenirii erorilor, pentru aceasta fiind ne-
software cuprinde trei activitati: prevenirea cesar ca:
erorilor, detectarea si eliminarea erorilor, 1. sa se defineasca cerintele, produsul dez-
masuratori pentru a creste fiabilitatea, defi- voltat având toate cerintele clar si precis
nirea si utilizarea de metrici specifici care specificate vizavi de functionalitatea fina-
sa sustina primele doua activitati. la;
În trecut s-a investit o munca laborioasa în 2. sa se asigure faptul ca dezvoltarea de
masurarea fiabilitatii folosind timpul me- cod poate fi sustinuta de ingineria software
diu între incidente si timpul mediu pâna la (prin instrumente adecvate), fara a se intro-
defectare [MUSA90]. Modelarea s-a folo- duce erori suplimentare;
sit pentru a prezice ratele de defecte si fia- 3. sa se dezvolte un program de testare
bilitatea [MUSA90] [TRIA95] [WATE94]. care sa verifice toate functiile specificate în
Aceste activitati se refera la punctele 2 si 3 cerinte.
ale fiabilitatii (detectarea si masurarea),
identificarea si eliminarea defectelor, astfel 2. Programul de construire a metricilor
ca softul sa functioneze asa cum s-au for- de fiabilitate software
mulat cerintele de fiabilitate. Pentru a fi efectiva, masurarea trebuie sa
Rata de defectare software este mai mare fie o parte integrala a activitatii de mana-
în timpul fazelor de integrare si testare. Pe gement. Masurarea ajuta în atingerea o-
masura ce software-ul se testeaza, erorile biectivelor de baza ale managementului
42 Revista Informatica Economica, nr. 1 (13) / 2000

referitor la predictie, progres si îmbunatati- sunt probleme, de exemplu daca rata de


rea proceselor. defectare n-a fost masurata timpuriu, poate
De Marco [DEMA86] afirma ca "nu poti fi nefolositor mai târziu [YOUR92];
conduce ceea ce nu poti masura". • metricii trebuie sa stimuleze îmbunata-
În contextul masurarii software sunt trei tirile de proces; nu se vor utiliza metrici
clase de entitati: pentru a judeca echipa sau performanta
• Procesele, reprezentate prin orice acti- individuala;
vitate specifica, set de activitati sau timp în • metricii trebuie sa fie folositori la mai
fabricarea unui produs sau dezvoltarea multe niveluri: sa serveasca atât manage-
unui proiect. Exemple în acest sens sunt: mentului cât si echipei tehnice pentru îm-
specificarea cerintelor, proiectarea, codifi- bunatatirea proceselor de dezvoltare.
carea si verificarea sau o anumita perioada
de timp specifica, cum ar fi "primele trei 3. Analiza datelor
luni ale proiectului X". Metricii de fiabilitate folosesc date obiec-
• Produsele, reprezentate prin orice tive si subiective:
rezultat al unei activitati sau document re- - datele obiective sunt contoare ale unor
zultat dintr- un proces. Exemple ar putea fi: caracteristici (KLOC, puncte functionale,
codul sursa, o specificatie de proiectare, un componente, functii testate, unitati codifi-
plan de test si un manual de utilizare pro- cate, modificari, erori) ce se pot verifica
dus software. independent;
• Resursele, reprezentate prin orice intra- - datele subiective sunt aprecieri individu-
re într-un proces. Exemple: o persoana sau ale ale unei caracteristici sau conditii (ni-
o echipa, un compilator sau un instrument velul dificultatii problemei, gradul noii
de testare software. tehnologii implicate, stabilitatea cerinte-
Odata ce proiectul software avanseaza si lor). Ele aduc informatie critica în interpre-
echipa de dezvoltare proiecteaza module si tarea si validarea datelor obiective.
scrie cod, efortul planificare si specificare Pe masura ce se utilizeaza metricii si datele
a metricilor de fiabilitate (colectare date, disponibile se înmultesc, se creeaza baze
analiza si înregistrare) da rezultate. de date cu informatii mai precise si mai
Rezultatele de baza pentru un plan de folo- utile.
sire a metricilor de fiabilitate sunt: Folosind aceste baze de date se poate ve-
• metricii trebuie sa fie usor de înteles. dea daca masuratorile au tendinte diferite
De exemplu, liniile de cod (LOC, KLOC) fata de proiecte similare anteriore si fata de
si punctele functionale sunt cele mai obis- performanta optima a programului data de
nuite masuri ale dimensiunii software (po- modelele implementate în software.
tential si ale complexitatii), fiind familiare Bazele de date create contin trei tipuri de
inginerilor software; date:
• metricii trebuie sa fie ieftini pentru a - date de cost, care reflecta eforturile fa-
putea fi cumparati; studiile arata ca aproxi- cute;
mativ 5% - 10% din costurile totale de dez- - date despre procese, care reflecta infor-
voltare se pot datora metricilor; matia despre programe (metodologie, in-
• metricii trebuie sa fie testati înainte de a strumente si tehnici utilizate) si experi-
se utiliza; pot avea o baza teoretica solida, enta/instruirea personalului;
dar nu au aplicare sau evaluare practica; - date despre produs, includ dimensiunea,
• metricii trebuie sa fie un ajutor mana- date despre modificari, defecte si rezulta-
gerial pentru îmbunatatirea proceselor; tele analizelor statistice asupra codului
• metricii sa fie disponibili la timp; daca livrat.
un metric nu e disponibil decât atunci când
Revista Informatica Economica, nr. 1 (13) / 2000 43

Figura 1 ilustreaza posibilitatea compara- mite revizii în planul de management, fapt


rii, bazata pe metrici, cu proiecte aflate în ce va produce îmbunatatiri în procesul de
baza de date istorica. dezvoltare care, la rândul lor, vor duce la
Comparatiile sunt o componenta a sis- masurari ajustate în pasul urmator al com-
temului de feedback si control, care per- paratiei.

Metrici ai proiectului
curent

Comparatie cu
B.D. istorice

Echipa Comparatie cu obiectivele


planului de proiect
de apreciere
a metricilor

B.D. pentru modele


si proiecte
derulate
Date subiective Plan revizuit si FEED
actuale ajustari proiect BACK
Fig. 1. Procesul de management utilizând metrici

4. Identificarea scopurilor metricilor de (Goal Question Metrics). Ideea de baza


fiabilitate este aceea ca managerii urmeaza urmatoa-
Un program de metrici e o activitate plani- rele trei etape (figura 2):
ficata a utilizarii masuratorilor pentru a 1. stabilesc obiective specifice necesitati-
vedea daca s-a atins un anumit obiectiv. lor în termeni ai scopului, perspectivei si
Programul de elaborare metrici este o mediului;
succesiune de activitati: 2. rafineaza scopurile în întrebari cuanti-
Scopuri ⇒ Metrici ⇒ Date ⇒ ficabile care sunt usor de manevrat;
Realitati/tendinte ⇒ Decizii ⇒ Actiuni 3. deduc metricii si datele ce trebuie co-
Deoarece exista o multitudine de scopuri lectate pentru a raspunde la întrebarile sta-
tehnice care pot fi sustinute de metricii de bilite.
fiabilitate, nu exista un program de metrici În practica este imposibil de folosit toti
universal, care sa fie adoptat de toate metricii care rezulta dintr-o strategie de
companiile software. Metricii de fiabilitate nivel înalt. De exemplu, se stie ca dimen-
software graviteaza în jurul procesului de siunea (în termenii functionalitatii) si com-
testare. Multe programe de metrici esueaza plexitatea (în termenii dificultatii) unui
pentru ca nu sunt definite corespunzator modul sunt factori certi ai numarului de
sau din lipsa obiectivelor. defecte care vor fi depistate.
Pentru a rezolva acest neajuns, Vic Basili Totusi, poate fi imposibil de dat masuri
si echipa sa de la Universitatea Maryland precise ale functionalitatii si complexitatii
au dezvoltat o conceptie riguroasa de ma- (unii pot fi multumiti cu numarul de in-
surare orientata pe scop, numita GQM structiuni KLOC si numarul de ramuri de
44 Revista Informatica Economica, nr. 1 (13) / 2000

cod). Asemanator, se stie ca folosirea ope- cina celui care implementeaza un astfel de
rationala a unui modul este un factor esen- plan s-o faca într-un mod realist.
tial în aparitia incidentelor. Totusi, se poate
întâmpla sa nu se stie aceste date, fiind sar-

Scop: Identificarea în avans a modulelor pasibile la defectari

Sunt defectele descoperite Care factori ai procesului Care factori ai produsului


Întrebari: anterior livrarii predictive de baza pot influenta de baza pot influenta
pentru incidentele defectele si incidentele ? defectele si incidentele ?
ulterioare ?

Metrici: Datele de defectare Date despre efortul depus Date despre


pentru fiecare modul: pentru fiecare modul: dimensiunea/complexi-
• numarul de defecte • durata de testare din tatea fiecarui modul:
depistate în faza de faza de testare; • KLOC sau puncte
testare; • efortul de dezvoltare functionale;
• numarul de incidente • experienta • metrici de complexitate
aparute în modul si programatorilor;
severitatea lor. • folosirea operationala
actuala.
Fig. 2. Modelul "Scop - Întrebari - Metrici"

Un asemenea document ar putea contine (cum ar fi efortul de testare si dimensiunea


urmatoarele informatii de baza: modulului) vom putea identifica modulele
• justificarea faptului ca metricii propusi problema pre si post livrare.
corespund scopului tehnic; Care metrici? Pentru fiecare modul se vor
• ce metrici se vor colecta, cum vor fi colecta metricii din figura 3 (modificati în
definiti si cum vor fi analizati; raport cu realitatea practica); de asemenea
• cine va face colectarea de date, cine le se vor calcula metrici derivati: defecte/
va analiza si cine va vedea rezultatele; KLOC (densitatea de defecte); incidente/zi
• cum vor fi obtinuti: instrumente, teh- de folosire operationala; defecte depistate
nici si practici utilizate pentru a ajuta co- într-o ora de testare.
lectarea datelor metricilor si analiza aces- Metricii se vor colecta pentru proiecte în
tora; dezvoltare (de exemplu x si y) si pentru
• când si cum cor fi colectati si analizati proiecte abia livrate (de exemplu z).
metricii în proces; Cine? Testerii vor raspunde de înregis-
• unde se vor memora datele. trarea informatiilor despre defectele gasite
În cazul companiei Alpha, la aceste puncte la prelivrare.
s-ar putea raspunde astfel: O persoana desemnata se va ocupa, în ca-
De ce? Prin colectarea datelor despre drul suportului tehnic acordat, de înregis-
defecte se vor depista modulele cu un trarea incidentelor operationale raportate
numar disproportionat de defecte anterior de utilizatori.
livrarii si care, la rândul lor, vor cauza un Managerul de proiect va raspunde de co-
numar disproportionat de incidente în faza lectarea metricilor specifici unui modul,
operationala. Transpunând acest lucru în cum ar fi metricii de proces (efortul de tes-
metrici care ofera date explicarii posibile tare) si metricii de produs (dimensiunea).
Revista Informatica Economica, nr. 1 (13) / 2000 45

Cum? Informatia despre defecte si in- Toate caracteristicile (incidente, defecte,


cidente se va înregistra într-o baza de date modificari) trebuie sa aiba un atribut de
relationala (figura 4). Metricii de proces criticalitate si altul de severitate. Criticali-
(cum ar fi efortul de dezvoltare si testare tatea se refera la importanta caracteristicii,
pe modul) se vor baza pe foi de raportari în iar severitatea mai mult la amploare. De
timp standard. exemplu, criticalitatea unei defectari poate
Când? Pentru proiectele x si y metricii pre fi majora daca întrerupe functionarea între-
livrare vor fi adunati si raportati formal la gului sistem, în timp ce severitatea este
sfârsitul fiecarei etape de testare majora. majora daca poate afecta foarte multi uti-
Pentru proiectul z, pe cât posibil, informa- lizatori.
tia despre metricii pre livrare se va acoperi Astfel, se poate construi o baza de date re-
retrospectiv din înregistrarile de proiect. lationala (figura 3), unde incidentele se re-
Pentru toate proiectele, metricii operatio- lationeaza cu defectele care le-au cauzat si
nali vor fi strânsi si raportati formal la anu- modificarile se relationeaza cu defectele pe
mite intervale (de exemplu, 6 luni). care le fixeaza sau cu cererile de modi-
Und? Datele se vor memora într-o baza de ficare.
date accesibila angajatilor companiei pe o Baza de date are doua entitati de baza ca-
retea intranet. rora li se pot asocia doua formuri (ferestre
pentru introducerea de date):
5. Structura bazei de date • Caracteristici care contine atribute de-
Multe companii fac greseala de a trata de- pendente de tipul caracteristicii (incident,
fectele si incidentele la fel ca în sistemul defect sau cerere de modificare).
de raportare, completând acelasi gen de in- • Formul modificari care detaliaza modi-
formatii despre amândoua. ficarile care se impun ca raspuns la carac-
Propun o baza de date relationala care con- teristici.
tine informatii despre urmatoarele caracte- Pentru ca procesul de colectare a datelor sa
ristici: incidente (caderi); defecte; cereri de functioneze bine, trebuie sa existe un co-
schimbare (modificare) de cod. mitet al managerului de proiect care sa fie
Utilizatorii raporteaza incidentele când sis- plasat unde se raporteaza si se înregistreaza
temul e operational. Defectele sunt gasite toate caracteristicile. De asemenea, trebuie
de testeri înainte de livrare sau atunci când sa existe o persoana desemnata pentru fil-
se depisteaza cauza unui incident raportat. trarea intrarilor pentru a ne asigura ca se
Cererile de schimbare (corectiva sau o no- introduc în baza de date numai caracte-
ua functie) pot fi facute de utilizatori sau ristici noi. Altfel, pot aparea numarari mul-
dezvoltatori. Incidentele au atribute pre- tiple ale acelorasi incidente si defecte,
cum: repetând inutil o munca (o serie de activi-
• localizare: calculatorul pe care s-a tati).
observat; Baza de date ne ajuta sa obtinem date ca în
• timpul: calendaristic, sau de executie; tabelul 1.
• efectul: ce s-a observat la aparitia lor;
• mecanismul: ce secventa de actiuni/in-
trari conduce la inc ident;
• cauza: defectul care a cauzat incidentul;
va fi necunoscut la prima raportare.
Defectele au atribute precum localizare si
timp, dar localizarea se refera la modulul
unde s-a produs, iar timpul la faza de
testare.
46 Revista Informatica Economica, nr. 1 (13) / 2000

Caracteristici Caracteristici Modificari (tipuri)


relationale
ID Caracteristica 1 ID Caracteristica ID Caracteristica
ID Caracteristica 2 ID Persoana ID Modificare
ID Caracteristica 3 Data
Tip caracteristica
ID Produs
Localizare
Descriere scurta
Descriere detaliata
Severitate Efect
Mecanism Modificari (efectuate)
ID Severitate ID Severitate
Tip Rezolvat ? ID Modificare
Cauza ID Persoana
ID Modificare ID Caracteristica
ID Produs modificat
Localizare
Descriere scurta
Tip
Timpul necesar
Data schimbarii
Descriere
Produse

ID Produs
Nume produs Persoane
Nr. versiune
Proiecte ID Persoana ID Persoana
ID Tip produs Numele
ID Proiect ID Proiect
Nume

Produse (tipuri)

ID Tip produs
Nume

Fig. 3. Baza de date relationata fo losita pentru colectarea datelor


despre defecte, incidente si modificari
Revista Informatica Economica, nr. 1 (13) / 2000 47

Tabelul 1
Modul Defecte totale Densitate de
Defecte
(subprogram (înainte de livrare Dimensiune Defecte defecte
pre
compilat si 6 luni dupa (KLOC) post livrare post livrare
livrare
separat) livrare) (defecte/KLOC)
M1 16 1 16 0 0
M2 4 2 1 3 1,5
M3 16 3 11 5 1,7
M4 11 2 0 11 5,5
M5 50 6 15 35 5,8
M6 16 4 0 16 4

Aceste date ne permit sa observam factori ment de management real în reducerea


si tendinte precum: riscului;
− densitatea de defecte pre- livrare este un − densitatea de defecte este nerelevanta
predictor necorespunzator densitatii de de- daca stim ca un numar de module n-au fost
fecte post- livrare; testate;
− modulele cu o densitate de defecte pre- − esentiala în folosirea metricilor nu este
livrare scazuta pot sa aiba multe probleme taria acestora, ci combinarea lor în vederea
dupa livrare. obtinerii unei predictii reale prin tehnici
Totusi, în planul de metrici pot exista statistice avansate - retelele bayesiene sunt
factori predictivi extrasi din baza de date. un exemple de îmbunatatire a predictiilor
De exemplu, se poate aplica un filtru fiabilitatii software, luând în calcul factorii
pentru a restrictiona densitatea de defecte cauzali si o strategie de reducere a riscului
doar pentru cele mai critice defecte, pentru adecvata.
a vedea daca se schimba cele afirmate.
Pentru modulele cu densitate de defecte 6. Capabilitati si limitari ale metricilor
pre-livrare foarte mica se poate verifica de baza în fiabilitatea software
efortul de testare si se compara cu cel mai Ne vom îndrepta atentia asupra metricilor
mic, mediu si cel mai mare efort de testare de defecte, dimensiune si complexitate.
pentru toate modulele. Astfel s-ar putea Trebuie facuta distinctie între diferite con-
gasi ca modulele M4 si M6, care au în- cepte:
registrat zero defecte pre- livrare, s-au testat Defecte descoperite în diferite faze ale
insuficient. Astfel de informatie poate duce ciclului de viata:
la decizii de genul: modulele M4 si M6 • defecte depistate în faza operationala
necesita testare suplimentara sau modulele (numite incidente sau caderi);
M4 si M6 trebuie reproiectate complet • defecte descoperite în timpul dezvolta-
înainte de livrare. rii, referite ca defecte pentru ca pot con-
Aceste decizii pot conduce la actiuni aso- duce la incidente în operare.
ciate, cum ar fi utilizarea de proceduri noi Criticalitatea diferitelor categorii de defec-
pentru asigurarea calitatii (de exemplu, im- te.
punerea unor niveluri minime de testare). Unul dintre obiectivele majore ale metri-
În concluzie putem evidentia urmatoarele cilor software este acela de a da predictii
aspecte: timpurii bune ale fiabilitatii (frecventa de-
− factorii cauzali si explicatorii sunt esen- fectarilor operationale).
tiali în utilizarea metricilor ca un instru- Se stie ca modelele de crestere a fiabilitatii
stocastice pot da predictii precise ale fia-
48 Revista Informatica Economica, nr. 1 (13) / 2000

bilitatii unui sistem software, daca se colec- ca inginer de sistem în Academia Tehnica
teaza suficiente date despre defectari într-un Militara în perioada 1983-1995.
mediu operational reprezentativ [BROC92]. Sistemul s-a divizat în sute de module, iar da-
De multe ori, însa, facem predictii înainte ca tele metricilor s-au colectat la nivel de modul:
softul sa fie operational. În [FENT98] se face numarul de defecte gasite la patru faze de
un studiu de caz pornind de la doua versiuni testare diferite (modul, de integrare, sistem
de software de dimensiuni mari pentru a si în faza operationala); LOC (L ines Of
testa o serie de ipoteze despre metricii de Code); date de complexitate ce-au inclus si
baza folositi în estimarea fiabilitatii. Acest complexitatea ciclomatica.
studiu l-am completat cu informatii si obser- Ipotezele si rezultatele obtinute se prezinta
vatii obtinute din activitatea de depanare si în tabelul 2.
proiectare software pe care am desfasurat-o

Tabelul 2
Nr.
Ipoteza Rezultate obtinute
crt.
Un numar mic de module contin majoritatea defectelor descoperite în Da, s-a confirmat
1.1
testarea pre-livrare
Daca un numar de module contine majoritatea defectelor descoperite în Nu s-a confirmat
1.2
timpul testarii pre-livrare, atunci ele dau codul majoritar.
2.1 Un numar mic de module contine majoritatea defectelor operationale. Da, e adevarat
Daca un numar mic de module da majoritatea defectelor operationale, ele Nu, infirmat puternic
2.2
constituie majoritatea codului.
Modulele cu un numar mare de defecte descoperite anterior livrarii este Nu, respinsa puternic
3
probabil sa se comporte la fel si în faza operationala.
4.1 Modulele mai mici sunt mai putin predispuse la defectari decât cele mari. Nu s-a confirmat
Metricii de dimensiune sunt buni predictori ai densitatii de defecte pre si Nu s-a confirmat
4.2
post livrare într-un modul.
Metricii de complexitate sunt predictori mai buni decât cei de dimensiune Slab confirmata
5
simpli ai modulelor pasibile la defecte si incidente.
Densitatile de defecte, la faze analoge de testare si operationale, ramân în Da
6 general constante între versiuni majore ulterioare ale unui sistem
software.
Sistemele software produse în medii similare au densitati de defecte Da
7
apropiate în faze de testare si operationale similare.

7. Concluzii defecte si defectari decât metricii de di-


• Dimensiunea nu explica în orice situatie mensiuni simpli (ipoteza 5).
numarul mare de defecte; multi înclina sa • Nu este obligatoriu ca modulele care
creada (ipotezele 1.2 si 2.2) ca daca un contin multe defecte înainte de livrare sa
numar mic de module contine majoritatea fie aceleasi si în faza operationala (ipoteza
defectelor, se explica prin faptul ca sunt 3). Aceasta ipoteza nu numai ca s-a in-
mari si dau "grosul" dimensiunii siste- firmat, dar a evidentiat ca în ambele versi-
mului, lucru neconfirmat întotdeauna. uni defecte numeroase descoperite în testa-
• Complexitatea nu este semnificativ mai rea pre- livrare au aparut în module care
buna în prezicerea modulelor pasibile la ulterior n-au mai avut probleme în faza
operationala.
Revista Informatica Economica, nr. 1 (13) / 2000 49

• Raportat la densitatea de defecte, putem temele de propulsie în spatiul aerian


asertiona ca la nivel de modul o valoare [HORV95].
mare în faza operationala este mai degraba
un indicator al testarii insuficiente decât un Bibliografie
nivel de calitate scazut (modulele au [AKIY71] Akiyama, F., "An Example of
densitatile de defecte pre si post- livrare Software Design Debugging", Inf Pro-
invers proportionale); cessing 71", pg. 353-379, 1971.
• Se confirma faptul ca metricii de com- [ALBR79] Albrecht, A., J., "Measuring
plexitate sunt strâns legati de metricii de Application Development", Proceedings
dimens iune precum LOC, fiind predictori of IBM Applications Development Joint
rezonabili ai numarului absolut, dar mo- SHARE/GUIDE Symposium, Monterey
desti pentru densitatea de defecte; CA, pg. 83-92, 1979.
• Pentru a face o predictie adecvata, tre- [BOEH81] Boehm, B., W., "Software En-
buie înteleasa bine relatia cauza si efect. În gineering Economics", Prentice-Hall,
acest context, relatia dintre dimensiunea New York, 1981.
unui modul si numarul de defecte gasite nu [BROC92] Brocklehurst, S., Littlewood,
este o evidenta a relatiei cauzale. În B., "New ways to get accurate software
schimb, între profunzimea testarii si ni- reliability modeling", IEEE Softwre, pg.
velul de fiabilitate atins exista o asemenea 34-42, July 1992.
relatie. Ipoteza 4.1 este infirmata si de stu- [DEMA86] De Marco, T.,"Controlling
dii mai recente [HATT97], unde se afirma Software Projects", Yourdon Press,
ca modulele mari au o densitate de defecte New York, 1986.
mai mica decât modulele mici, fiind mai [FENT98] Fenton, N., E., Littlewood, B.,
putin criptice si complicate. s.a., "Assesing Dependability of Safety
• Foarte importante sunt efortul de testare Critical Systems Using Diverse Evi-
si folosirea operationala; daca nu se tes- dence", IEE Proceedings Software En-
teaza sau nu se utilizeaza un modul, nu se gineering, 145(1), pg. 35-39, 1998.
pot observa defectele sau incidentele aso- [GILB76] Gilb, T., "Software Metrics",
ciate lui. Chartwell- Bratt, 1976.
Este nevoie de modele de fiabilitate care sa [GRAD92] Grady, R., B., "Work-Product
poata manevra: procese si produse diverse; Analysis:The Philosopher's Stone of
relatii cauza si efect adevarate; incertitudi- Software?", IEEE Software, pg. 26-34,
nea; informatia incompleta. March 1992.
Modelele nu trebuie sa introduca metrici [HALS77] Halstead, M., H., "Elements of
suplimentari, sofisticati si care necesita da- Software Science", Elsevier-North Hol-
te numeroase de colectat. În acest sens, în land, Amsterdam, 1977.
[FENT98] se apreciaza ca retelele Bayesiane [HATT97] Hatton, L., "Reexamining the
sunt cea mai buna solutie pentru problemele fault density-component size connec-
care au un suport decizional incert, fiind tion", IEEE Software, 14(2), pg. 89-97,
sprijinite de instrumente software care le-au 1997.
implementat. Un astfel de instrument este [HORV95] Horvitz, E., Barry, M., "Dis-
HUGIN care a fost adus de autor via In- play of information for time-critical de-
ternet, fiind instalat si utilizat pe calculator. cision making", Proc of 11th Conf in
Cea mai recenta folosire a fost de catre AI, Montreal, August 1995.
Microsoft în wizardurile de help din Micro- [IVAN96] Ivan, I., Popescu, M., "Metrici
soft Office, dar si în aplicatii care necesita software", Revista Byte, vol. 2, nr. 5,
luarea deciziei într-un timp critic pentru sis- mai, 1996, pag. 73 – 82.
50 Revista Informatica Economica, nr. 1 (13) / 2000

[MCAB76] McCabe, T., J., "A Complexity Computer Implementation Faults Via
Measure", IEEE Transactions on Soft- Static Error Prediction Models", Journal
ware Engineering, vol. SE-2, no. 4, pg. of Systems and Software, vol. 28, no. 2,
308-320, December 1976. pg. 129-142, February 1995.
[MUSA90]Musa, J., D., Okumoto, K., [WATE94] Waterman, R., E., Hyatt, L.,
"Software Reliability: Measurement, E., "Testing-When Do I Stop?", Inter-
Prediction, Application", Professional national Testing and Evaluation Con-
Edition:Software Engineering Series, ference, Washington, DC, October
McGraw-Hill, New York, 1990. 1994.
[ROSE98] Rosenberg, L., Hammer, T., [YOUR92] Yourdon, E., "Decline and
"Metrics for Quality Assurance and Fall of the American Programmer",
Risk Assessment", Proc. Eleventh Inter- Yourdon Press, Englewood Cliffs, New
national Software Quality Week, San Jersey, 1992.
Francisco, 1998. [XXXX88] IEEE Std. 982.1-1988, IEEE
[SYMO91] Symons, C., R., "Software Standard Dictionary of Measures to
Sizing & Estimating:Mark II Function Produce Reliable Software.
Point Analysis", John Willey & Sons, [XXXX90] IEEE Standard 610.12-1990,
1991. Glossary of Software Engineering Ter-
[TRIA95] Triantafyllos, G., Vassiliadis, S., minology.
Kobrosly, W., "On the Prediction of

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