Tik-76.115 Projektisuunnitelma

Tik-76.115 Projektisuunnitelma


Aiheen nimi: TRAKLA-järjestelmän kehittäminen


Sisällysluettelo

1. Johdanto
2. Projektin vaiheistus
3. Resurssi- ja aikasuunnitelma
4. Työmenetelmät ja työnjako
5. Ohjaussuunnitelma

1. Johdanto

1.1 Yleiskuvaus projektista

Aihe-esittely

Projekti on kurssilla Tik-76.115 Ohjelmatyö suoritettava harjoitustehtävä. Projektin aiheena on kurssin Tik-76.122 Tietorakenteet ja algoritmit kotitehtävien jakeluun, palautukseen ja pisteytykseen liittyvän ohjelmiston päivittäminen. Keväällä 1996 kurssilla oli ongelmia aiemmin hyvin toimineen ohjelmiston kanssa. Ainoa muuttunut tekijä oli laiteympäristö: vanhat Sonyt vaihdettiin SiliconGraphicseihin, jotka mitä ilmeisemmin vaativat virheettömämpää koodia. Koodin korjauksen yhteydessä on tarkoitus lisätä ohjelmaan siitä puuttuvia, käyttömukavuutta lisääviä piirteitä.

Nykyjärjestelmä

TRAKLA-järjestelmä koostuu kolmesta osajärjestelmästä.

1.2. Projektin tavoite

Projektin tavoitteena on:

Lisäksi ohjelmiston korjaamisen yhteydessä varaudutaan mahdollisuuksien mukaan siihen, että kotitehtävien jakelu ja palautus siirtyvät WWW:n kautta tehtäviksi. Loppuraportissa esitetään arvio siitä, miten ohjelma on siirrettävissä WWW:hen.

Lopputuloksiin kuuluu tärkeänä osana nykyistä parempi dokumentaatio.

1.3. Projektiryhmä

Projektiryhmään kuuluvat kiinteästi alla luetellut henkilöt. Konsultteina ja asiakkaan edustajina auttavat tarvittaessa kevään 1996 Tik-76.122 Tietorakenteet ja algoritmit -kurssin assistentit Pekka Hippeläinen ja Mikko Kiviharju sekä ensi vuonna kurssista vastaava Lauri Malmi.

Rooli: Asiakas
Nimi: Olli Yli-Harja
Osoite: Y234
Puhelin: 90 - 451 3227
Email: yliharja@cs.hut.fi
Rooli: Ohjaaja
Nimi: Juha Hyvönen
Osoite: Soidintie 12 B 13, 00700 Helsinki
Puhelin: 90 - 347 4793
Email: juha.hyvonen@hut.fi
Rooli: Suunnittelija
Nimi: Irmeli Auvinen
Osoite: Jahtimestarintie 16, 02940 Espoo
Puhelin: 90 - 509 2410
Email: iauvine@cc.hut.fi
Rooli: Suunnitelija
Nimi: Tapio Joutti
Osoite: Meteorinkatu 3 B 28, 02210 Espoo
Puhelin: 90 - 885 258
Email: tjoutti@cc.hut.fi
Rooli: Projektipäällikkö
Nimi: Irja Jokelin
Osoite: Hakaniemenranta 30 A 23, 00530 Helsinki
Puhelin: 90 - 738 206
Email: ijokelin@niksula.hut.fi
Rooli: Suunnittelija
Nimi: Eeva Tikanoja
Osoite: Venuksenkuja 5 B 16, 01480 Vantaa
Puhelin: 90 - 872 7723
Email: tikanoja@cc.hut.fi

2. Projektin vaiheistus

Projektin eteneminen eri vaiheineen on esitetty seuraavassa kaaviossa. Vaiheiden prototyypin toteutus ja lopullisen järjestelmän toteutus osalta lohkokaaviota tarkennetaan kun ko. vaiheiden tehtävät on saatu määriteltyä



 ---------   --------------   -------------   ------------   ---------
 |Aloitus|   |Järjestelmä-|   |Prototyypin|   |Lopullinen|   |Lopetus|
 |       |---|suunnittelu |---|toteutus   |---|toteutus  |---|       |
 ---------   --------------   ------------    ------------   ---------

2.1. Projektisuunnittelu

Tutustutaan olemassa olevaan dokumentaatioon ja järjestelmään karkealla tasolla. Selvitetään suullisesti todennäköisimmät ongelmakohdat resurssien kohdistamiseksi. Tehdään alustava projektisuunnitelma.

2.2. Järjestelmäsuunnittelu

Nykyjärjestelmän analysoinnin ja korjausten toteutuksen suunnittelun osatehtävät sisältävät seuraavat toimenpiteet:

Ohjelmistoon tehdään seuraavat lisäykset:

Vaiheen loppudokumentit ovat korjausten, muutosten ja lisäysten toteutussuunnitelmat, prototyypin testaussuunnitelma, järjestelmäkäsikirjan luonnos, päivitetty projektisuunnitelma sekä edistymisraportti.

Vanhan järjestelmän muutosten selvittäminen ja suunnittelu on suoritettava ennen uusien toimintojen määrittelyä ja toteutussuunnitelmaa.

Järjestelmäsuunnittelun työmääräarviot osatehtävittäin ja sijoittuminen kalenteriin on esitetty kohdassa 3.3 Järjestelmäsuunnittelu 10.6-3.7.1996.

2.3. Prototyypin toteutus

Prototyypin toteutusvaiheessa toteutetaan TRAKLA-järjestelmän uudelleen määritelty tietokanta ja muutetaan muiden osajärjestelmien rajapinnat uuden tiedonhallintaosan mukaiseksi. Tarkistetaan ja korjataan serverin ja tehtävien ohjelmakoodit. Toteutetaan uusista tehtävistä hamming-koodaus ja tehdään muiden uusien piirteiden toteutuksen suunnittelu. Tehdään assitentin käyttöliitymään kuuluva kurssin perustamisen toteutuksen suunnittelu. Suunnitellaan lopullisen järjestelmän testaus sekä korjataan ja laaditaan tarvittavat dokumentit

LOHKOKAAVIO

Prototyypin toteutusvaiheessa suoritetaan seuraavat tehtävät:

Prototyypin toteutuksen työmääräarviot osatehtävittäin ja sijoittuminen kalenteriin on esitetty kohdassa 3.4 Prototyypin toteutus 4.7.1996-5.8.1996.

2.4. Lopullinen toteutus

Tehdään suunnitellut muutokset ja korjaukset. Järjestelmän oikeellisuus todennetaan ja sen dokumentointi hiotaan lopulliseen muotoonsa ja lisäksi suunnitellaan loppudemonstraatio.

Toteutetaan demonstraatio, jossa ennen luovutusta testataan korjatun järjestelmän toiminta.

Laaditaan projektin loppuraportti sekä lopullinen versio järjestelmäkäsikirjasta.

2.5. Jälkihoito

Esitellään mahdolliset projektin jatkosuunnitelmat kurssin päättymisen jälkeen. Jatkosuunnitelmia voisivat olla kurssin muuttaminen WWW:tä käyttäväksi ja kurssin korjauspalvelun myymisen muille oppilaitoksille aiheuttamat muutokset.

3. Resurssi- ja aikasuunnitelma

3.1. Koko projekti

Jokainen ryhmän jäsen on varautunut käyttämään viikoittain 20-30 tuntia projektiin kesä-, heinä- ja elokuun aikana. Kokonaistuntimäärä on siten noin 1200.

Alla olevissa taulukoissa on esitetty kuhunkin työvaiheeseen ja -tehtävään arvio tarvittavista kokonaisresursseista. Prototyyppijärjestelmän ja lopullisen järjestelmän toteutuksen osalta tehtäväkohtaiset aika-arviot täydennetään järjestelmäsuunnittelu-vaiheen aikana. Viikkopalavereihin on laskettu jokaiselle 2 tuntia viikossa.

Käytetyt lyhenteet:

Irmeli Auvinen (IA)
Marjut Honkasalo (MH) (lopettanut 31.5.1996)
Tapio Joutti (TJ) (aloittanut 3.6.1996)
Irja Jokelin (IJ)
Eeva Tikanoja (ET)
IA IJMH/TJETYhteensä
PS2119202181
JS100100100100400
PT90909090360
LT100100100100400
Yhteensä3113093103111241

3.2. Projektisuunnittelu 26.4.1996-29.5.1996

IA IJMH/TJETYhteensäToteutunutErotus
Tehtävän kartoitus756725250
Alustavan projektisuunnitelman teko1414141456560
Yhteensä2119202181810

3.3. Järjestelmäsuunnittelu 10.6.1996-3.7.1996

IA IJTJETYhteensäToteutunutErotus
Projektinhallinta-10--1010-5
Käyttokokemusten kerääminen2222880
Tietokantaratkaisujen selvitys305530709020
Serveriratkaisujen selvitys525554030-10
Tehtävien generoinnin ja tarkastuksen selvitys553054538-7
Harjoittelumoodin lisäys: määrittely ja suunnittelu112--139-4
Automaattinen palaute: määrittely ja suunnittelu-2-11138-4
Uusien tehtävien lisäys: määrittely ja suunnittelu-211-13130
Nykyjärjestelmän korjausten toteutuksen suunnittelu151015155530-25
Prototyypin testauksen suunnittelu10510103522-13
Edistymisraportin teko-5--53-2
Yhteensä100100100100400361-39

Alla olevassa taulukossa tehtävät on sijoitettu taulukkoon, jossa on kuhunkin tehtävään käytetyt tunnit viikoittain.


 
Tehtävät	                    vk 24  vk 25  vk 26	 vk 27
----------------------------------------------------------------
Projektihallinta	                2      2      2	     3
Käyttökokemusten keräys	                4      4		
Tietokantaratkaisujen selvitys	       25     35      5	     5
Serveriratkaisujen selvitys	       15     15      5	     5
Tehtävien selvitys	               20     15      5      5	
Harjoittelumoodin lisäys			     13	
Automaattinen palaute			             13	
Uusien tehtävien lisäys			             13	
Prototyypin testaussuunnitelma			     25     10	
Järjestelmäkäsikirja	                5     15     15     10
Projektisuunnitelman täydentäminen           	      4      4
Edistymisraportin teko                                       5

3.4. Prototyypin toteutus 4.7.1996-5.8.1996

-
IA IJTJETYhteensäToteutunutErotus
Viikkopalaverit666624  
Projektinhallinta-6--6  
Tietokannan käsittelyfunktioiden toteutus582-58118  
Serveri-ohjelmien takastus, korjaus ja muuttaminen-30--30  
Tehtävien generointi-ohjelmien tarkastus, korjaus ja muuttaminen-226-28  
Tehtävien trakastus-ohjelmien tarkastus, korjaus ja muuttaminen-226-28  
Hamming-koodaus-ohjelman toteutus-210-12  
Harjoittelumoodi; toteutuksen suunnittelu62-210  
Automaattinen palaute; toteutuksen suunnittelu22-610  
Muiden uusien tehtävien toteutuksen suunnittelu-24-6  
Assistentin käyttöliittymän korjausten suunnittelu-7--7  
Prototyyppijärjestelmän testaus888832  
Järjestelmäkäsikirjan tarkennus8128836  
Projektisuunnitelman täydentäminen22228  
Edistymisraportin teko-5--5  
Yhteensä90909090360  

Alla olevassa taulukossa tehtävät on sijoitettu taulukkoon, jossa on kuhunkin tehtävään käytetyt tunnit viikoittain.


 
Tehtävät	                    vk 27  vk 28  vk 29	 vk 30 vk 31 
--------------------------------------------------------------------
Projektihallinta	                       1      1	     2     2
Tietokanna käsittelyfunktioiden
toteutus                               10     50     30     28   
Serveriohjelmien tarkastus,
korjaus ja muuttaminen                  5     20      5
Tehtävien generointi-ohjelmat           5     20      3
Tehtävien tarkastus-ohjelmat                   5     20      3	
Hamming-koodaus-ohjelma                                     12
Harjoittelumoodi/suunnittelu                   2      2      2     4	
Automaattinen palalaute/suunnitt.              2      2      2     4	
Uudet tehtävät/suunnittelu                                   4     2
Protyyppijärjestelmän testaus                               16    16
Järjestelmäkäsikirja	                4      4      6      8    14
Projektisuunnitelman täydentäminen                    2      2     4
Edistymisraportin teko                                             3

3.5. Lopullinen toteutus 6.8.1996-16.9.1996

IA IJTJETYhteensäToteutunutErotus
Viikkopalaverit888832  
Projektinhallinta-8--8  
Tietokantaratkaisujen toteutus353-3573  
Serveriratkaisujen toteutus-10--10  
Tehtävien generoinnin ja tarkastuksen toteutus-320-23  
Harjoittelumoodin toteutus203--23  
Automaattisen palautteen toteutus-3-2023  
Uusien tehtävien toteutus-33538   
Assistentin käyttöliittymän toteutus-10--10  
Järjestelmätestaus1515151560  
Demonstraation suunnittelu1010101040  
Järjestelmäkäsikirjan viimeistely1216121252  
Projektin loppuraportin teko-5--5  
Yhteensä100100100100400  

3.6. Kustannusarvio

Kustannusarvion pohjautuu tuntiveloituksiin, joissa projektipäällikön tuntiveloitus on 250 mk/h ja suunnittelijoiden 200 mk/h. Työvaiheittain kustannukset muodostuvat seuraavasti:

   projektisuunnitelma     17 150 mk
   järjestelmäsuunnittelu  85 000 mk
   prototyypin toteutus    76 500 mk
   lopullinen toteutus     85 000 mk
   ---------------------------------
   yhteensä               263 650 mk

Laitteistot ja ohjelmakehitystyökalut ovat jo olemassa, eivätkä aiheuta kustannuksia.

4. Työmenetelmät ja työnjako

4.1. Työkalut ja laitteistot

Käytettävistä työkaluista päätetään järjestelmäsuunnitteluvaiheessa. Ohjelmointikielenä on C ja/tai C++ sekä mahdollisesti jokin tulkkaava kieli. Versionhallintaa varten tutkitaan jonkun versionhallintaohjelmiston käyttöönottoa.

Ohjelmatyö tehdään Niksulan SiliconGraphics-koneissa Unix-ympäristössä. Mahdollisesti ohjelmistoa testataan myös alphoissa.

4.2. Dokumentointimenetelmät

Palautettavat raportit tehdään kurssin mallipohjalle.

Dokumentit kirjoitetaan joko Emacsilla html-helper-moodissa suoraan html-muotoon tai Microsoft Wordilla (versio 6.0), minkä jälkeen se konvertoidaan html-muotoon. Er-kaavio ja tietovirtakaaviot piirretään STP:llä ja muut kaaviot, mikäli mahdollista, CorelDraw 4.0:lla.
Palautettavat dokumentit toimitetaan projektipäällikölle vähintään kaksi päivää ennen lopullista palautusta. Dokumentoinnin kielenä on suomi. Dokumentit julkaistaan WWW-sivuilla.

Projektin sisäiset muistiot, mm. palaverien pöytäkirjat, tallennetaan ryhmän yhteisen ohtrakla-hakemiston muistiot-hakemistoon.

Ohjelmakoodi kommentoidaan hyvin, erityisesti tehtyjen muutosten osalta. Vanhaan koodiin lisätään puuttuvat kommentit. Jokaisen funktion toiminta selostetaan kommentilla.

4.3. Työmenetelmät

Jokainen jäsen merkitsee päivittäin käyttämänsä työtunnit tehtäväkohtaisesti ohtrakla-hakemistossa olevaan tuntiseuranta-hakemistoon. Projektipäällikkö kerää yhteen käytetyt tunnit, vertaa niitä resurssisuunnitelmiin ja raportoi niistä.

Järjestelmäsuunnitteluvaiheen analysoinnin yhteydessä selvitetään vanhan koodin virheet ja raportoidaan ne ohtrakla-hakemiston virhetiedostoon. Toteutusvaiheessa havaitut virheet kirjataan metriikkaohjeen mukaisesti käyttäen siellä esitettyä virhetyyppiluetteloa.

Ryhmän sisäinen tiedonkulku hoidetaan sähköpostitse. Ryhmän yhteinen tunnus on ohtrakla@niksula.hut.fi. Ryhmän jäsenet näkevät toisiaan myös päivittäin, joten tieto kulkee hyvin.

4.4. Riskien hallinta

Korjattavan järjestelmän nykyinen dokumentointi on puutteellista ja vanhentunutta. Tehtyjen muutosten kirjauksista ei ole mitään tietoa. Järjestelmästä puuttuu versiohallinta ja hakemistohierarkia on sekava. Nämä aiheuttavat selvän riskin: ohjelmiston analysoinnin, virheiden havaitsemisen ja korjaustöiden vaatiman ajan arviointi on vaikeaa. Työajan seurannalla pyritään mahdollisimman varhaisessa vaiheessa huomaamaan ajankäyttöön liittyvät ongelmat ja suoritetaan tehtävämäärien uudelleenarviointi ja resurssien allokointi.

Versionhallinnan puutteellisuudesta johtuen riskinä on toimenpiteiden kohdistuminen vääriin ohjelmaversioihin. Oikea tuotantoversio käytettyine tiedostoineen pyritään selvittämään mahdollisimman tarkkaan kurssin Tik-76.122 Tietorakenteet ja algoritmit assistenttien ja Niksulan ylläpidon kanssa. Koko ohjelmisto käännetään ja perustetaan nykyisen järjestelmän testiympäristö tietokantoineen järjestelmän analysointia, korjauksia ja lisäyksiä varten.

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

4.6. Kirjallisuusviitteet

5. Ohjaussuunnitelma

5.1. Projektin tilan seuranta

Ryhmä pitää tiistaisin sisäisen viikkopalaverin, jossa seurataan projektin etenemistä tarkistamalla edellisen viikon työn tulokset. Samalla sovitaan seuraavan viikon aikana tehtävistä asioista. Ohjaajan kanssa pidetään palavereita tarpeen vaatiessa ja aina ennen palautusta.

5.2. Aikataulu