Meeskond: Tarraxacum: Difference between revisions
(41 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
*'''Silja Kralik''' - Projektijuht | *'''Silja Kralik''' - Projektijuht | ||
*'''Liina Laumets''' | *'''Liina Laumets''' | ||
*''' | *'''Ragne Auling''' | ||
== Idee == | == Idee == | ||
Eesmärgiks koostada aedniku abimees seemnemajanduse korraldamiseks ja külvide planeerimiseks. Saab sisestada erinevat infot seemnete kohta ning teha erinevaid päringuid. | |||
== Analüüs == | |||
'''Tarraxacum''' on aedniku abimees seemnemajanduse korraldamiseks ja külvide planeerimiseks. | |||
Rakenduse idee tulenes reaalsest probleemist, millega paljud hobiaednikud kokku puutuvad. Aednikel on sageli arvukalt seemnepakikesi, kuid neist puudub ülevaade. Näiteks võib mitmeid seemneid olla enam kui tarvis, osa seemneid on vananenud, osa seemneid on mittevajalikud osad soovitud on puudu. Kui tuleb külviaeg, võivad täpse ülevaate puudumisel vajalikud seemned õigeaegselt varumata jääda. Samuti, kui hobiaednik loeb-kuuleb mõnest huvitavast taimest, mille seemneid ta sooviks soetada, puudub koht, kus vastavat infot süsteemselt talletada. Lisaks on aednikul seemnete külvamisel soovitav järgida külvikalendrit, kuid tihti pole selleks võimalust ja seetõttu külvid hilinevad ja/või seemned vananevad. | |||
Kavandatava rakenduse eesmärk on aidata hobiaednikul süstematiseerida tema kogus olevate seemnete andmed, võimaldada andmekogust teha päringuid ning planeerida külvikalendri järgi külve. | |||
'''Kellele?''' | |||
Rakendus on mõeldud kasutamiseks aednikule, kes saab koostada ja pidevalt ajakohastada oma seemnete andmekogu ning planeerida külvikalendri järgi aiatöid. | |||
'''Mida tavakasutaja teha saab?''' | |||
Esialgse plaani kohaselt saab tavakasutaja Tarraxacum'is teha järgmiseid toiminguid: | |||
*lisada infot uue taime kohta ja muuta olemasolevaid kirjeid; | |||
*koostada ostunimekirja; | |||
*sisestada ja muuta Thuni* põhimõtetest lähtuvat külvikalendrit (vt alamärkus Thuni kalendri kohta) | |||
*vaadata külvikalendrit - kuvab kuude lõikes tabeli soodsate külviaegade kohta; | |||
*koostada külviplaani – leida külvatavatele seemnetele külvikalendris soovitatud külvipäevad etteantud kuu(de) kohta; | |||
*sisestada tegelikku külviinfot – näiteks mis päeval külvati milliseid seemneid jne | |||
*koostada aruandeid kõigi eelnevate osade kohta – näiteks teha väljavõte kõikidest vaadeldaval aastal külvatud ilutaimedest. | |||
'''Problemaatiline realiseerimine?''' | |||
Kuna oleme kõik algajad programmeerijad, on kogu projekti ja kõigi planeeritud funktsionaalsuste realiseerimine küllaltki suur väljakutse. Üks meie meeskonnaliige on varem andmetabelite ja päringute temaatikaga varem kokku puutunud, seetõttu võib loota, et tabelite loomise ja päringute realiseerimisega saame lihtsamalt hakkama. Arvatavasti kujunevad siiski küllaltki keeruliseks erinevate andmetabelite sidumine ja rakenduse graafiline disain. Kindlasti on katsumuseks mitmete Nice-to-have funktsionaalsuste realiseerimine, näiteks veebiliides. | |||
Projekti realiseerimist võivad pidurdada veel järgmised asjaolud: | |||
- puudub varasem kogemus Visual Studio Online programmiga töötamisel, seetõttu tuleb küllaltki palju aega pühendada selle programmi tundmaõppimisele; | |||
- me ei ole varem kokku puutunud koos? programmeerimisega, seetõttu võib tööde ajaline planeerimine ebaõnnestuda või tööjaotus kujuneda ebaefektiivseks; | |||
- meil kõigil on lisaks koolitöödele muud kohustused, seetõttu võivad ootamatult tekkinud takistused tööl/kodus tuua kaasa kõrvalekaldeid projektiplaani ajalisel täitmisel. | |||
'''Kindlasti realiseeritavad funktsionaalsused (must have)''' | |||
'''1.''' Rakendus kasutab mitut andmetabelit, mis sisaldavat andmeid taimede kohta, külvikalendrit ja tegeliku külvi andmestikku. | |||
'''2.''' Taimede liigi- ja sordispetsiifilisi andmeid ja seemnepakispetsiifilisi andmeid hoiame eraldi andmetabelites nii, et sarnast infot kandvad andmed on grupeeritud ühte tabelisse. | |||
'''3.''' Taimede tabelid sisaldavad järgmist infot (nimekiri võib töö käigus täpsustuda): | |||
*taimeliigiID; | |||
*taimeliigi nimetus eesti keeles; | |||
*taimeliigi nimetus ladina keeles; | |||
*sordi ID; | |||
*sordi nimetus; | |||
*kasvukõrgus; | |||
*värvus; | |||
*külviaeg; | |||
*taime valmimisaeg (st koristus- või õitseaeg); | |||
*kasvukoht (varjuline/poolvarjuline/päikeseline); | |||
*taime tüüp (ilutaim/köögivili/maitsetaim); | |||
*taime külvitüüp Thuni kalendri järgi (juur/leht/õis/vili). | |||
'''4.''' Taimede andmetabeleid on kasutajal võimalik ajakohastada kas infot lisades või muutes. Kustutada andmetabelist andmeid ei saa, sest on oluline, et aednikule jääb alles info kõikidest tema kollektsioonis olnud taimedest. | |||
'''5.''' Kui on tegemist taimega, mille seemneid aednikul ei ole, kuid ta sooviks neidendale soetada, on võimalik selle taime info andmetabelisse sisestada nö mittetäielikul kujul ja selle baasil hiljem koostada ostunimekirja. | |||
'''6.''' Taimeinfole täiendavalt tuleb seemnete andmetabelisse lisada infot ka pakendi kohta: | |||
*seemnepaki ID; | |||
*seemne tootja; | |||
*seemnete aegumise tähtaeg; | |||
*seemnepaki staatus (täis/poolik/tühi). | |||
'''7.''' Kui näiteks sama seemet on kaks muidu identset pakki, ainult erinevate aegumistähtaegadega, siis saab neid seemnepakke eristada. | |||
'''8.''' Kui seemnepakk saab tühjaks, on võimalik muuta selle paki kirje mitteaktiivseks ja aruannetes mitte kajastada. Kui aednik ostab tühja paki asemel uue samasuguse paki, saab selle taime kirje teha taas aktiivseks ja muuta paki parim-enne tähtaega. | |||
'''9.''' Külvikalendri andmetabel sisaldab järgmist infot (nimekiri võib täpsustuda töö käigus): | |||
*Thun'i tüüp (juur/leht/õis/vili); | |||
*kuupäev; | |||
*kellaaeg | |||
Kuna üks kalendripäev võib erinevatel kellaaegadel olla näiteks nii lehe- kui õiepäev, on vajalik külvikalendris märkida soodsaid külviaegu tunnilise täpsusega. | |||
'''10.''' Külvikalendrit on kasutajal võimalik koostada erinevate aastate kohta. Infot on võimalik sisestada ja muuta, samuti vaadata valitud perioodi (näiteks maikuu) lõikes. | |||
'''11.''' Külvikalendri ja taimede andmete baasil on võimalik koostada külviplaani. Selleks valitakse, millised seemned soovitakse sel hooajal külvata ning siis ühildatakse seemneinfo külvikalendriga ning väljastatakse tulemus. Külviplaani võiks saada koostada sama perioodi kohta korduvalt, st seda ei ole esialgu kavas salvestada. | |||
'''12.''' Tegeliku külviinfo tabel sisaldab järgmiseid andmeid (nimekiri võib töö käigus täpsustuda); | |||
*taimeliigi ID; | |||
*sordi ID; | |||
*tegeliku külvi kuupäev; | |||
*seemnepakiID; | |||
*seemnepaki staatus pärast külvi (see on oluline, kuna soovime, et seemnepakkide staatus oleks pidevalt ajakohastatud); | |||
'''13.''' Kui teatud seemned on sellel aastal juba külvatud, siis kajastub see andmetabelis ja uude külviplaani seda taime sorti enam ei lisata. | |||
'''14.''' Kõikidest andmetabelitest on võimalik teostada päringuid, andmeid järjestada ja filtreerida valitud kriteeriumide järgi. Näiteks on võimalik teha väljavõte maikuus külvatavatest ilutaimedest. | |||
'''15.''' Koostatavaid aruandeid, külvikalendrit ja külviplaani peaks saama esitada tabeli kujul, printida ja eksportida faili. | |||
'''16.''' Rakenduse toimingutest koostatakse logi. | |||
'''Funktsionaalsused, mida ei pruugita realiseerida (nice to have):''' | |||
*kui seemnepakk saab tühjaks või vananeb, märgitakse see kuidagi visuaalselt ära, näiteks värvilise taustaga vms; | |||
*kuvab hoiatused, kui mõni pakk hakkab vananema; | |||
*võiks aednikku teavitada saabuvatest külvitähtaegadest 1 nädal ette; | |||
*laseb lisada taime pilt; | |||
*laseb sisestada jooksvalt aiandusinfot taime kasvu, saagikuse jne kohta; | |||
*veebiliides, et sõbrad saaksid vaadata, mis seemned/taimed aednikul on; | |||
*täiendada külvikalendrit kuu faaside infoga. | |||
'''*Thuni kalender''' on abimees-tööriist taimede biodünaamiliseks kasvatamiseks. Võttes aluseks astronoomilise kalendri ning Päikese, Kuu ja planeetide faase ning seise, on leitud erinevate taimede optimaalsed külviajad. Thuni kalendri põhjal on sobivate külviperioodide aluseks võetud taimede tarbitavad-kasutatavad osad (lehed, juured, õied, viljad) ning vastavalt sellele on kuupäevaliselt (vahel ka kellaajaliselt) kõige sobivamad külvamise ajad välja toodud. | |||
== Projekti kirjeldus == | == Projekti kirjeldus == | ||
=== Tehnoloogiad === | === Tehnoloogiad === | ||
WPF, TFS, LINQ, SQL Server management studio | |||
=== Arendusmustrid === | |||
*[https://msdn.microsoft.com/en-us/library/hh848246.aspx MVVM] | |||
=== Prototüüp === | |||
[http://enos.itcollege.ee/~llaumets/Tarrax/] | |||
=== Versioonikontroll === | === Versioonikontroll === | ||
TFS | |||
=== Koodi stiilireeglid === | === Koodi stiilireeglid === | ||
Line 27: | Line 136: | ||
== Avaldatud failid == | == Avaldatud failid == | ||
=== Lõpptoode === | |||
[http://enos.itcollege.ee/~llaumets/Tarraxacum/] | |||
===Seadistamise juhend=== | |||
1.Tõmba alla Tarrax.rar | |||
2.Käivita solution fail, kui tuleb TFS info messagebox, siis vali no. | |||
3.Andmebaasi loomine:''' | |||
*1.Server Explorer - Data Connection - Add a connection | |||
*2.Sisesta : | |||
*1.Server name: (LocalDB)\v11.0 | |||
*2.Select or enter a database name TarraxacumBase | |||
*3.Loo andmebaas | |||
4.Andmebaasi tabelite genereerimine: | |||
*1.Parem klikk loodud ühendusel | |||
*2.New query - kopeeri TarraxacumBase.sql failist sql avanenud aknasse ja vajuta „execute“ | |||
*3.„Refresh“ andmebaasi ühendusele ja peaks ilmuma 6 tabelit. | |||
5.Käivita projekt (Tarrax.WPF) | |||
== Arendusprotsess == | == Arendusprotsess == | ||
Line 32: | Line 171: | ||
*'''10.10.2015''' - grupi kokkupanek, esimene koosoleks ning erinevate ideede arutamine | *'''10.10.2015''' - grupi kokkupanek, esimene koosoleks ning erinevate ideede arutamine | ||
*'''16.10.2015''' - kohtumine ja idee formuleerimine | *'''16.10.2015''' - kohtumine ja idee formuleerimine | ||
*'''19.10.2015''' - wiki lehe loomine. | *'''19.10.2015''' - wiki lehe loomine | ||
*'''25.10.2015''' - koosolek: tehnoloogiate ning analüüsi arutelu | |||
*'''31.10.2015''' - koosolek: analüüsi arutelu, edasiste tegevuste, tööjaotuse ning kokkusaamiste planeerimine | |||
*'''8.11.2015''' - retsensioon + rühma koosolek (edasised plaanid ja tähtajad) | |||
*'''14.11.2015''' - koosolek (WPF, andmebaasid) | |||
*'''detsember-jaanuar''' - regulaarsed koosolekud nädalavahetustel, pidev arendusprotsess, jooksvad küsimused | |||
== Lisad == | == Lisad == |
Latest revision as of 00:19, 30 January 2016
Meeskond ja rollid
- Silja Kralik - Projektijuht
- Liina Laumets
- Ragne Auling
Idee
Eesmärgiks koostada aedniku abimees seemnemajanduse korraldamiseks ja külvide planeerimiseks. Saab sisestada erinevat infot seemnete kohta ning teha erinevaid päringuid.
Analüüs
Tarraxacum on aedniku abimees seemnemajanduse korraldamiseks ja külvide planeerimiseks.
Rakenduse idee tulenes reaalsest probleemist, millega paljud hobiaednikud kokku puutuvad. Aednikel on sageli arvukalt seemnepakikesi, kuid neist puudub ülevaade. Näiteks võib mitmeid seemneid olla enam kui tarvis, osa seemneid on vananenud, osa seemneid on mittevajalikud osad soovitud on puudu. Kui tuleb külviaeg, võivad täpse ülevaate puudumisel vajalikud seemned õigeaegselt varumata jääda. Samuti, kui hobiaednik loeb-kuuleb mõnest huvitavast taimest, mille seemneid ta sooviks soetada, puudub koht, kus vastavat infot süsteemselt talletada. Lisaks on aednikul seemnete külvamisel soovitav järgida külvikalendrit, kuid tihti pole selleks võimalust ja seetõttu külvid hilinevad ja/või seemned vananevad.
Kavandatava rakenduse eesmärk on aidata hobiaednikul süstematiseerida tema kogus olevate seemnete andmed, võimaldada andmekogust teha päringuid ning planeerida külvikalendri järgi külve.
Kellele?
Rakendus on mõeldud kasutamiseks aednikule, kes saab koostada ja pidevalt ajakohastada oma seemnete andmekogu ning planeerida külvikalendri järgi aiatöid.
Mida tavakasutaja teha saab?
Esialgse plaani kohaselt saab tavakasutaja Tarraxacum'is teha järgmiseid toiminguid:
- lisada infot uue taime kohta ja muuta olemasolevaid kirjeid;
- koostada ostunimekirja;
- sisestada ja muuta Thuni* põhimõtetest lähtuvat külvikalendrit (vt alamärkus Thuni kalendri kohta)
- vaadata külvikalendrit - kuvab kuude lõikes tabeli soodsate külviaegade kohta;
- koostada külviplaani – leida külvatavatele seemnetele külvikalendris soovitatud külvipäevad etteantud kuu(de) kohta;
- sisestada tegelikku külviinfot – näiteks mis päeval külvati milliseid seemneid jne
- koostada aruandeid kõigi eelnevate osade kohta – näiteks teha väljavõte kõikidest vaadeldaval aastal külvatud ilutaimedest.
Problemaatiline realiseerimine?
Kuna oleme kõik algajad programmeerijad, on kogu projekti ja kõigi planeeritud funktsionaalsuste realiseerimine küllaltki suur väljakutse. Üks meie meeskonnaliige on varem andmetabelite ja päringute temaatikaga varem kokku puutunud, seetõttu võib loota, et tabelite loomise ja päringute realiseerimisega saame lihtsamalt hakkama. Arvatavasti kujunevad siiski küllaltki keeruliseks erinevate andmetabelite sidumine ja rakenduse graafiline disain. Kindlasti on katsumuseks mitmete Nice-to-have funktsionaalsuste realiseerimine, näiteks veebiliides.
Projekti realiseerimist võivad pidurdada veel järgmised asjaolud: - puudub varasem kogemus Visual Studio Online programmiga töötamisel, seetõttu tuleb küllaltki palju aega pühendada selle programmi tundmaõppimisele; - me ei ole varem kokku puutunud koos? programmeerimisega, seetõttu võib tööde ajaline planeerimine ebaõnnestuda või tööjaotus kujuneda ebaefektiivseks; - meil kõigil on lisaks koolitöödele muud kohustused, seetõttu võivad ootamatult tekkinud takistused tööl/kodus tuua kaasa kõrvalekaldeid projektiplaani ajalisel täitmisel.
Kindlasti realiseeritavad funktsionaalsused (must have)
1. Rakendus kasutab mitut andmetabelit, mis sisaldavat andmeid taimede kohta, külvikalendrit ja tegeliku külvi andmestikku.
2. Taimede liigi- ja sordispetsiifilisi andmeid ja seemnepakispetsiifilisi andmeid hoiame eraldi andmetabelites nii, et sarnast infot kandvad andmed on grupeeritud ühte tabelisse.
3. Taimede tabelid sisaldavad järgmist infot (nimekiri võib töö käigus täpsustuda):
- taimeliigiID;
- taimeliigi nimetus eesti keeles;
- taimeliigi nimetus ladina keeles;
- sordi ID;
- sordi nimetus;
- kasvukõrgus;
- värvus;
- külviaeg;
- taime valmimisaeg (st koristus- või õitseaeg);
- kasvukoht (varjuline/poolvarjuline/päikeseline);
- taime tüüp (ilutaim/köögivili/maitsetaim);
- taime külvitüüp Thuni kalendri järgi (juur/leht/õis/vili).
4. Taimede andmetabeleid on kasutajal võimalik ajakohastada kas infot lisades või muutes. Kustutada andmetabelist andmeid ei saa, sest on oluline, et aednikule jääb alles info kõikidest tema kollektsioonis olnud taimedest.
5. Kui on tegemist taimega, mille seemneid aednikul ei ole, kuid ta sooviks neidendale soetada, on võimalik selle taime info andmetabelisse sisestada nö mittetäielikul kujul ja selle baasil hiljem koostada ostunimekirja.
6. Taimeinfole täiendavalt tuleb seemnete andmetabelisse lisada infot ka pakendi kohta:
- seemnepaki ID;
- seemne tootja;
- seemnete aegumise tähtaeg;
- seemnepaki staatus (täis/poolik/tühi).
7. Kui näiteks sama seemet on kaks muidu identset pakki, ainult erinevate aegumistähtaegadega, siis saab neid seemnepakke eristada.
8. Kui seemnepakk saab tühjaks, on võimalik muuta selle paki kirje mitteaktiivseks ja aruannetes mitte kajastada. Kui aednik ostab tühja paki asemel uue samasuguse paki, saab selle taime kirje teha taas aktiivseks ja muuta paki parim-enne tähtaega.
9. Külvikalendri andmetabel sisaldab järgmist infot (nimekiri võib täpsustuda töö käigus):
- Thun'i tüüp (juur/leht/õis/vili);
- kuupäev;
- kellaaeg
Kuna üks kalendripäev võib erinevatel kellaaegadel olla näiteks nii lehe- kui õiepäev, on vajalik külvikalendris märkida soodsaid külviaegu tunnilise täpsusega.
10. Külvikalendrit on kasutajal võimalik koostada erinevate aastate kohta. Infot on võimalik sisestada ja muuta, samuti vaadata valitud perioodi (näiteks maikuu) lõikes.
11. Külvikalendri ja taimede andmete baasil on võimalik koostada külviplaani. Selleks valitakse, millised seemned soovitakse sel hooajal külvata ning siis ühildatakse seemneinfo külvikalendriga ning väljastatakse tulemus. Külviplaani võiks saada koostada sama perioodi kohta korduvalt, st seda ei ole esialgu kavas salvestada.
12. Tegeliku külviinfo tabel sisaldab järgmiseid andmeid (nimekiri võib töö käigus täpsustuda);
- taimeliigi ID;
- sordi ID;
- tegeliku külvi kuupäev;
- seemnepakiID;
- seemnepaki staatus pärast külvi (see on oluline, kuna soovime, et seemnepakkide staatus oleks pidevalt ajakohastatud);
13. Kui teatud seemned on sellel aastal juba külvatud, siis kajastub see andmetabelis ja uude külviplaani seda taime sorti enam ei lisata.
14. Kõikidest andmetabelitest on võimalik teostada päringuid, andmeid järjestada ja filtreerida valitud kriteeriumide järgi. Näiteks on võimalik teha väljavõte maikuus külvatavatest ilutaimedest.
15. Koostatavaid aruandeid, külvikalendrit ja külviplaani peaks saama esitada tabeli kujul, printida ja eksportida faili.
16. Rakenduse toimingutest koostatakse logi.
Funktsionaalsused, mida ei pruugita realiseerida (nice to have):
- kui seemnepakk saab tühjaks või vananeb, märgitakse see kuidagi visuaalselt ära, näiteks värvilise taustaga vms;
- kuvab hoiatused, kui mõni pakk hakkab vananema;
- võiks aednikku teavitada saabuvatest külvitähtaegadest 1 nädal ette;
- laseb lisada taime pilt;
- laseb sisestada jooksvalt aiandusinfot taime kasvu, saagikuse jne kohta;
- veebiliides, et sõbrad saaksid vaadata, mis seemned/taimed aednikul on;
- täiendada külvikalendrit kuu faaside infoga.
*Thuni kalender on abimees-tööriist taimede biodünaamiliseks kasvatamiseks. Võttes aluseks astronoomilise kalendri ning Päikese, Kuu ja planeetide faase ning seise, on leitud erinevate taimede optimaalsed külviajad. Thuni kalendri põhjal on sobivate külviperioodide aluseks võetud taimede tarbitavad-kasutatavad osad (lehed, juured, õied, viljad) ning vastavalt sellele on kuupäevaliselt (vahel ka kellaajaliselt) kõige sobivamad külvamise ajad välja toodud.
Projekti kirjeldus
Tehnoloogiad
WPF, TFS, LINQ, SQL Server management studio
Arendusmustrid
Prototüüp
Versioonikontroll
TFS
Koodi stiilireeglid
Litsents
Avaldatud failid
Lõpptoode
Seadistamise juhend
1.Tõmba alla Tarrax.rar
2.Käivita solution fail, kui tuleb TFS info messagebox, siis vali no.
3.Andmebaasi loomine:
- 1.Server Explorer - Data Connection - Add a connection
- 2.Sisesta :
- 1.Server name: (LocalDB)\v11.0
- 2.Select or enter a database name TarraxacumBase
- 3.Loo andmebaas
4.Andmebaasi tabelite genereerimine:
- 1.Parem klikk loodud ühendusel
- 2.New query - kopeeri TarraxacumBase.sql failist sql avanenud aknasse ja vajuta „execute“
- 3.„Refresh“ andmebaasi ühendusele ja peaks ilmuma 6 tabelit.
5.Käivita projekt (Tarrax.WPF)
Arendusprotsess
- 10.10.2015 - grupi kokkupanek, esimene koosoleks ning erinevate ideede arutamine
- 16.10.2015 - kohtumine ja idee formuleerimine
- 19.10.2015 - wiki lehe loomine
- 25.10.2015 - koosolek: tehnoloogiate ning analüüsi arutelu
- 31.10.2015 - koosolek: analüüsi arutelu, edasiste tegevuste, tööjaotuse ning kokkusaamiste planeerimine
- 8.11.2015 - retsensioon + rühma koosolek (edasised plaanid ja tähtajad)
- 14.11.2015 - koosolek (WPF, andmebaasid)
- detsember-jaanuar - regulaarsed koosolekud nädalavahetustel, pidev arendusprotsess, jooksvad küsimused