TKOPA12 Projektityö, 6 ov.

Samankaltaiset tiedostot
A4.1 Projektityö, 5 ov.

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

TKOPA12 Projektityö, 12 op.

TIEA4 Projektityö, 5-10 op.,

TIEA4 Projektityö, 5-10 op.,

Projektityö

Figure 1: Projektipäälliköt Juha-Pekka Honkavaara ja Juha Mattila

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

TKOPA12 Projektity, 6-12 op

Tietotekniikan Sovellusprojektit

Projektityö

Projektityö

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Siimasta toteutettu keinolihas

T Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Sähköisen projektikansion dokumentointi Innon levyasemalle \\kapa10\inno

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

ENG-A1002 ARTS-ENG-Projekti. B-kori

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Harri Eskelinen, puh , Konetekniikan koulutusohjelman johtaja Tekniikan tohtori vuonna 1999 Dosentti

PROJEKTIN EDISTYMISRAPORTTI Seurantajakso <jaksonumero, alkupäivä - päättymispäivä>

Harjoitustyöinfo kevät TU-A1100 Tuotantotalous 1

Projektityö

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

T harjoitustehtävät, syksy 2011

Harjoitustyöinfo kevät TU-A1100 Tuotantotalous 1

Projektisuunnitelma Nero-ryhmä

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

Menetelmäraportti Ohjelmakoodin tarkastaminen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Projektin suunnittelu

Tik Ohjelmistoprojektien Hallinta

MS-E2177 Operaatiotutkimuksen projektityöseminaari 2016

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

Harjoittelu omassa opetustyössä ammatillisen koulutuksen parissa

Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella

KÄYNNISTYSVAIHE. Aiheen valmistelu Ajankohta: syys-lokakuu/helmi-maaliskuu

IIZT4020 Projektitoiminta

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

UCOT-Sovellusprojekti. Testausraportti

T Projektikatselmus

TIES406 Tietotekniikan opintojen aktivointi

Lego Mindstorms anturit

KÄYNNISTYSVAIHE. Aiheen valmistelu Ajankohta: syys-lokakuu/helmi-maaliskuu

Vastuu- ja tehtäväalueet sekä tiedonvälitys OSCu-kursseilla

Opetussuunnitelmien ja tutkintojen perusteiden rakenteistaminen

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Opinnäytetyön prosessikuvaus

11. PALAVERIN PÖYTÄKIRJA. Jyväskylän Yliopisto Tietotekniikan laitos CONCEPT-projekti Paikka ja aika

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

T harjoitustyö, kevät 2012

PHYS-A0120 Termodynamiikka (TFM) Maanantai

Määrittely- ja suunnittelumenetelmät

T Ohjelmistokehitysprojekti I - Iteraatiosuunnitelma (I2)

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Metrobots-2012 Kick-off. Anssi Ikonen Kimmo Saurén Pasi Lankinen

CT60A4600 Projektinhallinta. Luentorunko. Luento 1:Yleistä ja organisaatiot. Projektinhallinta Osa 1: yleistä. Kurssin tavoitteet

PROJEKTITOIMINTA Tietoa käytännöistä

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

2. luento. CS-C2110 Ohjelmointistudio 1: mediaohjelmointi Syksy 2016 [Studio 1] Antti Tolppanen, Sanna Suoranta, Lauri Savioja

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Ohjelmistotekniikan menetelmät, kevät 2008

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Projektinhallinta SFS-ISO mukaan

PPS nykyiset versiot Taito-osiot ja mallipohjat/esimerkit

Kuvataiteen aineopinnot (35 op) - ayukuv1800

Vaihtoehto A. Harjoittelu Oulun seudun harjoitteluverkostossa Vaihtoehto B. Harjoittelu Rovaniemen seudun harjoitteluverkostossa

Ohjelmistotuotteen hallinnasta

LOPPURAPORTTI Paperikonekilta Versio 1.0

Miten tehdä onnistunut projektisuunnitelma 10 vinkkiä

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA! Digitaalitekniikan matematiikka Luku 0 Sivu 1 (9)

KÄYNNISTYSVAIHE. Aiheen valmistelu Ajankohta: syys-lokakuu/helmi-maaliskuu

Espoon projekti- ja ohjelmajohtamisen malli EsPro

14. TIETOJOHTAMINEN. Rakennustekniikka. Tietojohtaminen Tavoitteet Koulutusohjelman yhteiset perusopinnot

CHEM-A1200 Kemiallinen rakenne ja sitoutuminen, syksy 2016

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmistotekniikka - Luento 2

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Ohjelmistotekniikan menetelmät, kesä 2008

Projektioppiminen. Materiaalitekniikan sohvaprojekti

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

VÄLI- JA LOPPURAPORTOINTI

Raahen kaupunki Projektiohjeet luonnos

T Ohjelmistojen määrittely- ja suunnittelumenetelmät

35C00250 Hankintojen johtaminen Kurssin esittely

Kuvataiteen aineopinnot (35 op) - ayukuv1800


Ohjelmistojen mallintaminen, kesä 2009

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

TU-C3010 Projektien suunnittelu ja ohjaus (5 op.)

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

AS Automaatio- ja systeemitekniikan projektityöt

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

Transkriptio:

TKOPA12 Projektityö, 6 ov. Luennot Kurssin esitietovaatimuksia Kurssin tavoitteista Kurssin sisällöstä Suoritustavoista ja -vaatimuksista. Arvostelukriteereistä Yleisiä ohjeita Katselmoinnit Kurssin luennoitsija ja projektiryhmien ohjaaja: Timo Poranen (email: tp@cs.uta.fi, työhuone: B1042) Kurssin kotisivut: http://www.cs.uta.fi/pt/ Alkuperäiset kalvot: Isto Aho, hieman muutoksia: Timo Poranen. 1

Luennot pe 15.10 ls. DXI, klo 12-14. Yleiset asiat kurssin suorituksesta Luennolla kerrotaan, kuinka tämän kurssin projektien täytyy pääpiirteissään edetä. ma 18.10 ls. B1096, klo 16-18. Pirkko Nykänen kertoo sopimuksista ja oikeuksista. Ei muita luentoja, mutta paljon ryhmätyötä projektiryhmän kanssa sekä itsenäistä työskentelyä. 2

Esitietovaatimukset Vähintään 25 ov TKT opintoja. Tulee sisältää opintokokonaisuus A1. Ohjelmistotuotanto 1ov tai laajempi (www.cs.uta.fi/se). Vahva suositus: Ohjelmoinnin tekniikka. Ajankohtasuositus: 3. tai 4. vuosi. Huomaa myös, että: Molempien pääaineiden pääaineopiskelijoilla pakollinen kurssi. Jos sivuaineopiskelija haluaa suorittaa TKT syventävät, niin myös silloin kurssi pakollinen. 3

Kurssin tavoitteista Opinto-oppaasta: Opintojakson tavoitteena on tutustuttaa opiskelija projektimuotoisen työn suunnitteluun, organisointiin ja toteuttamiseen. Opintojakson aikana suunnitellaan ja toteutetaan todellinen projekti kuvitteellisen ohjelmistoyrityksen muodostamassa kehyksessä (ks. Ohjelmistoprojektin johtaminen). 4

Lisää kurssin tavoitteista Erityisesti: Oppia toimimaan projektin osana. Oppia noudattamaan annettuja toimintatapaohjeistuksia. (Ja ymmärtää, miksi moisia ohjeistuksia annetaan. Ja ketkä... ) Muita: Ohjelmistoprojektin tyypillisten vaiheiden tunnistaminen. Kehittää ilmaisuvalmiuksia. Kehittää arvointi- ja palautteenantokykyä (eri asioiden suhteen). 5

Kurssin sisällöstä Mikä on projekti (Risto Pelin: Projektinhallinnan käsikirja): Projekti on työkokonaisuus, joka tehdään määritellyn kertaluonteisen tuloksen aikaansaamiseksi. Opinto-oppaasta: Projektityön luonne. Projektin suunnittelu, dokumentointi ja seuranta. Todellisen projektin toteuttaminen. 6

Kurssin sisällöstä lyhyesti Asiakas on ehdottanut projektia kurssille Työskentelet 4-6 hengen projektiryhmässä (lisäksi projektipäällikkö) jonka tavoitteena on saada toteutettua asiakkaan toimeksianto. Projektit alkavat lokakuussa 2004 ja loppuvat toukokuussa 2005. Kaikissa projekteissa käytetään ns. vesiputousmallia (kannattavuuden arvointi), määrittely, suunnittelu, toteutus (=ohjelmointi) ja testaus. 7

Lisää kurssin sisällöstä Yhdessä työskentely. Yhteistoiminta tulevien käyttäjien kanssa. Ryhmän kommunikointitavat. Suullisten ja kirjallisten esityksien tekeminen. 8

Tehtävistä ja tehtävien jaosta Projektipäällikkö vastaa kokonaisuudesta (eri osa-alueiden eteneminen, kokoontumiset ja muu koordinointi). Projektipäällikkö toimii linkkinä ryhmän ja toimeksiantajan välillä sekä ryhmän ja luennoitsijan välillä. Projektipäällikkö vastaa tehtävien jakamisesta projektiryhmän jäsenille sekä tarkastaa, että työt tulee tehtyä. Tänä vuonna osalla projektipäälliköistä on usempia projektiryhmiä johdettavana, joten ryhmän osuus projektin onnistumisesta korostuu. Jokaiselle ryhmän jäsenelle tulee oma vastuualue. Tehtävä, joka ei ole kenenkään vastuulla, jää yleensä tekemättä! 9

Ohjausryhmä Jokaisella projektilla on ohjausryhmä. Ohjausryhmä seuraa projektin edistymistä, auttaa vaikeissa päätöksissä ja ja hyväksyy muutokset suunnitelmiin. Ohjausryhmä = Projektipäällikkö, asiakkaan edustaja ja kurssin luennoitsija. 10

Mitkä tiedot ja taidot tarpeen? Periaatteessa kaikkea sitä tietoa tarvitaan, mitä on aiemmilla (ja myöhemmillä) kursseilla annettavanaan. Tyypillisesti: Näkemystä tietojärjestelmistä. Tietokantaosaamista (suunnittelu, toteutus). Käyttöliittymä- ja käytettävyysosaamista (suunnittelu, toteutus). Yleinen ohjelmistojen suunnittelu- ja toteutusosaaminen eri ympäristöissä (WWW, Linux, Windows, mobiililaitteet). Algoritmit ja tietorakenteet. Lisäksi tarvitaan (näitä myös opetellaan): projektiosaamista erilaisia ryhmätyötaitoja 11

Mitä hyötyä koko kurssista? Kasvattaa työelämän valmiuksia. Kynnys hypätä mukaan jonkin yrityksen projektiin pienenee, kun tuntee edes osan käytettävistä käsitteistä. Parhaimmillaan tästä voi saada työnäytteen tulevia työnhakuja varten. 6 ov. pakollisia aineopintoja (myöhemmin 12 opintopistettä). 12

Projektien aikataulu Sopimuksien allekirjoitus, tapaaminen asiakkaan ja projektipäällikön kanssa ja toimeksiantoon tutustuminen, viikoilla 43 44. Määrittelyprojekti, syksyllä: Projektisuunnitelma, katselmointi viimeistään 26.11. Vaatimusmäärittely, katselmointi viimeistään 10.12. Henkilökohtaisen raportin palautus Määrittelyjen ja projektisuunnitelman esittelypäivä 15.12 klo 12-17 Paavi Koli salissa. 13

Projektien aikataulu Toteutusprojekti, keväällä: Testaussuunnitelma, katselmointi viimeistään 25.2. Toteutussuunnitelma, katselmointi viimeistään 18.3. Koodin katselmointia (vapaaehtoinen), ennen testauksen aloitusta. Projektin ja ohjelmiston esittelypäivä toukokuun puolenvälin paikkeilla. Henkilökohtaisen raportin palautus viimeistään esittelypäivänä. Ohjelmiston luovutus asiakkaalle esittelypäivänä (tai samalla viikolla). 14

Suoritusten arvostelu 4*(0 3 p.), projektisuunnitelma, vaatimusmäärittely, testaussuunnitelma ja toteutussuunnitelma 0 3 p., viikkoraportit 0 3 p., testiraportointi 0 3 p., katselmoinnit 0 6 p., toteutus (ml. lähdekoodit) 0 3 p., projektin loppuraportti 2*(0 2 p.), määrittelyjen esitys, ohjelmiston esittely 0 3 p., määrittelyjen arviointi (hlö.koht.) 0 3 p., tulosten arviointi (hlö.koht.) 0 2 p., projektityöskentely (hlö. koht.) 15

Suoritusten arvostelu Pisteiden maksimimäärä on 42. Pisteet ovat pääsääntöisesti ryhmäkohtaisia. Arviointiraportit ovat henkilökohtaisia. Lisäksi aktiivisesta projektityöskentelystä saa pisteitä. Ryhmän sisällä opiskelijat siis voivat saada eri arvosanat. Yleisohje arviointiin: arvostelussa kiinnitetään huomiota huolellisuuteen, käytettyjen tekniikoiden monipuolisuuteen ja annettujen ohjeistuksien noudattamiseen. Lisäpisteitä voi saada helposti, esimerkiksi käyttöohjeiden avulla (joissain projekteissä käyttöohje voi olla pakollinen). Saatan myös muuttaa minkä tahansa kohdan pisteitä, jos esiintyy ongelmia. 16

Vaadittavat suoritukset Kukin arvosteltava suorite on suoritettava hyväksyttävästi (vähintään nollan pisteen veroisesti). Jos esimerkiksi loppuraporttia ei tule tai jos jompikumpi henkilökohtaisista arvioista puuttuu, ei kurssista saa arvosanaa. (Loppuraportti koskee koko ryhmää, hlö.kohtaiset raportit yksittäisiä opiskelijoita.) Lisäksi pisteitä pitää saada riittävästi (läpipääsyrajana n. 20 pistettä, tarkkaa määrää ei ole vielä päätetty). Loput arvosanat sijoittuvat lineaarisesti läpipääsyrajan ja maksimimäärän välille. Dokumenttipohjia löytyy kurssin kotisivulta. Katso myös http://www.cs.tut.fi/kurssit/8102500/materiaali.html (Tero Ahtee, TTKK). 17

Projekti-, testaus- ja toteutussuunnitelma sekä vaatimusten määrittely 4*(0 3 p.), projektisuunnitelma, vaatimusmäärittely, testaussuunnitelma ja toteutussuunnitelma Pohjat löytyvät kurssin kotisivulta. Pohjia saa (ja pitää) muokata projektin tarpeiden mukaan. Yrityksillä voi olla omat dokumenttipohjat. Esimerkkidokumenteissa voi olla ylimääräistä ja niistä voi puuttua jotakin, joka liittyy oleellisesti juuri sinun projektiisi. Kirjallisuudesta löytyy apua (Pressman, Sommerville, Forsman, Haikala ja Märijärvi,...). On tärkeätä käyttää erilaisia tekniikoita dokumenteissa. 18

Testausraportti ja loppuraportti 0 3 p. Testausraportti Palautetaan ennen loppuraporttia. Onko testit tehty, onko testit toistettavissa, vastasivatko testitulokset määrittelyä... 0 3 p. Loppuraportti Kuinka projekti sujui. Kuinka kustannus, tehokkuus ja aika-arviot toteutuivat. Luettelo tuotetuista dokumenteista 19

Viikkoraportit 0 3 p., Viikkoraportit Projektiryhmä järjestää säännöllisiä tapaamisia vähintään joka toinen viikko: Kuluneen ajanjakson tehtävien toteutuminen, ongelmia, riskejä? Päätetään seuraavan viikon tehtävistä. Viikkopalavereista pidetään aina pöytäkirjaa. Projektiryhmän viikottaiset työtunnit ja tehdyt tehtävät liityen projektin eri vaiheisiin pitää löytyä projektin www-sivulta. Ei tarvitse laittaa viikkoraporttiin. Kaikista projektin päätöksistä pitää löytyä merkintä jostain pöytäkirjasta tai dokumentista. 20

Katselmoinnit 0 3 p., katselmoinnit Kurssilla on neljä pakollista katselmointia (projekti-, testaus- ja toteutussuunnitelma sekä vaatimusten määrittely). Pistemäärä on katselmointien keskiarvo. Kuinka katselmointi oli organisoitu. Virheiden löytyminen on hyvä asia! Raportointi, korjausten tekeminen. Katselmoinnista ei voi saada täysiä pisteitä, jos se tehdään viimeisenä mahdollisesena päivänä. Vapaaehtoisista katselmoinneista voi saada lisäpisteitä. 21

Toteutus (ja lähdekoodit) 0 6 p., Toteutus (ml. lähdekoodit) Lopullinen tuote ja sen vertaaminen projektisuunnitelmaan ja vaatimusten määrittelyyn. Onko koodi luettavaa / kommentoitu / selkeää. Onko lopputuote sitä mitä asiakas odotti? Toteutuksen toimivuus, ulkoasu, asentaminen. 22

Esitelmät 2*(0 2 p.), määrittelyjen esitys, ohjelmiston esittely Osallistuiko koko ryhmä. Oliko esitys hyvin organisoitu. Palaute muilta opiskelijoilta. Jokainen antaa palautetta vähintään neljään esitykseen. Palautelomakkeet jaetaan tilaisuudessa. 23

Henkilökohtaiset projektikertomukset 2*(0 2 p)., Henkilökohtaiset projektikertomukset Yksi syksyllä, yksi keväällä. Kerro omin sanoin mitä olet tehnyt projektissa. Onko havaintoja koko projektin ajalta. Kommentteja projektityöskentelystä. Huomioita toteutuneista ongelmista ja niiden ratkaisemisesta. Sujuiko asiakkaan / luennoitsijan / projektipäällikön / muiden ryhmäläisten kanssa kaikki hyvin. Oliko liikaa / liian vähän töitä. 24

Projektityöskentely (hlö. koht.) 0 2 p., Projektityöskentely (hlö. koht.) Aktiivinen osallistuminen projektin työskentelyyn. Tekikö monipuolisesti (ainakin vähän) kaikkea (dokumentointi, suunnittelu, ohjelmointi, esitykset). 25

Projektihuone B1076 Avaimen voi kuittata laitoksen kansliasta (Heli Ruusunen), tämän jälkeen huonetta voi käyttää projektityöskentelyyn. Huonetta käytetään myös katselmointeihin, joita varten on varauslista. Huoneessa on kirjallisuutta luettavaksi: Royce, Lewis, Pressman, Haikala ja Märijärvi, Forsman ja Sommerville. Kirjoja ei saa ottaa mukaan, ainoastaan luettavaksi. Kaksi tietokonetta ja tulostin. Avain pitää palauttaa jotta saat opintoviikot!!! 26

Yleistä dokumenttien palautuksesta Jos ryhmällä on kotisivu josta löytyy kaikki materiaali, niin riittää että ilmoitatte luennoitsijalle dokumenttien valmistumisesta. Saa lähettää sähköpostitse (.txt,.ps ja.pdf ovat suositeltavia formaatteja). Saa tuoda suoraan työhuoneeseeni. Jos en ole paikalla, voi jättää kansliaan. Olkaa huolellisia dokumenttien kirjoittamisessa. 27

Yleisiä asioita: kotisivu, projektikansio Jokaisella projektilla pitää olla oma projektikansio, johon kootaan kaikki dokumentit. Kansio annetaan luennoitsijalle kurssin lopussa. Arvostelun valmistuttua kansio palautetaan projektipäälikölle. Jokaisella projektiryhmällä pitää olla kotisivu, josta löytyy vähintään lyhyt kuvaus projektista ja jokaisen ryhmän jäsenen tehdyt tunnit viikoittain. Muista päivitys! Kaupallisissa projekteissa kotisivulle ei tarvitse laittaa salaista materiaalia. 28

Hieman tekijänoikeuksista... Opinnäytetyöt ovat tekijänoikeudellisesti suojattuja. Ainoa edellytys on omaperäinen ilmenemismuoto (ikä esim. ei vaikuta). Teoksen julkistaminen vaikuttaa tekijän yksinoikeuteen määrätä teoksestaan. Julkistamisen jälkeen mm. lainauksien ottaminen on sallittua. Julkistamisen jälkeen työstä saa ottaa sitaatteja ja siitä voi ottaa lainauksia hyvä tavan mukaisesti (josta viime kädessä päättää oikeus, mikäli menee riidaksi). Muista luento sopimuksista ja oikeuksista maanantaina 18.10! Laitoksen plagiointisivut: http://www.cs.uta.fi/opiskelu/plagiointi.php. 29

Tällä kurssilla tekijänoikeudet kuuluvat teoksen luojille, eli ensisijaisesti projektiryhmälle. Riippuen työmäärästä ja osallistumisesta, myös toimeksiantajalla ja jopa ohjaajalla saattaa olla jotain tekijänoikeuksista (vaatinee heiltä itsenäistä ja luovaa työpanosta). Tekemällä sopimukset, vältytään ikäviltä sotkuilta. Pelisäännöistä sopimisen jälkeen kunkin tulisi tietää, mitkä ovat omat oikeudet tuotoksiin. Mikäli asiasta ei sovita erikseen, tekijänoikeuksien siirrossa oikeudet saanut osapuoli ei saa muuttaa teosta tai luovuttaa sitä toiselle. Tästä syystä myös näistä oikeuksista olisi aina erikseen syytä sopia. Taloudellisista oikeuksista on syytä aina tehdä erillinen sopimus. 30

Sopimukset kurssilla Käytössä kolmenlaisia sopimuksia. Yksi, jonka pohjalta tekijät luovuttavat oikeudet Tampereen yliopistolle, joka puolestaan julkaisee tuotokset GNU General Public Licencen alla (www.gnu.org). Toinen, yrityksiä varten tehty. Tässä tekijät luovuttavat oikeudet yritykselle, joka sitten voi tehdä tuotoksilla, mitä haluaa. Tätä käytetään, jotta saataisiin myös yrityksiltä projektityöaiheita. Osa opiskelijoista haluaa perinteisesti yritysprojekteihin (ja osa ei). Kolmas, myös yrityksistä lähtöisin oleva. Tässä tekijät luovuttavat kullekin projektin osapuolelle vapaat oikeudet soveltaa tuotoksia. Tavallaan samankaltainen kuin ensimmäinen, paitsi ei sido yritysten käsiä yhtä paljon (ei sido myöskään tekijöiden käsiä yhtä paljoa). 31

Katselmoinnit Katselmointi tarkoittaa dokumentille tehtävää arviointia. Katselmoinnissa katsotaan että katselmoitava dokumentti sisältää vaaditut asiat, täyttää annetut kriteeri eikä sisällä virheitä. Katselmoinnin tarkoituksena on vaiheen päättymisen toteaminen. Tavoitteena virheiden, väärinkäsitysten ja ongelmakohtien mahdollisimman varhainen havaitseminen. aikaisin havaittujen virheiden korjaaminen halvempaa ja helpompaa virheet voivat liittyä mm. toimintaan, logiikkaan ja toteutukseen. 32

Katselmointien tavoitteita ja hyötyjä Laadunvarmistuskeino. Liittyy standardeihin, esim. ISO 9001, IEEE 1028. Asiakkaalla hyväksyttäminen ja mielipiteen saaminen. Sopia tuotteen niistä osista, joita joko ei haluta tai joita ei tarvitse parantaa. Varmistaa, että ohjelmisto vastaa sille asetettuja vaatimuksia ja määrittelyjä. Varmistaa, että ohjelmisto ja sen toiminta esitetään ennalta määritellyin tavoin ja standardein. Varmistaa, että ohjelmistoa kehitetään yhdenmukaisin menetelmin. 33

Lisää katselmointien hyötyjä Projektista tulee hallittavampi. Työn tekninen laatu paranee ja on tasaisempaa. Projektin etenemisen seurannan selkiytyminen, etenemisen ja onnistumisen ennustettavuus paranee. Varmistaa ja parantaa projektin jatkuvuutta, koska ihmiset tutustuvat osiin, joita eivät ole aiemmin nähneet. 34

Mitä voi katselmoida? Kaikkea tuotettua materiaalia: dokumentteja, esimerkiksi vaatimusmäärittely, projektisuunnitelma, testaussuunnitelma ja toteutussuunnitelma. käyttöohjeet koodia katselmointipöytäkirjoja edistymisraportteja (viikko-) testiraportteja Jos jokin tuotos on hyvin laaja, se tulee tarkastaa osittaiskatselmoinnein (esim. max n. 50 sivua tai 500 riviä koodia kerrallaan). 35

Esim. toteutussuunnitelman katselmointi Tässä esimerkissä keskitytään katselmointien valmistelu- ja tapaamisvaiheisiin. Suunnittelu: Ketkä osallistuvat. Kullekin osapuolelle toimitetaan toteutussuunnitelma. Varmistetaan, että kaikilla on vaatimusmäärittelyt ja esityslista. Valmistelu: Jokainen tutustuu materiaaliin (toteutussuunnitelmaan) ja merkkaa läytämänsä virheet. Lukemisen tueksi voi antaa tarkastuslistoja ja näkökantoja. Ideana on helpottaa ongelmakohtien havaitsemista. 36

Esim. jatkoa Tapaaminen: Kesto max 2 tuntia. Osallistujille annetaan roolit. Tapaamisen tarkoitus: Kukin esittää löytämänsä ongelmakohdat. Etsitään aktiivisesti uusia ongelmakohtia. Tarkastellaan toteutussuunnitelmia systemaattisesti (esimerkiksi vaatimusmäärittelyn käyttötapausten avulla ja standardeja vasten). Varmistetaan yhteinen näkemys (ymmärrys) asiasta oppimista. Eliminoidaan väärät ongelmakohdat (ongelmakandidaatit, joista ryhmä päättää, että eivät ole ongelmia). 37

Roolit Puheenjohtaja: johtaa katselmointitilaisuutta, pitää kiinni aikataulusta, hillitsee selittelyä, rajoittaa keskustelua ja sen rönsyilyä ja liikaa ideointia, rohkaisee/provosoi passiivisia. Esittelijä: esittelee kokonaisuuden, ja sitten kunkin osan lyhyesti. Esittelee (esimerkkiin liittyen) käyttötapaukset, varmistaa, että osallistujilla on sama näkemys tapauksista. Sihteeri: kirjaa löytyneet ongelmakohdat (ks. katselmointipöytäkirjan malli). Muilla osallistujilla ei ole tilaisuuden organisointiin liittyvää roolia. Dokumentin (koodin) tekijä (kirjoittaja, omistaja ) voi toimia esittelijänä. Tekijälle ohjeita: älä selittele, älä tuo keskeneräistä tuotetta tarkasteltavaksi. 38

Tarkastuslistat ja näkökulmat Auttavat valmisteluvaiheessa. Osallistujat käyttävät näitä apunaan, kun tutustuvat katselmoitavaan kohteeseen. Tarkistuslistat: joukko kysymyksiä, joiden avulla saadaan kohdennettua lukijan huomio haluttuihin kohtiin. Esimerkkiä jatkaen, osa listojen kohdista voi perustua vaatimusmäärittelyyn. Osa puolestaan liittyy standardien ja sovitun ohjelmistoprosessin noudattamiseen. Näkökulmat: aktiivinen lähestyminen, jonka avulla simuloidaan jonkin asiantuntijan osallistumista kokoukseen. Esimerkkejä näkökulmista: suunnittelija testaaja toteuttaja 39

Lisää ohjeita katselmointien järjestämisestä Seuraava lista on Pressmannin kirjasta: 1. Katselmoi tuotetta, älä tekijää. 2. Valmistele asialista ja yritä noudattaa sitä. 3. Rajoita keskustelua ja vastaväitteitä. 4. Ilmaise selkeästi ongelma-alueet mutta älä yritä ratkaista kaikkia niitä. 5. Kirjoita muistiinpanoja. 6. Rajoita osallistujien lukumäärää ja vaadi etukäteisvalmistelua. 7. Kehitä tarkistuslistoja tuotoksille, joita katselmoitaneen. 8. Varaa projektisuunnitelmassa aikaa katselmoinneille. 40

Projektikurssien käytännöstä 1 Kukin ryhmän jäsen kokeilee kutakin roolia vähintään kerran. Roolit jaetaan hyvissä ajoin ja merkataan projektisuunnitelmaan. Katselmoinnin pj. tiedottaa katselmoinnista asianmukaisesti vähintään 5 arkipäivää ennen katselmointia. Mukana asialista, mahdolliset tarkastuslistat ja muu taustamateriaali. Dokumentin omistaja jakaa dokumentin osallistujille vähintään 2 arkipäivää ennen katselmointia. Katselmointipöytäkirjat arkistoidaan muiden dokumenttien tavoin projektikansioon. 41

Projektikurssien käytännöstä 2 Aikataulu: Projektisuunnitelman oltava katselmoituna 26.11. ja vaatimusmäärittelyn 10.12. Testaussuunnitelma: 25.2.2004. Toteutussuunnitelma: 18.3.2004. Projektisuunnitelman ja vaatimusmäärittelyn päivämäärät ovat ehdottomia. Myöhästyminen johtaa ryhmän lakkauttamiseen. Mikäli katselmointi on sovittu viimeiselle päivälle (esim. 10.12. vaatimuksilla), ei voi saada täysiä pisteitä katselmointiosiosta. Jos epäilet, että ryhmänne ei onnistu pitämään kiinni annetusta päivämäärästä mutta kuitenkin haluat jatkaa kurssilla, ota hyvissä ajoin yhteyttä. Mikäli määräaikaan on viikko tai vähemmän, ei yhteydenottoa huomioida. 42

Kirjallisuutta kurssille Pressman: Software Engineering, A Practitioner s Approach. Haikala ja Märijärvi: Ohjelmistotuotanto. Royce: Software Project Management, A Unified Framework. Forsman: ATK-projektin läpivienti. Sommerville: Software Engineering. Koskimies: Pieni oliokirja. Harsu: Ohjelmien ylläpito ja uudistaminen. ISO 9000 -standardit (esim. Schmauch, ISO 9000 for Software Developers, tai http://www.iso.ch) IEEE -standardit (erityisesti IEEE 1028, IEEE Standard for Software Reviews and Audits, http://standards.ieee.org/software/) 43