LendBook: Difference between revisions
Line 29: | Line 29: | ||
Alljärgnev on väike osa loodava rakenduse andmebaasi mudelist (not final at all) | Alljärgnev on väike osa loodava rakenduse andmebaasi mudelist (not final at all) | ||
[[File:ABTabel2.jpg| | [[File:ABTabel2.jpg|700px]] | ||
== Planeeritavad funktsionaalsused == | == Planeeritavad funktsionaalsused == |
Revision as of 20:47, 11 November 2015
Meeskond
- Egle Arge
- Liina Kolk
Projekti ülevaade
Luua raamatukogu tarkvara, mis võimaldab hallata kodusolevaid raamatuid, neid välja laenutada, listist eemaldada ja ka juurde lisada. Laenutamise puhul on oluline, et iga kasutaja saaks luua endale konto ning et raamatutele saaks määrata tagastusaja (soovitavalt, et oleks võimalik iga raamatu puhul määrata/valida erinevat tagastusaega, mis võimaldaks pikemalt vajaminevat raamatut ka vajadusel kauem käes hoida). Iga kasutaja peab saama sisestada raamatuid, kuid samas võib olla ka lihtsalt laenutaja rollis, ilma oma raamatuid omamata. Raamatuid peab saama nime järgi otsida. Programmi eesmärk on võimaldada tutvusringkonnal kasutada kodus olemasolevaid raamatuid, ilma et peaks liigselt raamatuid ostma või ennast vaevama raamatukokku minekuga, kus sageli ei ole soovitud või vajaminevat raamatut üldse saadaval. Programm aitaks ka anda ülevaate raamatutest, mis kellelgi kodus on ning ehk panna ka rohkem mõtlema, kas kõiki neid raamatuid tegelikult vaja läheb ning kas mõnda raamatut on juba mitu tükki saanud, mis omakorda võimaldaks loobuda osadest raamatutest ja tekitaks seeläbi kodus ruumi juurde.
Kasutatav .NET tehnoloogia
Kasutatav raamistik: .NET Framework 4.5
Kasutatav tehnoloogia: C#, ASP.Net, Windows Presentation Foundation
Disaini ülevaade
Üldised disaini eesmärgid on:
- Maksimaalne komponentide eraldatus üksteisest (kasutajaliides, sõnumi edastus, teenused, andmetele ligipääs)
- Hoida teenuse kiht eraldi andmebaasis salvestatud detailidest ja kasutajaliidesest.
All on toodud välja andmete liikumise diagramm, illustreerimaks süsteemi maksimaalse kasutusvõimekuse saavutamist.
Siiski jääb töö käigus võimalus arendada välja programm, mis on ühe tasemeline, nagu on näidatud alljärgneval diagrammil.
Andmebaasi mudel
Alljärgnev on väike osa loodava rakenduse andmebaasi mudelist (not final at all)
Planeeritavad funktsionaalsused
Kindlad funktsionaalsused
- Raamatute lisamine
- Raamatute laenutamine – algusaeg ja viimane tagastusaeg, kuid salvestada ka tegelik tagastusaeg
- Kasutajakontode loomine
- Raamatute nime järgi otsimine
- Aruannete loomine
Võimalikud fuktsionaalsused (kui aega üle jääb)
- Kui raamat on juba andmebaasis, pakkuda kasutajatele samade andmetega raamatuid ning lisada raamatu valikul üks ühik juurde
- Automaatse meeldetuletuse saatmine laenajale, kui laenutustähtaeg on lähenemas
- Võimalus programmi avades raamatu omanikul näha, kui raamatu tagastusaeg on lähenemas või juba möödas
- Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata
- Võimalus lisada enda „sõpruskonna“ raamatukogu, sinna administraatori konto kaudu liikmeid juurde kutsudes (administraatoreid maksimaalselt 3)
- Võimaldada hallata ka e-raamatuid (see selgelt ka välja toodud, et tegemist on e-raamatuga) ja neid välja laenutada
- Võimalus lisada raamatu pilt ja sisututvustus
- Võimalus lisada andmebaasi andmeid filmide kohta
Probleemid
Nii nagu igas tarkvara arendusprotsessis näeme ka meie, et ette võib tulla mitmesuguseid üldiseid probleeme:
- Kuna tegemist on algajatega, siis on kindlasti probleemiks nn „puhta“ koodi kirjutamine, et sellest oleks lihtne ja loogiline aru saada kõigil osapooltel (näiteks peaksid muutujate/meetodite/klasside nimed olema arusaadavad). Kuid kuna seda unustavad teha ka juba väga kogenud arendajad, siis võib eeldada, et ka meil tuleb selliseid probleeme ette.
- Ootus teha ära liiga palju erinevaid funktsioone. Kuigi analüüsis on kirjeldatud ära kindlad funktsionaalsused ja lisafunktsionaalsused, siis võime me siiski haarata liiga suure tüki ka lisafunktsionaalsustest, mille tõttu pruugib süsteem muutuda kasutuskõlbmatuks või mitte töötavaks.
- Selle asemele, et tegeleda ühe funktsionaalsusega korraga võib juhtuda, et võtame ette liigselt paljud ja kuna rööprähklemine ei ole enamustel inimestest tugevaim külg, võib kogu süsteem kokku joosta ja töötavat lahendust valmis ei saagi.
- Vähene suhtlus, mis võib viia tehtavast tööst valesti arusaamiseni või üksteise dubleerimiseni.
- Aja valesti planeerimine, mille tõttu võib töö jääda viimasele minutile ja asjad ei saa tehtud.
- Funktsionaalsuse raskustasemete valesti hindamise tõttu võib koormus langeda liigselt ühele meeskonnaliikmele.
Lisaks võib probleeme tekitada varasema kasutamiskogemuse puudumine Visual Studio Online'ga.
Arenduses näeme veaohtlikumate kohtadena aruande funktsionaalsuse realiseerimist ning raamatute otsingusüsteemi loomist (nt halb otsingualgoritm).
Arendusprotsess
- 05.10.2015 - Meeskonna moodustamine ja arutelu projekti teema osas. Otsustasime tegeleda koduse raamatukogu rakendusega.
- 23.10.2015 - Kasutatavate tehnoloogiate esialgne valik ja funktsionaalsuste kirjeldamine. Wiki lehe loomine.
- 25.10.2015 - TFS konto loomine ja õppejõule ligipääsu andmine.
- 29.10.2015 - Kokkusaamine: jätkus arutlus loodavate funktsionaalsuste ja disaini osas.
- 01.11.2015 - Analüüsi osa lõpetamine.