18
CALITATEA PRODUSELOR SOFTWARE Cuprins Introducere Calitatea produselor software – particularitati Principii de proiectare a proceselor de dezvoltare software Conceptul de software corespunzator pentru utilizare Calitatea unui produs software Caracteristici de calitate ale produselor software -Functionalitatea -Fiabilitatea -Utilizabilitatea -Eficienta -Usurinta de intretinere -Portabilitatea Tipuri speciale de sisteme si cerintele de calitate Asigurarea calitatii produselor software Caracteristici de calitate software care afecteaza procesul de inginerie software Studiul caracteristicilor de calitate software

stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

CALITATEA PRODUSELOR SOFTWARE

Cuprins

Introducere Calitatea produselor software – particularitati Principii de proiectare a proceselor de dezvoltare software Conceptul de software corespunzator pentru utilizare Calitatea unui produs software Caracteristici de calitate ale produselor software

-Functionalitatea -Fiabilitatea -Utilizabilitatea -Eficienta -Usurinta de intretinere -Portabilitatea

Tipuri speciale de sisteme si cerintele de calitate Asigurarea calitatii produselor software Caracteristici de calitate software care afecteaza procesul de

inginerie software Studiul caracteristicilor de calitate software

Ciobanu Gabriel Grupa 442A

Page 2: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Introducere

Calitatea este un concept care se utilizează în toate domeniile vieții economice și sociale, însă care prezintă caracter subiectiv și care are semnificații particulare pentru domenii sectoare, funcțiuni sau obiecte specifice. Calitatea este un termen general, aplicabil la cele mai diferite trăsături sau caracteristici, fie individuale, fie generice și a fost definită în diferite moduri de către diverși experți sau consultanți în calitate, care îi atribuie deci acestui termen semnificații diferite.

Conceptia moderna despre calitate priveste acest concept în dinamica sa si leaga calitatea produsului sau serviciului de calitatea conceptiei (proiectului) si calitatea fabricatiei. Conform standardelor ISO, calitatea fabricatiei reprezinta gradul de conformitate a produsului cu documentatia tehnica. iar calitatea proiectului exprima masura în care proiectul produsului asigura satisfacerea cerintelor beneficiarilor si posibilitatea de folosire, la fabricatia produsului a unor procedee tehnologice rationale si fezabile din punct de vedere economic .

A = cerintele beneficiarului; B = caracteristicile calitatii prevazute în documentatia tehnica; C = caracteristicile produsului 1 = calitatea conceptiei;

2 = calitatea fabricatiei; 3 = calitatea produsului

Daca societatea contemporana este o societate a calitatii, atunci ea este, în aceeasi masura, o societate a informatiei si a tehnologiei informatiei. În industria de software, întâlnim aceeasi concentrare pe produs a conceptiei, executiei, asigurarii si verificarii calitatii, ca în

faza preindustriala, dar, pe de alta parte, datorita complexitatii produsului rezultat, exista grupul de executanti, împartit în colective sau indivizi specializati, care actioneaza pe parcursul unor înlantuiri

Page 3: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

de faze (ciclu de viata). Modelul de productie în industria software este un model de “productie a proiectelor”.

Calitatea produselor software – particularitati Importanta calitatii produselor software rezida în cel putin trei aspecte: erorile din programele de aplicatie pot fi fatale în anumite domenii unde vietile oamenilordepind de acestea; aceste erori pot provoca pierderi financiare, materiale si tot felul de alte tipuri de insatisfactii sau pierderi; daca în domeniul produselor hardware costurile au o tendinta generala de scadere, în domeniul dezvoltarii de software, desi productivitatea a crescut substantial, nu se înregistreaza si o scadere a costurilor care sa duca la aceeasi tendinta. Acest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul produselor software, asa cum sunt ele relevate:- comportamentul instructiunilor nu se deterioreaza în timp;- erorile sunt provocate de folosirea saucombinarea incorecta a componentelor elementare, si nu de aceste componente în sine;- interactiunile dintre componentele unui program sunt, mai complexe, mai ales daca acestea ruleaza în cadrul unor aplicatii complexe;- erorile exista deja în program, ele sunt eliminate cu timpul, prin depanare, deci programul se îmbunatateste prin trecerea timpului;- eliminarea unei erori nu da siguranta ca sa diminuat numarul total de erori cu o unitate;- non-calitatea programelor poate fi atribuita în întregime greselilor umane, de proiectare, conceptie, programare, documentare.Un manager preocupat de calitatea produselor software trebuie sa posede, anumite abilitati speciale si chiar calitati native, cum ar fi: sa

observe ce se întâmpla si sa înteleaga semnificatia propriilor observatii; sa se poata comporta si sa poata actiona congruent în situatii interpersonale dificile, chiar si când este derutat, suparat sau speriat; sa poata întelege situatiile complexe.

Page 4: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Principii de proiectare a proceselor de dezvoltare software

Masura fundamentala a oricarui proces cu feedback controlat este posib ilitatea de a compara ceea ce a fost planificat a se realiza, cu ceea ce s-a realizat în fapt. Proiectarea proceselor de dezvoltare software are la baza doua activitati:A. analiza riguroasa a cerintelor si specificatiilor, fara de care nu se poate face o evaluare asupra dimensiunilor, efortului de realizare si a obiectivelor privind calitatea;B. planificarea masurabilitatii proceselor si produselor software intermediare si finale, fara de care nu se poate asigura nici gestiunea si nici managementul operational al calitatii.

Conceptul de software corespunzator pentru utilizare

Fiecare client are preferinte individuale, care pot fi satisfacute prin caracteristici de calitate diferite. Aceasta relatie se reflecta puternic în industria de software. Astfel,alaturi de unii factori ai caracteristicii de flexibilitate, se afirma tot mai mult posibilitatea de personalizare a produselor software, ca o caracteristica de calitate tot mai apreciata. Pentru satisfacerea cerintelor, este important ca relatia calitate-cumparator sa fie puternic reflectata nu numai în definirea calitatii, dar si în managementul si gestiunea acesteia, deoarece cumparatorul hotaraste, în final, ce este calitatea.

Produsele software au devenit o parte esentiala a multor sisteme moderne si în general tind sa transforme decisiv mediul de lucru cotidian prin automatizarea activitatilor zilnice. De fiecare data când sistemele software gresesc consecintele sunt foarte grave si conduc la scaderea productivitatii, pierderi importante de bunuri de orice natura, pierderea clientilor si scaderea vânzarilor, potentiale amenintari la siguranta vietii oamenilor, brese în asigurarea securitatii informatiilor, pierderi importante de date si informatii, cheltuieli mari pentru recuperarea datelor si repunerea în functiune a sistemelor. Ca urmare a aderarii României la Uniunea Europeana a aparut necesitatea dezvoltarii de produse si servicii care sa fie compatibile si conforme cu standarde specifice pentru acceptarea lor pe diverse piete. Mai mult, datorita noilor cerinte globale privind calitatea

Page 5: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

produselor au capatat o importanta tot mai mare acordurile internationale referitoare la procedurile de evaluare a calitatii produselor software. Prin acest proiect partenerii îsi propun dezvoltarea unei platforme de cercetare care sa implementeze functiile unui laborator de testare a produselor software, având ca referinta un cadru conceptual metodologic bazat pe standarde internationale

Calitatea unui produs software este data de « capacitatea sa de a putea fi utilizat eficient, efectiv si confortabil, de catre un set de utilizatori, pentru un set de scopuri, in conditii specificate ».

Caracteristicile de calitate ale unui produs software sunt proprietati ale produsului la care utilizatorii sunt sensibili. De exemplu : usurinta de utilizare, fiabilitatea, timpul de raspuns, s. a.

Exista diferite modele de clasificare a caracteristicilor (atributelor) de calitate ale unui produs software. Modelele includ adesea si masuri pe baza carora se stabileste gradul in care produsul intruneste fiecare atribut de calitate. Fiecare model poate avea un set de atribute diferit la nivelul cel mai inalt al clasificarii, de asemenea selectia si definitiile atributelor pot sa difere la toate nivelele.

Calitatea ceruta pentru un produs software trebuie sa fie definita in documentul de definitie a cerintelor software (SRD). De asemenea, trebuie specificate definitiile atributelor de calitate, metodele de masurare si criteriile de acceptare pentru atribute.

Caracteristici de calitate ale produselor software

Incercarile de standardizare a terminologiei referitoare la calitatea produselor software au condus la standardul ISO 9126 (InformationTechnology-Software Product Quality, Part 1: Quality Model, 1998). Standardul contine definitii in special pentru produsul final.Sunt definite 6 caracteristici de calitate, impartite in 21 de subcaracteristici.

Page 6: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Functionalitatea: realizarea scopului de baza pentru care a fost realizat produsul

Oportunitatea: prezenta unui set de functii adecate pentru tascuri specificate

Precizia: furnizarea unor rezultate sau efecte corecte sau agreate

Interoperabilitatea: capacitatea produsului de a interactiona cu sisteme specificate

Securitatea: capacitatea de a preveni accesul neautorizat, accidental sau deliberat, la programe sau date

Conformitatea: adeziunea la standarde, conventii, legi si protocoale

Fiabilitatea: capacitatea produsului de a-si mentine nivelul de performanta, in conditii definite, pentru o perioada de timp definita.

Maturitatea: atribut bazat pe frecventa caderilor datorate greselilor in software

Toleranta la defecte (robustetea): capacitatea de a-si

mentine un nivel de perfomanta specificat in cazuri de caderi software sau intrari neasteptate

Restabilirea dupa caderi: capacitatea si efortul necesar pentru restabilirea nivelului de performanta, recuperarea datelor afectate, dupa posibile caderi

Conformitatea

Utilizabilitatea: efortul necesar pentru utilizarea sa de catre un set de utilizatori definit

Usurinta de intelegere: efortul solicitat unui utilizator de a recunoaste conceptul logic si aplicabilitatea sa

Usurinta de invatare : efortul solicitat unui utilizator de a invata aplicatia, operarea, intrarile si iesirile

Operabilitatea: usurinta de operare si de control de catre utilizatori

Puterea de atractie: capacitatea produsului de a fi atragator pentru utilizatori

Conformitatea

Page 7: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Eficienta: relatia intre nivelul de performanta al produsului si cantitatea de resurse utilizate, in conditii definite Timp la executie: viteza de raspuns, timpi de prelucrare, rata

iesirilor la realizarea functiilor Utilizarea resurselor: cantitatea de resurse utilizate si durata

utilizarii pentru realizarea functiilor sale Conformitatea

Usurinta de intretinere: efortul necesar pentru efectuarea modificarilor, inclusiv corectii, imbunatatiri sau adaptari ale produsului la schimbari ale mediului de functionare, a cerintelor si schimbarilor functionale

Usurinta de analiza: efortul necesar pentru diagnoza defectelor, a cauzelor caderilor, pentru identificarea partilor care trebuie sa fie modificate

Usurinta de modificare: efortul necesar pentru inlaturarea defectelor sau schimbari Stabilitatea: riscul efectelor neasteptate in urma modificarilor Usurinta de testare: efortul necesar pentru a valida produsul

modificat Conformitatea

Portabilitatea: capacitatea produsului de a fi transferat de la o organizatie sau platforma software/hardware la o alta

Adaptabilitatea: capacitatea de adaptare la diferite medii specificate

Usurinta de instalare: efortul necesar pentru instalarea produsului intr-un mediu specificat

Co-existenta: capacitatea de a co-exista cu alte produse independente in acelasi mediu

Oportunitatea si efortul necesar pentru a folosi produsul in locul altui produs intr-un mediu particular

Conformitatea

Tipuri speciale de sisteme si cerintele de calitate

Exista multe cerinte de calitate particulare care se incadreaza sau nu in cele din ISO 9126. Anumite clase speciale de aplicatii pot avea si alte atribute de calitate de considerat

Page 8: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Exemple :

Sisteme ale caror caderi pot avea consecinte extrem de severe: Gradul de incredere al sistemului in ansamblul sau

(hardware, software oameni) este scopul principal, in plus fata de cel de realizare a functiilor de baza Un grad inalt de incredere include atribute ca: toleranta la

defecte, siguranta I functionare, securitatea, utilizabilitatea.

Sisteme inteligente si bazate pe cunostinte: Proprietatea “oricand” (garanteaza raspunsul cel mai bun care

poate fi obtinut intr-un timp dat daca se cere un raspuns in intervalul de timp respectiv)

Capacitatea de explicare ( explica procesul de gandire la furnizarea unui raspuns).

Sisteme de interfata cu omul si de interactiune Usurinta de adaptare la trasaturile si interesele

utilizatorilor, Help inteligent, s.a. Sisteme informationale

Usurinta de interogare Precizie in furnizarea raspunsurilor (numai informatia

relevanta)

Caracteristici de calitate software care afecteaza procesul de inginerie software

Stilul codului Reutilizabilitatea codului Modularitatea codului si independenta modulelor

Asigurarea calitatii produselor softwareRolul activitatilor de asigurare a calitatii software este de a stabili ca produsele si procedurile sunt in conformitate cu standardele si planurile.

Page 9: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

In proiectele mici asigurarea calitatii poate fi efectuata de echipa de dezvoltare, dar in proiectele mari trebuie sa fie realizata de o echipa speciala.

Activitatile de asigurare a calitatii sunt documentate in Planul de Asigurare a Calitatii (Software Quality Assurance Plan (SQAP).

Prin activitatile de asigurare a calitatii se urmareste: Concordanta planurilor cu standardele Realizarea proceselor in concordanta cu planurile Implementarea produselor in concordanta cu planurile

Verificarea si validarea produsului software sunt de asemenea activitati de asigurare a calitatii.

Ce este un sistem de asigurare a calităţii

Ansamblul activităţilor care trebuie întreprinse pentru ca un produs să fie de calitate

Ce acoperă un Sistem de Asigurare a Calităţii:a) Activităţile propriuzise de inginerie

- analiza;- proiectarea (concepţia);- codificarea- testarea (metode şi instrumente)

b) Reviziile aplicate la fiecare pas al proiectuluic) Strategiile de testared) Controlul documentaţiei software şi a ţinerii ei la zie) Compatibilitatea cu standardele (dacă este cazul)f) Mecanismele de măsurare şi raportare (pentru a avea o

măsură cantitativă a calităţii)

Page 10: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Studiul caracteristicilor de calitate software

Pentru aprecierea importanţei care se acordă caracteristicilor de calitate a fost efectuat un studiu în care au fost cuprinşi un număr de zece programatori şi zece utilizatori.

Acestora li s-au cerut sa specifice nivelul de semnificatie al caracteristicilor de calitate pe care le considera cele mai importante in procesul de evaluare a calitatii sistemelor de programe destinate evidentei contabile. Exprimarea s-a efectuat in format procentual, iar suma acestora nu trebuie sa depaseasca 100 de procente. Rezulatele obtinute sunt prezentate in tabelele de mai jos.

Page 11: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Caracteristica UtilizatoriU1 U2 U3 U4 U5 U6 U7 U8 U9 U10 Media(%)

Utilizabilitatea 12 16 10 13 15 11 14 17 13 11 13.2Functionalitatea 9 13 12 15 10 12 10 13 12 13 11.9Fiabilitatea 13 9 11 12 13 10 11 9 10 10 10.8Flexibilitatea 10 9 9 8 8 7 7 10 7 12 8.7Eficienta 9 6 10 9 7 9 8 8 7 9 8.2Siguranta in utilizare 7 10 6 7 9 8 7 9 8 8 7.9Complexibilitatea 8 8 9 7 5 6 8 8 7 6 7.2Portabilitatea 7 6 6 5 7 5 8 5 8 7 6.4Mentenabilitatea 7 5 6 6 5 6 5 5 7 9 6.1Testabilitatea 6 6 5 4 5 8 8 5 7 4 5.8Robustetea 5 6 7 7 6 6 5 5 6 3 5.6Adaptabilitatea 3 3 5 5 5 6 6 2 5 3 4.3Stabilitatea 4 3 4 2 5 6 3 4 3 5 3.9

Semnificaţia caracteristicilor de calitate ale sistemelor de programe pentru contabilitate în viziunea utilizatorilo

Caracteristica ProgramatoriP1 P2 P3 P4 P5 P6 P7 P8 P9 P10 Media(%)

Portabilitatea 10 8 16 12 13 10 14 14 12 12 12.1Fiabilitatea 14 12 9 11 15 9 10 11 13 12 11.6Complexibilitatea 12 10 13 8 12 11 7 8 7 9 9.7Robustetea 9 11 8 10 9 8 9 7 10 8 8.9Eficienta 11 9 7 9 8 10 9 10 8 6 8.7Mentenabilitatea 7 10 9 7 7 9 12 7 7 8 8.3Utilizabilitatea 7 8 5 10 7 8 10 8 7 7 7.7Functionalitatea 6 6 7 5 5 8 9 8 8 7 6.9Siguranta in utilizare 5 7 5 7 6 6 5 5 6 9 6.1Adaptabilitatea 5 7 6 6 4 5 4 8 7 5 5.7Flexibilitatea 6 6 4 5 2 5 3 5 7 10 5.3Testabilitatea 3 4 5 6 7 5 4 6 5 3 4.8Stabilitatea 5 2 6 4 5 6 4 3 3 4 4.2

Semnificaţia caracteristicilor de calitate ale sistemelor de programe pentru contabilitate în viziunea programatorilor

Caracteristicile de calitate au fost ordonate în tabele în funcţie de media nivelurilor de semnificaţie atribuite de utilizatori şi programatori. Ordinea obţinută reflectă importanţa acordată fiecărei caracteristici în procesul de evaluare a calităţii sistemelor de programe pentru

Page 12: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

contabilitate. Transpunerea acestor rezultate în format grafic este prezentată aceste figuri

In figura de mai sus sunt reprezentate ponderile acordate de utilizatori. Din punctul lor de vedere factorii determinanti in aprecierea calitatii sistemelor de programe pentru contabilitate, acele caracteristici pe care le percep in mod direct. Astfel utilizabilitatea (13.2%), functionalitatea (11.9%) si fiabilitatea (10.8%) sunt caracteristicile principale pe care utilizatorii le urmaresc atunci atunci cand evalueaza calitatea unui astfel de sistem de programe

Ponderi acordate de programatori

Bibliografie,

Page 13: stst.elia.pub.rostst.elia.pub.ro/news/is/teme is 2011_12/ciobanu_gabriel... · Web viewAcest ultim aspect se datoreaza particularitatilor prin care calitatea se manifesta în domeniul

Managementul calitatii si protectia consumatorilor , vol.3, lito ASE, Bucuresti, 1997

Progres tehnic, calitate, standardizare – Virginia CiobotaruMetode statistice in analiza software – Ion Ivan, Catalin Boja

http://pecps.ici.ro/http://www.acm.org/

http://ro.wikipedia.orghttp://revistaie.ase.ro/

www.cse.dcu.iehttp://software.ucv.ro