Tik-76.115 Projektisuunnitelma

http://www.niksula.cs.hut.fi/ohtpss/public_html/ps/projektis.html

PSS-Java:


Sisällysluettelo

1. Johdanto
2. Projektin vaiheistus
3. Resurssi- ja aikasuunnitelma
4. Työmenetelmät ja työnjako
5. Ohjaussunnitelma
6. Järjestelmäsuunnittelun työsuunnitelma
7. Prototyyppivaiheen työsuunnitelma
8. Lopullisen toteutuksen työsuunnitelma

1. Johdanto

1.1 Yleiskuvaus projektista

TKO-laboratoriossa käynnissä olevassa Software Workmate-hankkeessa kehitetään menetelmiä ja välineitä ohjelmistoprosessien mallintamista ja tukemista varten. Keskeinen osa järjestelmää on ns. prosessikone PSS (Process Support System), joka on toteutettu HAPRO-tutkimusprojektissa vuoden 1995 aikana. Prosessikone on verkossa sijaitseva keskitetty palvelu prosessien tilatietojen tallentamista varten.

Prosessikoneen perusajatuksena on, että ohjelmistoprosessi pyritään mallintamaan riittävän tarkasti kolmen olioluokan, aktiviteettien, agenttien ja artifaktojen ja niiden välisten suhteiden avulla.


Kuva 1. Käsitemalli [AlLaSu]

Kuva 1. esittää näitä prosessikoneen peruselementtejä :

Suorakulmiot ovat olioluokkia. Luokkien väliset riippuvuudet on kuvattu viivoilla. Kullakin luokalla on riippuvuussuhde itseensä ja kumpaankin toiseen luokkaan. Suorakulmiot, joilla on pyöristetyt kulmat esittävät aktiviteetteihin ja artifaktoihin liitettyä tilakonetta FSM (Finite State Machine), jolla kuvataan näden olioiden senhetkinen tila. Tilakone esitetään tilojen, tilasiirtymien ja tapahtumien avulla. Lisäksi tilakoneeseen liittyy tilasiirtymäehto, joka toteutuessaan yhdessä tapahtuman kanssa muuttaa artifaktaan tai aktiviteettiin liittyvän tilatiedon.

Aktiviteettiin liittyy yksi tai useampi agentti tietyn roolin välityksellä. Aktiviteeteilla voi olla aliaktivitetteja. Artifaktoilla voi olla komponentteja, joista se koostuu. Näistä muodostuu lopulta puumaisia hierarkisia rakenteita.

Kuva 2. Ohjelmistokehityksen tukijärjestelmän arkkitehtuuri[AlLaSu]

Kaikkiin prosessikoneen olioihin liittyy ACL (Access Control List), joka koostuu yhdestä entrystä, jossa on lista jäsenistä, agenteista ja ryhmistä, joilla on määrätyt käyttöoikeudet näihin olioihin.

Järjestelmän arkkitehtuuri koostuu pääosin seuraavista elementeistä:

1.2. Projektin tavoite

Projektin tavoitteena on suunnitella ja toteuttaa monipuolinen ja helppokäyttöinen prosessitukipalveluiden järjestelmähallintatyökalu. Käyttöliittymä luodaan palvelemaan järjestelmän ylläpitäjiä. Asiakassovellus tehdään eri projektina.

Ohjelmisto toteutetaan Java-ohjelmointikielellä ja sen on tarkoitus toimia applettina kaikissa niissä käyttöympäristöissä, jotka tukevat Java-browseria. Koska prosessikoneen rajapinta on määritelty IDL:n avulla, se käännetään ensin Black Widown idl2java-ohjelmiston avulla Java-kielelle, jonka päälle itse käyttöliittymä rakennetaan.

Toteutettava työkalu on väline, jolla lisätään/muutetaan/poistetaan agentteja, ryhmiä ja rooleja. Sillä voidaan myös tarkastella projekteja ja niihin liityviä aktiviteetteja ja artifaktoja sekä käsitellä ryhmään tai rooliin liittyviä agentteja. Käyttöliittymän avulla käsitellään myös kaikkiin edellämainittuihin olioihin liittyviä ACL-entryjä. Nämä sisältävät listan agenteista ja ryhmistä, joilla on tietyt oikeudet kyseiseen olioon.

Aktiviteetteihin ja artefaktoihin liittyy yksi tai useampia tilakoneita FSM (Finite State Machine), joiden avulla kuvataan näiden olioiden tilaa, ja mahdollisia tiloja sekä tilasiirtymiä. Käyttöliittymän avulla voidaan näitä tilakoneita luoda, muokata ja poistaa sekä liittää niitä edellä mainittuihin olioihin.

Toteutettava järjestelmähallintatyökalu tarjoaa asiakkaalle seuraavat palvelut:

PSS-java sisältää myös CallBackServerin, joka välittää ikkunalle tiedot muutoksista, joita on tehty ko. ikkunan käytössa olevaan olioon PSS-Serverilla. CallBackServer -olio luodaan heti kun PSS-java -clientti on käynnistetty.

Käyttöliittymätoiminnot on kuvattu tarkemmin raportissa Toiminnallinen määrittely, joka löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/js/toiminmaar.htm

Käyttöliittymän toteutusmalli on esitetty tarkemmin raportissa Toteutusmäärittely, joka löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/js/toteutusm.htm

1.3. Projektiryhmä

Projektiryhmään kuuluvat kiinteästi alla luetellut henkilöt.
Ryhmän sähköpostitunnus on ohtpss@cc.hut.fi

Rooli: Asiakas
Nimi: Casper Lassenius
Osoite: huone U406B
Puhelin: 451 2189
Email: Casper.Lassenius@hut.fi

Rooli: Ohjaaja
Nimi: Kai Risku
Osoite: huone U406B
Puhelin: 451 2888
Email: krisku@tf.hut.fi

Rooli: Projektipäällikkö
Nimi: Bjarne Ekman
Osoite: Patolantie 10 As 12, 00640 Helsinki
Puhelin: 90-7287578
Email: Bjarne.Ekman@hut.fi

Rooli: Toteuttaja / Käyttöliittymävastaava
Nimi: Seppo Karhumäki
Osoite: Kytökatu 14 A3, 15230 Lahti
Puhelin: 940-5501772, (Lahti) 918 - 7304291
Email: Seppo.Karhumäki@hut.fi

Rooli: Toteuttaja / CORBA - vastaava
Nimi: Jouni Valli
Osoite: Nurmilinnuntie 2 B 6, 02620 Espoo
Puhelin: 90 - 5102528
Email: jouniv@cc.hut.fi

Rooli: Toteuttaja / sovellusvastaava / WWW - vastaava
Nimi: Ullamaija Nenonen
Osoite: Isokalliontie 2 A, 05200 Rajamäki
Puhelin: 90 - 2901469
Email: umanen@cc.hut.fi

Rooli: Toteuttaja /raporttivastaava
Nimi: Tarja Mäkelä
Osoite: Talvikkitie 51 C 23, 01300 Vantaa
Puhelin: 90 - 8735980
Email: tpmakela@cc.hut.fi

 

2. Projektin vaiheistus

Kuva 3. Tärkeimmät tehtävät

2.1. Projektisuunnittelu (3.6 - 17.6)

Perustetaan projektiryhmä ja organisoidaan toiminta. Perehdytään tehtävään ja tutustutaan olemassaolevaan dokumentaatioon prosessikoneesta ja CORBA:n arkkitehtuurista. Selvitetään asiakkaan vaatimukset käyttöliittymälle ja nykyiseen järjestelmään.Tutustutaan Sun Solaris -työympäristöön ja Java-kääntäjään sekä Black Widow -rajapintaan.

Raportit:

  • Projektisuunnitelma
  • Järjestelmäsuunnittelun työsuunnitelma
  • 2.2. Järjestelmäsuunnittelu ( 17.6 - 3.7 )

    Määritellään käyttöliittymän näkyvät toiminnot ja tekniset ratkaisut. Perehdytään Java-ohjelmointiin, Black Widow:n arkkitehtuuriin sekä Orbeline Corba-järjestelmään. Suunnitellaan modulien tietorakenteet ja virhetilanteiden käsittelymoodit. Laaditaan testaussuunnitelma.

    Raportit:

  • Toiminnallinen määrittely
  • Toteutusmäärittely
  • Päivitetty projektisuunnitelma
  • Edistymisraportti
  • Testaussuunnitelma
  • 2.3. Prototyypin toteutus ( 3.7 - 5.8 )

    Ohjelmoidaan käyttöliittymän keskeisiä osia ja testataan niiden toimintaa. Demonstroidaan asiakkaalle prototyyppi. Päivitetään projektisuunnitelma ja järjestelmäsuunnitelma.

    Raportit:

  • Tarkennettu toiminnallinen määrittely
  • Tarkennettu toteutusmäärittely
  • Tarkennettu testaussuunnitelma
  • Testiraportti
  • Käyttöohje
  • Päivitetty projektisuunnitelma
  • Edistymisraportti
  • 2.4. Lopullinen toteutus (5.8 - 16.9 )

    Toteutetaan puuttuvat järjestelmäosat ja testataan niiden toimintaa. Valmistellaan demonstraatio asiakkaalle ja tuotetaan testiaineisto. Laaditaan loppuraportti ja laaditaan arviointi työstä ja kurssista.

    Raportit:

  • Tarkennettu toiminnallinen määrittely
  • Tarkennettu toteutusmäärittely
  • Tarkennettu testaussuunnitelma
  • Testiraportti
  • Tarkennettu käyttöohje
  • Ylläpito-ohje
  • Projektin loppuraportti
  • 2.5. Jälkihoito

    Testausvaiheen aikana kartoitetaan toteutuksen ulkopuolelle jätettyjen toimintojen tarpeellisuus sekä mahdolliset korjaus- ja parannusehdotukset toteutettuun ohjelmaan. Muutostarpeet ja lisäykset listataan ja liitetään raportteihin.

    Koska ryhmä ei todennäköisesti osallistu ohjelman jatkokehitykseen laaditaan projektiin liittyvät raportit ja koodin dokumentointi helppolukuisesti ja riittävän tarkasti.

    3. Resurssi- ja aikasuunnitelma

    3.1. Koko projekti

    Projekti toteutetaan Tik-76.115 Ohjelmatyö-kurssin harjoitusttyönä. Kurssi on 5 ov, joten projektiin käytettävä kokonaistuntimäärä ryhmän osalta on 5x5x40h = 1000 h. Alustavasti arvioiden em. tuntimäärä ei tule riittämään, joten ryhmä on varautunut käyttämään projektiin enemmän aikaa. Ryhmä työskentelee aluksi viikottain n.30-40h, mikäli tuloksiin päästään suunnitelmien mukaan harkitaan heinäkuun aikana mahdollista lomajaksoa.

    Käytetyt lyhenteet:

    Bjarne Ekman (BE)
    Seppo Karhumäki (SK)
    Tarja Mäkelä (TM)
    Ullamaija Nenonen (UN)
    Jouni Valli (JV)

    BESKTMUNJVYhteensä
    PS4646464640224
    JS8087767683402
    PT120120120120120600
    LT100100100100100500
    Yhteensä3463533423423431726

    3.2. Projektisuunnittelu

    BESKTMUNJVYhteensäToteutunutYlitysVastuuhenkilö
    Projektin perustaminen ja toiminnan organisointi222221019+9BE
    Alustava projektisuunnitelma161616163678114BE
    Tehtävän analysointi ja tavoitteiden kartoitus8822828313JV
    Työkalujen valinta111116203717JV
    JS-työsuunnitelman laatiminen44884284-24UN
    Projektisuunnitelman täsmennys8810703315-18UN
    Viikkopalaverit444442014-6BE
    Asiakaspalaverit222221016+6BE
    WWW-ylläpito1114182113 UN
    Tunnit yhteensä4646464640224   

    3.3. Järjestelmäsuunnittelu

    BESKTMUNJVYhteensäToteutunutYlitysVastuuhenkilö
    Javan opiskelu 32403232814486-58 
    Black Widow, Corba opiskelu0000323227-5 
    Sisäinen koulutus888884016-24SK
    Käyttöliittymätoiminnot2061202038+18UN
    Käyttöliittymäikkunoiden määrittely280001015+5SK
    PSS-ohjelmointirajapinnan selvitys0000181834+16JV
    OMT - kaaviot420 44032 3-29 SK
    Virheiden kartoitus00408129-3JV
    Testaussuunnitelma62000880BE
    Raportit2010001226+14TN
    Projektin seuranta1400001424+10BE
    Projektisuunnitelman täydentäminen21441128-4UN
    Viikkopalaverit444442026+6BE
    Asiakaspalaverit444442016-4BE
    WWW-ylläpito00080812+4UN
    Tunnit yhteensä8087767683402348-54 

    3.4. Prototyypin toteutus

    BESKTMUNJVYhteensäToteutunutErotusVastuuhenkilö
    Ohjelmointi (Projektit/ artifaktat/aktiviteetit/tilat) 45   4540-5SK
    Ohjelmointi (Agentit)74    7420-54BE/SK
    Ohjelmointi (Ryhmät/roolit)  64  6455-9TM/SK
    Ohjelmointi (ACL)    60 6043-17UN/SK
    Ohjelmointi (FSM) 45    4540-5UN/SK
    Ohjelmointi (Callback)    8686241155JV
    muu      3838 
    Testaus (Projektit/ artifaktat/aktiviteetit/tilat)16    16 -16BE
    Testaus (Agentit)  16  168-8TM/BE
    Testaus (Ryhmät/roolit)   16 164-12UN/BE
    Testaus (ACL) 16   164-12SK/BE
    Testaus (FSM)    1616 -16JV/BE
    Testaus (Callback)  88 163317Kaikki/BE
    Opiskelu,luennot      4444 
    Prototyypin demonstraation valmistelu888884016-24SK
    Raportit201600182810TM
    Projektin seuranta1202201610-6BE
    Projektisuunnitelman täydentäminen0004488-4UN
    Viikkopalaverit444442020 BE
    Asiakaspalaverit2222210 -10BE
    WWW-ylläpito200160186-12UN
    Tunnit yhteensä12012012012012060065858 

    Ylijäämän siirrämme lopulliseen toteutukseen.

    3.5. Lopullinen toteutus

    BESKTMUNJVYhteensäToteutunutErotusVastuuhenkilö
    Ohjelmointi (Projektit/ artifaktat/aktiviteetit/tilat) 30   30  SK
    Ohjelmointi (agentit/ryhmät/roolit)  50  50  TM/SK
    Ohjelmointi (ACL)    32 32  UN/SK
    Ohjelmointi (FSM) 30   30  SK
    Ohjelmointi (Callback)4014141486168  JV+BE
              
    Testaus (Projektit/ artifaktat/aktiviteetit/tilat)12    12  BE
    Testaus (agentit/ryhmät/roolit)   18 18  UN/BE
    Testaus (ACL) 4   4  SK/BE
    Testaus (FSM)    44  JV/BE
    Testaus (Callback)16444 28  Kaikki/BE
              
    Demonstraation valmistelu ja toteutus101022226  SK
    Raportit401510029  TM
    Käyttöohje  74 11  UN
    Projektin seuranta800008  BE
    Projektisuunnitelman täydentäminen2222210  UN
    Viikkopalaverit4444420  BE
    Asiakaspalaverit2222210  BE
    WWW-ylläpito2008010  UN
    Tunnit yhteensä100100100100100500   

    3.6. Koko projektin aikataulu

    Kuva 4. Projektin aikataulu

    3.7. Kustannusarvio

    Kustannusarvio perustuu tuntiveloitukseen, jossa projektipäällikön tuntiveloitus on 300mk/h ja suunnittelijoiden 250 mk/h. Kustannukset työvaiheittain ovat seuraavat:

    projektisuunnittelu46hx300 mk+178hx250 mk58.300 mk
    järjestelmäsuunnittelu80hx300 mk+320hx250 mk104.000 mk
    prototyypin toteutus120hx300 mk+480hx250 mk156.000 mk
    lopullinen toteutus40hx300 mk+160hx250 mk52.000 mk
    _____________________________________________________________
    yhteensä 370.300 mk

    4. Työmenetelmät ja työnjako

    4.1. Työkalut ja laitteistot

    Tarvittavat laitteistot ja työkalut on tilaaja osoittanut projektiryhmän käyttöön.

    Työympäristö:


    Työkalut:

    4.2. Dokumentointimenetelmät

    Kaikista viikkopalavereista kirjoitetaan muistio, joka tallennetaan yhteiseen hakemistoon, myös asiakaspalavereista laaditaan muistio ryhmän käyttöön. Muistiovastaavana toimii Tarja Mäkelä.

    Kaikki ohjelmatyöhön liittyvät raportit tulevat näkymään ryhmän WWW-kotisivulla http://www.niksula.cs.hut.fi/ohtpss/

    Ohjelmakoodin hyvään kommentointiin pitää kiinnittää erityistä huomiota, koska ohjelmakoodikin luovutetaan asiakkaan käyttöön.

    Ohjelmatiedostojen tyyliohje:
    Esimerkki ohjelmakoodin ulkoasusta:
    //*****************************************************
    // TIEDOSTO.NIMI    PSS-JAVA  
    //
    // Author:          Teppo Tekijä
    // Description:     Luokka kuvaa ohjelmakoodin ulkoasun
    // Remarks:         Käytetään Sun Solaris-ympäristössä
    //                  käyttää pe.idl määrittelyjä
    // Date:            14.6.1996
    // Revision hist:   17.6.1996 TT lisätty MalliLuokka
    // $ID:             PSS-JAVA, V1.XX 1996/06/17 14:00:00
                        käyttäjätunnus $
    //*****************************************************
    
    	.
    	.
    	.
    
    
    //*****************************************************
    // class 
    //
    // Description ...
    //*****************************************************
    
    public class MalliLuokka
    {
    
      //***************************************************
      // functio 
      //
      // Kuvaus funktion tehtävästä
      //***************************************************
      public void funktio()
      {
        _apuMuuttuja = toinenMuuttuja; // Kommentteja ...
      }
    
    	.
    	.
    	.
    
    }
    
    

    4.3. Työmenetelmät

    Ryhmä kokoontuu tiistaisin klo 9.00 palaveriin, jossa todetaan työn edistyminen ja käydään läpi tulevat työtehtävät. Hyvän laadun takaamiseksi kaikki dokumentoitava aineisto hyväksytetään aina ensin projektipäälliköllä ja sen jälkeen ohjaajalla ennen asiakkaalle esittämistä.

    4.4. Riskien hallinta

    Riskianalyysi

    Riskianalyysissä kartoitettiin mitä riskejä projektilla on. Totesimme kahdeksan mahdollista riskitekijää, joille arvioimme vakavuusasteen (M) ja todennäköisyyden (P) (skaala 0...10), jolla ko. riski aiheuttaa projektin lopettamisen. Näin saatiin jokaiselle riskitekijälle kokonaisvaikutus (RE), RE = M * P.

    Seuraavassa riskit, M * P = RE :

    Java-ohjelmointi kokemattomuus 3*2=6
    Asiakkaan ACL kesken 1*1=1
    Aikataulun kireys2*1=2
    Laitteisto-ongelmat5*2=10
    Asiakas keskeyttää projektin10*0=0
    Määrittelymuutokset8*1,5=12
    Ohjelmarakenteen heikkous7*1,5=10,5
    Ryhmän jäsen päättää proj.6*1,5=9

    Riskien pienentäminen:

    4.5. Jäsenten roolit ja tehtävänjako

    Jäsenten vastuualueet on tarkemmin määritelty kohdassa 3.

    4.6. Virheiden seuranta ja kirjaaminen

    Jokainen ryhmän jäsen tarkkailee virheitä ja kirjaa havaitsemansa virheet virhe tiedostoon. Virhekirjaus suoritetaan välittömästi havaitsemisen jälkeen. Mikäli virheen havaitsija tietää kenen vastuualueeseen virhe kuuluu voi virheestä keskustella korjaajan kanssa ja pyrkiä demoamaan virhe (varsinkin vakavat virheet).

    Lähdetiedostojemme versionhallinta hoidetaan Solariumissa olevalla Concurrent Versions System -ohjelmalla ( CVS). Virheet kirjataan kurssin ohjaajien käyttöön Jari Vanhalan virheenkirjauslomaketta. Lisäksi ryhmän omaan käyttöön kirjataan virheistä oheisen listan mukaiset asiat:

    4.7. Kirjallisuusviitteet

    [Newman] Alexander Newman: "Using JAVA", Special Edition, Que Corporation, 1996.

    [AlLaSu] Alho,K.,Lassenius,C.,Sulonen,R: "A Uniform Model for Coordinating Software Development Acktivities,TTK:n tietokonelaboratorio, julkaisematon, 1996.

    [CORBA] Corba Architecture and Specification, OMG Document Number 91.12.1, Revision 1.1, Draft 10 Dec 1991, http:// www.omg.org/corba2/cover.htm.

    [IDL] Lassenius,C.,Risku, K: IDL specification for architecture prototype,http://mordor.cs.hut.fi/sw-workmate/hapro/pub_deli/pe-idl.htm

    5. Ohjaussuunnitelma

    5.1. Projektin tilan seuranta

    Projektin edistymistä seurataan viikottain järjestettävissä ryhmän sisäisissä palavereissa, joissa sovitaan seuraavan viikon aikana tehtavistä asioista. Ohjaajan ja asiakkaan kanssa pidetään palavereita tarvittaessa ja aina ennen palautusta. Alustavasti asiakaspalaverit on sovittu pidettäväksi viikottain. Projektiin käytetyt työtunnit kirjataan ylös keskitetysti.

    5.2. Aikataulu

    PSS-Java
    PvmTapahtuma
    3.6.Luento: Yleisesittely, Projektisuunnittelu, Aiheiden esittely
    6.6.Viikkopalaveri
    6.6.Palaveri asiakkaan ja ohjaajan kanssa klo 15.00
    10.6.Ilmoittautumislomakkeen palautus
    13.6.Palaveri asiakkaan ja ohjaajan kanssa klo 15.00
    17.6.Projektisuunnitelman palautus 
    17.6.Luento: Järjestelmäsuunnittelu
    18.6.Viikkopalaveri klo 9.00
    19.6PS-palaveri klo 14.00
    20.6.Palaveri asiakkaan ja ohjaajan kanssa klo 15.00
    25.6.Viikkopalaveri
    27.6.Palaveri asiakkaan ja ohjaajan kanssa klo 15.00
    2.7.Viikkopalaveri klo 9.00
    3.7.JS-vaiheen palautukset klo 14.00
    4.7.Palaveri asiakkaan ja ohjaajan kanssa klo 15.00
    5.7.JS-palaveri
    8.7.Luento: Prototyypin suunnittelu
    9.7.Viikkopalaveri
    11.7.Palaveri asiakkaan ja ohjaajan kanssa
    16.7..Viikkopalaveri
    18.7.Palaveri asiakkaan ja ohjaajan kanssa
    23.7.Viikkopalaveri
    25.7.Palaveri asiakkaan ja ohjaajan kanssa
    30.7.Viikkopalaveri
    1.8.Palaveri asiakkaan ja ohjaajan kanssa
    5.8.PT-vaiheen palautukset 
    5.8.Luento: Lopullinen toteutus
    6.8.Viikkopalaveri
    7.8.PT-demonstraatio
    8.8.Palaveri asiakkaan ja ohjaajan kanssa
    9.9.Luento: Järjestelmän luovutus
    13.8.Viikkopalaveri
    15.8.Palaveri asiakkaan ja ohjaajan kanssa
    20.8.Viikkopalaveri
    22.8.Palaveri asiakkaan ja ohjaajan kanssa
    27.8.Viikkopalaveri
    29.8.Palaveri asiakkaan ja ohjaajan kanssa
    3.9.Viikkopalaveri
    5.9.Palaveri asiakkaan ja ohjaajan kanssa
    10.9.Viikkopalaveri
    12.9.Palaveri asiakkaan ja ohjaajan kanssa
    16.9.LT-vaiheen palautukset
    17.9.Viikkopalaveri
    18.9.Loppudemonstraatio


    6. Järjestelmäsuunnittelun työsuunnitelma

    Ohjelmatyön järjestelmäsuunnitteluvaiheen työsuunnitelma löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/

    Ohjelmatyön järjestelmäsuunnitteluvaiheenvaiheen edistymisraportti löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/

    7. Prototyyppivaiheen työsuunnitelma

    Ohjelmatyön prototyyppivaiheenvaiheen työsuunnitelma löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/

    Ohjelmatyön prototyyppivaiheenvaiheen edistymisraportti löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/

    8. Lopullisen toteutuksen työsuunnitelma

    Ohjelmatyön lopullisen toteutuksen työsuunnitelma löytyy osoitteesta http://www.niksula.cs.hut.fi/ohtpss/