about the project - LauriKorte/FMB GitHub Wiki
This page shall be in Finnish, for that is the preferred language of the related courses.
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 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ä.
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.
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.
Kirjautumaton käyttäjä voi selata ohjelmaan lisättyjä reseptejä sekä näistä tehtyjä arvosteluita, mutta ainoastaan kirjautunut käyttäjä voi lisätä, muokata ja poistaa reseptejä sekä antaa resepteistä arvosteluita.
Seuraavassa mockup-kuvassa näytetään ohjelman suunniteltua ulkomuotoa, joka tosin muuttui melkoisesti itse toteutuksen aikana.
Ohjelmasta on jouduttu tekemään seuraavanlainen 'suppea' käsitemalli, jossa on kuvattu ohjelman tärkeimpiä ominaisuuksia ja toiminnallisuuksia. Käsitemalliin ei olisi ollut mahdollista lisätä kaikkea toiminnallisuutta, sillä sitä on tullut työn edetessä paljon enemmän; kaikki toiminnallisuus ei olisi voinut mahtua tähän käsitemalliin.
Ohjelmasta tuotettiin myös luokkamalli, jossa on kuvattu ohjelman eri osien ominaisuuksia ja yhteyksiä toisiinsa.
Seuraavaksi ohjelmasta näytetään sekvenssidiagrammi, josta pitäisi selvitä ohjelman toiminta eri osien välillä. Tähänkin suunnitelmaan on tullut joitain muutoksia, mutta toiminta pääosin on pysynyt samana.
Viimeisessä kuvassa on eistetty ohjelman UseCase-diagrammi, josta voidaan nähdä yksinkertaistettu ohjelman toiminnallisuus.
Ohjelman työstö alkoi tietokannan rakentamisella Tietokannat-kurssilla. Tämän jälkeen siirryimme miettimään harjoitustyön aihetta Palvelinohjelmoinnin- ja Ohjelmistosuunnittelun kursseille. Päädyimme rakentamaan reseptikirjan, jonka myös toteutimme.
Työnjako oli suuntaa-antava, oikeastaan sellaista ei varsinaisesti edes ollut. Jokainen ryhmäläinen teki jotain sellaista, mistä voisi olla jotain hyötyä ohjelman toteuttamiseksi. Ohjelma saatiin koottua osista yhdeksi kokonaisuudeksi.
Vastuualueet jakautuivat seuraavasti:
- Miro
- Ohjelman UI integraatio
- Lauri
- Database (MySQL & SQL)
- Antti
- Database ja sen välinen yhteys ohjelmaan
Tunteja ohjelman (ja tietokannan) tekoon on laskettu kuluneeksi ~32 h henkilöä kohti.