L models. Projektisuunnitelma. Ryhmä Rajoitteiset
|
|
- Timo Pakarinen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Projektisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset Jouni Karppinen Dokumenttipohja otettu käyttöön Hannu Kauppinen Lisätty paljon sisältöä Hannu Kauppinen Viimeistelty sisältöjä, lisätty taulukoita kurssin vaatimusten mukaisesti Tuomas Luttinen Kuvausta teknisestä puolesta lisätty Jouni Karppinen & Mitro Kuha Lisätty riskienhallintaa koskeva osuus. Dokumentti tarkastettu ja korjattu PP-vaiheen palautusta varten Hannu Kauppinen Päivitetty dokumenttia palautteen perusteella sekä täsmennetty projektin vaiheiden kuvauksia Hannu Kauppinen Muutettu organisaatiorakennetta ja lisätty uusien työkalujen kuvaukset Jouni Karppinen Päivitetty aikataulutuskappaletta. Dokumentti tarkastettu ja korjattu I1-vaiheen palautusta varten.
2 Sisällysluettelo 1 Esittely Projektin tarkoitus ja tavoite Järjestelmä ja ympäristö Oikeudet projektin lopputuloksiin Projektin sidosryhmät Työryhmä Jouni Karppinen Hannu Kauppinen Joonas Kekoni Mitro Kuha Tuomas Luttinen Vesa Salento Kalle Valo Asiakas Kurssin edustajat Projektin tavoitteet ja päätöskriteerit Asiakkaan tavoitteet Työryhmän tavoitteet Jouni Karppinen Hannu Kauppinen Joonas Kekoni Mitro Kuha Tuomas Luttinen Vesa Salento Kalle Valo Yhteenveto Projektin keskeytyskriteeri Projektin päätöskriteeri Resurssit ja talousarvio Henkilöresurssit Materiaalit Talousarvio Työkäytännöt ja työkalut Työkäytännöt Testauskäytäntö Ohjelmointikäytäntö Dokumentointikäytäntö Kokouskäytäntö Yhteenveto henkilökohtaisista harjoituksista Käytetyt työkalut Java GNU Make CVS JLex... 14
3 5.2.5 Cup GNU Linear Programming Kit (GLPK) Bugzilla Trapoli OpenOffice.org Javadoc Dia CCCC JUnit HttpUnit Checkstyle PMD FindBugs Noudatetut standardit Aikataulutus Yleiskuva Projektin suunnittelu Toteutus Toteutus Toteutus Toimitus Riskienhallintasuunnitelma Riskien kartoitus Projektinaikainen riskienhallinta Riskien luokittelu ja analysointi Valmiit komponentit Osaaminen Mentor Ryhmä Laitteistot Asiakas Viitteet... 24
4
5 1 Esittely 1.1 Projektin tarkoitus ja tavoite Projektin tavoitteena on kehittää Teknillisen korkeakoulun Ohjelmistoliiketoiminnan ja -tuotannon instituutin WeCoTin (Web Configuration Technology) -tutkimusryhmälle lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija, jota tutkimusryhmä voi hyödyntää osana omaa järjestelmäänsä. WeCoTin-projektissa tutkitaan verkkokaupan ja verkostotalouden vaikutuksia tuotekonfiguroinnin prosesseihin ja konfiguraattoreihin. Ideoita demonstroidaan edistyneellä konfiguraattoriprototyypillä. [1] Projektin kuluessa on tarkoitus myös tutustua nykyisiin työkaluihin lineaaristen rajoitteiden tyydyttämistehtävien ratkaisemiseksi sekä näiden käyttökelpoisuuteen verkkosovelluksissa. 1.2 Järjestelmä ja ympäristö Järjestelmä toteutetaan Java-ohjelmointikielellä, jotta asiakas pystyy käyttämään kehitettyä järjestelmää missä tahansa laiteympäristössä, johon on saatavilla Javavirtuaalikone. Järjestelmän arkkitehtuuri perustuu yksinkertaiseen asiakas-palvelinrakenteeseen, ja testikäyttöä varten järjestelmään tehdään selaimella toimiva käyttöliittymä. 1.3 Oikeudet projektin lopputuloksiin Projektin päättyessä projektin lopputulokset luovutetaan asiakkaalle hyödynnettäviksi tieteellisessä tutkimuksessa. Tutkimustarkoitukseen asiakas saa järjestelmään käyttö- ja jatkokehitysoikeudet. Tämän lisäksi asiakkaan kanssa on sovittu, että ryhmä saa tietyn korvauksen järjestelmän mahdollisesta kaupallisesta hyödyntämisestä. Tästä tehdään erillinen sopimus Teknillisen korkeakoulun ja projektiryhmän jäsenten välille. 1
6 2 Projektin sidosryhmät Projektin sidosryhmät voidaan jakaa kolmeen ryhmään. Oleellisimman ryhmän muodostaa projektia suorittava ryhmä eli työryhmä. Kaksi muuta sidosryhmää ovat asiakkaan edustajat sekä kurssin edustajat. 2.1 Työryhmä Työryhmän muodostavat Jouni Karppinen, Hannu Kauppinen, Joonas Kekoni, Mitro Kuha, Tuomas Luttinen, Vesa Salento ja Kalle Valo. Vastuunjako projektin sisällä on jaettu kahteen osaan, prosessivastuisiin ja osa-aluevastuisiin. Osa-alueet viittaavat tässä valmistuvan järjestelmän toiminnallisiin osa-alueisiin. Vastuunjako on esitetty kaavioissa 1 ja 2. Prosessivastuut Projektipäällikkö Vaatimusten hallinta Dokumentointi Pääarkkitehti Testaus Kaavio 1: Ryhmän sisäiset prosessivastuut. Hannu Kauppinen Vesa Salento Jouni Karppinen Tuomas Luttinen Kalle Valo Osa-aluevastuut Mallien käsittely Kontrolleri Asiakas-palvelin -rakenne Käyttöliittymä Joonas Kekoni Tuomas Luttinen Vesa Salento Mitro Kuha Kaavio 2: Ryhmän sisäiset osa-aluevastuut. Jakamalla vastuut kahteen eri kategoriaan on tarkoitus varmistaa asioiden hallinta kokonaisuuksina useista eri näkökulmista. Toisaalta vastuut on jaettu osa-alueisiin tehtävien mukaan (kuten vaatimusten hallinta tai testaus), toisaalta taas lopputuotteen kokonaisuuksien mukaan (kuten kontrolleri tai käyttöliittymä). Osa-aluevastuita saatetaan täsmentää projektin edetessä. Vastuunjaon ansiosta jokaisesta yksittäisestä tehtävästä on vastuussa kaksi henkilöä, toinen tehtävän luonteen mukaisesti ja toinen lopputuotteen kokonaisuuden mukaisesti. Tällä varmistetaan se, että kaikkia työmenetelmiä noudatetaan samalla tavalla kaikissa komponenteissa ja että lopputuotteen kokonaisuudet ovat todella kokonaisuuksia. Oleellista on kuitenkin huomata, että vastuullisuus tietystä tehtävästä ei tarkoita samaa kuin velvollisuus toteuttaa kyseessä oleva tehtävä. Tehtävät jaetaan resurssitilanteen mukaisesti eri henkilöille. Vastuullisilla on tällöin velvollisuus huolehtia, että toteuttajan ratkaisut ovat linjassa toisaalta komponentille asetettujen tarpeiden ja vaatimusten kanssa ja toisaalta koko projektin menetelmien kanssa. 2
7 Lisäetuna malli luo automaattisen varavastuullisen kullekin tehtävälle, sillä mikäli projektia joudutaan toteuttamaan pitkän aikaa ilman dokumentointivastuuta, siirtyy vastuu dokumentoinnista kustakin komponentista vastaavalle henkilölle. Täydellistä suojaa henkilöriskeiltä tämä ei tarjoa, sillä yksittäisillä henkilöillä on sekä prosessi- että osaaluevastuita. Näin ollen syntyy tilanteita, joissa sama henkilö on vastuussa sekä prosessin että lopputuloksen kannalta. Projektipäällikkö vastaa vain projektin hallinnasta, sillä hänen vastuulleen kuuluvat erilaiset hallinnolliset tehtävät, joilla ei ole suoranaista yhteyttä mihinkään tehtäväalueeseen tai lopputuotteen kokonaisuuteen. Lisäksi projektipäällikkö ratkoo tarvittaessa mahdolliset erimielisyydet projektiryhmän jäsenten välillä. Kun tehtävillä on useita vastuullisia, ovat ristiriidat mahdollisia. Seuraavassa on lyhyt esittelyt kaikista projektiryhmän jäsenistä Jouni Karppinen Jouni on 6. vuosikurssin sähkö- ja tietoliikennetekniikan opiskelija. Hänen pääaineensa on ohjelmistojärjestelmät ja sivuaineina käyttöliittymät ja käytettävyys sekä vuorovaikutteinen digitaalinen media. Teknillisen korkeakoulun lisäksi Jouni opiskelee myös Helsingin Kauppakorkeakoulussa. Jouni on kiinnostunut dokumentointiprosesseista sekä käyttöliittymien kehittämisestä, erityisesti käytettävyydestä ja multimediasta Hannu Kauppinen Hannu on 6. vuoden tuotantotalouden opiskelija, jonka pääaine on yrityksen strategia ja kansainvälisen liiketoiminnan kehittäminen. Sivuaineenaan Hannu lukee digitaalisten tuotteiden kehittämistä. Hannu työskentelee Syslore Oy:n myyntijohtajana, mikä on tarjonnut hänelle mahdollisuuden tutustua kaupallisiin ohjelmistoprojekteihin. Hannu toimii projektissa projektipäällikkönä, mikä tarkoittaa, että hänen vastuullaan on ensisijaisesti raportointi sidosryhmille sekä projektin yleinen hallinnointi Joonas Kekoni Joonas opiskelee sähkötekniikan osastolla tietoliikenneohjelmistoja pääaineekseen ja sivuaineena digitaalista signaalinkäsittelyä. Hän on työskennellyt 4 vuotta täysipainoisesti ja nyt palannut koulun penkille saadakseen tutkintotodistuksen opinnoistaan. Joonaksen laajaa kokemusta erilaisista ohjelmistoprojekteista tullaan hyödyntämään laajalti toteutusvaiheiden vaikeimmissa tehtävissä kuten mallien ratkaisun optimoinnissa. 3
8 2.1.4 Mitro Kuha Mitro on opintojensa loppuvaiheessa oleva tietotekniikan opiskelija, joka lukee pääaineenaan vuorovaikutteista digitaalista mediaa ja sivuaineena sisällöntuotantoa. Mitrolla on työkokemusta ohjelmistoliiketoiminnasta kahden vuoden ajalta, mutta hän on tällä hetkellä täysipäiväinen opiskelija. Mitron ensisijainen vastuu on hänen kiinnostuksensa mukaisesti käytettävyys ja käyttöliittymä, mutta koska näiden rooli on projektissa pieni, tulee Mitro osallistumaan myös muihin tehtäviin Tuomas Luttinen Tuomas on tietoteekkari, jonka pääaineena on ohjelmistojärjestelmät. Sivuaineekseen Tuomas lukee vuorovaikutteista digitaalista mediaa. Tuomas on työskennellyt ohjelmistoalalla viimeiset kuusi vuotta, mikä on antanut hänelle merkittävästi näkemystä ohjelmistoprojektien toteutuksesta. Tuomaksen pääasiallinen vastuu on järjestelmän arkkitehtuurin hallinta. Lisäksi Tuomaksen kokemusta jäsennyspuista ja kieliä tulkitsevista järjestelmistä tullaan hyödyntämään projektin toteutusvaiheessa Vesa Salento Vesa on tietotekniikan opiskelija, jonka pääaineena on tietoliikenneohjelmistot. Hän on työskennellyt päätoimisesti viimeiset neljä vuotta ja siinä sivussa suorittanut tutkintoa eteenpäin. Tällä hetkellä valmistuminen näyttäisi sijoittuvat vuoden 2004 loppuun. Vesan kiinnostus on pääasiassa huolehtia koko järjestelmän toimivuudesta ja huolehtia, että asiat tehdään kunnolla. Vastuuna hänellä on vaatimusmäärittely, mutta hän on myös kiinnostunut testikäyttöliittymän tekemisestä sekä sen testaamisen automatisoinnista Kalle Valo Kalle on 6. vuosikurssin tietoliikennetekniikan opiskelija, jonka pääaineena on ohjelmistojärjestelmät ja sivuaineena tietoliikenneohjelmistot. Kalle on opiskeluaikoina työskennellyt useissa tietotekniikan tuotekehitykseen ja ylläpitoon liittyvissä tehtävissä eri yrityksissä. Kallen pääasiallinen vastuu projektin puitteissa liittyy järjestelmän testauksen järjestämiseen sekä projektiryhmän yhteisen koodikannan ympäristöstä huolehtimiseen. Tarpeen mukaan Kalle osallistuu myös muihin tehtäviin. 4
9 2.2 Asiakas Projektin asiakkaana toimii Teknillisen Korkeakoulun Ohjelmistoliiketoiminnan ja -tuotannon instituutin WeCoTin-tutkimusryhmä. Tutkimusryhmän projektipäällikkö Juha Tiihonen toimii projektin asiakkaana siten, kuin se kurssin puitteissa on määritelty, ja teknisenä neuvonantajana toimii Juha Nurmilaakso. Asiakas Juha Tiihonen (09) Tekninen neuvonantaja Juha Nurmilaakso (09) Kurssin edustajat Projekti toteutetaan osana Teknillisen Korkeakoulun kurssia T Tietojenkäsittelyopin ohjelmatyö. Tämä tarkoittaa, että asiakkaan ja työryhmän lisäksi projektia toteutettaessa on huomioitava myös kurssin vaatimukset. Kurssin puolesta työhön osallistuu ohjaajana eli mentorina Pietu Pohjalainen. Mentor Pietu Pohjalainen 5
10 3 Projektin tavoitteet ja päätöskriteerit 3.1 Asiakkaan tavoitteet Asiakkaan kannalta projektissa on kyse tutkimusprojektia edistävästä hankkeesta, jonka ensisijainen tavoite on saada tutkimusprojektin käyttöön lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija. Koska tämän projektin resurssit ovat rajalliset, on tärkeää, että järjestelmä toteutetaan siten, että sen jatkokehitys on mahdollisimman helppoa. Tieteellisesti oleellinen sisältö liittyy disjunktiivisen ja konjunktiivisen normaalimuodon käyttökelpoisuuden vertaamiseen konfiguraatiotehtävien ratkaisun yhteydessä. Projektin aikana ilmi tulleita asioita julkaistaan mahdollisesti myös tieteellisissä julkaisuissa tutkimusryhmän jäsenten puolesta. Asiakkaan tavoitteet on esitetty taulukossa 1. Ne on numeroitu tärkeysjärjestykseen siten, että ensimmäinen on tärkein. Tavoite 1. Saada tutkimusryhmän käyttöön määritelty ratkaisija. 2. Mallien kuvaamiseen käytetty kieli kattaa kaikki suunnitellut käyttötarkoitukset. 3. Pystyä käyttämään järjestelmää pohjana jatkokehitykselle. Varmistuskriteeri Asiakkaan edustaja pystyy ratkaisemaan kielellä esitetyn mallin omalla koneellaan. Kielen määrittely tehdään läheisessä yhteistyössä asiakkaan kanssa, ja asiakas hyväksyy kielen määrittelyn. Asiakas hyväksyy projektin dokumentaation ja lisenssin. 4. Julkaista aiheesta tieteellisiä artikkeleita. Asiakas on tyytyväinen saamaansa palautteeseen kehityksen aikana ilmitulleista asioista. 5. Disjunktiivisen ja konjunktiivisen normaalimuodon käytettävyyden vertailu. 6. Jatkokehitystä voi tehdä myös eisuomalainen tutkija. 7. Järjestelmän pohjana olevaa ratkaisijakomponenttia voi vaihtaa. 8. Järjestelmässä tulee käyttää vain vapaita ohjelmistoja. Dokumentaatio sisältää raportointia muotojen välillä olevista eroista ratkaisun kannalta. Ohjelmakoodi kommentteineen on kirjoitettu englanniksi. Rajapinnat ratkaisijan ja muiden komponenttien välillä ovat selkeitä ja hyvin dokumentoituja. Ulkopuoliset lisenssit eivät rajoita ohjelman levitystä. 9. Projekti valmistuu aikataulussa. Projektin tavoitteet saadaan toteutettua projektin päättymiseen mennessä. 10. Projektin lopputulos on laadullisesti korkeatasoinen. Taulukko 1: Asiakkaan tavoitteet tärkeysjärjestyksessä. Määritellään käytettävät menetelmät selkeästi ja pyritään jatkuvasti kehittämään omaa toimintaa. 6
11 3.2 Työryhmän tavoitteet Analysoidessamme työryhmän tavoitteita projektin osalta lähdimme liikkeelle kunkin ryhmän jäsenen henkilökohtaisista tavoitteista pyrkien siten muodostamaan yhteisen näkemyksen tavoitteista ryhmän tasolla. Seuraavassa on esitetty kunkin ryhmän jäsenen henkilökohtaiset tavoitteet ja sen jälkeen työryhmän tavoite Jouni Karppinen Päästä kurssista läpi arvosanalla 4 Oppia tuottamaan laadukasta dokumentaatiota Oppia työskentelemään suuressa ryhmässä Nähdä ja kokea, millaista on olla mukana oikeassa ohjelmistoprojektissa Oppia käyttämään uusia työkaluja Nähdä, miten erilaisia menetelmiä ja koulun teoreettisia oppeja voidaan soveltaa käytännössä Hannu Kauppinen Saada pakollinen kurssi suoritettua kunnialla valmistumista ajatellen Oppia ohjelmistoprojektin hallintaa ja johtamista Tutustua uusiin ihmisiin Oppia lisää ohjelmistokehityksestä ja siihen liittyvistä työkaluista ja menetelmistä Luoda lopputulos, johon voi olla itse tyytyväinen Joonas Kekoni Saada hyväksytty arvosana valmistumista varten Oppia mielenkiintoisia asioita kielen kääntämisestä ja rajoitteista Kirjoittaa haastavaa ohjelmakoodia, joka tekee muutakin kuin relaatiotietokannan sisällön käsittelyä Mitro Kuha Suorittaa kurssi hyvällä arvosanalla Kartuttaa kokemuksia tiimityöskentelystä ohjelmistoprojektissa Kasvattaa osaamista ohjelmistoprojektin menestyksekkäästä läpiviennistä projektin kaikilla osa-alueilla Tuomas Luttinen Kurssin läpäisy Ohjelmistotuotantoprosessin oppiminen aikaisempaa tarkemmin Ohjelmointikielen kääntäjät -kurssin oppien syventäminen 7
12 Uusiin ihmisiin tutustuminen Vesa Salento Saada pakollinen kurssi suoritettua kunnialla valmistumista ajatellen Kasvattaa osaamista ohjelmistoprojektin menestyksekkäästä läpiviennistä projektin kaikilla osa-alueilla Tutustua uusiin ihmisiin Luoda lopputulos, johon voi olla itse tyytyväinen Kalle Valo Kurssin kunniallinen läpäisy Lopputuote, jota kehtaa esitellä omanaan Yhteenveto Projektiryhmän jäsenten henkilökohtaisissa tavoitteissa korostuivat kurssin läpäisy kunnialla (arvosanatavoitteena 4), kurssin aihepiirin syvällinen oppiminen sekä lopputuloksen korkea laatu. Lisäksi esille nousivat alan toimijoihin tutustuminen sekä yksittäisten menetelmien tai käytäntöjen opiskelu. Tästä yhteenvetona voidaan todeta, että ryhmän tavoitteena on hyödyntää projekti oppimiskokemuksena ja siten kartuttaa kunkin ryhmän jäsenen henkilökohtaisia valmiuksia osallistua vastaavantyyppisiin projekteihin jatkossa. Tämä tavoite pyritään saavuttamaan työskentelemällä sitoutuneesti projektin eteen ja ylläpitämällä projektin läpi sisäisesti kriittistä suhtautumista omaan työhön. Työtä tehdessä huomioidaan myös kurssin asettamat vaatimukset, jotta tärkein henkilökohtaisista tavoitteista eli kurssin läpäisy tulee kaikkien kohdalta toteutumaan. 3.3 Projektin keskeytyskriteeri Koska projektin loppuunsaattaminen on edellytyksenä useiden työryhmän jäsenten valmistumiselle, ei projektia helposti keskeytetä. Ainoa syy projektin keskeyttämiselle on, että työryhmä katsoo mahdottomaksi sen loppuun saattamisen kurssin vaatimusten mukaisesti. Luonnollisesti, jos kaikki henkilöt jättävät projektin kesken, projekti keskeytyy. 3.4 Projektin päätöskriteeri Projekti toteutetaan vaiheittain kurssin aikataulun mukaisesti. Projekti päättyy viimeisen vaiheen päätyttyä huhtikuussa
13 4 Resurssit ja talousarvio 4.1 Henkilöresurssit Projektin käytössä on 190 työtuntia projektin työryhmän jäsentä kohti. Näin ollen kokonaisuutena projektiin on käytettävissä 630 henkilötyötuntia. Taulukko 2 kuvaa alustavan työpanosjaon jokaiselle iteraatiokierrokselle. Hannu Kauppinen Jouni Karppinen Joonas Kekoni Mitro Kuha Tuomas Luttinen Vesa Salento Kalle Valo Yhteensä PP I I I DE Yht Taulukko 2: Henkilöresurssien jakautuminen projektin eri vaiheissa. Tämän lisäksi projektin toteutuminen vaatii henkilöresursseja asiakkaalta. Ennalta arvioituna asiakkaan on sidottava projektin läpivientiin noin 1 tunti joka viikko sekä lisäksi teknisen neuvonantajan aikaa noin 2 tuntia viikossa. Koko projektin kestolta tämä tarkoittaa yhteensä noin 75 henkilötyötuntia. Henkilöresurssien suunnittelussa on pyritty huomioimaan riittävä joululoma koko ryhmälle. Tämän vuoksi vaiheen I2 tuntimäärät ovat pieniä suhteessa vaiheen kestoon. Lisäksi on huomioitu Mitro Kuhan loma marraskuussa. Muuten painotus on pyritty tekemään projektin alkupäähän, sillä tällä tavoin projektin loppuosaan saadaan enemmän joustavuutta mahdollisten muutosten tai yllätysten varalta. Jos henkilöresursseille halutaan laskea rahallinen arvo, on laskennassa huomioitava projektille kustannuksena myös asiakkaan tekemän työn arvo. Erityisesti tekninen ohjaaja joutuu käyttämään suuren määrän työtunteja projektin menestyksekkään läpiviennin varmistamiseen. Karkea arvio kustannuksista on esitetty taulukossa 3. Henkeä Iteraatioita Työmäärä iteraatiossa Työtunnin hinta Yhteensä Projektiryhmä Tekninen ohjaaja Asiakas Yhteensä Taulukko 3: Henkilötyökustannukset projektissa. 9
14 4.2 Materiaalit Projektin materiaalitarve rajoittuu käytännössä ohjelmointi- ja testausympäristöihin. Tähän soveltuvat kuitenkin esimerkiksi Teknillisen korkeakoulun ATK-keskuksen tarjoamat palvelut, jotka ovat projektin osallisilla automaattisesti käytettävissä. Lisäksi kaikilla ryhmän jäsenillä on oikeus käyttää muita ympäristöjä harkintansa mukaan, mikäli heillä on siihen mahdollisuus. Ajatus on se, että jokainen ryhmän jäsen voi työskennellä siinä ympäristössä, joka on hänelle helpoin. Ryhmän sisäistä tiedonkulkua varten on perustettu kolme sähköpostilistaa, jotka arkistoidaan verkkoon. Koko projektiryhmän kattavan listan lisäksi erilliset sähköpostilistat luotiin kielen ominaisuuksia ja järjestelmän arkkitehtuuria koskevia keskusteluja varten. Kielen ominaisuuksia käsittelevällä listalla on mukana myös asiakkaan edustaja. Muuten listat ovat vain ryhmän sisäiseen käyttöön. Yhteinen lähdekoodi tallennetaan versionhallintaa ja varmuuskopiointia varten samaan paikkaan Teknillisen korkeakoulun ATK-keskuksen verkossa. 4.3 Talousarvio Projektissa ei ole tiedossa mitään erityisiä hankintoja, joita varten tarvitsisi varata taloudellisia resursseja. Juoksevat kulut (toimistotarvikkeet, sähkö, laitteiston kulut) ovat merkityksettömiä, eikä niitä tarvitse siksi huomioida. Mikäli merkittäviä investointitarpeita ilmenee, keskustellaan niistä asiakkaan kanssa erikseen. 10
15 5 Työkäytännöt ja työkalut 5.1 Työkäytännöt Testauskäytäntö Projektissa testaus painottuu suurelta osin koko järjestelmän testaamiseen johtuen toteutettavan järjestelmän luonteesta. Järjestelmän toiminta perustuu mallien lukemiseen ja kyseiselle mallille ominaisten rajoitteiden palauttamiseen, joten järjestelmän komponenttien toimiminen yhdessä on tärkeää. Järjestelmätason testaus automatisoidaan mahdollisimman suurilta osin, jotta kuka tahansa projektiryhmän jäsenistä pystyy ajamaan tärkeimmät testit aina tarvittaessa, esim. ennen muutosten lisäämistä CVS:ään. Uusien testien luominen pitää olla tarpeeksi helppoa ja hyvin dokumentoitua, jotta systeemitestausta saadaan aina tarvittaessa laajennettua. Luonnollisestikin projektissa käytetään myös yksikkötestausta, mutta projektin luonteen vuoksi painopiste on järjestelmätason testauksessa. Perustestit kaikkien luokkien toimivuudesta tehdään yksikkötestauksella. Testauksen päävastuu prosessitasolla on Kalle Valolla ja hän huolehtii käytännön järjestelyistä testaukseen liittyen. Testauksesta tehdään tarkempi suunnitelma ensimmäisen toteutusvaiheen yhteydessä. Tässä suunnitelmassa määritellään projektin testauskäytännöt ja erityisesti siihen sovelletut menetelmät tarkemmin Ohjelmointikäytäntö Projektin toteutuskielenä käytetään Javaa ja ohjelmointityylin pohjana on Sunin ohjelmointityylistandardi. Standardia täydennetään vielä ryhmän sisäisesti, jotta ei tulisi tulkintaerimielisyyksiä asioista, joihin mainittu standardi ei ota kantaa. Toteutuksen ulkoasussa pyritään selkeään ja luettavaan koodiin käyttämällä hyvin nimettyjä muuttujia ja metodeja sekä kommentoimalla koodia riittävässä määrin. Kaikkien luokkien rajapinnat kommentoidaan Javadoc-tyyliin, jotta lähdekoodista saadaan haluttaessa tulostettua rajapintakuvaukset. Muuta kommentointia käytetään tapauksissa, joissa voidaan olettaa, että koodin toiminta ei koodia syvällisesti tuntemattomalle lukijalle aukea aivan helpolla pelkkää koodia lukien. Pariohjelmointia käytetään tämän projektin kohdalla ainakin kriittisten osioiden toteuttamiseen. Pariohjelmointia suositellaan myös muihin osioihin, mutta ainakin osa niistä tullaan toteuttamaan perinteisellä yksinohjelmoinnilla, jotta saadaan vertailutietoa työtapojen tulosten analysoimiseksi. Pariohjelmoinnilla pyritään parempaan koodin laatuun, selkeämpään toteutukseen ja ryhmän sisäisen tietotason nostamiseen. Jotta näihin tavoitteisiin päästäisiin, pitää pareja myös vaihdella. Niihin osioihin, joihin käytetään yksinohjelmointia, voidaan mahdollisesti käyttää muita työn jäljen parantamiseen tähtääviä työskentelytapoja, mutta tästä päätetään tarkemmin ensimmäisen toteutusvaiheen yhteydessä, kun testaussuunnitelma ja muut vastaavat dokumentit ovat valmistuneet. Lisäksi asiakkaan kanssa on erikseen sovittu, että ohjelmakoodia kirjoitettaessa käytetään työkielenä englantia, eli luokkien nimet ja kaikki ohjelmakoodin sekaan kirjoitetut 11
16 kommentit ovat englanniksi. Tämän tarkoitus on mahdollistaa ohjelman jatkokehitys myös suomea osaamattomalle henkilölle Dokumentointikäytäntö Projektin lopputulosten kannalta on erittäin tärkeää, että asiakas saa ohjelmakoodin ja käyttöohjeiden lisäksi myös erilaista materiaalia mahdollisen jatkokehityksen tueksi. Tämä asettaa projektissa dokumentoinnille tiettyjä vaatimuksia. Dokumentointikäytännöstä vastaa Jouni Karppinen, joka laatii tarkemmat ohjeet dokumenttien käsittelystä. Pääsääntönä voidaan todeta, että kaikki dokumentit käyvät läpi katselmuksen, ennen kuin ne ovat valmiita. Katselmuksessa kaksi projektiryhmän jäsentä arvioi dokumentin sisällön ja kieliasun. Tarkoitus on kirjoitusvirheiden korjaamisen lisäksi myös varmistua dokumenttien yhtenevyydestä sekä visuaaliselta ilmeeltään että käytetyn terminologian osalta. Huomionarvoista on myös, että dokumenttien pitää olla ymmärrettävissä, sillä dokumenttien käyttäjäryhmä on varsin laaja ulottuen mentorista, jolla ei ole mitään sidettä projektin matemaattiseen taustaan, WeCoTin-projektin tutkijoihin, joiden mielenkiinto kohdistuu ensisijaisesti työryhmän kokemuksiin käytettyjen työkalujen todellisista kyvyistä Kokouskäytäntö Projektin aikana pidettävät tapaamiset voidaan jakaa eri ryhmiin. Tapaamiset, joihin mentor osallistuu, on kurssin puolelta jaettu projektikatselmuksiin (yksi iteraatiota kohden, mukana myös asiakasorganisaation edustajat) ja mentortapaamisiin (yksi iteraatiota kohden, vain mentor ja ryhmä). Näihin tapaamisiin on olemassa valmiiksi tietty runko ja niiden kesto ja ajankohta on ennalta määrätty. Muut tapaamiset voidaan jakaa kahteen ryhmään sen mukaan, ovatko ne projektiryhmän sisäisiä tapahtumia vai osallistuuko niihin myös asiakkaan edustajia. Näiden tapaamisten osalta ryhmän käyttämät kokouskäytännöt vaihtelevat projektin vaiheiden mukaisesti, sillä tarpeet näihin tapaamisiin vaihtelevat merkittävästi. Projektin suunnitteluvaiheessa ryhmä on pitänyt viikoittain ryhmäpalaverin, jossa on käyty läpi tehtyjä töitä ja suunniteltu tulevia. Näissä kokouksissa käsiteltyjä asioita on löyhästi valmistellut projektipäällikkö, joka on myös pitänyt kirjaa tehdyistä päätöksistä. Päätökset on kirjattu vapaamuotoisesti ja toimitettu ryhmälle sähköpostilla. Ryhmän sisäisten ryhmäpalaverien lisäksi tapaamisia pidetään myös asiakkaan edustajien kanssa. Projektin suunnitteluvaiheessa nämä ovat olleet pääasiassa työpalavereja liittyen joko järjestelmän arkkitehtuuriin tai mallien kuvaamisessa käytettävään kieleen, mutta projektin jatkuessa näiden tapaamisten painopiste tulee siirtymään projektin edistymisen seurantaan ja mahdollisten haasteiden ratkomiseen. Nyt kokousten valmistelu on ollut arkkitehtuurista tai kielestä vastaavien vastuulla, mutta painopisteen siirtyessä projektin seurantaan vaihtuu valmisteluvastuu projektipäällikölle. Projektin seurantakokouksia pidetään ensimmäisen toteutusvaiheen alusta alkaen arviolta neljän viikon välein, ellei mitään erityistä ilmene. Kokousten asialistan valmistelee projektipäällikkö keräämällä tietoa ajankohtaisista asioista projektiryhmältä. Kokousten jälkeen projektipäällikkö toimittaa muistiinpanot kokouksen kulusta asiakkaan edustajille, projektiryhmälle sekä mentorille projektin etenemisen seuraamista varten. 12
17 Seurantakokousten välillä projektipäällikkö tiedottaa sekä asiakasta että mentoria projektin tilasta sähköpostilla Yhteenveto henkilökohtaisista harjoituksista Projektin aikana kukin työryhmän jäsen tutustuu tarkemmin johonkin ohjelmistoprojektin menetelmään ja suunnittelee tämän menetelmän hyödyntämistä projektissa. Menetelmät ja niistä vastaavat henkilöt on esitetty taulukossa 4. Menetelmä Vastuullinen Esittely Raportointi Dokumentaation hallinta Jouni Karppinen I1 DE Kokouskäytännöt Hannu Kauppinen I1 I3 Suunnittelumallit (engl. Design patterns) Joonas Kekoni I1 I3 Heuristinen arviointi Mitro Kuha I2 DE Pariohjelmointi Tuomas Luttinen I2 I3 Systeemitason testien automatisointi Kalle Valo I2 DE Automatisoitu yksikkötestaus Vesa Salento I2 DE Taulukko 4: Henkilökohtaiset ohjelmistoprojektimenetelmät. Menetelmien tarkemmasta käytöstä päätetään ensimmäisen toteutusvaiheen aikana ja kunkin menetelmän hyödyntämisestä tehdään erillinen suunnitelma. 5.2 Käytetyt työkalut Projektin osalliset käyttävät pääasiassa itse valitsemiaan työkaluja ja ympäristöjä varsinaiseen ohjelmointityöhön. Projektin puitteissa kuitenkin on päätetty tiettyjen työkalujen käytöstä yhteisten toimintojen suorittamiseen. Nämä työkalut ovat Javaohjelmointikieli, GNU Make kääntämiseen ja testaamiseen, CVS versionhallintaan, Cup ja JLex mallien jäsentämiseen, GLPK mallien ratkaisuun, Bugzilla virheraporttien hallintaan, Trapoli työtuntien seurantaan, OpenOffice.org, Javadoc ja Dia dokumentointiin sekä CCCC, JUnit, HttpUnit, Checkstyle, PMD ja FindBugs ohjelmatiedostojen analyysiin Java Projektissa käytetään ohjelmointikielenä Sun Microsystems Inc.:n kehittämää Javaa. Kääntämiseen ja ohjelman ajamiseen projektin aikana käytetään ATK-keskuksen palvelimille asennettua versiota Java-kääntäjästä ja Java virtuaalikoneesta. Nämä ovat projektin alkaessa Java 2, versio 1.4.1:n mukaisia. Mikäli ympäristössä tapahtuu merkittäviä muutoksia projektin aikana, keskustellaan asiakkaan kanssa version valinnasta GNU Make Projektin puitteissa käytetään GNU Make -järjestelmää tiettyjen toimintojen automatisointiin. Tällaisia ovat esimerkiksi komponenttien kääntäminen, yksikkötestaus ja lopullisen tuotteen paketointi. 13
18 5.2.3 CVS Versionhallinta on oleellinen osa projektia, kun ohjelmoijia on useampia kuin yksi. Ilman versionhallintaa on kunkin komponentin kehityksestä sovittava tarkalleen kaikkien kehittäjien kesken, jottei yhtäaikainen kehitystyö tuhoa jonkun tekemiä muutoksia. Lisäksi CVS:n avulla kaikki tuotettu ohjelmakoodi saadaan helposti varmuuskopioinnin piiriin ja erilaisia virheitä voidaan jäljittää ohjelmakoodin muutosten mukaan JLex Jotta tuotteemme osaisi tulkita loogisia malleja, käytetään näiden mallien määrittelemiseen kieltä, joka täyttää asiakkaan antamat vaatimukset siitä, millaisia ongelmia kielellä on mahdollista määritellä. Ensimmäiseksi tällä kielellä annetun syötteen analysoinnissa on tekstistä osattava poimia erilaisia avainsanoja ja operaattoreita. Tähän tarkoitukseen on toteutettava selaaja, joka osaa poimia syötteestä sanoja ja antaa niille merkityksiä. Selaajan toteuttaminen käsin ei ole kovin vaikeaa, mutta se on työlästä ja virhealtista. Tämän työvaiheen tekemiseen on siksi suunniteltu automatisoituja selaajageneraattoreita. Projektimme käyttää JLex:iä, joka on Java-ohjelmointikieltä tukeva selaajageneraattori Cup Selaajan antamat terminaalit on järjestettävä jäsennyspuuksi, jotta mallille saadaan aikaan syvempi merkitys, jolloin voidaan esimerkiksi tarkistaa, että onko muuttujan arvo kyseiselle muuttujalle annetun tyypin mukainen. Tätä työvaihetta varten on toteutettava jäsentäjä, jonka toteuttaminen on selaajan tapaan työlästä, virhealtista ja helposti automatisoitavaa. Siksi tässäkin vaiheessa käytetään valmista automatisoitua työkalua, joksi tähän projektiin on valittu Cup. Se on yleiskäyttöinen Java-ohjelmointikieltä tukeva jäsentäjägeneraattori GNU Linear Programming Kit (GLPK) Tämän projektin puitteissa ei ole mahdollista ryhtyä toteuttamaan lineaaristen ongelmien ratkaisijaa nollasta, sillä moisen työmäärä on moninkertainen verrattuna tämän projektin laajuuteen. Tästä syystä projektin alussa tutkittiin eri vaihtoehtoja vapaan ratkaisijan löytämiseksi, joka toteuttaisi projektissa vaadittavan matemaattisen rajojen laskentaa käsittelevän osuuden. Ratkaisuna päädyttiin ottamaan käyttöön GNU Linear Programming Kit. GLPK on GNU-lisenssin alla jaettava lineaaristen ongelmien ratkaisija, joka täyttää projektin vaatimukset ratkaisijalle Bugzilla Virheraporttien hallinta on tärkeää varsinkin projektin loppupuolella, kun kehitettyä järjestelmää viimeistellään toimitusta varten. Ohjelmistotuotteisiin tyypillisesti jää kehitysvaiheessa puutteita, joita on korjattava jälkikäteen. Näistä puutteista kertovien raporttien hallintaan on oltava työkalu, jotta aikaa ei turhaan kuluisi hukkaan pohdittaessa, mitkä puutteet on jo korjattu tai mitä tietoa eri puutteista on saatu. Bugzilla on Mozilla-projektin kehittämä järjestelmä, joka tarjoaa hyvin monipuoliset työkalut raporttien hallintaan ja sitä kautta kehitystyön ohjaamiseen. Kurssin puitteissa vain osa järjestelmän mahdollisuuksista on hyödynnettävissä, mutta ottaen huomioon 14
19 projektin luonteen ovat nämä ominaisuudet riittävät. Projektista puuttuu varsinainen järjestelmän ylläpitovaihe, joka tuo tyypillisesti suurimmat vaateet virheraporttien hallintajärjestelmälle useiden ohjelmaversioiden ja erilaisten käyttöympäristöjen kautta Trapoli Projektin resurssien seurannan kannalta on oleellista tietää, paljonko resursseja projektiin on kulloisellakin hetkellä kulutettu ja paljonko vielä suunnitelmien mukaan projekti tulee vaatimaan. Trapoli on kurssin tarjoama työkalu työtuntien suunnitteluun ja kirjaamiseen. Järjestelmä on suunniteltu projektina samalle kurssille aiempana vuonna ja sitä käytetään nyt ensimmäistä kertaa. Se ei ole paras mahdollinen työkalu tähän tarkoitukseen, mutta koska se tarjoaa kurssin henkilökunnalle mahdollisuuden tarkastella kaikkien projektien resurssikäytön tilannetta, pidetään sitä kurssin tarkoitusperiin sopivimpana OpenOffice.org Suuri osa mitä tahansa ohjelmistoprojektia on dokumentaation laatiminen. Koska jokaisella projektiryhmän jäsenellä on oltava mahdollisuus muokata dokumentteja, valitsimme dokumentaatiota varten työkaluksi OpenOffice.org:n. OpenOffice.org on saatavilla sekä Windows- että Linux-ympäristöihin, mikä mahdollistaa jokaiselle työryhmän jäsenelle työskentelyn itse parhaaksi katsomassaan ympäristössä. Ominaisuuksiltaan OpenOffice.org on riittävä projektin tavoitteiden toteuttamiseksi, joten mitään estettä sen käytölle ei ole. Käytössä ovat versiot 1.0 ja Javadoc Javadoc on automaattinen dokumentointityökalu Java-luokille. Se perustuu ohjelmakoodin määrämuotoiseen kommentointiin. Javadoc luo ohjelmakoodin perusteella standardimuotoisen dokumentaation eri rajapinnoista ja niiden metodeista. Työkalu on hyvin käytännöllinen, sillä sen luoma dokumentaatio on samankaltainen kaikille Javaohjelmille, mikä tekee sen käyttämisestä ohjelmoijille helpompaa Dia Projektin dokumentaatiossa tarvittavat kuvat piirretään Dia-ohjelmalla. Diaan tutustuminen on vielä kesken, joten tarkempi versio Diasta määritellään tarvittaessa CCCC Projektin raportoinnissa tarvitaan tiettyjä tilastotietoja. Näiden keräämiseen käytetään CCCC-ohjelmaa. Ohjelma myös tarkistaa, että kaikki ohjelmakoodi on kirjoitettu valitun standardin mukaisesti JUnit JUnit on järjestelmä, joka mahdollistaa yksikkötestauksen automatisoinnin. Järjestelmä perustuu erillisiin testitapausluokkiin, joissa kuvataan suoritettava testi sekä sen odotettu tulos. 15
20 HttpUnit HttpUnit on JUnit-järjestelmää vastaava toteutus WWW-pohjaisten järjestelmien testaukseen. Se pystyy matkimaan erilaisten lomakkeiden täyttämistä ja painikkeiden painamista Checkstyle Checkstyle tutkii lähdekooditiedostoja ja tarkistaa, että ohjelmointi on toteutettu sovitun standardin mukaisesti PMD PMD on hyvin laaja lähdekooditiedostojen analysaattori, josta on projektin käyttöön valittu vain tietyt moduulit. Checkstylen tavoin PMD tarkkailee lähdekoodia ja pyrkii löytämään siitä mahdollisia virheitä FindBugs Edellä kuvatuista analysaattoreista poiketen FindBugs tutkii käännettyjä luokkatiedostoja. Muiden analysaattoreiden tavoin se pyrkii löytämään huonoja toteutuksia, jotka saattaisivat altistaa järjestelmän virheille. 5.3 Noudatetut standardit Java-ohjelmoinnissa noudatetaan Sun Microsystems Inc.:n määrittelemää ohjelmointityylistandardia [2]. 16
21 6 Aikataulutus 6.1 Yleiskuva Projekti toteutetaan osana Teknillisen korkeakoulun kurssia, mikä aiheuttaa vaatimuksia projektin aikataulutukselle. Kurssin asettaman perusmallin pohjalta projekti on jaettu viiteen vaiheeseen, jotka ovat projektin suunnittelu ja toimitus sekä kolme toteutusvaihetta näiden välissä. Taulukossa 5 on esitetty kurssin vaatima aikataulutus vaiheille sekä kunkin iteraation pituus viikkoina. Iteraatio Ajanjakso Kesto Projektin suunnittelu (PP) viikkoa Toteutus 1 (I1) viikkoa Toteutus 2 (I2) viikkoa Toteutus 3 (I3) viikkoa Toimitus (DE) viikkoa Taulukko 5: Kurssin aikataulu. Huomionarvoista on, että vaikka iteraatio I2 on muita selvästi pidempi, ei siinä ole tehollista työaikaa käytettävissä merkittävästi muita vaiheita enempää, sillä ajanjaksolle osuvat joulun ajan lomajaksot, jotka projektissakin on tarkoitus pyhittää vapaiksi. Seuraavassa on käyty projektin eri iteraatiot läpi ja esitelty kunkin vaiheen tavoitteet sekä ensimmäisten vaiheiden tehtävät ja toimitettavat tulokset. 6.2 Projektin suunnittelu Tavoitteet: Projektin suunnittelu Vaatimusmäärittely Kielen määrittely ja dokumentointi Arkkitehtuurisuunnitelma yleisellä tasolla Lineaarimallin suunnittelu Kielellä esitetyn mallin jäsentäminen puuksi Toimitettavat tulokset: Projektisuunnitelma Kielen määrittely Tekninen määrittely Etenemisraportti Tehtävät: Projektin käynnistys Projektisuunnitelma Kielen määrittely Vaatimusmäärittely Tekninen määrittely karkealla tasolla 17
22 Luennoille osallistuminen Tapaamiset (ryhmän sisäiset, mentor ja asiakas) CVS:n pystytys Seuraavan iteraation suunnittelu Projektikatselmus ja etenemisraportti 6.3 Toteutus 1 Tavoitteet: Asiakas-palvelin-mallin suunnittelu Arkkitehtuurisuunnitelman viimeistely Lineaarimallin toteutus Kielellä esitetyn mallin kääntäminen Linearisaattorin suunnittelu Linearisaattorin rajapinnan määrittely Ratkaisijan rajapinnan määrittely Käyttöliittymän rungon rakentaminen (kielen syöttö) Toimitettavat tulokset: Päivitetty projektisuunnitelma Päivitetty vaatimusmäärittely Päivitetty tekninen määrittely Testisuunnitelma Rajapintamääritykset tietyille rajapinnoille (ohjelmakoodina) Etenemisraportti Tehtävät: Linearisaattorin ja sen rajapintojen suunnittelu Asiakas-palvelin-rakenteen suunnittelu Teknisen määrittelyn tarkennus Tapaamiset (ryhmän sisäiset, asiakas ja mentor) Ratkaisijan rajapintojen määrittelyt Lineaarimallin toteutus Translaattorin toteutus Asiakasohjelman rungon toteutus Käännösympäristön rakentaminen Bugzillan valmistelu käyttöä varten Testisuunnitelma ja testien valmistelu Seuraavan iteraation suunnittelu Projektikatselmus ja etenemisraportti 6.4 Toteutus 2 Tavoitteet: Mallin optimointi ratkaisuajan lyhentämiseksi Linearisaattorin toteutus Ratkaisijan toteutus 18
23 Käyttöliittymän toiminnallisuuksien rakentaminen Asiakas-palvelin-rakenteen toteutus Toimitettavat tulokset: Päivitetty projektisuunnitelma Päivitetty vaatimusmäärittely Päivitetty tekninen määrittely Päivitetty testisuunnitelma Testiraportti Testitapaukset Toteutetut ohjelmakomponentit Etenemisraportti Tehtävät: Linearisaattorin toteutus Ratkaisijan toteutus Palvelimen (server) toteutus Asiakkaan (client) toteutus Käyttöliittymän näkymän luominen Käyttöliittymän toiminnallisuuden rakentaminen Mallin optimointi Testitapausten suunnittelu Järjestelmätestauksen suunnittelu Julkaisutestaus Ryhmäkokoukset Asiakastapaamiset Mentortapaaminen Dokumentaation tarkastaminen Seuraavan iteraation suunnittelu Etenemisraportti Projektikatselmus ja siihen valmistautuminen 6.5 Toteutus 3 Tavoitteet: Ilmenneiden puutteiden korjaus Mallin optimoinnin parantaminen ratkaisuajan lyhentämiseksi Dokumentaation päivitys muutosten mukaisesti Järjestelmän käytettävyyden parantaminen Toimitettavat tulokset: Päivitetty projektisuunnitelma Päivitetty vaatimusmäärittely Päivitetty tekninen määrittely Päivitetty testisuunnitelma Testiraportti Testitapaukset 19
24 Toteutetut ohjelmakomponentit Vertaistestisuunnitelma Vertaistestin raportti Käyttöohje Etenemisraportti Tehtävät: Bugiraporttien läpikäynti Optimoinnin parantaminen Heuristinen arviointi Javadoc-ohjeiden tarkastaminen Asennuspaketin rakentaminen Asennusohjeen kirjoittaminen Käyttöohjeen kirjoittaminen Julkaisutestaus Henkilökohtaiset tehtävät Projektisuunnitelman päivitys Vaatimusmäärittelyn päivitys Teknisen määrittelyn päivitys Testisuunnitelman päivitys Ryhmäkokoukset Asiakastapaamiset Mentortapaaminen Dokumentaation tarkastaminen Seuraavan iteraation suunnittelu Etenemisraportti Projektikatselmus ja siihen valmistautuminen 6.6 Toimitus Tavoitteet: Ilmenneiden puutteiden korjaus Järjestelmän viimeistely toimitusta varten Dokumentaation ja ohjeistuksen viimeistely Asiakkaan kouluttaminen järjestelmän ominaisuuksiin Lopullisen järjestelmän toimittaminen asiakkaalle Toimitettavat tulokset: Päivitetty projektisuunnitelma Päivitetty vaatimusmäärittely Päivitetty tekninen määrittely Päivitetty testisuunnitelma Testiraportti Testitapaukset Päivitetty käyttöohje Etenemisraportti Loppuraportti 20
25 Lmodels v. 1.0 (valmis ohjelmisto) Tehtävät: Käyttäjäpalautteen perusteella tehtävät muutokset Bugiraporttien läpikäynti Rasitustestaus Julkaisutestaus Hyväksyntätestaus Demon valmistelu Asennus- ja käyttökoulutus Henkilökohtaiset tehtävät Dokumentaation päivitys Ryhmäkokoukset Asiakastapaamiset Mentortapaaminen Dokumentaation tarkastaminen Etenemisraportti Loppuraportti Projektikatselmus ja siihen valmistautuminen Projektin päättäminen 21
26 7 Riskienhallintasuunnitelma 7.1 Riskien kartoitus Projektin riskienhallinta tapahtuu läpi projektin keston ja käsittää riskien kartoittamisen sekä niihin varautumisen. Tähän projektiin liittyvien riskien kartoitus ja analysointi suoritettiin riskienkartoitustilaisuudessa, joka järjestettiin kurssiin T Special Course in Software Engineering: Risk Management liittyen. Ryhmäläisistä kolme osallistuu em. kurssille. Riskien kartoitus suoritettiin vapaalla ideoinnilla (brainstorming), mieleen tulleet riskit luokiteltiin aihepiireittäin kuuteen eri ryhmään, ja niiden vakavuutta ja realisoitumisen todennäköisyyttä ja seurauksia pohdittiin ryhmän kesken. 7.2 Projektinaikainen riskienhallinta Riskienhallinta jatkuu läpi koko projektin. Kurssin edetessä ja tilanteen muuttuessa tutkitaan myös mahdollisten uusien riskien syntyminen ja pyritään minimoimaan niiden vaikutukset. Myös jo tunnistettujen ja olemassa olevien riskien tilaa ja todennäköisyyttä arvioidaan uudelleen kurssin kuluessa. Todennäköistä kuitenkin on, että aktiivisiin toimiin riskien minimoimiseksi ei lähdetä. Suurin osa tunnistetuista riskeistä on sellaisia, joiden ehkäisyyn panostaminen on hyvin kallista, eikä se siten ole projektin kannalta kokonaistaloudellisesti kannattavaa. 7.3 Riskien luokittelu ja analysointi Ideoinnissa esille tulleet riskit luokiteltiin kuuteen ryhmään: valmiisiin komponentteihin, osaamiseen, mentoriin, ryhmän sisäisiin, laitteistoihin ja asiakkaaseen liittyviin riskeihin Valmiit komponentit Projektissa tehtävän ohjelmiston yhtenä osana käytetään ulkopuolista komponenttia, jonka toimivuudesta ja integroitavuudesta ei ole täyttä varmuutta. Vaatimus ulkopuolisen komponentin käyttämisestä on tullut asiakkaalta, joten projektissa tehtävän ohjelmiston toimimattomuutta kyseisen komponentin osalta ei katsota projektin epäonnistumiseksi. Tuote voidaan tehdä muilta osiltaan toimivaksi esimerkiksi käyttämällä valmiin komponentin sijasta toiminnallisuudeltaan vajaata testikomponenttia. Valmiin komponentin aiheuttama riski on siis asiakkaan riski, ja sen toteutumiseen ei varsinaisesti voida vaikuttaa Osaaminen Projektin yleinen vaikeus, työkalujen vaikeus ja vaatimusmäärittelyyn mahdollisesti tulevat liiat ominaisuudet muodostavat riskin, että projektista tulisi ryhmälle liian vaikea. Osaamiseen liittyvä riski todettiin pieneksi, sillä ryhmäläiset ovat kokeneita ja osaavia. Uusien ohjelmien opetteluun varataan aikaa, ja ryhmäläiset tukevat ja neuvovat toisiaan, mikäli apua tarvitaan Mentor Mentoriin liittyviksi riskeiksi katsottiin mentorin mahdollinen sairastuminen tai muu syy, minkä takia hän ei enää pystyisi suorittamaan mentorin tehtäviä. 22
27 Mentorin estymisen aiheuttama riski todettiin projektin kannalta vähäiseksi. Riskin realisoituessa kurssin taholta nimettäisiin uusi mentor. Menetykset olisivat pieniä, lähinnä uuden mentorin perehdyttämiseen kuluvaan aikaan liittyviä. Projektiryhmä ei voi vaikuttaa riskin toteutumistodennäköisyyteen Ryhmä Ryhmään liittyvät riskit ovat ryhmän mahdollinen riitaantuminen ja hajoaminen sekä jonkun ryhmäläisen sairastuminen, kurssin keskeyttäminen tai ajanpuute. Ryhmäläiset ovat hyvin motivoituneita, joten ryhmäläisen keskeyttämistodennäköisyys on pieni. Ryhmän hajoaminen riitaantumisen johdosta on epätodennäköistä, sillä ryhmäläiset ovat mukavia ja leppoisia. Sairastumisia todennäköisesti tapahtuu ja siihen on varauduttu aikatauluttamalla projekti siten, että mitään ei jätetä viime hetkeen. Yksittäisen jäsenen keskeyttämiseen on varauduttu siten, että mikään projektin osa-alueista ei ole vain yhden avainhenkilön hallussa. Riskin toteutuminen tarkoittaisi uutta työnjakoa ja organisointia sekä jäljelle jäävien henkilöiden työmäärän kasvamista, mutta se ei olisi kohtalokasta projektin menestykselliselle läpiviennille Laitteistot Laitteistoihin ja työkaluihin liittyviä riskejä ovat esimerkiksi vialliset työkalut, katkot verkkoyhteyksissä ja ATK-keskukseen liittyvät ongelmat. Projektin CVS on ATKkeskuksessa erään ryhmän jäsenen kotihakemiston lisätilassa, joten katko ATKkeskuksen toiminnassa aiheuttaisi ongelmia. Riippuvuutta ATK-keskuksesta pyritään vähentämään tekemällä säännöllisin väliajoin kopioita CVS:n tiedostoista. Mikäli ATK-keskuksen palveluissa on pitkäaikainen katko, tuotekehitys siirretään muuhun ympäristöön, esimerkiksi Niksulaan tai ryhmäläisten omille koneille. Mikäli koodia katoaa tai vaurioituu versionhallinnasta, vaurioitunut koodi pyritään palauttamaan varmuuskopioista. Mikäli verkkoyhteyksissä on pitkäaikaisia katkoja, siirrytään käyttämään vaihtoehtoisia viestintävälineitä Asiakas Asiakkaaseen liittyviä riskejä on esimerkiksi tukihenkilön sairastuminen, tutkimusprojektin keskeytyminen ja asiakkaan vetäytyminen projektista. Ryhmä ei pysty vaikuttamaan asiakkaan aiheuttamaan riskiin. Projekti ei kaadu asiakkaan poisjäämiseen, mutta se vaikuttaa lopputuotteeseen ja aiheuttaa lisää työtä uudelleenorganisoinnin ja opettelun muodossa. 23
28 Viitteet [1] WeCoTin-verkkosivusto, viitattu , [2] Code Conventions for the Java Programming Language, viitattu , 24
Projektisuunnitelma. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija Lmodels Projektisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotL models. Projektisuunnitelma. Ryhmä Rajoitteiset
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Projektisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotL models. Käyttöohje. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Käyttöohje Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
LisätiedotL models. Testisuunnitelma. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Testisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotL models. Loppuraportti. Ryhmä Rajoitteiset
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Loppuraportti Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset 0.1
LisätiedotUutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
LisätiedotL models. Tekninen määrittely. Ryhmä Rajoitteiset
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
LisätiedotTik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti
Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTIRAPORTTI LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001 Tekijä:
LisätiedotTyökalut ohjelmistokehityksen tukena
1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan
LisätiedotIT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS
20.4.2015 IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA 1 1.1 SOVELTAMINEN Näitä erityisehtoja sovelletaan ohjelmistojen tai niiden osien toimituksiin ketterien
LisätiedotProjektisuunnitelma. Projektin tavoitteet
Projektisuunnitelma Projektin tavoitteet Projektin tarkoituksena on tunnistaa erilaisia esineitä Kinect-kameran avulla. Kinect-kamera on kytkettynä tietokoneeseen, johon projektissa tehdään tunnistuksen
LisätiedotAutomaattinen yksikkötestaus
Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä
LisätiedotOpiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.
1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ohjelmiston prototyypin toteuttaminen 30 osp Tavoitteet: Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston
LisätiedotMäärittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli
LisätiedotTESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI
LisätiedotConvergence of messaging
Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO
LisätiedotJHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 2: Tarkistuslistoja
JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 2: Tarkistuslistoja Versio: 0.9 Julkaistu: n.n.2011 Voimassaoloaika: toistaiseksi 1 Yleistä Palvelun kehitys jakautuu vaiheisiin, joiden väleissä
LisätiedotValtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)
Terja Ketola PTJ2008-työsuunnitelma 1 (5) AIKATAULU JA TEHTÄVÄT / PTJ2008 VALMIS MENOSSA MYÖHÄSSÄ ALOITTAMATTA ALUSTAVA AJANKOHTA EI PIDETTY / TEHTY 1 Määrittelyn läpikäynti PTi, TKe, IHa, TRö 34 23.8.2007
LisätiedotTOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!
TARJOUSPYYNTÖ / LIITE 1 1 (5) TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM! Tällä liitteellä yksilöidään hankinnan kohteen ominaisuuksia ja toiminnallisuuksia, jotka
Lisätiedot0.47 27.11.2005 Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen
Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 24.10.2005 Elina Kontro Laatuasiat siirretty omaan dokumenttiin jatkotyöstetty 0.2 27.10.2005 Santeri Saarinen Bugien elinkaari yms. asioita jatkettu 0.3 28.10.2005
LisätiedotUCOT-Sovellusprojekti. Testausraportti
UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä
LisätiedotTiedote 13.8.2013. Projekti I -kurssin Tilaajalle
Tiedote 13.8.2013 Projekti I -kurssin Tilaajalle Projekti I on tietojenkäsittelytieteiden laitoksen (TOL) pääaineopiskelijoille tarkoitettu, pakollinen, 7 op:n opintojakso ajoitettuna 3. opintovuodelle.
LisätiedotT Testiraportti - järjestelmätestaus
T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotSEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus
SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön
LisätiedotYhteenvetodokumentti. Boa Open Access. Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Yhteenvetodokumentti Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari
Lisätiedot1 Hyväksytty kauppatieteen akateemisen komitean kokouksessa 31.5.2013
1 SIIRTYMÄSÄÄNNÖT AALTO-YLIOPISTON KAUPPAKORKEAKOULUN KTK- JA KTM-TUTKINTOJA SUORITTAVILLE Nämä siirtymäsäännöt sisältävät periaatteet, joita sovelletaan, kun ennen 1.8.2013 opintooikeuden saanut opiskelija
LisätiedotA4.1 Projektityö, 5 ov.
A4.1 Projektityö, 5 ov. Kurssin esitietovaatimuksia Kurssin tavoitteista Kurssin sisällöstä Luentojen tavoitteista Luentojen sisällöstä Suoritustavoista ja -vaatimuksista Arvostelukriteereistä Motivointia
LisätiedotSEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3
AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan
LisätiedotTESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - VYM JA KANTA Versio 1.0 i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen
LisätiedotTESTIRAPORTTI - JÄRJESTELMÄ, PORTAL Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - JÄRJESTELMÄ, PORTAL i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI
LisätiedotTestausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria
Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti
LisätiedotOhjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
LisätiedotT Projektikatselmus
T-76.115 Projektikatselmus Projektityöryhmä GenCode I3-iteraatio 17.3.2004 Agenda Tavoitteiden toteutuminen (5 min) Resurssien käyttö (5 min) Iteraation tulokset (10 min) Riskit (5min) +Kokemuksia työskentelymenetelmistä
LisätiedotSALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti
Järjestelmäprojekti 1 projektisuunnitelma ICT4TN007-2 SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti Versio 0.1 Tekijät Keijo Nykänen Tarkastanut Hyväksynyt HAAGA-HELIA
LisätiedotLAATURAPORTTI Iteraatio 1
LAATURAPORTTI Iteraatio 1 LAATURAPORTTI 2 (7) VERSION HALLINTA Versio Päivä Tekijä Kuvaus 0.1 9.12.2006 Kaarlo Lahtela Ensimmäinen versio 0.2 Kaarlo Lahtela Korjauksia 1.0 Lauri Kiiski Katselmointi ja
LisätiedotTestaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan
LisätiedotT Loppukatselmus
T-76.115 Loppukatselmus REILU 16.3.2005 Agenda Johdanto (5min) Tuotteen esittely (10 min) Käyttötarkoitus Vaatimukset Ohjelmiston rakenne Demosovellus Projektin arviointi (15 min) Iteraatiot Tavoitteiden
LisätiedotVastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla
Vastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla Johdanto... 2 1. Opetushenkilökunnan tehtävät... 2 1.1. Kurssin vastuuopettaja... 2 1.2. Kurssimestarit ja assistentit... 3 1.2.1. Vastuuyliopiston
LisätiedotT-76.115 Software Project: FASTAXON
T-76.115 Software Project: FASTAXON Personal Assignment: Communication Practices Group: Muuntaja 0 Version History Owner of the document: Tero Leppänen Version Date Author(s) Description 0.1 26.11.2003
LisätiedotKurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset
Kurssin tavoitteista uennot ma ls. 1097, klo 10-12. pe ls. DXI, klo 12-14. uennot ovat viikoilla 40-42. uentojen yhteydessä ei järjestetä erillisiä harjoituksia. Opinto-oppaasta: Opintojakson tavoitteena
LisätiedotOpiskelija osaa suunnitella ohjelmiston toteuttamisen, toteuttaa, testata ja dokumentoida ohjelmiston.
1(6) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ tuotantoversion toteuttaminen 30 osp Tavoitteet: Opiskelija osaa suunnitella toteuttamisen, toteuttaa, testata ja dokumentoida. Työssäoppimisen keskeinen
LisätiedotVAPAASTI VALITTAVAT TUTKINNON OSAT. Liiketalouden perustutkinto
VAPAASTI VALITTAVAT TUTKINNON OSAT Liiketalouden perustutkinto Jokilaaksojen koulutuskuntayhtymä Oulaisten ammattiopisto Hyväksytty: 2 Sisällys JOHDANTO... 3 4. VAPAASTI VALITTAVAT TUTKINNON OSAT... 4
LisätiedotSÄHKÖTEKNIIKAN KOULUTUSOHJELMAN KANDIDAATINTYÖOHJE
SÄHKÖTEKNIIKAN KOULUTUSOHJELMAN KANDIDAATINTYÖOHJE Ohje hyväksytty osastoneuvostossa 17.8.2005 1 Sisällys 1. Kandidaatintyö ja sen tarkoitus...2 2. Kandidaatintyön aihe ja tarkastaja...3 3. Kandidaatintyön
LisätiedotAvoimen lähdekoodin kehitysmallit
Avoimen lähdekoodin kehitysmallit Arto Teräs Avoimen lähdekoodin ohjelmistot teknisessä laskennassa -työpaja CSC, 25.5.2009 Avoimen lähdekoodin kehitysmallit / Arto Teräs 2009-05-25
LisätiedotTESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - XMLREADER LUOKKA i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen
LisätiedotT harjoitustyö, kevät 2012
T-110.4100 harjoitustyö, kevät 2012 Kurssiassistentit T-110.4100@tkk.fi Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto 31.1.2012 Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä,
LisätiedotJHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi
JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi Versio: 0.9 Julkaistu: n.n.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Katselmointi osana laadunvarmistusta... 2 2 Yleistä katselmoinneista...
Lisätiedot11/20: Konepelti auki
Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon
LisätiedotPalveluverkkoselvitys - Mikkelin seudun sosiaali- ja terveystoimi
Palveluverkkoselvitys - Mikkelin seudun sosiaali- ja terveystoimi Alustava hankesuunnitelma Laura Käsmä 8.10.2013 Palveluverkkoselvitys Mikkeli sote Palveluverkkoselvityksen tavoitteena on tuottaa 1. Tietoa
LisätiedotProjektisuunnitelma Viulu
Projektisuunnitelma Viulu Kuusela Johannes Sjöblom Teemu Suominen Osma Ohjelmistotuotantoprojekti Helsinki 23.9.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Versiohistoria Päivämäärä Versio
LisätiedotToteutusvaihe T3 Digi-tv: Edistymisraportti
Toteutusvaihe T3 Digi-tv: Edistymisraportti Sisällysluettelo 1. Projektin tila...3 Dtv: Work done per Person (current phase)...3 Dtv: Work done per Worktype (current phase)...3 2. Suoritetut tehtävät...4
LisätiedotMenetelmäraportti - Konfiguraationhallinta
Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1
LisätiedotTESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)
TESTIRAPORTTI - XMLREADER-LUOKKA Versio 1.0 (luonnos 2) Copyright Comptel Oyj i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin
LisätiedotTestausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
LisätiedotESITUTKIMUS. Polku Versio 0.1. Projektiryhmä
ESITUTKIMUS Polku Versio 0.1 Projektiryhmä Janne Pihlajaniemi janne.pihlajaniemi@iki.fi Antti Jämsén antti.jamsen@uta.fi Maria Hartikainen maria.hartikainen@uta.fi Pekka Kallioniemi pekka.kallioniemi@uta.fi
LisätiedotENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen 11.4.2016. Osa III: Tekninen raportointi
ENE-C2001 Käytännön energiatekniikkaa Aloitustapaaminen 11.4.2016 Osa III: Tekninen raportointi Sisältö Raportoinnin ABC: Miksi kirjoitan? Mitä kirjoitan? Miten kirjoitan? Muutamia erityisasioita 1 Miksi
LisätiedotOpinnäytetyön prosessikuvaus
OPTISEN MITTAUSTEKNIIKAN LABORATORIO Opinnäytetyön prosessikuvaus Raportti, PAL hanke, TP 2.2 Versio: 13.8.08, tekniikan johtoryhmän hyväksymä. Harri Pikkarainen, Jani Sipola, Kemi-Tornion amk, tekniikka
LisätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotAutomaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure
Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon
LisätiedotMääräykset ja ohjeet 2010: 13. ISSN-L 1798 887X ISSN 1798 8888 (verkkojulkaisu)
Lukiodiplomi Kuvataide 2010 2011 Määräykset ja ohjeet 2010: 13 ISSN-L 1798 887X ISSN 1798 8888 (verkkojulkaisu) Kuvataiteen lukiodiplomin sisältö 1 Lukiodiplomin muoto, rakenne ja laajuus 3 2 Lukiodiplomikurssi
LisätiedotT Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005
T-121.110 Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005 Kurssin tavoitteet Muodostaa näkemys käyttäjäkeskeisestä tuotesuunnittelusta Kasvattaa ymmärrystä prosessin vaiheista Tutustua käyttäjäkeskeisen
LisätiedotProjektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus
Projektisuunnitelma (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Ville Toiviainen Tomi Tuovinen Lauri af Heurlin Tavoite Projektin tarkoituksena
Lisätiedotdokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant
AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision
LisätiedotHENKILÖKOHTAINEN NÄYTTÖSUUNNITELMA
HENKILÖKOHTAINEN NÄYTTÖSUUNNITELMA Jani Niemi Eurajoen kristillinen opisto Audiovisuaalisen viestinnän ammattitutkinto 1 JOHDANTO...1 2 VERKKOVIESTINNÄN SUUNNITTELU JA ILMAISU...2 2.1 Käsikirjoitusprosessi...2
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
Lisätiedot58160 Ohjelmoinnin harjoitustyö
58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista
LisätiedotOhjelmistotuotteen hallinnasta
Ohjelmistotuotteen hallinnasta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Haikala ja Märijärvi, Ohjelmistotuotanto Royce, Software Project Management, A Unified Framework 1 Tavoitteista
LisätiedotLAADUNVALVONTAJÄRJESTELMÄ- JA TOIMEKSIANTOLOMAKE
LAADUNVALVONTAJÄRJESTELMÄ- JA TOIMEKSIANTOLOMAKE Pyydämme palauttamaan täytetyn lomakkeen osoitteeseen laatu@chamber.fi. Tarkastettava tilintarkastaja Laaduntarkastaja Laadunvalvontajärjestelmän kartoitus
LisätiedotTeknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet
Testitapaukset - Xlet Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 2.1 Koko järjestelmän yleiskuvaus...4 2.2 Xlet-demosovellus ja sen toimintaperiaate...5 3. Testitapaukset...6 3.1 Objektien
LisätiedotT 76.115 Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi
Hirviö Projektikatselmointi Mikä Hirviö on? Hajautettu muistikirja Professoreille Muistiinpanoja keskusteluista opiskelijan kanssa Diplomitöiden ja jatko opintojen seuranta Raportointi Opetushenkilökunnalle
LisätiedotT Testiraportti - integraatiotestaus
T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria
LisätiedotLiite 2, Todennetun osaamisen rekisteri, käyttötapausten. Todennetun osaamisen rekisterin kohdearkkitehtuuri
Liite 2, Todennetun osaamisen rekisteri, käyttötapausten kuvaus Todennetun osaamisen rekisterin kohdearkkitehtuuri 18.6.2011 Todennetun osaamisen rekisterin käyttötapaukset 2 (17) Sisällys Sisällys...
LisätiedotTeknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori
Testitapaukset - Koordinaattieditori Sisällysluettelo 1. Johdanto...3 2. Testattava järjestelmä...4 3. Toiminnallisuuden testitapaukset...5 3.1 Uuden projektin avaaminen...5 3.2 vaa olemassaoleva projekti...6
LisätiedotTeoksen portfolion edellyttää osallistumista välipalavereihin ja päättötyönäyttelyyn sekä oman päättötyösi esittelyn
PÄÄTTÖTYÖOPAS SISÄLLYSLUETTELO Mikä on päättötyö... 1 Päättötyö ja päättötodistus... 2 Milloin päättötyön voi suorittaa... 3 Miten päättötyö suoritetaan... 4 Portfolio... 5 Näitä asioita voisit portfoliossasi
LisätiedotLohtu-projekti. Testaussuunnitelma
Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotTARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI
TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI Vesa Tenhunen Tarkastusmenettelyt Keino etsiä puutteita ohjelmakoodeista, dokumenteista ym. ohjelmistoprosessissa syntyvästä materiaalista Voidaan käyttää kaikissa
LisätiedotT Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi
LisätiedotValtioneuvoston asetus
Valtioneuvoston asetus rautatiejärjestelmän turvallisuudesta ja yhteentoimivuudesta annetun valtioneuvoston asetuksen muuttamisesta Valtioneuvoston päätöksen mukaisesti muutetaan rautatiejärjestelmän turvallisuudesta
Lisätiedotehops Henkilökohtainen opintosuunnitelma
ehops Henkilökohtainen opintosuunnitelma Hopsin tekeminen WebOodin ehops-toiminnolla KTK-tutkinto Mikä on ehops? ehops on WebOodin toiminto, jolla voit laatia sähköisen henkilökohtaisen opintosuunnitelman
LisätiedotOhjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA
Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta
LisätiedotData Sailors - COTOOL dokumentaatio Riskiloki
Table of Contents 1 Johdanto.................................................................................... 1 1.1 Versiohistoria...........................................................................
LisätiedotSiimasta toteutettu keinolihas
AS 0.3200 Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma: Siimasta toteutettu keinolihas Laura Gröhn 224417 Mikko Kyllönen 221177 Lauri Liukko Sipi 84702A Susanna Porkka 225131 3.2.2015
LisätiedotKuopio Testausraportti Asiakkaat-osakokonaisuus
Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio, testausraportti, 25.3.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 11.2.2002 Matti Peltomäki Ensimmäinen versio 0.9 11.2.2002 Matti Peltomäki
LisätiedotCOTOOL dokumentaatio Testausdokumentit
Table of Contents Testausraportti.............................................................................. 1 1 Tiivistelmä...............................................................................
LisätiedotVersio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio
Testiraportti 26.2.2006 1/5 - Noheva II Testiraportti Versio Päiväys Tekijä Kuvaus 1.0 26.2.2006 Tikkanen varsinainen versio 1 Yleistä Toteutusvaiheen 2 virallinen testaus on muodostunut automaattisista
LisätiedotVerkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008
Verkkopokerijärjestelmä Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Projektiryhmä Samuli Aalto-Setälä Jukka Kekälainen Jarno Kyykkä Mika Mielonen Mårten Smeds Otto Waltari Ohjaaja
LisätiedotAlkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari
LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A4000 - Kandidaatintyö ja seminaari Alkuraportti Avoimen lähdekoodin käyttö WWW-sovelluspalvelujen toteutuksessa Lappeenranta, 30.3.2008,
LisätiedotOhjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
LisätiedotProject group Tete Work-time Attendance Software
Project group Tete Work-time Attendance Software Henkilökohtainen SE harjoitus: etenemisraportti Projektin etenemisen seuranta ja kontrollointi Niilo Fredrikson T-76.115 Software project 2(5) Muutosloki
LisätiedotVALINTAKRITEERIT. Suomen Terveydenhoitajaliitto ylläpitää erityispätevyys-rekisteriä, johon hakijalle myönnetty erityispätevyys kirjataan.
VALINTAKRITEERIT Terveydenhoitajan erityispätevyyttä hakevan henkilön tulee olla Suomen Terveydenhoitajaliiton jäsen. Hakijalla tulee olla suoritettuna terveydenhoitajan tutkinto (opistoaste tai amk) ja
Lisätiedottsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004
Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen
LisätiedotSEPA-päiväkirja: Käytettävyystestaus & Heuristinen testaus
SEPA-päiväkirja: Käytettävyystestaus & Heuristinen testaus Lehmus, Auvinen, Pihamaa Johdanto Käyttäjätestauksella tarkoitetaan tuotteen tai sen prototyypin testauttamista todellisilla käyttäjillä. Kehittäjät
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotS14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen
S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien
LisätiedotT SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B
T-76.5158 SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B T-76.5158 SEPA - Pariohjelmointi 2 (7) VERSION HALLINTA Versio Päivä Tekijä Kuvaus 0.1 5.12.2006 Tuomas Tolvanen Ensimmäinen
LisätiedotTyön ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework
Työn ositusmalleista Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Walker Royce, Software Project Management, A Unified Framework 1 Tavoitteista Luentojen jälkeen opiskelijan tulisi osata:
LisätiedotProject group Tete Work-time Attendance Software
Project group Tete Work-time Attendance Software Henkilökohtainen SE harjoitus: etenemisraportti Versionhallinta BitKeeper-työkalun avulla Tuomas Heino Muutosloki Versio Pvm Tekijä Kuvaus 1.0 01.12.2003
Lisätiedot