Taideteosrekisterisovelluksen sovellussuunnitelma

TARE-projekti

Rauno Koskinen

Mikko Meriläinen

Heikki Nevala

Mikko Vilenius

 

                                                                                                              

 

1.0

17.12.2004

 

 

Jyväskylän yliopisto

Tietotekniikan laitos


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Yleistä

Tekijät: Rauno Koskinen, Mikko Meriläinen, Heikki Nevala, Mikko Vilenius

Tekijöiden lyhenteet: RK, MM, HN, MV

Yhteystiedot:kosraun@cc.jyu.fi, mjmerila@cc.jyu.fi, hemaneva@cc.jyu.fi, mijuvi@cc.jyu.fi

Tekijöiden lisäksi muita projektiorganisaation henkilöitä:

Tilaajan edustajat:

·        Miika Nurminen, tilaajan tekninen edustaja, minurmin@cc.jyu.fi

·        Pirjo Vuorinen, tilaajan pääedustaja, pirjo.vuorinen@jyu.fi           

Ohjaajat:

·        Hilkka Heikkilä, vastaava ohjaaja, hiheikki@cc.jyu.fi

·        Lari Kannisto, vastaava ohjaaja, kalahe@cc.jyu.fi

·        Vesa Tanhua-Tyrkkö, tekninen ohjaaja, vttanhua@cc.jyu.fi

Käytettävyyskonsultit:

·        Maarit Nurkkala, käytettävyyskonsultti, sanurkka@cc.jyu.fi

·        Sanna Saarikko, käytettävyyskonsultti, ssaarik@cc.jyu.fi

 

Projektitila sijaitsee huoneessa Agora C223.4, jonka puhelinnumero on 014-260 4966. Sähköpostilistoja on tare2004@korppi.it.jyu.fi (projektiryhmän sähköpostilista) ja tare.group@korppi.jyu.fi (projektilaisten sähköpostilista). Sähköpostiarkistot löytyvät osoitteista:

·        https://korppi.jyu.fi/list-archive/tare2004/ind.html

·        https://korppi.jyu.fi/list-archive/tare.group/ind.html

 

Kotisivu: http://sovellusprojektit.it.jyu.fi/tare/

Työn nimi: TARE–projektin sovellussuunnitelma

Avainsanat: Sovellusprojekti, TARE, sovellussuunnitelma, taideteosrekisteri

Tiivistelmä

Tämä dokumentti on Jyväskylän yliopiston tietotekniikan laitoksen syksyllä 2004 toteutettavan TARE–sovellusprojektin sovellussuunnitelma. Sovellussuunnitelmassa kuvataan sovelluksen taustaa, termejä, käytettäviä tekniikoita, käyttöliittymää ja tietokannan rakennetta.

 

Versio

Pvm

Tekijä

Kuvaus

0.1

26.10.2004

MM

Alustava runko

0.11

29.10.2004

RK

Lisätty kuva käyttöliittymästä, tarkennettu dokumentin sisältöä

0.2

18.11.2004

MM

Yhtenäistetty dokumentin ulkoasu vastaamaan muita projektin dokumentteja

0.3

24.11.2004

MM

Lisätty kuvia käyttöliittymästä. Konversio-ohjelman lisäys tietokanta-lukuun. Muotoiltu dokumentin ulkoasua.

0.4

25.11.2004

RK

Lisätty yksi taideteoshakukuva ja korjattu kommentointiesimerkkiä ja lisätty hiukan tekstiä käyttöliittymän selvitykseen.

0.5

3.12.2004

MM,RK

Korjattu palaverin 10 jälkeen termejä, muotoilua ja havaittuja kirjoitusvirheitä. Kuvaviitteet lisätty osaksi tekstiä.  Kommentointiesimerkkiä muutettu. Testausperiaatteet luku uudistettu.

0.6

9.12.2004

MM,RK

Muutettu palaverin 11 palautteen pohjalta. Muutettu sähköpostilista ja tiivistelmä. Korjattu liitteen ulkoasu. Päivitetty kuvia.

1.0

17.12.2004

RK

Versionumero vaihdettu

 

Sisällysluettelo

1      Johdanto.................................................................................................................. 1

1.1       Historiaa........................................................................................................... 1

1.1.1        UNO ja TATE-sovellusten aika........................................................................ 2

1.1.2        DUO — UNO-sovelluksen seuraaja................................................................. 2

1.1.3        Sovellusten ja järjestelmien käyttämistä tietokannoista........................................ 2

1.1.4        TARE.............................................................................................................. 2

1.2       Dokumentin rakenne.................................................................................. 3

1.3       Termit ja lyhenteet...................................................................................... 3

2      Toteutustekniikat ja -työkalut................................................................ 6

2.1       Arkkitehtuuri................................................................................................. 6

2.2       Tietokantakonvertointiohjelman luokkahierarkia.............. 7

2.3       DUO-järjestelmän arkkitehtuuri......................................................... 8

2.4       Käyttöjärjestelmät projektikoneissa............................................. 8

2.5       Ohjelmistotyökalut................................................................................... 9

2.6       Tietokanta....................................................................................................... 9

2.7       Tietokantayhteys........................................................................................ 9

3      Käyttöliittymä.................................................................................................. 10

3.1       Sisäänkirjautuminen................................................................................ 10

3.2       Käyttäjienhallinta................................................................................... 10

3.2.1        Henkilötietojen muuttaminen............................................................................ 11

3.2.2        Salasanan vaihto............................................................................................. 11

3.2.3        Käyttäjätietojen selaaminen............................................................................. 12

3.3       Haku................................................................................................................... 13

3.3.1        Taideteosten haku........................................................................................... 13

3.3.2        Henkilöiden haku............................................................................................ 14

3.3.3        Lainojen haku................................................................................................. 15

3.4       Tietueiden lisäys......................................................................................... 16

3.5       Tietueiden muokkaaminen..................................................................... 17

4      Tietokantasuunnitelma............................................................................... 18

4.1       Tietokannan rakenne.............................................................................. 18

4.2       DUO-tietokannasta hyödynnettävät taulut............................. 18

4.3       Uudet taulut................................................................................................. 19

4.4       Tietokannan konversio-ohjelma...................................................... 20

5      Ohjelmakoodin kommentointi ja nimeämiskäytännöt.......... 21

5.1       Esimerkki ohjelmakoodin kommentoinnista.............................. 22

6      Testausperiaatteita........................................................................................ 25

6.1       Testauksen tarkoitus.............................................................................. 25

6.2       Moduulitestaus........................................................................................... 25

6.3       Integrointitestaus..................................................................................... 25

6.4       Järjestelmätestaus.................................................................................... 26

6.5       Alfa- ja beta-testaus................................................................................ 26

7      Yhteenveto........................................................................................................... 27

Lähteet............................................................................................................................ 28

Liite 1: Tietokannan rakennekaavio............................................................ 29

Liite 2: TARE-käyttöliittymän luokkahierarkia.................................. 30

 

 

 

 


1         Johdanto

TARE-projekti on Jyväskylän yliopiston tietotekniikan laitoksella toteutettava Sovellusprojekti. Projektin tavoitteena on tuottaa Jyväskylän yliopiston museolle taideteosrekisteri. Kehitettävä sovellus korvaa siellä nykyään toiminnassa olevan ja toiminnallisuudeltaan vastaavan DOS -pohjaisen TATE-sovelluksen.

Toteutettavalla sovelluksella Jyväskylän yliopiston museon henkilökunta pystyy hallinnoimaan tietokantaa, johon on tallennettu yliopiston hallussa olevat taideteokset. Sovellus toimii apuna museohenkilökunnan työssä ja yliopiston laitosten tutkimuksessa. TARE-projekti keskittyy erityisesti vanhan TATE-sovelluksen yhteydessä toimivan tietokannan saattamiseen nykyaikaisempaan, pitkälle normalisoituun muotoon sekä käyttöliittymän kehittämiseen tietokannan hallintaa varten. TARE kehitetään museolla käytössä olevan DUO-sovelluksen pohjalta sen komponentteja hyväksi käyttäen. DUO-järjestelmä on kokoelmien hallintajärjestelmä, joka on ollut toiminnassa vuodesta 2002 alkaen.

1.1        Historiaa

Jyväskylän yliopiston kulttuurihistoriallisten ja taidekokoelmien hallinnoimisesta vastaa Jyväskylän yliopiston museo. Sen kokoelmissa on tällä hetkellä (syksyllä 2004) noin 45 000 luettelokappaletta, joista 850 on taideteoksia. Taideteoksista vanhimmat ovat Jyväskylän seminaarin alkuajoilta 1870-luvulta. Osa näistä on yliopiston omistamia ja osa on deponoitu. Suurin deponoija on valtion taideteostoimikunta.

Jyväskylän yliopiston museolle ensimmäinen tietokonejärjestelmä saatiin vuonna 1989. Ennen tätä aikaa arkistointi hoidettiin kortiston avulla käsin. Museo siirtyi käyttämään DOS-pohjaisia UNO ja TATE-sovelluksia kulttuurihistoriallisten ja taidekokoelmien hallinnointiin 1980- ja 1990-lukujen taitteessa. Sittemmin havaittiin tarvetta vaihtaa ne uudempiin verkossa ja Windows-ympäristössä toimiviin. Miika Nurmisen kehittämä UNO-sovelluksen korvannut DUO-sovellus on ollut toiminnassa vuodesta 2002 lähtien. Nyt myös DOS-pohjaiselle TATE-sovellukselle tarvitaan Windows-ympäristössä toimiva seuraaja, joka hyödyntäisi DUO-sovelluksen ratkaisuja. 

1.1.1        UNO ja TATE-sovellusten aika

UNO ja TATE ovat yliopiston museolla 1990-luvun alkupuolella kehitettyjä Clarion 2 -järjestelmään pohjautuvia ja DOS-ympäristössä toimivia tietokantasovelluksia. UNO on tarkoitettu museon esineiden, kirjojen, valokuvien ja tallenteiden luettelointiin. TATE on yliopiston taideteosrekisteri. Nämä sovellukset yhdessä korvasivat käsin pidetyn kortiston.

Sittemmin UNO ja TATE ovat vanhentuneet (ohjelmat eivät mm. toimi verkossa). Myös niiden käytettävyydessä ja hakuominaisuuksissa on puutteita, joten on ollut tarvetta korvata ne uusilla, Windows-pohjaisilla ja etäkäytön mahdollistavilla sovelluksilla.

1.1.2        DUO — UNO-sovelluksen seuraaja

Vuonna 2002 UNO-sovellus korvattiin Miika Nurmisen kehittämällä DUO-järjestelmällä. DUO on Windows-ympäristössä ja verkossa toimiva sovellus. Se on kehitetty Delphillä ja pohjautuu asiakas-palvelin arkkitehtuuriin.

1.1.3        Sovellusten ja järjestelmien käyttämistä tietokannoista

DUO-sovelluksen kehityksen yhteydessä UNO-sovelluksen käyttämän Clarion-pohjaisen tietokannan rakenteeseen tehtiin myös merkittäviä muutoksia. Tavoitteena oli mahdollisimman pitkälle menevä normalisointi ja rakenteistaminen. Vanha tietokanta muunnettiin ensin tekstiksi ja siitä edelleen SQL -tietokannaksi.

1.1.4        TARE

Jyväskylän yliopiston museolla on edelleen käytössään aikaisemmin mainittu TATE-sovellus. Se odottaa seuraajaansa, joka olisi Windows-ympäristössä ja verkossa toimiva DUO-sovelluksen kaltainen sovellus. Tämän ohjelmiston kehittämiseen keskittyy TARE-projekti.

1.2        Dokumentin rakenne

Tämä dokumentti rakentuu seuraavasti. Luku 1 sisältää dokumenttia ja sen käyttöä koskevia yleisiä asioita. Luvussa 2 käsitellään toteutustekniikoita ja -työkaluja. Luvussa 3 käydään läpi sovelluksen käyttöliittymää. Luku 4 sisältää sovelluksen tietokantasuunnitteluun liittyviä asioita. Luvussa 5 käsitellään ohjelmakoodin kommentointia ja nimeämiskäytäntöjä. Luvussa 6 kuvataan sovelluksen testausperiaatteita ja luku 7 sisältää yhteenvedon dokumentista.

1.3        Termit ja lyhenteet

Dokumentissa ja projektissa esiintyvät seuraavat termit ja lyhenteet:

Clarion                        Sovelluskehitin, jolla tehdään sovelluksia DOS-järjestelmälle. Clarion sovelluskehittimessä on mukana myös tietokantojen toteutusmahdollisuus.

CVS                            (Concurrent Version System) Versionhallintajärjestelmä. Käytetään yleensä ohjelmistokoodin hallintaan.

Delphi                         Graafinen sovelluskehitin Windows(ja Linux) ympäristöön, joka perustuu Object Pascal -kieleen. Object Pascal kielen rakenteesta johtuen ohjelmien käännös lähdekoodista ajettavaan muotoon on nopeaa.

Deponointi                  Deponointi tarkoittaa esineen pitkäaikaista sijoitusta museon kokoelmiin niin, että museo ei omista esinettä.

DiPasDoc                   Ohjelma, joka muodostaa HTML-dokumentaation Delphin lähdekooditiedostoista.

DUO                           Miika Nurmisen kehittämä UNO-ohjelman seuraaja, joka toimii Windows-ympäristössä.

HTML                        Hyper Text Markup Language on merkkauskieli tekstin sisällön ja rakenteen esittämiseen.

HTTP                          Hyper Text Transfer Protocol on HTML muotoisen tiedon tietoliikenneprotokolla.

ODBC                         (Open DataBase Connectivity) Standardi tietokantayhteysmenetelmä.

Perushenkilö              Perushenkilö sisältää perustiedot henkilöstä tai organisaatiosta. Näitä käytetään esimerkiksi lainaajahenkilöinä.

PostgreSQL                PostgreSQL on ilmainen BSD-lisenssin alla oleva relaatiotietokantajärjestelmä. (http://www.postgresql.org/).

SQL                            SQL -kieli on relaatiotietokantojen määrittely- ja käsittelykieli.

SQL-palvelin              Tietokantapalvelin, joka käytetään tietokantojen säilyttämiseen, hallinnointiin ja käyttämiseen.

TARE                         (TAideREkisteri). Vaatimusmäärittelyn pohjalta toteutettava uusi sovellus TATE-sovelluksen tilalle.

TATE                          DOS-pohjainen yliopiston taideteosten hallinnointiin käytetty ohjelma.

Tuottaja                      Taideteosten tuottaja. Sisältää perushenkilötietojen lisäksi taiteilijatietoja.

Työntekijä                  TARE ja DUO-sovellusten käyttäjä. Sisältää perushenkilön tietojen lisäksi käyttöoikeustiedot.

UNO                           DOS-pohjainen sovellus, jota käytettiin yliopiston museon kokoelmien hallinnointiin.

WWW-palvelin           Vastaa HTTP pyyntöihin, joita tulee pääasiassa WWW-selaimilta. Eli yleensä antaa selaimille heidän pyytämät sivut tai muun aineiston, joka sijaitsee WWW-palvelimella. WWW-sivut voivat myös olla eräänlaisia ohjelmia, jotka ovat yhteydessä vaikkapa tietokantaan sisäverkossa.

Yhteiskanta                DUO-sovelluksen ja TARE-sovelluksen yhteinen tietokanta.

2         Toteutustekniikat ja -työkalut

Luvussa kuvataan TARE-sovelluksen toteuttamiseen käytettäviä työkaluja ja ohjelmistoympäristöjä.

2.1        Arkkitehtuuri

Kuvassa 1 on esitetty sovelluksen yleistä arkkitehtuuria.

Kuva 1: Arkkitehtuurikaavio

2.2        Tietokantakonvertointiohjelman luokkahierarkia

Kuvassa 2 on esitetty DUO-sovelluksen Generator-luokkahierarkia. Luokkahierarkia tulee olemaan samankaltainen TARE-järjestelmän konvertointiohjelman kanssa, koska DUO-sovelluksen konvertointiohjelma kopioidaan ja muutetaan toimimaan TARE-sovelluksessa.

Kuva 2: Generator-luokkahierarkia

 

 

2.3         DUO-järjestelmän arkkitehtuuri

Kuvasta 3 voidaan nähdä DUO-järjestelmän arkkitehtuuria. Arkkitehtuuri on samankaltainen TARE-järjestelmän arkkitehtuurin kanssa, johtuen siitä että DUO-sovellusta käytetään alustana TARE-sovelluksessa.

Kuva 3:DUO-järjestelmäarkkitehtuuri

2.4        Käyttöjärjestelmät projektikoneissa

Kaikissa projektissa käytettävissä koneissa on käyttöjärjestelmänä Windows XP.

 

2.5        Ohjelmistotyökalut

Ryhmällä on ohjelmointityökaluna käytössään Borlandin Delphi 7. Pieni osa tietokantakonversiosta on toteutettu C++ -ohjelmointikielellä ja sitä tehdään Borland C++ Builder 5 -ohjelmalla. Versionhallinnassa käytetään WinCvs-sovellusta. Lisäksi käytössä on DIPasDoc -ohjelma, joka on otettava huomioon ohjelmakoodia kommentoitaessa. DiPasDoc -ohjelma löytyy osoitteesta

http://www.zeitungsjunge.de/delphi/pasdoc/.

2.6        Tietokanta

Tietokanta tehdään DUO-tietokannan ”päälle”. Vanhoja tauluja muokataan ja uusia tauluja lisätään tietokantaan. Tietokanta toteutetaan SQL -kieltä käyttäen.

2.7        Tietokantayhteys

Tietokantayhteys tehdään ODBC-ajurin kautta. Tähän ajuriin on valmiiksi asetettu tunnus ja salasana.

 

3         Käyttöliittymä

Tässä luvussa kuvataan käyttöliittymän toteutusta. Käyttöliittymän toteutuksessa käytetään pitkälti avuksi DUO-järjestelmän komponentteja.

3.1        Sisäänkirjautuminen

Käyttäjä kirjautuu ohjelmaan antamalla käyttäjätunnuksen ja salasanan ja painamalla OK-painiketta. Käyttäjätunnus ja salasana on talletettu tietokantaan ja ne haetaan tietokannasta ODBC-ajurin avulla. Ohjelma tarkistaa tunnuksen ja salasanan oikeellisuuden ja kirjaa käyttäjän sisään ohjelmaan. Näkymä käyttäjälle on esitetty kuvassa 4.

 

Kuva 4: Sisäänkirjautuminen

3.2        Käyttäjienhallinta

Tässä luvussa kerrotaan miten käyttäjienhallinta toimii. Käyttäjienhallinta tulee suurelta osin suoraan DUO-sovelluksesta.


3.2.1        Henkilötietojen muuttaminen

Kuvassa 5 näkyy lomake, jossa käyttäjä voi muuttaa henkilön tietoja ja lisätä uuden henkilön tietoja syöttämällä uudet tiedot haluamiinsa kenttiin ja tallentamalla muutokset.

Kuva 5: Henkilötietojen muokkaus

3.2.2        Salasanan vaihto

Käyttäjä pystyy vaihtamaan salasanansa syöttämällä kysyttyihin kenttiin vanhan salasanan, uuden salasanan ja uuden salasanan vahvistuksen. Näkymä käyttäjälle on esitetty kuvassa 6.

Kuva 6: Salasanan vaihtaminen

3.2.3        Käyttäjätietojen selaaminen

Valitsemalla Henkilöt-valikosta alavalinnan Työntekijät, voi käyttäjä selata muiden DUO ja TARE sovelluksen käyttäjien tietoja. Selauksessa voi tuplaklikkaamalla tarkastella yhden käyttäjän tietoja tarkemmin. Näkymä käyttäjälle on esitetty kuvassa 7.

Kuva 7: Käyttäjätietojen selaus

3.3        Haku

Käyttäjä voi tehdä hakuja käyttämällä yleishakua aiheen piiristä. Lisäksi voidaan tehdä tarkempi haku käyttämällä Kentät välilehteä.

 

3.3.1        Taideteosten haku

Käyttäjä pystyy hakemaan taideteoksia Taideteokset-valikosta avautuvassa selauksessa. Käyttäjä kirjoittaa halutun hakusanan selauksen yläosan tekstikenttään ja painaa Hae!-painiketta. Taideteokset-valikon alavalinnoissa määrätään, minkä kentän mukaan haku järjestetään. Kuvassa 8 on esitetty tämän näkyminen käyttäjälle.

 

Käyttäjä voi myös määritellä tarkemmin, minkälaista tietoa eri kentistä pitää löytyä hakutuloksissa. Tämä on esitetty kuvassa 9.

Kuva 8: Taideteoksen haku

Kuva 9: Taideteosten haku, Kentät välilehti

3.3.2        Henkilöiden haku

Käyttäjä pystyy hakemaan rekisterissä olevia henkilöitä ja alavalikosta voi myös määritellä mitä henkilöryhmiä haetaan. Näkymä käyttäjälle on esitetty kuvassa 10.

Kuva 10: Henkilöiden haku

3.3.3        Lainojen haku

Käyttäjä voi hakea Lainat-valikosta lainattujen teosten tiedot. Näkymä käyttäjälle on esitetty kuvassa 11.

Kuva 11: Lainojen haku

3.4        Tietueiden lisäys

Käyttäjä voi lisätä tietueita järjestelmään. Lisäys voidaan kohdistaa uuteen taideteokseen, henkilöön, lainaan tai näyttelyyn. Kuvassa 12 on esitetty näkymä lisättäessä näyttelyä rekisteriin.

Kuva 12: Näyttelyn lisäys

3.5        Tietueiden muokkaaminen

Käyttäjä voi muokata jo olemassa olevia tietueita. Muokkaus voidaan kohdistaa taideteokseen, henkilöön, lainaan tai näyttelyyn. Näkymä käyttäjälle on samankaltainen tietueiden lisäyksen kanssa.

4         Tietokantasuunnitelma

Tässä luvussa käsitellään tietokannan rakennetta, taulujen sisältöä ja tietokannan konversio-ohjelman sisältöä.

4.1        Tietokannan rakenne

TATE-tietokanta normalisoidaan ja syntyneet taulut lisätään DUO-tietokantaan, jolloin tuloksena saadaan yhteistietokanta. Tietokanta toteutetaan SQL-kieltä käyttäen. Tietokannan rakennekaavio on esitetty Liitteessä 1. Siitä ilmenee taulujen kentät ja suhteet toisiinsa.

4.2        DUO-tietokannasta hyödynnettävät taulut

DUO-tietokannasta käytetään seuraavia olemassa olevia tauluja:

·        tblAika                               sisältää tiedot ajankohdasta.

·        tblAmmatti              sisältää tiedot henkilön ammatista.        

·        tblHenkilo               sisältää henkilön yhteystiedot ja mahdolliset lisätiedot.

·        tblKayttaja                         sisältää käyttäjän nimen ja tunnisteen.

·        tblKokoelma                      sisältää taideteoskokoelman tiedot

·        tblKunto                             sisältää tiedon taideteoksen kunnosta.

·        tblLinkki                             sisältää linkin tiedot.

·        tblLinkkityyppi                    sisältää linkkityypin nimen ja tunnisteen.

·        tblMateriaali                       sisältää materiaalin nimen ja tunnisteen.

·        tblNayttely:             sisältää näyttelyn perustiedot.

·        tblPaikkakunta                    sisältää paikkakunnan nimen ja tunnisteen.

·        tblPaivitys               sisältää tiedot edellisestä päivityksestä.

·        tblSailytystila                       sisältää tiedot taideteoksen säilytystilasta.

·        tblSijoituspaikka                 sisältää tiedon valokuvan sijoituspaikasta.

·        tblTuottaja              sisältää tiedot taideteoksen tuottaneesta henkilöstä.

·        tblTyontekija                      sisältää työntekijän autentikointitiedot ja käyttöoikeudet.

·        tblValimerkki                      sisältää välimerkin symbolin ja tunnisteen.

·        tblValuutta                          sisältää rahayksikön nimen ja symbolin.                        

·        tblYhteystiedot                   sisältää henkilön yhteystiedot.

4.3        Uudet taulut

Projektissa suunniteltiin seuraavat uudet taulut:

·        tblHankintatapa                  sisältää taideteoksen hankintatavan tiedot.

·        tblKampus                          sisältää sijoituspaikan kampuksen nimen ja tunnisteen.

·        tblKansalaisuus                   sisältää tuottajan kansalaisuuteen liittyvät tiedot.

·        tblLuovuttaja                      sisältää taideteoksen luovuttajan tiedot.

·        tblLiitosLuovuttaja  on liitostaulu taideteoksen ja sen luovuttajan välillä.

·        tblLiitosValokuvaus            on liitostaulu taideteoksen ja valokuvauksen välillä.

·        tblRakennus                        sisältää sijoituspaikan rakennuksen nimen ja tunnisteen.

·        tblSigneeraus                      sisältää tiedot taiteilijan signeerauksesta.

·        tblSigPaikka                       sisältää tiedon signeerauksen sijainnista taideteoksessa.

·        tblTaideteos                        sisältää taideteoksen tiedot.                  

·        tblTeostyyppi                      sisältää teostyypin nimen ja tunnisteen.

·        tblTTLaina              sisältää taideteoksen lainauksen tiedot.

·        tblTTLiitosLinkki                on liitostaulu valokuvan ja valokuvan linkin välillä.

·        tblTTLiitosMateriaali           on liitostaulu taideteoksen ja sen materiaalin välillä.

·        tblTTLiitosNayttely on liitostaulu taideteoksen ja näyttelyn välillä.

·        tblTTLiitosTuottaja on liitostaulu taideteoksen ja tuottajan välillä.

·        tblTTSijoituspaikka sisältää tiedon taideteoksen sijoituspaikasta.

·        tblTTTekniikka                   sisältää taideteoksen teossa käytettyjen tekniikoiden tiedot.

·        tblValokuvaus                     sisältää valokuvan keskeiset tiedot.

 

 

 

 

4.4        Tietokannan konversio-ohjelma

Vanhan TATE-tietokannan tiedot on siirrettävä uuteen yhteistietokantaan. Tämä toteutetaan konversio-ohjelmalla, jonka tarkoituksena on muuttaa TATE-ohjelman Clarion-tietokanta SQL -tietokannaksi ja integroida se DUO-tietokantaan. Prosessi koostuu neljästä vaiheesta, jossa ensimmäisessä Clarion-tietokanta muutetaan Ascii -muotoon. Toisessa vaiheessa Ascii -tieto esikäsitellään C++ -kielellä toteutettavalla ohjelmalla kolmatta vaihetta varten, jossa luodaan yhtenäinen kanta DUO-ohjelman kanssa ja siirretään data uuteen kantaan Delphillä tehdyllä sovelluksella. Neljännessä ja samalla viimeisessä vaiheessa suoritetaan tietokantojen lopullinen integrointi.

5         Ohjelmakoodin kommentointi ja nimeämiskäytännöt

Ohjelmakoodi kommentoidaan englanniksi ja ohjelmakoodin kommentoimisessa käytetään DIPasDoc -ohjelman tukemaa muotoa.

Luokkien nimet kirjoitetaan englanniksi. Luokan nimen alkuun liitetään iso T-kirjain ja luokan varsinainen nimikin alkaa isolla alkukirjaimella. Jos luokan nimi koostuu useammasta sanasta, niin kaikki luokan nimen sanat kirjoitetaan yhteen ja sanat alkavat isolla kirjaimella.

Yleiset muuttujat aloitetaan pienellä kirjaimella proseduureissa, mutta luokissa isolla F-kirjaimelle jatkuen toisella isolla kirjaimella, kun kyseessä on propertyt. Muussa tapauksessa luokissa muuttujat alkavat isolla ilman pakollista F-alkukirjainta.

Metodien nimet kirjoitetaan englanniksi alkaen isolla alkukirjaimella ja jos nimi koostuu useammasta sanasta, niin kaikki sanat kirjoitetaan yhteen ja ne alkavat isolla kirjaimella.

 

Lähdekooditiedoston alkuun tulee laittaa MIT –lisenssi ja sitten erikseen tiedoston kommenttiosa. Tässä osassa tulee olla yleiskuvaus (abstract), tekijä (author), luontipäivämäärä (created), viimeisimmän muokkauksen päivämäärä (lastmod), kuvaus siitä mitä luokka tekee ja muutostiedot (UPDATES).

Yleiskuvaukseen (abstract) kirjoitetaan ensin yhdellä tai kahdella sanalla tyyppitieto ja sen jälkeen pilkulla erotettuna lyhyt kuvaus.

Luokissa tulee olla ainakin yleiskuvaus (abstract) ja kuvaus siitä mitä luokka tekee.

Metodien ja funktioiden kuvaus kirjoitetaan ennen metodin esittelyä, eikä ennen sen toteutusosaa. Tässä kuvataan mitä metodi tekee, mitä parametreja sille annetaan ja mitä tulee lopputuloksena. Delphin luomiin metodeihin ja vanhoihin DUO-sovelluksen metodeihin ei alkukommenttia tarvitse. Projektin aikana tehdyt metodien sisällöt kommentoidaan, paitsi ei yksinkertaisimpia asioita.

Vakiot tulee kommentoida ainakin vakioryhmätasolla. Eli vakioryhmät ainakin kommentoidaan.

Muuttujat ja propertyt kommentoidaan ennen niiden esittelyä. Poikkeuksena metodien/funktioiden sisäiset muuttujat, jotka kommentoidaan niiden perään.

Jos kommentoija haluaa rivinvaihdon, niin tuotetun HTML-dokumentin luonteesta johtuen on käytettävä HTML-tagia <BR> siinä kohtaa missä haluaa rivinvaihdon.

5.1        Esimerkki ohjelmakoodin kommentoinnista

{

Copyright (c) <2004 TARE-group>

 

TARE-group members: Rauno Koskinen, Mikko Meriläinen, Heikki Nevala and Mikko Vilenius

 

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

 

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

IN NO EVENT SHALL TARE-group BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

Except as contained in this notice, the names of TARE-group shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from TARE-group.

}

{

  @abstract(Example unit, Commenting example unit)

  @author(Rauno Koskinen)

  @created(23.11.2004)

  @lastmod(2.12.2004)

 

This unit is an example of Delphi code commenting done in TARE-project. This comment shows in HTML code documentation.

 

UPDATES

   25.11.2004   RK   Added updates section.<BR>

   2.12.2004    RK   Modified terms and abstracts<BR>

}

unit commentunit;

 

interface

 

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls;

 

const

  {Comment for a constant. This comment shows in HTML code documentation}

  TESTCONSTANT = True;

 

type

{

  @abstract(Example class, This class contains commenting examples)

  @author(Rauno Koskinen)

  @created(23.11.2004)

  @lastmod(25.11.2004)

 

  The function of this class is to serve as a commenting example. This comment also shows in HTML code documentation.

}

  TMyClass = class(TObject)

 

  private

 

{This is a comment to a private variable, which does not go to the HTML code documentation, because it is in private section}

    MyPrivateString:string;

 

  public

 

{This is a comment to a public method and shows in HTML code documentation.}

    procedure MyPublicMethod(parameter: string);

 

  end;

 

implementation

 

{ TMyClass}

 

procedure TMyClass.MyPublicMethod(parameter: string);

var

  i   : integer;  //loop variable

  str : string;   //garbage string

begin

  str:='';

 

  //We go through the loop thousand times

  for i:=1 to 1000 do

  begin

    str:=str+'A';    //Each loop iteration we add an 'A' to a string

  end;

end;

 

 

end.

6         Testausperiaatteita

Tässä luvussa selvitetään testauksen tarkoituksia, periaatteita ja tapoja.

6.1        Testauksen tarkoitus

Testauksella varmistetaan, että sovellus toteuttaa sille Vaatimusmäärittelyssä määritellyt ominaisuudet ja toiminnot. Testauksessa kartoitetaan myös sovelluksen käyttäytymistä mahdollisissa virhetilanteissa. Sovellusta tullaan testaamaan testitapauksien avulla käymällä läpi käyttöliittymän toimintoja.

Sovellusta tullaan testaamaan toteuksen eri vaiheissa mahdollisimman monen eri henkilön toimesta. Testaajina toimivat ryhmän jäsenet, ohjaajat, tilaajan edustajat ja mahdollisesti loppukäyttäjät.

6.2        Moduulitestaus

Moduulitestauksessa testataan yksittäisen moduulin tai komponentin toimintaa ennen sen integroimista järjestelmään. Testausvaihe toteutetaan projektiryhmän jäsenten toimesta. Komponentin toteuttaja ei saa olla ainoa testaaja, sillä häneltä voi jäädä huomaamatta joitain toiminnan kannalta tärkeitä kohtia.

6.3        Integrointitestaus

Integrointitestauksessa valmiita ohjelmiston komponentteja yhdistetään suuremmiksi kokonaisuuksiksi, joka testataan yhdessä. Tässä vaiheessa testaajina toimivat projektiryhmän jäsenet.

Virheiden jäljittäminen integroimistestauksessa on vaikeampaa kuin moduulitestauksessa. Sen takia onkin tärkeää tietää, mitä yksittäinen komponentti tekee tai mitä sen pitäisi tehdä, jotta mahdolliset virheet saadaan jäljitettyä ja korjattua.

Käytännössä moduuli- ja integrointitestausta luultavasti toteutetaan samanaikaisesti ja osittain päällekkäin.


6.4        Järjestelmätestaus

Järjestelmätestauksen aikana testataan koko sovelluksen toimintaa käyttäjän näkökulmasta. Testauksessa tarkastetaan, että sovellus toimii vaatimusten mukaisesti, eikä sisällä virheitä.

Järjestelmätestaus toteutetaan tuotantoympäristöä vastaavassa testausympäristössä. Testitapaukset kuuluvat järjestelmätestaukseen. Testaukseen osallistuvat projektiryhmän jäsenet, ainakin osa tilaajan edustajista, ohjaajat sekä mahdollisesti myös taideteosrekisterin tulevia käyttäjiä.

6.5        Alfa- ja beta-testaus

Alfa-testaus on järjestelmän testausta kehitysympäristössä projektiryhmän laitteistolla. Alfa-testaus suoritetaan pääosin projektipalavereissa. Tällöin pystytään ohjaamaan ja selvittämään järjestelmän toimintaa sekä mahdollisista virhetilanteista saadaan välittömästi palautetta.

Beta-testauksella tarkoitetaan asiakkaan tekemää testausta todellisessa käyttöympäristössä. Tällä tavalla käyttöliittymän rakenne ja toiminta tulee parhaiten testattua kohderyhmän kautta. Beta-testaus tapahtuu tilaajan koneella.

Alfa- ja beta-testausta suoritetaan käytännössä koko projektin ajan aina, kun jotain konkreettista, toimivaa ja testattavaa on prototyypistä valmiina. Beta-testaus toteutuu suurimmalta osalta kuitenkin vasta projektin päätyttyä, kun prototyyppiä käytetään tuotantokäytössä.

7         Yhteenveto

TARE-projekti kehittää seuraajan yliopiston museon taiderekisterisovellukselle (TATE). Sovelluksella museo voi ylläpitää taideteosrekisteriä Windows-ympäristössä vanhan DOS-pohjaisen ympäristön sijaan.

Tässä dokumentissa kuvataan TARE-sovellukselle asetetut tavoitteet sekä projektissa käytettäviä työkaluja ja sovellusympäristöjä. Lisäksi dokumentissa on kuvattuna sovelluksen tietokanta, käyttöliittymä ja testausperiaatteita.

 

Lähteet

[1] Kalermo Salla, Kosonen Sami, Pohjola Lauri, Tourunen Antti, ”Kuikka-projektin projektikansio”, Jyväskylän yliopisto, tietotekniikan laitos, 2004

[2] Nurminen Miika, ”DUO-järjestelmän tekninen käsikirjoitus”, Jyväskylän yliopisto, tietotekniikan laitos, 2002

 [3] Santanen Jukka- Pekka, ”Tietotekniikan Sovellusprojektien ohje”, Jyväskylän yliopisto, tietotekniikan laitos, 2004

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Liite 1: Tietokannan rakennekaavio

Liite 1: Taulujen kentät ja suhteet toisiinsa

Liite 2: TARE-käyttöliittymän luokkahierarkia

Liite 2: TARE-käyttöliittymän luokkahierarkia