Sunteți pe pagina 1din 44

Universitatea de Vest din Timişoara

Facultatea de Matematică şi Informatică

CALITATEA ŞI FIABILITATEA
SISTEMELOR SOFTWARE

C04 – Calitate & Fiabilitate

Dr. Ştefan IOVAN
CALITATEA
SISTEMELOR
SOFTWARE

Calitate & Fiabilitate Dr. Stefan IOVAN - 2023 2


CALITATEA SISTEMELOR SOFTWARE
 Particularităţi ale produselor software
 Definirea caracteristicilor de calitate
 Sistemul caracteristicilor de calitate
 Caracteristici de calitate a produselor software

Calitate & Fiabilitate Dr. Stefan IOVAN - 2023 3


CALITATEA SISTEMELOR SOFTWARE
• În acest capitol vom analiza produsele software comparativ cu alte
produse, scoţând în evidenţă particularităţile produ-selor program.
• Vom defini şi vom analizan caracteristicile de calitate, rela-ţiile
dintre caracteristici şi dintre caracteristici şi subcarac-teristici.
Vom descrie modelele calităţii software şi vom face o analiză
comparată a acestora indicându-se tipurile de so-ftware la care se
pretează. Vom prezenta caracteristici par-ticularizate pe tipuri de
software şi standarde de calitate.
1. Particularităţi ale produselor software
• Produsele software posedă o serie de particularităţi care le
deosebesc net de celelalte produse:
- producţia de software este o producţie de unicate;
unicate aceasta
face ca activitatea de stabilire a standardelor din acest domeniu să
fie mult mai dificilă;

Dr. Stefan IOVAN - 2023 4


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
sunt standardizate procesele, metodele şi tehnicile de elabo-rare a
software-ului astfel încât în final să se obţină produse software cu
un anumit nivel al calităţii;
- produsele software sunt reproductibile cu costuri aproape
nule;
nule odată realizat un produs, el este disponibil într-un număr
nelimitat de exemplare; calitatea copiilor este aceeaşi cu cea a
originalului, deci o calitate necorespunză-toare se propagă cu efecte
nefavorabile, antrenând costuri de remediere foarte mari şi afectând
imaginea firmei producă-toare;
- produsele software nu sunt supuse uzurii fizice, ele fiind
afectate de uzura morală,
morală atunci când nu mai cores-pund noilor
cerinţe sau când apar produse software mai performante care
realizează aceleaşi funcţiuni; un produs software depăşit este
înlocuit cu altul nou sau este adaptat pentru a satisface noile cerinţe
formulate de utilizator;

Dr. Stefan IOVAN - 2023 5


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
decizia se ia în raport de costurile fiecăreia dintre variante, iar dacă
produsul software este uşor modificabil, costurile aferente adaptării
sale vor fi mult mai scăzute;
- pentru a utiliza produsele software este nevoie de un
procesor care să le interpreteze;
interpreteze sistemele de calcul şi siste-mele de
operare sunt supuse, de asemenea, uzurii morale, punându-se şi în
acest caz problema transferării produsului software într-un alt
mediu; un produs software care posedă o portabilitate ridicată se
modifică uşor, cu costuri mici;
- comportamentul instrucţiunilor este egal în timp,
timp nu se
deteriorează;
- erorile sunt provocate de folosirea sau combinarea in-
corectă a instrucţiunilor sau altor componente elementare şi nu de
componentele ca atare;
- interacţiunile dintre componentele unui program,
program sec-
venţe, proceduri, module, sunt complexe, în special dacă acestea
rulează în cadrul unor aplicaţii complexe;

Dr. Stefan IOVAN - 2023 6


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- erorile există deja în program,
program ele sunt eliminate cu timpul,
prin depanare, deci programul nu-şi pierde calităţi-le prin trecerea
timpului, ci şi le îmbunătăţeşte; se demon-strează că oricâte corecţii
se efectuează programul rămâne în continuare cu erori;
- non-calitatea programelor este atribuită în întregime
greşelilor umane de proiectare, concepţie, programare, docu-
mentare; eliminarea unei erori nu dă siguranţa că s-a dimi-nuat
numărul total de erori cu o unitate;
- software este invizibil şi nevizualizabil;
nevizualizabil software nu se
reprezintă geometric aşa cum, de exemplu, terenul este re-prezentat
pe o hartă; când se încearcă o diagramă a structu-rii software, se
constată nu numai o diagramă, ci câteva grafuri general
direcţionate suprapuse unele peste altele; grafurile reprezintă fluxul
de control, fluxul datelor, şabloa-ne ale dependenţei, secvenţe de
timp şi relaţii spaţiale;

Dr. Stefan IOVAN - 2023 7


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
aceste grafuri nu sunt, în mod uzual, plane cu atat mai pu-ţin
ierarhice;
- produsele software sunt diferite,
diferite neexistand produse
identice, deoarece obiectivele şi procesele de realizare sunt diferite;
din aceste considerente statistica nu se aplică la multiplicări;
- stabilitatea specificaţiilor software nu se garantează;
garantează
schimbarea cerinţelor produce schimbări în comportarea
produsului program respectiv; entitatea software este in mod
constant subiectul presiunilor pentru schimbare şi pen-tru motivul
că, în comparaţie cu alte produse cu care inte-racţionează, software
se schimbă mult mai uşor deoarece este gândire pură, infinit
maleabilă;
- complexitatea este o caracteristică esenţială a produse-lor
program;
program multe din problemele clasice ale dezvoltării produselor
software derivă din complexitate şi din creşterea sa neliniară odată
cu creşterea mărimii software; complexi-tatea generează:

Dr. Stefan IOVAN - 2023 8


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
complexitatea generează:
· dificultăţi de comunicare între membrii echipei,
echipei fapt ce
conduce la producerea unor defecte ale produsului, la
depăşirea costurilor şi termenelor;
· dificultăţi în înţelegerea tuturor stărilor posibile ale
programului,
programului generand scăderea fiabilităţii;
· stările invizibile (non-vizibile) care constituie capcane
pentru securitate;
· dificultatea extinderii programului la noi funcţii fără a
crea efecte laterale;
· probleme de management;
management din cauza complexităţii este
dificil de realizat o vedere generală a programului, ceea ce
provoacă dificultăţi în realizarea integrării concep- tuale;
· greutăţi de învăţare şi înţelegere care reduc randamen-
tul personalului.
• Particularităţile produselor software influenţează metodele de
evaluare a calităţii şi costului acestora.

Dr. Stefan IOVAN - 2023 9


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
2. Definirea caracteristicilor de calitate
• Calitatea produsului software este descrisă ca o combinaţie de
caracteristici.
• Clienţii sunt interesaţi să cumpere produse cu nivel ridicat al
calităţii la un preţ cât mai scăzut.
scăzut Pentru client este esen-ţial ca
produsul software să conţină funcţiile necesare utili-zatorilor,
zatorilor astfel
încât utilizatorii să găsească produsul rele-vant,
vant care rezolvă
sarcinile în mod eficient, este fiabil şi uşor de menţinut.
menţinut
• Standardul ISO defineşte calitatea unui produs ca fiind to-talitatea
însuşirilor şi caracteristicilor unui produs sau ser-viciu care poartă
abilitatea de a satisface nevoile specificate sau implicite.
implicite
• Conform acestei definiţii calitatea este intrinsecă produsului şi
reprezintă viziunea producţiei asupra calităţii
• A doua şcoală de gândire susţine că pentru obţinerea calită-ţii se
merge mai departe de această definiţie.

Dr. Stefan IOVAN - 2023 10


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
• Pentru această şcoală calitatea este centrată atât pe produs, cât şi
pe relaţia dintre client şi produs,
produs unde clientul este orice parte
afectată, iar produsul include bunuri şi servicii.
• Conceptul de calitate se schimbă în timp, ca răspuns la schimbarea
mediului şi valorilor,
valorilor unde valorile conturează credinţa clienţilor
privitor la bun şi rău.
• Din aceste considerente calitatea software este privită şi din
perspectiva clientului într-un anumit context organizaţio-nal. Acest
lucru este cunoscut ca viziunea calităţii din punct de vedere al
utilizării.
utilizării
• Fiecare participant în procesul de dezvoltare, comercializare şi
utilizare software are o viziune asupra calităţii diferită şi adeseori
în conflict cu a celorlalţi:
- managerul de program – produsul este fiabil, mente-
nabil, satisface cerinţele utilizatorului şi este realizat în cadrul
timpului şi bugetului alocate; această viziune conduce la
realizarea unui compromis;

Dr. Stefan IOVAN - 2023 11


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- analistul afacerii – satisfacerea clienţilor în campania
dezvoltării şi doreşte protejarea funcţionalităţii şi cerin- ţele
definite de utilizator de la schimbări externe;
- auditorul privind asigurarea calităţii – detectează de-
vierile de la calitate şi acţionează pentru a readuce pro- cesul pe
calea calităţii indiferent de rezistenţa persona- lului
- utilizatorul final – personal cu un impact redus în dez-
voltarea sistemului, dar responsabil pentru îndeplinirea
sarcinilor.
- Finanţatorul – cel care plăteşte, doreşte ca produsul să
fie livrat la timpul stabilit şi la preţul convenit
• In cele din urmă, viziunea realizatorului asupra calităţii impune
modul de abordare privind construirea produsului final. Specialiştii
în domeniul software au identificat urmă-toarele modalităţi în care
dezvoltatorii percep calitatea:

Dr. Stefan IOVAN - 2023 12


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- calitatea este percepută ca un proces ingineresc raţio-
nal în care realizarea obiectivului este posibilă deoarece cerinţele
s-au materializat în specificaţii lipsite de am- biguitate,
calitatea este concentrată pe îndeplinirea spe- cificaţiilor,
cificaţiilor
implicand necesitatea unui control riguros al procesului de
dezvoltare; dezvoltatorul percepe calita- tea ca pe un atribut al
produsului;
produsului această viziune este larg impărtăşită de
comunitatea inginerilor software;
- realizatorul percepe calitatea ca obiectiv şi înţelege
conflictele de interese implicate; el va încerca să deter- mine
care caracteristici ale calităţii se cer îndeplinite,
ndeplinite deoarece nu
este posibil să se satisfacă în întregime ce- rinţele fiecăruia
referitoare la calitate;
- realizatorul consideră calitatea ca fiind construită so-
cial,
cial implicând atât de multe grupuri diferite cât este posibil
în scopul includerii multiplelor interese şi per- spective;
definiţia rezultantă a calităţii reflectă un con- sens al
viziunilor implicate.
implicate

Dr. Stefan IOVAN - 2023 13


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
• Calitatea software are două trăsături distincte:
- conformitatea cu specificaţiile:
specificaţiile este o soluţie bună?;
- este bun pentru utilizarea intenţionată:
intenţionată se adresează
problemei?.
• În ambele cazuri există un set de atribute ale calităţii soft-ware.
Tehnicile utilizate pentru implementarea atributelor au un impact
pozitiv, neutru sau negativ una asupra alteia.
• O prioritizare a caracteristicilor calităţii se determină tim-puriu în
viaţa programului pentru a stabili obiectivele cali-tăţii programului
şi a stabili compromisul între diferite ca-racteristici.
• Principiile calităţii sunt:
- prevenirea introducerii defectelor – conform
acestui principiu efortul depus pentru prevenirea intro- ducerii
defectelor este cel puţin egal cu cel depus pentru detectarea
prezenţei lor in cod;

Dr. Stefan IOVAN - 2023 14


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
metodele pentru realizarea acestui obiectiv includ utili-
zarea celor mai adecvate proceduri şi standarde ale in- gineriei
software, stabilirea unei metode formale a acu- mulării şi
diseminării învăţămintelor din experienţa şi greşelile trecutului;
- detectarea şi corectarea defectelor cât mai devre-
me posibil în procesul de dezvoltare – controlul calităţii se
efectuează pe toate etapele ciclului dezvoltării şi la toate fazele
cheie ale dezvoltării produsului cum sunt stabilirea cerinţelor,
proiectarea, documentarea şi codi- ficarea;
- eliminarea cauzelor şi a simptomelor defectelor –
este o extensie a principiului anterior; eliminarea de- fectelor
fără eliminarea cauzelor nu este o cale satisfăcă- toare de
remediere; prin eliminarea cauzei se obţine îm- bunătăţirea
procesului;

Dr. Stefan IOVAN - 2023 15


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- auditarea independentă pentru conformitate cu
standardele şi procedurile – este un audit format din două
părţi: audit desfăşurat la nivel proces şi auditările la nivel proiect
care va determina dacă activităţile pro- iectului au fost
îndeplinite în conformitate cu standar- dele şi procedurile
stabilite în procesul calităţii şi dacă acele standarde şi proceduri
sunt adecvate pentru a asi- gura calitatea proiectului în general.
• Referirea la nevoile stabilite sau implicite se face pe baza de-finiţiei
calităţii din standardul ISO 8402: totalitatea trăsă-turilor ş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,
specificate pe
cand în alt context nevoile implicate sunt identificate şi definite.

Dr. Stefan IOVAN - 2023 16


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
3. Sistemul caracteristicilor de calitate
• Calitatea unui produs software se obţine la finalul procesu-lui de
dezvoltare numai dacă pe parcursul dezvoltării se construiesc acele
proprietăţi interne care determină nivelul caracteristicilor calităţii.
• Caracteristicile calităţii software se grupează în:
- caracteristici constructive – sunt cele definitorii pentru
soluţiile adoptate, de exemplu caracteristicile principalelor
componente ale produsului program;
- caracteristici funcţionale – sunt definitorii pentru re-
zultatele obţinute în exploatare, în serviciu; exemplu: viteza de
execuţie, randamentul, productivitatea, fiabilitatea etc;
- caracteristici economice – se referă la un sistem de in-
dicatori care definesc prin costuri şi preţuri efortul pentru
realizarea produsului program; iau în considerare disponi-bilitatea
executărilor; exemplu: resurse, mod de organizare a procesului de
realizare al produsului;

Dr. Stefan IOVAN - 2023 17


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
descriu şi efortul necesar pentru exploatarea produselor pro-gram
precum cheltuieli de exploatare, de intreţinere, de eli-minare a
eventualelor erori, pentru dezvoltarea produselor program etc.;
- caracteristici tehnologice – evidenţiază posibilităţile de
execuţie într-un sistem tehnologic dat a unei anumite solici-tări de
produs program; abordarea se face la nivelul unor operaţii de
transformare sau a unui proces tehnologic com-pus din mai multe
operaţii succesive; se are în vedere şi gra-dul de
diversificare/tipizare a produsului program pentru că, în general, cu
cât este mai mare numărul de documente tipizate sau standardizate,
cu atât este mai uşor modul de realizare a produsului şi costurile
sunt mai reduse; anumite condiţii constructive impuse produsului
program determină ca tehnologie să fie aplicabilă doar la un număr
critic de produse program deoarece altfel nu se justifică economic
aplicarea sa;

Dr. Stefan IOVAN - 2023 18


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- caracteristici estetice – se referă la design, prin existen-ţa
anumitor proporţii ale dimensiunilor, funcţionalitatea produsului,
cromatica, aspect general etc.; privite din punct de vedere al
specialiştilor, aceste caracteristici sunt aprecia-te în mod obiectiv
pe baza unor criterii astfel încât un pro-dus program să corespundă
noţiunilor de confort vizual etc.;
- caracteristici ergonomice – reprezintă o subgrupă a ca-
racteristicilor constructive şi funcţionale care:
· răspund preocupărilor ca un produs program să
corespundă cerinţelor operatorului uman;
· urmăresc să producă maxim de satisfacţie ţi-
nând seama de posibilităţile fiziologice, senzoriale, ner- voase
limitate ale acestuia.
- caracteristici ecologice – vizează protecţia mediului din
punct de vedere psihologic, referitoare la încadrarea produ-sului
program în raport cu sistemul de valori al societăţii la un moment
dat, inclusiv după expirarea duratei sale de utilizare;

Dr. Stefan IOVAN - 2023 19


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- caracteristici de identificare – aparţin sistemului de
evidenţă, astfel încât în toate etapele de realizare a produsu-lui
program să fie posibilă identificarea faptică a acestuia şi să fie
stabilită corespondenţa reciprocă dintre informaţiile
documentaţiilor constructive, tehnologice şi manageriale.
• Caracteristicile calităţii sunt privite diferit de către beneficiar:
beneficiar
constructive, funcţionale, ergonomice,
producător:
producător tehnologice,
societate:
societate ecologice.
• Caracteristicile economice sunt comune tuturor,
tuturor dar se aplică
specific.
• Intre caracteristicile de calitate,
calitate indiferent din ce perspec-tivă sunt
privite sau grupate, există multiple relaţii de interdependenţă,
subordonare, ierarhizare, de compoziţie sau agregare.
agregare
• Complexitatea acestor relaţii determină ca ansamblul ca-
racteristicilor de calitate să alcătuiască un sistem.
sistem

Dr. Stefan IOVAN - 2023 20


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
• Pentru ca acest sistem de caracteristici de calitate să fie ope-
raţional, în sensul ca să se selecteze 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
are următoarele proprietăţi:
- să fie apreciat complet de către evaluatori,
evaluatori în sensul de a
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,
calităţii respectiv producători,
beneficiari, auditori;
- să fie ierarhizabil,
ierarhizabil în sensul ca principalele caracteris-tici
să fie descompuse în factori ce sunt cuantificaţi cu aju-torul
metricilor;
- să fie necontradictoriu;
necontradictoriu caracterul contradictoriu al unor
caracteristici nu este eliminat în totalitate, fiind prac-tic imposibil
să se dezvolte un set de caracteristici perfect consistent;
consistent

Dr. Stefan IOVAN - 2023 21


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
astfel, complexitatea vine in 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 stabilesc anumite niveluri pentru
anumite caracteristici,
caracteristici celelalte păstrându-se în limite acceptabile
sau lăsându-se la dispoziţia pricepe-rii proiectanţilor şi
programatorilor, fie se stabileşte un sis-tem de priorităţi specificate
explicit;
explicit de exemplu, în cadrul unui produs software, anumite
programe/module se execută mai rapid, iar altele să fie prevăzute cu
proceduri suplimen-tare de verificare şi testare a corectitudinii
datelor, chiar da-că aceasta duce la încetinirea duratei de execuţie.
• La nivel general, sistemul se bazează pe următoarele consi-derente
elementare:
- conexiunea elementelor interne ale sistemului să fie mai
puternică decât legăturile sistemului cu mediul;
mediul

Dr. Stefan IOVAN - 2023 22


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
aceasta se realizează prin selectarea caracteristicilor de cali-tate pe
anumite criterii cum sunt specificaţiile beneficiarilor, urmărirea de
către producător a unor anumite caracteristici specifice clasei din
care face parte produsul software respec-tiv etc.;
- orice sistem, indiferent de complexitatea sa este un
subsistem al unui sistem mai cuprinzător;
cuprinzător în toate situaţiile, sistemul
caracteristicilor de calitate ce urmează a fi constru-it este doar un
subsistem al calităţii software;
- unitatea şi complexitatea unui sistem presupune o anumită
ordine în aşezarea şi funcţionarea elementelor sale;
- orice sistem este caracterizat printr-o anumită structu-ră,

care este privită ca atare, adică sub forma exactă de reu-nire a
tuturor subsistemelor sau prin urmărirea diferitelor structuri
componente;
- orice subsistem este posibil să aibă o multitudine de bucle
de reacţie care se închid pe anumite porţiuni de pro-ces, pe anumite
porţiuni de sistem sau chiar la nivelul în-tregului sistem;

Dr. Stefan IOVAN - 2023 23


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
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 mana-gementul calităţii.
• Obţinerea unui sistem operaţional de caracteristici – mode-lul
calităţii – pe baza căruia să se realizeze managementul şi gestiunea
calităţii, presupune parcurgerea unor etape an-terioare obligatorii:
- definirea problemei – se stabilesc caracteristicile şi fac-
torii de calitate ce vor fi luaţi in considerare;
- construirea modelului calităţii – se execută analiza şi
modelarea relaţiilor dintre componente, a modului de
interacţiune, a interdependenţelor, precum şi alegerea unui
criteriu de performanţă;

Dr. Stefan IOVAN - 2023 24


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
- alegerea este parţial determinată de felul în care este
precizată problema;
- 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;
- omologarea soluţiei – omologarea soluţiei obţinute pe
baza modelului rezultat al procesului de optimizare, se face
prin:
prin
· compararea cu performanţele precedente sau ale
altor produse concurente pe piaţă – superioritatea noii soluţii
este considerată ca o verificare a valabilităţii ei; inconvenientul
acestei metode constă în aceea că în eva- luarea calităţii oricărui
produs pe o perioadă trecută toate intrările sunt cunoscute şi
elemente importante ale luării deciziei precum evoluţia pieţei,
obişnuinţele utili- zatorilor etc.;

Dr. Stefan IOVAN - 2023 25


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
· compararea cu performanţele viitoare – constă
în compararea soluţiilor supuse la seturi de date de in- trare
externe identice, faţă de una din ele; inconvenien- tele sunt în
principal legate de timp şi cost ridicat pen- tru alcătuirea seturilor
respective de date, elaborarea sau luarea în calcul a unor
variante diferite ale produ- sului, obţinerea şi analiza rezultatelor
sumare compara- tive; în plus, oricât de exhaustiv sunt
elaborate seturile de date de test, în cazul produselor complexe,
acestea nu sunt atotcuprinzătoare, ceea ce face să nu se tragă
con- cluzii privind alte seturi de date de intrare;
· comparaţia prin simulare – experimentările re-
petate satisfac caracteristicile unor incercări în condiţi- ile unor
date de intrare externe diferite şi alese la întâm- plare; totuşi, şi
această metodă generează probleme spe- cifice care reduc
contribuţia sa la rezolvarea problemei.

Dr. Stefan IOVAN - 2023 26


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
• Identificarea şi cuantificarea caracteristicilor de calitate a
produselor software sunt esenţiale în stabilirea calităţii aplicaţiilor
informatice şi asigurarea nivelului de calitate dorit.

Dr. Stefan IOVAN - 2023 27


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
4. Caracteristici de calitate ale produselor software
Capabilitate
• Poate produsul îndeplini funcţii valoroase?
Acoperire: toate funcţionalităţile importante pentru uti-
lizatorii finali sunt prezente.
Precizie: orice rezultat sau calcul este corect şi reprezen-
tat cu cifre semnificative.
Eficienţă: acţiunile se desfăşoară într-un mod eficient
(fără a face ceva ce nu ar trebui să facă).
Integrare: diferite funcţii interacţionează între ele într-
un mod optim.
Simultaneitate: abilitatea de a executa în paralel sarci-
ni multiple şi de a rula simultan cu alte procese.
Toleranţa faţă de tipurile de date: suportă toate forma-
tele de date posibile şi le tratează pe restul.
Extensibilitate: oferă clienţilor sau terţilor posibilitatea
de a adăuga funcţionalităţi sau a schimba com-
portamente.

Dr. Stefan IOVAN - 2023 28


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Fiabilitate
• Poţi conta pe buna funcţionare a produsului în situaţii difi-cile?
Stabilitate: produsul nu ar trebui să conducă la excepţii
netratate, erori fatale sau alte erori.
Robusteţe: produsul tratează elegant erori prevăzute şi
neprevăzute.
Reacţie la utilizare intensivă: cum reacţionează sistemul
la depăşirea diverselor limite?
Redresare: posibilitatea de redresare şi folosire a produ-
sului după o eroare fatală.
Integritatea datelor: datele din sistem sunt protejate în
caz de pierderi sau corupţii de date.
Siguranţă: produsul nu va cauza pagube şi nu va dău-
na persoanelor (răni, decese).
Recuperare în caz de dezastru: ce facem atunci când se
întamplă ceva rău-rău de tot şi neprevăzut?

Dr. Stefan IOVAN - 2023 29


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Încredere: este comportamentul produsului consecvent,
predictibil şi demn de încredere?
Utilizabilitate
• Este produsul uşor de folosit?
Atractivitate: produsul invită la descoperirea posibilită-
ţilor sale.
Intuitivitate: este uşor pentru utilizator să înţeleagă şi
să explice capabilităţile produsului.
Minimalism: nu există redundanţe în conţinutul sau
forma produsului.
Uşor de învăţat: utilizarea produsului se învaţă rapid şi
uşor.
Uşor de reţinut: o dată ce ai învăţat cum să faci ceva, e
foarte uşor să îţi reaminteşti.
Descoperabilitate: caracteristicile şi capacităţile produ-
sului pot fi descoperite prin explorarea interfeţei
grafice.

Dr. Stefan IOVAN - 2023 30


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Operabilitate: un utilizator experimentat poate efectua
rapid acţiunile de bază.
Interactivitate: produsul oferă stări uşor de înţeles şi po-
sibilităţi de a interacţiona cu aplicaţia (via GUI
sau API).
Control: utilizatorul trebuie să simtă că deţine controlul
asupra modului în care aplicaţia răspunde la co-
menzi.
Claritate: este totul definit clar şi în detaliu, într-un
limbaj uşor de înţeles şi lipsit de ambiguitate?
Erori: mesajele de eroare sunt adecvate; e greu să faci
greşeli şi e uşor să le repari o dată ce le-ai făcut.
Consecvenţă: comportamentele sunt consecvente şi există
o percepţie unitară asupra tuturor elementelor
produsului.
Personalizare: setările şi comportamentul aplicaţiei pot
fi modificate şi salvate în funcţie de preferinţele
utilizatorului.

Dr. Stefan IOVAN - 2023 31


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Accesibilitate: produsul poate fi folosit de cât mai multe
persoane şi se încadrează în standardele de acce-
sibilitate aplicabile.
Documentaţie: există o secţiune de ‘Ajutor’ care chiar
ajută, şi care e în concordanţă cu funcţionalităţile
produsului.
Carisma
• Îl are produsul pe “vino-ncoa”?
Unicitate: produsul iese în evidenţă şi se distinge de
restul.
Satisfacţie: cum te simţi după ce ai utilizat produsul?
Profesionalism: are produsul un aer de profesionalism?
Oferă sentimentul de aliniere cu scopul său?
Atractivitate: este produsul în toate aspectele sale atră-
gător pentru ochi şi pentru celelalte simţuri?
Curiozitate: Reuşeşte aplicaţia să trezească interesul
utilizatorilor astfel încât aceştia să devină dorni-
ci să o exploreze?

Dr. Stefan IOVAN - 2023 32


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Captivaţie: sunt utilizatorii captivaţi, se simt bine şi
sunt implicaţi total atunci când utilizează produ-
sul?
Inovaţie: ar trebui produsul să utilizeze tehnologiile de
ultimă oră?
Aşteptări: produsul îţi depăşeşte aşteptările şi întruneş-
te altele despre care nici nu ştiai că le-ai fi putut
avea.
Atitudine:
Atitudine au produsul şi informaţia legată de acesta
atitudinea potrivită? Îţi vorbesc acestea într-un
limbaj şi stil adecvat?
Forţa de Impact:
Impact sunt (primele) impresii impresionante?
Poveste: este captivantă povestea despre începuturile
produsului, construcţia şi scopurile sale?
Securitate
• Oferă produsul protecţie împotriva utilizărilor necorespun-zătoare?

Dr. Stefan IOVAN - 2023 33


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Autentificare: produsul îşi identifică utilizatorii.
Autorizare: produsul stabileşte ce şi cât poate să vadă şi
să facă un utilizator autentificat.
Confidenţialitate: abilitatea de a proteja informaţiile
împotriva utilizatorilor neautorizaţi.
Găuri de securitate: produsul ar trebui să nu invite la
exploatarea de vulnerabilităţi.
Discreţie: produsul nu trebuie sub nici o formă să divul-
ge informaţii despre sistemele sale de bază.
Invulnerabilitate: abilitatea de a rezista încercărilor de
penetrare.
Fără-viruşi: produsul nu va transporta viruşi, şi nici nu
se va comporta ca virus.
Rezistenţă la piratare:
iratare nu există posibilităţi de a copia
şi distribui ilicit software-ul sau codul.
Conformitate: standardele de securitate la care produ-
sul aderă.

Dr. Stefan IOVAN - 2023 34


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Performanţa
• Este produsul suficient de rapid?
Capacitate: multiplele limitări ale produsului pentru
diferite contexte (e.g viteza redusă a conexiunii la
internet).
Utilizarea resurselor:
esurselor utilizarea adecvată a memoriei,
spaţiului de stocare şi altor resurse.
Timp de răspuns: viteza cu care o acţiune (percepută ca
executată) este sub limita stabilită.
Disponibilitate: sistemul este disponibil pentru utiliza-
tori oricând aceştia au nevoie.
Putere de procesare: capacitatea produsului de a proce-
sa multe, multe lucruri simultan.
Anduranţa: poate produsul să suporte încărcături mari
pe perioade lungi de timp?
Feedback: este feedback-ul oferit de sistem la acţiunile
utilizatorilor unul adecvat?

Dr. Stefan IOVAN - 2023 35


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Scalabilitate: cât de bine poate fi scalat produsul la di-
verse niveluri?
IT-bilitate
• Este produsul uşor de instalat, întreţinut şi depanat/ asis-tat?
Cerinţe de sistem: abilitatea de a rula pe configuraţiile
suportate şi de a face faţă diverselor medii de ru-
lare sau absenţei unor componente.
Instalabilitate: produsul poate fi instalat pe platformele
suportate şi ocupă spaţiu de stocare conform
aşteptărilor.
Actualizare: uşurinţa de a actualiza la o versiune nouă
fară pierderea configuraţiei sau a setărilor ante-
rioare.
Dezinstalare: sunt toate fişierele (cu excepţia fişierelor
de sistem sau ale utilizatorului) şi celelalte resur-
se şterse la dezinstalare?

Dr. Stefan IOVAN - 2023 36


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Configuraţie: permite instalarea produsului configura-
rea în diverse modalităţi şi locaţii conform prefe-
rinţelor utilizatorulului?
Lansare: produsul poate fi lansat (de către departamen-
tul de IT) în diferite medii cu diferite roluri de
utilizatori.
Mentenabilitate: este produsul alături de artefactele sale
uşor de întreţinut şi oferit ca suport clienţilor?
Testabilitate: cât de eficace poate fi testat de către client
produsul dat în folosinţă?
Compatibilitate
• Cât de bine interacţionează produsul cu software-ul şi mediile sale?
Hardware: produsul poate fi utilizat cu configuraţii ale
componentelor hardware aplicabile/reale.
Cu sistemele de operare: produsul rulează si se integrea-
ză cu versiunile de sisteme de operare stabilite.

Dr. Stefan IOVAN - 2023 37


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Cu alte aplicaţii: produsul, componentele şi datele sale
funcţionează cu alte aplicaţii pe care utilizatorii
sunt predispuşi să le folosească.
Cu configuraţia: abilitatea produsului de a se integra cu
configuraţiile diverselor medii.
Cu versiunile anterioare: poate produsul să facă tot ceea
ce putea şi versiunea precedentă?
Cu versiuni mai noi: va fi produsul capabil să utilizeze
componente sau interfeţe din versiuni mai noi?
Sustenabilitate: efectele asupra mediului înconjurător,
e.g: eficienţă energetică, întreruperea alimentării
cu energie electrică, posibilitatea de a folosi pro-
dusul de la distanţă.
Conformitatea cu Standardele:
Standardele produsul respectă stan-
dardele aplicabile, legi în vigoare sau principii
etice.
Dr. Stefan IOVAN - 2023 38
Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Caracteristici Interne
• Caracteristici care nu sunt experimentate direct de utiliza-torii
finali, dar pot fi la fel de importante în conturarea suc-cesului unui
produs.
Asistabilitate
• Pot utilizatorii produsului beneficia de suport şi asistenţă în
rezolvarea problemelor?
Elemente de identificare:
identificare este uşoară identificarea com-
ponentelor produsului, a versiunilor acestora, sau a
erorilor specifice?
Diagnosticare: este posibilă obţinerea de detalii supli-
mentare în ceea ce priveşte contextul clienţilor?
Trasabilitate erori: cât de uşor este să localizezi erorile
(e.g, fişiere de log) şi să obţii ajutor?
Depanare: pot fi stările interne ale software-ului obser-
vate atunci când este nevoie?
Dr. Stefan IOVAN - 2023 39
Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Versatilitate: capacitatea de a utiliza produsul în mai
multe moduri/pentru mai multe scopuri decât a
fost iniţial proiectat.
Testabilitate
• Este produsul uşor de verificat şi testat?
Trasabilitate: acţiunile sunt logate în nivele adecvate şi
într-un format utilizabil.
Controlabilitate: abilitatea de a defini stări, obiecte sau
variabile fără ajutorul programatorilor.
Observabilitate: abilitatea de a observa elementele care
trebuie testate.
Monitorizabilitate: poate produsul să ofere indicii des-
pre ceea ce face şi despre starea în care se află?
Izolabilitate: abilitatea de a testa în izolare funcţionali-
tăţi ale produsului.
Stabilitate: procesul de testare face faţă la frecvenţa
schimbărilor aduse software-ului.

Dr. Stefan IOVAN - 2023 40


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Automatizare: există interfeţe de programare (publice
sau ascunse) care pot fi folosite?
Informare: abilitatea testerilor de a învăţa uşor ceea ce
trebuie învăţat...
Auditare: există posibilitatea de validare a produsului
şi a creării acestuia?
Mentenabilitate
• Poate fi produsul întreţinut şi extins cu costuri reduse?
Flexibilitate: abilitatea de a aduce modificări produsu-
lui în funcţie de cerinţele clienţilor.
Extensibilitate: va fi uşor de adăugat funcţii noi în
viitor?
Simplicitate: codul nu este mai complex decît e necesar
şi nu îngreunează planificarea, executarea sau
evaluarea testelor.
Comprehensibilitate: codul este documentat în mod co-
respunzător şi este uşor de citit şi înţeles.

Dr. Stefan IOVAN - 2023 41


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Transparenţă: sunt structurile de bază ale produsului
uşor de înţeles?
Modularitate: codul este organizat în secţiuni uşor de
gestionat.
Refactorizare: eşti mulţumit cu testele unitare?
Analizabilitate: abilitatea de a identifica cauzele defec-
telor sau alte porţiuni de cod care prezintă inte-
res.
Portabilitate
• Este posibilă transpunerea produsului în alte medii şi limbi
diferite?
Reutilizabilitate: pot fi părţi ale produsului reutilizate
altundeva?
Adaptabilitate: este uşor să modifici produsul în vede-
rea integrării cu un mediu diferit?
Compatibilitate: este produsul compatibil cu interfeţele
obişnuite sau cu standardele oficiale?

Dr. Stefan IOVAN - 2023 42


Calitate & Fiabilitate
CALITATEA SISTEMELOR SOFTWARE
Internaţionalizare: este produsul uşor de transpus în
alte limbi?
Localizare: sunt toate părţile produsului adaptate pen-
tru a întruni aşteptările culturii ţării ţintă?
Robusteţea Interfeţei Utilizator:
Utilizator va arăta produsul la fel
de bine odată transpus într-o altă limbă?

Dr. Stefan IOVAN - 2023 43


Calitate & Fiabilitate
Mulţumesc pentru atenţie!

VĂ MULŢUMESC,
PENTRU CĂ POT SĂ MĂ SIMT
UTIL PRINTRE VOI, ÎN ACEASTĂ
ORGANIZAŢIE...

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