Skip to content
Joolaa edited this page Oct 26, 2014 · 3 revisions

Ohjelmistotuotannon miniprojektin loppuraportti - ryhmä Hirvensarvet

Lasse Leppänen

Joosua Laakso

Petri Pihlajaniemi

Juha Kivekäs

Miniprojektin aiheena oli tuottaa ohjelmisto, jonka avulla pystyy helposti tuottamaan ja muokkaamaan Bibtex-lainauksia. Bibtex on viittaustenhallintatyökalu jota käytetään yleisesti esimerkiksi tieteellisten artikkelien tuotannon apuvälineenä. Bibtex-viittaukset tallennetaan Bibtex-tiedostoihin, joilla on oma Bibtex-syntaksi, joista viittauksia voi kätevästi liittää kirjoittamiinsa kirjallisiin teoksiin.

Sprint 1:

Ensimmäisellä viikolla suunnittelimme ohjelman perimmäisiä kysymyksiä, kuten käyttämämme kielen ja käyttöympäristön. Olimme kaukaa viisaita ja valitsimme Javan, koska kaikki osaavat sitä käyttää. Emme halunneet tehdä web-sovellusta, vaan päätimme tehdä retrotyylisen komentoriviohjelman.

Sprinttiin valittiin artikkeli-luokan teko ja käyttäjälle mahdollisuus luoda uuden artikkeli-tyyppinen viite. Tämä lupaus oli sopivan realistinen, saimme testit ja lupaamamme toiminnot tehtyä helposti.

Lisäksi valmisteltiin muut projektiin liittyvät asiat, kuten Jenkins-palvelimen säätö ja Trello-ilmoitustaulu, nämä onnistuivat yllättävän nopeasti.

Sprintin suurin ongelma oli tehtävien jakaminen, meillä ei ollut selvää työnjakoa vaan päällekkäisyyden välttämiseksi jouduimme välillä selvittelemään kuka on tekemässä mitäkin.

Sprint 2:

Toisessa sprintissä työskentely oli jo huomattavasti sujuvampaa kun ensimmäisessä sprintissä, kun olimme päässeet paremmin vauhtiin työskentelyssä ja projektin lopputavoite oli hieman selventynyt. Toisessa sprintissä toteutettiin ohjelmistoon syötetyn datan muuttaminen Bibtex-muotoon, syötetyn datan validointi, syötetyn datan tallentaminen Bibtex-tiedostoon ja se, että sitaatin kenttien täytyy olla Bibtex-standardin mukaisia.

Toisella viikolla ei oikeastaan ollut mitään suurempia ongelmia, infrastruktuuri oli jo pystyssä ensimmäisen viikon jäljiltä ja toisen sprintin loputtua ohjelmisto alkoi jo suurin piirtein muistuttamaan sen lopullista muotoa. Integraatiotestit otettiin käyttöön toisella viikolla käyttäen EasyB-integraatiotestityökalua.

Sprintin aikana ohjelmiston koko ja monimutkaisuus kasvoi huomattavasti, joka aiheutti jonkin verran kitkaa työskentelyyn, koska piti jatkuvasti olla ajan tasalla siitä, mitä muut olivat tekemässä ja tehneet. Siitä ei kuitenkaan aiheutunut mitään suuria ongelmia ja työ eteni hyvin.

Sprint 3:

Kolmas sprintti oli ensimmäinen sprint jossa tehtiin jonkinlaista estimointia. Kolmatta sprintiä edeltäneessä kokoontumisessa pelattiin niin kutsuttua ‘planning pokeria’, jonka avulla ryhmän jäsenet pyrkivät arvioimaan eri user storyjen totettamisen vaikeustasoja. Kolmanteen sprinttiin tehtiin ennakkoon pelottavin ominaisuus, ohjelman tallentamaan Bibtex-tiedoston avaaminen ja tulkitseminen. Arviomme tämän ominaisuuden planning pokerissa vaikeimmaksi, ja siihen kuluikin eniten aikaa ja apuna käytettiin JParsec-kirjastoa. Lisäksi toteutettiin muistissa olevan artikkelin muokkaus ja muutama uusi viitetyyppi.

Yhteenveto

Kokonaisuutena miniprojekti onnistui hyvin. Aluksi olisi tosin kannattanut käyttää hieman enemmän aikaa yleisen arkkitehtuurin suunnitteluun. Varsinkin UI-toteutuksesta tuli hieman “ruma” johtuen vähäisestä ennakkosuunnittelusta.

Miniprojektista oppi paljon käytännön asioita integraatio- ja yksikkötestien, CI-työkalujen sekä versionhallinnan käytöstä ryhmäprojektissa. Erityisen arvokasta oli saada kokemusta työskentelystä sellaisen koodin kanssa, jonka kehittämiseen osallistui useita ihmisiä ja joka muuttui jatkuvasti.

Clone this wiki locally