Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Samankaltaiset tiedostot
Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään. Vaatimusdokumentti

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään Projektisuunnitelma

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

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

Lohtu-projekti. Testaussuunnitelma

Loppuraportti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Toteutusdokumentti. Kotkat-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Matematiikan oppifoorumi Projektisuunnitelma

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

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

KIURU Tietotekniikan sovellusprojekti

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

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

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Projektisuunnitelma

Projektisuunnitelma. Tiput-ryhmä Ohjelmistotuotantoprojekti

Ylläpitodokumentti Mooan

Yhteenvetodokumentti. Halaan-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Action Request System

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

Käyttöohje. Tiput-ryhmä Ohjelmistotuotantoprojekti

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

Vaatimusmäärittelydokumentti Osatehtävä Jokeri

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektinhallintaa paikkatiedon avulla

Ylläpito. Ylläpidon lajeja

Testaussuunnitelma Labra

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

Convergence of messaging

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä ! Java luokkia n. 5000

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Ylläpitodokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Uutta Remote Support Platform 3.1 -versiossa

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

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

TIETOKANTA MERIKOTKIEN SEURANTAAN Projektisuunnitelma

Dogma Ylläpitodokumentti Helsingin yliopisto, Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti 20/12/2006

Vaatimusmäärittely. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Käyttöohje. Aija. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Ylläpitodokumentti

KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Suunnitteludokumentti

Toteutus. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

Tietokanta (database)

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Käyttöohje

TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria:

TIETOKANTA MERIKOTKIEN SEURANTAAN Projektisuunnitelma

Vaatimusdokumentti v. 1.0

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Digitaalisen median tekniikat. JSP ja XML

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

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Ylläpitodokumentti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Järjestelmäarkkitehtuuri (TK081702)

Yhteenvetodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Uutta Remote Support Platform 3.0 -versiossa

Suunnitteludokumentti

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

ARVO - verkkomateriaalien arviointiin

Suunnitteluvaihe prosessissa

Käyttöohje. MAITO metadatan hallintatyökalu. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Selaimen asetukset. Toukokuu (7) Selaimen asetukset Tikon Oy. All rights reserved.

Valppaan asennus- ja käyttöohje

Ylläpitodokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektisuunnitelma. Kotkat-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Lohtu-projekti. Määrittelydokumentti

Contents AdsML ympäristö... 2 AdsML Testi ympäristö... 2 AdsML tuotantoympäristö... 2 AdsML käyttöliittymä... 3 Kirjautuminen...

Ohjelmistotuotantoprojekti

Javan asennus ja ohjeita ongelmatilanteisiin

TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti. Versiohistoria:

KIURU Tietotekniikan sovellusprojekti

Testausraportti v.1.3

Transkriptio:

Graafinen käyttöliittymä lintujen rengastusjärjestelmään Toteutusdokumentti Versiohistoria: 0.1 19.04.2002 Ensimmäinen luonnos. Peter Lindroos 0.2 26.04.2002 Toinen luonnos. Vesa Teikari 0.3 02.05.2002 Kolmas luonnos. Peter Lindroos Helsinki, 3. toukokuuta 2002 Markus Päivinen Mari Jaakkola Peter Lindroos Tarja Rauste Simo Salmensuu Vesa Teikari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti Haukka

Sisältö 1 Johdanto 1 1.1 Dokumentin tarkoitus........................ 1 1.2 Tekninen sanasto ja käytetyt lyhenteet............... 1 1.2.1 Rengastuksiin liittyvä sanasto............... 1 1.3 Tekninen sanasto ja lyhenteet.................... 2 2 Vaatimusmäärittely, suunnittelu ja niihin tehdyt muutokset 3 2.1 Vaatimusdokumentti........................ 3 2.2 Suunnitteludokumentti....................... 3 3 Toteutusratkaisut 3 3.1 Ratkaisun filosofia ja toteutuksen toimintaperiaate......... 3 3.2 Käytetyt ohjelmointikielet..................... 4 3.3 Käytetyt luokkakirjastot ja ajurit.................. 4 4 Järjestelmään toteutetut uudet luokat 4 4.1 tipu.servlet.renpal.................... 4 4.2 tipu.servlet.retyyllapito............... 5 4.3 tipu.servlet.lasarjat................... 5 4.4 tipu.servlet.renkir.................... 5 4.5 tipu.servlet.krselaus................... 6 4.6 tipu.servlet.varejakelu................. 6 4.7 tipu.servlet.rehirrus................... 6 4.8 tipu.servlet.tahirrus................... 6 4.9 tipu.servlet.rengastajat................ 6 4.10 tipu.servlet.maat...................... 6

2 4.11 tipu.servlet.laanit.................... 6 4.12 tipu.servlet.lylalue................... 6 4.13 tipu.servlet.euring.................... 7 4.14 tipu.servlet.renkesupd.................. 7 4.15 tipu.servlet.lajiupd................... 7 4.16 tipu.servlet.sanasto................... 7 4.17 tipu.servlet.lintuasemat................ 7 5 Aikaisempaan toteutukseen tehdyt muutokset 7 5.1 Menu................................ 7 6 Toteuttamatta jääneet piirteet ja parannusehdotukset 8 6.1 Popup-valikko............................ 8 6.2 Virheiden korjaus.......................... 8

1 1 Johdanto 1.1 Dokumentin tarkoitus Ohjelmistotuotantoprojekti Haukka jatkoi Tipu4- ja Tintti-projektien työtä graafisen käyttöliittymän, WWW-Tipun, toteuttamiseksi lintujenrengastusjärjestelmään. Järjestelmä on käytössä Helsingin yliopiston Luonnontieteellisen keskusmuseon Rengastustoimistossa. Haukka-projektissa seurattiin Tipu4:n käyttöliittymäsuunnitelmaa ja toteutusmallia ja jatkettiin WWW-Tipu:n kehitystä Tintti-projektin mallin mukaisesti. Tässä dokumentissa kuvataan Haukka-projektin tekemät lisäykset ja muutokset lintujenrengastusjärjestelmän WWW-käyttöliittymään. Tarkempi kuvaus toteutetuista Java-luokista löytyy järjestelmän Javadoc-dokumnetaatiosta [xx]. Muiden osien dokumentaatio on kuvattu Tipu4- [xx] ja Tintti-projektin [xx] dokumenteissa. 1.2 Tekninen sanasto ja käytetyt lyhenteet 1.2.1 Rengastuksiin liittyvä sanasto Kontrolli Rengastajien suorittama lintuhavainto. Kontrollit tehdään pesiltä lintuja pyydystämällä tai esimerkiksi kiikaroinnilla. Löytö Ennestään rengastetun linnun kohtaaminen. Lintu voi olla elävä tai kuollut. Rengastaja on lintuharrastaja joka on oikeutettu ja koulutettu merkitsemään lintuja virallisilla linturenkailla. Rengastus Uuden renkaan laittaminen linnulle, jolla ei ennestään ole rengasta. Tapaaminen Ennestään rengastetun, elävän linnun kohtaaminen.

2 1.3 Tekninen sanasto ja lyhenteet Check Fortran kielinen ohjelma, joka huolehtii rengastuksiin ja tapaamisiin liittyvien tietojen tarkastuksista. Connection pool Ohjelmointiratkaisu, jolla voidaan rajata yhteydet johonkin tiettyyn resurssiin. Näitä yhteyksiä luodaan ja jaetaan asiakkaille dynaamisesti. JDBC-ajuri Java DataBase Connectivity - ajuri, mahdollistaa tietokantakutsut palvelinsovelmista. Mallipohja Käyttöliittymänäytön runko (Template), johon voidaan lisätä ohjelmallisesti vaihtuvia arvoja. Servlet on Javalla kirjoitettu ohjelmamoduuli, joka suoritetaan palvelimella, palvelinsovelma. SQL Structured Query Language. Standardi kyselykieli, jolla määrittetään erilaisia tietokantaoperaatioita. Tipukanta Eläinmuseossa käytettävä relaatiotietokanta rengastustietojen säilyttämiseen. WWW World Wide Web, maailmanlaajuinen tietoverkko. WWW-Tipu Tässä dokumentissa kuvattu graafinen käyttöliittymä lintujen rengastustietokannalle. Servlet Javalla kirjoitettu ohjelmamoduuli, joka suoritetaan palvelimella.

2 Vaatimusmäärittely, suunnittelu ja niihin tehdyt muutokset 3 Projektin vaatimukset ovat määritelty dokumentissa Graafinen käyttöliittymä lintujen rengastusjärjestelmään Vaatimusdokumentti (versio 1.3) [x]. Suunnittelu on kuvattu dokumentissa Graafinen käyttöliittymä lintujen rengastusjärjestelmään Suunnitteludokumentti (versio) [x, x]. 2.1 Vaatimusdokumentti 2.2 Suunnitteludokumentti Toteutus on tehty suunnitteludokumentin määrittelyjen mukaan. 3 Toteutusratkaisut 3.1 Ratkaisun filosofia ja toteutuksen toimintaperiaate Kuhunkin käyttöliittymän näyttöön liittyy yksi mallipohja, Java-Servlet sekä JavaScriptkoodi. Servlet-ohjelma vastaa toiminnallisuudesta ja palauttaa tietoa käyttäjälle. Tähän servlet käyttää apunaan mallipohjaa lomakkeen muodostami-seen johon servletin tuottama tieto ripustetaan. Lomakkeen ulkoasun määrittelyyn käytetään css-tyylimäärittelyjä, jotka liitetään lomakkeeseen käyttäjän selaimes-sa. Ennen lomakkeelle syötettyjen tietojen lähettämistä takaisin servletille tehdään tarkistus JavaScript-funktioilla. Ohjelmaan kuuluu myös yleiskäyttöisiä moduuleja, joilla hoidetaan mm. yhteydet tietokantaan.

4 3.2 Käytetyt ohjelmointikielet Servletit kirjoitettiin Java 1.2 [12, 2] -standardin mukaisesti. Lähdekoodi kommentoitiin siten, että siitä voidaan generoida Javadoc [13] -dokumentaatio [8]. Selaimessa tehtävät tarkistukset ja alasvetovalikko on toteutettu JavaScriptillä. 3.3 Käytetyt luokkakirjastot ja ajurit Näytöt laadittiin ilmaisen (GPL) FreeMarker-kirjaston avulla [3, 11]. Alasvetovalikko on toteutettu osoitteesta http://www.brainjar.com saa-tavissa olevalla Navigation Bar -sovelluksella, jonka lähdekoodi ja dokumentaatio ovat tiedostossa navbar.zip. Oracle 8i:n JDBC-ajurista on käytössä versio 8.1.7 for Java 1.2.x. 4 Järjestelmään toteutetut uudet luokat Kaikki projektin toteuttamat luokat ovat laajennuksia tipu.servlet.tipuservlet yläluokkaan. Tässä kappaleessa kuvataan vain ne ratkaisut, jotka poikkeavat yliluokan tarjoamista palveluista. tipu.servlet.tipuservlet luokka on kuvattu Tintti-projektin toteutusdokumentissa [tipu4tot, Kappale 3.9]. 4.1 tipu.servlet.renpal Luokka RenPal huolehtii rengastajille jaettujen renkaiden selailusta ja käyttämättä jättämien palautuksesta. Kohdetauluna on JAKELU. Servletti on toteutettu sikäli muista näytöistä poikkeavasti, että siinä Palautustoiminto suorittaa Update-operaation, joka kuitenkin ohittaa tipu.servlet.tipuservlet

5 yliluokan update toiminnon. Kaikki tarpeelliset tarkistukset ja lisäysoperaatiot suoritetaan douprateprehook metodissa. 4.2 tipu.servlet.retyyllapito Luokka ReTyYllapito huolehtii rengassarjojen hausta, lisäyksestä, poistosta ja ylläpidosta. Kohdetauluna on RENGAS. Koska rengassarjat ovat välejä (tietokannassa RGTUNNUS1 ja RGTUNNUS2), joudutaan tämän taulun ylläpidossa huomioimaan lisäyksen yhteydessä, etteivät uudet sarjat mene vanhojen kanssa päällekkäin: Poiston yhteydessä on tarkistetaan, ettei jotakin välin rengasta ole jo jaettu tai rengastettu. 4.3 tipu.servlet.lasarjat 4.4 tipu.servlet.renkir Luokka RenKir huolehtii rengastajille jaettujen renkaiden selauksesta ja hävinneiden/ tuohoutuneiden renkaiden merkitsemisestä. Kohdetaulu on RENGASTUS.

6 4.5 tipu.servlet.krselaus 4.6 tipu.servlet.varejakelu 4.7 tipu.servlet.rehirrus 4.8 tipu.servlet.tahirrus 4.9 tipu.servlet.rengastajat Luokka rengastajat huolehtii rengastajatietojen ylläpidosta. Kohdetaulu on REN- GASTAJA, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.10 tipu.servlet.maat Luokka Maat huolehtii maiden hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on OSOITEMAA, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.11 tipu.servlet.laanit Luokka Laanit huolehtii läänitietojen ylläpidosta. Kohdetaulu on LAANI, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.12 tipu.servlet.lylalue Luokka Maat huolehtii Lyl-alueiden ylläpidosta. Kohdetaulu on LYL_ALUE, johon myös kaikki tietokantaoperaatiot kohdistuvat.

7 4.13 tipu.servlet.euring Luokka Maat huolehtii maiden hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on OSOITEMAA, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.14 tipu.servlet.renkesupd Luokka RenKesUpd huolehtii rengaskeskusten hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on RENGSTUSKESKUS. 4.15 tipu.servlet.lajiupd Luokka LajiUpd huolehtii lajien hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on LAJI. 4.16 tipu.servlet.sanasto Luokka Sanasto huolehtii SANASTO tietokantataulun tietueiden ylläpidosta. 4.17 tipu.servlet.lintuasemat 5 Aikaisempaan toteutukseen tehdyt muutokset 5.1 Menu Valikon todettiin toimivan väärin Internet Explorer 6.0:n eri versioilla, joten se vaihdettiin uuteen (HV Menu (c) Ger Versluis 2000) ja määriteltiin sen parametrit muistuttamaan vanhaa valikkoa mahdollisimman paljon.

6 Toteuttamatta jääneet piirteet ja parannusehdotukset 8 Projektin aikana tuli esille useita parannusehdotuksia ja joitakin edellisten projektien huomaamattajääneitä virheitä, joita ei ajanpuutteen vuoksi kyetty korjaamaan. 6.1 Popup-valikko Popup valikon katsottiin olevan liian hidas latautumaan. Lisäksi se, että popup-servletti hakee kaikki koskaan tarvitsemansa tiedot kerralla muistiin, todettiin olevan huono ratkaisu silloin, kun on juuri lisätty uusi tietue ja pitäisi saada se popup-listaukseen. Tähän ehdotettiin ratkaisuksi uudelleenohjelmointia, jossa tietokannan tiedot haettaisiin aina kyselyn yhteydessä vain siitä taulusta johon kysely kohdistuu. Kun hakutulosten listauksessa saadaan yli 100 tietuetta, pitäisi lause "löytyi 100 sanaa"korvata lauseella "löytyi ainakin 100 sanaa". Siniset viivat (HR elementit) pitää vaihtaa siniseen viiva-imageen. Värirenkaiden jakeluun pitää lisätä 80 merkkiä pitkä kommenttikenttä. Värirengastusten kommenttikenttää pitää pidentää ja lisätä uusina kenttinä jalkarenkaan rengastajan numero ja nimi, sekä värirenkaan rengastajan numero ja nimi. 6.2 Virheiden korjaus Tintti-projektin koodiin oli jäänyt muutama ohjelmointivirhe, joiden korjaamiseen aika ei riittänyt.

9 Rengastusten syöttö -lomakkeessa alempi Pvm kenttä ei toimi oikein. Taulujen INPUT-kentät näkyvät IE 6.0:ssa keskitettynä. Tietokantataulut Ohjelmakoodit (A) liitteenä omissa tiedostoissaan: alkokrunni@/home/local/haukka/jserv/servlet/*.java Viitteet [tipu4tot] TIPU4-PROJEKTIRYHMÄ: Toteutusdokumnetti http: www.cs.helsinki.fi/group/tipu4/implementationspec/toteutus.html