.NOT

From EIK wiki

Meeskond: .NOT

Kalmer Tart - Projektijuht

Martin Aarne

Martin Kosk

Andre-Marcel Peri


Idee

Loome koduse raamatukogu rakenduse.

Esialgselt planeerime teha funkstionaalsusteks:

  • Kõikide raamatute kuvamine
  • Uue raamatu lisamine
  • Raamatute välja laenutamine
  • "Wishlisti" moodustamine
  • Raamatutele hinnangu andmine (0-5 punkti)
  • Kommentaarium spetsiifiliselt igale raamatule


Kui aega jääb üle, siis teeme baasi ka filmidele. Juhul kui on käppa disaini maailmas, saab rakendus mega nunnu välimuse.

Sellest peaks tulema ideaalne rakendus raamatukoidele.

  if(Retsenseerimise_huvi == true || Additional_huvi == true){
     return tiim.annabLisaInfot();
  } else {
     return tiim.infoTulebTulevikus();
  }


Analüüs

Mis on rakenduse eesmärk?

Eesmärk on lihtsustada koduse raamatukogu organiseerimist. Anda ülevaade kodus olevatest raamatutest, välja laenatud raamatutest ja ühtlasi ka endale laenatud raamatutest. Samuti on rakendusse sisse ehitatud wishlist(tegu on listiga, kuhu kuuluvad raamatud, mida on soov osta või laenutada).

Mida tavakasutaja sellega teha saaks?

Tavakasutaja saab raamatukogu rakendusega lihtsustada oma tähtaegadest kinnipidamist. Rakendus võimaldab järge pidada välja laenatud raamatutest, tänu sellele funktsionaalsusele väheneb oht mõni raamat ära kaotada, mis üldjuhul juhtub inimestel olukordades, kus unustatakse isiklik teos isikule, kes on võtnud laenuks mõne teose teie kollektsioonist. Samuti saab kasutaja lisada uusi raamatuid wishlisti, mistõttu ei unusta raamatuid, mis on mingil hetkel huvi pakkunud.


Milliste osade realiseerimine võib osutuda problemaatiliseks?

Kõige tõenäolisemalt osutub raskeimaks elemendiks meie projektis sobiliku kasutajaliidese disainimine. Samuti võib kujuneda keeruliseks andmete sidumine kasutajaliidesega. Kindlasti võib leiduda mõningaid problemaatilis aspekte ka teiste komponentide realiseerimise juures. Loodame et hea meeskonna tööjaotus leidub meil võimalikult kiirelt, sest me peame seda väga vajalikuks.

Kui on tööjaotus paigas, siis tuua ka see välja.

Hetkel veel tööjaotusele konkreetsemalt mõelnud ei ole ning ülesanded hakkame jagama töökäigus. Proovime siia lisada konkreetsema ja kvaliteetsema tööjaotuse järgmise nädala jooksul, kuna plaanime alustada prototüübiga nii pea kui võimalik.

Must Have

Nimekiri funktsionaalsusest, mida plaanime kindlasti teostada

  • Graafiline kasutajaliides - Proovime võimalikult palju panna rõhku sellele, et kasutajaliides näeks piisavalt soliidne välja ning, et seda oleks võimalikult lihtne ja kiire kasutada.
  • Raamatute andmebaas - Teeme andmebaasi osa loodavas programmis võimalikult täiuslikuks, et andmebaasi kasutamine oleks kiire ja lihtne. Plaanisime funktsioonideks raamatute andmebaasi lisamine, raamatute kustutamine (lisada võiks näiteks kommentaari, et miks kustutati), muutmise jms.
  • Raamatute hindamise süsteem - Selle all mõtleme me seda, et kasutajal (kasutajatel) on võimalik hinnata erinevaid raamatuid 1-5 või 1-10 palli süsteemis (seda veel otsustame) ja leiame kõikidest hinnetest kokku keskmise ja näitame seda raamatu nime kõrval. Tore oleks kui näiteks kõrged hinded saaksid rohelise teksti ja halva hindega raamatud saaksid näiteks punaselt kirjutatud hinde
  • Raamatute laenutuste (s.h. tähtaegade) kuvamine - Kui kasutaja logib sisse, kuvatakse koheselt ja piisavalt nähtavalt kasutajale tema raamatute lähenevad tähtajad ehk see, millal peaks keegi temale raamatu(d) tagastama ja millal peaks kasutaja ise tagastama kellegi (raamatukogu) raamatu(d).
  • Wishlist - Selle all mõtleme me seda, et kasutajal on wishlist, kuhu saab ta lisada raamatu(id), mida on soov omandada (ehk laenata või osta) ning peale omandamist need maha kustutada wishlistist.
  • Laenutajate profiilide loomine ja administreerimine - Kasutajal on võimalik luua profiile inimeste kohta kes temale ja/või temalt on raamatuid laenanud. Samuti aitab see meeles hoida seda, millised raamatud on millise inimese käes. Saab kanda sisse ka kommentaare, nagu näiteks seda, et kasutaja ScumbagSteve54 ei ole veel tagastanud raamatut, mille ta laenas 3 aasta eest ja seega hoiatab programm kasutajat selle eest, et kasutaja ei kaotaks veel raamatuid isikutele, kellel on antud isiklikus anmdebaasis halb minevik laenutamiste osas.

Nice To Have

Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugi ajapuuduse tõttu realiseerida.

  • Raamatu kaanepildi kuvamine - See funktsionaalsus teeks programmi palju kenamaks ning aitaks kasutajal lihtsamini meelde jätta raamatuid. Eelistatud on, kui raamatute pildid oleks isiklikult kasutaja poolt tehtud, kuna samu raamatuid on paljude erinevate välimustega ja samuti näitaks see mingil määral ka raamatu seisukorda.
  • Hindamise kõrvale ka kommenteerimine - See aitaks veelgi paremini raamatu seisukorda tegeliku seisukorra teadmisele kaasa. Samuti aitaks see funktsionaalsus kasutajal raamatut paremini meeles hoida ja hinnata täpsemalt (mis meeldis raamatu juures, mis mitte jms).
  • E-maili saatmine - Programm võiks saata e-maile enne laenutamise tähtaja lõppu ja peale tähtaja lõppu juhul kui raamat pole tagastatud, kuna kasutajal pole võib-olla alati aega kõike kontrollida. E-maili saatmine teeks laenutamise ja laenamise palju kindlamaks, sest mõnikord tõesti ununeb sõbral raamat tagastada ja raamat jääb riiulisse.
  • Veebiliides - Tore oleks, kui rakendusele saaks ligi üle võrgu ning omaks sama funktsionaalsust, mis teostatav WPF rakendus.
  • Top listid - Programmis võiks olla sisse ehitatud listid raamatutest, mida on kõige rohkem laenutatud, kõrgeimad hinnangud saanud jne. See põhineks esialgu hinnetest, aga miks mitte ka kommentaaridest kui aega jagub.
  • Andmebaasi import/export - See oleks kasulik siis kui kasutaja on sunnitud formatti tegema või migreeruma teise arvutisse. Sellega saaks ka jagada oma raamatukogu teistega, et nemad saaksid üle vaadata andmebaasi ning näiteks otsustada seda, millist raamatut laenata vms. Kui peaksime jõudma oma töödega importimise ja eksportimise juurde, siis ilmselt kasutatavaks tehnoloogiaks oleks andmete kirjutamine XML faili ning otse andmebaasi faili.


Prototüüp

Link eemaldatud. (03.12.2011)

Lõpptoode

Töö Käik

Projekti arendamisel mõtlesime välja loogika ning jagasime meeskonnaliikmete vahel ülesanded. Arendusprotsess koosnes kolmest põhielemendist: Idee / Funktsionaalsused Struktuur ja Prototüüp Ideede finaliseerimine, lisafunktsionaalsuste lisamine

Idee ja Funktsionaalsuste osas kirjeldasime võimalikult spetsiifiliselt Analüüsis kõik vajaminevad funktsionaalsused (Must Have ja Nice To Have) ning hakkasime vaikselt mõtlema viisidele kuidas neid realiseerida.

Teises osas valmis rakenduse põhi: Põhiklassid, loogika, disaini põhielemendid said paika pandud, rakendus oli enamjaolt kasutatav selle osa lõpuks.

Kolmandas osas eemaldasime võimalikult paljud vead ning lisasime lisafunktsionaalsusi: XML Importimine, Wishlisti parem kasutamine, loobumise nupp.

Tööjaotus

Kalmer Tart - validatsioonid, XML, XAML, nuppude event handlerid

Martin Kosk - SQL päringud, muutmised sellega seotud asjad, nuppude event handlerid, XAML

Andre-Marcel Peri - klassiteegid, puhastamisfuntsioonid, andmebaas

Martin Aarne - XAML, nuppude event handlerid, logo


Siit saab lõpptoote alla laadida: http://enos.itcollege.ee/~ktart/Raamatukogu/

Kasutusjuhend asub siin(hetkel natukene vananenud versioon): https://wiki.itcollege.ee/index.php/File:KASUTUSJUHEND.pdf

Log

8. detsember

Esitasime ja kaitsesime edukalt lõpptoote.

3. detsember

Valmis lõpptoode ja kasutusjuhend.

22. november

Valmis prototüüp, jätkame programmeerimist.

12. november

Alustasime ekstensiive programmeerimistööga.

22. oktoober

Lihvisime analüüsi lõpuni.

21. oktoober

Täiustasime suurel hulgal analüüsi.

12. oktoober

Kirjutasime analüüsi koos.