Projektikäsikirja
18.5.1998
 
 
Tiivistelmä
Projektikäsikirjan tarkoituksena on esittää Viiraa-projektin elinkaarta, sekä toteutetun DrainSim-nimisen sovelluksen yleistä rakennetta. Käsikirjasta selviävät myös mahdolliset alkuperäisen projektisuunnitelman ja lopullisen toteutuksen erot.

Projektiryhmän jäsenet: Erno Lahtinen, Niko Tanska ja Tero Wiik.

Projektin ohjaajat: Henri Kosonen ja Jukka-Pekka Santanen.

Toimeksiantajan edustajat: Ari Kiviranta, Tero Laurinolli, Jukka Lehtinen, Ari Mankki, Hannu Partanen, Timo Rantatalo, Risto Savia ja Lauri Verkasalo.
 

1. Johdanto

Paperikoneen myynti- ja ylläpitotehtävissä on tärkeää, että esimerkiksi viiraosan erilaisten vedenpoistolaitteiden vaikutusta paperikoneen lopputulokseen voidaan havainnollistaa asiakkaalle mahdollisimman selkeästi ja näyttävästi. Tähän saakka Valmet Oyj:n edustajat ovat joutuneet turvautumaan kalvoihin ja sanalliseen lahjakkuutensa esitellessään paperikoneen toimintaa asiakkailleen. Näiden tilanteiden helpottamiseksi tietotekniikan cum laude -opiskelijatyöprojekti Viiraa kehitti Valmet Oyj:lle helppokäyttöisen ja näyttävän DrainSim-nimisen graafisen käyttöliittymän paperikoneen viiraosan toimintaa simuloivalle jo olemassaolevalle DOS-pohjaiselle laskentaohjelmistolle.

Projektikäsikirjan toisessa luvussa kuvataan tarkemmin projektin taustoja. Kuvaus Viiraa-projektin tavoitteista on selvitetty kolmannessa luvussa ja projektin aikana esiintulleet uudet termit on liitetty selityksineen lukuun neljä. Kuvaus DrainSim-ohjelmasta löytyy luvusta viisi. Käytännön toteutus pääpiirteittäin on selvitetty luvussa kuusi. Luvussa seitsemän on selvitetty projektin työnjako. Projektilaisten kuvaus tavoitteen toteutumisesta on luvussa kahdeksan. Luvussa yhdeksän on projektin toteutunut aikataulu. DrainSim-sovelluksen testaussuunnitelma on kuvattu luvussa kymmenen. Luvussa yksitoista on selvitetty ylläpidossa ja jatkokehityksessä tarvittavia tietoja. Projektilaisten henkilökohtaiset kokemukset ja tuntemukset ovat luvussa kaksitoista. Projektin yhteenveto on luvussa kolmetoista ja lähdeluettelo luvussa neljätoista.
 

2. Tausta

Jukka Lehtinen on kahden vuosikymmenen ajan kehittänyt paperikoneen viiraosan toimintaa simuloivaa Suotaso-ohjelmaa Fortran-ohjelmointikielellä. Suotaso-ohjelma simuloi suotautumista kartonki- tai paperikoneen tasoviiralla. Tulosten perusteella voidaan tehdä johtopäätöksiä siitä, miten vedenpoistolaitteet toimivat muutettaessa olemassaolevan koneen vedenpoistokalustoa. Tuloksia voidaan hyödyntää myös suunniteltaessa uutta paperikonetta tai suunniteltaessa paperin laadun, sakeuden, jauhatusasteen, pintapainon tai koneen nopeuden muutoksia. Suotaso-ohjelma on 16-bittinen DOS-sovellus ja sen käyttö vaatii syvällistä paneutumista eri parametrien merkitykseen, niiden syöttöön ja tulosten tulkitsemiseen.
 

3. Tavoitteet

Viiraa-työprojektin tehtävänä oli toteuttaa em. ohjelmalle graafinen käyttöliittymä 32-bittiseen Windows–ympäristöön. Kehitettyä ohjelmistoa tullaan käyttämään ensisijaisesti paperikoneen myyntiesittely- ja edelleenkehittämistilanteessa.

Projektin tavoitteena oli, että ohjelma antaa selkeän ja havainnollisen kuvan simuloitavasta vedenpoistokalustosta ja tilanteesta. Graafisen käyttöliittymän avulla voidaan simuloitavan viiraosan ominaisuuksia muokata helposti ja nopeasti. Lisäksi ohjelman toivottiin osaavan käyttää eri paperikonetyypeille ja paperilaaduille ominaisia oletusparametreja, jotka voidaan haluttaessa ladata ohjelmaan.

Periaatteena oli, että sovelluksen tulee toimia graafisena käyttöliittymänä Suotaso-ohjelman ’päällä’. Rajapinnaksi sovittiin eo. ohjelman käyttämät tiedostot, sillä itse Fortran-ohjelmaan projektin ei ollut tarkoitus puuttua.
 

4. Termejä

Projektin aikana ovat esille tulleet seuraavat viiraosan termit:
Foili (drainage foil)
Päästölista on paperikoneen viiraosan elin, jolla aiheutetaan rainaan sykäyksiä vedenpoiston tehostamiseksi.

Foililaatikko (foil box)
Viiraosan elin, joka sisältää useita foileja.

Formeri (former)
Viiran päällä oleva vedenpoistoelementti, joka sijaitsee viiraosan loppupäässä.

Herkkyysanalyysi (sensitivity analysis)
Ajoparametrien vaikutuksen tutkimista kerrospaksuuteen ja sakeuteen.

Huuliaukko (slice opening)
Tällä perälaatikon elementillä ohjataan perälaatikosta tulevaa massasuihkua eli huulisuihkua.

Perälaatikko (headbox)
Paperikoneen alkupään laite, joka levittää massavirran tasaiseksi rainaksi koko viiran leveydelle.

Raina (web)
Suotauttamalla viiralle muodostuva massarata.

Retentio (retention)
Ainehyötysuhde, suodatuksen tehokkuus, jäämä, viiralle jääneen kuitu- ja täyteaineen määrän suhde syötettyyn ainemäärään nähden prosentteina.

Rintapöytä (forming board)
Listakantinen avoin laatikko, joka tukee viiraa huulisuihkun ja viiran kohtaamisalueella.

Suotautuminen (filtration)
Suspendoituneen kiinteän faasin erottuminen virtaavasta neste- tai kaasufaasista mekaanisin keinoin.

Suotautumisvastus (filtration resistance)
Sellumassan kuitujen kasaanpainautumisesta aiheutuvan veden virtausvastuksen kerroin.

Suspensio (suspension)
Kaksimuotojärjestelmä, jonka toinen olomuoto on neste ja toinen nesteessä vapaasti liikkuvat hiukkaset.

Tasoviira (fourdrinier wire)
Yksi viira, jonka läpi vedenpoisto tapahtuu, vaakatasossa oleva paperikoneen viiraosa.

Vedenpoistokalusto (water removal elements)
Viiraosan elementit (esim. foilit ja foililaatikot), joilla tehostetaan paperimassan vedenpoistoa.

Viira (wire)
Paperikoneen viiraosan muovikudos, jonka päälle massaraina suotautetaan. Kuivatusosan kudos, joka saattaa paperin kontaktiin kuivatussylinterin kanssa.

Viiraosa (wire section)
Paperikoneen märän pään osa, jolla paperikoneen perälaatikosta tuleva massa suotautetaan rainaksi.
 

5. Ohjelman kuvaus

DrainSim-ohjelma on tarkoitettu ensisijaisesti paperikoneen myynti- ja edelleen-kehittämistilanteeseen viiraosan vedenpoistokaluston simulointia varten. Tästä syystä ohjelma esittää viiraosan toiminnan mahdollisimman havainnollisesti. Havainnollisuus on toteutettu esittämällä kaaviokuva viiraosalla olevista vedenpoistoelementeistä, sekä esittämällä sakeuden ja kerrospaksuuden vaihtelukäyrät sekä retention ja vedenpoistotehokkuuden graafipylväät kaaviokuvaan sidottuina (ks. kuva 1).
DrainSim-ohjelman pääikkuna
Kuva 1. DrainSim-ohjelman pääikkuna.
 
Sovellus pystyy myös esittämään useita ajotuloksia kerralla joko samassa Runs-ikkunassa (kuva 2) tai eri ikkunoissa (kuva 1), jolloin eri ajojen tulosten vertailu on helppoa. Lisäksi ajotuloksia voidaan tutkia numeerisesti. Erillisen taulukon avulla ne voidaan halutessa tallentaa tekstitiedostoon, jolloin tulosten siirto esim. Excel-taulukkolaskentaohjelmaan onnistuu helposti.
Esimerkki monen ajon yhtäaikaisesta tarkastelusta
Kuva 2. Esimerkki monen ajon yhtäaikaisesta tarkastelusta.
 

5.1 Viiraosan muokkaus

Viiraosan kalustoa voidaan muokata joko Parameters-dialogin avulla (ks. seuraava luku) tai graafisesti. Ennen muokkausta on kuitenkin huomioitava, että editointitila on oltava aktiivinen. Muussa tapauksessa sovellus ei salli viiraosan elementtien muokkausta lainkaan. Editointitilan saa aktiiviseksi klikkaamalla pääikkunan Edit-painiketta (jakoavainpainike kuvassa 1) tai Edit-valikon komentoa WirePart, jolloin graafiseen muokkaukseen tarvittavat painikkeet (foilin ja eri foililaatikoiden lisäys, siirto vasemmalle ja siirto oikealle ja vedenpoistoelementin poisto) aktivoituvat. Ennen viiraosan elementtien muokkausta täytyy haluttu vedenpoistoelementti aktivoida klikkaamalla sen kohdalla hiirellä. Tällöin elementin alle ilmestyy punainen viiva valinnan merkiksi ja tämän jälkeen voidaan kyseisen elementin eteen lisätä uusi elementti, liikuttaa sitä vasemmalle tai oikealle tai poistaa se.
 

5.2 Parametrien muokkaus

Viiraosan kalustuksen ominaisuuksia pääsee editoimaan myös pääikkunan Edit-valikosta Parameters-komennolla. Avautuvassa Parameters-dialogissa (ks. kuva 3) on jokaiselle kaluste- tai komponenttityypillä (perälaatikko, rintapöytä, viira, yksittäiset foilit ja foililaatikot) oma parametrien täyttölehtensä. Haluttuun komponentin parametrien täyttölehteen pääsee myös tuplaklikkaamalla viiraosan kuvasta (kuva 1) haluamaansa komponenttia. Osa täyttölehdillä esiintyvistä parametreista on lähes aina vakioita. Niiden muokkaamiseksi on käyttäjän vaihdettava Edit-valikon Preferences-komennolla avautuvasta asetusdialogista Editable-valintaruutu aktiiviseksi. Kyseisten parametrien oletusarvot voidaan myös muuttaa saman asetusdialogin kautta.
Parametridialogi, jossa avoinna foililaatikon muokkausvälilehti
Kuva 3. Parametridialogi, jossa avoinna foililaatikon muokkausvälilehti.
 

5.3 Paperilaadut

Sovellus sisältää tuen myös paperilaatukirjastoille. Tämä tarkoittaa sitä, että simulaatiota rakennettaessa voidaan käyttää tietyille paperilaaduille ominaisia parametrien oletusarvoja. Yksi paperilaatukirjasto voi periaatteessa sisältää mielivaltaisen määrän erilaisia paperilaatuja parametreineen ja jokainen paperilaatukirjasto tallennetaan omaan tiedostoonsa. Sovellus käyttää aina yhtä paperilaatukirjastoa kerrallaan. Paperilaatukirjastojen muokkaus on toteutettu omalla editointidialogillaan (ks. kuva 4).
Paperilaatukirjaston editointidialogi
Kuva 4. Paperilaatukirjaston editointidialogi.
 

5.4 Ohjelman asetusten muuttaminen

Ohjelman käyttämiä asetuksia voidaan muuttaa Preferences-dialogin avulla (ks. kuva 5). Muutettavia asetuksia ovat mm. ohjelman käyttämä kieli, salasanan vaihto, ajojen maksimi määrä ja harvemmin muutettavien parametrien oletusarvot.
Asetusten muokkausdialogi
 Kuva 5. Asetusten muokkausdialogi.
 

5.5 Tietoturva

Luvatonta ohjelman ja sen tiedostojen käyttöä on pyritty vaikeuttamaan monin keinoin. Simulaatio- ja paperilaatukirjastotiedostot on tallennettu käyttäen salausalgoritmia ja tiedostojen "järkevä" lukeminen onnistuu vain sovellusta käyttäen. Sovelluksessa on myös käyttäjän määrittelemä salasana, jota ilman ohjelma ei käynnisty. Tämä salasana määritellään, kun ohjelma asennuksen jälkeen käynnistetään ensimmäistä kertaa. Tämän jälkeen salasanaa kysytään aina ohjelmaa käynnistettäessä. Halutessaan salasanan voi toki muuttaa asetusdialogia käyttäen. Ohjelman kopiointia toiseen koneeseen on myös vaikeutettu. Toimivan version ohjelmasta saa vain asentamalla ohjelman alkuperäistä asennusohjelmaa käyttäen, eli ohjelma ei toimi, jos se kopioidaan hakemistostaan toiseen koneeseen.
 

6. Käytännön toteutus

Jyväskylän yliopiston matematiikan laitos osoitti projektille huoneen sekä kaksi mikroa, jotka sisälsivät tarvittavat ohjelmat. Laitos vastasi myös projektin välittömistä kustannuksista.

DrainSim-ohjelma toteuttiin Delphi 3.0 -ohjelmankehitysympäristöä käyttäen Windows 95/NT -käyttöjärjestelmään. Sovelluksen käyttökielenä on ensisijaisesti englanti, mutta tarve monikielisyyteen on otettu huomioon. Ohjelman omien simulaatio- ja paperilaatutiedostojen tiedostoformaattien lukemisen ja tallennuksen lisäksi ohjelma pystyy lukemaan myös alkuperäisen Suotaso-ohjelman syöttötiedostoja sekä myös tallentamaan simulaation sen ymmärtämässä muodossa.

Seuraavissa alaluvuissa on pyritty esittelemään asioita DrainSim-ohjelman toteutuksesta, jotka olisivat avuksi ohjelman jatkokehittäjille.
 

6.1 Tietorakenteet

Tietorakenteiden toteuttamisessa on käytetty hyväksi Borlandin Delphi 3.0:n visuaalisia komponentteja ja Object Pascalin omia ohjelmointirakenteita. Liitteessä 1 on selvitetty sovelluksen tärkeimpien luokkien toimintaa, sekä liitteessä 2 on oliodiagrammina kuvattu em. luokat, niiden instanssit ja olioiden väliset suhteet.
 

6.2 Tiedostomuodot

Sovellus käyttää useita erityyppisiä tiedostomuotoja, joita ovat sen oma simulaatio-tiedostoformaatti, paperilaatukirjaston tiedostoformaatti sekä alkuperäisen Suotaso-ohjelman tiedostomuodot. Ohjelma pystyy lukemaan ja tallentamaan em. tiedostomuotoja. Ohjelmassa on myös mahdollisuus tulosten tallentamiseen tekstitiedostona. Lisäksi kielitiedostot käyttävät omaa tiedostomuotoaan.
 

6.2.1 Simulaatiotiedostoformaatti (.SIM)

Ohjelman omaan simulaatiotiedostoformaattiin (ks. liite 3) tallennetaan sovelluksen versionumero. Tämä siltä varalta, että ohjelmasta tulee uusia erilaisen tiedostoformaatin omaavia versioita, jolloin eri versioiden formaatit osataan erottaa toisistaan. Lisäksi simulaatiotiedostoon tallennetaan simulaation luomispäivämäärä, käyttäjän antama simulaatioinformaatio (yhtiö, tehdas, kone ja kommentit), Suotaso-ohjelman tarvitsemat parametrit, paperi-, suotautumis- ja foilityyppitiedot, formerin paikanmääritykseen tarvittavat tiedot, jokaisen ajon ajoparameterit ja tulokset. Tiedosto tallennetaan käyttäen salausalgoritmia, joten sitä pystytään lukemaan vain sovellusta käyttäen.
 
6.2.2 Paperilaatukirjaston tiedostoformaatti (.LIB / .FLB)
Paperilaatukirjasto sisältää jokaisen määritellyn paperityypin oletusparametrit rintapöydälle, foililaatikoille sekä suotautumisvastuksille. Lisäksi tiedostossa on myös tieto sovelluksen versiosta, jolla se on luotu. Sekä paperilaatukirjasto (.LIB) että suotautumisvastustyyppikirjasto (.FLB) käyttävät molemmat samaa tiedostomuotoa. Tosin jälkimmäisessä rintapöydän ja foililaatikoiden tiedot on jätetty tyhjiksi, jolloin suotautumisvastuskirjaston editointi on mahdollista myös paperilaatukirjaston editointidialogissa.
 

6.2.3 Alkuperäisen Suotaso-ohjelman tiedostoformaatti (.DAT)

Suotaso-ohjelman käyttämä tiedosto on tekstitiedosto, jossa parametrit allekkain jokainen omalla rivillään. Tiedosto sisältää simulaatioon ja ajoon tarvittavat parametrit. Niitä on yhteensä 34 kappaletta sekä foililaatikoiden parametrejä 7 jokaista foililaatikkoa kohden. Jotta sovellus pystyisi lukemaan tiedostoa, täytyy parametrien määrän täsmätä (ks. liite 4).
 

6.2.4 Tekstitiedostoformaatti tuloksien tallentamiseen (.TXT)

Halutessaan käyttäjä voi tallentaa simulaation tulokset myös tekstitiedostona. Liitteessä 6 on esimerkki tiedoston ulkoasusta.
 

6.2.5 Kielitiedoston muoto (.INI)

Ohjelman monikielisyys on toteutettu käyttämällä kielitiedostoja. Kielitiedosto on tehty Windowsin yleisessä INI-tiedostomuodossa, jotta ohjelman kielen vaihtaminen voidaan toteuttaa pelkästään INI-tiedostoa editoimalla puuttumatta varsinaiseen ohjelmakoodiin. Liitteessä 7 on esimerkki kielitiedostosta. Liitteen 1 kohdassa 12 on selitetty tarkemmin kyseisiä kielitiedostoja käyttävä komponentti.
 

6.3 Tulosteet

Sovelluksessa on mahdollisuus tulostaa joko simulaatioikkunan tai Runs-ikkunan näkymä. Tulostusdialogin (ilmestyy painettaessa kuvan 1 pääikkunan tulostinpainiketta) asetuksista voidaan valita mm. tulostetaanko pysty- vai vaakatasossa. Ohjelma sovittaa automaattisesti ikkunan näkymän tulostettavalle paperille.
 

7. Projektin työnjako

Projektiryhmän jäsenet olivat projektin alkaessa ohjelmointikyvyiltään ja -kokemuksiltaan samantasoisia. Kukaan ei juuri ollut koodannut Delphillä aiemmin. Tästä johtuen tehtävät pyrittiin jakamaan samantasoisiin ja -kokoisiin sekä selkeästi erillisiin palasiin. Jokainen projektiryhmän jäsen on toteuttanut oman "palasensa" alusta loppuun asti itse, joten työ on koostunut suunnittelusta, toteutuksesta, testauksesta, kommentoinnista ja Help-tiedostojen teosta. Projektiryhmä piti hyvää huolta siitä, että ohjelman osien rajapinnat pysyvät kaikille selvinä ja että niiden integrointi olisi mahdollisimman helppoa. Jos jollakulla ilmeni ongelmia oman osansa toteutuksessa, keskitti koko ryhmä tarmonsa kyseisen ongelman ratkaisemiseen.

Erno Lahtinen toteutti paperilaatukirjaston ja sen editointi-ikkunan, monen simulaatiotuloksen yhtäaikaisen katseluikkunan, tulostuksen sekä kieli- ja RealEdit-komponentit. Niko Tanska toteutti parametridialogin, parametriolion metodeineen sekä Suotaso-ohjelman ajotoiminnon. Tero Wiik puolestaan toteutti viiraosan graafisten komponenttien käsittelyn ja metodit, simulaatioikkunan diagrammit ja sovelluksen kuvien, ikonien ja komponenttien ulkoasun.

Kaiken projektin dokumentoinnin, koostuen projektisuunnitelmasta, palaveripöytäkirjoista ja käsikirjoista tehtiin yhdessä koko projektiryhmän voimin.
 

8. Tavoitteen toteutuminen

Projektin tavoitteena oli toteuttaa helppokäyttöinen ja havainnollinen käyttöliittymä viiraosan vedenpoistoa simuloivalle DOS-ohjelmalle. Mielestämme tavoite toteutui lähes täydellisesti.

Lähes kaikki esisuunnitelmassa mainitut ominaisuudet ja toiminnot toteutettiin ja lisäksi toteutimme suurimman osan toimeksiantajan jälkikäteen esittämistä toiveista, joita olivat esimerkikiksi tulosten tallentaminen tekstitiedostoon ja erillinen suotautumisvastuskirjasto.

Lisäksi meillä oli myös omia innovaatioita, jotka havaittiin hyödylliseksi sovelluksessa. Näitä olivat ajologin toteutus ja Runs-ikkunan diagrammien sarjojen esittäminen joko väreillä tai tyyleillä sekä arvojen esittäminen joko metreinä tai foililaatikkoina. Ainoa toiminto, joka ei täysin toteutunut esisuunnitelman mukaisena, oli viiraosan elementtien siirto, jota ei lopulliseen versioon toteutettu drag and drop –menetelmällä.

Jos saisimme aloittaa projektin alusta, olisimme suunnitelleet ohjelman rakenteellisen oliohierarkian tarkemmin jo heti alussa. Tämän projektin osalta oliot kehittyivät nykyiseen muotoonsa ohjelmoinnin aikana. Projektiryhmän ja tilaajan välistä kommunikointia olisi voinut parantaa varsinkin ohjelman testausvaiheessa.
 

9. Aikataulu

Projektin kestoksi määriteltiin noin 3,5 kuukautta. Projekti alkoi 19.1.1998 ja ensimmäinen kokous toimeksiantajan (Valmet Oyj) kanssa tapahtui 23.1.1998. Ensimmäiset viikot menivät Delphi-ohjelmointityökalun opetteluun ja projektisuunnitelman luomiseen. Noin kolmen viikon kuluttua projektin alkamisesta, projektisuunnitelma oli hyväksyttävässä muodossa. Tämän jälkeen kukin projektilainen alkoi koodata sovelluksesta omaa osaansa. Seuraavat 1,5 kuukautta meni sovelluksen koodauksessa. 3.4.1998 oli sovelluksen ensimmäinen, lähes kaikki lopulliset toiminnot sisältävä versio valmis. Kyseistä versiota esiteltiin Valmet Oyj:llä. Seuraavana kolmena viikkona teimme sovelluksen loput puuttuvat toiminnot valmiiksi. Kaikki projektisuunnitelman sisältämät toiminnot sisältävä ohjelma saatiin valmiiksi 27.4.1998. Ohjelmaa esitettäessä Valmet Oyj:n edustajille toivottiin ohjelmaan vielä muutama pieni lisätoiminto, joiden koodauksen toteutimme seuraavana parina viikkona. Projektin loppuaika kului opastustiedostojen kirjoitteluun ja sovelluksen viimeistelyyn.

Projekti pysyi varsin kiitettävästi aikataulussaan. Tämän voi todeta vertailemalla toteutunutta aikataulua projektisuunnitelmassa esiteltyyn.

23.2.
Projektisuunnitelma on valmis.

27.2.
Ohjelman olio-rakenne valmis.

9.3.
Tulosten, parametrien ja paperiarvojen lataaminen ja tallennus toimii. Ensimmäiset testaukset voidaan aloittaa.

6.4.
Paperilaadun vaikutus oletusarvoihin toimii ja parametrien muokausdialogit toimivat. Ohjelma voidaan antaa Valmet Oyj:lle esitestaukseen.

20.4.
Ohjelman ensimmäinen täysin toimiva versio on valmis. Herkkyysanalyysiä ei välttämättä vielä ole toteutettu. Beta-testaus voidaan aloittaa.

6.5.
Ohjelma testattu täysin toimivaksi.

15.5.
Projektin päättäminen.
 

10. Sovelluksen testaus

Sovelluksen koodia testattiin mahdollisimman tehokkaasti heti alusta lähtien. Näin mahdolliset ohjelmointivirheet yritettiin paikallistaa mahdollisimman aikaisessa vaiheessa. Ohjelman eri palaset pyrimme testaamaan siten, että kutakin palasta testaa myös sellainen ryhmän jäsen, joka ei ole koodaukseen osallistunut. Näin tehostimme virheiden löytymistä, koska tunnetusti ihminen ei helposti löydä omia virheitään. Lisäksi ohjaajamme Jukka-Pekka Santanen osallistui kiitettävällä panoksella ohjelman yleisen näkymän ja koodin oikeellisuuden tarkistamiseen.

Koska projektin jäsenet eivät ole paperinjalostusteollisuuden ammattilaisia, jätettiin ohjelman loogisen toimivuuden testaaminen Valmet Oyj:n edustajille. Heti ensimmäisen toimivan version valmistuttua, luovutettiin kyseinen version testattavaksi. Aina uuden version valmistuessa, luovutettiin se edelleen testattavaksi. Koska ohjelman toiminnasta ei ole Valmet Oyj:n edustajilta juuri tullut kommentteja oletamme, että ohjelma on toiminut halutulla tavalla. Kuitenkin eräs harvoin ilmenevä ohjelmistovika sovelluksessa on, jota emme ole pystyneet ohjelmallisesti poistamaan. Vika on tiedostettu ja dokumentoitu sekä sen kiertämiseen löytyvät ohjeet Help-tiedostoista. Vika liittyy lähinnä DOS-sovelluksen ajamiseen ja sen käyttämän Windows-ikkunan oletusasetuksiin. Ne saattavat olla eri käyttäjillä erilaiset ja näihin asetuksiin emme ole löytäneet keinoa päästä käsiksi ohjelmallisesti. Asetusten muuttaminen täytyy jättää käyttäjälle.

Tehokkaan testauksen ansiosta ei lopullisessa ohjelmassa ole näkyviä virheitä. Mutta koska lopullinen ohjelma on varsin laaja (noin 14000 riviä koodia), ei täysin 100-prosenttista toimintavarmuutta voida taata.

11. Ylläpito ja jatkokehitys

Tässä muutamia jatkokehitykseen hautuneita ideoita ja korjausehdotuksia: