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

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

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 Projektisuunnitelma

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

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

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

Lohtu-projekti. Testaussuunnitelma

Vaatimusmäärittelydokumentti Osatehtävä Jokeri

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

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

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

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

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

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

Käyttöohje. Tiput-ryhmä Ohjelmistotuotantoprojekti

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

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

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

Tietokannan luominen:

Action Request System

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

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

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

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

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

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

Ohjelmiston testaus ja laatu. Testausmenetelmiä

HELIA 1 (14) Outi Virkki Tiedonhallinta

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Ylläpito. Ylläpidon lajeja

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

Tikon Web-sovellukset

Matematiikan oppifoorumi Projektisuunnitelma

Fakta versio Forecast versio

Testaussuunnitelma Labra

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

Tietokannat II -kurssin harjoitustyö

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

ASIO Lyhytkurssiohjelman hakupalvelun kuvaus

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

Projektisuunnitelma. Tiput-ryhmä Ohjelmistotuotantoprojekti

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Ylläpitodokumentti Mooan

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

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

TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti. Versiohistoria:

SQL - STRUCTURED QUERY LANGUAGE

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

15. Ohjelmoinnin tekniikkaa 15.1

TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria:

Projektinhallintaa paikkatiedon avulla

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

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

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

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

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

Uutta Remote Support Platform 3.1 -versiossa

9. Periytyminen Javassa 9.1

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Microsoft Visual Studio 2005

1 Turnitin-tehtävä 1 ja 2 Moodlessa Opettajan näkymä Turnitin-tehtävässä Opettajan näkymä Turnitin-tehtävä 2:ssa...

TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria: Helsinki,

Tietokanta (database)

Javan asennus ja ohjeita ongelmatilanteisiin

F-Secure KEY salasanojenhallintaohjelman käyttöönotto PC -laitteella

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

eassari harjoitteluympäristön yleisrakenne

Formaalit menetelmät: Kirjaston formalisointi Z-kuvauskielellä

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

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

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

Uutta Remote Support Platform 3.0 -versiossa

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

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

Tikon Web-sovellukset

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

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

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

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Java ja tietokannan käsittely (JDBC)

Convergence of messaging

5. HelloWorld-ohjelma 5.1

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 0.4 04.05.2002 Neljäs luonnos. Vesa Teikari 0.5 05.05.2002 Viides luonnos. Peter Lindroos 0.6 06.05.2002 Vähäisiä korjauksia edelliseen luonnokseen. Vesa Teikari 0.7 07.05.2002 Korjauksia: kielioppia ja tekstin rakennetta. Vesa Teikari 1.0 12.05.2002 Kaikki uusiksi. Peter Lindroos Helsinki, 12. 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 2 Vaatimusmäärittely, suunnittelu ja niihin tehdyt muutokset 2 3 Toteutusratkaisut 3 4 Järjestelmään toteutetut uudet luokat 5 4.1 tipu.servlet.renpal.................... 5 4.2 tipu.servlet.retyyllapito............... 5 4.3 tipu.servlet.lasarjat................... 6 4.4 tipu.servlet.renkir.................... 6 4.5 tipu.servlet.krselaus................... 7 4.6 tipu.servlet.varejakelu................. 7 4.7 tipu.servlet.rehirrus................... 7 4.8 tipu.servlet.rengastajat................ 7 4.9 tipu.servlet.maat...................... 7 4.10 tipu.servlet.laanit.................... 8 4.11 tipu.servlet.lylalue................... 8 4.12 tipu.servlet.euring.................... 8 4.13 tipu.servlet.renkesupd.................. 8 4.14 tipu.servlet.lajiupd................... 8 4.15 tipu.servlet.sanasto................... 9 4.16 tipu.servlet.lintuasemat................ 9 4.17 tipu.servlet.rvhajoitus................. 9

2 5 Toteuttamatta jääneet piirteet ja parannusehdotukset 9 5.1 Virheiden korjaus.......................... 10

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. Muiden osien dokumentaatio on kuvattu Tipu4- [1] ja Tintti-projektin [2] dokumenteissa. 1.2 Tekninen sanasto ja käytetyt 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 - Javalla kirjoitettu ohjelmamoduuli, joka suoritetaan palvelimella, palvelinsovelma.

2 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. 2 Vaatimusmäärittely, suunnittelu ja niihin tehdyt muutokset Projektin vaatimukset ovat määritelty dokumentissa Graafinen käyttöliittymä lintujen rengastusjärjestelmään Vaatimusdokumentti (versio 1.2) [5]. Suunnittelu on kuvattu dokumentissa Graafinen käyttöliittymä lintujen rengastusjärjestelmään Suunnitteludokumentti (versio 1.4) [6]. Suunnittelu on tehty Vaatimusdokumentin määrittelyjen mukaan. Käytettyjen renkaiden selaus: näyttöön on lisätty palauta-toiminto. Rengasvälin hajoitus: näyttöön on lisätty palauta-toiminto. LYL-Alueiden ylläpito: kenttä LYL-Alue toteutettiin numeerisena kenttänä, ei alasvetovalikkona. Lajien ylläpito: näytöstä jätetty Peruuta-painike pois tarpeettomana. Lintuasemien ylläpito: alasvetovalikot Asema ja Kunta on vaihdettu normaaleiksi tekstikentiksi, joissa on popup-valikko.

3 3 Toteutusratkaisut 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 muodostamiseen johon servletin tuottama tieto ripustetaan. Lomakkeen ulkoasun määrittelyyn käytetään css-tyylimäärittelyjä, jotka liitetään lomakkeeseen käyttäjän selaimessa. 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 [1]. Servletit kirjoitettiin Java 1.2 -standardin mukaisesti. Lähdekoodi kommentoitiin siten, että siitä voidaan generoida Javadoc [3] -dokumentaatio. Selaimessa tehtävät tarkistukset ja alasvetovalikko on toteutettu JavaScriptillä. Näytöt laadittiin ilmaisen (GPL) FreeMarker-kirjaston avulla [4]. Alasvetovalikko on toteutettu osoitteesta http://www.brainjar.com saatavissa 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. Yliluokka tipu.servlet.tipuservlet on abstrakti luokka, jossa on toteutettu kaikkien servlettien yleinen toiminnallisuus eli haku, lisäys, poisto ja päivitys -operaatiot. TipuServlet Luokassa on kuvattu metodit, jotka käynnistetään aina ennen tai jälkeen, kun käyttäjä tekee jonkin valinnan lomakkeelta. Esim. metodi dosearchpre- Hook käynnistetään käyttäjän painettua Hae-painiketta, tämän jälkeen suoritetaan tietokantaoperaatio, joka tässä tapauksessa olisi haku eli SELECT operaatio. Haun jälkeen suoritetaan dosearchposthook. Muut toiminnot on toteutettu vastaavilla metodeilla. Jokainen aliluokka eli servletti sisältää vähintään seuraavat metodit:

4 void initialize() Metodi joka käynnistetään, kun tämä aliluokka ladataan ensimmäistä kertaa muistiin. Tässä voidaan hakea luokan tarvitsemaa staattista tietoa tietokannasta, esim. alasvetovalikoihin sijoitettavaa tietoa. String getsearchkey() Metodi jonka ainoa tehtävä on palauttaa se tietokannan kenttä, jonka mukaan tulosrelaatiot halutaan järjestää näytöllä. protected SimpleHash getindexrow(map values) Metodi palauttaa hakutuloslistan rivin SimpleHash-kenttinä. Tähän metodiin kuvataan ne kentät, jotka käyttäjä haluaa näkyväksi hakutuloslistassa. Tarkempi kuvaus metodin käytöstä löytyy ohjelmakoodista. Valinnaiset metodit, joita ei ole pakko toteuttaa: void doposthook() Suoritetaan aina kun käyttäjä on painanut mitä tahansa painiketta juuri ennen mallipohjan tulostamista näytölle. Tässä metodissa voidaan tehdä tarkistuksia jotka tehdään toiminnoista riippumatta. void dosearchprehook(), void dosearchposthook(), void doinsertprehook(), doinsertposthook(), void dodeleteprehook(), void dodeleteposthook(), doupdateprehook(), void doupdateposthook() Metodeja, jotka suoritetaan aina ko. operaatiota ennen PreHook tai jälkeen PostHook. Haukka -projektissa tehtäväksi jäi mallipohjien laatiminen ja näiden ennen ja jälkeen tietokantaoperaatioiden tapahtuvien metodien kirjoitus, eli tietokantaan vietävän tiedon tarkistus ja muokkaamminen. Luokka on kuvattu tarkemmin Tipu4-projektin toteutusdokumentissa [1, Kappale 3.9].

5 4 Järjestelmään toteutetut uudet luokat Kaikki projektin toteuttamat luokat ovat laajennuksia tipu.servlet.tipuservlet yläluokkaan. Tässä kappaleessa kuvataan tarkemmin vain ne ratkaisut, jotka poikkeavat yliluokan tarjoamista palveluista. 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ä palautus toiminto suorittaa Update-operaation, joka kuitenkin ohittaa tipu.servlet.tipuservlet yliluokan update toiminnon. Kaikki tarpeelliset tarkistukset ja lisäysoperaatiot suoritetaan doupdateprehook metodissa. Palautuksen yhteydessä tarkastetaan ettei yhtäkään palautetuista renkaista ole käytetty, ja että kyseiset renkaat on todella jaettu palauttajalleen. Itse palautus on jaettu neljään osaan jossa if else -lauseessa suoritetaan Update -operaatio kun palautetaan koko rengastajalle jaettu sarja, sarjan alkupää tai sarjan loppupää. Kun palautetaan sarjan keskeltä, tehdään käsittelyssä olevaan jakelutietueeseen update operaatio ja lisätään uusi loppupää. Palautuksen onnistumisesta ilmoitetaan values.put("notices", «ilmoitus>") komennon avulla yliluokalle, joka huolehtii tiedon esittämisestä tyylipohjalla. 4.2 tipu.servlet.retyyllapito Luokka ReTyYllapito huolehtii rengassarjojen hausta, lisäyksestä, poistosta ja ylläpidosta. Kohdetauluna on RENGAS.

6 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ä tarkistetaan, ettei jotakin välin rengasta ole jo jaettu tai rengastettu. 4.3 tipu.servlet.lasarjat Luokka LaSarjat huolehtii lajeille sallittujen sarjojen hausta, lisäyksestä ja päivityksestä. Kohdetaulu on RSARJA. Luokan init -metodissa haetaan kaikki sarjat tietokantakyselyllä: select distinct substr(rgtunnus1, 1, 2) from RENGAS order by substr(rgtunnus1, 1, 2) ja näytetään ne mallipohjalla alasvetovalikossa. Lisäyksen yhteydessä tarkistetaan, että laji löytyy LAJI-tietokantataulusta. 4.4 tipu.servlet.renkir Luokka RenKir huolehtii rengastajille jaettujen renkaiden selauksesta ja hävinneiden tuohoutuneiden renkaiden merkitsemisestä. Kohdetaulu on RENGASTUS. Näyton toiminnallisuudet eroavat suunnitteludokumentin määrittelyista siten, että näytto sisältää vain haku, palauta ja ohje toiminnallisuuden. Uusien suunnitteludokumentista puuttuvien määrittelyjen mukaan näyttoon kuuluisi viela Merkintä hävinneeksi-toiminto. Merkintä hävinneeksi-toiminto suorittaa Insert-operaation, joka kuitenkin ohittaa tipu.servlet.tipuservlet yliluokan insert-toiminnon. Kaikki tarpeelliset tarkistukset ja lisäysoperaatiot suoritetaan doinsertpre- Hook metodissa. Tätä toimintoa ei ole saatu implementoitua toimivaksi.

7 4.5 tipu.servlet.krselaus Luokka Krselaus huolehtii kaytettyjen renkaiden selauksesta. Kohdetaulu on REN- GASTETTU. 4.6 tipu.servlet.varejakelu Luokka VaReJakelu huolehtii värirenkaiden jakelusta. Käyttäjän syöttäessä uuden jakelun tarkistetaan kentän LALYH sallitut arvot, RENRO sallitut arvot (paljon) ja että jakopäivämäärä on menneisyydessä. Kohdetaulu on VRENGAS. 4.7 tipu.servlet.rehirrus Luokka ReHirrus huolehtii rengastusten hirrustietojen ylläpidosta. Kohdetaulu on RHIRRUS. 4.8 tipu.servlet.rengastajat Luokka rengastajat huolehtii rengastajatietojen ylläpidosta. Kohdetaulu on REN- GASTAJA. 4.9 tipu.servlet.maat Luokka Maat huolehtii maiden hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on OSOITEMAA, johon myös kaikki tietokantaoperaatiot kohdistuvat.

8 4.10 tipu.servlet.laanit Luokka Laanit huolehtii läänitietojen ylläpidosta. Kohdetaulu on LAANI, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.11 tipu.servlet.lylalue Luokka Lylalue huolehtii Lyl-alueiden ylläpidosta. Kohdetaulu on LYL_ALUE, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.12 tipu.servlet.euring Luokka Euring huolehtii maiden hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on ULKOMAINEN_PAIKKA, johon myös kaikki tietokantaoperaatiot kohdistuvat. 4.13 tipu.servlet.renkesupd Luokka RenKesUpd huolehtii rengaskeskusten hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on RENGASTUSKESKUS. 4.14 tipu.servlet.lajiupd Luokka LajiUpd huolehtii lajien hausta, lisäyksestä, päivityksestä ja poistosta. Kohdetaulu on LAJI.

9 4.15 tipu.servlet.sanasto Luokka Sanasto huolehtii SANASTO tietokantataulun tietueiden ylläpidosta. 4.16 tipu.servlet.lintuasemat Luokka Lintuasemat huolehtii LINTUASEMA tietokantataulun tietueiden ylläpidosta. 4.17 tipu.servlet.rvhajoitus 5 Toteuttamatta jääneet piirteet ja parannusehdotukset Projektin aikana tuli esille useita parannusehdotuksia ja joitakin edellisten projektien huomaamattajääneitä virheitä, joita ei ajanpuutteen vuoksi kyetty korjaamaan. Valikon todettiin toimivan väärin Internet Explorer 6.0:n eri versioilla, joten se vaihdettiin uuteen (HV Menu Ger Versluis 2000) ja määriteltiin sen parametrit muistuttamaan vanhaa valikkoa mahdollisimman paljon. Menun parametrit vaativat vielä hienosäätöä. 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.

10 Kun hakutulosten listauksessa saadaan yli 100 tietuetta, pitäisi lause "löytyi 100 sanaa"korvata lauseella "löytyi xx sanaa, joista 100 näytetään". Siniset viivat (HTML:n <HR> elementit) pitää vaihtaa siniseen viiva-imageen (sini.gif). Erityisesti Hakutulosten selauksessa <HR> elementtejä on vielä jäljellä. Värirenkaiden jakeluun pitää lisätä 80 merkkiä pitkä kommenttikenttä. Kommenttikenttä tulee lisätä VRENGAS-tietokantatauluun. Värirengastusten kommenttikenttää pitää pidentää ja lisätä uusina kenttinä jalkarenkaan rengastajan numero ja nimi, sekä värirenkaan rengastajan numero ja nimi. Renkaiden merkintä hävinneeksi-näyton Merkintä hävinneeksi-toiminto ei toimi. Päivämääräkentän mukaan ei voi hakea. 5.1 Virheiden korjaus Tintti-projektin koodiin oli jäänyt muutama ohjelmointivirhe, joiden korjaamiseen aika ei riittänyt. PVM:llä ei voi hakea. Rengastusten syöttö -lomakkeessa alempi Pvm kenttä on väärän muotoinen. Taulujen INPUT-kentät näkyvät IE 6.0:ssa keskitettynä. Tietokantataulut

11 Ohjelmakoodit (A) liitteenä omissa tiedostoissaan: alkokrunni@/home/local/haukka/jserv/servlet/*.java

12 Viitteet [1] Tipu4-projekti Toteutusdokumentti http://www.cs.helsinki.fi/group/tipu4/implementationspec/ [2] Tintti-projekti Toteutusdokumentti http://www.cs.helsinki.fi/group/tintti/documents/toteutus.pdf [3] Javadoc 1.2 http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/ [4] Freemarker http://freemarker.sourceforge.net/ [5] Haukka-projekti Vaatimusdokumentti http://www.cs.helsinki.fi/group/haukka/dokumentit/vaatimus.pdf [6] Haukka-projekti Suunnitteludokumentti http://www.cs.helsinki.fi/group/haukka/dokumentit/2003-suun.pdf