T Vaatimusmäärittely

Koko: px
Aloita esitys sivulta:

Download "T Vaatimusmäärittely"

Transkriptio

1 T Vaatimusmäärittely ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Sivu 1 / 25

2 Versio Päivämäärä Tekijä Muutos Jani Malmi Alustava versio Mikko Ruokojoki Pieniä muokkauksia ja oikolukua Jani Malmi Lisätty toiminnalliset ja ei-toiminnalliset vaatimukset Jani Honkanen Lisätty järjestelmän yleiskuvaus, rajoitteet ja ratkaisuideoita Jani Malmi Koostettu ensimmäinen versio Mikko Ruokojoki Muokattu käyttäjiä ja dokumentin rakenne korjattu Mikko Ruokojoki Korjattu kappaletta 2 ja lisätty Jani H aineisto Teemu Nousiainen Lisätty ei-toiminnallisia vaatimuksia Jani Malmi Koostettu 1.4 versio ja pieniä muokkauksia Jani Honkanen Pieniä muutoksia Jani Malmi Lisätty muutoksia lähes jokaiseen kappaleeseen Mikko Ruokojoki Muokattu vaatimuksia ja dokumentin muotoilua Mika Suvanto Korjattu kpl 8 alkutekstiä Mikko Ruokojoki Versio Mika Suvanto Korjattu ja täydennetty mentorin palautteen pohjalta (kpl 5, 6, 8) Mika Suvanto Pientä korjailua Timo Sallinen Konvertoitu.doc ->.sxw, lisätty käyttöskenaariot Jani Malmi Lisätty vaatimusten muutoksia ja pieniä korjauksia Mikko Ruokojoki Otsikoinnin korjausta Mika Suvanto Päivitetty toiminnalliset vaatimukset -kohtaa Jani Honkanen Muokattu toiminnallisten vaatimusten statuksia Jani Malmi Päivitetty vaatimusten statuksia. Lisätty lookup Asiakaskokous Päivitetty toiminnalliset vaatimukset ja arvioitu eitoiminallisia vaatimuksia Jani Malmi Päivitetty toiminnallisia statuksia ja lisätty uusi sarake eitoiminnallisille vaatimuksille Jani Malmi Päivitetty vaatimusten statuksia Timo Sallinen Päivitetty vaatimusten statuksia Sivu 2 / 25

3 Sisällysluettelo T Vaatimusmäärittely Dokumentin tarkoitus Liiketoiminnan tavoitteet Sovellusalueen yleiskuvaus Järjestelmän yleiskuvaus Järjestelmän käyttäjät Aureoliksen käyttäjäroolit Aureoliksen asiakkaan roolit Käyttöskenaariot Rooli: Asentaja SA-1 Asennus SA-2 Ajastaminen Rooli: Ylläpitäjä SY-1 Virhetilanteiden selvitys SY-2 Ajastuksien ja ylimääräisen ajon ajaminen Rooli: Ohjelmoija SO-1 Prosessin toteutus SO-2 Toimenpiteiden ohjelmointi SO-3 Versionhallinta Rooli: Ohjelmistoarkkitehti SD-1 Prosessin suunnittelu SD-2 Prosessin muutokset ja kuvauksen ylläpito Rooli: Testaaja ST-1 Prosessien testaus ST-2 Toimenpiteiden testaus ST-3 Integraatiotestaus Toiminnalliset vaatimukset Ei-toiminnalliset vaatimukset Käyttötilanteet Rajoitteet Ratkaisuideoita Ulkoisia komponentteja ETL-prosessin kuvauskieli Toimenpiteiden väliset rajapinnat Valmiita toimenpidekomponentteja Lähdeaineiston lukeminen Toimenpiteiden skedulointi (prosessimanageri?) Toimenpiteiden toteutusframework Toimenpiteiden sisäinen toteutus Tietovarasto Puhdistus Virhetilanteiden hallinta Dokumentaatiogeneraattori Termejä Viitteet Sivu 3 / 25

4 1 Dokumentin tarkoitus Tämä on vaatimusmäärittelydokumentti ETL-projektille. Tämän dokumentin tarkoituksena on määritellä ja ylläpitää asiakkaan vaatimuksia toteutettavalle järjestelmälle. Vaatimukset kuvaavat järjestelmän toimintoja ja ominaisuuksia. Eri osapuolet voivat käyttää tätä dokumenttia apuna toteutettavan järjestelmän eri piirteiden ja ominaisuuksien kuvaamiseen ja ymmärtämiseen. Tämä dokumentti auttaa järjestelmän kehittäjiä ja tilaajaa ymmärtämään toisiaan projektin eri vaiheissa, jotta toteutettava järjestelmä todella täyttäisi todelliset tarpeet ja odotukset. Vaatimusmäärittely on sopimus kehittäjien ja tilaajan välillä. Tätä dokumenttia tullaan käyttämään myös hyväksymistestauksessa apuna tutkimaan toteuttaako järjestelmä todella alkuperäiset vaatimukset. Vaatimuksia tullaan päivittämään tähän dokumenttiin koko projektin ajan. Taulukko 1: Dokumentin lukijakunta Käyttäjä Projektiryhmä Asiakas Tulevat kehittäjät Kurssin mentori Motivaatio Ylläpitää vaatimuksia ja käyttää suunnittelussa, kehityksessä ja testauksessa apuna. Tarkistaa vaatimusten paikkaansa pitävyys eli onko tässä dokumentissa kuvattu järjestelmä todella se jota he haluavat. Tarkistaa järjestelmän alkuperäiset vaatimukset eli mitä alun perin oli tarkoitus toteuttaa. Tarkistaa vaatimusmäärittely ja antaa korjausehdotuksia sekä arvostella. 2 Liiketoiminnan tavoitteet Aureoliksen työ tietovarastoinnin alueella sisältää nykyisin paljon käsityötä ja manuaalista SQL-ohjelmointia. Tämä työllistää työntekijöitä tarpeettomasti ja vie aikaa ongelmien loogiselta ratkaisulta. Tavoitteena on, että työnteossa voitaisiin keskittyä enemmän ylemmän tason ongelmanratkaisuun ja ETL-työkalu vähentää yleensäkin asiakasprojektien tekemiseen menevää aikaa. Kaupallisista ETL-työkaluista on harkittu/tutkittu mm. SAS ETL Studiota, Sunopsista ja Oraclen ETL-työkalua. Kaupalliset ETL-työkalut ovat usein joustamattomia ja ne on tarkoitettu eri käyttäjäryhmälle. Ne ovat myös hyvin kalliita välineitä. Tämän projektin, eli itse tehdyn ETL-työkalun liiketoiminnalliset tavoitteet ovat lueteltu alla. ETL-työkalun itse tekemisen mielekkyyden arviointi. Verrataan oman työkalun ja kaupallisten työkalujen kustannuksia. Manuaalista SQL-ohjelmointia ja käsityötä halutaan vähentää, jotta pystytään keskittymään enemmän ongelmanratkaisuun ja varsinaiseen työhön. Asiakaskunnan kasvattaminen ja uusien asiakkaiden aloituskynnyksen alentaminen. Pystytään tarjoamaan ratkaisuja halvemmalla, kun voidaan välttää lisenssimaksut ja tuotteiden tuottaminen on helpompaa. Pystytään myös demoamaan ohjelman toimintaa ennen tilausta. Mahdollinen lisenssimyynti, jos ETL-työkalusta luodaan valmis tuote. Tuotteistamisen järkevyys arvioidaan myöhemmin, kun todetaan työkalun käyttökelpoisuus. Embedded -käyttö. Työkalu osaksi/komponentiksi muihin isoihin järjestelmiin. Sivu 4 / 25

5 Lisäkomponentti, jolla voidaan käsitellä aineistoa ja tarjota lisäarvoa raportointiin tms. 3 Sovellusalueen yleiskuvaus Tietovarastointi (Data warehousing) on kasvattanut suosiotaan viime vuosina ja sitä käytetään hyväksi lähes kaikilla liiketoiminnan alueilla. Sen merkitys on yrityksille hyvin tärkeä ja se luo pohjan hyvin monille muille palveluille ja lisäarvotuotteille. Raporttien tuottaminen tietovarastoista on kätevää, mutta se vaatii pohjalle hyvin suunnitellun tietovarastopuolen. ETL-työkalut auttavat tietovarastopuolen kehittämisessä. Niiden avulla voidaan mm. operatiivisten kantojen dataa muokata helpompaan muotoon raportointia varten. Ei tarvita niin paljon manuaalista käsityötä, kun ETL-työkalu hoitaa datan poimimisen, prosessoinnin ja tallentamisen uusiin tauluihin tai tiedostoihin. Taulukko 2: Sovellusalueeseen liittyviä termejä Käsite Lähdeaineisto Datamart ETL XML SQL DW, tietovarasto Työtietokanta Operatiivinen tietokanta Ks. kappale 12: termistö Ks. kappale 12: termistö Ks. kappale 12: termistö Extensible Markup Language. XML on yleisesti tuettu standardi ja merkkikieli datan kuvaamiseen. Se tulee olemaan keskeinen metatietojen välityksessä eri työkalujen välillä. Structured Query Language. Erityinen kieli tietojen päivittämiseen, poistamiseen ja kyselyyn tietokannoista. Ks. kappale 12: termistö Erillinen tietokanta itse tietovarastotietokannasta, jossa voidaan käyttää aputauluja tarkistuksien, jalostuksien ja summauksien tekemiseen. Tietokanta, jota käytetään yrityksen päivittäisessä toiminnassa, johon kohdistuu runsaasti transaktioita. Relaatiotietokanta Relaatiotietokanta kostuu joukosta relaatioita eli tauluja. kieli ETL-moottori Ohjelmointikieli, jonka avulla ETL-moottori suorittaa halutun prosessin. ETL-ohjelman osa, joka suorittaa kuvauskielellä kuvatun prosessin. 4 Järjestelmän yleiskuvaus ETL-prosessilla voidaan esimerkiksi tuottaa tietovarastoon viikoittainen yhteenveto kaikista asiakkaan operatiivisissa tietojärjestelmissä ja muissa tietolähteissä olevasta aineistosta. Tarkoituksena on saattaa tieto sellaiseen muotoon, että sitä on helppo selata sekä tuottaa erilaisia raportteja ja tunnuslukuja. Toteutettavaan järjestelmään kuuluu tiedon lukeminen asiakkaan tietojärjestelmistä, tiedon muokkaus ETL-prosessin mukaisesti sekä tiedon varastointi tietovarastoon. Raporttien tai tunnuslukujen tuottaminen tietovarastosta ei kuulu järjestelmän piiriin. Sivu 5 / 25

6 ETL-prosessin alkupäässä ovat asiakkaan liiketoimintaa tai muuta tietoa sisältävät tietokannat ja muut tietolähteet. Prosessin alkuvaiheessa näistä tietolähteistä kopioidaan kaikki ETL-prosessissa tarvittava aineisto ns. ODS-alueelle, johon yleensä säilötään kopioita asiakkaan tiedoista vähintään useiden päivien ajaksi. ETL-prosessi koostuu toimenpiteistä, jotka ovat viime kädessä Java-pohjaisia komponentteja. Jokaisen toimenpidekomponentin tarkoitus on suorittaa jokin datan käsittelyyn liittyvä tehtävä, kuten tietyn lähdedatan osajoukon kopioiminen eteenpäin määrätynmuotoiseen tauluun tai kahden taulun liittäminen. Lopulta data on saatu muokattua sellaiseen muotoon, johon se halutaan varastoida itse tietovarastossa, missä sitä ei enää tulla muokkaamaan. Data tallennetaan tietovarastoon mahdollisimman helppolukuisena ja tarvittaessa voidaan tallentaa paljonkin redundanttia tietoa. Tietovarastossa dataa säilytetään pitkään, yleensä vuosia. Yksittäiset toimenpiteet ovat yleensä yksinkertaisia (kahden taulun liittäminen tai erottaminen, denormalisointi tms.), mutta ETL-prosessiin voi myös koota useammista toimenpiteistä koostuvia ryhmiä, eli alaprosesseja. Tietovarasto Toimenpiteet ja niiden väliaikaisvarastot (työalue) ODS Asiakkaan tietolähteet Text file Kuva 1: ETL-prosessista Kuva 2: Kaksi erillistä toimenpidettä: taulujen liittäminen helppolukuisemmaksi tauluksi (join) sekä kuukausittaisten aggregaattien tuottaminen. Sivu 6 / 25

7 Asiakkaan ETL-prosessi kuvataan erityisellä kuvauskielellä, jossa määritellään toimenpide-/alaprosessiverkon rakenne ja kussakin osaprosessissa suoritettavat toimenpiteet. Toimenpiteitä ovat esimerkiksi taulujen (tai niiden osien) kopiointi, liittäminen, hajottaminen jne. Lisäksi on mahdollista kirjoittaa tarvittaessa asiakaskohtaisia toimenpidekomponentteja Javalla. 5 Järjestelmän käyttäjät Järjestelmän käyttäjät ovat määritelty eri roolien mukaan. Roolien avulla havainnollistetaan käyttäjän tavoite toiminnassa ja sen avulla voidaan paremmin määritellä käyttötilanteet. Käyttäjiä voivat olla Aureoliksen henkilöstö, Aureoliksen asiakasyrityksen henkilöstö ja asiakasyrityksen asiakkaat. Ohjelmiston käyttö keskittyy pääasiassa suunnittelu- ja asennusvaiheeseen, jolloin Aureoliksen sekä Aureoliksen asiakkaan käyttäjät konfiguroivat ohjelmiston asiakkaan tarpeisiin soveltuvaksi. Tämän jälkeen interaktiivista käyttöä on vähän - pääasiassa ylläpitotöitä. ovat taustaltaan asiantuntijoita, joilta voidaan odottaa sovellusalueen tuntemusta sekä ohjelman käytön perustuntemusta. 5.1 Aureoliksen käyttäjäroolit Taulukko 3: Aureoliksen käyttäjäroolit Käyttäjä Lkm Käyttötilanteet Ohjelmoija 1-3 Uusien toimenpiteiden ohjelmointi Javalla, prosessien tutkiminen, lokien tutkinta, muutokset asetuksiin, dokumentaation lukeminen jne. Ohjelmistoarkkitehti 1-2 Prosessin suunnittelu kuvauskielellä, prosessien tutkiminen/muokkaaminen, muutokset asetuksiin, dokumentaation lukeminen jne. Testaaja 1-3 Toimenpiteiden testaus, prosessien testaus, integrointitestaus, lokien tutkinta ja lokien tarkkuuden säätö, prosessidokumenttien poiminta Dokumentoija 1-3 Prosessidokumenttien poiminta ja metadatan muokkaus. Asentaja 1 Asennusmääritysten muokkaus, metadatan muokkaus, lokien tutkinta ja ohjelman käynnistys / sulkeminen, ajastusten teko 5.2 Aureoliksen asiakkaan roolit Sivu 7 / 25

8 Taulukko 4: Aureoliksen asiakkaan roolit Käyttäjä Lkm Käyttötilanteet Ylläpitäjä 1-2 Prosessien suunnittelu kuvauskielellä, prosessien tutkiminen, lokien tutkinta, muutokset asetuksiin, toimenpiteiden ohjelmointi Javalla, ajastusten muokkaus. Asentaja 1 Asennusmääritysten muokkaus, metadatan muokkaus, lokien tutkinta ja ohjelman käynnistys / sulkeminen, ajastusten teko. 6 Käyttöskenaariot Käyttöskenaarioiden tarkoitus on kuvata käyttötilanteita järjestelmän käyttäjien näkökulmasta. Käyttöskenaarioiden kuvaukseen käytetään vapaata tekstikuvausta, jossa yritetään välttää teknisiin ratkaisuihin liittyviä mainintoja. Käyttöskenaariot ovat yksilöity seuraavasti: Ensimmäisenä kirjaimena S kuvaamassa sanaa skenaario Seuraava kirjain tulee suurimmassa osassa roolin ensimmäisestä kirjaimesta. Poikkeuksena ovat ohjelmistoarkkitehdin skenaariot, joissa on käytetty kirjainta D. Juokseva numero 6.1 Rooli: Asentaja SA-1 Asennus Asentaja asentaa ETL-työvälineen asiakkaalle. Hän asettaa tietokannat konfiguraatiotiedostoon ja määrittää niille tyypin ja id:n, johon viitataan prosessikuvauksissa. Tämän jälkeen hän asentaa, jo mahdollisesti etukäteen luodut prosessikuvaukset, ja suorittaa niille ajastamisen. Lopuksi asentaja käynnistää ETLmoottorin SA-2 Ajastaminen Asentaja määrittää prosessikuvaustiedostoon ajankohdat, milloin prosessi tulee ajaa. Spesifikaatiot tähän hän saa asiakkaalta ja ohjelmistoarkkitehdiltä. Ajastukset määritellään UNIXin cronin tapaan, kuukausien, päivien, viikonpäivien ja kellonaikojen avulla. 6.2 Rooli: Ylläpitäjä SY-1 Virhetilanteiden selvitys Virheen tapahtuessa Ylläpitäjä selvittää ensin karkealla tasolla virheen todennäköisen sijainnin. Tässä hänellä on apuna dokumentaatio prosessista sekä järjestelmän toiminnasta, sekä ohjelmiston tuottama lokitiedosto. Hän suodattaa lokitiedostosta kiinnostavan tiedon ja tarvittaessa vertailee sitä edellisten ajojen tuottamaan lokidataan. Tarvittaessa Ylläpitäjä ottaa yhteyttä Ohjelmoijaan tai Ohjelmistoarkkitehtiin, mikäli vika löytyy prosessista tai järjestelmästä, tai jos vian syytä ei löydy. Sivu 8 / 25

9 6.2.2 SY-2 Ajastuksien ja ylimääräisen ajon ajaminen Järjestelmän ollessa jo toiminnassa havaitaan tarve muuttaa olemassa olevia prosessien ajastuksia. Ylläpitäjä avaa ajastukset sisältävän tiedoston, ja tämän tiedoston dokumentaation avulla hän löytää oikean kohdan muutoksille. Hän muuttaa valmiita ajastuksia, poistaa niitä tai lisää kokonaan uusia prosessiajoja. Ylläpitäjän tallennettua muutokset järjestelmä havaitsee ajastusten muuttuneen ja käynnistää prosessit uuden aikataulun mukaan. 6.3 Rooli: Ohjelmoija SO-1 Prosessin toteutus Ohjelmoija saa tehtäväkseen toteuttaa jonkin suunnitellun prosessin. Hän pystyttää kehitysympäristön, joka sisältää kannan ja tarvittavat ohjelmat kuten Javan. Mikäli suunniteltu prosessi sisältää uusia toimenpiteitä, niin ohjelmoija toteuttaa ne Javalla ja integroi ETL-ohjelmaan. Mikäli kuvauskielellä kuvatussa prosessissa on puutteita, ohjelmoija keskustelee siitä ohjelmistoarkkitehdin kanssa ja prosessi täydennetään toimivaksi. Ohjelmoija syöttää prosessin ETL-ohjelmaan ja ajaa sen kehitysympäristössä. Kun prosessi näyttää toimivan, antaa hän sen testattavaksi testaajalle ja lopulta tuotannossa ajettavaksi. Jos testauksessa tarvitaan erillinen testiympäristö, niin ohjelmoija auttaa sen luomisessa ja mahdollisissa tuotantoympäristön ongelmissa SO-2 Toimenpiteiden ohjelmointi Ohjelmoija saa tehtäväkseen ohjelmoida jonkin uuden toimenpiteen Javalla. Hän suunnittelee toimenpiteen sisäisen prosessoinnin ja käy lävitse yhdessä ohjelmistoarkkitehdin kanssa rajapinnan ETL-moottoriin. Suunnittelun jälkeen ohjelmoija ohjelmoi uuden toimenpiteen ja tekee tarvittavat muutokset ETL-moottoriin ja muualle sovellukseen. Toteutuksen ja alustavan testauksen jälkeen hän luovuttaa muutetun sovelluksen testaajalle testattavaksi SO-3 Versionhallinta Ohjelmiston kehittämisessä ja sen eri versioiden hallitsemiseen käytetään versionhallintaohjelmistoa kuten CVS:ää. Mikäli ohjelmoija haluaa muuttaa olemassa olevaa luokkaa tai tiedostoa, ottaa hän sen aina ensin omalle koneelle CVS:stä. Sitten hän tekee siihen tarvittavat muutokset ja jos se kääntyy, niin hän voi viedä sen takaisin CVS:ään (cvs commit). Jos ohjelmoija toteuttaa jonkin täysin uuden luokan, niin hän voi viedä sen CVS:ään kun se kääntyy. Aina kun ohjelmoija vie jonkin muutoksen CVS:ään niin hän kirjoittaa jonkin kommentin, jotta myöhemmin on helppo nähdä mitä kyseinen versio sisältää. Mikäli CVS herjaa konfliktista on joku toinen ohjelmoija muokannut samanaikaisesti juuri samaa kohtaa. Tällöin ohjelmoijan täytyy yhdistää versiot yhdeksi ja kokeilla että se kääntyy ja viedä uudestaan CVS:ään. 6.4 Rooli: Ohjelmistoarkkitehti SD-1 Prosessin suunnittelu Ohjelmistoarkkitehti saa tehtäväkseen suunnitella asiakkaan tarpeisiin soveltuva ETLprosessi. Hän tutustuu asiakkaan ja lähdejärjestelmään. Näiden tietojen pohjalta ohjelmistoarkkitehti voi suunnitella prosessin. Hän aloittaa suunnittelun luomalla prosessin rungon kuvauskielellä. Tässä hän voi hyödyntää olemassa olevia Sivu 9 / 25

10 prosessikuvauksia ja muokata niitä, tai luoda kokonaan uuden. Apuna kuvauksen kirjoittamisessa hän tarvitsee kuvausta kielen syntaksista ja semantiikasta sekä esimerkkikuvauksia. Ohjelmistoarkkitehti suunnittelee prosessin kulun ja sisällön. Tarkemmat määrittelyt hän voi halutessaan jättää ohjelmoijan huoleksi. Hän luo prosessista dokumentaation ja tarkistaa loogisen toimivuuden. Ohjelmistoarkkitehti luovuttaa prosessin eteenpäin joko ohjelmoijalle tai testaajalle SD-2 Prosessin muutokset ja kuvauksen ylläpito Ohjelmistoarkkitehti saa tehtäväkseen muokata prosessin kulkua uusien määritysten mukaisesti. Hän ottaa esille prosessin kuvauksen ja muokkaa tarvittavia kohtia. Muokkauksien tekemiseen hänen tarvitsee tietää kuvauskielen syntaksi, semantiikka ja käyttää mahdollisesti apuna esimerkkikuvauksia prosesseista. Muokkauksien jälkeen hän tarkistaa prosessin loogisen toimivuuden ja luo dokumentaation uudelleen. Ohjelmistoarkkitehti luovuttaa prosessin eteenpäin joko ohjelmoijalle tai testaajalle. 6.5 Rooli: Testaaja ST-1 Prosessien testaus Testaaja suorittaa testit Ohjelmoijan / Ohjelmistoarkkitehdin määrittämälle prosessikuvaukselle. Tämä voi sisältää itse prosessin testaamisen lisäksi uusien toimenpidekomponenttien testaamisen (ST-2). Testauksessa ajetaan prosessi kehitysympäristössä ja tutkitaan prosessin tuloksia sekä seuraamalla jatkuvasti lokitietoja ja tutkimalla kantoihin tehtyjä muutoksia. Prosessi voidaan ongelmatilanteissa ajaa operaatio kerrallaan ST-2 Toimenpiteiden testaus Testataan yksittäisten toimenpiteiden toimivuutta. Toiminnallisuus voidaan testata joko määrittämällä triviaali kuvaustiedosto (prosessinohjaus) tai luomalla stub-tyyppinen rajapinta korvaamaan ETL-moottori. Toimenpiteet palauttavat virhetilanteessa kutsuvalle rajapinnalle (normaalisti ETL-moottori) virheilmoituksen. Tarvittaessa tutkitaan myös toimenpiteen tulostaulua vähintään satunnaisotoksella komponentin oikean toiminnallisuuden varmistamiseksi ST-3 Integraatiotestaus Testaaja testaa Ohjelmistoarkkitehdin tai Ohjelmoijan tuottamien komponenttien integrointia sovellukseen. Käytännössä integroitavat komponentit ovat uusia toimenpidekomponentteja. Testattava versio toimenpiteistä ja prosessikuvaus haetaan versionhallintajärjestelmästä ennen testaamista (katso SO-3). Tarvittaessa liitetään toimenpiteen käyttö kuvauskieleen, jolla testausprosessi ajetaan. 7 Toiminnalliset vaatimukset Toiminnallisten sekä ei-toiminnallisten vaatimusten priorisointiin käytetään alla olevaa luokittelua: Sivu 10 / 25

11 Taulukko 5: Vaatimusten luokittelu niiden tärkeyden mukaan Kriittinen Matala Vaatimuksia, jotka ovat pakollisia ja oleellisia järjestelmän toiminnan kannalta ja ilman niitä järjestelmä ei ole käyttökelpoinen. Vaatimuksia, jotka ovat tärkeitä, mutta eivät puuttuessaan estä järjestelmän perustoimintaa. Vaatimuksia, jotka tuovat lisäarvoa järjestelmälle, mutta eivät haittaa suuresti puuttuessakaan. Tehdään jos resursseja riittää. Alla olevassa taulukossa (Taulukko 6) on lueteltu kaikki toiminnalliset vaatimukset mitä järjestelmältä vaaditaan. Priorisointi on tärkeää, koska tehtävänanto on hyvin laaja ja projekti voi lähteä helposti käsistä jos keskitymme liikaa epäoleellisiin. Tärkeintä olisi luoda mahdollisimman luotettava ja hyvä pohja tulevalle järjestelmälle. Käyttötilanne sarake viittaa kappaleessa 9 määriteltyihin käyttötilanteisiin. Tila -sarake kertoo, mikä on toiminnallisen vaatimuksen tilanne toteutuksen suhteen. Tila voi olla: Toteuttamatta Suunnitelmia ei ole Suunniteltu Suunnitelmat tehty Kesken Toteutus aloitettu Toteutettu Toteuttava koodi olemassa Vahvistettu Toteuttava koodi testattu ja toimii Hylätty Asiakas hylännyt vaatimuksen Taulukko 6: Toiminnalliset vaatimukset Kategoria Vaatimus Tila Käyttötila nne P1 Prosessi Prosessi koostuu toimenpiteistä. Kriittinen Toteutettu KT1 KT7, KT10 P2 Prosessi Yhden toimenpiteen tulos voi olla Kriittinen Toteutettu KT2, KT5 muiden toimenpiteiden syöte. P3 Prosessi Toimenpiteen syötteet ja tulosteet Kriittinen Toteutettu KT5 ovat yhteistä rajapintaa toteuttavia olioita. P4 Prosessi Toimenpiteen syöte/tuloste-oliot ovat Kriittinen Toteutettu KT5, KT7 relaatiotauluja. P5 Prosessi Toimenpiteen syötteet ja tulosteet Matala Toteuttamatta KT7 voivat olla ASCII-peräkkäistiedostoja. P6 Prosessi Datan käsittely tehdään tietokannan Toteutettu KT7 sisällä aina kun mahdollista. P7 Prosessi Syötteessä olevia virheitä pitää tunnistaa ja siihen on integroitavissa virheidenkäsittely. P8 Prosessi Kyky lähettää sähköpostia virhetilanteessa. Kesken KT12 KT14 Matala Toteuttamatta KT13 Sivu 11 / 25

12 Kategoria Vaatimus Tila Käyttötila nne T1 Toimenpide Join (right / left). Liittää kaksi oliota Kriittinen Toteutettu KT1, KT7 yhteen. (ei full, koska kantariippuvainen) T2 Toimenpide Summaus. Summaa sarakkeen Kriittinen Toteutettu KT1, KT7 kaikki rivit yhteen. T3 Toimenpide Keskiarvo. Laskee keskiarvon Toteutettu KT1, KT7 sarakkeen kaikista luvuista. T4 Toimenpide Count. Laskee rivien lukumäärän Toteutettu KT1, KT7 taulusta. T5 Toimenpide Min. Hakee tietystä sarakkeesta Matala Toteutettu KT1, KT7 minimin. T6 Toimenpide Max. Hakee tietystä sarakkeesta Matala Toteutettu KT1, KT7 maksimin. T7 Toimenpide Copy. Kopioi olio. Kriittinen Toteutettu KT1, KT7 T8 Toimenpide Toimenpiteet kytketään ETLmoottoriin Kriittinen Toteutettu KT1, KT7 jollain rajapinnalla. T9 Toimenpide Merge. Hylätty KT1, KT7 ( ) T10 Toimenpide Append. Rivien lisäys. Toteutettu KT1, KT7 T11 Toimenpide Delete. Rivien / olioiden tuhoaminen. Toteutettu KT1, KT7 T12 Toimenpide Update. Rivien / olioiden Matala Toteutettu KT1, KT7 korvaaminen. T13 Toimenpide Rajaus / filtteröinti. Vastaa SQL:n Kriittinen Toteutettu KT1, KT7 where-lausetta. T14 Toimenpide Sarakkeen / sarakkeiden Matala Toteuttamatta KT1, KT7 tyyppimuunnos ja muokkaus. T15 Toimenpide Union, intersection, difference. Hylätty KT1, KT7 Rivijoukon / oliojoukon yhdiste, leikkaus tai erotus. ( ) T16 Toimenpide Sort. Rivien / olioiden järjestäminen. Matala Hylätty KT1, KT7 T17 Toimenpide Distinct. Duplikaattien poisto. Matala Toteuttamatta KT1, KT7 T18 Toimenpide Indeksien tekeminen / poistaminen. Matala Toteuttamatta KT1, KT7 T19 Toimenpide Pivotointi. Rivien muuttaminen sarakkeiksi. T20 Toimenpide Unpivotointi. Sarakkeiden muuttaminen riveiksi. T21 Toimenpide SCD, slowly changing dimensions. Harvoin muuttuvan tiedon muutoksien seuranta. (Kehitysohjeeseen) T22 Toimenpide Toimenpiteissä on oltava indeksien käyttö tehokasta. Tarvittaessa on pystyttävä poistamaan ja lisäämään indeksejä tehokkuuden saamiseksi. T23 Toimenpide Lookup. Toteutetaan joiniin uutena moodina flagin avulla. Join menee virheeseen lookup-moodissa jos joinin ehdolle löytyy useita rivejä. K1 kieli Prosessi kuvataan kuvauskielen avulla ETL-moottorin ymmärtämään muotoon. Toteutettu KT1, KT7 Toteuttamatta KT1, KT7 Matala Suunniteltu KT1, KT7 Hylätty ( ) KT1, KT7 Matala Toteuttamatta KT1, KT7 Kriittinen Toteutettu KT1-KT4, KT6 Sivu 12 / 25

13 Kategoria Vaatimus Tila Käyttötila nne K2 kieli Mahdollisuus toteuttaa uusia Toteutettu KT5 toimenpidekomponentteja Javalla (Kehitysohje) K3 kieli Muuttujien välittäminen Kriittinen Toteutettu KT1 kuvauskielestä yksittäisille toimenpidekomponenteille. K4 kieli Muuttujien välittäminen Toteutettu KT1, KT3 kuvauskielestä toimenpideryhmille. K5 kieli Asiakkaan konfiguraatioparametrit Toteutettu KT8 (tietokannan osoite yms.) erilliseen tiedostoon. K6 kieli Toimenpiteen lähde- ja Matala Toteutettu KT1 kohdetaulujen sarakkeiden automaattinen mätsäys (sarakenimen perusteella). K7 kieli Moottorissa ja kuvauskielessä tuki Toteutettu KT1 toimenpiteille, jotka eivät tee uutta taulua vaan muokkaavat olemassa olevaa taulua. K8 kieli Alaprosessien kuvaaminen joko Toteutettu KT1 samassa tai eri tiedostossa itse pääprosessin kanssa. K9 kieli Yksilöllisten nimien antaminen / Toteutettu KT1 generointi toimenpiteille. K10 kieli Yksilöllisten nimien antaminen / Hylätty KT1 generointi alaprosesseille. ( ) K11 kieli Yksilöllisten nimien antaminen / Toteutettu KT1 generointi väliaikaistauluille. K12 kieli Prosessin eheyden tarkistus / Toteutettu KT4 validointi. E1 ETL-moottori ETL-moottori suorittaa kuvauskielellä Kriittinen Toteutettu KT7 kuvatun prosessin. E2 ETL-moottori Moottorin tulee havaita riippuvuudet Kriittinen Toteutettu KT7 ja järjestää toimenpiteiden suoritus sen mukaisesti. E3 ETL-moottori Moottori pystyy rinnakkaiseen Matala Toteutettu KT7 toimenpiteiden suoritukseen. E4 ETL-moottori Moottorin tulee hallita ajastukset. Toteutettu KT1 E5 ETL-moottori Toimenpiteet ovat dynaamisesti ladattavia Java-luokkia, jotka toteuttavat toimenpide-rajapintaa. E6 ETL-moottori Eritasoiset lokiviestit (debug / info / warning / error / fatal) E7 ETL-moottori Step-by-step. Prosessin suorittaminen askel kerrallaan ja etenemisen seuraaminen. E8 ETL-moottori Historian siivous, eli vanhojen tietojen poistaminen tietovarastosta ja väliaikaisvarastoista. E9 ETL-moottori Ajetun prosessin peruuttaminen ja tuloksien pyyhkiminen tietovarastosta. Matala Toteuttamatta KT5 Toteutettu KT12, KT14 Matala Suunniteltu KT6 Matala Toteutettu KT9 Matala Hylätty ( ) KT10 Sivu 13 / 25

14 Kategoria Vaatimus Tila Käyttötila nne D1 Dokumentaation generointi Prosessin kuvauskielellä tehdystä kuvauksesta on mahdollista muodostaa dokumentaatio Toteutettu KT15 D2 Dokumentaation generointi automaattisesti. Dokumentaatioon kuuluu toimenpiteiden, syötteiden ja tulosten selkeä kuvaus ja prosessin graafinen esitys. D3 Dokumentaation generointi Lopputuloksesta saadaan relaatiomalli. U1 Käyttöliittymä Luonnos prosessin kuvaukseen käytettävästä käyttöliittymästä. Matala Kesken KT15, KT16 Matala Hylätty KT15 ( ) Matala Toteuttamatta KT1 8 Ei-toiminnalliset vaatimukset Alla olevassa taulukossa on lueteltu järjestelmältä vaadittavat ei-toiminnalliset vaatimukset. Priorisoinnissa on käytetty samaa systeemiä kuin toiminnallistenkin vaatimusten kohdalla (priorisointi-taulukko edellisessä kappaleessa). Ei-toiminnallisista vaatimuksista yksi tärkeimmistä on luotettavuus, koska järjestelmän on tarkoitus toimia joskus tuotantokannoissakin. Jos järjestelmä ei ole luotettava niin sen käyttömahdollisuudet ovat pienet. Toinen hyvin tärkeä vaatimus on kuvauskielen toimivuus, koska ilman sitä järjestelmä ei välttämättä ole käytettävä. Tila -sarake kertoo, mikä on ei-toiminnallisen vaatimuksen tilanne toteutuksen suhteen. Tila voi olla: Huono Vaatimus toteutuu huonosti tai ei ollenkaan Kehitettävä Vaatii vielä kehitettävää, mutta toteutuu osittain Hyvä Vaatimus toteutuu hyvin? Vaatii vielä testaamista ja tarkistamista Sivu 14 / 25

15 Taulukko 7: Ei-toiminnalliset vaatimukset Kategoria Vaatimus Tila ET1 kieli kielen on oltava tarpeeksi selkeä ja toimiva, jotta sitä voi käyttää käsinkin ilman käyttöliittymää. ET2 kieli kielen on oltava looginen, eli operaation nimet on oltava englanniksi ja tuettava tietovarastoinnin teoriaa mm. nimeämisellään. ET3 kieli kielen on tuettava CVSversiointia siten, että kuvausta voi muokata kahdesta eri kohtaa siten, että muutosten automaattinen yhdisteleminen on mahdollista. ET4 kieli kielen on vältettävä toisteisuutta hyvän ylläpidettävyyden saavuttamiseksi. ET5 kieli kielen on perustuttava olemassa olevaan teoriaan ja menetelmään ET6 Koodi Koodin täytyy olla helposti ylläpidettävää, jotta sovelluksen jatkokehitys olisi mahdollista. ET7 Koodi Koodin on oltava hyvin dokumentoitua ja kommentoitua. ET8 Järjestelmä Järjestelmän tulee olla luotettava ja hyvin testattu, jotta sitä voidaan käyttää tuotantokannoissa. ET9 Järjestelmä Sovittuja rajapintoja on noudatettava kautta linjan säilyttäen yhdenmukaisuus ja loogisuus. ET10 Järjestelmä ET11 Järjestelmä ET12 Dokumentaatio Uusien toimenpideluokkien lisääminen pitää olla riittävän helppoa Järjestelmän on oltava vakaa ja kyettävä säilyttämään datan eheys sekä toipumaan virhetilanteista. Dokumentaatiossa tule välttää toisteisuutta ylläpidettävyyden ja luettavuuden helpottamiseksi. Tieto pitää löytyä loogisesti oikeasta paikasta. Kriittinen Kriittinen Hyvä Hyvä Hyvä Hyvä Hyvä Hyvä Kehitettävä Kehitettävä Hyvä Hyvä Kehitettävä Kehitettävä 9 Käyttötilanteet Alla olevassa luettelossa kuvataan kaikki oleellisimmat käyttötilanteet. Oleellisina pidetään Sivu 15 / 25

16 tässä tapauksessa käyttötilanteita, jotka ovat (1) keskeisiä järjestelmän käytön kannalta sekä (2) sellaisia, joilla on suurin vaikutus suunnittelu- ja toteutustyöhön. LuoProsessi KT1 Arkkitehti Suunnittelija luo uuden kuvaustiedoston. Myöhemmässä vaiheessa tämän voi tehdä graafisen käyttöliittymän avulla. Kriittinen Px, Kx, U1 MuokkaaToimenpiteitä KT2 Arkkitehti Suunnittelija määrittelee kuvaustiedostoon uuden toimenpiteen ja antaa sille tarvittavat parametrit. Lisäksi hän määrittelee, mistä edeltävästä toimenpiteestä ko. toimenpide saa syötteensä sekä mihin se tallentaa tuloksensa. On luotu ETL-prosessi Myöhemmässä vaiheessa tämän voi tehdä graafisen käyttöliittymän avulla. Kriittinen Px, Kx, U1 Ryhmäparametrit KT3 Arkkitehti Suunnittelija määrittelee tietylle toimenpideryhmälle parametreja, jotka koskevat kaikkia näitä toimenpiteitä (esim. tietokannan URL). On luotu ETL-prosessi ja lisätty siihen toimenpiteitä. Myöhemmässä vaiheessa tämän voi tehdä graafisen käyttöliittymän avulla. K4 TarkistaProsessi KT4 Arkkitehti Suunnittelija pyytää järjestelmää tarkistamaan, onko tehty ETLprosessi eheä, eli onko esimerkiksi virheitä parametrien määrittelyissä. On luotu ETL-prosessi ja lisätty siihen toimenpiteitä. Myöhemmässä vaiheessa tämän voi tehdä graafisen käyttöliittymän avulla. Matala Sivu 16 / 25

17 K12 OhjelmoiToimenpide KT5 Ohjelmoija Suunnittelija ohjelmoi Javalla toimenpidekomponentin, joka lukee tarvittavan datan, muokkaa sitä ja lähettää lopputuloksen seuraavalle toimenpiteelle. K2 TestaaProsessi KT6 Arkkitehti, ohjelmoija, testaaja Suunnittelija ajaa ETL-prosessin testimielessä, käyttäen lähdedatana ennalta valmisteltua testidataa. On luotu eheä ETL-prosessi. On valmisteltu riittävä testiaineisto. On luotu tarvittavat tietokannat. E1, E6, E7 AjaProsessi KT7 Ylläpitäjä, asentaja tai ajastettu tehtävä ETL-prosessi ajetaan ja tuotetaan lopputulos tietovarastoon. On luotu toimiva ETL-prosessi. On luotu tarvittavat tietokannat (ei välttämättä tauluja). Kriittinen E1 Asenna KT8 Asentaja Asennetaan tehty ETL-prosessi asiakkaan ympäristöön: konfiguroidaan asiakkaan tietokantojen tai muiden tietolähteiden osoitteet asennetaan väliaikais- ja tietovarastotietokannat ja konfiguroidaan niiden osoitteet Sivu 17 / 25

18 Kriittinen - PoistaVanhaTieto KT9 Ylläpitäjä tai ajastettu tehtävä Poistetaan tietovarastosta ja/tai ODS-alueelta tietoja, jotka ovat vanhentuneet, eivätkä ole enää tarpeellisia. On otettu käyttöön toimiva ETL-prosessi. Poistaminen voidaan tehdä aluksi käsin tietokannasta, mutta myöhemmässä vaiheessa myös jonkin työkalun avulla. E8 PeruProsessi KT10 Ylläpitäjä Jos ajetun prosessin lopputulos ei ole tyydyttävä (esim. liikaa virheitä), voidaan peruuttaa ajo tuhoamalla tietovarastosta kaikki ko. ajon tuottamat tiedot. On otettu käyttöön toimiva ETL-prosessi. Poistaminen voidaan tehdä aluksi käsin tietokannasta, mutta myöhemmässä vaiheessa myös jonkin työkalun avulla. Kriittinen E9 Puhdistusloki KT11 Ylläpitäjä Voidaan tarkistaa lokista, minkälaisia puhdistustoimenpiteitä datalle on prosessiajon aikana tehty (so. lähdedatassa olevien virheiden korjaamista). On ajettu ETL-prosessi. E6 Virheloki KT12 Ylläpitäjä Voidaan tarkistaa lokista, millaisia virheitä tapahtui prosessiajon aikana. (ks. erikseen DebugLoki-käyttötilanne). On ajettu ETL-prosessi. Sivu 18 / 25

19 E6 TilaaVirheilmoitus KT13 Ylläpitäjä Ylläpitäjä määrittelee, että järjestelmä lähettää hänelle sähköpostitse virheilmoituksen, jos annetut virherajat ylittyvät prosessin (ajastetun) ajon aikana. On otettu käyttöön toimiva ETL-prosessi. Matala P7 Debugloki KT14 Arkkitehti, ohjelmoija, testaaja Suunnittelija näkee lokista tarkasti, mitä prosessiajon aikana tapahtui. On ajettu ETL-prosessi. Tuotantoympäristössä voidaan joutua karsimaan tallennettavien lokiviestien määrää, jolloin debug-tason viestejä ei ehkä ole saatavilla. E6 TuotaDokumentaatio KT15 Arkkitehti, ohjelmoija Generoidaan dokumentaatiota tehdystä ETL-prosessista (kaavioita, taulukkoja, kuvia yms.) On luotu ETL-prosessi. Dx MyyntiDemo KT16 Myyntihenkilö Myyntihenkilö esittelee järjestelmän ominaisuuksia potentiaaliselle asiakkaalle ilman raskasta tuotantoympäristöä. Matala - 10 Rajoitteet Sivu 19 / 25

20 Rajoitteilla tarkoitetaan suunnittelun valinnanvapautta rajoittavia tekijöitä, esimerkiksi laitealustoja, joilla järjestelmän tulee toimia. Taulukko 8: Projektin rajoitteet Vaatimus R1 Tietokantatuki: Toimittava kahdella eri tietokannanhallintajärjestelmällä siten että kehitys ryhmälle helpointa (esim. Oracle ja MySQL) R2 Käyttöjärjestelmät: Unix, Windows R3 Java-ympäristöt: J2SE Kriittinen Kriittinen Kriittinen 11 Ratkaisuideoita Tarkoituksena on ideoida jo vaatimusmäärittelyvaiheessa, miten joitakin järjestelmän runko-osiin liittyviä suunnitteluongelmia voitaisiin ratkaista. Alla on lueteltu näitä alustavia ratkaisuideoita 11.1 Ulkoisia komponentteja XML:n parsiminen. Castor? Joku tavallinen DOM-parseri? Tietokantojen JDBC-ajurit Loki (Java 1.4:n loki? log4j? Onko joku parempi?) Käytetään JDBC:tä mieluummin kuin lähdetään kikkailemaan EJB:n / Hibernate:n tms kanssa (aikaa on vähän). Vai voisiko esim. hajautetuista transaktioista olla hyötyä? Tai yleensäkin Java Transaction APIn käytöstä? 11.2 ETL-prosessin kuvauskieli Käytetään XML:ää ja tehdään XML-schema. Kohtuullisen hyvä luettavuus, helppo tehdä parseri ja helppo virheentarkistus. Ehkä hiukan kankea (esim. kun tarvitaan räätälöityjä toimenpiteitä). XML:ää on kätevä käsitellä sekä koneellisesti että käsin, tekstimuotoisena myös CVS tuki onnistuu. Koodataan ETL-prosessi Javalla, eli luodaan toimenpideoliot ja liitetään ne toisiinsa suoraan Java -koodista käsin. Hyvä joustavuus, mutta heikot mahdollisuudet toteuttaa graafinen editori tai käyttää muita editoreja ja ehkä hankala generoida dokumentaatiota. Jos prosessi on erittäin iso, Javassa on paremmat mahdollisuudet ryhmitellä toimenpiteitä (esim. eri luokkiin/pakkauksiin). Tutkitaan voidaanko kuvauskieli perustaa jo olemassa oleviin kuvauskieliin, kuten XPDL tai PSL. Tehdään kokonaan oma kuvauskieli. Tehokkaampi käyttää kuin XML pitkällä tähtäimellä (opettelun jälkeen), mutta alkuvaiheessa käyttö kankeaa ja parserin tekeminen työlästä. Toimenpideolioille pitää pystyä antamaan parametreja kuvauskielestä käsin. Tehdään mahdollisuus määritellä parametreja yksittäisille toimenpiteille tai toimenpideryhmille. Mahdollisuus mäpätä esim. kopioitaessa lähdetaulun kenttiä kohdetaulun kenttiin yksitellen. Jos mäppäystä ei ole määritelty, kopioidaan lähdetaulun kentät samannimisiin kohdetaulun kenttiin. Sivu 20 / 25

21 11.3 Toimenpiteiden väliset rajapinnat Tyypillisesti yksi toimenpide tallentaa tuloksensa väliaikaiseen tietokantatauluun, josta seuraava toimenpide käy lukemassa sen. Voisi antaa toimenpideluokalle parametreina (kuvauskielestä käsin) esim. taulun ja mahdollisesti sarakkeen. Toimenpiteet eivät kutsu toistensa Java-metodeja suoraan, synkronointiongelmien takia. Synkronointiongelman voisi kiertää myös asynkronisilla metodikutsuilla, mutta toisaalta tarvitsee ehkä antaa enemmän vapauksia schedulerille päättää esim. toimenpiteiden ajastuksista. Muitakin tiedonvälitystapoja pitää tukea myöhemmin (esim. suoraan Java-olioina), joten ei sidota tätä rajapintaa pelkästään SQL-tauluihin. Toimenpiteen käsittelemät taulut (lähde- ja kohdetaulut, molempia voi olla useita) saattavat olla eri tietokannoissa => ei voida välttämättä suoraan SQL-komennolla kopioida dataa taulusta toiseen. Onko liian kova vaatimus, että välitettävän datan rakenne (taulut) pitää pystyä selvittämään ennen prosessin käynnistystä? Helpottaisi suunnittelua, kun taulurakenteet nähdään tarkasti jo suunnitteluvaiheessa Muussa tapauksessa rakenteesta tulee helposti sekava, jos taulurakenteet muuttuvat ajosta toiseen Toisaalta asettaa tiukkoja vaatimuksia toimenpidekomponenttien suunnittelulle. (Mitä mahdollisia ongelmatilanteita?) Taulut, joihin toimenpiteen lopputulos tallennetaan, pitää pystyä luomaan/päivittämään suoraan Javalla. Ts. ei voi olettaa, että joku olisi tehnyt tietokantaan taulut käsin valmiiksi tai että ne olisivat ajan tasalla. Taulujen create-lauseita tms. ei ole saatavilla mistään, vaan taulujen rakenne riippuu kuvauskielessä määritellystä toimenpiteen tyypistä ja annetuista parametreista. Dokumentaatiogeneraattorin pitää saada tietoa toimenpiteiden välisistä rajapinnoista, taulurakenteista jne Valmiita toimenpidekomponentteja Atomiset: olion kopiointi (kannan sisällä tai kannasta toiseen) summaus (+ muut statistiikat kuten keskiarvo = mean / average, freq = count, min, max) rivien lisäys = insert / append olion tuhoaminen / rivien tuhoaminen = delete korvaaminen = update rajaus (where) lookup (tarkistus dimensiota vastaan) sarakkeen/sarakkeiden tyyppimuunnos ja muokkaus join (right / left / full) Sivu 21 / 25

22 merge (poikkeaa hieman left joinista) union, intersection, difference (minus) lajittelu distinct (duplikaattien poisto) indeksien generointi / droppaus pivotointi ja unpivotointi (voisi ehkä toteuttaa myös "templaattina") "data step" + "by processing" Templaatit (kombinaatiot/räätälöidyt): SCD (Slowly Changing Dimensions) massatarkistus (useamman sarakkeen samanaikainen tarkistus ohjaustaulun avulla) historian siivous "OLAP-rakenteen" muodostus (summatasot relaatio-taulu(un/ihin)) 11.5 Lähdeaineiston lukeminen Lähdeaineiston lukemisessa voidaan tehdä hiukan enemmän asiakaskohtaista koodaustyötä, jotta aineisto saadaan mahdollisimman näppärästi luettua monenlaisista järjestelmistä. Toteutetaanko lähdeaineiston lukeminen joukkona toimenpiteitä, jotka ajetaan ensimmäisenä? Tai erillisenä ETL-prosessina? Tarvitaan varmaankin myös pollausta, eli tehdään kyselyjä lähdeaineistoon tiheästi, mutta ajetaan ETL-prosessi vasta sitten kun aineisto on muuttunut. Push-tyyppinen data voidaan hoitaa siten, että datan saapuessa triggeröidään ko. toimenpidekomponentit Toimenpiteiden skedulointi (prosessimanageri?) Pitää ajaa toimenpiteet oikeassa järjestyksessä Pitää lukea snapshot kaikesta lähdeaineistosta riittävän nopeasti, jotta kaikki tieto on riittävän samanaikaista Ajetun prosessin peruuttaminen, jos esim. ylläpitäjä toteaa että tuli liikaa virheitä Pitäisikö antaa toimenpiteen itse määrätä, lähetetäänkö data eteenpäin ja kontrolloida siten ETL-prosessin edistymistä? Ei riitä, koska pitää myös käsitellä tilanne, että joku komponentti unohtaa lähettää datan eteenpäin. Väliaikaistietokantojen keskitetty hallinnointi, esim. taulujen nimeämiskäytännöt ja taulujen luominen/muuttaminen. Pitää varautua siihen, että toinen prosessi saattaa käyttää samaa tietokantaa Jos ETL-prosessi on pitkä (sisältää pitkäaikaista välivarastointia tms.), pitää olla mahdollista käynnistää moottori uudestaan ja tunnistaa tietokannan perusteella, mitä prosesseja pitää ajaa seuraavaksi. Pitäisikö tämä jättää pitkäaikaista varastointia tekevien toimenpidekomponenttien harteille? Sivu 22 / 25

23 Nimeämiskäytäntö prosessiajoille? Jotta voidaan tunnistaa, mikä tulokseksi saatu data saatiin mistäkin ajosta (esim. virheidenhallintatilanteessa). Ongelmalliseksi homma tulee, jos pitää pystyä suorittamaan joitakin toimenpideryhmiä harvemmin kuin toisia. Pitää pystyä suorittamaan toisistaan riippumattomia prosesseja rinnakkain (ei ihan alkuvaiheessa pakollista) Pitää olla thread pool, koska toimenpiteitä voi olla paljonkin 11.7 Toimenpiteiden toteutusframework Tietokantayhteyksien avaaminen ja pollaaminen. Parametrien välittäminen prosessikuvauksesta toimenpidekomponentille, helposti luettavassa muodossa Taulurakenteen välittäminen viereisille toimenpiteille Jotkut toimenpiteet sisältävät ajastettuja toimintoja, kuten pollausta tai väliaikaisvarastojen tyhjennystä. Myös osia ETL-prosessista voidaan joutua triggeröimään ajastetusti. Dokumentaatiogeneraattorin pitää pystyä kysymään komponentilta dokumentaation generointiin liittyviä tietoja (nimi, luokka, parametrit jossain muodossa, viereisten toimenpiteiden nimet jne.) Scheduleri ilmoittaa toimenpidekomponentille, kun se pitää ajaa. Toimenpide ilmoittaa schedulerille, kun tulos on valmis. Toimenpide voi myös käynnistää itse itsensä, mutta tästä ei ehkä tarvitse ilmoittaa schedulerille Toimenpiteiden sisäinen toteutus Pitää käyttää suoraan tietokantojen komentoja aina kun mahdollista Osa toimenpiteiden koodista pitää tehdä erikseen eri tietokannoille. Annetaan tietokantatyypeille jotkut tunnistettavat nimet (esim. oracle, mysql )? Osa toimenpiteistä tukee useampaa lähde/kohdekantaa ja osa ei? Myös yksittäisen toimenpiteen suorituksen aikana voidaan tarvita väliaikaisia tauluja => nämä taulut pitää pystyä tekemään automaattisesti (jos joku yleiskäyttöinen toimenpiderajapintoja varten tehty taulugeneraattori ei sitä tee) 11.9 Tietovarasto Pitäisikö olla jotain kontrollia, millä tavalla toimenpidekomponentit saavat käsitellä tietovarastotauluja? Etteivät ne vahingossa tee muutoksia tai riko vanhaa historiadataa Erillinen toimenpidekomponentti, joka odottaa että koko ETL-prosessi on suoritettu, ennen kuin tallentaa kaiken datan tietovarastoon? Tietovarastoon voi kuulua myös useita kantoja. Tällä on vaikutusta ainakin prosessin perumismenettelyyn (täytyy pitää yllä tietoa, mitkä datat kuuluivat mihinkin prosessiajoon) Puhdistus Suodatetaan esim. kirjoitusvirheitä vertaamalla eri lähteistä saatua dataa Sivu 23 / 25

24 Kategorisoidaan jotkut toimenpiteet puhdistustoimenpiteiksi, jotta niiden vaikutuksia voidaan keskitetysti seurata? Tarvitaan asiakkaalta lisää vaatimuksia ja toteutusideoita Virhetilanteiden hallinta Koko prosessia ei saa peruuttaa pienten virheiden takia, vaan pikkuvirheistä annetaan ilmoitus käyttäjälle ja suoritetaan prosessi mahdollisimman hyvin loppuun Dokumentaatiogeneraattori Melko erillinen komponentti, mutta pitää miettiä, mitä tietoja tarvitaan prosessista 12 Termejä Taulukko 9: Termistö Suomeksi Englanniksi Selitys Lähdeaineisto, datalähde Data source Tietolähde, josta dataa luetaan ETL-prosessin alkupäässä. Esim. yrityksen omat tietokannat, tekstitiedostot,... DW, tietovarasto DW, data warehouse Kohdetietokanta, johon tallennetaan kunkin ETLprosessin suorituksesta saatu lopputulos. Tietovarastoa ei juuri muokata (paitsi silloin kun suoritetaan ETL-prosessi), vaan siihen tehdään ainoastaan kyselyjä. ETL-prosessi (myös ETT tai ETM) Toimenpide, operaatio Alaprosessi, osaprosessi ETL process Action, operation Subprocess Prosessikuvaus Process description / configuration Datan lukeminen lähdeaineistosta (extract), muokkaaminen (transformation) ja tallentaminen tietovarastoon (load / transportation / move) ETL-prosessiin kuuluva yksittäinen datan muokkaus-, kopiointi- tai muu toimenpide. Useamman yksinkertaisen toimenpiteen muodostama ryhmä, joka käyttäytyy ETLprosessissa kuten yksittäinen monimutkaisempi toimenpide. kielellä tehty kuvaus, joka kertoo, mitä osaprosesseja / tehtäviä ajetaan missäkin vaiheessa ETL-prosessia ja mitä niiden syötteet ja tulosteet ovat. Summaus Aggregation Datan kerääminen tietyiltä jaksoilta ja summaaminen esim. kuukausittaisiksi aggregaateiksi. Puhdistus Cleansing Datassa olevien virheiden (kuten käyttäjän kirjoitusvirheiden) havaitseminen ja korjaaminen. Virheidenhallinta Error control Prosessin ajon aikana tapahtuvien virheiden hallinta ja niistä toipuminen sekä käyttäjän informoiminen. Sivu 24 / 25

25 Suomeksi Englanniksi Selitys Data mart Data mart Tietynlaiseen dataan (myynti, asiakkaat tms) erikoistunut pienempi varasto, johon luetaan dataa yleensä yrityksen isommasta tietovarastosta. Faktataulu Fact table Tähtimallissa keskustassa oleva taulu, jonka sarakkeina ovat avaimet (tuote, asiakas) ja faktat (esim. hinta). Faktoille suoritetaan usein laskutoimituksia (summaus, keskiarvo). Dimensiotaulu Dimension table Tähtimallissa sakaroissa olevat taulut, joiden primary key:nä on faktatauluun viittaava avain. Itse taulu voi kuvata esim. tuotteita tai asiakkaita. Summataulu Summary table Taulukko, johon on laskettu valmiiksi useammista faktataulun riveistä koostettua dataa (esim. summia / keskiarvoja ajanjakson yli). ODS-alue Työalue, työvarasto 13 Viitteet ODS, operational data store Working area, working data store [1] Vaatimusmäärittelydokumentin pohja. Lähdeaineistosta kopioitu data voidaan tallentaa tänne väliaikaisesti ennen puhdistusta ETLprosessin aloittamista. ETL-prosessi käsittelee dataa (yleensä tietokannoista koostuvalla) työalueella ennen lopulliseen tietovarastoon tallentamista. [2] Asiakkaan projektiesittely. [3] Ari Hovi Tietovarastot liiketoiminnan tukena. 1. p. Jyväskylä. Gummerus Kirjapaino oy. 276 s Sivu 25 / 25

T-76.115 Vaatimusmäärittelydokumentti. ETL-työkalu

T-76.115 Vaatimusmäärittelydokumentti. ETL-työkalu T-76.115 Vaatimusmäärittelydokumentti ETL-työkalu (Aureolis Oy) Sivu 1 (20) T-76.115 Vaatimusmäärittelydokumentti ETL-työkalu ExtraTerrestriaLs Versio Pvm Tekijä 0.1 19.10.2004 Jani Malmi Alustava versio

Lisätiedot

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua

Lisätiedot

T Testitapaukset TC-1

T Testitapaukset TC-1 T-76.115 Testitapaukset TC-1 ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 1.0 18.11.2004 Risto Kunnas Testitapaukset ensimmäistä iteraatiota varten 1.1 26.11.2004 Risto Kunnas

Lisätiedot

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Tekninen määrittely ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 0.1 13.11.2004 Timo Sallinen Ensimmäinen versio 0.2 25.11.2004 Jani Honkanen ETL-moottori 0.3 26.11.2004

Lisätiedot

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Tekninen määrittely ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 0.1 13.11.2004 Timo Sallinen Ensimmäinen versio 0.2 25.11.2004 Jani Honkanen ETL-moottori 0.3 26.11.2004

Lisätiedot

ETL-DEMO. Esimerkki ETL-kuvauskielen käyttöstä

ETL-DEMO. Esimerkki ETL-kuvauskielen käyttöstä ETL-DEMO Esimerkki ETL-kuvauskielen käyttöstä Lähtötilanne Organisaation operatiivisessa kannassa dataa, jota halutaan varastoida ja jalostaa Päätetään mihin muotoon jalostettu data halutaan tietovarastossa

Lisätiedot

Tietovarastojen suunnittelu

Tietovarastojen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Tietovarastojen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 8

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot

TIETOVARASTOJEN SUUNNITTELU

TIETOVARASTOJEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU TIETOVARASTOJEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005) LUKU 8 JOUNI HUOTARI & ARI

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

T-76.115 Testiraportti TR-3. ETL-työkalu

T-76.115 Testiraportti TR-3. ETL-työkalu T-76.115 Testiraportti TR-3 ETL-työkalu ExtraTerrestriaLs Versio Päivämäärä Tekijä Kuvaus 1.0 14.03.05 Risto Kunnas Ensimmäinen versio 1.1 15.03.05 Risto Kunnas Korjauksia Sivu 1 / 14 Sisällysluettelo

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 HOJ Haja-aiheita Ville Leppänen HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen CVS Versionhallintajärjestelmä Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen Käytetään komentoriviltä, myös graafisia käyttöliittymiä saatavilla CVS Kaikki tiedostot

Lisätiedot

T-76.115 Testiraportti TR-2. ETL-työkalu

T-76.115 Testiraportti TR-2. ETL-työkalu T-76.115 Testiraportti TR-2 ETL-työkalu ExtraTerrestriaLs Versio Päivämäärä Tekijä Kuvaus 1.0 07.02.05 Risto Kunnas Ensimmäinen versio 1.1 08.02.05 Risto Kunnas Lisätty liitteet Sivu 1 / 11 Sisällysluettelo

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

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

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Versiohallinta ja Subversion. 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi

Versiohallinta ja Subversion. 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi Versiohallinta ja Subversion 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi Versiohallinta yleisesti Ongelma: lähdekoodin ja muun materiaalin säilyttäminen siten, että: se on kaikkien saatavilla tuorein versio

Lisätiedot

T SEPA - päiväkirja: Design Patterns. ETL työkalu

T SEPA - päiväkirja: Design Patterns. ETL työkalu T-76.115 SEPA - päiväkirja: Design Patterns ETL työkalu Versio Päivämäärä Tekijä Kuvaus 1.0 25.10.2004 Jani Honkanen PP-vaiheen jälkeinen versio 1,1 26.11.2004 Mika Suvanto I1- vaiheen kokemuksia lisätty

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

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3 AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

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

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Ohjelmistotuotantoprojekti Nero Helsinki 5.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty: 2015-03-28 Webforum Version 15.1 uudet ominaisuudet Päivitetty: 2015-03-28 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Dokumentit... 5 Uudet versiot dokumenttien katseluohjelmista ipadille... 5 Dokumenttien

Lisätiedot

17 BUDJETOINTI. Asiakaskohtainen Budjetti. 17.1 Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust. 17.1.1 Yleistä

17 BUDJETOINTI. Asiakaskohtainen Budjetti. 17.1 Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust. 17.1.1 Yleistä 17 Asiakaskohtainen Budjetti 17.1 Ylläpito-ohjelma 17.1.1 Yleistä BudgCust Ohjelmalla avataan järjestelmään asiakaskohtaisia budjetteja, jotka annetaan kuukausitasolla (oletus). 17.1.2 Parametrit Ohjelmaa

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Hajautettu versionhallinta Gitillä

Hajautettu versionhallinta Gitillä Ohjelmistotekniikka Henrik Hedberg Tietojenkäsittelytieteiden laitos Versionhallintajärjestelmä Hallitsee tiedostot ja niiden eri versiot ts. muutokset Mahdollisuus rinnakkaisiin historioihin ts. haaroihin

Lisätiedot

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus:

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

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

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

5. HelloWorld-ohjelma 5.1

5. HelloWorld-ohjelma 5.1 5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2

Lisätiedot

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tekninen määrittely. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy Tekninen määrittely ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 0.1 13.11.2004 Timo Sallinen Ensimmäinen versio 0.2 25.11.2004 Jani Honkanen ETL-moottori 0.3 26.11.2004

Lisätiedot

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3 Antti Jääskeläinen Matti Vuori Rakenne ja aikataulu Kolme vaihetta: 1. Tutkivan järjestelmätestauksen suunnittelu 2. Tutkivan järjestelmätestauksen

Lisätiedot

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy Laadunvarmistuksen suunnitelma Ryhmä ExtraTerrestriaLs Aureolis Oy Versi Päiväys Tekijä Kuvaus o 1.0 8.11.2004 Risto Kunnas Ensimmäinen versio 1.1 8.11.2004 Risto Kunnas Korjauksia 1.2 9.11.2004 Mika Suvanto

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Visual Case 2. Miika Kasnio (C9767) 23.4.2008

Visual Case 2. Miika Kasnio (C9767) 23.4.2008 Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 SQL: Monen taulun kyselyt

Lisätiedot

Testidatan generointi

Testidatan generointi Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 4.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 4.3.2009 1 / 35 Tiedostot Tiedostojen käsittelyä tarvitaan esimerkiksi seuraavissa tilanteissa: Ohjelman käsittelemiä

Lisätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

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

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

DOORSin Spreadsheet export/import

DOORSin Spreadsheet export/import DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä

Lisätiedot

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Vaatimusluettelo versio 0.17 Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Yleiset vaatimukset 1 Koodistopalvelujärjestelmä on selainkäyttöinen 2 Käyttöliittymän tulee

Lisätiedot

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Salasanojen turvallinen tallentaminen KeePass ohjelmalla Salasanojen turvallinen tallentaminen KeePass ohjelmalla KeePass on vapaasti saatavilla oleva, avoimen lähdekoodin ohjelma, jonka tarkoituksena on auttaa salasanojen hallinnassa. Tämä KeePass ohje on päivitetty

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

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti

Lisätiedot

OPI-Maksut - Käyttötapaukset

OPI-Maksut - Käyttötapaukset OPIMaksut Käyttötapaukset Toiminnallisuudet ja käyttötapaukset: maksupalvelutoiminnot Toimeksiannon lisääminen Palveluväylä toiminto: Toimeksiannon lisääminen Yleiskuvaus Palveluväylään sallitut asiointisovellukset

Lisätiedot

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1 T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Testaustasot Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu

Lisätiedot

Versionhallinta MIKSI?

Versionhallinta MIKSI? Versionhallinta MIKSI? Versionhallinta Miten jakaa tiedostot ihmisten kesken? Miten pitää tiedostot ajan tasalla? Miten hoitaa päällekkäiset muutokset samaan tiedostoon? Miten muistaa, mitä on tehty? Miten

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat.2 2. Asennusohje..2 3.

Lisätiedot

Projektinhallintaa paikkatiedon avulla

Projektinhallintaa paikkatiedon avulla Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa

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

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

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

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

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan

Lisätiedot

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0 RockID-varastonhallintajärjestelmän käyttöohje v. 1.0 Yleistä Rockstar lukijakäyttöliittymä Tuotteiden lukeminen lähtevään tilaukseen Tilaukseen kuulumattomat tuotteet Tuotteiden lukeminen tilauksesta

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

Harjoitustyö 3 - Millosemeni

Harjoitustyö 3 - Millosemeni Harjoitustyö 3 - Millosemeni Tampereen kaupunki tarjoaa avoin data -sivuillaan Tampereen joukkoliikenteen aikataulut, reitit sekä rajapinnan joukkoliikenteen reaaliaikaiseen seurantaan. Näinpä erilaisille

Lisätiedot

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,

Lisätiedot

TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI

TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI TIETOMALLI JA TIETOVARASTO PALVELUKONSEPTI TIETOVARASTOARKKITEHTUURI Tietovarasto- ja BI-ratkaisu Raportit, tilastot, kyselyt, analysointi Lähtöjärjestelmät Poiminta: siirtotiedostojen poiminta ETLprosessien

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

Lisätiedot

Versionhallinta MIKSI?

Versionhallinta MIKSI? Versionhallinta MIKSI? Versionhallinta Miten jakaa tiedostot ihmisten kesken? Miten pitää tiedostot ajan tasalla? Miten hoitaa päällekkäiset muutokset samaan tiedostoon? Miten muistaa, mitä on tehty? Miten

Lisätiedot

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

Lisätiedot