Tik-76.115 Edistymisraportti

Ryhmä: Hayabusa, Aihe: Monrovia, Vastuu: Juha T. Vainio

Vaihe: T4

Viimeksi päivitetty 2001-03-19 - Juha T. Vainio


Sisällysluettelo

1. Projektin tila
2. Suoritetut tehtävät
3. Käytetyt menetelmät
4. Ongelmat


1. Projektin tila

1.1 Suunnitelmien ja toteuman vertailu

Osa suunnitelluista tehtävistä ja niille suunnitelluista resursseista meni yhteen toteuman kanssa. Tässä läpikäydään sellaiset tehtävät, joissa suunnittelu ja toteuma poikkesivat hieman enemmän. Ensimmäisessä taulukossa on esillä eri tehtäville suunnitellut ja toteutuneet tuntimäärät, toisessa taulukossa ryhmän jäsenille suunnitellut ja heidän tekemänsä tuntimäärät.

Johtuen palautusajankohdasta, kaikkia T4-vaiheen asioita ei vielä ole tehty. Taulukoihin on arvioitu, että jokainen ryhmän jäsen osallistuu tiistaina 2001-03-20 pidettävään viikkopalaveriin sekä perjantaina 2001-03-23 pidettävään katselmukseen. Lisäksi katselmuksen avainhenkilöille on laskettu katselmukseen valmistautumiseen aikaa.

TehtäväToteumaSuunniteltu Syy poikkeamaan
Toiminnallisen määrittelyn muokkaus04 Ei tullut tarvetta viilata toiminnallista määrittelyä enää
Asiakasohjelmiston koodin optimointi215 UDP:n täydellinen toimimattomuus Palmin virtuaalikoneessa aiheutti paljon lisätyötä
NPC- ja PC-hahmojen koodaus325 Örkkien tekoäly ja käyttäytyminen tehtiin vaatimustasoa paremmaksi
Pelin yksityiskohtien koodaus06 Mitään sen kummempia yksityiskohtia ei peliin tehty, panostettiin enemmän örkkien toimintaan
Palvelimen ylläpidettävyyden hiominen136 Ylläpitojärjestelmän rajapinnan teko oli luultua työläämpi
Protokollan optimointi158 Edellämainittu UDP:n toimimattomuus Palmissa aiheutti lisämuutoksia protokollaan
Testisuunnitelman hiominen15 Testisuunnitelma oli jo viime vaiheen pohjalta erinomainen
Funktionaalinen testaus127 Testauspäällikkö kehitti paljon testicaseja, joiden testaukseen vierähti aikaa
Testausraportin kirjoitus146 Testicasejen lukumäärästä johtuen myös raportin kirjoitus vei enemmän aikaa
Burana-raporttien toteutus27 Buranan käyttö on niin nopeaa, että tunnit on yleensä tullut merkittyä testauksen tai koodauksen yhteyteen
WWW-sivujen päivitys 05 Oskarin ollessa sairaana hän ei pystynyt päivittämään WWW-sivuja
Pelidatan luonti 51 Pelidataa tarvittiin tässä vaiheessa enemmän kuin osattiin odottaa
Dokumenttien oikoluku 37 Oskarin ollessa sairaana hän ei ehtinyt suorittamaan paljon oikolukemista

Seuraavassa taulukossa on ryhmän jäsenten tunnit PS-, T1-, T2-, T3- ja T4-vaiheissa, muodossa "toteuma / suunniteltu".

Ryhmän jäsenPS-vaiheT1-vaiheT2-vaihe T3-vaiheT4-vaihe Kommentti
Juha T. Vainio54 / 6038 / 3231 / 31 37 / 3045 / 36 Pientä ylimääräistä työtä ilmeni Oskarin sairastellessa
Oskari Mertalo13,5 / 4015 / 3716 / 38 37 / 4013 / 32 Oskari on ollut sairaana, eikä ole päässyt tekemään niin paljon töitä kuin olisi pitänyt
Anssi Kanninen16,5 / 2020 / 4069 / 40 67 / 4146 / 28 Lisätyötä aiheutti Palmin UDP-protokollan täydellinen toimimattomuus
Christian Jalio30 / 2041 / 4021 / 36 60 / 3833 / 26 Lisätyötä aiheutti Palmin UDP-protokollan täydellinen toimimattomuus
Joni Pajarinen18 / 2035 / 4120 / 37 32 / 4053 / 26 Vaatimustason reilusti ylittävä itse peli on Jonin raadannan tulos. Joni on voittanut itselleen takaisin ryhmän työmyyrä -tittelin.
Ilpo Nyyssönen16,5 / 2026 / 4025 / 37 50 / 4232 / 27 Mainiota ja laadukasta toimintaa palvelimen ja ylläpidon parantamiseksi
Jarmo Mäki20 / 2016 / 4035 / 41 51,5 / 4130 / 27 Testaus on sujunut ja tuottanut tulosta

1.2 Koodin määrä, projektin etenemisen seuranta

Koodin määrän seuraaminen on perinteisiä projektin edistymiseen liittyviä mittareita. Kun asiaa tarkemmin miettii, koodirivien määrästä ei kuitenkaan selviä juuri mitään. Jos koodirivien määrä kasvaa, voi projektipäällikkö vetää johtopäätöksen, että koodia on kirjoitettu, ts. joku on tehnyt jotakin. Tämä on tietysti hyvä asia, mutta informaatio on kuitenkin lähellä nollaa.

Hayabusa-ryhmässä projektin etenemistä on seurattu jokaviikkoisissa viikkopalavereissa, joissa kaikilta jäseniltä on kysytty erikseen projektin senhetkistä tilaa. Näin saadaan selville kovaa tietoa esim. ohjelmiston funktionaalisesta tasosta ja vaatimusmäärittelyn vaatimusten täyttymisestä. Tietoa, jota voi jo käyttää projektin tilan kuvaukseen, aikataulun muokkaamiseen ja projektin suunnan yleiseen kehittämiseen.

Koodirivien määrä:

Dokumentaation rivimäärä tässä vaiheessa: 6681 riviä

1.3 Asiakasyhteistyö

Yhteistyö asiakkaan kanssa on jatkunut edelleen hyvin. Vaiheen T4 aikana on suunnitelmien mukaan pidetty tällä kertaa vain yksi asiakaspalaveri. Vaiheen alussa katsottiin, että vaiheen tavoitteet ovat sen verran selvät, että riittää kun palaveri pidetään vain vaiheen loppupuolella.

Asiakaspalaverissa käytiin läpi tässä vaiheessa muutellut dokumentit ja tehty työ. Erityisesti ylläpitäjän käyttöohjetta käytiin läpi sen ollessa asiakkaalle erittäin olennainen. Saatu palaute on otettu huomioon ja ylläpitäjän käyttöohje on hyvällä mallilla. Asiakaspalaverin yhteydessä järjestettiin lisäksi järjestelmän demonstraatiotilaisuus, jossa pelin kulkua esiteltiin. Samalla projekti esiteltiin MGine Technologiesin toimitusjohtajalle.

2. Suoritetut tehtävät

T4-vaiheen alussa määritetyt päätavoitteet olivat:

T4-vaihe oli ajateltu alunperin lepovaiheeksi, jossa oli tarkoitus tehdä hieman vähemmän työtä ja latautua loppupinnistystä varten. Tämä ei kuitenkaan toteutunut, vaan työn mielekkyys ja oma ylpeys ajoi ryhmän jäsenet jälleen tekemään vaatimukset ylittävää työtä.

Edellisessä vaiheessa esitelty suurin riski, Palmin tehojen riittämättömyys, kyettiin välttämään optimoinnilla ja riskin tiedostamisella. Asiakasohjelmisto toimii nyt aidossa Palmissa yhtä hyvin kuin emulaattorissakin. Asiakasohjelmiston kuvaus ilmenee Teknisen Määrittelyn moduliosiosta.

Sen sijaan ongelmilta Palmin suhteen ei vältytty kokonaan. Asiakas- ja palvelinohjelmistojen välillä käytettävässä protokollassa käytetään TCP:n lisäksi myös UDP-protokollaa. UDP-tuki Palmissa on jäänyt ilmeisesti heikommalle testaukselle, koska se aiheutti koko Palm-käyttöjärjestelmän kaatumisen, eikä sitä täten voinut käyttää.

Ongelma korjattiin muokkaamalla protokollaa siten, että voidaan käyttää joko alunperin ajateltua TCP-UDP-yhdistelmää (jos Palm joskus saadaan kuntoon), tai pelkkää TCP:tä, riippuen asiakasohjelmiston pyynnöstä. Protokollaan tehdyt muutokset ilmenevät Teknisen Määrittelyn arkkitehtuuriosiosta.

Palvelimen ylläpidettävyydestä on pidetty huolta palvelinohjelmiston kätevällä paketoinnilla ja ylläpitotyökalun kehittämisellä. Palvelin voidaan nyt asentaa helposti paketti purkamalla ja konfigurointia mahdollisesti säätämällä. Ylläpitotyökalulla hoituu tässä vaiheessa palvelimen käynnistys, alasajo, sekä pelaajien lisäys ja poisto. Palvelimen yksityiskohdat selviävät Teknisen Määrittelyn moduliosiosta.

Ylläpitäjän käyttöohje saatiin valmiiksi. Siitä selviää ohjeet Monrovia-palvelimen asennukseen ja ylläpitoon. Palvelinpaketin sisältö, konfigurointi ja ylläpitotyökalun käyttö ovat selkeästi kuvatut. Ylläpitäjän käyttöohje sijaitsee tämän linkin takana.

Mielekäs peli on toteutettu lisäämällä erityisiä kiinnostusta herättäviä elementtejä peliin. Pelissä on nyt jokaisella pelaajalla kunnolliset stat-tiedot, jotka kehittyvät pelin aikana. Pelissä on lisäksi tulimuurahaisia, jotka hyökkäävät pelaajien kimppuun ja joiden tappamisesta saa kokemusta. Uutena hahmona tulimuurahaisten lisäksi myös lauhkea, mutta kovasti uhoava ruma örkki. Mielekkyyttä peliin lisää myös areenoilta toisille siirtyminen ja näin pelialueen laajentuminen.

Kuten kuuluu käyttämämme USDP-menetelmän iteratiiviseen ja interaktiiviseen luonteeseen, on koko järjestelmä testattu testaussuunnitelman mukaisesti. Testauksesta on kirjoitettu testausraportti, josta ilmenevät test caset ja niiden suoritus, sanallinen kuvaus ja tuliko testi läpäistyä vai ei. Tämän linkin takana on Testaussuunnitelma, tämän taas Testausraportti.

Projektisuunnitelmaan on lisätty seuraavan vaiheen tavoitteet ja tiedot edellisestä vaiheesta. Lisäksi riskienhallintaa on tarkastettu.

3. Käytetyt menetelmät

T4-vaiheen aikana jatkettiin UML:n käyttöä luokkakaavioiden tekemisessä tekniseen määrittelyyn. UML-kaavioiden tekemiseen käytettiin kurssin puolelta tuettua Rational Rose -ohjelmistoa.

Projekti etenee edelleen USDP:n periaatteita käyttäen, joten edellisten vaiheiden dokumentteja on iteroitu ja inkrementoitu edelleen. Ohjelmistossa on tehty toinen suurempi inkrementti, joka on käynyt läpi USDP-prosessin vaiheet suunnittelusta koodauksen kautta testaukseen.

Riskit-riskisuunnitelmaa tarkistettiin jälleen ja siitä poistettiin kaikki riskit, jotka eivät enää voi toteutua. Tällä hetkellä projektin onnistumista ei enää voi estää mikään, suurimmat riskit liittyvät onnistumisen tasoon. Esim. avainhenkilön sairastuminen saattaa pudottaa tason "loistavasta onnistumisesta" "hyvään onnistumiseen".

4. Ongelmat

Vaiheen aikana ongelmia aiheutti Oskarin jatkuva sairastelu, joka oli alkanut jo viime vaiheessa. Vaikka Oskari ei ehkä projektin avainhenkilöihin kuulukaan, hänen poissaolonsa lisäsi muiden ryhmäläisten työmäärää. Esimerkiksi ylläpitäjän käyttöohjeen teko jouduttiin siirtämään Oskarilta projektipäällikön harteille. Testauspanos jäi Oskarilta jälleen hyvin vähäiseksi, mutta onneksi muut testaajat hoitivat testauksen hyvin.

Muita ongelmia ei vaiheen aikana ole ollut. Tiukka aikataulutus ja projektin onnistunut seuranta ovat edelleen pitäneet ajankäyttöongelmat poissa.