Tik-76.115 Projektisuunnitelma
PicSearch -- Interactive Picture Searcher
http://
Viimeksi päivitetty .
Sisällysluettelo
1. Johdanto
2. Projektin vaiheistus
3. Resurssi- ja aikasuunnitelma
4. Työmenetelmät ja työnjako
5. Ohjaussunnitelma
1.1 Yleiskuvaus projektista
Tämän ohjelmatyö-projektin tarkoituksena on luoda järjestelmä
"PicSearch", jolla kuvien hakua voidaan tehdä niiden
sisällön perusteella. Suuresta kuvamäärästä on hankalaa
etsiä kuvia selailemalla tai nimen perusteella, mutta
käyttäjällä on yleensä jonkinlainen summittainen ajatus kuvan
ulkonäöstä. Jos käyttäjä pystyisi kuvaamaan etsimäänsä kuvaa
esim. maalaamalla sen keskeisiä ominaisuuksia (värejä, muotoja),
voisi järjestelmä tämän perusteella hakea kandidaatteja
näytille.
Aiheeseen on viime aikoina suunnattu tutkimusta ja
markkinoilta löytyy jo muutamia toimivia järjestelmiä. Käytettävät
hakualgoritmit ja käyttäjän antaman vertailukohdan syöttömuoto
vaihtelevat melko paljon. PicSearch:in keskeinen tavoite on
vuorovaikutteisuus: käyttäjä osallistuu aktiivisesti kuvahaun
tarkennukseen maalaamalla esimerkkikuvan (tai kuvia) ja
valitsemalla käytettävän hakualgoritmin (tai algoritmit).
1.2. Projektin tavoite
Projektin lopputuloksena syntyy järjestelmä, jonka avulla
käyttäjä pystyy hakemaan kuvia tietokannasta maalaamansa
esimerkkikuvan perusteella käyttäen valitsemaansa algoritmia.
Järjestelmä on laajennettava, siten että asiakas voi lisätä
uusia algoritmeja helposti ja PicSearch:in käyttöliittymä on
myös helposti muokattavissa uusia käyttötapoja varten.
PicSearch:stä tuotetaan riittävä dokumentaatio,
jotta asiakas voi jatkokehittää järjestelmää
haluamallaan tavalla. Tämä edellyttää järjestelmältä hyvin
määriteltyjä rajapintoja.
Tarkempi määrittely löytyy dokumentista
Vaatimusmäärittely: PicSearch -- Interactive Picture Searcher.
1.3. Projektiryhmä, ohjaajat ja asiakas
Projektin ohjaajina toimivat FM Kjell Lemström HY:lta sekä
prof. Tapio Takala TKK:lta. Kjell Lemström on myös projektin
asiakas ja järjestelmän tuleva jatkokehittäjä.
Projektiryhmän kotisivu löytyy osoitteesta
http://www.hut.fi/~pkuusi/oht.
Projektiryhmään kuuluvat tekn.yo:t Jouni Korte, Pyry Kuusi,
Pasi Kyheröinen ja Pekka Päiväkumpu.
Yhteystiedot:
- Rooli: Asiakas, ohjaaja
- Nimi: Kjell Lemström
- Puhelin: 7084 4209
- Email: klemstro@cs.helsinki.fi
- WWW-kotisivu: http://www.cs.helsinki.fi/~klemstro
- Rooli: Ohjaaja
- Nimi: Tapio Takala
- Puhelin: 451 3222
- Email: tta@cs.hut.fi
- WWW-kotisivu: http://www.cs.hut.fi/~tta
- Rooli: Projektipäällikkö
- Nimi: Pyry Kuusi
- Puhelin: 409 681 (koti), 567 8715 (työ)
- Email: pkuusi@cc.hut.fi
- WWW-kotisivu: http://www.hut.fi/~pkuusi
- Rooli: Käyttöliittymävastaava
- Nimi: Jouni Korte
- Puhelin: 848 284
- Email: jones@cc.hut.fi
- WWW-kotisivu: http://www.hut.fi/~jones
- Rooli: Algoritmi-alijärjestelmävastaava
- Nimi: Pasi Kyheröinen
- Puhelin: 050-591 4811
- Email: pky@cc.hut.fi
- WWW-kotisivu: http://www.hut.fi/~pky
- Rooli: Tietokantavastaava
- Nimi: Pekka Päiväkumpu
- Puhelin: 428 039 (koti), 567 8704 (työ)
- Email: pekka.paivakumpu@hut.fi
- WWW-kotisivu: http://www.hut.fi/~ppaivaku
Projektin vaiheistus noudattaa pääkohdiltaan kurssin yleistä vaihejakoa.
Näiden lisäksi käytetään projektin sisäisiä tarkistuspisteitä
("mile-stone":ja).
2.1. Projektin suunnittelu, 24.9.1996 - 7.10.1996
Vaiheen tehtävät:
- Projektiorganisaation luominen ja tärkeimmistä työmenetelmistä sopiminen
- Projektin aiheeseen, asiakkaaseen ja ohjaajiin tutustuminen
- Vaatimusmäärittelyn teko yhdessä asiakkaan kanssa
- Alustavan projektisuunnitelman kirjoittaminen
- Määrittely-vaiheen tehtävien selvittäminen, jakaminen ja aikataulutus
Tilanne vaiheen päättyessä:
- Projektiryhmällä on yleiskäsitys luotavasta järjestelmästä.
- Vastuualueet on jaettu.
- Yhteydenpitokanavat ja perustyömenetelmät ovat selvillä.
Tuotettavat dokumentit ja raportit:
- Tämä projektisuunnitelma, tarkennetaan seuraavissa vaiheissa
- Vaatimusmäärittely, tarkennetaan
Määrittely-vaiheessa ja toiminnallisessa määrittelyssä
2.2. Määrittely, 11.10.1996 - 28.10.1996
Vaiheen tehtävät:
- Järjestelmän toimintojen yksityiskohtainen määrittely
(jokainen vastaa vastuualueestaan), erityisesti
käyttöliittymän toimintakonseptista sopiminen asiakkaan kanssa
- Työmenetelmien ja apuvälineiden tarkistus + käyttöönotto
- Suunnittelu-vaiheen tehtävien selvittäminen,
jakaminen ja aikataulutus
Tilanne vaiheen päättyessä:
- Projektiryhmällä ja asiakkaalla on sama kuva toteutettavan
järjestelmän toiminnallisuudesta.
Tuotettavat dokumentit ja raportit:
- Toiminnallinen määrittely, jossa
kuvataan tarkasti kaikki järjestelmään toteutettavat toiminnot.
Siinä määritellään myös järjestelmän perusarkkitehtuuri ja liittymät
järjestelmän ulkopuolelle sekä tietokantakuvaukset.
- Edistymisraportissa raportoidaan
projektin tila (aikataulu, virheet, muutokset)
ja suoritetut tehtävät työmäärineen.
- Tarkennettu projektisuunnitelma, jossa Suunnittelu-vaiheen
työjako ja tehtävät
Vaiheen tehtävät:
- Toiminnallinen määrittely:
- Rajapintamäärittelyt (kartoitus + dokumentointi)
- GUI-API; JKo
- Algorithm-API; PKy
- Database-API; PPa
- Luokkahierarkian dokumentointi; PKu
- Toteutuskuvaukset (kartoitus + dokumentointi)
- Yhteiset kirjastot; PKu
- PicCore; PKu
- PicGUI; JKo
- PicAlgorithm; PKy
- PicDb (+ tietokannan sisällön kuvaus); PPa
- Prosesseiksi jaottelu : kartoitus + dokumentointi; PKu
- Muut toteutuskuvaukset:
- Hakuproseduuri; PKu
- Kuvaformaatit; PKy
- Kuvien luku, kirjoitus ja skaalaus; PKy
- Virheiden käsittely + loki; PKu
- Alpha-proto:
- Koodausohjeet + mallipohjat; PKu
- Käännösympäristön luonti; PKy
- 'Masterointi' (= järjestelmän käännösympäristön luonti +
konfiguraation valinta), 1.versiot scripteistä; PKu + PKy
- Käyttöliittymän ikkunat: pääikkuna, piirtoikkuna +
dialogit (Open file, Image attributes, Signatures, Segmentation,
Image processing, Mass insertion, Options); JKo
- Yhteisten kirjastojen luonti; PKu
- Stubit alijärjestelmistä; JKo + PKu + PKy + PPa
- Demo-version kasaus + testaus; PKy
- Testaussuunnitelma: kartoitus + dokumentointi; PPa
- Projektin ylläpito:
- Dokumenttien päivitykset; PKu
- Edistymisraportti; PKu
- Ohjelmointitehtävien tarkka kartoitus ja "esi-protojen"
valmistumispäivistä sopiminen (integrointi testaussuunnitelmaan!)
Tuotettavat dokumentit ja raportit:
- Tekninen määrittely, jossa systeemin
kaikkien alijärjestelmien liitynnät on tarkasti määritelty
(funktio-tasolle saakka). Lisäksi tässä kuvataan kunkin
osajärjestelmän sisäinen jaottelu moduleihin ja tärkeimmät
käytettävät tietorakenteet.
- Testaussuunnitelma, jossa määritellään kuinka
alijärjestelmien toiminnallisuus tarkistetaan. Tässä suunnitelmassa
kuvataan myös testausvastuut ja -menetelmät.
- Edistymisraportti
- Tarkennettu projektisuunnitelma, jossa Prototyyppi 1-vaiheen
työjako ja tehtävät
Seuraavasa on esitetty järjestelmän ohjelmointitehtävät
tärkeyden mukaan kategorisoituina. Tehtävän jäljessä oleva koodi
P1A tarkoittaa valmistumista väliprotoon 1A, P1B vastaavasti
seuraavaan väliprotoon ja P1 valmistumista Prototyyppi 1 -vaiheen
palautukseen.
Kategoria 1
- PicGUI-API; P1A
- PicDb-API; P1A
- PicAlg-API; P1A
- Uuden esimerkkikuvan luonti; P1A
- Aktiivisen esimerkkikuvan valinta; P1B
- Esimerkkikuvan sulkeminen; P1A
- Piirtoikkunan avaus; P1A
- Piirtoikkunassa piirto: siveltimet; P1B
- Piirtoikkunassa piirto: värien valinta; P1A
- Esimerkkikuvan päivitys piirtoikkunasta; P1B
- Piirtoikkunan sulkeminen; P1A
- Hakualgoritmin valinta; P1A
- Hakualgoritmi: toteutus; P1B
- Haun käynnistäminen; P1A
- Hakuproseduuri; P1A
- Haun tuloksien näyttäminen; P1B
- Ohjelmasta poistuminen; P1A
- Kuvaformaatit : PPM, luku; P1A
- Kuvaformaatit : PPM, kirjoitus; P1
- Kuvat: skaalaus; P1B
- Tietokanta: kuvan luku; P1B
- Tietokanta: kuvan talletus; P1B
- Tietokanta: kuvan parametrien luku; P1A
- Tietokanta: kuvan parametrien talletus; P1A
- Tietokanta: signaturen luku; P1A
- Tietokanta: signaturen talletus; P1A
Kategoria 2
- Esimerkkikuvan luku levyltä; P1B
- Info-ikkunaan kirjoitus; P1B
- Haun tuloksien selaaminen; P1
- Esimerkkikuvan kirjoitus tietokantaan; P1
- Aktiivisen tietokantakuvapaikan valinta; P1
- Tietokantakuvan kopiointi esimerkkikuvaksi; P1
- Kuvan poistaminen tietokannasta; P1
- Kuvien talletus: miniatyyrikuvat; P1
- Piirtoikkunassa piirto: kuvankäsittelyalgoritmin valinta
- Hakualgoritmin parametrien asetus
- Hakutyypin valinta
- Kuvaformaatit : SunRaster, luku
- Kuvaformaatit : SunRaster, kirjoitus
- Kuvaformaatit : JPEG, luku
- Tietokanta: algoritmitietojen luku ja talletus; P1
- Tietokanta: yleisten parametrien luku ja talletus; P1
Kategoria 3
- Yleisten parametrien asetus
- Haun keskeyttäminen
- Keskeytetyn haun jatkaminen
- Haun etenemisen esittäminen
- Save As... -dialogi : tiedostojärjestelmän käsittely
- Esimerkkikuvan kirjoitus levylle
- Esimerkkikuvan tyhjennys
- Kuvien massasyöttö tietokantaan
- Esimerkkikuvan parametrien katselu: muut kuin signaturet
- Esimerkkikuvan parametrien asetus: muut kuin koko
- Kuvankäsittelyalgoritmin parametrien asetus
- Segmentointialgoritmin valinta
- Segmentointialgoritmin parametrien asetus
- Kuvaformaatit : JPEG, kirjoitus
Kategoria 4
- Tietokannan päivitysproseduuri
- Esimerkkikuvan parametrien katselu: signaturet
- Esimerkkikuvan parametrien asetus: koko
- Save As... -dialogi : kuvaformaatti-tiedostofiltterit
- Kuvankäsittelyalgoritmi: toteutus
- Segmentointialgoritmi: toteutus
- Esimerkkikuvan segmenttien näyttö
Tuotettavat dokumentit ja raportit:
- Käyttöohje, jossa selostettu myös järjestelmän
asennus. Tarkennetaan Prototyyppi 2-vaiheessa.
- Testiraportti, johon sisältyy tarvittavien
korjauksien kuvaukset
- Edistymisraportti
- Tarkennettu projektisuunnitelma, jossa Prototyyppi 2-vaiheen
työjako ja tehtävät
Vaiheen tehtävät:
- Järjestelmän kaikkien oleellisten toimintojen toteuttaminen,
perustoimintojen hiominen
- Integrointitestit
Tilanne vaiheen päättyessä:
- Järjestelmä on kaikilta oleellisilta osiltaan valmis.
Tuotettavat dokumentit ja raportit:
Seuraavassa on esitetty järjestelmän ohjelmointitehtävät
tärkeyden mukaan kategorisoituina. Tehtävän jäljessä oleva koodi
P2A tarkoittaa valmistumista väliprotoon 2A, P2B vastaavasti
seuraavaan väliprotoon ja P2 valmistumista Prototyyppi 2 -vaiheen
palautukseen.
Kategoria 1
- Hakualgoritmi: toteutus; P2A
- Haun tuloksien näyttäminen; P2A
- Kuvat: skaalaus; P2A
- Tietokanta: kuvan luku; P2A
- Tietokanta: kuvan talletus; P2A
Kategoria 2
- Haun tuloksien selaaminen; P2A
- Tietokantakuvan kopiointi esimerkkikuvaksi; P2A
- Kuvan poistaminen tietokannasta; P2A
- Kuvien talletus: miniatyyrikuvat; P2B
- Piirtoikkunassa piirto: kuvankäsittelyalgoritmin valinta; P2B
- Hakualgoritmin parametrien asetus; P2A
- Kuvaformaatit : SunRaster, luku; P2
- Kuvaformaatit : SunRaster, kirjoitus; P2
- Kuvaformaatit : JPEG, luku; P2B
- Tietokanta: algoritmitietojen luku ja talletus; P2B
Kategoria 3
- Kuvien massasyöttö tietokantaan; P2A
- Esimerkkikuvan parametrien katselu: muut kuin signaturet; P2A
- Esimerkkikuvan parametrien asetus: muut kuin koko; P2A
- Kuvankäsittelyalgoritmin parametrien asetus; P2
- Segmentointialgoritmin valinta; P2
- Segmentointialgoritmin parametrien asetus; P2
- Kuvaformaatit : JPEG, kirjoitus; P2B
Kategoria 4
- Tietokannan päivitysproseduuri; P2
- Esimerkkikuvan parametrien asetus: koko; P2A
- Kuvankäsittelyalgoritmi: toteutus; P2B
- Segmentointialgoritmi: toteutus; P2B
- Esimerkkikuvan segmenttien näyttö; P2
Vaiheen tehtävät:
- Järjestelmätesti ja viimeiset korjaukset
- Dokumentoinnin hionta
Tilanne vaiheen päättyessä:
- Järjestelmä on testattu ja luovutuskunnossa.
Tuotettavat dokumentit ja raportit:
Seuraavassa on esitetty järjestelmän jäljellä olevat
ohjelmointitehtävät tärkeyden mukaan kategorisoituina.
Kategoria 2
- Kuvaformaatit : JPEG, luku (grayscale)
Kategoria 3
- Segmentointialgoritmin parametrien asetus
- Kuvien fyysinen tallennus tietokantaan
Kategoria 4
- Segmentointialgoritmi: toteutus
- Esimerkkikuvan segmenttien näyttö
2.7. Jälkihoito ja oikeudet projektin tuotoksiin
Järjestelmän jatkokehitys tapahtuu asiakkaan toimesta. Sekä
asiakkaalle että projektiryhmälle jäävät täydet oikeudet
jatkokehittää järjestelmään haluamillaan tavoilla.
3.1. Koko projekti
Resurssit ovat tasaisesti käytössä kukin max. n. 15 tuntia / viikko.
Joulukuun tenttikauden ajan ja joululoman alkupäivinä pidetään työmäärät
minimissä.
Suunnitellut työtunnit
| JKo | PKu | PKy | PPa |
Yhteensä |
PS |
10 | 30 |
10 | 10 |
60 |
---|
MÄ |
33 | 50 |
33 | 33 |
149 |
---|
SU |
31 | 51 |
49 | 39 |
170 |
---|
P1 |
117 | 111 |
114 | 114 |
456 |
---|
P2 |
60 | 70 |
60 | 65 |
255 |
---|
LU |
33 | 38 |
33 | 33 |
137 |
---|
Yhteensä |
274 | 320 |
289 | 284 |
1167 |
---|
3.2. Projektin suunnittelu
Vaiheen työt alkavat : pe 24.9.-96
Vaiheen työt päätyvät : ma 7.10.-96
Katselmus : to 10.10.-96
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Aiheeseen tutustuminen |
5,0 | 5,0 |
5,0 | 5,0 |
20,0 |
20,0 |
0,0 |
Palaverit |
5,0 | 5,0 |
5,0 | 5,0 |
20,0 |
20,0 |
0,0 |
Dokumenttien kirjoitus |
0,5 | 20,0 |
0,5 | 0,5 |
21,5 |
21,5 |
0,0 |
YHTEENSÄ |
10,5 | 30,0 |
10,5 | 10,5 |
61,5 |
61,5 |
0,0 |
3.3. Määrittely
Vaiheen työt alkavat : pe 11.10.-96
Vaiheen työt päätyvät : ma 28.10.-96
Katselmus : to 31.10 / pe 1.11
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Toim. määritys -- kartoitus |
15,0 | 15,0 |
15,0 | 15,0 |
60,0 |
42,0 |
-18,0 |
Toim. määritys -- kuvaus |
10,0 | 8,0 |
10,0 | 10,0 |
38,0 |
21,0 |
-17,0 |
Projektin hallinta |
0,0 | 19,0 |
0,0 | 0,0 |
19,0 |
15,0 |
-4,0 |
Palaverit + Muut |
8,0 | 8,0 |
8,0 | 8,0 |
32,0 |
25,0 |
-7,0 |
YHTEENSÄ |
33,0 | 50,0 |
33,0 | 33,0 |
149,0 |
103,0 |
-46,0 |
3.4. Suunnittelu
Vaiheen työt alkavat : pe 1.11.-96
Vaiheen työt päätyvät : ma 2.12.-96
Katselmus : ke 4.12 / to 5.12
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Kartoitus: API:t |
4,0 | 0,0 |
4,0 | 4,0 |
12,0 |
18,0 |
6,0 |
Kuvaus: API:t |
4,0 | 0,0 |
4,0 | 4,0 |
12,0 |
5,0 |
-7,0 |
Kartoitus: Alijärjestelmien toiminnot |
3,0 | 8,0 |
2,0 | 8,0 |
21,0 |
15,0 |
6,0 |
Kuvaus: Alijärjestelmien toiminnot |
4,0 | 4,0 |
3,0 | 5,0 |
16,0 |
17,0 |
1,0 |
Kartoitus: Muut toiminnot |
0,0 | 8,0 |
8,0 | 0,0 |
16,0 |
5,0 |
11,0 |
Kuvaus: Muut toiminnot |
0,0 | 8,0 |
6,0 | 0,0 |
14,0 |
1,0 |
-13,0 |
A-proto: UI |
10,0 | 0,0 |
0,0 | 0,0 |
10,0 |
15,0 |
5,0 |
A-proto: kood. + mallipohjat |
0,0 | 2,0 |
0,0 | 0,0 |
2,0 |
1,0 |
-1,0 |
A-proto: Käännösympäristö |
0,0 | 3,0 |
9,0 | 0,0 |
12,0 |
5,0 |
-7,0 |
A-proto: kirjastot |
0,0 | 20,0 |
0,0 | 0,0 |
20,0 |
22,0 |
2,0 |
A-proto: alijärj. stubit |
3,0 | 5,0 |
5,0 | 5,0 |
18,0 |
3,0 |
-15,0 |
A-proto: Demon kasaus |
0,0 | 0,0 |
5,0 | 0,0 |
5,0 |
1,0 |
-4,0 |
Testaussuunnitelma |
0,0 | 0,0 |
0,0 | 13,0 |
13,0 |
24,0 |
11,0 |
Projektin hallinta |
0,0 | 4,0 |
0,0 | 0,0 |
4,0 |
5,0 |
1,0 |
Palaverit + Muut |
3,0 | 3,0 |
3,0 | 3,0 |
12,0 |
20,0 |
8,0 |
YHTEENSÄ |
31,0 | 51,0 |
49,0 | 39,0 |
187,0 |
157,0 |
-30,0 |
3.5. Prototyyppi 1
Vaiheen työt alkavat : to 5.12.-96
Vaiheen työt päätyvät : ma 10.2.-97
Katselmus : to 13.2 / pe 14.2
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Väliproto 1A |
40,0 | 40,0 |
40,0 | 40,0 |
160,0 |
126,0 |
-34,0 |
Esitesti 1A |
0,0 | 0,0 |
0,0 | 5,0 |
5,0 |
7,0 |
2,0 |
Väliproto 1B |
25,0 | 25,0 |
25,0 | 25,0 |
100,0 |
108,0 |
8,0 |
Esitesti 1B |
0,0 | 0,0 |
5,0 | 0,0 |
5,0 |
3,0 |
-2,0 |
Proto 1 |
15,0 | 15,0 |
15,0 | 15,0 |
60,0 |
40,0 |
-20,0 |
Integrointitesti |
15,0 | 15,0 |
15,0 | 15,0 |
60,0 |
12,0 |
-48,0 |
Käyttöohje |
8,0 | 0,0 |
0,0 | 0,0 |
8,0 |
11,0 |
3,0 |
Projektin hallinta |
0,0 | 2,0 |
0,0 | 0,0 |
2,0 |
3,0 |
1,0 |
Palaverit |
14,0 | 14,0 |
14,0 | 14,0 |
56,0 |
36,0 |
-20,0 |
YHTEENSÄ |
117,0 | 111,0 |
114,0 | 114,0 |
456,0 |
346,0 |
-110,0 |
3.6. Prototyyppi 2
Vaiheen työt alkavat : pe 14.2.-97
Vaiheen työt päätyvät : ma 17.3.-97
Katselmus : ke 19.3 / to 20.3
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Väliproto 2A |
25,0 | 25,0 |
25,0 | 25,0 |
100,0 |
71,0 |
-29,0 |
Esitesti 2A |
0,0 | 0,0 |
0,0 | 5,0 |
5,0 |
0,0 |
-5,0 |
Väliproto 2B |
15,0 | 15,0 |
15,0 | 15,0 |
60,0 |
65,0 |
5,0 |
Esitesti 2A |
0,0 | 0,0 |
0,0 | 5,0 |
5,0 |
0,0 |
-5,0 |
Proto 2 |
15,0 | 15,0 |
15,0 | 15,0 |
60,0 |
43,0 |
-17,0 |
Integrointitesti |
10,0 | 0,0 |
10,0 | 10,0 |
30,0 |
3,0 |
-27,0 |
Ylläpito-ohje |
0,0 | 9,0 |
0,0 | 0,0 |
9,0 |
8,0 |
-1,0 |
Projektin hallinta |
0,0 | 2,0 |
0,0 | 0,0 |
2,0 |
3,0 |
1,0 |
Palaverit |
7,5 | 7,5 |
7,5 | 7,5 |
30,0 |
4,0 |
-26,0 |
YHTEENSÄ |
72,5 | 73,5 |
72,5 | 72,5 |
301,0 |
197,0 |
-104,0 |
3.7. Luovutus
Vaiheen työt alkavat : to 20.3.-97
Vaiheen työt päätyvät : ma 28.4.-97
Katselmus : ma 5.5 / ti 6.5
| JKo | PKu | PKy | PPa |
Yhteensä | Toteutunut | Erotus |
Järjestelmätesti |
4,0 | 4,0 |
4,0 | 4,0 |
16,0 |
12,0 |
-4,0 |
Viilaukset |
20,0 | 20,0 |
20,0 | 20,0 |
80,0 |
91,0 |
11,0 |
Dokumentointi |
13,0 | 13,0 |
13,0 | 13,0 |
52,0 |
19,0 |
-33,0 |
Loppuraportti |
0,0 | 5,0 |
0,0 | 0,0 |
5,0 |
7,0 |
2,0 |
Palaverit |
6,0 | 6,0 |
6,0 | 6,0 |
24,0 |
4,0 |
-20,0 |
Muut |
1,0 | 3,0 |
1,0 | 2,0 |
0,0 |
7,0 |
-7,0 |
YHTEENSÄ |
43,0 | 48,0 |
43,0 | 43,0 |
177,0 |
140,0 |
-37,0 |
3.8. Kustannusarvio
Omakustannushinta = 1176 h * 75 mk/h = 88200 mk.
4.1. Työkalut ja laitteistot
Työ toteutetaan käyttäen koulun koneita ja projektiryhmän omia PC:itä.
Ohjelmointivälineinä käytetään vapaasti saatavilla olevia ohjelmistoja
(gcc, Tcl/Tk). Versionhallintaan käytetään RCS:ää projektia varten
kirjoitettujen scriptien kautta. Projektinhallintaan on
projektipäälliköllä käytössään MSProject-ohjelmisto.
4.2. Dokumentointimenetelmät
Dokumenttien oletusformaatti on HTML. Jos muita muotoja tarvitaan,
konvertoidaan niistä esitykset HTML:ksi. Kaiken ei-henkilökohtaisen
dokumentaation on löydyttävä ryhmän kotisivun alta.
Jokaisella HTML-tiedostolla on ylläpitäjä (oletusarvoisesti
projektipäällikkö), joka tekee dokumenttiin tarvittavat
muutokset. Lähinnä tiedotukseen käytettävät dokumentit
ovat kuitenkin kaikkien ryhmän jäsenten vapaasti editoitavissa
eikä tiukkaa versiontia suoriteta.
Ohjelmakoodi kommentoidaan erikseen (Suunnittelu-vaiheessa)
määritetyn ohjeen mukaisesti siten, että koodista (eritysesti
C++-luokista) voidaan automaattisesti generoida help-tiedosto
(HTML-formaattiin).
4.3. Työmenetelmät
Tiedonkulku
Tiedonkulku varmistetaan pääsäntöisesti viikottaisilla
ryhmän sisäisillä tapaamisilla. Lisäksi tavataan ohjaajat
alkuvaiheessa kerran viikossa maanantaisin
klo 14.00 Tapio Takalan huoneessa Y229. Muu tiedotustyyppinen
asia hoidetaan pääasiassa sähköpostilla ja suoraan
HotList:lle editoimalla.
Työaikaraportointi
Hoidetaan kurssin www-palvelinta käyttäen.
Hoidetaan kurssin www-palvelinta käyttäen.
Virheiden vakavuus kuvataan asteikolla:
- vakava (haittaa muita alijärjestelmiä, kaataa alijärjestelmän, alijärjestelmä ei toimi)
- keskinkertainen (haittaa toimintaa)
- vähäpätöinen (kauneusvirhe, "voisi-olla-paremmin")
4.4. Riskien hallinta
Kunkin vaiheen alussa ryhmä suorittaa viikkopalaverissa riskien
kartoittamisen. Tässä listataan joukko riskejä, arvioidaan niiden
vakavuus ja toteutumistodennäköisyys sekä päätetään toimenpiteet
pahimmille riskeille. Joka viikkopalaverissa tarkistetaan
riskien todentumistilanne.
Määrittelyvaihe:
Riski | Todennäk. | Vakavuus |
Yht. | Toimenpiteet |
Piirtotyökalun ylivoimaiset toteutusvaikeudet |
4 | 7 | 28 |
Hoidetaan ulkopuolisella piirto-ohjelmalla |
Tcl/Tk:n ylivoimaiset integrointivaikeudet |
3 | 9 | 27 |
Tingitään vaatimuksista |
Käännösympäristön ylläpito-ongelmat |
6 | 3 | 18 |
Kunnolliset ylläpito-välineet Suunnittelu-vaiheessa |
Suunnitteluvaihe:
(edellisten lisäksi)
Riski | Todennäk. | Vakavuus |
Yht. | Toimenpiteet |
Demon toimivuus |
5 | 9 | 45 |
Kasataan ajoissa kahteen paikkaan
(jos toinen down, ei vielä estä demoamista) |
Määrittelyjen epäyhteensopivuudet |
6 | 6 | 36 |
Tarkistetaan palavereissa, luetutetaan väliversiot muilla. |
Joulukiireet |
4 | 4 | 16 |
Tehtävien siirto henkilöltä toiselle. Alpha-proton
toiminnallisuuden karsiminen. |
Prototyyppi 1 -vaihe:
Edellisten riskien statuksia:
- Piirtotyökalun ylivoimaiset toteutusvaikeudet: ei realisoitune,
kokeiluasteella mukana alpha-protossa
- Tcl/Tk:n ylivoimaiset integrointivaikeudet: ei realisoidu
- Käännösympäristön ylläpito-ongelmat: eivät realisoitune,
aputyökaluista ykkösversiot suunnitteluvaiheen päätteeksi
Riski | Todennäk. | Vakavuus |
Yht. | Toimenpiteet |
Piirtokuvan luku Tcl/Tk:n kanvaasilta ei onnistu |
5 | 7 | 35 |
Käytetään kiertotietä / ulkopuolista piirto-ohjelmaa |
Integrointivaikeudet |
4 | 3 | 12 |
Varmistetaan yhteensopivuus aina väliprotojen yhteydessä. |
4.5. Muutosten hallinta
Kaikki ei-triviaalit muutokset järjestelmään käsitellään
ja hyväksytään viikkopalavereissa. Jokaiselle muutokselle annetaan
tunnistenumero. Muutokset dokumentoidaan tarpeellisiin
määrittely-dokumentteihin indikoiden muutoksen tunnistenumero.
Lisäksi kaikista muutoksista kirjataan
erilliseen dokumenttiin:
muutoksen tunniste, päivämäärä, muutoksen toteuttaja, lyhyt kuvaus.
Suuremmista muutoksista sovitaan aina asiakkaan kanssa,
tarvittaessa myös johtoryhmän kanssa.
4.6. Jäsenten roolit ja tehtävänjako
Projektipäällikkö (Pyry Kuusi) vastaa :
- Projektinhallinnasta
- Dokumentaatiosta
- Työkaluista
- Yhteyden pidosta asiakkaaseen
- Järjestelmäsuunnittelusta
- Järjestelmän ydinohjelmasta
Käyttöliittymävastaava (Jouni Korte) vastaa :
- Käyttöliittymän prototyypeistä
- Käyttöliittymän toteutuksesta
- Käyttöliittymä-alijärjestelmän toteutuksesta ja integroinnista
Algoritmivastaava (Pasi Kyheröinen) vastaa :
- Algoritmi-alijärjestelmien toteutuksesta ja integroinnista
- Algoritmien toimivuudesta
- Järjestelmän kasauksesta, käännösympäristöstä
Tietokantavastaava (Pekka Päiväkumpu) vastaa :
- Tietokanta-alijärjestelmän toteutuksesta ja integroinnista
- Kuvatietokannan toteutuksesta
- Testauksesta
4.7. Lähdeluettelo
- Jacobs et al. (1995). Fast Multiresolution Image Querying. SIGGRAPH'95
- Orphanoudakis et al. (1994). I2C: A System for the Indexing, Storage,
and Retrieval of Medical Images by Content.
*FTP-linkki*
- Jain et al. (march 1996). Object Matching Using Deformable Templates.
IEEE Transactions on Pattern Analysis and Machine Intelligence.
- Jain et al. (march 1996). Vehicle Segmentation and Classification Using Deformable Templates.
IEEE Transactions on Pattern Analysis and Machine Intelligence.
- Petrakis et al. (1993). A Generalized Approach for Image Indexing and Retrieval Based on 2-D Strings.
*FTP-linkki*
- Petrakis (1993). Image Representation, Indexing and Retrieval Based on Spatial Relationships and Properties of Objects.
University of Crete, Department of Computer Science.
- IBM:n Query by Image Content (QBIC),
http://wwwqbic.almaden.ibm.com/%7eqbic/qbic.html
- MARS,
http://quark.ifp.uiuc.edu:2020/mars/alex/mars.html
- Virage,
http://www.virage.com/cgi-bin/random
5.1. Projektin tilan seuranta
Projektin sisällön toteutumista verrataan kunkin vaiheen
puolivälissä ja päättyessä vertaamalla sen hetkistä tilaa
asetettuihin tavoitteisiin. Laadun varmistamiseksi
siirrytään Määrittely-vaiheen aikana käytäntöön,
jossa kaikki kirjalliset tuotokset (dokumentit, ohjelmakoodi)
tarkistaa ja kommentoi joku muu kuin itse tekijä.
Projektin valmiusastetta seurataan tehtäväkohtaisesti
valmiusastekaaviolla.
5.2. Aikataulu
Pääsääntöisesti ryhmä pitää yhteisen palaverin viikoittain, samoin
ohjaajien kanssa kerran viikossa (maanantaisin klo 14).
Projektin suunnittelu
Vaiheen työt alkavat : pe 24.9.-96
Vaiheen työt päätyvät : ma 7.10.-96
Katselmus : to 10.10.-96
Määrittely
Vaiheen työt alkavat : pe 11.10.-96
Vaiheen työt päätyvät : ma 28.10.-96
Katselmus : to 31.10 / pe 1.11
Suunnittelu
Vaiheen työt alkavat : pe 1.11.-96
Teknisen määrittelyn ja testisuunnitelman palautus : ma 25.11.-96
Vaiheen työt päätyvät : ma 2.12.-96
Katselmus ja alpha-proton demo: ke 4.12 / to 5.12
Prototyyppi 1
Vaiheen työt alkavat : to 5.12.-96
Väliproto 1A, deadline : ti 14.1.-97
Väliproto 1B, deadline : ma 27.1.-97
Proto 1, deadline : ti 4.2.-97
Integrointitesti, deadline : ma 10.2.-97
Vaiheen työt päätyvät : ma 10.2.-97
Katselmus : to 13.2 / pe 14.2
Prototyyppi 2
Vaiheen työt alkavat : pe 14.2.-97
Väliproto 2A, deadline : ma 24.2.-97
Väliproto 2B, deadline : ma 3.3.-97
Proto 2, deadline : ti 11.3.-97
Integrointitesti, deadline : ma 17.3.-97
Vaiheen työt päätyvät : ma 17.3.-97
Katselmus : ke 19.3 / to 20.3
Luovutus
Vaiheen työt alkavat : to 20.3.-97
Vaiheen työt päätyvät : ma 28.4.-97
Katselmus : ma 5.5 / ti 6.5