T Edistymisraportti. ExtraTerrestriaLs I1 iteraatio

Samankaltaiset tiedostot
T Edistymisraportti. ExtraTerrestriaLs PP iteraatio

T Testitapaukset TC-1

T Testiraportti TR-3. ETL-työkalu

T Projektikatselmus

T Testiraportti TR-2. ETL-työkalu

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

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

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

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

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

T Projektisuunnitelma

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

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

T Loppukatselmus

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Projektityö

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Ohjelmiston toteutussuunnitelma

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Tik Projektiryhmä: TeamAhma. Projektin HAYABUSA opponointi. Opponointisuunnitelma

T Projektikatselmus

SEPA: Projektin edistymisen seuranta ja hallinta

Toteutusvaihe T3 Digi-tv: Edistymisraportti

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

T Projektisuunnitelma. ETL-työkalu

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

T Projektikatselmus

Ylläpitodokumentti Mooan

T Projektisuunnitelma

EDISTYMISRAPORTTI - PS Virtuaaliyhteisöjen muodostaminen Versio 1.0

Toteutusvaihe T2 Edistymisraportti

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

T Testiraportti - järjestelmätestaus

Suunnitteluvaihe prosessissa

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

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

T Testiraportti - integraatiotestaus

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

LAATURAPORTTI Iteraatio 1

Tietojärjestelmän osat

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

Oleelliset vaikeudet OT:ssa 1/2

T Ohjelmistokehitysprojekti I - Iteraatiosuunnitelma (I2)

Ylläpito. Ylläpidon lajeja

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

SEPA: Staattiset menetelmät Timo Sallinen, 51134F & Risto Kunnas, 50498T. Sisällysluettelo. 1 Johdanto. 2 SEPA harjoittelu käytännössä.

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

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

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

Projektin suunnittelu

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

EDISTYMISRAPORTTI - T2 Virtuaaliyhteisöjen muodostaminen Versio 1.2

T Loppuraportti Sivu 1 (19) Loppuraportti. Ryhmä ExtraTerrestriaLs Asiakas Aureolis Oy

Kuopio Testausraportti Asiakkaat-osakokonaisuus

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

T Ryhmä ExtraTerrestriaLs SEPA-päiväkirja Sivu 2 (13)

T Vaatimusmäärittely

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

T Vaatimusmäärittelydokumentti. ETL-työkalu

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

Onnistunut Vaatimuspohjainen Testaus

Data Sailors - COTOOL dokumentaatio Riskiloki

Ohjelmistojen mallintaminen. Luento 11, 7.12.

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

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

Siimasta toteutettu keinolihas

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

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

58160 Ohjelmoinnin harjoitustyö

CSE-C2610 Software Project I ja Accenture Luento

Tik Ohjelmistotuoteliiketoiminta

Tekninen suunnitelma - StatbeatMOBILE

GroupDesk Toiminnallinen määrittely

Automaattinen yksikkötestaus

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

INSPIRE ArcGIS-tuotteilla. Ulla Järvinen ja Jussi Immonen INSPIRE-koulutuksessa

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

Ohjelmistotuotantoprojekti

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

Ohjelmistotuotteen hallinnasta

PS-vaiheen edistymisraportti Kuopio

Tietotekniikan Sovellusprojektit

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Omahoitopolut.fi Toteutuksen tilannekatsaus

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

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

EDISTYMISRAPORTTI - T1 Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 1)

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

EDISTYMISRAPORTTI - T4 Virtuaaliyhteisöjen muodostaminen Versio 1.0

Ohjelmistojen mallintaminen, mallintaminen ja UML

I1 Iteraatiosuunnitelma. CoSCA-simulaattorin jatkokehitysprojekti. TeamDC

LOPPURAPORTTI Paperikonekilta Versio 1.0

Hybridivalvomon tilatiedon hallinnan kehittäminen

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

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

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Transkriptio:

T-76.115 Edistymisraportti ExtraTerrestriaLs I1 iteraatio 30.11.2004

Agenda Projektin tilanne (10 min) Projektin esittely, jos paikalla uusia henkilöitä I1-vaiheen tavoitteiden saavuttaminen Projektin tavoitteet ryhmän ja asiakkaan kannalta Käytetyt työtavat Työn tulokset (15 min) I1-iteraation tuotokset Tehtävien toteutuma Ajankäyttö ja arvio tulevasta ajankäytöstä Laadunarviointi Muutokset projektiin Riskienhallinta Iteraation tuotoksien esittely (20 min) Demo 2

Projektin esittely ETL-työkalu ETL tarkoittaa tiedon varastoinnissa käytettävää prosessia Tiedot haetaan lähdejärjestelmistä, niille tehdään muokkauksia ja ne talletetaan tietovarastoon ETL-työkalun on oltava kevyt, yksinkertainen ja fokusoitu väline Kehitettävän järjestelmän on toteutettava ETL-työkalun perusominaisuudet Toimenpiteet, jotka muokkaavat tietoa Oliot, jotka ovat toimenpiteiden syötteitä tai tuloksia, sisältävät tietoa ja kuvataan usein relaatiokannan tauluina Prosessi, joka koostuu toimenpiteistä, joilla on yksi tai useampi syöte ja tulos Kuvauskieli, jolla käyttäjä kuvaa prosessit moottorille ETL-moottori, joka suorittaa prosessin kuvauskielen pohjalta Dokumentaation generointi prosessista Aihetta voidaan pitää vaativana Hyvä tietotaito tietokannoista tarpeellinen Tietovarastoinnin tarpeet ymmärrettävä 3

I1-iteraatiosuunnitelmassa määrittelyt tavoitteet Tavoite: Työtapojen ja työajan optimointi Työtavat ja toiminta on ollut toimivaa. Mitään isompia ongelmia epäselvistä tavoista ei ole aiheutunut Tavoite: Kokouksien vähentäminen ja osallistujajoukon vähentäminen Tunteina väheni 49 43 h, joten ero ei ole suuri. Ero selittyy enemmän sillä, että paikallaolijoita on ollut vähemmän. Tavoite: Kommunikoinnin parantaminen Uutisryhmää on kehitetty useaan osaan selkeyttä helpottamaan. Viestejä noin 600 ja uusia tulee parhaimmillaan yli 10 päivässä Asiakaskontaktit viikoittaisia ja antavat paljon intoa Ryhmän jäsenten kommunikointi tehdyistä töistä vaatii huomiota jatkossa Tavoite: Arkkitehtuurista ja teknistä suunnittelua On tehty hartiavoimin varsinkin kuvauskielen tiimoilta Tavoite: Kriittisten toimintojen toteuttaminen Kesken. Perusrakenteet tehty, mutta osa tavoitteluista osista jäi tekemättä Tavoite: Demo-versio työkalusta Demo toteutetaan kalvojen avulla, mutta on tehty. 4

Ryhmän tavoitteiden tilanne (koko kurssin tavoitteet) Tavoite: Kehittää jatkokehityskelpoinen tietovarastointijärjestelmän runko Runkoa tehty, mutta jatkokehityskelpoisuus on vielä suhteellista Tavoite: Oppia työskentelemään ja kehittää taitojaan ohjelmistoprojektissa Työtä tämän eteen on tehty ja oppimista saatu. Kyselyä ja äänestystä tuloksista ei ole tehty. Tavoite: Oppia toimimaan osana ohjelmistokehitysryhmää ja kehittää omaa tietotaitoa asian tiimoilta Työtä tämän eteen on tehty. Kyselyä ja äänestystä tuloksista ei ole tehty. Tavoite: Kurssin menestyksellinen suoritus annettujen rajoitteiden puitteissa (tuntimäärät) Tuntien lisääntyessä uhka tuntien ylittämiseen lisääntyy. Menestyksellisyyden eteen ryhmä tekee kovasti töitä Arviointi vaikeata ilman ryhmän sisäistä äänestystä. 5

Asiakkaan tavoitteiden tilanne (koko kurssi) Tavoite: Toiminnoiltaan karsittu ETL-työkalu, jonka perusteella voimme päättää jatketaanko oman ETL-työkalun kehitystä Työn alla Tavoite: ETL-työkalun kuvauskieli, joka on laajennettavissa tarpeen mukaan Osittain toteutunut, tosin käytännön kokemuksia toimivuudesta ei vielä ole Tavoite: Riittävä operaatioiden rajapinta, jotta sitä voidaan käyttää myöhemmin toteutettavien operaatioiden toteuttamiseen Rajapinnat suunniteltu ja käytössä. Niiden kelpoisuutta ei tosin ole vielä testattu tositoimissa Tavoite: Versio ETL-työkalusta, josta voidaan jatkojalostaa käyttökelpoinen kehittynyt versio (ohjelman perustukset tehty huolella) Työn alla Tavoite: ETL-työkalu toimii vaatimusten mukaisesti Työn alla Tavoite: ETL-työkalun prosessien dokumentointitoiminnosta prototyyppi-tasoinen versio Työn alla Tavoite: ETL-työkaluun liittyvien, uusien tekniikoiden testaus käytännössä Työn alla Tavoite: Tietovarastopuolen kehittäminen Työn alla Tavoite: Tarjota parempia palveluita asiakkaille Työn alla ja voidaan arvioida vasta kun projekti valmistumassa Tavoite: Asiakaskunnan kasvattaminen uuden työkalun avustuksella Työn alla ja voidaan arvioida vasta kun projekti valmistumassa 6

I1-vaiheen tuotosten tilanne Projektisuunnitelma OK Laadunvarmistus OK Vaatimusmäärittely OK Riskienhallinta OK SEPA-päiväkirjat OK, tosin tarkempaa arviointia niiden tilanteesta ryhmän kesken ei ole tehty Tekninen spesifikaatio OK, mutta vaatii vielä kehitystä 7

Käytetyt työtavat Uutisryhmät Uutisryhmä keskustelulle Uutisryhmä tiedostojen jakamiselle Dokumenttien katselmointi Dokumentit on käyty läpi useamman henkilön ryhmissä Pyritty tehostamaan katselmointeja Tuntikirjanpito (Trapoli) Käytetyistä työtunneista on tehty merkintä Trapolin tuntikirjanpitoon Versionhallinta Käytetty CVS:ää Virheiden seuranta Otettu käyttöön JIRA Selvitty ongelmista Seuraavissa iteraatiossa mukaan otettavat työtavat Testausmenetelmät Toteutus Käytetty Eclipse-kehitysympäristöä 8

Tehtävien toteutuma (1/3) 9

Tehtävien toteutuma (2/3) Suunniteltu I1-vaiheelle 338 h ja toteutunut 352 h. 14 h arvioitua enemmän työtä Ryhmätapaamisiin kulunutta aikaa saatiin vähennettyä hieman, 6 tuntia vähemmän kuin PP-vaiheessa Projektin hallinta vaatinut 31 h Isompia eroja vaatimusmäärittelydokumentin päivitykseen arvioidussa ajassa. Arvioitu 16 h, toteutui 1,5 h. Mikä on positiivista. Testitapauksien suunnitteluun oli arvioitu 20 h, toteutunut 8,5 h. Uutena PP-vaiheen jälkeen Tarkempi tehtävien määrittely kun sisältö paremmin tiedossa Parantunut arvioituvuus Ryhmä tuntee toisensa paremmin Ryhmä tuntee asiakkaan paremmin Opittu PP-vaiheen ongelmista ja pilkottu tehtäviä tarkemmin 10

Tehtävien toteutuma (3/3) Aiheen vaativuuden ja asiakkaan pyynnöstä keskitytty suunnitteluun Kuvauskieli työkalun tärkein osa ja se pitää määritellä hyvin I1-vaiheen tunnit Varsinaiselle toteutukselle jäi arvioitua vähemmän aikaa Dokumentointi 24 % Infra 2 % Asiakastapaamisten anti ollut erittäin tärkeätä ja kehittävää Tapaamiset 27 % Ohjelmointi 6 % Suunnittelu 28 % Projektin hallinta 8 % Opiskelu 4 % Testaus 1 % 11

Työmäärät per viikko Työmäärät per viikko vko 48 vko 47 vko 46 Viikko vko 45 vko 44 vko 43 vko 42 vko 40-41 0 h 20 h 40 h 60 h 80 h 100 h 120 h tuntimäärä Töitä tehty 706 tuntia. Noin 53 % kokonaismäärästä. Viikkona 45 PP-vaiheen palautus Viikkona 48 alustavaa työtä I1-vaiheen palautusta varten ja teknistä spesifikaatiota. 12

Työtunnit per ryhmän jäsen (1/8) Toteutuneet tunnit I1-vaiheessa Toteutunut Suunniteltu 60 48 87 50 38 50 41 60 42 40 55 45 39 45 362 338 Ero Mikko 10 Jani H 37 Jani M -12 Risto -22 Mika 2 Teemu 10 Timo -6 Yhteensä +19 Ryhmän jäsenien vastuualueet määrittelivät paljon työn jakautumista Asiakkaan pyynnöstä keskityttiin kuvauskielen määrittelyyn ja arkkitehtuuriin. Alkuperäisten vastuualueiden kautta töitä tuli enemmän osalla jäsenistä Osan jäsenten kurssista riippumattomat syyt veivät heidän aikaansa odotettua enemmän 13

Työtunnit per ryhmän jäsen (2/8) Mikko: Toteutuneet tunnit Arvioitu työmäärä I1-vaiheen lopussa oli 110 h ja toteutunut 136 h. Projektin hallintaan kulunut noin 4h/viikko Työmäärän ylitykseen syynä pääasiallisesti aiheen vaativuus ja suunnittelun arvioidusta lisääntynyt määrä. 14

Työtunnit per ryhmän jäsen (3/8) Teemu: Toteutuneet tunnit Tunteja kertyi 10 suunniteltua enemmän (55.5 h) Syynä oli mm. tietokantarajapinnan käyttöönoton ongelmat sekä tekniset ongelmat uuden versionhallintapalvelimen käyttöönotossa Epäselvyys JDBC-tehtävänannossa johti sen toteutuksen viivästymiseen 15

Työtunnit per ryhmän jäsen (4/8) Jani H: Toteutuneet tunnit NAME HOURS *TOTAL* 143.40 DS:Arkkitehtuurin suunnittelu 13.50 DS:Arkkitehtuurista suunnittelua 11.50 TA40-DO: Tekninen spesifikaatio 10.50 DS:Vaatimusmäär. kirjoitusta 10.00 TA26-KV: Kuvauskielen rakenteen suunnittelu 9.70 GE:Ryhmätapaaminen 9.20 DS:Teknologian opiskelua 9.00 TA10-MO: Datanvälityksen suunnittelu 7.50 GE:Asiakastapaamiset 6.50 GE:Ryhmätapaamiset 6.50 PM:Projektin hallinta 5.00 GE:Asiakastapaaminen 4.50 TA19-TS: Perustoimenpiteiden toteutus 1 4.00 TA16-TS: Toimenpiteiden suunnittelu 1 3.50 IM:ETL-moottori 3.00 TA11-MO: Moottorin perustoteutus 3.00 TA9-MO: Moottorin rajapintojen suunnittelu 3.00 TA41-DO: Edistymisraportti 2.50 Tunteja kertyi 37 suunniteltua enemmän (yht. 87 h). Oli etukäteen tiedossa, että projekti on suunnittelupainotteinen ja että arkkitehdillä tulee olemaan paljon työtä alkuvaiheessa. Tuntimääräarvion huomattava ylitys johtuu etupäässä siitä, että jouduin olemaan odotettua enemmän mukana eri osa-alueiden suunnittelussa. Myös vaatimukset muuttuivat I1-vaiheen aikana odotettua enemmän, mikä aiheutti lisätyötä. NAME HOURS TA41-DO: Edistymisraportti 2.50 DS:Projektisuunnitelman kirj. 2.00 DS:Teknisen spesifikaation määr. 2.00 DS:Vaatimusmäär. selvitystä 2.00 GE:Mentor-tapaamiset 2.00 PM:SEPA 2.00 TA15-MO: Dok.generaattorin suunnittelu 2.00 TA34-DW: Muu suunnittelu 2.00 TA38-LL: Tietolähteiden selvitys 2.00 PM:Edistymisraportti 1.50 PM:Katselmoinnit 1.50 DS:Projektisuunnitelman määr. 1.00 TA4-TK: Tietokantojen konfigurointi 1.00 16

Työtunnit per ryhmän jäsen (5/8) Jani M: Toteutuneet tunnit Työmäärä jäi huomattavasti pienemmäksi (noin 10 h) I1-vaihe meni nopeasti ja oli työkiireitä joten päätin siirtää osan tunneista suosiolla I2:een. Aikaa upposi eniten suunnitteluun ja dokumentointiin. Sepaa en päässyt tekemään vielä tässä vaiheessa, kun testattavaa ei juuri ollut. 17

Työtunnit per ryhmän jäsen (6/8) Mika: Toteutuneet tunnit PP + I1 Aika-arvio piti jälleen varsin hyvin paikkansa, vain muutaman tunnin virheellä Kuvauskielen ja parsimisen / prosessin rakentamisen tehtävät työllistivät tässä iteraatiossa paljon Tapaamiset veivät myös paljon aikaa Tähän mennessä käytetty n. 45 % projektiin varatuista tunneista 18

Työtunnit per ryhmän jäsen (7/8) Timo: toteutuneet tunnit PP + I1 Tavoitteesta jäätiin muutamalla tunnilla Kurssin ulkopuoliset velvoitteet estäneet osallistumista loppuvaiheen tapaamisiin Ongelmia ajan tasalla pysymisessä Vaaditaan priorisointia I2:n aikana, muut kiireet tulevat vähenemään, mikä edesauttaa suuremman tuntimäärän tekemistä. 19

Työtunnit per ryhmän jäsen (8/8) Risto: toteutuneet tunnit PP + I1 Toteutuneita tunteja oli 20 vähemmän kuin suunniteltuja Varsinaiseen toteuttamiseen eikä siten myöskään testaukseen päästy vielä tässä iteraatiossa, vaikka näin alunperin suunniteltiin Iteraation ajalle osui myös viikon mittainen työmatka Tunneista käytetty tähän mennessä noin kolmannes 20

Arvio tulevista työmääristä Toteutuneet tunnit I1-vaiheessa Toteutunut Suunniteltu 60 48 87 50 38 50 41 60 42 40 55 45 39 45 362 338 Ero Mikko 10 Jani H 37 Jani M -12 Risto -22 Mika 2 Teemu 10 Timo -6 Yhteensä +19 Suunnitellut tunnit I1-aloitusvaiheessa PP I1 I2 FD Yht Mikko 62 48 40 40 190 Jani H 43 50 57 40 190 Jani M 51 50 45 44 190 Risto 21 60 49 60 190 Mika 41 40 58 50 190 Teemu 47 45 56 42 190 Timo 36 45 64 45 190 Yhteensä 301 338 369 321 1330 Aiheen vaativuus verotti kovasti arkkitehtuuriin osallistuvien henkilöiden tunteja Aikatauluissa huomioitu pitkä joululoma Uusin arvio tulevista työmääristä PP I1 I2 FD Yht Mikko 78 60 26 26 190 Jani H 56 87 35 12 190 Jani M 53 38 59 40 190 Risto 25 41 68 56 190 Mika 44 42 60 44 190 Teemu 54 55 50 31 190 Timo 38 39 67 46 190 Yhteensä 348 362 365 255 1330 Punaisella on merkitty muuttuneet tiedot 21

Muutokset projektiin Mitään suurempia muutoksia projektiin ei ole tehty, alkuperäinen vaatimusmäärittely on pitänyt varsin hyvin paikkaansa. Toteutuksen painopistettä on siirretty entistä enemmän I2-vaiheeseen, ennakoitua vaativamman suunnitteluvaiheen takia. 22

Riskienhallinta Toimenpiteet Riskejä seurattu jatkuvasti ja niistä keskusteltu ryhmän palavereissa osa riskeistä osittain toteutunut 24.11. pidetty kokous, jossa riskit kartoitettu järjestelmällisesti uusia riskejä tunnistettu vanhoja päivitetty Suurimmat riskit tämänhetkisen arvion perusteella: Vaatimusmäärittely ei onnistu riittävän hyvin Tämä riski on kuitenkin varsin hyvin hallinnassa, sillä asiakas on osallistunut projektiin aktiivisesti Liikaa töitä; kaikki eivät pysty järjestämään projektille tarpeeksi aikaa Osittain toteutunut Uusia riskejä tunnistettu: Siirtyminen suunnittelusta toteutukseen liian hidasta Työmäärä jakautunut epätasaisesti ryhmän kesken ongelmia jatkossa? Nämä riskit toteutuneet ainakin osittain 23

Koodimetriikat Metriikoiden käyttö etenkin tässä vaiheessa helposti harhaanjohtavaa, sillä on toteutettu pääasiassa rajapintoja matalan tason toteutus suurelta osin puuttuu Tämän vuoksi esitämme vain muutaman tunnusluvun Työkaluna CCCC LOC, NLOC ja COM/LOC valittu, jotta voidaan vertailla muihin projekteihin LOC = lines of code COM = lines of comments Tilanne 27.11.2004 LOC 1314 COM 733 LOC/COM 1.8 Luvut eivät sisällä XML/XSD tiedostoja, ainoastaan Java- koodin 24

Laadunarviointi (1/3) Bugi metriikat Raportoitu PP 84 I1 28 I2 DE Total 112 Käsitelty 84 28 112 Avoinna 0 0 Avoinna Blockers 0 Critical 0 Major 0 Minor 0 Trivial 0 Yht. 0 Tässä iteraatiossa 0 0 2 12 14 28 Blocker tai Critical tason virheitä ei ole avoinna Ohjelmakoodi on tällä hetkellä lähinnä prototyyppi asteella Prototyyppien testaaminen ongelmallista, koska prototyypille ei ole varsinaista speksiä, jota vastaan testausta voitaisiin suorittaa Kuvauskielen määrittelyssä ja teknisen spesifikaation luomisessa on käytetty katselmointimenetelmiä Puutteita arvioitu yhteistyössä asiakkaan kanssa Osaan katselmoinneista tuotu liian keskeneräisiä dokumentteja, ja katselmoinnit ovat muuttuneet aivoriihen kaltaisiksi Laadun määrittely vaikeaa, koska ei konkreettisia tuotoksia 25

Laadunarviointi (2/3) Dokumentti Laajuus Laatu Kommentit Kuvauskieli 2 Tekninen spesifikaatio 3 Perustoteutus käyty läpi asiakkaan kanssa, rakenne Tähän mennessä tehty spesifikaatio OK, spesifikaatio tarkentuu kuitenkin myöhemmin Toimenpiteet 0 Testausta ei aloitettu ETL-moottori 0 Testausta ei aloitettu Kuvauskieltä on käyty yhdessä läpi asiakkaan kanssa Kehitystä on tapahtunut paljon I1 vaiheessa Perusrakenne on todettu toimivaksi Tekninen spesifikaatio katselmoitu Osa asioista voidaan määritellä vasta myöhemmin Tähän mennessä päätetyt asiat saatu speksattua riittävällä tarkkuudella Toimenpiteiden testausta ei aloitettu ETL-moottorin testausta ei aloitettu Laajuus: 0 = Ei mitään 1 = Vaati jonkin verran työtä 2 = Vaati melko paljon työtä 3 = Vaati paljon työtä Laatu: = Laatu on hyvä = Ei varmuutta = Laatu on huono 26

Laadunarviointi (3/3) Asiakkaan kanssa pidetyissä palavereissa on käyty läpi I1 vaiheen läpivientiä sekä projektin läpivientiä yleisesti Kaaviossa on kuvattu asiakkaan tekemien huomautusten ja tarkennusten määrä koskien I1-vaiheen tuotoksia (Tekninen spesifikaatio, kuvauskieli sekä osin vielä vaatimusmäärittely) Voidaan todeta, että huomautuksien ja kehitystarpeiden määrä ei ole merkittävästi vähentynyt vaiheen edetessä Johtuu projektin kokeellisesta luonteesta Kun yksi asia saadaan suunniteltua, tulee lisää kysymyksiä Ei ole välttämättä ollutkaan tarkoituksena tehdä kaikkea yhdellä kertaa Asiakaspalaverit ovat kuitenkin luonteeltaan enemmän aivoriihiä kuin katselmointitilaisuuksia Asiaan on kuitenkin syytä kiinnittää huomiota Laatu on osittain subjektiivinen käsite ja asiakas on laadun tärkein arvioija 18 16 14 12 10 8 6 4 2 0 27 11.11.04 19.11.04 26.11.04

Iteraation tuotoksien esittely Iteraation tuotokset Projektisuunnitelma Vaatimusmäärittely Riskienhallintasuunnitelma SEPA-dokumentit Pareittain tehdyt SEPA-aiheet PM SEPA Edistymisraportti 28

I1-Iteraation tuotokset Projektisuunnitelma (päivitetty) Vaatimusmäärittely (päivitetty) Tekninen spesifikaatio Laadunvarmistus Toteutetut käyttöskenaariot 29

Projektisuunnitelman muutokset Päivitetyt työmääräarviot Korjattu budjetti 30

Vaatimusmäärittelyn muutokset Lisätty käyttöskenaariot Lisätty T21: Indeksien poistaminen tilapäisesti rivien lisäyksen ajaksi SCD:n prioriteetti matalaksi Sort-toimenpiteen poistaminen 31

Tekninen spesifikaatio Suunnitteluun panostettu erittäin paljon I1-vaiheen aikana Yleinen arkkitehtuuri suunniteltu, tärkeimmät osat yksityiskohtaisella tasolla Suunnitteluperiaatteet Moduulijako pitää olla erittäin selkeä (tarkasti määritellyt rajapinnat), koska suunnittelussa on mukana monta ihmistä ja lisäksi kommunikointimahdollisuudet ovat heikot. Pitää keskittyä erityisen tarkasti järjestelmän runko-osiin, koska jatkokehitystä on tarkoitus tehdä paljon, myös räätälöidysti eri asiakkaille. Varotaan tekemästä työkalusta liian yleiskäyttöistä, koska markkinoilla on jo isojen firmojen suurella budjetilla tekemiä yleiskäyttöisiä ETL-työkaluja. Tehdään kevyt ( light-weight ) suunnittelutyökalu ja suunnataan se ainoastaan ohjelmointitaitoisten ihmisten käyttöön. Järjestelmän moduulijako Kuvauskieli ETL-moottori Toimenpidekomponentit Dokumentaatiogeneraattori ETL-prosessin hallinta Tietokantojen hallinta 32

Muita vaatimuksia järjestelmälle (1/2) Käytettävyys Kuvauskielestä suunnitellaan tehokas käyttää (ohjelmointitaitoiselle ihmiselle), joskus yksinkertaisuuden/geneerisyyden kustannuksella Virheidenhallinta Koskee erityisesti moottoria ja toimenpidekomponentteja, joihin luodaan monipuolinen ja tehokas virheidenhallinta Jatkokehitysmahdollisuus Suunnitellaan asioita pidemmälle kuin tämän projektin puitteissa toteutetaan Jätetään tilaa laajennuksille ja kokonaisten komponenttien vaihtamiselle Tehokkuus Pyritään suorittamaan toimenpiteet suoraan tietokannan sisällä aina kun mahdollista ETL-prosessin aikana suoritettavan koodin tulee olla kaikkialla virtaviivaista Tietoturva Lähtökohta on, että järjestelmä pyörii kokonaan asiakkaan omissa tietojärjestelmissä, joihin ulkopuolisilla ei ole pääsyä Tarvittaessa voidaan rajoittaa eri käyttäjien oikeuksia tietovarastoon 33

Muita vaatimuksia järjestelmälle (2/2) Skaalautuvuus Kuvauskielessä voi aliprosessien avulla hallita suuriakin ETL-prosesseja Satoja toimenpiteitä sisältäviin ja useita tunteja kestäviin prosesseihin varaudutaan tukemalla savepointteja, joihin voidaan palata prosessin keskeytyessä Ylläpidettävyys Pidetään tarkkaa virhe/debug-lokia tietokannassa ja mahdollistetaan virheiden monipuolinen tarkastelu (sekä prosessin kehittäjä että ylläpitäjä) Mahdollisuus muuttaa konfiguraatiota helposti ja luotettavasti (ajastukset, tietolähteiden osoitteet) Lähdejärjestelmissä tapahtuneiden arvaamattomien rakennemuutosten tunnistaminen Siirrettävyys Käytetään Javaa => pienellä vaivalla siirrettävissä eri käyttöjärjestelmiin ja laitealustoille Tuki eri valmistajien tietokannoille (mm. saraketyyppien muunnokset) Tuki Common Warehouse Metadatalle (prosessikuvauksen siirto muihin ETLtyökaluihin) 34

Kuvauskieli Prosessikuvaus tehdään XML-pohjaisella kielellä, joka määritellään XML Scheman avulla (standardi, valmiita menetelmiä ja työkaluja saatavilla) Prosessiin kuuluvat tiedostot Projektitiedosto Prosessin ja aliprosessien kuvaustiedostot Konfiguraatiotiedosto I1-vaiheessa pääpaino prosessikuvaustiedostojen rakenteella ja käsittelyllä Kuvaustiedoston rakenne pitkälle suunniteltu Tiedoston lataus ja tulkinta osittain toteutettu Projektitiedosto Sisältää viittaukset prosessi- ja konfiguraatiotiedostoihin Pääprosessin kuvaustiedosto ETL-prosessin päävaiheet ja välitulokset Aliprosessien kuvaustiedostot Kuvaa verkkomaisen ETL-prosessin toimenpiteiden avulla Konfiguraatiotiedosto Tietokantojen asetukset Ajastukset Tietolähteisiin ja tietovarastoon liittyvät konfiguraatiotiedot 35

ETL-moottori Moottori toteutetaan joukkona Javaluokkia, jotka muodostavat tiiviin kokonaisuuden Rajapintoja moneen suuntaan: Toimenpidekomponentit (tarkasti suunniteltu) Prosessikuvauksen lataus (tarkasti suunniteltu) Tietokantojen käsittely (tarkasti suunniteltu) Lähdedatan lukeminen (melko pitkälle suunniteltu) Tietovaraston käsittely (alustavasti suunniteltu) Prosessin käynnistäminen ja ajastukset (alustavasti suunniteltu) Dokumentaatiogeneraattori (alustavasti suunniteltu) Prosessin esitys olioina, toimenpiteiden ajojärjestys ja väliaikaisvarastojen käsittely (tarkasti suunniteltu ja osittain toteutettu) Virheidenhallinta ETL-prosesseissa tärkeää (melko pitkälle suunniteltu ja osittain toteutettu) 36

Toimenpidekomponentit Toimenpidekomponenttien suunnitteluun liittyy Toimintakuvaus Syötteet Tulokset Parametrit Käyttäytyminen virhetilanteissa Lähes kaikki vaatimusmäärittelyssä mainitut toimenpidekomponentit alustavasti suunniteltu Muutama toimenpide suunniteltu tarkemmin: aggregate, call, subprocess, pivot, join, projection, filter, import, export Kaksi toimenpidettä toteutettu: copy ja insert 37

Dokumentaatiogeneraattori Suunniteltu, mitä vaatimuksia dokumentaatiogeneraattori asettaa muille järjestelmän osille Määritelty vaatimukset generaattorin tarvitsemille lähtötiedoille prosessista Toteutetaan itsenäisenä palveluna, joka kuitenkin kutsuu muita ydinkomponentteja Prosessikuvauksen tekninen muuntaminen tulosformaattiin vaatii vielä tarkennusta 38

ETL-prosessin hallinta Alustavasti suunniteltu Projektitiedoston rakenne Ajastukset 39

Tietokantojen hallinta Tarkasti suunniteltu ja pitkälle toteutettu Tietokantojen konfiguraation lukeminen Tauluihin viittaaminen moottorista ja muista komponenteista Taulurakenteen kuvaustapa, taulujen luominen ajon aikana Väliaikaistaulujen hallinta 40

Toteutetut käyttöskenaariot Osittain toteutetut: SA-1 Asennus (tietokantojen konfigurointi) SA-2 Ajastaminen SY-2 Ajastuksien ja ylimääräisen ajon ajaminen SO-1 Prosessin toteutus (prosessin ajaminen ja testaus ei vielä mahdollista) SO-2 Toimenpiteiden ohjelmointi (testaus ei vielä mahdollista) SO-3 Versionhallinta SD-1 Prosessin suunnittelu SD-2 Prosessin muutokset ja kuvauksen ylläpito 41