QM TI NoteCurs P-u Examen

43
1 1. Abordări moderne ale problemei calităţii Actuala perioadă pe care o parcurge societatea românească este caracterizată, în principal, prin adoptarea şi statuarea unor noi modele organizaţionale în domeniile social, politic şi economic. Un loc important î n cadrul acestor mutaţii îl ocupă încercările prin care diverşi factori cu pondere economică şi socială - o parte a corpului managerial, învăţământul şi chiar o parte a clasei politice în formare -încearcă să-şi însuşească, să adapteze şi să se adapteze, să cunoască şi să impună o nouă cultură a calităţii. Acest lucru se înscrie în tendinţa generală a societăţii româneşti de a se alinia, cel puţin în formă, valorilor ce caracterizează societatea occidentală, societate ce, în urmă cu peste patru decenii, sesiza importanţa economică a calităţii şi dezvolta primele tehnici, teorii şi modele ce aveau să pună bazele unui nou tip de cultură - cultura calităţii. În domeniul economic, creşterea importanţei calităţii a fost determinată de diversificarea şi înnoirea/reînnoirea rapidă a ofertei de bunuri şi servicii, mondializarea pieţelor - facilitată de progresele din telecomunicaţii şi din domeniul reţelelor de calculatoare - creşterea exigenţelor clienţilor şi ale societăţii, creşterea complexităţii produselor şi serviciilor. Acest lucru a făcut ca, pe lângă anumiţi parametrii "clasici" ai caracteristicilor de calitate ale diferitelor produse, să apară şi alţii noi, cum ar fi caracterul nepoluant sau nepericulozitatea, astfel că, în prezent, calitatea a devenit un factor determinant al complexităţii unei entităţi. Încă de la sfârşitul anilor '80, organizaţia internaţională pentru standarde, I.S.O., cu sediul la Geneva - Elveţia, începe să publice primele standarde referitoare la calitate. Standardul ISO-8402 - "Managementul şi asigurarea calităţii - Vocabular" [ISO3], defineşte calitatea ca ansamblul caracteristicilor unei entităţi, care îi conferă aptitudinea de a satisface nevoile exprimate sau implicite. Calitatea în sine se exprimă printr-un sistem de caracteristici, nu este de sine-stătătoare, ci se defineşte în relaţia cu anumite persoane (figura 1.2) - clienţi, producători, furnizori, comercianţi, etc. - este o variabilă continuă şi nu una discretă - deşi metricile prin care se exprimă unele caracteristici de calitate, au un caracter discret - şi presupune satisfacerea nu numai a nevoilor exprimate, dar şi a celor implicite. Mergând un pas mai departe faţă de standardul ISO-8402, specialiştii japonezi în calitate, au elaborat metoda "Quality Function Deployment" [ZUL1], conform căreia, printre altele, nevoile exprimate în cerinţe ale beneficiarilor, pot fi: - normale sau explicite, ce apar în specificaţii şi reies din discuţiile cu clientul, fiind satisfăcute în raport direct cu prezenţa lor în entitatea respectivă; - implicite, considerate elementare, şi de aceea de cele mai multe ori nici nu se mai menţionează, prezenţa lor în entitatea livrată nu dă un spor de satisfacţie, în schimb absenţa lor poate fi total nesatisfăcătoare; - deosebite, cele mai dificil de îndeplinit, fiind peste aşteptările clienţilor. Absenţa lor nu produce insatisfacţii, deoarece sunt neaşteptate, dar prezenţa produce o satisfacţie deosebită, aducând totodată producătorului importante avantaje pe piaţă. Universalitatea calităţii este reliefată şi prin definirea noţiunii de entitate, ce apare în definiţia calităţii din standardul ISO 8402. Astfel, o entitate poate fi o activitate, un produs sau un proces, o persoană sau un grup de persoane, o organizaţie, un sistem sau o combinaţie între toate acestea. Noua cultură a calităţii a determinat şi apariţia unor modele de management corespunzătoare. Managementul calităţii este parte componentă atât a ştiinţei managementului cât şi a managementului practic al firmelor şi organizaţiilor. Introducerea în practică a tehnicilor managementului calităţii produce modificări în cadrul organizaţiilor, atât în ceea ce priveşte organizarea procesuală şi structurală (compartimentele de asigurare a calităţii - "Quality Assurance" - ce au apărut pe lângă controlul tehnic de calitate - C.T.C., cercurile calităţii, servicii de audit şi controlling, echipe transfuncţionale) cât şi în ceea ce priveşte mentalităţile managerilor şi executanţilor, poziţia clienţilor, poziţia proceselor unul faţă de altul, etc. Calitatea nu mai trebuie doar verificată, ci produsă. Concepţia modernă despre calitate priveşte acest concept dinamic şi leagă calitatea produsului sau serviciului de alte două elemente: calitatea concepţiei (proiectului) şi calitatea fabricaţiei. Calitatea Calitatea Client Producător Furnizor Comercianţi Alţii Figura 1.2. Categoriile de persoane, care influenţează definirea caracteristicilor calităţii

description

Managemntul Calitatii TI Note de curs

Transcript of QM TI NoteCurs P-u Examen

Page 1: QM TI NoteCurs P-u Examen

1

1. Abordări moderne ale problemei calităţii Actuala perioadă pe care o parcurge societatea românească este caracterizată, în principal, prin

adoptarea şi statuarea unor noi modele organizaţionale în domeniile social, politic şi economic.

Un loc important în cadrul acestor mutaţii îl ocupă încercările prin care diverşi factori cu pondere

economică şi socială - o parte a corpului managerial, învăţământul şi chiar o parte a clasei politice în formare

-încearcă să-şi însuşească, să adapteze şi să se adapteze, să cunoască şi să impună o nouă cultură a calităţii.

Acest lucru se înscrie în tendinţa generală a societăţii româneşti de a se alinia, cel puţin în formă, valorilor ce

caracterizează societatea occidentală, societate ce, în urmă cu peste patru decenii, sesiza importanţa

economică a calităţii şi dezvolta primele tehnici, teorii şi modele ce aveau să pună bazele unui nou tip de

cultură - cultura calităţii.

În domeniul economic, creşterea importanţei calităţii a fost determinată de diversificarea şi

înnoirea/reînnoirea rapidă a ofertei de bunuri şi servicii, mondializarea pieţelor - facilitată de progresele din

telecomunicaţii şi din domeniul reţelelor de calculatoare - creşterea exigenţelor clienţilor şi ale societăţii,

creşterea complexităţii produselor şi serviciilor. Acest lucru a făcut ca, pe lângă anumiţi parametrii "clasici"

ai caracteristicilor de calitate ale diferitelor produse, să apară şi alţii noi, cum ar fi caracterul nepoluant sau

nepericulozitatea, astfel că, în prezent, calitatea a devenit un factor determinant al complexităţii unei entităţi.

Încă de la sfârşitul anilor '80, organizaţia internaţională pentru standarde, I.S.O., cu sediul la Geneva -

Elveţia, începe să publice primele standarde referitoare la calitate. Standardul ISO-8402 - "Managementul şi

asigurarea calităţii - Vocabular" [ISO3], defineşte calitatea ca

ansamblul caracteristicilor unei entităţi, care îi conferă aptitudinea de

a satisface nevoile exprimate sau implicite. Calitatea în sine se

exprimă printr-un sistem de caracteristici, nu este de sine-stătătoare,

ci se defineşte în relaţia cu anumite persoane (figura 1.2) - clienţi,

producători, furnizori, comercianţi, etc. - este o variabilă continuă şi

nu una discretă - deşi metricile prin care se exprimă unele

caracteristici de calitate, au un caracter discret - şi presupune

satisfacerea nu numai a nevoilor exprimate, dar şi a celor implicite.

Mergând un pas mai departe faţă de standardul ISO-8402,

specialiştii japonezi în calitate, au elaborat metoda "Quality Function

Deployment" [ZUL1], conform căreia, printre altele, nevoile

exprimate în cerinţe ale beneficiarilor, pot fi:

- normale sau explicite, ce apar în specificaţii şi reies din

discuţiile cu clientul, fiind satisfăcute în raport direct cu prezenţa lor

în entitatea respectivă;

- implicite, considerate elementare, şi de aceea de cele mai

multe ori nici nu se mai menţionează, prezenţa lor în entitatea livrată

nu dă un spor de satisfacţie, în schimb absenţa lor poate fi total

nesatisfăcătoare;

- deosebite, cele mai dificil de îndeplinit, fiind peste aşteptările

clienţilor. Absenţa lor nu produce insatisfacţii, deoarece sunt

neaşteptate, dar prezenţa produce o satisfacţie deosebită, aducând totodată producătorului importante

avantaje pe piaţă.

Universalitatea calităţii este reliefată şi prin definirea noţiunii de entitate, ce apare în definiţia calităţii

din standardul ISO 8402. Astfel, o entitate poate fi o activitate, un produs sau un proces, o persoană sau un

grup de persoane, o organizaţie, un sistem sau o combinaţie între toate acestea.

Noua cultură a calităţii a determinat şi apariţia unor modele de management corespunzătoare.

Managementul calităţii este parte componentă atât a ştiinţei managementului cât şi a managementului practic

al firmelor şi organizaţiilor.

Introducerea în practică a tehnicilor managementului calităţii produce modificări în cadrul

organizaţiilor, atât în ceea ce priveşte organizarea procesuală şi structurală (compartimentele de asigurare a

calităţii - "Quality Assurance" - ce au apărut pe lângă controlul tehnic de calitate - C.T.C., cercurile calităţii,

servicii de audit şi controlling, echipe transfuncţionale) cât şi în ceea ce priveşte mentalităţile managerilor şi

executanţilor, poziţia clienţilor, poziţia proceselor unul faţă de altul, etc. Calitatea nu mai trebuie doar

verificată, ci produsă.

Concepţia modernă despre calitate priveşte acest concept dinamic şi leagă calitatea produsului sau

serviciului de alte două elemente: calitatea concepţiei (proiectului) şi calitatea fabricaţiei.

CalitateaCalitatea

Client

Producător

Furnizor

Comercianţi

Alţii

Figura 1.2. Categoriile de persoane,

care influenţează definirea

caracteristicilor calităţii

Page 2: QM TI NoteCurs P-u Examen

2

Conform standardelor ISO, calitatea fabricaţiei reprezintă gradul de conformitate a produsului cu

documentaţia tehnică, iar calitatea proiectului exprimă măsura în care proiectul produsului asigură

satisfacerea cerinţelor beneficiarilor şi posibilitatea de folosire, la fabricaţia produsului respectiv, a unor

procedee tehnologice raţionale şi optime din punct de vedere economic (figura 1.3), unde:

A = cerinţele beneficiarului;

B = caracteristicile calităţii prevăzute în documentaţia

tehnică;

C = caracteristicile produsului;

1 = calitatea concepţiei;

2 = calitatea fabricaţiei;

3 = calitatea produsului (sau serviciului).

La aceste noţiuni se adaugă şi conceptul de calitate livrată. Calitatea livrată se referă la nivelul real al

calităţii produsului sau serviciului, în momentul achiziţionării de către beneficiar.

2. Calitatea produselor software - particularităţi Dacă societatea contemporană este o societate a calităţii, atunci ea este în aceeaşi măsură o societate a

informaţiei şi a tehnologiei informaţiei.

în industria de software, întâlnim aceeaşi concentrare pe produs a concepţiei, execuţiei, asigurării şi

verificării calităţii, ca în faza preindustrială, dar, pe de altă parte, datorită complexităţii produsului rezultat,

există grupul de executanţi, împărţit în colective sau indivizi specializaţi, care acţionează pe parcursul unor

înlănţuiri de faze (ciclu de viaţă). Modelul de producţie în industria software este un model de "producţie a

proiectelor". Particularitatea producţiei de software rezidă în faptul că activităţile desfăşurate pot fi specifice

unei anumite faze a ciclului de viaţă, sau pot fi independente de fazele ciclului de viaţă.

Importanţa calităţii produselor software rezidă în cel puţin trei aspecte:

erorile din programele de aplicaţie pot fi fatale în anumite domenii unde vieţile oamenilor depind de

acestea; aceste erori pot provoca pierderi financiare, materiale şi tot felul de alte tipuri de insatisfacţii sau

pierderi;

dacă în domeniul produselor hardware costurile au o tendinţă generală de scădere, în domeniul

dezvoltării de software, deşi productivitatea a crescut substanţial, nu se înregistrează şi o scădere a costurilor

care să ducă la aceeaşi tendinţă.

Acest ultim aspect se datorează particularităţilor prin care calitatea se manifestă în domeniul produselor

software, aşa cum sunt ele relevate în [BAR01]:

- comportamentul instrucţiunilor nu se deteriorează în timp;

- erorile sunt provocate de folosirea sau combinarea incorectă a componentelor elementare, şi nu de

aceste componente în sine;

- interacţiunile dintre componentele unui program sunt, mai complexe, mai ales dacă acestea

rulează în cadrul unor aplicaţii complexe;

- erorile există deja în program, ele sunt eliminate cu timpul, prin depanare, deci programul se

îmbunătăţeşte prin trecerea timpului;

- eliminarea unei erori nu dă siguranţa că a diminuat numărul total de erori cu o unitate;

- non-calitatea programelor poate fi atribuită în întregime greşelilor umane, de proiectare, concepţie,

B = caracteristicile calităţii

prevăzute în documentaţia

tehnică

C = caracteristicile

produsului

calitatea concepţiei3 = calitatea produsului

(sau serviciului).

Calitatea fabricaţiei

Figura 1.3. Elementele conceptului calităţii

Page 3: QM TI NoteCurs P-u Examen

3

programare, documentare.

Un manager preocupat de calitatea produselor software trebuie să posede, conform [WEI2], anumite

abilităţi speciale şi chiar calităţi native, cum ar fi: să observe ce se întâmplă şi să înţeleagă semnificaţia

propriilor observaţii; să se poată comporta şi să poată acţiona congruent în situaţii interpersonale dificile,

chiar şi când este derutat, supărat sau speriat; să poată înţelege situaţiile complexe. Această ultimă abilitate

permite să se poată planifica un proiect şi apoi să se observe şi să se acţioneze astfel încât proiectul să

decurgă conform planului sau să poată fi modificat conform cerinţelor şi schimbărilor apărute pe parcurs.

Calitatea produselor software este definită în [BAR03] ca măsura în care acestea satisfac cerinţele

utilizatorilor prin caracteristici tehnice, economice şi psiho-sociale. Această definiţie se bazează pe două

concepte care, puse în legătură, dau măsura calităţii unui produs software, şi anume cerinţele utilizatorilor şi

caracteristicile produsului.

O importanţă deosebită în procesul de dezvoltare software o are dependenţa dintre specificul şi

calitatea procesului generator, calitatea proiectului şi calitatea produsului. Ca urmare, putem deosebi de la

început doi factori esenţiali pentru calitatea produsului software, şi anume modelul specificat (proiectul) şi

conformanţa faţă de proiect (fidelitatea reproducerii). Definirea problemei la beneficiar şi clarificarea şi

detalierea acesteia de către beneficiar şi producător prin elaborarea unor specificaţii, are un impact deosebit

atât asupra calităţii proiectului şi, ulterior, a produsului, dar şi asupra întregului ciclu de viaţă al produsului

software.

3. Managementul calităţii - componentă a managementului firmei Calitatea a devenit o problemă majoră pentru managementul actual al firmei. In unele lucrări de

specialitate privitoare la teoria şi practica managementului se pune chiar problema existenţei, pe lângă

funcţiunile tradiţionale ale firmei, şi a "funcţiunii de calitate". Ca urmare, managementul de vârf al firmelor,

trebuie să se preocupe de elaborarea strategiilor şi politicilor firmei în domeniul calităţii.

Integrate în strategia şi politica generală a firmei, strategiile şi politicile de calitate asigură exprimarea

orientărilor privind mărimea performanţelor viitoare ale firmei, posibilităţile de asigurare a unui management

concurenţial şi determinarea procedurilor de comportament pe diferite pieţe şi faţă de diferite produse.

Conform [NICI], abordarea calităţii prezintă, în cadrul firmei, două aspecte: asigurarea calităţii şi

gestiunea calităţii.

Asigurarea calităţii reprezintă un ansamblu de mijloace, prestabilite şi sistematizate, întreprinse de

firmă, în toate compartimentele implicate în activităţi ce pot influenţa calitatea produselor şi serviciilor

executate, astfel încât să exprime certitudinea realizării cerinţelor de calitate specificate.

Obiectivele gestiunii calităţii constau în identificarea, analiza şi interpretarea tuturor anomaliilor

apărute în timpul desfăşurării producţiei, precum şi în definirea acţiunilor corective sau de orientare a calităţii

în toate etapele de realizare a produsului şi/sau de prestare a serviciului, inclusiv prin prisma costurilor

calităţii.

Unul din obiectivele fundamentale ale managementului calităţii îl constituie construirea, manevrarea şi

îmbunătăţirea unui sistem al calităţii în cadrul organizaţiei. Reciproc, managementul calităţii nu poate avea

coerenţă în organizaţii unde nu există definit un sistem manevrabil al calităţii, proceduri pentru menţinerea,

actualizarea şi îmbunătăţirea acestuia. Astfel, având în vedere modelul Maturitate/Capabilitate - CMM/SEI,

[PFL1], elaborat în S.U.A. la Software Engineering Institute, se apreciază că, deşi gestiunea calităţii poate

apare la o organizaţie producătoare de software situată la nivelul doi de maturitate - procesele sunt repetabile

- totuşi aceasta nu poate fi efectivă decât la organizaţii aflate cel puţin la nivelul trei de maturitate, unde

procesele sunt definite şi instituţionalizate. Acest nivel de maturitate presupune că produsele intermediare ale

etapelor dezvoltării, precum şi etapele în sine, sunt bine definite şi "vizibile", permiţând măsurarea

caracteristicilor produselor şi proceselor intermediare.

Pentru exercitarea unui management al calităţii eficient, sistemul calităţii existent în organizaţie trebuie

să asigure realizarea premiselor pentru un suport corect al activităţii decizionale (Tabelul 1.1.).

Tabelul 1.1.

Premise pentru definirea acţiunilor corective, de orientare a calităţii în toate

etapele de realizare, a produsului software existenţa unei baze de date referitoare la proiecte anterioare, actualizată cu datele proiectului

curent, inclusiv în ceea ce priveşte costurile;

actualizarea continuă, pe baza unor contacte permanente cu managementul de nivel

înalt şi cu compartimentele de marketing, a direcţiilor de acţiune viabile de urmat în ceea ce

priveşte calitatea produsului, precum şi a tendinţelor apărute pe piaţă;

Page 4: QM TI NoteCurs P-u Examen

4

analiza şi sistematizarea neconformităţilor apărute, a momentelor, proceselor şi cauzelor

apariţiei acestora, precum şi a costurilor aferente;

stabilirea de scenarii corective şi elaborarea de diagrame de tip cauză-efect pentru fiecare tip

sistematic de neconformitate sau defecţiune, apărute la nivelul produsului şi la nivelul

sistemului (proceselor) prin care acesta este dezvoltat, cu luarea în considerare şi a cauzelor

externe proceselor, precum şi elaborarea de diagrame cauză-efect în studierea unor scenarii ale

schimbării de tip "what if ?";

punerea de acord, din punct de vedere practic, a tendinţelor generale ale pieţei produsului, a

tendinţelor generale în ceea ce priveşte calitatea, cu posibilităţile concrete de care dispune

organizaţia (firma) producătoare, de a produce o anumită calitate;

propuneri de actualizare, pe baza rezultatelor concrete obţinute, a strategiei şi politicii firmei cu

privire la calitate.

Lucrarea de faţă apare în cadrul programului de perfecţionare a învăţământului superior de informatică

economică, ce include "Şcoala doctorală de managementul calităţii software", sub egida Consiliului Naţional

al Cercetării Ştiinţifice Universitare, pe baza contractului 39687-146/1998.

4. Abordarea managerială orientată pe produs. Sistemul caracteristicilor de

calitate ale produselor software După cum se arată şi în definiţia dată calităţii (standardul ISO 8402, [ISO3]), aceasta este prezentă în

fapt printr-un set de caracteristici. Aceste caracteristici pot fi împărţite în:

a) caracteristici economice, exprimate prin costuri (de proiectare, elaborare, implementare, utilizare),

economii (de resurse materiale, umane, financiare), creşteri de randament şi productivitate, privite în legătură

cu costurile şi economiile şi analizate împreună în vederea stabilirii oportunităţii realizării

produsului;

b) caracteristici sociale şi psiho-senzoriale, care constau în potenţarea elementelor creatoare,

eliminarea rutinei şi stereotipiei, instruirea asistată a operatorilor. Asupra acestor caracteristici s-au făcut

studii comparative. S-a constatat, de pildă, că rutina şi nemulţumirea utilizatorilor datorate lucrului, timp

îndelungat, cu anumite produse, este mult mai mică în cazul utilizării interfeţelor utilizator grafice (Microsoft

Windows, X-Windows, Macintosh), decât în cazul utilizării unor interfeţe în mod text;

c) caracteristici tehnice şi de utilizare (de utilitate generală). Aceste caracteristici sunt tratate "in

extenso" în literatura de specialitate, iar organizaţia internaţională pentru standardizare a elaborat un

model concretizat în standardul ISO 9126 din 1991 [ISO1].

Între caracteristicile de calitate, indiferent din ce perspectivă ar fi privite sau grupate, există multiple

relaţii de interdependenţă, subordonare, ierarhizare, decompoziţie sau agregare. Complexitatea acestor relaţii

determină ca ansamblul caracteristicilor de calitate să alcătuiască un sistem.

Pentru ca acest sistem de caracteristici de calitate să poată fi operaţional, în sensul ca să se poată

selecta un set de caracteristici pe baza căruia să se construiască un sistem de metrici cu care calitatea unuia

sau mai multor produse software să fie evaluată, setul selectat trebuie să aibă următoarele proprietăţi:

- să fie apreciat complet de către evaluatori, în sensul de a putea surprinde toate aspectele calităţii în

care evaluatorii sunt interesaţi (prin evaluatori se înţeleg persoanele autorizate şi în cunoştinţă de cauză,

interesate în evaluarea calitativă a produsului, a organizaţiei producătoare sau a sistemului calităţii, respectiv

producători, beneficiari, auditori);

- să fie ierarhizabii, în sensul ca principalele caracteristici să poată fi descompuse în factori ce pot

cuantificaţi cu ajutorul metricilor;

- să fie necontradictoriu - caracterul contradictoriu al unor caracteristici nu poate fi eliminat

în totalitate, fiind practic imposibil să se dezvolte un set de caracteristici perfect consistent. Astfel,

complexitatea vine în contradicţie cu fiabilitatea, portabilitatea cu eficienţa, etc. Ca urmare, pentru elaborarea

unor specificaţii pe baza unui set de caracteristici de calitate ce presupun aspecte contradictorii, fie se pot

stabili anumite nivele pentru anumite caracteristici, celelalte păstrându-se în limite acceptabile sau lăsându-se

la dispoziţia priceperii proiectanţilor şi programatorilor, fie se stabileşte un sistem de priorităţi specificate

explicit. De exemplu, în cadrul unui produs software, anumite programe/module trebuie să se execute mai

rapid, iar altele să fie prevăzute cu proceduri suplimentare de verificare şi testare a corectitudinii datelor,

chiar dacă aceasta duce la încetinirea duratei de execuţie.

La nivel general, sistemul trebuie să se bazeze, conform [BRĂ1], pe următoarele considerente

elementare:

Page 5: QM TI NoteCurs P-u Examen

5

1. conexiunea elementelor interne ale sistemului să fie mai puternică decât legăturile sistemului cu

mediul. Aceasta se realizează prin selectarea pe anumite criterii (specificaţiile beneficiarilor, urmărirea de

către producător 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 cuprinzător. în

toate situaţiile, sistemul caracteristicilor de calitate ce urmează a fi construit este doar un subsistem al calităţii

software;

3. unitatea şi complexitatea unui sistem presupune o anumită ordine în aşezarea şi funcţionarea

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 urmărirea diferitelor structuri componente;

5. orice subsistem poate avea o multitudine de bucle de reacţie care se închid pe anumite porţiuni de

proces, pe anumite porţiuni de sistem sau chiar la nivelul întregului sistem. Acest lucru se traduce la nivelul

sistemului caracteristicilor de calitate prin interdependenţele şi contradicţiile existente între caracteristici. Cea

mai dificilă problemă a sistemului calităţii software este cercetarea mecanismului specific al interacţiunii

dintre diferitele caracteristici de calitate ale sistemului, problemă posibil de soluţionat doar prin

managamentul calităţii.

Obţinerea unui sistem operaţional de caracteristici - modelul calităţii - pe baza căruia să se poată

realiza managementul şi gestiunea calităţii, presupune parcurgerea unor etape anterioare obligatorii, astfel:

a) definirea problemei - în care se stabilesc caracteristicile şi factorii de calitate ce vor fi luaţi în

considerare;

b) construirea modelului calităţii - analiza şi modelarea relaţiilor dintre componente, a modului de

interacţiune, a interdependenţelor, precum şi alegerea unui criteriu de performanţă. Această alegere este

parţial determinată de felul în care este precizată problema;

c) stabilirea soluţiei - o soluţie este obţinută când se apreciază că răspunsul obţinut la un moment dat

este cel mai bun în comparaţie cu criteriile stabilite;

d) omologarea soluţiei - omologarea soluţiei obţinute pe baza modelului - rezultat al procesului de

optimizare. Se poate face prin:

A. compararea cu performanţele precendete sau ale altor produse concurente pe piaţă - superioritatea

noii soluţii poate fi considerată ca o verificare a valabilităţii ei. Inconvenientul acestei metode constă în aceea

că în evaluarea calităţii oricărui produs pe o perioadă trecută toate intrările sunt cunoscute şi elemente

importante ale luării deciziei (variaţiile probabilistice ale pieţei, obişnuinţele utilizatorilor, etc.) sunt astfel

eliminate.

B. compararea cu performanţele viitoare - constă în compararea soluţiilor 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 alcătuirea seturilor respective de date, elaborarea sau luarea în calcul a unor variante diferite ale

produsului, obţinerea şi analiza rezultatelor sumare comparative. în plus, oricât de exhaustiv ar fi elaborate

seturile de date de test, în cazul produselor complexe, acestea nu pot fi atotcuprinzătoare, neputându-se trage

concluzii privind alte seturi de date de intrare.

C. comparaţia prin simulare - experimentările repetate satisfac caracteristicile unor încercări în

condiţiile unor date de intrare externe diferite şi alese la întâmplare. Dar, aşa cum se arată în [BRĂ1], şi

această metodă generează probleme specifice care pot reduce contribuţia sa la rezolvarea problemei.

5. Definirea caracteristicilor de calitate. Modele ale sistemelor caracteristicilor de

calitate software În literatura de specialitate, atât din ţară cât şi străină, se găsesc numeroase definiri şi ierarhizări ale

caracteristicilor de calitate [ISO1], [STU1], [B0E1], [TAT1], [THA1], [BARO1], [BARO2], [BARO3],

[MCC1]. Unii autori folosesc doar termenul de caracteristici de calitate, alţii le grupează în caracteristici şi

atribute, caracteristici şi factori sau caracteristici şi subcaracteristici.

Se vor trata în continuare câteva caracteristici de calitate, pe baza definirilor făcute în [ISO1], [BAR01]

şi [BAR03].

Funcţionalitatea este definită în standardul ISO/IEC 9126, [ISO1], ca un set de atribute bazate pe

existenţa unui set de funcţii şi pe proprietăţile lor specificate. Funcţiile satisfac necesităţile stabilite sau

implicate. Acest set de atribute ce defineşte funcţionalitatea, arată "ce face" produsul software pentru a

îndeplini cerinţele, pe când alte seturi răspund la întrebările "când" şi "cum" corespunde nevoilor produsul

respectiv. Referirea la nevoile stabilite sau implicate se face pe baza definiţiei calităţii din standardul ISO

8402 [ISO3]: "totalitatea trăsăturilor şi caracteristicilor unui produs sau serviciu care se bazează pe abilitatea

Page 6: QM TI NoteCurs P-u Examen

6

sa de a satisface nevoile stabilite sau implicate". într-un context contractual nevoile sunt stabilite, specificate,

pe când în alt context nevoile implicate trebuie identificate şi definite.,

Fiabilitatea este privită în [BARO1] ca măsura încrederii pe care o avem în concepţia şi în capacitatea

unui program de a funcţiona corect în toate condiţiile avute în vedere de la început. Această definiţie se

referă mai mult la fiabilitatea procesului decât la cea a programului, fiind legată de probabilitatea ca o eroare

din program să fie activată de un set specific de intrări. Fiabilitatea produselor software este caracteristica ce

exprimă poate cel mai bine particularităţile acestei industrii, dacă abordăm problema în comparaţie cu

fiabilitatea produselor hardware. Există abordări cantitative ale fiabilităţii, exprimate prin probabilitatea ca un

produs software să-şi îndeplinească funcţiunile cu anumite performanţe şi fără erori într-un interval de timp

şi în condiţii de exploatare date, precum şi abordări calitative ce privesc fiabilitatea ca o capacitate a

produsului software. Standardul ISO/IEC 9126 [ISO1], defineşte fiabilitatea ca un set de atribute care se

bazează pe capabilitatea produsului software de a-şi menţine nivelul de performanţă în condiţii şi pe o

perioadă de timp stabilite. Limitele fiabilităţii unui produs software se datorează erorilor din etapele de

formulare a cerinţelor, proiectare şi implementare. Căderile datorate acestor erori depind de modul şi

condiţiile în care este utilizat produsul. Corespunzător ciclului de viaţă al produsului software, putem

distinge o fiabilitate previzională sau proiectată, o fiabilitate experimentală şi o fiabilitate operaţională (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 utilizării produsului, de către un grup stabilit sau implicat de

utilizatori. Standardul dă termenului de utilizatori un înţeles foarte larg, incluzând operatori, utilizatori finali

şi indirecţi, precum şi toate categoriile de persoane care îşi desfăşoară activitatea dependent sau sub influenţa

utilizării produsului software respectiv.

Eficienţa produselor software este definită în [BAR03] ca o corelaţie optimă între consumul de resurse

al produsului şi complexitatea problemei de rezolvat. Tot în acest material se arată că eficienţa poate fi

exprimată prin introducerea noţiunii de output al produsului software, definită ca o relaţie între complexitatea

datelor iniţiale şi a rezultatelor finale. Standardul ISO/IEC 9126 [ISO1], defineşte eficienţa tot ca pe o

corelaţie, dar nu între consumul de resurse şi complexitatea problemei, ci ca un set de atribute bazate pe

relaţia dintre nivelul de performanţă al produsului software şi cantitatea de resurse utilizate, în anumite

condiţii stabilite. Spre deosebire de [BAR01], standardul [ISO1] lărgeşte mult categoria resurse consumate,

incluzând atât memoria, timpul de execuţie, precizia cât şi cantitatea de hârtie 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

modificările specificate în produsul software respectiv. Modificările includ corecţii, îmbunătăţiri sau

adaptări la modificări ale platformelor (de dezvoltare, ţintă, etc), modificări în cerinţe şi specificaţii

funcţionale. Conform [BAR03], un produs software este mentenabil în măsura în care permite o rapidă şi

uşoară actualizare astfel încât să poată fi utilizat în continuare în bune condiţii. Actualizările din această

definiţie sunt privite în sens mult mai restrâns. Ele referindu-se numai la operaţii la nivelul produsului

software, al modulelor, secvenţelor de instrucţiuni şi instrucţiunilor. Nivelul mentenabilităţii se poate stabili

pe baza datelor obţinute în etapele de proiectare, testare şi utilizare curentă. Evaluarea acestei caracteristici se

bazează pe datele obţinute indirect prin examinarea influenţei modificărilor asupra celorlalte caracteristici

de calitate, cum ar fi complexitatea, testabilitatea, modularitatea, etc. Un factor care determină obţinerea unei

mentenabilităţi corespunzătoare este corelarea strictă a nivelului de complexitate cu funcţia 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 direcţia transferării dintr-un mediu în altul. înţelegând prin mediu nu numai contextul

hardware şi/sau software, ci şi cadrul organizaţional, standardul ISO/IEC 9126 - [ISO1] - extinde

considerabil limitele cerinţelor impuse portabilitatăţii. Restrângând mult limitele, în [BARO3] portabilitatea

se defineşte 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, fără alte modificări ci şi dacă execuţia pe alte tipuri de sisteme de calcul necesită

modificări de mică anvergură şi un efort de programare mult mai mic decât cel cerut de rescrierea acestor

programe. Un aspect deosebit al acestei caracteristici este legat de portabilitatea compilatoarelor, de diferitele

facilităţi video şi audio oferite de sistemele de calcul şi folosite în programele de aplicaţie. Abordarea diferită

a acestei caracteristici de calitate, la sfârşitul anilor '90, este relevată şi de preocupările pentru crearea de

sisteme ieftine, care pot deveni staţii de lucru în mai multe tipuri de reţele, rulând programe dezvoltate pe

platforme ţintă diferite - UNIX, Windows, DOS, VMS - având în spate puterea reţelei globale - Internet.

Page 7: QM TI NoteCurs P-u Examen

7

Interoperabilitatea considerată de mai mulţi autori un atribut al calităţii, reprezintă, conform

[BARO3], capacitatea produsului software de cuplare cu alte produse. Acest atribut permite reutilizarea unor

programe pentru construirea unor aplicaţii complexe. Cuplarea se poate asigura direct sau folosind interfeţe.

Problema interfeţelor şi a bibliotecilor de funcţii prin care pot fi cuplate aplicaţii, a stat la baza dezvoltării

unor concepte, programe şi specificaţii deosebit de complexe. Exemple elocvente sunt specificaţiile Open

Database Connectivity, utilizate în aplicaţiile de baze de date, API-urile dezvoltate de Microsoft odată cu

sistemul Windows sau Object Linking and Embedding - încapsularea şi înlănţiurea obiectelor - set construit

folosind tehnica obiectelor, prin care obiecte construite de unele aplicaţii sunt accesibile şi altor aplicaţii.

Complexitatea este probabil atributul sau caracteristica de calitate pentru care s-au dezvoltat cele mai

multe sisteme de metrici şi care a fost studiată în corelaţie cu mai multe caracteristici, în special cu

fiabilitatea, mentenabilitatea, stabilitatea, etc. Acest atribut a fost abordat fie studiind codul sursă al

programelor, fie prin intermediul grafurilor asociate programelor, grafuri în care nodurile corespund

structurilor de control iar arcele arată fluxul execuţiei. Din prima categorie de abordări fac parte sistemele de

metrici Halstead şi combinaţii ale acestora - [BAR02], [TEO1] - iar din a doua categorie, metrica cea mai

reprezentativă este complexitatea ciclomatică, dezvoltată de T.McCabbe [MCC1]. în [MUN1] şi [RADI] se

propun noi metrici pentru măsurarea complexităţii, obţinute prin combinarea celor două categorii amintite,

utilizând metoda statistică a analizei factorilor. Elaborarea unor modele pertinente pentru studierea şi

predicţia complexităţii produselor software este importantă pentru programarea resurselor umane, materiale,

financiare şi de timp, necesare proiectării şi implementării programelor de complexităţi diferite. De

asemenea, complexitatea influenţează şi cheltuielile ulterioare punerii în funcţiune a produsului (post-

vânzare, service, asistenţă tehnică), precum şi eforturile de a dezvolta noi versiuni sau de a rescrie produsul şi

pe/pentru alte platforme.

Modele ale sistemelor caracteristicilor de calitate software Modelele cunoscute, ce apar în literatura de specialitate, valorifică experienţa câştigată în elaborarea

unor proiecte, şi, plecându-se de la anumite necesităţi practice ale aplicaţiilor şi de la un set iniţial de

caracteristici, prin rafinare, ordonare şi diminuarea redundanţelor, se ajunge la construirea unei arborescente

a caracteristicilor. Arborele respectiv are cel puţin două nivele, deosebindu-se o structură de nivel înalt care

înglobează caracteristici generale agregate şi o structură de nivel scăzut (elementar), care cuprinde

caracteristicile "primitive" (subcaracteristici, factori). Se porneşte de la ideea simplificatoare că toate

caracteristicile de nivel înalt se obţin prin agregarea caracteristicilor primitive. Descompunerea

caracteristicilor generale în caracteristici de nivel inferior (pentru care se mai folosesc şi alţi termeni: factori,

primitive, etc), este necesară deoarece astfel se pot urmări/cuantifica în procesul de elaborare, respectivele

caracteristici de calitate.

Caracteristicile de pe nivelele superioare se constituie în modelul calităţii, prin care se reflectă

scopurile urmărite în construirea calităţii produsului software şi la evaluarea generală a acestuia, iar cele de

pe nivelurile inferioare asigură fundamentarea controlului măsurii în care produsul posedă caracteristicile de

calitate respective şi punctul de plecare în elaborarea, adoptarea sau adecvarea sistemelor de metrici.

Pentru identificarea legăturilor se construiesc diagrame în care, prin arcele incidente, este reprezentată

relaţia "dependentă de", iar prin arcele descendente relaţia "determină pe". De exemplu, pentru fiabilitate, se

pot reprezenta relaţiile din figura 2.1. de mai jos.

Page 8: QM TI NoteCurs P-u Examen

8

Figura 2.1. Model al sistemului de caracteristici ale

calităţii

Independenţă hardware

Completitudine

Acurateţe

Consistenţă

Eficienţă hardware

Accesibilitate

Comunicativ

Structuralitate

Autodescriere

Conciziune

Claritate

Extensibilitate

Portabilitate

Utilitate

Utilitate

generală

Mentenabilitate

Fiabilitate

Eficienţă

Factori umani

Testabilitate

Uşor de înţeles

Modificabilitate

Comunicativ

În exemplul de mai sus, s-au luat în considerare un număr destul de mare de caracteristici de calitate

care vin în relaţie cu fiabilitatea şi, cu toate acestea, mai puteau fi găsite şi altele, cum ar fi recuperabilitatea

sau structuralitatea. Acest gen de abordare conduce însă la un model inaplicabil.

Maturitate

Acurateţe

Toleranţa la erori

Consistenţă

Complexitate

Corectitudine

Stabilitate

Integritate

Fiabilitate

Maturitate

Utilitate

Page 9: QM TI NoteCurs P-u Examen

9

De fapt, graful se construieşte din setul iniţial, limitat, de caracteristici - alese în funcţie de specificul

problemei, al prelucrării şi al specificaţiilor beneficiarilor - şi pe baza relaţiilor de precedenţă şi de

descendenţă, apoi se rafinează succesiv până 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 străinătate şi în ţară, şi

anume modelul Boehm (Anexa IA), modelul McCall (Anexa 1B), un model românesc elaborat la I.C.I.

Bucureşti (Anexa IC) şi modelul ISO/IEC statuat de standardul ISO 9126 (Anexa 1D), având unii parametrii

prezentaţi în tabelul de mai jos (tabelul 2.1).

Tabelul 2.1.

Modelul

Boehm

Modelul

McCall

Modelul

I.C.I.

Modelul

ISO 9126

Număr de caracteristici de

nivel înalt 10 11 6 6

Număr de caracteristici de

nivel scăzut 12 22 19 21

Număr total de caracterisitici 22 33 25 27

Număr de nivele în arbore 4 2 2 2

Caracteristicile de nivel scăzut

determină mai mult de o

caracteristică de nivel înalt ?

Da Da Nu Nu

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ă

atât portabilitatea cât şi fiabilitatea iar în cazul modelului McCall consistenţa determină corectitudinea,

fiabilitatea şi mentenabilitatea. In aceste cazuri, decompoziţia caracteristicilor de nivel superior în

caracteristici primitive, determină deplasarea interdependenţelor şi redundanţelor dintre caracteristicile

structurii de nivel înalt către structura de nivel inferior. Modelul McCall explicitează relaţiile 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ă, deşi nu se

poate spune că nu există interdependenţe "încrucişate" î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.

6. Metrici şi sisteme de metrici ale caracteristicilor de calitate software. Scalare,

clasificare şi evaluare conform standardului ISO/IEC 9126 Deşi modelul calităţii încorporează recunoaşterea obiectivelor relevante şi, implicit, a caracteristicilor

de calitate aferente, din toate perspectivele relevante (utilizator, inginer software, manager, vânzător, etc),

construirea unui sistem particularizat al caracteristicilor de calitate, nu reprezintă decât puntea către reala

măsurare şi evaluare, procese de egală importanţă în obţinerea calităţii dorite.

Conform [TRI3], pe baza unei corecte definiri a obiectivelor operaţionale ale părţilor implicate, trebuie

determinate metricile necesare pentru fiecare caracteristică sau factor (metrici "obiective", "consacrate", sau

cu caracter subiectiv). în [BAK1] se arată că pentru ca rezultatele să fie semnificative, măsurarea calităţii

produselor software cu ajutorul metricilor, trebuie să fie fundamentată din punct de vedere teoretic, iar

rezultatele empirice trebuie să fie obţinute printr-o bună proiectare a experimentării.

Teoria măsurătorilor prevede un cadru pentru caracterizarea numerică a proprietăţilor sau atributelor

intuitive ale obiectelor sau evenimentelor. Aplicarea criteriilor teoriei măsurătorilor la măsurarea calităţii

produselor software necesită identificarea şi/sau definirea:

− caracteisticilor, atributelor, produselor sau proceselor software;

− modelele formale sau abstracţiunile ce captează sau structurează aceste caracteristici sau

atribute;

− relaţiile importante, ordonările, ierarhizările existente între obiectele modelate, determinate de

atributele modelelor;

− maparea pe sisteme numerice, prezervând relaţiile de ordine. Această ultimă idee constituie

baza teoriei reprezentaţionale a măsurătorilor. Dacă toate criteriile de mai sus sunt satisfăcute,

autorii [BAK1] definesc rezultatul final al acestei mapări ca o măsură software. O mapare

arbitrara care nu satisface în mod necesar primele trei criterii, este definită ca o metrică.

Page 10: QM TI NoteCurs P-u Examen

10

Pentru a putea folosi măsurile software în predicţii şi planificări ale calităţii software, este necesar să

existe sau să fie definite:

− două sau mai multe măsuri ale caracteristicilor sau atributelor;

− o idee, o supoziţie sau chiar o teorie care pune în relaţie măsurile respective, necesară pentru

confirmarea sau infirmarea cauzalităţii;

− o demonstraţie empirică a teoriei respective.

În încercarea de structurare a măsurilor şi metricilor software din [BAK1], acestea sunt referite ca două

concepte separate: măsurile definite asupra unor caracteristici sau obiecte pe care le caracterizează numeric şi

sistemele de predicţie ce implică un model matematic şi anumite proceduri.

Pentru a putea fi operaţionalizate, metricile şi măsurile trebuiesc validate. Validarea măsurilor se

defineşte ca fiind procesul prin care se asigură că măsura reprezintă o caracterizare numerică adecvată şi

fidelă a unui anumit atribut. Prin validare se dovedeşte că măsura sau metrica respectivă este bine definită şi

consistentă. Validarea măsurilor (numită şi validare internă), vizează, luarea în considerare a modelelor

formale utilizate în captarea atributelor şi caracteristicilor.

Validarea sistemelor de predicţie reprezintă procesul empiric prin care se stabileşte acurateţea

sistemului respectiv într-un mediu dat, prin mijloace empirice (de exemplu comparând performanţele unui

model cu date punctuale brute, cunoscute dintr-un anumit mediu). Atât timp cât nu există o anumită ipoteză

despre capabilităţile predictive ale unor asemenea măsuri, 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 măsurii cu seturi de date, prin formule determinate iniţial, pe baza unei analize de

regresie. Validarea externă se distinge astfel de validarea internă efectuată iniţial pentru a arăta că măsura

respectivă măsoară efectiv un anumit atribut. Validarea externă a măsurii m este deci procesul prin care se

stabileşte o relaţie consistentă între m şi seturi de date empirice presupuse a măsura un anumit atribut.

Autorii articolului [BAK1] arată că, dată fiind slaba înţelegere (încă) a relaţiilor dintre produsele

software şi procese, validarea externă pare a fi extrem de ne-fiabilă. Cu toate acestea, specialiştii în domeniu

sunt gata să accepte această abordare a validării, atât timp cât măsurile propuse reuşesc să capteze înţelegerea

şi concepţiile intuitive asupra atributelor respective. Măsurile corecte pot fi dezvoltate când caracteristicile

sau atributele respective sunt definite ne-ambiguu, modelate corect şi inteligibile.

în [PFL1] se pune în legătură modelul maturitate/capabilitate elaborat la Software Engineering Institute

(S.E.I.), în S.U.A., cu utilizarea unor anumite tipuri de măsuri şi metrici. Astfel, modelul amintit, care descrie

un set de nivele de maturitate în care se încadrează procesele de dezvoltare software dintr-o organizaţie, este

folosit drept cadru de plasare a metricilor şi măsurilor software, pornindu-se de la ideea că numai când

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 Îmbunătăţirea procesului

prin feed-back

Referitoare la proces + feed-back pentru

modificarea procesului

4. Condus şi

controlat

Proces măsurat (cantitativ) Referitoare la proces + feed-back pentru

controlul procesului

3. Definit Proces definit,

instituţionalizat

Referitoare la produs

2. Repetabil Proces dependent de

individualităţi

Referitoare la proiect

1. Iniţial Abordare ad-hoc a

procesului de dezvoltare

Măsuri elementare

Pentru nivelul 1 se pot face măsurători elementare referitoare la dimensiunea produsului, efortul de

dezvoltare, pentru a determina un nivel estimativ al productivităţii. în nivelul 2 de maturitate nu sunt

disponibile măsurării activităţile care realizează transformarea intrărilor în ieşiri, astfel că, pe acest nivel pot

fi aplicate numai metrici referitoare la proiect. La un proces repetabil se poate măsura efortul necesar pentru

dezvoltarea unui sistem, durata unui proiect, dimensiunea cerinţelor, costul total al proiectului, etc. De

exemplu, se pot utiliza metricile:

numărul de linii de cod;

numărul de obiecte şi metode (în cazul POO);

luni-persoană de efort;

volumul schimbărilor în definirea cerinţelor;

Page 11: QM TI NoteCurs P-u Examen

11

anii de experienţă în domeniu, într-un anumit tip de aplicaţii, arhitecturi sau metode.

Al treilea nivel de maturitate a proceselor dintr-o organizaţie producătoare de software se numeşte

definit, deoarece activităţile sunt clar definite, cu puncte şi condiţii de intrare şi ieşire. Aceasta înseamnă că

se pot examina intrările şi ieşirile fiecărei activităţi funcţionale definite şi executate în timpul dezvoltării

produsului software. Această caracteristică permite măsurarea produselor intermediare.

Metricile recomandate în [PFL1] pentru această etapă sunt:

complexitatea cerinţelor, măsurată prin numărul de acţiuni şi obiecte distincte referite în

cerinţe;

complexitatea proiectării, măsurată prin numărul de module proiectate, complexitatea

proiectării McCabe;

complexitatea testării măsurată prin numărul de căi de test, numărul de obiecte de

interfaţă testate;

numărul de defecte descoperite, numărul de defecte descoperite per unitate, modul, etapă,

activitate (densitatea defectelor), densitatea defectelor pentru fiecare produs intermediar;

numărul de pagini de documentaţie intermediară, numărul de pagini de documentaţie

pentru produsul final.

Procesul condus şi controlat ("managed process") de pe nivelul patru de maturitate oferă posibilitatea

utilizării unor informaţii din activităţi ale dezvoltării anterioare procesului curent (de exemplu problemele

descoperite în etapa de proiectare, testare, etc) ca feed-back pentru îmbunătăţirea activităţilor din aval. De

fapt, într-un asemenea tip de proces feed-back-ul determină modificarea desfăşurării resurselor, activităţile de

bază rămânând 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 următoarelor tipuri de date:

date referitoare la modelul de proces (de tip cascadă, prototipizare);

volumul obiectelor proiectate şi realizate pentru a fi reutilizate, în ce măsură produsul este

proiectat pentru reutilizare (cerinţe, proiecte de module, planuri de test, cod);

volumul reutilizării la producere, în ce măsură proiectul reutilizează componente

de la alte proiecte;

identificarea defectelor, cum şi unde sunt descoperite defectele (în timpul revizuirii

cerinţelor, proiectelor, inspecţiilor pe cod, în fazele de testare);

utilizarea managementului configuraţiei: este impusă procesului de dezvoltare o

schemă de management al configuraţiei? Managementul configuraţiei şi controlul

muncii de modificare permit managementului de proiect exercitarea unui control mai

eficace al procesului de dezvoltare? Managementul configuraţiei determină şi o evaluare a

impactului alterărilor şi modificărilor în activităţi ş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 relaţii clare dintre caracteristicile produsului şi variabilele ce caracterizează

procesul de dezvoltare ajută la evaluarea măsurii în care procesul sau activităţile acestuia corespund

obiectivelor de calitate şi productivitate ale organizaţiei.

Un proces optimizat este ultimul nivel de maturitate din cadrul modelului. în acest stadiu, măsurile şi

metricile sunt utilizate pentru modificarea şi îmbunătăţirea procesului. Modificările procesului pot afecta atât

organizaţia cât şi procesul în desfăşurare. De exemplu, în cadrul acestui tip de proces, dacă metricile indică,

în timpul activităţilor de definire şi proiectare a cerinţelor, un grad ridicat de incertitudine, tipul de proces

poate fi modificat din cascadă în prototipizare, pe baza acestor informaţii. Astfel, un proces optimizat ar oferi

maximum de flexibilitate dezvoltării 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

organizaţie producătoare de software.

Metricile sunt folositoare în condiţiile în care sunt implementate într-o secvenţă bine fundamentată de

activităţi. Paşii 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;

Page 12: QM TI NoteCurs P-u Examen

12

7 - evaluarea costului şi a programului proiectului;

8 - evaluarea productivităţii şi a calităţii;

9 - formarea unei baze pentru estimări viitoare.

Scalare, clasificare şi evaluare conform standardului ISO/IEC 9126 După cum se autodefineşte, standardul ISO 9126 [ISO1], este aplicabil în definirea cerinţelor de

calitate ale produselor software şi în evaluarea calităţii produselor software, ceea ce include:

− definirea cerinţelor de calitate ale produsului software;

− evaluarea specificaţiilor pentru a asigura îndeplinirea cerinţelor de calitate în timpul procesului

dezvoltării produsului software;

− descrierea facilităţilor şi atributelor produselor software (de exemplu în manuale ale

utilizatorilor);

− evaluarea, înainte de livrare, a produselor software dezvoltate;

− evaluarea produselor software înainte de acceptare.

în anexa B a standardului, în mod edificator, se prezintă şi cerinţele care au dus la alegerea

caracteristicilor descrise în acest standard, şi anume:

− să acopere împreună toate aspectele calităţii software, aşa cum rezultă din definirea calităţii în

standardul [ISO3];

− să descrie calitatea produsului cu un minim de suprapunere;

− să fie cât mai aproape de terminologia stabilită - consacrată;

− să formeze un set de şase până la opt caracteristici din raţiuni de claritate şi uşurinţă în lucrul cu

modelul;

− să poată fi identificate zone de atribute ale calităţii produselor software pentru rafinări viitoare.

Rafinarea şi dezvoltarea în continuare a celor şase caracteristici de bază oferite de standard se face în

funcţie de tipul produsului software. Deşi nu există o clasificare unanim acceptată a acestora, standardul

împarte produsele software în. trei clase: sisteme software cu misiuni critice (pentru care fiabilitatea este

esenţială); sisteme software cu criticitate în timp real (pentru care eficienţa este cea mai importantă

caracteristică) şi sisteme software interactive orientate către utilizatori (pentru care utilizabilitatea este cea

mai importantă).

În Anexa 2 se prezintă modelul procesului de evaluare propus de standardul ISO 9126 [ISO1], proces

ce presupune trei etape: definirea cerinţelor de calitate, pregătirea evaluării şi procedura de evaluare. Etapa

de pregătire a evaluării cuprinde activităţile de selecţie a metricilor, definirea nivelelor de clasificare şi

definirea criteriilor de evaluare, iar etapa de evaluare cuprinde activităţile de măsurare, de clasificare şi de

evaluare.

Conform standardului, acest proces poate fi aplicat în fiecare fază a ciclului de viaţă, pentru fiecare

componentă a produsului software.

Standardul ISO/IEC 9126 consacră în cadrul modelului general al procesului de evaluare, o etapă

distinctă metricilor şi măsurătorilor. Atât acest standard cât şi standardul ISO 9000-3 statuează că,

deocamdată, nu există metrici universal acceptate. Astfel, modelul de proces de evaluare oferă un cadru

extrem de larg şi general pentru scalare şi clasificare.

Maniera în care se definesc caracteristicile de calitate - atât în general cât şi în standardul analizat - nu

permite măsurarea lor directă. De aici apare necesitatea decompoziţiei acestora în caracteristici de nivel mai

scăzut (subcaracteristici, atribute, factori), cărora li se pot asocia metrici care să le reflecte cât mai fidel

nivelul.

Metrica este definită în cadrul standardului ISO/IEC 9126 [ISO1] ca fiind orice proprietate

cuantificabilă a produselor software sau orice interacţiune cuantificabilă a produsului software cu mediul,

care poate fi corelată cu o caracteristică de calitate - direct sau printr-o subcaracteristică/factor/atribut.

Metricile diferă în funcţie de mediu şi de faza procesului de dezvoltare software în care sunt utilizate.

Standardul recomandă ca metricile utilizate să fie corelate cu punctul de vedere al utilizatorului, acesta fiind

crucial.

Page 13: QM TI NoteCurs P-u Examen

13

Figura 2.2. Scala de valori ale metricilor, divizată în regiuni corespunzătoare diferitelor grade de

satisfacţie

Rezultatul măsurătorilor, respectiv valorile măsurate ale metricilor, sunt mapate pe o scală. Valoarea în

sine nu arată un anumit nivel de satisfacţie, aspectul cantitativ trebuind să fie proiectat în continuare într-o

clasificare de ordin calitativ. Ca atare, scala de valori este divizată în regiuni corespunzătoare diferitelor

grade de satisfacţie (a se vedea figura 2.2).

Atât timp cât 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 calităţii unui produs software, rezultatele evaluării diferitelor caracteristici

trebuie să fie agregate, pe baza unor criterii de evaluare. Evaluatorul trebuie să pregătească o procedură,

utilizând de exemplu, tabele de decizie sau medii ponderate (metoda punctajului) [NICI]. Metoda punctajului

acordă un număr de puncte caracteristicilor de calitate. Calitatea produsului este superioară când numărul de

puncte acordat este mare. Coeficientul de apreciere prin punctaj (Kp) se determină astfel:

100

pqK p

unde q este ponderea fiecărei caracteristici de calitate iar p numărul de puncte acordat caracteristicii

respective.

Procedura mai include, de obicei, pe lângă valorile măsurate ale metricilor, şi alte aspecte cum ar fi

durata sau costul, care contribuie la evaluarea calităţii unui produs software într-un mediu particular.

Nivelul calităţii 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

Suficient

Insuficient

Bun

Excelent

valori

măsurate nivel de

clasificare

Satisfăcător

Nesatisfăcător

Nivelul calitatii pentru varianta 1 a TI (indicii particulari)

Nivelul calitatii pentru varianta 1 a TI (indicii particulari)

Page 14: QM TI NoteCurs P-u Examen

14

Nivelul calitatii pentru varianta 2 a TI (indicii particulari)

Page 15: QM TI NoteCurs P-u Examen

15

Ponderea fiecărei caracteristici de calitate

Coeficientul de apreciere a calitatii generale a TI pentru variantele 1 şi 2 ale TI

Page 16: QM TI NoteCurs P-u Examen

16

7. Abordarea orientată pe produs şi controlul dezvoltării software Considerarea calităţii ca o mărime ce poate fi măsurată exact, este principala caracteristică a abordării

bazate pe produs. Rezultă de aici o definire a calităţii ca un ansamblu de caracteristici, diferenţele d intre

caracteristicile de calitate ale produselor constituindu-se în diferenţe de ordin calitativ între acestea. Conform

[OLA1], o asemenea abordare se regăseşte, în special, în lucrările de teorie economică şi de calimetrie:

stabilirea unei corelaţii stricte între variaţia caracteristicilor şi nivelul calităţii produselor, a favorizat

introducerea modelării matematice pentru estimarea acestui nivel. Sistemele calităţii construite pe baza

abordării calităţii orientate pe produs, denumite şi sisteme de calitate tradiţionale, determină concentrarea

eforturilor organizaţiilor producătoare de software asupra minimizării insatisfacţiei utilizatorului. Aceste

sisteme se focalizează asupra detectării şi corectării defectelor, utilizând intensiv testările, auditurile şi

inspecţiile. Datele rezultate din măsurări statistice, metrici, testări, audituri şi inspecţii sunt înregistrate şi

analizate în vederea îmbunătăţirilor ulterioare. Cu toate acestea, dezvoltarea de software în sistem tradiţional

rămâne lipsită de coerenţă, datorită, în principal, specificului acestei industrii.

"Un sistem stabil este un sistem a cărui performanţă este previzibilă. Un sistem stabil se atinge prin

eliminarea, una câte una, a cauzelor ce produc disfuncţiile, detectate cel mai bine prin semnalele indicatorilor

statistici" - W. Edwards Deming. Adesea, abordarea problemei calităţii prin prisma produsului se confundă

prea mult cu abordarea pur statistică a problemei calităţii. Atât concepţiile lui P. Crosby cât şi cele ale lui E.

Deming sunt derivate din experienţa acestora în studiul calităţii în industria manufacturieră. Dezvoltarea de

software nu este o industrie de tip manufacturier şi de aceea "semnalele indicatorilor statistici" ale lui

Deming, deşi necesare, nu sunt suficiente pentru control, deoarece nu există suficientă repetiţie (deci

stabilitate) în procesul de dezvoltare de software, pentru ca indicatorii statistici comuni să poată fi

semnificativi. Cu alte cuvinte, în industria de software, fenomenele de masă sunt aproape inexistente. De

aceea, pentru caracterizarea reală a calităţii produsului software, este necesară îmbinarea ideilor şi practicilor

din statistică cu cele din ingineria şi managementul proiectelor.

Prin natura sa produsul software nu este vizibil în sensul obişnuit al cuvântului (nu poate fi perceput

vizual, auditiv, kinestetic, olfactiv, gustativ, etc), de aceea există un mare număr de instrumente proiectate

pentru a face software-ul vizibil. Aceste instrumente şi proceduri sunt utilizate pentru a face vizibile:

logica software - listinguri ale codului sursă, scheme logice şi o mare varietate de diagrame;

calitatea software - se reprezintă sau se calculează valorile unor metrici ce exprimă nivele ale unor

caracteristici de calitate, sau ale calităţii globale (de exemplu graficul erorilor pe module, complexitatea

ciclomatică a modulelor, etc);

utilizarea unor modalităţi de facilitare a comunicaţiei -reprezentarea informaţiilor despre logica

software sau calitatea software se face în mod particular pentru fiecare tip de actor participant la realizarea

produsului. Astfel, informaţiile despre software vor fi mai bine înţelese de programatori dacă se vor

exprima sub forma schemelor logice, iar aceleaşi informaţii vor fi mai bine asimilate de manageri dacă vor

fi prezentate sub formă de diagrame;

controlul distorsiunilor şi redundanţei.

În ingineria software, indicatori statistici precum numărul mediu de erori per modul reprezintă numai

primul pas al procesului de eliminare a cauzelor disfuncţiilor. în acest caz, managerii nu pot înţelege exact

semnificaţia indicatorilor statistici fără consultarea personalului care cunoaşte structura codului programelor,

aşa cum simpli programatori, care lucrează la anumite părţi ale produsului, nu pot percepe în totalitate

implicaţia erorilor din cod, fără informaţii despre consecinţele acestor erori asupra întregului produs

software. De exemplu, alte reprezentări (mai apropiate de viziunea managerială) ale graficului numărului

mediu de erori per modul, pot fi: costul remedierii erorilor per modul sau timpul consumat pentru remedierea

erorilor per modul. Deci, managementul calităţii nu poate fi eficient decât dacă informaţiile despre software

sunt comunicate şi urmărite atât în dinamica lor cât şi sub diferitele aspecte (caracteristici) sub care se

abordează calitatea software. Aşa cum la construcţia unei case sunt necesare mai multe planuri - planul de

structură, planul instalaţiei electrice, planul instalaţiei de apă şi canalizare, planul de încadrare în zonă, etc. -

la construirea produsului software, şi, în mod particular a calităţii acestuia, sunt necesare informaţii despre

fiecare element implicat: logica programelor, schema fluxului de date, schema bazei de date, rezultatele

testării, etc. nu atât la un moment dat, ci aşa cum au evoluat ele, în dinamica procesului de dezvoltare. Orice

element care duce la distorsionarea, indisponibilitatea, neconsemnarea sau la nereprezentarea adecvată a

acestor informaţii împiedică organizaţia producătoare de software să atingă un nivel superior de maturitate şi,

implicit, un nivel superior de productivitate şi calitate a produselor sale. E. Deming observă că oamenii care

nu-şi pot reprezenta şi vizualiza produsul, proiectul sau activitatea la care lucrează, nu pot avea contribuţii

reale la îmbunătăţirea calităţii.

Page 17: QM TI NoteCurs P-u Examen

17

8. Abordarea managerială orientată pe proces. Ciclu de viaţă - modele şi

structuri După cum s-a prezentat şi în capitolul anterior, la Software Engineering Institute - S.U.A., a fost

dezvoltat un model ce descrie tipuri esenţiale de procese de dezvoltare software, clasificând organizaţiile

producătoare în funcţie de caracteristicile particulare ale procesului lor de producţie/dezvoltare. In [WEI2],

G. Weinberg arată că, pentru industria de software, nivelele de maturitate prezentate în modelul CMM/SEI,

reprezintă modele socio-culturale ale acestei ramuri de activitate.

G. Weinberg adaugă la modelele cuprinse în CMM/SEI şi nivelul, sau modelul, "0". Acest model nu

este un model profesional (industrial). Este caracterizat în [WEI2] prin lipsa separaţiei dintre producătorul şi

utilizatorul de software ("economia naturală"). Nu există client, manager sau procese specificate, iar cei ce

dezvoltă software în acest model nu sunt conştienţi că execută şi participă la un proces. Motivaţia lor este

aceea că nimeni nu poate să le ofere ceea ce doresc sau să le înţeleagă cerinţele. Actorii acestui model'sunt

programatorii aflaţi în postura magică a unui creator divin, omniscient şi omnipotent. Cu toate că acest model

are meritul de a garanta satisfacţia utilizatorului (deoarece este identic cu producătorul), nu poate fi luat în

considerare, deoarece nu înseamnă "industrie" software.

Industria de software înseamnă proiectarea unor aplicaţii de complexitate şi dimensiuni mari,

dezvoltate în cadrul unor echipe şi, de cele mai multe ori, în organizaţii specializate, urmând etape bine

stabilite [SPI1]. Conform [SPI1], aceste etape se referă la specificarea cerinţelor utilizatorului, analizarea

acestora, proiectarea de detaliu, implementarea, testarea şi întreţinerea/îmbunătăţirea produsului creat, până

la scoaterea sa din utilizare (figura 3.1)- Această succesiune de procese defineşte ciclul de viaţă al software şi

constituie obiectul ingineriei programării" [SPI1].

Software se crează ca răspuns dat unui set de nevoi la un moment dat, şi odată cu evoluţia acestui set

de nevoi şi produsul software se maturizează, atât în perioada de dezvoltare cât şi în perioadele de

operare/mentenanţă [BRY1]. Figura 3.2. ilustrează un alt model al ciclului de viaţă al software, propus în

[BRY1].

Î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 următoare produsul software există sub formă de cod şi sub formă de

documentaţie. În aceste ultime stadii produsul este în formă executabilă trebuind să îndeplinească funcţiile

specificate în cerinţe.

Specificare

cerinţe

Analiză

cerinţe

Implementare

Testare

Instalarea

Întreţinerea

Figura 3.1. Ciclul de viaţă al software (modelul 1)

Page 18: QM TI NoteCurs P-u Examen

18

Ciclul de viaţă al software

Analiză

cerinţe

ConceptProiectare

Preliminară

de detaliuImplementare

Testare

Instalare

Întreţinere

Specificare

cerinţe

Î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 următoare produsul

software există sub formă de cod şi sub formă de documentaţie.

Software se crează ca răspuns

dat unui set de nevoi la un

moment dat, şi odată cu evoluţia

acestui set de nevoi şi produsul

software se maturizează, atât în

perioada de dezvoltare cât şi în

perioadele de operare/

mentenanţă

Figura 3.2. Etapele ciclului de viaţă al software

CERINŢE

PENTRU

SOFTWARE

CONCEPT

PROIECTARE

PRELIMINARĂ

PROIECTARE

DETALIATĂ

PROTOTIP

(PRIMA

FORMĂ)

PRODUS

SOFTWARE

OPERAŢIONAL

Figura 3.3. Ciclul de viaţă (modelul 2)

Desigur; modelele prezentate sunt modele ideale. În realitate, produsul software nu trece fără opriri şi

revizuiri de la o etapă la alta (datorită unor evenimente de natură variată - modificarea cerinţelor,

descoperirea unor erori de proiectare, etc.). Ca urmare, activitatea de mentenanţă se aplică în toate stadiile

modelului.

Problema cea mai importantă de rezolvat în aceste situaţii o reprezintă controlabilitatea proceselor

implicate de ciclul de viaţă, având în vedere restricţiile impuse acestuia (timp, resurse). Chiar şi în cazul celor

mai clare modele ce posedă un înalt nivel de acurateţe, controlarea proceselor nu poate fi făcută cu succes,

datorită perturbaţiilor aleatoare produse de intrările proiectului (resurse, date, situaţii, poziţii ale actorilor

implicaţi şi chiar stări de spirit, etc.). În plus, faţă de modelul de dezvoltare, controlabilitatea proceselor

presupune existenţa unor modele predictive asupra modului în care diferitele intervenţii manageriale pot

afecta sistemul sub control. După părerea lui G.Weinberg [WEI2], cel mai mare câştig adus în industria de

software de modelul 2 (nivelul de maturitate caracterizat în CMM/SEI prin "repetabilitate, rutină") sunt

planurile de dezvoltare a produsului software ale organizaţiilor producătoare. Aceste organizaţii au făcut

eforturi majore pentru a-şi construi standarde interne, a prescrie şi documenta secvenţe de

Acţiuni menite să controleze dezvoltarea de software. Metodele tipice prescriu o serie de paşi ideali de

urmat, începând, de obicei, cu un studiu de fezabilitate, specificarea cerinţelor şi proiectarea de nivel înalt,

urmate apoi de proiectarea de detaliu, codificare, testarea pe unităţi, testarea întregului sistem, testarea "beta"

şi versiunea finală ("product release"). În Figura 3.4. se redă modelul de procese în cascadă din [WEI2], din

Page 19: QM TI NoteCurs P-u Examen

19

clasa cărora fac parte şi modelele prezentate mai sus. Modelul original se traduce printr-un plan strict

secvenţial, având reprezentate săgeţi unidirecţionale între noduri.

Cerinţe

de sistem

Specificaţii

cerinţe

Analiză

Proiectarea

programelor

Codificare

Testare

Operaţionalizare

Figura 3.4. Modelul de procese în cascadă

În spiritul acestui tip de modele, s-au elaborat metodologii, cum este cea dezvoltată în ţara noastră, la

I.C.I. Bucureşti, în 1982, şi preluată în [D0D1]. Etapele acestei metodologii sunt prezentate, pe scurt, în

Anexa 4.

În scurt timp, au început să apară modificări ale modelului proceselor în cascadă, constând în bucle de

feedback, modificări ce reprezintă recunoaşterea faptului că un model pur liniar este o descriere inadecvată a

ceea ce se întâmplă în realitate în dezvoltarea de software. Modificările iniţiale apărute sunt prezentate în

Figura 3.5.

Specificaţii

cerinţe

Analiză

Proiectarea

programelor

Codificare

Testare

Operaţionalizare

Cerinţe

de sistem

Modelul proceselor în cascadă, constâ în bucle

de feedback, modificări ce reprezintă

recunoaşterea faptului că un model pur liniar

este o descriere inadecvată a ceea ce se

întâmplă în realitate.

Bucle de feedback în două zone: de la

proiectarea programelor la specificarea

cerinţelor şi de la testare la proiectarea

programelor.

Figura 3.5. Bucle de feedback în modelul proceselor în cascadă.

Asumpţiile implicite sau explicite luate în calcul la realizarea metodologiilor liniare sunt:

− nu vor fi făcute greşeli;

− dacă se vor face greşeli, acestea nu vor fi de amploare;

− părţile responsabile vor şti, cu certitudine, cum să corecteze micile greşeli.

Pe această bază, în [WEI2], metodologiile secvenţiale se definesc ca modelând procese lineare,

suplimentate prin feedback-uri implicite. Odată cu creşterea dimensiunii şi complexităţii proiectelor

efectuarea micilor corecţii instinctive nu mai poate fi suficientă.

Modificările modelului, surprinse în Figura 3.5, vizează introducerea unor bucle de feedback în două

zone: de la proiectarea programelor la specificarea cerinţelor şi de la testare la proiectarea programelor. Dar

reexaminarea, modificarea sau chiar refacerea specificaţiilor sau a proiectelor programelor, pe lângă faptul că

este costisitoare, presupune perturbarea şi mai puternică a întregului eşafodaj al realităţii proceselor de

Page 20: QM TI NoteCurs P-u Examen

20

producţie, ceea ce face ca şi acest model să fie inaplicabil. în plus, metodologia nu prevede în nici un sens ce

informaţii 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ă, dând atenţia cuvenită micilor deviaţii care apar în procesul de dezvoltare, de la

o etapă la alta, se acţionează mai devreme şi deci mai puţin, Humphrey Watts introduce ideea celulelor

unitare de bază (basic unit cells) din care se compune un proces mai mare. Fiecare din aceste celule este

prevăzut cu buclă de flux de feedback ce provine de la celulele ulterioare şi merge la celulele anterioare.

Minimizând aceste celule, nonlinearitatea este ideal minimizată (Figura 3.6).

Input Entry

N

Task Exit

Output

Out

In

Figura 3.6. Celulele unitare de bază în procesul de dezvoltare

În conjuncţie cu celulele de bază ale lui W. Humphrey, se utilizează "Ciclul evolutiv de livrare" al lui

Gilb. Conform acestui model, munca se desfăşoară în micro-proiecte, buclele de feedback neputând creşte

prea mult. Maximul admis al buclei este de la un micro-proiect la altul (Figura 3.7)

Feedback

Feedback

Micro-proiect

Figura 3.7. Maximul admis al buclei de feedback

Atât celulele de bază cât şi micro-proiectele, încearcă să rezolve problema legăturilor inverse, dar se

focalizează numai asupra produsului care este în curs de dezvoltare. Pe legătura inversă circulă numai

informaţii despre produs (rezultate ale unor metrici, ale inspecţiilor asupra produsului sau ale auditurilor pe

produs), şi nici un fel de informaţii despre proces, în general. Pentru o conducere efectivă şi eficientă, un

manager trebuie să aibă mult mai multe informaţii şi mult mai devreme în timp, informaţii pe care, singur

produsul, nu le poate furniza. O viziune mai completă asupra îmbunătăţirii calităţii software şi a

productivităţii, o oferă abordarea procesuală (Deming). Un program de îmbunătăţire ideal combină orientarea

bazată pe proces cu ideea îmbunătăţirilor mici dar continue, pentru a produce cu succes modificări,

menţinând instabilitatea la un nivel minim.

În vederea eliminării bulversărilor ciclului de dezvoltare, generate îndeosebi de modificări, clarificări

sau revizuiri ale cerinţelor beneficiarilor de software, s-a dezvoltat un nou model al proceselor, bazat pe

proprietăţile noilor instrumente şi platforme de dezvoltare, care permit dezvoltarea relativ rapidă a "faţadei"

Evaluarea rezultatelor

Livrarea către un utilizator real

Construirea etapei planificate

Ingineria etapei curente

(atribute, soluţii, sub-etape)

Schiţă de plan de evoluţie

Arhitectura globală deschisă

Stabilirea obiectivelor de perspectivă

Page 21: QM TI NoteCurs P-u Examen

21

unei aplicaţii incomplete (interfaţa), asupra căreia beneficiarul proiectului este chemat să-şi exprime punctele

de vedere. Prototipizarea, bazată pe un schelet de aplicaţie (prototip), deşi este eficientă pentru aplicaţii de

gestiune de date (sisteme de gestiune de baze de date, subsisteme "front office" pentru culegere de date, etc),

poate fi mai puţin eficientă în cazul aplicaţiilor de dimensiuni şi complexitate mare. Aceasta fie datorită

costurilor considerabile ale dezvoltării unor asemenea prototipuri, care vor influenţa costurile totale ale

proiectului, fie datorită complexităţii construirii şi testării prototipului însuşi. Prototipizarea rămâne totuşi o

metodă eficientă de aplicat în cazul etapelor procesului de dezvoltare. Astfel, pentru fiecare produs software

rezultat în urma fiecărei etape din cadrul procesului de dezvoltare (specificaţii, documentaţii, cod), în funcţie

de instrumentele automate de care se dispune şi de eficienţa economică, se poate elabora mai întâi o variantă

prototip, urmând ca, în cadrul etapei, aceasta să fie rafinată şi completată iterativ.

Atât timp cât aceste modele ale ciclului de viaţă sunt aproximări, nici unul nu poate fi perfect, dar

trebuie să aibe cel puţin calitatea de a fi credibile. Aşa cum se arată şi în [WEI2], problema principală a

modelelor, ciclului de viaţă rămâne neliniaritatea, şi, uneori, chiar iterativitatea (conexiunile inverse, repetate

sau nu). O altă soluţie oferită acestei probleme este aceea de a corecta şi completa modelul ciclului de viaţă

cu un alt tip de modele - modelele intervenţiilor. Aceste modele pot ajuta atât la înţelegerea a ceea ce nu se

poate controla, cât şi la formarea unei imagini corecte asupra efectelor unor intervenţii 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ă

luăm în considerare modelul ciclului de viaţă tip cascadă (Figura 3.1.3), se poate face următoarea afirmaţie:

Dacă s-a terminat etapa proiectării programelor, şi am executat etapa de codificare, următoarea

etapă va fi testarea, etapă ce va duce produsul software mai aproape de stadiul operaţional.

Având î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 operaţional, şi

anume:

1. fie să fie trimis în stadiul "Verificare cerinţe" (de fapt reverificare cerinţe), aşa cum sugerează

modelul (şi, probabil, metodologia de lucru);

2. fie să fie într-un stadiu nemenţionat în model (şi în nici o metodologie), într-un stadiu mai

mult sau mai puţin formal, în care:

a) numărul şi complexitatea dificultăţilor apărute în etapa de codificare este foarte mare (de

nedepăşit);

b) participanţii la proiect manifestă o încredere nejustificată în capacitatea echipelor lor de

dezvoltare de a soluţiona problemele apărute;

c) conducerea organizaţiei crede, în mod eronat, că proiectul este foarte aproape de

terminare;

d) unul sau mai mulţi programatori de bază sunt epuizaţi din cauza muncii suplimentare,

sau pur şi simplu au părăsit organizaţia, sau manifestă un puternic sentiment de frustrare,

din cauze diferite (familie, nemulţumiri de ordin profesional, salariale, eţc), fapt ce ce

afectează serios munca;

e) un programator şi un şef au devenit inamici de neîmpăcat.

În general, personalul implicat în dezvoltarea de software, (oameni cu pregătire de tip exact), şi în

special conducerea, sunt poate prea obişnuiţi cu metodologiile, nefiind capabili să prezică, să înţeleagă şi să

depăşească cu succes, pentru toţi actorii participanţi, efecte negative care nu sunt bazate în mod direct pe

metodologiile elaborate de ei.

Continuând 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

asociate cu etape din cadrul modelului/metodologiei. în [WEI2] se prezintă un model de diagramă cauză-

efect în cazul în care cauza erorilor apărute poate fi intensitatea frustrărilor (Figura 3.8).

Figura 3.8. Model de diagramă “cauză-efect”

Specificaţii

cerinţe

Analiză

Proiectarea

programelor

Codificare

Testare

Operaţionalizare

Cerinţe

de sistem

Erori în cod

Intensitatea

frustrărilor

Erori în etapa

de testare

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 nu pot fi

asociate cu etape din cadrul modelului/metodologiei.

În schemă un model de diagramă cauză-efect în

cazul în care cauza erorilor apărute poate fi

intensitatea frustrărilor

Page 22: QM TI NoteCurs P-u Examen

22

Efecte precum erori în cod pot avea originea în oricare din etapele modelului/metodologiei, precum şi

alte cauze nemenţionate (un programator care lucrează la alt proiect corupe, din greşeală, codul sursă). De

asemenea, variabile precum intensitatea frustrărilor pot fi influenţate de nenumăraţi 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, experienţa căpătată de membrii echipei de dezvoltare, relaţiile umane şi profesionale dintre membri

echipei, precum şi cele dintre acestea şi conducătorii proiectului, experienţa personală căpătată de fiecare şi

de echipă în ansamblu, încrederea în manageri, etc). Cele mai multe metodologii sunt focalizate asupra

produsului, astfel încât nu menţionează nici un alt produs al procesului care nu este direct legat de calitatea

produsului software final rezultat, de costul sau programul proiectului.

9. Gestiunea construirii calităţii software

Pentru gestiunea construirii calităţii software, sunt utilizate ca instrumente de lucru diagramele de

proiect, diagrame ce punctează fiecare proces parcurs, în curs, în întârziere, în impas, furnizând imagini de

stadiu sau de ansamblu pertinente asupra sistemului de dezvoltare de software. Aceste diagrame se realizează

cu ajutorul schemelor PERT, Gantt sau PPPP (Public Project Progress Poster). în [WEI1], G.Weinberg

punctează dezavantajele primelor două metode (PERT şi Gantt) când sunt aplicate în gestiunea proiectelor de

dezvoltare de software. Astfel, aceste tipuri de diagrame arată numai procesele, omiţând două lucruri:

1. condiţiile esenţiale care trebuie să fie îndeplinite pentru ca un proces să fie parcurs cu succes, cum ar

fi:

cerinţele documentate, care reprezintă un standard de măsurare pentru revizii şi inspecţii;

resursele umane implicate în proces, pregătirea şi experienţa lor;

activităţile obligatorii care trebuie îndeplinite în procesele anterioare, fără de care procesul

prezent nu poate fi dus la îndeplinire;

resursele software şi hardware de care depinde procesul;

adecvarea spaţiului de lucru;

fondurile prevăzute în buget pentru procesul prezent.

2. reviziile şi inspecţiile, care servesc la măsurarea calităţii produsului software rezultat în

urma procesului.

În diagramele PPPP, fiecare proces este reprezentat printr-un dreptunghi împărţit în trei părţi: condiţiile

necesare, procesul în sine şi revizia (Figura 3.1) în rubricile din cadrul dreptungiului poate fi cuprinsă

descrierea succintă sau amănunţită a fiecăreia.

Condiţii necesare

procesului N Procesul N

Revizia (inspecţia)

procesului N

Figura 3.11. Diagramele PPPP (Public Project Progress Poster)

Fără reprezentarea reviziilor şi inspecţiilor aferente procesului, actorii implicaţi uită adesea că produsul

software (intermediar sau final) rezultat în urma procesului nu este de fapt un produs, ci un produs candidat,

care devine produs doar după completarea reviziei prin care măsurătorile făcute sunt comparate favorabil cu

cerinţele documentate, parte a condiţiilor necesare desfăşurării procesului. Acest mod de reprezentare

determină simplificarea diagramei, prin faptul că nu mai este necesar să fie reprezentate absolut toate

legăturile inverse (legăturile inverse dintre proces şi revizia sau inspectarea sa fiind implicite). Dacă produsul

software rezultat în urma procesului a trecut cu succes de revizie, rubrica reviziei este colorată cu verde

(Figura 3.12.a), dacă în urma reviziei sunt de efectuat modificări minore, rubrica reviziei este colorată cu

galben şi se adaugă o nouă rubrică pentru proiect (Figura 3.12,b). în situaţia în care se constată, în urma

reviziei, că produsului trebuie să-i fie făcute modificări majore, rubrica reviziei se colorează în roşu şi se

adaugă o nouă rubrică pentru produs şi pentru revizie (Figura 3.12,c). Dacă, în urma reviziei se constată că

produsul trebuie refăcut în întregime, rubrica reviziei se colorează în negru, iar dreptunghiul se completează

cu o rubrică pentru condiţiile necesare, una pentru proces şi una pentru revizie (Figura 3.12, d)

Page 23: QM TI NoteCurs P-u Examen

23

Diagrama PPPP va fi actualizată cel puţin săptămânal. Fiecare dreptunghi corespunzător unui proces va

fi aranjat pe o scală a timpului, corespunzător programului proiectului, pentru a se putea urmări şi încadrarea

î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 sunt reprezentate datele limită de terminare a proceselor respective. După cum se

poate observa

din exemplul

de mai sus,

procesul de

elaborare a

planurilor de

testare s-a

realizat la

timp, pe când

procesul de

elaborare a

testelor este în

întârziere.

Procesele care nu au început să fie executate la data stabilită în grafic sunt reprezentate în diagrama

PPPP lăsând o urmă neagră în urmă ("dâră"), în figura 3.14. se prezintă un exemplu, conform căruia 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 modificări însemnate în organizaţia producătoare de software, din mai multe motive. în

primul rând, prin crearea şi actualizarea unei asemenea diagrame, nici o neregulă în sistemul de dezvoltare al

produsului software nu mai poate fi ascunsă. Uşurinţa cu care poate fi interpretată o diagramă PPPP face

vizibilă evoluţia procesului, astfel încât pot fi identificate repede procesele ce cauzează întârzierea. De

asemenea, seriozitatea cu care managementul de proiect urmăreşte realizarea şi actualizarea diagramei PPPP

transmite un mesaj clar echipei asupra seriozităţii şi rigurozităţii conducerii.

Procesul NCondiţii necesare

procesului NProcesul N

Revizia (inspecţia)

procesului N

Procesul

N

Condiţii necesare

procesului N

Procesul

N

Revizia 1

proces N

Revizia 2

proces N

Proces

N

Condiţii

necesare

proces N

Proces

NRevizia 1

proces N

Revizia 2

proces N

Condiţii

necesare

proces N

Procesul NCondiţii necesare

procesului NRevizia (inspecţia)

procesului NProcesul

N+1Condiţiile

procesului N+1

Revizia

procesului

N+1

Figura 3.12,a. Diagrama, când produsul software a trecut cu succes de revizie

Figura 3.12,b. Diagrama, când în urma reviziei sunt de efectuat modificări minore

Figura 3.12.c. Diagrama, când în urma reviziei sunt de efectuat modificări majore

Figura 3.12.d. Diagrama, când În urma reviziei este necesară refacerea produsului

Elaborare

planuri de

testare

Planuri de

testare

complete

Elaborare

teste

Cerinţe

Documentate,

Proiecte,

Standarde

de testare

Teste complete

Figura 3.13. Elaborarea planurilor de testare şi elaborarea testelor pentru un produs

software.

Scriere programe

Modul 21

Proiectarea

Modulului 21

Proiectarea

Modulului 21

19.0119.01

CerinCerinţţee

documentatedocumentateDocumentele

Proiectului

Modulului 21

Figura 3.14. Diagrame ce indică incadrarea în timpul programat

Page 24: QM TI NoteCurs P-u Examen

24

În unele variante ale diagramelor PPPP, dreptunghiurile aferente proceselor mai includ o rubrică,

actualizată, de asemenea, săptămânal, şi anume cât s-a cheltuit din bugetul alocat procesului respectiv.

Managementul calităţii 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ă informaţii din subsisteme ca: iniţierea 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, activităţile privind calitatea software se cuprind în trei grupe, şi anume:

asigurarea calităţii (QA) - activităţile planificate sau sistematice necesare pentru ca un

produs/serviciu să satisfacă nevoile date;

controlul calităţii (QC) - prevede modalităţile concrete prin care este construită calitatea

produsului;

managementul calităţii (QM) - ansamblu de activităţi în cadrul funcţiilor generale ale

managementului, prin care se determină şi implementează calitatea produsului.

Instrumentele automate pentru susţinerea acestor activităţi trebuie să asigure şi pregătirea personalului

în utilizarea standardelor, precum şi modalităţi de susţinere a activităţilor de auditare a conformanţei cu

standardele. Sistemul automat de management al calităţii 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ă activităţile mai multor

subsisteme- tabelul 3.2.

Aşa cum se arată în [WAL1], în timpul testării întregului produs software şi al primei perioade de

utilizare efectivă a acestuia, comportamentul produsului poate fi observat direct. Atunci este posibilă

verificarea exactă a conformanţei calităţii operaţionale cu calitatea ce reiese din specificaţiile pe baza cărora

a fost construit produsul. Pentru această perioadă, s-a construit un instrument separat de evaluare a

produsului software, deoarece metricile şi modelele pe baza cărora se efectuează verificarea nivelelor finale

ale caracteristicilor de calitate software sunt de obicei diferite de cele utilizate în timpul monitorizării

proiectului.

Printre avantajele pe care autorii sistemului - denumit în final IPSE (Integrated Project Support

Environments) - le evidenţiază, sunt: asigurarea conformanţei cu standardele prin înglobarea standardelor

direct în produsul CASE IPSE, (într-un instrument care asistă producerea documentaţiilor) şi simplificarea

auditării conformanţei cu standardele, care poate fi demonstrată prin simpla verificare a utilizării

instrumentelor CASE conformante cu standardele. în acest mod se reunesc constructiv activităţile de învăţare

a standardelor, de învăţare a producerii unui produs software şi de învăţare a executării unei activităţi în

conformitate cu un standard ce descrie un sistem al calităţii.

Tabelul 3.2

Structura QMS - Quality Management System Instrumente Subsisteme Activităţi software

1.

Planificarea şi

iniţierea

Asistarea

planificării

Creare planuri calitate, verificare, validare planuri, proiectului strategii

de testare, identificare metrici utilizate la monitorizarea proiectului,

Crearea

specificaţiilor

cerinţelor calităţii

Stabilire nivele măsurabile ale factorilor de calitate (subcaracteristici),

analiza viabilităţii acestor nivele şi a modalităţilor utilizate pentru

atingerea lor

Analiza

fezabilităţii şi

prognozarea

calităţii

Utilizare elemente critice pentru succesul proiectului pentru a

previziona calitatea produsului final în termenii specificaţiilor

cerinţelor calităţii.

2.

Monitorizarea

proiectului

Utilizare date metrici selecţionate pt. elaborare de rapoarte şi analize de

stadiu privind proiectul, în termenii de calitate stabiliţi.

Page 25: QM TI NoteCurs P-u Examen

25

3.

Evaluarea

proiectului

Utilizare date obţinute pentru realizare rapoarte privind nivelul calităţii

produsului software obţinut şi prognoze cu privire la activitatea de

mentenanţă şi suport tehnic.

10. Inspectarea calităţii software. Auditul calităţii software Metoda cea mai naturală şi cea mai ieftină de a verifica corectitudinea produselor realizate sau a

proceselor ce au avut loc, este examinarea acestora. Conform [KNI1], Babbage şi von Neumann solicitau cu

regularitate colegilor lor să-şi examineze programele. Deşi metodele de inspectare diferă prin modul de

organizare şi de acoperire a codului, structura, componenţa şi dimensiunile echipei de revizie, în esenţă

acestea realizează în fapt acelaşi lucru: inspectarea produsului software şi organizarea unor discuţii avizate şi

constructive în legătură cu acesta.

În timp, odată cu creşterea dimensiunii şi complexităţii proiectelor, a exigenţelor beneficiarilor,

industria de software a dezvoltat multe metode de testare a produselor software, unele dintre acestea fiind

automatizate cu ajutorul altor instrumente software. Cu toate acestea, testarea este un proces scump, mare

consumator de resurse, neoferind, în acelaşi timp şi garanţia suficienţei. Deci, alături de testare, inspecţia şi

examinarea codului, indiferent de metoda utilizată, rămâne un proces şi o metodă viabilă atât din punct de

vedere al rezultatelor cât şi din punct de vedere al costurilor. Studii empirice, bazate pe rezultate practice

obţinute de mai mulţi manageri de proiecte software (D.P. Freedman, G.M. Weiberg, M.E. Fagan, G.W.

Russel), referite în [KNI1], arată că reviziile şi inspecţiile pot reduce numărul de erori conţinute în

programele ajunse în faza de testare cu aproximativ 10%, ceea ce determină reducerea costurilor de testare cu

50% până la 80%.

Din rezultatele sistematizate de Russell (IEEE Software, Vol.8 No.l, Jan 1991, p.25-31) şi interpretate

de Fagan şi Knight (Achieving Ouality Software - Proceedings of a National Debate, Society for Software

Quality, San Diego, California, Jan. 1991), rezultă că 65% până la 85% din defectele operaţionale sunt

detectate prin inspecţii, la un cost cu 1/4 până la 2/3 mai redus faţă de testare, şi sunt remediate cu un cost ce

ajunge la 1/7 până la 1/2 faţă de costul remedierii lor în faza de testare. Defectele operaţionale sunt definite în

acest context ca mici greşeli de logică, utilizări incorecte ale unor operatori, utilizarea unor construcţii de o

ineficientă inacceptabilă şi alte defecte ce determină programele să nu execute sau să execute incorect

anumite operaţiuni, având uneori, prin propagare, efecte dezastruoase asupra funcţionării de ansamblu a

produsului.

În [TEO5] se prezintă câteva tipuri de metode de revizie şi inspecţie a codului, aşa cum sunt ele

enumerate în literatura de specialitate [KNI1], [WEI1]. Aceste metode s-au sistematizat în funcţie de scopul

urmărit, astfel:

inspecţii şi revizii care urmăresc depistarea erorilor sau obiective limitate:

− revizia formală - autorul produsului, sau unul din revizorii familiarizaţi cu munca la produs

prezintă produsul celorlalţi revizori. Fluxul inspecţiei este condus de prezentarea făcută şi de

problemele ridicate pe parcurs de revizori;

− revizia activă a proiectării (sau metoda Parnas şi Weiss) - constă în efectuarea unor scurte

revizii, fiecare fiind focalizată pe o anumită parte a produsului (de obicei segmente ale

documentaţiei de proiectare). Participanţii la aceste revizii sunt ghidaţi de întrebările puse de

autorii proiectării, asftel încât să încurajeze o examinare cât mai amănunţită;

− metoda camerei curate - este mai mult decât o simplă metodă, deşi revizuirea produsului de

către producător este .componenta sa majoră. Această metodă cere autorilor să execute variate

revizii asupra produsului şi nu le permite acestora ca o anumită parte a produsului (un modul

sau o parte din documentaţie) să fie executat, pus în aplicare sau examinat de cel care 1-a scris.

în unele cazuri, nici compilarea modulelor nu este făcută de autorii lor. Acesta metodă vizează

încurajarea executării unor verificării riguroase din partea factorului uman, dar şi structurarea

produselor software astfel încât acestea să se preteze testării pe unităţi sau module.

inspecţii şi revizii care urmăresc testarea conformanţei:

− parcurgeri ale codului (walkthroughs) - sunt utilizate pentru examinarea codului sursă în

relaţie cu documentele de proiectare şi cu specificaţiile. Participanţii execută o simulare pas cu

pas, linie cu linie a codului şi a documentaţiei. Autorii programelor sunt prezenţi pentru a

răspunde eventualelor întrebări ale participanţilor;

- inspecţii - într-o inspecţie, se stabileşte o listă de criterii cu care produsul trebuie să fie conformant,

iar această listă determină fluxul reviziei. Inspecţiile sunt utilizate şi pentru evaluarea unor caracteristici de

Page 26: QM TI NoteCurs P-u Examen

26

calitate, cum ar fi portabilitatea sau conformanţa cu standardele. Inspectorul trebuie să stăpânească bine lista

de criterii, sau să fie bine informat asupra nivelului dorit al caracteristicilor de calitate ce urmează a fi

inspectate;

- metoda celor N inspecţii - este o tehnică adaptată analizei conformanţei cu cerinţele şi specificaţiile

utilizatorului, materializate în documentaţii. în cadrul acestei metode sunt efectuate câteva inspecţii, în

paralel, conduse de un singur moderator. Aceasta deoarece s-a constatat că rezultatele inspecţiilor paralele nu

sunt, de obicei, convergente.

inspecţii şi revizii etapizate, care urmăresc scopuri complexe:

- inspecţiile Fagan - sunt o combinaţie între reviziile formale, parcurgerile de cod şi inspecţii. Aceste

inspecţii presupun parcurgerea a cinci paşi: (1) evaluarea generală, în care autorii explică conţinutul

programelor inspectorilor. De exemplu, pentru o inspecţie pe codul sursă, în această etapă se vor examina şi

explica documentaţia de proiectare a programelor, precum şi logica generală a acestora; (2) pregătirea, în

timpul căreia inspectorii studiază produsul şi documentaţia asociată; (3) inspecţia -întâlnire controlată de un

moderator care, la rândul său, desemnează o persoană ce va ghida inspectorii într-o examinare detaliată, linie

cu linie a produsului, pentru căutarea erorilor; (4) corectarea erorilor sesizate la inspecţie. în urma parcurgerii

pasului anterior inspectorii vor elabora un raport cu erorile depistate, ce va fi înmânat autorului în vederea

efectuării corecţiilor; (5) revizia finală, în care se verifică modul de corectare a erorilor semnalate în raport.

- inspecţia fazată, sau pe faze - este proiectată astfel încât să asigure rigurozitatea, elasticitatea şi

eficienţa metodei în utilizarea resurselor precum şi posibilitatea de a fi automatizată. Metoda presupune

efectuarea unei serii de inspecţii parţiale 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 încât fiecare fază să poată prezuma

existenţa caracteristicilor verificate în fazele anterioare. La rândul lor fazele pot fi efectuate de un singur

inspector sau de mai mulţi inspectori. Fazele efectuate de un singur inspector reprezintă procese riguroase şi

rigide, ce constau în verificarea unor liste de cerinţe definite fără ambiguitate (check lists).

Produsul nu poate trece de această fază a inspectării până nu îndeplineşte toate cerinţele menţionate în

listele respective. în fazele care sunt efectuate de mai mulţi inspectori se inspectează şi se verifică acele

caracteristici şi proprietăţi ale unui produs software care nu pot fi surprinse de seturi de întrebări precise, cu

răspunsuri de tip da/nu, independente de aplicaţie.

Într-o astfel de situaţie inspectorii din echipă examinează produsul în mod independent, conform unor

proceduri structurate clar şi apoi are loc întâlnirea acestora, în care se compară rezultatele individuale. Acest

tip de fază este în esenţă un proces Delphi. Inspectorilor nu li se furnizează alte informaţii legate de produs şi

de realizarea acestuia, în afara celor disponibile în documentaţii.

Listele de cerinţe (check lists) utilizate pot fi specifice aplicaţiei (în cazul fazelor executate de un

inspector), specifice domeniului aplicaţiei şi liste cu cerinţe de ambele tipuri (în cazul fazelor efectuate de

mai mulţi inspectori). Listele de cerinţe specifice domeniului îndreaptă eforturile inspectorului către zonele

mai dificile ale domeniului respectiv, pe c|nd listele specifice aplicaţiei sunt proiectate să forţeze o examinare

exhaustivă a produsului de către inspector. De exemplu, într-o inspecţie a codului sursă, în lista de cerinţe se

pot genera periodic întrebări de tipul: "La ce foloseşte această instrucţiune?" sau "Pentru ce este utilizată

această structură de date?", cu o rată fixă, stabilită la mia de linii de cod sursă. Modul cum se răspunde la

aceste întrebări ne arată dacă inspectorul a verificat porţiunea de cod respectivă şi a înţeles suficient de bine

produsul. Răspunsuri incorecte repetate la aceste tipuri de întrebări 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 informaţie este esenţial pentru a asigura mentenabilitatea produsului.

Inspecţia pe faze, prezentată în [KNI1], elimină un important neajuns al celorlalte metode. Astfel, deşi

metodele de inspecţie şi revizie amintite sunt benefice în sens statistic, aplicarea nici uneia dintre acestea nu

poate evalua mulţumitor măsura sau nivelul unei caracteristici sau unui subsistem de caracteristici de calitate

ale unui produs software. Deşi managerii de proiect sunt în unanimitate de acord că aplicarea inspecţiilor şi

reviziilor îmbunătăţeşte nivelul general de calitate al produselor organizaţiilor producătoare, aceştia ar dori

ca, pe baza rezultatelor inspecţiilor, să poată fi în măsură să facă predicţii 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ă următoarele condiţii:

1. să existe garanţia că metoda de inspectare se poate aplica riguros, astfel încât rezultatele să fie

specifice fiecărui produs particular şi, în acelaşi timp, repetabile la nivelul aceluiaşi produs;

2. să fie flexibilă, să poată servi unor scopuri complexe (nu numai unei simple detectări a erorilor

înainte de faza de testare);

Page 27: QM TI NoteCurs P-u Examen

27

3. să fie concepută astfel încât o mare parte a muncii să poată fi făcută automat, resursele umane să fie

utilizate numai atunci când este imperios necesar;

4. să fie eficientă, astfel încât, cu un anumit volum de resurse, să se poată obţine rezultate maximale.

Cu toate acestea, oricât de fiabilă sau riguroasă ar fi inspecţia calităţii, dacă nu este eficientă din punct

de vedere al costurilor, metoda nu va fi aplicată. Aşa cum se recunoaşte în [KNI1], disponibilitatea metodei

din punctul de vedere al costurilor este imposibil de modelat analitic într-un mod convingător. Acest lucru

poate fi obţinut numai prin experimentări la scara produselor software industriale, operând în mediul

industrial, efectuând experimente multiple de aceeaşi natură, pentru a permite estimarea variaţiei statistice şi

comparaţii la scara de 1/1 cu alte medode. Aceste experimente sunt imposibile fără investirea unor resurse

substanţiale, de-a lungul mai multor ani. în acest context, este puţin probabil ca o organizaţie producătoare de

software de nivel industrial să susţină o asemenea investiţie, atât timp cât nu există suficiente dovezi că

metoda este fezabilă nu numai într-un mediu academic. Dar, deşi experimentele academice izolate nu pot

produce rezultate semnificative şi concluzive, pot oferi indicaţii empirice bune asupra utilităţii relative a

inspecţiilor calităţii.

În [WEI1] G. Weinberg dă câteva sfaturi demne de luat în seamă, pentru cei care conduc

inspecţii ale calităţii produselor software. Aceştia sunt sfătuiţi:

- să ia cele mai radicale (pesimiste) decizii - fapt care va determina managementul organizaţiei să ia în

calcul cu seriozitate argumentele pesimiste ale inspectorilor;

- să asculte cu atenţie diferenţele de opinii - dacă un singur inspector nu reuşeşte să înţeleagă în

întregime produsul, atunci trebuie reconsiderată problema dacă producătorul a creat un produs

inspectabil (vizibil, inteligibil, stabil) cu implicaţiile de rigoare asupra mentenabilităţii sale;

- să observe cu atenţie reacţia inspectorilor la semnarea listelor de control sau a celorlalte documente

ale inspecţiei - fiecare inspector poartă responsabilitatea a ceea ce a făcut, eventualele ezitări pot ridica

întrebări asupra calităţii muncii inspectorului, sau asupra rezervelor pe care acesta le poate avea faţă de

produsul inspectat;

- să remarce problemele care se redeschid mereu (subiectul discuţiilor care nu se mai termină) - dacă

inspectorii fac încercări să redeschidă discuţia asupra unor probleme clasate, sau asupra cărora s-a luat deja o

decizie, acest lucru indică faptul că există rezerve.

Deşi inspecţiile sunt metode de gestiune şi management al calităţii orientate către produs, faptul că toţi

participanţii la inspecţii îşi îmbunătăţesc, în timp, într-un mod sau altul, abilităţile personale (profesionale, de

comunicare, de conducere) efectul major al acestora se va reflecta, pe termen mai lung, asupra calităţii

proceselor.

Auditul calităţii software Cererea din ce în ce mai mare de produse software performante şi cu preţuri accesibile, a determinat ca

acest tip de industrie să înflorească nu numai în ţările dezvoltate, dar şi în ţările slab dezvoltate (India,

Pakistan, China etc). în dezvoltarea proiectelor mari se includ adesea produse preluate de la subcontractori,

sunt implicate echipe de dezvoltare aflate în locaţii geografice diferite, astfel că, în toate cazurile,

complexitatea produselor se reflectă şi în complexitatea proceselor de dezvoltare. Acest lucru a generat

nevoia ca producătorii şi beneficiarii de software să dorească o confirmare, de la o entitate independentă, că

produsul dezvoltat este congruent cu cerinţele, posedă nivelul dorit de calitate şi este improbabil să aibă un

comportament aberant. Ca urmare, s-a dezvoltat auditul calităţii, ca tehnică prin care o entitate independentă

examinează fie produsul software (auditul produsului), fie procesul generator (auditul proceselor).

Aşa cum se arată în [BRY1] auditul software are câte ceva de oferit fiecărui participant: utilizatorul

este asigurat că produsul îndeplineşte nevoile sale operaţionale şi de performanţă, cumpărătorul este asigurat

că produsul va fi livrat la timp şi în limitele bugetului alocat, iar producătorul este asigurat că produsul s-a

dezvoltat într-o manieră trasabilă, fiind deci mentenabil, şi va fi acceptat de utilizator şi cumpărător. Costul

auditului este preţul pe care utilizatorul, cumpărătorul şi producătorul trebuie să-1 plătească pentru a-şi

reduce riscurile.

Indiferent de modelul de ciclu de viaţă al procesului de dezvoltare software, la sfârşitul fiecărui proces,

stadiu sau etapă, există un interval de timp (o platformă) în care "se trage linia", procedându-se la o scurtă

evaluare de stadiu. Aceste "platforme" sunt vizate de auditul software.

În esenţă, auditul implică două procese fundamentale - verificarea şi validarea. Verificarea este

procesul ce constă în stabilirea dacă, la sfârşitul fiecărui proces, stadiu sau etapă de dezvoltare software,

obiectivele propuse la început s-au atins, şi în ce măsură. Verificările succesive desfăşurate de-a lungul

procesului de dezvoltare trasează maturizarea produsului software de la o etapă la alta. Validarea este

procesul ce constă în stabilirea dacă produsul software rezultat după un stadiu (etapă, proces) de dezvoltare

Page 28: QM TI NoteCurs P-u Examen

28

îndeplineşte obiectivele specificate în cerinţe. Pentru a fi efectivă şi a putea preveni disfuncţiile generate de

modificarea cerinţelor de la o etapă la alta, validarea trebuie efectuată la sfârşitul fiecărei etape. Astfel,

validările succesive trasează conformanţa între produsul software rezultat după fiecare stadiu de dezvoltare şi

elementele conţinute în cerinţe care trebuie îndeplinite în stadiile respective.

Verificarea şi validarea, combinate şi repetate, alcătuiesc modele de proceduri pentru auditarea

software. Oricare ar fi modelul de procedură adoptat, scopurile auditării sunt creşterea vizibilităţii produselor

sau proceselor software şi stabilirea trasabilităţii de-a lungul ciclului de viaţă. De asemenea, auditul face

vizibil pentru manageri, stadiul curent şi nivelul de calitate al produsului software, permiţând evaluarea

integrităţii 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 înţelege:

determinarea clară a părţilor constitutive ale produsului software;

determinarea clară a relaţiilor dintre aceste părţi;

atribuirea unei etichete sau unui nume unic şi sugestiv fiecărei părţi constitutive;

descrierea grafică sau tabelară a părţilor şi relaţiilor dintre ele.

Părţile constitutive al unui produs software, în orice stadiu de dezvoltare s-ar afla, sunt elementele de

configuraţie software.

Identificarea constituie şi o premiză importantă a comunicaţiei informaţiei privind trasabilitatea. Astfel,

ca rezultat al verificării şi validării, se poate construi un tabel sau o matrice a trasabilităţii care să indice

corespondenţa dintre un element de configuraţie dintr-un anumit stadiu şi elementele de configuraţie

corespondente din celelalte stadii de dezvoltare, sau dintre acesta şi "reflectarea" sa în specificaţii.

În tabelul 3.3 se prezintă o succesiune de paşi, constituiţi într-un model de auditare de software, într-un

anumit stadiu din ciclul de viaţă, în viziunea autorilor [BRY1 ].

Tabelul 3.3.

1. Examinarea

specificaţiilor cerinţelor

faţă de produs

Motivaţia parcurgerii acestui pas: deseori, cumpărătorul/utilizatorul nu îşi

cunoaşte decât vag nevoile vis-a-vis de un produs software şi nu este capabil,

de prima dată, să articuleze complet, necontradictoriu şi fără ambiguităţi

aceste nevoi în scris. Examinarea specificaţiilor scoate în evidenţă omisiunile

şi ambiguităţile. Chiar dacă aceste probleme nu sunt rezolvate pe loc,

examinarea preliminară face vizibile lucrurile care se pot transforma în

probleme cheie.

2. Verificarea

asigurării calităţii.

În sens restrâns, asigurarea calităţii poate fi privită ca asigurarea

conformanţei produsului, în format, conţinut şi metodologie cu standardele

prescrise. Acest pas constă în verificarea conformităţii produsului cu

standarde specificate (guvernamentale, industriale, interne, comerciale,

profesionale, etc), prescrise de managerii proiectului sau de utilizator.

3. Identificarea

produsului

Determinarea elementelor de configuraţie, a relaţiilor dintre ele, asignarea

de denumiri şi etichete elementelor de configuraţie ce constituie produsul,

descrierea sugestivă a acestora, aşa cum s-a arătat mai sus.

4. Examinarea

clarităţii,

completitudinii,

consistenţei interne si

testabilitătii.

Se execută comparând conţinutul textual şi grafic al unor secţiuni, cu

conţinutul altor secţiuni ale documentaţiei. Sunt înregistrate inconsistenţe,

ambiguităţi, omisiuni, adăugări sau modificări nepotrivite ale scopurilor sau

nivelelor de detaliere.

Page 29: QM TI NoteCurs P-u Examen

29

5. Produsul este

verificat prin

comparaţie cu etapa

anterioară din ciclul

său deviată.

Dacă nu există o etapă anterioară, acest pas nu este executat. Corelarea

elementelor de configuraţie identificate în stadiul prezent cu elementele din

care au evoluat. Compararea elementelor de configuraţie corelate se face în

vederea verificării dacă scopurile şi sarcinile etapei anterioare au fost atinse

în produs. Discrepanţele sunt comparate cu cele identificate în audituri

anterioare, cu alte comentarii conexe (ale utilizatorilor, cumpărătorilor sau

cu cele apărute în diferinte şedinţe de analiză ale producătorului), cu cele

reieşite din rapoartele de stadiu ale configuraţiei. Sunt identificate

discrepanţele nou apărute, faţă de cele cunoscute. Se mai examinează în acest

pas şi rezoluţiile puse pentru soluţionarea discrepanţelor identificate deja.

6. Elaborarea

rapoartelor de stadiu al

configuraţiei

Se execută când software-ul auditat este o actualizare a unui produs software

auditat anterior. Procesul constă în compararea elementelor de configuraţie

identificate în stadiul prezent cu cele identificate în acelaşi stadiu al produsului

anterior, pentru a determina ce elemente de configuraţie au fost modificate,

şterse sau adăugate. Aceste modificări, ştergeri şi adăugări sunt comparate cu

lista modificărilor aprobate în acelaşi stadiu al produsului anterior, şi

sunt înregistrate diferenţele. Alcătuirea listei modificărilor este

obligaţia managementului configuraţiei. Lista de modificări este aprobată în

procesul controlului configuraţiei.

7. Validarea

conformanţei cu

specificaţiile de cerinţe

identificate

Elementele de configuraţie ale produsului auditat sunt corelate cu elementele

de configuraţie identificate în specificaţii. Acesta este un pas din procesul de

creare a matricei trasabilităţii. Elementele de configuraţie corelate sunt

comparate pentru a verifica modul în care au fost satisfăcute cerinţele prevăzute

în specificaţii.

8. Evaluarea identificate

şi elaborarea raportului

final

Evaluarea se bazează pe cele observate şi înregistrate şi neconcordanţelor

trebuie să fie obiectivă. în baza experienţei lor, auditorii formulează concluzii

bazate pe tipul, numărul, natura şi complexitatea discrepanţelor identificate.

În Anexa 3 A se prezintă un model de structură al raportului de audit, aşa cum a fost propus în [BRY1].

Aceşti paşi sunt aplicabili în toate etapele pe care le parcurge un produs de-a lungul ciclului său de viaţă.

Auditul este executat în două situaţii: în procesul de dezvoltare care conduce la crearea unui nou produs

software, şi când produsul software este modificat. Auditarea software este parte a unui proces complex, şi

anume procesul de control al configuraţiei (al cărui model propus în [BRY1] este prezentat în Anexa 3B).

Controlul procesului este un element al managementului configuraţiei. Relaţiile dintre auditul software,

procesul de control al configuraţiei şi managementul configuraţiei, sunt cele din figura 3.15.

Auditul este o activitate profesionistă şi independentă, deci, din echipa de audit fac parte persoane cu

pregătire şi experienţă de înalt nivel, membri ai unor organizaţii independente şi profesioniste (firme de

audit, institute de cercetare, agenţii guvernamentale sau neguvernamentale specializate, etc). Echipa de

auditori, prin poziţia sa independentă, oferă o garanţie suplimentară asupra obiectivitătii auditului. Din

componenţa echipei de audit pot face parte şi manageri ai firmei, manageri ai proiectului şi persoane din

comisia de control al configuraţiei. Aceste persoane îşi pot aduce contribuţia la proces, fără a realiza

auditarea.

Figura 3.15.

Managementul configuraţiei Control configuraţie vers.

1

Audit

Control configuraţie vers.

2

Audit versiunea

Control configuraţie vers.

n

Audit versiunea

Resursele alocate auditării trebuie să fie proporţionale cu dimensiunea şi complexitatea efortului de

dezvoltare. în evaluarea complexităţii software, se au în vedere numărul de componente ce interacţionează,

complexitatea logică a acestora, numărul şi experienţa persoanelor implicate în proiectare şi dezvoltare, dar şi

Page 30: QM TI NoteCurs P-u Examen

30

alte elemente mai "delicate", precum numărul estimat de iteraţii la un stadiu de dezvoltare sau numărul

anticipat de modificări ale proiectelor.

12. Costul calităţii software - definire, conţinut şi propunere de clasificaţie Conform [BAR04], costul calităţii, ca parte a costului de elaborare a produsului software, reprezintă

expresia bănească a consumurilor de resurse, determinate de realizarea unui anumit nivel al caracteristicilor

de calitate, sau de îmbunătăţire a acestora.

Câteva condiţii necesare, dar nu şi suficiente, pentru a garanta atingerea unui nivel de calitate dorit

(cerut, previzionat), sunt:

- existenţa şi funcţionarea unui sistem al calităţii cu proceduri standardizate, cunoscute şi verificate în

timp;

- o cunoaştere şi evaluare realistă a cerinţelor beneficiarilor, a posibilităţilor şi resurselor

producătorului astfel încât să se proiecteze pentru produsul software un nivel de calitate care să îndeplinească

cumulativ două cerinţe: să asigure acceptarea fără rezerve a produsului de către beneficiar şi să poată fi atins

respectivul nivel de calitate, cu încadrarea în resursele planificate ale proiectului, în condiţii de eficienţă

economică şi cu posibilitatea asigurării managementului calităţii.

Prin resursele producătorului se înţelege îndeobşte:

- resursele financiare alocate, proprii sau atrase, având, o anumită calitate (de exemplu disponibilitatea

sumelor de bani, operativitatea şi siguranţa deschiderii unor acreditive, a unor linii de credit, etc);

- cantitatea, calitatea şi modul de structurare a resurselor umane (proiectanţi şi programatori cu o

anumită experienţă şi deci cu un anumit nivel de salarizare, dimensiunea echipelor de testare şi experienţa în

domeniu, calitatea şi numărul personalului echipelor de QA, modul de distribuire între procese sau produse -

module de produs, documentaţie - a personalului mai mult sau mai puţin experimentat);

- bugetul (portofoliul) de timp şi structurarea acestuia între procese şi produse (cât şi modul de alocare

a timpului pentru proiectare, codificare, inspecţii ale codului, testare).

La acest tip de resurse, care sunt caracterizate prin vizibilitate şi măsurabilitate imediată, se mai pot

adăuga şi alte categorii de resurse, care, deşi mai puţin vizibile şi măsurabile, pot afecta în aceeaşi măsură

managementul calităţii: disponibilitatea beneficiarului de a se implica în realizarea proiectului, precum şi

experienţa acestuia în utilizarea unor sisteme informatice, nivelul general al frustrărilor de diferite naturi ce

se pot manifesta la nivelul actorilor implicaţi, atitudinea managementului, poziţia activităţii de informatică în

obiectivele organizaţiei, etc.

Producătorii de software cu un anumit nivel de maturitate, care au definite procesele şi procedurile de

dezvoltare, estimează costurile de dezvoltare, inclusiv costurile unui anumit nivel sau a unor variante

alternative de calitate, pe baza unor audituri sau a unor modele de evaluare.

Deşi modelele ce se vor prezenta în subcapitolul 4.3. au la bază elemente ale activităţii cu ajutorul

cărora se poate comensura costul efectiv al calităţii pe procese sau faze de dezvoltare, datele ce se culeg din

contabilitate inspiră cea mai mare încredere pentru managementul organizaţiei producătoare de software.

Dificultatea evidenţierii costului calităţii constă în faptul că munca de cuantificare a acestor costuri este

dificilă. Din această cauză, separarea acestor costuri şi ţinerea unei evideţe analitice separate (sub aspectul

evidenţei contabile, pe conturi analitice) este o problemă de apreciere colectivă, a compartimentelor de

contabilitate, asigurarea calităţii, a compartimentelor de dezvoltare, testare, precum şi a managementului. Cu

toate acestea, datele privind costurile calităţii nu se pot

extrage în totalitate direct din contabilitate, ele putând fi determinate pe trei căi: colectarea din

documente primare, înscrierea sumelor în conturi analitice, calcule simple, utilizându-se chei de repartizare.

Aşa cum se arată în [0LA1], pentru a sugera că, în general, o mare parte a cheltuielilor cu calitatea sunt

evitabile, în literatura de specialitate se propune utilizarea termenului de "costuri referitoare la calitate", în

locul termenului de "costurile calităţii".

Deşi, aşa cum s-a arătat, există diferenţe între industriile manufacturiere şi proiectele de dezvoltare de

software, în ceea ce priveşte costurile, este relevantă recomandarea de clasificaţi? conţinută în standardul ISO

9004-3, [ISO4], pentru cazul produselor rezultate din procese continue (figura 4.1).

Page 31: QM TI NoteCurs P-u Examen

31

În standardul menţionat, costurile de realizare a calităţii reprezentintă costurile implicate de realizarea

şi menţinerea nivelului specificat al calităţii, iar costurile de asigurare externă a calităţii cuprind costurile

demonstraţiilor şi probelor cerute de clienţi ca dovezi obiective ale calităţii, ale clauzelor speciale şi

suplimentare de asigurare a calităţii, procedurilor, datelor, încercărilor pentru demonstrare şi evaluare..

Costurile privind calitatea produselor software referă un ansamblu de activităţi care generează

cheltuieli ce pot fi grupate în următoarele categorii: (a) de prevenire, (b) de evaluare, (c) de identificare şi

remediere pe parcursul dezvoltării, (d) de remediere a defectelor (ale non-calităţii). în tabelul 4.1 se prezintă

o propunere de grupare a acestor costuri.

Tabelul 4.1

A. Costuri de

prevenire a

defectelor

- costuri determinate de implementarea, funcţionarea şi îmbunătăţirea

sistemului calităţii (stabilirea şi actualizarea standardelor interne şi a

procedurilor de calitate);

- costuri determinate de audituri ale calităţii, de verificarea calităţii

proiectelor de ansamblu şi de detaliu, a documentaţiilor intermediare;

- costuri legate de constituirea fluxului de control şi dirijare a proceselor

şi produselor în vederea asigurării calităţii;

- costuri de evaluare a subcontractanţilor, costuri de remediere a unor

programe, documentaţii, primite de la eventuali subcontractanţi;

- costuri determinate de ridicarea calificării personalului, de motivarea

acestuia, de angajarea unor experţi din exterior sau de personal cu

calificare superioară;

B. Costuri de

evaluare

- costul unor procese suplimentare de verificare, de exemplu costul

inspecţiilor pe codul sursă, ale auditării produselor software intermediare

şi finale;

- timpul suplimentar consumat pentru procesele de analiză a erorilor

sistematice, în vederea stabilirii cauzelor.

C. Costuri de

identificare şi

remediere, a

defectelor, pe

parcursul

dezvoltării

- costuri legate de achiziţionarea, testarea, învăţarea, exploatarea

produselor utilizate în procesul dezvoltării;

- costuri suplimentare apărute în procesul dezvoltării datorate

identificării şi remedierii unor erori la produsele intermediare (erori în

proiectare, în codificare, în elaborarea documentaţiilor), evidenţiate, la

intrarea şi ieşirea fiecărui proces, atât de compartimentele de QA, cât şi de

personalul de la dezvoltare software.

D. Costurile

remedierii

defectelor

a. Costuri la producător

- costuri suplimentare la finalul procesului de dezvoltare, determinate de

remedierea unor erori apărute după testarea şi inspecţia de calitate finală

(consumuri suplimentare de

Costurile referitoare la calitate

Costurile realizării calităţii Costurile de asigurare externa a cântaţi

Costuri de investi Costuri de defectare (pierderi)

Costuri de prevenire Costuri de evaluare Costurile defectărilor interne Costurile defectărilor externe

Figura 4.1. Costurile referitoare la calitate

Page 32: QM TI NoteCurs P-u Examen

32

Cauzele defectelor:

1 – cauze datorate

produselor suport şi a

produselor primite de

la subcontractanţi; 2 – cauze hardware;

3 – cauze umane;

4 – cauze

metodologice

(proceduri, tehnologii

inadecvate);

5 – cauze datorate unui

control defectuos;

6 – cauze datorate

mediului de desfăşurare a

procesului de

dezvoltare;

7 – cauze manageriale;

8 – mentenabilitate

redusă;

9 – marketing

defectuos.

timp, curent electric, hârtie, consumabile, trafic suplimentar pe liniile de

comunicaţie închiriate, etc.);

- costuri suplimentare determinate de repetarea unor teste şi verificări;

- costuri determinate de nerespectarea eventualelor obligaţii contractuale;

- costuri privind stingerea reclamaţiilor făcute de beneficiari;

- costuri suplimentare privind service-ul comercial;

- costuri suplimentare determinate de re-pregătirea produsului pentru

livrare,

b. Costuri la beneficiar

- costuri privind remedierea erorilor la produsele reclamate de beneficiari

ca necorespunzătoare s"au refuzate, în cazul m care recepţia se face la

aceştia (module de program, capitole de documentaţie, suporţi magnetici,

etc);

- costuri determinate de înlocuirea produselor menţionate la aliniatul

anterior;

- costuri privind testările, controalele, expertize la produsul ajuns la

destinaţie şi reclamat de beneficiar;

- costuri privind activitatea de mentenanţă în perioada de garanţie;

- costuri privind stingerea reclamaţiilor pentru calitate necorespunzătoare

făcute de beneficiari, în cazul în care recepţia are loc la beneficiar;

- costuri determinate de daunele provocate activităţii beneficiarului şi

reclamate de acesta, datorită calităţii necorespunzătoare a produsului

software livrat.

13. Raportul cost calitate - cost total Pe baza modalitatăţii de clasificaţie a costurilor calităţii software se poate evalua atât raportul dintre

costul calităţii şi costul total (parte - întreg), cât şi efectul costurilor referitoare la calitate asupra

performanţelor organizaţiei producătoare de software. Conform analizei prezentate în [0LA1] şi ţinând cont

de specificul industriei software şi de clasificaţia din subcapitolul 4.1., costurile de prevenire şi de evaluare

sunt considerate costuri de investiţii, iar celelalte intră în categoria costurilor de producţie sau a cheltuielilor

de exploatare.

Dacă efectul costurilor de investiţii este dificil de evaluat imediat, în cazul costurilor de identificare şi

remediere a erorilor în timpul procesului de dezvoltare sau al unor costuri de remediere la producător sau

beneficiar, scăderea lor va determina direct scăderea costurilor de producţie sau exploatare, reflectându-se

direct în creşterea profitului. în ceea ce priveşte relaţia imediată dintre costul total şi costurile de prevenire,

creşterea acestora va determina cu certitudine creşterea costurilor totale, chiar dacă este posibil ca, pe termen

mai lung, investiţiile respective (în sistemul calităţii), să conducă la creşterea vânzărilor şi deci, la

maximizarea profitului. Deci, evaluarea efectului lor asupra performanţelor» financiare ale organizaţiei este

îngreunată de faptul că acest efect poate fi pus în evidenţă doar în perioade ulterioare celei corespunzătoare

exerciţiului financiar curent [0LA1].

Cuantumul costurilor de evaluare poate avea un impact dublu. Astfel, pe de o parte, creşterea

cheltuielilor cu inspecţiile şi auditurile intermediare se reflectă în scăderea cheltuielilor de testare şi, în

general, a costurilor de identificare şi remediere a erorilor în timpul procesului de dezvoltare, astfel că efectul

lor asupra costurilor referitoare la calitate poate fi nul sau chiar de reducere a acestora. Pe de altă parte,

impactul creşterii acestor costuri asupra costului total nu poate determina o creştere direct proporţională, ci

dimpotrivă, poate avea ca efect scăderea costului total.

În plus, unele costuri referitoare la calitate sunt necuantificabile (acestea, de fapt, nici nu au fost prinse

în propunerea de clasificaţie prezentată). De exemplu, costul aferent pierderii unui contract, a unui client sau

a pieţei, ca urmare a vânzării unui produs necorespunzător calitativ, sau reducerea vânzărilor datorită faptului

că, prin calitatea necorespunzătoare a produselor, alţi producători realizează produse similare sau

substituenţi. De asemenea, în propunerea de clasificaţie prezentată, nu au fost incluse costurile de asigurare

externă a calităţii, aşa cum sunt ele prevăzute în standardul [ISO4]. Sub aspect conceptual, aceste costuri pot

include şi cheltuielile generate de participarea la târguri şi expoziţii, precum şi cheltuielile de reclamă şi

publicitate. Din punct de vedere contabil, aceste cheltuieli pot fi repartizate asupra produsului, fie prin

includerea lor la stabilirea unui preţ de cost, fie prin repartizarea pe bază de chei de repartiţie. Fie

următoarele notaţii:

Page 33: QM TI NoteCurs P-u Examen

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 producător şi beneficiar (costurile totale de identificare şi

remediere a erorilor).

Aşa cum se arată în [COZI] şi [0LA1], potrivit abordării tradiţionale a analizei costurilor, referitor la

corelaţia cost-calitate, pe măsura creşterii costurilor de prevenire Cp şi a costurilor de evaluare Ce, se

produce scăderea costurilor Cd (figura 4.1).

Curba costurilor totale referitoare la calitate admite un minim, iar nivelul calităţii corespunzătoare

zonei haşurate (AB) este considerat optim. Se remarcă faptul că în zona respectivă Cd ≈ Cp+Ce. Zonele de

pe grafic din afara zonei optime, reprezintă "zona îmbunătăţirilor", respectiv "zona supracalităţii" (figura

4.2).

Co

stu

ri

Cp+Ce

Cd

Cost total minim

Cp+Ce+Cd

AA BB

Nivelul calităţii

Cd

≈C

p+

Ce

Figura 4.1. Corelaţia cost - calitate

Conform estimărilor din [COZI] şi [OLA1], precum şi a lucrărilor lui Juran şi Gryna, în zona

Co

stu

ri

Cp+Ce

Cd

Cost total minim

Cp+Ce+Cd

AA BB

Nivelul calităţii

Cd

≈C

p+

Ce

Figura 4.2. Corelaţia cost - calitate

Zona îmbunătăţirilor

Cd>70%

Cp+Ce<30%

Zona optimă

Curba costurilor totale Zona supracalităţii

Cd < 40%

Cp+ Ce > 60%

Page 34: QM TI NoteCurs P-u Examen

34

îmbunătăţirilor, 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 creştere relativ mică a costurilor de prevenire şi

evaluare (a investiţiilor), se poate obţine o reducere semnificativă a Cd. în zona supracalităţii Cd < 40%, iar

costurile de prevenire şi evaluare au o pondere mai mare de 60%. în această zonă, conform abordărilor

clasice amintite, reducerea Cd presupune costuri din ce în ce mai mari de prevenire şi evaluare.

În contradicţie cu abordarea clasică prezentată mai sus, strategia îmbunătăţirii continue (Kaizen), pe

lângă faptul că nu implică investiţii mari, determină obţinerea a două avantaje: 1. se poate obţine creşterea

nivelului calităţii fără eforturi prea mari; 2. aplicând principiul paşilor mici, se asigură o mai mare stabilitate

şi controlabilitate a proceselor.

În figura 4.3. se prezintă evoluţia costurilor totale minime, conform concepţiei îmbunătăţirii continue,

iar în figura 4. 4. se prezintă efectele îmbunătăţirii prin simplificare (sursa [0LA1]).

Figura 4.3.

Figura 4.4.

Costuri

0 100 % Nivelul calităţii

Cp+Ce

Cd Costuri

totale

Costul

total

minim

Costuri

0 100 % Nivelul calităţii

Cp+Ce

Cd Costuri

totale

Costul

total

minim

Page 35: QM TI NoteCurs P-u Examen

35

14. MANAGEMENTUL CALITĂŢII – PUNTE DE TRECERE DE LA

MANAGEMENTUL INFORMAŢIONAL LA CEL AL CUNOŞTINŢELOR Accesul managerilor şi specialiştilor la informaţii multidimensionale şi cunoştinţe despre toate

activităţile întreprinderii şi a mediului de afaceri este una dintre cele mai importante condiţii pentru

asigurarea competitivităţii în economia globală modernă. Generalizarea experienţei acumulate în domeniul

informatizării arată că tehnologiile informaţionale, sistemele informatice sunt necesare, dar nu şi suficiente

pentru asigurarea garantată a succesului activităţii de bază a organizaţiilor.

În ultimii ani soluţiile problemei în cauză sunt examinate în cadrul unor astfel de domenii ştiinţifice şi

practice cum ar fi: managementul informaţional (MI), managementul cunoştinţelor (MC) şi managementul

calităţii (MQ). Deşi aceste tipuri de management s-au dezvoltat ca direcţii ştiinţifice şi practice aparte, şi nu

se mai pune la îndoială importanţa fiecărui din ele în parte, ca condiţii necesare pentru asigurarea

competitivităţii unei întreprinderi, în ultima perioadă de timp au apărut unele publicaţii, în care se

menţionează anumite interdependenţe între ele. Aceasta reiese chiar şi din faptul că aceste tipuri de

management sunt examinate în acelaşi context ca condiţii de asigurare a competitivităţii întreprinderilor. Dar,

apar şi publicaţii care confirmă existenţa unor legături mai strânse decât cele menţionate. Chiar şi

interdependenţele unilaterale dintre oricare două tipuri de management dintre cele enumerate anterior,

studiate în literatura de specialitate, arată că realizarea lor în cadrul aceluiaşi sistem de management al

afacerilor (MA) asigură condiţii de sporire a eficienţei fiecărui tip de management în parte.

Scopul de bază al acestui articol este analiza interdependenţelor reciproce active dintre

managementul informaţional, managementul cunoştinţelor şi managementul calităţii în cadrul

managementului general al aceleiaşi întreprinderi, formând un model structural integrat al sistemului de

management al afacerilor, in care sunt prezente toate aceste tipuri de management. O atenţie deosebită va fi

acordată verificării ipotezei conform căreia MQ joacă un rol important în realizarea interdependenţelor dintre

MI şi MC, care ar avea un efect sinergetic din integrarea lor reciprocă.

Definiţiile noţiunilor de bază Fără a pretinde la o definire a noţiunilor informaţie, cunoştinţe, MI, MC şi MQ mai profundă, decât

mulţimea de definiţii diverse cunoscute în mediul de specialitate, vom accentua doar acele aspecte în

definiţiile existente, care le evidenţiază specificul în compararea reciprocă şi care ar putea influenţa formele

respective de management. În acest context, cele mai caracteristice aspecte ale noţiunilor de bază sunt

următoarele: informaţia este rezultatul procesări datelor; când informaţia se îmbină cu contextul şi

experienţa, ea se transformă în cunoştinţe. Noţiunea de „cunoştinţe” este mai superioară decât informaţia şi

documentele care o conţin. Cunoştinţele presupun un nivel de implicare umană [1], ele sunt informaţia

absorbită şi înţeleasă de persoană concretă. Sunt situaţii în care ceea ce pentru o persoană reprezintă o

informaţie pentru alta, cu o altă capacitate sau un alt rol, constituie o cunoştinţă.

Diferenţa dintre informaţie şi cunoştinţe, ne permite să diferenţiem diferite niveluri de generalizare a

informaţiei cuprinse în diapazonul între informaţie pur şi simplu ca date procesate şi informaţie, care

corespunde tuturor cerinţelor utilizatorului, fiind absorbită şi înţeleasă de persoane concrete în conformitate

cu necesităţile informaţionale reale, în contextul experienţei personale [2].

În articolul de faţă vom folosi una din cele mai cuprinzătoare definiţii ale MI, care include practic

toate tipurile de activitate informaţională ce corespund întregului diapazon de interpretări cunoscute ale MI

[3]: “managementul informaţional este planificarea, finanţarea, organizarea, încadrarea cu personal,

managementul, instruirea în domeniu şi controlul informaţiei. MI include managementul resurselor

informaţionale variate, cum ar fi:

suporturile informaţionale (documente sau medii electronice);

departamente care oferă servicii informaţionale;

sisteme informaţionale, atât computerizate, cât şi tradiţionale”.

Managementul informaţional poate fi uşor interpretat ca un termen “umbrelă”, ce include aşa

domenii ca ştiinţa computaţională (ce dezvoltă instrumentarul de realizare a funcţiilor), managementul

dosarelor, arhivelor şi bibliotecilor, precum şi managementul resurselor informaţionale. MI poate de

asemenea să includă telecomunicaţiile, managementul datelor, managementul documentelor şi

informatica în general.

Managementul cunoştinţelor este orice activitate structurată ce duce la sporirea capacităţii

organizaţiei de a dobândi, distribui şi utiliza cunoştinţe pentru supravieţuirea şi succesul său. MC este definit

ca “administrarea profesionistă a sumei sau a domeniului a tot ce a fost perceput, descoperit sau studiat în

întreprindere prin colectarea, integrarea, organizarea, analiza şi distribuirea cunoştinţelor de afaceri în aşa

Page 36: QM TI NoteCurs P-u Examen

36

mod ca să fie utilizate efectiv de către întreprindere pentru a efectua acţiuni efective şi a realiza scopurile

sale” [4] .

În [3] este subliniat scopul şi terenul comun al tuturor tipurilor de management: al datelor,

informaţiei, cunoştinţelor, înregistrărilor şi documentelor - ele toate au acelaşi obiectiv. În particular, ele tind

să gestioneze informaţia într-un mod, care ar asigura integritatea ei şi utilizarea în conformitate cu varietatea

scopurilor.

Ca proces managementul cunoştinţelor este îndreptat la managementul nu al documentelor propriu

zise, ci al conţinutului lor. În acest context autorii [3] menţionează că “managementul cunoştinţelor înseamnă

căpătarea (colectarea, procurarea, generarea), organizarea (clasificarea, indexarea, trasarea), recuperarea

(căutarea, accesarea), distribuirea (împărţirea, mişcarea) şi menţinerea (curăţirea, creşterea, sporirea,

îngrijirea) a conţinutului depozitului de date”

Obiectivele managementului calităţii tehnologiilor informaţionale şi a serviciilor informaţionale

(MQ) constau în identificarea, analiza şi interpretarea tuturor anomaliilor şi în definirea acţiunilor corective

sau de orientare a calităţii în toate etapele de realizare a TI şi/sau de prestare a serviciilor informaţionale.

Interdependenţe dintre MI, MC şi QM Pentru a înţelege rolul fiecărui din tipurile de management în cauză faţă de celelalte este necesar de

studiat interdependenţele dintre ele. Generalizând rezultatele relevante (deşi reprezentând interdependenţe

unilaterale) din literatura de specialitate, se poate admite ipoteza existenţei unor interdependenţe reciproce

dintre toate tipurile de management menţionate în cadrul aceluiaşi sistem de management al afacerilor, care

ar avea un efect sinergetic din integrarea lor reciprocă.

Printre cele mai reprezentative interdependenţe pot fi evidenţiate următoarele:

1) Interdependenţa reciprocă dinte MI şi MC (MI ↔ MC)

Tot mai frecvent sunt cercetate unele aspecte care confirmă dependenţa managementului cunoaşterii

de managementul informaţional (MI) [2, 5, 6] şi de managementul resurselor informaţionale [4], precum şi

de unele subsisteme aparte ale MI [1]. În [6] MI integrat, realizat în baza principiilor sistemice de integrare a

diferitor tipuri de management specializat (managementul datelor, managementul documentelor,

managementul înregistrărilor, managementul resurselor informaţionale, etc.) este prezentat ca o temelie

pentru dezvoltarea MC. Succint putem prezenta această dependenţă a MC de MI în felul următor: MC←MI.

Pe de altă parte, având în vedere că cunoştinţele sunt nişte informaţii cu proprietăţi deosebit de

importante pentru organizaţie, conştientizarea tipurilor de cunoştinţe şi a rolului lor în organizaţie poate fi

utilizată pentru concretizarea mai profundă a scopurilor şi formelor de realizare a MI. O astfel de abordare

este o condiţie necesară pentru eficientizarea activităţilor ce ţin de MI. Adică, în acest sens există şi o

dependenţă inversă dintre MC şi MI (MI ← MC).

2) Interdependenţa reciprocă dinte MI şi MQ (MI ↔ MQ)

Există relaţii reciproce foarte puternice între TI şi servicii informaţionale şi managementul total al

calităţii (MTQ), care au fost cercetate nu numai teoretic, dar şi practic [9]. IM este un factor foarte esenţial

de suport al implementării unui astfel de sistem ca MTQ, care necesită volume mari de informaţii. Deci,

eficienţa MQ depinde în mare măsură de nivelul de organizare a MI în organizaţia dată (MQ ← MI).

Pe de altă parte, implementarea MTQ în activităţile de bază a unei organizaţii presupune răspândirea

principiilor de MTQ asupra tuturor activităţilor, care suportă activităţile de bază, inclusiv şi asupra MI.

Totodată, o activitate multidimensională ca MI poate fi eficient organizată doar în condiţii de utilizare a

elementelor de MQ, care poate fi un mecanism de îmbunătăţire permanentă a calităţii datelor, soft-ului şi

informaţiilor (MI ← MQ).

3) Interdependenţa reciprocă dintre MQ şi MC (MQ ↔ MC)

De exemplu, în [7, 9] se menţionează că, odată ce strategia orientată la calitate depinde de capacitatea

capitalului intelectual al organizaţiilor de a menţine competitivitatea produselor şi a serviciilor, iar angajaţii

în astfel de organizaţii trebuie să efectueze activităţi bazate pe utilizarea cunoştinţelor, managementul

cunoaşterii devine un factor critic pentru succesul activităţii companiilor, care utilizează sistemul MQ. Deci,

în acest context, MQ depinde în mare măsură de MC (MQ ← MC).

Pe de altă parte, sunt menţionate şi dependenţe inverse dintre MQ şi MC. De exemplu, în [8, 5, 6]

este analizată influenţa pozitivă a utilizării mecanismelor de control al calităţii asupra proceselor de bază ale

managementului cunoştinţelor.

Reieşind din definiţia noţiunii de cunoştinţe (ca informaţie, care corespunde tuturor cerinţelor

utilizatorului, fiind absorbită şi înţeleasă de persoane concrete în conformitate cu necesităţile informaţionale

reale, în contextul experienţei personale, adică acele informaţii, care corespund anumitor cerinţe faţă de

calitate), informaţiile rezultative în sistemul informatic pot fi îmbunătăţite permanent în baza unui feedback

activ (conexiune inversă) susţinut de sistemul de management al calităţii produselor şi serviciilor

Page 37: QM TI NoteCurs P-u Examen

37

informaţionale. Cu alte cuvinte, utilizarea principiilor de management al calităţii faţă de MI este o condiţie

necesară pentru extragerea cunoştinţelor din fluxurile de informaţii asigurate de MI.

Deci, MC poate fi în mare măsură asigurat de utilizarea MQ faţă de procesele de MI în firma dată,

ceea ce înseamnă că MC depinde de MQ (MC←MQ).

Astfel, pe deoparte, în firma dată managementul calităţii produselor şi serviciilor de bază poate fi

eficient doar pe baza cunoştinţelor necesare din domeniu (obţinute ca rezultat al unui management al

cunoaşterii). Pe de altă parte, managementul cunoştinţelor poate fi mai efectiv, dacă este organizat pe baza

utilizării principiilor de management al calităţii, folosite faţă de MI. Aceasta mărturiseşte despre

interdependenţa reciprocă strânsă dintre aceste două tipuri de management.

În baza generalizării celor menţionate, putem conclude că există interdependenţe reciproce între toate

cele trei tipuri de management (MI, MQ şi MC). Relaţiile dintre fiecare din aceste tipuri de management şi

managementul general, al afacerilor (MA) reies din înseşi definiţiile lor. Schema generală, care reprezintă

interdependenţele reciproce în cauză, este prezentată în figura 7.1.

Un rol deosebit în această interdependenţă îl joacă MQ, care serveşte în calitate de punte de trecere

dintre MI şi MC. Folosirea managementului calităţii în procesele managementului informaţional poate

transforma MI în temelie sigură pentru managementul cunoştinţelor.

Odată ce fiecare din tipurile enumerate de management contribuie la eficientizarea celorlalte tipuri,

putem conclude că un efect maximal al influenţei lor la eficienţa managementului afacerilor poate fi obţinut

doar prin realizarea lor în paralel ca subsisteme, care interacţionează în cadrul aceluiaşi sistem de

management al afacerilor.

Concluzii Deşi mai multe forme de management (informaţional, al cunoaşterii, al calităţii tehnologiilor şi

serviciilor informaţionale etc.) se dezvoltă în literatura de specialitate ca direcţii aparte, la ora actuală sunt

observate unele elemente de convergenţă dintre ele. Prin urmare, este necesară studierea mai profundă a

interdependenţelor dintre aceste direcţii, cu atât mai mult că ele se intersectează din punct de vedere a

scopului şi terenului comun al tipurilor respective de management.

Interdependenţele reciproce dintre formele de management în cauză, discutate în articolul de faţă,

sunt generalizate şi prezentate ca subsisteme ale sistemului de management al afacerilor.

Generalizând cele menţionate în lucrare, putem conclude că un sistem de management al afacerilor,

bazat pe o strategie integrată, orientată la MTQ, poate fi eficient cu adevărat doar în condiţiile dacă

realizează toate dimensiunile de management (cel informaţional, al cunoaşterii şi al calităţii) conjugate ca

subsisteme ale unui singur sistem de management al afacerilor cu un scop final comun (figura 7.2). O astfel

Managementul

cunoştinţelor

(MC)

Managementul

informaţional (MI)

Sistemul informaţional

managerial (SIM)

Managementul calităţii

(MQ)

TI şi serviciilor

informaţionale

Figura 7.1. Schema interdependenţelor dintre diferite forme de management: MA, MC, MI (SIM) şi MQ

Managementul afacerilor

(MA)

Page 38: QM TI NoteCurs P-u Examen

38

de abordare a problemei contribuie la sporirea nu numai a eficienţei fiecărui tip de management aparte, dar şi

a efectului sinergetic cauzat de interacţiunea lor reciprocă în cadrul sistemului de management al firmei.

15. Abordarea sistemică a problemei pregătirii cadrelor în domeniul managementului informaţional

Informatica este unul din cele mai dinamice domenii ale ştiinţei şi practicii moderne. Dezvoltarea

continuă a informaticii condiţionează modificări respective şi în activităţile profesioniştilor informaticieni.

Deşi, în linii mari specialiştii, care practică diferite activităţi cu datele, informaţia, cunoştinţele, înregistrările

şi documentele au aceleaşi obiective (în particular, ei caută să gestioneze informaţia într-un mod, care ar

asigura integritatea si folosirea la o varietate de scopuri), dezvoltarea accelerată a tehnologiilor

informaţionale (TI) schimbă permanent hotarele dintre multe profesii specifice şi chiar natura (sensul) lor.

Un rol aparte în acest context îl au unele probleme de convergenţă a tehnologiilor informaţionale,

care după cum a fost observat în [1], contribuie la apariţia noilor profesii, în special ale celor de manageri

informaţionali. Convergenţa în mediul când totul devine digital, ştergând distincţiile dintre documentele

tipărite, vizuale, audio- şi multimedia, duce la confluenţa disciplinelor şi a activităţilor profesionale

respective. Din toate acestea rezultă că problemele de pregătire a specialiştilor în domeniul informaticii, care

ar corespunde cerinţelor moderne ale societăţii, trebuie să fie permanent în atenţia instituţiilor abilitate în

domeniu.

Scopul comunicării de faţă constă în formularea unor probleme ce ţin de abordarea sistemică a

dezvoltării programelor de studii şi de pregătire a specialiştilor în domeniul managementului informaţional

(MI) în conformitate cu necesităţile societăţii informaţionale.

Crearea unui spaţiu informaţional unic al societăţii prezintă o problemă foarte complexă, care nu

poate fi soluţionată eficient fără un management informaţional bine organizat la toate nivelurile de ierarhie

supuse informatizării (întreprindere, asociaţii, subramuri, ramuri ale economiei naţionale, societate). Nu

întâmplător managementul informaţional a devenit una din cele mai frecvente noţiuni utilizate în mediul

informaticii. În acelaşi timp, se observă o mare varietate de abordări ale acestei probleme la nivel naţional

(inclusiv nivelul micro şi macro al societăţii), internaţional şi global [1,2]. Această situaţie este reflectată de

Figura 7.2. Model structural - funcţional al sistemului de management al afacerilor,

în care în calitate de subsisteme sunt realizate MI, MC şi MQ

Consumatorii

de produse

şi servicii

Parteneri

în schimb

de date

Utilizatori

externi

ai SIM, TI

Organizaţia (întreprinderea)

Sisteme informatice

manageriale (SIM),

Tehnologii

informaţionale (TI)

în managementul

afacerilor

Managementul afacerilor

(MA)

Procesul de producere

şi prestare servicii

Sistemul informatic

al managementului

total al calităţii

Managementul

informaţional

(MI)

Managementul

calităţii TI şi SIM

Managementul

cunoaşterii (MC)Managementul

total al calităţii

produselor şi

serviciilor

(MTQ)

Page 39: QM TI NoteCurs P-u Examen

39

diversitatea interpretărilor termenului conceptual “managementul informaţional”: de la înţelegerea lui în cel

mai îngust sens al cuvântului (ca sinonim al tehnologiei informaţionale, uneori însemnând doar organizarea

datelor în memoria computerului -“managementul datelor”), până la cel mai larg sens al MI, care cuprinde

practic toate tipurile de activitate informaţională.

O astfel de varietate de interpretări ale noţiunii MI influenţează în mod direct şi formele de realizare a

MI, reflectându-se inclusiv şi asupra pregătirii specialiştilor în domeniul managementului informaţional,

unde se observă cam aceeaşi diversitate de abordări. Simţind necesitatea societăţii, mai multe instituţii de

învăţământ superior, au început să pregătească cadre în domeniul managementului informaţional, dar

neştiind prea clar, cum ar trebui să fie aceşti specialişti şi ce ar trebui să cunoască. În unele universităţi sunt

predate discipline noi sub denumirea de Management informaţional, iar în altele a apărut chiar

specializarea în acest domeniu. Dar în majoritatea cazurilor accentul în programele de învăţământ e pus pe

unele aspecte foarte înguste ale MI, neglijând în majoritatea cazurilor competenţe importante care trebuie să

fie formate la respectivii specialişti.

În acest context, sunt necesare noi cercetări în teoria şi practica mondială în acest domeniu: în

pregătirea specialiştilor informaticieni, în general, şi în pregătirea managerilor informaţionali, în particular.

Tendinţele de bază în dezvoltarea MI ca factori de influenţă în formarea

specialităţii „Managementul informaţional” Managementul informaţional a devenit o problemă odată cu apariţia societăţii şi a fluxurilor esenţiale

de informaţii. Dar ca domeniu important al ştiinţei şi practicii a început să se dezvolte accelerat doar în

ultimele 2 decenii în rezultatul dezvoltării rapide a tehnologiilor informaţionale şi a modificării continue şi

semnificative a profesiilor informaţionale respective. Analiza experienţei acumulate în domeniu [3,4] ne

permite să facem concluzi că pentru asigurarea unui MI eficient este necesară în primul rând o structurare

mai strictă a mediului de aplicare, o formulare exactă a conceptelor de bază şi a corelării lor reciproce în

cadrul sistemului. Cu atât mai mult acestea sunt necesare în cazul pregătirii cadrelor în acest domeniu de MI,

având ca scop asigurarea plenitudinii funcţionale a sistemului de management informaţional, pe deoparte, şi

reducerea redundanţei nejustificate, pe de altă parte.

În [5-7] în baza generalizării experienţei acumulate în domeniul informatizării societăţii au fost

evidenţiate următoarele direcţii de bază ale dezvoltării MI, care reprezintă ambele extreme reprezentative ale

diapazonului de interpretări ale acestei noţiuni:

MI în sensul tehnologic, condiţionat de şcoala informatică, când centrul de greutate în sensul

MI îl au tehnologiile informaţionale şi sistemele informatice ca instrumentar de soluţionare a

multor probleme ce ţin de organizarea fluxurilor informaţionale;

MI în sensul tradiţional al noţiunii de management, când resursele informaţionale sunt tratate

ca toate celelalte resurse materiale, energetice, umane etc., iar MI este interpretat din punct de

vedere al funcţiilor de dirijare: planificare, evidenţă, organizare, etc.

În direcţia tehnologică a managementului informaţional sunt evidenţiate numeroase subdirecţii,

principalele dintre ele fiind următoarele:

Managementul datelor, care include proiectarea, crearea, implementarea şi administrarea

bazelor de date;

Proiectarea, crearea, implementarea şi administrarea sistemelor informatice în procesul

exploatării lor;

Managementul documentelor, care cuprinde etapele de proiectare, elaborare, exploatare şi

administrare a sistemelor informatice documentare;

Managementul înregistrărilor, orientat la proiectarea, elaborarea şi exploatarea sistemelor

informatice de organizare şi procesare a documentelor care reflectă tranzacţii economice;

Managementul cunoştinţelor, care include identificarea, acumularea, organizarea şi utilizarea

cunoştinţelor în procesele de dirijare.

Aria de influenţă a acestui tip de management informaţional în sens tehnologic este prezentată

într-un şir de lucrări de un model structural – funcţional integrat (figura 8.1)

Tratarea tradiţională a MI este mai mult sau mai puţin fără contradicţii în literatura de specialitate.

Anume în acest context este mai clară interpretarea MI ca parte componentă a managementului general al

proceselor, ce au loc în unităţile social-economice (USE) de diferite niveluri de ierarhie, ca subsistem care

trebuie să creeze condiţii optime pentru a contribui la realizarea scopului şi produsului final al USE.

În [6,7] este argumentată necesitatea creării unui spaţiu informaţional integrat, care reflectă adecvat

toate procesele ce au loc în sistemul real, şi poate asigura condiţii pentru extragerea cunoştinţelor necesare

pentru managementul efectiv al USE-

Page 40: QM TI NoteCurs P-u Examen

40

Pot fi evidenţiate două grupe de probleme, care devin actuale în contextul temei abordate:

1) probleme de integrare în cadrul fiecărui tip de management. Aici orientarea trebuie să fie la

abordarea sistemică, în primul rând la cuprinderea ciclului întreg de viaţă a resurselor informaţionale

(care include toate etapele de la apariţia lor până la trecerea în stare pasivă după utilizare, de exemplu,

în arhive), atât în forma electronică, cât şi pe suporţi tradiţionali;

2) probleme de integrare între nivelurile şi tipurile de management referitor la date, informaţii,

cunoştinţe, documente, arhive (figura 8.1). În ultima perioadă de dezvoltare a managementului

informaţional au început să ia amploare unele direcţii noi de MI, bazate pe integrarea tipurilor de MI

deja existente, cum ar fi: managementul datelor cu managementul documentelor, managementul

documentelor cu managementul înregistrărilor.

În ultimii 10 ani a început să se dezvolte un nou tip de management (managementul calităţii

tehnologiilor şi serviciilor informaţionale), care se intersectează esenţial cu soluţionarea problemelor MI în

sensul larg al cuvântului. Managementul calităţii în acest domeniu reprezintă un exemplu de convergenţă a

Managementul Informaţional

Managementul Cunoştinţelor

Fig. 8.1. Modelul structural al managementului informaţional

Page 41: QM TI NoteCurs P-u Examen

41

diferitor tipuri de MI, care este bazat pe îmbinarea aspectelor caracteristice pentru ambele extreme de

interpretare a MI: manageriale şi tehnologice.

În aceleaşi lucrări [6,7] este argumentată concluzia că integrarea tuturor formelor de MI bazată pe

utilizarea managementului calităţii tehnologiilor şi serviciilor informaţionale este condiţia fundamentală a

dezvoltării celei mai moderne forme de management informaţional: managementul cunoştinţelor . În mod

generalizat cele menţionate despre tipurile şi direcţiile 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 cercetare-

dezvoltare a MI, dar mai ales, pentru pregătirea cadrelor în domeniul MI.

Necesitatea unui cadru de formare profesională în domeniul MI Din cele menţionate mai sus referitor la multidimensionalitatea MI, convergenţa continuă a diferitor

tipuri de MI (în sensul tehnologic şi tradiţional al noţiunii) putem conclude că pregătirea cadrelor în acest

domeniu este o problemă complexă şi cere o atenţie permanentă din partea instituţiilor de învăţământ

superior. În primul rând, este necesar un cadru general de orientare pentru programele de învăţământ în

domeniu. Totodată programele de formare profesională în MI trebuie să fie bine coordonate cu programele

de specializare în toate celelalte subdomenii ale informaticii în vederea excluderii redundanţei nejustificate.

Managerii informaţionali trebuie să aibă o viziune largă, bazându-se pe o abordare sistemică a

problemelor complexe[3]. Ei trebuie să aibă un spectru mai larg de cunoştinţe care să le permită să cuprindă

mai multe aspecte ale tehnologiilor informaţionale, pe de o parte, ale managementului informaţional (inclusiv

managementul cunoştinţelor), managementul calităţii în sisteme informatice şi managementului general (al

afacerilor), pe de altă parte.

A devenit o problemă majoră pregătirea specialiştilor de sistem de înaltă calificare, capabili să

îndeplinească individual lucrări complexe vizând elaborarea noilor tehnologii informaţionale, a sistemelor

informatice ce ţin de infrastructura informaţională de baza a societăţii. Cel mai acut aspect al acestei

Managementul general al USE

Managementul informaţional în sensul îngust, condi ţionat de şcoala informatică

Managementul informa ţional

Managementul calităţ ii în sisteme informatice

Managementul cunoştinţelor

Managementul informaţional în sensul condiţionat de şcoala de management

Tehnologiile informaţionale ca instrumentar de soluţionare a problemelor ce ţin de organizarea fluxurilor informaţionale

Planificarea, finanţarea, organizarea, încadrarea cu personal, managementul,

instruirea în domeniu şi controlul informaţiei

Managementul datelor,Managementul documentelor,Managementul informa ţional,Managementul cunoştinţelor

Managementul resurselor informaţionale:•supor ţii informaţionali (documente, medii

electronice);•departamente, care ofer ă servicii informa ţionale;

•sisteme informaţionale computerizate şi tradi ţionale, etc.

Fig. 8.2. Structura conceptuală a managementului informaţional şi al cunoştinţelor

Page 42: QM TI NoteCurs P-u Examen

42

probleme este pregătirea managerilor de proiect, de sistem si, în general, a specialiştilor în domeniul MI.

Activitatea specialiştilor informaticieni se desfăşoară într-un mediu foarte dinamic sub influenţa

multiplilor factori care se schimbă în permanenţă. Toate acestea condiţionează un şir de cerinţe faţă de

informaticieni (în special pentru specialiştii de sistem) şi, respectiv, faţă de sistemul de formare a lor.

În Academia de Studii Economice a fost acumulată anumită experienţă în pregătirea cadrelor în

domeniul Managementul informaţional în cadrul ciclului 1 (licenţă) şi a ciclului 2 (masterat). Având în

vedere necesitatea acoperirii integrale a dimensiunilor menţionate anterior ale domeniul de MI, programul de

specializare în MI (ciclul 2-masterat) prevede o orientare a studiilor nu atât la acumularea de cunoştinţe

concrete (care în mod accelerat se învechesc), cât la dezvoltarea capacităţilor de gândire sistemică şi

actualizarea permanentă a acestora în procesul activităţii practice, conform evoluţiei progresului tehnico-

ştiinţific în domeniu.

Din acest motiv, programul de studii include pe lângă disciplinele privind aspectele concrete ale

tehnologiilor informaţionale (care presupun însuşirea mijloacelor şi instrumentarului: afaceri electronice,

proiectarea sistemelor informatice, baze de date, reţele informatice, tehnologii de procesare, etc., studiate în

mare parte la ciclul 1), şi discipline orientate la o pregătire teoretică fundamentală, la formarea unei culturi

profesionale adecvate si a gândirii sistemice, discipline necesare pentru rezolvarea optimă a problemelor de

informatizare complexe (managementul cunoştinţelor, managementul calităţii produselor şi serviciilor

informaţionale, gestiunea proiectelor informatice etc.), care apar permanent intr-un mediu dinamic (figura

8.3). În acest context, în programul de studii sunt prezente şi aşa discipline opţionale ca: analiza sistemică,

cibernetica proceselor economice, inteligenţa artificială, sisteme suport pentru decizii, etc.

Analizând primele rezultate a celor 2 ani de pregătire a specialiştilor în MI, considerăm că programul

de studii al ASEM ar putea fi pus la baza creării unui cadru general de orientare pentru programele de

învăţământ în domeniu pentru alte universităţi din Moldova

Page 43: QM TI NoteCurs P-u Examen

43

Concluzii Din cercetările efectuate [3-7] şi din experienţa acumulată în Academia de Studii Economice din

Moldova pot fi extrase unele concluzii, principalele dintre care sunt următoarele:

1) Programele de învăţământ orientate la formarea specialiştilor în domeniul managementului

informaţional trebuie să aibă la temelie o abordare sistemică a problemei. La baza trebuie să fie

sistematizarea activităţilor informaţionale la toate nivelurile de ierarhie în societate şi generalizarea celor mai

moderne teorii şi experienţe acumulate în informatică;

2) Este necesară elaborarea unui cadru naţional de formare profesională a specialiştilor în

managementul informaţional, în care ar fi determinat conceptul de management informaţional, dată

descrierea specialităţii şi reglementate disciplinele (unităţile de cursuri) obligatorii în programele respective

de studii;

3) Având în vedere dinamismul accelerat al informaticii, pentru perfecţionarea sistemului de pregătire

a specialiştilor în domeniu sunt necesare:

efectuarea permanentă a cercetărilor impactului schimbărilor în domeniul tehnologiilor

informaţionale asupra specialităţilor informatice;

perfecţionarea curriculum-urilor specialităţilor informaţionale (şi nu numai) în contextul

dezvoltării Societăţii Informaţionale.

MI aspecte tehnologice:

•Sisteme informatice financiar-contabile

•Afaceri electronice

•Îndeplinirea şi susţinerea tezei de masterat, etc.

MI aspecte traditionale şi mixte:

•Gestiunea proiectelor informatice

•Economia serviciilor informatice

•Gestiunea securităţii informatice

MI de nivel superior

•Managementul cunoştinţelor

•Managementul calităţii

produselor şi serviciilor informatice

(supuse managementului informaţional)

Grupa de discipline opţionale:

Teoria sistemelor, Programarea ERP, Cibernetica proceselor economice,

Limbaje de modelare, Inteligenţă artificială,

Sisteme suport pentru decizii, Integrarea aplicaţiilor Windows,

Fiabilitatea sistemelor informatice, etc.

Instrumentare de realizare a MI şi MC:

•Tehnologii avansate de reţea

•Tehnologii de programare

•Procesarea limbajului natural,

•etc.

MI aspecte tehnologice concrete,

insusite la ciclul1:

Proiectarea sistemelor informatice,

Baze de date, Retele informatice,

Tehnologii de procesare a informatiei

Programarea calculatoarelor,

Sisteme de operare, etc.

Managementul informaţional

Figura 8.3. Structura programului de formare profesională în domeniul MI