Ohjelmistotuotanto, k2001, harjoitus 7

 
  1. Function points forever... Jo miltei valmiiksi saamaamme toimintopistetyökaluun halutaan viime hetkellä ottaa mukaan työmäärän (henkilötyökuukaudet) ja projektin aikataulun arviointi. Tarjolle päätetään laittaa muutama kirjallisuudesta löydetty kaava. Näitä ei kuitenkaan pidetä täysin tyydyttävinä ja ohjelmassa tulisikin varaututua siihin, että uudempi tutkimus tuottaa uusia parempia kaavoja, jotka pitäisi vaivattomasti saada mukaan ohjelmistoon. Miten tämä vaikuttaa ohjelman rakenteeseen (luokkakaavioon)? Harkitse suunnittelumalleja.

  2. Tarkastellaan kaavioeditoria, jolla pystytään piirtämään pallukoita ja yhdistämään niitä viivoilla. Sekä pallukkoihin että viivoihin voidaan liittää kohtuullisen paljon kuvailevaa informaatiota. Pallukka luodaan jonkin muotoisena, mutta sen muotoa voidaan vaihtaa. Viivojen pitää lähteä ja päätyä pallukan reunaan. Hahmottele tähän sopiva luokkakaavio. Mieti erityisesti olioiden luontia ja muodon vaihtoa ja näitä tukevia suunnittelumalleja.

  3. Kaavioeditorin yhteydessä olisi näppärää saada peruutettua tehtyjä toimenpiteitä. Minkälaisia luokkia peruutuksen hoitaminen toisi mukaan ohjelmarakenteeseen. Mieti peruutusten laajuutta ja peruutusta varten tallennettavaa tietoa?

  4. Selvitä itsellesi (ja varaudu selvittämään muille laskariryhmäläisille) MVC-arkkitehtuurin käyttötarkoitus ja idea (MVC= Model-View-Controller, liittyy käyttöliittymän ja sisältöluokkien yhteistyöhön).

  5. Oletetaan, että projektisuunnitelma on tallennettu toimintaverkkona, jonka solmuissa on tiedot suunnitelluista ja toteutuneista tehtävän alkamis- ja päättymisajoista, tehtävän resurssitarpeet sekä kytkentä tekijöihin. Rakenteen pohjalta tuotetaan Gantt-kaavio, hierarkkisia tekstiraportteja tehtävittäin ja henkilöittäin sekä erilaisia yhteenvetoraportteja. Mieti millaista luokkarakennetta ja ratkaisumalleja tässä kannattaisi käyttää.


Harri Laine, 25.2.2002