f0001800 calitatea produselor software

Upload: anita-luca

Post on 06-Jul-2015

765 views

Category:

Documents


3 download

TRANSCRIPT

6. CALITATEA PRODUSELOR SOFTWARESe analizeaz produsele software comparativ cu celelalte produse, scondu-se n eviden particularitile produselor program. Se definesc i se analizeaz caracteristicile de calitate, relaiile dintre caracteristice i dintre caracteristici i subcaracteristici. Se descriu modelele calitii software i se face o analiz comparat a acestora indicndu-se tipurile de software la care se preteaz. Se prezint caracteristici particularizate pe tipuri de software i standarde de calitate.

6.1. Particulariti ale produselor softwareProdusele software posed o serie de particulariti care le deosebesc net de celelalte produse: - producia de software este o producie de unicate; aceasta face ca activitatea de stabilire a standardelor din acest domeniu s fie mult mai dificil; sunt standardizate procesele, metodele i tehnicile de elaborare a software-ului astfel nct n final s se obin produse software cu un anumit nivel al calitii; - produsele software sunt reproductibile cu costuri aproape nule; odat realizat un produs, el este disponibil ntr-un numr nelimitat de exemplare; calitatea copiilor este aceeai cu cea a originalului, deci o calitate necorespunztoare se propag cu efecte nefavorabile, antrennd costuri de remediere foarte mari i afectnd imaginea firmei productoare; - produsele software nu sunt supuse uzurii fizice, ele fiind afectate de uzura moral, atunci cnd nu mai corespund noilor cerine sau cnd apar produse software mai performante care realizeaz aceleai funciuni; un produs software depit este nlocuit cu altul nou sau este adaptat pentru a satisface noile cerine formulate de utilizator; decizia se ia n raport de costurile fiecreia dintre variante, iar dac produsul software este uor modificabil, costurile aferente adaptrii sale vor fi mult mai sczute; - pentru a utiliza produsele software este nevoie de un procesor care s le interpreteze; sistemele de calcul i operare sunt supuse, de

asemenea, uzurii morale, punndu-se i n acest caz problema transferrii produsului software ntr-un alt mediu; un produs software care posed o portabilitate ridicat se modific uor, cu costuri mici; - comportamentul instruciunilor este egal n timp, nu se deterioreaz; - erorile sunt provocate de folosirea sau combinarea incorect a instruciunilor sau altor componente elementare i nu de componentele ca atare; - interaciunile dintre componentele unui program, secvene, proceduri, module, sunt complexe, n special dac acestea ruleaz n cadrul unor aplicaii complexe; - erorile exist deja n program, ele sunt eliminate cu timpul, prin depanare, deci programul nu-i pierde calitile prin trecerea timpului, ci i le mbuntete; se demonstreaz c oricte corecii se efectueaz programul rmne n continuare cu erori; - non-calitatea programelor este atribuit n ntregime greelilor umane de proiectare, concepie, programare, documentare; eliminarea unei erori nu d sigurana c s-a diminuat numrul total de erori cu o unitate;

- software este invizibil i nevizualizabil; software nu se reprezint geometric aa cum, de exemplu, terenul este reprezentat pe o hart; cnd se ncearc o diagram a structurii software, se constat nu numai o diagram, ci cteva grafuri general direcionate suprapuse unele peste altele; grafurile reprezint fluxul de control, fluxul datelor, abloane ale dependenei, secvene de timp i relaii spaiale; aceste grafuri nu sunt, n mod uzual, plane cu att mai puin ierarhice; - produsele software sunt diferite, neexistnd produse identice,deoarece obiectivele i procesele de realizare sunt diferite; din aceste considerente statistica nu se aplic la multiplicri; - stabilitatea specificaiilor software nu se garanteaz; schimbarea cerinelor produce schimbri n comportarea produsului program respectiv; entitatea software este n mod constant subiectul presiunilor pentru schimbare i pentu motivul c, n comparaie cu alte produse cu care interacioneaz, software se schimb mult mai uor deoarece este gndire pur, infinit maleabil;

- complexitatea este o caracteristic esenial a produselor program; multe din problemele clasice ale dezvoltrii produselor software deriv din complexitate i din creterea sa neliniar odat cu creterea mrimii software; complexitatea genereaz:

dificulti de comunicare ntre membrii echipei, fapt ce conduce la producerea unor defecte ale produsului, la depirea costurilor i termenelor; dificulti n nelegerea tuturor strilor posibile ale programului, genernd scderea fiabilitii;

strile invizibile care constituie capcane pentru securitate; dificultatea extinderii programului la noi funcii fr a crea efecte laterale; probleme de management; din cauza complexitii este dificil de realizat o vedere general a programului, ceea ce provoac dificulti n realizarea integrrii conceptuale; greuti de nvare i nelegere care reduc randamentul personalului. Particularitile produselor software influeneaz metodele de evaluare a calitii i costului acestora.

6.2. Definirea caracteristicilor de calitateCalitatea produsului software este descris ca o combinaie de caracteristici. Clienii sunt interesai s cumpere produse cu nivel ridicat al calitii la un pre ct mai sczut. Pentru client este esenial ca produsul software s conin funciile necesare utilizatorilor, astfel nct utilizatorii s gseasc produsul relevant, care rezolv sarcinile n mod eficient, este fiabil i uor de meninut. Standardul ISO definete calitatea unui produs ca fiind totalitatea nsuirilor i caracteristicilor unui produs sau serviciu care poart abilitatea de a satisface nevoile specificate sau implicite. Conform acestei definiii calitatea este intrinsec produsului i reprezint viziunea produciei asupra calitii A doua coal de gndire susine c pentru obinerea calitii se merge mai departe de aceast definiie. Pentru aceast coal calitatea este centrat att pe produs, ct i pe relaia dintre client i produs, unde clientul este orice parte afectat, iar produsul include bunuri i serviciu. Conceptul de calitate se schimb n timp, ca rspuns la schimbarea mediului i valorilor, unde valorile contureaz credina clienilor privitor la bun i ru.

Figura 6.1 Viziuni ale calitii Din aceste considerente calitatea software este privit i din perspectiva clientului ntr-un anumit context organizaional [MILL97]. Acest lucru este cunoscut ca viziunea calitii din punct de vedere al utilizrii. Fiecare participant n procesul de dezvoltare, comercializare i utilizare software are o viziune asupra calitii diferit i adeseori n conflict cu a celorlali: - managerul de program produsul este fiabil, mentenabil, satisface cerinele utilizatorului i este realizat n cadrul timpului i bugetului alocate; aceast viziune conduce la realizarea unui compromis; - analistul afacerii satisfacerea clienilor n campania dezvoltrii i dorete protejarea funcionalitii i cerinele definite de utilizator de la schimbri externe; - auditorul privind asigurarea calitii detecteaz devierile de la calitate i acioneaz pentru a readuce procesul pe calea calitii indiferent de rezistena personalului - utilizatorul final personal cu un impact redus n dezvoltarea sistemului, dar responsabil pentru ndeplinirea sarcinilor. - Finanatorul cel care pltete, dorete ca produsul s fie livrat la timpul stabilit i la preul convenit. n cele din urm, viziunea realizatorului asupra calitii impune modul de abordare privind construirea produsului final. Specialitii n domeniul software au identificat urmtoarele modaliti n care dezvoltatorii percep calitatea: - calitatea este perceput ca un proces ingineresc raional n care realizarea obiectivului este posibil deoarece cerinele s-au materializat n specificaii lipsite de ambiguitate; calitatea este concentrat pe

Viziunea clientului bun de folosit

ndeplinirea specificaiilor, implicnd necesitatea unui control riguros al procesului de dezvoltare; dezvoltatorul percepe calitatea ca pe un atribut al produsului; aceast viziune este larg mprtit de comunitatea inginerilor software; - realizatorul percepe calitatea ca obiectiv i nelege conflictele de interese implicate; el va ncerca s determine care caracteristici ale calitii se cer ndeplinite, deoarece nu este posibil s se satisfac n ntregime cerinele fiecruia referitoare la calitate; - realizatorul consider calitatea ca fiind construit social, implicnd att de multe grupuri diferite ct este posibil n scopul includerii multiplelor interese i perspective; definiia rezultant a calitii reflect un consens al viziunilor implicate. Calitatea software are dou trsturi distincte: - conformitatea cu specificaiile: este o soluie bun?; - este bun pentru utilizarea intenionat: se adreseaz problemei?. n ambele cazuri exist un set de atribute ale calitii software. Tehnicile utilizate pentru implementarea atributelor au un impact pozitiv, neutru sau negativ una asupra alteia. Aadar, o prioritizare a caracteristicilor calitii se determin timpuriu n viaa programului pentru a stabili obiectivele calitii programului i a stabili compromisul ntre diferite caracteristici. Principiile calitii sunt: - prevenirea introducerii defectelor conform acestui principiu efortul depus pentru prevenirea introducerii defectelor este cel puin egal cu cel depus pentru detectarea prezenei lor n cod; metodele pentru realizarea acestui obiectiv includ utilizarea celor mai adecvate proceduri i standarde ale ingineriei software, stabilirea unei metode formale a acumulrii i diseminrii nvmintelor din experiena i greelile trecutului; - detectarea i corectarea defectelor ct mai devreme posibil n procesul de dezvoltare controlul calitii se efectueaz pe toate etapele ciclului dezvoltrii i la toate fazele cheie ale dezvoltrii produsului cum sunt stabilirea cerinelor, proiectarea, documentarea i codificarea; - eliminarea cauzelor i a simptomelor defectelor este o extensie a principiului anterior; eliminarea defectelor fr eliminarea cauzelor nu este o cale satisfctoare de remediere; prin eliminarea cauzei se obine mbuntirea procesului; - auditarea independent pentru conformitate cu standardele i procedurile este un audit format din dou pri: audit desfurat la nivel proces i auditrile la nivel proiect care va determina dac activitile proiectului au fost ndeplinite n conformitate cu standardele i procedurile stabilite n procesul calitii i dac acele standarde i proceduri sunt adecvate pentru a asigura calitatea proiectului n general. Referirea la nevoile stabilite sau implicite se face pe baza definiiei calitii din standardul ISO 8402 [ISO3 de ters]: totalitatea trsturilor i caracteristicilor

unui produs sau serviciu care se bazeaz pe abilitatea sa de a satisface nevoile stabilite sau implicite. ntr-un context contractual nevoile sunt stabilite, specificate, pe cnd n alt context nevoile implicate sunt identificate i definite.

6.3. Sistemul caracteristicilor de calitateCalitatea unui produs software se obine la finalul procesului de dezvoltare numai dac pe parcursul dezvoltrii se construiesc acele proprieti interne care determin nivelul caracteristicilor calitii. Caracteristicile calitii software se grupeaz n: - caracteristici constructive sunt cele definitorii pentru soluiile adoptate, de exemplu caracteristicile principalelor componente ale produsului program; - caracteristici funcionale sunt definitorii pentru rezultatele obinute n exploatare, n serviciu; exemplu: viteza de execuie, randamentul, productivitatea, fiabilitatea etc; - caracteristici economice se refer la un sistem de indicatori care definesc prin costuri i preuri efortul pentru realizarea produsului program; iau n considerare disponibilitatea executrilor; exemplu: resurse, mod de organizare a procesului de realizare al produsului; descriu i efortul necesar pentru exploatarea produselor program precum cheltuieli de exploatare, de ntreinere, de eliminare a eventualelor erori, pentru dezvoltarea produselor program etc.; - caracteristici tehnologice evideniaz posibilitile de execuie ntrun sistem tehnologic dat a unei anumite solicitri de produs program; abordarea se face la nivelul unor operaii de transformare sau a unui proces tehnologic compus din mai multe operaii succesive; se are n vedere i gradul de diversificare/tipizare a produsului program pentru c, n general, cu ct este mai mare numrul de documente tipizate sau standardizate, cu at este mai uor modul de realizare a produsului i costurile sunt mai reduse; anumite condiii constructive impuse produsului program determin ca tehnologie s fie aplicabil doar la un numr critic de produse program deoarece altfel nu se justific economic aplicarea sa; - caracteristici estetice se refer la design, prin existena anumitor proporii ale dimensiunilor, funcionalitatea produsului, cromatica, aspect general etc.; privite din punct de vedere al specialitilor, aceste caracteristici sunt apreciate n mod obiectiv pe baza unor criterii astfel nct un produs program s corespund noiunilor de confort vizual etc.; - caracteristici ergonomice reprezint o subgrup a caracteristicilor constructive i funcionale care:

rspund preocuprilor ca un produs program s cerinelor operatorului uman; urmresc s produc maxim de satisfacie innd seama de posibilitile fiziologice, senzoriale, nervoase limitate ale acestuia. - caracteristici ecologice vizeaz protecia mediului din punct de vedere psihologic, referitoare la ncadrarea produsului program n raport cu sistemul de valori al societii la un moment dat, inclusiv dup expirarea duratei sale de utilizare; - caracteristici de identificare aparin sistemului de eviden, astfel nct n toate etapele de realizare a produsului program s fie posibil identificarea faptic a acestuia i s fie stabilit corespondena reciproc dintre informaiile documentaiilor constructive, tehnologice i manageriale. Caracteristicile calitii sunt privite diferit de ctre beneficiar:constructive, funcionale, ergonomice, productor: tehnologice, societate: ecologice. Caracteristicile economice sunt comune tuturor, dar se aplic specific. ntre caracteristicile de calitate, indiferent din ce perspectiv sunt privite sau grupate, exist multiple relaii de interdependen, subordonare, ierarhizare, de compoziie sau agregare. Complexitatea acestor relaii determin ca ansamblul caracteristicilor de calitate s alctuiasc un sistem. Pentru ca acest sistem de caracteristici de calitate s fie operaional, n sensul ca s se selecteze un set de caracteristici pe baza cruia s se construiasc un sistem de metrici cu care calitatea unuia sau mai multor produse software s fie evaluat, setul selectat are urmtoarele proprieti [IVAN01]: - s fie apreciat complet de ctre evaluatori, n sensul de a surprinde toate aspectele calitii n care evaluatorii sunt interesai; prin evaluatori se neleg persoanele autorizate i n cunotin de cauz, interesate n evaluarea calitativ a produsului, a organizaiei productoare sau a sistemului calitii, respectiv productori, beneficiari, auditori; - s fie ierarhizabil, n sensul ca principalele caracteristici s fie descompuse n factori ce sunt cuantificai cu ajutorul metricilor; - s fie necontradictoriu; caracterul contradictoriu al unor caracteristici nu este eliminat n totalitate, fiind practic imposibil s se dezvolte un set de caracteristici perfect consistent; astfel, complexitatea vine n contradicie cu fiabilitatea, portabilitatea cu eficiena etc; ca urmare, pentru elaborarea unor specificaii pe baza unui set de caracteristici de calitate ce presupun aspecte contradictorii, fie se stabilesc anumite niveluri pentru anumite caracteristici, celelalte pstrndu-se n limite acceptabile sau lsndu-se la dispoziia priceperii proiectanilor i programatorilor, fie se stabilete un sistem de prioriti specificate explicit; de exemplu, n cadrul unui produs software, anumite programe/module se execut mai rapid, iar altele s fie prevzute cu corespund

proceduri suplimentare de verificare i testare a corectitudinii datelor, chiar dac aceasta duce la ncetinirea duratei de execuie. La nivel general, sistemul se bazeaz pe urmtoarele considerente elementare: - conexiunea elementelor interne ale sistemului s fie mai puternic dect legturile sistemului cu mediul; aceasta se realizeaz prin selectarea caracteristicilor de calitate pe anumite criterii cum sunt specificaiile beneficiarilor, urmrirea de ctre productor a unor anumite caracteristici specifice clasei din care face parte produsul software respectiv etc.; - orice sistem, indiferent de complexitatea sa este un subsistem al unui sistem mai cuprinztor; n toate situaiile, sistemul caracteristicilor de calitate ce urmeaz a fi construit este doar un subsistem al calitii software; - unitatea i complexitatea unui sistem presupune o anumit ordine n aezarea i funcionarea elementelor sale; - orice sistem este caracterizat printr-o anumit structur, care este privit ca atare, adic sub forma exact de reunire a tuturor subsistemelor sau prin urmrirea diferitelor structuri componente; - orice subsistem este posibil s aib o multitudine de bucle de reacie care se nchid pe anumite poriuni de proces, pe anumite poriuni de sistem sau chiar la nivelul ntregului sistem; acest lucru se traduce la nivelul sistemului caracteristicilor de calitate prin interdependenele i contradiciile existente ntre caracteristici; cea mai dificil problem a sistemului calitii software este cercetarea mecanismului specific al interaciunii dintre diferitele caracteristici de calitate ale sistemului, problem posibil de soluionat doar prin managementul calitii. Obinerea unui sistem operaional de caracteristici modelul calitii pe baza cruia s se realizeze managementul i gestiunea calitii, presupune parcurgerea unor etape anterioare obligatorii, astfel [TEOD01]: - definirea problemei se stabilesc caracteristicile i factorii de calitate ce vor fi luai n considerare; - construirea modelului calitii se execut analiza i modelarea relaiilor dintre componente, a modului de interaciune, a interdependenelor, precum i alegerea unui criteriu de performan; - alegerea este parial determinat de felul n care este precizat problema; - stabilirea soluiei o soluie este obinut cnd se apreciaz c rspunsul obinut la un moment dat este cel mai bun n comparaie cu criteriile stabilite; - omologarea soluiei omologarea soluiei obinute pe baza modelului rezultat al procesului de optimizare, se face prin: compararea cu performanele precedente sau ale altor produse concurente pe pia superioritatea noii soluii este

considerat ca o verificare a valabilitii ei; inconvenientul acestei metode const n aceea c n evaluarea calitii oricrui produs pe o perioad trecut toate intrrile sunt cunoscute i elemente importante ale lurii deciziei precum evoluia pieei, obinuinele utilizatorilor etc.; compararea cu performanele viitoare const n compararea soluiilor supuse la seturi de date de intrare externe identice, fa de una din ele; inconvenientele sunt n principal legate de timp i cost ridicat pentru alctuirea seturilor respective de date, elaborarea sau luarea n calcul a unor variante diferite ale produsului, obinerea i analiza rezultatelor sumare comparative; n plus, orict de exhaustiv sunt elaborate seturile de date de test, n cazul produselor complexe, acestea nu sunt atotcuprinztoare, ceea ce face s nu se trag concluzii privind alte seturi de date de intrare; comparaia prin simulare experimentrile repetate satisfac caracteristicile unor ncercri n condiiile unor date de intrare externe diferite i alese la ntmplare; totui, i aceast metod genereaz probleme specifice care reduc contribuia sa la rezolvarea problemei. Identificarea i cuantificarea caracteristicilor de calitate a produselor software sunt eseniale n stabilirea calitii aplicaiilor informatice i asigurarea nivelului de calitate dorit.

6.4. Relaii ntre caracteristicile calitiiSe consider drept axiom fundamental a calitii software urmtoarea afirmaie: proprietile sau caracteristicile interne tangibile ale produsului determin calitatea caracteristicilor sale externe [DROM96]. n scopul soluionrii acestei probleme complexe, modelele calitii se descompun n calitate extern, perceput de utilizator, i caracteristici de calitate interne care depind de realizator. Se stabilete o legtur ntre proprietile tangibile ale produsului i nivelurile caracteristicilor de calitate, aa cum se arat, schematic, n figura 6.2.

Figura 6.2 Relaiile dintre caracteristicile externe i cele interne ale calitii

(utilizator)

Modelul este structurat pe trei pri: definirea i descompunerea caracteristicilor externe ale calitii, etap orientat spre utilizator; definirea i clasificarea caracteristicilor interne ale calitii, etap orientat spre realizator; realizarea legturilor detaliate ntre subcaracteristicile externe i subcaracteristicile interne. Calitatea extern este calitatea observat de utilizator i care este testat. Nivelul sczut al calitii externe se observ n cderea sistemului, comportare neateptat, coruperea datelor, performan sczut. Calitatea intern reprezint partea care nu se observ i const n structura programului, practicile de codificare i mentenabilitate. Calitatea intern sczut se msoar n timpul irosit n procesul de dezvoltare. Remedierea defectelor cauzeaz apariia probabil a unor noi probleme i, n consecin, noi testri. Din punct de vedere al afacerii, nivelul redus al calitii interne determin pierderea reputaiei companiei i a competitivitii. n scopul creterii calitii software este necesar mbuntirea calitii interne. Caracteristicile interne ale produsului, procesului sau resursei sunt acelea care se msoar prin examinarea produsului, procesului sau resursei, separat de modul lor de comportare. Caracteristicile externe ale produsului, procesului sau resursei sunt acelea care se msoar numai cu referire la modul n care produsul, procesul sau resursa reacioneaz cu mediul. Caracteristicile externe ale calitii software afecteaz n mod direct valoarea produsului la utilizator.

Caract. ext 1

Caract. ext. 2

Eficiena este extensia pn la care un produs sau proces opereaz utiliznd cele mai puine resurse posibile. Este important pentru clieni n scopul reducerii costurilor de rulare a software. Este constrns de arhitectura software. Msoar ct de mult timp CPU, memorie, spaiu disk sau alte resurse software se utilizeaz: Fiabilitatea este o cerin non-funcional care msoar frecvena cderilor aa cum sunt ntlnite de testeri sau utilizatorii finali. Fiabilitatea ridicat este rezultatul unei foarte reduse rate a cderilor. Se obine prin verificarea repetat a erorilor i creterea redundanei. Depinde de numrul greelilor fcute de inginerii software care au lucrat la dezvoltarea software. Este afectat de complexitatea codului i n mod indirect de comentarii. Este specificat ca media timpului dintre dou cderi sau probabilitatea unei cderi ntr-o perioad dat. Se mbuntete prin asigurarea faptului c software este uor de implementat i schimbat i, de asemenea, prin asigurarea c dac au loc cderi, sistemul le gestioneaz sau este refcut uor. Reutilizabilitatea este msura extensiei pn la care un produs sau proces este utilizat n contexte diferite fa de cel pentru care a fost original proiectat. Este constrns de arhitectura software. Pe termen lung, reduce costul dezvoltrii software. Caracteristica agregat utilizabilitate i utilitate, recunoscut n literatur sub denumirea, n limba englez, de usefulness este extensia pn la care un sistem este utilizat pentru a ndeplini o sarcin, este o caracteristic esenial a unui produs i combin utilizabilitatea i utilitatea. Se msoar n contexte particulare de utilizare. Utilizabilitatea msoar extensia pn la care un produs sau proces este uor de nsuit, permite utilizatorilor s fie productivi i previne erorile i de asemenea, n mod subiectiv, provoac satisfacia utilizatorilor. Utilitatea extensia pn la care, independent de utilizabilitate, un produs sau proces asigur capabilitile necesare pentru a rezolva problemele clientului. Categoriile calitii interne cuprind aspecte prezentate n continuare. Comentariile afecteaz mentenabilitatea, iar n mod indirect fiabilitatea. Se msoar ca raport ntre totalul liniilor de comentarii i totalul liniilor cod surs. Complexitatea codului afecteaz mentenabilitatea i fiabilitatea este msurat n termeni ai adncimii, numrul ramurilor i utilizarea unor construcii de programare complexe. Uurina nvrii reprezint viteza cu care un utilizator nou devine familiarizat cu aplicaia. Se descrie n termenii curbelor de nvare. Se mbuntete prin reducerea numrului de articole care sunt nvate sau prin realizarea procesului de nvare mai intuitiv. Preocup utilizarea ordinar. Este redus de informaii n exces. Modularitatea este extensia pn la care software este mprit n componente, numite module, care au un nalt grad de coeziune intern, grad sczut de cuplare ntre ele i interfee simple. Influeneaz pozitiv mentenabilitatea; Portabilitatea definete abilitatea software de a fi rulat ntr-o varietate de medii hardware i software fr sau cu modificri minore.

Testabilitatea reprezint abilitatea software de a fi instrumentat astfel nct s fie testat n mod automat. Trasabilitatea reprezint abilitatea de a determina informaia care conduce la luarea unei decizi. Este important deoarece proiecteaz documentele s fie capabile s indice care cerin este implementat printr-un aspect dat al proiectrii. Mentenabilitatea msoar extensia pn la care software este modificat la cel mai sczut cost posibil. Este afectat de complexitatea codului i de comentarii. Este constrns de arhitectura software. Este influenat pozitiv de modularitate. Reduce costurile att la productor ct i la utilizator. Relaiile de interdependen dintre caracteristicile calitii, att ntre cele din aceeai categorie, ct i ntre cele din categorii diferite, sunt complexe i dificil de cuantificat. Spre exemplu, nu se aplic, n majoritatea cazurilor relaia de tranzitivitate. Astfel dac fiabilitatea influeneaz complexitatea, iar complexitatea influeneaz mentenabilitatea, este greu de stabilit o influen direct a fiabilitii asupra mentenabilitii. i din acest considerent, la stabilirea caracteristicilor de calitate ale unui proiect software, se imune o foarte bun cunoatere a mediului n care acesta va evolua, a cerinelor impuse, pentru a se stabili ponderea caracteristicilor de calitate. Relaii ntre caracteristici ale calitii sunt prezentate n tabelul 6.1. Diferite caracteristici ale calitii sunt interdependente. Sunt necesare analize, pe baza unor criterii stabilite, pentru a determina gradul de interdependen. De exemplu, eficiena i adaptabilitatea sunt n conflict. Tabelul nr. 6.1 Relaii ntre caracteristici ale calitii Reutilizabilitate 0 0 0 0 0 0 0 0 0 0 0 Mentenabilitate Completitudine

Adaptabilitate

Utilizabilitate

Corectitudine

Portabilitate

Adaptabilitate 0 0 0 0 0 Utilizabilitate + 0 0 0 0 Eficien 0 0 0 Completitudine 0 + + 0 0 Corectitudine + + 0 0 0 Mentenabilitate + + 0 + Portabilitate 0 0 0 0 Robustee + + 0 + Securitate + 0 0 Reutilzabilitate + 0 0 0 Fiabilitate + + 0 0 + + influen pozitiv, - contradicie; 0 indiferen.

0 0 0 0 0 0 + 0 0 + +

0 0 0 0 0 0 0 0 0 + 0

0 0 0 0 0 0 0 0 + 0 +

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

Fiabilitate

Robustee

Securitate

Eficien

Un risc n ingineria cerinelor software este acela de a crete nivelul unei caracteristici a calitii, de exemplu performana, n detrimentul alteia cel puin la fel de important, cum este portabilitatea [BOEH96]. Foarte multe proiecte software au fost abandonate din cauz c ele au avut un set slab de cerine ale caracteristicilor calitii, chiar dac ele au avut cerine de interfa i funcionale bine specificate. Dezvoltarea de software cu nivel de calitate corespunztor ateptrilor utilizatorilor presupune realizarea unui echilibru ntre caracteristicile calitii. Acest lucru implic identificarea conflictelor ntre cerinele dorite ale calitii i desfurarea de activiti care s asigure obinerea unui echilibru satisfctor. Rezolvarea conflictelor dintre caracteristicile calitii presupune: - depistarea conflictelor i negocierea compromisurilor dintre caracteristici; - diagnosticarea conflictelor dintre caracteristici pe baza unor informaii timpurii. O tehnic de stabilire a unui compromis referitor la caracteristicile de calitate care s satisfac toi participanii la dezvoltarea, comercializarea i utilizarea unui produs software este tehnica negocierii bazat pe modelul n spiral ctig-la-ctig. Tabelul nr. 6.2 Corelaia dintre factorii calitii i domeniul aplicaiei [MAND03] Caracteristici ale calitii

Reutilizabilitate x x x x x x x

Mentenabilitate

Completitudine

Adaptabilitate

Utilizabilitate

Corectitudine

Portabilitate

Domeniul aplicaiei Sisteme noninteractive (sisteme de operare etc.) Dezvoltarea programelor (compilator etc.) Sisteme cu sigurana critic Controlul proceselor Sisteme interactive Protecia datelor Sisteme n timp

C

C

x

x

C

C

x

C

x

C

x x x C x x

C D C C D D

x x x x x C

xC C C C x

C C C x x x

C x x x x x

C x x x x x

C x C C x x

x C C x C x

C C C x x x

Fiabilitate

Robustee

Securitate

Eficien

real CAD, CAE, CAQ Sisteme distribuite

C x

C x

x C

C C

C C

x x

x x

C x

x C

x x

x C

Legend: C factor de calitate cerut; D factor dorit, dar necerut; x factor nerelevant. n literatura de specialitate, att din ar ct i strin, se gsesc numeroase definiri i ierarhizri ale caracteristicilor de calitate.

6.5 Modele ale sistemelor caracteristicilor de calitate softwareModelele calitii software sunt realizate cu scopul de a permite dezvoltatorilor o mai clar nelegere a prevenirii defectelor n dezvoltarea software, creterea vitezei i consistenei dezvoltrilor software. Modelele cunoscute, ntlnite n literatura de specialitate, valorific experiena ctigat n elaborarea unor proiecte, i, plecndu-se de la anumite necesiti practice ale aplicaiilor i de la un set iniial de caracteristici, prin rafinare, ordonare i diminuarea redundanelor, se ajunge la construirea unei arborescene a caracteristicilor. Se prezint, n continuare, mai multe modele ale caracteristicilor de calitate. Modelul McCall [McCA79], se focalizeaz pe cerinele utilizatorului. Conine 11 caracteristici ale calitii grupate n trei categorii aa cum sunt prezentate n figura 6.3.

Figura 6.3 Modelul calitii McCall Denumirile utilizate n model sunt factori pentru caracteristici i criterii pentru subcaracteristici. Ierarhizarea modelului este prezentat schematic n figura 6.4. La nivel de factori este viziunea calitii produsului orientat spre management. Calitatea orientat spre software este asigurat la nivelul criteriilor, iar la nivelul metricilor se asigur msurarea cantitativ a caracteristicilor.

Revizie proFigura 6.4 Cadrul calitii software McCall

Menten

Pentru fiecare factor set de criterii se stabilete un set de criterii care se definesc i se msoar. Criteriile stabilite se verific, privind gradul de satisfacere a cerinelor, utiliznd metrici. Verificrile se fac pe timpul dezvoltrii. Modelul Boehm [BOEH80], figura 6.4 este tot un model ierarhic, similar cu modelul McCall, concentrat pe cerinele utilizatorului.

Porta

Figura 6.5 Modelul Boehm al calitii Modelul Boehm cuprinde 7 subcaracteristici fa de 11 ale modelului McCall, iar clasificarea este, de asemenea diferit fa de modelul McCall. Modelul calitii conform standardului ISO 9126/1, figura 6.5, stabilete ase caracteristici cheie n realizarea software de calitate: funcionalitatea, fiabilitatea, utilizabilitatea, eficiena, mentenabilitatea i portabilitatea.

Interoperabilita AcurateeFigura 6.6 Modelul calitii conform ISO 9126/1 Se prezint, n continuare, definiiile caracteristicilor i subcaracteristicilor conform standardului ISO 9126/1. Funcionalitatea reprezint capacitatea produsului software de a asigura funciile care satisfac necesitile declarate sau implicite cnd software este utilizat n condiiile specificate. Dac un produs software are o funcionalitate de bun calitate, el este construit corect i produsul ofer funciile adecvate. De exemplu, utilizatorii sunt satisfcui cu funciile, cum funciile coopereaz cu alte sisteme i securitatea produsului software.

Conformitate Securitate

Conformitatea reprezint capacitatea produsului software de a furniza un set de funcii adecvate unor sarcini specifice i obiectivelor utilizatorului.. Acurateea este capacitatea produsului software de a furniza rezultate corecte sau agreate de utilizator cu gradul necesar de precizie. Interoperabilitatea reprezint capacitatea produsului software de a interaciona cu unul sau mai multe sisteme specifice. Securitatea este capacitatea produsului software de a proteja informaiile i datele de acces neautorizat. astfel nct s fie citite sau modificate numai de persoane sau sisteme autorizate. Accesul, citirea sau modificarea se permit numai persoanelor i sistemelor autorizate Conformitatea funcionalitii reprezint aderena la standarde, convenii sau norme legislative i prescripii similare referitoare la funcionalitate. Fiabilitatea este capacitatea produsului software de a menine un nivel specific de performan cnd este utilizat n condiiile specificate. Dac un produs software are un nivel corespunztor al fiabilitii, utilizatorul capt ncredere n produs. Produsul software funcioneaz fr surprize neplcute i dac se ntmpl ceva nedorit este uor de refcut. Maturitate const n capacitatea produsului software de a evita cderile ca rezultat al unor erori n software. Toleran la erori reprezint capacitatea produsului dea menine un nivel specificat de performan n cazul apariiei unor erori sau a unor violri a interfeelor specifice. Refacerea const n capacitatea produselor software de restabilire a nivelului de performan i de recuperare a datelor afectate n cazul cderilor. Conforman cu fiabilitatea reprezint aderena la standarde, convenii legislative i prescripii similare referitoare la fiabilitate.. Utilizabilitate reprezint capacitatea produsului software de a fi neles, nvat, utilizat i atractiv pentru utilizator, cnd este utilizat n condiiile specificate. n cazul unui produs software cu nivel corespunztor de utilizabilitate, utilizatorul apreciaz produsul ca relevant necesitilor sale. Un produs cu nivel corespunztor de utilizabilitate este uor de nvat i uor de lucrat cu el. nelegerea este capacitatea de a permite utilizatorului s neleag dac software este corespunztor i cum este utilizat n cazul unor sarcini particulare i condiii de utilizare.. Uurina cu care este nvat reprezint capacitatea de a permite utilizatorului de a nva aplicarea sa. Operabilitatea const n capacitatea de a permite utilizatorului s opereze cu produsul software i s exercite controlul asupra lui. Atractivitatea este capacitatea de a fi atractiv pentru utilizator. Conformitatea utilizabilitii reprezint aderena la standarde, convenii legislative i prescripii similare referitoare la utilizabilitate. Eficiena reprezint capacitatea produsului software de a furniza performane adecvate, relativ la cantitatea de resurse utilizate, n condiiile stabilite. Un produs

software eficient funcioneaz cu un volum acceptabil de resurse, cum sunt resursele hardware, software i timpul de rspuns. Comportarea n timp este capacitatea de a furniza un rspuns adecvat, n timp corespunztor de procesare cu rezultatele ateptate cnd ndeplinete funcia sa n condiiile declarate. Utilizarea resurselor reprezint utilizarea unei cantiti i tipuri adecvate de resurse pe timpul funcionrii n condiiile stabilite. Conformitatea eficienei reprezint aderena la standarde, convenii legislative i prescripii similare referitoare la eficien. Mentenabilitatea este capabilitatea produsului software product de a fi modificat. Modificrile includ corecii, mbuntiri sau adaptri ale software la schimbrile mediului, schimbri ale cerinelor sau ale specificaiilor funcionale. Un produs software cu nivel corespunztor de mentenabilitate permite descoperirea cu uurin a greelilor, corectarea lor fr surprize nedorite i verificarea realizrii modificrilor cu succes. Analizabilitatea este capacitatea de a diagnostica deficienele produsului, cauzele cderilor sau prile care se modific pentru a fi identificate. Capacitatea de schimbare este capabilitatea de a permite implementarea modificrilor specificate. Stabilitatea reprezint capacitatea de a evita efectele neateptate de la modificrile software. Testabilitatea reprezint capacitatea de a permite validarea modificrilor. Conformitatea mentenabilitii const n aderena la standarde, convenii legislative i prescripii similare referitoare la mentenabilitate. Portabilitatea este capacitatea produsului software de a fi transferat de la un mediu la altul. O bun portabilitate permite adaptarea i instalarea cu uurin a produsului software ntr-un alt mediu de funcionare. De asemenea, software utilizeaz aceleai resurse cu un alt produs software i este uor de nlocuit. Adaptabilitatea este capabilitatea unui produs software de a fi adaptat la diferite medii specifice fr alte aciuni sau mijloace dect cele furnizate de software considerat. Instalabilitatea reprezint capacitatea de a fi instalat ntr-un mediu specific. Coexistena reprezint capacitatea produsului software de a funciona mpreun cu alte produse software n acelai mediu, utiliznd n comun resurse. Capacitatea de nlocuire este capacitatea produsului software de a fi utilizat n locul altor produse software specificate n acelai scop, n acelai mediu. Conformitatea portabilitii reprezint aderena la standarde, convenii sau norme legale i prescripii similare referitoare la portabilitate. Cercetrile ntreprinse n cadrul Institutului Naional de Cercetare Dezvoltare Informatic din Romnia au condus la elaborarea unui model al calitii denumit Modelul ICI.

Tabelul nr. 6.3 Modelul ICI Caracteristica Flexibiliate Subcaracteristici Aria de cuprindere Extensibilitate Portabilitate Capacitatea de modificare Completitudine Lips contradicii Consisten Conformitate Stabilitate integritate Structurabilitate Simplitate Autodescriere Uurina asimilrii Comoditate n exploatare Complexitatea funcional Consum de timp Resurse utilizate Precizia calculelor

Corectitudine

Fiabilitate Mentenabilitate Utilizabilitate Eficien

Modelul dezvoltat de STAC [HYAT96], tabelul 6.4, se bazeaz pe viziunea asupra calitii a managerului de proiect. Modelul utilizeaz denumirea de atribute pentru caracteristici. Tabelul nr. 6.4 Modelul SATC al calitii Obiective Calitatea cerinelor Atribute Ambiguitate Metrici

Numrul de expresii slabe Numrul de expresii opionale Completitudine Numrul de TBDs/TBAs Uurina nelegerii Structura documentaiei de ctre utilizatori Indicele de citire Volatilitate Numrul schimbrilor/Numrul cerinelor Etapa ciclului de via n care s-a produs schimbarea

Urmrirea

Numrul cerinelor software care nu sunt urmrite pn n etapa definirii cerinelor sistemului Numrul cerinelor software care nu sunt urmrite pn n etapa codificrii sau testrii Complexitatea logic Utilizarea instruciunii Go To Mrimea produsului software Corelaia complexitate/mrime Corelaia complexitate/mrime Procentul comentariilor Indicele de citire Numrul de ore/om pe durata ciclului de via ndeplinirea sarcinilor ndeplinirea sarcinilor planificate Erori i situaii critice Timpul de depistare a erorilor Timpul de remediere a erorilor Localizarea greelilor

Calitatea produsului

Structura/Arhitectura Mentenabilitate Reutilizabilitate Documentaia intern Documentaia extern

Eficiena implementrii

Resurse utilizate Gradul de ndeplinire

Eficiena testrii

Corectitudine

Modelul KANO [STL99], figura 6.6, grupeaz caracteristicile calitii n funcie de modul n care sunt receptate de ctre client: - evidente sunt prezente n mod obligatoriu la orice produs; absena lor face produsul nevandabil; prezena lor nu d, ns, nici un credit special produsului; - cerute reprezint solicitri ale consumatorului; - surpriz reprezint o categorie de caracteristici care nu sunt nici cerute, nici nu sunt ateptate de cumprtori, dar prezena lor sporete competitivitatea produsului.

AcceptareFigura 6.7 Influenarea percepiei cumpratorilor de ctre cele trei categorii de caracteristici Modelul Dromey [DROM96], figura 6.7, presupune separarea caracteristicilor calitii software n caracteristici de comportament i caracteristici de utilizare. Conceptul face distincie ntre componentele produsului, caracteristicile calitii i caracteristicile purttoare de calitate

Figura 6.8 Conceptul calitii Dromey/Griffith

Comp

n cazul modelelor Boehm i McCall exist mai multe caracteristici primitive, care determin mai multe caracteristici de nivel nalt. De exemplu, n modelul Boehm, completitudinea determin att portabilitatea ct i fiabilitatea iar n modelul McCall consistena determin corectitudinea, fiabilitatea i mentenabilitatea. n aceste cazuri, descompunerea caracteristicilor de nivel superior n caracteristici primitive, determin deplasarea interdependenelor i redundanelor dintre caracteristicile structurii de nivel nalt ctre structura de nivel inferior. Modelul McCall expliciteaz relaiile dintre cele 11 caracteristici principale luate n considerare, tabelul 6.5. Tabelul nr. 6.5 Relaia caracteristici-subcaracteristici de calitate n modelul McCall [ARHI00] corectitudine fiabilitate eficien integritate utilizabilitate mentenabilitate testabilitate flexibilitate portabilitate reutilizabilitate x + + + + + Factori interoperabilitate + + + + +

Subfactori Trasabilitate Completitudine Coerent Precizie Toleran de erori Simplitate Modularitate Generalitate Extensibilitate Instrumentare Autodescriere Eficacitatea execuiei Eficacitatea stocrii Auditul accesului Controlul accesului Supleea interfeei Uurina n exploatare Uurina nelegerii Independena sistemului Independena mainii Normalizarea comunicaiei

+ + + + +

+ + + + + + x + + x x + x x x x x + + x x x x x x + + + + x + + +

+ + + + + + x

+ + + + + + + + +

+ + + + + + +

+ x x

+ +

+ + + +

x + + + + +

+ +

Standardizarea datelor x Concizie + + + + + relaii de tip complementar x relaii de tip conflictual

+

+

Modelele ICI i ISO sunt mai coerente din acest punct de vedere, pentru c, dei exist interdependene ncruciate ntre caracteristici, acestea nu sunt integrate n model. De fapt, pentru modelul ISO/IEC 9126, structura de nivel inferior a modelului nu face parte din Standard, fiind doar o propunere a ISO i International Electrotechnical Commission. Din punct de vedere al utilizatorului, caracteristicile de calitate cerute sunt cele din figura 6.8: - eficiena capabilitatea produsului software de a permite utilizatorului s obin obiective specifice cu acuratee i complete ntrun context specific de utilizat; - productivitatea capabilitatea produsului software de a permite utilizatorului s consume o cantitate corespunztoare de resurse n raport cu eficiena obinut ntr-un context specific de utilizare; - sigurana capabilitatea produsului software de a atinge niveluri acceptabile ale riscului afectrii personalului, afacerii, software sau mediului ntr-un context specific de utilizare; - satisfacia - capabilitatea produsului software de a satisface utilizatorii ntr-un context specific de utilizare.

Figura 6.9 Calitatea privit din perspectiva utilizatorului n dezvoltarea aplicaiilor informatice centrate pe utilizator este necesar ca viziunea utilizatorului s fie luat n considerare, fr a neglija i alte aspecte importatnte ale calitii.

6.6 Caracteristici de calitate particularizate pentru clase de aplicaii softwareAvnd n vedere varietatea claselor de aplicaii software, fiecare cu un anumit specific i particulariti, subsistemul caracteristicilor de calitate este mprit n caracteristici de tip general i caracteristici particulare. Exemple de caracteristici

Siguran

particulare sunt: sincronizarea, pentru produsele software de acces la distan, sau integrarea, pentru sistemele de operare n reele. La rndul lor, caracteristicile de tip general, dei i pstreaz coninutul noional, capt puternice accente de particularitate, n funcie de particularitatea fiecrei clase de aplicaii. De exemplu, fiabilitatea sistemelor de operare difer, ca modalitate de abordare, de fiabilitatea aplicaiilor de baze de date distribuite sau fiabilitatea unei aplicaii ce ruleaz pe INTERNET fa de fiabilitatea unei aplicaii utilizate ntr-o reea local. Selecia caracteristicilor particulare ale unei anumite clase de produse software, este de o importan deosebit, deoarece asupra acestor caracteristici care i confer personalitate clasei respective, se concentreaz de obicei atenia cumprtorului/beneficiarului, politica de marketing a concurenei, precum i gestiunea calitii [TEOD01]. Caracteristici de calitate cerute pentru software de acces la distan, prezentate n tabelul 6.6 [TEOD01] sunt sincronizarea, securitatea i programabilitatea. - sincronizarea, capacitatea de a transfera, actualiza i revizui automat date ntre sisteme de calcul; sincronizarea inteligent permite sincronizarea numai a prii care s-a modificat, determinnd creterea vitezei de transfer i scderea traficului; - securitatea confer programelor de acces la distan facilitatea de a oferi o cale sigur ctre reeaua de baz; prin aceste tipuri de produse software este posibil utilizarea parolelor i restricionarea accesului utilizatorilor cnd se consider necesar; produsele software pentru acces la distan, pentru a poseda caracteristica de securitate, sunt: ntreruperea, la cererea utilizatorului, a afirii imaginii pe ecranul display-ului n timpul unei sesiuni la distan; controlul numrului de tentative de login; limitarea timpului alocat sesiunilor de lucru; opiuni de criptare a datelor n timpul sesiunilor de transfer de fiiere; - programabilitatea confer posibilitatea utilizatorilor de a utiliza unele comenzi de programare. Tabelul nr. 6.6 Caracteristici de calitate pentru software de acces la distan Caracteristica Faciliti Copiere rapid de fiiere Mapare dispozitive Funcie chat Remote clipboard copy/print Callback automatic Cache Emulare terminal Suport protocol reea Necesit parol Limiteaz activitile

Sincronizare

Securitate

Blank screen Criptare date Cutare virui Limbaj de scripting Macro keys Definire macro Apeluri programate

Programabilitate

Cerinele de calitate ale aplicaiilor Internet, vzute ca produse software i baze de date multimedia, sunt realizate, n exclusivitate, pentru clieni. n cazul n care rulrile cu succes ale unei aplicaii Internet scad sub 70%, aplicaia nu va mai fi utilizat [IVAN03f]. Naturaleea este o caracteristic de calitate care implic o abordare logic, utilizarea unor simboluri stabilite, accesibile, fonturi simple i logice i texte care iau n considerare vrsta i calificarea tuturor persoanelor care formeaz grupul int. Naturaleea nseamn eliminarea implicrii altor persoane ca asisten n schimbul de mesaje dintre om i computer. Acurateea se refer la coninutul informaiilor din textele aplicaiei. Acurateea acoper ani, evenimente, corespondena dinte imagini i texte, transcrierea corect a numelor. Exist ci i metode foarte eficiente pentru a asigura corectitudinea textelor. Acest lucru presupune o strns cooperare cu experii din domeniile abordate. Robusteea se refer la erorile fcute de utilizator. Robusteea se obine numi dac se analizeaz comportarea persoanelor inclus n grupul int pentru a determina erorile n dialogul om calculator. Validarea datelor este esenial n creterea robusteii aplicaiilor Internet. Operabilitatea este o caracteristic de calitate esenial care definete acordul dintre mesaj i scopul aplicaiei. Succesul unei aplicaii Internet nseamn c fiecare persoan care viziteaz site ul gsete butoanele corecte pentru o soluie complet a tranzaciei i cile de introducere a elementelor care individualizeaz cerina. Operabilitatea definit dup analiza grupului int asigur procesarea complet i finalizarea rezultatelor. Se prezint o metod de msurare a calitii aplicaiilor Internet [IVAN03f]. Msurarea presupune identificarea factorilor care influeneaz calitatea i agregarea valorilor asociate acestor factori. Se consider: N numrul membrilor colectivitii sau al unui eantion reprezentativ asociat grupului int; Ci caracteristica de calitate i; K numrul caracteristicilor luate n considerare pentru definirea aplicaiei Internet notat cu A; ni numrul persoanelor care au utilizat cu succes aplicaia A n legate de caracteristicile calitii Ci;

qi indicatorul calitii asociat caracteristicii Ci, identificat de utilizatori; Q media indicatorilor calitii. Pentru a stabili valoarea indicatorilor se definesc relaiile:

qi =unde i = 1, 2, , K i

ni 100 N

Q = K q q2 ...qK 1 sau

Q=

K

n1 n2 ...nK 100 N

Dac Q > 70%, aplicaia Internet A este acceptabil pentru grupul int cruia i-a fost destinat. Exist diferene semnificative ntre dezvoltarea de software tradiional i dezvoltarea aplicaiilor Internet. O prim diferen o constituie timpul n care este realizat, testat i implementat produsul. Pentru produsele tradiionale realizarea, testarea dureaz de la luni la ani. n cazul produselor Internet realizarea i testarea se fac n timp scurt, altfel segmentul de pia vizat de aplicaie nu mai este profitabil. n prezent, cea mai important caracteristic de calitate a aplicaiilor Internet o reprezint securitatea aplicaiilor. Setul minim de cerine pe care le respect o aplicaie ce utilizeaz sistemele bazate pe securitate este: - confidenialitatea meninerea caracterului privat al informaiei; - integritatea dovada c respectiva informaie nu a fost modificat; - autenticitatea dovada identitii celui ce transmite mesajul; - non-repudierea sigurana c generatorul mesajului nu-l va denigra mai trziu. Toate acestea se realizeaz prin utilizarea cheilor publice criptografiate n Certificate Digitale i care utilizeaz protocoale ca SSL sau S/MIME. Integritatea, confidenialitatea i non-repudierea sunt asigurate prin criptografia cheilor publice. Pentru aceasta se tie: cine genereaz certificatul, unde este stocat cheia i unde se gsesc certificatele. Un certificat digital bazat pe infrastructura cheilor publice asigur rezolvarea tuturor problemelor. Cerinele calitii pentru un site web se stabilesc avnd n vedere c un site web se cere s fie uor de gsit, uor de ncrcat i uor de neles [FITZ98]. Utilizatorii au nevoie s fie ncreztori n coninutul site ului i n obiectivele proprietarului site ului. Un site este interactiv i necesit s ncorporeze o gam complet de ajutoare pentru navigare. Din perspectiv organizaional software pentru un site web comunic o imagine i un mesaj organizaional pentru a informa vizitatorii despre site, s uureze accesul la informaie i cunotine i s

sprijine vnzarea produselor i serviciilor prin comerul electronic. Obiectivele aplicaiilor tip site web sunt diferite de obiectivele aplicaiilor tradiionale care, n general, realizeaz o activitate de procesare a datelor. n consecin, siteurile web au consideraii de calitate diferite. Caracteristicile calitii aplicaiilor www sunt grupate astfel [FITZ98]: comunicarea cu sit-ul, nelegerea coninutului, ncrederea n coninut, angajarea vizitatorului, aspecte ale corporaiei. Vizibilitatea se refer la comunicarea vizitatorului cu siteul respectiv. Gsirea unui site necesit timp i creeaz frustrri vizitatorului n cazul n care timpul de ncrcare este foarte ncet. Vizitatorul devine nerbdtor i trece pe un alt site. Deci primul factor de calitate specific domeniului pentru un site este ca s fie uor de gsit, uor de ncrcat i uor de accesat. Acest factor este denumit vizibilitate. Vizibilitatea este n legtur cu trasabilitatea, regsirea i accesarea uoar. Trasabilitatea ajut un vizitator potenial dndu-i posibilitatea s gseasc i s regseasc un site. Regsirea se adreseaz timpului de ncrcare asociat cu activitatea site ului. Accesul uor este uurina cu care utilizatorul capt accesul la un site i este sprijinit de filozofia de ntmpinare a proprietarului de site. nelegerea coninutului este definit ca uurina cu care un utilizator asimileaz i interpreteaz coninutul siteului. Un site cu nivel de calitate corespunztor este uor de citit, uor de neles i, cnd este cazul, uor de auzit. Un site se prezint n mai multe limbi i va evita aducerea de ofense culturilor internaionale. ncrederea n coninut sau credibilitatea presupune ca vizitatorul unui site s cunoasc dac proprietarul acelui site i coninutul siteului sunt de ncredere. Credibilitatea i este definit ca nivelul confidenei utilizatorului n site. Include integritatea proprietarului i acurateea coninutului. Integritatea este extensia pn la care un vizitator are ncredere n motivaiile i calificrile proprietarului. Acurateea vizeaz corectitudinea i actualitatea coninutului prezentat pe site. n absena unui sistem independent de acreditat, credibilitatea unui site se stabilete de proprietar n decursul unei perioade de timp. Angajarea vizitatorului include navigabilitate, interactivitate i atractivitate. Implementarea cu succes a soluiilor comerului electronic presupune concentrarea pe pia i client. De la concentrarea pe client, fcnd vizitatorii capabili s gseasc un site, organizaia are nevoie de o strategie pentru a reine clienii pentru un profit maxim. Strategia include, de asemenea, mecanisme de retragere a vizitatorilor la site. Organizaia se va asigura c vizitatorii nu vor gsi legturi la alte site-uri asupra crora ea nu are controlul i care, la rndul lor, fac legtura cu alte site-uri cu care este n competiie. Diferenierea este definit ca extensia pn la care un site demonstreaz superioritatea corporaiei. De la concentrarea pe pia, imaginea corporaiei i marca produsului sunt importante consideraii organizaionale. n timp ce imaginea corporaiei este foarte important i necesit s se demonstreze o imagine modern, profesional i progresist, preocuprile cu decoraii grafice, button-bars i efecte de animaie este mai puin important. Un site de calitate prezint o imagine sau marc organizaional puternic, prin care s demonstreze superioritatea organizaional.

Acest factor al calitii pentru domeniul Web este diferenierea [FITZ98]. Cu ct este mai de succes organizaia la exploatarea prghiilor cu att site-ul devine superior. Diferenierea este atribut al management strategic ale crui msuri ale calitii includ, de asemenea revenirea investiiei i potenialul de a atrage vizitatorii.. Tabelul nr. 6.7. Oportuniti de realizare a caracteristicilor calitii specifice unui site Web [FITZ98] Caracteristici ale calitii Vizibilitate Subcaracteristici - trasabilitate - regsirea - uor de accesat Oportuniti de realizare - URL adecvat - nregistrarea motorului de cutare - server eficient - Site forwarding - Meta tags - Paragrafe cu rezumate - Utilizare eficient a multimedia - nregistrare minim a accesului - Parol minimal - Multiple browser support - standarde de stil; - standarde GUI; - utilizarea eficient a sunetului; - utilizarea eficient a multimedia; - aspecte de cultur/tradiii - limbi internaionale; - profilul audienei - identitatea, motivaiile, calificrile i corectitudinea proprietarului - acurateea i actualitatea coninutului - structura meniului Home - cuvinte cheie de cutare - hyperlinks - signposting - regsirea datelor - comerul electronic online - preferinele definite utilizator - comunicarea e-mail

Uurina nelegerii

- legalitate - audibilitate - comprehenzibilitate

Credibilitate .

- integritate - acuratee

Angajare vizitator

- navigabilitate - interactivitate - interesant

Difereniere

- specialitate - identitate

- forum de comentarii - Chat room - produsul/serviciul dominant - logo - ul corporaiei - marca fabricii

Organizaiile care utilizeaz comerul electronic vor s se asigure c investiia ntr-un site web va fi recuperat. Caracteristicile calitii specifice domeniului vor fi concentrate pe proiectarea unui site web care s permit acest lucru. Combinarea caracteristicilor calitii specifice domeniului cu caracteristicile eseniale ale calitii constituie o component esenial pentru un sistem de acreditare a unui site web. Caracteristicile de calitate impuse produselor program utilizate n domenii critice sunt: supravieuirea, sigurana n funcionare, fiabilitate, securitate, precum i vitez mare de reacie la stimuli externi. Supravieuirea reprezint capabilitatea sistemului de a-i ndeplini misiunea n timp, n prezena atacurilor, cderilor sau accidentelor. Supravieuirea este o combinaie de atribute ale calitii care asigur c i n cazul n care pri importante ale sistemului sunt avariate din cauza unui atac, accident sau cdere, software va continua s funcioneze. Sistemele n timp real reacioneaz la evenimentele care au loc n mediul n care aceste sisteme funcioneaz i la datele furnizate de mediu. Evenimentele se produc la intervale periodice sau neperiodice, iar datele de la diferite surse sunt recepionate la intervale precise de timp sau n mod continuu. n plus, diferite evenimente se produc i se proceseaz n mod concurent. Capacitatea, ncrcarea i performana sunt caracteristici interrelaionate, toate influennd abilitatea sistemului de a procesa intrrile i de a furniza mrimile de ieire la o perioad definit de timp. Capacitatea sistemului se descrie prin definirea tuturor tipurilor de entiti cerute n sistem, relaiile dintre entiti, atributele asociate cu fiecare tip de entitate i relaie. ncrcarea este o msur a cantitii de munc impus sistemului. ncrcarea se definete n conformitate cu timpul i se analizeaz cadru cu cadru. Caracteristicile cerute pentru performan definesc constrngerile procesrii elementelor specifice ale ncrcrii. Interfaa sistem-operator este o caracteristic important a sistemelor n timp real. Acest tip de interfa este diferit de alte tipuri de interfee intrare/ieire ale sistemului i necesit o atenie special n efortul de dezvoltare a sistemului. Funcionarea sau cderea sistemului depind de caracteristicile interfeei sistemoperator. O alt cerin luat n calcul este structura sistemului, n general, i a produsului software, n special. Analiza i proiectarea structural a sistemului se concentreaz pe componentele individuale, interfeele dintre acestea, distribuia i fluxul datelor, precum i pe controlul dintre componente i interfee. Structura

sistemului software este influenat de o varietate de caracteristici i o metod de dezvoltare ia n calcul aceste caracteristici. De asemenea caracteristicile respective se analizeaz i din punct de vedere al influenei asupra costului calitii. Unele caracteristici sunt necesar de realizat, indiferent de tipul sistemului care se dezvolt. Alte caracteristici sunt influenate de factori precum arhitectura general, limbajul platformei de implementare, limbaj care variaz n interiorul sistemului, pe timpul dezvoltrii. Un alt factor care joac un rol major n influenarea structurii sistemelor software n timp real este arhitectura hardware a sistemului general din care software face parte. Datorit unor cereri de performan, necesiti de fiabilitate extrem n mediu dificil i stadiului de dezvoltare al tehnologiei hardware, arhitectura hardware pentru software al sistemelor n timp real ndeplinete, adeseori, unele caracteristici speciale: procesare distribuit i robustee. Datorit necesitilor privind puterea de procesare sau cerinelor, sistemele sunt adesea construite ca reele omogene sau eterogene de procesoare. n plus, sistemele n timp real conin, adeseori, senzori care reacioneaz cu mediul nconjurtor sau procesoare speciale care proceseaz rapid date particulare. Pentru a asigura o vedere structural a sistemului, metodele iau n calcul aceste caracteristici. Nivelul impus caracteristicilor influeneaz costul calitii. Sistemele au cerine variate privind robusteea, disponibilitatea i fiabilitatea. Caracteristicile hardware dictate de robustee influeneaz n mare msur structura software i dinamica operaional a sistemului. Unul din aspectele importante ale sistemului se refer la date. Datele, ca obiecte manipulate de sistem, relaiile dintre ele, gradul de distribuie sunt importante n structura sistemului. Intr-un sistem care este, n principal, concentrat pe date, exist adeseori multe i complicate relaii ntre date i este foarte important ca datele s fie reprezentate ntr-o manier consistent i complet. Al doilea factor major care influeneaz structura sistemului software este necesitatea utilizrii sistemelor de operare standard i limbajelor de sistem n implementarea sistemului. Aceste standarde sunt adesea impuse n scopul reducerii complexitii, timpului de dezvoltare i costului ciclului de via al sistemului. Sistemelor software de tip nglobat, utilizate n domenii critice, li se impune, pe lng alte caracteristici ale calitii, funcionarea n timp real i grad ridicat de securitate. Modelul calitii pentru acest tip de sisteme este prezentat n figura 6.9.

Figura 6.10 Calitatea sistemelor software nglobate Caracteristicile de calitate menionate interacioneaz reciproc. Principalele interaciuni sunt: - siguran disponibilitate: relaie negativ, creterea siguranei producnd reducerea gradului de disponibilitate; sigurana serviciilor disponibile duce la creterea securitii generale. - siguran fiabilitate: creterea fiabilitii duce la creterea siguranei; - siguran funcionalitate: funcionalitatea crete gradul de siguran; - disponibilitate fiabilitate: sistemele care ruleaz fr cderi au grad de disponibilitate ridicat; - funcionalitate eficien: influen negativ. Caracteristicile de calitate impuse produselor program utilizate n domenii critice sunt supravieuirea, sigurana n funcionare, fiabilitate, securitate, precum i vitez mare de reacie la stimuli externi. Supravieuirea reprezint capabilitatea sistemului de a-i ndeplini misiunea la timp, n prezena atacurilor, cderilor sau accidentelor. Supravieuirea este o combinaie de atribute ale calitii care asigur continuarea funcionrii sistemului i n cazul n care pri importante ale sale sunt avariate din cauza unui atac, accident sau cdere. n tabelul 6.8 se prezint proprietile cheie ale sistemelor supravieuibile [LING02]

Siguran

D

Tabelul nr. 6.8 Proprietile cheie ale sistemelor supravieuibile [LING02] Proprieti cheie Descriere Strategii de realizare

Oportunitate

Rezisten la atacuri

Strategii de respingerea atacurilor

Recunoaterea atacurilor i stricciunilor Refacerea serviciilor esniale i totale dup atacuri.

Adaptare i evoluie pentru reducerea eficacitii viitoarelor atacuri

Strategii pentru detectarea atacurilor i evaluarea daunelor Strategii pentru limitarea daunelor, refacerea informaiilor i funciunilor compromise, meninerea sau refacerea serviciilor eseniale n cadrul constrngerilor de timp ale misiunii, refacerea tuturor serviciilor. Strategii pentru mbuntirea supravieuirii sistemului pe baza cunotiinelor acumulate n urma evenimentelor petrecute.

Autentificare Controlul accesului Criptare Filtrarea mesajelor Diversificarea sistemelor Izolare funcional Detectarea intruilor Controlul integritii Componente redundante Replicri de date Refacere sistem Planificare atacuri

Noi abloane de recunoatere a intruilor

n scopul asigurrii supravieuirii sistemului, n limita unor costuri acceptabile, este necesar s se stabileasc acele caracteristice care contribuie la realizarea supravieuirii, precum i combinarea acestora n vederea gsirii soluiei optime. Diferitele cerine, necesiti i ateptri sugereaz nu numai c valorile relative ale caracteristicilor combinate variaz, cum este de exemplu diferitele combinaii de valori mare/mediu/mic ale confidenialitii i disponibilitii, dar i care atribute n cadrul grupului considerat sunt variabile. Astfel un sistem considerat supravieuibil pentru o misiune este neacceptabil pentru o misiune diferit. Cu toate acestea, analizele atributelor specifice sunt interdependente, de exemplu performana afecteaz modificabilitatea, disponibilitatea afecteaz securitatea, sigurana afecteaz performana i toate afecteaz costul. Cu alte cuvinte, fiecare atribut al calitii interfaeaz cu alt atribut. Aceste interfari reprezint interdependene ntre atribute i sunt definite de parametrii care sunt mprii ntre modelele atributelor. Performana se msoar prin latena sistemului. Latena sistemului n timp real constituie o preocupare frecvent a utilizatorilor produselor respective i pe aceasta se va concentra modelarea performanei. Analiza performanei implic evaluarea latenei, n cazurile simple, prin urmrirea cii de execuie a unei funcii i alocarea latenei la fiecare poriune din aceast cale. Pentru a realiza analiza performanei se utilizeaz direct scenarii de execuie n scopul identificrii cilor de execuie, completate cu liste de control n scopul identificrii sau acordrii ratelor de sosire pentru fiecare component i conector din calea de execuie.

6.7. Standarde de calitate softwarePe plan internaional, domeniul calitii este reglementat prin standardele ISO seria 9000. ISO 9001, ISO 9002 i ISO 9003 sunt utilizate pentru asigurarea extern a calitii n situaii contractuale. ISO 9000 i ISO 9004 conin liniile directoare, reprezentnd ghiduri n stabilirea politicii pentru alegerea i utilizarea standardului din serie adecvat i respectiv, pentru managementul calitii. n literatura de specialitate se ntlnete o multitudine de standarde naionale i internaionale care se refer direct sau indirect la asigurarea calitii software. O analiz critic a acestor standarde scoate n eviden faptul c sunt de natur subiectiv i se concentreaz aproape n mod exclusiv pe produs [FENT93]. n Europa i, n cretere privind utilizarea, n Japonia, standardul de calitate utilizat se bazeaz pe standardul internaional ISO 9000 [ISO9001 de ters]. Acest standard general de fabricaie specific un set de 20 de cerine pentru managementul sistemului calitii, acoperind politica, organizarea, responsabilitile i revederile n plus la controalele care se aplicat la activitile ciclului de via n scopul obinerii calitii produselor. Standardul ISO 9001 nu este specific unui sector de pia: Varianta pentru software este ISO 9003. Standardul ISO 9003 a stat la baza iniiativei TickIT sponsorizat de Departamentul pentru Comer i Industrie al Marii Britanii [TickIT1992 de ters]. Diferite ri au propriile standarde naionale bazate pe ISO 9000. Spre exemplu echivalentul pentru ISO 9000 n Marea Britanie este BS5750, iar al Uniunii Europene este EN29001. ISO 9000 furnizeaz un mecanism prin care organizaiile pot fi certificate ca fiind conforme cu standardele ISO 9000. Prin aceasta o organizaie este mai capabil s vnd produsele sau serviciile sale. Certific faptul c procesele sunt testate n mod continuu pentru calitate. Organizaiile nu mai trebuie s cheltuiasc cu revizia calitii, n schimb furnizorilor li se cere s prezinte conformana cu standardele ISO 9000. Standardul transmite recunoaterea obinerii calitii. Punctele slabe ale standardelor seria ISO 9000 sunt considerate urmtoarele: - nu a fost orientat spre client; - nu au existat cerine pentru a mbuntire continu; - nu a fost compatibilitate cu alte sisteme de standarde; - standardul nu a fost aplicat cu uurin de ctre industria serviciilor; - procesul implic o documentaie excesiv; - managementul superior consider c adaug puin valoare. ntr-un studia efectuat de Manchester Business School pe 140 organizaii de diferite mrimi s-au identificat cteva motive care au determinat organizaiile respective s nu aplice standardele di categoria ISO 9000: - prea multe documente; - cost ridicat pentru implementare; - timp cerut pentru o implementare complet;

- timep cerut pentru a scrie manuale; - cost ridicat de meninere a sistemului dup nregistrare. Standardul ISO/IEC 9126 se bazeaz pe modelele McCall i Boehm. Iniial a fost proiectat pentru evaluarea software, dar ulterior a fost extins prin includerea caracteristicilor de calitate i a unor linii directoare pentru obinerea calitii. Intenia dezvoltrii standardului ISO/IEC 9126 a fost: meninerea contactului cu progresul tehnologiilor; identificarea a mai puin de 8 caracteristici critice ale calitii pentru simplificare i claritate; disponibilitatea adugrii de noi caracteristici pentru a crea un standard dinamic. Varianta curent a standardului ISO 9126 conine patru pri: - partea 1: Modelul calitii, ISO/IEC 9126-1; - partea 2: Metrici externe, ISO/IEC 9126-2; - partea 3: Metrici interne, ISO/IEC 9126-3; - partea 4: Calitatea n utilizarea metricilor, ISO/IEC 9126-1.2.ISO 9126. ISO 9126 este primul standard internaional care ncearc s defineasc un cadru pentru evaluarea calitii software. ISO 9126 susine c evaluarea calitii software se face cu ajutorul a ase caracteristici: funcionalitate, fiabilitate, eficien, utilizabilitate, mentenabilitate i portabilitate. Fiecare din aceste caracteristici este definit ca un set de atribute care poart un aspect relevant al software i se rafineaz prin niveluri multiple de subcaracteristici. Exemple de definiii posibile ale subcaracteristicilor la primul nivel sunt date n Anexa A care nu este parte a ISO. Atributele de nivel secund nu sunt definite. Sunt preri c att timp ct caracteristicile i subcaracteristicile nu sunt definite corespunztor ISO 9126 nu asigur un cadru conceptual n care msurtori comparabile s fie efectuate de diferite pri implicate cu viziuni diferite asupra calitii software. ISO/IEC 9126-1:2001, Software Engineering -- Product Quality Part 1: Quality Model . Standardul definete trei viziuni ale calitii i dou modele pentru caracterizarea viziunilor. Cele trei viziuni sunt: calitatea intern, calitatea extern i calitate a operaional. Calitatea intern reprezint totalitatea caracteristicilor produsului software din punct de vedere intern pe timpul dezvoltrii sau mentenanei. Calitatea extern este dat de totalitatea caracteristicilor produsului software din punct de vedere extern pe durata execuiei. Calitatea operaional este percepia utilizatorului asupra calitii software cnd software este utilizat n medii i contexte specifice. Calitatea operaional msoar extensia pn la care utilizatorul i ndeplinete obiectivele ntr-un mediu particular, mai mult dect msurarea proprietilor software. ISO/IEC 9126-1 definete dou modele ale produsului software pentru a fi utilizate n caracterizarea celor trei viziuni: modelul calitii interne i externe i modelul calitii pentru software aflat n uz. Fiecare model const din caracteristici i subcaracteristici.

Modelul calitii operaionale cuprinde eficiena, productivitatea, securitatea i satisfacia. Eficiena reprezint capacitatea software de a permite utilizatorului s obin obiectivele specifice cu acuratee i complet ntr-un context specific de utilizare. Productivitatea este capacitatea produsului software de a permite utilizatorului s cheltuiasc o cantitate adecvat de resurse n raport cu eficiena obinut ntr-un context specific. Sigurana este capacitatea software de a avea niveluri acceptabile de risc referitor la rniri de persoane, compromiterea afacerii, distrugeri de proprieti sau degradarea mediului ntr-un context specific de utilizare. Satisfacia reprezint capacitatea software de a satisface utilizatorii ntr-un anumit context de folosin. Alegerea modelului de dezvoltare i a caracteristicilor pe care se va pune accentul n dezvoltarea produselor software rmne la latitudinea managerilor, avnd n vedere mai multe criterii, printre care: tipul aplicaiei, mrimea organizaiei, existena unui contract sau dezvoltare pe baza unui studiu de marketing. Stabilirea standardelor i procedurilor pentru dezvoltarea software este critic, deoarece acestea furnizeaz cadrul de la care evolueaz software. Standardele sunt criterii stabilite cu care se compar produsele software. Procedurile sunt criterii stabilite cu care se compar procesele de dezvoltare i control. Standardele i procedurile stabilesc metodele prescrise pentru dezvoltarea software. Rolul SQA este de a asigura existena i adecvarea acestora. Documentarea corespunztoare a standardelor i procedurilor este necesar deoarece activitile SQA ale monitorizrii procesului, evalurii produsului i de auditare se bazeaz pe definiiile neechivoce de msurare conformitii proiectului. Se definete mulime a caracteristicilor interne Cint i mulimea caracteristicilor externe Cext. Qext = f(Qint) Se stabilete corespondena dintre caracteristicile interne i cele externe ale calitii. Cext1 Caracteristici interne Cint1 Cint2 ... Cinti ... Cintm Cext2 Caracteristici externe ... Cextj ... Cextn

ij

Figura 6.11 Matricea de legtur dintre caracteristicile interne i cele externe

Se acord ponderi de importan caracteristicilor externe. Se determin ponderea caracteristicilor interne. Se analizeaz costurile.

1, i m p a nc et g a t i v i j = 0 i n d i f e r e n 1 i m p a pc o z i t i v t Calitatea software se msoar numai n cazul n care cerinele sunt definite n raport cu caracteristicile relevante pentru calitate. Conform definiiei calitii ca fiind totalitatea caracteristicilor unei entiti care poart abilitatea sa de a satisface necesitile declarate i implicite, nseamn c se cere o calitate a produsului software care are anumite caracteristici determinate de cerinele utilizatorului pe care le satisface. Deci un loc central n definirea calitii software l ocup perechile cerine-caracteristici. Figura 6.12 arat un produs software care ndeplinete cerinele de a avea caracteristici adecvate. Existena relaiilor dintre cerine i caracteristici face posibile declaraiile despre calitatea produsului.

UTIFigura 6.12 Relaia cerinecaracteristici n raport cu calitatea Calitatea software const n existena acelor caracteristici ale produsului care sunt legate de cerine. Caracteristicile care nu au legtur cu cerinele sunt caracteristici care reduc nivelul calitii i caracteristici neutre. Important pentru

stabilete

calitatea produsului este prezena caracteristicilor cerute prin cerine i absena caracteristicilor contraproductive. Cercetrile i i experien demonstreaz c nu exist nici un instrument magic i nici o cale uoar pentru a mbunti calitatea software. Un software bun se obine printr-o munc asidu i disciplinat. Acea munc include acordarea unei atenii deosebite urmtoarelor aspecte: - specificarea clar a cerinelor pe care software le satisface n mod obligatoriu; - descompunerea software n module; - proiectarea interfeelor ntre module; - scrierea programelor structurate ierarhic; - documentarea precis a deciziilor de proiectare urmate de: inspecii sistematice ale ntregului cod i a ntregii documentaii; testarea disciplinat. Un produs software de nalt calitate execut cu exactitate funciile cerute i asigur interfee adecvate utilizatorilor i sistemelor externe. Deciziile de proiectare despre efectele externe nu se iau n considerare de ctre dezvoltatorii software pe timpul programrii, ele se specific n totalitate nainte de a ncepe programarea. O specificaie complet este, n mod obligatoriu, disponibil pentru fiecare produs software de nalt calitate. Aceasta permite deciziilor despre comportarea vizibil a utilizatorului s fie revzut i revizuit de ctre persoane care nu sunt programatori. Avnd n vedere c produsele software sunt supuse unor schimbri aproape permanente, se recomand ca acestea s fie astfel structurate, nct schimbrile s se realizeze cu uurin. Este necesar ca fiecare component software s fie foarte bine neleas; structura s permit ca schimbrile sistemului s se realizeze component cu component fr a se cunoate aspectele interne ale altor componente. Acest mod de dezvoltare se obine cu ajutorul analizei explicite a setului de schimbri probabile i reflectnd rezultatele analizei n arhitectura sistemului. Acest principiu cunoscut ca ascunderea informaiei este, de asemenea cunoscut ca separarea preocuprilor, ascunderea datelor i reducerea cuplrii. Aplicarea consistent i sistematic a acestui principiu conduce la o structur foarte neuzual. Aderena la acest principiu rezult n interfee interne mai simple i face software mai uor de neles i inspectat. n consecin, erorile de programare sunt mai puin probabile i costurile ateptate cu reviziile sunt mai reduse. n afar de absena defectelor, calitatea unui produs software implic existena caracteristicilor pe care utilizatorul le dorete i a celor de care are nevoie. De asemenea, caracteristicile calitii sunt restricionate de cheltuielile pe care i le permite utilizatorul. Piaa nu susine preuri ridicate pentru un numr mare de caracteristici puin necesare. Obinerea calitii ncepe din faza studiului de fezabilitate. Stabilirea cerinelor este analog cu stabilirea caracteristicilor calitii. Este important ca principalele concepte care subliniaz cerinele s fie stabilite n aceast faz. Ele pot fi completate n faza urmtoare, faza proiectrii funcionale. Exist dou concepe de baz:

identificarea riscurilor de magnitudine suficient de mare care pun sub semnul ntrebrii completarea cu succes a sistemului; riscuri de o asemenea magnitudine sunt, de obicei, puine, dac exist vreunul, dar se cere ca ele s fie explorate n prima faz la punctul la care stakeholders vd c ele se surmonteaz; - stabilirea cerinelor i arhitecturii la gradul necesar pentru a asigura stakeholders c proiectul cade n parametrii de timp i cost pe care i-i pot permite. Identificarea caracteristicilor calitii continu n faza urmtoare, proiectarea funcional, denumit i proiectarea arhitecturii. Din punct de vedere al calitii n aceast faz sunt de executat urmtoarele: - dezvoltarea cerinelor pn la punctul n care se stabilete baza arhitecturii sistemului; aceasta nseamn c viitoarea rafinare a cerinelor, cu siguran toate cele noi i cele necesare pentru a stabili principalele caracteristici ale proiectrii arhitecturii, - identificarea zonelor care se estimeaz a fi afectate de riscuri i investigarea acestor incertitudini pn la punctul n care estimarea este posibil; - realizarea proiectrii arhitecturii pn la punctul n care exist capacitatea proiectrii planului proiectului i estima costul de realizare a nivelului de precizie cerut. Pentru a se obine calitatea este necesar s se cunoasc ce este de fcut pentru a nu intra n riscuri neanticipate, obinerea de informaii suficiente pentru planificarea proiectului i cunoaterea termenelor i personalului pentru a planifica nivelurile necesare obinerii calitii. Procesul de dezvoltare software const ntr-o serie de faze iterative care se suprapun. Dezvoltatorii software i ndeplinesc sarcinile fiecrei faze cu mai mare succes dac managementul este n postura de a asigura timpul i efortul executrii corecte a fiecrei faze. O organizaie software are posibilitatea s estimeze timpul i efortul mult mai apropiat de realitate dac se execut o bun estimare a mrimii n faza iniial.

-