Programmatūras kvalitāte

aspekts, kas raksturo programmatūras izstrādes rezultātu, novērtējumu un spēju atbilst noteiktām prasībām un standartiem

Programmatūras izstrādes jomā biežāk sastopamie virzieni, kuros tiek aplūkota programmatūras kvalitāte, ir:[1]

  • atbilstība iepriekš izvirzītajām prasībām (Crosby, 1979);
  • piemērotība lietošanai (Juran, 1988);
  • pakāpe, līdz kurai tiek apmierinātas lietotāja vajadzības vai cerības (Deming, 1988; Ishikawa, 1985).

Kopumā programmatūras kvalitāte ir stāvoklis, kad komponente, sistēma vai process atbilst prasībām un/vai lietotāja/klienta vajadzībām un vēlmēm, kā arī produkta vai servisa īpašību kopums, kas liecina par produkta spēju nodrošināt pieprasītās un ietvertās vajadzības. Šis stāvoklis un īpašību kopums nodrošina uzticību un apmierinātību lietotājiem un klientiem, kas ir svarīgs faktors, lai panāktu sekmīgu un veiksmīgu produktu vai pakalpojumu izstrādi un piegādi tirgū. Programmatūras kvalitāte ir būtiska daļa no programmatūras testēšanas, kas nodrošina, ka izstrādātā programma vai sistēma atbilst noteiktām prasībām un izpilda tās funkcijas.[2][3]

Kvalitātes rokasgrāmata ir dokuments, kas satur standartus, procedūras un direktīvas, kas var tikt adoptētas konkrētam programmatūras projektam. Jebkurš kompānijas darbinieks ir atbildīgs par kvalitātes nodrošināšanu. Visas izmantotās procedūras un standarti ir atkarīgi no konkrētajā projektā atkarīgajiem kvalitātes faktoriem.[4]

Kvalitātes faktors ir programmatūras produkta aspekts, kurš ir svarīgs gan klientam, gan izstrādātājam. Šāda kvalitāte ir svarīga, lai nodrošinātu lietotāju apmierinātību un uzticēšanos programmai. Tāja ir dažādi faktori, kas ietver drošību, efektivitāti, saprotamību, uzturamību, stabilitāti, atkārtojamību un citus aspektus.[2][4]

Kvalitītes raksturīga pazīme ir tā, ka kvalitāte nav viennozīmīgs jēdziens. Ir sastopamas daudzas un dažādas kvalitātes definācijas, dažādi tās izpratnes un novērtēšanas veidi.[1]

Crosbijs atzīmē, ja kvalitāte ir iepriekš nav izvirzītas prasības, tad gatavo produktu ir grūti novertēt. Līdz ar to jēdzieni "laba kvalitāte", "slikta kvalitāte" paliek tikai jēdzienu līmenī, jo katram cilvēkam attiecibā uz tiem ir sava izpratne un prasības. Kvalitātes prasībām ir jābūt definētām tā, lai tās var izmērīt un novērtēt.

Balstoties uz Demingu, kvalitāte ir jādefinē kā klienta apmierinātības jēdziens un nevis kā atbilstība izvirzātajām prasībām. Demings uzskata, ka, definējot kvalitāti, ir grūti klienta nākotnes vēlmes saistīt ar nomērāmām produkta raksturpazēmēm. Līdz ar to, lai produktu varētu izstrādāt, lietotājam ir jābūt apmierinātam ar cenu, kas viņam būs jāmaksā. Tas nav viegli, jo līdzko ir sasniegta klienta apmierinātība, tā vēlmes attiecībā uz produktu var mainiīies, un līdz ar to mainās ari klienta apmierinātāba. Produktam izvirzīto prasību sasniegšana ir neatņemams izstrādes uzņēmuma pienākums. Katram uzņemuma darbiniekam ir jābēt atbildīgam par sava darba kvalitāti.

Juran viedoklis attiecibā uz kvalitāti ir tāds, ka vārdu "kvalitāte" nevar lietot attiecibā uz lietotāju vajadzību un cerību apmierinātību, jo to ir ļoti grūti sasniegt. Tā vietā viņš piedāvā kvalitāti definet kā "gatavs lietošanai", kas norāda saistību ar izvirzītajām prasibām un produkta raksturpazēmēm. Juran piedāvāto definīciju principā var interpretēt tāpat kā Crosbija piedāvāto — atbilstiba iepriekš izvirzītajām prasibām.

Kopumā visi darbā aplūkotie skatījumi uz kvalitātes jēdzienu programminženierijas jomā atspoguļo četrus galvenos principus, kas ir saistīti ar kvalitāti:

  • nepieciešamība nodrošināt kvalitatīvus izstrādes procesus;
  • nepieciešamība definēt kvalitātes jēdzienu katrā konkretā gadijumā;
  • nepieciešamība visiem dalībniekiem ievērot vienotu skatupunktu uz kvalitāti katrā konkrētā gadījumā;
  • nepieciešamība ievērot kvalitātes raksturpazīmju savstarpējo saistēbu un nepretrunīgumu.

Vēl joprojām pasaulē turpinās diskusija par kvalitātes jēdzienu, tā piepildījumu un realizācijas iespējām organizācijās. Latvijā kvalitātes jēdziens un izpratne vadības līmenī ir neskaidra un neviennozīmīgi vērtēta.[5]

Kvalitātes sistēma

labot šo sadaļu

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 sistēma sastāv no trīs elementiem:

  • Standarts ir projekta dokumenta apraksts, kas norāda dokumenta struktūru un pielietojamību, un prasību specifikācijas standarts uzskaita visas dokumenta daļas, sniedz informāciju par informācijas saturu un norāda uz dokumenta lietotājiem un mērķiem.[2]
  • Procedūra satur norādījumus kā tiek izpildīts konkrēts uzdevums projekta gaitā. Programmēšanas procedūra norāda izmantojamos standartus, pielietojamo testu kategorijas, aizpildāmos dokumentus, utt.[2]
  • Direktīva - instrukciju sērija kādu programmatūras izstrādes uzdevumu paveikšanai.[4]

Kvalitātes modeļi

labot šo sadaļu
 
Paplašinātais kvalitātes dzīves cikls

Kvalitātes modelis ir noteiktas raksturpazīmes un to savstarpējā saistība, kuras veido bāzi, lai specificētu kvalitātes prasības un novērtētu kvalitāti.[6] Vesturiski ir veidojušies un cits citu papildinājuši daudzi programmatūras kvalitātes modeli, ar kuru palidzību ir iespejams noteikt un novērtēt produkta kvalitāti.

Kvalitātes vadības modeļus var nosacīti iedalīt šādās grupās:[5][7]

  • Starptautiski atzīti modeļi, kuri tiek pielietoti biznesa, valsts pārvaldes un nevalstiskajā sektorā, piemēram, ISO 9001:2000, EFQM (no angļu: European Foundation for Quality Management Excellence model — "Eiropas Kvalitātes vadības fonda izcilības modelis").
  • Starptautiski atzīti modeļi, kuri tiek pielietoti valsts pārvaldē, piemēram, CAF (angļu: Common Assessment Framework)
  • Atsevišķu valstu izstrādāti un aprobēti modeļi, piemēram, KVIK (no dāņu: Kvalitetsværktøj til udvikling af Innovation og Kompetence — "kvalitāte sinstruments inovāciju un kompetences attīstībai"), klientu hartas (Nīderlande)
  • Atsevišķām jomām izstrādāti modeļi, piemēram, LVS EN ISO/IEC 17025

Vienotais kvalitātes modelis

labot šo sadaļu

Vienotā kvalitātes modeļa (VKM) pamatā ir ņemts programmatūras kvalitātes modelis ISO 9126 un papildināts ar jaunām kvalitātes apakšpazīmēm. Modelim ir dīvu limeņu hierarhiska struktūra:[1]

  1. limenis — kvalitātes pamata raksturpazīmes;
  2. limenis — kvalitātes raksturpazīmju apakšpazīmes, kuras savukārt tiek iedalītas:
    • pamata apakšpazīmes
    • papildu apakšpazīmes
    • neobligātās apakšpazīmes

Vienotais kvalitātes modelis ir veidots ar domu, ka to var izmantot visā programmatāras produkta kvalitātes dzīves ciklā.

 
Latvijas Lauksaimniecibas universitāte tiek piedāvāts studiju programmas kvalitātes modelis, kurš ir iegūts no vienotā kvalitātes modeļa, veicot tā pielāgošanu atbilstoši modeļa lietošanas procedūrai. Par pamata raksturpazimem ir izveletas: funkcionalitāte, lietojamība, efektivitāte, uzturamāba un pārnesamība.

VKM raksturpazīmju un apakšpazīmju skaidrojums attiecibā uz LLU programmu:[1]

  • Funkcionalitāte (vai programmā ir ietveras visas nepieciešamās zināšanas un prasmes):
    • derīgums — ir aktuāla, atbilst virziena mērķiem un darba tirgus prasibām
    • pareizība — ietvertās zināšanas un prasmes ir apgūstamas un atbilst piešķiramās kvalifikācijas/grāda prasibām
    • sadarbspēja — programmā sasniedzamie rezultāti atbalsta piedalīšanos apmaiņas un nodrošina nepieciesamās zināšanas tālākām studijām
    • funkcionālā atbilstība - programma sagatavota atbilstoši normatīvajiem dokumentiem, ir akreditēta
  • Lietojamība (vai ir viegli mācit un mācities):
    • saprotamāba — programmas plāns ir sabalansēts un loģiski strukturēts, izklāstījuma stils atbilst priekšzināšanu līmenim
    • apmäcämiba — programmas teoretisko un praktisko zināšanu apguve ir lidzsvarota, mācibu materiāli ir definēti un pieejami
    • prezentējamāba — mācābspēku oratoru prasmes ir pietiekamas
    • lasāmība — programmas aprakstošie dokumenti ir sagatavoti labā lasāmā valodā, atbilstoši normatīvajiem dokumentiem
    • cilvēciskais faktors — pakāpe, līdz kurai programmas realizāciju var iespaidot konkrēts mācībspēks
  • Efektivitāte (vai programma ir efektīva):
    • laikietilpība — programmas apjoma atbilstība apgūšanai atvēlētajam laikam
    • resursu izmantošana — programmas realizācijai ir nepieciešamie resursi
  • Uzturamiba (vai studiju programmu ir viegli uzturet):
    • analizējamība — programmas plāns, un tā saturs ir analizējams
    • mainämrba — programmu ir iespejams modificēt, nepasliktinot tās apmācāmību
    • stabilitāte — programmas saturu nav nepieciešams atjaunināt/modificēt studiju gada laikā
    • pārbaudāmība — studiju programmas mērķa sasniegšana ir pārbaudāma
    • uzturamības atbilstība — programmai ir izstrādāti nepieciešamie normatīvie dokumenti, programmas kvalitātes novērtējums ir pieejams
  • Pārnesamiba (vai programmu ir viegli pielāgot citai auditorijai):
    • līdzāspastāvēšana — programma neprasa specifiskas priekšzināšanas
    • adaptējamība — programmas pielāgošana citai valodai vai citai kultūras telpai neprasa izstrādāt to pilnīgi no jauna
    • aizvietojamība — pakāpe, līdz kādai programmas rezultātus var iegūt citā programmā
    • pārnesamības atbilstība — atbilstība normatīviem dokumentiem, kas regulē studentu apmaiņas programmas

Kvalitātes nodrošināšana un kvalitātes kontrole

labot šo sadaļu

Programmatūras kvalitātes kontrole dažreiz tiek lietota apmaiņā ar programmatūras kvalitātes nodrošināšanu. Bet tiem ir atšķirīgas definīcijas. Programmatūras kvalitātes kontrole koncentrējas uz kļūdu atklāšanu faktiskajā programmatūras produktā. Tomēr programmatūras kvalitātes nodrošināšana attiecas uz dažādu darbību virkni. Tās ir procesi vai soļi, kuri tiek veikti, lai pārbaudītu programmatūras produkta kvalitāti. Tā novērš atkārtojumus izstrādātājiem. Kvalitātes nodrošināšana optimizē programmatūras izstrādes procesu.[8]

Citiem vārdiem sakot, programmatūras kvalitātes kontrole ir produktam orientēta, bet kvalitātes nodrošināšana pēta visu izstrādes procesu. Kvalitātes nodrošināšana ir veltīta solījumu pārbaudei programmatūras izstrādes ciklā. Kvalitātes nodrošināšana definē standartus un metodes, kas izmantotas izstrādē. Kvalitātes kontrole pārbauda un apstiprina, ka ievēroti labākie darba veidi.

  1. 1,0 1,1 1,2 1,3 Sproģe, Sandra. Informācijas tehnoloģiju studiju un izstrādes vienotas kvalitātes modelis. Latvijas Lauksaimniecības universitāte informācijas Tehnoloģijas fakultāte Datoru sistēmu katedta.
  2. 2,0 2,1 2,2 2,3 «TKI-lstqb1: Testēšana un programmatūras kvalitāte». estudijas.lu.lv. Skatīts: 2023-08-02.
  3. «TKI-lstqb1: Terminu vārdnīca dokumenta formātā». estudijas.lu.lv. Skatīts: 2023-08-02.
  4. 4,0 4,1 4,2 Specseminārs “Programmatūras kvalitāte”.
  5. 5,0 5,1 «Produktivitātes un kvalitātes vadības modelis organizācijās». docs.google.com (latviešu). Skatīts: 2023-08-03.
  6. 14:00-17:00. «ISO/IEC 9126-1:2001». ISO (angļu). Skatīts: 2023-08-03.
  7. «Latvijas Republikas Ministru Kabinets: Kvalitātes vadības modeļi». tap.mk.gov.lv. Skatīts: 2023-08-03.
  8. «Introduction to Quality Control in Software Testing».