ISO 5055 – standard za kvalitet softvera

Standard kvaliteta softvera – ISO 5055

Uklanjanje nedostataka u softveru pre nego što utiče na rad je dobra praksa za smanjenje rizika i troškova. Pristup se naziva „pomeranje ulevo“, što znači rešavanje nedostataka što je ranije moguće u životnom ciklusu softvera. Međutim, bilo je vrlo malo konsenzusa o tome koje nedostatke tačno tražiti i na koji način.

Standard za kvalitet softvera
Standard za kvalitet softvera

Tokom godina, nekoliko grupa, kao što su IEEE, OWASP, NIST, PCI i razni proizvođači softvera, objavili su hiljade pravila koja opisuju nedostatke. Ipak, troškovi operativnih grešaka softvera samo u SAD dostigli su neverovatnih 1,56 milijardi dolara prošle godine, prema najnovijoj studiji CISQ. Primarni uzrok su neublažene greške u softveru.

Loše dizajniran i razvijen softver može biti opasan u najgorem slučaju i skup u najboljem slučaju. Slabosti u softveru mogu ugroziti poslovanje preduzeća, kao i dovesti do većih IT troškova.

Kao odgovor na ove probleme, razvijen je poseban ISO standard – ISO 5055:2021 – standard za merenje kršenja dobrih praksi kodiranja i konstrukcije softvera. Na taj način su ISO standardi dali svoj doprinosi i pomogli rešavanju izazova u vezi kvalieta softvera uspostavljajući pravilne procese i procedure za omogućavanje traženog kvaliteta softvera.

U ovom tekstu objasnićemo šta je ISO 5055, zašto je važan i kako ga koristiti da bi se obezbedio kvalitet softvera.

Šta je standard ISO 5055?

ISO 5055:2021, „Informaciona tehnologija — Merenje softvera — Merenje kvaliteta softvera — Automatizovane mere kvaliteta izvornog koda“, je standard kvaliteta softvera.

Softverske greške na tehnološkom i sistemskom nivou čine 8% ukupnih grešaka, ali troše više od polovine truda utrošenog na rešavanje problema koji dovode do 90% najozbiljnijih problema u proizvodnji. ISO 5055 je dizajniran da direktno meri te kritične greške u softveru.

Dakle, ISO/IEC 5055:2021 ili ISO 5055 je međunarodni standard za „merenje kvaliteta i integriteta softverskog sistema analizom njegove unutrašnje konstrukcije da bi se otkrilo nekoliko strukturalnih slabosti“.

Ukratko, to je „standard kvaliteta softvera koji izračunava mere kvaliteta na osnovu broja kritičnih slabosti u softveru.“. Konkretno, razmatra četiri karakteristike kvaliteta softvera a to su:

  • sigurnost,
  • pouzdanost,
  • efikasnost performansi i
  • mogućnost održavanja.

Ovaj standard uključuje 48 pravila posebno definisanih za otkrivanje konstrukcijskih nedostataka, odnosno nedostataka koji se provlače kroz pojedinačne module koji čine ceo sistem. Rano otkrivanje ovih konstrukcijskih nedostataka je kritično jer oni predstavljaju 90% problema u proizvodnji softvera.

Na primer, jedna takva konstrukcijska mana je pristup bazi podataka bez korišćenja odgovarajućih procedura validacije, takozvanog pravila „Operacije pristupa podacima izvan očekivane komponente menadžera podataka“. Ova mana znači da su bezbednost i integritet podataka ugroženi.

Drugi primer je nepravilno oslobađanje računarskih resursa, posebno između različitih slojeva aplikacije, jer je to često uzrok zamrzavanja sistema okrenutih klijentima.

iso 5055 - standard za kvalitet softvera
Iso 5055 – standard za kvalitet softvera

Zašto je važan ISO 5055 ?

Pre standarda ISO 5055, nije postojao međunarodni standard za merenje kvaliteta i integriteta softverskog sistema analizom njegove unutrašnje konstrukcije da bi se otkrile ozbiljne strukturalne slabosti. Postojeći softverski standardi merili su operativne mere naknadno izvršene kojima se procenjuju skupi operativni efekti ozbiljnih slabosti. Standard ISO 5055 obezbeđuje mere tokom razvoja softvera kako bi se identifikovale i eliminisale strukturne slabosti pre nego što izazovu operativne probleme.

Zamislite da je izgradnja softvera poput izgradnje kuće. Ako je ne napravite kako treba, neće funkcionisati kako treba, pa čak može biti i opasno. Softver koji je loše napravljen neće dobro funkcionisati, što je frustrirajuće za korisnike. Međutim, može biti i opasnost za korisnike, ako loše napravljen softver rezultira curenjem podataka ili drugom vrstom kršenja sigurnosti. Kada gradite kuću, postoje posebna pravila ili kodeksi koje morate poštovati. Ovo se odnosi na stvari kao što su temelj, ožičenje, itd., jer je dom bez čvrstog temelja i neispravnih ožičenja u opasnosti od rušenja ili drugih neprijatnosti.

Za razvoj softvera, deo tog građevinskog koda je standard ISO 5055. ISO 5055 je prvi međunarodni standard za procenu softverskih sistema uzimajući u obzir njihove interne mehanizme. On radi nešto poput inspekcije pri izgradnji kuće, inspekcija posmatra unutrašnju konstrukciju i mehanizme kuće kako bi se utvrdilo da li je bezbedna ili ne. Upotreba standarda ISO 5055 omogućava kompanijama da se pozabave potencijalno rizičnim ili neispravnim dizajnom softvera pre nego što on postane operativan i potencijalno izazove skupu štetu.

ISO 5055 je važan jer pomaže u određivanju pouzdanosti, sigurnosti i otpornosti softverske aplikacije i na nivou sistema i na nivou komponente. Ovo omogućava organizacijama, kao što su finansijske institucije, vlada, telekomunikacije i proizvođači da izbegnu poremećaje, oštećenje reputacije ili prevelike IT troškove. ISO 5055 se takođe može koristiti kao indikator količine rizika kojem je organizacija izložena preko svojih softverskih aplikacija.

Kako se ISO 5055 odnosi na seriju standarda ISO 25000

Standard ISO 25010 predstavlja model kvaliteta softvera koji definiše skup karakteristika kvaliteta softvera.

ISO/IEC 25023 definiše softverske mere za model kvaliteta u ISO 25010, ali samo na nivou ponašanja.

ISO 5055 ovo dopunjuje definisanjem mera koje treba primeniti na nivou izvornog koda za karakteristike kvaliteta softvera a to su kao što smo već pomenuli:

  • bezbednost,
  • pouzdanost,
  • efikasnost performansi i
  • mogućnost održavanja

u skladu sa definicijama u standardu ISO 25010 koji dodaje merenje nivoa proizvoda.

Mere standarda ISO 5055 se mogu koristiti za postavljanje merljivih ciljeva za obezbeđivanje verodostojnosti, pouzdanosti i otpornosti softverskih sistema. Ovi ciljevi mogu biti upisani u zahteve za predloge, izjave o radu i ugovore kao kriterijume prihvatanja softverskih proizvoda koje isporučuju sistemski integratori, dobavljači softvera i drugi dobavljači trećih strana. Takođe se mogu koristiti sa internim softverskim timovima za uspostavljanje kriterijuma za izdavanje ili ciljeve poboljšanja. Neke od slabosti sadržanih u standardu ISO 5055, kao što su najopasnije bezbednosne i pouzdane slabosti, treba da budu označene kao „neprihvatljive“, a softver se ne može pustiti u rad dok se ne uklone.

Ko bi trebalo da koristi ISO 5055?

CIO (Chief Information Officer) – glavni službenik za informacije i CSO (Chief Security Officer) – glavni službenik za bezbednost

Mogu da koriste ISO 5055 za:

  • Procenu rizika u njihovim različitim primenama i dodelu resursa onima kojima je najpotrebnija korekcija
  • Procenu nivoa tehničkog duga u njihovim aplikacijama i procenu njihove buduće cene vlasništva
  • Utvrđivanje da li poboljšanja u njihovim razvojnim praksama proizvode kvalitetniji, manje rizičan kod

Prodavci i nabavka

Mogu da koriste ISO 5055 za:

  • Postavljanje ciljeva kvaliteta za izvorni kod koji isporučuju njihovi izvođači
  • Procenu kvaliteta izvornog koda dobijenog od njihovih dobavljača i zahtevanje ispravke kada je to potrebno
  • Navođenje slabosti koje ne smeju postojati u izvornom kodu dostavljenom od izvođača

Softverski inženjeri

Mogu da koriste ISO 5055 za:

  • Procenu izvornog koda koji šalju u gradnju
  • Spoznaju o kritičnim slabostima koje moraju da izbegavaju da stvaraju u svom izvornom kodu


U suštini, standard ISO 5055 pruža nacrt o tome kako da se „pomeri ulevo” uklanjanje najozbiljnijih nedostataka u složenim softverskim sistemima. Takođe pruža standardni pristup za procenu strukturalnog integriteta softvera koji pokreće naše živote i ekonomije.