TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti
|
|
- Sari Heino
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä Ensimmäinen luonnos Teemu Pulkkinen Virallinen versio Janne Piippo Korjattu versio Janne Piippo HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti Merikotka Projektiryhmä: Janne Piippo Juha Hiekkamäki Pekka Maksimainen Petri Setälä Teemu Pulkkinen Tuire Huhtamäki Ohjaaja: Sanna Keskioja
2 Sisällysluettelo 1. Johdanto Sanasto Merikotkiin liittyvä sanasto Tekninen sanasto Arkkitehtuurisuunnitelma Järjestelmän yleiskuvaus Datamalli Komponenttien väliset suhteet Rajapintakaavio Tietokanta Luokkakaavio Kuva-taulu Pesamuuttuva-taulu Pesatarkastus-taulu Poikanen-taulu Järjestelmävaatimukset...13 J1 Uudet "Pesätarkastus"- ja "Uusi Pesä"- lomakkeisiin liittyvät järjestelmävaatimukset...13 J2 Digikuviin liittyvät järjestelmävaatimukset...14 J3 Uusiin raportteihin liittyvät järjestelmävaatimukset...16 J4 Vanhoihin raportteihin liittyvät järjestelmävaatimukset...17 J5 Virheiden ja vaillinaisten toimintojen korjaamiseen liittyvät järjestelmävaatimukset...19 J6. Käyttöliittymä vastaa uutta "Pesätarkastus"-lomaketta...22 J7. Tietokannassa pitää olla vain valideja koordinaatteja...22 J8. Käyttöliittymässä yhtenäiskoordinaatteja syötettäessä ei saa olla esitäytettyjä numeroita Luokat General Db Servlet Action Action.Search Action.Operation Action.Report Validate Log View Mallipohjat Käyttöliittymä Käyttösekvenssit...42
3 1. Johdanto Tämä suunnitteludokumentti kuvaa toteutettavan Haliaeetus-järjestelmän teknisen toteutuksen näkökulmasta. Dokumentin perusteella kuka tahansa teknisesti osaava henkilö voisi toteuttaa kuvatun järjestelmän. Suunnitteludokumentti on siis ohje siitä, kuinka järjestelmä tulisi toteuttaa. Dokumentti kuvaa järjestelmän luokkarakenteen ja käyttöliittymän. Suunnittelun pohjana on, niiltä osin kuin se on ollut mahdollista, käytetty ohjelmistotuotantoprojektiryhmien Hali ja Hali2:n, sekä Henri Jääskeläisen että Jussi Ylikosken tuottamaa koodia ja dokumentaatiota. Järjestelmän rakennetta on kuitenkin muutettu käyttöliittymän sekä tietokantataulujen osalta ja siihen on kokonaan uutena osana lisätty mahdollisuus digikuvien hallintaan. 2. Sanasto Sanasto avaa termien merkityksiä sekä selventää sanojen määrittelyitä. Usein on tarpeen rajata yksinkertaisenkin sanan määritystä siten, että termi on kaikille osapuolille yksikäsitteisesti ymmärrettävissä. Toisaalta sanalyhenteitä sekä harvinaisempaa termistöä on kerrottu selkokielellä auttamaan dokumentin ymmärtämisessä. 2.1 Merikotkiin liittyvä sanasto Merikotka Haliaeetus albicilla on Suomen suurin petolintu. Sen siipien väli on cm ja pituus cm. Merikotkalla on tasaruskea höyhenpuku ja suorakaiteen muotoiset siivet, jotka harittavat kärjistään. Pyrstö on lyhyt ja kiilamainen ja vanhoilla linnuilla valkea. Merikotka saavuttaa sukukypsyyden 3-6-vuotiaana. Merikotkatyöryhmä Torsten Stjernbergin johtama merikotkien suojelua ja tutkimusta edistävä työryhmä Suomen WWF:ssä. Pesä Merikotkan pesä on Suomessa yleensä hyvin kookas risupesä suuren puun latvassa tai poikkeuksellisesti nykyään jopa maassa. Merikotka pesii myös tekopesissä. Reviiri Yhdellä reviirillä elää yksi merikotkapariskunta, jolla yleensä on reviirinsä alueella useampi pesä, joista yleensä yksi kerrallaan on käytössä. Tekopesä Ihmisen tekemä pesä merikotkalle. Näin pyritään siihen, että merikotkat pesisivät häiriöttömillä alueilla ja pesät olisivat tarpeeksi tukevia. Vuonna % tunnetuista asutuista pesistä oli tekopesiä. Pesätarkastus Pesille tehdään tarkastuskäyntejä pesimisaikaan yleensä vain kerran vuodessa toukokuun lopulta alkaen. Tarkastuskäynneillä poikaset mitataan ja rengastetaan sekä kerätään näytteitä ja tietoja pesimäpaikasta myöhempää analyysia varten. Etenkin Pohjois-Suomessa tarkastuksiin käytetään myös lentokonetta, pesinnän tai sen puuttumisen toteamiseen pesintäkauden alkuvaiheessa. WWF World Wide Fund for Nature, eli Maailman Luonnonsäätiö on maailmanlaajuinen luonnonsuojelujärjestö, joka työskentelee luonnon monimuotoisuuden suojelemiseksi ja ekologisten toimintojen ylläpitämiseksi. Suomessa toimii Maailman luonnonsäätiön (WWF) Suomen rahasto (Suomen WWF). 1
4 2.2 Tekninen sanasto CSV Comma-Separated Values on tiedostorakenne, jolla voidaan esittää taulukkomuotoista dataa erottamalla sarakkeiden arvot jollakin välimerkillä. CVS Concurrent Versions System. Versionhallintaohjelmisto, joka on luotu helpottamaan ohjelmistojen versionhallintaa. Datamalli Puutietorakenne, jonka avulla siirretään dataa järjestelmän sisällä. Tarkemmin selostettu arkkitehtuurisuunnitelmassa. Digikuva Digitaalisessa muodossa oleva kuvatiedosto. Kuvatiedostolla tarkoitetaan tässä dokumentissa JPG-tiedostoa. Hakemisto Sisäkkäiset hakemistot muodostavat hakemistorakenteen eli hakemistopuun. Hakemisto voi sisältää tiedostoja ja hakemistoja. Hali Haliaeetus-järjestelmän keväällä 2003 ohjelmistotuotantoprojektina toteuttaneen ryhmän nimi. Hali2 Haliaeetus-järjestelmän jatkokehityksestä keväällä 2004 vastaavan ohjelmistotuotantoprojektiryhmän nimi. Haliaeetus Tässä dokumentissa määritellyn tietokantajärjestelmän nimi. HTML HyperText Markup Language. World Wide Webin eli WWW:n julkaisukieli. HTTP Hypertext Transfer Protocol. Yhteyskäytäntö eli protokolla, jonka varaan WWW rakentuu. Hypertekstidokumenttien siirtoa verkossa tukeva komentokieli. HTTPS HTTP over Secure Sockets Layer. salakirjoitettu versio. Java Ohjelmointikieli, jota käytetään projektin toteutuksessa. Järjestelmä Tässä dokumentissa järjestelmällä tarkoitetaan pääasiallisesti toteutettavaa ohjelmistoa tai jo valmista ohjelmistoa. Järjestelmä sisältää käyttöliittymän, tietokannan ja näiden välillä olevat toiminnallisuudet. JDBC Java Database Connectivity. Ohjelmointirajapinta, jota käytetään kommunikoitaessa järjestelmän tietokannan kanssa. Käyttöliittymä Ne välineet ja toiminnot, joilla käyttäjä on yhteydessä tietojärjestelmään eli käytännössä ohjelmistoon. MS Excel -yhteensopiva Yhteensopivuudella tarkoitetaan, että data on helposti saatavissa Excelin tai jonkin muun tilasto-ohjelman käyttöön. Esimerkiksi CSV-muotoinen teksti täyttää vaatimuksen. PDF Portable Document Format on standardiksi muodostunut esitystapa dokumenteille. PDF-tiedoston katseluun tarvitsee PDF-lukijan. 2
5 Servlet Java-ohjelmointikielellä kirjoitettu palvelinsovelma, servletti. Tietokanta Jotain käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja. Tietokannan teknisiä ominaisuuksia ovat mm. tiedon riippumattomuus sitä käsittelevistä ohjelmista, tietojen samanaikainen käyttö, monipuoliset tiedonhakumahdollisuudet, tietojen suojaus, mutkikkaat riippuvuudet tietojen välillä ja automaattinen varmistus ja elpyminen häiriöistä. Tietokantajärjestelmä Tässä dokumentissa tietokantajärjestelmällä tarkoitetaan pääasiallisesti toteutettavaa ohjelmistoa tai jo valmista ohjelmistoa. Tietokantajärjestelmä muodostuu tietokannasta, sitä hallinnoivasta tietokannanhallintajärjestelmästä sekä tietokantaa käyttävistä sovelluksista. Tulostus Tässä dokumentissa tulostus-termiä käytetään paperille tulostamisen lisäksi myös raportin ja/tai digikuvan tiedostoon tallentamisesta yleisesti käytössä olevassa tiedostomuodossa. WWW World Wide Web. Maailmanlaajuinen verkko, "verkko", Internet-verkko hypertekstimuodossa. 3. Arkkitehtuurisuunnitelma 3.1 Järjestelmän yleiskuvaus (Kuva 1: Yleiskuva) Järjestelmä perustuu käyttäjän selaimen, servlet-palvelimen ja tietokantapalvelimen väliseen vuorovaikutukseen (Kuva 1). Yhteys käyttöliittymän ja tietokannan välillä toteutetaan kolmitasoisella arkkitehtuurilla. 3
6 Taso 1: Tasolla 1 oleva selain on vuorovaikutuksessa sekä käyttäjän että tasolla 2 olevan ohjelmiston kanssa. Taso 2: Palvelinkoneella pyörii Apache WWW-palvelin, sekä Tomcat-palvelin. Palvelimella sijaitsevat JDBC-ajuri, servletit, JDBC-tietokantaluokat, Freemarker kirjastoluokat sekä staattiset template- ja properties- tiedostot. Apache-Tomcat - pari käyttää HTTPS-protokollaa kommunikoidessaan käyttäjän selaimen kanssa ja JDBC-ajuria kommunikoidessaan Haliaeetus-tietokannan kanssa. Servletit käyttävät tietokantaa JDBC-tietokantaluokkien avustuksella. Servletit myös generoivat dynaamista HTML:ää ja kommunikoivat käyttäjän selaimen kanssa. Servletit saavat tulostamiensa HTML-sivujen rungot template-tiedostoista, ja esitettävät tiedot Haliaeetustietokannasta. Taso 3: Tasolla 3 on Haliaeetus-tietokanta, jossa täytyy olla vastaava JDBC-ajuri, joka tukee JDBC API:a. 3.2 Datamalli Datamalli on puutietorakenne, jonka avulla siirretään dataa järjestelmän sisällä. Datamalli on Map-olio, jonka sisällä voi olla sekä Map-olioita että List-oliota. Järjestelmän toteutuksessa Map-olioina käytetään Map-rajapinnan toteuttavia HashMap-luokan ilmentymiä ja List-oliona List-rajapinnan toteuttavia ArrayList-luokan ilmentymiä. Map- ja List-rajapintojen käyttäminen mahdollistaa kuitenkin kaikkien rajapinnan toteuttavien luokkien käytön datamallissa. Datamallissa muuttujiin viitataan merkkijonoilla. Kirjoitusvirheiden välttämiseksi nämä merkkijonot on siirretty Const -luokkien vakioiksi. Datamalli sisältää järjestelmän toiminnassa välitettäviä parametreja. Järjestelmän luokat muuttavat datamallin sisältöä tarpeen mukaan, eli se sisältää aina vain tarvittavat parametrit. Datamalli voi sisältää tunnuksen ja salasanan, tietokantaan talletettavia attribuutteja, tietokantahakuun tarvittavia määreitä, virheilmoituksia, tietoja tuotettavien html-sivujen dropdown-listoista tai konfigurointitiedoston polkumääreen. Datamalli kuvataan seuraavasti puuna: (root) +solmu +muuttuja +sekvenssi[] +solmu +muuttuja1 +muuttuja2 Mallissa jokainen puun normaali solmu voi toimia tyhjänä solmuna (=hakemisto) tai muuttujana (sisältää arvon). Sekvenssityyppiset solmut taas toimivat kuin taulukko. Esimerkissä sekvenssi toimii kuin taulukko, ja viittaus sekvenssi[1] viittaa sekvenssin toiseen muuttu- 4
7 jaan/alkioon. Sekvenssin alkiot voivat toimia myös hakemistorakenteina, ja yhdessä alkiossa voi olla monta muuttujaa. Sekvenssirakenteet toteutetaan List-rajapinnan toteuttavan luokan ilmentymien avulla. Tavallisiin muuttujiin viitataan templatessa esim. solmu.muuttuja. Toteutuksen kannalta oleelliset oksat: datamalli.action Oksaan laitetaan servletin (Hali) saamat toimintoparametrit (syötetty html-lomakkeella), jotta varsinaiset toiminnon suorittavat luokat voivat päätellä mitä toimintoa tarkalleen halutaan. datamalli.text Oksa sisältää näyttöihin tulevat tekstit muodossa datamalli._text.näyttö.kenttä. datamalli.tietokantataulu Jokaiselle tietokantataululle löytyy oma oksansa. Arvot on esitetty muodossa datamalli.tietokantataulu.attribuutti. datamalli.data Oksa sisältää tietokantahauissa tarvittavat haku-parametrit, jotka tulevat lomakkeelta. Tässä oksassa pidetään myös kenttien tiedot, jotka halutaan säilyttää servlet-pyyntöjen välillä. datamalli.searchresults Oksa sisältää tietokantahakujen tulokset. datamalli.error.haserrors Muuttuja kertoo onko validoinnissa tapahtunut jokin virhe. Se asetetaan validointiluokissa. 3.3 Komponenttien väliset suhteet (Kuva 2: Sekvenssikaavio) 5
8 Käyttäjän syöttämä informaatio lähetetään selaimen toimintopainikkeista pakkauksen fi.hy.hali.servlet.hali-luokalle, joka toimii kontrolliservlettinä. Hali-servletti kutsuu tarvittavia fi.hy.hali.action-pakettien luokkia ja fi.hy.hali.view-luokkaa, jotka toteuttavat kutsun mukaisen toiminnallisuuden. Action-luokat tarkistavat hakuehdot ja kantaan syötettävät tiedot fi.hy.hali.validate-pakkauksen luokkien avulla ja suorittavat tietokantaoperaatiot pakkauksen fi.hy.hali.db-tietokantaluokkien avulla. Suoritettava tietokantaoperaatio voi olla haku-, lisäys- tai muokkausoperaatio. Action-luokat palauttavat tietokantaluokilta saamansa vastauksen Hali-servletille, joka välittää sen View-luokalle uuden näytön generoimista varten. Näytön luonnissa View-luokka käyttää apuna valmiita mallipohjia sivun ulkoasun määrittelemisessä ja tietojen oikeaan kenttään kohdentamisessa. Kielituki toteutetaan Viewluokassa, joka hakee tarvitsemansa erikieliset tekstit properties-tiedostoista. Konfigurointitiedot laitetaan tiedostoon haliaeetus.config, josta niitä voidaan lukea. Järjestelmä sisältää seuraavat keskeiset komponentit: General sisältää luokat jotka suorittavat järjestelmän tarvitsemia aputoimintoja (vakiot ja aputyökalut) Db sisältää tietokantaluokat. Luokkien avulla suoritetaan haku-, lisäys- ja muokkausoperaatiot JDBC-yhteyden kautta. Servlet sisältää kontrolliservletin Hali. Hali on järjestelmän ainoa servlettiluokka, ja se hoitaa järjestelmän toiminnanohjauksen. Action on muiden action-luokkien abstrakti yliluokka. Action.Search sisältää hauille yhtenäisiä muuttujia ja metodeita. Action.Operation sisältää päivitysten ja lisäysten tarvitsemia yhteisiä muuttujia ja metodeita Action.Report-komponentin sisältämät luokat generoivat käyttäjän pyytämät raportit. Muotoilun malli haetaan mallipohjista. Validate tarkistaa tietokantaan vietävien tietojen sekä siihen kohdistuvien hakujen oikeellisuuden. Komponentti sisältää myös luokan sisäänkirjautumisen tarkistamiseen. Log:n tehtävänä on kirjata tietokannan taulujen attribuutteihin kohdistuvat muutokset tekstitiedostoihin. Lisäykset ei kirjata; ainoastaan arvojen muutokset. View on luokka jonka tehtävänä on tuottaa kaikki järjestelmän tarvitsemat näkymät. Luokka yhdistelee saamansa parametrit sekä näkymään tulevat otsikkotekstit ja välittää ne itse tulostusosalle joka käyttää mallipohjia niiden tulostamiseen. Toistuvat näkymät (navigointiosa) tuotetaan erillisessä metodissa. 6
9 3.4 Rajapintakaavio (Kuva 3: Rajapintakaavio) Rajapintakaavio (Kuva 3) kuvaa järjestelmän komponentit, sekä niiden keskenään (ja järjestelmän ulkopuolelle) tarjoamat palvelut. 4. Tietokanta Tietokannan taulut ovat TARKASTAJA, PESATARKASTUS, KUNTA, VUOSI, REVIIRI, POIKANEN, SAALIS, PESAVAKIO, PESAMUUTTUVA, MYRKKY, HISTORIA_PESA, APUTAULU, LAJI ja KUVA. Uusien taulujen ja vanhojen muokattujen taulujen sisältö on esitetty seuraavissa luvuissa. Kussakin luvussa esitetty taulukko vastaa luvussa käsiteltävän tietokantataulun rakennetta siten, että taulukon sarake Taulu sisältää tietokantataulun nimen ja sarake Attribuutti tietokantataulun kaikki attribuutit. Sarake Null ilmoittaa, voiko rivin käsittelemän attribuutin arvo olla tyhjä (Y) vai onko sillä pakko olla jokin arvo (N). Sarake Tyyppi ilmoittaa rivillä käsiteltävän attribuutin eli kentän tyypin Oracle 9i -tietokantajärjestelmässä ja sarake Pituus tämäntyyppiseen kenttään sijoitettavan arvon pituuden. Sarakkeessa Kommentti on lyhyt kuvaus taulukon rivillä esiteltävän attribuutin merkityksestä luvun käsittelemässä tietokantataulussa. Vanhoihin tauluihin lisätyt uudet attribuutit on merkitty + -merkillä. 7
10 4.1 Luokkakaavio Tietokantataulujen väliset yhteydet ja tärkeimmät attribuutit. (Kuva 4: Tietokantakaavio) 8
11 4.2 Kuva-taulu Uuteen tauluun KUVA kerätään tieto järjestelmään tallennetuista digikuvista. Taulun avain on attribuutti KUVA_ID. Avaimen arvo on järjestelmän tuottama juokseva numero. KU- VAAJA_ID on viiteavain tauluun tarkastaja. Kuva liittyy tauluun PESAVAKIO viiteavaimella PESA_ID. +KUVA Attribuutti Null Tyyppi Pituus Kommentti + KUVA_ID N NUMBER 8 Avain. + KUVA N BLOB Valokuva. + KUVAAJA_ID N NUMBER 5 Viiteavain tauluun TARKASTAJA. + PESA_ID N NUMBER 7 Viiteavain tauluun PE- SAVAKIO. + KUVA_PVM N DATE Kuvaamispäivä. + KUVAN_KOHDE N VARCHAR2 1 Esittääkö kuva pesää vai lintua. 1) + KAMERA_KOMMENTTI Y VARCHAR2 256 Kameran merkki ja tyyppi. + OBJEKTIIVI_KOMMENTTI Y VARCHAR2 256 Objektiivin merkki ja tyyppi. + TELEJATKE_KOMMENTTI Y VARCHAR2 256 Käytetty telejatke. + AIKUISIA_LKM Y NUMBER 1 Aikuisten lintujen lukumäärä. + SUKUPUOLI Y VARCHAR2 1 Linnun sukupuoli. 2) + SUKUPUOLI_MAARITYSPERUSTE Y VARCHAR2 1 Sukupuolen määritysperuste. + ARKUUS_ ROHKEUS Y NUMBER 1 Arkuus - rohkeus (1-5). + RENGAS_ VASEN Y VARCHAR2 9 Vasemman renkaan tunnus. + RENGAS_ OIKEA Y VARCHAR2 9 Oikean renkaan tunnus. + RENGAS_V_VARI Y VARCHAR2 4 Vasemman renkaan väri. + RENGAS _O_VARI Y VARCHAR2 4 Oikean renkaan väri. + KOMMENTTI Y VARCHAR2 256 Kommentti. 1) 2) 3) 1 pesä, 2 = lintu K = Koiras, L = Luultavasti koiras, N = Naaras, O = Otaksuttavasti naaras. Yksikirjaiminen koodi (erillisen asiakasohjeistuksen mukaan) 9
12 4.3 Pesamuuttuva-taulu Tauluun PESAMUUTTUVA kerätään pesään liittyviä tietoja, jotka voivat muuttua silloin tällöin. Taulun avain on PESAMUUTTUVA_ID, jonka arvo on järjestelmän tuottama juokseva numero. Jokaiseen taulun riviin liittyy yksi pesä, joten viiteavain tauluun PESA on attribuutti PESA_ID. Attribuutit TARKASTAJA1_ID ja TARKASTAJA2_ID ovat viiteavaimia tauluun TARKASTAJA. PESAMUUTTUVA Attribuutti Null Tyyppi Pituus Kommentti PESAMUUTTUVA_ID N NUMBER 7 Avain. PESA_ID N NUMBER 7 TARKASTAJA1_ID N NUMBER 5 TARKASTAJA2_ID Y NUMBER 5... PALSTA_RAUHOITUS Y VARCHAR2 + NATURASSA Y NUMBER 1 ET_AVOHAKKUU Y NUMBER 4 + ET_SIEMENPUUSTO Y NUMBER 4 Viiteavain tauluun PESAVAKIO. Viiteavain tauluun TARKASTAJA. Viiteavain tauluun TARKASTAJA. Pesän palstan rauhoitustilanne. Mikäli kentän vanha arvo on N eli naturassa, muutetaan uudeksi arvoksi I eli ei rauhoitettu. Lisäksi uusi attribuutti NA- TURASSA muutetaan arvoksi 1. Kuuluuko pesä Natura-suojelun piiriin. Etäisyys avohakkuun reunaan (m). Rivi sisälsi ennen etäisyyden avohakkuun / siemenpuuston reunaan. Vanhat arvot säilyvät tässä kentässä. Etäisyys siemenpuuston reunaan (m). 10
13 4.4 Pesatarkastus-taulu Tauluun PESATARKASTUS kirjataan pesän tarkastuskäynnillä kerätyt tiedot. Rengastaja/pesimätietojen kerääjä voi tehdä useita tarkastuskäyntejä pesälle vuoden aikana. Eri tarkastuskäyntien tiedot kerätään kuitenkin yhteen käyntiin, yleensä poikasten rengastuskäyntien yhteyteen. Taulun avain on attribuutti P_TARKASTUS_ID joka saa arvokseen järjestelmän tuottaman juoksevan numeron. Viiteavain tauluun PESAVAKIO on PESA_ID ja viiteavain tauluun TARKASTAJA attribuutit TARKASTAJA1_ID (ensisijainen tarkastaja, yhteyshenkilö) ja TARKASTAJA2_ID (toissijainen tarkastaja). PESATARKASTUS Attribuutti Null Tyyppi Pituus Kommentti P_TARKASTUS_ID N NUMBER 7 Avain. PESA_ID N NUMBER 7 Viiteavain tauluun PESAVAKIO. TARKASTAJA1_ID N NUMBER 5 Viiteavain tauluun TARKASTAJA (yhteyshenkilö). TARKASTAJA2_ID Y NUMBER 5 Viiteavain tauluun TARKASTAJA.... Relaskooppimittausten päivämäärä. (Vanhoihin + RELASKOOP_PVM Y DATE tietoihin kopioi- daan tähän kohtaan Pesätarkastuksen pvm.) + TYOP_TUNTIA Y NUMBER 3 Työpanos etsintään (henkilötuntia). + TYOP_AUTO_AJ Y NUMBER 4 Työpanos etsintään (autolla ajoa km). + TYOP_VENE_AJ Y NUMBER 3 Työpanos etsintään (veneellä ajoa km). + TYOP_KOMMENTTI Y VARCHAR2 256 Kommenttikenttä etsintään. 11
14 4.5 Poikanen-taulu Tauluun poikanen kerätään pesätarkastuksen yhteydessä saadut poikastiedot. Taulun avain on attribuutti POIKANEN_ID. Jokainen poikanen liittyy johonkin pesätarkastukseen, joten tauluun PESATARKASTUS viitataan avaimella TARKASTUS_ID. Tauluun TARKAS- TAJA viitataan attribuutilla MITTAAJA_ID. Se kertoo poikasen mittaajan. POIKANEN Attribuutti Null Tyyppi Pituus Kommentti POIKANEN_ID N NUMBER 7 Avain. TARKASTUS_ID N NUMBER 7 Viiteavain tauluun PESATAR- KASTUS. TARKASTAJA_ID N NUMBER 5 Viiteavain tauluun TARKAS- TAJA MITTAAJA_ID_1 N + MITTAAJA_ID_2 Y + MITTAUS_PVM_1 N + MITTAUS_PVM_2 Y NUMBER 5 5 NUMBER DATE DATE Ensimmäisen mittauksen suorittaja. Viiteavain tauluun TAR- KASTAJA. (Vanhoihin tietoihin kopioidaan tähän kohtaan tarkastaja1) Toisen mittauksen suorittaja. Viiteavain tauluun TARKAS- TAJA. Ensimmäisen mittauksen pvm. (Vanhoihin tietoihin tähän kohtaan pesätarkastuksen pvm.) Uuden mittauksen päivämäärä. + SIIPI_PITUUS_2 Y NUMBER 3 + SIIPI_PITUUS_M_2 Y VARCHAR2 1 + NILKKA_MIN_2 Y NUMBER 4,1 + NILKKA_MAX_2 Y NUMBER 4,1 + NOKKA_PITUUS_2 Y NUMBER 4,1 Uuden mittauksen siiven pituus (mm). Uuden mittauksen siiven mittausmenetelmä. Uuden mittauksen nilkka kapeimmalta kohdalta (mm). Uuden mittauksen nilkka paksuimmalta kohdatal (mm). Uuden mittauksen nokan pituus vahanauhan etureunasta kärkeen (mm). + NOKKA_TYVI_2 Y NUMBER 4,1 Uuden mittauksen nokan kor- 12
15 keus vahanauhan etureunassa (mm). + PAINO_2 Y NUMBER 4 + KUPU_2 Y NUMBER 1 + POIKASEN_IKA_2 Y NUMBER 3 + DNA_NAYTE_2 Y VARCHAR2 1 + HOYHENNAYTE_2 Y VARCHAR2 1 + KOMMENTTI_2 Y VARCHAR2 256 Uuden mittauksen poikasen paino (g). Uuden mittauksen kuvun täyttyysaste, 0-4. Uuden mittauksen ikäarvio poikaselle (vrk). Uuden mittauksen DNA-näyte. Höyhennäyte otettu toisessa mittauksessa. Uuden mittauksen kommentti. 5. Järjestelmävaatimukset J1 Uudet "Pesätarkastus"- ja "Uusi Pesä"- lomakkeisiin liittyvät järjestelmävaatimukset J1.1 Tietokanta vastaa uutta "Pesätarkastus"-lomaketta Prioriteetti: välttämätön Muuttaa: Tietokantatauluja PESAMUUTTUVA, PESATARKASTUS ja POIKANEN. Uusien attribuuttien lisääminen. J1.2 Järjestelmän toiminnallisuudet vastaavat "Pesätarkastus"-lomakkeeseen liittyviä tietokannan ja käyttöliittymän muutoksia Prioriteetti: välttämätön Muuttaa: APUTAULU - Poistetaan tietokannasta aputaulu arvoilla "taulu = PESAMUUTTUVA", "attribuutti = PALSTA_RAUHOITUS", "arvo = NATURA". Muuttaa: ValidatePesatiedot - Uusien kenttien tarkistus tietokanta-osion vaatimusten mukaisesti - Uusien kenttien lisääminen getemptyerrors() -metodiin. Muuttaa: subtemp_poikaset.ftl - Poikasen tietojen jako kahteen tarkastukseen. Muuttaa: subtemp_rauhoitus.ftl - Natura -kentän lisäys. 13
16 Muuttaa: subtemp_sijaintirelaskooppi.ftl - Relaskooppimittauksen päivämäärän lisäys. Etsinnän työpanoksien lisäys (henkilötuntia, autolla ajoa, veneellä ajoa). Muuttaa: subtemp_etaisyydet.ftl - Etäisyys siemenpuuston reunaan -kentän lisääminen. J1.3 Järjestelmä pystyy tuottamaan uuden esitäytetyn "Pesätarkastus"-lomakkeen Prioriteetti: välttämätön Muuttaa: ReportR - Metodi printoldnestpdf() tarvitsee syötteenään päivitetyn raporttipohjan (pdf/oldnest.pdf). - Tulostuspaikkojen päivitys. Uusien attribuuttien lisäys (etäisyys siemenpuustoon, natura). J1.4 Järjestelmä pystyy tuottamaan uudenmuotoisen "Uusi Pesä"-lomakkeen Prioriteetti: välttämätön Muuttaa: ReportQ - Metodi printnewnestpdf() tarvitsee syötteenään päivitetyn raporttipohjan (pdf/newnest.pdf). J2 Digikuviin liittyvät järjestelmävaatimukset J2.1 Tietokantaan voi tallentaa kuvia ja niihin liittyviä tietoja Prioriteetti: välttämätön Muuttaa (uusi taulu): KUVA - Uuden tietokantataulun lisääminen. Muuttaa (uusi luokka): KuvaOperation - Tuki kuvan ja sen tietojen lisäämiselle. Muuttaa (uusi luokka): ValidateKuva - Kuva ja siihen liittyvät täytyy validoida ennen kantaan tallentamista. J2.2 Tietokannasta voi hakea digikuvia reviirin perusteella Prioriteetti: hyödyllinen Muuttaa (uusi luokka): KuvaSearch - Kuvien etsintätoteutus. Muuttaa: ValidateHaku - Haun validoiminen. 14
17 J2.3 Tietokantaan tallennettuja kuviin liittyviä tietoja pystyy muokkaamaan Prioriteetti: hyödyllinen Muuttaa (uusi luokka): KuvaOperation - Tuki kuvan tietojen päivitykselle. Muuttaa (uusi luokka): ValidateKuva - Päivitettävät arvot tulee validoida ennen tietokantapäivitystä. J2.4 Tietokantaan tallennettuja kuvia ja niihin liittyviä tietoja pystyy poistamaan Prioriteetti: mahdollinen Muuttaa: Hali - Poisto-operaation kutsuminen. Muuttaa (uusi luokka): KuvaOperation - Tuki kuvan poistamiselle. Muuttaa (uusi luokkka): ValidateKuva - Poisto täytyy validoida ennen suorittamista. Muuttaa (uusi mallipohja): kuva.ftl - Poistonapin lisäys. J2.5 Käyttöliittymän tulee mahdollistaa kuvien ja niihin liittyvien tietojen tallennus, käsittely, haku ja tulostus Prioriteetti: välttämätön Muuttaa: View - Tuki kuvan lisäyssivulle sekä lisäyksen tulossivulle. - Tuki kuvan tietojen esittämissivulle. Muuttaa: haku.ftl - Tuki kuvahakutilaan siirtymiseen, sen esittämiseen ja tuloksien näyttämiseen. Muuttaa (uusi mallipohja): kuva.ftl - Kuvan ja siihen liittyvien tietojen näyttäminen. - Tuki kuvan infokenttien muokkaukselle ja muokattujen tietojen tallennusnapille. Muuttaa (uusi mallipohja): kuva_lisays.ftl - Kuvan lisäyksen tulos. J2.6 Digikuvien kopioiminen hakemistoon Prioriteetti: välttämätön Muuttaa: Hali - Kopiointioperaation kutsuminen. Muuttaa (uusi luokka): KuvaOperation - Tuki kuvan kopioimiselle hakemistoon. Muuttaa: haku.ftl - Kuvahaun tuloksia näytettäessä luotava nappi josta digikuvat kopioidaan hakemistoon. 15
18 J2.7 Digikuvien tietojen tulostus MS Excel -yhteensopivaan muotoon Prioriteetti: välttämätön Muuttaa: Hali - Tulostustoiminnon kutsuminen. Muuttaa (uusi luokka): KuvaOperation - Tuki tietojen tulostukselle MS Excel -yhteensopivaan muotoon. Muuttaa: haku.ftl - Kuvahaun tuloksia näytettäessä luotava nappi josta haun tulokset tulostetaan MS Ex celyhteensopivaan muotoon. J3 Uusiin raportteihin liittyvät järjestelmävaatimukset J3.1 Pesälistan tulostus Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: General.Const - Uusien raporttien myötä uusia vakioita (RAPORTTI_T="raporttiT" jne.). Muuttaa: Hali - If-kokoelmaan lisättävä uudet raportit. Muuttaa (uusi luokka): ReportT - Lisätään uusi luokka. Muuttaa: Validate.ValidateRaportit - Uusien raporttien myötä lisättävä niiden tarkistukset (String T =... jne.) - Mahdollisesti lisättävä (raportista riippuen) huomioitavia erikoisehtoja. Muuttaa (uusi mallipohja): raporttit.ftl - Lisätään uusi mallipohja. J3.2 Reviirilistan tulostus Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: General.Const - Lisätään uusien raporttien myötä uusia vakioita (RAPORTTI_U="raporttiU" jne.) Muuttaa: Hali - If-kokoelmaan lisättävä uudet raportit. Muuttaa (uusi luokka): ReportU - Lisätään uusi luokka Muuttaa: Validate.ValidateRaportit - Uusien raporttien myötä lisättävä niiden tarkistukset (String U =... jne.) - Mahdollisesti lisättävä (raportista riippuen) huomioitavia erikoisehtoja. Muuttaa (uusi mallipohja): raporttiu.ftl - Lisätään uusi mallipohja. 16
19 J3.3 Pesimistuloksen yhteenvetolista Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: General.Const - Lisätään uusien raporttien myötä uusia vakioita (RAPORTTI_V="raporttiV" jne.) Muuttaa: Hali - If-kokoelmaan lisättävä uudet raportit Muuttaa (uusi luokka): ReportV - Lisätään uusi luokka Muuttaa: Validate.ValidateRaportit - Uusien raporttien myötä lisättävä niiden tarkistukset (String V =... jne.) - Mahdollisesti lisättävä (raportista riippuen) huomioitavia erikoisehtoja. Muuttaa (uusi mallipohja): raporttiv.ftl - Lisätään uusi mallipohja. J4 Vanhoihin raportteihin liittyvät järjestelmävaatimukset J4.1 S- raportin tulostus MS Excel -yhteensopivaan muotoon Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). - Puuttuvan S-raportin toiminnallisuus oletettavasti luokassa ReportGILMON. J4.2 S-raportin tulostus pdf-tiedostoksi Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin pdf-muotoon (tai muokataan olemassaolevaa writereportrow-metodia). - Puuttuvan S-raportin toiminnallisuus oletettavasti luokassa ReportGILMON. 17
20 J4.3 P-raportin tulostus MS Excel -yhteensopivaan muotoon Prioriteetti: välttämätön Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportP - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). J4.4 A-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportA - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). J4.5 B-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportB - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). - Muutoksia tarkastajaid:n hakuun (tarkastajan oltava tarkastaja1) - Lisätään yhteenvetosumma raporttiin (result_data.put()). Yhteenvetosumma lasketta va. Muuttaa: Validate.ValidateRaportit - Lisättävä uusia tarkastuksia tarkastajaan ja yhteenvetosummaan liittyen. J4.6 C-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). - Puuttuvan C-raportin toiminnallisuus oletettavasti luokassa ReportGILMON. 18
21 J4.7 E-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). - Puuttuvan E-raportin toiminnallisuus oletettavasti luokassa ReportGILMON. J4.8 F-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaole vaa writereportrow-metodia). - Puuttuvan F-raportin toiminnallisuus oletettavasti luokassa ReportGILMON. J4.9 J-raportti Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Muutoksia kirjoitusmetodeihin (writerow, writereportrow). Muuttaa: Action.Report.ReportGILMON - Uusi metodi joka osaa tulostaa raportin excel-muotoon (tai muokataan olemassaolevaa writereportrow-metodia). - J-raportin varsinainen toiminnallisuus luokassa ReportGILMON. Muuttaa: Validate.ValidateRaportit J-raportin oikeellisuus tarkistettava. J5 Virheiden ja vaillinaisten toimintojen korjaamiseen liittyvät järjestelmävaatimukset J5.1 Pudotusvalikoissa ei ole pelkkiä kirjainkoodeja Prioriteetti: mahdollinen Käyttää: General.HaliUtils - Käytetään mahdollisesti metodia getddlistwithexplanation. Muuttaa: View - Muutoksia metodiin joka rakentaa dropdown-listoja (käyttää HaliUtilsin ddlistwithexplanation-metodia). 19
22 J5.2 Koordinaattimuunnosten pitää toimia oikein Prioriteetti: mahdollinen Muuttaa: General.HaliUtils - Pyöristysvirhe (luultavasti) korjattava. J5.3 Koordinaattien muokkaaminen Prioriteetti: hyödyllinen Muuttaa: Action.Operation.PesaOperation - Muutoksia if-haaraan jossa käydään läpi yhtenäiskoordinaattimuotoiset koordinaatit. J5.4 Koordinaattien oikeellisuus tarkistetaan ennen tallentamista tietokantaan Prioriteetti: välttämätön Muuttaa: General.Const - Pituuksien ja leveyksien vakioita muokattava vaatimusten mukaisiksi (korkeintaan 7 merkin pituisia jne.). Muuttaa: Validate.ValidatePesatiedot - Lisää tarkistuksia if-kokoelmaan (yhtenäiskoordinaattien tarkistuksessa). J5.5 Pesätarkastus-tietojen kohdassa "pesivä laji" pitää tietokantaan voida tallentaa muitakin lajeja kuin merikotka Prioriteetti: hyödyllinen Muuttaa: Action.Operation.PesaOperation - Muutoksia metodiin joka tarkistaa onko pesatarkastus-tietoihin tehty muutoksia (pesatarkastuschanged). Muuttaa: Validate.ValidatePesatiedot - "Muu laji"-kohdassa tarkistettava myös että "Nähdyt pesinnän merkit"-kohtaan on tallennettu "X" ja "Pesimistulokseen" "A" - "Rauhoitustiedot"-kohdassa tarkistettava kiinnityspäivämäärän oikeellisuus. J5.6 Rauhoitustaulun päivämäärän muuttaminen Prioriteetti: hyödyllinen Muuttaa: Action.Operation.PesaOperation - Muutoksia metodiin joka tarkistaa onko pesavakio-tietoihin tehty muutoksia (pesavakiochanged). 20
23 J5.7 Pesäpuun ja Pesän mitat Prioriteetti: mahdollinen Muuttaa: ValidatePesatiedot - Mittauspäivämäärä hyväksyttävä riippumatta muiden kenttien sisällöstä. J5.8 Suojelu Prioriteetti: mahdollinen Muuttaa: ValidatePesatiedot - Suojelutietojen päivämäärä hyväksyttävä riippumatta muiden kenttien sisällöstä. J5.9 Pesän ympäristö Prioriteetti: mahdollinen Muuttaa: ValidatePesatiedot - Mittauspäivämäärä hyväksyttävä riippumatta muiden kenttien sisällöstä. J5.10 Rengastusikäisten poikasten syöttötietojen tarkistus Prioriteetti: mahdollinen Muuttaa: ValidatePesatiedot - Tarkistettava, että rengastusikäisten poikasten lukumäärä vastaa poikastiedoista ilmenevää rengastettujen poikasten lukumäärää. J5.11 Tuhoutumisvuosi Prioriteetti: mahdollinen Muuttaa: ValidatePesatiedot - Tuhoutumisvuoden syöttämisen jälkeen pesän kunnon on oltava pesimiskelvoton. 21
24 J6. Käyttöliittymä vastaa uutta "Pesätarkastus"-lomaketta Prioriteetti: välttämätön Muuttaa: Pesatarkastus.ftl sekä mahdollisesti liittyvät subtemp_.ftl* - Käyttöliittymän generointi on jaettu päämallipohjasta erillisiin alimäärittelyihin. Nämä pitää muuttaa uutta lomaketta vastaaviksi. J7. Tietokannassa pitää olla vain valideja koordinaatteja Prioriteetti: mahdollinen Muuttaa: Tietokannan sisältöä. - Erillinen kertaluonteinen korjausajo tietokantaan, jossa paikallistetaan ja korjataan virheelliset koordinaatit. Korjausajossa otettava huomioon muuttuneiden koordinaattien vaikutus mahdollisiin kuntarajaylityksiin. Tiedossa olevia virheellisiä koordinaatteja ovat liian lyhyet yhtenäiskoordinaatit sekä virheellisesti pyöristetyt astekoordinaatit. J8. Käyttöliittymässä yhtenäiskoordinaatteja syötettäessä ei saa olla esitäytettyjä numeroita Prioriteetti: välttämätön Muuttaa: View, mallipohjasta tai kielitiedostostot. Lomakkeesta tulee poistaa ylimääräinen numero "3". J9. Tietokannan päivittäminen uusia attribuutteja vastaavaksi Prioriteetti: välttämätön Muuttaa: Tietokantaa. - Erillisellä ja kertaluonteisella tietokannan ylläpito-operaatiolla päivitetään tietokantaa luomalla uusi taulu kuvatietoja varten sekä lisäämällä joihinkin vanhoihin tauluihin uusia kenttiä luvun 4 osoittamalla tavalla. Joissakin tapauksissa uusiin kenttiin kopioidaan tiedot vanhoista kentistä luvun 4 taulukuvausten mukaisesti. 22
25 6. Luokat Järjestelmän luokkakaavio. Uudet luokat on merkitty lihavoidulla tekstillä. (Kuva 5: Luokkakaavio) 6.1 General HaliUtils Const Tietokantatarkistuksia varten lisätään seuraavat vakiot. ET_SIEMENPUUSTO_MIN = 0 ET_SIEMENPUUSTO_MAX = 9999 TYOP_ETSINTA_TUNTIA_MIN = 0 TYOP_ETSINTA_TUNTIA_MAX = 999 TYOP_ETSINTA_AUTO_MIN = 0 TYOP_ETSINTA_AUTO_MAX = 9999 TYOP_ETSINTA_VENE_MIN = 0 TYOP_ETSINTA_VENE_MAX =
26 ARKUUS_ROHKEUS_MIN = 1 ARKUUS_ROHKEUS_MAX = 5 Tietokannan merkkijonoviittauksia varten lisätään seuraavat vakiot. KUVA = "kuva" KUVA_ID = "kuva_id" KUVAAJA_ID = "kuvaaja_id" KUVAN_KOHDE = "kuvan_kohde" KAMERA_KOMMENTTI = "kamera_kommentti" OBJEKTIIVI_KOMMENTTI = "objektiivi_kommentti" TELEJATKE_KOMMENTTI = "telejatke_kommentti" ARKUUS_ROHKEUS = "arkuus_rohkeus" 6.2 Db DbOperation DbSearch 6.3 Servlet Hali Luokka Hali hoitaa Haliaeetus-järjestelmän toiminnanohjauksen. Samalla se on koko järjestelmän ainoa servletti. Luokka ottaa vastaan doget - ja dopost -pyynnöt, mutta samaistaa doget -pyynnön dopost -pyyntöön yksinkertaisuuden vuoksi. Toiminnanohjaus tapahtuu if-else-rakenteen avulla haarautumalla saatujen parametrien mukaan. Luokassa on minimoitu varsinainen datankäsittely ja keskitytty käskyttämään Action - ja View -luokkia, ja ohjaamaan parametrit niille. public class fi.hy.hali.servlet.hali extends javax.servlet.http.httpservlet Konstruktorit: public Hali() Luo uuden Hali -olion. Metodit: public void init(servletconfig config) Metodia kutsutaan aina kun servletti käynnistetään. Alustaa perityn servlettoiminnallisuuden. config - Servletin määrittelyasetukset. 24
27 public void doget(httpservletrequest req, HttpServletResponse res) Metodia kutsutaan, kun servletiltä pyydetään palvelua get-menetelmällä. Metodi sisältää kokonaisuudessaa Haliaeetus-järjestelmän toiminnanohjauksen. req - Määrittää halutun palvelupyynnön. res - Objekti, jonka avulla servlet vastaa asiakkaalle. public void dopost(httpservletrequest req, HttpServletResponse res) Metodia kutsutaan, kun servletiltä pyydetään palvelua post-menetelmällä. Metodi samaistetaan doget-toiminnallisuuteen kutsumalla doget-metodia. req - Määrittää halutun palvelupyynnön. res - Objekti, jonka avulla servlet vastaa asiakkaalle. 6.4 Action Action Action -paketin Operation- ja Search-luokkien abstrakti yliluokka. public abstract class fi.hy.hali.action.action Konstruktorit: public Action() Luo uuden Action -olion. Metodit: public abstract java.util.map execute(map olddatamodel, Map newdatamodel) Abstracti execute -metodi toteutetaan aliluokassa. Käynnistää aliluokan ilmentymän toiminnan. olddatamodeli - Sisältää tarvittavan datamallin toiminnon suorittamista varten. newdatamodel - Datamalli, joka sisältää tulosdatan. Datamalli, joka sisältää tulosdatan LoginValidation 25
28 6.5 Action.Search Search Abstrakti luokka Search on pakkauksen fi.hy.hali.action.search luokkien yliluokka. Siihen on koottu kaikille hauille yhteisiä muuttujia ja metodeita. public abstract class fi.hy.hali.action.search.search extends fi.hy.hali.action.action Konstruktorit : public Search() Luo uuden Search -olion. Metodit: public abstract java.util.map execute(map olddatamodel, Map newdatamodel) Suorittaa haun annetuilla hakuehdoilla olddatamodel - Ei käytössä. newdatamodel - Hakuehdot. Haun tulokset datamalliin tallennettuna. protected void parsequery() Yhdistää kyselyn osat yhtenäiseksi kyselyksi PesaSearch KuntaSearch AputauluSearch ReviiriSearch TarkastajaSearch LajiSearch KuvaSearch Uusi luokka, jonka avulla tietokannasta voi hakea kuvia reviirin perusteella. public class fi.hy.hali.action.search.kuvasearch extends fi.hy.hali.action.search.search Konstruktorit : public KuvaSearch() Luo uuden KuvaSearch -olion. 26
29 Metodit: public java.util.map execute(map olddatamodel, Map newdatamodel) Suorittaa haun annetuilla hakuehdoilla olddatamodel - Ei käytössä. newdatamodel - Hakuehdot. Haun tulokset datamalliin tallennettuna. 6.6 Action.Operation Operation Operation -luokka on kaikkien Operation- paketin luokkien yliluokka joka sisältää niille yhteisiä metodeja ja muuttujia. public abstract class fi.hy.hali.action.operation.operation extends fi.hy.hali.action.action Konstruktorit: Public Operation() Luo uuden Operation -olion. Metodit: public boolean logcheck(string operation) Kutsuu lokia joka tekee mahdolliset lokimerkinnät ennen muutoksen kirjaamista tietokantaan. operation - Määrittelee, onko kyseessä lokikirjoitus vai lokirivin poisto. Tieto operaation onnistumisesta. public void replacecoordinates(map map) Metodi poistaa parametrina saamastaan oliosta ast_leveys- ja ast_pituus -Mapit ja korvaa ne vastaavilla String -olioilla. map - Sisältää astemuotoiset koordinaatit. Olion, jossa astemuotoiset koordinaattimapit on korvattu vastaavilla String-olioilla. public void replacedates(map map) Metodi poistaa parametrina saamastaan oliosta pvm -Mapit ja korvaa ne vastaavilla String -olioilla. 27
30 map - Datamalli, joka sisältää pvm -mappeja. protected java.lang.string parseinsert(string table, Map map) Metodi parsii insert -tietokantaoperaatioon tarvittavan SQL -lauseen. Metodi käyttää lauseen rakentamisessa user_tab_columns- taulun metadataa. table - Insert-operaation kohdetaulun nimi. map - Sisältää kantaan syötettävät arvot. Palauttaa SQL-kyselyn. protected java.lang.string parseupdate(string table, Map map, String rowid) Metodi parsii update -tietokantaoperaatioon tarvittavan SQL -lauseen. Metodi käyttää lauseen rakentamisessa user_tab_columns-taulun metadataa. table - Update-operaation kohdetaulun nimi. map - Sisältää kantaan muutettavat arvot. rowid - Määrittää päivitettävän rivin. SQL-kyselyn. protected java.lang.string rowidhextostring(string hexrowid) Metodi muuttaa heksadesimaalimuotoisen rowid:n ASCII -koodeja vastaavaksi merkkijonoksi. hexrowid - Heksadesimaalimuotoinen rowid. ASCII-koodeja vastaava merkkijono PesaOperation Luokka suorittaa pesän tietojen lisäämisen ja päivittämisen tietokantaan kutsumalla luokkien DbOperation ja DbSearch palveluita. public class fi.hy.hali.action.operation.pesaoperation extends fi.hy.hali.action.operation.operation Konstruktorit: public PesaOperation() Luo uuden PesaOperation -olion 28
31 Metodit: public java.util.map execute(map olddatamodel, Map newdatamodel) Suorittaa tietokantapäivityksen. Kutsuu tarkistukset suorittavaa ValidatePesatiedotluokkaa ja lisää mahdolliset virheet palautettavaan datamalliin. olddatamodel - Vanha datamalli newdatamodel - Uusi datamalli, joka sisältää esimerkiksi kantaan syötettävät tai sinne muutettavat attribuutit. Datamalli, joka sisältää esimerkiksi mahdolliset virheet. private int poikanencount(arraylist poikanen) Metodi laskee montako poikasta on syötetty lomakkeelle. Tämä tehdään tarkastamalla onko poikasten kenttiin syötetty arvoja. poikanen - Olio, joka sisältää tiedot lomakkeen neljästä poikasesta. Lomakkeelle syötettyjen poikasten lukumäärä KuntaOperation AputauluOperation ReviiriOperation TarkastajaOperation ReviiriKuntaMuutosOperation LajiOperation KuvaOperation Uusi luokka, joka hoitaa kaikki kuviin liittyvät tietokantaoperaatiot. public class fi.hy.hali.action.operation.kuvaoperation extends fi.hy.hali.action.operation.operation Konstruktorit: public KuvaOperation() Luo uuden KuvaOperation -olion Metodit: public java.util.map execute(map olddatamodel, Map newdatamodel) Datamallin perusteella suorittaa jonkin seuraavista operaatioista: - Tallentaa kuvan ja siihen liittyvät tiedot. 29
32 - Muokkaa kuvaan liittyviä tietoja. - Poistaa kuvan ja siihen liittyvät tiedot. - Kopioi digikuvat hakemistoon sekä generoi niihin liittyvistä tiedoista MS -Excel -yhteensopivan tiedoston. olddatamodel - Vanha datamalli newdatamodel - Uusi datamalli, joka sisältää esimerkiksi kantaan syötettävät tai sinne muutettavat attribuutit. Datamalli, joka sisältää esimerkiksi mahdolliset virheet. 6.7 Action.Report Report Luokka välittää Hali-servletiltä tulevan raportointipyynnön oikealle raporttiluokalle. Käyttäjän määrittelemät hakuehtorajaukset käsitellään täällä. Hakuehdot ja taulut, joista hakuehdot löytyvät, välitetään raportointiluokille merkkijonona. Konstruktorit: public Report() Luo uuden Report -olion. Metodit : public static void execute(map datamodel, PrintWriter out) Metodi execute jakelee servletiltä tulevat pyynnöt eteenpäin sen mukaan, mitä raportteja käyttäjä on halunnut tehdä datamodel - Sisältää hakuehdot. out - Tulostusolio ReportA Luokka tuottaa yhteenvedon suojeluviranomaisten käyttöön. Listaa reviirin perustiedot ja kaikkien reviirillä olevien pesien perustiedot, kuten puusto, näkyvyys pesältä ja tarkastajan nimi ReportB Tarkastajien tekemät pesätarkastukset. Listaa kunkin tarkastajan tarkastamien pesien lukumäärän annetulla aikavälillä ReportD Kuoriutumispäivät. Listaa haluttujen vuosien kuoriutumispäivät ja -määrät vuorokauden tarkkuudella. 30
33 6.7.5 ReportG Puustot. Raportissa listataan vuosittaisten pesintöjen lukumäärät puustokohtaisesti. Kutakin puustoa kohti ilmoitetaan pesintöjen määrä kyseisessä puustossa sekä lukumäärän prosentuaalinen osuus kaikista pesinnöistä ReportGILMON Raporttien G,I,L,M,O,N,J,K yliluokka. Nämä raportit kutsuvat luokan executereportmetodia omilla parametreillaan, raportin sisällöstä riippuen. Metodit: public java.util.map executereport(map datamodel, String table, String attribute, String specificquery) Metodi suorittaa raporttien G,I,L,M,O,N,J,K tulostuksen. datamodel - Sisältää hakuehdot. table - Taulu johon kysely kohdistuu. attribute - Attribuutti johon kysely kohdistuu. specificquery - Raporttikohtainen erillinen kysely ReportH Tarkat poikuekoot rengastushetkellä. Listaa vuosittaisen rengastettujen lintujen poikuekoot ReportI Pesäpuun elävyys. Listaa pesäpuiden vuosittaisen elävyysasteen ReportJ Pesäpuun puulaji (luonnonpesät). Listataan vuosittain pesäpuiden puulajien (luonnonpesät). Tulos ilmoitetaan prosenttiosuuksina. Lasketaan myös keskiarvo-osuudet vuosien yli ReportK Pesäpuun puulaji (tekopesät). Raportin J kaltainen tuloste, mutta tekopesille ReportL Pesän sijainti. Listataan vuosittain, mihin pesä on rakennettu (sijainti eri kohdissa puuta, tekopesä yms.). Tulos ilmoitetaan prosenttiosuuksina. Lasketaan myös keskiarvo-osuudet vuosien yli ReportM Puustojen käsittelyasteet. Listataan vuosittain pesää ympäröivän puuston käsittelyaste. Tulos ilmoitetaan prosenttiosuuksina. Lasketaan myös keskiarvo-osuudet vuosien yli. 31
34 ReportN Pesien sijainti pesäsaaren tyypin mukaan. Listataan vuosittain pesän sijaintisaaren tyyppi. Tulos ilmoitetaan prosenttiosuuksina. Lasketaan myös keskiarvo-osuudet vuosien yli ReportO Pesien sijainti maastotyypin mukaan. Listataan vuosittain, millaisessa maastotyypissä pesä sijaitsee. Tulos ilmoitetaan prosenttiosuuksina. Lasketaan myös keskiarvo-osuudet vuosien yli ReportP Palstan rauhoitusaste ja pesimistulos (vuosittainen raportointi ja yhteenveto). Listataan vuosittain kaksiulotteinen taulukko, jossa riveinä on palstan rauhoitusaste ja sarakkeina pesimistulos. Tulos ilmoitetaan esiintymisfrekvenssinä. Tulostetaan myös vastaava taulukko, joka on yhteenveto kaikista vuosista ReportQ Uusi Pesä. Uusi Pesä -raportin avulla kirjataan uuden pesän pesätarkastuksen tiedot tietokantaan. Raportti sisältää kohdat pesän sijainnin ja rauhoitustietojen, pesäpuun ja pesän mittojen, pesän ympäristön ja muihin pesätarkastukseen liittyvien tietojen kirjaamiseen ReportR Vanha pesä. Vanha Pesä -raportti on Uusi Pesä -raportin kaltainen, mutta poikkeaa siinä, että pesän ja sen ympäristön, reviirin ja muut vastaavat ei-muuttuvat tai harvoin muuttuvat tiedot on esitäytetty. Raportti tulostetaan säännöllistä pesätarkastusta varten. Pesätarkastuksen yhteydessä lomakkeeseen täytetään uudet ja muuttuneet tiedot ReportT Pesälista. Suuralueen vastaava voi tarvita raporttia kun hän on viranomaisiin yhteydessä maankäytön asioissa ja muussa suojelutoiminnassa. Maastotarkastuksissa voidaan myös suunnitella pesillä käyntejä. Raportti vastaa vaatimusmäärittelydokumentin liitettä ReportU Reviirilista. Käytetään esim. suuralueen vastaavan tiedonhallintaan pesien vuotuisen inventoinnin aikana tai pikayhteenvetoina kesän tilanteesta (poikassumma tiedotusvälineille yms.). Raportti vastaa vaatimusmäärittelydokumentin liitettä ReportV Pesimistuloksen yhteenvetolista. Muistuttaa ReportT:tä, mutta tässä tarkoituksena on koota reviirikohtainen pesimistulos. Raportti vastaa vaatimusmäärittelydokumentin liitettä 5. 32
35 6.8 Validate Validate Validate on abstrakti kantaluokka tietokannan syötetietojen tarkistukseen. Luokka sisältää yleisiä validaatioon liittyviä yksityisiä metodeita sekä abstraktin metodin execute(). public abstract class fi.hy.hali.validate.validate Konstruktorit: public Validate() Luo uuden Validate -olion. Metodit: public abstract java.util.map execute(map values) Tekee sivun muuttujien tarkistukset. Tarkistukset tehdään kannassa olevien rajoitteiden eikä tosielämän rajoitteiden mukaan. values - Tarkistettavat arvot. Datamallin, joka sisältää tyhjät virheilmoitukset. protected void checkdatavalue(string datamodelstring, String value, int min, int max) Numeeristen riippumattomien String -arvojen virheentarkistus. Vertailussa on mukana yhtäsuuruus. Virhetilanne tallennetaan sisäisiin muuttujiin. datamodelstring - Tarkistettava datapuun arvon avain. value - Tarkistettava String-muuttuja. min - Valuen minimikoko. max - Valuen maksimikoko. protected void checkdatavalue(string datamodelstring, String value, double min, double max) Numeeristen riippumattomien String -arvojen virheentarkistus. Vaatii, että toiseksiviimeinen merkki on ".". Vertailussa on mukana yhtäsuuruus. Virhetilanne tallennetaansisäisiin muuttujiin. datamodelstring - Tarkistettava datapuun arvon avain. value - Tarkistettava String-muuttuja. min - Valuen minimikoko. max - Valuen maksimikoko. protected boolean checkval(int num, int min_val, int max_val) Tarkistaa onko annettu muuttuja halutun arvoinen. Aseta min_val ja max_val samaksi, jos muuttujan pitää olla täsmälleen jonkin arvoinen. Vertailussa on mukana yh- 33
36 täsuuruus. num - Tarkistettava muuttuja. min_val - Muuttujan minimipituus. max_val - Muuttujan maksimipituus. Vertailun tuloksen. protected boolean checkval(double num, double min_val, double max_val) Tarkistaa onko annettu muuttuja halutun arvoinen. Aseta min_val ja max_val samaksi, jos muuttujan pitää olla täsmälleen jonkin arvoinen. Vertailussa on mukana yhtäsuuruus. num - Tarkistettava muuttuja. min_val - Muuttujan minimipituus. max_val - Muuttujan maksimipituus. Vertailun tuloksen. protected boolean checklength(string s, int min_length, int max_length) Tarkistaa onko annettu muuttuja halutun mittainen. Aseta min_length ja max_length samaksi, jos merkkijonon pitää olla täsmälleen jonkinpituinen. Vertailussa on mukana yhtäsuuruus. s - tarkistettava muuttuja. min_length - Muuttujan minimipituus. max_length - Muuttujan maksimipituus. Vertailun tuloksen. protected boolean checkminlength(string s, int min_length) Tarkistaa onko annettu String -muuttuja tarpeeksi pitkä. Vertailussa on mukana yhtäsuuruus. s - Tarkistettava String-muuttuja. min_length - Muuttujan minimipituus. Vertailun tuloksen. protected boolean checkmaxlength(string s, int max_length) Tarkistaa onko annettu muuttuja tarpeeksi lyhyt. Vertailussa on mukana yhtäsuuruus. 34
37 s - Tarkistettava muuttuja. max_length - Muuttujan maksimipituus. Vertailun tuloksen. protected boolean isnumeric(char c) Tarkistaa onko annettu char -muuttuja numeerinen, eli arvoltaan (sisältäen yhtäsuuruuden) Javan unicode -toteutuksessa. c - Tarkistettava muuttuja. Vertailun tuloksen. protected boolean isalpha(char c) Tarkistaa sisältääkö muuttuja ison tai pienen kirjaimen, eli on arvoltaan tai (sisältäen yhtäsuuruuden) Javan unicode -toteutuksessa. Parametrit c - Tarkistettava muuttuja. Vertailun tuloksen. protected boolean isalphanumeric(char c) Tarkistaa onko annettu muuttuja alphanumeerinen. c - Tarkistettava char-muuttuja. Vertailun tuloksen. protected boolean isnull(string s) Tarkistaa onko annettu muuttuja arvoltaan null tai sisältääkö se tyhjän merkkijonon. s - Tarkistettava muuttuja. Vertailun tuloksen. protected boolean isnumeric(string s) Tarkistaa onko annettu muuttuja numeerinen. s - Tarkistettava muuttuja. 35
38 Vertailun tuloksen. protected boolean isalpha(string s) Tarkistaa onko annettu muuttuja kirjaimellinen. s - Tarkistettava muuttuja. Vertailun tuloksen. protected boolean isalphanumeric(string s) Tarkistaa onko annettu muuttuja alphanumeerinen. s - tarkistettava muuttuja. Vertailun tuloksen ValidateLogin ValidatePesatiedot public class fi.hy.hali.validate.validatepesatiedot extends fi.hy.hali.validate.validate Konstruktorit: public ValidatePesatiedot() Luo uuden ValidatePesatiedot -olion. Metodit: public java.util.map execute(map values) Tekee pesatiedot -sivun muuttujien tarkistukset. values - Tarkistettavat pesätietoarvot. Olion, joka sisältää virheilmoitukset. Palauttaa haserrors-lehdessä virheiden lukumäärän. public java.util.map getemptyerrors() Palauttaa kaikki virheet tyhjinä (ilman "haserrors"-lehteä) Olion, joka sisältää tyhjät virheilmoitukset. 36
39 6.8.5 ValidateLaji ValidateTarkastajat ValidateReviiri ValidateHaku public class fi.hy.hali.validate.validatehaku extends fi.hy.hali.validate.validate Konstruktorit: public ValidateHaku() Luo uuden ValidateHaku -olion. Metodit: public java.util.map execute(map values) Tekee hakusivun muuttujien tarkistukset. values - Tarkistettavat hakutietoarvot. Olion, joka sisältää virheilmoitukset. Palauttaa haserrors-lehdessä virheiden lukumäärän. public java.util.map getemptyerrors() Palauttaa kaikki virheet tyhjinä (ilman "haserrors"-lehteä) Olion, joka sisältää tyhjät virheilmoitukset ValidateRaportit public class fi.hy.hali.validate.validateraportit extends fi.hy.hali.validate.validate Konstruktorit: public ValidateRaportit() Luo uuden ValidateRaportit -olion. Metodit: public java.util.map execute(map values) Tekee raporttisivun muuttujien tarkistukset values - Tarkistettavat raporttiarvot. Olion, joka sisältää virheilmoitukset. Palauttaa haserrors-lehdessä virheiden lukumäärän. public java.util.map getemptyerrors() Palauttaa kaikki virheet tyhjinä (ilman "haserrors"-lehteä) 37
40 Olion, joka sisältää tyhjät virheilmoitukset ValidateKuva Uusi luokka, joka tarkistaa kuvaan liittyvien tietojen oikeellisuuden. public class fi.hy.hali.validate.validatekuva extends fi.hy.hali.validate.validate Konstruktorit: public ValidateKuva() Luo uuden ValidateKuva -olion. Metodit: public java.util.map execute(map values) Tarkistaa kuvaan liittyvien tietojen oikeellisuuden. values - Tarkistettavat kuvatiedot. Olion, joka sisältää virheilmoitukset. Palauttaa haserrors-lehdessä virheiden lukumäärän. public java.util.map getemptyerrors() Palauttaa kaikki virheet tyhjinä (ilman "haserrors"-lehteä) Olion, joka sisältää tyhjät virheilmoitukset ValidateUusiPesaAlku 6.9 Log Log 6.10 View View Luokka hoitaa Haliaeetus -järjestelmän näyttöjen generoimisen. public class fi.hy.hali.view.view Konstruktorit: public View(PrintWriter out, String templatename) Luo uuden View -olion. out - Näytön tulostamiseen käytettävä olio. templatename - Näytön generoimiseen käytettävän templatetiedoston nimi. 38
41 Metodit: public void execute(map datamodel) Luokan päätoiminnallisuus. Templatenimen perusteella generoidaan haluttu näyttö. datamodel - Parametrit. private java.util.map gettext(resourcebundle bundle, String templatename, boole an navi) Muuntaa annetun bundle-luokan avain/arvo -parit vastaaviksi datamallin tiedoiksi. bundle - Luokka, johon on tallennettu käytetyn kielen resurssitiedoston avain/arvo - parit. templatename - Ladattavan näytön nimi. Resurssitiedostossa olevien tekstiavaimi en täytyy alkaa "text." + templatename. Olion, joka sisältää annetusta bundle-luokasta muunnetut avain/arvo -parit. private java.util.map geterrors(resourcebundle bundle, String templatename, Map errors) Palauttaa Map -olion, joka sisältää virheet kuvauksineen. bundle - Luokka, johon on tallennettu käytetyn kielen resurssitiedoston avain/arvo - parit. templatename - Ladattavan näytön nimi. errors - Datamalli, jonne on tallennettu virheet ja niitä vastaavat käännösavaimet avain/arvo -pareina. Olion, joka sisältää annetusta bundle -luokasta käännetyt virhetekstit. private void generateddlist(map datamodel) Metodi rakentaa kaikki dropdown-listat ja laittaa ne datamodeliin. datamodel - Datamalli, johon lisätään dropdown-listat. 39
42 6.11 Mallipohjat raporttit.ftl T-raportin muotoilu raporttiu.ftl U-raportin muotoilu raporttiv.ftl V-raportin muotoilu subtemp_poikaset.ftl subtemp_rauhoitus.ftl subtemp_sijaintirelaskooppi.ftl subtemp_etaisyydet.ftl haku.ftl kuva.ftl Uusi mallipohja. Kuvan ja siihen liittyvien tietojen näyttäminen kuva_lisays.ftl Uusi mallipohja. Kuvan lisäyksen tulossivu. 40
43 7. Käyttöliittymä Tässä luvussa kuvataan järjestelmän käyttöliittymä (Liite1). Projektin tarkoituksena on uudistaa jo olemassa olevaa käyttöliittymää siten, että se vastaa uusia vaatimuksia. Näyttöjä on 16: sisäänkirjautuminen, pesähaku, uusi tarkastus, pesätiedot, uusi pesä, raportit, reviirit, aputaulut, tarkastajat, kunnat, lajit ja uusina näyttöinä kuvan lisääminen ja kuvatulossivu sekä kuvien poiston ja lisäämisen tulossivut. Haku-sivu on sisäänkirjautumisen jälkeen ensimmäinen sivu. Kaikkien sivujen yläreunassa olevasta navigointipalkista, pääsee näyttöihin Haku, Uusi pesä, Uusi kuva, Raportit, Reviirit, Aputaulut, Lajit, Tarkastajat ja Kunnat. Uusi pesä-näytöllä lisätään uusi pesä ja Raportit-näytöltä saadaan aikaan erilaisia raportteja. Haku-sivulla tehdyn haun perusteella pääsee jo olemassa olevalle pesälle tekemään uuden tarkastuksen (Uusi tarkastus) tai katsomaan/muuttamaan vanhoja tietoja (Pesätiedot). Kuvahaun tuloslistauksen kautta pääsee Kuvatulos-näytölle, jolla näkee kuvan ja siihen liittyvät tiedot sekä pystyy muuttamaan tietoja tai poistamaan kuvan tietoineen tietokannasta. "Pesätietojen muokkaus"- ja "Uusi tarkastus"- näkymät uudistetaan vastaamaan asettelultaan uutta "Pesätarkastus"-lomaketta. "Raportit"- näyttöön lisätään valintamahdollisuus raportin tulostustavalle. "Haku"-sivulla on välilehdet "Pesähaku" ja "Kuvahaku". Uusi kuva -näytöllä voi lisätä uuden kuvan ja siihen liittyvät tiedot tietokantaan. Oheisessa kuvassa esitetään käyttöliittymän näyttöjen väliset suhteet, punaisella merkittyjä näyttöjä tullaan muuttaamaan ja kokonaan punaiset näytöt ovat uusia. (Kuva 6: Käyttöliittymän näyttöjen väliset suhteet) 41
44 7.1 Käyttösekvenssit Kuvien haku, muokkaaminen ja poisto Hakeakseen kuvia, käyttäjän on ensin valittava yläosan navigointipalkista kohta "Haku". Esiin avautuu pesähaku-näkymä, josta käyttäjä valitsee kuvahaku-välilehden. (Kuva 7:Pesähaku-näkymä) 42
45 Kuvahaku-näkymässä käyttäjä valitsee valikosta haluamansa reviirin ja painaa "Hae"- painiketta. (Kuva 8: Kuvahaku-näkymä) 43
46 Järjestelmä listaa haun tuloksen järjestettynä ensisijaisesti oikean renkaan numeron mukaan ja toissijaisesti päivämäärän mukaan. Jos käyttäjä valitsee "Tallenna", järjestelmä tallentaa listauksen hakutuloksesta csv-muotoiseen tiedostoon ja lisäksi erikseen kuvatiedostot hakemistoon. Valitsemalla hakutuloksesta haluamansa kuvan, pääsee näkymään jossa esitetään valittu kuva ja sen tiedot. (Kuva 9: Haun tulos-näkymä) 44
47 Kuva -näkymässä voi siirtyä tuloslistassa edelliseen tai seuraavaan kuvaan sekä siirtyä näkymään, jossa voi muokata tai poistaa kuvan tietoja (Kuva 10: Kuvatieto-näkymä) 45
48 Kuvan tietoja voi muokata kirjoittamalla avautuneisiin tekstikenttiin ja valitsemalla "Tallenna". Kuvan ja siihen liittyvät tiedot voi poistaa valitsemalla ensin varmistuslaatikon ja sitten klikkaamalla "Poista". (Kuva 11: Kuvatietojen muokkaus -näkymä) 46
TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti. Versiohistoria:
TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 0.1 23.05.04 Ensimmäinen luonnos Timo 0.2 25.05.04 Toinen luonnos Timo 1.0 30.05.04 Ensimmäinen versio
TIETOKANTA MERIKOTKIEN SEURANTAAN Vaatimusmäärittelydokumentti
TIETOKANTA MERIKOTKIEN SEURANTAAN Vaatimusmäärittelydokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 7.10.2007 Ensimmäinen virallinen versio Janne Piippo 2.0 8.10.2007 Virheiden korjaus Tuire
Ylläpitodokumentti. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti KotKot Helsinki 14.12.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen
Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.
TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO
Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje KotKot Helsinki 14.12.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen Matti
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Suunnitteludokumentti
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Suunnitteludokumentti Versiohistoria Versio Päivämäärä Kuvaus Tekijä 1.0 12.2.2008 Ensimmäinen virallinen versio Hannu Maksimainen 2.0 27.4.2008 Toinen
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Ylläpitodokumentti
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Ylläpitodokumentti Versiohistoria Versio Päivämäärä Kuvaus Tekijä 1.0 27.4.2007 Ensimmäinen virallinen versio Hannu Hartikainen HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
Action Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
Toteutusdokumentti. Kotkat-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Toteutusdokumentti Kotkat-ryhmä Helsinki 18.5.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Katja Astikainen
Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria: Helsinki,
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti Versiohistoria: Versio 0.1 0.2 0.3 1.0 1.1 1.2 Päivämäärä 5.3.2004 8.3.2004 14.3.2004 17.3.2004 19.3.2004 28.3.2004 Kuvaus Ensimmäinen luonnos Toinen
9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
Graafinen käyttöliittymä lintujen rengastusjärjestelmään
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
Metodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
Käyttöohje. Tiput-ryhmä Ohjelmistotuotantoprojekti
Käyttöohje Tiput-ryhmä 21.12.2006 581260 Ohjelmistotuotantoprojekti Grönholm Peter Hautamäki Marja Koski Marja-Ilona Lavi Rakel Piela Riitta, projektipäällikkö Helsingin yliopisto Tietojenkäsittelytieteen
Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti. Versiohistoria:
TIETOKANTA MERIKOTKIEN SEURANTAAN Toteutusdokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 0.1 10.4.2003 Ensimmäinen luonnos Ari 0.2 16.4.2003 Lisätty otsikot Ari 0.3 4.5.2003 Lisätty tekstejä
1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Sisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.
Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa
Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
TIETOKANTA MERIKOTKIEN SEURANTAAN Vaatimusdokumentti. Versiohistoria:
TIETOKATA MERIKOTKIE SEURATAA Vaatimusdokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 0. 3..00 Ensimmäinen luonnos Harri Honkanen 0. 8..00 Toinen luonnos Harri Honkanen 0.3 0..00 Kolmas luonnos
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria:
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 0.1 19.2.2003 Ensimmäinen luonnos Topi Laamanen 0.2 7.3.2003 Lisätty käyttötapaukset Topi Laamanen
Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
Taulukot. Jukka Harju, Jukka Juslin 2006 1
Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti
Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä
Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
Sisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa
WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,
Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri
Ylläpitodokumentti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 14.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä
Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Graafinen käyttöliittymä lintujen rengastusjärjestelmään
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
Graafinen käyttöliittymä lintujen rengastusjärjestelmään
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
Olio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
Suunnitteludokumentti
Suunnitteludokumentti Kotkat-ryhmä Helsinki 22.3.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Manta Jääskeläinen
Provet Net Kutsut ohje
Provet Net Kutsut ohje Provetissa voidaan kutsuja käyttää pitkä-aikaisten asiakassuhteiden ylläpitoon. Kutsujen avulla asiakkaita voidaan muistuttaa lemmikin rokotusten voimassa olosta, hampaiden säännöllisestä
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2
Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.
TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla
Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,
Käyttöohje. Kotkat-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje Kotkat-ryhmä Helsinki 17.5.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Katja Astikainen
Javan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Käyttöohje
KÄYTTÖLIITTYMÄ SÄÄKSIEN PESIMÄTIETOJEN TIETOKANTAAN Käyttöohje Versiohistoria Versio Päivämäärä Kuvaus Tekijä 1.0 27.4.2008 Ensimmäinen virallinen versio Hannu Maksimainen HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Hakemistojen sisällöt säilötään linkitetyille listalle.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ
RADAR - RANDOM DATA GENERATOR
YLEISKUVAUS Radar on sovellus, jolla voi luoda näennäisen oikeaa satunnaisdataa testaus-, demo - ja muihin tarkoituksiin. TIEDUSTELUT Juha Levonen 050 372 5797 juha.levonen@kantapeikko.fi Osa datasta generoidaan
Graafinen käyttöliittymä lintujen rengastusjärjestelmään
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
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti. Versiohistoria:
TIETOKANTA MERIKOTKIEN SEURANTAAN Suunnitteludokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 0.1 19.2.2003 Ensimmäinen luonnos Topi Laamanen 0.2 7.3.2003 Lisätty käyttötapaukset Topi Laamanen
Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio
Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,
20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14
Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat
Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti
Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu JÄRJESTELMÄN KÄYTTÖOHJE LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001
Java kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
Projektinhallintaa paikkatiedon avulla
Projektinhallintaa paikkatiedon avulla Tampereen Teknillinen Yliopisto / Porin laitos Teemu Kumpumäki teemu.kumpumaki@tut.fi 25.6.2015 1 Paikkatieto ja projektinhallinta Paikkatiedon käyttäminen projektinhallinnassa
Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen
Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen
SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet
SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin
Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy
Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...
Ohjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000
HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen
Vaatimusdokumentti. Kotkat-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Vaatimusdokumentti Kotkat-ryhmä Helsinki 19.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Manta Jääskeläinen
Tietokantakurssit / TKTL
Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien
Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
Järjestelmäarkkitehtuuri (TK081702)
Järjestelmäarkkitehtuuri (TK081702) yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
Asiointipalvelun ohje
Asiointipalvelun ohje Yleistä 1. Kirjautuminen 2. Yhteystiedot 3. Vastaustavan valinta 1. Yleistä 2. Palkkatietojen lataaminen tiedostosta 4. Lomake 1. Yleistä 2. Linkit ja vastaajan tiedot 3. Lomakekäsittely
Tietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
Listarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
INTINU13A6 Java sovellukset
Johdanto Kurssin tavoitteena oli luoda tietokantaa käyttävä websovellus Java EE ohjelmointikielellä, sekä hyödyntää muun muassa servlettejä sekä JSP sivuja ja muita tekniikoita monipuolisesti. Webserverinä
Lohtu-projekti. Testaussuunnitelma
Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät
Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä keskustelualuetta simuloiva olioperustainen ohjelma (Simple Oope Board, S.O.B). Linkitetystä listasta perittyä omaa listaa käytetään muun muassa
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
ITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014
Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin
Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)
Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä
HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32
HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Versiohistoria: Versio Päivämäärä Kuvaus Tekijä Virallinen versio Janne Piippo
TIETOKANTA MERIKOTKIEN SEURANTAAN Yhteenvetodokumentti Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 13.12.2007 Virallinen versio Janne Piippo HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
Tietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava
Mikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String