Documente Academic
Documente Profesional
Documente Cultură
calitatea concepiei
3 = calitatea produsului
(sau serviciului).
Calitatea fabricaiei
B = caracteristicile calitii
prevzute n documentaia
tehnic
C = caracteristicile
produsului
programare, documentare.
Un manager preocupat de calitatea produselor software trebuie s posede, conform [WEI2], anumite
abiliti speciale i chiar caliti native, cum ar fi: s observe ce se ntmpl i s neleag semnificaia
propriilor observaii; s se poat comporta i s poat aciona congruent n situaii interpersonale dificile,
chiar i cnd este derutat, suprat sau speriat; s poat nelege situaiile complexe. Aceast ultim abilitate
permite s se poat planifica un proiect i apoi s se observe i s se acioneze astfel nct proiectul s
decurg conform planului sau s poat fi modificat conform cerinelor i schimbrilor aprute pe parcurs.
Calitatea produselor software este definit n [BAR03] ca msura n care acestea satisfac cerinele
utilizatorilor prin caracteristici tehnice, economice i psiho-sociale. Aceast definiie se bazeaz pe dou
concepte care, puse n legtur, dau msura calitii unui produs software, i anume cerinele utilizatorilor i
caracteristicile produsului.
O importan deosebit n procesul de dezvoltare software o are dependena dintre specificul i
calitatea procesului generator, calitatea proiectului i calitatea produsului. Ca urmare, putem deosebi de la
nceput doi factori eseniali pentru calitatea produsului software, i anume modelul specificat (proiectul) i
conformana fa de proiect (fidelitatea reproducerii). Definirea problemei la beneficiar i clarificarea i
detalierea acesteia de ctre beneficiar i productor prin elaborarea unor specificaii, are un impact deosebit
att asupra calitii proiectului i, ulterior, a produsului, dar i asupra ntregului ciclu de via al produsului
software.
existena unei baze de date referitoare la proiecte anterioare, actualizat cu datele proiectului
curent, inclusiv n ceea ce privete costurile;
actualizarea continu, pe baza unor contacte permanente cu managementul de nivel
nalt i cu compartimentele de marketing, a direciilor de aciune viabile de urmat n ceea ce
privete calitatea produsului, precum i a tendinelor aprute pe pia;
1. conexiunea elementelor interne ale sistemului s fie mai puternic dect legturile sistemului cu
mediul. Aceasta se realizeaz prin selectarea pe anumite criterii (specificaiile beneficiarilor, urmrirea de
ctre productor a unor anumite caracteristici specifice clasei din care face parte produsul software respectiv,
etc), a caracteristicilor de calitate incluse;
2. orice sistem, indiferent de complexitatea sa este un subsistem al unui sistem mai cuprinztor. n
toate situaiile, sistemul caracteristicilor de calitate ce urmeaz a fi construit este doar un subsistem al calitii
software;
3. unitatea i complexitatea unui sistem presupune o anumit ordine n aezarea i funcionarea
elementelor sale;
4. orice sistem este caracterizat printr-o anumit structur, care poate fi privit ca atare, adic sub
forma exact de reunire a tuturor subsistemelor sau prin urmrirea diferitelor structuri componente;
5. orice subsistem poate avea o multitudine de bucle de reacie care se nchid pe anumite poriuni de
proces, pe anumite poriuni de sistem sau chiar la nivelul ntregului sistem. Acest lucru se traduce la nivelul
sistemului caracteristicilor de calitate prin interdependenele i contradiciile existente ntre caracteristici. Cea
mai dificil problem a sistemului calitii software este cercetarea mecanismului specific al interaciunii
dintre diferitele caracteristici de calitate ale sistemului, problem posibil de soluionat doar prin
managamentul calitii.
Obinerea unui sistem operaional de caracteristici - modelul calitii - pe baza cruia s se poat
realiza managementul i gestiunea calitii, presupune parcurgerea unor etape anterioare obligatorii, astfel:
a) definirea problemei - n care se stabilesc caracteristicile i factorii de calitate ce vor fi luai n
considerare;
b) construirea modelului calitii - analiza i modelarea relaiilor dintre componente, a modului de
interaciune, a interdependenelor, precum i alegerea unui criteriu de performan. Aceast alegere este
parial determinat de felul n care este precizat problema;
c) stabilirea soluiei - o soluie este obinut cnd se apreciaz c rspunsul obinut la un moment dat
este cel mai bun n comparaie cu criteriile stabilite;
d) omologarea soluiei - omologarea soluiei obinute pe baza modelului - rezultat al procesului de
optimizare. Se poate face prin:
A. compararea cu performanele precendete sau ale altor produse concurente pe pia - superioritatea
noii soluii poate fi considerat ca o verificare a valabilitii ei. Inconvenientul acestei metode const n aceea
c n evaluarea calitii oricrui produs pe o perioad trecut toate intrrile sunt cunoscute i elemente
importante ale lurii deciziei (variaiile probabilistice ale pieei, obinuinele utilizatorilor, etc.) sunt astfel
eliminate.
B. compararea cu performanele viitoare - const n compararea soluiilor supuse la seturi de date de
intrare externe identice, fa de una din ele. Inconvenientele sunt n principal legate de timp i cost ridicat
pentru alctuirea seturilor respective de date, elaborarea sau luarea n calcul a unor variante diferite ale
produsului, obinerea i analiza rezultatelor sumare comparative. n plus, orict de exhaustiv ar fi elaborate
seturile de date de test, n cazul produselor complexe, acestea nu pot fi atotcuprinztoare, neputndu-se trage
concluzii privind alte seturi de date de intrare.
C. comparaia prin simulare - experimentrile repetate satisfac caracteristicile unor ncercri n
condiiile unor date de intrare externe diferite i alese la ntmplare. Dar, aa cum se arat n [BR1], i
aceast metod genereaz probleme specifice care pot reduce contribuia sa la rezolvarea problemei.
sa de a satisface nevoile stabilite sau implicate". ntr-un context contractual nevoile sunt stabilite, specificate,
pe cnd n alt context nevoile implicate trebuie identificate i definite.,
Fiabilitatea este privit n [BARO1] ca msura ncrederii pe care o avem n concepia i n capacitatea
unui program de a funciona corect n toate condiiile avute n vedere de la nceput. Aceast definiie se
refer mai mult la fiabilitatea procesului dect la cea a programului, fiind legat de probabilitatea ca o eroare
din program s fie activat de un set specific de intrri. Fiabilitatea produselor software este caracteristica ce
exprim poate cel mai bine particularitile acestei industrii, dac abordm problema n comparaie cu
fiabilitatea produselor hardware. Exist abordri cantitative ale fiabilitii, exprimate prin probabilitatea ca un
produs software s-i ndeplineasc funciunile cu anumite performane i fr erori ntr-un interval de timp
i n condiii de exploatare date, precum i abordri calitative ce privesc fiabilitatea ca o capacitate a
produsului software. Standardul ISO/IEC 9126 [ISO1], definete fiabilitatea ca un set de atribute care se
bazeaz pe capabilitatea produsului software de a-i menine nivelul de performan n condiii i pe o
perioad de timp stabilite. Limitele fiabilitii unui produs software se datoreaz erorilor din etapele de
formulare a cerinelor, proiectare i implementare. Cderile datorate acestor erori depind de modul i
condiiile n care este utilizat produsul. Corespunztor ciclului de via al produsului software, putem
distinge o fiabilitate previzional sau proiectat, o fiabilitate experimental i o fiabilitate operaional (la
beneficiar).
Utilizabilitatea este definit n [ISO1] ca un set de atribute bazate pe efortul necesar pentru a utiliza
produsul software i pe evaluarea individual a utilizrii produsului, de ctre un grup stabilit sau implicat de
utilizatori. Standardul d termenului de utilizatori un neles foarte larg, incluznd operatori, utilizatori finali
i indireci, precum i toate categoriile de persoane care i desfoar activitatea dependent sau sub influena
utilizrii produsului software respectiv.
Eficiena produselor software este definit n [BAR03] ca o corelaie optim ntre consumul de resurse
al produsului i complexitatea problemei de rezolvat. Tot n acest material se arat c eficiena poate fi
exprimat prin introducerea noiunii de output al produsului software, definit ca o relaie ntre complexitatea
datelor iniiale i a rezultatelor finale. Standardul ISO/IEC 9126 [ISO1], definete eficiena tot ca pe o
corelaie, dar nu ntre consumul de resurse i complexitatea problemei, ci ca un set de atribute bazate pe
relaia dintre nivelul de performan al produsului software i cantitatea de resurse utilizate, n anumite
condiii stabilite. Spre deosebire de [BAR01], standardul [ISO1] lrgete mult categoria resurse consumate,
incluznd att memoria, timpul de execuie, precizia ct i cantitatea de hrtie utilizat, serviciile de operare,
mentenan sau suport de personal.
Mentenabilitatea este definit n [ISO1] ca un set de atribute bazate pe efortul necesar pentru a face
modificrile specificate n produsul software respectiv. Modificrile includ corecii, mbuntiri sau
adaptri la modificri ale platformelor (de dezvoltare, int, etc), modificri n cerine i specificaii
funcionale. Conform [BAR03], un produs software este mentenabil n msura n care permite o rapid i
uoar actualizare astfel nct s poat fi utilizat n continuare n bune condiii. Actualizrile din aceast
definiie sunt privite n sens mult mai restrns. Ele referindu-se numai la operaii la nivelul produsului
software, al modulelor, secvenelor de instruciuni i instruciunilor. Nivelul mentenabilitii se poate stabili
pe baza datelor obinute n etapele de proiectare, testare i utilizare curent. Evaluarea acestei caracteristici se
bazeaz pe datele obinute indirect prin examinarea influenei modificrilor asupra celorlalte caracteristici
de calitate, cum ar fi complexitatea, testabilitatea, modularitatea, etc. Un factor care determin obinerea unei
mentenabiliti corespunztoare este corelarea strict a nivelului de complexitate cu funcia de procesare
ndeplinit de fiecare modul.
Portabilitatea este definit n [ISO1] ca un set de atribute bazate pe facilitatea pe care trebuie s o ofere
produsele software n direcia transferrii dintr-un mediu n altul. nelegnd prin mediu nu numai contextul
hardware i/sau software, ci i cadrul organizaional, standardul ISO/IEC 9126 - [ISO1] - extinde
considerabil limitele cerinelor impuse portabilitatii. Restrngnd mult limitele, n [BARO3] portabilitatea
se definete ca o caracteristic de ordin calitativ a programelor ce pot fi rulate pe mai multe tipuri de
calculatoare. Programele sunt considerate portabile nu numai dac pot fi implementate pe mai multe tipuri de
calculatoare direct, fr alte modificri ci i dac execuia pe alte tipuri de sisteme de calcul necesit
modificri de mic anvergur i un efort de programare mult mai mic dect cel cerut de rescrierea acestor
programe. Un aspect deosebit al acestei caracteristici este legat de portabilitatea compilatoarelor, de diferitele
faciliti video i audio oferite de sistemele de calcul i folosite n programele de aplicaie. Abordarea diferit
a acestei caracteristici de calitate, la sfritul anilor '90, este relevat i de preocuprile pentru crearea de
sisteme ieftine, care pot deveni staii de lucru n mai multe tipuri de reele, rulnd programe dezvoltate pe
platforme int diferite - UNIX, Windows, DOS, VMS - avnd n spate puterea reelei globale - Internet.
8
Independen hardware
Portabilitate
Completitudine
Utilitate
Fiabilitate
Acuratee
Consisten
Eficien
Utilitate
general
Factori umani
Eficien hardware
Accesibilitate
Comunicativ
Mentenabilitate
Testabilitate
Structuralitate
Autodescriere
Uor de neles
Conciziune
Modificabilitate
Claritate
Extensibilitate
Maturitate
Maturitate
Acuratee
Fiabilitate
Tolerana la erori
Consisten
Utilitate
Complexitate
Corectitudine
Stabilitate
Integritate
n exemplul de mai sus, s-au luat n considerare un numr destul de mare de caracteristici de calitate
care vin n relaie cu fiabilitatea i, cu toate acestea, mai puteau fi gsite i altele, cum ar fi recuperabilitatea
sau structuralitatea. Acest gen de abordare conduce ns la un model inaplicabil.
De fapt, graful se construiete din setul iniial, limitat, de caracteristici - alese n funcie de specificul
problemei, al prelucrrii i al specificaiilor beneficiarilor - i pe baza relaiilor de preceden i de
descenden, apoi se rafineaz succesiv pn se ajunge la un model coerent, exhaustiv i necontradictoriu i,
ceea ce este mai important, un model aplicabil n continuare.
n Anexa 1 se prezint patru modele de sisteme de caracteristici, dezvoltate n strintate i n ar, i
anume modelul Boehm (Anexa IA), modelul McCall (Anexa 1B), un model romnesc elaborat la I.C.I.
Bucureti (Anexa IC) i modelul ISO/IEC statuat de standardul ISO 9126 (Anexa 1D), avnd unii parametrii
prezentai n tabelul de mai jos (tabelul 2.1).
Tabelul 2.1.
Modelul
Modelul
Modelul
Modelul
Boehm
McCall
I.C.I.
ISO 9126
Numr de caracteristici de
10
11
6
6
nivel nalt
Numr de caracteristici de
12
22
19
21
nivel sczut
22
33
25
27
Numr total de caracterisitici
4
2
2
2
Numr de nivele n arbore
Caracteristicile de nivel sczut
determin mai mult de o
Da
Da
Nu
Nu
caracteristic de nivel nalt ?
La primele dou modele (Boehm i McCall), exist mai multe caracteristici primitive, care determin
mai multe caracteristici de nivel nalt. De exemplu, n cazul modelului Boehm, completitudinea determin
att portabilitatea ct i fiabilitatea iar n cazul modelului McCall consistena determin corectitudinea,
fiabilitatea i mentenabilitatea. In aceste cazuri, decompoziia caracteristicilor de nivel superior n
caracteristici primitive, determin deplasarea interdependenelor i redundanelor dintre caracteristicile
structurii de nivel nalt ctre structura de nivel inferior. Modelul McCall expliciteaz relaiile dintre cele 11
caracteristici principale luate n considerare, ntr-un tabel anex.
Celelalte dou modele (I.C.I. i ISO) sunt mai coerente din acest punct de vedere, pentru c, dei nu se
poate spune c nu exist interdependene "ncruciate" ntre caracteristici, acestea nu sunt integrate n model.
De fapt, pentru modelul ISO/IEC 9126 - [ISO1] - structura de nivel inferior a modelului nu face parte din
standard ci este doar o propunere a ISO i International Electrotechnical Commission.
10
Pentru a putea folosi msurile software n predicii i planificri ale calitii software, este necesar s
existe sau s fie definite:
dou sau mai multe msuri ale caracteristicilor sau atributelor;
o idee, o supoziie sau chiar o teorie care pune n relaie msurile respective, necesar pentru
confirmarea sau infirmarea cauzalitii;
o demonstraie empiric a teoriei respective.
n ncercarea de structurare a msurilor i metricilor software din [BAK1], acestea sunt referite ca dou
concepte separate: msurile definite asupra unor caracteristici sau obiecte pe care le caracterizeaz numeric i
sistemele de predicie ce implic un model matematic i anumite proceduri.
Pentru a putea fi operaionalizate, metricile i msurile trebuiesc validate. Validarea msurilor se
definete ca fiind procesul prin care se asigur c msura reprezint o caracterizare numeric adecvat i
fidel a unui anumit atribut. Prin validare se dovedete c msura sau metrica respectiv este bine definit i
consistent. Validarea msurilor (numit i validare intern), vizeaz, luarea n considerare a modelelor
formale utilizate n captarea atributelor i caracteristicilor.
Validarea sistemelor de predicie reprezint procesul empiric prin care se stabilete acurateea
sistemului respectiv ntr-un mediu dat, prin mijloace empirice (de exemplu comparnd performanele unui
model cu date punctuale brute, cunoscute dintr-un anumit mediu). Att timp ct nu exist o anumit ipotez
despre capabilitile predictive ale unor asemenea msuri, ele nu pot fi validate n totalitate prin corelarea cu
anumite date disponibile la un moment dat. Pentru o validare complet este necesar i validarea extern,
prin corelarea consistent a msurii cu seturi de date, prin formule determinate iniial, pe baza unei analize de
regresie. Validarea extern se distinge astfel de validarea intern efectuat iniial pentru a arta c msura
respectiv msoar efectiv un anumit atribut. Validarea extern a msurii m este deci procesul prin care se
stabilete o relaie consistent ntre m i seturi de date empirice presupuse a msura un anumit atribut.
Autorii articolului [BAK1] arat c, dat fiind slaba nelegere (nc) a relaiilor dintre produsele
software i procese, validarea extern pare a fi extrem de ne-fiabil. Cu toate acestea, specialitii n domeniu
sunt gata s accepte aceast abordare a validrii, att timp ct msurile propuse reuesc s capteze nelegerea
i concepiile intuitive asupra atributelor respective. Msurile corecte pot fi dezvoltate cnd caracteristicile
sau atributele respective sunt definite ne-ambiguu, modelate corect i inteligibile.
n [PFL1] se pune n legtur modelul maturitate/capabilitate elaborat la Software Engineering Institute
(S.E.I.), n S.U.A., cu utilizarea unor anumite tipuri de msuri i metrici. Astfel, modelul amintit, care descrie
un set de nivele de maturitate n care se ncadreaz procesele de dezvoltare software dintr-o organizaie, este
folosit drept cadru de plasare a metricilor i msurilor software, pornindu-se de la ideea c numai cnd
procesul de dezvoltare este suficient de bine structurat i procedural are sens culegerea anumitor tipuri de
date (a se vedea tabelul 2.8).
Tabelul 2.8.
Nivel
Caracteristici
Metrici
5. Optimizat
mbuntirea procesului
Referitoare la proces + feed-back pentru
prin feed-back
modificarea procesului
4. Condus i
Proces msurat (cantitativ) Referitoare la proces + feed-back pentru
controlat
controlul procesului
3. Definit
Proces definit,
Referitoare la produs
instituionalizat
2. Repetabil
Proces dependent de
Referitoare la proiect
individualiti
1. Iniial
Abordare ad-hoc a
Msuri elementare
procesului de dezvoltare
Pentru nivelul 1 se pot face msurtori elementare referitoare la dimensiunea produsului, efortul de
dezvoltare, pentru a determina un nivel estimativ al productivitii. n nivelul 2 de maturitate nu sunt
disponibile msurrii activitile care realizeaz transformarea intrrilor n ieiri, astfel c, pe acest nivel pot
fi aplicate numai metrici referitoare la proiect. La un proces repetabil se poate msura efortul necesar pentru
dezvoltarea unui sistem, durata unui proiect, dimensiunea cerinelor, costul total al proiectului, etc. De
exemplu, se pot utiliza metricile:
numrul de linii de cod;
numrul de obiecte i metode (n cazul POO);
luni-persoan de efort;
volumul schimbrilor n definirea cerinelor;
11
anii de experien n domeniu, ntr-un anumit tip de aplicaii, arhitecturi sau metode.
Al treilea nivel de maturitate a proceselor dintr-o organizaie productoare de software se numete
definit, deoarece activitile sunt clar definite, cu puncte i condiii de intrare i ieire. Aceasta nseamn c
se pot examina intrrile i ieirile fiecrei activiti funcionale definite i executate n timpul dezvoltrii
produsului software. Aceast caracteristic permite msurarea produselor intermediare.
Metricile recomandate n [PFL1] pentru aceast etap sunt:
complexitatea cerinelor, msurat prin numrul de aciuni i obiecte distincte referite n
cerine;
complexitatea proiectrii, msurat prin numrul de module proiectate, complexitatea
proiectrii McCabe;
complexitatea testrii msurat prin numrul de ci de test, numrul de obiecte de
interfa testate;
numrul de defecte descoperite, numrul de defecte descoperite per unitate, modul, etap,
activitate (densitatea defectelor), densitatea defectelor pentru fiecare produs intermediar;
numrul de pagini de documentaie intermediar, numrul de pagini de documentaie
pentru produsul final.
Procesul condus i controlat ("managed process") de pe nivelul patru de maturitate ofer posibilitatea
utilizrii unor informaii din activiti ale dezvoltrii anterioare procesului curent (de exemplu problemele
descoperite n etapa de proiectare, testare, etc) ca feed-back pentru mbuntirea activitilor din aval. De
fapt, ntr-un asemenea tip de proces feed-back-ul determin modificarea desfurrii resurselor, activitile de
baz rmnnd neschimbate. Pe acest nivel de maturitate al procesului pot fi colectate i analizate date
referitoare la ntregul proces. n [PFL1] se recomand la acest nivel culegerea urmtoarelor tipuri de date:
date referitoare la modelul de proces (de tip cascad, prototipizare);
volumul obiectelor proiectate i realizate pentru a fi reutilizate, n ce msur produsul este
proiectat pentru reutilizare (cerine, proiecte de module, planuri de test, cod);
volumul reutilizrii la producere, n ce msur proiectul reutilizeaz componente
de la alte proiecte;
identificarea defectelor, cum i unde sunt descoperite defectele (n timpul revizuirii
cerinelor, proiectelor, inspeciilor pe cod, n fazele de testare);
utilizarea managementului configuraiei: este impus procesului de dezvoltare o
schem de management al configuraiei? Managementul configuraiei i controlul
muncii de modificare permit managementului de proiect exercitarea unui control mai
eficace al procesului de dezvoltare? Managementul configuraiei determin i o evaluare a
impactului alterrilor i modificrilor n activiti i/sau produse?;
rata de realizare a modulelor: timpul mediu n care modulele sunt identificate, proiectate,
codificate, testate i integrate, reflect gradul n care procesul i mediul de dezvoltare
faciliteaz implementarea i testarea?
Determinarea unor relaii clare dintre caracteristicile produsului i variabilele ce caracterizeaz
procesul de dezvoltare ajut la evaluarea msurii n care procesul sau activitile acestuia corespund
obiectivelor de calitate i productivitate ale organizaiei.
Un proces optimizat este ultimul nivel de maturitate din cadrul modelului. n acest stadiu, msurile i
metricile sunt utilizate pentru modificarea i mbuntirea procesului. Modificrile procesului pot afecta att
organizaia ct i procesul n desfurare. De exemplu, n cadrul acestui tip de proces, dac metricile indic,
n timpul activitilor de definire i proiectare a cerinelor, un grad ridicat de incertitudine, tipul de proces
poate fi modificat din cascad n prototipizare, pe baza acestor informaii. Astfel, un proces optimizat ar oferi
maximum de flexibilitate dezvoltrii software. Metricile s-ar comporta ca senzori iar procesul nu ar fi numai
sub control ci i dinamic. Conform studiilor S.E.I., acest nivel de maturitate nu a fost nc atins de nici o
organizaie productoare de software.
Metricile sunt folositoare n condiiile n care sunt implementate ntr-o secven bine fundamentat de
activiti. Paii de urmat n utilizatea metricilor, conform [PFL1], sunt:
1 - evaluarea procesului;
2 - determinarea metricilor i a datelor ce trebuie colectate;
3 - determinarea celor mai potrivite tehnici i instrumente pentru a fi utilizate n cadrul proiectului;
4 - estimarea costului i programului proiectului;
5 - determinarea nivelului metricilor;
6 - construirea unei baze de date a proiectului;
12
13
Excelent
valori
msurate
Satisfctor
Bun
Suficient
nivel de
clasificare
Insuficient
Nesatisfctor
Figura 2.2. Scala de valori ale metricilor, divizat n regiuni corespunztoare diferitelor grade de
satisfacie
Rezultatul msurtorilor, respectiv valorile msurate ale metricilor, sunt mapate pe o scal. Valoarea n
sine nu arat un anumit nivel de satisfacie, aspectul cantitativ trebuind s fie proiectat n continuare ntr-o
clasificare de ordin calitativ. Ca atare, scala de valori este divizat n regiuni corespunztoare diferitelor
grade de satisfacie (a se vedea figura 2.2).
Att timp ct calitatea vizeaz nevoi date, concrete i particulare, nu este posibil s fie stabilite nivele
generale de clasificare, acestea trebuind s fie definite pentru fiecare evaluare specific.
Pentru o evaluare coerent a calitii unui produs software, rezultatele evalurii diferitelor caracteristici
trebuie s fie agregate, pe baza unor criterii de evaluare. Evaluatorul trebuie s pregteasc o procedur,
utiliznd de exemplu, tabele de decizie sau medii ponderate (metoda punctajului) [NICI]. Metoda punctajului
acord un numr de puncte caracteristicilor de calitate. Calitatea produsului este superioar cnd numrul de
puncte acordat este mare. Coeficientul de apreciere prin punctaj (Kp) se determin astfel:
q p
Kp
100
unde q este ponderea fiecrei caracteristici de calitate iar p numrul de puncte acordat caracteristicii
respective.
Procedura mai include, de obicei, pe lng valorile msurate ale metricilor, i alte aspecte cum ar fi
durata sau costul, care contribuie la evaluarea calitii unui produs software ntr-un mediu particular.
Nivelul calitii exprimat agregat st la baza unor decizii manageriale, fundamentate pe criterii de ordin
managerial.
Un exemplu de evaluare a calitatii a doua variante de TI vezi tabelele urmatoare
Nivelul calitatii pentru varianta 1 a TI (indicii particulari)
14
15
16
17
18
Specificare
cerine
Analiz
cerine
Concept
Proiectare
Preliminar
de detaliu
Implementare
Testare
Instalare
ntreinere
n stadiul de concept, viitorul produs software poate fi vag perceput. Dup realizarea
proiectului preliminar produsul ncepe s capete contur, iar dup realizarea proiectului
de detaliu produsul software este complet conturat. n etapele urmtoare produsul
software exist sub form de cod i sub form de documentaie.
CERINE
PENTRU
SOFTWARE
CONCEPT
PROIECTARE
PRELIMINAR
PROIECTARE
DETALIAT
PROTOTIP
(PRIMA
FORM)
PRODUS
SOFTWARE
OPERAIONAL
19
clasa crora fac parte i modelele prezentate mai sus. Modelul original se traduce printr-un plan strict
secvenial, avnd reprezentate sgei unidirecionale ntre noduri.
Cerine
de sistem
Specificaii
cerine
Analiz
Proiectarea
programelor
Codificare
Testare
Operaionalizare
Cerine
de sistem
Specificaii
cerine
Analiz
Proiectarea
programelor
Codificare
Testare
Operaionalizare
Asumpiile implicite sau explicite luate n calcul la realizarea metodologiilor liniare sunt:
nu vor fi fcute greeli;
dac se vor face greeli, acestea nu vor fi de amploare;
prile responsabile vor ti, cu certitudine, cum s corecteze micile greeli.
Pe aceast baz, n [WEI2], metodologiile secveniale se definesc ca modelnd procese lineare,
suplimentate prin feedback-uri implicite. Odat cu creterea dimensiunii i complexitii proiectelor
efectuarea micilor corecii instinctive nu mai poate fi suficient.
Modificrile modelului, surprinse n Figura 3.5, vizeaz introducerea unor bucle de feedback n dou
zone: de la proiectarea programelor la specificarea cerinelor i de la testare la proiectarea programelor. Dar
reexaminarea, modificarea sau chiar refacerea specificaiilor sau a proiectelor programelor, pe lng faptul c
este costisitoare, presupune perturbarea i mai puternic a ntregului eafodaj al realitii proceselor de
20
producie, ceea ce face ca i acest model s fie inaplicabil. n plus, metodologia nu prevede n nici un sens ce
informaii vor trebui s circule pe buclele de feedback de la o etap la alta. n esen, din modelul modificat
reiese concluzia: "Fie faci totul bine de prima dat, fie refaci totul de Ia nceput".
Pornind de la ideea c, dnd atenia cuvenit micilor deviaii care apar n procesul de dezvoltare, de la
o etap la alta, se acioneaz mai devreme i deci mai puin, Humphrey Watts introduce ideea celulelor
unitare de baz (basic unit cells) din care se compune un proces mai mare. Fiecare din aceste celule este
prevzut cu bucl de flux de feedback ce provine de la celulele ulterioare i merge la celulele anterioare.
Minimiznd aceste celule, nonlinearitatea este ideal minimizat (Figura 3.6).
Input
Entry
N
Task
Exit
Out
Output
In
Feedback
Feedback
Ingineria etapei curente
(atribute, soluii, sub-etape)
Construirea etapei planificate
Livrarea ctre un utilizator real
Evaluarea rezultatelor
Micro-proiect
Figura 3.7. Maximul admis al buclei de feedback
Att celulele de baz ct i micro-proiectele, ncearc s rezolve problema legturilor inverse, dar se
focalizeaz numai asupra produsului care este n curs de dezvoltare. Pe legtura invers circul numai
informaii despre produs (rezultate ale unor metrici, ale inspeciilor asupra produsului sau ale auditurilor pe
produs), i nici un fel de informaii despre proces, n general. Pentru o conducere efectiv i eficient, un
manager trebuie s aib mult mai multe informaii i mult mai devreme n timp, informaii pe care, singur
produsul, nu le poate furniza. O viziune mai complet asupra mbuntirii calitii software i a
productivitii, o ofer abordarea procesual (Deming). Un program de mbuntire ideal combin orientarea
bazat pe proces cu ideea mbuntirilor mici dar continue, pentru a produce cu succes modificri,
meninnd instabilitatea la un nivel minim.
n vederea eliminrii bulversrilor ciclului de dezvoltare, generate ndeosebi de modificri, clarificri
sau revizuiri ale cerinelor beneficiarilor de software, s-a dezvoltat un nou model al proceselor, bazat pe
proprietile noilor instrumente i platforme de dezvoltare, care permit dezvoltarea relativ rapid a "faadei"
21
unei aplicaii incomplete (interfaa), asupra creia beneficiarul proiectului este chemat s-i exprime punctele
de vedere. Prototipizarea, bazat pe un schelet de aplicaie (prototip), dei este eficient pentru aplicaii de
gestiune de date (sisteme de gestiune de baze de date, subsisteme "front office" pentru culegere de date, etc),
poate fi mai puin eficient n cazul aplicaiilor de dimensiuni i complexitate mare. Aceasta fie datorit
costurilor considerabile ale dezvoltrii unor asemenea prototipuri, care vor influena costurile totale ale
proiectului, fie datorit complexitii construirii i testrii prototipului nsui. Prototipizarea rmne totui o
metod eficient de aplicat n cazul etapelor procesului de dezvoltare. Astfel, pentru fiecare produs software
rezultat n urma fiecrei etape din cadrul procesului de dezvoltare (specificaii, documentaii, cod), n funcie
de instrumentele automate de care se dispune i de eficiena economic, se poate elabora mai nti o variant
prototip, urmnd ca, n cadrul etapei, aceasta s fie rafinat i completat iterativ.
Att timp ct aceste modele ale ciclului de via sunt aproximri, nici unul nu poate fi perfect, dar
trebuie s aibe cel puin calitatea de a fi credibile. Aa cum se arat i n [WEI2], problema principal a
modelelor, ciclului de via rmne neliniaritatea, i, uneori, chiar iterativitatea (conexiunile inverse, repetate
sau nu). O alt soluie oferit acestei probleme este aceea de a corecta i completa modelul ciclului de via
cu un alt tip de modele - modelele interveniilor. Aceste modele pot ajuta att la nelegerea a ceea ce nu se
poate controla, ct i la formarea unei imagini corecte asupra efectelor unor intervenii efective n fluxul
proceselor. De fapt, procedeul const n a "altera" modelul ciclului de via (indiferent ce form ar avea
acesta) cu diagrame de tip cauz-efect.
Exemplul simplu prin care n [WEI2] se ilustreaz aceast tehnic de lucru este edificator. Astfel, dac
lum n considerare modelul ciclului de via tip cascad (Figura 3.1.3), se poate face urmtoarea afirmaie:
Dac s-a terminat etapa proiectrii programelor, i am executat etapa de codificare, urmtoarea
etap va fi testarea, etap ce va duce produsul software mai aproape de stadiul operaional.
Avnd n vedere modelul (concretizat ntr-o metodologie intern de lucru), se poate spune c, dac
"apar probleme" n etapa de codificare, produsul software ar putea fi mai departe de stadiul operaional, i
anume:
1. fie s fie trimis n stadiul "Verificare cerine" (de fapt reverificare cerine), aa cum sugereaz
modelul (i, probabil, metodologia de lucru);
2. fie s fie ntr-un stadiu nemenionat n model (i n nici o metodologie), ntr-un stadiu mai
mult sau mai puin formal, n care:
a) numrul i complexitatea dificultilor aprute n etapa de codificare este foarte mare (de
nedepit);
b) participanii la proiect manifest o ncredere nejustificat n capacitatea echipelor lor de
dezvoltare de a soluiona problemele aprute;
c) conducerea organizaiei crede, n mod eronat, c proiectul este foarte aproape de
terminare;
d) unul sau mai muli programatori de baz sunt epuizai din cauza muncii suplimentare,
Erorile incluse n program n etapa de codificare vor
Cerine sau pur i simplu au prsit organizaia,
sau manifest un puternic sentiment de frustrare,
fi descoperite n etapa de testare. Cauzele efectului
de sistem
din cauze diferite (familie, nemulumiri erori
de ordin
salariale,
fapt
grave profesional,
n etapa de testare
pot sauec),
nu pot
fi ce ce
asociate cu etape din cadrul modelului/metodologiei.
Specificaii
afecteaz
serios
munca;
n schem un model de diagram cauz -efect n
cerine
e) un programator i un ef au devenit inamici de
nempcat.
cazul
n care cauza erorilor aprute poate fi
intensitatea frustrrilor
n general, personalul implicat nAnaliz
dezvoltarea de software, (oameni cu pregtire
de tip exact), i n
special conducerea, sunt poate prea obinuii cu metodologiile, nefiind capabili s prezic, s neleag i s
depeasc cu succes, pentru toi actorii participani, efecte negative care nu sunt bazate n mod direct pe
Proiectarea
metodologiile elaborate de ei.
programelor
Continund exemplul de mai sus, erorile incluse n program n etapa de codificare vor fi descoperite n
etapa de testare. Cauzele efectului erori grave n etapa de testare
pot sau (de cele mai multe ori), nu pot fi
Codificare
asociate cu etape din cadrul modelului/metodologiei. n [WEI2] se prezint un model de diagram cauzTestare 3.8).
efect n cazul n care cauza erorilor aprute poate fi intensitatea frustrrilor (Figura
Intensitatea
frustrrilor
Operaionalizare
Erori n cod
Erori n etapa
de testare
22
Efecte precum erori n cod pot avea originea n oricare din etapele modelului/metodologiei, precum i
alte cauze nemenionate (un programator care lucreaz la alt proiect corupe, din greeal, codul surs). De
asemenea, variabile precum intensitatea frustrrilor pot fi influenate de nenumrai factori i, cu toate c
acest tip de variabile nu apar n metodologii, acestea afecteaz procesele de dezvoltare de software. Cu alte
cuvinte, variabilele ce trebuie s fie utilizate de controlorii/managerii procesului de dezvoltare pot fi direct
derivate din produs, din proces, sau pot face parte din categoria "produselor secundare" rezultate n urma
procesului (de exemplu primele acordate programatorilor pentru ncadrarea n timp sau pentru calitatea
muncii, experiena cptat de membrii echipei de dezvoltare, relaiile umane i profesionale dintre membri
echipei, precum i cele dintre acestea i conductorii proiectului, experiena personal cptat de fiecare i
de echip n ansamblu, ncrederea n manageri, etc). Cele mai multe metodologii sunt focalizate asupra
produsului, astfel nct nu menioneaz nici un alt produs al procesului care nu este direct legat de calitatea
produsului software final rezultat, de costul sau programul proiectului.
Procesul N
Revizia (inspecia)
procesului N
Cerin
Cerine
documentate
23
Proiectarea
Modulului 21
actualizat
cel
Proiectarea
Modulului
21
puin
sptmnal.
Documentele
Proiectului
Fiecare dreptunghi
corespunztor unui proces va
Modulului 21
Diagrama PPPP va fi
fi aranjat pe o scal a timpului, corespunztor programului proiectului, pentru a se putea urmri i ncadrarea
19.01
n timpul programat. n figura 3.13 se prezint un exemplu pentru
dou procese: elaborarea planurilor de
testare i elaborarea testelor pentru un produs software.
Pe scala
timpului
suntDiagrame
reprezentatece
datele
limitincadrarea
de terminare anproceselor
Dup cum se
Figura
3.14.
indic
timpul respective.
programat
poate observa
din exemplul
de mai sus,
Cerine
procesul de
Elaborare
Planuri de
Elaborare
Documentate,
elaborare
a
planuri de
Proiecte,
testare
teste
Teste complete
planurilor
de
testare
Standarde
complete
testare
s-a
de testare
realizat
la
timp, pe cnd
procesul de
Figura 3.13. Elaborarea planurilor de testare i elaborarea testelor pentru un produs
elaborare
a
software.
testelor este n
ntrziere.
Procesele care nu au nceput s fie executate la data stabilit n grafic sunt reprezentate n diagrama
PPPP lsnd o urm neagr n urm ("dr"), n figura 3.14. se prezint un exemplu, conform cruia scrierea
codului programelor pentru modului 21 nu a nceput la data fixat, anterioar datei de 19.01, datorit unor
revizii majore pe care au trebuit s le suporte proiectele modulului. Punerea n oper a diagramelor PPPP
(sau P4), produce modificri nsemnate n organizaia productoare de software, din mai multe motive. n
primul rnd, prin crearea i actualizarea unei asemenea diagrame, nici o neregul n sistemul de dezvoltare al
produsului software nu mai poate fi ascuns. Uurina cu care poate fi interpretat o diagram PPPP face
vizibil evoluia procesului, astfel nct pot fi identificate repede procesele ce cauzeaz ntrzierea. De
asemenea, seriozitatea cu care managementul de proiect urmrete realizarea i actualizarea diagramei PPPP
transmite un mesaj clar echipei asupra seriozitii i rigurozitii conducerii.
Condiii necesare
procesului N
Procesul N
Revizia (inspecia)
procesului N
Condiiile
procesului N+1
Procesul
N+1
Revizia
procesului
N+1
Condiii necesare
procesului N
Procesul N
Revizia (inspecia)
procesului N
Procesul N
Figura 3.12,b. Diagrama, cnd n urma reviziei sunt de efectuat modificri minore
Condiii necesare
procesului N
Procesul
N
Revizia 1
proces N
Procesul
N
Revizia 2
proces N
Figura 3.12.c. Diagrama, cnd n urma reviziei sunt de efectuat modificri majore
Condiii
necesare
proces N
Proces
N
Revizia 1
proces N
Condiii
necesare
proces N
Proces
N
Revizia 2
proces N
Figura 3.12.d. Diagrama, cnd n urma reviziei este necesar refacerea produsului
24
n unele variante ale diagramelor PPPP, dreptunghiurile aferente proceselor mai includ o rubric,
actualizat, de asemenea, sptmnal, i anume ct s-a cheltuit din bugetul alocat procesului respectiv.
Managementul calitii software se realizeaz i n mod asistat, cu ajutorul unor sisteme automate. n
[WAL1] se prezint arhitectura unui asemenea sistem, dezvoltat n cadrul programului universitar ESPRIT
REQUEST, n Marea Britanie, la Centrul pentru fiabilitate software din cadrul City University - Londra.
Scopul acestui sistem automat este de a asista un manager de proiect de-a lungul ciclului de via al unui
produs software, printr-o interfa, ce nsumeaz informaii din subsisteme ca: iniierea proiectului,
monitorizarea proiectului sau evaluarea proiectului. Acest produs software reprezint o variant constructiv
a modelului COQUAMO (Constructive QUAlity MOdelling System) dezvoltat tot n cadrul programului
ESPRIT. Conform acestui model, activitile privind calitatea software se cuprind n trei grupe, i anume:
asigurarea calitii (QA) - activitile planificate sau sistematice necesare pentru ca un
produs/serviciu s satisfac nevoile date;
controlul calitii (QC) - prevede modalitile concrete prin care este construit calitatea
produsului;
managementul calitii (QM) - ansamblu de activiti n cadrul funciilor generale ale
managementului, prin care se determin i implementeaz calitatea produsului.
Instrumentele automate pentru susinerea acestor activiti trebuie s asigure i pregtirea personalului
n utilizarea standardelor, precum i modaliti de susinere a activitilor de auditare a conformanei cu
standardele. Sistemul automat de management al calitii prezentat n [WAL1] are la baz trei standarde
NATO i un standard britanic: AQAP-1-"NATO requirements for an industrial quality control system",
AQAP-13-"NATO software quality control system requirements", AQAP-14-"Guide for the evaluation of a
contractor's software quality control system for compliance with AQAP-13" i BS5750 - "British Standard
on Quality
Systems". Structura sistemului cuprinde trei instrumente software, care acoper activitile mai multor
subsisteme- tabelul 3.2.
Aa cum se arat n [WAL1], n timpul testrii ntregului produs software i al primei perioade de
utilizare efectiv a acestuia, comportamentul produsului poate fi observat direct. Atunci este posibil
verificarea exact a conformanei calitii operaionale cu calitatea ce reiese din specificaiile pe baza crora
a fost construit produsul. Pentru aceast perioad, s-a construit un instrument separat de evaluare a
produsului software, deoarece metricile i modelele pe baza crora se efectueaz verificarea nivelelor finale
ale caracteristicilor de calitate software sunt de obicei diferite de cele utilizate n timpul monitorizrii
proiectului.
Printre avantajele pe care autorii sistemului - denumit n final IPSE (Integrated Project Support
Environments) - le evideniaz, sunt: asigurarea conformanei cu standardele prin nglobarea standardelor
direct n produsul CASE IPSE, (ntr-un instrument care asist producerea documentaiilor) i simplificarea
auditrii conformanei cu standardele, care poate fi demonstrat prin simpla verificare a utilizrii
instrumentelor CASE conformante cu standardele. n acest mod se reunesc constructiv activitile de nvare
a standardelor, de nvare a producerii unui produs software i de nvare a executrii unei activiti n
conformitate cu un standard ce descrie un sistem al calitii.
Tabelul 3.2
Instrumente
Subsisteme
1.
Planificarea i
iniierea
Asistarea
Creare planuri calitate, verificare, validare planuri, proiectului strategii
planificrii
de testare, identificare metrici utilizate la monitorizarea proiectului,
Crearea
Stabilire nivele msurabile ale factorilor de calitate (subcaracteristici),
specificaiilor
analiza viabilitii acestor nivele i a modalitilor utilizate pentru
cerinelor calitii atingerea lor
Analiza
Utilizare elemente critice pentru succesul proiectului pentru a
fezabilitii i
previziona calitatea produsului final n termenii specificaiilor
prognozarea
cerinelor calitii.
calitii
Utilizare date metrici selecionate pt. elaborare de rapoarte i analize de
stadiu privind proiectul, n termenii de calitate stabilii.
2.
Monitorizarea
proiectului
25
3.
Evaluarea
proiectului
26
calitate, cum ar fi portabilitatea sau conformana cu standardele. Inspectorul trebuie s stpneasc bine lista
de criterii, sau s fie bine informat asupra nivelului dorit al caracteristicilor de calitate ce urmeaz a fi
inspectate;
- metoda celor N inspecii - este o tehnic adaptat analizei conformanei cu cerinele i specificaiile
utilizatorului, materializate n documentaii. n cadrul acestei metode sunt efectuate cteva inspecii, n
paralel, conduse de un singur moderator. Aceasta deoarece s-a constatat c rezultatele inspeciilor paralele nu
sunt, de obicei, convergente.
inspecii i revizii etapizate, care urmresc scopuri complexe:
- inspeciile Fagan - sunt o combinaie ntre reviziile formale, parcurgerile de cod i inspecii. Aceste
inspecii presupun parcurgerea a cinci pai: (1) evaluarea general, n care autorii explic coninutul
programelor inspectorilor. De exemplu, pentru o inspecie pe codul surs, n aceast etap se vor examina i
explica documentaia de proiectare a programelor, precum i logica general a acestora; (2) pregtirea, n
timpul creia inspectorii studiaz produsul i documentaia asociat; (3) inspecia -ntlnire controlat de un
moderator care, la rndul su, desemneaz o persoan ce va ghida inspectorii ntr-o examinare detaliat, linie
cu linie a produsului, pentru cutarea erorilor; (4) corectarea erorilor sesizate la inspecie. n urma parcurgerii
pasului anterior inspectorii vor elabora un raport cu erorile depistate, ce va fi nmnat autorului n vederea
efecturii coreciilor; (5) revizia final, n care se verific modul de corectare a erorilor semnalate n raport.
- inspecia fazat, sau pe faze - este proiectat astfel nct s asigure rigurozitatea, elasticitatea i
eficiena metodei n utilizarea resurselor precum i posibilitatea de a fi automatizat. Metoda presupune
efectuarea unei serii de inspecii pariale coordonate, numite faze. Fiecare faz trebuie s asigure c produsul
inspectat posed fie o anumit caracteristic specific sau particularizat, fie un mic set (subsistem) de
caracteristici nrudite. Caracteristicile examinate sunt ordonate astfel nct fiecare faz s poat prezuma
existena caracteristicilor verificate n fazele anterioare. La rndul lor fazele pot fi efectuate de un singur
inspector sau de mai muli inspectori. Fazele efectuate de un singur inspector reprezint procese riguroase i
rigide, ce constau n verificarea unor liste de cerine definite fr ambiguitate (check lists).
Produsul nu poate trece de aceast faz a inspectrii pn nu ndeplinete toate cerinele menionate n
listele respective. n fazele care sunt efectuate de mai muli inspectori se inspecteaz i se verific acele
caracteristici i proprieti ale unui produs software care nu pot fi surprinse de seturi de ntrebri precise, cu
rspunsuri de tip da/nu, independente de aplicaie.
ntr-o astfel de situaie inspectorii din echip examineaz produsul n mod independent, conform unor
proceduri structurate clar i apoi are loc ntlnirea acestora, n care se compar rezultatele individuale. Acest
tip de faz este n esen un proces Delphi. Inspectorilor nu li se furnizeaz alte informaii legate de produs i
de realizarea acestuia, n afara celor disponibile n documentaii.
Listele de cerine (check lists) utilizate pot fi specifice aplicaiei (n cazul fazelor executate de un
inspector), specifice domeniului aplicaiei i liste cu cerine de ambele tipuri (n cazul fazelor efectuate de
mai muli inspectori). Listele de cerine specifice domeniului ndreapt eforturile inspectorului ctre zonele
mai dificile ale domeniului respectiv, pe c|nd listele specifice aplicaiei sunt proiectate s foreze o examinare
exhaustiv a produsului de ctre inspector. De exemplu, ntr-o inspecie a codului surs, n lista de cerine se
pot genera periodic ntrebri de tipul: "La ce folosete aceast instruciune?" sau "Pentru ce este utilizat
aceast structur de date?", cu o rat fix, stabilit la mia de linii de cod surs. Modul cum se rspunde la
aceste ntrebri ne arat dac inspectorul a verificat poriunea de cod respectiv i a neles suficient de bine
produsul. Rspunsuri incorecte repetate la aceste tipuri de ntrebri pot conduce i la concluzia c produsul
software nu este suficient de bine documentat, programele nu sunt eficient comentate sau sunt scrise neclar.
Acest tip de informaie este esenial pentru a asigura mentenabilitatea produsului.
Inspecia pe faze, prezentat n [KNI1], elimin un important neajuns al celorlalte metode. Astfel, dei
metodele de inspecie i revizie amintite sunt benefice n sens statistic, aplicarea nici uneia dintre acestea nu
poate evalua mulumitor msura sau nivelul unei caracteristici sau unui subsistem de caracteristici de calitate
ale unui produs software. Dei managerii de proiect sunt n unanimitate de acord c aplicarea inspeciilor i
reviziilor mbuntete nivelul general de calitate al produselor organizaiilor productoare, acetia ar dori
ca, pe baza rezultatelor inspeciilor, s poat fi n msur s fac predicii asupra nivelului de calitate al
produsului software inspectat.
Potrivit [KNI1], pentru ca o metod de inspectare a unui produs software s aib o productivitate mare,
este necesar ca aceasta s ndeplineasc urmtoarele condiii:
1. s existe garania c metoda de inspectare se poate aplica riguros, astfel nct rezultatele s fie
specifice fiecrui produs particular i, n acelai timp, repetabile la nivelul aceluiai produs;
2. s fie flexibil, s poat servi unor scopuri complexe (nu numai unei simple detectri a erorilor
nainte de faza de testare);
27
3. s fie conceput astfel nct o mare parte a muncii s poat fi fcut automat, resursele umane s fie
utilizate numai atunci cnd este imperios necesar;
4. s fie eficient, astfel nct, cu un anumit volum de resurse, s se poat obine rezultate maximale.
Cu toate acestea, orict de fiabil sau riguroas ar fi inspecia calitii, dac nu este eficient din punct
de vedere al costurilor, metoda nu va fi aplicat. Aa cum se recunoate n [KNI1], disponibilitatea metodei
din punctul de vedere al costurilor este imposibil de modelat analitic ntr-un mod convingtor. Acest lucru
poate fi obinut numai prin experimentri la scara produselor software industriale, opernd n mediul
industrial, efectund experimente multiple de aceeai natur, pentru a permite estimarea variaiei statistice i
comparaii la scara de 1/1 cu alte medode. Aceste experimente sunt imposibile fr investirea unor resurse
substaniale, de-a lungul mai multor ani. n acest context, este puin probabil ca o organizaie productoare de
software de nivel industrial s susin o asemenea investiie, att timp ct nu exist suficiente dovezi c
metoda este fezabil nu numai ntr-un mediu academic. Dar, dei experimentele academice izolate nu pot
produce rezultate semnificative i concluzive, pot oferi indicaii empirice bune asupra utilitii relative a
inspeciilor calitii.
n [WEI1] G. Weinberg d cteva sfaturi demne de luat n seam, pentru cei care conduc
inspecii ale calitii produselor software. Acetia sunt sftuii:
- s ia cele mai radicale (pesimiste) decizii - fapt care va determina managementul organizaiei s ia n
calcul cu seriozitate argumentele pesimiste ale inspectorilor;
- s asculte cu atenie diferenele de opinii - dac un singur inspector nu reuete s neleag n
ntregime produsul, atunci trebuie reconsiderat problema dac productorul
a creat un produs
inspectabil (vizibil, inteligibil, stabil) cu implicaiile de rigoare asupra mentenabilitii sale;
- s observe cu atenie reacia inspectorilor la semnarea listelor de control sau a celorlalte documente
ale inspeciei - fiecare inspector poart responsabilitatea a ceea ce a fcut, eventualele ezitri pot ridica
ntrebri asupra calitii muncii inspectorului, sau asupra rezervelor pe care acesta le poate avea fa de
produsul inspectat;
- s remarce problemele care se redeschid mereu (subiectul discuiilor care nu se mai termin) - dac
inspectorii fac ncercri s redeschid discuia asupra unor probleme clasate, sau asupra crora s-a luat deja o
decizie, acest lucru indic faptul c exist rezerve.
Dei inspeciile sunt metode de gestiune i management al calitii orientate ctre produs, faptul c toi
participanii la inspecii i mbuntesc, n timp, ntr-un mod sau altul, abilitile personale (profesionale, de
comunicare, de conducere) efectul major al acestora se va reflecta, pe termen mai lung, asupra calitii
proceselor.
28
ndeplinete obiectivele specificate n cerine. Pentru a fi efectiv i a putea preveni disfunciile generate de
modificarea cerinelor de la o etap la alta, validarea trebuie efectuat la sfritul fiecrei etape. Astfel,
validrile succesive traseaz conformana ntre produsul software rezultat dup fiecare stadiu de dezvoltare i
elementele coninute n cerine care trebuie ndeplinite n stadiile respective.
Verificarea i validarea, combinate i repetate, alctuiesc modele de proceduri pentru auditarea
software. Oricare ar fi modelul de procedur adoptat, scopurile auditrii sunt creterea vizibilitii produselor
sau proceselor software i stabilirea trasabilitii de-a lungul ciclului de via. De asemenea, auditul face
vizibil pentru manageri, stadiul curent i nivelul de calitate al produsului software, permind evaluarea
integritii acestuia.
Pentru ca auditul s-i ating scopurile (vizibilitate i trasabilitate), este necesar ca, n fiecare stadiu al
procesului de dezvoltare, produsul software s poat fi identificat. Prin identificare, n [BRY1] se nelege:
determinarea clar a prilor constitutive ale produsului software;
determinarea clar a relaiilor dintre aceste pri;
atribuirea unei etichete sau unui nume unic i sugestiv fiecrei pri constitutive;
descrierea grafic sau tabelar a prilor i relaiilor dintre ele.
Prile constitutive al unui produs software, n orice stadiu de dezvoltare s-ar afla, sunt elementele de
configuraie software.
Identificarea constituie i o premiz important a comunicaiei informaiei privind trasabilitatea. Astfel,
ca rezultat al verificrii i validrii, se poate construi un tabel sau o matrice a trasabilitii care s indice
corespondena dintre un element de configuraie dintr-un anumit stadiu i elementele de configuraie
corespondente din celelalte stadii de dezvoltare, sau dintre acesta i "reflectarea" sa n specificaii.
n tabelul 3.3 se prezint o succesiune de pai, constituii ntr-un model de auditare de software, ntr-un
anumit stadiu din ciclul de via, n viziunea autorilor [BRY1 ].
Tabelul 3.3.
Motivaia parcurgerii acestui pas: deseori, cumprtorul/utilizatorul nu i
1. Examinarea
specificaiilor cerinelor cunoate dect vag nevoile vis-a-vis de un produs software i nu este capabil,
de prima dat, s articuleze complet, necontradictoriu i fr ambiguiti
fa de produs
aceste nevoi n scris. Examinarea specificaiilor scoate n eviden omisiunile
i ambiguitile. Chiar dac aceste probleme nu sunt rezolvate pe loc,
examinarea preliminar face vizibile lucrurile care se pot transforma n
probleme cheie.
2. Verificarea
asigurrii calitii.
3. Identificarea
produsului
4. Examinarea
claritii,
completitudinii,
consistenei interne si
testabilittii.
29
5. Produsul este
verificat prin
comparaie cu etapa
anterioar din ciclul
su deviat.
n Anexa 3 A se prezint un model de structur al raportului de audit, aa cum a fost propus n [BRY1].
Aceti pai sunt aplicabili n toate etapele pe care le parcurge un produs de-a lungul ciclului su de via.
Auditul este executat n dou situaii: n procesul de dezvoltare care conduce la crearea unui nou produs
software, i cnd produsul software este modificat. Auditarea software este parte a unui proces complex, i
anume procesul de control al configuraiei (al crui model propus n [BRY1] este prezentat n Anexa 3B).
Controlul procesului este un element al managementului configuraiei. Relaiile dintre auditul software,
procesul de control al configuraiei i managementul configuraiei, sunt cele din figura 3.15.
Auditul este o activitate profesionist i independent, deci, din echipa de audit fac parte persoane cu
pregtire i experien de nalt nivel, membri ai unor organizaii independente i profesioniste (firme de
audit, institute de cercetare, agenii guvernamentale sau neguvernamentale specializate, etc). Echipa de
auditori, prin poziia sa independent, ofer o garanie suplimentar asupra obiectivittii auditului. Din
componena echipei de audit pot face parte i manageri ai firmei, manageri ai proiectului i persoane din
comisia de control al configuraiei. Aceste persoane i pot aduce contribuia la proces, fr a realiza
auditarea.
Figura 3.15.
Managementul configuraiei
Control configuraie vers.
1
Audit
30
alte elemente mai "delicate", precum numrul estimat de iteraii la un stadiu de dezvoltare sau numrul
anticipat de modificri ale proiectelor.
31
Costuri de investi
Costuri de prevenire
Costuri de evaluare
Costurile defectrilor
externe
32
Cauzele defectelor:
1 cauze datorate
produselor suport i a
produselor primite de
la subcontractani;
2 cauze hardware;
3 cauze umane;
4 cauze
metodologice
(proceduri, tehnologii
inadecvate);
5 cauze datorate unui
control defectuos;
6 cauze datorate
mediului de
desfurare a
procesului de
dezvoltare;
7 cauze manageriale;
8 mentenabilitate
redus;
9 marketing
defectuos.
33
Cp = costuri de prevenire
Ce = costuri de evaluare
Cd = costurile de identificare i remediere a erorilor n timpul procesului de dezvoltare +
costurile de remediere la productor i beneficiar (costurile totale de identificare i
remediere a erorilor).
Aa cum se arat n [COZI] i [0LA1], potrivit abordrii tradiionale a analizei costurilor, referitor la
corelaia cost-calitate, pe msura creterii costurilor de prevenire Cp i a costurilor de evaluare Ce, se
produce scderea costurilor Cd (figura 4.1).
Curba costurilor totale referitoare la calitate admite un minim, iar nivelul calitii corespunztoare
zonei haurate (AB) este considerat optim. Se remarc faptul c n zona respectiv Cd Cp+Ce. Zonele de
pe grafic din afara zonei optime, reprezint "zona mbuntirilor", respectiv "zona supracalitii" (figura
4.2).
Cd
Cp+Ce
A
Cd Cp + Ce
Costuri
Cp+Ce+Cd
Nivelul calitii
Cd
Curba costurilor totale
Zona optim
Zona mbuntirilor
Cd>70%
Cp+Ce<30%
Cp+Ce
A
Cd Cp + Ce
Costuri
Cp+Ce+Cd
Zona supracalitii
Cd < 40%
Cp+ Ce > 60%
Nivelul calitii
34
mbuntirilor, Cd au o pondere mai mare de 70% n totalul costurilor referitoare la calitate, iar cele de
prevenire i evaluare sub 30%. n aceast zon, printr-o cretere relativ mic a costurilor de prevenire i
evaluare (a investiiilor), se poate obine o reducere semnificativ a Cd. n zona supracalitii Cd < 40%, iar
costurile de prevenire i evaluare au o pondere mai mare de 60%. n aceast zon, conform abordrilor
clasice amintite, reducerea Cd presupune costuri din ce n ce mai mari de prevenire i evaluare.
n contradicie cu abordarea clasic prezentat mai sus, strategia mbuntirii continue (Kaizen), pe
lng faptul c nu implic investiii mari, determin obinerea a dou avantaje: 1. se poate obine creterea
nivelului calitii fr eforturi prea mari; 2. aplicnd principiul pailor mici, se asigur o mai mare stabilitate
i controlabilitate a proceselor.
n figura 4.3. se prezint evoluia costurilor totale minime, conform concepiei mbuntirii continue,
iar n figura 4. 4. se prezint efectele mbuntirii prin simplificare (sursa [0LA1]).
Costuri
Costuri
totale
Cd
Costul
total
minim
Cp+Ce
Nivelul calitii
100
Figura 4.3.
Costuri
Costuri
totale
Cd
Costul
total
minim
Cp+Ce
Figura 4.4.
Nivelul calitii
100
35
36
mod ca s fie utilizate efectiv de ctre ntreprindere pentru a efectua aciuni efective i a realiza scopurile
sale [4] .
n [3] este subliniat scopul i terenul comun al tuturor tipurilor de management: al datelor,
informaiei, cunotinelor, nregistrrilor i documentelor - ele toate au acelai obiectiv. n particular, ele tind
s gestioneze informaia ntr-un mod, care ar asigura integritatea ei i utilizarea n conformitate cu varietatea
scopurilor.
Ca proces managementul cunotinelor este ndreptat la managementul nu al documentelor propriu
zise, ci al coninutului lor. n acest context autorii [3] menioneaz c managementul cunotinelor nseamn
cptarea (colectarea, procurarea, generarea), organizarea (clasificarea, indexarea, trasarea), recuperarea
(cutarea, accesarea), distribuirea (mprirea, micarea) i meninerea (curirea, creterea, sporirea,
ngrijirea) a coninutului depozitului de date
Obiectivele managementului calitii tehnologiilor informaionale i a serviciilor informaionale
(MQ) constau n identificarea, analiza i interpretarea tuturor anomaliilor i n definirea aciunilor corective
sau de orientare a calitii n toate etapele de realizare a TI i/sau de prestare a serviciilor informaionale.
37
Managementul afacerilor
(MA)
Managementul
cunotinelor
(MC)
Managementul
informaional (MI)
Sistemul informaional
managerial (SIM)
Managementul calitii
(MQ)
TI i serviciilor
informaionale
Concluzii
Dei mai multe forme de management (informaional, al cunoaterii, al calitii tehnologiilor i
serviciilor informaionale etc.) se dezvolt n literatura de specialitate ca direcii aparte, la ora actual sunt
observate unele elemente de convergen dintre ele. Prin urmare, este necesar studierea mai profund a
interdependenelor dintre aceste direcii, cu att mai mult c ele se intersecteaz din punct de vedere a
scopului i terenului comun al tipurilor respective de management.
Interdependenele reciproce dintre formele de management n cauz, discutate n articolul de fa,
sunt generalizate i prezentate ca subsisteme ale sistemului de management al afacerilor.
Generaliznd cele menionate n lucrare, putem conclude c un sistem de management al afacerilor,
bazat pe o strategie integrat, orientat la MTQ, poate fi eficient cu adevrat doar n condiiile dac
realizeaz toate dimensiunile de management (cel informaional, al cunoaterii i al calitii) conjugate ca
subsisteme ale unui singur sistem de management al afacerilor cu un scop final comun (figura 7.2). O astfel
38
de abordare a problemei contribuie la sporirea nu numai a eficienei fiecrui tip de management aparte, dar i
a efectului sinergetic cauzat de interaciunea lor reciproc n cadrul sistemului de management al firmei .
Organizaia (ntreprinderea)
Managementul afacerilor
(MA)
Managementul
total al calitii
produselor i
serviciilor
(MTQ)
Managementul
cunoaterii (MC)
Managementul
informaional
(MI)
Managementul
calitii TI i SIM
Sisteme informatice
manageriale (SIM),
Tehnologii
informaionale (TI)
n managementul
afacerilor
Utilizatori
externi
ai SIM, TI
Parteneri
n schimb
de date
Sistemul informatic
al managementului
total al calitii
Procesul de producere
i prestare servicii
Consumatorii
de produse
i servicii
39
40
Managementul Cunotinelor
Managementul Informaional
Pot fi evideniate dou grupe de probleme, care devin actuale n contextul temei abordate:
1) probleme de integrare n cadrul fiecrui tip de management. Aici orientarea trebuie s fie la
abordarea sistemic, n primul rnd la cuprinderea ciclului ntreg de via a resurselor informaionale
(care include toate etapele de la apariia lor pn la trecerea n stare pasiv dup utilizare, de exemplu,
n arhive), att n forma electronic, ct i pe supori tradiionali;
2) probleme de integrare ntre nivelurile i tipurile de management referitor la date, informaii,
cunotine, documente, arhive (figura 8.1). n ultima perioad de dezvoltare a managementului
informaional au nceput s ia amploare unele direcii noi de MI, bazate pe integrarea tipurilor de MI
deja existente, cum ar fi: managementul datelor cu managementul documentelor, managementul
documentelor cu managementul nregistrrilor.
n ultimii 10 ani a nceput s se dezvolte un nou tip de management (managementul calitii
tehnologiilor i serviciilor informaionale), care se intersecteaz esenial cu soluionarea problemelor MI n
sensul larg al cuvntului. Managementul calitii n acest domeniu reprezint un exemplu de convergen a
41
diferitor tipuri de MI, care este bazat pe mbinarea aspectelor caracteristice pentru ambele extreme de
interpretare a MI: manageriale i tehnologice.
n aceleai lucrri [6,7] este argumentat concluzia c integrarea tuturor formelor de MI bazat pe
utilizarea managementului calitii tehnologiilor i serviciilor informaionale este condiia fundamental a
dezvoltrii celei mai moderne forme de management informaional: managementul cunotinelor . n mod
generalizat cele menionate despre tipurile i direciile de dezvoltare a MI pot fi prezentate n figura 8.2, care
reprezint o structurare a domeniului integrat de MI i totodat un cadru de orientare pentru cercetaredezvoltare a MI, dar mai ales, pentru pregtirea cadrelor n domeniul MI.
Managementul cunotinelor
Managementul datelor,
Managementul documentelor,
Managementul informaional,
Managementul cunotinelor
42
probleme este pregtirea managerilor de proiect, de sistem si, n general, a specialitilor n domeniul MI.
Activitatea specialitilor informaticieni se desfoar ntr-un mediu foarte dinamic sub influena
multiplilor factori care se schimb n permanen. Toate acestea condiioneaz un ir de cerine fa de
informaticieni (n special pentru specialitii de sistem) i, respectiv, fa de sistemul de formare a lor.
n Academia de Studii Economice a fost acumulat anumit experien n pregtirea cadrelor n
domeniul Managementul informaional n cadrul ciclului 1 (licen) i a ciclului 2 (masterat). Avnd n
vedere necesitatea acoperirii integrale a dimensiunilor menionate anterior ale domeniul de MI, programul de
specializare n MI (ciclul 2-masterat) prevede o orientare a studiilor nu att la acumularea de cunotine
concrete (care n mod accelerat se nvechesc), ct la dezvoltarea capacitilor de gndire sistemic i
actualizarea permanent a acestora n procesul activitii practice, conform evoluiei progresului tehnicotiinific n domeniu.
Din acest motiv, programul de studii include pe lng disciplinele privind aspectele concrete ale
tehnologiilor informaionale (care presupun nsuirea mijloacelor i instrumentarului: afaceri electronice,
proiectarea sistemelor informatice, baze de date, reele informatice, tehnologii de procesare, etc., studiate n
mare parte la ciclul 1), i discipline orientate la o pregtire teoretic fundamental, la formarea unei culturi
profesionale adecvate si a gndirii sistemice, discipline necesare pentru rezolvarea optim a problemelor de
informatizare complexe (managementul cunotinelor, managementul calitii produselor i serviciilor
informaionale, gestiunea proiectelor informatice etc.), care apar permanent intr-un mediu dinamic (figura
8.3). n acest context, n programul de studii sunt prezente i aa discipline opionale ca: analiza sistemic,
cibernetica proceselor economice, inteligena artificial, sisteme suport pentru decizii, etc.
Analiznd primele rezultate a celor 2 ani de pregtire a specialitilor n MI, considerm c programul
de studii al ASEM ar putea fi pus la baza crerii unui cadru general de orientare pentru programele de
nvmnt n domeniu pentru alte universiti din Moldova
43
MI de nivel superior
Managementul cunotinelor
Managementul calitii
produselor i serviciilor informatice
(supuse managementului informaional)
Managementul informaional
MI aspecte traditionale i mixte:
Gestiunea proiectelor informatice
Economia serviciilor informatice
Gestiunea securitii informatice
MI aspecte tehnologice:
Sisteme informatice financiar-contabile
Afaceri electronice
ndeplinirea i susinerea tezei de masterat, etc.
Concluzii
Din cercetrile efectuate [3-7] i din experiena acumulat n Academia de Studii Economice din
Moldova pot fi extrase unele concluzii, principalele dintre care sunt urmtoarele:
1) Programele de nvmnt orientate la formarea specialitilor n domeniul managementului
informaional trebuie s aib la temelie o abordare sistemic a problemei. La baza trebuie s fie
sistematizarea activitilor informaionale la toate nivelurile de ierarhie n societate i generalizarea celor mai
moderne teorii i experiene acumulate n informatic;
2) Este necesar elaborarea unui cadru naional de formare profesional a specialitilor n
managementul informaional, n care ar fi determinat conceptul de management informaional, dat
descrierea specialitii i reglementate disciplinele (unitile de cursuri) obligatorii n programele respective
de studii;
3) Avnd n vedere dinamismul accelerat al informaticii, pentru perfecionarea sistemului de pregtire
a specialitilor n domeniu sunt necesare:
efectuarea permanent a cercetrilor impactului schimbrilor n domeniul tehnologiilor
informaionale asupra specialitilor informatice;
perfecionarea curriculum-urilor specialitilor informaionale (i nu numai) n contextul
dezvoltrii Societii Informaionale.