EVO-Työprojekti

Projektikäsikirja

7.1.1998

Teemu Katajisto

Antti Kirjavainen

Marko Riihimäki

 

Tiivistelmä

Tässä käsikirjassa kuvataan yliopiston matematiikan laitoksella syksyllä 1997 toteutetun EVO-työprojektin työtä ja aikaansaannoksia. EVO-työprojektin tarkoituksena oli suunnitella ja toteuttaa asennusohjelma Relatech Oy:n Event Organizer –ohjelmistosta. Event Organizer on ohjelmistopaketti, joa on tarkoitettu helpottamaan konferenssien järjestämistä.

Termiluettelo

Tässä luvussa selitetään projektiin liittyviä vieraita termejä ja lyhenteitä.

Instanssi 	Oraclen tietokannan esiintymä.
SQL		Ohjelmointikieli tiedon käsittelyyn relaatiotietokannoissa
		(Structured Query Language).
PL/SQL		Oraclen laajennus SQL:ään.
PL/SQL-agentti	PL/SQL-koodia suorittava olio tietokannassa.
EVO		Event Organizer –ohjelmiston lyhenne.
OWA_DBA		PL/SQL-agentti.
Web Listener 	Windows -palvelu, joka seuraa tietoliikenneportin 
                yhteyspyyntöjä.
Web Request Broker	        
                Käsittelee Web Listenerin kautta tulevat pyynnöt.
Systeemitiedostot	
                Tiedostot, joissa on kyseisen ohjelman asetukset.
Web Management Server
                Event Organizerin www-palvelin tapahtumien kotisivujen 
                ja tietokantojen ylläpitoon.
Web Registration Server	                       
                Event Organizerin www-palvelin ilmoittautumisten 
	        rekisteröintiin.
Database Connection Descriptor                   
                Kuvaus, joka antaa PL/SQL-agentille tiedot siitä, minne
                pitää ottaa yhteys ja millä parametreillä.
DCD		Lyhenne Database Connection Descriptorista.
Service		Windows NT:n ohjelmatyyppi, joka voi suorittaa
		toimintoja erillisillä, käyttäjistä riippumattomilla
	        oikeuksilla.
Client		Työasema. Ottaa yhteyden palvelimeen (server) ja on ikään
		kuin palvelimen käyttöliittymä. 
Server		Palvelin. Palvelee työasemia toteuttamalla niiden pyyntöjä.
 

 Sisältö

1. Johdanto *

2. Tausta ja tavoitteet *

3. Projektin selkiytyminen *

4. Käytännön toteutus *

5. Sovelluksen jatkokehittely *

6. Vaikeudet ja opitut asiat *

7. Henkilökohtaiset kokemukset projektista *

7.1. Teemu Katajisto *

7.2. Marko Riihimäki *

7.3. Antti Kirjavainen *

8. Projektin aikataulu *

9. Testaukset *

11. Yhteenveto *

12. Lähteet *

 

  1. Johdanto
  2. Relatech Oy:n Event Organizer on Windows NT/95 -ympäristössä toimiva kongressijärjestäjän ohjelmisto tapahtuman järjestelyrutiineiden sekä ohjelma- ja osallistujatietojen hallintaan. Event Organizer -ohjelmisto on toteutettu Oraclen kehitysvälineillä ja tietokantaratkaisuilla. Oracle on yksi johtavista tietokantaohjelmistojen kehittäjistä.

    Tämän projektikäsikirjan tarkoitus on selvittää, kuinka projekti toteutettiin ja millä tavoin projektin toteutus poikkesi alkuperäisestä suunnitelmasta.

     

  3. Tausta ja tavoitteet
  4. Tietotekniikan cum laude -opiskelijatyöprojektin tehtävänä oli Event Organizer -asennusohjelman ja sen yhteydessä toimivan asennusta esittelevän demon toteuttaminen Install Shield 5 Professional Edition ja Demo Shield -ohjelmistoilla.

    Asennusohjelmasta tuli saada mahdollisimman helppokäyttöinen, pitkälle automatisoitu ja helposti ylläpidettävä. Tärkein tehtävä oli saada valmiiksi ohjelman toimiva runko, jonka avulla perusasennuksen voi suorittaa. Tämän jälkeen projektin tulisi keskittyä kaikkien eri asennusvaihtoehtojen toteuttamiseen ja tutkia Event Organizer Clientin asennusmahdollisuuksia verkkojen kautta. Lopuksi, jos aika olisi antanut myöten, oli tarkoitus rakentaa asennusohjelman yhteydessä toimiva asennusta esittelevä demo Demo Shield –ohjelmistolla.

    Projektin tavoitteet toteutuivat hyvin. Asennusohjelman toimiva runko saatiin valmiiksi hieman sovittua aikataulua jäljessä. Sen jälkeen ohjelmaa on jatkokehitetty lähes valmiiksi asti ja saatu se erittäin helppokäyttöiseksi ja mahdollisimman automatisoiduksi. Demon toteuttaminen Demo Shield –ohjelmistolla jäi projektista pois ajan loppumisen takia.

      

  5. Projektin selkiytyminen
  6. Projektin alussa tavoitteiden toteuttamisen vaativuudesta ei ryhmällä ollut oikein selkeää kuvaa. Kenelläkään ryhmän jäsenistä ei ollut aikaisempaa kokemusta Oraclen tai Install Shieldin tuotteista. Esisuunnitelman laatimisen jälkeen asiat näyttivät selkiytyvän dialogien laatimisen myötä, kunnes ryhdyimme selvittämään tietokantapalvelimen asennusta ja erityisesti Oraclen osuutta siihen. Ilman Relatechin hyvää asiantuntemusta ja hyviä ohjeita Oracle -osuus olisi ollut erittäin vaikea, jollei jopa mahdoton, toteuttaa projektin puitteissa. Projektin puolessa välissä Relatechin vaatimukset ja niiden täyttämiseen vaadittavat resurssit alkoivat olemaan aika hyvin selvillä.

  7. Käytännön toteutus
  8. Relatech Oy:n pyynnöstä asennusohjelman toimiva runko-osa toteutettiin mahdollisimman nopeasti. Tässä vaiheessa kaikki projektilaiset työskentelivät yhdessä samojen ongelmien kanssa.

    Toisessa vaiheessa, rungon valmistuttua, ohjelma jakautui selkeästi paloihin, jotkaolivat Tietokantapalvelimen asennus, www-palvelimen asennus, Event Organizer Client –ohjelman asennus sekä asennusohjelman varsinainen pääohjelma. WWW- palvelimen asennuksen toteutti lähes kokonaisuudessaan Antti Kirjavainen sekä tietokantapalvelimen Marko Riihimäki ja Teemu Katajisto.

  9. Sovelluksen jatkokehittely
  10. Sovelluksen jatkokehittely jää Relatech Oy:n vastuulle. Asennusohjelma on sinänsä melko valmis, mutta koska itse Event Organizerkin on vielä työn alla, ei ollut edes tarkoituksenmukaista yrittää ohjelmasta täysin valmista. Relatech Oy voi halutessaan lisätä ohjelmaan esimerkiksi Event Organizer Clientin asennuksen verkon kautta. Myös ohjelman kääntäminen eri kielille ja graafisten osioden tekeminen jää Relatechille.

     

  11. Vaikeudet ja opitut asiat
  12. Projektiryhmällä oli alusta asti tavoitteena toteuttaa ohjelma suunniteltujen tavoitteiden mukaisesti. Vaikeudet, joita tuntui välillä olevan ylinumeroituva määrä, oli tehty voitettavaksi, ja virheitä metsästettiin usein pikälle iltaan asti.

    Suurimmat vaikeudet projektissa liittyivät Install Shieldiin ja Oracleen. Oraclen tietokannan luonti oli yllättävän vaikeaa, vaikka SQL-lauseet siihen saatiinkin suoraan Relatech Oy:ltä. Samoin palvelimien servicet, joita osattiin pelätä jo alunperinkin, aiheuttivat välillä todella mielenkiintoisia ongelmia. Install Shieldin kanssa ongelmat olivat lähinnä funktioiden toimimattomuus tai toimiminen erilailla kuin ohjeissa mainittiin. Install Shieldin päivityksen myötä nekin ongelmat helpottivat. Toisaalta taas Install Shieldin avustukset olivat esimerkillisiä muihin ohjelmiin verrattuna.

    Projekti kokonaisuudessaan on ollut erittäin opettavainen. Kolmen kuukauden aikana on saanut hyvän käsityksen projektityöskentelystä ja oman alan töistä yleensä. Työn haussa projektin kokemuksin kokemuksista on varmasti pelkkää hyötyä. Tiedon itsenäinen etsiminen, sekä ohjelmointitaidot ja tietämys Oraclesta ovat parantuneet koko projektin ajan.

  13. Henkilökohtaiset kokemukset projektista
  14. Tässä luvussa projektilaiset kuvailevat projektia, sen onnistumista ja suoritettuja tehtäviä.

    1. Teemu Katajisto
    2. Projekti sujui yllättävän hyvin ottaen huomioon sen, ettei kukaan meistä ei aikaisemmin ollut käyttänyt InstallShieldiä eikä Oraclen tuotteita. Alku oli tietenkin hankala, koska asiasta ei pystynyt muodostamaan hyvää kokonaiskuvaa, mutta projektin edetessä asiat selkeytyivät. Relatechin puolelta saatiin riittävästi opastusta vaikeissa asioissa, joka olikin tällaisen projektin onnistumisen kannalta ensisijaisen tärkeää.

      Projektiryhmä toimi mielestäni hyvin ja työnjako oli onnistunut. Näin jälkikäteen ajateltuna parantamisen varaa jäi ainoastaan suunnitteluun, joka tosin kärsi myös siitä, ettei käytetyt työkalut olleet tuttuja. Joitakin aliohjelmia olisi voinut toteuttaa hieman toisin, jolloin ohjelmasta olisi tullut vieläkin yleiskäyttöisempi.

    3. Marko Riihimäki
    4. Suorittamistani opinnoista tämä projekti oli ehdottomasti paras ja opettavaisin opintojakso. Projekti antoi hyvän kuvan siitä, mitä voi tulevaisuudessa odottaa työelämästä ja se myös valmensi sitä varten. Projektiryhmän yhteistyö sujui hyvin ja myös Relatech oli kiitettävällä panoksella mukana koko projektin ajan. Työnjakokin oli hyvä.

      Ohjelman koodaus oli miellyttävä kokemus pienistä ongelmista huolimatta. Suurimman työn aiheutti Oracle ja siinä instanssin luonti. Install Shield oli erittäin helppokäyttöinen ja aikaisempien ohjelmointi harrastusten vuoksi sen oppimiseen ei kulunut ylimääräistä aikaa. Suunnittelujaksot jäivät hieman aiottua lyhyemmiksi, mutta se johtui osittain projektin nopeahkosta luonteesta ja lyhyydestä. Parhaat ideat syntyivät yleensä vasta koodausvaiheessa.

      Kaiken kaikkiaan projekti oli erittäin onnistunut. Tälläisiä opintojaksoja saisi olla ehdottomasti lisää. Tämän jälkeen työelämään siirtyminenkin käy paljon helpommin karttuneen itseluottamuksen myötä.

       

    5. Antti Kirjavainen

    Projekti oli kyllä kaikin puolin positiivinen yllätys. Oppimista riitti koko syksyksi, mutta silti puitteet oli varsinkin toimeksiantajan puolelta järjestetty siten, ettei ahdistusta päässyt tulemaan missään vaiheessa. Puitteet oli myös matematiikan laitoksen puolelta järjestetty niin, että saattoi keskittyä oleelliseen, eli projektin eteenpäinviemiseen. Tähän mennessä selvästi parhaiten organisoitu osio opiskeluani matematiikan laitoksella.

    Myös projektin iteratiivinen rakenne sopi hyvin omaan ajatusmaailmaani. Ainoa negatiivinen puoli projektissa oli koko ajan vähentyvä suunnitelmallisuus. Projektin olisi voinut pitää paremmin kasassa enemmällä suunnittelulla.

    Kokonaisuutena projekti oli minulle hyvin opettavainen ja miellyttävä kokemus. Opin paljon etenkin yritysmaailmasta ja tiedon välityksestä. Tämä projekti varmasti kannustaa tutustumaan työelämään jo mahdollisimman aikaisessa vaiheessa.

     

  15. Projektin aikataulu
  16. Aikataulu toteutui kokonaisuudessaan hyvin. Esisuunnitelmassa sovitut kolme tarkistuspistettä eivät pitäneet täsmälleen paikkaansa, mutta se oli odotettavissa jo aikataulua laadittaessa ja Relatechkin ymmärsi asian. Esisuunnitelmassa mainitut suunnitteluajat jäivät hieman vähemmälle, mutta ne käytettiin tehokkaasti hyödyksi varsinaiseen koodaukseen.

    Viikottainen aikataulu oli seuraava:

    11.09.97 – 14.09.97 	Projektin aiheen saaminen ja siihen tutustuminen.
    15.09.97 – 21.09.97	Projektiin ja Install Shieldiin tutustumista ja koulutusta.
    22.09.97 – 26.09.97	Esisuunnitelman laatimista.
    29.09.97 – 15.10.97	Ensimmäisen vaiheen koodausta. Dokumentointia.
                            Ohjelman runko valmis vain hieman alkuperäisestä 
                            aikataulusta jäljessä.
    20.10.97 – 12.11.97	Ohjelman koodausta ja parantelua. Dokumentointia. 
    13.11.97		Toinen tarkistuspiste. Relatech tyytyvainen ohjelmaan.
    14.11.97 – 09.12.97	Ohjelman koodausta ja viimeistelya. Dokumentointia. 
                            Viimeisen vaiheen esittely. Relatech Oy:llä Event 
                            Organizerin asennus rompulta.
    11.12.97 – 15.11.97	Dokumentointia, kommentointia ja projektiin liittyvien 
                            asiakirjojen tekoa.
    16.12.1997		Projektin loppuesittely.

     

  17. Testaukset
  18. Esisuunnitelmassa laadittu testaussuunnitelma toteutui sellaisenaan. Asennusohjelmaa testattiin koko projektin ajan. Testauksessa olennaista oli, että lähdettiin aina puhtaalta pöydältä. Kokonaisuudessaan testaukseen kului aikamoinen osa koko projektiin kuluneesta ajasta. Windowsin rekisterin muunteluiden ja Oraclen kiemuroiden takia, koneen kovalevy täytyi aina formatoida ja asentaa kaikki ohjelmat uudestaan, jos halusi testata ohjelman toimivuutta luotettavasti. Vanhat arvot koneella olisivat saattaneet auttaa toimimattoman ohjelman toimintaan tai periaattessa toimiva ohjelma ei välttämättä olisi toiminut. Tälläisia ohjelman testauskertoja tuli noin 25 ja jokaiseen kului ainakin 2 tuntia. Jokaisessa kolmessa tarkistuspisteessä myös Relatech Oy testasi ohjelman toimivuuden ja suunnitelman vastaavuuden osaltaan. Jokaisessa testauksessa löytyi aina jotain paranneltavaa ja muutaman kerran asennus meni täysin poskelleen. Jokaisesta asennuksesta kuitenkin opittiin jotain, mutta johtuen testaus kertojen suuresta määrästä, kerralla tehdyt muutokset jäivät pieniksi.

  19. Yhteenveto
  20. Tässä dokumentissa on pyritty melko tarkasti kuvaamaan Jyväskylän yliopiston matematiikan laitoksella syksyllä 1997 suoritetun EVO-työprojektin läpiviemistä. Käsikirja kattaa projektin vaiheiden ja sovelluksen toteutuksen kuvaamisen, ajankäytön sekä ohjeita jatkokehittäjille.

  21. Lähteet

Oracle Documentation Library, Version 7.3, Oracle Corporation, 1996.

Goldwin, Smith & Portfolio: Oracle Pro C/C++ Precompiler, Release 2.2, Oracle Corporation, 1996.

Windows NT Server Resource Guide, Microsoft Press, 1996.

Miettinen, Kaisa, Mäkelä, Marko, Santanen Jukka-Pekka & Tarvainen, Tapani: Tietotekniikan cum laude –työprojektien ohje, syksy 1997.