Kakovost programske opreme: standardi in vrednotenje. Zagotavljanje kakovosti programske opreme

Kakovost programske opreme (programske opreme) je določena na podlagi proučevanja zunanjih in notranjih značilnosti izdelka. Kakovost zunanjosti je odvisna od tega, kako deluje v realnem času, kako produktivna je za uporabnike. Druga značilnost se osredotoča na notranje vidike, ki so odvisni od kakovosti pisne kode. Uporabnik se bolj osredotoča na to, kako deluje na zunanji ravni, katere kakovost je mogoče ohraniti le, če je strokovnjak napisal dobro programsko kodo.

Kakovost programske opreme

Za določanje kakovosti sta trenutno uporabljena dva pomembna pristopa:
  • upravljanje napak.
  • Atribut kakovosti.
  • Vse, kar ne ustreza zahtevi stranke, spada v kategorijo napak. Ekipa razvijalcev, ki ne morejo povsem razumeti zahtev kupcev, bo omogočila napake pri načrtovanju.


    Pri upravljanju napak so njihove kategorije določene na podlagi resnosti. Število problemov se šteje in sprejema ukrepe v skladu z ugotovljeno resnostjo. Kontrolni grafikoni so lahko ustvarjeni za merjenje razvojnih zmožnosti. Kakovost programske opreme se je v zadnjih dveh desetletjih bistveno izboljšala. Eden od razlogov za to je, da podjetja uporabljajo nove tehnologije, kot sta objektno usmerjen razvoj in orodja CASE. Poleg tega si lahko ogledatevse večji pomen uvedbe načinov upravljanja v proizvodnjo. Upravljanje kakovosti ZA je razdeljeno na tri glavna področja:
  • jamstvo. Razvoj osnove organizacijskih ukrepov in standardov kakovosti programske opreme
  • Načrtovanje. Izbira ustreznih standardov in prilagoditev za določen programski projekt.
  • Nadzor. Opredelite procese, ki zagotavljajo, da razvoj programske opreme ustreza standardom kakovosti.
  • Politika organizacije SQA

    Politika organizacije o kakovosti programske opreme mora izpolnjevati naslednje zahteve:


  • Ustreznost ciljem in ciljem organizacije.
  • Zavezanost splošnim konceptom zagotavljanja kakovosti.
  • Zavezanost standardom kakovosti, ki jih je sprejela organizacija.
  • Odgovornost za dodelitev ustreznih sredstev.
  • Želja po nenehnem izboljševanju kakovosti in produktivnosti organizacije.
  • Za izpolnitev vseh zahtev standarda podjetja imenujejo odgovorne za kakovost. Obveznosti zaposlenega:
  • Odgovornost za pripravo letnega programa ukrepov in proračunskega NAK.
  • Organizacija razvoja načrtov za razvoj sistema SQA.
  • Celovito spremljanje izvajanja letnega programa rednih dejavnosti in načrtovanih razvojnih projektov.
  • Določitev upravičenosti programskih dejavnosti po značilnostih in obsegu storitev podizvajalcev ter naročilih, načrtovanih za prihodnje leto.
  • Predstavitev in promocija vprašanj SQA za vodstvo.
  • Pripravljeni predlogi študijOddelek SQA za letni program dejavnosti, ki preverja potencial predloga za doseganje ciljev.
  • Koncepti na visoki ravni

    Kvalitativne značilnosti so koncepti na visoki ravni, ki odražajo pomembne vidike in niso predmet neposredne ocene kakovosti programske opreme. Namesto tega bi moral načrt opredeliti ustrezne kazalnike, ki jih je mogoče uporabiti za določitev ene ali več značilnosti.
    Na primer, pri ocenjevanju razčlenjevalnika XML lahko uporabite niz testov za skladnost XML W3C. Vključuje teste, ki so namenjeni obravnavanju vseh vidikov nadzora, kot tudi priporočila XML za razširljivi označevalni jezik (W3C Extensible Markup Language - XML), s posebnim poudarkom na zahtevah za ravnanje z napakami v točnosti ali pristnosti dokumentov XML. Tako se odstotek opravljenih preskusnih primerov uporabi kot merilo za vrednotenje teh značilnosti obravnavanega analizatorja XML:
  • Uporabniška perspektiva.
  • Funkcionalnost.
  • Zanesljivost in odpornost na napake.
  • Z vidika uporabnika obstaja več pomembnih značilnosti, ki se odzivajo na naslednja vprašanja:
  • Kdo zagotavlja celoten obseg potrebnih funkcij za ta namen?
  • Ali zanesljivo deluje, da dobite rezultate, ki jih potrebujete s pravilno uporabo?
  • Ali program deluje varno in zanesljivo v primeru nepravilnega vnosa?
  • Ali je programska oprema enostavna za uporabo?
  • Ali deluje hitro ali se zdi prepočasno?
  • Dobro integriran program z drugim izdelkom, kiuporablja uporabnika?
  • Ob predpostavki, da so vprašanja kakovosti pomembna za uporabnika, se lahko ekipa IT, odgovorna za postavitev in vzdrževanje, sooči z drugimi vprašanji:
  • Zaščita pred škodljivimi napadi.
  • Kakovost uporabe računalniških virov.
  • Viri nizke kakovosti so tisti, ki potrebujejo več pomnilnika in računalniške moči, kot je potrebno. ISO zagotavlja ta model z dvema novima kategorijama višjega nivoja, ki se nanašata na zagotavljanje kakovosti programske opreme.

    Zahteve ISO 9126 do izdelka

    \ t
    ISO 9126 je mednarodni standard za ocenjevanje. Razdeljen je na štiri dele, ki zajemajo naslednje teme:
  • Zunanji kazalniki.
  • Notranji kazalniki.
  • ​​
  • Model kakovosti.
  • Kazalniki kakovosti programske opreme.
  • Prvi del standarda ISO 9126 je razširitev prejšnjega standarda, ki so ga izdelali McCall (1977), Boehm (1978) in FURPS pri opredelitvi niza kakovostnih značilnosti. Dokumentacija ISO 9126 je predmet avtorskih pravic. Model kakovosti ISO 9126-1 določa 6 glavnih značilnosti:
  • Funkcionalnost.
  • Zanesljivost.
  • Uporabnost.
  • Učinkovitost.
  • Rok uporabnosti.
  • Prenosljivost.
  • Funkcionalnost izdelka

    Funkcionalnost je glavni namen vsakega izdelka ali storitve. Več možnosti za uporabo izdelka je težje določiti njegovo funkcionalnost. Za lahko je seznam tega, kar mu je na voljo. Nekatere od navedenih funkcij (na primer udobje) so prisotne samo vdo neke mere, to je, ne samo "vklopljeno" ali "izklopljeno". Mnogi ljudje so zmedeni s splošno funkcionalnostjo procesa in programske opreme. Pogosto je to posledica dejstva, da lahko diagrami toka podatkov (DFD) in druga simulacijska orodja odražajo funkcionalnost procesa, kot niz pretvorjenih podatkov iz podatkov.

    ISO 9126-1 in drugi modeli kakovosti ne pomagajo pri merjenju skupnih stroškov ali koristi procesa, temveč samo raziskati komponento programske opreme. Razmerje med funkcionalnostjo v celotnem poslovnem procesu presega ISO 9126. Take atributne lastnosti so značilne za uporabnost v tem okolju. Vsak od njih se lahko meri le, če obstajajo ustrezni programi sistema.

    Značilnosti zanesljivosti in uporabnosti

    Takoj ko sistem programske opreme začne delovati, značilnost zanesljivosti določa njeno zmožnost, da podpira zagotavljanje svojih storitev pod določenimi pogoji v določenih časovnih obdobjih. Eden od vidikov te funkcije je odpornost na napake. Če je na primer omrežje izklopljeno za 20 sekund, mora biti sistem sposoben nadaljevati in nadaljevati delo. Sposobnost naučiti se uporabljati sistem (učenje) je ena glavnih značilnosti uporabnosti. Učinkovitost je povezana s sistemskimi viri, ki se uporabljajo za zagotavljanje zahtevane funkcionalnosti. Obseg prostora na disku, pomnilnika in omrežja so dobri kazalci učinkovitosti. Kot pri številnih drugih merilih je med njimi tudi naključje. Na primer, udobje uporabe sistemavpliva na njegovo uspešnost.

    Obnova in prenosljivost

    Sposobnost prepoznavanja in popravljanja napake v komponenti programske opreme je tisto, na kar se nanaša karakteristika učinkovitosti. Njegovo delovanje je odvisno od berljivosti ali kompleksnosti kode ter njene modularnosti. To je nekaj, kar pomaga pri odkrivanju vzroka okvare in ga kasneje rešiti. Značilnosti vzdrževanja:
  • Analiziranje - opredeljuje glavni razlog za neuspeh.
  • Variabilnost - Določa napor, ki se doda za spreminjanje kode za odpravo napake.
  • Stabilnost - prikazuje, kako stabilen sistem deluje, ko se spremeni.
  • Testiranje - Določa, koliko napora je potrebno za testiranje sistema.
  • Toleranca - sposobnost sistema, da se prilagodi spremembam v svojem okolju.
  • Prilagodljivost - Kako se sistem enostavno prilagodi spremembam specifikacije.
  • Nastavitev hitrosti - kako lahko sistem namestite.
  • Zmožnost zamenjave - kako enostavno je zamenjati komponento sistema.
  • Stroški kakovosti. Zelo pomembna je. Ko se razvijalec odloči, da bo testiral svoj izdelek, bo dejansko porabil čas, denar in prizadevanja za njegovo testiranje.
  • Upravičenost - Določa, ali funkcija izpolnjuje zahteve.
  • Natančnost - določa pravilnost izvajanja funkcij.
  • Interoperabilnost - medsebojno delovanje z drugimi sestavnimi deli sistema.
  • SKLADNOST Z NEOPREDELJENIMI ZAKONI IN PRIPOROČILI.
  • Zagotavljanje kakovosti in varnosti programske opreme in obdelave transakcij, povezanih s podatki.
  • Zanesljivost - zmožnost dela pod določenimi pogoji v določenem časovnem obdobju.
  • Zrelost je pogostost okvar.
  • Podaljšanje - ideja o zmožnosti sistema, da se po neuspehu vrne v polnopravno delo.
  • Prenosljivost se nanaša na to, kako dobro se lahko prilagodi spremembam v okolju ali njenim zahtevam. Objektno usmerjeno načrtovanje in izvedbene metode lahko prispevajo k temu, kako so te značilnosti kakovosti programske opreme prisotne v tem sistemu.

    Stroški analiznih procesov

    Stroški kakovosti se izračunajo z analizo stroškov usklajevanja in nedoslednosti. Cena prvega kazalnika se nanaša na:
  • Stroški preprečevanja. To je znesek, porabljen za zagotavljanje pravilnega upoštevanja vseh metod. Vključuje usposabljanje ekip, validacijo kode in vse druge dejavnosti, povezane z zagotavljanjem kakovosti.
  • Ocenjeni stroški. To je znesek denarja, ki se porabi za načrtovanje vseh testnih nalog in nato za njihovo izvedbo, na primer pri razvoju testnih primerov.
  • Stroški neskladnosti. To so stroški, ki izhajajo iz notranjih in zunanjih neuspehov.
  • Notranje okvare so stroški, ki se pojavijo, ko se testni primeri prvič izvajajo na notranji ravni, nekateri pa ne. Stroški se pojavijo, ko mora programer med modularnim ali komponentnim testiranjem popraviti vse napake, ki jih je našel v svojem fragmentu. Zunanjostokvare so stroški, ki nastanejo, ko napako določi kupec in ne preizkuševalca. Ti stroški so veliko višji od tistih, ki se pojavljajo na notranji ravni. To še posebej velja, če programska oprema ne uspe.

    Analiza discipliniranih procesov

    To je procesna ocena programske opreme. Vključuje prepoznavanje in opis trenutnih praks, prepoznavanje prednosti in slabosti ter sposobnost nadzora ali preprečevanja pomembnih vzrokov slabe kakovosti izdelka. Revizija programov je lahko tri vrste:
  • Samozavest. Izvaja se znotraj osebja organizacije.
  • Ocena organizacije tretje osebe.
  • Ocenjevanje tretjih strank.
  • Postopek revizije procesa se izvaja v odprtem okolju, da se izboljša njegova učinkovitost z uporabo programske opreme za kakovost programske opreme. Rezultati takšne revizije so za organizacijo zaupni. V zvezi z zbiranjem podatkov se uporabljajo štiri metode:
  • Standardni seznam vprašanj o zapadlosti.
  • Individualni in skupinski razgovori.
  • Pregledi dokumentov.
  • Pregledi osnutka ocene s strani udeležencev.
  • Standardna metoda SCAMPI

    Opredelitev IEEE za zagotavljanje kakovosti programske opreme:
  • Načrtovan je sistematični načrt za vsa potrebna dejanja, da se ustvari dovolj zaupanja, da izdelek ali izdelek izpolnjuje potrebne tehnične zahteve.
  • Niz ukrepov, ki ocenjujejo kakovost programske opreme, preko katereizdelki se razvijajo ali proizvajajo.
  • CMMI (Inštitut za programsko inženirstvo) za izboljšanje procesov (SCAMPI) je bil razvit za izpolnjevanje zahtev na podlagi CBA in CBA IPA. IPI in SCAMPI sestavljata tri faze:
  • Načrtovanje in priprava.
  • Preverjanje ocene na kraju samem.
  • Poročilo o rezultatih.
  • Ukrepi za načrt in fazo usposabljanja vključujejo naslednje dejavnike:
  • Opredelitev območja ocenjevanja.
  • Razvoj načrta.
  • Priprava ocenjevalne skupine.
  • Ocenjevanje udeležencev.
  • Upravljanje vprašalnika CMMI.
  • Preučevanje odgovorov v vprašalnikih.
  • Izvajanje začetnega pregleda dokumentov.
  • Ukrepi na stopnji poročanja vključujejo:
  • Predložitev končnih rezultatov.
  • Izvedba izvršne seje.
  • Dokončanje ocene kakovosti programske opreme.
  • Ukrepi za fazo ocenjevanja na kraju samem vključujejo:
  • Organizacija odpiranja projektov.
  • Izvajanje razgovorov.
  • Posplošitev informacij.
  • Priprava predstavitve rezultatov.
  • Organizacija za zaprtje projekta.
  • Organizacijska struktura osebja

    Vključuje tiste, ki so odgovorni za kakovost programske opreme. Takšni ljudje so lahko:
  • Upravitelji.
  • Vodstveni delavci, zlasti tisti, ki so neposredno odgovorni za zagotavljanje kakovosti.
  • Vodje oddelka za razvoj in podporo.
  • Vodje oddelkov za testiranje.
  • Vodje projektov in razvojne ekipe projektne skupine ter podporne skupine.
  • Vodje ekiptestiranje
  • Preizkuševalci.
  • Člani skupinskega testiranja:
  • strokovnjaki SQA in zainteresirane prakse.
  • Skrbniki SQA.
  • Člani odborov in člani foruma SQA.
  • Člani ekipe oddelka SQA.
  • Samo direktorji in osebje oddelka za testiranje so zaposleni za polni delovni čas za naloge SQA. Drugi namenjajo le del svojega delovnega časa vprašanjem kakovosti. Dejansko so v razvojnih organizacijah upravljavske strukture na treh ravneh:
  • višje vodstvo.
  • Vodenje oddelka.
  • Vodenje projekta.
  • Vodja projekta je oseba, odgovorna za zagotavljanje, da vsi člani skupine upoštevajo določene postopke in navodila. Njegova naloga vključuje strokovna in upravljavska vprašanja. Vodje projektov opravljajo naslednje funkcije:
  • delo enote za razvoj programske opreme in podpore.
  • Delo na integraciji in testiranju razvoja, popravljanja in izvajanja regresivnih testov programske opreme.
  • Izvajanje pregledov in naknadne popravke pomanjkljivosti.
  • Izvajanje preskusov sprejemljivosti.
  • Namestitev programske opreme na oddaljene strani odjemalca.
  • Potreba po namestitvi protivirusnih orodij

    Pri nakupu novega, uporabnik razmišlja o tem, kdaj kupiti protivirusno programsko opremo. Mnogi še vedno imenujejo to vrsto protivirusnega programa, čeprav je danes ta izraz zastarel. Najhujše je dejstvo, da »najboljša« malware, če jo lahko imenujemo, tiho prodrena računalniku brez vednosti lastnika. Mogoče bo skrit pred očmi uporabnika, vendar bo to povzročilo škodo. Z resno nadgradnjo operacijskih sistemov je izginila potreba po namestitvi takšnih sumljivih programov za zaščito računalnika. Uporabniki imajo zdaj Windows 10. Microsoft je zgradil dve pomembni orodji: požarni zid in Windows Defender. Ta dva udarca sta namenjena zaščiti vašega računalnika. Ker so integrirani v operacijski sistem, potem niso potrebni dodatni zunanji programski viri. Microsoft pogosto posodablja pripomočke in skuša preprečiti nastanek novih groženj. Če iz nekega razloga nekaj izbruhne, obstaja izboljšana različica "obrambe" - zagovornika sistema Windows. Deluje brez povezave. Lahko ga zaženete brez povezave z internetom iz pomnilniške naprave USB. Windows Defender je dobro orodje. Ni razloga, da ga ne bi uporabili. Z njimi novi lastniki pri nakupu protivirusne programske opreme ne naletijo na takšne izredne razmere.

    Sorodne publikacije