Sunteți pe pagina 1din 13

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

Introducere Calitatea este un concept care se utilizeaz n toate domeniile vieii economice i sociale, ns care prezint caracter subiectiv i care are semnificaii particulare pentru domenii sectoare, funciuni sau obiecte specifice. Calitatea este un termen general, aplicabil la cele mai diferite trsturi sau caracteristici, fie individuale, fie generice i a fost definit n diferite moduri de ctre diveri experi sau consultani n calitate, care i atribuie deci acestui termen semnificaii 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, ntlnim 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 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 sau combinarea 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 ntmpla si sa nteleaga semnificatia propriilor observatii; sa se poata comporta si sa poata actiona congruent n situatii interpersonale dificile, chiar si cnd este derutat, suparat sau speriat; sa poata ntelege situatiile complexe.

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 cnd sistemele software gresesc consecintele sunt foarte grave si conduc la scaderea productivitatii, pierderi importante de bunuri de orice natura, pierderea clientilor si scaderea vnzarilor, 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 Romniei 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 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, avnd 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.

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

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 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 software


Rolul activitatilor de asigurare a calitatii software este de a stabili ca produsele si procedurile sunt in conformitate cu standardele si planurile. 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 calitii Ansamblul activitilor care trebuie ntreprinse pentru ca un produs s fie de calitate Ce acoper un Sistem de Asigurare a Calitii: a) Activitile propriuzise de inginerie - analiza; - proiectarea (concepia); - codificarea - testarea (metode i instrumente) b) Reviziile aplicate la fiecare pas al proiectului c) Strategiile de testare d) Controlul documentaiei software i a inerii ei la zi e) Compatibilitatea cu standardele (dac este cazul) f) Mecanismele de msurare i raportare (pentru a avea o msur cantitativ a calitii)

Studiul caracteristicilor de calitate software Pentru aprecierea importanei care se acord caracteristicilor de calitate a fost efectuat un studiu n care au fost cuprini un numr 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.

Caracteristica U1 Utilizabilitatea Functionalitatea Fiabilitatea Flexibilitatea Eficienta Siguranta in utilizare Complexibilitatea Portabilitatea Mentenabilitatea Testabilitatea Robustetea Adaptabilitatea Stabilitatea 12 9 13 10 9 7 8 7 7 6 5 3 4 U2 16 13 9 9 6 10 8 6 5 6 6 3 3 U3 10 12 11 9 10 6 9 6 6 5 7 5 4 U4 13 15 12 8 9 7 7 5 6 4 7 5 2 U5 15 10 13 8 7 9 5 7 5 5 6 5 5 U6 11 12 10 7 9 8 6 5 6 8 6 6 6

Utilizatori U7 14 10 11 7 8 7 8 8 5 8 5 6 3 U8 17 13 9 10 8 9 8 5 5 5 5 2 4 U9 13 12 10 7 7 8 7 8 7 7 6 5 3 U10 11 13 10 12 9 8 6 7 9 4 3 3 5 Media(%) 13.2 11.9 10.8 8.7 8.2 7.9 7.2 6.4 6.1 5.8 5.6 4.3 3.9

Semnificaia caracteristicilor de calitate ale sistemelor de programe pentru contabilitate n viziunea utilizatorilo

Caracteristica P1 Portabilitatea Fiabilitatea Complexibilitatea Robustetea Eficienta Mentenabilitatea Utilizabilitatea Functionalitatea Siguranta in utilizare Adaptabilitatea Flexibilitatea Testabilitatea Stabilitatea 10 14 12 9 11 7 7 6 5 5 6 3 5 P2 8 12 10 11 9 10 8 6 7 7 6 4 2 P3 16 9 13 8 7 9 5 7 5 6 4 5 6 P4 12 11 8 10 9 7 10 5 7 6 5 6 4 P5 13 15 12 9 8 7 7 5 6 4 2 7 5

Programatori P6 10 9 11 8 10 9 8 8 6 5 5 5 6 P7 14 10 7 9 9 12 10 9 5 4 3 4 4 P8 14 11 8 7 10 7 8 8 5 8 5 6 3 P9 12 13 7 10 8 7 7 8 6 7 7 5 3 P10 12 12 9 8 6 8 7 7 9 5 10 3 4 Media(%) 12.1 11.6 9.7 8.9 8.7 8.3 7.7 6.9 6.1 5.7 5.3 4.8 4.2

Semnificaia caracteristicilor de calitate ale sistemelor de programe pentru contabilitate n viziunea programatorilor

Caracteristicile de calitate au fost ordonate n tabele n funcie de media nivelurilor de semnificaie atribuite de utilizatori i programatori.

Ordinea obinut reflect importana acordat fiecrei caracteristici n procesul de evaluare a calitii sistemelor de programe pentru 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

Po nderi acordate de programatori

Bibliografie, Managementul calitatii si protectia consumatorilor, vol.3, lito ASE, Bucuresti, 1997 Progres tehnic, calitate, standardizare Virginia Ciobotaru Metode statistice in analiza software Ion Ivan, Catalin Boja http://pecps.ici.ro/ http://www.acm.org/ http://ro.wikipedia.org http://revistaie.ase.ro/ www.cse.dcu.ie http://software.ucv.ro

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