KVALITA SOFTVÉRU - stuba.sk

Preview:

Citation preview

KVALITA SOFTVÉRU

Martin JEDLIČKAKAIA MtF STUTrnava

Š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

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?

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?

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)

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

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

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í

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ď.)

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

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

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ť)

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

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]

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

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

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ť

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)

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

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)

SPICE (ISO/IEC 15504)

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

Architektúra modelu

Architektúra modelu

Všeobecnáfunkcia

Úroveňspôsobilosti

Všeobecnápraktika

Procesnáoblasť

Základnápraktika

Proces

Kategórie procesov

Organizačné

Projektové

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

Podporné

Inžinierske

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)

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

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

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

Ú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)

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

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

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

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)

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