250 likes | 499 Views
Specseminārs “Programmatūras kvalitāte”. (Chapter 1. What is Software Quality?) Reinholds Zviedris Rīga, 2001. Kas ir programmatūras kvalitāte?. “Galvenā kvalitātes vadības problēma nav tas, ka cilvēki nezin par to, bet gan domā, ka zin.
E N D
Specseminārs“Programmatūras kvalitāte” (Chapter 1. What is Software Quality?) Reinholds Zviedris Rīga, 2001
Kas ir programmatūras kvalitāte? “Galvenā kvalitātes vadības problēma nav tas, ka cilvēki nezin par to, bet gan domā, ka zin. Šajā gadījumā kvalitātei ir daudz kopīga ar seksu. Visi ir par to zin (zināmā kondīcijā, saprotams). Visi jūtas, ka saprot to (pat ja viņi to nevēlētos izskaidrot). Visi domā, ka izpildīšana ir tikai sekojošu dabas tieksmju jautājums (kaut kā, bet pāri mēs tam visam tiekam). Un, protams, daudzi cilvēki domā, ka problēmas šajā lauciņā ir tikai un vienīgi citu cilvēku radītas (ja tikai viņi būtu patērējuši nedaudz vairāk laika, lai visu izdarītu pareizi).” /Philip Crosby, “Quality is Free”/
Nodaļas galvenie mērķi • aprakstīt programmatūras kvalitātes pamatīpašības • iepazīstināt ar ideju par kvalitātes faktoru • aprakstīt dažus galvenos kvalitātes faktorus • parādīt kā kvalitātes faktori ietekmē kvalitātes plānošanas procesu • parādīt kā kvalitātes sistēma ietekmē dažādus programmatūras projektā iesaistītos darbiniekus • aprakstīt kvalitātes sistēmu un kā tieši tā tiek izmantota programmatūras izstrādē
Kvalitātes nozīme • Derīgums mērķim (fitness for purpose) • Prasību specifikācija (requirements specification) vai Sistēmas specifikācija (system specification)
Kvalitātes faktoru kategorijas • Iedalās trijās kategorijās: • tie kas tiek atspoguļoti prasību specifikācijā; • tie kas ir kulturāli; • tie kas ir izstrādātāja interesēs, bet tikai netieši interesējoši klientu. • Lai arī šīs kategorijas nav izšķirošās – kvalitatīvai sistēmai ir ļoti svarīgi ņemt tās vērā
Kvalitātes faktori • Korektums (correctness) • Uzticamība vai Spēja modificēties (maintainability or modifiability), kas sīkāk iedalās: • korektīvās izmaiņas (corrective changes); • adaptīvās izmaiņas (adaptive changes); • pabeigtās izmaiņas (perfective changes). • Pārnesamība (portability) • Testēšanas iespējamība (testability)
Kvalitātes faktori (turp.) • Lietojamība (usability) • Uzticamība (reliability) • Efektivitāte (efficiency) • Integritāte (integrity) • Atkārtota lietojamība (reusability) • Sadarbības spēja (interoperability)
Kvalitātes rokasgrāmata • Kvalitātes rokasgrāmata (quality manual) satur visus standartus, procedūras un direktīvas, kuras jāņem vērā izstrādājot projektus • Visas izmantotās procedūras un standarti ir atkarīgi no konkrētajā projektā atkarīgajiem kvalitātes faktoriem
Standarti, procedūras, direktīvas Kvalitātes sistēma sastāv no trīs elementiem: • Standarts - apraksta kādu dokumentu • Procedūra - detalizē programmatūras izstrādes uzdevumu soļu realizāciju • Direktīva - instrukciju sērija kādu programmatūras izstrādes uzdevumu paveikšanai
Daži kvalitātes sistēmas lietotāji • Projekta vadītājs (project manager) • Programmētājs (programmer) • Sistēmas projektētājs (system designer) • Analītiķis (analyst) • Kompānijas vadība (senior management) • Uzturētāji (maintainers) • Personāla departaments (staffing department) • Klients (customer) • Testētāji (testers) • Mārketinga departaments (marketing department)
Projekta vadītājs • Plānošana (planning) • Pārraudzība (monitoring) • Kontrole (controling) • Jauninājumi (innovating) • Pārstāvēšana (representing)
Programmētājs • Programmēšana (programming) • Pārprogrammēšana (reprogramming)
Sistēmas projektētājs • Sistēmas apraksts (description of the software system) • Arhitektūras veidošana: • Procesu arhitektūra (process architecture) • Datu arhitektūra (data architecture)
Analītiķis • Sakaru uzturēšana (liaision with a customer) • Prasību specifikācijas izveide
Kompānijas vadība • Parasti tiek saukti par biznesa vadītājiem (business managers) • Vairāku projektu uzraudzība
Uzturētāji • Atbildes uz kļūdu pieteikumi (response to error reports) • Sistēmas funkciju izmaiņas (change in system functions)
Personāla departaments • Cilvēkresursu sadalījums pa projektiem (human resourcing on projects) • Apmācības (trainings)
Klienti • Arī ir kvalitātes sistēmas lietotāji
Testētāji • Sistēmas testēšana (system testing) • Nodošanas testēšana (acceptance testing)
Mārketinga departaments • Programmatūras pārdošana
Kvalitātes sistēmas principi • Neatkarība (independence) • “melnās komandas” (black teams) • kļūdu mednieki (bug bounty hunters) • Uzturamība (maintainability) • Trasējamība (traceability) • apgrieztā trasējamība (reverse traceability) • tiešā trasējamība (forward traceability) • Pieaugšana (incrementalism)
Kvalitātes sistēmas principi (turp.) • Agrīnā pārbaude (early validation) • Prasību specifikācijas svarīgums • Kvalitātes sistēmas dinamiskums
Kvalitāte un kvalitātes sistēma • Kvalitātes [pārvaldīšanas] sistēma (quality [management] system): • vadības struktūra (managerial structure) • pienākumi (responsibilities) • aktivitātes (activities) • potenciālās iespējas (capabilities) • resursi (resources) • Kvalitātes rokasgrāmata (quality manual) • Kvalitātes plāns (quality plan) • Kvalitātes kontroles (quality controls)
Kopsavilkums • Kvalitātes faktors ir programmatūras produkta aspekts, kurš ir svarīgs gan klientam, gan izstrādātājam. • Kvalitātes sistēma ir domāta, lai identificētu nepieciešamos kvalitātes faktorus projekta sākumstadijā un piepildītu tos izstrādātajā sistēmā. • Kvalitātes rokasgrāmata ir dokuments, kas satur standartus, procedūras un direktīvas, kas var tikt adoptētas konkrētam programmatūras projektam. • Kvalitātes sistēma sastāv no standartiem, procedūrām un direktīvām • Jebkurš kompānijas darbinieks ir atbildīgs par kvalitātes nodrošināšanu. • Ir noteikts skaits kvalitātes principu, kas ir jāpatur galvā izstrādājot kvalitātes sistēmu.