34
KVALITA SOFTVÉRU Martin JEDLIČKA KAIA MtF STU Trnava

KVALITA SOFTVÉRU - stuba.sk

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KVALITA SOFTVÉRU - stuba.sk

KVALITA SOFTVÉRU

Martin JEDLIČKAKAIA MtF STUTrnava

Page 2: KVALITA SOFTVÉRU - stuba.sk

Štruktúra prezentácie

1. Rozdielne chápanie kvality softvéru2. Súbor noriem ISO 9000:20003. CMMI4. SPICE (ISO 15504)5. Východiská a zhodnotenie6. Diskusia

Page 3: KVALITA SOFTVÉRU - stuba.sk

Klasický pohľad na kvalitu

miera splnenia vopred definovaných požiadaviek (charakteristík) kvality s cieľom dosiahnuť bezchybný softvérový produktverifikácia = vytvárame produkt správne?

Page 4: KVALITA SOFTVÉRU - stuba.sk

Moderný pohľad na kvalitu

miera splnenia vopred definovaných požiadaviek užívateľa (zákazníka), rovnako aj jeho očakávanívalidácia = vytvárame požadovaný produkt?

Page 5: KVALITA SOFTVÉRU - stuba.sk

Statické chápanie kvality softvéru

statický pohľad = chápanie kvality na základe posudzovania softvérového produktu prostredníctvom súboru charakteristík kvalityviacero modelov kvality (Boehm, Raasch, McCall, ISO/IEC 9126)

Page 6: KVALITA SOFTVÉRU - stuba.sk

Charakteristiky kvality podľa ISO/IEC 9126

Kvalitasoftvérového

produktu

Funkčnosť(functionality)

Bezporuchovosť(reliability)

Použiteľnosť(usability)

Účinnosť(efficiency)

Udržiavateľnosť(maintability)

Prenositeľnosť(portability)

vhodnosťpresnosť

spoluprácabezpečnosť

zhoda

zrelosťchybová odolnosť

obnoviteľnosťzhoda

zrozumiteľnosťzvládnuteľnosťprevádzková spôsobilosť

zhoda

využitie časuvyužitie zdrojov

zhoda

analyzovateľnosťzmeniteľnosť

stabilitatestovateľnosť

zhoda

adaptabilitainštalovateľnosťprispôsobivosťnahraditeľnosť

zhoda

Page 7: KVALITA SOFTVÉRU - stuba.sk

Metriky

interné – používajú sa na meranie vnútorných charakteristík hotových softvérových produktov alebo medziproduktov počas návrhu a implementácie softvérového produktuexterné – vychádzajú z požiadaviek užívateľa na softvérový produkt a odvodzujú sa z chovania systému, ktorého je softvérový produkt súčasťou

Page 8: KVALITA SOFTVÉRU - stuba.sk

Kvalita softvérových procesov

dynamický pohľad = chápanie kvality na základe riadenia procesov vývoja softvéruproces = usporiadané množina krokov, ktorá vedie k požadovanému cieľu [HELEŠIC]zložky procesu:1. činnosti, ktoré sa majú vykonať;2. úlohy a zodpovednosti zainteresovaných;3. metriky využívajúce sa pre plánovanie, sledovanie a zlepšovanie

procesov;4. produkty, ktoré majú byť vytvorené;5. nadväznosti činností v procese;6. techniky a nástroje používané na vykonávanie činností

Page 9: KVALITA SOFTVÉRU - stuba.sk

Riadenie softvérových procesov

jedna z možností - posudzovanie existujúcich procesov s procesmi podľa referenčného modeluzložky posudzovania procesov:

1. referenčný model procesov (CMM, SPICE, ISO 12207)

2. metódy posudzovania procesov (SCE, ISO 15504, ISO 9001, TickIT)

3. nástroje posudzovania procesov (dotazníky, interview, skupinové diskusie, atď.)

Page 10: KVALITA SOFTVÉRU - stuba.sk

Súbor noriem ISO 9000:2000

efektívne implementovanie a prevádzkovanie efektívnych systémov manažérstva kvality [BÍLY] ISO 9000 - opisuje podstatu systémov manažérstva kvality a špecifikuje terminológiu systémov kvalityISO 9001 - špecifikuje používateľské požiadavky na systémy manažérstva kvalityISO 9004 - poskytuje návod na systémy manažérstva kvality, vrátane procesov kontinuálneho zlepšovania

Page 11: KVALITA SOFTVÉRU - stuba.sk

ISO 9000-3

aplikácia ISO 9001:1994 pri vývoji, dodávke, inštalácii a údržbe softvéruštruktúra nie je totožná s ISO 9001:1994zaoberá sa nielen samotným procesom vývoja softvéru, kde sa opiera o princípy softvérového inžinierstva, ale aj komunikáciou medzi dodávateľom softvéru a zákazníkom, obchodnými a zmluvnými otázkamimodel procesov ISO 12207

Page 12: KVALITA SOFTVÉRU - stuba.sk

Zhodnotenie ISO 9000-3

+ procesné chápanie+ nezávislosť od veľkosti organizácie a

používaných techník+ certifikačná procedúra podľa ISO 9001- zastaranosť- jednorozmerné chápanie- implicitné formulovanie (čo sa má vykonať)

Page 13: KVALITA SOFTVÉRU - stuba.sk

CMMI

Capability Maturity Model Integration (Integrovaný model spôsobilosti a zrelosti procesov)SEI (Software Engineering Institute) pri CarnegieMellon Universitykvalita softvérového produktu je determinovaná kvalitou procesov, ktoré sa používajú pri jeho vývoji a neskoršej údržbeintegruje a využíva najlepšie praktiky metodík SW-CMM, SE-CMM a IPD-CMM

Page 14: KVALITA SOFTVÉRU - stuba.sk

Základné pojmy CMMI

Spôsobilosť (Capability) - označuje úroveň akou je organizácia schopná riadiť procesy, kontrolovať náklady a časový plán v rámci jednej procesnej oblasti alebo špecifickej praktiky.Zrelosť (Maturity) - označuje úroveň akou je organizácia riadiť procesy, kontrolovať náklady a časový plán v rámci celého súboru procesných oblastí naprieč celou organizáciou. [KIRBY]

Page 15: KVALITA SOFTVÉRU - stuba.sk

Reprezentácie CMMI

dve reprezentácie:1. stupňovitá reprezentácia2. kontinuálna reprezentácia

príčiny existencie 2 reprezentácií:1. dôsledok integrácie predchádzajúcich

modelov SW-CMM (stupňovitá), SE-CMM (kontinuálna) a IPD-CMM (hybridná)

2. nejednotnosť realizačného tímu

Page 16: KVALITA SOFTVÉRU - stuba.sk

Stupňovitá prezentácia CMMI

RIADENÉ (2)Základný projektový manažment

DEFINOVANÉ (3)Štandardizácia procesov

VYKONÁVANÉ (1)

KVANTITATÍVNE RIADENÉ (4)Kvantitatívny manažment

OPTIMALIZUJÚCE (5)Kontinuálne zlepšovanie procesov

Page 17: KVALITA SOFTVÉRU - stuba.sk

odhad čas, náklady

čas, náklady

čas, náklady

čas, náklady

čas, náklady

odhad

odhad

odhad

odhad

prav

depo

dobn

osť

prav

depo

dobn

osť

prav

depo

dobn

osť

prav

depo

dobn

osť

Úroveň 1

Úroveň 2

Úroveň 3

Úroveň 4

Úroveň 5

prav

depo

dobn

osť

Page 18: KVALITA SOFTVÉRU - stuba.sk

Stupňovitá reprezentácia CMMI

zrelosť softvérovej organizácieokrem 1. úrovne každá úroveň obsahuje viacero procesných oblastí (PAs)každá PA obsahuje praktiky navrhnuté pre dosiahnutie cieľov konkrétnej PAak softvérová organizácia dosiahne ciele všetkých procesných oblastí v rámci jednej úrovne, tak dosiahla stupeň zrelosti (maturity level)

Page 19: KVALITA SOFTVÉRU - stuba.sk

Kontinuálna reprezentácia

Oblasť

proce

su

Oblasť

proce

su Oblasť

proce

su

Proces

Spôsobilosťprocesu

0. ÚroveňNekompletná

1. ÚroveňVykonávaná

2. ÚroveňRiadená

3. ÚroveňDefinovaná

4. ÚroveňKvantitatívne

riadená

5. ÚroveňOptimalizujúca

Page 20: KVALITA SOFTVÉRU - stuba.sk

Zhodnotenie CMM

+ systémový prístup+ štandardizácia softvérových procesov+ možné porovnanie medzi viacerými organizáciami- dve reprezentácie- vzťah medzi kvalitou produktov a spôsobilosťou

procesov (resp. zrelosťou organizácie) nie je garantovaný

- možnosť hodnotenia dotazníkov (Áno, Nie)

Page 21: KVALITA SOFTVÉRU - stuba.sk

SPICE (ISO/IEC 15504)

Software Process Improvement and Capability dEtermination (1991)r.1996 - ISO/IEC TR 15504 - Posudzovanie softvérových procesov

Page 22: KVALITA SOFTVÉRU - stuba.sk

Architektúra modelu

Architektúra modelu

Všeobecnáfunkcia

Úroveňspôsobilosti

Všeobecnápraktika

Procesnáoblasť

Základnápraktika

Proces

Page 23: KVALITA SOFTVÉRU - stuba.sk

Kategórie procesov

Organizačné

Projektové

Zákaznícko-dodávateľské

Podporné

Inžinierske

Page 24: KVALITA SOFTVÉRU - stuba.sk

Kategórie procesov, základné procesy a základné praktiky

kategória procesov zoskupuje príbuzné procesy prostredníctvom príbuzných aktivítzákladných procesov (35) pozostáva z viacero základných praktíkzákladná praktika je inžinierska alebo manažérska softvérová aktivita, ktorá sa týka cieľa príslušného procesu (sú zoskupené podľa kategórií procesov)

Page 25: KVALITA SOFTVÉRU - stuba.sk

Príklad procesov a základných praktík pre Zákaznícko-dodávateľské procesy CUS)

CUS.1 Obstaranie softvérového produktu a/alebo službyCUS.2 Vytvorenie kontraktuCUS.3 Identifikovanie potrieb zákazníka

CUS.3.1 Získanie požiadaviek zákazníka CUS.3.2 Pochopenie očakávaní zákazníkaCUS.3.3 Informovanie zákazníka

CUS.4 Vykonanie spoločných auditov a previerokCUS.5 Balenie, dodávka a inštalovanie softvéruCUS.6 Podpora prevádzky softvéruCUS.7 Poskytovanie zákazníckeho servisuCUS.8 Hodnotenie spokojnosti zákazníka

Page 26: KVALITA SOFTVÉRU - stuba.sk

Spôsobilosť procesu, všeobecné funkcie a praktiky

spôsobilosť procesu je súbor všeobecných funkcií, ktoré spolupôsobia pri vykonávaní procesu na zlepšenie jeho spôsobilostivšeobecná funkcia je súborom všeobecných praktík, ktoré reprezentujú aktivity nevyhnutné pre riadenie procesu a jeho zlepšovanie za účelom dosiahnutia požadovaných výstupovvšeobecná praktika je aplikovateľná na ľubovoľný proces

Page 27: KVALITA SOFTVÉRU - stuba.sk

Príklad spoločných funkcií a všeobecných praktík

1.1 Vykonávanie základných praktík2.1 Plánované vykonávanie

– 2.1.1 Stanovenie zdrojov– 2.1.2 Stanovenie zodpovedností– 2.1.3 Dokumentovanie procesu– 2.1.4 Zabezpečenie nástrojov– 2.1.5 Zaistenie školení– 2.1.6 Plánovanie procesu

2.2 Disciplinované vykonávanie2.3 Verifikované vykonávanie2.4 Sledované vykonávanie

Page 28: KVALITA SOFTVÉRU - stuba.sk

Úrovne spôsobilosti

1. Nevykonávané (medziprodukty a výstupy procesov nie je možné ľahko identifikovať)

2. Vykonávané neformálne (vykonávanie je závislé od individuálnych znalostí a snahy; vykonávanie sa neplánuje a nesleduje; medziprodukty sú ľahko identifikovateľné a testované)

3. Plánované a sledované (uplatňovanie základných praktík je plánované, sledované a verifikované; medziprodukty sa riadia podľa štandardov a požiadaviek)

4. Jasne stanovený (procesy sú verifikované a prispôsobené podľa existujúcich štandardov; podrobné dokumentovanie procesov)

5. Kvantitatívne riadený (podrobné meranie vykonávania; kvantitatívne chápanie spôsobilosti procesu)

6. Kontinuálne zlepšovanie (určujú sa ciele pre zlepšenie efektivity procesov na základe kvantitatívnych charakteristík)

Page 29: KVALITA SOFTVÉRU - stuba.sk

Dvojrozmerný model

Zákaz

nícko

-

dodá

vateľ

sky

Inžini

ersky

Podpo

rnýOrga

nizač

ný Proces

Spôsobilosťprocesu

Procesy 0. úrovne

Projek

tový

Procesy 1. úrovne

Procesy 2. úrovne

Procesy 3. úrovne

Procesy 4. úrovne

Procesy 5. úrovne

Page 30: KVALITA SOFTVÉRU - stuba.sk

Atribúty procesov

predstavujú súbor merateľných charakteristík pri posudzovaní úrovne spôsobilosti procesu profil spôsobilosti procesu

Atribút vykonávania procesuAtribút riadenia vykonávaniaAtribút riadenia medziproduktuAtribút definovania procesuAtribút zabezpečenia zdrojov procesuAtribút merania procesuAtribút riadenia procesuAtribút zmeny procesuAtribút kontinuálneho zlepšovania

Úroveň 0NNNNNNNNN

Úroveň 1LNNNNNNNN

Úroveň 2FLLNNNNNN

Úroveň 3FFFLLNNNN

Úroveň 4FFFFFLLNN

Úroveň 5FFFFFFFLL

Page 31: KVALITA SOFTVÉRU - stuba.sk
Page 32: KVALITA SOFTVÉRU - stuba.sk

Zhodnotenie ISO 15504 (SPICE)

+ vychádza z ISO 12207+ nezávislosť na veľkosti organizácie a

použitých technikách+ proces posudzovania procesov overený

praxou (časť 5)+ procesný profil- absencia certifikačných procedúr

Page 33: KVALITA SOFTVÉRU - stuba.sk

Východiská

nejednoznačnosť vzťahov medzi produktovým a procesným chápaním kvality softvéruštruktúra zabezpečovania kvality softvéru:

1. manažment kvality (procesná orientácia)2. model kvality (charakteristiky kvality)3. požiadavky kvality (stanovanie požiadaviek)4. meranie kvality (model merania, metriky)5. hodnotenie kvality (posúdenie kvality vzhľadom na

požiadavky, certifikácia)

Page 34: KVALITA SOFTVÉRU - stuba.sk

Literatúra

1. BÍLY, M. Súbor návrhov noriem. Bratislava: Slovenský ústav technickej normalizácie, 2000

2. HELEŠIC, J. Semestrální projekt. Brno: FEI VUT. http://www.helesic.cz/download/semproj.zip

3. ISO/IEC 9126:1991, Information technology – Software product evaluation –Quality characteristics and guidelines for their use

4. ISO/IEC 9000-3:1997, Guidelines for the application of ISO 9001:1994 to thedevelopment, supply, installation and maintenance of computer software

5. ISO/IEC PDTR 15504, Information Technology – Software Process Assessment– Part 2: A reference model for process and process capability

6. KIRBY, W. Capability Maturity Model Integration (CMM). http://www.cs.unb.ca/itc/resources/spin.ppt (august 2004)

7. PHILLIPS, M. CMMI v.1.1 Tutorial. Carnegie Mellon University: 2003. http://www.sei.cmu.edu/cmmi/presentations/euro-sepg-tutorial/sld001.htm