N-AP03

Zadání

Kvalita SW, techniky zajitění kvality, ISO 9000.

Vypracování

Kvalita SW

Kvalita je dodržení explicitně stanovených funkčních a výkonových požadavků, dodržení standardů a charakteristik, které očekáváme od vyrobeného software.

Kvalitu lze měřit:

  • Přímo – např. počet chyb ve vztahu k počtu řádků kódu.
  • Nepřímo – použitelnost, udržovatelnost software.

Největším zdrojem defektů bývají samotné požadavky na systém.

Nejdráž se defekty odstraňují poté co je systém nasazen do provozu.

Výslede projektu je hodnocen jako:

  • úspěšný – projekt je dokončen včas, bez překročení rozpočtu, se všemi specifikovanými rysy a funkcemi
  • s výhradami – projekt je dokončen a funkční, ale překročil rozpočet, opožděný, méně rysů a funkcí, než bylo původně specifikováno
  • neúspěšný – projekt je zastaven před dokončením, není implementován, nebo vyřazen po instalaci

Porucha Neschopnost systému nebo systémové komponenty provádět požadovanou funkci ve specifikovaných hranicích. Porucha může nastat, když se narazí na chybu, jejímž výsledkem je ztráta očekávané uživatelské služby.

Četnost poruch

  • poměr počtu chyb dané kategorie nebo významu k časovému intervalu; například poruchy/měsíc – intenzita poruch
  • poměr počtu poruch k dané jednotce měření; například poruchy za jednotku času, poruchy pro daný počet transakcí, poruchy pro daný počet běhů programu

Fault – chyba (defekt)

  • chyba v kódu, která může být příčinou jednoho nebo více selhání
  • náhodná podmínka, která způsobuje, že funkční jednotka selhává při plnění požadované funkce (bug)

Error Chyba (omyl) – nesprávná nebo chybějící akce uživatele, která zapříčiní chybu (defekt) v programu

Některé druhy chyb

  • algoritmická chyba
  • chyba syntaxe
  • chyba výpočtu a přesnosti
  • chyba dokumentace
  • chyba stresu nebo přetížení
  • chyba kapacity nebo meze
  • časová nebo součinnostní chyba
  • chyba propustnosti nebo výkonu
  • chyba zotavení
  • chyba HW a systémového SW
  • chyba nedodržení standardů a procedur
IBM ortogonální klasifikace defektů (ODC)
  • funkce – chyba ovlivňující schopnosti, rozhraní uživatelů, rozhraní výrobku, rozhraní s HW architekturou nebo globální datovou strukturou.
  • rozhraní – chyba při interakci s ostatními komponentami nebo ovladači přes volání, makra, řídící bloky nebo seznamy parametrů.
  • ověřování – chyba v logice programu, která selže při validaci dat a hodnot před tím, než jsou použity.
  • přiřazení – chyba při inicializaci datové struktury nebo bloku kódu.
  • časování/serializace – chyba, která zahrnuje časování sdílených a RT prostředků.
  • sestavení/balení/spojování – chyba související s problémy s repozitory projektu, změnami vedení, nebo správou verzí.
  • dokumentace – chyba, která ovlivňuje publikace a návody pro údržbu.
  • algoritmus – chyba, která se týká efektivity nebo správnosti algoritmu nebo datové struktury, ne však jejich návrhu.

Techniky zajištění kvality

Jedná se o soubor technik patřící do společného řekněme oboru SQA – software quality assurance.

Obecně lze mluvit o testování, validaci a verifikaci produktu. Validací se rozumí otázka, zda jsme vytvořili správný produkt tj. jestli produkt odpovídá potřebám uživatele. Verifikací se rozumí, zda jsme produkt vytvořili správně tj. zda produkt odpovídá specifikaci.

Testováním se pak pokoušíme zmíněné předchozí dokázat pro omezenou sadu příkladů.

Obecně se pak za úspěšný považuje takový test, který odhalí nějakou chybu.

Testovat lze různými způsoby např.

• Testování podle vstupních dat – vstupní data se rozdělí do vhodných tříd a produkt se otestuje.
• Testování podle struktury programu – zde se snažíme o to, aby program prošel všemi možnými větvemi.

Jinou možností jsou inspekce produktu, která spočívá v dialogu mezi inspektory a autory, kde se kladou otázky nad produktem a specifikací s cílem nálezt případné chyby. Základem je nový pohled na projekt.

Pro určité omezené oblasti lze použít i matematické důkazy správnosti programů.


Cena opravy chyby se násobně zvětšuje s dobou neodhalení této chyby a aktuální fází projektu.
Další techniky zajištění kvality popisují otázky z oboru Informačních systémů

Software Quality Assurance

Efektivita přezkoušení se zvyšuje s formálností měření, následující seznam je od nejméně formálního přístupu pro nejvíce formální:

  • konverzace
  • přezkoušení mezi spolupracovníky
  • neformální prezentace
  • formální prezentace
  • prohlídka
  • recenze, inspekce
Verifikace a validace
  • Verifikace – test proti vnitřní činnosti, „dělat věci správně“. Ověření zda vystupy dane etapy splnuji pozadavky vstupnich dokumentu.
  • Validace – test proti specifikovaným funkcím, „delat správné věci“.
Testování

Úplné testování je nerealizovatelné – obvykle není možné otestovat každý možný průchod programem, proto by testy měly zahrnovat několik běžných hodnot a dále mezní hodnoty a hodnoty, které by projít neměly – selektivní testování.

Testování černé a bílé skříňky

  • Černá
    • funkční testování, nezajímá nás princip a jak to pracuje, ale co to dělá, a že to dělá správně
    • testovací případy založené na specifikaci požadavků
  • Bílá
    • je známá interní implementace, zohledňuje se struktura programu, průchody cykly, …
    • výpočet cyklomatické složitosti (ukazatel počtu všech možných cest) – snažíme se snížit

Testování shora dolů a zdola nahoru Testování shora dolů odhaluje chyby analýzy a návrhu, je v souladu s prototypováním.
Obě metody mají své nevýhody a nelze říci, že jedna je lepší.

  • shora dolů
    • použití „stubů“ – pahýly, protézy – jednoduché náhražkové protézy se shodným rozhraním
    • složité objekty, modely nelze snadno zaměnit za protézu
    • výsledky testů na vyšších úrovních nemusí být přímo viditelné
  • zdola nahoru
    • klasický testovací proces s nadřazenými testovacími objekty – „drivers“.
    • čas a náklady na konstrukci testovacích objektů jsou obvykle vyšší než u stubů
    • až v závěru vznikne program použitelný pro předvedení ve formě protoypu

Kvalita

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ů)
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.
  • 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.

Capability Maturity Model (CPM)

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

Ú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

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

zdroj: http://www.kennethghartman.com/tag/initial-repeatable-defined-managed-optimized/

Test Maturity Model (TMM)

Definuje stupně zralosti, které jsou dosahovány v průběhu zdokonalování procesu testování.

  • Level 1: Initial
    • Chaotické testování zaměřené pouze na nalezení chyb
  • Level 2: Definition
    • Definovaný a plánovaný proces
  • Level 3: Integration
    • QA plně integrováno do životního cyklu vývoje software
  • Level 4: Managment and Measurement
    • Důkladně definováno a testování je měřitelné
  • Level 5: Optimisation
    • Postupné zlepšování získané na základě minulých zkušeností z projektu. Integruje všechny postupy quality engeneering. Plánování, zajištění a řízení. Zaměřuje se na prevenci defektů.
    • Optimalizace samotného průběhu testování

Kvalita dle PA103

Kvalitativní atributy SA Týkají se zejména nefunkčních (extra-funkčních) požadavků na systém: Nefunkční (extra-funkční) požadavky na systém se zpravidla omezují na způsob, jakým je systém implementován a jak realizuje svou funkcionalitu.
Extra-funkční atribut je potom kvalitativní aspekt, kterého se může extrafunkční požadavek týkat.
Příklady základních extra-funkčních kvalitativních atributů:

  • Výkonnost (performance) -– propustnost, doba odezvy, efektivita využití zdrojů
  • Spolehlivost (reliability) –- bezchybný provoz, dostupnost, robustnost, zotavitelnost
  • Bezpečnost (security) –- důvěrnost, integrita, dostupnost
  • Škálovatelnost (scalability) -– zátěž (daná požadavky), souběžná připojení, velikost dat
  • Udržovatelnost (maintainability) -– modifikovatelnost, přizpůsobivost

Monitorování a testování = ověření kvality existujícího systému

  • Levná a často používaná metoda
  • Použitelné až po implementaci systému
  • Výsledky nutno brát s rezervou, závisí na počtu testovacích běhů

Predikce z modelu = předpověď kvality vytvářeného systému

  • Nutno mít k dispozici (zjednodušený) model systému (vytvářený a upřesňovaný v průběhu návrhu)
  • Použitelné v průběhu celého procesu návrhu architektury
  • Přesnost výsledků závisí na detailnosti modelu

Formální verifikace = ověření hypotéz o modelu systému

  • Nejdražší a nejpřesnější metoda
  • Ověřováno na modelu vytvořeném speciálně za účelem verifikace (částečně možno generovat automaticky z kódu nebo návrhových modelů)
  • Pro zaručení přesnosti je nutno investovat nemalé úsilí do vyladění modelu (a úrovně jeho detailu)

atd. viz slidy

ISO 9000

Obecně standardy rodiny ISO 900x se zaobírají systémem kvality při návrhu, vývoji, výrobě a servisu. Konkrétně ISO 9000 je doporučení jak aplikovat ISO 9001 při vývoji software. Samotný standard se postupně vyvíjel.

V první verzi z roku 1987 se orientoval zejména na dodržování pracovních postupů.

V druhé verzi z roku 1994 pak zejména na zajištění kvality a opět na držení se řádně dokumentovaných pracovních postupů.

Ve třetí verzi z roku 2000 se standard zaměřil zejména na process managment a jeho efektivnost.

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
  • Potřebné metriky např. Fail, Defect, MTBF
  • Vyžaduje sběr metrik

ISO 9004 - 2: 1994

  • Řízení kvality a prvky systému kvality - doporučení

ISO 9001

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í
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

ISO jinak

zdroj: http://www.finance-management.cz/080vypisPojmu.php?X=Systemy+managementu+jakosti+ISO&IdPojPass=40

Cílem norem ISO je podpora kvality výrobků. Normy ISO patří k nejznámějším standardům kvality na evropském kontinentu a jsou v oblasti požadavků trhu na kvalitu respektovanou mezinárodní referencí. Jádro souboru norem tvoří čtyři mezinárodní standardy, které poskytují návod k vypracování a uplatnění systému řízení kvality. Ty nejsou specifické pro určitý druh produktů, ale dají se uplatnit téměř ve všech oborech výroby a služeb.

ISO 9000:2000

  • uvádí zásady a základy managementu kvality, popisuje, čeho se tato řada norem týká a uvádí základní definice termínů pro použití v organizaci.

ISO 9001:2000

  • uvádí požadavky na systémy managementu kvality pro případ, kdy je nutné prokázat, že organizace je způsobilá účinně plnit požadavky zákazníků a legislativy. V této normě jsou specifikovány požadavky na systém managementu jakosti zejména v případech, kdy organizace
    • a) potřebuje prokázat svoji schopnost trvale poskytovat produkt, který splňuje požadavky zákazníka a příslušné požadavky předpisů a
    • b) má v úmyslu zvyšovat spokojenost zákazníka efektivní aplikací systému, včetně procesů pro jeho neustálé zlepšování.

ISO 9004:2000

  • poskytuje návod pro zavedení systému managementu kvality, který překračuje požadavky ISO 9001 a umožňuje organizaci účinně plnit a předvídat očekávání zákazníků.

ISO 19011

  • poskytuje návod pro plánování a provádění auditů kvality.

Normy ISO 9000, ISO 9001 a ISO 9004 jsou často označovány pod souhrnným názvem Systém managementu jakosti ISO 9000 a řeší management jakosti novým přístupem, a to procesním přístupem. Normy byly novelizovány naposledy v roce 2000.

International Organization for Standartization (IOS, Mezinárodní organizace pro normy) je mezinárodní organizace pro vývoj a sjednocení standardů. Byla založena v roce 1947
jako síť národních institutů pro normalizaci s centrálním sekretariátem v Ženevě. Hlavní činností je vývoj technických norem.

Požadavky normy ISO 9001:2000

Systém managementu jakosti Organizace se musí orientovat na řízení procesů, tj. přesně a úplně identifikovat všechny relevantní procesy, určit jejich vazby a zajistit jejich efektivní fungování. Ty jsoum onitorovány, měřeny a dále zlepšovány. Zásadní důraz je kladen na procesy s přímou vazbou k zákazníkovi.

Současně s řízením procesů je vyžadováno i zpracování dokumentace v přiměřeném rozsahu a její řízení. Samozřejmostí je znalost a dodržování veškeré legislativy spojené s činností organizace.

Odpovědnost vedení Vrcholové vedení musí být příkladem při zajišťování požadavků systému řízení kvality a poskytovat důkazy o své odpovědnosti za vybudování a uplatňování systému řízení kvality. Zákazník je centrem pozornosti celého systému a jeho požadavky a potřeby musí být v organizaci plně vnímány a
plněny. Cílem je spokojený zákazník.

Vrcholové vedení stanovuje strategické cíle a formuluje politiku kvality a cíle kvality organizace. Vrcholové vedení musí zajistit rozdělení pravomocí a odpovědnosti v organizaci. Vedení podniku rovněž zvolí svého zástupce zodpovědného za vybudování a fungování systému řízení kvality. V organizaci musí fungovat interní komunikační systém.

V plánovaných intervalech je třeba přezkoumávat fungování systému řízení kvality podle stanovených kritérií a reagovat na zjištěné nedostatky.

Řízení zdrojů Organizace musí alokovat přiměřené zdroje pro fungování systému řízení kvality a dále zdroje pro zvyšování spokojenosti zákazníka.

Zaměstnanci ovlivňující kvalitu produktu musí být kompetentní na základě patřičného vzdělávání a výcviku. Organizace musí určit jejich potřebnou odbornou způsobilost a zajišťovat její udržování.

Infrastruktura podniku musí být nastavena a udržována za účelem dosažení shody kvalitativních stránek skutečného výrobku a požadavky na něj. Pracovní prostředí je závazně vymezeno a řízeno.

Realizace produktu/služby Organizace plánuje a rozvíjí procesy potřebné pro realizaci produktu. Požadavky zákazníka musí být určeny a přezkoumány. Je třeba se zabývat i požadavky, které zákazník neuvedl, ale které jsou nutné pro zamýšlené použití. Ve vztahu k zákazníkovi je třeba uplatňovat řízenou komunikaci, zejména s ohledem na využití zpětné vazby včetně stížností. Návrh a vývoj produktu musí být řízen podle specifických požadavků.

Organizace musí zajistit, aby nakupovaný produkt splňoval specifikované požadavky a hodnotit a vybírat dodavatele podle jejich schopnosti dodávat produkt v souladu s jejími požadavky. Vysoká pozornost se musí věnovat dodavatelům, jejichž produkty mají přímý vliv na zákazníka.

Plánování a realizace výroby nebo poskytování služby musí být řízeno. Tyto procesy je třeba plně definovat. Organizace musí zajistit péči o majetek zákazníka a rovněž ochranu produktu při interním zpracování, dopravě, manipulaci a skladování.

Organizace má za úkol definovat nástroje pro monitorování a měření systému kvality. Součástí této definice je i vymezení jejich použití.

Měření analýzy a zlepšování Organizace nejen plánuje a uplatňuje procesy monitorování a měření, ale má i povinnosti provádět analýzy výsledků a implementovat z nich vyplývající návrhy. Jedním z hlavních kritérií těchto procesů je spokojenost zákazníka. Aby se prokázalo, že systém managementu kvality je
uplatňován a udržován, organizace musí provádět jejich interní audity.

Organizace aplikuje vhodné metody pro monitorování procesů a pro měření produktu. Je třeba stanovovat metriky procesů a služeb a vyhodnocovat jejich dodržování. Současně musí být zajištěna eliminace defektivního produktu na základě dokumentovaných postupů. Je třeba stanovit dokumentované postupy a preventivní opatření, které mají být použity k nápravě nežádoucího stavu.

Organizace musí shromažďovat a analyzovat údaje a informace o spokojenosti zákazníka. V rámci systému řízení jakosti je nutné sledovat vývoj a trendy v podnikových činnostech. Systém managementu kvality musí být neustále
zlepšován.

Organizace, která plní všechny stanovené požadavky norem má zaveden systém managementu kvality. Pro získání objektivního důkazu o zavedení systému může požádat certifikační organizaci o ověření jeho shody s normou tzv. certifikaci systému.

Certifikace Proces certifikace jsou činnosti a postupy spojené s ověřováním shody systémů managementu kvality s požadavky norem ISO 9001:2000 a vydáváním příslušných osvědčení (certifikátů). Organizace, která systém řízení kvality vybuduje, má povinnost ho podrobovat pravidelnému auditu. Audit provádí certifikační organizace a ta také vydává příslušné certifikáty. Pravidla pro činnost certifikačních organizací jsou stanovena národním akreditačním systémem, který zajišťuje nestrannost a objektivitu činnosti certifikačních organizací řadou přísných požadavků.

Vypracoval

Tomáš Hřebíček, 256479

Předměty

PA104 - Vedení týmového projektu
PA103 - Objektové metody návrhu informačních systémů
PA102 - Technologie informačních systémů I
PA105 - Technologie informačních systémů II

Použitá literatura a další materiál

mgr-szz/ap-ap/3-obr.txt · Poslední úprava: 2020/04/12 16:56 (upraveno mimo DokuWiki)
Nahoru
CC Attribution-Noncommercial-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0