http://www.niksula.cs.hut.fi/projects/ohtace/documents/laatu/ohjelmanlaatu.html
CVS info: $Id: ohjelmanlaatu.html,v 1.4 1996/11/26 09:44:40 tsalste Exp $
Loppukäyttäjän lisäksi ohjelmatuotteen laadun kokee se, joka tutustuu itse ohjelmakoodiin. Tällainen henkilö voi olla kiinnostunut ohjelman toteutustekniikasta, hän ehkä haluaa kehittää ohjelmaa edelleen taikka siirtää sen toiseen ympäristöön.
Vaiheista pisimpään kestävä on ilman muuta ohjelman käyttövaihe - tai muuten jossain on vikaa! Sen vuoksi seuraavassa rajoitutaankin käyttövaiheen osanottajien, ohjelman loppukäyttäjien, tarpeisiin. Tämä ei kuitenkaan tarkoita, että ohjelman asennus ja poisto olisivat merkityksettömiä laadun kannalta.
On selvää, että eri käyttäjäryhmät kokevat laadun eri tavoin.
Laatuominaisuus | Käyttöliittymä | Tekninen toteutus | Ohjelmakoodi |
---|---|---|---|
Käytettävä | x | x | |
Luotettava | x | ||
Siirrettävä | x | x | |
Ylläpidettävä | x |
Helppokäyttöisyys
- Nopea oppia
- Helppo muistaa
- Johdonmukainen
Keinot käyttöliittymän helppokäyttöisyyden takaamiseksi:Vaivattomuus
- Ymmärrettävien symbolien käyttö
- Vähäinen määrä toimintoja
- Symbolien, komentojen ja toimintojen johdonmukainen käyttö näytöstä toiseen
- Kaikki toiminnot ja tapahtumat voitava ymmärtää symbolien perusteella; tekstiä käytetään vain antamaan lisätietoja
- Kaikki toiminnot voi toteuttaa ohjelman "sisältä"; komentoriviparametreja ei tarvita
- Nopea käyttää
- Toiminnot helposti saatavilla
- Mahdollista käyttää ainoastaan yhdellä ohjauslaitteella (hiiri, näppäimistö)
Keinot vaivattoman käyttöliittymän takaamiseksi:Muokattavuus
- Kaikki toiminnot saatavilla sekä hiirestä että näppäimistöstä
- Valintahierarkiat mataliksi
- Useimmin tarvitut toiminnot toteutettavissa yhdellä komennolla (tietyn näppäimen tai napin painallus)
Suorituskyky
- Tallettaa annetut asetukset uudelleenkäyttöä varten
- Ohjelmaikkunan koko säädettävissä
- TV-ruudun koko säädettävissä
- Äänenvoimakkuus asetettavissa
- Kuvaparametrit annettavissa
Asennettavuus
- Ohjelma toimii nopeasti
- TV-kuva liikkuu jouhevasti
- Ääni kuuluu katkeilematta
- Kuva ja ääni ovat synkronissa keskenään
- TV:n katselu ei kohtuuttomasti hidasta muiden ohjelmien toimintaa
- Ohjelman asentaminen onnistuu vähillä valinnoilla (mieluiten pelkää Enter-nappulaa painamalla)
- Asentaminen ei vaadi teknistä tuntemusta (käyttäjäryhmä "Tavallinen käyttäjä" pystyy asentamaan ohjelman)
Keinot asennettavuuden takaamiseksi:
- Ohjelma määrittelee tarvittavat parametrit itse
- Mikäli halutaan antaa käyttäjän määritellä joitain parametrejä, oletusarvojen on kuitenkin oltava mielekkäät, ja käyttäjän on kyettävä asentamaan ohjelma kiinnittämättä huomiota parametrien arvoihin
- Mikäli asennus epäonnistuu, ohjelma kykenee kertomaan, mikä oli virhe ja mitä käyttäjän pitäisi seuraavaksi tehdä asennuksen hyväksi
Virheettömyys
- Ohjelma toimii kuten on suunniteltu
- Ohjelma toimii kuten sen annetaan ymmärtää toimivan
- Ohjelma ei sisällä viruksia
Keinot teknisesti virheettömän ohjelman luomiseksi:Virhetilanteiden käsittely
- Pyritään virheettömään koodiin heti suunnittelu- ja ohjelmointivaiheessa
- Kattava testaus
- Virheiden korjaaminen
- Käytettävän valmiin lähdekoodin laadun tarkistus
- Valmiin levitysversion virustarkistus
- Ohjelma ei kaadu virhetilanteessa
- Ohjelma yrittää toipua tietoliikenneyhteyksien virheistä
- Ohjelma antaa ymmärrettäviä virheilmoituksia ja kertoo, mitä seuraavaksi on tehtävä
- Ohjelma ei haittaa muiden ohjelmien toimintaa
Keinot virhetilanteiden käsittelemiseksi:Ennakoitavuus
- Mahdolliset virhetilanteet mietitään ennakolta
- Virheet ennakoidaan ohjelmakoodissa, ei jätetä käsittelemättä
- Yleiskäyttöiset virheenkäsittelyrutiinit
- Ohjelma toimii samanlaisissa tilanteissa samalla tavoin
- Ohjelma toimii käyttöympäristöstä ja sen muutoksista huolimatta mahdollisimman yhdenmukaisesti
Keinot ennakoitavuuden takaamiseksi:
- Käyttöliittymän suunnittelu johdonmukaiseksi
- Käyttöliittymäriippumattomien työkalujen käyttö
LähetysriippumattomuusTyökalujen siirrettävyys
- Vastaanottaa tavallisimpia kuvaformaatteja
- Vastaanottaa tavallisimpia ääniformaatteja
Koodin siirrettävyys
- Käytetyt työkalut on siirretty tai hyvin helposti siirrettävissä uusiin toimintaympäristöihin
- Lähdekoodi täyttää ohjelmointikielten standardit (kuten ANSI C++)
- Lähdekoodi on laitteisto- ja käyttöjärjestelmäriippumaton
- Ohjelmatyön rakenne on tiedostojärjestelmäriippumaton
Keinot koodin siirrettävyyden takaamiseksi:Työn siirrettävyys
- Käytetyt tiedostonimet kelpaavat mahdollisimman monessa tiedostojärjestelmässä, kuten DOSin 8.3-järjestelmässä (FAT). Käytetään tiedostonimissä vain merkkejä a-z ja 0-9, sekä pelkästään pieniä kirjaimia.
- Ohjelmatyö voidaan siirtää toisille tekijöille
Keinot ohjelmatyön siirrettävyyden takaamiseksi:
- Luodaan ylläpidettävää koodia (josta lisää alla)
- Ohjelmoidaan englanniksi: tiedostojen, muuttujien, aliohjelmien, luokkien jne. nimet
Ymmärrettävyys
- Ohjelmakoodin rakenne on selkeä
- Ohjelmakoodia voi lukea ja ymmärtää
Keinot ohjelmakoodin ymmärrettävyyden takaamiseksi:Yhdenmukaisuus
- Aliohjelmat pidetään lyhyinä (max. 50 riviä)
- Kattava kommentointi tiedosto-, luokka- ja aliohjelmatasolla
- Jokainen aliohjelma kommentoidaan: toiminta, parametrit, paluuarvot
- Erityistä huomiota kiinnitetään rajapintojen dokumentointiin
- Jokainen lähdekooditiedosto luetteloidaan erityiseen sisällysluetteloon, jossa kerrotaan tiedoston sisältö
- Jokaisen lähdekooditiedoston ohjelmointirajapinta kuvataan pääpiirteittäin tiedoston alussa
- Luokkien toiminta, erityisesti rajapinnat, kuvataan yleisellä tasolla luokkamäärittelyn yhteydessä (
.h
-tiedostossa). Luokan jäsenten toiminta kuvataan jäsenten toteutuksen yhteydessä (.cc
-tiedostossa).Modulaarisuus
- Ohjelman eri osat on koodattu yhdenmukaisin periaattein
- Ohjelma koostuu itsenäisistä osista
- Ohjelmointirajapinnat ovat selkeitä
Keinot:
- Olio-ohjelmointi: luokkahierarkiat
- Ohjelma jaetaan osiin, jokaisella osalla oma vastuuhenkilö
Ohjelmatyöryhmän osoite: ohtace@tcm.hut.fi