Internet-TV

http://www.niksula.cs.hut.fi/projects/ohtace/documents/laatu/laatutilanne_proto1.html
CVS info: $Id: laatutilanne_proto1.html,v 1.3 1997/02/11 12:18:26 mtuisku Exp $


Laatutilanne Proto 1 -vaiheen jälkeen

Seuraavassa käsitellään Internet-TV -projektin laatutilannetta helmikuun alussa kiinnittäen päähuomio laatudokumentissa määriteltyihin laatumittareihin.

Laadun lajit

Pieni kertaus laadun eri lajeista:
  1. Lopputuotteen laatu = työssä valmistettavan tietokoneohjelman laatu.
  2. Prosessin laatu = kurssin kuluessa tapahtuvien suoritusten, organisoinnin jne. laatu. Prosessin laatu vaikutaa voimakkaasti lopputuotteen laatuun.
  3. Kurssimenestys.

    Laatuominaisuudet ja niiden tila

    Seuraavassa luetellaan aikaisemmin määritellyt laatuominaisuudet ja tämänhetkinen laatutaso esitellään kursiivilla.

    Prosessin laatuominaisuudet

    1. Edistyvyys

    Aikataulunmukaisuus
    Projekti on edistynyt aikataulun mukaisesti. Pientä jälkeenjääneisyyttä oli havaittavissa joululoman jälkeen aina tammikuun lopulle asti, mutta kiriminen on palauttanut työt aikatauluun.
    Suunnitelmanmukaisuus
    Projekti on edistynyt aikaisempien suunnitelmien mukaisesti siten, että suunnitellut toimenpiteet on toteutettu.
    Yhteistyö
    • Ryhmän jäsenet ovat jatkuvassa yhteydessä toisiinsa
    • Ryhmä on tiiviissä yhteydessä käyttöliittymäryhmään
    • Ryhmä on tiiviissä yhteydessä ohjaajaansa
    Joululoman katkaistua projektin etenemisen oli yhteistyön uudelleen käynnistämisessä ehkä pientä tahmaa, mutta tahma on kadonnut jo viikkoja sitten ja yhteistyö on sujunut mallikkaasti ryhmän sisällä. Ryhmä on pitänyt useita vapaamuotoisia kokouksia ja ohjelmointi-istuntoja.

    Käyttöliittymäryhmään ei tässä vaiheessa ole oltu yhteydessä kuin yhdessä pienessä kysymyksessä. Tämä on kuitenkin täysin suunnitelman mukaista, sillä tässä vaiheessa olikin tarkoitus toteuttaa käyttöliittymäryhmän aikaisempien ehdotusten pohjalta toimiva käyttöliittymä.

    Ryhmä on ollut yhteydessä ohjaajaansa yhden "virallisen" seurantakokouksen ajan ja lisäksi sähköpostitse. Yhteistyö ohjaajan kanssa on sujunut hyvin, ja ryhmä on projektin linjoista ohjaajan kanssa samaa mieltä.

    2. Hallittavuus

    Dokumentointi
    Dokumentointi on suoritettu kattavasti erityisesti prosessin osalta. Pientä horjuvuutta on ollut havaittavissa ohjelmaversioiden ja ohjelmamuutosten dokumentoinnissa, mihin on kuitenkin jo puututtu.

    3. Mielekkyys

    Ryhmähenki
    Ryhmähenki ja avoimuus ovat pysyneet aikaisemmalla korkeahkolla tasollaan.
    Sitoutuminen
    • Ryhmän jäsenet sitoutuvat yhteisiin tavoitteisiin
    • Tavoitteet ovat sellaisia, joihin kaikki voivat sitoutua
    • Työnjako on sellainen, että jäsen kykenee tehtävistään suoriutumaan
    • Kullakin on oma vastuualueensa, josta hän on itse ollut mukana päättämässä
    Ryhmä ei ehkä enää tunne aivan täydellistä sitoutumista täydelliseen lopputuotteeseen, mikä ilmenee lähinnä siinä, että ryhmän keskuudessa ei ole koettu halukkuutta nostaa tavoitetasoja enää jo päätetyistä. Tämä on kuitenkin täysin ymmärrettävää; pitkän projektin aikana mielialat vaihtelevat suuntaan jos toiseenkin.

    Kaikki sen sijaan tuntuvat sitoutuneen selviämään projektista kunnialla läpi ja hoitamaan osansa kunnolla, joten nykyiset tavoitteet tullaan näillä arvioin saavuttamaan.

    Työnjako on ilmeisestikin ollut sellainen, että jäsenet ovat kyenneet suoriutumaan tehtävistään.

    Lopputuotteen laatuominaisuudet

    1. Käytettävyys

    Helppokäyttöisyys
    Tähän on pyritty kaikin keinoin. Tulos vaikuttaa tähän mennessä hyvältä. Yksi kysymysmerkki ovat virheilmoitukset; ne on kaiketi osittain pakko toteuttaa tekstuaalisesti, jolloin ne eivät ole kaikkien ymmärrettävissä.
    Vaivattomuus
    Helppokäyttöisyys ja vaivattomuus kulkevat käsi kädessä. Nopeata näppäimistöltä käyttöä ei ole vielä toteutettu, mutta tullaan toteuttamaan.
    Muokattavuus
    • Tallettaa annetut asetukset uudelleenkäyttöä varten
    • Ohjelmaikkunan koko säädettävissä
    • TV-ruudun koko säädettävissä
    • Äänenvoimakkuus asetettavissa
    • Kuvaparametrit annettavissa
    Näistä on toteutettu seuraavat: asetusten tallennus, äänenvoimakkuus, kuvan kirkkaus. TV-ruudun koon säätö tullaan vielä toteuttamaan.
    Suorituskyky
    • 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
    Suorituskyvyssä on selviä puutteita. Ohjelma on selvästi hitaan oloinen ainakin Niksulan koneilla. TV-kuva piirtyy nykien, ääni kuuluu katkeillen, ja synkronissa on todella paljon toivomisen varaa. Sen sijaan TV-ohjelmien katselu ei hidasta muiden ohjelmien toimintaa liialti.

    Ongelmaan emme ehdota muuta ratkaisua kuin nopeampien koneiden hankintaa. Ohjelmatyön asiakkaan nimenomaisesti suorituskykytoive oli, että ohjelman ei tarvitse vielä nykyisillä koneilla toimia riittävän nopeasti. Total Quality Management -periaatteiden mukaisesti laadun määrää tässä tapauksessa asiakas. Lisäksi suorituskyvyn nostaminen vaatisi erittäin huomattavia ponnisteluja ja olisi ilmeisesti käytännössä mahdotonta.

    Asennettavuus
    Asennusohjelman teko on aloitettu, ja vaikuttaa siltä, että ohjelman asennuksen pystyy ensikertalainenkin hoitamaan. Sen sijaan ohjelman edellyttämän multicast-reitityksen saannissa voi tulla ongelmia kokeneemmallekin.

    2. Luotettavuus

    Virheettömyys
    Ohjelma ei tällä hetkellä täytä virheettömyyden kriteerejä. Virheiden poistamiseen tullaan panostamaan jatkossa huomattavasti resursseja.
    Virhetilanteiden käsittely
    Tällä hetkellä ohjelma ei kaadu läheskään joka virheeseen (Tcl:n ominaisuus), mutta silti se saattaa kaatua jopa käyttäjän tekemättä mitään. Lisäksi pääprosessin kaatuminen johtaa joskus siihen, että ääniprosessi jää taustalle pyörimään ja pajattamaan ääntä, jota ei saa sammutetuksi muuten kuin prosessin lopettamalla.

    Virhetilanteiden käsittelyyn, erityisesti mainitun ääniprosessin osalta, on kiinnitettävä runsaasti huomiota jatkossa. Erityishuomiota on annettava ymmärrettävien virheilmoitusten miettimiselle.

    Ennakoitavuus
    • Ohjelma toimii samanlaisissa tilanteissa samalla tavoin
    • Ohjelma toimii käyttöympäristöstä ja sen muutoksista huolimatta mahdollisimman yhdenmukaisesti
    Tällä hetkellä ohjelmaa ei ole kokeiltu muualla kuin Niksulan koneilla, joten käyttöympäristön vaikutuksesta ei voida sanoa mitään. Käyttöliittymä sen sijaan toimii suhteellisen ennakoitavasti.

    3. Siirrettävyys

    Lähetysriippumattomuus
    • Vastaanottaa tavallisimpia kuvaformaatteja
    • Vastaanottaa tavallisimpia ääniformaatteja
    Eri ääniformaattien vastaanotto on kunnossa, sen sijaan kuvaformaateista vastaanotettavissa on vain H.261. MPEG-vastaanoton toteuttamista harkitaan ajankäytön niin salliessa.
    Työkalujen siirrettävyys
    Koodin siirrettävyys
    Sekä työkalut että koodi ovat käsittääksemme siirrettävää. Siirtämistä ei kuitenkaan ole kokeiltu, joten siirrettävyyttä emme voi luvata ainakaan vielä tässä vaiheessa.
    Työn siirrettävyys
    Suoltamamme ohjelmakoodi on oman arvion mukaan hieman yleistajuisempaa kuin se, mistä aloitimme. Kuitenkin 3 eri ohjelma (vic, vat ja sdr) yhdistäminen yhdeksi kokonaisuudeksi tarkoittaa myös sitä, että kokonaisuuden hallinta on paljon vaikeampaa kuin 3 erillisen ohjelman.

    Käytännössä työ ei ole kovinkaan hyvin siirrettävissä toisille tekijöille, vaan mahdolliseen siirtoon olisi uhrattava todella paljon resursseja.

    4. Ylläpidettävyys

    Ymmärrettävyys
    • Ohjelmakoodin rakenne on selkeä
    • Ohjelmakoodia voi lukea ja ymmärtää
    Kuten mainittu, ohjelmakoodin rakenne ei ole erityisen selkeä, mistä moitteet kuuluvat paitsi alkuperäisen koodin tekijöille my&omml;s hieman ryhmälle itselleen. C++ -koodin yleisvaikutelma on selkeämpi kuin Tcl-koodin, mikä johtuu erityisesti siitä, että C++ -puolella on käytetty hyväksi olio-ohjelmointia.

    Tcl-koodi oli alunperin hyvin vaikeatajuista ja niukalti kommentoitua, lisäksi moduulijako on osin hankala. Tilannetta ei suinkaan paranna se, että alfa-proto-vaiheessa ryhmä lisäsi jo alunperin sekavaan koodiin omiaan.

    Ryhmän tekemät lisäykset on pyritty merkitsemään #ITV-koodein, ja myös kommentointiin on kiinnitetty huomiota. Lisäkommentointi on kuitenkin edelleen tarpeen.

    Yhdenmukaisuus
    Yhdenmukaisuus ilmenee tässä projektissa siten, että alkuperäisten vat- ja vic-ohjelmien tekijät ovat olleet samoja ja ohjelmoinnissa on noudatettu yhtenäisiä periaatteita. Ohjelmat sisältävät pitkälti yhteisen luokkahierarkian.
    Modulaarisuus
    • Ohjelma koostuu itsenäisistä osista
    • Ohjelmointirajapinnat ovat selkeitä
    Kuten yllä mainittiin, alkuperäisen koodin rakenne on osin sekava ja rajapinnat huonosti dokumentoituja. Ryhmän omalta työltä on syytä odottaa parempaa jälkeä.

    Kurssimenestys

    Kurssimenestys on ryhmää itseään koskettava laatulaji. Ryhmän sisällä on erilaisia näkemyksiä toivottavasta kurssimenestyksestä. Aivan yleisesti ottaen ryhmässämme yhden mielestä jo arvosana 2/5 on aivan kohtuullinen, joku toinen taas on sitä mieltä, että arvosana alle 5/5:n on jos ei aivan tuomittava niin ainakin epäedullinen.

    Ohjelmatyön eri vaihdeiden arvosana näyttää jumittuneen tuonne 4:n paikkeille, vaikkakin ensimmäisestä vaiheesta saamamme arvosana oli ainoastaan 3. Erilaiset taustat ottaen ryhmässä vallitsee hämmästyttävä yksimielisyys siitä, että tavoitearvosana 4/5 on paitsi tavoitteen arvoinen, myös käytännössä mahdollinen suoritus nykyisillä ponnisteluilla.

    Tähän mennessä saamansa arvosanonat (3, 4, 4) ryhmä on ottanut vastaan, jos ei nyt hirveän kiitollisena taikka ylitsepursuavan tyytyväisenä, niin ainakin asiallisesti. Arvosanojen on todettu osuneen kohdalleen suurinpiirtein, korkeintaan lievästi alakanttiin.


    Laadun valvonta, testaus

    Ohjelmatyön kuluessa järjestetään kolmenlaisia laadunvalvontatapahtumia: ohjelmatestejä, käyttötestejä, ja koodikatselmuksia. Näistä on tähän mennessä järjestetty ainoastaan
    ohjelmatestejä, joista on mainittu toisaalla.

    Laatuvalvonnan kannalta testausta on suoritettu aivan liian vähän. Toisaalta testausta on projektin nykytilaan nähden suoritettu sopivassa määrin, sillä suurin osa toiminnoista ei vielä ole ollut testikunnossa, vaan paremminkin työn alla. Testaukseen on jatkossa panostettava.

    Käyttötestaus tarkoittaa lähinnä käyttöliittymän ja käytettävyyden testaamista. Alunperin ryhmällä oli käsitys, että käyttöliittymäryhmä suorittaisi käyttötestausta. Käyttöliittymäryhmän ohjelmaan varsinaista käyttötestiä ei kuitenkaan kuulu. Sen sijaan ryhmä tulee suorittamaan käyttöliittymän arvioinnin.

    Jo tehdyt laadun korjaustoimenpiteet

    Marraskuun lopulla vaikutti siltä, että ohjelmatyön vaatiman suuren työmäärän sovittaminen muihin vaateisiin, kuten muut opinnot ja ansiotyö, olisi erityisen vaikeaa.

    Työmäärä on kuitenkin saatu sovitetuksi järkeviin mittoihin, ainakaan ryhmän jäsenet eivät ole niin paljon valitelleet työtaakkaansa kuin viime vaiheen lopulla, jolloin mm. tentit painoivat päälle. Lisäksi ryhmän keskuuteen on levinnyt yksimielisyys siitä, että tarvittaessa vähemmän tärkeitä ominaisuuksia jätetään toteuttamatta. Tällaisia voivat olla esim. MPEG-muotoisen videokuvan purku ja myöhemmin tulevien ohjelmien selaus.


    Yhteenveto

    Yhteenvetona voi todeta, että laatutilanne on hyvin hallinnassa, ja prosessi pyörii hyvin. Lopputuotteen laatutaso ei vielä vastaa kaikkia vaatimuksia, mutta asia korjaantunee jatkossa.


    Dokumentin laati: Tuomas Salste
    Viimeksi päivitetty: 8.2.97

    Ohjelmatyön pääsivu

    Ohjelmatyöryhmän osoite: ohtace@tcm.hut.fi
    Käyttöliittymäryhmän osoite: lysm@cs.hut.fi