1. Yleistä
  2. Hytky on Helsingin yliopiston tietojärjestelmien kehitysympäristö. Ympäristö on 90-luvun alkupuolella toteutettu DOS-pohjainen ohjelmistotuotannon apuvälineitä sisältävä ohjelmistokokonaisuus. Sen ominaisuuksiin kuuluu tietovuokaavioiden ja käsitemallien tuottaminen. Yksi Hytkyn osa on relaatiotietokantojen visualisoija, joka muuntaa SQL-kielellä määritellyt taulut ja taulujen väliset suhteet graafiseen muotoon [Kär92]. Jokaisesta taulusta tulostetaan kentä ja merkitään avaimet. Viiteavaimet esitetään taulujen välisinä nuolina.

     

    Vanhan visualisoijan käyttö on mahdotonta nykyisten koneiden tehokkuuden moninkertaistuttua, koska visualisoijassa aikaa mitataan silmukassa eikä kelloa tms. käyttäen Tarkoituksena on toteuttaa vastaava järjestelmä, joka toimii niin nykyisillä kuin nykyistä tehokkaammillakin koneilla, sekä toteuttaa luvussa 2 mainittuja lisäominaisuuksia.

     

    Asiakkaana toimii lehtori Harri Laine.

     

    Lähteet

     

    [Kär92]

    Kärhä, Heli: Relaatiotietokannan visualisointi. (Raportti C-1992-21 Helsingin yliopisto, tietojenkäsittelyopin laitos.)

  3. Tavoitteet ja rajaukset
  4. Tarkoituksena on tuottaa graafisessa ympäristössä toimiva Hytkyn relaatiotietokannan visualisoijan kaltainen järjestelmä. Ensin järjestelmä tulkitsee SQL 92:n mukaiset kannanmäärittelylauseet. Oikea kaavio on saatava myös Oraclen ja mahdollisimman monen muun SQL-murteen lauseista. Vanhassa järjestelmässä ei ole mahdollista lisätä kaavioon inkrementaalisesti tietokantaan tehtyjä muutoksia kuten kenttien lisäyksiä tai poistoja, vaan muutosten jälkeen koko kaavio on generoitava uudestaan. Tästä puutteesta on tarkoitus päästä eroon uudessa järjestelmässä. Järjestelmä asemoi taulut automaattisesti, mutta käyttäjällä on myös oltava mahdollisuus muuttaa taulujen sijoittelua. Uusi järjestelmä pystyy edeltäjänsä tavoin tulostamaan kaavion. Mahdollisia lisäominaisuuksia ovat toimintojen peruminen eli undo, erilaiset kaavion zoomaukset, taulun automaattinen etsintä sekä useamman kaavion yhtäaikainen käsittely.

     

    Ohjelmoinnissa on otettava huomioon järjestelmän käänteinen toiminta eli kaaviosta tuotetaan vastaavat SQL-lauseet. Tietorakenteisiin on siis tallennettava kenttien tyypit.

     

    Sovelluksen ei tarvitse ymmärtää vanhalla järjestelmällä tehtyjä kaavioita. Tiedostojen samanaikaista käyttöä ei tueta, vaan mahdollisesti lukko-operaatioilla varmistetaan, että kaaviolla on vain yksi muokkaaja. Yleisarkkitehtuuri on keskitetty.

     

    Asiakas hyväksyy työn kokeilemalla järjestelmän toimintaa eri testiaineistoilla.

     

    Dokumentointikielenä on suomi.

  5. Ympäristö
  6. Toteutusympäristönä on Linux, mutta tavoitteena on ympäristöriippumaton järjestelmä. Tämän vuoksi ohjelmointikieleksi on valittu Java. Järjestelmän tulisi toimia myös Win32-ympäristössä sekä linuxin lisäksi muissa unixeissa.

     

    Järjestelmä on tarkoitettu käytettäväksi erityisesti Informaatiojärjestelmien laboratoriotyön yhteydessä. Käytön on oltava helppoa, koska tietokantojen parissa työskenteleväkin tarvitsee kaavioita harvoin. Jokaisen relaatiotietokanta-käsitteen tuntevan tulisi pystyä käyttämään järjestelmää.

     

  7. Organisaatio
  8. Ohjaaja:

    Harri Laine

     

    Projektipäällikkö:

    Petri Pusa

     

    Projektiryhmä:

    Sami Jaala

    Antti Koivisto

    Mika Saukkonen

    Tiina Tamminen

    Susanna Väkiparta

     

    Jokaisesta kokouksesta pidetään pöytäkirjaa. Sihteeriä vaihdetaan kahden viikon välein.

  9. Toimintasuunnitelma
  10. Projekti päättyy 29.4.1998 mennessä.

    1. Kokoukset
    2. Projektiryhmä kokoontuu keskiviikkoisin klo 16.15 sekä perjantaisin klo 13.15 niinä päivinä, joina opetusta järjestetään tietojenkäsittelytieteen laitoksella.

       

      Aluksi jokainen kokous on seurantakokous. Toteutusvaiheen alettua seurantakokouksia pidetään parin viikon välein: 10.3, 24.3, 7.4 ja 21.4

    3. Tarkastukset
    4. Määrittelydokumentti tarkastetaan katselmuksessa 13.2.1998 ennen varsinaista kokousta.

    5. Osatehtävät
      1. Määrittely
      2. Määrittelyn tuloksena syntyy määrittelydokumentti, joka on valmiina 11.2.1998. Se sisältää käyttötapauksia, käyttöliittymän hahmotelman, valmiiden välineiden kartoituksen, karkean luokkakaavion sekä toiminnallisuuden yksityiskohtaisen määrittelyn.

      3. Suunnittelu
      4. Suunnittelun tuloksena syntyy suunnitteludokumentti, jonka kirjoittaminen voidaan aloittaa, kun vaatimusdokumentti on hyväksytty. Dokumentti on 27.2.1998 pääosin valmiina siten, että toteutusvaihe voidaan aloittaa. Dokumentti sisältää teknisen yleisrakenteen, testaussuunnitelman sekä oliokaavion ja luokkien tarkennukset. Lopputulos katselmoidaan ryhmän sisäisesti.

      5. Toteutus
      6. Toteutusvaiheen tuloksena syntyy suunniteltu järjestelmä, toteutusdokumentti sekä ylläpitodokumentti. Toteutus voidaan aloittaa suunnitteludokumentin ollessa pääosin valmiina. Ylläpitodokumentin kirjoittaminen aloitetaan, kun kaikki sisältöön vaikuttavat tekijät ovat selvillä. Toteutusvaiheen tulisi olla valmiina viimeistään 22.4.1998.

      7. Testaus
      8. Testaisvaiheen tuloksena syntyy testausdokumentti. Testausvaihe on osittain toteutusvaiheen kanssa päällekkäinen, ja se päättyy 29.4.1998.

      9. Loppuraportin laatiminen

      Loppuraportti kirjoittaminen aloitetaan testausvaiheen loppupuolella. Raportti on valmiina 29.4.1998.

      1.3.6. Käyttöohjeen laatiminen

      Käyttöohje on esim. HTML-muodossa. Laatiminen aloitetaan, kun ohjelman toiminnot ovat pääosin tiedossa. Ohje on valmiina 29.4.1998.

    6. Vastuualueet
    7. Kukin osatehtävä muodostaa oman vastuualueensa. Lisäksi projektilla on seuraavat vastuualueet:

      1. Käyttöliittymä
      2. Vastuualueeseen kuuluu käyttökelpoisten toteutustekniikoiden selvittäminen sekä käyttöliittymän suunnitteleminen ja toteuttaminen. Graafinen toimitin luetaan osaksi käyttöliittymää. Vastuuhenkilönä on Antti Koivisto.

      3. Jäsentäjä
      4. Vastuualueeseen kuuluu käyttökelpoisten toteutustekniikoiden selvittäminen sekä jäsentäjän sunnitteleminen ja toteuttaminen. Vastuuhenkilönä on Sami Jaala.

      5. Layout-algoritmi
      6. Vastuualueeseen kuuluu sopivan layout-algoritmin etsiminen ja tämän sovittaminen järjestelmään. Jos sopivaa ei löydy, algoritmi suunnitellaan ja toteutetaan itse. Vastuuhenkilönä on Susanna Väkiparta.

      7. Tulostus

      Vastuualueeseen kuuluu kaavion tulostamiseen liittyvät toiminnot. Vastuuhenkilönä on Petri Pusa.

    8. Työnjako

    Työnjaossa noudatetaan jaettuja vastuualueita. Vasta projektin aihepiireihin paremmin syventymällä selviää missä paikoissa voidaan käyttää valmiita komponentteja, joten tarkempaa työnjakoa ei vielä kannata tehdä.

  11. Menetelmät ja standardit
  12. Projekti suunnitellaan ja toteutetaan oliomenetelmiä käyttäen.

    1. Standardit
    2. Projektissa tuotettavat tekstidokumentit ovat HTML-muodossa. Mikäli määrittelydokumentin tuottamisessa HTML-muotoon on ongelmia, tehdään dokumentit jatkossa Microsoft Word 6.0 muotoon käyttäen projektin kotihakemistossa olevaa ohtu98.dot pohjaa. Osa HTML-dokumenteista tuotetaan Javadoc-työkalulla. Tarpeen vaatiessa HTML-dokumenttien tuottamiseen valitaan myöhemmin jokin muu väline.

       

      Tuntilistojen pohjana käytetään projektin kotihakemistossa olevaa tunnit.xls tiedostoa.

       

      Oliokaavioiden yms. esittämiseen käytetään UML-notaatiota ja kaaviot piirretään Mermaid-ohjelmalla.

    3. Tyylioppaat
    4. Lähdekoodit kirjoitetaan projektin kotihakemistossa sijaitsevan tyyli.doc oppaan mukaisesti.

    5. Työkalut

Käytettävä Java-versio on JDK 1.1. Projektissa voidaan myös käyttää jotakin Java-kieltä tuottavaa metakääntäjää tai sovelluskehitintä, mikäli sopiva löydetään.

 

LIITE: Aikataulu