Mezinárodní normalizace kvality softwaru Jiří Vaníček vanicek@pef.czu.cz Katedra informačního inženýrství, Provozně ekonomická fakulta, Česká zemědělská univerzita v Praze 1990 – 2007: Předseda české technicko normalizační komise pro informační technologie, 1990 - … : Zástupce ČR v podvýboru ISO/IEC, JTC1/SC7 - Systémové a softwarové inženýrství a WG 6 - Hodnocení a měření kvality softwaru
Mezinárodní normalizační orgány ISO („isos“ = stejný) Obecná působnost IEC (Mezinárodní elektromechanická komise) Zahrnuje normalizaci elektronických zařízení IEEE, … ISO/IEC JTC1 Informační technologie Podvýbory SC SC7 Systémové a softwarové inženýrství Pracovní skupiny - WG WG 6 Hodnocení a měření kvality V Evropě: CEN CENELEC CEN/CENELEC
Proces přípravy a schvalování mezinárodních norem NVI (Země zastoupené v SC se vyjadřují k zahájení prací na normě) Experti v pracovní skupině připravují text návrhu (WD) Hlasování na úrovni WG Návrh výboru (CD) V těchto fázích je možné obsah norem věcně ovlivnit Hlasování na úrovni CD Návrh mezinárodní normy (DIS) Hlasování národních autorit na úrovni DIS Mezinárodní norma (IS) Norma EU Česká norma
Pojem kvality (= jakost) Kvalita je podle základní normy ISO 9000 (Systémy managementu kvality, základní principy a slovník) definována jako stupeň splnění požadavků souborem inherentních charakteristik (znaků). Slovo „inherentní“ znamená „existující v něčem“ (jako jeho trvalá charakteristika), na rozdíl od „přiřazený“. Kvalitu tedy neovlivňuje to, co bylo přidáno k hodnocenu objektu dodatečně, pouze pro daný okamžik. Kvalita = jakost Terminologická poznámka: Synonymem slova kvalita je jakost. V češtině se v prvých verzích norem užívalo slova jakost. V posledních verzích norem jsou oba termíny povolené. Kvalita se užívá častěji.
Jak rozumět pojmu požadavek? Požadavek je definován (ISO 9000) jako potřeba nebo očekávání, které je: stanoveno speciálně nebo se obecně se předpokládá nebo je závazné (vyplývá například z právních předpisů). (ISO 9000) „Obecně se předpokládá“ znamená běžnou zvyklost či praxi u firmy, jejich zákazníků a zainteresovaných stran „Stanovený požadavek“ je takový, který je popsán v nějakém dokumentu, například v kupní smlouvě. Různí zákazníci mohou mít různé požadavky na týž produkt. Požadavky mohou mít všechny zúčastněné strany. Nejen prodejce a zákazník, ale každý, kdo je „dotčenou osobou“ v souvislosti s procesem vytváření a užití produktu.
Kvalita procesu a kvalita produktu Kvalitu je třeba hodnotit u procesu i o produktu. Proces je (ISO 9000) definován jako soubor vzájemně souvisejících a vzájemně působících činností, který přeměňuje vstupy na výstupy. Produkt je výsledek procesu. Produkty mohou být těchto čtyř kategorií: Služby (například přeprava) Software (nejen počítačové programy, ale třeba slovník či „know how“) Hardware (například mechanická část nějakého stroje, třeba motoru) Zpracované materiály (například olej do motoru) Konkrétní produkt může být kombinací těchto kategorií Informatický produkt bývá téměř vždy kombinací softwaru a služeb, případně i hardwaru Pohled na kvalitu procesu je důležitý zejména pro vývojáře a výrobce a dodavatele. Pohled na kvalitu produktu zejména pro opatřovatele, zákazníka a uživatele.
Kvalita SW procesu a produktu Předmětem hodnocení kvality může být: a) Proces vývoje a výroby produktu Zajímá především vývojáře a výrobce Požadavky lze stanovit do značné míry Obecně pro různé druhy produktů. Řeší obecné normy ISO Především řady 9000, 10000 ISO/IEC 90003 Je-li ve firmě pořádek, budou její produkty kvalitní. Jinak vznikne kvalitní produkt je náhodně. b) Vlastní produkt, jako výstup procesu Zajímá především obstaravatele a uživatele Požadavky se výrazně odlišují podle typu produktů Normy podle oborů. Pro IT normy ISO/IEC Řady 9126, 14598, 12119, v budoucnu 25000 (SQuaRE)
Různí uživatelé Různé potřeby Různé požadavky Příklad: Uvažme tří textové editory: jednoduchý, snadno intuitivně ovladatelný, který umožňuje snadnou přípravu jednoduchých dokumentů typu dopis specializovaný pro vědecké texty , vhodný pro psaní složitých vzorců potřebných pro vědecké články a knihy specializovaný pro sazbu publikací typu reklamní katalogy firem se složitou grafikou. Editory b) a c) budou pochopitelně mít složitější ovládání. Různí uživatelé budou hodnotit kvalitu produktů a), b) a c) diametrálně odlišně, protože produkty budou různě odrážet jejich potřeby. Kvalitu produktu nutno hodnotit vždy z hlediska definované skupiny uživatelů. Proto je vhodné vymezit několik pohledů (charakteristik) kvality a požadavky stanovit odděleně pro tyto charakteristiky.
Proč se normy snaží kvalitu měřit? Světový trh v informatice je výrazně globální. Pohledy na kvalitu je třeba sjednotit. Nezbytnost normalizace (na co nejširší úrovni - nejlépe celosvětové) Kvalitu je třeba hodnotit objektivně Potřeba měření pro hodnocení kvality Měření Popis výseku reálného světa čísly.
„Staré“ (dožívající) normy pro kvalitu softwarového produktu ISO/IEC 9126 Softwarové inženýrství – Jakost produktu (Software engineering - Product quality): 9126-1 Model jakosti (Quality model) TR 9126-2 Vnější metriky (External metrics) TR 9126-3 Vnitřní metriky (Internal metrics) TR 9126-4 Metriky pro jakost užití (Quality in use metrics) ISO/IEC 14598 Softwarové inženýrství – Hodnocení softwarového produktu (Software engineering – Product quality evaluation): 14598-1 Obecný přehled (General owerview) 14598-2 Plánování a řízení (Planning and management) 14598-3 Postup vývojářů (Process for developers) 14598-4 Postup opatřovatelů (Process for acquieres) 14598 -5 Postup hodnotitelů (Process for evaluaters) 14598-6 Dokumentace hodnotících postupů (Dokumentation of evaluators modules) ISO/IEC 12119 Softwarové inženýrství – Softwarové balíky – Požadavky na jakost a zkoušení (Software engineering – Software packages – Quality requirements and testing)
Hrubá struktura norem SQuaRE – ISO/IEC 250xy a současný stav přípravy norem Oddíl požadavků na kvalitu Quality Requirements Division 2503n Oddíl modelu kvality Quality Model Division 2501n Oddíl hodnocení kvality Quality Evaluation Diviasion Division 2504n Oddíl řízení kvality Quality Management Division 2500n Oddíl měření kvality Quality Measurement Division 2502n
ISO/IEC 2503n: Oddíl požadavků na kvalitu ISO/ IEC 2504n: Oddíl hodnocení kvality ISO/IEC 2501n: Oddíl modelu kvality 25010: Model kvality (CD) 25040: Přehled hodnocení kvality (CD) 25030: Požadavky na kvalitu (IS) 25012: Model kvality dat (třetí CD) 25041: Hodnotící postupy ISO/IEC 2500n: Obecný oddíl kvality produktu 25000: Návod k užití SQuaRE (IS) 25042: Proces vývojáře 25001: Plánování a management (IS) 25043: Proces opatřovatele ISO/IEC 2502n: Oddíl měření kvality 25044: Proces hodnotitele 25021: Prvky pro měření kvality (TR) 25022: Měření vnitřní kvality 25045: Modul pro hodnocení možnosti zotavení 25023: Měření vnější kvality 25024: Měření kvality užití ISO/IEC 25050 ~ 25099: Oddíl rozšíření SQuaRE 25051: Požadavky na kvalitu pro konfekční produkty (IS) 25062: Společný průmyslový formát pro zprávu o testování použitelnosti (IS)
Model kvality softwaru Vnější kvalita (uspokojení požadavků) Pohledy na kvalitu Vnitřní kvalita (prediktory kvality) Kvalita užití (quality in use) Kvalita procesu – (závisí na systému jako celku)
Model softwaru a model systému . Model kvality softwaru Model kvality dat Model kvality systému Vnější (firemní, státní, veřejný, do technického zařízení vnořený …) systém Lidská činnost Komunikační systém Mecha- nický systém Výpočetní systém … HW Ostatní SW a data Hodnocený SW Hodnocená data
Vnější a vnitřní charakteristiky kvality Vnější a vnitřní kvalita U všech charakteristik se uvažuje o zařazení ppdcharakteristiky „Shoda“. Je tím míněna shoda s místními zvyklostmi. Výčet podcharakteristik i jejich české názvy je pouze předběžný, patrně bude změněn Funkčnost Bezpečnost Schopnost spolupráce Bezporu-chovost Použi-telnost Účinnost Udržova-telnost Přenosi-telnost Nahraditelnost, Koexistence, Softwarová kompatibilita, Hardwarová kompatibilita Pohotovost, Odolnost vůči poruchám, Obnovitelnost, Robustnost Srozumitelnost účelu, Naučitelnost, Snadnost obsluhy, Atraktivnost, Možnost nápovědy, Časové chování, Nároky na zdroje Modularita, Znovupouži-telnost, Možnost analýzy, Stabilnost Testovatelnost …. Utajení, Integrita, Nenarušení, Dohledatelnost Funkční přiměřenost, Přesnost Portabilnost, Možnost adaptace, Instalovatel- nost Oproti 9126 v SQuARE vyčleněno z funkčnosti jako zvláštní charakteristiky
Charakteristiky kvality – podcharekteristiky kvality – atributy a jejich míry
Tři úrovně hodnocení kvality softwaru Kvalita softwarového produktu Charakteristika #1 Charakteristika #2 Charakteristika #m Podcharakteristika #1 Podcharakteristika #1 Podcharakteristika #n Atribut #1 – jeho míra Atribut #2 – jeho míra Atribut #k – jeho míra míra
Kvalita, atributy a míry Míry kvality softwaru Kvalita softwarového produktu Charakteristiky kvality Měřicí funkce Podcharakteristiky kvality Prvky pro měření kvality
Co je nutné vyjasnit u každé míry? Jméno míry, Účel míry - otázkou, na kterou daný atribut či zjištěná míra odpovídá. Metoda měření, - postup, který vede ke stanovení hodnoty míry atributu. Datové prvky a vzorec pro výpočet míry Interpretace hodnot míry, zde se popíše množina hodnot, kterých mohou míry nabývat. Například údaj: „0 X 1, čím blíže k 1, tím lépe“. Typ měřicí stupnice, při měření čísly se obvykle uvádí příslušný typ podle Stevensovy klasifikace. Typ měřených hodnot, u základních měr nejčastěji počet či čas. U odvozených například počet / počet, počet / čas nebo čas / čas. Zdroj dat pro určení míry Etapa životního cyklu, podle EN ISO/IEC 12207 „Informační technologie – Model životního cyklu softwaru“ (Information technology – Software life cycle model) Profese, využívající výsledky měření, Jméno měřeného atributu, doporučuje se uvádět několik slov, která příslušný atribut charakterizují dostatečně dobře a jednoznačně, spolu s případnou zkratkou. Charakteristiky a podcharakteristiky jakosti podstatně ovlivněné danou mírou, Charakteristiky a podcharakteristiky jakosti částečně ovlivněné danou mírou, lze uvést i několik charakteristik a podcharakteristik. Druh míry zda je vnější, vnitřní nebo pro jakost užití.
Kvalita a životní cyklus softwaru Požadavky na systém, získané od všech relevantních stran, dotčených budoucí funkcí vnějšího systému Technické požadavky na SW Požadavky na kvalitu užití Požadavky na vnější kvalitu Požadavky na vnitřní kvalitu Kvalita SW produktu Kvalita užití implementace Požadavky na změny Vnější kvalita Vnitřní kvalita (prediktory) Požadavky na zvýšení kvality
Jak z měr získat hodnocení?
Komplexní posouzení kvality
Možné přínosy a možná ohrožení projektu SQuaRE ?, – Návrh se zatím soustřeďuje na obecné otázky a tvorbu návodů. Ponechává stranou detaily. Především zatím chybí návrh atributů a měr. Práce se opožďují, výsledky zastarávají za rozvojem oboru. Soustava normativních dokumentů se rozrůstá a stává se nepřehlednou. Jejich pořízení se vzhledem k cenové politice normalizačních orgánů prodražuje. Metody a postupy tvorby softwaru jsou velmi diverzifikované. Autor příspěvku nevidí shodu na vnitřních mírách jakosti jako nadějnou. + Posílení pozice uživatele na trhu IT
Kontakt: vanicek@pef.czu.cz Děkuji za pozornost Uvítám spolupráci na tvorbě a posuzování návrhů norem SQuaRE. Nemám však možnost zabezpečit jakékoliv honorování této obtížné a často nevděčné práce. Kontakt: vanicek@pef.czu.cz