© Jiří Sochor, Jaroslav Ráček 1 Kvalita SW produktů © Jiří Sochor, Jaroslav Ráček 2 Klasický pohled na kvalitu SW Každý program dělá něco správně; nemusí však dělat to, co chceme, aby dělal. Kvalita: Dodržení explicitně stanovených funkčních a výkonových požadavků, dodržení explicitně dokumentovaných vývojových standardů a implicitních charakteristik, které jsou očekávány u profesionálně vyrobeného software. Aspekty kvality: - odchylky od požadavků na software - nedodržení standardů - odchylky od běžných zvyklostí (implicitních požadavků) © Jiří Sochor, Jaroslav Ráček 3 Nový pohled - spojité chápání kvality © Jiří Sochor, Jaroslav Ráček 4 Kvalita - IEEE Std. 610.12-1990 Stupeň, do jaké míry systém, komponenta nebo proces splňuje specifikované požadavky. Stupeň, do jaké míry systém, komponenta nebo proces splňuje zákazníkovy nebo uživatelovy potřeby nebo jeho očekávání. © Jiří Sochor, Jaroslav Ráček 5 Faktory kvality software Přímo měřitelné faktory - #chyb/KLOC/čas Pouze nepřímo měřitelné faktory - použitelnost, udržovatelnost Kategorie faktorů kvality: - operační charakteristiky - schopnost akceptovat změny - adaptibilita na nové prostředí © Jiří Sochor, Jaroslav Ráček 6 Faktory kvality - McCall et al. (1977) • Korektnost: Rozsah toho, jak program splňuje specifikaci splňuje uživatelovy záměry. • Spolehlivost: V jakém rozsahu lze očekávat, že program bude plnit zamýšlené funkce s požadovanou přesností. • Efektivita: Množství výpočetních prostředků a kódu, které program potřebuje na splnění svých funkcí. • Integrita: V jakém rozsahu mohou být program nebo data používána neoprávněnými osobami. • Použitelnost: Úsilí vyžadované na učení, operování, přípravu vstupu a interpretaci výstupu programu. © Jiří Sochor, Jaroslav Ráček 7 Faktory kvality - McCall et al. (1977) • Udržovatelnost: Úsilí vyžadované na vyhledání a opravu chyby v programu. • Flexibilita: Úsilí vyžadované na modifikaci provozovaného programu. • Testovatelnost: Úsilí potřebné na testování programu tak, abychom se ujistili, že plní zamýšlené funkce. • Přenositelnost: Úsilí potřebné na přemístění programu na jiný HW/SW. • Znovupoužitelnost: Rozsah, v jakém lze program nebo jeho části znovu použít v jiné aplikaci (funkce a balení produktu). • Schopnost spolupráce: Úsilí, které je nutné vynaložit pro připojení daného systému k jinému. © Jiří Sochor, Jaroslav Ráček 8 Faktory kvality - McCall © Jiří Sochor, Jaroslav Ráček 9 Faktory kvality - McCall © Jiří Sochor, Jaroslav Ráček 10 Globální hodnocení kvality výroby Vyspělost organizace: model CMM Systémy kvality: norma ISO 9001 Ocenění kvality: cena MBNQA © Jiří Sochor, Jaroslav Ráček 11 CMM - Capability Maturity Model Úroveň 1: Výchozí Chaotický proces, nepředvídatelná cena, plán a kvalita. Úroveň 2: Opakovatelný Intuitivní; cena a kvalita jsou vysoce proměnlivé, plán je pod vědomou kontrolou, neformální metody a procedury. Klíčové prvky : - řízené požadavky - plánování softwarového projektu - řízené subkontrakty na software - zajištění kvality software - řízení softwarových konfigurací také SEI model (Software Engineering Institute, Carnegie-Mellon Univ. ), revize 1993 © Jiří Sochor, Jaroslav Ráček 12 CMM - Capability Maturity Model Úroveň 3: Definovaný Orientován na kvalitu; spolehlivé ceny a plány, zlepšující se, ale dosud nepředvídatelný přínos (výkon) systému kvality. Klíčové prvky: - zlepšování organizačního procesu - definice organizačního procesu - školicí program - řízení integrovaného software - aplikace inženýrských metod u softwarového produktu - koordinace mezi pracovními skupinami - detailní prověrky a oponentury © Jiří Sochor, Jaroslav Ráček 13 CMM - Capability Maturity Model Úroveň 4: Řízený Kvantitativní; promyšlená statisticky řízená kvalita produktu. Klíčové prvky: - měření a kvantitativní řízení procesu výroby - řízení kvality Úroveň 5: Optimalizující Kvantitativní základ pro kontinuální investice směřující k automatizaci a zlepšení výrobního procesu. Klíčové prvky: - prevence chyb - inovace technologie - řízené změny výrobních procesů © Jiří Sochor, Jaroslav Ráček 14 Normy týkající se kvality SW ISO 9001 - Quality Systems IEEE Std.730-1984 - SQA Plans IEEE Std.983-1986 - Software quality assurance planning IEEE Std.1028-1988 - Software reviews and audits IEEE Std.1012-1986 - SW verification and validation plans IEEE Std.1074 –1993 - SW life cycle processes DOD-STD- 2167A - Software Engineering DOD-STD-2168 - Software quality evaluation standard © Jiří Sochor, Jaroslav Ráček 15 Systémy kvality v řízení výroby mezinárodní standardy (př. ISO 9001) standardy, postupy, řízení kvality systém řízení kvality manuál kvality projekt 1 plán kvality 1 projekt 2 plán kvality 2 projekt n plán kvality n poskytuje návod a osnovu pro je použit pro sestavení © Jiří Sochor, Jaroslav Ráček 16 Principy systémů SQA • Definovaná a dokumentovaná politika kvality a manažerský podíl • Definice zodpovědností, autorit a vztahů mezi všemi osobami, které svojí prací mohou ovlivnit kvalitu • Dokumentované postupy a instrukce pro kvalitu • Efektivní implementace dokumentovaného systému kvality na všech úrovních organizace • Záznam všech aktivit SQA © Jiří Sochor, Jaroslav Ráček 17 Standardy ISO 900x ISO 9001: 1994 Systémy kvality - model zajištění kvality při návrhu, vývoji, výrobě, instalaci a servisu ISO 9000 - 3: 1991 Doporučení, jak aplikovat ISO 9001 při vývoji SW ISO 9004 - 2: 1994 Řízení kvality a prvky systému kvality - doporučení © Jiří Sochor, Jaroslav Ráček 18 ISO 9001 - Systémy kvality 1. Zodpovědnost vedení 2. Systém kvality 3. Přehled zakázek 4. Řízení návrhu 5. Řízení dokumentace 6. Nakupování 7. Zakoupené produkty 8. Identifikace a sledování produktu 9. Řízení procesu 10. Inspekce a testování © Jiří Sochor, Jaroslav Ráček 19 ISO 9001 - Systémy kvality 11. Inspekční, měřicí a testovací vybavení 12. Stav inspekce a testování 13. Zvládnutí nevyhovujícího produktu 14. Opravné akce 15. Manipulace, skladování, balení a doručení 16. Záznamy o kvalitě 17. Vnitřní prověrky kvality 18. Školení 19. Služby 20. Statistické techniky © Jiří Sochor, Jaroslav Ráček 20 Vztah mezi MBNQA a ISO 9001 © Jiří Sochor, Jaroslav Ráček 21 Jak začít SQA? 1. Formulace hypotézy 2. Pečlivý výběr vhodných metrik 3. Sběr dat 4. Interpretace dat 5. Iniciace akcí vedoucích ke zdokonalení 6. Iterace s vyhodnocením vlivu přijatých opatření, formulace dalších hypotéz © Jiří Sochor, Jaroslav Ráček 22 Příklad jednoduchého sběru dat Evidovaná činnost: plán skutečnost rozdíl důvod práce začátek konec trvání © Jiří Sochor, Jaroslav Ráček 23 Úkoly • Prostudujte podmínky, které je nutné splnit pro dosažení 2. úrovně CMM. • Přezkoumejte návrh vámi řízeného projektu a označte potřebné změny v plánu, měření a další dokumenty. • Stejné úvahy zopakujte s cílem dosažení 3.úrovně CMM.