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.
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.
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.