Projektista - LauriKorte/JavaEE-zydeemi GitHub Wiki

Harjoitustyön dokumentaatio

1 Harjoitustyön kuvaus

Tarkoituksena oli tehdä eräänlainen reseptikirja, jonne käyttäjä voisi tallentaa omia reseptejä, muokata ja poistaa niitä sekä antaa arvosteluita niistä. Tällä hetkellä reseptikirja on käytettävissä vain yhdellä käyttäjällä, koska rekisteröitymistä ei ole otettu käyttöön.

Reseptikirja käyttää Tietokannat-kurssilla (keväällä 2016) tehtyä tietokantaa, joka sisältää valmiiksi jo useita mahdollisia raaka-aineita, joita käyttäjä voi käyttää resepteissään. Uusien ainesosien lisäämistä ei ole toteutettu; käyttäjä voi tässä vaiheessa lisätä tarvittavia raaka-aineita reseptin kuvaukseen.

Seuraavien kohtien kuvia kannattaa rohkeasti 'zoomata',jotta niistä voisi jotain jopa nähdä.

2 Suunnittelu

2.1 Tietokanta

Tietokannan suunnittelu alkoi jo hyvissä ajoin Tietokannat-kurssin tunneilla. Tietokanta oli 'valmiina' suhteellisen nopealla tahdilla, joskin siihen jouduttiin tekemään joitain muutoksia työn edetessä.

Tietokanta sisältää yhteensä 14 taulua, joista ainoastaan yhtä (1) ei ole käytetty ohjelmassamme, koska jätimme sitä tarvitsevan ominaisuuden toteuttamatta.

Seuraavissa kuvissa on kuvattu tietokannan rakennetta ER-mallin, käsitemallin ja luokkadiagrammin avulla.

Er-model


Käsitemalli


Luokkadiagrammi


2.2 Ohjelma

Tässä kohdassa on kuvattu ohjelmaa sanoin sekä kuvin. Kaikki ohjelman suunnitteluun tarvittava materiaali löytyy tämän kohdan alta. Tietokanta on esitelty erikseen edellisessä kohdassa.

Ohjelmaa alettiin kehittää tietokannan perusteella; halusimme käyttää tekemäämme tietokantaa jossain ohjelmassa jollain tavoin hyödyllisesti, joten päädyimme reseptikirjaan.

Ohjelmaan kirjautuminen on toteutettu kovakoodatulla käyttäjällä. Tämä siksi, ettei aivan kuka tahansa pääsisi sotkemaan tietokantaa tai ohjelmaa. Myöhemmin olisi helppoa liittää oikea kirjautuminen oikean tietokannan kautta.

Seuraavassa mockup-kuvassa näytetään ohjelman suunniteltua ulkomuotoa, joka tosin muuttui melkoisesti itse toteutuksen aikana.

Mockup


Seuraavassa kuvassa on esitetty ohjelman UseCase-diagrammi, josta voidaan nähdä yksinkertaistettu ohjelman toiminnallisuus.


3 Työnjako, vastuut ja tunnit

Tietokanta oli toteutettu jo keväällä 2016, joten siihen ei tarvinnut käyttää aikaa tämän projektin aikana. Sen sijaan JavaEE:n opettelu vei oman aikansa projektin alusta. Projekti itsessään ei ollut vaikea toteuttaa, reseptikirja oli suhteellisen yksinkertainen tietokantaa hyödyntävä ohjelma.

Työnjako oli suuntaa-antava, eli voidaan sanoa ettei sellaista juuri ollutkaan. Jokainen ryhmäläinen teki jotain sellaista, mistä voisi olla jotain hyötyä ohjelman toteuttamiseksi. Näin projekti saatiin parsittua kasaan yhtenäiseksi ja toimivaksi kokonaisuudeksi.

Vastuualueet jakautuivat seuraavasti:

  • Miro
    • Ohjelman UI integraatio
  • Lauri
    • Database (MySQL)
  • Antti
    • Database ja sen välinen yhteys ohjelmaan

Tunteja ohjelman (ja tietokannan) tekoon on laskettu kuluneeksi ~32 h henkilöä kohti.