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



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

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

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

Määrittelydokumentti NJC2. 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.

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

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

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

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

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

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

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

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Matematiikan oppifoorumi Projektisuunnitelma

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

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

VAATIMUSMÄÄRITTELY. Polku Versio 1.2. Projektiryhmä

Ylläpitodokumentti Mooan

Convergence of messaging

Lohtu-projekti. Testaussuunnitelma

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

KIURU Tietotekniikan sovellusprojekti

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

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

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

RATKI 1.0 Käyttäjän ohje

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

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

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

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

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

Lohtu-projekti. Määrittelydokumentti

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

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

L models. Käyttöohje. Ryhmä Rajoitteiset

T Testiraportti - järjestelmätestaus

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

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Suunnitteludokumentti

Vaatimusdokumentti. Ketutus-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Sovellusarkkitehtuurit

RENGASTUSLUPAHAKEMUS (Uusi rengastuslupa)

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

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

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

Testaussuunnitelma Labra

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

S11-09 Control System for an. Autonomous Household Robot Platform

Järjestelmäarkkitehtuuri (TK081702)

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

4. Lausekielinen ohjelmointi 4.1

Kennelliiton Omakoira-jäsenpalvelu Ohje yhdistyksille, näyttelyn anominen

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

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

Suunnitteluvaihe prosessissa

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

1 www-sivujen teko opetuksessa

TermBase NET versio (Beta)

Vaatimusmäärittelydokumentti Osatehtävä Jokeri

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

T Testiraportti - integraatiotestaus

Vesihuollon tietojärjestelmä Veeti

Vesihuollon tietojärjestelmä Veeti

Projektisuunnitelma Viulu

AutoFutur/KoneFutur lisäohje

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Tervetuloa Sulan käyttäjäksi!

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Kirkkopalvelut Office365, Opiskelijan ohje 1 / 17 IT Juha Nalli

Verkkosivut perinteisesti. Tanja Välisalo

NTG CMS. Julkaisujärjestelm. rjestelmä

LAATURAPORTTI Iteraatio 1

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Web-palveluiden toteutus älykortille

Toimittajaportaalin pikaohje

Tuplaturvan tilaus ja asennusohje

58160 Ohjelmoinnin harjoitustyö

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

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Taustaa. CGI-ohjelmointi

Transkriptio:

Graafinen käyttöliittymä lintujen rengastusjärjestelmään Vaatimusdokumentti Versiohistoria: 0.1 28.1.2002 Ensimmäinen luonnos. Tarja Rauste ja Simo Salmensuu Helsinki, 28. tammikuuta 2002 Mari Jaakkola, Peter Lindroos, Markus Päivinen, Tarja Rauste, Simo Salmensuu, Vesa Teikari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti Haukka

1 JOHDANTO... 3 1.1 TUOTTEEN TAUSTA JA TARKOITUS... 3 1.2 ERIKOISSANASTO JA KÄYTETYT LYHENTEET... 3 2 YLEISKUVAUS... 5 2.1 YLEINEN TOIMINTA... 5 2.2 TOIMINTAYMPÄRISTÖ... 5 2.3 KÄYTTÄJÄKUNTA... 5 3 TIETOKUVAUS... 6 3.1 TIETOSISÄLTÖ... 6 3.2 TIETOKANNAN KUVAUS... 7 4 TOIMINTOKUVAUS... 8 4.1 TIEDON LISÄÄMINEN... 8 4.2 HAKU... 9 4.3 TIEDON MUUTTAMINEN... 9 4.4 TIEDON POISTAMINEN... 9 5 JÄRJESTELMÄN ULKOISET LIITTYMÄT... 11 5.1 ASIAKASYHTEYS... 11 5.2 JÄRJESTELMÄYHTEYS... 11 5.2.1 JDBC-tietokantayhteys... 11 5.3 ALUSTATIEDOT... 11 6 MUUT OMINAISUUDET... 12 6.1 SUORITUSKYKY... 12 6.2 KÄYTETTÄVYYS JA YLLÄPIDETTÄVYYS... 12 7 TESTAUS... 13 8 RAJOITTEET SUUNNITTELULLE JA TOTEUTUKSELLE... 14 8.1 NOUDATETTAVAT STANDARDIT... 14 8.2 LAITTEISTORAJOITTEET... 14 VIITTEET LIITTEETs: tietokantataulut

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 tutkijoille, päättäjille ja valistajille. Rengastustoimistossa on kä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, aloittamia 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 tietokantaan. Tuotantokäytössä olevan järjestelmän osia käytetään toteutuksessa hyväksi soveltuvin osin. Tipu4:n ja Tintin tuottama suunnittelu ja toteutus tarjoavat valmiin mallin lopulliselle tuotteelle. Nämä olemassa olevat materiaalit hyödynnetään Haukka-projektissa ja käyttöliittymä toteutetaan pääosin Tipu4:n ja Tintin tekemien käyttöliittymäsuunnitelmien mukaan. 1.2 Erikoissanasto ja käytetyt lyhenteet HTML =Hypertext Markup Language on internetissä käytetty tiedon esitystapa, jota client-pään selaimet osaavat tulkata. JDBC-ajuri =Java DataBase Connectivity - ajuri, mahdollistaa tietokantakutsut palvelinsovelmista. HTTP =Hypertext Transfer Protocol on WWW-liikenteen protokolla. Kontrolli =Rengastajien suorittama lintuhavainto. Kontrollit tehdään pesiltä lintuja pyydystämällä tai esimerkiksi kiikaroinnilla. Rengastaja =on lintuharrastaja joka on oikeutettu ja koulutettu merkitsemään lintuja virallisilla linturenkailla. Rengastus =Uuden renkaan laittaminen linnulle, jolla ei ennestään ole rengasta. Löytö =Ennestään rengastetun linnun kohtaaminen. Lintu voi olla elävä tai kuollut. Tapaaminen =Ennestään rengastetun, elävän linnun kohtaaminen.

Servlet =on Javalla koodattu ohjelmamoduuli, joka suoritetaan palvelimella, palvelinsovelma. Tipukanta =Eläinmuseossa käytettävä SQL-tietokanta rengastustietojen säilyttämiseen. WWW-Tipu Tässä dokumentissa kuvattu graafinen käyttöliittymä lintujen rengastustietokannalle.

2 Yleiskuvaus 2.1 Yleinen toiminta Ohjelmisto tarjoaa WWW-käyttöliittymän Helsingin yliopiston eläinmuseossa käytössä olevaan lintujen rengastusjärjestelmään ja se korvaa aiemman SQL*Formsilla kehitetyn merkkipohjaisen käyttöliittymän. Erityistä huomiota kiinnitetään käyttöliittymän modernisoinnin lisäksi käytettävyysnäkökohtiin. WWW-tipu ohjelmaa täytyy päästä käyttämään miltä tahansa verkkoon liitetyltä tietokoneelta, jossa on tarkoitukseen sopiva selain. Käyttäjäkunta saadaan rajattua kysymällä ohjelman alussa käyttäjältä salasana. Merkkipohjaisen järjestelmän käyttöliittymä käyttöohjeineen [7] toimii uuden version suunnittelun pohjana. Uudet käyttöliittymän näytöt noudattavat Tipu4- ja Tintti-projektien suunnittelu- ja toteutusvalintoja niin, että pyrkimys on yhteinäiseen linjaan. 2.2 Toimintaympäristö Ohjelmisto toteutetaan Java Servlet -tekniikalla Unix-ympäristössä Compaqin palvelimessa. Servletit käyttävät järjestelmässä valmiina olevia fortran- ja tietokantakomponentteja. Projektin aikana käytettävät Java servlet -moottori (Apache JServ 1.1.? versio nro?) 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-keskuksen palvelimeen. Web-kantasivu ladataan eläinmuseon käyttämältä Apachen (versio nro?) Web-palvelimelta ja loput sivuista luodaan käyttäjän valintojen mukaan Unix-palvelimelle sijoitettavien servlettien avulla. Web-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ä. Järjestelmän käyttö vaatii Internet Explorer- tai Netscape-selaimen version 4.0 tai uudemman. 2.3 Käyttäjäkunta Järjestelmää käyttää eläinmuseon rengastustoimiston henkilökunta. Uusi käyttöliittymä on vanhan liittymän kaltainen, joten se ei edellytä käyttäjien uudelleenkoulutusta.

3 Tietokuvaus 3.1 Tietosisältö Ohjelmiston tietosisältö voidaan jakaa kuuteen ryhmään: renkaisiin, rengastuksiin ja tapaamisiin liittyviin tietoihin, lisä- ja projektitietoihin sekä apurekisterien tietohin. Käyttäjä lähettää nämä tiedot järjestelmään WWW-käyttöliittymän kautta. Osa tiedoista on laskennallisia ja laskenta suoritetaan joko Java-Servleteissä tai Fortranilla toteutetussa tarkistusohjelmassa. Käyttöliittymä jakaantuu seuraaviin näyttöihin: *Renkaisiin liittyvät tiedot: Renkaiden jakelu, Renkaiden palautus, Rengastyyppien ylläpito ja Lajille sallitut rengassarjat. *Rengastuksiin liittyvät tiedot: Rengastuksen syöttö, Rengastuksen ylläpito, Renkaan merkitseminen hävinneeksi/tuhoutuneeksi, Ulkomaiset renkaat, Käytettyjen renkaiden selaus ja Rengasvälin hajoitus. *Tapaamiset: Tapaamisten syöttö, Tapaamisten ylläpito, Kirjeiden tulostus ja Roskien ylläpito. *Lisätiedot: Värirengastusten ylläpito, Väritapaamisten ylläpito, Rengastusten hirrustietojen ylläpito ja Tapaamisten hirrustietojen ylläpito. *Projektit: Projektien ylläpito, Muuttujien ylläpito. *Apurekisterit (ylläpito): Rengastajat, Maallikot, Maatiedot, Läänit, Kunnat, LYL-alueet, Euring provinssit, Rengastuskeskukset, Lajit, Sanasto ja Lintuasemat. Näistä näytöistä Tipu 4 ja Tintti ovat uuden käyttöliittymäsuunnitelman mukaisesti toteuttaneet seuraavat näytöt: Renkaiden jakelu, Rengastuksen syöttö, Rengastuksen ylläpito, Tapaamisten syöttö, Tapaamisten ylläpito, Kirjeiden tulostus, Roskien ylläpito, Värirengastusten ylläpito, Väritapaamisten ylläpito, Tapaamisten hirrustietojen ylläpito, Projektien ylläpito, Muuttujien ylläpito, Maallikkojen ylläpito ja Kuntien ylläpito. Haukka-projektissa on tarkoitus toteuttaa puuttuvat näytöt eli Renkaiden palautus, Rengastyyppien ylläpito, Lajeille sallitut sarjat, Renkaan merkitseminen hävinneeksi/tuhotuksi, Ulkomaiset renkaat, Käytettyjen renkaiden selaus, Rengasvälin hajoitus, Rengastusten hirustietojen ylläpito, 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 ja Lintuasemien ylläpito. 3.2 Tietokannan kuvaus Renkaiden jakelu Renkaiden palautus Rengast. yp. Lajille sal. reng.s. Rengast. syöttö Rengastuksen yp. Renk. merk. häv/tuh Ulkomaiset renkaat Käyt. renk. sel. Rengasvälin haj. Tapaamisten syöttö Tapaamisten yp. Kirjeiden tulostus Roskien yp. Värireng. yp. Väritapaa. yp. Reng. hir.t. yp. Tapaamisten hir.t. yp. Projektien ylläpito Muuttujien ylläpito Rengastajat Maalikkot Maatiedot Läänit Kunnat LYL-alueet Euring provinssit Rengastuskeskukset Lajit Sanasto Lintuasemat JAKELU JAKELU RENGAS LSARJA VRGS RENGASTUS RENGASTUS RENGASTUS RENGASTETTU RENGASTUS PARITON TAPAAMINEN TOHJAUS ROSKA VRENGASTUS VTAPAAMINEN RHIRRUS THIRRUS PROJEKTI MUUTTUJAT RENGASTAJA MAALIKKO ULKOMAINEN_PAKA LAANI KUNTA LYLALUE PROVINSSI RENGASTUSKESKUS LAJI SANASTO LINTUASEMA Taulukko 1: Eri näyttöjä vastaavat taulut.

4 Toimintokuvaus Seuraavassa on esitelty järjestelmän toimintaa pääpiirteittäin eri käyttötapauksissa. 4.1 Tiedon lisääminen Tyhjä WWW-lomake virhe Tietokanta Java Servlet WWW-lomake Täytetty tallennus kentät täytetyt virhe virheet onnistunut lisäys korjattu lomake (käyttäjä) Kuva 1: Tiedon lisääminen. Uuden tiedon lisääminen tapahtuu "lisää-painikkeella" sen jälkeen, kun käyttäjä on täyttänyt tiedot Java-servletin tulostamalle lomakkeelle. Mikäli servlet hyväksyy tiedot (pakolliset kentät on täytetty ja oikeellisuus tarkistettu), välitetään ne JDBC-yhteydellä tietokannan virhetauluun, jonka sisällön Fortranilla tehty ohjelma tarkistaa ja päivittää tietokantaan. Muutoin käyttäjän ruudulle tulostetaan sama täytetty lomake ja huomautus väärin täytetystä tiedosta. Tällöin käyttäjä voi korjata väärin täytettyjä kenttiä ja yrittää lisäystä uudelleen. Ohjelmassa on mahdollisuus pakottaa tietokantaan tietoa, joka ei välttämättä ole täysin oikeellista.

4.2 Haku Tyhjä WWW-lomake WWW-sivu hakuehdot löytyneet haku löytyneet Tietokanta Java Servlet Kuva 2: Tiedon hakeminen. Jotta selaimelle saataisiin haettua haluttu tieto tietokannasta, tulee käyttäjän täyttää haluamansa hakukriteerit Java-servletin tulostamalle lomakkeelle ja painaa "haku-painiketta". Järjestelmässä on huomioitava, että tietokannasta löytyy useampia hakuehdot täyttäviä tietueita. Haun tulokseen voidaan tehdä lisähakuja. 4.3 Tiedon muuttaminen virhe Tietokanta Java Servlet WWW-lomake Täytetty päivitys tiedot päivitetyt virhe virheet onnistunut muutos korjattu lomake (käyttäjä) Täytetty WWW- tai ohitettu Kuva 3: Tiedon muuttaminen. Lomaketietojen muuttaminen tapahtuu Java-servletin tulostaman lomakkeen "muuta-painikkeella" lisäys- tai hakutoiminnon jälkeen. Tällöin servlet tarkistaa lomakkeelle syötetyt tiedot vastaavasti kuin tietoa lisättäessä (3.2.1), minkä jälkeen suoritetaan päivitysoperaatio tietokantaan. 4.4 Tiedon poistaminen virhe Tietokanta Java Servlet poisto operaatio poisto- onnistunut poisto lomake (käyttäjä) Täytetty WWW- Tieto poistettu Kuva 4: Tiedon poistaminen. Lisäys- tai hakutoiminnolla haetut lomakkeen tiedot voidaan poistaa tietokannasta "poista-painikkeella". Poistaminen tulee varmentaa käyttäjältä erikseen ja samassa yhteydessä on myös näytettävä, mitä muuta tietoa kyseiseen tietueeseen liittyy. Tällaisia tietoja ovat rengastuksen yhteydessä värirenkaat, HIRRUS-projektitiedot ja lintujen tapaamiset sekä tapaamisen yhteydessä havaitut värirenkaat ja HIRRUS-

tiedot. Vahvistuksen jälkeen suoritetaan tietokannassa JDBC-yhteyden kautta poisto-operaatio.

5 Järjestelmän ulkoiset liittymät Käyttöliittymän funktio on toimia ulkoisena liittymänä varsinaiselle rengastusjärjestelmälle, joten se sisältää käytännössä kaksi tärkeää rajapintaa: asiakasyhteys ja järjestelmäyhteys. Näistä jälkimmäinen jakautuu vielä kahteen yhteystapaan, Fortran-kieliseen välitysohjelmaan ja suoraan tietokantayhteyteen. 5.1 Asiakasyhteys Kommunikointi asiakkaan (so. käyttäjän) suuntaan toteutetaan request-response -keskusteluna HTTP-protokollaa käyttäen. Asiakkaalla on pääteohjelmanaan HTML-selain (esim. Microsoft Internet Explorer tai Netscape Navigator), jolla käyttäjä suorittaa pyyntöjä. Näihin vastataan pääasiassa HTML-sivuina. Apuna voidaan käyttää myös kuvia ym. yleisesti WWW:ssä hyödynnettyjä havainnollistamiskeinoja. Käyttöliittymä tullaan rakentamaan lomakkein, jotka voivat näkyä asiakkaalle tyhjinä (tietojen syöttö) tai valmiiksi täytettyinä (tietojen muokkaus). 5.2 Järjestelmäyhteys Rengastustietokannan graafinen käyttöliittymä (WWW-tipu) ei kommunikoi suoraan itse tietokannan kanssa, vaan lähettää tiedot Fortran-kieliselle välittäjäohjelmalle, joka lisää rengastustiedot VRGS-tauluun ja tarkistaa tietojen oikeellisuuden. Jos tiedot ovat oikein, välittäjäohjelma lisää ne itse tietokantaan. WWW-tipun käyttöliittymäluokat lukevat tiedot operaation tulokset VRGS-taulusta JDBC (ks. 5.2.1) -tietokantayhteyden avulla. Kommunikaatio WWW-tipun ja välittäjäohjelman välillä tapahtuu antamalla välittäjäohjelmalle komentoriviparametreja. 5.2.1 JDBC-tietokantayhteys Suoraa tietokantayhteyttä tarvitaan Fortran-kielisten ydinohjelmien ja tämän Java-kielisen käyttöliittymän välisen 'kielimuurin' ohittamiseen. Periaatteessa sitoudutaan tukemaan ainoastaan nykyistä Oracle 8- tietokantaan rakennettua järjestelmää, mutta käytännössä JDBC:n käyttö tullee sallimaan käytettävän tietokannan vaihtamisen tulevaisuudessa. VRGS SQL-taulu Fortran-kielinen välittäjäohjelma Java Servlet rengastustietokannasta Muut osat lintujen Komentorivikutsu Oracle 8 -kanta JDBC JDBC Kuva 5: Kaavakuva tietokantayhteydestä. 5.3 Alustatiedot Käyttöliittymän web-palvelimena toimii Apache [8]. Apacheen on asennettu Apache JServ -moduli [4], joka tarjoaa Servlet 2.0 -spesifikaation [6]mukaisen käyttöympäristön.

6 Muut ominaisuudet 6.1 Suorituskyky Ohjelmiston käyttäjälle suorituskyky tulee näkymään lähinnä HTTP-yhteyden ja tietokantaoperaatioiden nopeuden mukaisena, sillä käyttöliittymä ei tule olemaan raskas. Valitun toteutustekniikan vuoksi on kuitenkin odotettavissa, että järjestelmän kokonaissuorituskyky ei ole yhtä hyvä kuin vanhassa merkkipohjaisessa versiossa. 6.2 Käytettävyys ja ylläpidettävyys Ohjelmakoodin ylläpidettävyydestä pidetään huolta käyttämällä Java-koodin tyylioppaana Sunin kokoamaa ohjetta, Code Conventions for the Java Programming Language [1]. Dokumentin ylläpidettävyys puolestaan taataan tekemällä dokumentit LaTeX:lla. Koodissa jokainen metodi kommentoidaan huolellisesti. Kommenteista täytyy ilmetä vähintään metodin tarkoitus, mahdollisten parametrien selvitys ja version tekijä sekä toteutuspäivämäärä. Koodin dokumentoinnissa käytetään Sunin Javadoc 1.2 -työkalua [5]. Erityisesti on kommentoitava poikkeavat tai erikoisemmat ratkaisut toteutuksessa. Kommentit kirjoitetaan suomeksi, muu koodi (luokkanimet, metodit, ym.) englanniksi.

7 Testaus Testauksen päätavoitteena on varmistaa, että rengastusjärjestelmän käyttöliittymä toimii suunnitteludokumentissa kuvatun toteutettavan käyttöliittymän mukaisesti. Tämän lisäksi tavoitteena on todeta, että ohjelmiston komponentit toimivat virheettömästi sekä kaikki lomakkeet toimivat oikein sekä sisäisesti että yhteistyössä muiden lomakkeiden kanssa. Käyttöliittymä testataan järjestelmällisesti käyttötapauksittain. Kaikkia ohjelman toimintoja kokeillaan. Virheellisiä syötteitä ja niistä toipumista täytyy testata erityisen huolella, sillä tietokantaan ei saa päästä virheellistä tietoa. Muita tärkeitä testattavia asioita ovat lomakkeiden käyttäytyminen eri selaimissa sekä tarkistusten toimivuus. Testaaminen aloitetaan jo koodausvaiheessa. Käyttöliittymän osia testataan sitä mukaan kun niitä saadaan valmiiksi. Testaus jaetaan testauksen V-mallin mukaisesti moduulitestaukseen, integrointitestaukseen ja järjestelmätestaukseen. Moduulitestauksessa testattavia yksiköitä ovat ohjelman globaalit proseduurit sekä käyttäjille näkyvät lomakkeet. Järjestelmätestauksessa tarkastellaan ohjelman toimivuutta ja käytettävyyttä kokonaisuutena, jolloin ohjelman tarjoamia toimintoja käydään läpi todellisia käyttötilanteita simuloiden. Integraatiotestauksessa keskitytään lomakkeiden ja tietokantaoperaatioden väliseen tiedonsiirtoon sekä toimivuuteen.

8 Rajoitteet suunnittelulle ja toteutukselle 8.1 Noudatettavat standardit Servlet-ohjelmamoduuli kommunikoi käyttäjän kanssa HTTP 1.1 -protokolla [3] mukaisesti. Client-päässä näkyvät HTML-dokumentit kirjoitetaan HTML 3.2 -spesifikaation [2] mukaisesti. Java-ohjelmakoodin ulkoasu on Sun Microsystemsin Java Code Conventions -spesifikaation [1] mukainen. 8.2 Laitteistorajoitteet Servlet tulee ajaa Compaqin Unix-palvelimella, jossa on vähintään yksi 400 megahertsin prosessori ja 128 megatavua keskusmuistia Tipu4:n käyttöön. Liitteet: tietokantataulut 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/rechtml32. [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/tipu4/old/kaytto.ps. [8] http://www.apache.org