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. 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

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

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

Lohtu-projekti. Testaussuunnitelma

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

Convergence of messaging

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

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

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

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

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

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

T Testiraportti - järjestelmätestaus

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmoinnin jatkokurssi, kurssikoe

Fingridin säätösähkötarjousohje. Vaksin käyttöohjeet

Käyttöohje. Tiput-ryhmä Ohjelmistotuotantoprojekti

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

Dokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

OHJE ATERIAPÄIVÄKIRJAN MUOKKAUKSEEN

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

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

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

Tietokannan luominen:

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

Mainosankkuri.fi-palvelun käyttöohjeita

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

5. HelloWorld-ohjelma 5.1

Testaussuunnitelma Labra

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

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

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

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

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

Käyttöohje. Visy Access Net UPM

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

Visma Fivaldi -käsikirja Asiakaskohtaiset hinnat

Omapalvelu. Omapalvelussa voit

Asiointipalvelun ohje

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

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

Ylläpitodokumentti Mooan

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

Ohjeita Omapalvelun käyttöön

Toimittajaportaalin pikaohje

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

Hakemistojen sisällöt säilötään linkitetyille listalle.

Action Request System

Järjestelmäarkkitehtuuri (TK081702)

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

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

Tikon kassamaksujen käsittely

Tietokannat II -kurssin harjoitustyö

Fakta versio Forecast versio

EURA 2007 EU:N RAKENNERAHASTOJEN HALLINTAJÄRJESTELMÄ. Projektin toteuttajan yhteystietojen ylläpito ja salasanan vaihtaminen

Projektinhallintaa paikkatiedon avulla

Ohjelmoinnin perusteet Y Python

Toimittajaportaalin pikaohje

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

INTINU13A6 Java sovellukset

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

Tikon Web-sovellukset

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

Vaatimusmäärittelydokumentti Osatehtävä Jokeri

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Titta-palvelun käyttöohje

ASENNUS JA KÄYTTÖOHJE

KÄYTTÖOHJE SISÄLLYSLUETTELO KIRJAUTUMINEN JÄRJESTELMÄÄN...2 JÄLKITOIMITUSKÄSITTELY...8 TUOTTEEN ETSIMINEN TILAUSTA TEHDESSÄ...9

EVTEK-PROJEKTORI KÄYTTÖOHJE Tekijä: Teemu Tammivaara VBP04S

Toimittajaportaalin rekisteröityminen Toimittajaportaalin sisäänkirjautuminen Laskun luonti Liitteen lisääminen laskulle Asiakkaiden hallinta Uuden

UTIFLEET-VARAUSJÄRJESTELMÄ KÄYTTÄJÄN OHJE. Gospel Flight ry

Ohjelmoinnin perusteet Y Python

ASENNUS- JA KÄYTTÖOHJE

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto

UUDEN NETTIJÄSENREKISTERIN OHJEET. Kirjaudu sisään antamalla käyttäjätunnus ja salasana

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

Tikon ostolaskujen käsittely

OHJEITA OMAPALVELUN KÄYTTÖÖN

Transkriptio:

Graafinen käyttöliittymä lintujen rengastusjärjestelmään Suunnitteludokumentti Versiohistoria: 0.1 21.02.2002 Ensimmäinen luonnos. Tarja Rauste, Simo Salmensuu 0.2 22.02.2002 Toinen luonnos. Näyttöjä lisätty. Tarja Rauste, Simo Salmensuu 0.3 26.02.2002 Kolmas luonnos. Näyttöjä lisätty. Tarja Rauste, Simo Salmensuu 0.4 28.02.2002 Neljäs luonnos. Näyttöjä lisätty. Tarja Rauste, Simo Salmensuu Helsinki, 28. helmikuuta 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 Tuotteen tausta ja tarkoitus..................... 1 1.2 Tärkeimmät vaatimukset...................... 2 2 Suunnittelun ja toteutuksen rajoitukset 3 2.1 Yhdenmukaisuus aiemmin toteutettuihin käyttöliittymän osiin.. 3 2.2 Noudatettavat standardit...................... 3 2.3 Muut tarvittavat ohjelmat...................... 3 2.4 Ohjelmointityyli........................... 4 3 Järjestelmän yleiskuvaus 4 3.1 Toimintaympäristö......................... 5 4 Moduulikuvaukset 5 4.1 Näytöt................................ 6 4.1.1 Renkaiden palautus..................... 6 4.1.2 Rengastyyppien ylläpito.................. 6 4.1.3 Lajeille sallitut sarjat.................... 8 4.1.4 Renkaan merkitseminen hävinneeksi/tuhoutuneeksi.... 9 4.1.5 Käytettyjen renkaiden selaus................ 9 4.1.6 Rengasvälin hajoitus.................... 12 4.1.7 Rengastajien ylläpito.................... 12 4.1.8 Maatietojen ylläpito.................... 14 4.1.9 Läänien ylläpito...................... 15 4.1.10 LYL-alueiden ylläpito................... 17 4.1.11 Euring-provinssien ylläpito................. 17

2 4.1.12 Rengastuskeskusten ylläpito................ 20 4.1.13 Lajien ylläpito....................... 20 4.1.14 Sanaston ylläpito...................... 20 4.1.15 Lintuasemien ylläpito................... 23 4.1.16 Värirenkaiden jakelu.................... 25 4.1.17 KORJAA: Näyttöjen toimintokuvaukset.......... 26 4.2 Servlet-luokat............................ 29 4.3 Mallipohjat............................. 34 4.3.1 Mallipohjan rakenne.................... 35 4.3.2 Näytön tilat......................... 36 5 Testaussuunnitelma 36 5.1 Komponenttitestaus......................... 36 5.2 Integrointitestaus.......................... 37 5.3 Validointitestaus........................... 37 Viitteet 38

1 1 Johdanto 1.1 Tuotteen tausta ja tarkoitus Helsingin yliopiston Luonnontieteellisen keskusmuseon Rengastustoimisto organisoi lintujen rengastuksen Suomessa. Rengastuksia ja rengastettujen lintujen havaintoja koskevat tiedot talletetaan tietokantaan, joka liittyy suurempaan tietokantajärjestelmään. Tämän avulla sekä tulostetaan rengastajille, maallikoille ja ulkomaisille rengastuskeskuksille kirjeitä että tuotetaan raportteja ja tutkimusdataa tutkijoile, päättäjille ja valistajille. Rengastustoimistossa on tuotantokäytössä SQL*Forms kehittimellä toteutettu merkkipohjainen käyttöliittymä rengastustietokantaan. Tämä vanhentunut käyttöliittymä on tarkoitus vaihtaa nykyaikaisempaan. Projektin tarkoituksena on jatkaa aikaisempien ohjelmistotuotantoprojektien, Tipu4:n ja Tintin, aloittamaa graafisen käyttöliittymän suunnittelua ja toteuttamista. Käyttöliittymä muodostuu interaktiivisista WWW-lomakkeista, joilla Rengastustoimiston väki voi syöttää tietokannan tauluihin suoraan tietoja. Käyttöliittymä tarjoaa rajapinnan tietokannan tauluihin, tarkistaa syötetyt tiedot ja tallentaa tiedot kantaan. Tuotantokäytössä olevan järjestelmän osia on tarkoitus käyttää toteutuksessa hyväksi soveltuvin osin. Tipu4:n ja Tintin tuottama suunnittelu ja toteutus tarjoavat valmiin mallin lopulliselle tuotteelle. Nämä materiaalit ovat suoraan hyödynnettävissä tässä projektissa, ja käyttöliittymä on tarkoitus toteuttaa pääosin Tipu4:n tekemän käyttöliittymäsuunnitelman mukaan.

2 1.2 Tärkeimmät vaatimukset Projektin aikana on tarkoitus toteuttaa lintujen rengastusjärjestelmän puuttuvat näytöt: Renkaiden palautus, Rengastyyppien ylläpito, Lajeille sallitut sarjat, Renkaan merkitseminen hävinneeksi/tuhoutuneeksi, Käytettyjen renkaiden selaus, Rengasvälin hajoitus, Rengastajien ylläpito, Maatietojen ylläpito, Läänien ylläpito, LYL-alueiden ylläpito, Euring-provinssien ylläpito, Rengastuskeskusten ylläpito, Lajien ylläpito, Sanaston ylläpito Lintuasemien ylläpito ja Värirenkaiden jakelu. Uusien näyttöjen ulkomuodon ja toiminnallisuuden tulisi olla yhteneväinen projektiryhmien Tipu4 ja Tintti toteuttamien näyttöjen kanssa. Näin käyttöliittymästä muodostuu yhdenmukainen kokonaisuus. Ohjelmiston vaatimukset on kuvattu tarkemmin Määrittelydokumentissa.

3 2 Suunnittelun ja toteutuksen rajoitukset 2.1 Yhdenmukaisuus aiemmin toteutettuihin käyttöliittymän osiin Jotta lopullisen käyttöliittymän yhdenmukaisuus voidaan varmistaa, noudattavat myös uusina toteutettavat näytöt Tipu4-projektin suunittelu- ja toteutusvalintoja. Koska ratkaisut on testattu ja todettu toimiviksi ja asiakas on niihin tyytyväinen, voidaan Haukka-projektissa hyödyntää myös projektiryhmien Tipu4 ja Tintti kehittämiä yleiskäyttöisiä moduuleja (esimerkiksi tietokantayhteyden luomiseen) joko suoraan tai periyttämällä. Haukka-projektin suunnittelun osuus käsittää lähinnä toteutettavien näyttöjen sisällön selvittämisen, käytettävien tietokannan osien määrittelemisen sekä tarvittavien moduulien valitsemisen. 2.2 Noudatettavat standardit Servlet-ohjelmamoduuli kommunikoi käyttäjän kanssa HTTP 1.1 -protokollan mukaisesti. Asiakaspäätteellä näkyvät uudet HTML-dokumentit kirjoitetaan HTML 4.01 -spesifikaation mukaisesti. Java-ohjelmakoodin ulkoasu on Sun Microsystemsin Java Code Conventions -spesifikaation mukainen. 2.3 Muut tarvittavat ohjelmat WWW-Tipu tarvitsee toimiakseen Oracle 8-tietokannanhallintajärjestelmän sekä Apache Web Server (versio 1.3.12) -www-palvelimen, jossa on Apache JServ (versio 1.1.2) -moduuli.

4 2.4 Ohjelmointityyli WWW-Tipu kirjoitetaan Sun Microsystemsin kehittämällä Java 1.2 -kielellä. Kielen syntaktinen ulkoasu (mm. sisennystyyli, isojen ja pienten kirjainten käyttö) on Java Code Conventions -spesifikaation mukainen. Luokkien, metodien ja muuttujien nimet kirjoitetaan englanniksi, jotta niistä tulisi johdonmukaisia Java-kielen varattujen sanojen ja valmiiden luokkakirjastojen nimien kanssa. Tulostettava teksti ja kommentit kirjoitetaan suomeksi, jotta ne olisivat yhdenmukaisia aikaisemman järjestelmän tulostamien tekstien kanssa. 3 Järjestelmän yleiskuvaus Kuva 1: Järjestelmän servlet-luokkien luokkakaavio Haukka-projektissa käytetään Tipu4- ja Tintti-projekteissa kehitettyjä tietokannan käsittelyluokkia, TipuServlet- ja Popup-luokkia sekä apuluokkaa ja Coords (Kuva 1). TipuServlet on abstrakti luokka josta jokainen WWW-Tipu-järjestelmän servletti periytyy. Popup toimii apuluokkana servleteille. Coords on koordinaattien käsittelyyn tarvittava apuluokka. TipuProperties sisältää tipu-järjestelmän properties-tiedot.

5 3.1 Toimintaympäristö Ohjelmisto toteutetaan Java Servlet-tekniikalla Unix-ympäristössä. Servletit käyttävät järjestelmässä valmiina olevia tietokantakomponentteja. Projektin aikana käytettävät Java Servlet -ajoympäristö (Apache JServ 1.1.2 ) ja Java-kääntäjä (Sun J2SE 1.2.2 ) sijaitsevat TKTL:n Unix-palvelimella alkokrunni alias db.cs.helsinki.fi.valmis WWW-tipu-ohjelma tullaan sijoittamaan ATK-osaston palvelimeen. WWW-etusivu ladataan eläinmuseon käyttämältä WWW-palvelimelta ja loput sivuista luodaan käyttäjän valintojen mukaan Unix-palvelimelle sijoitettavien servlettien avulla. WWW-lomakkeiden tiedot lähetetään Java servleteille HTTP-protokollan GET- ja POST-toiminnoin, tulosteet generoidaan asiakkaan selaimelle. HTML sivuissa tullaan käyttämään JavaScriptiä yksinkertaisten tarkistusten suorittamiseen. Järjestelmä on ensisijaisesti suunniteltu käytettäväksi Internet Explorer- selaimen versiolla 4.0 tai uudemmalla. 4 Moduulikuvaukset Tässä dokumentissa kuvataan toteutettaviksi valittujen näyttöjen sisältö ja niihin suoraan liittyvät servlet-moduulit. Muut toteutuksessa käytetyt luokat on kuvattu Tipu4-projektin suunnittelu- ja toteutusdokumenteissa. 4.1 Näytöt Toteutettavien näyttöjen ulkonäkö tulee noudattamaan Tipu4:n ja Tintin suunnitteluja toteutusvalintoja. Näyttöjen sisältämät kentät määräytyvät pitkälti vanhojen SQL*Formsnäyttöjen kenttien mukaan. Tiedot siitä, mihin tietokannan kenttiin mitkäkin näyttöjen kentät tallennetaan, ovat liittessä 1. Liitteestä 2 löytyy myös lista niistä käyttöliittymän valikoista, joi-

6 Kuva 2: Näyttö Renkaiden palautus Kuva 3: Näyttö Rengastyyppien ylläpito den arvot haetaan SANASTO-taulusta. Liitteessä on listattu myös koodit, joiden perusteella haku suoritetaan. 4.1.1 Renkaiden palautus Renkaiden palautus -näyttö (Kuva 2) vastaa vanhan järjestelmän näyttöä 1.2. Tietokantatoiminnot kohdistuvat JAKELU JA RENGASTAJA-tauluun. Näytön toiminnot Näyttö sisältää haku-, lisäys- ja peruuta-toiminnot. 4.1.2 Rengastyyppien ylläpito Rengastyyppien ylläpitonäyttö (kuva 3) vastaa vanhan järjestelmän näyttöä 1.3. Numeerisen arvon sisältävät kentät: Läpimitta ja korkeus. Rengasväli: Kenttä koostuu kahdesta kentästä (RGTUNNUS1 ja RGTUNNUS2) joiden avulla käyttäjä voi hakea jo olemassaolevia rengasvälejä. Kun käyttäjä syöttää ensimmäiseen kenttään jonkin arvon ja siirtyy seuraavaan kenttään, ensimmäisen kentän tieto kopioidaan valmiiksi ko. toiseen kenttään. Tietokantatoiminnot kohdistuvat RENGAS-tauluun. Näytön toiminnot

7 Kuva 4: Näyttö Lajeille sallitut sarjat Kuva 5: Näyttö Renkaan merkitseminen hävinneeksi/tuhoutuneeksi Näyttö sisältää lisäys-, haku-, ylläpito-, palautus-, tyhjennys- ja ohje-toiminnot. 4.1.3 Lajeille sallitut sarjat Lajeille sallitut sarjat (kuva 4) vastaa vanhan järjestelmän näyttöä 1.4 Laji: Koostuu lajin lyhennekentästä sekä popup-valikosta. Käyttäjä voi suoraan kirjoittaa lajin lyhenteen kenttään, jonka perusteella lajin sallitut sarjat haetaan näytölle. Tai lajitieto voidaan hakea popup-valikosta, jonka arvo (LALYH) haetaan RSARJA-taulusta. Tyyppi: Kenttä saa arvot NULL (sallittu) tai H (hyväksyttävä). Tietokantatoiminnot kohdistuvat RSARJA-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, palautus-, tyhjennys- ja ohje-toiminnot. 4.1.4 Renkaan merkitseminen hävinneeksi/tuhoutuneeksi Renkaiden merkitseminen hävinneeksi/tuhoutuneeksi -näyttö (kuva 5) vastaa vanhan järjestelmän näyttöä 2.3. Tietokantatoiminnot kohdistuvat RENGASTUS JA RENGASTAJA-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, ja peruuta-toiminnot.

8 Kuva 6: Näyttö Käytettyjen renkaiden selaus 4.1.5 Käytettyjen renkaiden selaus Kuva 7: Näyttö Rengasvälin hajoitus Käytettyjen renkaiden selausnäyttö (kuva 6) vastaa vanhan järjestelmän näyttöä 2.5. Kaikki muut, paitsi Renkaan tila-kenttä ovat tekstikenttiä. Renkaan tila-kenttä voidaan toteuttaa pudotusvalikkona, koska mahdollisia vaihtoehtoja on vähän. Tietokantatoiminnot kohdistuvat RENGASTETTU-tauluun. Näytön toiminnot Näyttö sisältää haku-, -tyhjennys- ja ohje-toiminnot. 4.1.6 Rengasvälin hajoitus Rengasvälin hajoitus -näyttö (kuva 7) vastaa vanhan järjestelmän näyttöä 2.6. Näytön molemmat kentät ovat tekstikenttiä. Tietokantatoiminnot kohdistuvat?????-tauluun. Näytön toiminnot Näyttö sisältää haku-, pilko-, tyhjennys- ja ohje-toiminnot. 4.1.7 Rengastajien ylläpito Rengastajien ylläpitonäyttö (kuva 8) vastaa vanhan järjestelmän näyttöä apu01.

9 Kuva 8: Näyttö Rengastajien ylläpito Kuva 9: Näyttö Maatietojen ylläpito Rengastaja: Rengastajan numero, jonka perusteella käyttäjä suorittaa haun tietokannasta. Käyttäjä voi kirjoittaa suoraan rengastajan numeron kenttään, jonka perusteella rengastajan nimi haetaan. Tai molemmat voidaan hakea popupvalikosta, jonka arvot RENGASTAJA, REETUNIMI JA RESUKUNIMI haetaan RENGASTAJA-taulusta. Käyttäjä ei voi suoraan ylläpitää nimi-kenttiä. Pakollisina täytettävänä olevat kentät: Rengastajanumero. Lisäyksessä arvo saadaan kyselyllä SELECT MAX RENRO+1 FROM RENGASTAJA Numeerisen arvon sisältävät kentät: Rengastajanumero Kentät, joita käyttäjä ei voi ylläpitää: Rengastajanumero ja Päivitys pvm. Tietokantatoiminnot kohdistuvat RENGASTAJAtauluun Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, palautus-, tyhjennys- ja ohjetoiminnot. 4.1.8 Maatietojen ylläpito Maatietojen ylläpitonäyttö (kuva 9) vastaa vanhan järjestelmän näyttöä apu03. Maatunnus: Koostuu osoitemaan maatunnuskentästä sekä popup-valikosta. Käyttäjä voi suoraan kirjoittaa maan lyhenteen kenttään, jonka perusteella maan nimi haetaan. Tai tieto voidaan hakea popup-valikosta, jonka arvo (OMLYH) haetaan OSOITEMAA-taulusta.

10 Kuva 10: Näyttö Läänien ylläpito Maan nimi: Käyttäjä voi kirjoittaa maan nimen kenttään ja hakea sen tiedot lomakkeelle. Käyttäjä ei voi suoraan ylläpitää nimi-kenttää. Tietokantatoiminnot kohdistuvat OSOITEMAA-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, palautus-, tyhjennys- ja ohjetoiminnot. 4.1.9 Läänien ylläpito Läänien ylläpitonäyttö (kuva 10) vastaa vanhan järjestelmän näyttöä apu04. Lääninumero: Läänin numero, jonka perusteella käyttäjä suorittaa haun tietokannasta. Käyttäjä voi valita läänin numeron alasvetovalikosta, jonka perusteella läänin nimi ja ruotsinkielinen nimi haetaan. Kenttien arvot LNNRO, LNNIMI ja LN- NIMIR haetaan LAANI-taulusta. Käyttäjä ei voi suoraan ylläpitää nimi-kenttiä. Pakollisina täytettävänä olevat kentät: Lääninumero. Lisäyksessä arvo saadaan kyselyllä SELECT MAX LNNRO+1 FROM LAANI. Numeerisen arvon sisältävät kentät: Lääninumero Kentät, joita käyttäjä ei voi ylläpitää: Lääninumero Tietokantatoiminnot kohdistuvat LAANI-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, palautus-, tyhjennys- ja ohjetoiminnot.

11 Kuva 11: Näyttö LYL-alueiden ylläpito Kuva 12: Näyttö Euring-provinssien ylläpito 4.1.10 LYL-alueiden ylläpito LYL-alueiden ylläpitonäyttö (kuva 11)vastaa vanhan järjestelmän näyttöä 6.6. LYL-alue-kenttä voidaan toteuttaa editoitavana pudotusvalikkona. Näin käyttäjä voi päivittää tai lisätä uuden LYL-alueen. Numeerisen arvon sisältävät kentät: LYL-alue Tietokantatoiminnot kohdistuvat LYL-ALUE-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, tyhjennys- ja ohje-toiminnot. 4.1.11 Euring-provinssien ylläpito Euring-provinssien ylläpitonäyttö (Kuva 12) vastaa vanhan järjestelmän näyttöä apu07. Pakollisina täytettävänä olevat kentät: KORJAA: 4.1.12 Rengastuskeskusten ylläpito Rengastuskeskusten ylläpitonäyttö (Kuva 13) vastaa vanhan järjestelmän näyttöä apu08.

12 Kuva 13: Näyttö Rengastuskeskusten ylläpito Kuva 14: Näyttö Lajien ylläpito Tietokantatoiminnot kohdistuvat RENGASTUSKESKUS-tauluun. Näytön toiminnot Näytön toiminnot: Näyttö sisältää lisäys-, haku-, ylläpito-, poisto- ja peruutatoiminnot. 4.1.13 Lajien ylläpito Lajien ylläpitonäyttö (Kuva 14) järjestelmän näyttöä apu09. Numeerisen arvon sisältävät kentät: Lajinumero, siivenpituuden ala- ja yläraja, painon ala- ja yläraja, kolmannen käsisulan pituuden ala- ja yläraja, renkaan läpimitan rajat, rengaskorkeuden rajat, lajin EURING-koodi, poikasen siiven ala- ja yläraja, poikasen painon ala- ja ylärajat sekä poikasen 3. käsisulan ala- ja yläraja. Tietokantatoiminnot kohdistuvat LAJI-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, ja peruuta-toiminnot. 4.1.14 Sanaston ylläpito Sanasto vastaa (Kuva 15) vanhan järjestelmän näyttöä apua.

13 Kuva 15: Näyttö Sanaston ylläpito Kuva 16: Näyttö Lintuasemien ylläpito Numeerisen arvon sisältävät kentät: muuttuja. Tietokantatoiminnot kohdistuvat SANASTO-tauluun. Näytön toiminnot Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, palautus-, tyhjennysja ohje-toiminnot. 4.1.15 Lintuasemien ylläpito Lintuasemien ylläpitonäyttö (Kuva 16)vastaa vanhan järjestelmän näyttöä apu11. Asema: Aseman lyhenne, jonka perusteella käyttäjä suorittaa haun tietokannasta. Käyttäjä voi valita lyhenteen alasvetovalikosta, minkä perusteella aseman muut tiedot haetaan. Alavetovalikon arvot (LTASEMALYH ja LTNIMI) haetaan LINTUASEMAtaulusta. Kunta: Kenttä, johon käyttäjä voi suoraan kirjoittaa kuntalyhenteen tai hakea sen pop-up valikosta. Valikon arvot haetaan KUNTA-taulusta.(KULYH ja KUNIMI) Pakollisina täytettävänä olevat kentät: Aseman lyhenne. Lisäyksessä arvo saadaan ottamalla 6 ensimmäistä kirjainta aseman nimestä. Numeerisen arvon sisältävät kentät: Rengastajanro, säde sekä koordinaattikentät Kentät, joita käyttäjä ei voi ylläpitää: Aseman lyhenne Tietokantatoiminnot kohdistuvat LINTUASEMA-tauluun. Näytön toiminnot

14 Kuva 17: Näyttö Värirenkaiden jakelu Näyttö sisältää lisäys-, haku-, ylläpito-, poisto-, palautus-, tyhjennys- ja ohjetoiminnot. 4.1.16 Värirenkaiden jakelu Värirenkaiden jakelu -näyttö (Kuva 17) vastaa vanhan järjestelmän näyttöä 1.5. Numeerisen arvon sisältävät kentät: Rengastaja. Tietokantatoiminnot kohdistuvat VRENGAS-tauluun. Näytön toiminnot Näytön toiminnot: Näyttö sisältää lisäys-, haku-, ylläpito-, palautus-, tyhjennysja ohje-toiminnot. 4.1.17 KORJAA: Näyttöjen toimintokuvaukset KORJAA: Tapaamistietojen lisäys 1. Suoritetaan javascript-tarkistukset (kaikki pakolliset kentät on täytetty ja kenttien arvot ovat oikean tyyppisiä). 2. Lähetetään lomake servletille käsiteltäväksi. 3. Tiedot tallennetaan VROSKA-tauluun. Ja suoritetaan commit-käsky. 4. Jos tietojen tallennus VROSKA-tauluun onnistui, kutsutaan Fortran-ohjelmaa, joka tarkistaa tiedot. Jos tiedot hyväksytään, tallentaa ohjelma ne automaattisesti oikeisiin tietokantatauluihinsa.

15 5. Fortran-ohjelma tallentaa VTXT-tauluun tiedon siitä, onnistuiko tietojen tarkistus ja tallennus. Jos se onnistui, tallentaa se tauluun yhden rivin, jossa RETCODE-kentän arvo on 0. Muuten se kirjoittaam yhden tai useamman virheilmoitusrivin VTXT-tauluun. 6. Luetaan VTXT-taulusta Fortran-ohjelman tallentamat tiedot. 7. Palautetaan käyttäjän tallentamat tiedot näytölle ja ilmoitetaan tallennuksen onnistumisesta tai näytetään mahdollinen virheilmoitus. 8. Käyttäjä voi yrittää tallennusta uudelleen korjaamalla tietoja. KORJAA: Muiden tietojen lisäys Kuten tapaamistietojen lisäys, mutta Fortrantarkistusohjelmaa ei kutsuta vaan kaikki tarkistukset tehdään joko javascriptillä tai servletissä ja tiedot tallennetaan suoraan oikeaan tauluunsa. Haku 1. Suoritetaan javascript-tarkistukset käyttäjän syöttämille hakutekijöille 2. Lähetetään lomake servletille 3. Suoritetaan haku 4. Jos haun tuloksena on vain yksi tietue, näytetään sen sisältämät tiedot näytöllä. Muuten esitetään lista löydetyistä tietuesta, joita klikkaamalla käyttäjä pääsee näkemään kunkin yksityiskohtaiset tiedot. KORJAA: Tapaamistietojen ylläpito 1. Suoritetaan javascript-tarkistukset (kaikki pakolliset kentät on täytetty ja kenttien arvot ovat oikean tyyppisiä).

16 2. Lähetetään lomake servletille käsiteltäväksi 3. Tiedot tallennetaan TAPAAMINEN-tauluun ja suoritetaan commit-käsky. 4. Jos tallennus onnistui, kutsutaan Fortran-ohjelmaa, joka tarkistaa tiedot. 5. Fortran-ohjelma kirjoittaa VTXT-tauluun tiedon tarkistuksen ja tallennuksen onnistumisesta kuten Tapaamistietojen lisäyksessäkin. 6. Luetaan mahdollinen virheilmoitus VTXT-taulusta. 7. Palautetaan käyttäjän tallentamat tiedot näytölle ja ilmoitetaan tallennuksen onnistumisesta tai näytetään mahdollinen virheilmoitus. 8. Käyttäjä voi yrittää tallennusta uudelleen. KORJAA: Muiden tietojen ylläpito Kuten tapaamistietojen ylläpito, mutta Fortrantarkistusohjelmaa ei kutsuta vaan kaikki tarkistukset tehdään joko javascriptillä tai servletissä. KORJAA: Pakotus Pakotus-toiminto on käytössä vain tapaamistietojen syötössä ja ylläpidossa. Toiminto käynnistetään muista toimintopainikkeista hieman erilleen sijoitettavasta, punaisesta Pakota-painikkeesta. Painikkeen väri ja sijainti muutetaan vastaavaksi myös Tipu4:n rengastusten syöttö- ja ylläpitonäyttöihin. Pakotus-toiminnossa ei suoriteta tietojen tarkistuksia vaan tallennetaan tiedot suoraan tietokantaan (Tapaamistietojen lisäyksessä VROSKA-tauluun ja ylläpidossa TAPAAMINEN-tauluun). Fortran-tarkistusohjelmaa kutsutaan parametreilla, jotka kertovat kyseessä olevan pakotuksen. Ohjelma kirjoittaa tiedot toiminnon onnistumisesta tai epäonnistumisesta VTXT-tauluun samaan tapaan kuin esimerkiksi Tapaamistietojen lisäyksessä.

17 Poisto Kun näytölle on haettu yhden tietueen tiedot, voidaan ne poistaa tietokannasta painamalla Poista-painiketta. Ainoastaan yhden tietueen tiedot voi kerrallaan poistaa. Kullakin sivulla varmistetaan käyttäjältä tämän halukkuus poistoon ennen varsinaista tietojen poistamista. Lisäksi Tapaamisten ylläpitonäytössä tarkistetaan löytyykö samalla Diario-kentän arvolla rivi VTAPAAMINEN -taulusta, ja Maallikkojen ylläpitonäytössä tarkistetaan, löytyykö TAPAAMINEN -taulusta rivejä, joissa TA_MANRO = Maallikkonumero-kentän arvo. Molemmissa tapauksissa, jos kyselyllä rivejä löydetään, ilmoitetaan näistä käyttäjälle. Poistaminen sallitaan kuitenkin eikä liittyviä tietoja poisteta. Kopiointi Kopioinnin yhteydessä kasvatetaan Diario-kentän arvoa yhdellä Tapaamisten syöttönäytöllä sekä Väritapaamisten ja Tapaamisten hirrustietojen ylläpitonäytöllä. Tapaamisten syöttönäytöllä lisäksi tyhjätään Rengas- ja Nimir-kentät. Vastaavasti tyhjätään Värirengas-kenttä Väritapaamisten ylläpitonäytöllä. Värirengastusten ylläpito-näytöllä tyhjätään Jalkarengas- ja Värirengas-kentät. Muiden kenttien arvot säilytetään ennallaan. Palautus Toiminto palauttaa näytöllä olevat tiedot samoiksi kuin ne ovat tietokannassa. Tämä toteutetaan selainten ymmärtämällä valmiilla javascript-funktiolla reset(). Tyhjennys Painikkeesta asetetaan kaikki näytön kentät tyhjiksi. Ohje Painikkeesta avataan näytön käyttöohje.

18 4.2 Servlet-luokat Lomakkeiden toiminnallisuus toteutetaan servlet-luokilla, joita on yksi kutakin lomakesivua (esim. tapaamisten syöttö) kohden. Lisäksi lomakkeilta avattavia popupvalikoita (esim. lista rengastajien nimistä) varten on oma Popup-luokkansa, joka on yhteiskäytössä eri näyttöjen kesken. Pääpiirteittäin luokat ovat toistensa kaltaisia, erot johtuvat lähinnä eri lomakesivujen sisältämistä kentistä. Servlet-luokan suoritus käynnistyy, kun servletiä kutsutaan WWW-selaimella ensimmäistä kertaa servlet-palvelimen käynnistyttyä. Tästä eteenpäin servlet on aktiivisena palvelimen muistissa niin kauan, kunnes palvelin suljetaan. Servlet käyttää säikeitä palvellakseen useita yhtäaikaisia pyyntöjä ja voi myös sisältää staattista, kaikkien pyyntöjen käytössä olevaa informaatiota. Servlet vastaanottaa informaatiota WWW-selaimelta HTTP-protokollan GET-ja POST-toiminnoilla ja voi istunnon lopuksi palauttaa selaimelle generoimansa WWWsivun. Lomakesivujen toiminnallisuuden toteuttavat servlet-luokat muodostavat WWW- Tipun ytimen. Servletit kutsuvat muita pakkauksien luokkia mm. tietokantaa käsitellessään ja properties-tiedostoja lukiessaan, sekä lisäksi ulkoisia kirjastoja esim. templatetiedostojen tulostamiseksi. TipuServlet on kaikkien kannan tauluja vastaavien servletien abstrakti kantaluokka. Muut servletit Popup:ia lukuunottamatta on periytetty tästä. TipuServlet tarjoaa alaluokille mahdollisuuden kiinnittyä metodein pääoperaatioidensa esi- tai jälkitarkasteluosaan, joissa voidaan ohjata pyynnön suoritusta haluttuun suuntaan tekemällä esim. ylimääräisiä tarkastuksia. Nämä metodit on oletusarvoisesti toteutettu tyhjinä. TipuServletin abstraktit metodit ja muuttujat: // näihin tulee *luokkakohtaisesti* staattinen mappi

19 protected Map searches = null; protected Map searchconditions = null; /** * Suoritetaan servletin käynnistyessä 1. kerran tai restartin * yhteydessä. * * 1. alustaa muuttuja <table> oikealla Table-instanssilla * 2. alustaa muuttuja <template> oikealla Template-instanssilla */ protected abstract void initialize(); Alustettavat taulut Tapaamisten syötölle ja ylläpidolle VROSKA VTXT TAPAAMINEN THIRRUS MAALLIKKO VRENGASTUS VTAPAAMINEN Alustettava template TEMPLATE_TASYOTTO TEMPLATE_TAYLLAPITO

20 Tapaamisten syötölle ja ylläpidolle haettavat sanastot ilmenevät liitteestä 2. Viitteiksi haetaan lintuasemat. Muiden servlettien tiedot näkyvät muista osista tätä dokumenttia, sekä Tietokantaliitteestä (nro 1). /** * Palauttaa avaimen nimen, jolla kohdetaulu hakuoperaatioissa järjestetään. */ protected abstract String getsearchkey(); /** * Palauttaa hakutuloslistan rivin SimpleHash-kenttinä. Tarvittavat arvot * voidaan lukea riviä vastaavasta parametrista values. */ protected abstract SimpleHash getindexrow(map values); /** * Suoritetaan juuri ennen modelrootin lähettämistä template-enginelle. */ protected void doposthook(map values, SimpleHash modelroot) {} /** * Tätä kutsutaan juuri ennen templaten tulostamista vastauksen * tulostevirtaan. Tarkoituksena on täällä asettaa modelroot:iin * kaikki juuri tälle lomakkeelle ominaiset kentät.

21 * * @param values lähettävät arvot * @param modelroot Templaten runko-objekti. */ protected void doposthook(map values, SimpleHash modelroot) { Liitetään sanasto, ja viite-oliot modelrootiin. /** Suoritetaan ennen SearchOperation:in suoritusta. */ protected void dosearchprehook(map values) {} /** Suoritetaan SearchOperation:in suorituksen jälkeen. */ protected void dosearchposthook(map values) {} /** Suoritetaan ennen InsertOperation:in suoritusta. */ protected void doinsertprehook(map values) {} Jos kyseessä on pakotustoiminto, haetaan avaimen mukainen rivi, jonka tarvittavat kentät päivitetään. Jos riviä ei avaimella löydy, luodaan uusi tietue. /** Suoritetaan InsertOperation:in suorituksen jälkeen. */ protected void doinsertposthook(map values) {} Ajetaan CHECK-ohjelma, Tarkistetaan VTXT-taulusta, löytyykö sieltä tarkistusohjelman kirjoittama virheilmoitusrivi. Jos löytyy näytetään käyttäjälle tiedot tapahtuneesta virheestä. /** Suoritetaan ennen DeleteOperation:in suoritusta. */

22 protected void dodeleteprehook(map values) {} /** Suoritetaan DeleteOperation:in suorituksen jälkeen. */ protected void dodeleteposthook(map values) {} /** Suoritetaan ennen UpdateOperation:in suoritusta. */ protected void doupdateprehook(map values) {} Kutsutaan ennen updatea, käytännössä kutsutaan doinsertprehook() metodia /** Suoritetaan UpdateOperation:in suorituksen jälkeen. */ protected void doupdateposthook(map values) {} protected abstract Map getsearchmap(); protected abstract Map getconditionmap(); Kaikki varsinaiset Insert, Update ja Delete-operaatiot tapahtuvat TipuServlet-luokassa. Tarkempaa koodiesimerkkiä voi katsoa esim. ReSyotto.java -tiedostosta. Kaikki tietokantametodit on abstrahoitu tipu.db-paketissa. Servletillä on yksi nimetty kohdetaulu, johon kaikki siltä pyydetyt operaatiot kohdistuvat. Servlet hakee käynnistyessään jokaisen kohdetaulunsa Table -objektin, ja säilyttää niitä jäsenmuuttujissaan elinkaarensa ajan. SearchOperation suorittaa SELECT -lauseella haun tietokannan tauluun annetuilla attribuuttimaskeilla. Kaikki vertailut tehdään LIKE -operaattorein, joten käyttäjät voivat itse syöttää jokerimerkkejä hakukenttiin. Tulokset palautetaan erillisessä SearchResults -objektissa. SearchOperation(Table table) -konstruktori luo uuden, tauluun table kohdistuvan hakuoperaation. ExecuteSearch(Connection con, Map values, String sortkey) -metodi suorittaa hakuoperaation kohdetauluun annetulla

23 yhteydellä con ja hakuarvoilla values. Tulokset järjestetään kohdetaulun sarakkeen sortkey mukaan. Kutsu palauttaa haun tuloksena SearchResults -instanssin. Luokka SearchResults periytyy luokasta OperationResults. Lisäksi se sisältää listan haussa löytyneiden kohdetaulun rivien ROWID:t, joita voidaan selata vapaassa järjestyksessä. Rivien varsinaiset tiedot haetaan vain pyydettäessä, eikä kursoreita pidetä suotta auki. Tarkemmat kuvaukset kaikista metodeista löytyy Tipu4:n toteusdokumentista. 4.3 Mallipohjat Näytöt laaditaan ilmaisen (GPL) FreeMarker-kirjaston avulla. Näin sivujen ulkoasun määrittely voidaan eriyttää varsinaisesta toiminnallisuudesta. Servlet-luokkien tuottama tieto tallennetaan mallipohjaan puumaiseen tietorakenteeseen. Mallipohja tuotaa asiakkaalle esitettävän HTML-sivun. Jokaista servlet-luokkaa varten on oma mallipohjansa. 4.3.1 Mallipohjan rakenne Mallipohja muodostuu HTML-koodista ja Freemarker-komennoista. Komentojen avulla toteutetaan ehtorakenteita ja luettelomuotoisen tiedon esitys. Mallipohjan tietorakenteeseen tallennetuilla tietokannan muuttujilla on sama nimi kuin tietokannassa. Näytön tila ohjataan muuttujalla formsate. Muuttujalla on neljä arvoa: detail, list, normal ja record_added. Näyttö on tilassa normal, kun se ei ole missään toisessa tilassa.

24 Tilojen yhteiset muuttujat ovat Tipu4-ryhmän toteutusdokumentin mukaisesti: Muuttuja action errors noticeheading notices result.* rowid static_url success Sisä Ede Ede Mui Mui Sisä Lom Staa Tosi Mallipohja on jaettu seuraaviin osiin: Otsikko, staattinen. Sivun alustukset, JavaScript- ja tyylitiedostojen haku. Ilmoitukset, tiedot tietorakenteen haarassa errors, success tai notices. Tieto edellisen toiminnon onnistumisesta tai siitä syntyneistä ilmoituksista ja virheistä. Hakutulokset, tiedot tietorakenteen haarassa searchresults. Haun tulookset sekä viittaukset eteen- ja taaksepäin tuloslistassa. Näytetään kun näytön tila on list. Selaus, tiedot tietorakenteen haarassa searchresults. Viittaukset edelliseen ja seuraavaan tietueseen. Näytetään kun näytön tila on detail. Lomake, tiedot tietorakenteen haarassa result. Näytön tietueet ja toiminnenapit. Alarivi, staattinen. Sivun lopetus.

25 4.3.2 Näytön tilat Näytön tila on normal, kun se ei ole missään muussa tilassa. Näyttö on tilassa detail, kun näytetätään yksittäistä hakutulosta. Tietuetta voi päivittää tai poistaa ja jos haun tulosjoukossa on useampia tiedostoja, niitä voi selata eteen- ja taaksepäin. Näytön tila on list kun käyttäjälle näytetään haun tulokset. Käyttäjä voi valita yksittäisen tuloksen näytettäväksi tai tehdä uuden haun muokaamalla hakuehtoja. Tilaa record_added käytetään kun käyttäjä on lisännyt uuden tietueen Lisää-painikkeella. Lisättyä tietuetta voi muokata, poistaa tai kopioida. 5 Testaussuunnitelma Tässä kuvataan yleisesti testauksen eri vaiheet. Tarkemmat kuvaukset ja testitapaukset tulevat erilliseen testausdokumenttiin. Tipu4n ja Tintti-projektien tekemiä ja testaamia osia ei testata uudelleen. Ainoastaan niiden toimiminen Haukkaprojektin tekemien osien kanssa testataan. 5.1 Komponenttitestaus Ohjelmiston jokainen moduuli testataan erillisenä komponenttina. Komponentit testataan white box -menetelmällä, jotta voidaan testata niiden sisäistä toimivuutta. Testauksessa on tarkoitus käyttää polkukattavuutta, eli jokainen mahdollinen suorituspolku testataan. Tämä takaa sen, että jokainen moduulin koodirivi tulee suoritettua ainakin kerran. Jokaiselle komponentille määrätään erityinen testaaja, joka on eri henkilö kuin kyseisen komponentin tekijä.

26 5.2 Integrointitestaus Integrointitestauksessa varmistetaan järjestelmän eri moduulien (luokkien) toiminta yhdessä mustalaatikkotestauksena. Kunkin luokan syötteiden ja tulosteiden oikeellisuus varmistetaan jakamalla niiden arvoalueet ekvivalenssiluokkiin, joista muodostetaan testiaineisto. Tämän jälkeen toteutetaan luokille testiaineiston mukaiset testitapaukset. WWW-Tipu testataan alhaalta ylös-menetelmällä. Tällöin ohjelmiston toteutus ja testaus aloitetaan luokkakaavion alimmista luokista. Järjestelmästä vielä puuttuvien alempia luokkia kutsuvien luokkien toimintaa simuloidaan erikseen koodattavilla ajuriluokilla. Näiden ajuriluokkien tulosteista voidaan todentaa kutsutun luokan tulosteen vastaavuus määriteltyyn. 5.3 Validointitestaus Validointitestaus tehdään kun integrointitestaus on valmis ja siinä havaitut virheet korjattu. Validointitestauksen tarkoituksena on tarkastaa täyttääkö WWW- Tipu sille vaatimusmäärittelyssä asetetut vaatimukset. Tämä tapahtuu suorittamalla joukko testitapauksia black box -menetelmällä, jotka osoittavat että ohjelmisto täyttää sille asetetut toiminnallisuus-, suorituskyky- ja muut vaatimukset sekä sen että dokumentaatio on oikeellinen.

27 Viitteet 1 Code conventions for the Java programming language http://java.sun.com/docs/codeconv/html/codeconvtoc.doc.html 2 Hypertext markup language 3.2 specification http://www.w3.org/tr/rec-html32 3 Hypertext transfer protocol 1.1 specification http://www.ietf.org/rfc/rfc2616.txt 4 Java servlet engine apache jserv http://java.apache.org/jserv/ 5 Javadoc 1.2 http://java.sun.com/products/jdk/1.2/docs/tooldocs/javadoc/ 6 Danny Coward James Duncan Davidson Java servlet specification 2.2 http://java.sun.com/products/servlet/ 7 Jan Lindström Tipu käyttöohje http://www.cs.helsinki.fi/group/haukka/kaytto.ps 8 Apache homepage http://www.apache.org Tietokantataulut Tietokantataulut liitteenä erillisessä tiedostossa osoitteessa: ă /home/group/haukka/public_html/dokumentit/tietokantataulut.txt