1 (3)
| Tietorakenteet kevät 2002 |
Harjoitustyö Toiminnallinen määrittely |
Jukka Salminen i79947 |
Tämä dokumentti on MDBase-tietokantaohjelman toiminnallinen määrittely.
Sovelluksessa toteutetaan tietokanta (henkilörekisteri) käyttäen avoimen lähdekoodin luokkakirjastoja.
MDBase on tietokanta, joka sisältää tietoja lääkärinammattia harjoittavista ihmisistä. Monissa tilanteissa tarvitaan tietoa lääkäreistä, esim. potilaita voi kiinnostaa, keitä lääkäreitä tietyllä alueella toimii. Myös vakuutusyhtiöillä tai muilla lääkärinpalkkiokorvauksia maksavilla yhteisöillä voi olla tarvetta löytää tietyn lääkärin yhteystiedot. Tässä sovelluksessa on Ruotsissa lääkärinammattia harjoittavien henkilöiden tietoja. Tiedot on kuitenkin sekoitettu ja satunnaistettu niin, ettei yksittäisen lääkärin tietoja pysty lukemaan.
Tämäntyyppisessä rekisterissä tietueiden määrä voi olla melko suuri, tässä tapauksessa tietueita on n. 30.000. Tietokanta on toteutettu täysin Javalla ilman ulkoista tietokantaohjelmaa. Tehokas B-puuhun perustuva indeksointi ja avaimista muodostettavat alueelliset kyselyt takaavat nopean toiminnan.
Ohjelman suunnittelussa on otettu huomioon, että aakkosjärjestykset vaihtelevat eri kielissä. Ohjelma käyttää ICU-luokkakirjastoa, josta löytyy aakkostus lähes kaikille maailman kirjoitetuille kielille. Tämän luokkakirjaston avulla voi myös toteuttaa translitteroidun Unicode-pohjaisen tekstihaun, tätä ominaisuutta ei tosin tässä ohjelmaversiossa käytetä.
Ohjelman käyttö perustuu siihen, että käyttäjä voi selata sukunimen mukaan aakkosjärjestyksessä olevaa listaa. Koska lista voi olla pitkä, on näytettäviä tietoja mahdollista rajata antamalla etsittävä sukunimi (tai muutama merkki nimen alusta) ja/tai postitoimipaikka.
Ohjelma vaatii Java 1.4-tason virtuaalikoneen.
2 (3)
| Tietorakenteet kevät 2002 |
Harjoitustyö Toiminnallinen määrittely |
Jukka Salminen i79947 |
Jokaisesta lääkäristä voidaan tallettaa seuraavat tiedot tietokantaan:

3 (3)
| Tietorakenteet kevät 2002 |
Harjoitustyö Toiminnallinen määrittely |
Jukka Salminen i79947 |
Ohjelmalla ei ole ulkoisia liittymiä. Periaatteessa ohjelmaan voidaan lisätä komponetti, joka päivittää tietokannan tietoja jostain keskustietokannasta esim. web service-periaatteella.
Ohjelma tietokanta on paikallinen tekstitiedosto. Tietokantaan ei tallenneta uusia tietueita eikä tietoja muuteta (tämäkin olisi teknisesti mahdollista muttei tietojen paikkansapitävyyden kannalta järkevää). Näin tiedoston eheys on helpompi taata. Jos tiedosto jostain syystä tuhoutuu, voi tiedot lukea uudelleen toiselta tietokantaserveriltä. Tätä varten on olemassa erillinen Java-ohjelma.
Unicode (http://www.unicode.org)
Ohjelmassa oletetaan, että nimet on kirjoitettu länsimaisella merkistöllä.
Ohjelma toimii kaikissa koneissa, joissa on Java virtuaalikone versio 1.4 tai uudempi. Ohjelma tiedostoineen vaatii massamuistitilaa alle 10 Mt.