1 Vaatimusmäärittelydokumentti Lintulaskenta-ryhmä Helsinki 3.11.2011 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 Yleistä Kurssi 581260 Ohjelmistotuotantoprojekti (9.0op) Projektiryhmä Jarkko Nyman (projektisihteeri) Aleksi Aalto Anna Hirvonen Kari Konola Riku Rytkönen Jukka Pajunen Asiakas: Heikki Lokki Asiantuntijat: Aleksi Lehikoinen ja Esko Piirainen HY:n Luonnontieteellinen keskusmuseo sekä Mikko Pelkonen tktl Kotisivu: http://www.cs.helsinki.fi/courses/581260/2011/s/a/1
3 Sisällysluettelo 1. Johdanto... 4 2. Asiakas vaatimukset... 5 2.1 Yleistä... 5 2.3 Laadulliset tavoitteet... 7 3. Pistelaskenta ohjelman palvelut... 9 3.1 Admin-hallinnointikomponentit... 9 3.2 Tietokantatoiminnallisuus... 10 3.3 Web-lomake... 10 3.4 Vanhan tiedon talteenotto... 11 3.5 Validointipalvelu... 11 3.6 Etsintäpalvelu... 12 4 Vaatimusten analysointi... 12 4.1 Laadullisien tavoitteiden analysointi... 14 5. Asiakaspalaveri määrittelyt... 15 6. Ohjelmiston yleisrakenne... 16 6.1 Arkkitehtuurikuvaus... 17
4 1. Johdanto Ohjelmistotuotantoprojekti on Helsingin yliopiston tietojenkäsittelytieteiden laitoksen kurssi 581260. Ohjelmistotuotantoprojektin ajankohta: 05.09-16.12.2011. Kurssi on tietojenkäsittelytieteen aineopintoihin sisältyvä pakollinen opintojakso. Kurssin ohjelmistotuotantoprojekti (9op) yhteydessä suoritetaan työelämään orientoituminen (1op). Lainattu: http://www.cs.helsinki.fi/courses/581260/2011/s/a/1 Tämä dokumentti on tarkoitettu projektiryhmän ja asiakkaiden väliseksi ja kattaa kokonaisuudessaan toteutettavan ohjelmiston. Lintulaskenta-ryhmän tavoitteena on kehittää tietokanta käyttöliittymineen maalintujen pistelaskentatutkimukseen. Lisäksi suunnitellaan ja toteutetaan web-lomake, jolla laskijat lähettävät tietoja keskusmuseoon ja museovirkailija admin-käyttöliittymästä hyväksyy lähetetyt tiedot tietokantaan talletettaviksi. Ohjelmisto tulee osaksi Lintuvaara-portaalia (Lintuvaara, ks. https://rengastus.helsinki.fi.). Projektiryhmään kuuluvat Jarkko Nyman, Aleksi Aalto, Anna Hirvonen, Jukka Pajunen, Riku Rytkönen, sekä Kari Konola. Ohjaajana toimii Arto Vihavainen. Projektin asiakas on tietojenkäsittelytieteen laitoksen puolesta Heikki Lokki. Asiantuntijoina toimivat: Aleksi Lehikoinen ja Esko Piirainen HY:n Luonnontieteellinen keskusmuseo, sekä Mikko Pelkonen tktl. Projektin tuloksena syntyvä ohjelmisto julkaistaan GNU GPL v2 lisenssin alla. (Lisää tietoa lisenssistä osoitteessa http://www.gnu.org/licenses/gpl-2.0.html). Ohjelmiston käyttöoikeudet luovutetaan asiakkaalle erillisten sopimuspapereiden nojalla.
5 2. Asiakas vaatimukset Luvussa käsitellään ohjelmistolle asetetut vaatimukset niiltä osin kun asiakas on ne spesifioinut. Asiakasvaatimuksia on pyritty huomioimaan koko projektin ajan ja niitä on tarkennettu asiakaspalaverien yhteydessä. 2.1 Yleistä Lintulaskenta-ryhmän tarkoituksena on tehdä web-lomake, jolla laskijat lähettävät tietoja keskusmuseoon ja museovirkailija hyväksyy lähetetyt tiedot tietokantaan talletettaviksi. Lisäksi luodaan admin-näkymä, jolla voidaan hallinnoida täytettyjä weblomakkeita. Komponenttien luonti vaatii myös tietokannan, sekä siihen liittyvän toiminnallisuuden toteuttamisen. Nykyään Helsingin yliopiston Luonnontieteellinen keskusmuseo käyttää maalintujen pistelaskentaan sähköisiä lomakkeita, jotka lähetetään museolle postitse käyttäjän toimesta. Pistelaskentalomakkeiden siirtäminen yhdeksi web-pohjaiseksi lomakkeeksi, helpottaisi niin museon, kuin käyttäjän toimintaa. (ks. http://www.luomus.fi/seurannat/pistelaskenta/index.htm) Asiakkaan vaatimuksien mukaan lintulaskenta-ryhmän projektin päätarkoitus on saada vanhat tiedot validisti talteen tietokantaan. Toisena päätarkoituksena on luoda adminkäyttöliittymä museon henkilökunnalle, jonka avulla lomakkeiden tietoja voidaan muokata ennen kuin ne tallennetaan tietokantaan. Kolmantena tarkoituksena on luoda web-pohjainen maalintujen pistelaskentalomake rengastajille ja korvata entinen käsin täytettävä maalintujen pistelaskentalomake. Ohjelma tulee osaksi Helsingin yliopiston Luonnontieteellisen keskusmuseon lintuvaara-palvelua (ks. https://rengastus.helsinki.fi/). Aikaisemmin museon henkilökunta on kirjannut tietokantaan maalintujen pistelaskentahavainnot. Joten tehtävänä on myös saada vanhat tiedot talteen ja saada ne osaksi uutta ohjelmistoa.
6 Vaatimukset on priorisoitu yhdessä asiakkaan, sekä asiantuntijoiden kanssa yhteisissä palavereissa. Lisätavoitteena on luoda ohjelmisto, jonka jatkokehitys on mahdollista tulevina vuosina. Toisena lisätavoitteena on luoda admin-käyttöliittymään hakupalvelu, jonka avulla voidaan hakea maalintujen pistelaskentaan liittyviä tietoa eri attribuuteilla. Tämän dokumentin tarkoituksena ei ole kuvailla lintuvaaran valmiita palveluita vaikka toteuttamamme ohjelma tulee osaksi lintuvaaraa. 2.2 Toiminnalliset tavoitteet Päätavoitteena on luoda admin-hallinnointikomponentti, josta voidaan muokata käyttäjien täyttämiä lomakkeita ennen kuin ne tallennetaan tietokantaan (V1). Tarkoituksena on toteuttaa nykyinen sähköinen maalintujen pistelaskenta exel-lomake, web-pohjaiseksi lomakkeeksi, lintuvaara-palvelun yhteyteen. (V2). Vanhat havaintotiedot tulee tallentaa tietokantaan ja niiden on oltava yhteensopiva admin-hallinnointikomponentin kanssa. (V3). Ohjelmiston tulee tukea web-pohjaista selaustapaa. (V4). Ohjelmiston tulee koostua useammasta palikasta niin, että palikoiden väliset yhteydet ovat kehittäjälle selkeitä kokonaisuuksia.(v5). Ohjelmisto toteutetaan kokonaisuudessaan suomeksi. (V6). Tietoturva on huomioitava ohjelmistossa, koska maalintuihin liittyvät pistelaskentatiedot ovat luottamuksellisia. Ohjelmiston tulee käyttää xml-rajapintaa museon järjestelmiin, jonka avulla saavutetaan tietoturvassa riittävä taso. (V7). Admin-käyttöliittymän graafinen näkymä on tehtävä tarpeeksi käyttäjäystävälliseksi siten, että museon henkilökunta osaa käyttää sitä. (V8).
7 Ohjelmaa voidaan käyttää pelkästään Helsingin yliopiston Luonnontieteellisen keskusmuseon myöntämien tunnuksien avulla. (V9). Admin-käyttöliittymän yhteyteen halutaan yksinkertainen hakupalvelu, jonka avulla voidaan hakea lomakkeista eri tietoa. (V10). Raporttien mahdollinen tulostaminen, joita käytetään tutkimustarkoituksiin. (V11). Täytettyjen lomakkeiden haku kirjekyyhkystä ja hylättyjen lomakkeiden palautus kirjekyyhkyyn. (V12). Lomake XML-muodossa, jotta voidaan suorittaa lomakkeiden lähetys kirjekyyhkyyn (V13). Pisteiden valinta kartalta uusien tietojen syötön yhteydessä. (V14). Kirjautuminen lintuvaaran kautta järjestelmään, sekä session-hallinta. (V15). Tuki erilaisille koordinaateille. (V16). 2.3 Laadulliset tavoitteet Siirrettävyys toiseen ohjelmistoympäristöön/käyttöjärjestelmään: Ohjelmiston tulee taata mahdollisimman helppo siirrettävyys siten, että ohjelma toimii lintuvaaraympäristössä. (V11). Osien uudelleenkäytettävyys muissa järjestelmissä ja yhteiskäyttöisyys: Toteuttamaamme järjestelmää voidaan jatko kehittää tulevina vuosina. Taustalla on ajatus ohjelman palasien hyvästä toimivuudesta. Tulevaisuudessa ohjelmiston yhteyteen
8 on tarkoituksena lisätä lisää palveluja, kuten esimerkiksi kartta-palvelut, sekä kaiken kattava hakupalvelu pistelaskentatiedoista. (V12). Ylläpidettävyys: Tällä tarkoitetaan kattavaa koodin kommentointia, koska jatkokehityksen kannalta se on välttämätöntä. (V13). Testattavuus: Suoranaisia vaatimuksia ei aseteta ohjelmiston testattavuudelle. Asiakas kuitenkin vaatii ohjelmistolta virheetöntä toimintaa. Asiakas haluaa mahdollisesti käytettävyystestauksen, joka tapahtuisi mahdollisesti loppukäyttäjällä eli museon henkilökunnan toimesta. (V14). Oikeellisuus: Vaaditaan, että toiminnalliset vaatimukset 1-6, sekä kaikki laadulliset tavoitteet toteutetaan asiakkaan haluamalla tavalla. (V15). Luotettavuus: Luotettavuudelle asettamat vaatimukset sisältyvät normaalisti muihin vaatimuksiin. (V16). Tehokkuus: Suoranaisia tehokkuus kriteerejä asiakas ei aseteta ohjelmistolle. Pääpainona on enemmän, että ohjelma toimii mahdollisimman oikein. Ohjelman luonteesta johtuen tehokkuus ei ole niin tärkeässä roolissa. (V17). Käytettävyys: Ohjelman on oltava riittävän helppokäyttöinen käytettäväksi museon henkilökunnalle. (V18).
9 3. Pistelaskenta ohjelman palvelut Kappaleen tarkoituksena on luoda edellisistä kuvatuista vaatimuksista pistelaskenta ohjelman tarjoamat palvelut 3.1 Admin-hallinnointikomponentit Nimi: Admin-käyttöliittymä Kuvaus: Admin kirjautuu lintuvaaran kautta sisään maalintujen pistelaskentaan. Sisään kirjautuminen vaatii museon myöntämän käyttäjätunnuksen, sekä salasanan. Sisään kirjautumisen jälkeen adminille aukeaa sivusto, josta voidaan mennä sisään maalintujenpistelaskentaan. Käyttöliittymässä voi muokata, hakea ja lisätä tietoa. Syötteet: Admin voi muokata käyttäjien tekemiä web-lomakkeita.. Tulosteet: Käyttäjien syöttämät tulosteet. Prioriteetti: Toiminto toteutetaan tämän projektin puitteissa, mutta ei kaikilta osin. Nimi: Admin-käyttöliittymän sisältö Kuvaus: Admin voi muokata käyttäjien lähettämiä lomakkeita. Admin voi muokata esitäytettyjä lomakkeita niin, että ne ovat validoinnin suhteen oikeassa muodossa tietokantaan talletusta varten. Admin voi siirtää lomakkeita kansioista toiseen, kuten esimerkiksi: Korjattavat, saapuneet jne. (tämän palvelun tarjoaa lintuvaara). Admin voi tehdä yksinkertaisia hakuja lomakkeiden tiedoista.
10 Syötteet: Admin muokkaa jo valmiiksi täytettyjä lomakkeita Tulosteet: Lomakkeet tallentuvat tietokantaan 3.2 Tietokantatoiminnallisuus Nimi: Tietokantatoiminnallisuus Kuvaus: Tietokantaan tallennetaan, sekä haetaan tietoa. Syötteet: Admin lähettää uutta tietoa tai muuttaa tietoa tietokantaan. Tulosteet: Lomakkeet tallentuvat tietokantaan Prioriteetti: Toiminto toteutetaan tämän projektin puitteissa. 3.3 Web-lomake Nimi: Web-lomake Kuvaus: Web-lomakkeen täyttää rengastaja kirjekyyhkyssä. Rengastaja täyttää kaikki vaadittavat kohdat, jonka jälkeen lomake voidaan tallentaa. Tallentamisen jälkeen lomake siirtyy admin-näkymään, jossa admin voi muokata lomaketta haluamallaan tavalla. Web-lomake ilmoittaa käyttäjälle, mikäli jokin lomakkeen kenttä on virheellisesti täytetty. Syötteet: Käyttäjä (rengastaja) täyttää web-lomakkeen Tulosteet: Ohjelma hakee web-lomakkeet adminille muokkausta/hyväksyntää varten.
11 Prioriteetti: Ei toteuteta projektin puitteissa. 3.4 Vanhan tiedon talteenotto Nimi: Pulautin Kuvaus: Pulautin-työkalun avulla siirretään vanhat maalintujen pistelaskenta tiedot osaksi admin-käyttöliittymää. Työkalun avulla saadaan web-pohjainen järjestelmä sisältämään vanhat rengastustiedot. Syötteet: Siirtää vanhan laskentatiedon perättäis-datana (tiedosto: Pisteet.DAT) Tulosteet: Vanhat tiedot ovat reittikohtaisia kokonaisuuksia, valmiina vadiointia ja kantaan tallennusta varten. Prioriteetti: Toiminto toteutetaan tämän projektin puitteissa 3.5 Validointipalvelu Nimi: Validointipalvelu Kuvaus: Admin käyttöliittymä, web-lomakkeet, sekä vanha tiedon talteenotto tulee sisältämään validointia. Validointipalvelun avulla tulostetaan virheen tiedot käyttäjän tarkistusta varten. Ohjelmiston eri palaset kommunikoivat validointipalvelun kanssa. Syötteet: Ohjelman eri palaset siirtyvät validointipalveluun Tulosteet: Tieto on valmista jatkokäsittelyä varten Prioriteetti: Toiminto toteutetaan tämän projektin puitteissa
12 3.6 Etsintäpalvelu Nimi: Etsintäpalvelu Kuvaus: Admin-käyttöliittymän yhteyteen toteutetaan etsintäpalvelu, jonka avulla voidaan hakea eri attribuuteilla tietoa lomakkeista. Etsintäpalvelu on rajoitettu, eli vain tietyillä attribuuteilla voidaan hakea tietoa. Syötteet: Hakuehdot jo valmiiksi tietokannassa olevista lomakkeista Tulosteet: Lista hakuehtoja vastaavia lomakkeita Prioriteetti: Toiminto toteutetaan tämän projektin puitteissa, mahdollinen laajennus aikataulun mukaan. 4 Vaatimusten analysointi Luvussa analysoidaan asiakasvaatimuksia (ks. luku 2. asiakasvaatimukset). Lähes kaikki asiakasvaatimukset on hyväksytty asiakaspalavereissa ilman erillistä sopimusta. Myös laadullisia vaatimuksia on analysoitu ja osa varsin triviaaleista vaatimuksista saa selvemmän muodon tässä luvussa. (V1): Admin-hallinnointikomponentti täytyy olla niin selkeä, että ohjelmistoa voidaan käyttää helposti heti ensimmäisestä kerrasta lähtien. Kuitenkin voidaan olettaa, että käyttäjälle (museon henkilökunnalle) maalintujen pistelaskenta on tuttu jo entuudestaan, joten ohjekirjaa admin-käyttöliittymä ei tarjoa. (V2): Nykyinen maalintujen pistelaskentalomake ladataan lintuvaaraan Internetsivustolta (http://www.luomus.fi/seurannat/pistelaskenta/index.htm). Toteutus webpohjaiseksi lomakkeeksi tulee pitämään sisällään kaiken oleellisen tiedon mitä nykyinen
13 exel-pohjainen pistelaskentalomake. Web-pohjaisesta lomakkeesta on tarkoitus saada kaikki sama rengastus-informaatio kuin exel-pohjaisesta. (V3): Maalintujenpistelaskentaa on täytetty aikaisemmin käsin. Ohjelma tulee sisällyttää vanhat pistelaskentatiedot, jolloin niitä voidaan käyttää uudessa adminkäyttöliittymässä. Vanhaa tietoa tulee pystyä selaamaan sellaisenaan adminkäyttöliittymästä. (V4): Ohjelmiston tulee toimia Helsingin yliopiston Luonnontieteellinen keskusmuseon lintuvaara ympäristössä. Eli sen on tuettava web-pohjausta selaustapaa. (V5): Tulevaisuudessa ohjelmistolle tullaan suorittamaan jatkokehitystä. Tämän vuoksi on tärkeää, että ohjelmiston koodi on selkeätä, kommentoitua. Erilliset osat muodostavat selkeitä kokonaisuuksia niin, että osien rajapinnat ovat helposti ymmärrettävissä. (V6.) Ohjelma tulee osaksi lintuvaaraan suomenkielistä palvelua, joten on johdonmukaista, että ohjelmisto toteutetaan kokonaisuudessaan suomen kielellä. (V7). Tietoturva on otettava ohjelmistossa. Ohjelmiston testiversioita tehdessä on huomioita, että maalintujen pistelaskentatiedot eivät pääse sivullisien ulottuville (V8). Admin-käyttöliittymässä on huomioitava käyttäjäystävällisyys. Tällä tarkoitetaan niin helppokäyttöisyyttä kuin, että puuttuvat tiedot, väärät tiedot, sekä puutteelliset tiedot tulevat näkymään selkeästi adminille. (V9). Ohjelma vaatii sisään kirjautumisen lintuvaaran sisään kirjautumispalvelun kautta. Sisään kirjautuminen edellyttää museon myöntämän käyttäjätunnuksen ja salasanan. Ohjelma tullaan rakentamaan niin, että ilman sisään kirjautumista sitä on mahdotonta käyttää.
14 (V10). Admin-käyttöliittymän hakupalvelu tulee olla helppokäyttöinen. Se on sisällettävä oleelliset haku-attribuutit, jotka on määritelty yhdessä asiakkaan kanssa. 4.1 Laadullisien tavoitteiden analysointi (V11): Ohjelmisto toteutetaan Java-kielellä sen peruskirjastoja käyttäen. Ohjelman testaukseen on olemassa lintuvaaran oma testiympäristö, joka asiakkaan mukaan on täysin samanlainen, kuin minkä yhteyteen ohjelmistoa ollaan rakentamassa. (V12): Ohjelmiston on luotu erillisistä palasista, jotka kommunikoivat keskenään. Tämä helpottaa uusien palasien lisäystä. Ohjelmistossa otetaan myös huomiota luokkien välisien sidosteisuuksien minimointiin. (V13): Javan yleisien kommentointimallien käyttö helpottaa tulevia kehittäjiä. (V14): Testauksia tullaan suorittamaan läpi projektin. Testauksista tullaan luomaan erillinen testidokumentaatio, joka selventää testauksia asiakkaalle. Javan- testit tullaan suorittamaan JUnit-testeillä. Käytettävyystestauksessa hyödynnetään mahdollisesti museon henkilökuntaa. (V15): Oikeellisuuden todentamiseen päästään tarpeeksi kattavalla testauksella, sekä onnistuneella dokumentoinnilla. (V16): Pääpainoisesti pyrimme siihen, että ohjelma toimii oikein oikeellisella syötteellä. Mahdollisien virheellisien syöttötietojen sattuessa ohjelma ilmoittaa käyttäjälle niistä. Ohjelma kuitenkin vai varoittaa virheistä ei suinkaan automaattisesti korjaa niitä. Lopullinen tietokantaan tallennus jää adminin harteille. (V17): Ohjelmistosta pyritään tekemään mahdollisimman tehokas. (V18): Ohjelmiston käyttö osana lintuvaaranpalveluja ei aseta suurempia erityisvaatimuksia ohjelmiston käytettävyydelle. Toki ohjelmisto on uusi, joten käytön
15 opettele vie hieman aikaa. Samankaltaisen layoutin tekeminen adminhallinnointikomponenttiin kuin lintuvaaran muilla palveluilla helpottaa käyttäjää. Toiminnan selkeys on selvästi päätavoite käyttöliittymän ulkoasua tehdessä. Tämä voidaan varmistaa tarpeeksi laajalla käyttöliittymätestauksella. 5. Asiakaspalaveri määrittelyt Asiakaspalaveri määrittelyillä tarkoitetaan niitä mahdollisia epäselvyyksiä tai lausuntoja, jotka ovat olleet välttämättömiä projektin onnistumisen kannalta. Alle on koottu ne asiat joihin on tarvittu lisää määritelmiä, ohjeistusta tai lausuntoja. Alla olevat määritelmät auttavat myös jatkokehitystä tulevaisuudessa. Ongelman kohde: Perättäistiedosto (Pisteet.DAT) Kysymys: Miten suhtautua pisteiden lukumäärän vaihteluun saman reitin sisällä? Esimerkkitilanne: Jos pisteitä vuonna: 2001 20kpl vuonna 2002 17 kpl vuonna 2003 20kpl? Vastaus: Vuoden 2001 pistenumero:17 = vuoden 2002 pistenumero 17 = vuoden 2003 pistenumero 17. Saadaan olettaa kyseisellä tavalla. Ongelman kohde: Datan säilytys, perättäistiedosto Yleisesti: Laskenta tehdään joka vuosi enintään 7 vrk aikaisemmin tai myöhemmin kuin ensimmäisenä vuotena. Jos kevään edistyminen (toukokuunmuuttolintujen saapuminen, kasvillisuuden kehitys) noudattaa ensimmäistä laskentavuotta, laskentapäivän tulisi olla mahdollisimman tarkoin sama. Eli verrataan edellisen vuoden päivämäärien arvosta +-7
16 päivää (huomioita mahdolliset erikoistilanteet, kuukausissa eri määrä päiviä, Helmikuussa on 28 päivää, karkausvuonna 29 päivää). Ongelma: Tällä hetkellä perättäistiedossa yllä oleva ei toteudu. Eli havaitaan heittoja. Kysymys: Jos tulee heittoa +-7 päivästä niin tallennetaanko tiedot tietokantaan? Vastaus: Tallennetaan. Vertaaminen tapahtuu keskiarvoon eikä ensimmäiseen laskentapäivään. Kuitenkin peruspoiminnassa tulisi varoittaa käyttäjää jos +-7päivää menee rikki. Samankaltainen menettely pätee myös kellonaikoihin. Käyttäjää varoitetaan jos +-7 menee rikki. Esim:punainen reunuslaatikkoon, joka varoittaa käyttäjää tästä. Tämä on huomioitava myös admin-lomakkeen validoinnissa. 6. Ohjelmiston yleisrakenne Ohjelmiston yleisrakenteen tarkoituksena on antaa yleiskuva ohjelmiston yleisarkkitehtuurista. Ohjelman varsinainen määrittely on kuvattu erikseen suunnitteludokumentissa.
17 6.1 Arkkitehtuurikuvaus Kuva 1. Korkeantason arkkitehtuurikuvaus Admin: Admin toimii admin-käyttöliittymän kautta lomakkeiden muokkaajana, takaisin lähettäjänä, hylkääjänä, hyväksyjänä. Admin-käyttöliittymän voidaan sanoa olevan viisas, koska sen avulla voidaan tehdä useita eri toimintoja. Näitä toimintoja ovat käyttäjille: lomakkeen lähetys, käyttäjälle viestin lähetys, tietokantaan talletus, hakujen tekeminen tietokannasta tietyillä attribuuteilla.
18 Validointi: Validointi koostuu erillisestä validointi-kirjastosta. Validointi vastaa, että tietokantaan ei tallenneta mitään väärää tai turhaa tietoa. Lintuvaara-palvelun kautta lähetetään maalintujen pistelaskenta web-lomake adminille hyväksyttäväksi (näkyvyys admin käyttöliittymässä). Ennen kuin lomake näkyy adminille, lomake käy mutkan validointikirjaston kautta. Mikäli lomakkeessa on virheellisiä tai puutteellisia kohtia niin se palaa takaisin käyttäjälle, joka lomakkeen täytti. Kun lomakkeesta on täytetty oikein kaikki vaadittavat kentät, lomake siirtyy adminille. Admin voi korjata joitakin kohtia mitä käyttäjä on tallentanut lomakkeelle. Ennen lomakkeen talletusta tietotokantaan lomake käy vielä admin-näkymän kauta TipuAPI: Lintuvaara tarjoaa valmiin TipuAPI rajapinnan, jonka avulla voidaan hakea esimerkiksi lintuja, biotooppeja, sekä koordinaateilla paikkakuntia. TipuAPI kommunikoi ohjelmistomme tarvittaessa. Lintuvaara ja lomake: Lintuvaaran yhteyteen tullaan toteuttaamaan web-pohjainen maalintujen pistelaskenta lomake. Lomake hakee tietoja TipuAPI:sta tarpeen mukaan. Lomake validoidaan, validointikirjastossa ja sen jälkeen lähetetään adminille hyväksyttäväksi. Admin voi lähettää lomakkeen takaisin käyttäjälle lintuvaaraan, koska lomakkeessa ilmeni virheitä. Pulautin: Pulauttimen tarkoituksena on lukea vanhaa erillistiedostoa ja siirtää tiedot tietokantaan. Pulautin on myös yhteydessä Tipu-Apiin validoinnin takia. Erillistiedosto: Erillistiedosto pitää sisällään aikaisemmat maalintujen pistelaskentatiedot. Erillistiedoston tiedot siirretään tietokantaan.