Sunteți pe pagina 1din 4

.2.

Definirea caracteristicilor de calitate


            Î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], [BOE1],
[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], [BARO1] şi [BARO3].
            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 caractersiticilor unui produs sau serviciu care se bazeazã pe abilitatea
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 [BARO3] 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 [BARO1], 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
[BARO3], 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.
            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 - [BARO2], [TEO1] - iar din a doua categorie, metrica cea mai
reprezentativã este complexitatea ciclomaticã, dezvoltatã de T.McCabbe [MCC1].
În [MUN1] şi [RAD1] 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.

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