Aalto-yliopiston sähkötekniikan korkeakoulu AS-0.3200 Automaatio- ja systeemitekniikan projektityöt syksy 2014 Loppuraportti A14-03 Hybridivalvomon tilatiedon hallinnan kehittäminen Niklas Paganus Valvoja: Leena Salo Laajuus: 9 op 9.9.2014-19.12.2014 Projektityössä on tarkoitus määrittää, suunnitella, toteuttaa ja dokumentoida hybridivalvomon konfiguraationhallinnan osaprosessi tilatiedon hallinta (engl. status accounting). Hybridivalvomolla tarkoitetaan valvomoa, jossa on useita eri käyttöliittymiä ja -järjestelmiä. Työ liittyy Loviisan voimalaitoksen automaatiouudistushankkeeseen, jossa suoritetaan valvomon osittainen modernisointi. Uudistuksen jälkeen valvomossa on käytössä useita käyttöliittymiä, joiden tilatietoja ja versiointia on hallittava järjestelmällisesti. Valvomosuunnittelu koostuu tämän työn osalta yleisesti katsoen kolmesta osa-alueesta: Valvomon tilasuunnittelusta, paneelikäyttöliittymistä ja monitoripohjaisista käyttöliittymistä. Näistä osa-alueista saadaan erilaisia tietoja, kuten sijaintitietoja, signaaleja ja näyttökuvia. Nämä tiedot muuttuvat sekä valvomon modernisoinnin aikana että varsinaisen käytön aikana. Tämä projektityö keskittyy monitoripohjaisiin käyttöliittymiin. Tämän projektin tuloksena saadaan valvomon tilatiedon hallinnan toteutus ja dokumentointi kahden käyttöliittymän osalta (Loviisan prosessitietokone ja Metso DNA) tukemaan Loviisan voimalaitoksen automaatiouudistuksen valvomosuunnittelun tarpeita. Tulokset ovat myös jatkokäytettävissä käytön aikaisen valvomosuunnittelun tarpeisiin. Keskeinen osa projektityötä on kehittää työkalu, jolla päivitetään käyttöliittymien tiedot valvomon konfiguraationhallinnan työkaluun.
ii Sisällys Lyhenneluettelo... iv 1 Johdanto... 1 2 Projektin tavoitteet ja aikataulu... 2 2.1 Projektiorganisaatio... 2 2.2 Projektin tavoitteet... 2 2.3 Projektin aikataulu... 3 3 Työvaiheiden kuvaus... 5 3.1 Tutustuminen ja selvitykset... 5 3.2 Suunnitelma... 5 3.3 Määrittely... 5 3.4 Konfiguraationhallinnan työkalun suunnittelu ja toteutus... 6 3.5 Väliraportti... 7 3.6 DNA-toiminnon toteutus... 7 3.7 Muiden työkalujen kehittäminen... 7 3.8 Testaus... 7 3.9 Dokumentointi ja luovutus... 7 3.10 Loppuraportti... 7 4 Toteutetut toiminnot... 8 4.1 Tietokanta... 8 4.1.1 Yleistä... 8 4.1.2 Rakenne... 8 4.1.3 Toiminnot... 10 4.1.4 Käyttöliittymä... 12 4.1.5 DNA-näyttöjen tilatiedon päivitystoiminto... 20 4.2 Dokumentointi... 22 5 Toteutunut aikataulu... 23 6 Riskienhallinta... 25 6.1 Suunnitteluvaiheessa tunnistetut riskit... 25 6.2 Odottamattomat riskit... 25 7 Yhteenveto... 27 Viitteet... 28 Liite 1 AKZ haun ohjelmakoodi... 30 Liite 2 Muutostenhallinnan ohjelmakoodi... 33
iii Liite 3 Yleinen ohjelmakoodimoduuli... 35 Liite 4 Esimerkki lomakkeen ohjelmakoodista... 41 Liite 5 DNA-näyttöjen tilatiedon päivitystoiminnon ohjelmakoodi... 43
iv Lyhenneluettelo AKZ Metso DNA MMI OM690 PMS PTK QDS Loviisan voimalaitoksella käytettävä käyttöpaikkatunnusjärjestelmä. Prosessiautomaatiojärjestelmä, jota valvomossa käytetään prosessin monitorointiin ja ohjaukseen. Man-Machine Interface, käyttöliittymä. Siemens SPPA-T2000 järjestelmän valvomojärjestelmä prosessin monitorointiin ja ohjaukseen. Process monitoring system, prosessin monitorointijärjestelmä. Katso PTK. Loviisan prosessitietokonejärjestelmä. Valvomossa järjestelmää käytetään prosessin monitorointiin. Qualified Display System. Turva-automaation (TXS) turvaluokiteltu käyttöliittymä prosessien monitorointiin ja ohjaukseen.
1 1 Johdanto Loviisan voimalaitoksella toteutetaan automaatiouudistusta, jonka puitteissa suoritetaan voimalaitoksen valvomoiden osittainen modernisointi. Voimalaitoksen valvomot ovat jo tällä hetkellä niin sanottuja hybridivalvomoita, eli ne koostuvat useista eri käyttöliittymistä. Käyttöliittymiä on sekä analogisia että digitaalisia. Käyttöliittymien määrä tulee kasvamaan entisestään automaatiouudistuksen myötä. Tämä asettaa valvomoiden konfiguraationhallinnalle haasteita, joihin tämän projektin tuotokset vastaavat. Työ suoritettiin Fortumin Nuclear and Thermal -divisioonaan kuuluvalle valvomot- ja HMI-ryhmälle Espoon Keilaniemessä, tässä raportissa "valvomosuunnitteluryhmä". Ryhmän suunnittelualueet ovat karkeasti katsoen valvomon tilasuunnittelu, paneelikäyttöliittymien suunnittelu ja monitoripohjaisten käyttöliittymien suunnittelu. Ryhmä tarvitsee suunnittelussaan luotettavaa ja ajan tasalla olevaa tietoa valvomon konfiguraatiosta. Tämän tiedon ylläpitoon on jo kehitetty työkaluja, mutta uusia järjestelmiä varten on kehitettävä omat työkalut tai toiminnot, koska esimerkiksi järjestelmien tukemat tiedostomuodot ja tiedonesitystavat ovat erilaisia eri järjestelmissä. Lisäksi nykyisiä työkaluja on kehitettävä jotta ne täyttävät konfiguraationhallinnalle asetettavat vaatimukset. Tässä projektityössä toteutettiin työkalu, joka yhtenäistää valvomon konfiguraationhallintatiedon. Työn tuloksena saatiin konfiguraationhallinnan työkalu, joka käsittää koko valvomon informaation. Työkalu toteutettiin Microsoft Access -tietokantana ja koostuu useasta eri toiminnosta eri tarkoituksiin. Pääasialliset toteutetut toiminnot ovat DNA -päivitystoiminto ja tietokannan perus- sekä ylläpitokäyttöliittymät. Lisäksi työssä toteutettiin kaksi käyttöohjetta tietokannalle, yksi peruskäyttäjälle ja yksi ylläpitäjille.
2 2 Projektin tavoitteet ja aikataulu Tässä kappaleessa kuvataan projektin tavoitteet, projektiorganisaatio ja projektin suunniteltu aikataulu. 2.1 Projektiorganisaatio Projekti toteutettiin yhden henkilön toimesta. Projektissa tehtiin yhteistyötä Fortumin valvomosuunnitteluryhmän kanssa, joka oli projektin pääasiallinen sidosryhmä. Valvomosuunnitteluryhmän henkilöstö asetti toteutettavien toimintojen vaatimukset, toimittivat tarvittavat lähtötiedot, suorittivat testejä ja antoivat palautetta toteutetuista toiminnoista. 2.2 Projektin tavoitteet Projektityössä oli tarkoitus määritellä, suunnitella, toteuttaa ja dokumentoida hybridivalvomon konfiguraationhallinnan osaprosessi tilatiedon hallinta (engl. status accounting) [1]. Konkreettisesti työssä oli tarkoitus toteuttaa ja dokumentoida uusi toiminto Metso DNA-käyttöliittymän tilatiedon hallintaan ja kehittää olemassa olevia tilatiedon päivitystyökaluja ja -toimintoja. Lisäksi työssä oli tarkoitus suunnitella ja toteuttaa merkittävä osa varsinaisesta konfiguraationhallinnan työkalusta, eli tietokannasta ja sen käyttöliittymästä. Kaikki toiminnot oli tarkoitus dokumentoidaan erillisellä dokumentaatiolla käyttävän organisaation käyttöön ja projektin tulokset oli tarkoitus raportoida väli- ja loppuraportissa ja esittää esitystilaisuuksissa. Arvioitu työmäärä projektin alussa oli yhdeksän opintopistettä, eli 240 tuntia. Projektissa toteutettavilla työkaluilla ja -toiminnoilla on rajapintoja useaan muuhun työkaluun. Konfiguraationhallinnan toteuttamiseen osallistuu Fortumilla useita henkilöitä, jotka toteuttavat tähän projektiin kuulumattomat osat konfiguraationhallinnasta ja sen työkaluista. Kuva 1 selventää asiaa: "Niklas"-merkityllä värillä merkityt osat kuuluvat tämän projektin piiriin. Projekti päätettiin toteuttaa suomeksi, koska valvomosuunnitteluryhmän toimittama lähtötietomateriaali tietokannan käyttöliittymästä oli suomeksi. Kun projektia alettiin toteuttaa päätettiin kuitenkin, että tietokanta ja sen ohjelmakoodi kommentteineen toteutetaan englanniksi jatkokehitysmahdollisuuksien parantamiseksi. Projektin muut materiaalit ja kohdeyrityksen organisaatiolle tehdyt ohjeet tehtiin suomeksi. Projektin pääasialliset tavoitteet olivat: Konfiguraationhallinnan työkalun (tietokannan) suunnittelu ja toteutus Tietokannan peruskäyttöliittymän ja siihen liittyvän ohjelmakoodin toteutus DNA-käyttöliittymän tilatiedon päivitystoiminnon toteutus Olemassa olevien tilatiedon päivitystoimintojen kehittäminen ja integrointi tietokantaan, lähinnä PTK-käyttöliittymän signaalitiedon osalta
3 Kuva 1. Projektissa toteutettavat toiminnot. Projektissa toteutettaville toiminnoille asetettiin taulukon 1 mukaiset vaatimukset. Taulukko 1. Projektille asetetut vaatimukset. Vaatimuksen numero Vaatimuksen kuvaus 1 Konfiguraationhallinnan työkalun pitää tukea tiedon tuomista kaikista lähdejärjestelmistä: PTK, OM690, QDS ja DNA. 2 Tietokannan käyttöliittymän tulee olla helppokäyttöinen. Vaatimuksen täyttyminen todetaan valvomoryhmän suorittamilla käyttötapaustesteillä. 3 Tietokannan yleistoiminta tulee olla viiveetöntä ja sujuvaa. Tämä ei koske päivitystyökaluja. Vaatimuksen täyttyminen todetaan valvomoryhmän suorittamilla käyttötapaustesteillä. 4 Päivitystyökalujen toiminta-aika tulee olla ennustettava kymmenen minuutin tarkkuudella ja yksittäisen kokonaisuuden päivittämisen maksimiaika on 30 minuuttia. 5 Tilatiedon päivitystyökalujen tulee tukea toteutukseltaan ja dokumentoinniltaan jatkokehitysmahdollisuuksia. 2.3 Projektin aikataulu Projektin alkuperäinen aikataulu on esitetty kuvassa 2. Projektin todettiin olevan siinä määrin joustava että laajuutta ja sitä kautta työmäärää oli mahdollista lisätä tai vähentää. Tämä oli mahdollista lähinnä työvaiheen "Muiden työkalujen kehittäminen" osalta. Aikatauluun on merkitty punaisella sarakkeilla ne
4 viikot, jolloin kurssilla oli palautus ja/tai esitystilaisuus. Projektin välietapit on merkitty paksuin viivoin ja numeroitu. Aikataulu Viikko Suunniteltu Työvaihe työmäärä (h) 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Tutustuminen ja selvitykset 20 x x Suunnitelma 10 x x x Määrittely 20 x x Konfiguraationhallinnan työkalun suunnittelu ja toteutus 30 x x x x x Väliraportti 5 x DNA toiminnon toteutus 30 x x x x x x Muiden työkalujen kehittäminen 20 x x x x x x Testaus 20 x x x Dokumentointi ja luovutus 50 x x x x x Raportointi 35 x x x x x x Summa 240 Välietapit 1 2 3 4 5 6 7 = Kurssin palautus/esitystilaisuus Kuva 2. Projektin suunniteltu aikataulu. Välietappien suunnitellut valmistumispäivämäärät ovat esitetty taulukossa 2. Taulukko 2. Projektin välietappien suunnitellut valmistumispäivämäärät. Välietappi Suunniteltu valmistumispäivämäärä 1 24.9.2014 2 10.10.2014 3 24.10.2014 4 7.11.2014 5 14.11.2014 6 25.11.2014 7 19.12.2014 Välietapit ja niiden suunnitellut valmistuspäivämäärät ovat seuraavat: 1. Konfiguraationhallinnan työkalun perustoiminnallisuus valmis: Rakenne ja taulut: 24.9.2014 2. Konfiguraationhallinnan työkalu valmis, pois lukien tilatiedon päivitystyökalujen integrointi: 10.10.2014 3. DNA-työkalu valmis ja integroitu konfiguraationhallinnan työkaluun: 24.10.2014 4. Muut työkalut valmiit ja integroitu konfiguraationhallinnan työkaluun: 7.11.2014 5. Konfiguraationhallinnan työkalun testaus valmis: 14.11.2014 6. Dokumentointi ja luovutus valmis: 25.11.2014 7. Loppuraportti valmis: 19.12.2014
5 3 Työvaiheiden kuvaus Tässä kappaleessa kuvataan työvaiheiden toteutukset. Työvaiheet ovat samat kuin projektisuunnitelmassa on esitetty. 3.1 Tutustuminen ja selvitykset Tässä työvaiheessa tutustuttiin annettuun tehtävään ja aikaisemmin kehitettyihin konfiguraationhallinnan työkaluihin, joita valvomosuunnitteluryhmä käyttää. Vaiheeseen kuului myös tutustuminen tilatietojen päivitystoimintojen lähtötietoihin, eli järjestelmistä saataviin tulosteisiin. Tulosteiden tarkempi analyysi ei kuitenkaan sisältynyt tähän vaiheeseen. Hieman aikaa käytettiin myös konfiguraationhallinnan standardeihin tutustumiseen ja aihetta käsittelevän diplomityöhön tutustumiseen. Valvomosuunnitteluryhmän henkilöitä haastateltiin alustavien tavoitteiden määrittelyn mahdollistamiseksi. Tässä vaiheessa selvisi muun muassa se, että konfiguraationhallinnan työkalu pyritään toteuttamaan Microsoft Access -tietokantana. Tähän vaikutti muun muassa se että projektin suorittajalla oli aiempaa kokemusta työkalusta ja että se oli jo valvomosuunnitteluryhmän käytössä. 3.2 Suunnitelma Tässä työvaiheessa tehtiin projektisuunnitelma ja projektisuunnitelmien esitystilaisuudessa tarvittava esitysmateriaali. Tutustumisvaiheessa ilmenneet tiedot ja alustavat tavoitteet olivat merkittävässä roolissa projektisuunnitelmaa luotaessa. Eri työvaiheiden vaatima työmäärä oli haastavaa arvioida ja tästä syystä myös projektin välietappien päivämäärät oli haastavaa arvioida. Valvomosuunnitteluryhmän kanssa käytiin aktiivista keskustelua projektista ja sen tavoitteista ja kehitettävien toimintojen vaatimuksista. Projektin mahdolliset riskit kartoitettiin ja todettiin että projektin laajuus on joustava ja sitä voidaan muuttaa myöhemmässä vaiheessa, jos jotkin työvaiheet vievät arvioitua enemmän työtunteja. Työmäärän lisääminenkin todettiin mahdolliseksi. Suunnitelman tekeminen oli yleisesti ottaen sujuvaa ja projektille saatiin tehtyä selkeä suunnitelma ja riskienhallinta. 3.3 Määrittely Tässä vaiheessa määriteltiin yksityiskohtaisesti kaikkien projektissa toteutettavien toimintojen ominaisuudet yhteistyössä valvomosuunnitteluryhmän kanssa. Määrittelyjä tehtäessä pyrittiin huomioimaan valittujen työkalujen, eli käytännössä Microsoft Access -ohjelmiston, ominaisuudet ja rajoitteet. Valvomosuunnitteluryhmä suunnitteli peruskäyttöliittymän yleisellä tasolla ja mitä ominaisuuksia siinä tulisi olla. Tilatietojen päivitystoiminnoille asetettiin myös vaatimuksia, mutta niiden toteutustapa oli projektin suorittajan valittavissa. Projektissa toteutettaville toiminnolle asetettiin taulukon 3 mukaiset vaatimukset. Vaatimusten täyttyminen on myös kuvattu taulukossa. Taulukko 3. Projektin vaatimusten täyttyminen. Vaatimuksen Vaatimuksen kuvaus numero 1 Konfiguraationhallinnan työkalun pitää tukea tiedon tuomista kaikista lähdejärjestelmistä: PTK, OM690, QDS ja DNA. Vaatimuksen täyttyminen Vaatimus täyttyi tämän projektin osalta. Tässä projektissa toteutettiin DNA-järjestelmän näyttöjen päivitystoiminto ja integroitiin PTK-järjestelmän signaalien päivitystoiminto tietokantaan. Aiemmin valvomosuunnitteluryhmässä kehitetyt päivitystoiminnot OM690- ja QDS-järjestelmille ovat edelleen toimivia. Muiden järjestelmien osalta
6 2 Tietokannan käyttöliittymän tulee olla helppokäyttöinen. Vaatimuksen täyttyminen todetaan valvomoryhmän suorittamilla käyttötapaustesteillä. 3 Tietokannan yleistoiminta tulee olla viiveetöntä ja sujuvaa. Tämä ei koske päivitystyökaluja. Vaatimuksen täyttyminen todetaan valvomoryhmän suorittamilla käyttötapaustesteillä. 4 Päivitystyökalujen toiminta-aika tulee olla ennustettava kymmenen minuutin tarkkuudella ja yksittäisen kokonaisuuden päivittämisen maksimiaika on 30 minuuttia. 5 Tilatiedon päivitystyökalujen tulee tukea toteutukseltaan ja dokumentoinniltaan jatkokehitysmahdollisuuksia. valvomosuunnitteluryhmä jatkaa kehitystyötä. Vaatimus täyttyi. Valvomosuunnitteluryhmä on todennut käyttöliittymän suunnitelmia vastaavaksi ja navigointi on todettu selkeäksi. Käyttäjälle näytetään vain olennainen tieto visualisoituna eikä tietokannan rakennetta tarvitse tuntea käyttääkseen sitä. Lisäksi normaalikäyttäjän ja ylläpitäjän näkymät ovat erotettu toisistaan. Vaatimus on todettu täyttyneeksi seuraavin huomautuksin. Tietokantaa tulisi ensisijassa käyttää vain langallisen verkkoyhteyden kautta, koska langaton verkko saattaa aiheuttaa hitautta joillakin toiminnoilla. Päivitystoimintoja ei tule käyttää langattoman verkon kautta. Vaatimus on todettu täyttyneeksi seuraavin huomautuksin. DNA-järjestelmän osalta toiminta on nopeaa ja päivittäjä voi helposti säätää toimintaaikaa päivitettävien tiedostojen määrällä. PTKsignaalien päivitystoiminto on testeissä saavuttanut samat toiminta-ajat kuin vanhassakin ympäristössä, noin 10-15 minuuttia. Vaatimus on todettu täyttyneeksi DNApäivitystoiminnon osalta. Muita päivitystoimintoja ei kehitetty tässä projektissa. Ohjelmakoodi on jaettu funktioihin, joiden ominaisuuksia on yksinkertaista laajentaa ja koodia on kommentoitu. Ylläpitäjille on tehty ohje, jossa ohjelmakoodin toiminta on selitetty. 3.4 Konfiguraationhallinnan työkalun suunnittelu ja toteutus Tässä vaiheessa konfiguraationhallinnan työkalu, eli tietokanta, suunniteltiin määrittelyjen ja vaatimusten pohjalta ja toteutettiin suunnitelman mukaan. Tietokannan rakenne, kuten taulut, kyselyt, lomakkeet, raportit ja ohjelmakoodimoduulit suunniteltiin, mutta niiden lopullinen määrä ja toiminta selvisivät toteutuksen aikana. Tietokannan peruskäyttöliittymä ja tilatietojen päivitystoiminto DNA-järjestelmän näyttöjen osalta saatiin toteutettua vaatimusten mukaan. Yksi toiminto, jota ei saatu työmäärän puitteissa valmiiksi oli dynaamisten konfiguraation historiaraporttien tekeminen vaatimusten mukaan. Vaatimuksissa jokaisen muutoksen yhteyteen liitetään myös kuva näyttökuvasta, mutta tämä osoittautui haastavaksi ja se olisi vaatinut enemmän työmäärää. Valvomosuunnitteluryhmän kanssa päädyttiin ratkaisuun, jossa kaikki muutostiedot tulostuvat raporttiin ja näyttökuvien pdf-tiedostot avataan pdf-lukuohjelmalla, josta niitä on helppo käsitellä edelleen. Työvaiheen työmäärä ylittyi, johtuen siitä, että jotkin valitun työkalun toiminnallisuudet asettivat rajoituksia tai olivat projektin suorittajalle opiskeltavia asioita. Yksi tällainen asia olivat dynaamiset raportit, joiden toteutus osoittautui arvioitua haastavammaksi. Toinen tällainen asia olivat käyttöoikeudet ja tietokannan suojaukset, joiden toteutusvaihtoehtojen selvittämiseen, arviointiin ja toteutukseen kului arvioitua enemmän aikaa.
7 3.5 Väliraportti Tässä vaiheessa tehtiin kurssin väliraportti. Lisäksi tehtiin esitystilaisuudessa käytettävä materiaali. Projektin todettiin etenevän hyvin, mutta että pieniä muutoksia alkuperäiseen suunnitelmaan oli ilmennyt. Valvomoryhmän toiveesta DNA-päivitystoimintoa priorisoitiin niin, että itse tietokannan toteutus oli hieman myöhässä. DNA-toiminnon vaatima työmäärä oli myös hieman ylittänyt arvion, mikä myös myöhästytti muita vaiheita. DNA-toiminto kuitenkin valmistui etuajassa, joten projektin kokonaisaikataulun tai työmäärän kannalta ei väliraporttivaiheessa nähty tarpeelliseksi tehdä muutoksia. 3.6 DNA-toiminnon toteutus Tässä vaiheessa toteutettiin DNA-näyttöjen tilatietojen päivitystoiminto Microsoft Access -ympäristössä. Toiminnon tarkoitus on viedä haluttujen näyttöjen tiedot tietokannan konfiguraationhallinnan piiriin ja löytää näyttökuvan eroavaisuudet sen edelliseen versioon, olettaen että tällainen edellinen versio löytyy. DNA -järjestelmästä saatava tuloste näyttökuvien sisällöstä on XML-muotoinen. Työvaiheen tavoitteet saatiin täytettyä niillä esitiedoilla, mitä projektin suorittaja sai valvomosuunnitteluryhmältä. Aluksi selvitettiin XML-tiedostojen sisältö eri objekteille ja tulokset dokumentoitiin. Tämä selvitysvaihe vei oletettua enemmän aikaa ja tästä syystä työvaihe vaati hieman enemmän työtunteja kuin oli suunniteltu. Kun selvitysvaihe valmistui, siirryttiin toteutukseen, joka oli melko suoraviivainen, mutta XML-tiedostojen laajuudesta johtuen myös ohjelmakoodia syntyi suuri määrä. Toteutus tehtiin täysin Microsoft Accessissa VBA -ohjelmakoodilla. Lopputuloksena saatiin vaatimusten mukaan toimiva päivitystoiminto. 3.7 Muiden työkalujen kehittäminen Tässä vaiheessa kehitettiin muita kuin DNA-näyttöjen tilatietojen päivitystoimintoja. Koska muut työvaiheet vaativat oletettua suuremman työmäärän päätettiin tämän vaiheen laajuus minimoida. Tämä tarkoitti sitä että tässä vaiheessa suoritettiin ainoastaan PTK-signaalien päivitystoiminnon integrointi luotuun tietokantaan ja muu kehitystyö rajattiin pois projektista. Integrointi sujui sujuvasti ja työmäärä pysyi pienenä. Valinta kohdistui PTK-järjestelmään, koska meneillään olevan automaatiouudistuksen kannalta tärkeimmät ja ajankohtaisimmat järjestelmät ovat DNA ja PTK. 3.8 Testaus Testausta suoritettiin koko projektin aikana toteutusten yhteydessä, mutta tämä vaihe tarkoitti laajempia projektin suorittajan toteuttamia testejä, kun tietokanta oli jo lähes valmis. Testeissä havaittiin useita pieniä puutteita. Havaitut puutteet korjattiin ja korjaavien toimenpiteiden työtunnit kirjattiin tälle työvaiheelle. Tämän lisäksi valvomosuunnitteluryhmä toteutti testejä, joiden tulokset huomioitiin tässä vaiheessa. 3.9 Dokumentointi ja luovutus Tässä työvaiheessa tehtiin dokumentaatio Fortumin sisäiseen käyttöön ja kehitetyt työkalut luovutettiin Fortumin valvomosuunnitteluryhmälle. Tietokantaan liittyen tehtiin kaksi ohjetta ja luovutus suoritettiin tähän varatuissa kokouksissa ja muissa keskusteluissa. Tulevia ylläpitäjiä opastettiin tietokannan toimintaan ja erityispiirteisiin. 3.10 Loppuraportti Tässä työvaiheessa kirjoitettiin kurssin loppuraportti. Työn tavoitteet ja tulokset esiteltiin ja aikataulu sekä riskit analysoitiin. Lisäksi konfiguraationhallinnan työkalulle asetettujen vaatimusten täyttyminen analysoitiin. Tämä oli projektityön viimeinen vaihe ja projekti saatiin vietyä loppuun kurssin määräaikaan mennessä.
8 4 Toteutetut toiminnot Tässä kappaleessa esitellään projektityössä toteutetut toiminnot ja materiaalit. 4.1 Tietokanta Merkittävin projektityön toteutus oli Microsoft Access pohjainen tietokanta. 4.1.1 Yleistä Projektityössä toteutettu tietokanta toimii valvomosuunnitteluryhmän konfiguraationhallinnan työkaluna. Tietokannassa voi tarkastella konfiguraatioyksiköitä, tulostaa raportteja, suorittaa AKZ -hakuja ja syöttää muutoskommentteja. Tietokanta on käyttöliittymän ja tiedon kannalta jaettu kahteen osaan: konfiguraationhallinta ja MMI-suunnittelu. Konfiguraationhallinta-osassa ylläpidetään konfiguraationhallinnan piirissä olevien valvomoiden tilatiedot, eli laitoksella käytössä olevien versioiden tiedot näyttökuvista ja järjestelmien signaaleista. MMI-suunnittelu osassa ylläpidetään kehitysprojektien suunnitteluaikaista tietoa. Tämä projekti keskittyy konfiguraationhallinta-osaan. Tietokanta otetaan heti käyttöön kohdeyrityksen valvomosuunnittelun konfiguraationhallinnassa. 4.1.2 Rakenne Tietokanta on toteutettu kolmella Access -tiedostolla. Tämän lisäksi jotkin valvomosuunnitteluryhmän aiemmin kehittämät päivitystoiminnot käyttävät tukenaan muita tiedostoja. Tässä projektissa on kuitenkin keskitytty Access tiedostoihin ja kaikki tässä projektissa toteutetut toiminnot on toteutettu Accessin toiminnoilla. Access -tiedostot on toteutettu kuvan 3 mukaisesti. "Back end"-tiedostossa on tauluja, joihin tieto tallennetaan. Tämä on tietokannan tietovarasto ja kaikki tieto tallennetaan näihin tauluihin. "Main front end"-tiedosto on tietokannan pääkäyttöliittymä. "Import front end"-tiedostoon on toteutettu tilatietojen päivitystoiminnot, eli tiedosto on tarkoitettu ylläpitäjien käyttöön. Kuva 3. Tietokannan hajautus useaan Access -tiedostoon.
9 Tietokannan tieto tallennetaan Access -tauluihin. Taulut on suunniteltu niin, että jokaiselle valvomojärjestelmälle on kolme taulua: otsikko-, sisältö- ja muutostaulu. Taulujen tarkoitus on esitetty taulukossa 4. Järjestelmäkohtaisten taulujen lisäksi tietokannassa käytetään myös muutamaa erityistarkoituksellista taulua esimerkiksi väliaikaisen tiedon tallennukseen päivitystoimintojen yhteydessä. Taulukko 4. Taulujen tarkoitus. Taulu Tarkoitus Esimerkki näyttökuvasta Otsikko Otsikkotauluun tallennetaan järjestelmän Näyttökuvan otsikkotiedot ovat esimerkiksi konfiguraatioyksiköiden otsikkotiedot. tunnus, versio, otsikko, kuvaus, tekijä, muokkaaja, luontipäivämäärä ja muokkauspäivämäärä. Sisältö Sisältötauluun tallennetaan konfiguraatioyksiköiden sisältö. Linkitys otsikkotauluun tehdään konfiguraatioyksikön tunnuksella ja versionumerolla. Muutos Muutostauluun tallennetaan konfiguraatioyksiköiden versioiden väliset muutokset. Linkitys otsikko- ja sisältötauluihin tehdään konfiguraatioyksikön tunnuksella ja versionumeroilla. Taulu mahdollistaa konfiguraatioyksiköiden versionhallinnan ja historiatiedon ylläpidon. Sisältötauluun tallennetaan näyttökuvan sisältö objektitasolla. Objektien tietoja ovat muun muassa sijaintikoordinaatit, koko, tunnus ja sen toimintaan liittyvät parametrit. Muutostauluun tallennetaan näyttökuvan objektien muutokset. Nämä muutokset ovat esimerkiksi siirtyminen, koon muutos, parametrien muutos sekä uuden objektin lisäys ja objektin poistaminen. Käyttöliittymän toteuttamiseen käytetään lomakkeita ja niistä tulostettavia raportteja. Tieto lomakkeisiin ja raportteihin saadaan tietokannasta kyselyillä. Lomakkeet ja raportit toteutettiin valvomosuunnitteluryhmän toimittamien luonnosten perusteella. Jokaiselle valvomojärjestelmälle on oma lomake, mutta kaikissa tapauksissa, joissa voidaan käyttää yhteistä lomaketta näin on tehty. Tällöin lomakkeen sisältö riippuu valitusta järjestelmästä. Projektissa toteutettujen lomakkeiden hierarkia ja lomakkeiden väliset siirtymiset on esitetty kuvassa 4. Kuvaa on hieman yksinkertaistettu niin, että siinä näytetään järjestelmäkohtaisesti vain yksi lomake, vaikka käytännössä monitoripohjaisilla järjestelmillä on omat lomakkeet signaaleille ja näyttökuville. Tietokanta aukeaa fmain-lomakkeella, josta navigointi aloitetaan. Mahdolliset siirtymät on merkitty nuolilla. Lomakkeiden toiminta osana käyttöliittymää on kuvattu tarkemmin kohdassa 4.1.4. Lomakkeiden toiminnan tukemiseksi luotiin myös ohjelmakoodia. Esimerkki lomakkeen ohjelmakoodista löytyy liitteestä 4.
10 Kuva 4. Yksinkertaistettu kuva lomakkeista ja niiden välisistä siirtymistä. Valvomosuunnitteluryhmän toimittamissa lomakkeiden luonnoksissa tai muissa vaatimuksissa ei otettu kantaa kyselyihin tai ohjelmakoodin toimintaan ja niitä toteutettiin tarpeen mukaan projektissa. Kyselyissä on suuria järjestelmäkohtaisia eroja järjestelmien eroista johtuen. Tyypillisiä kyselyjä ovat kaikki konfiguraatioyksiköt, uusimmat konfiguraatioyksiköt, tietyn konfiguraatioyksikön sisältö ja tietyn konfiguraatioyksikön muutoshistoria. Kyselyjen tueksi luotiin myös ohjelmakoodia. Tämä ohjelmakoodi on esitetty liitteessä 3. 4.1.3 Toiminnot Projektissa toteutettiin seuraavat toiminnot tietokantaan: Konfiguraation informaation tarkastelu Konfiguraation muutoshistorian tarkastelu Muutoskommenttien syöttäminen AKZ-haku DNA-näyttöjen tilatiedon päivitystoiminto PTK-signaalien tilatiedon päivitystoiminnon integrointi toteutettuun tietokantaan Käyttöoikeudet Alla toimintojen kuvaukset. Konfiguraation informaation tarkastelu Tällä toiminnolla voi tarkastella tietyn konfiguraatioyksikön uusimman version sisällön tai rakenteen. Esimerkiksi näyttökuvan tapauksessa tämä toiminto listaa näyttökuvassa esiintyvät objektit ja niiden tiedot. Tiedosta voi helposti tulostaa raportin ja näyttökuvien osalta voi valita haluaako raporttiin sisällyttää myös näyttökuvan.
11 Konfiguraation muutoshistorian tarkastelu Tällä toiminnolla voi tarkastella tietyn konfiguraatioyksikön muutoshistoriaa valitulla aikavälillä. Versioiden väliset muutokset esitetään taulukossa ja käyttäjällä on myös mahdollisuus tulostaa muutostiedot raporttina. Muutoskommenttien syöttäminen Tällä toiminnolla käyttäjä voi kommentoida muutoksia konfiguraatioyksikön versioiden välillä. Tietokannan päivitystoiminnot etsivät muutoksia konfiguraatioyksiköiden versioiden välillä ja kirjaavat ne järjestelmän muutostauluun. Käyttäjä voi kommentoida tai tarkentaa tietokannan havaitsemia muutoksia. Käyttäjälle näytetään kaikki muutokset joita ei vielä ole kommentoitu. Käyttäjä voi syöttää kommentin usealle muutokselle samalla tai valita yksittäisiä muutoksia, joita kommentti koskee. Kun kommentti on annettu ja tallennettu tietokantaan, valitut muutokset häviävät näkyvästä listasta. Kommentoitavat tiedot on valittu valvomosuunnitteluryhmän toimesta. Näkyvien kenttien lisäksi tietokantaan tallentuu kommentin antajan Windows-käyttäjätunnus. Kommentin tallennuksen ohjelmakoodi on löytyy liitteestä 2. AKZ-haku Tällä toiminnolla käyttäjä voi tehdä haun AKZ-, eli käyttöpaikkatunnuksella. Tietokannasta haetaan kaikki ne konfiguraatioyksiköt kaikista järjestelmistä, joissa käyttöpaikkatunnus esiintyy ja tieto esitetään käyttäjälle. Käyttäjä voi myös tulostaa tiedon raporttina. Tämä toiminto mahdollistaa esimerkiksi tarkistamaan millä näytöillä käyttöpaikkatunnus esiintyy ja mitkä signaalit liittyvät käyttöpaikkatunnukseen. Suuri osa toiminnallisuudesta on toteutettu Accesin lomakkeella ja tallennetuilla kyselyillä. Sen lisäksi tarvittiin pieni määrä ohjelmakoodia, joka löytyy liitteestä 1. DNA-näyttöjen tilatiedon päivitystoiminto Tällä toiminnolla DNA-näyttöjen XML-tiedostojen tiedot tallennetaan tietokantaan. Toiminto on täysin automaattinen ja se etsii myös edellisestä näyttöversiosta tehdyt muutokset. Käyttäjä lisää halutut XMLtiedostot tiettyyn hakemistoon, josta automaattinen toiminto lukee ne. Toiminto tarkistaa myös että XMLtiedostojen pakolliset kentät ovat täytetty ja ei aloita varsinaista tiedon tuontia jos tarkistuksessa ilmenee ongelmia. PTK-signaalien tilatiedon päivitystoiminnon integrointi toteutettuun tietokantaan Valvomosuunnitteluryhmällä oli jo aikaisemmin käytössään PTK-signaalien tilatiedon päivitystoiminto. Tämä toiminto integroitiin projektityössä toteutettuun tietokantaan melko yksinkertaisesti. Muutos vaati vain taulujen nimien muuttamisen ja kyselyjen muokkaamisen uuden tietokannan tarpeisiin. Käyttöoikeudet Tietokantaan toteutettiin käyttöoikeuksien hallinta, jonka tarkoituksena on suojata tieto ja estää tahattomat virheet. Käyttöoikeuksia on kaksi tasoa: käyttäjät ja ylläpitäjät. Käyttäjät voivat käyttää tietokannan ominaisuuksia ja ylläpitäjät voivat tämän lisäksi muokata tietokantaa. Tähän toiminnallisuuteen sisällytettiin myös ylimääräisen tiedon piilottaminen. Tämä tarkoittaa käytännössä sitä, että käyttäjälle näytetään vain olennainen tieto ja olennaiset toiminnot, jolloin käyttöliittymä saadaan pysymään yksinkertaisena.
12 4.1.4 Käyttöliittymä Valvomosuunnitteluryhmä toimitti alkutietoina käyttöliittymän luonnoksen, eli käytännössä lomakkeiden luonnospiirrokset ja niiden välisen navigoinnin. Lomakkeiden ulkoasu, kuten värimaailma, on edelleen kehityksen alla valvomosuunnitteluryhmässä, joten tässä työssä toteutettu ulkoasu ei ole lopullinen. Tässä projektissa keskityttiin käyttöliittymän toteuttamiseen, eli lomakkeet piirrettiin yhteistyössä valvomosuunnitteluryhmän kanssa ja niiden toiminnallisuudet toteutettiin ohjelmakoodilla ja Accessin muilla suunnittelutoiminnoilla. Tietokannassa on tässä projektissa toteutettu käyttöoikeuksien hallinta, kuten kohdassa 4.1.3 on kuvattu. Jos käyttäjää ei tunnisteta siitä tulee kuvan 5 mukainen ilmoitus. Tällöin käyttäjä ei pysty tekemään muuta kuin sulkemaan tietokannan. Kuva 5. Näkymä, jos käyttäjällä ei ole käyttöoikeuksia tietokantaan.
13 Jos käyttäjällä on käyttöoikeus tietokantaan avautuu kuvan 6 mukainen aloitusnäkymä. Kaikki Accessin suunnittelutoiminnot ovat kytketty pois käytöstä, jolloin käyttäjä pystyy vain navigoimaan ja käyttämään lomakkeita sekä tulostamaan raportteja. Kuva 6. Tietokannan päänäkymä. Tässä työssä toteutettu konfiguraationhallintatoiminto avautuu napsauttamalla "Configuration management", jolloin kuvan 7 mukainen konfiguraationhallinnan päänäkymä avautuu. Kuvassa näkyvään valkoiseen ruutuun valvomosuunnitteluryhmä voi valita näytettävän kuvan. Tässä näkymässä jokaiselle valvomojärjestelmälle on oma toimintopainike, jossa kyseisen järjestelmän konfiguraationhallintaa voi suorittaa. Monitoripohjaisten järjestelmien osalta painikkeet on eroteltu niin että näyttökuvien ja signaalien hallintaan siirrytään eri painikkeista. Järjestelmäkohtaisten painikkeiden lisäksi tästä näkymästä voi siirtyä suoraan AKZ-hakuun.
Kuva 7. Konfiguraationhallinnan päänäkymä. 14
15 Napsauttamalla kuvassa 7 näkyvää toimintopainiketta "AKZ search" avautuu kuvan 8 mukainen näkymä. Tässä näkymässä käyttäjä voi tehdä hakuja AKZ-tunnuksella ja tietokanta palauttaa siihen liittyvät näyttökuvat ja paneelit "MMI-locations" -kohtaan ja tunnuksen signaalitiedot "Signal information" - kohtaan. Tietokannasta haetaan myös tunnuksen kuvaus ja tietotyyppi "Description"- ja "Type"-kenttiin. Käyttäjä voi avata näyttökuvan pdf tiedoston tuplaklikkaamalla tietyn näyttökuvan riviä. Lisäksi tuloksista voi tulostaa raportin. Kuva 8. AKZ -hakutoiminnon näkymä. Jos kuvan 7 näkymästä napsauttaa jonkin järjestelmän toimintopainiketta, avautuu järjestelmäkohtainen näkymä, joka tosin on kaikissa järjestelmissä hyvin samankaltainen. Esimerkkinä Metso DNA-järjestelmän näyttökuvien näkymä on esitetty kuvassa 9. Tähän näkymään listautuu uusimmat versiot jokaisesta tietokannassa olevasta konfiguraatioyksiköstä, tässä tapauksessa näyttökuvasta. Näistä valitaan se konfiguraatioyksikkö, jolle halutaan suorittaa jokin toiminto ja sen jälkeen toimintopainikkeista valitaan haluttu toiminto.
Kuva 9. Esimerkki järjestelmäkohtaisesta näkymästä (DNA näytöt) 16
17 Valittaessa toiminto "Configuration information" kuvan 9 näkymästä avautuu kuvan 10 mukainen näkymä. Tässä näkymässä esitetään konfiguraatioyksikön tiedot ja liittyvät dokumentit. Käyttäjä voi myös tulostaa tiedoista raportin, johon voi sisällyttää myös näyttökuvan jos kyseessä on sellainen. Näyttökuvan pdftiedoston voi myös avata tästä näkymästä. Kuva 10. Konfiguraation informaation näkymä.
18 Valittaessa toiminto "Change management" kuvan 9 näkymästä avautuu kuvan 11 mukainen näkymä. Tässä näkymässä käyttäjä voi syöttää muutoskommentteja valitsemilleen tietokannan havaitsemille muutoksille. Tietokannan havaitsemat muutokset valitaan listasta klikkaamalla niin, että valitut muutokset näkyvät tummalla taustalla. Kaikki kentät ovat pakollisia ja käyttäjä voi vaihtaa oletuspäivämäärän. Muutoksista voi myös tulostaa raportin. Kuva 11. Muutostenhallinnan näkymä.
19 Muutoskommenttien syöttämistoiminto on toteutettu hyvin virheensietokykyiseksi. Kenttien merkkien maksimimäärä on rajoitettu ja sitä tarkkaillaan kun käyttäjä syöttää kenttään tietoa joko kirjoittamalla tai kopioimalla tekstiä. Jos syöte on liian pitkä, siitä ilmoitetaan käyttäjälle jo kirjoitusvaiheessa. Kaikki kentät, lukuun ottamatta päivämääräkenttää muuntavat syötteen tekstiksi, joten tiedon muodolla ei ole väliä. Päivämääräkentän syöte on rajoitettu niin, ettei siihen voi syöttää muuta kuin päivämäärän. Ennen kuin kommentti tallennetaan, varmistetaan että kaikki kentät ovat täytettyjä. Jos kentissä on puutteita, kommenttia ei tallenneta ja käyttäjää pyydetään täyttämään puuttuvat tiedot. Kun kommentti tallennetaan, kirjaa tietokanta kommentin yhteyteen myös sen Windows-käyttäjänimen, jolla kommentti on syötetty. Valittaessa toiminto "Configuration history" kuvan 9 näkymästä avautuu kuvan 12 mukainen näkymä. Tämä on näkymä, josta käyttäjä valitsee haluamansa ajanjakson konfiguraation historiaraportille. Valinta voidaan tehdä joko valitsemalla alasvetovalikosta ajanjakso, esimerkiksi viimeisen kuukauden muutoksista tai syöttämällä ajanjakson alku- ja loppupäivämäärät niitä varten varattuihin kenttiin. Käyttäjän antama ajanjakso tarkistetaan, ja jos se ei kelpaa siitä ilmoitetaan käyttäjälle eikä raporttia luoda. Jos käyttäjä on valinnut sekä ajanjakson että alku- ja loppupäivämäärät tietokanta ei pysty tulkitsemaan valintaa, jolloin käyttäjää pyydetään valitsemaan yksikäsitteinen ajanjakso. Tulostuvan raportin ulkoasu on esitetty kuvassa 13. Raporttiin tulostuu siis konfiguraatioyksikön muutokset ja muutoskommentit. Kuva 12. Näkymä, josta valitaan ajanjakso tulostettavalle konfiguraation historiaraportille.
20 Kuva 13. Esimerkki konfiguraation historiaraportista. 4.1.5 DNA-näyttöjen tilatiedon päivitystoiminto Yksi merkittävä toiminto, joka toteutettiin kokonaisuudessaan tässä projektissa, on DNA-järjestelmän näyttökuvien tilatiedon päivitystoiminto. Tässä on selitetty päivitystoiminnon periaatteet ja toiminta yleisellä tasolla, toteutettu ohjelmakoodi löytyy liitteestä 5. Päivitystoiminnon idea on viedä näyttökuvien uusimpien versioiden tiedot tietokantaan ja verrata tietoja edellisiin näyttökuvaversioihin, jos sellaisia löytyy. Lähtötietona tämä toiminto tarvitsee Metso DNA - järjestelmästä saatavia XML -muotoisia tulosteita näyttökuvista. Tiedostoille on asetettu vaatimuksia sisällytettävästä tiedosta. Näytön piirtäjän vastuulla on varmistaa että tieto on oikeanlaista, vaikka päivitystoiminto suorittaakin joitakin tarkistuksia. Näistä tiedostoista tiedot luetaan Microsoft Access - ohjelmistolla. Päivitystoiminnon ohjelmakoodi on toteutettu VBA-ohjelmointikielellä. Päivitystoiminto on sijoitettu "Import FrontEnd" -tiedostoon, jonka käyttöliittymä on esitetty kuvassa 14.
21 Kuva 14. Päivitystoimintojen päänäkymä. Päivitystoiminnon vaiheet ovat seuraavat: Ensin varmistetaan, että tarvittavat XML -tiedostot ovat oikeassa hakemistossa ja että ne vastaavat vaatimuksia. "Import front end" -tiedosto avataan, jonka jälkeen napsautetaan "Run DNA import"-painiketta. Ohjelmakoodi lukee XML tiedostot ohjelmakoodissa määritetystä hakemistosta. Ensin suoritetaan tiedostojen validointi, jossa tarkistetaan että tiedoston otsikkotiedot on täytetty vaatimusten mukaan. Samalla tarkistetaan että tuotavat näyttöversiot ovat uudempia kuin jo tietokannassa löytyvät näyttöversiot. Jos tarkistuksessa ilmenee virheitä tästä ilmoitetaan käyttäjälle ja toiminto keskeytetään. Muutoin jatketaan seuraavaan vaiheeseen. Kaikkien tiedostojen otsikkotiedot tallennetaan DNA -näyttöjen otsikkotauluun. Kaikkien tiedostojen näyttökuvan sisältö, eli objektit parametreineen, tallennetaan DNA -näyttöjen sisältötauluun. Näyttökuvien sisältöä verrataan edellisiin näyttöversioihin, jos sellaisia löytyy tietokannasta. Toiminto havaitsee objektin lisäämisen, poistamisen, siirtämisen, koon muutoksen ja parametrien
22 muuttamisen. Siirtämisessä käytetään raja-arvoa, jotta pienet, muutaman pikselin siirrot, eivät turhaan listautuisi muutoksiksi. Muutokset tallennetaan DNA -näyttöjen muutostauluun. 4.2 Dokumentointi Projektissa tehtiin kaksi tietokannan käyttöohjetta. Yksi ohje on tarkoitettu tietokannan peruskäyttäjille ja siinä on kuvattu tietokannan käyttö ja toiminta yleisellä tasolla. Toinen ohje on tarkoitettu tietokannan ylläpitäjille ja siinä on kuvattu tietokannan rakenne ja toiminta yksityiskohtaisesti sekä käyttöoikeuksien hallinta. Lisäksi päivitystoimintojen kuvaukset sisällytettiin ylläpito-ohjeeseen. DNA-näyttöjen tilatiedon päivitystoiminnon selvitysvaiheen tulokset dokumentoitiin mahdollista jatkokehitystä varten. Kaikki tässä mainitut dokumentaatiot jäävät Fortumin sisäiseen käyttöön.
23 5 Toteutunut aikataulu Projektin toteutunut aikataulu on esitetty kuvassa 15. Kuten tässä raportissa jo aiemmin on todettu, muuttui välietappien järjestys ja joidenkin vaiheiden työmäärät ylittyivät, mikä johti välietappien myöhästymiseen. Projekti saatiin kuitenkin vietyä loppuun suunnitellulla työmäärällä ja kaikki kurssin palautukset tehtiin ennen määräaikaa. Aikataulu Viikko Tuntiseuranta Suunniteltu Työvaihe työmäärä (h) 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Tutustuminen ja selvitykset 20 x x x 22 Suunnitelma 10 x x x 10 Määrittely 20 x x 20 Konfiguraationhallinnan työkalun x x x x x x x x x suunnittelu ja toteutus 30 46 Väliraportti 5 x x 3 DNA toiminnon toteutus 30 x x x x x x 37 Muiden työkalujen kehittäminen 20 x 10 Testaus 20 x x x 20 Dokumentointi ja luovutus 50 x x x x x x 40 Raportointi 35 x x x 32 Summa 240 240 Välietapit 1 3 4 2 5 6,7 = Kurssin palautus/esitystilaisuus Kuva 15. Projektin toteutunut aikataulu. Välietappien suunnitellut, väliraportissa korjatut ja toteutuneet päivämäärät on esitetty taulukossa 5. Taulukko 5. Projektin välietappien suunnitellut, väliraportissa arvioidut ja toteutuneet päivämäärät. Välietappi Suunniteltu Väliraportin arvio Toteutunut 1 24.9.2014 1.10.2014 1.10.2014 2 10.10.2014 24.10.2014 14.11.2014 3 24.10.2014 22.10.2014 22.10.2014 4 7.11.2014 7.11.2014 31.10.2014 5 14.11.2014 14.11.2014 28.11.2014 6 25.11.2014 25.11.2014 19.12.2014 7 19.12.2014 19.12.2014 19.12.2014 Kumulatiivinen työmäärä ajan funktiona on esitetty kuvassa 16. Työmäärä jakautui tasaisesti projektin ajalle. Projektin keskivaiheilla, viikon 44 kohdalla, voidaan nähdä pieni työmäärän nousu verrattuna suunniteltuun. Tämä johtui lähinnä tietokannan vaatiman työmäärän ylittymisestä. Työmäärän nousuun reagoitiin kuitenkin nopeasti vähentämällä muiden päivitystoimintojen laajuutta, jolloin projekti saatiin vietyä loppuun suunnitellulla työmäärällä.
24 Työmäärä 300 250 200 Tuntia 150 100 Suunniteltu Toteutunut 50 0 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 Viikko Kuva 16. Kumulatiivinen työmäärä projektin aikana.
25 6 Riskienhallinta Projektin riskejä arvioitiin todennäköisyydellä ja vaikutuksella. Asteikko kummassakin näkökulmassa on pieni-kohtalainen-suuri. Lisäksi projektissa on ilmentynyt odottamattomia riskejä, jotka on kuitenkin pystytty hallitsemaan hyvin ja niiden vaikutus on voitu minimoida. Mikään realisoitunut riski ei siis ole aiheuttanut projektin kokonaistyömäärän merkittävää ylitystä tai kokonaisaikataulusta myöhästymistä. Merkittävin riskien hallintamenetelmä oli projektin joustavan työvaiheen, eli muiden työkalujen kehittäminen vaiheen työmäärän sopeuttaminen. 6.1 Suunnitteluvaiheessa tunnistetut riskit Aikataulun venyminen Todennäköisyys: Pieni. Vaikutus: Kohtalainen. Toteuma: Projektin kokonaisuuden osalta kaikki vaiheet valmistuivat ennen kurssin loppuraportin määräpäivää, joten siinä mielessä riski ei realisoitunut. Jotkin projektin välietapeista myöhästyivät, johtuen siitä että osavaiheiden järjestystä muutettiin ja työmäärä ylittyi kahden työvaiheen osalta. Välietappeja siirrettiin tarpeen mukaan ja päämäärä saada projektille asetetut tavoitteet määräajassa ja suunnitellulla työmäärällä valmiiksi saavutettiin. DNA-järjestelmän lähtötiedot myöhästyvät Todennäköisyys: Pieni. Vaikutus: Kohtalainen. Toteuma: DNA-järjestelmän lähtötiedot saatiin ajallaan ja toiminto toteutettiin niiden pohjalta. Riski ei siis realisoitunut. Nykyisten työkalujen kehityksen työmäärä suurempi kuin oletettu Todennäköisyys: Kohtalainen. Vaikutus: Suuri. Toteuma: Tämä riski ei realisoitunut. Muiden työvaiheiden työmäärien ylittymisen johdosta nykyisten työkalujen kehitys jätettiin minimiin, jolloin niiden vaatima työmäärä ei ollut projektin kannalta olennainen. Riippuvuus muista tekijöistä aiheuttaa projektin myöhästymisen Todennäköisyys: Pieni. Vaikutus: Pieni. Toteuma: Riski ei realisoitunut. Valvomosuunnitteluryhmän asiantuntijat olivat aina käytettävissä mahdollisissa epäselvissä tilanteissa projektin aikana ja kaikki tarvittavat lähtötiedot saatiin ajallaan. Projektin aikana päätetyistä muutoksista myös tiedotettiin nopeasti niin, että niihin ehdittiin reagoida eivätkä ne siten aiheuttaneet projektin myöhästymistä. Tiedon katoaminen Todennäköisyys: Pieni. Vaikutus: Suuri. Toteuma: Riski ei realisoitunut. 6.2 Odottamattomat riskit Konfiguraationhallinnan työkalun toteutuksen työmäärä ylitti arvion Todennäköisyys: Ei tunnistettu. Vaikutus: Pieni. Riskinhallinta: Tietokannan toteutus vaati enemmän työtunteja kuin oli arvioitu, koska jotkin toiminnot vaativat perehtymistä ja selvitystyötä. Lisäksi Accessin dynaamisten raporttien tekeminen ei ollut niin suoraviivaista kuin oli arvioitu. Tietokannan toimintojen toteutus nähtiin
26 tärkeänä asiana, joten muiden työvaiheiden työmäärää päätettiin pienentää. Tästä syystä tämän toiminnon työmäärän ylityksen vaikutukset olivat pienet. Tämä oli mahdollista tehdä toiminnon "Muiden päivitystoimintojen kehitys" osalta, jonka laajuus jätettiin minimiin. Lisäksi dokumentointiin ja raportointiin ei kulunut niin paljon työtunteja kuin oli arvioitu. DNA-päivitystoiminnon työmäärä ylittyi Todennäköisyys: Ei tunnistettu. Vaikutus: Pieni. Riskinhallinta: Tämän toiminnon työmäärä ylittyi hyvin vähän, joten se ei projektin kokonaislaajuuden ja aikataulun suhteen aiheuttanut poikkeamaa. Ylitys kompensoitiin sillä että jotkin muut työvaiheet eivät vaatineet niin paljon työtunteja kuin oli suunniteltu, kuten dokumentointi ja raportointi.
27 7 Yhteenveto Projektityön teoreettinen pohja oli konfiguraationhallinnan osaprosessi tilatiedon hallinta. [1] Työssä toteutettiin konfiguraationhallinnan työkaluna Microsoft Access pohjainen tietokanta, johon toteutettiin useita toimintoja kohdeyrityksen ja alan standardien vaatimusten mukaan. Työkalua käytetään valvomosuunnittelun tukena ja siitä hyötyvät myös muut suunnittelualueet kuin valvomosuunnittelu. Projektissa saavutettiin sille asetetut tavoitteet kokonaisaikataulun ja -työmäärän puitteissa. Useat projektin välietapit myöhästyivät ja jotkut välietapit valmistuivat ennen suunniteltua ajankohtaa, johtuen toteutuneiden työmäärien poikkeamisesta suunnitellusta ja joidenkin vaiheiden prioriteettimuutoksista. Projektissa ei ehditty suorittaa optioina olleita muiden tilatietojen päivitystoimintojen kehitystä, vaan työmäärä täyttyi minimilaajuuteen kuuluneista töistä. Sekä projektin asiakkaana toiminut valvomosuunnitteluryhmä ja projektin suorittaja ovat tyytyväisiä projektin suoritukseen ja lopputuloksiin. Valvomosuunnitteluryhmä on ottanut projektissa toteutetut toiminnot käyttöön ja lähtenyt jatkokehittämään tietokantaa niiden toimintojen integroinnilla, joita ei käsitelty tässä projektissa. Opiskelijan näkökulmasta projekti oli erinomainen harjoitus projektityöskentelyyn liittyviin erityispiirteisiin ja toteutusvaiheessa suorittaja vahvisti taitojaan Microsoft Access-työkalussa ja siihen liittyvässä VBAohjelmoinnissa. Mikään suunnitelluista riskeistä ei realisoitunut. Jos projektissa ei olisi voinut joustaa työmäärässä, lähinnä muiden päivitystoimintojen osalta, olisi aikataulu venynyt ja täten riski Aikataulun venyminen olisi realisoitunut. Projektissa esiintyi kaksi odottamatonta riskiä. Konfiguraationhallinnan työkalun, eli tietokannan, työmäärä ylitti arvion. Tähän pysyttiin kuitenkin reagoimaan vähentämällä muiden työvaiheiden laajuutta. Myös DNA-päivitystoiminnon toteutuksen työmäärä ylittyi, mutta ylitys oli niin pieni, ettei se vaikuttanut projektin kokonaisaikatauluun tai -laajuuteen. Mikään riski ei siis realisoitunut niin, että projektin kokonaisaikataulu- tai työmäärä olisi muuttunut. Suunnitteluvaiheessa oli haastavaa arvioida eri työvaiheiden vaatimia työmääriä ja joidenkin työvaiheiden osalta arviot olivatkin liian pieniä. Toisaalta jotkut työvaiheet vaativat vähemmän työtä kuin oli arvioitu ja projektissa pystyttiinkin aktiivisella keskustelulla asiakasorganisaation kanssa löytämään ratkaisu, jolla projektille asetetut tavoitteet saavutettiin sille asetettujen resurssi- ja aikarajoitteiden puitteissa. Yksi projektityöskentelyn kannalta korostunut asia oli, että asiakkaan kanssa tulee ylläpitää aktiivinen vuoropuhelu, jolloin projektin tavoitteet ja niihin mahdollisesti liittyvät tarkennukset voidaan käsitellä viiveittä. Muita olennaisia projektityöskentelystä opittuja asioita olivat, että suunnitteluun ja määrittelyyn kannattaa panostaa, jolloin myös työmäärien arviointi on helpompaa. Riskejä tulisi kartoittaa laajasti ja myös sellaiset asiat jotka suunnitteluvaiheessa tuntuvat helpoilta tai pieniltä asioilta tulisi liittää projektin riskienhallintaan. Kuten tässä projektissa huomattiin, on myös hyvä kartoittaa riskienhallinnan menetelmiä niin, että realisoituneen riskin vaikutukset voidaan minimoida.
28 Viitteet 1 IEEE Std 828-2012. IEEE standard for configuration management in systems and software engineering. New York, NY, USA: IEEE standards association. 2012. 71 s.
Liite 1 AKZ haun ohjelmakoodi 30
31
32
Liite 2 Muutostenhallinnan ohjelmakoodi 33
34
Liite 3 Yleinen ohjelmakoodimoduuli 35
36
37
38
39
40
Liite 4 Esimerkki lomakkeen ohjelmakoodista 41
42
Liite 5 DNA-näyttöjen tilatiedon päivitystoiminnon ohjelmakoodi 43
44
45
46
47
48
49
50
51
52
53
54
55
56
57