I1 Iteraatiosuunnitelma CoSCA-simulaattorin jatkokehitysprojekti TeamDC
Sisällysluettelo 1 Johdanto 2 1.1 Tavoitteet 3 1.2 Tuotokset 4 1.3 Tehtävät ja työmääräarviot 6 1.4 Vaiheistus ja aikataulutus 9 2 PP-iteraation toteuma 11 1
Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 26.10.2005 Elina Kontro Ensimmäinen versio 0.2 30.10.2005 Elina Kontro Tarkennusta tehtäviin yms. 0.3 30.10.2005 Laura Lehtola Käyttötapausten tarkennus, korjauksia 1.0 30.10.2005 Elina Kontro Ohjelmontitehtävät, aikataulutusta. Palautettava versio 2.0 8.11.2005 Elina Kontro Tarkennettu tavoitteita ja tuotoksia käyttötapausten osalta, lisätty yhteys käyttötapausten ja ohjelmointitaskien välille 1
1 Johdanto Projektin keskeisenä tavoitteena on tuottaa käytettävyydeltään helposti opittava ja miellyttävä graafinen käyttöliittymä olemassa olevaan CoSCA (Coordination of Supply Chain Activities) - simulaattoriin. Tämän dokumentin tarkoitus on kuvata CoSCA simulaattorin jatkokehitysprojektin Toteutusiteraatio 1 (I1- iteraatio) keskeiset tavoitteet ja tehtävät. Tässä dokumentissa kuvatut asiat vastaavat pääosin projektisuunnitelman lukua 6.2 Toteutusiteraatio 1 (I1). 2
1.1 Tavoitteet Toteutusiteraatio 1:n tavoitteena on sopia asiakkaan kanssa iteraatiossa toteutettavat vaatimukset, käyttötapaukset, vaatimumäärittelydokumentin pohjalta tehdä tuotteesta ensimmäinen toimiva ohjelmaversio, joka toteuttaa sovitut vaatimukset ohjelmaversiossa ole yhtään sellaista avointa virhettä, joka estäisi vaatimusten mukaisen käytön iteraation lopussa toteustustyö saadaan tehtyä työmääräarvoiden puitteissa käyttötapausten tarkentaminen ylätason arkkitehtuurisuunnitelman dokumentointi laatusuunnitelman dokumentointi 3
1.2 Tuotokset I1-iteraatiossa tuotoksina tuotetaan seuraavat asiat: toimiva ohjelmaversio vaadituilla ominaisuuksilla (taulukko 1) sekä dokumentit ja muut tuotokset, jotka vastuineen on lueteltu taulukossa 2. Taulukossa 1 on lueteltu I1-iteraatiossa toteutettavat käyttötapaukset (tarkemmat kuvaukset vaatimusmäärittely dokumentissa). Toteutettavat käyttötapaukset on sovittu yhdessä asiakkaan kanssa tämän asettamien prioriteettien perusteella. Iteraatioon valitut vaatimukset on lisäksi jaettu kahteen prioriteettiluokkaan. Prioriteetilla ehdoton, on merkitty ne vaatimukset, joiden toteuttamatta jättäminen estäisi järjestelmän toimimisen. Prioriteetillä tärkeä olevat käyttötapaukset ovat tärkeitä, mutta niiden mahdollinen keskeneräisyys ei estäisi kokonaan simulaattorin käyttöä. Taulukko 1. I1 iteraatiossa totetutettavat käyttötapaukset ID Nimi Prioriteetti Työmääräarvio UC1 Systeemin määrittäminen UC1.1 Esimerkkisysteemin käyttäminen Ehdoton 9 UC2 Työvirran määrittäminen UC2.1 Esimerkkityövirran valitseminen Ehdoton 14 UC3 Kustannusrakenteen määrittäminen UC3.1 Esimerkkikustannusrakenteen valitseminen Ehdoton 14 UC4 Simulaation aikajänteiden määrittäminen UC4.1 Simulaation kokonaiskeston ja tarkasteluvälien Tärkeä 14 määrittäminen UC5 Käytettävien päätössääntöjen valinta UC5.1 Käytettävien päätössääntöjen (prioriteetti- ja vapautus-) Ehdoton 18 valinta alisysteemikohtaisesti UC6 Tulosten tarkastelu UC6.1 Tulosarvojen tarkastelu simulaation lopussa Ehdoton 15 UC6.2 Tulosarvojen tarkastelu simulaation välietapeissa Tärkeä 33 UC7 Simulaation ajaminen UC7.1 Simulaation käynnistys Ehdoton 6 UC7.2 Simulaation keskeytys Tärkeä 8 UC7.3 Simulaation lopetus Ehdoton 6 Taulukko 2. I1 iteraatiossa tuotettava dokumentaatio ja niiden vastuuhenkilöt Tuotos Projektisuunnitelma, päivitetty Vastuuhenkilö Elina Kontro Laadunvarmistussuunnitelma Santeri Saarinen Testausdokumentit Santeri Saarinen 4
Testitapaukset Testausraportti Testauslogi Vaatimusmäärittelydokumentti, päivitetty Laura Lehtola Tekninen määrittely Vesa Haukkavaara SEPA-päiväkirja: Coding Camp Kari Ylihärsilä, Samuel Korpi SEPA-päiväkirja: Staattiset menetelmät Santeri Saarinen SEPA-päiväkirja: Käytettävyyden arviointi Aleksi Airola, Vesa Haukkavaara, Elina Kontro I1-iteraation tilanneraportti Elina Kontro Käyttöliittymäprototyyppi Aleksi Airola 5
1.3 Tehtävät ja työmääräarviot Taulukossa 3 on esitetty I1-iteraation tehtävät ja niiden työmääräarviot henkilöittäin. Taulukko 3. I1-iteraation tehtävät sekä niihin allokoidut työmäärät henkilöittäin I1 EE Elina Laura Kari Santeri Samuel Aleksi Vesa 563,5 77,5 51,5 75,5 89,5 83,5 88,5 97,5 Projektinhallinta 124,5 32,5 19,5 13,5 13,5 13,5 13,5 18,5 Projektinhallinnointi 15,0 6,0 2,0 1,0 1,0 1,0 1,0 3,0 Projektin status raportointi 8,0 5,0 1,0 2,0 Iteraatiodemo 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Projektisuunnittelu 17,0 12,0 2,0 0,0 0,0 0,0 0,0 3,0 Projektisuunnittelua 11,0 7,0 1,0 3,0 Projektisuunnitelman kirjoittaminen 6,0 5,0 1,0 Informointi ja kommunkointi 92,5 14,5 15,5 12,5 12,5 12,5 12,5 12,5 Viikkopalaverit 66,5 9,5 9,5 9,5 9,5 9,5 9,5 9,5 Asiakaspalaverit 0,0 Mentorpalaverit 14,0 2,0 2,0 2,0 2,0 2,0 2,0 2,0 Muut mahdolliset palaverit 0,0 Asiakaskommunikointi 3,0 3,0 Mentorkommunikointi 1,0 1,0 Projektiryhmän kommunikointi 8,0 2,0 1,0 1,0 1,0 1,0 1,0 1,0 Ohjelmistonsuunnittelu 110,0 11,0 12,0 19,0 0,0 14,0 20,0 34,0 Käyttäjätutkimus 0,0 Vaatimustenselvittäminen 1,0 1,0 Vaatimusmäärittelydokumentti 4,0 4,0 Käyttöliittymä proto 18,0 6,0 2,0 7,0 3,0 Käyttöliittymän suunnittelu 15,0 5,0 5,0 3,0 2,0 Arkkitehtuurisuunnittelu 72,0 Ylätason arkkitehtuuri 44,0 13,0 12,0 4,0 15,0 Alemmantason arkkitehtuurisuunnittelu 18,0 4,0 4,0 10,0 Teknisenmäärittelydokumentin kirjoitus 10,0 2,0 2,0 2,0 4,0 Laadunvarmistus 75,0 20,0 2,0 4,0 25,0 4,0 11,0 9,0 Laatusuunnitelma 7,0 3,0 4,0 Laatusuunniteman dokumentointi 5,0 2,0 3,0 Testassuunnitelma 5,0 1,0 4,0 Testauksen suorittaminen 22,0 2,0 2,0 12,0 2,0 2,0 2,0 Koodikatselmoinnit 6,0 1,0 1,0 1,0 1,0 1,0 1,0 Käytettävyystestit 17,0 9,0 3,0 5,0 Heuristinen arvio 6,0 2,0 4,0 Dokumenttikatselmoinnit 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Vertaistestaus 0,0 Työkalujen käyttöönotto ja ohjeistus 4,0 2,0 0,0 0,0 0,0 0,0 2,0 0,0 Projektihallinnan työkalut 2,0 2,0 Kehitystyökalujen valinta 2,0 2,0 Työkalujen käyttöönotto 0,0 Ohjeistus 0,0 Ohjelmointi 157,0 0,0 11,0 22,0 36,0 37,0 29,0 22,0 6
Käyttöliittymätoteutus 41,0 Konfigurointi-Wizard 15,0 7,0 8,0 Tulosikkuna 8,0 8,0 Muu käyttöliittymätoteutus 18,0 3,0 15,0 Simulaation Luonti 15,0 Simulaation Luonti 15,0 15,0 Simulaattorin hallinta 30,0 Perustoiminnallisuus 8,0 8,0 Askeltaminen eteenpäin 10,0 5,0 5,0 Askeltaminen taaksepäin 12,0 6,0 6,0 Simulaattorin komponettien hallinta 39,0 Simulaatio-objekti rajapinnan toteutus 10,0 5,0 5,0 Job Factory -rajapinnan toteutus 16,0 10,0 6,0 Resurssinen hallinta rajapinnan toteutus 13,0 5,0 8,0 Simulaation raportointi 12,0 Simulaation raportointi 12,0 7,0 5,0 Integrointi 9,0 Integrointi 9,0 5,0 4,0 Koodin kommentointi 11,0 Koodin kommentointi 11,0 1,0 2,0 2,0 2,0 2,0 2,0 Opiskelu 60,0 5,0 6,0 11,0 9,0 10,0 9,0 10,0 Aihealueeseen perehtyminen 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Simulaattoriin perehtyminen 22,0 1,0 2,0 5,0 3,0 4,0 3,0 4,0 Työkaluihin perehtyminen 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Teknologia 17,0 1,0 1,0 3,0 3,0 3,0 3,0 3,0 Ohjeistukseen perehtyminen 7,0 1,0 1,0 1,0 1,0 1,0 1,0 1,0 Muu dokumenointi 33,0 7,0 1,0 6,0 6,0 5,0 4,0 4,0 Dokumenttien kirjoitus 8,0 2,0 1,0 1,0 1,0 1,0 1,0 1,0 SEPA päiväkirjat 25,0 5,0 5,0 5,0 4,0 3,0 3,0 Karkealla tasolla ohjelmointiosa-alueen toteutus jakautuu siten, että iteraation ensimmäisen puoliskon aikana keskitytään enemmän käyttöliittymän ja simulaation välisen välipalikan luomiseen ja täten käyttöliittymän ja olemassa olevan simulaattorin väliseen kommunikointiin ja jälkimmäisellä puoliskolla itse käyttöliittymän toteutukseen. Taulukossa 3 on esitetty alustava Ohjelmointi osa-alueen tehtävien suorittamiseen liittyvät alitehtävät, työmääräarvioineen yksityiskohtaisemmalla tasolla sekä jaettu ne iteraation kahden toteutussyklin kesken (kts. luku 2.4 Vaiheistus ja aikataulutus). Alitehtäviä ja niiden työmääräarvoita tarkennetaan, kun ylätason arkkitehtuuri viimeistellään viikon 44 aikana. [Huom! Arkkitehtuurisuunnittelu on tällä hetkellä projektiryhmän wiki-sivulla, eikä vielä omassa dokumentissaan, johon voisi viitata. Taulukon 3 termit voivat siitä syystä olla epäselviä wiki-sivuun tutustumattomalle henkilölle.] 7
Taulukko 4. I1-Iteraation Ohjelmointi-osa-alueen tehtävät jaettuna toteutusvaiheen sykleille Käyttötapaus 1.sykli 2.sykli Työmääräarvio Simulaation luonti 15 Tyhjän simulaation luonti UC1.1, UC2.1, UC3.1, UC4.1, UC5.1 x 5 Yhden esimerkkisimulaation luonti UC1.1, UC2.1, UC3.1, UC4.1, UC5.1 x 5 Kaikkien esimerkkisimulaatioiden UC1.1, UC2.1, luonti UC3.1, UC4.1, UC5.1 x 5 Simulaattorin hallinta 30 Perustoiminnallisuus UC7.1, UC7.2, UC7.3 x 8 Askeltaminen eteenpäin UC4.1, UC6.2 x 10 Askeltaminen taaksepäin UC6.2 x 12 Simulaation komponenttien hallinta 39 Simulaatio-objektien rajapinnan UC7.1, UC7.2, UC7.3 toteutus x 10 UC2.1,UC3.1,UC5.1 Job factory rajapinnan toteutus x x 16 Resurssienhallinta -rajapinnan UC1.1, UC1.3 toteutus x x 13 Simulaation raportointi 12 Nykyisen raportoinnin integrointi UC6.1, UC6.2 x 7 Tulosten Numeerinen raportointi UC6.1, UC6.2 x 5 Käyttöliittymätoteutus 41 UC1.1, UC2.1, Konfigurointi-wizardin toteutus UC3.1, UC4.1, UC5.1 x 8 Tulosikkuna UC6.1, UC6.2 x x 15 Muut käyttöliittymän osat UC1, UC2, UC3, UC4, UC5, UC6, UC7 x x 18 8
1.4 Vaiheistus ja aikataulutus I1-iteraatio jakaantuu neljään sykliin: Suunnittelu-, kahteen toteutus- ja viimeistelysykliin. Suunnittelusyklissä pääpaino on iteraatio-, laatu- ja arkkitehtuurisuunnittelussa sekä käyttöliittymäprototyypin tekemisessä ensimmäistä käytettävyystestiä varten. Varsinainen toteutusvaihe jakaantuu siis kahteen sykliin; molemmat syklit sisältävät toteutusta ja yksikkötason testausta sekä koodikatselmointia. Ohjelmointiin liittyvien tehtävien jakaantuminen syklien välillä on kuvattu luvussa 2.3. Kuvaan 1 merkityt testauspisteet sisältävät ylemmäntason testausta, tarkemmin iteraation testaukset kuvataan erillisessä laadunvarmistussuunnitelmassa. Viimeistelyvaihe sisältää eri testaustasojen lisäksi korjaukset ja iteraatiodemon valmistelut. Työn edistymistä seurataan viikoittain, mutta välietapissa tehdään tarkempi tilannekartoitus ensimmäisen toteutussyklin tehtävien osalta ja tarkistetaan mm. riskitilanne. Syklit, niiden aikataulutus ja iteraation keskeiset tapahtumat on esitetty kuvassa 1. 2005 42 43 44 45 46 47 48 49 Toteutus Viimeistely 7.12 19.10 Suunnittelu Suunnittelusykli Iteraatio demo Ylätasontestaus Team WorkShop Toteutussykli Välietappi Coding Camp Viimeistelysykli Käytettävyyden arvioinnit Kuva 1. I1 Iteraation vaiheistus ja etapit 9
Taulukkoon 5 on tarkennettu iteraation aikataulutusta viikkotasolla, päivämäärät on ilmoitettu mikäli ne ovat tässä vaiheessa tiedossa. Taulukko 5. I-iteraation aikataulutus viikkotasolla I1 iteraatio 21.10. - 8.12.2005 Vko 43 Suunnittelu 25.10 Team WorkShop Iteraation suunnittelu Arkkitehtuurisuunnittelua Proton suunnittelu ja toteutus Vko 44 Toteus 1 I1-iteraatio suunnitelman ja Laatusuunnitelman lähetys asiakkalle 31.10. ja ohjaajalle 31.10. Käytettävyystesti (ryhmäläpikäynti) Ylätason arkkitehtuurin viimeistely Toteus alkaa Vko 45 Toteutus 1 Toteutusta 10.11 Coding Camp 11.11 Yksikkötason testausta Vko 46 Toteutus 1 loppuu, Toteutus 2 alkaa Toteutusta 16.11 Yksikkötason testausta 17.11 Modulitestaus 18.11 Välietappikatselmus Vko 47 Toteutus 2 Coding Camp Toteutusta 23.- 24.11 Yksikkötason testausta Dokumentaation viimeistelyä 25.11 Integrointitestaus Vko 48 Viimeistely 28.- 29.11 Systeemitestausta 30.11 Katselmoitavien dokumentit katselmointiryhmälle Korjauksia 2.12 Demo valmistelut 2.12 Palautettavien dokumenttien katselmukset Vko 49 5.12. Vaiheen dokumenttien palautus 5.12 Heuristinen arvio 7.12 I1 iteraatio demo 7.12 I2 iteraation suunnittelupalaveri asiakkaan kanssa 8.12 Käytettävyystestit 10
2 PP-iteraation toteuma Seuraavissa taulukoissa on kooste edellisen iteraation toteutuneista tunneista. Taulukko 6. PP-iteraation työmääräarvio, toteuma henkilöittäin Arvio PP Toteuma Erotus Elina 88 82,5 5,5 Laura 80 76 4 Kari 78 72 6 Santeri 23 28-5 Samuel 23 19 4 Aleksi 23 25,5-2,5 Vesa 22 13,5 8,5 Yhteensä 337 316,5 20,5 Taulukko 7. Kooste PP-iteraation työmääräarvioista ja toteumista tehtävittäin PP EE CUM DIFF 337,0 316,5 20,5 Projektinhallinta 127,0 174,0-47,0 Rekrytointi 4,0 5,0-1,0 Projektinhallinnointi 8,0 9,0-1,0 Projektisuunnittelu 47,0 68,0-21,0 Informointi ja kommunkointi 68,0 92,0-24,0 Ohjelmistonsuunnittelu 64,0 44,5 19,5 Käyttäjätutkimus 2,0 1,5 0,5 Vaatimustenselvittäminen 13,0 4,0 9,0 Vaatimusmäärittelydokumentti 13,0 21,0-8,0 Käyttöliittymä proto 22,0 6,5 15,5 Tekninenmäärittely 6,0 2,5 3,5 Arkkitehtuurisuunnittelu 8,0 9,0-1,0 Laadunvarmistus 20,0 9,0 11,0 Työkalujen käyttöönotto ja ohjeistus 29,0 25,5 3,5 Ohjelmointi 0,0 0,0 0,0 Opiskelu 93,0 59,0 34,0 Muu dokumenointi 4,0 4,5-0,5 11