LendBook

From ICO wiki
Jump to navigationJump to search


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ärgnevalt on kujutatud andmebaasi mudel, mille loomisel on eelkõige arvestatud kindlalt planeeritud funktsionaalsustega. Seetõttu võib edaspidise arenduse käigus tekkida mõningaid muudatusi.

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.
  • 11.11.2015 - Lisatud uus andmebaasi mudel.
  • 26.11.2015 - Kokkusaamine: põgus tutvumine ASP.Net võimalustega ja järgnevate tegevuste plaaneerimine, et prototüüp õigeaegselt valmis saaks.
  • 28.11.2015 - Meeskonna PenguinHorde analüüsile lisatud retsensioon.