Mezinárodní normalizace kvality softwaru Prof. RNDr. Jiří Vaníček, CSc. 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.
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)
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
SQuaRE Architecture and Projects ISO/IEC 2503n: Quality Requirement Division ISO/IEC 2501n: Quality Model Division ISO/IEC 2504n: Quality Evaluation Division 25010: System and software quality models (FDIS) 25030: Quality requirements (IS) 25040: Evaluation process (FDIS) 25012: Data quality model (IS) 25041: Evaluation guide for developers, acquires and evaluators (NP) ISO/IEC 2500n: Product Quality General Division 25000: Guide to SQuaRE (IS) 25001: Planning and management (IS) ISO/IEC 2502n: Quality Measurement Division 25020: Measurement reference model and guide (IS) 2504n: Evaluation modules (NYA) 25021: Quality measure elements (TR) 25045: Evaluation module for recoverability (IS) 25021: Quality measure elements (CD for IS) 25022: Measurement of internal quality (WD) 25023: Measurement of external quality (WD) 25024: Measurement of quality in use (WD) ISO/IEC 25050 ~ 25099: SQuaRE Extension Division 25060: General framework for usability-related information (TR) 25051: Requirements for quality of COTS software product and instructions for testing (IS) 25062: Common Industrial Format (CIF) for usability test reports (IS) 25063: Context of use description (CD) 25064: User needs description (CD) 25065: User requirements specification (NP) JWG with ISO/TC159/SC4 25066: Evaluation report (NP)
ISO/IEC 25000 SQuaRE Series Summary Published Standards ISO/IEC 25000: Guide to SQuaRE (05/8/1) ISO/IEC 25001: Planning & Management (07/2/1) ISO/IEC 25012: Data quality Model (08/12/3) ISO/IEC 25020: Measurement RM&G (07/5/15) ISO/IEC TR 25021: Quality Measure Element (07/10/15) ISO/IEC 25030: Quality Requirements (07/6/1) ISO/IEC 25045: Evaluation Module for Recoverability(10/8/24) Working ISO/IEC 25010: Quality model, FCD => FDIS ISO/IEC 25021: Revision of TR QME , CDR => 1st CD ISO/IEC 25022-24: Measurement of Int.Q. Ext.Q and QiU, WD => NP ISO/IEC 25040: Evaluation reference model and guide, 2nd FCD => FDIS ISO/IEC 25041: Evaluation guide developers, Acquires and Evaluators, NP => CDR ISO/IEC JTC1/SC7/WG6 2010 Antalya Meeting Report 11
Relations between SQuaRE Series & 9126, 14598 Series 9126-1: Quality model 25000: Guide to SQuaRE (IS) 25001: Planning and management (IS) 9126-2: External metrics 25010: System and software quality model (FDIS) 9126-3: Internal Metrics New 25012: Data quality model (IS) 9126-4: Quality in use metrics 25020: Measurement reference model and guide (IS) 25021: Quality measure elements (TR) 25021: Quality measure elements (CD for IS) 14598-1: General guide 25022: Measurement of internal quality (WD) 14598-2: planning and management 25023: Measurement of external quality (WD) 25024: Measurement of quality in use (WD) 14598-3: Developers’ evaluation guide New 25030: Quality requirements (IS) 14598-4: Acquirers’ evaluation guide 25040: Evaluation process (FDIS) 14598-5: Evaluators’ guide 25041: Evaluation guide for developers, acquires and evaluators (NP) 14598-6: Documentation of Evaluation Module 2504n: Evaluation modules (NYA) New 25045: Evaluation module for recoverability (FDIS) 14756: Measurement and rating of performance 12119: Quality requirements and testing 25051: Requirements for quality of COTS software product and instructions for testing (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. České překlady zatím bez záruky Funkční přiměřenost Bezpečnost Kompatibi-lita 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 užití systému Kvalita (při) užití U všech charakteristik se uvažuje o zařazení ppdcharakteristiky „Shoda“. Je tím míněna shoda s místními zvyklostmi. České překlady zatím bez záruky Efektivnost Účinnost Uspokojení Zabezpečení Použitelnost Při užití Vzhledem ke splnění cílů uživatele Vzhledem ke potřebě zdrojů (čas, HW) Ohrožení: Ekonomiky Zdraví Životního prostředí Naučitelnost Flexibilnost Dostupnost Slučitelnost s kontextem Líbivost Radost Komfort Důvěra x
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
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 Funkční přiměřenost Bezporuchovost Přenositelnost Udržovatelnost Výpočetní účinnost Použitelnost Kompatibilita POŽADAVKY PROBLÉM ! Bezpečnost SKUTEČNOST
NEW: Service Quality Model SCOPE: New project Current: No detailed discussion NOTE & ISSUE: Not yet raised PLAN: WG6 members send opinions on this project => Dec.27, 2010 Japan will prepare for the Study Report => Mar.25, 2011 Establishment of Study Group on Service Quality will be proposed at Paris Meeting NWI Proposal will be submitted to SC7 at Korea Meeting ISO/IEC JTC1/SC7/WG6 2010 Antalya Meeting Report 23
Děkuji za pozornost Prof. RNDr. Jiří Vaníček, CSc. Kontakt: vanicek@pef.czu.cz