Harjoitukset 1-2
Kirjoita asiapitoinen essee (pituudeltaan noin 4 sivua) aiheesta ohjelmistokomponenttien (eli ohjelmakoodin) uudelleenkäyttö. Tarkastele kirjoituksessasi mm. seuraavia kysymyksiä:
Harjoitus 3
Suunnittele GANTT-kaavioina omien opintojesi eteneminen alkaen tästä hetkestä ja päättyen loppututkintoon. Kuvaa erilliset opintojaksot (kurssit, seminaarit, laboratoriotyöt) kaaviossasi yksittäisinä tehtävinä. Löytyykö kaaviosta opiskeluprojektisi kriittisiä polkuja?
Harjoitus 4-5: Tee joko a tai b!
b) Tutustu johonkin versionhallintajärjestelmään, myös kokeilemalla! (man sccs, rcs, cvs)
Valmistaudu selostamaan ohjelmiston perustoimintatapaa ja olennaisimipia piirteitä max. 5 minuutin esityksenä.
Tavoitteena on toteuttaa yksinkertainen tietokantasovellus, jonka kooksi on arvioitu 10.000 riviä ohjelmakoodia.
a) Sovelluksen toteuttaa kokenut ryhmä: ACAP =VH, AEXP=VH. PCAP=VH, VEXP=H, LEXP=H
b) Sovelluksen toteuttaa ryhmä kokematon ryhmä: ACAP =VL, AEXP=VL. PCAP=VH, VEXP=VL, LEXP=VL
Kuinka monta henkilötyö- ja kalenterikuukautta projekti vaatii vaihtoehdoissa a ja b COCOMO-mallin intermediate/helppo-version mukaan? Entä jos sovelluksen arvioitu koko olisi miljoona riviä? Vaikuttavatko ryhmien väliset suorituskykyerot uskottavilta?
Alustus: Himolukijat ry on päättänyt hankkia uuden sukupolven kirjallisuudenopetusohjelmiston. Ohjelmistolla on tarkoitus suunnitella sivistäviä lukulistoja erilaisiin sivistystarpeisiin. Ohjelmisto sisältää ennakkoon määriteltyjä, sivistäviä kirjaluetteloja, kirjakuvauksia ja kirjailijatietoja. Kirjaluetteloissa tietyn kirjan voi korvata esimerkiksi eri kirjailijan samaa teemaa käsittelevällä kirjalla. Jokaisesta kirjasta tiedetään sen "opetus", sekä lukijakunnan sovelias ikäkausi. Kirjaluettelot voidaan ryhmitellä tyypin mukaan: Suomen kulttuuri, tiimityö, ohjelmointi, jne. Kukin kirja voi kuulua useaan ryhmään. Käyttäjä antaa ohjelmalle lukijan iän ja kirjaluettelon pituuden, ohjelma rakentaa sopivan listan otettavaksi mukaan kirjastoon tai kirjakauppaan.
Työmuoto: Harjoituksissa jakaudutaan 3-4 hengen ryhmiin. Puolet ryhmistä toimivat asiakkaina, puolet projektiväkenä. Tavoitteena on tehdä kattava ensiarvio halutusta ohjemistosta.
a) Käyttäkää alustusta runkona ja selvittäkää asiakkaan vaatimukset. Ongelmat kannattaa jakaa osaongelmiin ja kysymyksiä/vastauksia miettiä etukäteen. Omia vaatimuksia pitää keksiä! Miten jakaisitte tämän osavaiheen (asiakkaan toiveet ja vaatimukset) osaavaiheiksi?
b) Laskekaa kustannusarvio ja henkilömäärä projektille LOC-menetelmällä. Oletetaan, että kustannus/rivi on 75 mk, ja LOC/henkilötyökuukausi on 500.
c) Oletetaan, että projektin totetukseen tarvitaan 85% C++-ohjelmaa, ilman olemassaolevia oliokirjastoja ja 15 % koodigeneraattoreita. Laskekaa FP-menetelmällä arvio ensimmäisen version kustannuksille. Laskevatko kustannukset jatkossa?