1. Johdanto |
Yhtenä oleellisena osana yhteisön muodostumineen (ja tietysti ihmisen perinteisen kilpailuhengen ylläpitoon/luomiseen) ovat erilaiset rankinlistat ja highscore taulut. Monet ihmiset haluavat tietää miten heidän suoritus suhtautuu muiden ihmisten suorituksiin.
Internetiin on jo syntynyt muutamia tämän tyyppisiä palveluita, mutta näiden toteutuksessa ja suunnittelussa on vielä paljon parannettavaa. Työn tarkoituksena on tuottaa verkkoyhteisöllisyyden syntymistä tukeva järjestelmä.
Työn tarkoituksena on rakentaa yleiskäyttöinen järjestelmä erilaisten haastelistojen ja Highscore listojen toteuttamiseen WWW-ympäristöön. Loppukäyttäjille syntyneen järjestelmän pitää olla mahdollisimman selkeä ja helppokäyttöinen. Ylläpidolle puolestaan järjestelmän pitää olla tehokas ja helppo ylläpitää. Erityyppiset pelit ja tapahtumat vaativat hieman erilaista suhtautumista ongelman asetteluun. Osasta tapahtumista on mahdollista saada absoluuttistaja vertailukelpoista tietoa (pistemäärä) ja toisista tapahtumista puolestaan voidaan saada vain lopputulos (minä voitin).
Projekti liittyy läheisesti erääseen toiseen Telen peliprojektiin. Tämän projektin tarkoituksena onkin tehdä eräänlainen pilottiohjelma, joka voidaan haluttaessa liittää em. toiseen järjestelmään.
Rooli: Asiakas
Nimi: Pirkka Palomäki Puhelin: 02040 2280 Email: pirkka.palomaki@tele.fi Kotisivu: |
Rooli: Ohjaaja
Nimi: Juha Korhonen Puhelin: 02040 2031 Email: juha.p.korhonen@tele.fi Kotisivu: |
Rooli: Projektipäällikkö
Nimi: Jyri Salomaa Puhelin: 050 561 3772 Email: jyri.salomaa@hut.fi Kotisivu: http://www.hut.fi/u/jsalomaa/ |
Rooli: Asiakasvastaava
Nimi: Matti Kanninen Puhelin: 040 528 5516 Email: matti.kanninen@hut.fi Kotisivu: http://www.hut.fi/u/mkannine |
Rooli: Toiminnallinen suunnittelija
Nimi: Jarkko Ansamaa Puhelin: 468 3076 Email: jansamaa@cc.hut.fi Kotisivu: |
Rooli: Ohjelmistosuunnittelija
Nimi: Pekka Summanen Puhelin: 0400 445 594 Email: psummane@cc.hut.fi Kotisivu: |
Rooli: Dokumentointivastaava
Nimi: Veijo Vänttinen Puhelin: 040 521 0550 Email: veijo.vanttinen@hut.fi Kotisivu: |
Rooli: Ohjelmoija
Nimi: Marko Ristola Puhelin: 468 2624 Email: mristola@cc.hut.fi Kotisivu: http://www.hut.fi/u/mristola |
2. Projektin vaiheistus |
Matti Kanninen
Sopii asiakastapaamiset ja käy läpi asiakkaan kanssa projektisuunnitelman
sekä vaatimusmäärittelyn.
Jarkko Ansamaa
Suunnittelee kokouksien kulun ja tekee niistä muistiinpanot. Kirjoittaa
kokouksista lyhyen kuvauksen.
Pekka Summanen
Tekee Veijon kanssa vaatimusmäärittelyn. Määrittelee
käytettävistä työmenetelmistä ne, jotka liittyvät
ohjelmointiin ja versionhallintaan.
Veijo Vänttinen
Vaatimusmäärittelyn tekeminen yhdessä Pekka Summasen
kanssa. Dokumentointimenetelmien määrittäminen.
Marko Ristola
Tekee projektin riskienhallintasuunnitelman
Matti Kanninen
Esitutkimus peleistä. Alustavan käyttöliittymän
suunnittelu sekä sen arviointi.
Jarkko Ansamaa
Esitutkimus peleistä
Pekka Summanen
Esitutkimus case-työkaluista. Toiminnallinen määrittely.
Veijo Vänttinen
Esitutkimus case-työkaluista. Vaatimusmäärittelyn mukaisen
määrittelytyön varmistaminen.
Marko Ristola
Esitutkimus peleistä. Käyttöliittymän toimintojen
määrittely. Riskien hallinta ja raportointi.
Matti Kanninen
Osallistuu suunnitteluun erityisesti WWW-tekniikoiden ja käyttöliittymän
osalta. Teknisen määrittelyn kirjoittaminen.
Jarkko Ansamaa
Testaussuunnitelma.
Pekka Summanen
Toiminnallisen määrittelyn tarkentaminen.
Veijo Vänttinen
Vaatimusmäärittelyn mukaisen suunnittelun varmistaminen.
Käyttöohjeen suunnittelu.
Marko Ristola
Käyttöliittymän suunnittelu. Riskien hallinta ja raportointi.
Matti Kanninen
Ohjelmointi. Teknisen määrittelyn tarkentaminen.
Jarkko Ansamaa
Ohjelmointi.
Pekka Summanen
Toiminnallisen määrittelyn tarkentaminen. Ohjelmointi.
Veijo Vänttinen
Käyttöohjeen tuottaminen.
Marko Ristola
Ohjelmointi. Riskien hallinta ja raportointi. Testiraportin kirjoittaminen.
Matti Kanninen
Ohjelmointi. Teknisen määrittelyn tarkentaminen.
Jarkko Ansamaa
Testiraportti.
Pekka Summanen
Toiminnallisen määrittelyn tarkentaminen. Ohjelmointi.
Veijo Vänttinen
Vaatimusmäärittelyn mukaisen proton varmistaminen ja käyttöohjeen
viimeistely.
Marko Ristola
Ohjelmointi. Riskien hallinta ja raportointi.
Matti Kanninen
Ohjelmointi ja käyttöliittymän viimeistely. Teknisen
määrittelyn tarkentaminen.
Jarkko Ansamaa
Testiraportti.
Pekka Summanen
Järjestelmän analysointi.
Veijo Vänttinen
Dokumenttien viimeistely.
Marko Ristola
Ohjelman viimeistely.
3. Resurssi- ja aikasuunnitelma |
Ryhmämme on käytettävissä koko lukukauden ajan poislukien joululoma (19.12.1997 - 9.1.1998).
Alustava suunnitelma työtunneista vaiheittain:
PS |
|||||||
MÄ |
|||||||
SU |
|||||||
P1 |
|||||||
P2 |
|||||||
LU |
|||||||
Yhteensä |
|
|
|
|
|
|
|
|
Luennot
|
|
|
|
|
|
|
|
Opiskelu
|
|
|
|
|
|
|
|
Kokoukset
|
|
|
|
|
|
|
|
Projektinhallinta
|
|
|
|
|
|
|
|
Suunnittelu
|
|
|
|
|
|
|
|
Koodaus
|
|
|
|
|
|
|
|
Testaus
|
|
|
|
|
|
|
|
Dokumentointi
|
|
|
|
|
|
|
|
Menetelmäkehitys
|
|
|
|
|
|
|
|
ATK-ylläpito
|
|
|
|
|
|
|
|
Yhteensä
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Luennot
|
|
|
|
|
|
|
|
Opiskelu
|
|
|
|
|
|
|
|
Kokoukset
|
|
|
|
|
|
|
|
Projektinhallinta
|
|
|
|
|
|
|
|
Suunnittelu
|
|
|
|
|
|
|
|
Koodaus
|
|
|
|
|
|
|
|
Testaus
|
|
|
|
|
|
|
|
Dokumentointi
|
|
|
|
|
|
|
|
Menetelmäkehitys
|
|
|
|
|
|
|
|
ATK-ylläpito
|
|
|
|
|
|
|
|
Yhteensä
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Luennot
|
|
|
|
|
|
|
|
Opiskelu
|
|
|
|
|
|
|
|
Kokoukset
|
|
|
|
|
|
|
|
Projektinhallinta
|
|
|
|
|
|
|
|
Suunnittelu
|
|
|
|
|
|
|
|
Koodaus
|
|
|
|
|
|
|
|
Testaus
|
|
|
|
|
|
|
|
Dokumentointi
|
|
|
|
|
|
|
|
Menetelmäkehitys
|
|
|
|
|
|
|
|
ATK-ylläpito
|
|
|
|
|
|
|
|
Yhteensä |
UNIX serveri | 1 kpl à 20 000 mk | = 20 000 mk |
Ohjelmistot | = 20 000 mk | |
Palkka | 1440h à 250 mk | = 360 000 mk |
YHTEENSÄ | = 400 000 mk |
4. Työmenetelmät ja työnjako |
Serveriin asennetaan käyttöjärjestelmäksi Linux ja sen mukana tuleva WWW serveri (Apache). Tämän asennuksen hoitaa Tele.
Ohjelmointikielenä käytämme pääasiassa C++:aa. Koska ohjemointi tapahtuu Linux ympäristössä käytämme kääntäjänä GNU C++:aa.
Lisäksi osa työstä tehdään Javalla. Käytämme Javasta Sun Microsystems:n JDK 1.1.4 versiota. Käytämme mahdollisesti myös PERL:iä. HTML-sivujen editointiin käytämme Netscape Communicatoria tai Microsoft Frotpage 98 beta:a.
Olioiden hallintaan käytämme Select ohjelmistoa.
Ajankäytön hallintaan ja suunnitteluun käytämme Microsoft Project ohjelmaa.
Teemme esisuunnitelman eri Case-työkaluista, jossa vertaamme niiden ominaisuuksia. Myöhemmissä suunitelmissa lisäämme mitkä Case-työkalut olemme valinneet.
Uudet dokumentit
Määrittely
Uudet dokumentit
Suunnittelu
Uudet dokumentit
Proto 1
Uudet dokumentit
Proto 2
Uudet dokumentit
Luovutus
Uudet dokumentit
Ylläolevien raporttien lisäksi Jarkko Ansamaa toimittaa webiin raportit projektipalavereista. Ohjelmakoodin dokumentoinnista vastaa Pekka Summanen.
Ryhmän jäsenet raportoivat tekemänsä työtunnit suoraan WWW-lomakkeella viikottain. Lisäksi projektipäällikölle lähetetään jakson aikana tehdyt työtunnit aina ennen jakson loppua. Samalla käydään läpi myös seuraavan jakson resurssit tarkemmin ja ilmoitetaan mahdollisista poikkeamisista suunniteltuihin.
Virheistä kerätään seuraavat tiedot:
Kukin riski luokitellaan vakavuuden mukaan asteikolla 1-10. Riskien
todennäköisyys arvioidaan todennäköisyysasteikolla
nollasta yhteen. Vakavuus määräytyy ennen kaikkea projektien
tavoitteiden mukaan (kuten mitat 'Goal Question Measure'-menetelmässä).
Riskien kartoituksessa (suunnittelu-vaihe) on tullut esille seuraavia tähän
projektiin soveltuvia riskejä:
Riski |
|
|
|
Projekti ei pysy aikataulussa
PSP-menetelmän käyttö projektin mittauksen ja suunnittelun apuna. Projektipäällikköä ei rasiteta liioilla töillä. Toteutetaan minimi, varaudutaan 'turhien' ominaisuuksien karsimiseen. |
|
|
|
Projekti rönsyilee ja paisuu (muutosehdotuksia
jatkuvasti)
Tarkka projektin määrittely. (Tietokantasovellus -> vaikea tapaus) Kirjaamme kaikki muutosehdotukset. Nopea arvio muutoksesta. Kirjamme ylös muutoksen aiheuttamat toimenpiteet riskianalyyseineen. |
|
|
|
Ohjelman sisäinen rakenne: käyttöliittymä
ei vastaa asiakkaan tarpeita
Erityisesti alussa tiivis keskusteluyhteys asiakkaaseen. |
|
|
|
Ohjelman sisäinen rakenne: käyttöliittymä
ei vastaa tulevien käyttäjien tarpeita
Selvitetään asiakkaalta ohjelman eri käyttötarkoitukset ja käyttötavat (rajaus). Mietitään kyseisten asioiden järkevyys. Kartoitetaan eri osapuolten tavoitteet ja tarpeet. Seurataan näiden toteutumista. |
|
|
|
Ohjelman sisäinen rakenne: tietokannan
sisäinen malli väärä
Tarkistutamme tietomallin tärkeimmät asiat asiakkaalla loogisten virheiden poistamiseksi. Tarkka ohjelman määritys väärinymmärrysten välttämiseksi. Tietomallin oltava oikea strategisilta osin. |
|
|
|
Ohjelman sisäinen rakenne: Tehtävän
serverin API väärä
API tarkastutetaan kahdella ryhmän jäsenellä virheiden poistamiseksi. |
|
|
|
Osaamista katoaa ryhmän jäsenen
poistuessa projektista
Kutakin osa-aluetta hoitaa vähintään kaksi henkilöä. |
|
|
|
Käytettävä laitteisto hajoaa
Backupit siirretään tuotettavasta projektista kerran viikossa eri koneeseen. |
|
|
|
Valittu CASE-työkalu ei sovellu projektiin
Ryhmän CASE-asiantuntija valitsee pian sopivan työkalun ja arvioi sen sovellettavuuden projektiin. |
|
|
|
Ohjelman sisäinen rakenne menee pieleen
X:ssä
Toteutetaan käyttöliittymä yksinkertaisen ja laadukkaan käyttöliittymän ollessa mallina X:ssä. Pyritään etsimään ja tutkimaan vastaavia toteutuksia Linuxissa. |
|
|
|
Matti Kanninen asiakasvastaava
Pitää säännöllisesti yhteyttä asiakkaaseen
ja sopii tapaamisten ajankohdat. On myös aina mukana kaikissa asiakastapaamisissa.
Osavastuu ohjelmiston koodaamisessa. Vastuussa käyttöliittymän
suunnittelusta ja toteutuksesta Marko Ristolan kanssa.
Jarkko Ansamaa toiminnallinen suunnittelija
Vastaa ohjelmiston joustavasta toimivuudesta sekä suunnittelee
ohjelmiston testauksen. Kirjaa kokousten kulun ja niissä päätettävät
asiat. Suunnittelee kokousten esityslistan. Vastuussa Veijö Vänttisen
kanssa dokumentoinnista.
Pekka Summanen ohjelmistosuunnittelija
Vastaa ohjelmiston laadusta sekä versionhallinnasta. Suunnittelee
käytettävät luokat sekä niiden väliset riippuvuudet.
Määrittelee, koska ohjelmiston eri osien tulee olla valmiit sekä
priorisoi toteutettavat toiminteet. Vastuussa ohjelmakoodien varmuuskopioinnista.
Veijo Vänttinen dokumentointivastaava
Hyväksyy lopulliset dokumentit ja vastaa siitä, että
ne täyttävät niille asetetut vaatimukset sekä toimittaa
ne projektipäällikölle. Vastuussa dokumentoinnin varmuuskopioinnista.
Huolehtii dokumenttien valmistumisesta ajallaan.
Marko Ristola ohjelmoija
Vastuussa riskienhallinnasta. Osavastuu ohjelmoinnista.
5. Ohjaussuunnitelma |
MS Projectilla tehty aikataulusuunnitelma.
18.9 | Luento: yleisesittely |
19.9 | Luento: aiheiden esittely |
22.9 | Luento: PSP |
25.9 | Opiskelu: PSP seminaari |
29.9 | Luento: projektin suunnittelu, vaatimusmäärittely |
Palautus: ilmoittautumislomake | |
2.10 | Luento: PSP seminaari |
3.10 | Kokous: asiakastapaaminen |
6.10 | Luento: toiminnallinen määrittely, oikeudet ohjelmatöihin |
13.10 | Palautus: PS-vaiheen deadline |
13.10 | Kokous: ryhmäpalaveri (valmistautuminen katselmukseen) |
Luento: PSP-seminaari | |
15.10 | Kokous: PS vaiheen katselmus |
20.10 | Kokous: ryhmäpalaveri (esitutkimusten esittelyt) |
22.10 | Luento: PSP-seminaari |
27.10 | Luento: järjestelmän suunnittelu |
Kokous: ryhmäpalaveri | |
3.11 | Palautus: MÄ-vaiheen deadline |
Kokous: ryhmäpalaveri (valmistautuminen katselmukseen) | |
6.11 | Kokous: MÄ-vaiheen katselmus |
10.11 | Kokous: ryhmäpalaveri |
17.10 | Kokous: ryhmäpalaveri |
24.11 | Luento: protoilu |
Kokous: ryhmäpalaveri | |
1.12 | Kokous: ryhmäpalaveri |
8.12 | Palautus: SU-vaiheen deadline |
Kokous: ryhmäpalaveri (valmistautuminen katselmukseen) | |
10.12 | Kokous: SU-vaiheen katselmus, alpha-proton demo |
12.1 | Kokous: ryhmäpalaveri |
19.1 | Kokous: ryhmäpalaveri |
26.1 | Kokous: ryhmäpalaveri |
2.2 | Kokous: ryhmäpalaveri |
9.2 | Kokous: ryhmäpalaveri |
16.2 | Palautus: P1-vaiheen deadline |
Kokous: ryhmäpalaveri (valmistautuminen katselmukseen) | |
19.2 | Kokous: P1-vaiheen katselmus, proton demo |
23.2 | Kokous: ryhmäpalaveri |
2.3 | Kokous: ryhmäpalaveri |
9.3 | Kokous: ryhmäpalaveri |
16.3 | Palautus: järjestelmän luovutus |
Kokous: ryhmäpalaveri | |
23.3 | Palautus: P2-vaiheen deadline |
Kokous: ryhmäpalaveri (valmistautuminen katselmukseen) | |
26.3 | Kokous: P2-vaiheen katselmus, proton demo |
30.3 | Kokous: ryhmäpalaveri |
6.4 | Kokous: ryhmäpalaveri |
16.4 | Kokous: ryhmäpalaveri |
20.4 | Kokous: ryhmäpalaveri (valmistautuminen katselmukseen ja loppudemoon) |
24.4 | Palautus: LU-vaiheen deadline |
27.4 | Kokous: katselmus, loppudemonstraatio |
8.5 | Kurssin päätöstilaisuus, laatupalkinnon julkistus |