Tiput-ryhmä - University of Helsinki...Versiohistoria Versio Päiväys Sisällön muutokset 0.1...
Transcript of Tiput-ryhmä - University of Helsinki...Versiohistoria Versio Päiväys Sisällön muutokset 0.1...
Vaatimusmäärittely
Tiput-ryhmä 01.12.2006 581260 Ohjelmistotuotantoprojekti Grönholm Peter Hautamäki Marja Koski Marja-Ilona Lavi Rakel Piela Riitta, projektipäällikkö Helsingin yliopisto Tietojenkäsittelytieteen laitos
Versiohistoria Versio Päiväys Sisällön muutokset 0.1 18.09.2006 Ensimmäinen luonnos 0.2 25.09.2006 Tarkennettu luonnos 0.3 26.09.2006 Muokattu ulkoasua ja lisätty kaavioita 02.10.2006 Lisäyksiä dokumenttiin 0.4 03.10.2006 Versio tarkastukseen 0.5 05.10.2006 Korjaukset tehty dokumenttiin 0.6 10.10.2006 Korjattu dokumenttia sekä lisätty tauluja 0.7 12.10.2006 Korjattu käyttötapauskaavio 0.8 19.10.2006 Korjattu virheitä tauluista 0.9 24.10.2006 Lisätty uusi kaavio sekä käyttötapaus 1.0 02.11.2006 Lisätty ja muokattu tietokanta-tauluja sekä muutettu käyttötapauksen prioritettiä 1.1 16.11.2006 Muutettu kuntaan liittyvää käyttötapausta 1.2 28.11.2006 Päivitetty käyttötapauskaaviota 2.0 01.12.2006 Päivityksiä tietokantatauluihin ja tarkastettu dokumenttia Kotisivut http://www.cs.helsinki.fi/group/tiput/
Sisältö1 Johdanto ...................................................................................................................... 1
1.1 Tuotteen tausta ja tarkoitus ................................................................................... 1 1.2 Erikoissanasto ja käytetyt lyhenteet...................................................................... 1
1.2.1 Sääksiin liittyvä sanasto .............................................................................. 1 1.2.2 Tekniikkaan liittyvä sanasto........................................................................ 3
2 Yleiskuvaus................................................................................................................. 5 2.1 Yleinen toiminta ................................................................................................... 5 2.2 Toimintaympäristö................................................................................................ 5 2.3 Käyttäjät................................................................................................................ 6 2.4 Sidosryhmät .......................................................................................................... 7
3 Tietokuvaus................................................................................................................. 7 3.1 Tietosisältö............................................................................................................ 7 3.2 Tietokannan kuvaus .............................................................................................. 8
3.2.1 Myrkky ........................................................................................................ 9 3.2.2 Olosuhde.................................................................................................... 10 3.2.3 Pesä............................................................................................................ 11 3.2.4 Poikanen .................................................................................................... 11 3.2.5 Reviiri........................................................................................................ 12 3.2.6 Tarkastus ................................................................................................... 12 3.2.7 Tarkastaja .................................................................................................. 13 3.2.8 Kunta ......................................................................................................... 13 3.2.9 Vuosi ......................................................................................................... 13 3.2.10 Aputaulut ................................................................................................... 14
4 Toimintokuvaus ........................................................................................................ 18 4.1 Käyttötapaukset .................................................................................................. 18
4.1.1 Käyttäjän tunnistus sekä sisään- ja uloskirjautuminen.............................. 21 4.1.2 Pesätietojen haku....................................................................................... 22 4.1.3 Uuden reviirin lisääminen ......................................................................... 23 4.1.4 Uuden pesän lisääminen............................................................................ 24 4.1.5 Pesän tietojen muokkaus ........................................................................... 25 4.1.6 Aputaulujen haku ja ylläpito ..................................................................... 26 4.1.7 Pesätarkastajien hallinta ............................................................................ 27 4.1.8 Lajitietojen ylläpito ................................................................................... 28 4.1.9 Raporttien tulostus..................................................................................... 29 4.1.10 Kuntaliitosten tekeminen........................................................................... 30 4.1.11 Kuntatietojen muokkaus............................................................................ 30
5 Järjestelmän ulkoiset liittymät .................................................................................. 31 5.1 Asiakasyhteys ..................................................................................................... 31 5.2 Järjestelmäyhteys ................................................................................................ 31 5.3 Alustatiedot......................................................................................................... 31
6 Muut ominaisuudet ................................................................................................... 32 6.1 Lokitiedosto ........................................................................................................ 32 6.2 Suorituskyky ....................................................................................................... 32 6.3 Ylläpito ............................................................................................................... 32 6.4 Luotettavuus ....................................................................................................... 32
7 Testaus ...................................................................................................................... 32 8 Järjestelmän rajoitteet ............................................................................................... 33
8.1 Laitteistorajoitteet ............................................................................................... 33 9 Lähteet....................................................................................................................... 33
Liite 1. Metriikka
1
1 Johdanto
1.1 Tuotteen tausta ja tarkoitus
Helsingin yliopiston Luonnontieteellisen keskusmuseon
Rengastustoimisto ylläpitää sääksitietoja Suomessa.
Maastotarkastajien keräämät tiedot talletetaan tietokantaan, josta
tuotetaan erilaisia raportteja tutkimus- ja maastokäyttöön sekä
hallinnointiin ja viranomaisille.
Rengastustoimistossa on tällä hetkellä käytössä SQL*Forms
kehittimellä toteutettu merkkipohjainen käyttöliittymä tietokannan
hallintaan. Tämän projektin tarkoituksena on suunnitella ja toteuttaa
graafinen käyttöliittymä vanhan järjestelmän tilalle. Järjestelmään
on jo aikaisemmin suunniteltu graafinen käyttöliittymä edellisen
ohjelmistotuotantoprojektiryhmän toimesta, mutta sitä tietojen
ylläpitämiseen ei käytetä.
Uuden web-käyttöliittymän avulla Rengastustoimiston työntekijät
voivat tallettaa uusia ja ylläpitää tietokantajärjestelmässä olevia
vanhoja tietoja sekä tuottaa hakuvalintoihin perustuvia raportteja.
Lisäksi käyttöliittymään liitetään tallettamisen yhteyteen
tarkistuksia ja rajoitteita tietojen oikeellisuuden ylläpitämiseksi.
Projektissa pyritään hyödyntämään kaikkia edellisten
sääksiprojektien dokumentointimateriaaleja sekä Merikotka-
järjestelmän ratkaisuja kaikilta soveltuvilta osin.
1.2 Erikoissanasto ja käytetyt lyhenteet
Kappaleessa 1.2 on selitetty sääksien tutkimukseen ja
sääksijärjestelmän toteutukseen liittyviä käsitteitä ja lyhenteitä.
1.2.1 Sääksiin liittyvä sanasto
Maastoraportti. Järjestelmästä tulostettava, esitäytetty lomake,
johon tarkastaja kirjaa tarkastuksen yhteydessä tekemänsä
2
havainnot. Täytetty raportti palautetaan ja tiedot kirjataan
valtakunnalliseen sääksiseurantaan.
Maastotarkastaja. Henkilö, jolla on tarkastaja id. Maastotarkastaja
tarkastaa vuosittain lintujen pesiä ja kirjaa tarkastuksen tulokset
maastoraporttiin.
Pesä. Sääksen pesä on Suomessa yleensä hyvin kookas risupesä
suuren puun latvassa, josta näkyvyys on hyvä. Myös jokin muu
korkea paikka kelpaa pesän paikaksi. Kuitenkin näkyvyyttä
tärkeämpi tekijä pesäpaikan valinnalle, on esteetön
lentomahdollisuus pesälle. Pitkine siipineen sääksi on kömpelö
lentäjä. Pariskunnan pesien käyttö määrää reviirien muodostumista
kts. Reviiri.
Reviiri. Yhdellä reviirillä elää yksi sääksipariskunta. Yleensä
pariskunnalla on reviirinsä alueella useampia pesiä. Näistä pesistä
yleensä yksi on kerrallaan käytössä. Reviiri voi jakaantua
useamman kunnan alueelle ja pesien käytöstä riippuen päätetään,
perustetaanko uusia reviirejä vai yhdistetäänkö vanhoja kts. Pesä.
Sääksi. Latinalaiselta nimeltään Pandion haliaetus, on pitkä, kapea
siipinen petolintu, jonka pituus on 53- 61 cm ja siipien kärkiväli 140
- 165 cm. Sääksi on eräs maailman laajimmalle levinneistä
lintulajeista. Sääksi kelpuuttaa ympäristökseen lähes minkä tahansa
paikan, kunhan se on riittävän rauhallinen ja sieltä löytyy sopiva
pesäpuu.
Tarkastus. Yleensä pesille tehdään tarkastuskäyntejä pesimisaikaan
kerran vuodessa. Tarkastuskäynneillä poikaset pyritään mittaamaan
ja rengastamaan. Käynneillä kerätään näytteitä ja tietoja
pesimäpaikasta myöhempää analyysia varten.
Tekopesä. Tekopesäksi kutsutaan ihmisen tekemää pesää sääkselle.
Sääksille on rakennettu tekopesiä tukevaksi pesimispaikaksi. Tällä
3
keinolla pyrytään takaamaan pesimismahdollisuus, koska vanhoja
mäntyjä on entistä vähenevässä määrin.
1.2.2 Tekniikkaan liittyvä sanasto
Cascading Style Sheets, CSS. Erityisesti www- ohjelmille kehitetty
tyyliohjeiden laji. Annetut säännöt ehdottavat kuinka dokumentti
voidaan esittää. Varsinaisia tyylikieliä ovat CSS1 ja seuraaja CSS2,
jota tässä projektissa käytetään.
HTTPS. HTTP: n (Hypertext Transfer Protocol) salattu versio. Tätä
muotoa käytetään suojattuun tiedon siirtoon www:ssä. Tiedot
salataan ennen lähettämistä SSH- protokollan avulla.
Hypertext Markup Language, HTML. Standardoitu kuvauskeli,
jolla pystytään kuvaamaan hyperlinkkejä sisältävää tekstiä. HTML
mahdollistaa tekstin rakenteen merkinnän, esimerkiksi mikä osa on
otsikko ja mikä taas leipätekstiä. Merkintä tapahtuu tekstin sekaan
kirjoitettavilla elementeillä ja niiden sisällä olevilla määritteillä.
Järjestelmä. Tässä dokumentissa järjestelmällä tarkoitetaan
pääasiallisesti toteutettavaa ohjelmistoa tai jo valmista ohjelmistoa
kts. Tietokantajärjestelmä.
Käyttöliittymä. Ne välineet ja toiminnot, joilla käyttäjä on
yhteydessä tietojärjestelmään eli käytännössä ohjelmistoon.
Open Database Connectivity, ODBC. Microsoftin määrittelemä
rajapinta (API) tietokannoille. Tämän avulla sovellusten on
mahdollista kommunikoida tietokantapalvelimen kanssa.
Oracle 10. Oracle-relaatiotietokannan versio 10g, jolla
sääksiseurannan tietokanta toteutetaan.
PHP Hypertext Preprocessor, PHP. Perl- sukuinen
ohjelmointikieli, jota käytetään etenkin Web-palvelinympäristössä.
PHP on komentosarjakieli ja se on alustariippumaton.
4
Selain. Tietokoneohjelma, joka mahdollistaa käyttäjälleen katsella
ja lähettää tekstiä sekä kuvia. WWW- selaimet kommunikoivat
WWW-palvelimien kanssa käyttäen http- protokollaa. Suosittuja
selaimia ovat esimerkiksi Internet Explorer (IE) ja Mozilla Firefox.
Structured Query Language, SQL. IBM:n kehittämä standardoitu
kyselykieli, jota käytetään projektin toteutuksessa. Kielellä voidaan
tehdä relaatiokantaan erilaisia hakuja, muutoksia ja lisäyksiä.
Tietokanta. On jotain käyttötarkoitusta varten laadittu kokoelma
toisiinsa liittyviä, säilytettäviä tietoja. Tietokannan teknisiä
ominaisuuksia ovat mm. tiedon riippumattomuus sitä käsittelevistä
ohjelmista, tietojen samanaikainen käyttö, monipuoliset
tiedonhakumahdollisuudet, tietojen suojaus, mutkikkaat
riippuvuudet tietojen välillä ja automaattinen varmistus ja
elpyminen häiriöistä.
Tietokantajärjestelmä. Tietokantajärjestelmällä tarkoitetaan
tietokannan, tietokannanhallintajärjestelmän ja tietokantaa käyttävän
sovellusohjelman luomaa kokonaisuutta.
Tipu4. Ryhmä, joka keväällä 2004 toteutti sääksijärjestelmän
ohjelmistotuotantoprojektina.
Tiput. Vastaavan ohjelmistotuotantoprojektiryhmän nimi syksyllä
2006.
World Wide Web, WWW. Maailmanlaajuinen verkko on
internetissä toimiva hypertekstijärjestelmä. WWW on yksi
palvelumuoto, jota käytetään internetin avulla.
5
2 Yleiskuvaus Käsiteltäviä asioita ovat ohjelmiston yleinen toiminta,
toimintaympäristö, käyttäjäkunta ja sidosryhmät.
2.1 Yleinen toiminta
Ohjelma tarjoaa WWW-pohjaisen käyttöliittymän
Luonnontieteellisen keskusmuseon Rengastustoimiston käyttöön.
Käyttöliittymä on käytettävissä käyttäjätunnuksen ja salasanan
avulla miltä tahansa verkkoon liitetyltä tietokoneelta.
Käyttöliittymän avulla on tarkoitus tulostaa esitäytetyt
maastolomakkeet ja tallentaa maastotietoja lomakkeelta käsin.
Tämän vuoksi WWW- käyttöliittymän muoto ja ulkoasu on saatava
yhtenäiseksi paperilomakkeen kanssa. Käyttöliittymän kautta
tuotetaan myös säännönmukaisia raportteja maastotarkastajien,
tutkijoiden ja viranomaisten käyttöön.
2.2 Toimintaympäristö
Ohjelmisto toteutetaan PHP4-ohjelmointikieltä, SQL-kyselykieltä,
HTML-kuvauskieltä, JavaScript-komentosarjakieltä sekä CSS2-
tyylikieltä hyväksi käyttäen. Tietokannanhallintaohjelmistona
toimiin Oracle 10g ja tietokantayhteyden luontiin käytetään ODBC-
yhteyttä.
PHP skripti ajetaan tietokantapalvelimissa alkokrunni.cs.helsinki.fi
(db.cs.helsinki.fi). Selainten versiot IE 6.0 ja uudemmat sekä
Mozilla Firefox 1.5.2.
Järjestelmä toteutetaan asiakas-palvelin toteutuksena. TKTL:n
palvelimen palvelinohjelmisto huolehtii tiedostojen web-jakelusta.
Asiakas-sovellusta käytetään käyttäjän selaimella. Järjestelmän
ohjelmointikieli on PHP, jolla saadaan käyttäjälle sopiva web-
toiminto. Käyttöliittymän toimintojen avulla voidaan tietokannasta
hakea ja muokata jo siellä olevia tietoja sekä tallentaa tietokantaan
uusia tietoja.
6
Kuva 2.2 Sidosryhmät
2.3 Käyttäjät
Järjestelmän käyttäjinä ovat Helsingin yliopiston,
Luonnontieteellisen keskusmuseon Rengastustoimiston työntekijät,
sekä tulevaisuudessa mahdollisesti myös alueellisten
ympäristökeskusten työntekijät (vain raportteja). Kuitenkin tällä
hetkellä tulevaa järjestelmää tulee käyttämään yksi henkilö. Uusi
käyttöliittymä pyritään toteuttamaan myös niin käyttäjäläheiseksi,
ettei suurta koulutusta sen käyttöön tarvita.
Järjestelmää voivat käyttää ainoastaan ne henkilöt, joilla on
voimassaoleva käyttäjätunnus ja salasana järjestelmään.
7
Tulevaisuutta ajatellen järjestelmään luodaan kahdenlaisia
oikeuksia, lukuoikeudet ja täydet käyttöoikeudet.
2.4 Sidosryhmät
Helsingin yliopiston Luonnontieteellisen keskusmuseon
Rengastustoimiston toimihenkilö on siis järjestelmän ainoa
varsinainen käyttäjä. Hän syöttää järjestelmään sääksien pesien
tarkastajien ilmoittamat tiedot näiden vuosittaisilta
tarkastuskäynneiltä. Hän myös hakee järjestelmästä yksittäisiä
tietoja, joita viranomaiset ja tutkijat tarvitsevat työssään.
Viranomaisilla ja tutkijoilla ei siis ole suoraa käyttöoikeutta
järjestelmään. Tietokannan ylläpitäjä ylläpitää järjestelmää
tekemällä tarvittavat muutokset tietokantaan, jos johonkin tauluista
lisätään uusia attribuutteja. Tietokannan ylläpitäjä vastaa myös
virheellisten tietueiden poistosta.
Maastotarkastaja tekee vuosittain tarkastuskäynnin maastossa ja
täyttää pesätietoja ja päivittää vanhoja pesätietoja
maastolomakkeelle, jonka jälkeen tarkastaja toimittaa sen
Rengastustoimiston toimihenkilölle valmiiksi täytettynä.
3 Tietokuvaus Tässä luvussa käsitellään ohjelmiston tietosisältöä ja tietokannan
rakennetta. Erityistä huomiota kiinnitetään tietokannan kuvaukseen,
joka pitää sisällään tietokannan taulujen esittelyn kaikkine
attribuutteineen.
3.1 Tietosisältö
Ohjelmiston käyttämä tietosisältö koostuu pesä-, reviiri- ja
tarkastustiedoista. Käyttäjä voi ohjelmiston avulla hakea, lisätä ja
muokata tietoja WWW-käyttöliittymän avulla.
8
Tietokannanhallintajärjestelmä huolehtii myös riittävästä lukkojen
hallinnasta, jos tietokannalla on useampi kuin yksi samanaikainen
käyttäjä.
3.2 Tietokannan kuvaus
Tuleva WWW-käyttöliittymä hyödyntää olemassa olevaa
tietokantaa. Tietokannan taulut ovat seuraavat: MYRKKY,
OLOSUHDE, PESA, POIKANEN, REVIIRI, TARKASTUS,
TARKASTAJA, KUNTA ja VUOSI. Lisäksi tietokannassa on
aputauluja metatiedoista sekä tauluja, jotka sisältävät aluetiedon
hallintaan liittyvää tietoa.
9
3.2.1 Myrkky Taulu Attribuutti Null Tyyppi Pituus Kommentti MYRKKY MYRKKYID N NUMBER 7 Avain. PESAID N NUMBER 7 Viiteavain PESA-tauluun. TYYPPI N NUMBER 1 Myrkkynäytteen tyyppi. NUMERO N NUMBER 6 Myrkkynäytteen numero. MZ N NUMBER 6 Eläinmuseon kokoelman numero. TALL_PVM N DATE 7 Näytteen tallennuspäivämäärä. ANALYYSIPVM Y DATE 7 Näytteen analysointipäivämäärä. TALLENTAJA N NUMBER 4 Tallentajan rengastusnumero. PITUUS Y NUMBER 4,2 Munan pituus (0.01mm). LEVEYS Y NUMBER 4,2 Munan leveys (0.01mm). PAKS_EI_KALV Y NUMBER 3,2 Kuoren paksuus ilman kalvoa (0.01mm). PAKS_KALV Y NUMBER 3,2 Kuoren paksuus kalvoineen (0.01mm). PAINO_TARK Y NUMBER 1 Munan painon tarkkuus. PAINO Y NUMBER 4,2 Munan paino (0.01g). SISALTO Y NUMBER 1 Munan sisällön laatu. SIS_VARI Y NUMBER 1 Munan sisällön väri. SIKIO Y NUMBER 1 Sikiön koko. RASVAPIT Y NUMBER 3,1 Rasvapitoisuus (0.1 DDT Y NUMBER 5,1 DDT:n pitoisuus (0.1ppm). DDD Y NUMBER 5,1 DDD:n pitoisuus (0.1ppm). DDE Y NUMBER 5,1 DDE:n pitoisuus (0.1ppm). PCB Y NUMBER 5,1 PCB:n pitoisuus (0.1ppm). HG Y NUMBER 5,1 Hg:n pitoisuus (0.1ppm). LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe. KOMMENTTI Y VARCHAR2 250 Kommentti.
10
3.2.2 Olosuhde
Taulu Attribuutti Null Tyyppi Pituus Kommentti OLOSUHDE OLOSUHDEID N NUMBER 7 Avain. PESAID N NUMBER 7 Viiteavain PESA-tauluun. ILM_PVM N DATE 7 Olosuhdetietojen kirjaamispäivämäärä. MAASTOTYYPPI Y VARCHAR2 1 Maastotyyppi. PUUSTO Y VARCHAR2 1 Puuston tyyppi. PUUST_KASASTE Y VARCHAR2 1 Puuston käsittelyaste. PUUST_TIHEYS Y VARCHAR2 1 Puuston tiheys. PESAN_SIJAINTI Y VARCHAR2 1 Pesän sijainti. PESAP_ELAVYYS Y VARCHAR2 1 Pesäpuun elävyys. PESAP_KORK_TARK Y NUMBER 1 Pesäpuun korkeuden mittaamistark. PESAP_KORKEUS Y NUMBER 3 Pesäpuun korkeus (m). PESAP_TYVIH_TARK Y NUMBER 1 Pesäpuun tyven halkaisijan mittaamistark. PESAP_TYVIHALK Y NUMBER 3 Pesäpuun tyvihalkaisija (cm). PESAP_TYVIY_TARK Y NUMBER 1 Pesäpuun tyven ympäryksen mittaamistark. PESAP_TYVIYMP Y NUMBER 3 Pesäpuun tyvipaksuus (cm). PESAP_LATVAH_TARK Y NUMBER 1 Pesäpuun latvan halkaisijan mittaamistark. PESAP_LATVAHALK Y NUMBER 3 Pesäpuun latvahalkaisija (cm). PESAP_LATVAY_TARK Y NUMBER 1 Pesäpuun latvan ympäryksen mittaamistark. PESAP_LATVAYMP Y NUMBER 3 Pesäpuun latvapaksuus (cm). RAUHOITUSTAULU Y NUMBER 1 Onko puussa rauhoitustaulua. LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe KOMMENTTI Y VARCHAR2 250 Kommentti.
11
3.2.3 Pesä
Taulu Attribuutti Null Tyyppi Pituus Kommentti PESA PESAID N NUMBER 7 Avain. PESANIMI Y VARCHAR2 24 Pesän nimi. LAANI N VARCHAR2 1 Läänin lyhenne KUNTA N VARCHAR2 6 Kunnan lyhenne. KYLA Y VARCHAR2 18 Kylän nimi. KOORD_TYYPPI N NUMBER 2 Koordinaattien syöttötyyppi. YHT_LEVEYS N NUMBER 7 Yhtenäiskoordinaattien leveysosa (m). YHT_PITUUS N NUMBER 6 Yhtenäiskoordinaattien pituusosa (m). KM_LEVEYS Y NUMBER 7 Kilometrikoordinaattien leveysosa (m). KM_PITUUS Y NUMBER 6 Kilometrikoordinaattien pituussosa (m). AST_LEVEYS N NUMBER 4 Minuuttimuotoisten astekoordinaattien leveysosa. AST_PITUUS N NUMBER 4 Minuuttimuotoisten astekoordinaattien pituusosa. DES_LEVEYS N NUMBER 10,7 Desimaalimuotoisten astekoordinaattien leveysosa. DES_PITUUS N NUMBER 10,7 Desimaalimuotoisten astekoordinaattien pituusosa. PESAP_LAJI Y VARCHAR2 1 Pesäpuun laji. LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe. KOMMENTTI Y VARCHAR2 250 Kommentti. VANHA_PESAID Y VARCHAR2 9 Vanhan järjestelmän id EUR_LEVEYS Y NUMBER 10 Euref-muotoisten astekoordinaattien leveysosa. EUR_PITUUS Y NUMBER 10 Euref-muotoisten astekoordinaattien pituusosa. KOORD_TARKKUUS Y VARCHAR2 1 Koordinaatin tarkkuus KOORD_MITTAUSTAPA Y VARCHAR2 1 Koordinaatin mittaustapa
3.2.4 Poikanen
Taulu Attribuutti Null Tyyppi Pituus Kommentti POIKANEN POIKANENID N NUMBER 7 Avain. TARKASTUSID N NUMBER 7 Viiteavain TARKASTUS-tauluun. RENGAS Y VARCHAR2 9 Renkaan tunnus. SIIPI Y NUMBER 3 Poikasen siiven pituus (mm). PAINO Y NUMBER 4 Poikasen paino (g). LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe. KOMMENTTI Y VARCHAR2 250 Kommentti. SIIPI_MITTAUS_MENET Y VARCHAR2 1 Siiven mittausmenetelmä
12
3.2.5 Reviiri
Taulu Attribuutti Null Tyyppi Pituus Kommentti REVIIRI REVIIRIID N NUMBER 7 Avain. HALLINTOLAANI Y VARCHAR2 1 Hallintolääni HALLINTOKUNTA Y VARCHAR2 6 Hallintokunta. NUMERO Y NUMBER 3 Reviirin numero. REVIIRINIMI Y VARCHAR2 18 Reviirin nimi (vanhasta järjestelmästä). LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe. KOMMENTTI Y VARCHAR2 250 Kommentti.
3.2.6 Tarkastus
Taulu Attribuutti Null Tyyppi Pituus Kommentti TARKASTUS TARKASTUSID N NUMBER 7 Avain. PESAID N NUMBER 7 Viiteavain PESA-tauluun. RENGASTAJA N NUMBER 4 Rengastajanumero(viiteavain). TARK_PVM N DATE 7 Tarkastuspäivämäärä. TARK_PVM_TARK N NUMBER 1 Tarkastuspäivämäärän tarkkuus. AIKUISIA Y NUMBER 1 Aikuisten lukumäärä. MUNIA Y NUMBER 1 Munien lukumäärä. ELAVIA Y NUMBER 1 Elävien poikasten määrä. KUOLLEITA Y NUMBER 1 Kuolleiden poikasten määrä. LENTOPOIK Y NUMBER 1 Lentopoikasten määrä. AIK_AIKUISIA Y NUMBER 1 Aikaisemmin todettu aikuisten lintujen maxmäär AIK_MUNIA Y NUMBER 1 Aikaisemmin todettu lopullinen munamäärä. LOP_LENTOPOIK Y NUMBER 1 Myöhemmin todettu lentopoikasten lkm. LOP_KUOLLEITA Y NUMBER 1 Myöhemmin todettu kuolleiden poikasten lkm. TARKKUUS Y NUMBER 1 Pesäpoikasten määrän ja siivenmittauksen tark. PESIMIST_TARK Y VARCHAR2 1 Pesimistuloksen tarkkuus. PESIMISTULOS Y VARCHAR2 1 Pesimistulos. MUULAJI Y VARCHAR2 7 Pesässä pesivä muu lintulaji. KUNTO Y VARCHAR2 1 Pesän kunto. EPAONN_TARK Y VARCHAR2 1 Pesinnän epäonnistumistiedon tarkkuus. EPAONN Y VARCHAR2 1 Pesinnän epäonnistumisen syy. VAIHTOP_LAIMINL Y VARCHAR2 1 Onko etsitty vaihtopesää. SAALISTUS Y VARCHAR2 1 Tieto saalistusalueesta ja saaliskaloista. FENOLOGIA Y VARCHAR2 1 Onko saatu fenologiatietoja. MYRKKY Y VARCHAR2 1 Tietoja myrkkynäytteistä. HISTORIA Y VARCHAR2 1 Tietoja historiasta. LUOKKA Y VARCHAR2 1 Mitä virheitä syötetty tieto sisältää VIRHE Y NUMBER 4 Jos virheellistä tietoa, kuinka vakava virhe. KOMMENTTI Y VARCHAR2 250 Kommentti. VALOKUVA Y VARCHAR2 1 Onko valokuva saatavilla
13
3.2.7 Tarkastaja
Taulu Attribuutti Null Tyyppi Pituus KommenttiTARKASTAJA TARKASTAJA_ID N NUMBER 5 Avain ETUNIMI Y VARCHAR2 20 Etunimi SUKUNIMI Y VARCHAR2 25 Sukunimi
3.2.8 Kunta
Taulu Attribuutti Null Tyyppi Pituus Kommentti KUNTA KUNTA_ID N NUMBER 4 Avain KIRJ_PVM N DATE Tietojen kirjaamispäivä KUNTA_TUNNUS N VARCHAR2 6 Kuusikirjaiminen kuntatunnus KUNTA_LIITOS N VARCHAR2 6 Kuusikirjaiminen kuntaliitos YMP_KESKUS N VARCHAR2 2 Alueellinen ympäristökeskus DES_LEVEYS N NUMBER 10,7 Desimaalimuotoisten astekoordinaattien leveysosa. DES_PITUUS N NUMBER 10,7 Desimaalimuotoisten astekoordinaattien pituusosa. KUNTA_SADE N NUMBER 4 Säteen pituus kunnan keskipisteestä. VANHA_LAANI Y VARCHAR2 1 Vanhan läänin tunnus LYL_ALUE Y NUMBER 3 Lyl-alueen tunnus
3.2.9 Vuosi
Taulu Attribuutti Null Tyyppi Pituus Kommentti VUOSI REVIIRIID N NUMBER 7 Viiteavain REVIIRI-tauluun (avain). PESAID N NUMBER 7 Viiteavain PESA-tauluun (avain). VUOSI N NUMBER 4 Vuosiluku (avain). PESAPUU N NUMBER 2 Pesäpuun numero reviirin sisällä. KOMMENTTI Y VARCHAR2 250 Kommentti.
14
3.2.10 Aputaulut Taulu Attribuutti Null Tyyppi Pituus Kommentti APUAIKUISIA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan AIKUISIA
APUAIK_AIKUISIA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan AIKAIKUISIA
APUAIK_MUNIA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan AIK_MUNIA
APUELAVIA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan ELAVIA
APUEPAONN ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan EPAONN
APUEPAONN_TARK ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan EPAONN_TARK
APUFENOLOGIA ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan FENOLOGIA
APUHISTORIA ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan HISTORIA
APUKOORD_TYYPPI ARVO N NUMBER 2
SELITYS N VARCHAR2 120
Viittaa tauluun PESA, muuttujaan KOORD_TYYPPI
15
APUKUNTO ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan KUNTO
APUKUOLLEITA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan KUOLLEITA
APULAANI ARVO N VARCHAR2 1 NUMERO N NUMBER 2
SELITYS N VARCHAR2 120 Viittaa tauluun PESA, muuttujaan LAANI
APULENTOPOIK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan LENTOPOIK
APULOP_KUOLLEITA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan LOP_KUOLLEITA
APULOP_LENTOPOIK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan LOP_LENTOPOIK
APULUOKKA ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan LUOKKA
APUMAASTOTYYPPI ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan MAASTOTYYPPI
APUMUNIA ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan MUNIA
APUMYRKKY ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan MYRKKY
16
APUPAINO IKA N NUMBER 2
PAINO N NUMBER 4
Viittaa tauluun POIKANEN, muuttujaan PAINO
APUPAINO_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun MYRKKY, muuttujaan PAINO_TARK
APUPESAN_SIJAINTI ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAN_SIJAINTI
APUPESAP_ELAVYYS ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_ELAVYYS
APUPESAP_KORK_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_KORK_TARK
APUPESAP_LAJI ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120 Viittaa tauluun PESA, muuttujaan PESAP_LAJI
APUPESAP_LATVAH_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_LATVAH_TARK
APUPESAP_LATVAY_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_LATVAY_TARK
APUPESAP_TYVIH_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_TYVIH_TARK
APUPESAP_TYVIY_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PESAP_TYVIY_TARK
APUPESIMISTULOS ARVO N VARCHAR2 1
17
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan PESIMISTULOS
APUPESIMIST_TARK ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan PESIMIST_TARK
APUPUUSTO ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PUUSTO
APUPUUST_KASASTE ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PUUST_KASASTE
APUPUUST_TIHEYS ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun OLOSUHDE, muuttujaan PUUST_TIHEYS
APURENGAS ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun POIKANEN, muuttujaan RENGAS
APUSAALISTUS ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan SAALISTUS
APUSIIPI IKA N NUMBER 2
PITUUS N NUMBER 3
Viittaa tauluun POIKANEN, muuttujaan SIIPI
APUSIKIO ARVO N NUMBER 1
SELITYS N VARCHAR2 120 Viittaa tauluun MYRKKY, muuttujaan SIKIO
APUSISALTO ARVO N NUMBER 1
SELITYS N VARCHAR2 120 Viittaa tauluun MYRKKY, muuttujaan SISALTO
APUSIS_VARI ARVO N NUMBER 1 SELITYS N VARCHAR2 120 Viittaa tauluun MYRKKY,
18
muuttujaan SIS_VARI APUTARKKUUS ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan TARKKUUS
APUTARK_PVM_TARK ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan TARK_PVM_TARK
APUTYYPPI ARVO N NUMBER 1
SELITYS N VARCHAR2 120 Viittaa tauluun MYRKKY, muuttujaan TYYPPI
APUVAIHTOP_LAIMINL ARVO N VARCHAR2 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan VAIHTOP_LAIMINL
APUVIRHE ARVO N NUMBER 1
SELITYS N VARCHAR2 120
Viittaa tauluun TARKASTUS, muuttujaan VIRHE
LAJI LAJI_ID N VARCHAR2 7 Laji id KOMMENTTI Y VARCHAR2 276 Kommentti
YMP_KESKUS YMPK_TUNNUS N VARCHAR2 2 Ympäristökeskuksen tunnus
YMPK_NIMI Y VARCHAR2 80 Ympäristökeskuksen nimi
4 Toimintokuvaus Kuvataan järjestelmän toimintaa pääpiirteittäin eri käyttötapauksilla.
Toimintakuvauksien lisäksi eri tapauksia pyritään selventämään
käyttötapauskaavioiden avulla.
4.1 Käyttötapaukset
Seuraavien taulukoiden avulla on tarkoitus kuvata käyttötapauksia,
joita käyttäjälle tulee vastaan järjestelmään käytettäessä. Tässä
19
vaiheessa toteutukseen ei oteta suuresti kantaa, vaan kuvaukset
pysyvät vielä kovin yleisellä tasolla.
Käyttötapauksia pohdittaessa asiakas asetti vaatimuksen, ettei
mitään vanhaa tietoa tai rakenteita saa poistaa. Tietosisältö ja
vanhajärjestelmä tulee säilyttää, eikä niihin saa tehdä muutoksia.
Käyttötapauksista muut paitsi sisään- ja uloskirjautuminen, tulivat
vaatimuksina asiakkaalta.
ID Käyttötapauksen nimi Prioriteetti1 Käyttäjän tunnistus sekä sisään- ja uloskirjautuminen Korkein 2 Pesätietojen haku Korkein 3 Uuden reviirin lisääminen Korkein 4 Uuden pesän lisääminen Korkein 5 Pesän tietojen muokkaus Korkein 6 Aputaulujen haku ja ylläpito Korkein 7 Pesätarkastajien hallinta Korkein 8 Lajitietojen ylläpito Korkein 9 Raporttien tulostus Korkein 10 Kuntaliitosten tekeminen Korkein 11 Kuntatietojen muokkaus Korkein
Taulukko 4.1 Yhteenveto käyttötapauksista ja niiden prioriteeteista
Jokaiselle käyttötapaukselle on annettu nimi sekä ID, johon
suunnitteludokumentissa voidaan sitten viitata. Käyttötapauksilla on
prioriteetti (korkein), joka kertoo järjestelmään toteutettavan
toiminnallisuuden tärkeydestä. Korkein prioriteetti kertoo
toiminnasta, joka on välttämätön järjestelmälle ja tullaan
toteuttamaan ensin. Toimijat kohdassa kuvataan järjestelmän
loppukäyttäjät. Tässä järjestelmässä niitä kuitenkin on aluksi vain
yksi; Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö. Esiehdot kohdassa kuvataan, mitä
ehtoja on oltava voimassa ennen tämän käyttötapauksen
suorittamista. Jälkiehdot kohdassa puolestaan kuvataan mitä
ehdoista on oltava voimassa käyttötapauksen suorituksen päätyttyä.
Normaalikulku kuvaa toiminnan suorituksen tapauksessa, jossa
20
suoritus on ongelmatonta ja eteneminen tapahtuu kuten suunniteltu.
Poikkeukset taas kertovat mitä ongelmia käyttötapauksen kulussa
voi tulla eteen ja miten käyttäjä huomaa nämä poikkeus- ja
virhetilanteet sekä miten järjestelmä käyttäytyy ja kuinka tilanteesta
toivutaan. Käyttötapauksissa on myös kohta muut vaatimukset,
johon kuuluu esimerkiksi käyttäjän syöttämien tietojen tarkistuksia.
Käyttötapauksissa on lopussa kohta huomautukset, johon voidaan
tarvittaessa lisätä tietoja.
Kuva 4.1 Kaavio käyttötapauksista
21
4.1.1 Käyttäjän tunnistus sekä sisään- ja uloskirjautuminen Käyttötapaus ID 1 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi
Käyttäjän tunnistus sekä sisään- ja uloskirjautuminen
Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen sääksiseurannan toimihenkilö
Esiehdot Käyttäjälle on annettu käyttäjätunnus ja salasana. Uloskirjautumisessa käyttäjä on päässyt kirjautumaan järjestelmästä.
Jälkiehdot Käyttäjä pääsee käyttämään järjestelmää Käytön jälkeen hän pääsee kirjautumaan järjestelmästä ulos.
Normaalikulku Järjestelmä kysyy käynnistettäessä käyttäjätunnusta ja salasanaa. Käyttäjä syöttää järjestelmälle tiedot. Järjestelmä hakee käyttäjätunnuksen ja salasanan tietokannasta. Uloskirjautumisessa käyttäjä valitsee lopeta ja yhteys käyttöliittymään katkeaa.
Poikkeukset Käyttäjän antamia käyttäjätunnusta ja salasanaa ei tunnisteta. Järjestelmä antaa virheilmoituksen. Käyttäjä saa uuden mahdollisuuden kirjautua sisään.
Muut vaatimukset Salasanan tulee olla kryptattu. Huomautukset Tarvitaan HTTPS- yhteys.
Tietokanta yhteys katkaistaan jokaisen käyttötapauksen jälkeen
22
4.1.2 Pesätietojen haku Käyttötapaus ID 2 Käyttötapauksen prioriteetti Korkein prioriteetti
Käyttötapauksen nimi Pesätietojen haku
Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen sääksiseurannan toimihenkilö
Esiehdot Käyttötapaus 1, Käyttäjällä on tiedossa jokin tai jotkin seuraavista tiedoista:
• Pesän nimi • Pesän ID • Paikallisyhdistys • Ympäristökeskus • Koordinaatti ja etäisyys • Pesän kunta • Reviirin kunta • Reviirin nimi • Koordinaatit yhteis-, euref- tai
astekoordinaatteina • Vuosiväli
Jälkiehdot • Käyttäjä saa listan pesistä, jotka täyttävät haun ehdot
• Käyttäjä voi muuttaa haettujen pesien tietoja • Käyttäjä voi lisätä uusien tarkastuksien tiedot
listatuille vanhoille pesille Normaalikulku Käyttäjä valitsee haku- toiminnon, jossa pystytään
määrittelemään hakuehtoja. Jos kyseisillä hakukriteereillä löytyy pesiä, tulee käyttäjälle listaus näistä pesistä. Pesälistauksesta päästään kunkin pesän tietoihin, sekä lisäämään uusia tarkastuksia.
Poikkeukset • Käyttäjä ei anna yhtään hakuehtoa, jolloin hakutulokseen kaikki pesät.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen tästä, järjestelmän ylläpitäjän yhteystiedot ja pyytää yrittämään myöhemmin uudelleen.
Muut vaatimukset Huomautukset
23
4.1.3 Uuden reviirin lisääminen Käyttötapaus ID 3 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksennimi Uuden reviirin lisääminen Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Käyttäjällä tarvittavat tiedot uudesta reviiristä Jälkiehdot Uuden reviirin tiedot ovat lisätty tietokantaan. Normaalikulku Käyttäjä on tarkistanut, että tietokannassa ei ole
samaa reviiriä, jolla olisi samoja avain attribuutteja. Mikäli reviiri on varmasti uusi reviiri, käyttäjä voi lisätä uuden reviirin ja tämän jälkeen täyttää tietoja. Kun käyttäjä on lisännyt tarvittavat tiedot, hän lähettää tiedot tietokantaan. Järjestelmä antaa viestin onnistuneesta tai epä- onnistuneesta lisäyksestä.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa väärän muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Käyttäjän syöttämien tietojen sisältö tarkistetaan.
Huomautukset Ei huomautuksia.
24
4.1.4 Uuden pesän lisääminen
Käyttötapaus ID 4 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Uuden pesän lisääminen Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Käyttäjällä on tarvittavat tiedot uudesta pesästä. Pesää varten on perustettu reviiri, jos sitä ei vielä ole.
Jälkiehdot Uuden pesän tiedot ovat lisätty tietokantaan. Normaalikulku Käyttäjä on tarkistanut, että tietokannassa ei ole
vanhaa pesää, jolla olisi samoja avain attribuutteja. Mikäli pesä on varmasti uusi pesä, käyttäjä voi lisätä uuden pesän ja tämän jälkeen täyttää tietoja. Kun käyttäjä on lisännyt tarvittavat tiedot, hän lähettää tiedot tietokantaan. Järjestelmä antaa viestin onnistuneesta tai epä- onnistuneesta lisäyksestä.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa väärän muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Käyttäjän syöttämien tietojen sisältö tarkistetaan.
Huomautukset Ei huomautuksia.
25
4.1.5 Pesän tietojen muokkaus Käyttötapaus ID 5 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Pesän tietojen muokkaus
Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen sääksiseurannan toimihenkilö
Esiehdot Käyttötapaus 1 Jälkiehdot Vanhan pesän tiedot on päivitetty järjestelmään
Normaalikulku Käyttäjä hakee pesää haku-toiminolla (käyttötapaus
2: Pesätietojen haku) valitsemiensa hakukriteerien perusteella. Käyttäjä löytää pesän jonka jälkeen hän voi muokata pesän tietoja ja tallettaa muutokset. Käyttäjälle annetaan ilmoitus onnistuneesta muutoksesta.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa vääränmuotoista dataa, jolloin järjestelmä antaa virheilmoituksen ja kehottaa täyttämään punaisella merkityn kentän. Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen tästä, järjestelmän ylläpitäjän yhteystiedot ja pyytää yrittämään myöhemmin uudelleen.
Muut vaatimukset Käyttäjän syöttämä tietosisältö tarkistetaan Huomautukset Ei huomautuksia.
26
4.1.6 Aputaulujen haku ja ylläpito
Käyttötapaus ID 6 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Aputaulujen haku ja ylläpito
Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen sääksiseurannan toimihenkilö
Esiehdot Käyttötapaus 1 Jälkiehdot Normaalikulku Käyttäjä valitsee metatietojen haku- ja ylläpito-
toiminnon. Tämän jälkeen hänellä on mahdollista nähdä listaus tietokannan kaikista tauluista. Listauksesta on mahdollista valita käyttäjän haluama taulu, jonka jälkeen hän voi tarkastella kyseisen taulun muuttujia. Valitsemalla jonkun näistä muuttujista, hän voi tarkastella valitsemaansa muuttujaan liittyviä rajoitteita sekä lisätä tietoja.
Poikkeukset Käyttäjä huomaa, että rajoitteet ovat virheellisiä: • Hän valitsee virheellisen arvon, korjaa sen
oikeaksi ja tallentaa muutokset tietokantaan. Käyttäjä huomaa, että kaikkia tarvittavia rajoitteita ei ole tallennettu tietokantamuuttujan yhteyteen:
• Muuttujan rajoitteiden ollessa listattuna, hän valitsee lisää-toiminnon ja syöttää haluamansa tiedot kenttään ja tallentaa lisäykset.
Muut vaatimukset Huomautukset Ei huomautuksia.
27
4.1.7 Pesätarkastajien hallinta
Käyttötapaus ID 7 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Tarkastajan tietojen haku, tietojen muokkaaminen ja
mahdollinen tallennus sekä uuden tarkastajan lisääminen
Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen sääksiseurannan toimihenkilö
Esiehdot Käyttötapaus 1 Käyttäjällä tarvittavat tiedot haettavasta tai uudesta tarkastajasta
Jälkiehdot Uuden tarkastajan tiedot on lisätty tai vanhojen tietoja muokattu
Normaalikulku Käyttäjän on mahdollista hakea tarkastajia nimellä tai sen osalla (osamerkkijono). Lista kaikista hakukriteerit täyttävistä tarkastajista tietoineen tulee käyttäjän tarkasteltavaksi. Tämän jälkeen käyttäjä voi lisätä uuden tarkastajan tai tehdä muutoksia tarkastajien tietoihin ja tallettaa muutokset.
Poikkeukset • Käyttäjä ei anna tallennuksen yhteydessä kaikkia tarvittavia tietoja tai antaa väärän muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Käyttäjän syöttämien tietojen sisältö tarkistetaan. Huomautukset Ei huomautuksia.
28
4.1.8 Lajitietojen ylläpito Käyttötapaus ID 8 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Lajin tietojen haku, tietojen muokkaaminen ja
mahdollinen tallennus sekä uuden lajin lisääminen Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Käyttäjällä tarvittavat tiedot haettavasta tai uudesta lajista
Jälkiehdot Uuden lajin tiedot on lisätty tai vanhoja muokattu
Normaalikulku Käyttäjän on mahdollista hakea lajeja lajin nimellä tai sen osalla (osamerkkijono). Lista kaikista hakukriteerit täyttävistä lajeista tietoineen tulee käyttäjän tarkasteltavaksi. Tämän jälkeen käyttäjä voi lisätä uuden lajin tai tehdä muutoksia lajitietoihin ja tallettaa muutokset.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa väärän-muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Käyttäjän syöttämien tietojen sisältö tarkistetaan.
Huomautukset Ei huomautuksia.
29
4.1.9 Raporttien tulostus Käyttötapaus ID 9 Käyttötapauksen prioriteetti Korkeinprioriteetti Käyttötapauksen nimi Raporttien tulostus Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Jälkiehdot Käyttäjä on saanut tulostettua järjestelmästä haluamansa raportin
Normaalikulku Käyttäjä syöttää haluamansa ehdot raportin muodostukseen. Käyttäjä voi tallentaa syntyvän raportin, jonka hän voi tulostaa tai siirtää muihin käyttämiinsä ohjelmiin.
Poikkeukset • Käyttäjä ei saa raporttia, koska raportin generoinnissa on tapahtunut virhe.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen tästä, järjestelmän ylläpitäjän yhteystiedot ja pyytää yrittämään myöhemmin uudelleen.
Muut vaatimukset Huomautukset Syntynyt raportti tallennetaan tekstitiedostoon.
30
4.1.10 Kuntaliitosten tekeminen Käyttötapaus ID 10 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Kuntaliitosten tekeminen Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Käyttäjällä tarvittavat tiedot kunnista Jälkiehdot Uusi kuntaliitos on lisätty tietokantaan. Normaalikulku Käyttäjä valitsee kaksi kuntaa, jotka liitetään uudeksi
kunnaksi. Mikäli kuntaliitos on uusi, voidaan se lisätä tietokantaan. Käyttäjälle ilmoitetaan lisäyksen onnistumisesta tai epäonnistumisesta.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa väärän-muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Huomautukset Ei huomautuksia.
4.1.11 Kuntatietojen muokkaus Käyttötapaus ID 11 Käyttötapauksen prioriteetti Korkein prioriteetti Käyttötapauksen nimi Kuntatietojen muokkaus Toimijat Luonnontieteellinen keskusmuseo, valtakunnallisen
sääksiseurannan toimihenkilö Esiehdot Käyttötapaus 1
Käyttäjällä tarvittavat tiedot kunnista ja lääneistä. Jälkiehdot Uudet kuntatiedot ovat lisätty tietokantaan. Normaalikulku Käyttäjä valitsee kunnan, jonka tietoja muokataan.
Kun käyttäjä on lisännyt tarvittavat tiedot, hän lähettää tiedot tietokantaan. Käyttäjälle ilmoitetaan lisäyksen onnistumisesta tai epäonnistumisesta.
Poikkeukset • Käyttäjä ei anna kaikkia tarvittavia tietoja tai antaa väärän-muotoista dataa, jolloin järjestelmä antaa virheilmoituksen.
• Järjestelmän tietokantaan ei saada yhteyttä. Tällöin järjestelmä antaa virheilmoituksen ja järjestelmävalvojan yhteystiedot.
Muut vaatimukset Huomautukset Ei huomautuksia.
31
5 Järjestelmän ulkoiset liittymät Tässä osassa kuvataan järjestelmän rajapinnat ja asiakkaan yhteys
järjestelmään.
5.1 Asiakasyhteys
Asiakas kommunikoi järjestelmän kanssa palvelimen kautta, joka
huolehtii tiedostojen WWW-jakelusta. Asiakas käyttää sovellusta
omalla selaimellaan esim. Microsoftin Internet Explorer tai Mozilla
Firefox. Käyttöliittymä näkyy asiakkaalle tyhjinä lomakkeina tai jo
täytettyinä lomakkeina, joita hän voi itse täyttää.
5.2 Järjestelmäyhteys
Kuva 5.2 Järjestelmäyhteys
5.3 Alustatiedot
Alustan palvelin, jota projektissa käytetään, on PHP 4.0. PHP-
tulkin sijainti on /usr/local/bin/php. Tuotantovaiheessa ohjelmat
sijoitetaan ~/public_html- hakemistoon.
32
6 Muut ominaisuudet
6.1 Lokitiedosto
Järjestelmästä voidaan tarvittaessa tulostaa lokitiedosto,
tietojen muutoksesta. Aina, kun järjestelmässä muutetaan
jonkin attribuutin arvoa, tulee siitä merkintä lokitiedostoon.
Tiedosto toteutetaan tekstitiedostona. Käyttöliittymään ei
tehdä linkkiä lokitiedoston tulostamiseen.
6.2 Suorituskyky
Ohjelmiston suorituskyky vastaa aiemmin tehtyä merkkipohjaista
versiota. Itse ohjelmisto ei nosta suorituskykyä tehokkaammaksi,
vaan se on riippuvainen tietokantaoperaattorista. Järjestelmää
tullaan käyttämään selaimen avulla, joten järjestelmästä riippumaton
verkkoviive saattaa aiheuttaa järjestelmän hidastumista.
6.3 Ylläpito
Ohjelmiston ylläpitoa tullaan jatkamaan Rengastustoimiston
johdolla. Järjestelmästä tehdään ylläpidettävä. Tämä asettaa
dokumentoinnille vaatimuksia, jotta siitä tulee kattava, selkeä ja
kuvaava. Dokumentaatiosta tulee ilmenemään järjestelmän sisäinen
rakenne sekä ulkoiset riippuvuudet.
6.4 Luotettavuus
Ohjelmiston ja sen komponenttien tulee toimia virheettömästi. Eri
osien tulee toimia sisäisesti oikein, mutta myös yhteistyössä muiden
osien kanssa. Virhetilanteet eivät saa aiheuttaa haittaa järjestelmälle,
eivätkä järjestelmän aiheuttamat virheet saa vaikuttaa tietokannan
toimivuuteen tai tuhota sinne pysyvästi talletettuja tietoja.
7 Testaus Testauksen kaksi päätavoitetta on tarkistaa, että järjestelmän
rakenne vastaa suunnitellun järjestelmän rakennetta ja, että se vastaa
33
asiakkaan toivomuksia. Testauksella tarkistetaan, että ohjelma tekee
mitä sen pitää ja että käyttöliittymä on asiakkaan toiveiden mukaan
tehty. Testausta tullaan suorittamaan kaikissa ohjelmiston eri
kehitysvaiheissa. Näin pystytään varmistamaan, että järjestelmä
vastaa kaikin osin määrittelyssä sille asetettuja vaatimuksia.
Ensimmäisessä testausvaiheessa käydään yksikkötestauksen avulla
läpi yksittäisten ohjelmakomponenttien toiminnan oikeellisuus. Kun
yksittäisten komponenttien toiminnan oikeellisuus on varmistettu,
siirrytään testauksessa seuraavaan vaiheeseen,
järjestelmätestaukseen, jonka tarkoituksena on varmistaa eri
ohjelmakomponenttien keskinäisen toiminnan virheettömyys.
Testausprosessin viimeisessä vaiheessa varmistetaan vielä
toiminnan oikeellisuus asiakkaalta saadulla lopullisella datalla sekä
tarkistetaan yhdessä asiakkaan kanssa, että ohjelma todella vastaa
asiakkaan sille asettamia vaatimuksia.
8 Järjestelmän rajoitteet Järjestelmä toimii standardien mukaan. Tietokannan lukituksista
huolehtii käyttöhetkellä tietokantahallintaohjelmisto.
8.1 Laitteistorajoitteet
Palvelimella täytyy olla PHP ja tietokantapalvelin tulee olla
olemassa. Käyttäjän koneella pitää olla internetselain ja toimiva
verkkoyhteys.
9 Lähteet Tietoa sääksien ominaisuuksista: http://www.saaksisaatio.fi/saaksifakta.html Vanhat ohjelmistotuotantoprojektit: Kotkat http://www.cs.helsinki.fi/group/kotkat/
Tipu4 http://www.cs.helsinki.fi/group/tipu4/ sekä Pandion (dokumentointi vain paperimuodossa)
34
Liite 1. Metriikka LOC, koodirivien määrä Käyttäjän tunnistus sekä sisään- ja uloskirjautuminen 300 Pesätietojen haku 1500 Uuden reviirin lisääminen 500 Uuden pesän lisääminen 500 Pesän tietojen muokkaus 1000 Metatietojen haku ja ylläpito 800 Pesätarkastajat 500 Lajit 500 Maastoraportti 1500 Raportit 300 Käyttöliittymä 1500 Yht. 8900 LOC Function Point -arvio Tyyppi Määrä Vaikeuskerroin Syötteet 15 8(vaikea) 120 Tulosteet 13 7 (vaikea) 91 Sisäiset tiedostot 3 10 (vaikea)30 Ulkoiset liittymät 2 7 (vaikea)14 Kyselyt 8 6 (keskivaikea)48 Yhteensä raakapisteitä: 303 Tarkentavat kysymykset. Asteikko: 0=ei vaikutusta, 5=hyvin tärkeä. 1. Does the system require reliable backup and recovery? 1 2. Are data communications required? 5 3. Are there distributed processing functions? 0 4. Is performance critical? 2 5. Will the system run in an existing, heavily utilized operational environment? 3 6. Does the system require on-line data entry? 5 7. Does the on-line data entry require the input transaction to be built over multiple screens or operations? 5 8. Are the master files updated on-line? 5 9. Are the inputs, outputs, files, or inquiries complex? 4 10. Is the internal processing complex? 4 11. Is the code designed to be reusable? 4 12. Are conversion and installation included in the design? 3 13. Is the system designed for multiple installations in different organizations? 0 14. Is the application designed to facilitate change and ease of use by the user? 5 Yhteensä kysymyspisteitä: 46
35
Toimintapisteet: raakapisteet * (0,65 + 0,01 * kysymyspisteet) = 336 Toimintapisteiden avulla voidaan laskea arvioitu rivimäärä, kun yhtä toimintapistettä vastaa 67 riviä PHP-koodia. Rivimäärä: 67* 336 = 22512 riviä Koska kaikkea koodia ei tehdä PHP:llä, vaan käytetään käyttöliittymään koodigeneraattoria, laskee toimintapisteiden kertoimena käytetty kerroin noin 25 %.