Meeskond:NimetuRühmitus
Meeskond
Meeskonna liikmed:
- Kaidi Parman
- Margit Ool (projektijuht)
- Kalmer Kallas
Idee
Laenaja abimees: programm inimesele, kes kipub tihti asju sõpradele/sugulastele välja laenama. Rakendus aitab silma peal hoida, mis kelle käes on ning vajadusel meelde tuletada, et laenatud asi koju tagasi jõuaks. Idee sarnaneb näitena välja toodud koduse raamatukoguga, kuid ei ole kitsendatud ainult ühte tüüpi asjadele. Asume projekti looma WPF rakendusena.
Analüüs
WPF rakendus “Laenaja abimees” on rakendus tavakasutajale, mis on ette nähtud ühe inimese poolt kasutamiseks, et lihtsustada välja laenutamist. Selle abil on parem omada ülevaadet välja laenutatud asjade, laenajate tagastamisharjumuste ja üle tähtaja läinud laenutuste kohta.
Must-have funktsionaalsused
- Programmis on andmetabel asjadest, mida kasutaja on nõus välja laenama. kasutaja saab tabelisse asju sisestada ja sellest kustutada.
- Programmis on andmetabel inimestest, kes on midagi laenanud (või võivad seda tulevikus teha). kasutaja saab tabelisse inimesi sisestada ja neid kustutada.
kasutaja saab nii inimeste kui asjade andmetabelist teostada otsinguid, samuti tabeleid järjestada kõikide väljade põhjal ja tulemusi filtreerida mingi omaduse suhtes. Näiteks: millised asjad on hetkel välja laenutatud, milliste inimeste käes midagi on jne.
- Kõikides andmetabelites olevaid asju ja inimesi jne ei saa lõplikult ära kustutada, vaid see muudetakse mitteaktiivseks ja sellisel juhul need aruannetes ei kajastu. Mitteaktiivseks saab panna vaid selliseid asju, mida ei ole välja laenutatud ja inimesi, kellel ei ole asju käes. Vastasel juhul kuvab programm veateate. Mitteaktiivseks pandud asja/inimest saab/võib teha uuesti aktiivseks.
- Kui kasutaja midagi kellelegi välja laenab, saab ta selle programmi kaudu teha selle kohta sissekande.
- Asja välja laenamisel saab sellele määrata tähtaja tagasi toomiseks.
- Uue laenutuse vormistamisel on kasutajal võimalik teha valik andmetabelist nii asja kui laenutaja kohta. Samal ajal täidetakse ülejäänud väljad (nimetus, soovituslik tähtaeg, kommentaarid jne) vaikimisi, aga kasutajal on võimalik neid oma soovi järgi muuta.
- Rakenduses tehtavad tegevused salvestatakse logisse.
- Kui kasutaja on teinud kogemata vale laenutuse kande või sisestanud midagi valesti, siis on võimalik seda tühistada, aga mitte logist täielilkult kustutada.
Nice-to-have funktsionaalsused
Järgnevad funktsionaalsused on järjestatud selles järjekorras, mille järgi me hakkame neid oma rakendusele lisama, kui must-have funktsionaalsused on olemas.
- Kasutaja saab koostada andmetabeli asjadest, mida laenutajad on tema käest küsinud, aga pole olnud pakkuda. Sisuliselt on tegu soovide nimekirjaga, mis on eraldi tabelis. Sellesse tabelisse saab sisestada lisaks nimetusele ka planeeritud soetamisaja, soovija ID (ja nime) ja ka näiteks hinna.
- Kui kasutaja laenab „halva ajalooga” inimesele midagi, siis enne laenutamise kinnitamist tuleb hoiatusteade, aga see ei piira laenutamist.
- Kõikide andmetabelite alusel on kasutajal võimalik koostada erinevaid aruandeid – välja laenutatud asjad, alles olevad asjad, laenutajate nimekiri tähtaja järgi, üle tähtaja läinud asjad, üle tähtaja läinud laenutajad.
- Rakendus on võimeline saatma e-maili meeldetuletusega laenatud asi tagasi tuua.
- Rakendus näeb visuaalselt hea välja
- Laenamise ajal saab sõbrale välja printida meeldetuletust tagastamistähtajaga ja laenatud asja kirjeldusega.
- Veebiliides, mille abil sõbrad/tuttavad saavad näha, milliseid asju laenata saab.
- Veebiliidese kaudu saavad sõbrad/tuttavad “soovida” midagi laenata ja ennast lisada järjekorda asjadele, mis on juba välja laenatud.
Problemaatilised kohad
Töökorralduse seisukohast on meie jaoks praeguses staadiumis kõige suuremaks küsimuseks, kuidas mitmekesi ühte koodi kirjutada. Oleme kõik kaugõppurid ning seetõttu mitmekesi ühe arvuti taga istuda ja arutada saab vaid minimaalselt (kui üldse). Lisaks oleme kõik algajad programmeerijad ning ei ole varem üheski ühisprojektis osa võtnud, seetõttu peame ise infot leidma, kuidas kõige paremini oma tööd korraldada. Arvame, et suureks abimeheks saab meile olema TFS, kuid peame arvestama, et selle kasutama õppimine võtab meil märgatava osa aega ning lõpliku koodi kirjutamisega võib seetõttu päris kiireks minna.
Kindlasti saab problemaatiliseks ka aeg. Oleme kõik kaugõppijad ja seetõttu on meil aega koolitöö tegemiseks niigi vähe ning väga oluliseks saab töö planeerimine. Sihime selles suunas, et kõik tähtaegsed ülesanned saaks täidetud enne wikis välja toodud kuupäevasid, nii et jääks puhveraeg ootamatuste jaoks ning vajadusel oleks aega, et leida lahendus töö käigus ilmnenud probleemidele.
Funktsionaalsuste nimekirjast tundub esialgu kõige keerulisem nice-to-have nimekirjas toodud veebiliides. Tegu on valdkonnaga, mis on meile kõigile võõras ning pealtnäha lihtsa rakenduse taga võib peituda palju rohkem tööd, kui me praeguses staadiumis ette kujutada suudame.
Programm
Esialgu on meil plaanis teha kolm andmetabelit ja nendega seotud funktsionaalsused (sulgudes välja toodud, milline info tuleb andmetabelisse):
- asjad (ID, nimetus, grupp, vanus/soetamisaasta, pilt, kasutusjuhend, soovituslik laenutusaeg, kommentaarid, aktiivne/mitteaktiivne);
- inimesed (ID, nimi, liitumisaeg, kommentaar, aktiivne/mitteaktiivne);
- laenutused (ID, asja ID, inimese ID, laenutuse aeg, tagastamise tähtaeg, kas on tagastatud või mitte?)
Selle, milliseid andmetabeleid on veel vaja luua, otsustame edasise töö käigus. Praeguses faasis tundub meile, et näiteks on kasulik luua veel eraldi tabel üle tagastamise tähtaja läinud asjadest.
Logi
27. september 2014
Meeskonna loomise päev. Meeskonna loomisel lähtusime sellest, et kõik selle liikmed võiksid elada ühes kohas, et vajadusel kokku saada ja projekti silmast-silma arutada. Niisiis saidki kokku kõik neli naist: Siret, Margit, Ragne ja Kaidi. Panime endale ülesandeks välja mõelda rühmatöö idee. Igaüks pidi midagi välja pakkuma, et siis sealt meelepäraseim välja noppida. Lõime Skype'i eraldi grupi, kus saab jooksvalt hakata teateid edastama ja probleeme lahendama.
18. oktoober 2014
Istusime IT Kolledži kohvikusse maha ja hakkasime ideid arutama. Esialgselt jätsime sõelale Margiti idee. Luua rakendus, mis tegeleb jalkaennustustega. Siis avastasime, et see on veebirakendus ning võib osutuda liiga keeruliseks. Otsustasime, et küsime õppejõu käest üle, kas veebirakendus sobiks rühmatööna tegemiseks.
19. oktoober 2014
Saime teada, et veebirakenduse tegemine läheb liiga keeruliseks. Selleks on meil eraldi õppeaine olemas ning kui me väga tahame, siis õppejõud otsib meile õppematerjalid välja ning saame seda rakendust siiski teha. Matsime selle idee maha, jäägu see siis teise õppeaine jaoks. Mõtlesime, et teeme siis laenutustega seotud rakenduse. Sellise sarnase ideega nagu oli kodune raamatukogu, aga meie laenutame välja mida iganes: printerit, madratsit, köögikombaini, peokingi, ruuterit jne.
23. oktoober 2014
Meeskonnast lahkus Siret. Panime Skype'i gruppi kutse, et meil on tekkinud vaba koht, kui keegi soovib meiega liituda. Margit valmistas meile kena Wiki lehe. :)
24. oktoober 2014
Kaidi üritas TFS-iga sõbruneda. Lõpuks see õnnestus ning kutsed said kõigile asjaosalistele edastatud.
25. oktoober 2014
Esimene rühmatöö osa on edukalt lõpule viidud: idee on paigas, Wiki leht olemas ning TFS-i konto on ka loodud. Otsustasime, et hakkame kohe järgmise rühmatöö osaga pihta, sest osad meeskonnaliikmed on enne uut tähtaega üsna hõivatud. Tegime guuglisse dokumendi, kuhu iga meeskonna liige sai kirja panna oma mõtted, kuidas kirjutada projekti analüüsi. Sellest teeme kokkuvõtte ning paneme Wikisse üles.
29. oktoober 2014
Meeskonnaga liitus Kalmer. Selgitasime talle oma ideed ja näitasime Wiki lehte. Analüüs oli selleks korraks juba mustandina valmis ning ta pidi sellega lihtsalt leppima :)
01. november 2014
Analüüsi ametlik versioon sai Wikisse üles riputatud.
07. november 2014
Toimus koosolek, kust võtsid osa Kaidi, Kalmer ja Margit. Kolme peale rääkisime täpsemalt läbi programmi funktsionaalsused (ning lisasime ka ühe funktsionaalsuse nice-to-have nimekirja) ja määrasime ära, millised on prototüübi vaated. Olemasolevate vaadete põhjal tegime MVVM üldpildi ning määrasime ära andmetabelid. Kaidi ja Margit koostasid retsensiooni meeskonna Error404 analüüsile. Meeskonnast lahkus Ragne.
16. november 2014
Saime kokku Räpinas. Saime versioonihalduse tööle kõigis kolmes arvutis.Tegime valmis andmebaasi ja alustasime ärikihtide loomisega. Kirjutasime valmis osad BO ja Service klassid. Arutasime, milliseid meetodeid on vaja juurde kirjutada. Joonis andmetabelitest:
06.detsember 2014
Kaidi alustas disainiga. Inspiratsioonihoog tuli peale ja seda oli mõistlik ära kasutada.
Prototüüp
Prototüübi leiab siit.
Prototüübi kasutusõpetus:
- Prototüüp on testimiseks Visual Studio keskkonnas.
- Pakkida prototüüp lahti ja käivitada visual studio.
- Luua uus andmebaas nimega LaenutusBaas
- Sisestada andmebaasi tabelid ja andmed, kasutades käsklusi, mille leiab protüübi kaustast failist nimega LaenutusBaasSQLquery.sql
- Avada LaenajaAbimees.sln ja käivita programm.
Programm:
- saab sisestada inimesi ja asju leheküljelt "sisesta", asja sisestamiseks peab olema asja tüüp valitud
- saab teostada erinevaid otsinguid leheküljel "otsi"
- laenutamine lehelt "laena":
- tuleb andmebaasist valida nii asi ja inimene: kõigepealt otsida andmebaasis, siis listist valida vastav rida ning vajutada nupule "vali"
- kui nii asi kui inimene on sisestatud, vajutada nupule "laenuta". laenutuse tähtaeg prototüübis automaatselt kolme kuu pärast
- tagastamine lehelt "tagasta":
- lehekülje avanedes on tabelis kõik aktiivsed laenutused, valida see rida, mida tahetakse tagastada
- vajutada nuppu "tagasta"