Laatukäsikirja Kuopio

Koko: px
Aloita esitys sivulta:

Download "Laatukäsikirja Kuopio"

Transkriptio

1 Laatukäsikirja Kuopio

2 Kuopio, laatukäsikirja, Versiohistoria: Versio Pvm Laatija Muutokset Ossi Jokinen Valmis katselmoitavaksi Ossi Jokinen Sisäisen katselmoinnin korjaukset tehty Ossi Jokinen Asiakaskatselmoinnin korjaukset tehty Ossi Jokinen Lisätty projektin lopputuotteen tuotannon ohjeet ja käytännöt. Menetelmistä löytyy CVS version ja muutoksen hallinta sekä koodikatselmoinnit Ossi Jokinen Kappale tuntiraportointia muutettu. Kappale koodin katselmointikäytäntöä muutettu Ossi Jokinen Lisätty kappaleeseen 5.3 viitteet koodausohjeeseen Ossi Jokinen Lopullinen versio T1-vaiheen palautukseen Ossi Jokinen Kappaleen 5.3 päivitys Lasse Tolvanen Kappaleen päivitys Ossi Jokinen Katselmoinnin korjaukset T3 palautukseen. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 2

3 SISÄLLYSLUETTELO 1. JOHDANTO TERMIT LAATU LAADUN MITTARIT PROJEKTIN TOIMINTATAVAT PROJEKTIN HALLINNOLLISET TOIMINTATAVAT JA -OHJEET Projektin yhteydenpito Projektin työmäärän ja ajankäytön seuranta Asiakasraportointi ja -kommunikaatio Kokous- ja palaverikäytännöt Katselmointikäytäntö Dokumenttien julkaisukäytännöt PROJEKTIN TUOTTEEN HALLINTA Asiakkaan vaatimusten hallinta Versionhallinta Muutoksen hallinta PROJEKTIN LOPPUTUOTTEEN TUOTANNON OHJEET JA KÄYTÄNNÖT Käytettävät kehitystyökalut Käytettävä suunnitteluperiaate, kolmikerrosmalli, N-tier application architecture Koodausohjeet, Coding Guidelines Versionhallinnan ja konfiguraation hallinnan ohje Koodin katselmointi/tarkastus käytäntö PROJEKTIN RISKIENHALLINTAPROSESSI RISKIEN TUNNISTAMINEN RISKIEN MONITOROINTI RISKIEN VASTATOIMET RISKIEN UUDELLEENARVIOINTI LÄHTEET LIITTEET Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 3

4 TAULUKOT Taulukko 1 Dokumentissa esiintyvät termit...6 Taulukko 2 Laadun mittarit...8 Taulukko 3 Tuntiraportoinnin työlajit...12 KUVAT Kuva 1 A typical N-Tier Model...20 Kuva 2 Projektin riskienhallintaprosessi...28 Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 4

5 1. JOHDANTO 2. TERMIT Tässä dokumentissa määritetään projektissa käytettävä lähestymistapa laadukkaan lopputuloksen takaamiseksi. Tähän määrittämiseen on ryhdytty kahdesta syystä: 1. Laatu ei synny projektiin itsestään, joten strukturoidun prosessin käyttäminen on järkevää. 2. Laatuprosessin soveltaminen (joka viime kädessä takaa onnistuneen lopputuloksen) ei ole mahdollista, ellei prosessia ole määritetty heti projektin alkaessa ja sovellettu läpi projektin. Laatu lähtee käytettävistä menetelmistä. Ilman suunnittelua ja oikeita menettelytapoja laadukkaaseen lopputulokseen pääseminen ei ole kovinkaan todennäköistä. Laadun määritelmä tässä projektissa lähtee asiakkaan kokemasta laadusta: asiakastyytyväisyys on koko laatujärjestelmän tärkein tavoite. Tässä dokumentissa määritetään mitä laatu tarkoittaa tässä projektissa sekä lopputuotteen että prosessin osalta. Lisäksi esitetään laadun kriteerit ja niiden mittarit sekä lukuisia toimintaohjeita ja -tapoja, joilla pyritään varmistamaan projektin laatu. Laatuprosessi ei vaikuta pelkästään syntyvään lopputuotteeseen vaan myös aikatauluun, jonka puitteissa tuote on mahdollista toteuttaa. Kuopio-projektiryhmässä uskotaan, että huolellisella suunnittelulla ja laadukkailla prosesseilla voidaan myös säästää aikaa, sillä asian tekeminen kerralla oikein vie yleensä vähemmän aikaa kuin virheiden jatkuva korjaaminen. Lisäksi virheiden jatkuva korjaaminen synnyttää todennäköisesti uusia virheitä, joten tehdyt virheet saattavat kumuloitua lopulta hallitsemattomiksi. Tätä laatukäsikirjaa tehdessä on pyritty ottamaan huomioon projektin luonne ja varottu synnyttämästä ylimääräistä työtä, joka ei ole panostuksen arvoista. Projektin koko, aikataulu ja resurssit ovat tiedossa tätä dokumenttia laadittaessa. Niiden pohjalta syntyy arvio oikeasta panostusten suhteesta laadun tuottamiseen. Pelkkiä dokumenttejahan projektissa ei voida lähteä tekemään vaan toiminnan on tähdättävä lopputuotteen mahdollisimman tehokkaaseen ja laadukkaaseen tuottamiseen. Tehokkaaseen toimintaan on siis pyrittävä, jotta kaikki se mitä tässä projektissa on tarkoitus toteuttaa pystytään toteuttamaan. Projektiryhmän jäsenet tiedostavat, että asioiden uudelleen keksiminen on ylimääräistä työtä. Niinpä laadun luomisen perusprosesseihin kuuluu benchmarking. Laatujärjestelmän toteuttamisvastuu on ensisijaisesti kaikilla Kuopio-projektin osapuolilla ja kokonaisuus on jaettu siten, että Ossi Jokinen vastaa projektin prosessin laadusta ja Rami Laiho projektin lopputuotteen laadusta teknisessä mielessä. Laatukäsikirjaan on myös dokumentoitu projektin riskienhallintaprosessi, joka on oma osansa projektin laadun varmistamista. Seuraavassa taulukossa on esitetty dokumentissa esiintyvä terminologia. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 5

6 Taulukko 1 Dokumentissa esiintyvät termit Asiakaskatselmoin ti Benchmarking Prosessi, jossa asiakas tarkastelee palautuksia ja esittää mahdolliset parannusehdotukset ryhmälle. Benchmarking on käytäntö, jossa organisaatio tai yksilö pyrkii parantamaan omaa toimintaansa oppimalla muiden organisaatioiden tai yksilöiden toiminnasta. Benchmarking voi kohdistua mihin tahansa toimintaan, mutta yleensä sitä käytetään jonkin prosessin parantamiseen. Vertailun kohteena oleva organisaatio ei välttämättä toimi samalla alalla kuin vertaajan oma organisaatio. Benchmarking ei ole suoraa toisten hyvien ideoiden kopioimista. Se on kuitenkin toisten keksimien ideoiden hyödyntämistä ja sen tosiasian tunnustamista, että koulutyönä tehtävässä projektissa tuskin keksimme prosessien puolelta mitään uutta ja ihmeellistä, joten olemassa oleviin asioihin vertaaminen on vähintäänkin järkevää. Client/server, serveri CVS Kehitysympäristö Mentor Milestone Projekti Prosessi Asiakas-palvelin. Sovellus tai järjestelmä, jossa asiakas käyttää paikalliselta koneelta asiakasohjelmaa ottaakseen yhteyden palvelinkoneeseen. Versionhallintaan käytettävä ilmainen ohjelmisto. Palvelinkoneympäristö, jossa varsinainen koodaus tapahtuu. Kurssin puolesta projektille määrätty henkilö, joka valvoo projektin kulkua ja neuvoo matkalla tulevissa ongelmissa. Virstanpylväs, etappi. Projektin etenemisen virstanpylväs, jossa arvioidaan tarkemmin projektin tilaa ja jossa projektilla on selkeä tavoitetila. Ainutlaatuinen toisiinsa kytkeytyvien toimintojen ja tapahtumien joukko, joilla on selkeä tavoite ja tarkoitus sekä määrätty käytettävissä oleva aika ja budjetti. Toimintojen sarja, jolla päästään jostain lähtötilasta johonkin tavoitetilaan. Sisäinen aikaraja Projektiryhmän sisäinen aikaraja esim. dokumenttien kirjoittamiselle, joka on noin viikkoa aikaisempi kuin kurssin asettama aikaraja. Palautukset lähetetään asiakkaalle heti tämän aikarajan jälkeen. Sisäinen katselmointi Projektiryhmän sisäinen katselmointi, joka tapahtuu ennen sisäistä aikarajaa (eli dokumenttien lähettämistä asiakkaalle). Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 6

7 Tirana Kurssilla ja tässä projektissa käytettävä tuntiraportointijärjestelmä. USDP Unified Software Development Process, iteratiivinen ja inkrementaalinen ohjelmistokehityksen menetelmä, joka pohjautuu käyttötapauksiin. ViCa Word2000 Kuopio Projektiryhmä Lopputuote Asiakas Ohjaaja Mentor Innofactor Oy Visualization Client Application. Kurssin ja tämän projektin työkalu projektin etenemisen visualisoinnissa. Microsoftin Office tuoteperheen tekstinkäsittelyohjelman uusin versio. Toteutettavan ohjelmistoprojektin nimi. Tarkoittaa projektin toteuttavaa ryhmää opiskelijoita. Tarkoittaa projektin lopputulosta, tuotetta, jonka projektiryhmä tekee projektin aikana. Se henkilö tai taho, jolle projektiryhmä projektin loppuessa luovuttaa projektin lopputuotteen. Asiakkaalla voidaan viitata joko henkilöön (Tik kurssin rooli "asiakas") tai yleisesti asiakkaana toimivan yrityksen edustajaan. Asiakkaan puolesta järjestetty henkilö, joka ohjaa projektia asiakkaan haluamaan suuntaan ja tuo asiakkaan toiveita ja tietotaitoa mukaan projektiin. Tässä projektissa sama henkilö kuin asiakas. Kurssin puolesta projektille määrätty henkilö, joka valvoo projektin kulkua ja neuvoo matkalla tulevissa ongelmissa. Asiakkaan työllistävä yritys, jolle projekti tehdään. 3. LAATU Johdannossa todettiin asiakastyytyväisyyden olevan tärkein laadun mittari. Asiakastyytyväisyys = Laatu japanilaisen laatugurun, Ishikawan määritelmän mukaan. Tätä määritelmään on kuitenkin syytä hieman tarkentaa. Wesselius on todennut laadun koostuvan kolmesta komponentista, Laatu = objektiivisesti- + subjektiivisesti- + arvioimattomissa oleva komponentti [1]. Objektiivinen laadun komponentti: täyttääkö tuote kaikki vaatimusmäärittelyssä kuvatut vaatimukset? Vaatimuksia ovat esimerkiksi toiminnalliset vaatimukset, aikatauluvaatimukset, budjettivaatimukset, jne. Tämän komponentin täyttymistä voidaan helpoiten mitata vertaamalla lopputuotetta ja projektin kulkua projektin alussa määritettyihin vaatimuksiin. Subjektiivinen laadun komponentti: kuinka hyvin tuote kykenee täyttämään asiakkaan odotukset? Vaatimusmäärittely ei ole koskaan täydellinen. Tässä laadun komponentissa arvioidaan miltä tuote "tuntuu" asiakkaan mielestä. Tämän komponentin täyttymisessä Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 7

8 nähdään kuinka hyvin odotukset oli saatu kirjattua määrittelyiksi. Asiakkaan "tunne" tuotteesta ja projektista on hyvin subjektiivista. Tähän tuntoon vaikuttaa nähtävissä olevien seikkojen lisäksi aina psykologiset aspektit, sillä asiakas on vain ihminen. Esimerkiksi hyvä asiakaspalvelu ja henkilökemia asiakkaan kanssa aiheuttaa reaktion, jossa asiakas on altis vähättelemään syntyneitä puutteita ja korostamaan hyviä puolia. Tämä pätee vastaavasti myös toisin päin. Komponenttia voidaan mitata projektin lopuksi tiedustelemalla asiakkaan tuntoja. Arvioimaton laadun komponentti: kuinka hyvin tuotetta kyetään muuttamaan asiakkaan tulevien, tuntemattomien tarpeiden mukaisiksi? Asiakas ei edes tiedä kaikkia tarpeitaan, ja uusia tarpeita syntyy varmasti tulevaisuudessa. Tämän laadun komponentin täyttymistä ei tiedetä heti projektin päätyttyä. Tulevaisuus näyttää miten laadukas projekti oli tässä mielessä. Projektin tavoitteena on olla laadukas kaikkiin sidosryhmiinsä nähden. Tämän vuoksi asiakastyytyväisyyden lisäksi on huomioitava myös projektiryhmän tavoitteiden täyttyminen. Projektin tavoitteet on esitelty projektin projektisuunnitelmassa. Projektin tavoitteet on yhdistetty asiakkaan ja projektiryhmän tavoitteista. Näiden tavoitteiden täyttyminen edellä kuvattujen kaikkien laadun komponenttien kannalta tuottaa tämän projektin lopullisen laadun. 4. LAADUN MITTARIT Seuraavassa taulukossa on esitetty projektin laadun mittareita: Taulukko 2 Laadun mittarit Mittari Syy Toteutus Projektinhallintaan ja muihin hallinnollisiin toimenpiteisiin käytettyjen tuntien määrän suhde tuotantoon käytettyihin tunteihin. Hallinnolliset toimet kuuluvat osana projektiin ja niitä tulee olla tietty määrä projektista. Jos hallinnollisia toimia on vähän, niin projektinhallinta on tulkittava liian kevyeksi ja jos toimia on paljon, niin projektinhallinta on liian raskasta ja tehokkuus kärsii. Etsitään sopivia lähtökohtia vertailuarvoiksi yhdessä asiakkaan kanssa. Seurataan tunteja kurssin tarjoamalla Tiranajärjestelmällä. Kerätään havaintoja ensimmäisestä toteutusvaiheesta ja muodostetaan hypoteesi suhteesta oman kokemustiedon ja kirjallisuustiedon perusteella toista toteutusvaihetta varten. Kurssille palautettavien dokumenttien sisäisissä katselmoinneissa ilmi tulleiden virheiden ja puutteiden lukumäärä. Katselmointien tulisi prosessin toimiessa olla lähinnä muodollisia tilanteita, joissa varmistuksena tarkastetaan viimeisen kerran palautettavat dokumentit. Jos virheitä tai erimielisyyksiä syntyy, tämä Katselmustilanteessa lasketaan kuinka monta ongelmaa ja korjausta vaativaa tilannetta havaittiin. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 8

9 Mittari Syy Toteutus voi johtua esim. tulevista aikatauluongelmista, motivaatio-ongelmista, sisäisistä erimielisyyksistä, jne. Projektiin budjetoitujen työtuntien toteutuminen. Mikäli työtunteja kuluu liikaa, ei projektiryhmän jäsenet ole tyytyväisiä. Budjetointi on tehty kurssin vaatimusten pohjalta, ja projektiryhmän jäsenet eivät niitä halua ylittää. Tämä kertoo myös siitä miten hyvin vaatimusten priorisointi ja mahdollinen karsinta on onnistunut. Seurataan eri vaiheille kertyneiden tuntien määrää verrattuna vaiheelle budjetoituihin työtunteihin. Arvioidaan järjestelmän tilaa ja työtarvetta ja tehdään tarvittaessa karsintaa vaatimusten prioriteettien mukaan. Tuntien seuranta tapahtuu Tiranan kautta. Projektin edistymisastetta ja tarvittavia työtunteja arvioidaan projektiryhmän toimesta. Kurssin vaiheiden arvosanat ja koko kurssin arvosana. Projektiryhmän jäsenille on tärkeää kurssin vaatimusten täyttäminen ja hyvä arvosana kurssista. Arvosteluperusteet ovat kurssin henkilökunnan näkemys projektin laadukkuudesta. Verrataan saatuja arvosteluja tavoitearvoihin, jotka määrittyvät tavoiteltavan kokonaisarvosanan 5 perusteella. Aikatauluun perustuva edistymisen mittaaminen vs. arvioitu valmiusaste vs. suunniteltu valmiusaste projektin eri vaiheissa. Projektilla on kurssin asettamien vaatimusten mukaan useita milestone-kohtia aikataulussa. Jokaista vaihetta varten laaditaan ohjeen mukainen suunnitelma ko. vaiheen tavoitteista ja arvio valmiusasteesta. Jokaisen vaiheen lopussa tarkastellaan, saavutettiinko asetetut tavoitteet ja onko projektin valmiusaste todella suunnitelman mukainen. Lisäksi verrataan tehtyä työmäärää valmiusasteeseen. Kirjataan tehdyt tunnit Tirana - järjestelmään. Laaditaan tavoite joka vaiheelle. Tarkastellaan yhteistyössä asiakkaan kanssa, että saavutettiinko vaiheen tavoite. Arvioidaan koko projektin valmiusastetta joka vaiheen lopussa mahdollisimman puhtaalta pohjalta, ts. pyritään arvioivia henkilöitä vaihtamalla saamaan mahdollisimman realistinen arvio. Mitataan 'earned value' ja 'budgeted value' mittareilla projektin edistymistä suhteessa tehtyyn työhön ViCa - Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 9

10 Mittari Syy Toteutus järjestelmän avulla. Projektin tavoitteen tai lopputuotteen muutosvaatimusten lukumäärä. Projektin onnistumiselle on tärkeää, että projektin määrittely on onnistunut hyvin ja kaikki sidosryhmät ovat yksimielisiä projektin tavoitteesta. Jos muutoksia tulee paljon, on projektin määrittelyvaihe epäonnistunut. Etsitään referenssejä, kuinka paljon vaatimukset ja tavoitteet yleensä muuttuvat. Pyritään löytämään yhteistyössä asiakkaan kanssa jokin järkevä mittausarvo. Kirjataan ylös kaikki muutosvaatimukset ja verrataan mittausarvoon. Poikkeamat laatukäsikirjan mukaisista toimintatavoista. Ohjelmistosta löydettyjen virheiden määrä. Ohjelmistossa olevien virheiden korjaamiseen kuluva aika. Uudelleen avattujen virheraporttien määrä. Laatukäsikirja määrittelee lukuisia toimintatapoja, joiden tarkoitus on varmistaa, että projekti toteutetaan oikeaoppisesti. Jos poikkeuksia tulee paljon, voi määritelty toimintapa olla väärä tai huono ja sitä on korjattava. Kaikki löydetyt virheet raportoidaan. Mikäli virheitä on paljon suhteessa ohjelmiston kokoon on syytä huolestua. Tavoitteena on tehdä mahdollisimman vähän virheitä ja löytää tehdyt virheet mahdollisimman aikaisin, sillä se johtaa kustannustehokkuuteen ja mahdollisimman laadukkaaseen ohjelmistoon, sillä virheiden korjaaminen "rapauttaa" ohjelmiston koodia. Saadaan selville, kuinka tehokkaasti virheet korjataan ja toisaalta myös se, kuinka yksiselitteisesti testaus on ne raportoinut. Saadaan selville, kuinka paljon aikaa käytetään virheiden turhaan korjaamiseen ja Kokousmuistioissa pidetään kirjaa tapahtuneista poikkeamista ja esiin tulleista ongelmista. Prosessin laadusta vastaava tarkkailee lukumäärän kehitystä. Jos poikkeamisia tulee paljon, asiasta neuvotellaan ja tehdään tarvittavat muutokset. Etsitään sopivia lähtökohtia vertailuarvoiksi yhdessä asiakkaan kanssa. Verrataan löydettyjen virheiden määrää huomioiden ohjelmiston koko vertailuarvoihin. Mikäli luku näyttää liian korkealta mietitään mistä moinen huolimattomuus johtuu ja miten siitä päästään eroon. Mitataan aika, joka kuluu virheen avaamisesta sen sulkemiseen. Mitataan, kuinka suuri osuus virheraporteista voidaan sulkea, kun ne on kerran merkitty Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 10

11 Mittari Syy Toteutus tarkentamiseen. Lisäksi voidaan korjatuiksi. seurata testauksen luomien virheraporttien laatua. Koodin kommentointi Testauksen kattavuus suhteessa tuotteen kokoon koodiriveinä. Saadaan selville, kuinka havainnollista ohjelmiston lähdekoodi on ulkopuolisille. Tämä määrää käytännössä ohjelmiston jatkokehittämisen helppouden. Saadaan selville, kuinka suuren osan ohjelmiston eri toiminnoista testaus kattaa. Kommenttirivien osuus kaikista lähdekoodiriveistä. Käytetään testauksen yhteydessä automaattista kattavuuden mittaamiseen tarkoitettua työkalua. 5. PROJEKTIN TOIMINTATAVAT Tässä kappaleessa esitellään projektin toimintatapoja projektin eri osa-alueille. Projektinhallinnalliset käytännöt sekä tuotteen hallintaan liittyvät käytännöt on laadittu kirjallisuuden, Innofactorin laatujärjestelmän ja edellisten vuosien menestyksekkäitten ohjelmatyöprojektien dokumentaation pohjalta Kuopio-projektiin soveltaen. Projektin lopputuotteen tuotannon ohjeet laaditaan ensikokemusten ja kirjallisuuden perusteella ensimmäisen toteutusvaiheen aikana. 5.1 Projektin hallinnolliset toimintatavat ja -ohjeet Tässä kappaleessa esitetään projektin hallintaan liittyvät käytännöt Projektin yhteydenpito Ilman eri sopimusta jokaisen työviikon maanantaina järjestetään Innopolissa Innofactor Oy:n tiloissa klo projektin viikkopalaveri, johon osallistuu koko projektiryhmä ja pyydettäessä/halutessaan asiakkaan edustaja. Jos osallistuja on estynyt tai myöhästyy, siitä tulee ilmoittaa siten, että se kenelle ilmoitetaan estymisestä tai myöhästymisestä osallistuu viikkopalaveriin. Viikkopalaveria voidaan tarpeen vaatiessa siirtää tai niitä voidaan järjestää useampia. Viikkopalaverissa käsitellään seuraavan viikon tehtäviä ja keskustellaan projektin tilanteesta. Projektilla on sähköpostilista jonka kautta kommunikoidaan sähköpostitse kaikki projektia ja projektiryhmän jäseniä koskevat asiat. Projektipäällikkö lähettää projektin mentorille säännöllisesti raportin projektin edistymisestä. Käytännössä tämä edistymisraportti on projektin viikkokokouksesta tehty pöytäkirja. Myös asiakkaalle lähetetään projektin viikkokokouksen pöytäkirja mikäli hän ei ole ollut paikalla projektin viikkokokouksessa. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 11

12 5.1.2 Projektin työmäärän ja ajankäytön seuranta Tuntiraportointi ja sen oikeellisuus on mittareidemme perusta. Tunnit on merkittävä Tiranaan, josta niiden yhteenvetoja voi tarkastella ViCA-visualisointityökalun avulla. Siksi jokainen projektiryhmän jäsen on velvollinen seuraamaan omaa ajankäyttöään projektissa Tiranassa olevien tehtävien tarkkuudella. Tunteja syötetään Tiranaan seuraavien periaatteiden mukaan. Tunnit syötetään Tiranaan päivittäin. (Mikäli tämä ei jostain syystä onnistu täytyy tunnit syöttää viimeistään seuraavana päivänä). Koko ryhmää koskevat, yleensä varsin pitkään kestävät tehtävät kuten luennot ja asiakastapaamiset merkitään siten, että Tiranasta selvitetään alunperin tehtävälle arvioitu tuntimäärä sekä yhteensä tehtävään käytetty aika. Näiden lukujen erotusta voidaan pitää karkeasti ottaen tehtävän edelleen vaatimana aikana. Jos esimerkiksi luentoihin on arvioitu kuluvan 105 tuntia ja Tiranan mukaan luennoilla on käyty 80 tunnin edestä, jäljellä olevaksi aika-arvioksi asetetaan 25 tuntia. Tätä arviota voidaan luonnollisesti tarkentaa tehtävän lähestyessä loppuaan. Lyhyempien tehtävien, joihin liittyy kuitenkin enemmän kuin yksi ryhmäläinen, edelleen vaatima aika merkitään yksinkertaisesti arvioimalla. Arviot vaihtelevat luonnollisesti varsin paljon henkilöstä riippuen, mutta edellisen tehtävää suorittaneen henkilön antama arvio on useimmissa tapauksissa riittävän pätevä mittari ellei uudella arvioijalla ole asiasta parempaa tietämystä. Pelkästään yhden henkilön vastuulla olevien tehtävien jäljellä olevan keston arvioiminen on luonnollisesti tapauksena triviaali koska tehtävän suorittaja pystyy tällaisessa tilanteessa parhaiten arvioimaan tehtävän suoritukseen vielä kuluvaa aikaa. Nämä periaatteet varmistavat, että projektipäälliköllä on käytettävissä juuri päivitetty informaatio projektin tilasta. Jos Tiranaan tarvitaan uusia tehtäviä, niin tästä tulee tehdä ilmoitus Ossille. Projektin viikkopalaverissa käydään läpi jokaisen henkilön vastuulla olevien tehtävien valmiusaste ja Ossi seuraa tehtävien valmistumista. Tuntiraportoinnin työlajit ja niiden sisällöt on määritetty Ohjelmatyö-kurssin kotisivuilla seuraavalla tavalla: "Luokittelun avulla voidaan työtunnit jakaa lajeihin ja seurata ajankäyttöä yksittäisiä tehtäviä korkeammalla tasolla. Jotta seuranta olisi luotettavaa, on ryhmän sisällä ja eri ryhmien kesken noudatettava samaa luokittelua ja tulkittava sitä samalla tavalla. Seuraavaan taulukkoon on koottu mahdollisimman kattava lista tehtävistä, mitä kukin kurssilla käytettävä työlaji sisältää. Taulukko 3 Tuntiraportoinnin työlajit Koodi Työlaji Selite A ATK-ylläpito Kaikenlainen laitteiden ja ohjelmistojen asennus ja viritys omaa projektia varten. WWW-sivuston ylläpito. Varmuuskopiointi. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 12

13 Koodi Työlaji Selite D Dokumentointi Ohjelmistoa koskevien raporttien kirjoittaminen, tarkastaminen, katselmointi, revisiointi, muunnokset ja palautukset. Käyttöohjeet ja muu koulutusmateriaali, myös on-line muotoinen. K Kokoukset Kurssin aikatauluun kuuluvat katselmukset ja demot. Ryhmän omat ja asiakaskokoukset, jos ne eivät selkeästi kuulu muuhun luokkaan (esim. ryhmätyönä tehtävä suunnittelu). Kokouksille kannattaa siis etukäteen sopia tarkoitus. L Luennot Ohjelmatyökurssin kaikille yhteiset luennot. O Ohjelmointi Ohjelmien kirjoittaminen, kääntäminen, linkkaaminen jne., sekä ohjelmoijan osalta suoritettava moduulitestaus. Ohjelmankehitysympäristöstä riippuen voi sisältää myös esimerkiksi valmiiden komponenttien uudelleenkäyttöä sekä käyttöliittymäkomponenttien sijoittelua, konfigurointia, koodin generointia jne. Tähän työlajiin kuuluvat myös ohjelmoinnin tukitehtävät, kuten työtä helpottavien skriptien kirjoittaminen sekä ohjelmiston konfiguraationhallinta. P Projektin hallinta Lähinnä projektipäällikön tehtävät: projektin suunnittelu, prosessin määrittely, projektin ohjaus, tuntiraportointi. Hallinnollisten dokumenttien kirjoittaminen ja revisointi: projektisuunnitelma, edistymisraportti, loppuraportti, omien projektikokousten pöytäkirjat. S Suunnittelu Määrittelydokumenttien (vaatimusmäärittely, toiminnallinen määrittely, tekninen määrittely) sisältöön liittyvät asiat. CASEtyökaluilla tehtävät kaaviot, käyttöliittymän määrittelyt ja rajapintakuvaukset. Arkkitehtuurimäärittelyt, moduulirajapinnat, moduulien kuvaukset. T Testaus Testauksen suunnittelu ja tekeminen (integraatio- ja järjestelmätestaus). Virheiden raportointi. U Opiskelu Projektiin liittyvien uusien asioiden (esim. työkalut, algoritmit, työn aihepiiri yleensä) opiskelu yksilöllisesti tai ryhmätyönä. Asiakkaan järjestämä, projektiin liittyvä koulutus. On selvää, että eri lajien kesken voi tulla rajanveto-ongelmia. Esimerkiksi suunnittelupalaverissa voidaan tehdä sekä suunnittelua, dokumentointia, että kokoustelua. Oleellista on, että kaikki tärkeä tulee raportoitua, samoja tunteja ei raportoida useaan kertaan, ja raportointi on johdonmukaista." Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 13

14 5.1.3 Asiakasraportointi ja -kommunikaatio Asiakastyytyväisyyden kannalta on erityisen tärkeää, että asiakas tietää missä projektissa mennään. Kurssin puolesta annetut aikarajat ovat kohtuullisen harvakseltaan ja projektin tilan tunteminen on asiakkaalle tärkeää. Asiakasraportoinnissa ja -kommunikoinnissa otetaan huomioon seuraavat asiat: Jokaisen projektin päävaiheen alussa asiakkaalle toimitetaan kirjallisena kuvaus ko. vaiheen tavoitteesta. Kuvauksesta tulee ilmetä mielekkäällä tarkkuudella mitä tässä projektin vaiheessa aiotaan tehdä. Kuvaus kirjataan projektisuunnitelman edellisen vaiheen palautettavaan versioon (tämä on syytä tehdä myös kurssin vaatimusten takia). Pääasiallisina kommunikointikanavina asiakkaan suuntaan toimivat Ossi ja Mikko, mutta kommunikointia ei ole suljettu. Ryhmän asiakaskontaktien tulee mennä mielellään Ossin kautta, mutta vähintäänkin jokaisesta asiakkaalle menevästä sähköpostista tulisi laittaa Ossille kopio kokonaisuuden hallitsemiseksi. Mikäli asiakkaan kanssa on kommunikoitu jollain muulla tavalla ja sovittu jotain merkittävää, täytyy tästä tiedottaa Ossia sähköpostitse. Asiakkaalle tulee välittömästi ilmoittaa projektia uhkaavista ongelmista. Erillistä viikkoraporttia asiakkaalle ei tarvita, sillä viikon tapahtumat käsitellään viikkopalaverissa. Mikäli asiakas ei osallistu viikkopalaveriin, lähetetään asiakkaalle kokouksen pöytäkirja, joka toimii viikkoraporttina (vastaavasti kuin mentorille), sähköpostitse Kokous- ja palaverikäytännöt Kokouksilla on tapana, myös tässä projektissa, venyä pitkiksi ja osin niissä käsitellään asiaa, joka ei koske kaikkia paikallaolijoita. Jotta kokonaisuutena asiat saataisiin tehtyä, tietyistä käytännöistä kokouksien suhteen on sovittu. Erityisen tärkeänä kokouskäytännöissä on pöytäkirjan laatiminen, jonka avulla kokoukseen pääsemättömät sekä sisäisten palaverien suhteen asiakas, voi pysyä ajan tasalla projektin tilanteesta. Asiakaspalaverien pöytäkirjat ilmaisevat yhteisesti sovittuja asioita ja toimivat päätettyjen asioiden dokumentaationa. Jokaisesta asiakaspalaverista sekä merkittävistä ryhmäpalavereista tehdään kokouspöytäkirja käyttäen pöytäkirjapohjaa. Kaikista ryhmäpalavereista ei tarvitse tehdä kokouspöytäkirjaa, mikäli palaverit käsittelevät ainoastaan rutiiniasioita. Tällaisia kokouksia ovat esimerkiksi projektiryhmän viikkopalaverit, joiden agendassa ei ole muuta kuin rutiiniasioita. Päätös kokouspöytäkirjan tarpeesta syntyy lopullisesti kyseisessä kokouksessa. Lähtökohtana kaikille kokouksille on kuitenkin aina seuraava toimintamalli: Käytännöt ennen kokousta: Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 14

15 Projektipäällikkö/alueen vastuullinen kutsuu kokouksen kaksi päivää ennen kokousta ja valitsee sopivan kokouspaikan. Projektipäällikkö/vastuullinen kerää asioita agendaan, ryhmän jäsenet toimittavat tiedon käsiteltävistä asioista omalta kannaltaan projektipäällikölle/vastuulliselle sähköpostitse vähintään päivää ennen kokousta. Päivää ennen kokousta projektipäällikkö/vastuullinen lähettää kokouksen agendan ja muun mahdollisen materiaalin kokoukseen osallistuville. Agendasta tulee käydä ilmi kokouksen tarkoitus, kenen tulee osallistua ja päätökset, jotka on tehtävä. Ilmoitetaan projektipäällikölle/vastuulliselle etukäteen tiedetyistä esteistä. Käytännöt kokouksen alkaessa: Saavutaan ajoissa. Nimetään kokoukselle sihteeri joka tekee pöytäkirjan. Sovitaan käsiteltävistä asioista ja kokouksen aikataulusta. Tarkastetaan edellisen kokouksen pöytäkirja. Käytännöt kokouksessa: Käsitellään asia kerrallaan. Pysytään asiassa. Annetaan kaikille tilaisuus kommentoida. Jos kokous ei etene, huomautetaan asiasta puheenjohtajalle. Vedetään yhteen kaikki keskustelut. Kirjataan päätökset ja tehtävät asiat pöytäkirjaan; tehtävien asioiden suhteen on määriteltävä vastuullinen ja määrä-aika. Käytännöt kokouksen jälkeen: Kokouksen sihteeri laatii pöytäkirjan ja toimittaa sen kokouksen osanottajille luettavaksi sähköpostilla kolmen arkipäivän kuluessa kokouksesta Katselmointikäytäntö Kaikki projektissa tuotettava materiaali katselmoidaan. Tuotettava materiaali voidaan jakaa kahteen osaan, dokumentaatioon ja koodiin. Näille molemmille on oma katselmointiprosessinsa. Dokumentaation katselmoinnilla pyritään löytämään ja korjaamaan virheet ja epäjohdonmukaisuudet ja hakemaan sekä ryhmän että asiakkaan Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 15

16 sitoutumista projektin tuotokseen. Koodin katselmoinnilla pyritään löytämään koodissa olevat virheet jo ennen testausta sekä saamaan aikaan ryhmän sisäistä oppimista ja kokemuksien vaihtoa. Dokumenttien katselmointi: Kaikki projektin palautettava materiaali katselmoidaan. Katselmointi jakaantuu kahteen vaiheeseen. Ennen sisäistä aikarajaa, joka kussakin vaiheessa on noin viikkoa ennen varsinaista palautusta, ryhmä suorittaa sisäiset katselmoinnit. Sisäisen deadlinen jälkeisellä viikolla ennen varsinaista palautusta suoritetaan asiakaskatselmointi. Asiakaskatselmoinnista kirjoitetaan katselmointipöytäkirja. Projektipäällikkö nimittää asiakaskatselmoinnille pöytäkirjan kirjoittajan. Asiakaskatselmoinnin päävastaava on aina projektipäällikkö. Sisäisen katselmoinnin suorittaa kunkin dokumentin vastuullinen ja varahenkilö yhdessä projektiryhmän yhden muun jäsenen kanssa. Sisäisen katselmoinnin muistiinpanot jäävät projektiryhmän sisäiseksi materiaaliksi. Mikäli varahenkilö on estynyt katselmoimasta, hän sopii projektipäällikön kanssa itselleen sijaisen tilaisuuteen. Katselmointi toteutetaan siten, että katselmoitavan dokumentin editointi on välittömästi mahdollista (kannettava tietokone, tietokoneluokassa, jne.). Katselmoinnissa on läsnä vähintään kaksi henkilöä, katselmoitavan dokumentin vastuuhenkilö ja katselmoija. Katselmoitavan dokumentin vastuuhenkilö esittelee dokumentin ja katselmoija tarkastaa sen sekä esittää tarvittavia kysymyksiä. Jos löytyy virheitä tai puutteita, dokumentin vastuuhenkilö pyrkii korjaamaan ne välittömästi. Kun dokumentin katselmointi on valmis, katselmoija hyväksyy dokumentin. Katselmoija kirjaa ylös virheiden ja puutteiden lukumäärän. Virheiden ja puutteiden lukumäärä sekä katselmoidun dokumentin nimi toimitetaan Ossille. Koodin katselmointi: Koodin katselmointiin osallistuvat järjestelmäarkkitehti sekä ohjelmoijat. Kunkin tekemä koodi katselmoidaan ennen varsinaista moduulitestausta. Katselmointi suoritetaan yhden ryhmäläisen toimesta, katselmoija nimetään katselmointiajankohdan (eli koodin valmistumisen ja moduulitestaamisen ajankohdan) selvittyä. Vastuut: Sisäisten katselmointien vastuut on esitetty projektisuunnitelmassa. Asiakaskatselmointien päävastuu on projektipäälliköllä Dokumenttien julkaisukäytännöt Jokaisella kurssille palautettavalla dokumentilla tulee olla vastuuhenkilö, joka vastaa dokumentin valmistumisesta ajallaan, kirjoitustyön jakamisesta, dokumentin versioista ja sen julkaisemisesta. Kaikki projektin dokumentit julkaistaan PDF-muotoisina, ja ne ovat luettavissa kurssin sekä projektin kotisivujen kautta. Kaikki dokumentit suojataan salasanalla, joka on vain projektipäällikön tiedossa ja niiden osien kopiointi ja tulostus Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 16

17 estetään. Lisäksi dokumenttien metatietoihin liitetään asiakkaan vaatima legal notice, jossa kielletään dokumentin käyttö missään muodossa kurssin ulkopuolella. Dokumenttien säilyttäminen Innofactorin laitteistojen ulkopuolella muutoin kuin kurssin vaatimassa laajuudessa on kielletty. Kurssille palautettavat dokumentit julkaistaan palautuspäivänä ennen palautuksen takarajaa. 5.2 Projektin tuotteen hallinta Projektin tuotteeksi luetaan tuotettavan järjestelmän lisäksi tuotettava dokumentaatio. Projekti noudattaa pääpiirteissään USDP ohjelmistoprosessimallia, jonka mukaan projekti tuote syntyy muutaman iteraation kautta. Jokaisen iteraation jälkeen syntyy lopputuotos, joka toimii pohjana seuraavalle iteraatiolle Asiakkaan vaatimusten hallinta Seuraavassa asiakkaan vaatimusten hallinta on esitetty vaiheittain: 1. Asiakas luo luettelon, joka sisältää kaikki mahdolliset vaatimukset, joita he järjestelmälle asettavat. 2. Asiakas asettaa eri ominaisuudet tärkeysjärjestykseen. 3. Ohjelmatyöryhmä luo vaatimusmäärittelyn järjestelmän ominaisuuksista, jotka tähtäävät asiakkaan määrittämien vaatimuksien täyttämiseen ja priorisoi ne. 4. Asiakas hyväksyy vaatimusmäärittelyn, missä asiakkaan vaatimukset on puettu järjestelmän ominaisuuksien muotoon ja priorisoitu. Muutokset vaatimuksiin tehdään muutostestenhallintamenettelyn (kappale 5.2.3) määrittämällä tavalla Versionhallinta Versionhallinta on projektissa ensiarvoisen tärkeää, jotta vältetään turhaa työtä ja kaikilla on koko ajan sama käsitys projektin edistymisestä. Tässä dokumentissa versionhallintaa käsitellään kahdessa osassa: dokumenttien hallinta ja varsinaisen ohjelmiston osien versionhallinta. Dokumenttien versiointi: Dokumentit tehdään Word2000 muodossa. Niitä säilytetään asiakkaan serverillä hakemistossa Innoshare/Customer Process/CU145/. Kaikilla projektiryhmän jäsenillä on oikeus em. hakemistoon. Dokumentit versioidaan ja numeroidaan Innofactor Oy:n versiointi ja numerointikäytännön mukaisesti, joka on jokaiselle projektiryhmän jäsenelle tuttu. Tuotteen versionhallinta: Tuotetta tuotetaan asiakkaan kehitysympäristössä asiakkaan kehitysympäristön vaatimusten mukaan. Versionhallinnassa käytetään CVS-ohjelmistoa, joka pitää huolen Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 17

18 tuotteen versioinnista mahdollistaen usean ohjelmoijan yhtäaikaisen kehitystyön ja keräten tietoa tehdyistä muutoksista Muutoksen hallinta Tämä muutostenhallintaprosessi koskee kaikkia sellaisia tilanteita, joissa halutaan tehdä muutoksia joko järjestelmään, sen vaatimusmäärittelyyn tai sen käyttötapauskuvaukseen. Muutosten käsittely jaetaan kahteen luokkaan ehdottajan perusteella: asiakkaalta tuleviin muutoksiin sekä ryhmän sisältä tuleviin muutoksiin. Asiakkaan ehdottama muutos: Jos asiakkaalla on muutosehdotus järjestelmän toiminnallisuuteen, aikatauluun tai vaatimuksiin liittyen, hän toimittaa muutospyynnön projektipäällikölle. Muutospyynnön tulee sisältää perustelut sille, miksi muutosta halutaan sekä prioriteetti eli mitä muita jo kirjattuja vaatimuksia tärkeämmäksi muutos koetaan. Projektipäällikkö selvittää viikon kuluessa muutosehdotuksen vastaanottamisesta seuraavat asiat: Muutoksen toteuttamisen teknisen mahdollisuuden, eli pystytäänkö muutosta toteuttamaan. Muutoksen aikataulullisen vaikutuksen sekä vaikutukset muihin vaatimuksiin. Muutoksen vaikutuksen käyttöliittymään ja konsultoi käyttöliittymäsuunnittelijaa käytettävyysvaikutuksista. Selvitystyön jälkeen projektipäällikkö tekee päätöksen muutoksen toteuttamisesta ryhmän palautteen perusteella ja raportoi tämän asiakkaalle. Ryhmän sisällä ehdotetut muutokset: Jos muutosehdotus tulee projektiryhmän sisältä, on muutoksen ehdottaja itse vastuussa edellä mainitun selonteon tekemisestä muutoksen vaikutuksista projektiin. Jos muutoksesta epäillään aiheutuvan muutoksia asiakkaalle luvattuihin ominaisuuksiin, käyttöliittymään, aikatauluun tai työmääriin, seuraavaa prosessia tulee noudattaa. Jos muutos taas aiheuttaa muutoksia ainoastaan ryhmän sisäisiin suunnitelmiin tai resursointiin, muutoksesta voidaan neuvotella projektipäällikön kanssa suullisesti. Muutospyynnön tulee sisältää perustelut sille, miksi muutosta halutaan sekä sen mahdolliset vaikutukset järjestelmäarkkitehtuuriin ja aikatauluun. Projektipäällikkö selvittää viikon kuluessa muutosehdotuksen vastaanottamisesta seuraavat asiat: Muutoksen vaikutukset muiden työhön. Muutoksen vaikutuksen asiakasvaatimuksiin. Selvitystyön jälkeen projektipäällikkö esittää muutosehdotuksen asiakkaalle, jonka kanssa neuvotellaan ja päätetään muutoksen toteuttamisesta. Bugin ja muutoksen ero: Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 18

19 Muutokset ovat asioita, jotka tehdään toisin kuin on vaatimusmäärittelyssä kirjallisesti asiakkaan kanssa yhteisymmärryksessä sovittu. Mikäli asia halutaan tehdä toisin kuin on dokumentoitu, asia käsitellään muutoksena ja sen kerrannaisvaikutukset selvitetään ennen toteutusta. Mikäli kyseessä on ohjelmiston virhe eli ohjelmisto toimii vastoin kirjallisesti sovittuja määrittelyjään, virhe korjataan. 5.3 Projektin lopputuotteen tuotannon ohjeet ja käytännöt Tässä kappaleessa esitetään projektin tuotannon ohjeet ja käytännöt. Osa kappaleesta on kirjoitettu englanniksi. Esimerkiksi koodausohjeita on aivan turhaa ja jopa typerää kirjaittaa suomeksi, sillä koodauskielenä on luonnollisesti englanti ja suomenkieliset ohjeet eivät teettäisi muuta kuin lisävaivaa ja mahdollisia väärinkäsityksiä Käytettävät kehitystyökalut Ohjelmointi suoritetaan Microsoft Visual Studio.Net kehitystyökalulla. Kanta- ja luokkarakenteiden suunnittelussa ja luonnissa käytetään Microsoft Visio 2002 ohjelmaa. Ohjelmointia voidaan suorittaa myös EditPlus-ohjelmalla. Tietokannan muokkaamisessa ja hallinnassa käytetään Microsoft SQL Server 2000 Enterprise Manager ohjelmaa Käytettävä suunnitteluperiaate, kolmikerrosmalli, N-tier application architecture N-tier application architecture provides a model for developers to create a flexible and reusable application. By breaking up an application into tiers, developers only have to modify or add a specific layer, rather than have to rewrite the entire application over, if they decide to change technologies or scale up. A typical N-tier model is shown in following figure. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 19

20 Kuva 1 A typical N-Tier Model Data-tier Business-Tier In the term "N-tier," "N" implies any number -- like 2-tier, or 4-tier; basically, any number of distinct tiers used in your architecture. A basic n-tier system can have only 2 tiers, but a real scalable system has three or more tiers. These three basic tiers are data, business and presentation tiers. Basically this tier has the database with queries and storage optimization. It can also be simple structured plain text file like Comma separated values (CSV) or Extensible Markup Language (XML). There could be an application without this tier, but on the Age of Information almost every system has data that needs to be stored. Data tier is only intended to deal with the storage and retrieval of information. It doesn't care how to manipulate or deliver this data. No business logic should be placed in this tier. Data access can also be a separate tier, but usually it interacts so intensively with data tier that it can be included into data tier. It is merely a reusable interface to the database. Data Access tier has generic methods to interface with data. For example opening the connection to database or saving specified object. Business tier has all objects and rules. It's the brains of the application. It doesn t know anything about Hyper Text Markup Language (HTML) or Structured Query Language (SQL) and hasn't any code to access database or the like. Those tasks are assigned to Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 20

21 each corresponding layer above or below it. Business tier handles data manipulation and transformation into information Presentation Tier This layer provides an interface for the end user into application, like HTML pages or windows form, which is located on client's machine. This layer should not access directly the Data Access Tier. It works with results/output of the Business tier to handle the transformation into something usable and readable by the end user. Presentation logic tier consists to elements Graphical User Interface (GUI) and Presentation logic It's a good idea to split these two in different tiers. That way all the visual elements of GUI are in separate blocks and the look and fell of application is easily altered and there's no worry about messing the presentation logic. This is the grand idea in 3-tier architecture, but it's sometimes very difficult to keep all the tiers distinct and separate, specially with Business Tier and Presentation Tier. The application interfaces may have many expectations for data manipulated by the Business Tier. This is why many applications have GUI's that interface directly with Data access, or Business layer is not kept separated from the two other layers. But by doing these we lose all benefits of n-tier architecture. The whole point is to allow to plug each layer in and out without too many hassles and without limiting the technology used at each tier. This makes the application very scalable and modular Koodausohjeet, Coding Guidelines In order to craft efficient, robust and reusable code which is not dependent of the original writer, certain conventions have to be used. This applies also to the documentation resulting from the coding, which should be easy to maintain and consistent throughout the organization. This chapter contains two levels of standards: rules and guidelines. The Rules must be followed. The Guidelines are ways of coding deemed good by the people co-coding, auditing or reviewing the code and their usage is encouraged strongly. These guidelines are primarily written for the C# programming language. However, they can be easily adjusted into other similar languages such as Java or Object Pascal General Conventions Numbers as Opposed to Constants Ordinal constant values within the source code should always be avoided unless an extremely good reason to incorporate the constant is available. The literal number and string constants should be placed into static constants. for(i=0;i<31;i++) // bad static int DaysInJanuary=31; for(i=0;i<daysinjanuary;i++) // better Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 21

22 Grammar Although most modern language grammars allow writing of extremely space-efficient code, the code produced in such a style will often be volatile, hard to contemplate and prone to errors and bugs. while(thing.dothis(for(i=0;i<thing.dothenextthing();thing.count=i++))); Usage of Parentheses In Boolean expressions, parentheses should always be used. The priority of expression terms varies in different programming languages and a similar expression could produce a different result. if(a && b c && d) // bad if((a&& b) (c && d)) // better Style Conventions function public void Function(int Value1) { // actual code here } or public void Function(int Value1) { // actual code here } if there are a lot of parameters, place them as follows: public void Function(int Value1, int Value2, int Value3, int Value4, int Value5, int Value6, int Value7, int Value8, int Value9) { // actual code here } if/else if(something) { Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 22

23 // code } else { // more code } or if(something) { // code } else { // more code } while while(something) { // code } or while(something) { // code } switch switch(something) { case a : // code break; case b : // code (will follow to default) default : // code break; } or switch(something) { case a : // code break; case b : // code (will follow to default) default : // code break; } try/catch/finally try { // code } catch (ExceptionClass e) { // code Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 23

24 or } try { // code } catch (Exception e) { // code } Code Blocks As seen in previous examples, starting braces may be optionally at the end of the statement line or on the next line. Both of these styles are widespread. The ending brace must be on a line of it s own aligned with the statement line. The code between should be indented by two spaces. When you have decided which starting brace layout style you use, be true to it. When editing another persons code, use the original style. Other Style Conventions Line width is not limited. Everyone should use word wrap in their editors. Tabulator should be set to two spaces. Tab character is not allowed as it may result in incomprehensible and messy output when copied or pasted into different programs, browsers for example. The text editor should be configured to automatically expand tabulators Naming Conventions Case The case conventions of the programming language should be respected. SomeClass.SomeMethod(); // in C# and Delphi, but someclass.somemethod(); // in Java Local variables may be excluded from standardization. Classes and Namespaces All the namespaces within a project should have a prefix of three to five letters. If the classes of a certain namespace are for general usage, the prefix is not necessary. Classes do not need prefixes. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 24

25 Methods and Members Variables Methods and members of classes should have names which are so long that deduction of their function can be done. Variables should also have long enough names. Local variables operable in small scope such as those used in a loop counter may be exempted from this rule Versionhallinnan ja konfiguraation hallinnan ohje Yleistä CVS Concurrent Versioning System- on versionhallintaohjelmisto jota käytetään Kuopio projektin ohjelmistokehityksen apuvälineenä. Ohjelmisto mahdollistaa useiden ohjelmistokehittäjien yhtäaikaisen työskentelyn samojen tiedostojen parissa. Ohjelmistoa käytettäsessä ei haittaa vaikka eri ohjelmoijilla on keskeneräisiä tai toimimattomia versioita ohjelmistosta, sillä jokaisella on oma kehitysympäristönsä. Ohjelmisto mahdollistaa myös saman tiedoston useiden eri kehitysversioiden helpon hallinnan. Mikäli muutoksia on tehty samaan tiedostoon, ohjelma osaa hallita konfliktitilanteet. Eri versioita voidaan vertailla keskenään ja tarvittaessa palauttaa mikä tahansa olemassa oleva versio. Ohjelmaa käytetään hyväksi myös testauksessa. CVS:ään laitetaan muistiin kulloinkin testauksessa käytettävä versio, jolloin palaaminen myöhemmin saman version testaukseen on helppoa. Tarvittavat ohjelmistot Jokainen Kuopio-projektin jäsen tarvitsee Wincvs-ohjelmiston ja käyttöoikeudet Innofactorin cvs-repositoryyn. Jos jollakin projektiryhmän jäsenistä ei ole edellä mainittuja asioita, ohjeet asennukseen löytyvät Innosharen Kuopioprojektihakemistosta. Cvs:n käyttöohjeet löytyvät samasta osoitteesta asennusohjeiden kanssa. Cvs versionhallinta Kuopio-projektissa Kuopio-projektin repository sijaitsee osoitteessa :ext:tunnus@hinnuleus.venenum.com:/var/lib/cvs/kuopio, missä tunnus käyttäjätunnus. Jokaisella käyttäjällä on oma kehityspuunsa, jota hän muokkaa. Kehityspuu voi sijaita joko kehityspalvelimella tai käyttäjän omalla työasemalla. Vaatimuksena kyseisellä koneella on tarvittavat palvelin- ja kehitysohjelmistot. Aina kun repositoryyn siiretään jotain, on varmistettava muutosten toimivuus tai vähintään se, että koodi on käännettävissä. Repositorysta tulisi aina olla mahdollista hakea toimiva versio. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 25

26 Kaikkien muutosten repositoryyn viemisen yhteydessä tulee tehdä järkevä lokimerkintä tehdyistä muutoksista. Oman kehityspuun päivittäminen ennen töiden aloittamista on suositeltavaa. web.config.template on pohja, josta jokainen käyttäjä muokkaa omalle kehityspuulle sopivan version. web.config.dev on kehityspalvelimen versio ja web.config.final on julkaistavan järjestelmän konfiguraatiotiedosto. Tehtäessä merkittäviä muutoksia joihinkin osakokonaisuuksiin tulee sen hetkinen projektiversio merkitä siten, että versio on myöhemmin tunnistettavissa ja palautettavissa kokonaisuudessaan. Tämä pätee varsinkin eri testiversiohin(beta 1, Beta 2, jne.). Kehitys- ja julkaisupalvelimella olevia versioita ei päivitetä ilman Rami Laihon hyväksyntää. Tieokannasta pidetään Cvs-respositoryssä ajankohtainen kantakuvaus, joka päivitetään aina kun tietokantaan on tehty muutoksia. Muutokset kirjataan myös tekstitiedostoon SQL-kielellä helpottaakseen päivitystä muihin tietokantoihin. Vastaavat tiedostot reposytoryssä on DBMuutokset.sql ja DBMuutokset.txt. Cvs-repositoryn toiminnasta vastaa Mikko Lampi. Kaikissa cvsongelmatilanteissa otetaan yhteyttä häneen Koodin katselmointi/tarkastus käytäntö Jokaisen tuotetun modulin koodi katselmoidaan modulitestauksen valmistuttua eli kun modulin testaus on päätetty lopettaa testaussuunnitelmassa esitettyjen lopetuskriteereiden mukaisesti. Jokaisen modulin katselmointiin osallistuu koodin tuottaneen ohjelmoijan lisäksi yhdestä kahteen muuta ryhmän jäsentä. Mikäli mahdollista, järjestelmäarkkitehti osallistuu kaikkiin koodikatselmuksiin. Kun modulitestaus on lopetettu, tapahtuu koodikatselmointi seuraavasti: projektiryhmän kokouksessa sovitaan katselmointiryhmä katselmointiryhmä tutustuu koodiin etukäteen; muutoksia ei tehdä; katselmointiryhmän harkinnan mukaan koodi voidaan tulostaa paperille katselmointiryhmä sopii tapaamisen, jossa koodin tuottanut ohjelmoija esittelee tuotoksensa lyhyesti; muu ryhmä voi esittää kysymyksiä ohjelmoija kirjoittaa saamansa palautteen kirjallisesti ylös. Palautteeseen kirjataan löydetyt poikkeamat koodin kommentointi- ja muoto-ohjeesta sekä mahdolliset löydetyt piilevät virheet katselmointiryhmä päättää, pidetäänkö korjausten jälkeen uusintakatselmointi Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 26

27 Katselmointisession jälkeen ohjelmoija korjaa koodin löydettyjen virheiden ja poikkeamien osalta. Mikäli mahdollisia virhelähteitä löytyy, tehdään koodiin toiminnallisia muutoksia. Näille muutoksille suunnitellaan ja toteutetaan kevyt testaus. Koodin katselmoinnissa kiinnitetään erityinen huomio seuraaviin ominaisuuksiin: koodi on selkeää; katselmoijien tulee saada selville kohtuullisela vaivalla koodia lukemalla ohjelman toiminta koodissa ei ole poikkeamia kommentointi- ja muoto-ohjeesta koodissa ei ole epämääräisiä teknisia ratkaisuja; nk. purkkapatentteja tai selkeitä toiminnallisia virheitä Uusintakatselmointi tulee kyseeseen lähinnä, jos koodista löytyy toiminnalisia virheitä, jotka päätetään korjata, mutta myös jos poikkeamat kommentointi- ja muoto-ohjeesta ovat huomattavat. Turhia uusintakatselmointeja pyritään välttämään jo ennestään tiukan aikataulun ja resurssipulan vuoksi. 6. PROJEKTIN RISKIENHALLINTAPROSESSI Projektissa pyritään riskienhallinnan avulla pienentämään tulevien ongelmatilanteiden vaikutusta projektiin. Tunnistamalla mahdollisimman paljon mahdollisia projektin aikana eteen tulevia ongelmia etukäteen, voidaan jo valmiiksi sopia miten erilaisia ongelmia kohdatessa toimitaan ja projektin eteneminen ei ole vaarassa. Seuraavat kappaleet esittelevät projektissa käytettävää riskienhallintaprosessia, joka on sovelluttu käyttäen lähteitä [1], [2], [3]. Projektin riskienhallintaprosessi on pääpiirteissään kuvattu seuraavassa kuvassa. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 27

28 Kuva 2 Projektin riskienhallintaprosessi 6.1 Riskien tunnistaminen Ensimmäinen riskientunnistusvaihe toteutettiin osana projektin suunnittelua ja se on dokumentoitu projektisuunnitelmassa. Projektin edetessä riskien tunnistus tapahtuu jokaisen projektin päävaiheen alussa kootusti Ossi Jokisen vetämänä. Jos joku projektiryhmän jäsen tai asiakas katsoo olevan tarvetta päivittää riskienhallintasuunnitelmaa, se tapahtuu viikkopalaverissa. Uusia riskejä tunnistettaessa tulee määrittää riskille nimi, riskin toteutumisen indikaattorit, riskin hallintakeinoja joita voidaan toteuttaa riskin toteutumisen estämiseksi, riskin toteutumisen seuraukset ja vakavuus projektille asteikolla 1-5 (5 erittäin vakava, 1 ei merkittävä) sekä pitää kirjaa toteutetuista riskiä ehkäisevistä vastatoimenpiteistä, jos ne katsotaan tarpeellisiksi. Riskit ja tunnistusvaiheessa kerätty tieto kootaan projektin projektisuunnitelmassa esitettyyn riskitaulukkoon, jota päivitetään edellisen kappaleen mukaisesti. 6.2 Riskien monitorointi Riskien monitorointi eli indikaattorien seuraaminen ja toteutumismahdollisuuden arviointi on jokaisen projektiryhmän jäsenen ja asiakkaan vastuulla. Jos joku projektin osapuolista katsoo, että jokin riski saattaa toteutua hyvin suurella todennäköisyydellä, niin hänen tulee ottaa riski keskustelun aiheeksi viikkopalaverissa. Kuopio2002, vain kurssin T arvostelun vaatimaan käyttöön Sivu 28

Laatukäsikirja Kuopio

Laatukäsikirja Kuopio Laatukäsikirja Kuopio Kuopio, laatukäsikirja, 30.10.2001 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 28.10.2001 Ossi Jokinen Valmis katselmoitavaksi 0.2 29.10.2001 Ossi Jokinen Sisäisen katselmoinnin

Lisätiedot

Laatukäsikirja Kuopio

Laatukäsikirja Kuopio Laatukäsikirja Kuopio Kuopio, laatukäsikirja, 11.12.2001 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 28.10.2001 Ossi Jokinen Valmis katselmoitavaksi 0.2 29.10.2001 Ossi Jokinen Sisäisen katselmoinnin

Lisätiedot

PS-vaiheen edistymisraportti Kuopio

PS-vaiheen edistymisraportti Kuopio PS-vaiheen edistymisraportti Kuopio Kuopio, PS-vaiheen edistymisraportti, 30.10.2001 Versiohistoria: Versio Pvm Laatija Muutokset 1.0 30.10.2001 Ossi Jokinen Kuopio2001, vain kurssin T-76.115 arvostelun

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

SYSTEEMITYÖ. Tärkeitä sanoja

SYSTEEMITYÖ. Tärkeitä sanoja SYSTEEMITYÖ Tärkeitä sanoja SYSTEEMITYÖN TÄRKEITÄ SANOJA Laatu (itse tuotteessa ja sen tekemisessä) Dokumentaatio Riskienhallinta Vaatimustenhallinta Uudelleenkäytettävyys Versionhallinta 2 LAATU Parityönä:

Lisätiedot

0.47 27.11.2005 Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

0.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ätiedot

Information on preparing Presentation

Information on preparing Presentation Information on preparing Presentation Seminar on big data management Lecturer: Spring 2017 20.1.2017 1 Agenda Hints and tips on giving a good presentation Watch two videos and discussion 22.1.2017 2 Goals

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston 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ätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

Lisätiedot

Kuopio Testausraportti Kalenterimoduulin integraatio

Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio, testausraportti, 22.4.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 22.4.2002 Matti Peltomäki Ensimmäinen versio 0.9 22.4.2002 Matti

Lisätiedot

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 Chapter 2.4 Jukka Räisä 1 WATER PIPES PLACEMENT 2.4.1 Regulation Water pipe and its

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Toteutusvaihe 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ätiedot

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Kuopio 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ätiedot

T Projektikatselmus

T Projektikatselmus T-76.115 Projektikatselmus Projektityöryhmä GenCode I2-iteraatio 11.2.2004 Agenda Projektin tilanne (10 min) Tavoitteiden toteutuminen Iteraation tunnusluvut Käytetyt työskentelymenetelmät (5min) Iteraation

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. 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ätiedot

1. Liikkuvat määreet

1. Liikkuvat määreet 1. Liikkuvat määreet Väitelauseen perussanajärjestys: SPOTPA (subj. + pred. + obj. + tapa + paikka + aika) Suora sanajärjestys = subjekti on ennen predikaattia tekijä tekeminen Alasääntö 1: Liikkuvat määreet

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on dokumentti esittelee tietokonegrafiikkaalgoritmien visualisointijärjestelmän kehitysprojektissa käytettävän vaatimustenhallintamenetelmän. Päivämäärä

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

Laatukäsikirja - mikä se on ja miten sellainen laaditaan?

Laatukäsikirja - mikä se on ja miten sellainen laaditaan? Laatukäsikirja - mikä se on ja miten sellainen laaditaan? Matkailun laatu laatukäsikirja osaksi yrityksen sähköistä liiketoimintaa Sähköinen aamuseminaari matkailualan toimijoille 24.8.2010 Riitta Haka

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0

Lisätiedot

Projektityö

Projektityö Projektityö 24.9.2010 Ohjelmistojen kehitysmalleista Vaatimusten määrittely ja kerääminen Lähteinä (vaatimusten määrittely): Haikala ja Märijärvi, Ohjelmistotuotanto, Talentum, 2005. Luvut 3, 4, 5, 6-10

Lisätiedot

T Projektikatselmus

T 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ätiedot

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

T Testiraportti - integraatiotestaus

T 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ätiedot

T Testiraportti - järjestelmätestaus

T 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ätiedot

T Projektikatselmus

T Projektikatselmus T-76.115 Projektikatselmus Projektityöryhmä GenCode I2-iteraatio 11.2.2004 Agenda Tavoitteiden toteutuminen (5 min) Resurssien käyttö (5 min) Iteraation tulokset (10 min) Riskit (5min) Työskentelymenetelmistä

Lisätiedot

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

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Projektisuunnitelma KotKot Helsinki 22.9.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi

Käytettävyys ja käyttäjätutkimus. Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Käytettävyys ja käyttäjätutkimus Yhteisöt ja kommunikaatiosuunnittelu 2012 / Tero Köpsi Teron luennot Ke 15.2 miniluento Ti 28.2 viikkotehtävän anto (T,M) To 1.3 Tero paikalla (tehtävien tekoa) Ti 6.3

Lisätiedot

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen

Lisätiedot

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0 EDISTYMISRAPORTTI - PS Edited by Checked by Approved by Antti Tuomaala Harri Kauhanen i Sisällysluettelo DOKUMENTIN VERSIOT 1 1. PROJEKTIN TILA 2 2. SUORITETUT TEHTÄVÄT 3 Projektisuunnitelma 3 Vaatimusmäärittely

Lisätiedot

Miksi Suomi on Suomi (Finnish Edition)

Miksi Suomi on Suomi (Finnish Edition) Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Click here if your download doesn"t start automatically Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Miksi Suomi on Suomi (Finnish Edition)

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmä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ätiedot

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection)

Virtuaalinen tarkastus. Katselmoinnit osa 3. Paritarkastus. N-kertainen tarkastus (n-fold inspection) Virtuaalinen tarkastus Katselmoinnit osa 3 Sami Kollanus 13.12.2006 Ei tarvetta olla samaan aikaan samassa paikassa Tueksi erilaisia työkaluja Asynkroninen vs. synkroninen Tarpeen hajautetuissa projekteissa

Lisätiedot

Hankkeen toiminnot työsuunnitelman laatiminen

Hankkeen toiminnot työsuunnitelman laatiminen Hankkeen toiminnot työsuunnitelman laatiminen Hanketyöpaja LLP-ohjelman keskitettyjä hankkeita (Leonardo & Poikittaisohjelma) valmisteleville11.11.2011 Työsuunnitelma Vastaa kysymykseen mitä projektissa

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009 PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009 POHDINTAA Mitä asioita projektissa seurataan? Kuka vastaa ohjauksesta? Millä tavoin projektia seurataan ja ohjataan? Mitä asioita ohjaukseen kuuluu?

Lisätiedot

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

Millainen on onnistunut ICT-projekti?

Millainen on onnistunut ICT-projekti? Millainen on onnistunut ICT-projekti? Ohjelmistotuotannon lehtori Tero Tensu Ahtee Ohjelmistotekniikan laitoksella 1990- Projektityö-kurssilla 1991- pesunkestävä yliopistohampuusi ei päivääkään oikeissa

Lisätiedot

T Loppukatselmus

T 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ätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Projektin suunnittelu

Projektin suunnittelu Projektin suunnittelu Sami Kollanus TJTA330 Ohjelmistotuotanto 15.3. Projektin suunnittelu - CMMIkäytänteet Projektin estimaatit: Määritellään projektin laajuus (scope) Määritellään tehtävien ja tuotosten

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen 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ätiedot

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki

Lisätiedot

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

TARKASTUSMENETTELYT 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ätiedot

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset Sopimus Asiakas- ja potilastietojärjestelmästä Liite N: Kielivaatimukset VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 12.3.15 3.0 Tarjouspyynnön liitteeksi 2 (6) SISÄLLYSLUETTELO 1 JOHDANTO... 4 2 JÄRJESTELMÄN

Lisätiedot

Results on the new polydrug use questions in the Finnish TDI data

Results on the new polydrug use questions in the Finnish TDI data Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen

Lisätiedot

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotteen 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ätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-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ätiedot

Gap-filling methods for CH 4 data

Gap-filling methods for CH 4 data Gap-filling methods for CH 4 data Sigrid Dengel University of Helsinki Outline - Ecosystems known for CH 4 emissions; - Why is gap-filling of CH 4 data not as easy and straight forward as CO 2 ; - Gap-filling

Lisätiedot

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies

Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine 4.1.2018 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu LAATUKÄSIKIRJA LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 12.12.2000

Lisätiedot

Projektityö

Projektityö Projektityö 20.9.2013 Esimerkki ohjelmistokehitysprosessista (työkalujen käytön näkökulmasta) Wiki, esimerkkinä https://projectwiki.sis.uta.fi Subversion-versionhallinta Redmine-projektinhallinta Balsamiq

Lisätiedot

A4.1 Projektityö, 5 ov.

A4.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ätiedot

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta OHJ-3010 Ohjelmistotuotannon perusteet Ohjelmistoprojektin hallinta 1 Sisältö Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi

Lisätiedot

Data Sailors - COTOOL dokumentaatio Riskiloki

Data Sailors - COTOOL dokumentaatio Riskiloki Table of Contents 1 Johdanto.................................................................................... 1 1.1 Versiohistoria...........................................................................

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi Network to Get Work Tehtäviä opiskelijoille Assignments for students www.laurea.fi Ohje henkilöstölle Instructions for Staff Seuraavassa on esitetty joukko tehtäviä, joista voit valita opiskelijaryhmällesi

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu Toiminnan laadunvarmistus SYSTEEMITYÖ Laatu SYSTEEMITYÖN TÄRKEITÄ SANOJA Laatu (itse tuotteessa ja sen tekemisessä) Dokumentaatio Riskienhallinta Vaatimustenhallinta Uudelleenkäytettävyys Versionhallinta

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

IT2015 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ätiedot

Convergence of messaging

Convergence 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ätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo Windows Phone Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja hankkia

Lisätiedot

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition)

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition) Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition) Click here if your download doesn"t start automatically

Lisätiedot

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

SOVELLUSPROJEKTIN ARVIOINTILOMAKE SOVELLUSPROJEKTIN ARVIOINTILOMAKE Arviointilomake on tarkoitettu Sovellusprojektin vastaavan ohjaajan arvioinnin tueksi, eikä sillä siten tule korvata erillistä projektilausuntoa. Useaa arviointikohtaa

Lisätiedot

Other approaches to restrict multipliers

Other approaches to restrict multipliers Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine

Information on Finnish Language Courses Spring Semester 2017 Jenni Laine Information on Finnish Language Courses Spring Semester 2017 Jenni Laine 4.1.2017 KIELIKESKUS LANGUAGE CENTRE Puhutko suomea? Do you speak Finnish? -Hei! -Moi! -Mitä kuuluu? -Kiitos, hyvää. -Entä sinulle?

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

Lisätiedot

RINNAKKAINEN OHJELMOINTI A,

RINNAKKAINEN OHJELMOINTI A, RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen

Lisätiedot

Mää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 Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

Sisällysluettelo Table of contents

Sisällysluettelo Table of contents Sisällysluettelo Table of contents OTC:n Moodlen käyttöohje suomeksi... 1 Kirjautuminen Moodleen... 2 Ensimmäinen kirjautuminen Moodleen... 2 Salasanan vaihto... 2 Oma käyttäjäprofiili... 3 Työskentely

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

Operatioanalyysi 2011, Harjoitus 4, viikko 40

Operatioanalyysi 2011, Harjoitus 4, viikko 40 Operatioanalyysi 2011, Harjoitus 4, viikko 40 H4t1, Exercise 4.2. H4t2, Exercise 4.3. H4t3, Exercise 4.4. H4t4, Exercise 4.5. H4t5, Exercise 4.6. (Exercise 4.2.) 1 4.2. Solve the LP max z = x 1 + 2x 2

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti

SALAKIRJOITUKSEN 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ätiedot

Apuja ohjelmointiin» Yleisiä virheitä

Apuja ohjelmointiin» Yleisiä virheitä Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi

Lisätiedot

UCOT-Sovellusprojekti. Testausraportti

UCOT-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ätiedot

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistoprojektien hallinta Vaihejakomallit Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli

Lisätiedot

Lego Mindstorms anturit

Lego Mindstorms anturit Lego Mindstorms anturit Metropolia Ammattikorkeakoulu Projektisuunnitelma Tomi Ilonen KA09 Tommi Nuotiomaa KA09 Matias Pitkänen KA09 20.1.2012 Insinöörityö Päivämäärä Sisällys 1 Projektin kuvaus 1 1.1

Lisätiedot

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT UNCITRAL EMERGENCE CONFERENCE 13.12.2016 Session I: Emerging Legal Issues in the Commercial Exploitation of Deep Seabed, Space and AI BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

Lisätiedot

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

T 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ätiedot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015

TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015 1 TIETEEN PÄIVÄT OULUSSA 1.-2.9.2015 Oulun Yliopisto / Tieteen päivät 2015 2 TIETEEN PÄIVÄT Järjestetään Oulussa osana yliopiston avajaisviikon ohjelmaa Tieteen päivät järjestetään saman konseptin mukaisesti

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot