Meeskond: Premium: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tpetrovi (talk | contribs)
Tpetrovi (talk | contribs)
 
(26 intermediate revisions by the same user not shown)
Line 12: Line 12:
==Analüüs==
==Analüüs==
*SISSEJUHATUS
*SISSEJUHATUS
HomeLibrary rakenduse analüüsis üritatakse ära katta kõik võimalikud kasutaja poolsed tegevused ja nende tulemused. Analüüsi esimene osa on struktureeritud kasutajale kuvatavatele akendele ja vaadetele baseerudes. Abiks on vaba käega valmis tehtud suur joonis (vt lisa 1) kasutajale kuvatavatest kõikidest akendest, vaadetest ja labelitest. Analüüsi lõpuosas on toodud UML diagramm.
HomeLibrary rakenduse analüüsis üritatakse ära katta kõik võimalikud kasutaja poolsed tegevused ja nende tulemused. Analüüsi esimene osa on struktureeritud kasutajale kuvatavatele akendele ja vaadetele baseerudes. Abiks on vaba käega valmis tehtud suur joonis (vt Lisa 1) kasutajale kuvatavatest kõikidest akendest, vaadetest ja labelitest. Analüüsi lõpuosas on toodud UML diagramm.


Eeldused:  
Eeldused:  
Line 24: Line 24:


*REGISTER AKEN
*REGISTER AKEN
Register aknas on viis tekstivälja. Esimesse tuleb sisestada oma eesnimi, teise perenimi, kolmandasse email, neljandasse parool, viiendasse parooli kinnitus. Seejärel on nupud „Register“ ja „Cancel“. „Register“ nupu vajutamisel kontrollitakse programmi poolt
Register aknas on viis tekstivälja. Esimesse tuleb sisestada oma eesnimi, teise perenimi, kolmandasse email, neljandasse parool, viiendasse parooli kinnitus. Seejärel on nupud „Register“ ja „Cancel“. „Register“ nupu vajutamisel kontrollitakse programmi poolt:
1) kas kõik väljad on täidetud.
1) Kas kõik väljad on täidetud.
2) kas kasutaja poolt sisestatud emaili juba andmebaasis esineb või mitte.
2) Kas kasutaja poolt sisestatud emaili juba andmebaasis esineb või mitte.
3) kas sisestatud parool ja parooli kordus on ühesugused.
3) Kas sisestatud parool ja parooli kordus on ühesugused.
Kui kõik väljad on täidetud, sama emailiaadressi andmebaasis ei esine ning sisestatud paroolid on ühesugused, siis salvestatakse andmed otse andmebaasi ning kasutajale antakse ID. Vaikimisi saab iga registreerija andmebaasis ka user-staatuse. Administraator (üks on vaikimisi andmebaasis olemas) saab soovi korral iga kasutaja õiguseid muuta. Lõpuks suunatakse tavakasutaja „Register“ aknast User aknasse User_MyLoans vaatesse.  
Kui kõik väljad on täidetud, sama emailiaadressi andmebaasis ei esine ning sisestatud paroolid on ühesugused, siis salvestatakse andmed otse andmebaasi ning kasutajale antakse ID. Vaikimisi saab iga registreerija andmebaasis ka user-staatuse. Administraator (üks on vaikimisi andmebaasis olemas) saab soovi korral iga kasutaja õiguseid muuta. Lõpuks suunatakse tavakasutaja „Register“ aknast User aknasse User_MyLoans vaatesse.  
Kui üks või mitu välja on täitmata, siis kuvatakse kasutajale kiri, kus palutakse tal täita kõik väljad, näiteks „Please fill in all of the fields!“.
Kui üks või mitu välja on täitmata, siis kuvatakse kasutajale kiri, kus palutakse tal täita kõik väljad, näiteks „Please fill in all of the fields!“.
Line 89: Line 89:
Admin_BooksData alamvaade sisaldab ühte tekstivälja, kuhu administraator saab sisestada märksõnu raamatute otsinguks. Tekstivälja kõrval on „Search“ nupp otsingu teostamiseks. Kui otsingule vastavat raamatut/raamatuid ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade.
Admin_BooksData alamvaade sisaldab ühte tekstivälja, kuhu administraator saab sisestada märksõnu raamatute otsinguks. Tekstivälja kõrval on „Search“ nupp otsingu teostamiseks. Kui otsingule vastavat raamatut/raamatuid ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade.
Allpool on tabel, kuhu kuvatakse raamatute nimekiri ja andmed:  
Allpool on tabel, kuhu kuvatakse raamatute nimekiri ja andmed:  
1) Title – raamatu pealkiri.
1) Title – raamatu pealkiri.
2) Author – autori nimi/autorite nimed.
2) Author – autori nimi/autorite nimed.
3) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).
3) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).
Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet.
Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet.
Raamatuid saab sorteerida pealkirja ja autori järgi.
Raamatuid saab sorteerida pealkirja ja autori järgi.
Line 113: Line 117:
Sisaldab ühte tekstivälja, kuhu administraator saab sisestada kasutaja nime ja tema andmeid otsida, vajutades „Search“ nupule. Kui otsingule vastavat inimest andmebaasis ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade.
Sisaldab ühte tekstivälja, kuhu administraator saab sisestada kasutaja nime ja tema andmeid otsida, vajutades „Search“ nupule. Kui otsingule vastavat inimest andmebaasis ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade.
Allpool on tabel, kuhu kuvatakse kasutajate nimekiri ja andmed:  
Allpool on tabel, kuhu kuvatakse kasutajate nimekiri ja andmed:  
1) First name – raamatu pealkiri.
1) First name – raamatu pealkiri.
2) Last name – autori nimi/autorite nimed.
2) Last name – autori nimi/autorite nimed.
3) Email address.
3) Email address.
4) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).
4) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).
Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet.
Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet.
Kasutajaid saab sorteerida eesnime ja perenime järgi.
Kasutajaid saab sorteerida eesnime ja perenime järgi.
Admin_UserData alamvaates kasutajate tabeli all paiknevad nupud „Add“, „Delete“, „Edit“ ja „View user’s details“.
Admin_UserData alamvaates kasutajate tabeli all paiknevad nupud „Add“, „Delete“, „Edit“ ja „View user’s details“.
„Add“ nupu vajutamisel saab lisada andmebaasi uue kasutaja. Administraator suunatakse „Register“ aknasse. Pärast uue kasutaja registreerimist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.  
„Add“ nupu vajutamisel saab lisada andmebaasi uue kasutaja. Administraator suunatakse „Register“ aknasse. Pärast uue kasutaja registreerimist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.  
„Delete“ nupu vajutamisel saab administraator tabelist valitud kasutaja andmebaasist kustutada.  
„Delete“ nupu vajutamisel saab administraator tabelist valitud kasutaja andmebaasist kustutada.  
„Edit“ nupu vajutusega saab administraator tabelist parasjagu valitud kasutaja andmeid muuta. Selleks suunatakse administraator eeltäidetud tekstiväljadega „Register“ aknasse. Pärast kasutaja andete muutmist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.
 
„Edit“ nupu vajutusega saab administraator tabelist parasjagu valitud kasutaja andmeid muuta. Selleks suunatakse administraator eeltäidetud tekstiväljadega  
„Register“ aknasse. Pärast kasutaja andete muutmist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.
 
„View User’s details“ nupp. Kui administraator soovib näha konkreetse kasutaja käes olevaid raamatuid, kasutaja emaili aadressi jm täpsemat informatsiooni konkreetse kasutaja kohta, siis administraator teeb Admin aknas UsersData vaates kasutaja aktiivseks ning vajutab „View User’s details“ nuppu. Administraator suunatakse sellega täiesti uude, UsersDetails aknasse.
„View User’s details“ nupp. Kui administraator soovib näha konkreetse kasutaja käes olevaid raamatuid, kasutaja emaili aadressi jm täpsemat informatsiooni konkreetse kasutaja kohta, siis administraator teeb Admin aknas UsersData vaates kasutaja aktiivseks ning vajutab „View User’s details“ nuppu. Administraator suunatakse sellega täiesti uude, UsersDetails aknasse.


Line 129: Line 140:
UsersDetails aknas kuvatakse administraatorile kohe konkreetse kasutaja andmed: nimi, emaili aadress ja HomeLibrary’s kasutajaks registreerimise kuupäev ning kas ta on admin/user. Viimane on nupuna ja sealt nupust saab õigusi kohe administraator muuta ka. Kõik need andmed on lihtsalt kasutajast mugava üldpildi saamiseks.
UsersDetails aknas kuvatakse administraatorile kohe konkreetse kasutaja andmed: nimi, emaili aadress ja HomeLibrary’s kasutajaks registreerimise kuupäev ning kas ta on admin/user. Viimane on nupuna ja sealt nupust saab õigusi kohe administraator muuta ka. Kõik need andmed on lihtsalt kasutajast mugava üldpildi saamiseks.
Järgneb tabel konkreetse kasutaja laenutatud raamatute kohta. Tabel koosneb järgmistest veergudest:
Järgneb tabel konkreetse kasutaja laenutatud raamatute kohta. Tabel koosneb järgmistest veergudest:
1)  No – saab olla ühest kuni kümneni, sest kasutajal korraga rohkem raamatuid ei või käes olla. Nummerdamine on oluline, et administraator saaks ühe kiire pilguga aru, mitu raamatut ta võib veel kasutajale välja laenutada.
1)  No – saab olla ühest kuni kümneni, sest kasutajal korraga rohkem raamatuid ei või käes olla. Nummerdamine on oluline, et administraator saaks ühe kiire pilguga aru, mitu raamatut ta võib veel kasutajale välja laenutada.
2) Title – välja laenutatud raamatu pealkiri.
2) Title – välja laenutatud raamatu pealkiri.
Line 149: Line 161:
===Funktsioonid (must have)===
===Funktsioonid (must have)===


*„Kustuta kasutaja ja muuda kasutaja andmed“ funktsioon
*„Laenuta“ funktsioon
*„Laenuta“ funktsioon
*„Tagasta teavik“ funktsioon
*„Tagasta teavik“ funktsioon
Line 173: Line 186:


===Lisa 1===
===Lisa 1===
[[File:Projekt.jpeg|1000px]]
[[File:Projekt.jpeg|1100px]]


===Lisa 2===
===Lisa 2===
[[File:HomeLibrary.jpg]]


=Logi=
=Logi=
Line 184: Line 198:
===01.11.2015===
===01.11.2015===
* Valmis analüüs
* Valmis analüüs
===06.11.2015===
* Tehti meeskond LIB analüüsile retsensiooni
===13.12.2015===
* Esimene prototüüp
===19.01.2016===
* Projekt valmis
=Prototüüp=
Link: http://www.upload.ee/files/5400657/HM_2_.zip.html
<p>&nbsp;</p>
Script: http://www.upload.ee/files/5396026/HomeLibraryBase_10.12.2015.sql.html
<p>&nbsp;</p>
<p>L&auml;htudes retsensioonis leiduvatele soovitustele, valmis uus anal&uuml;&uuml;s. Viidi sisse m&otilde;ned muudatused, n&auml;iteks muuhulgas on &auml;ra j&auml;etud spetsiaalne v&otilde;imalus laenutajatel ise oma profiili vaadata ja raamatuid arvutist otsida.</p>
<p>&nbsp;</p>
<p><strong>SISSEJUHATUS</strong></p>
<p>HomeLibrary on m&otilde;eldud oma isiklike raamatute s&otilde;pradele/tuttavatele laenutamiste haldamiseks. Laenutajad ise programmi ei kasuta. K&otilde;iki raamatuid on HomeLibrary&rsquo;s &uuml;ks koopia. HomeLibrary rakenduse anal&uuml;&uuml;sis &uuml;ritatakse &auml;ra katta k&otilde;ikv&otilde;imalikud kasutaja poolsed tegevused ja nende tulemused. V&otilde;imalikult t&auml;pselt proovitakse kirjeldada programmi v&auml;lispilt. Anal&uuml;&uuml;si l&otilde;puosas on toodud lisaks ka ERD diagramm.</p>
<p>&nbsp;</p>
<p><strong>MAINWINDOW</strong></p>
<p>MainWindow aknas on <strong>neli nuppu</strong>, mis k&otilde;ik viivad vastavate nimedega akendesse. Nupud:</p>
<p><strong>1) &bdquo;BooksLending&ldquo; </strong>&ndash; siit p&auml;&auml;seb &nbsp;raamatuid laenutama/pikendama/tagastama ja laenutusi vaatama</p>
<p><strong>2) &bdquo;Book&ldquo; - </strong>siit saab raamatute pealkirju ja autoreid vaatama, lisama raamatuid, muutma ja kustutama raamatuid</p>
<p><strong>&nbsp;3) &bdquo;Person&ldquo;</strong> <strong>- </strong>siin on v&otilde;imalik inimeste kontakte vaatama, lisama inimesi, muutma ja kustutama inimesi</p>
<p><strong>4) &bdquo;Log&ldquo; &ndash; </strong>siia nupule vajutades p&auml;&auml;seb raamatutega seotud ajaloo logi lehele.</p>
<p>&nbsp;</p>
<p><strong>BOOKSLENDING AKEN</strong></p>
<p>BooksLending aknas on kolm tabi: 1) Lend Book 2) Return/Extend Book 3) View Loans</p>
<p><strong>Lend Book</strong></p>
<p>Lend Book tabi vaates on v&otilde;imalik raamatuid laenutada. Selleks kuvatakse kasutajale <strong>kaks tabelit</strong>: <strong>1) inimeste tabel</strong> ja <strong>2) raamatute tabel</strong>. Kasutaja valib &uuml;hest tabelist inimese, kellele ta tahab laenutada, ja teisest tabelist raamatu, mida laenutada. Lisaks on tabis <strong>kalender</strong>, kust saab valida raamatu laenutamise t&auml;htaja, ning <strong>nupp &bdquo;Lend the Book&ldquo;</strong>. <em>Nice to have</em> funktsionaalsusena on tabelite juures Search textboxid, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.</p>
<p><strong>Return/Extend Book</strong></p>
<p>Return/Extend tabi vaates kuvatakse laenutuste <strong>tabel</strong> veergudega <strong>FirstName, LastName, Email, Book, Author, Deadline</strong>. Ehk kasutajal on v&otilde;imalik n&auml;ha, kelle k&auml;es on parasjagu mis raamatud, ja valida kirjeid raamatute pikendamiseks v&otilde;i tagastamiseks. Viimaste jaoks on vaates kalender, kust saab uue kuup&auml;eva v&auml;lja valida, ja nupud &bdquo;<strong>Extend</strong>&ldquo; ja &bdquo;<strong>Return</strong>&ldquo;. <em>Nice to have</em> funktsionaalsusena on tabeli juures Search textbox, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.</p>
<p><strong>View Loans</strong></p>
<p>View Loans tabi vaates on kasutajal v&otilde;imalik n&auml;ha <strong>tabelit </strong>veergudega <strong>FirstName, LastName, Email, Book, Author, Deadline</strong>. Tabel sisaldab informatsiooni, kelle k&auml;es on parasjagu mis raamatud ja mis on t&auml;htaeg. <em>Nice to have</em> funktsionaalsusena kuvatakse t&auml;htaja &uuml;letanud veerud silmapaistvalt, n&auml;iteks punases kirjas. <em>Nice to have</em> funktsionaalsusena on tabeli juures Search textbox, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.</p>
<p>&nbsp;</p>
<p><strong>PERSON AKEN</strong></p>
<p>Person aknas on neli tabi:&nbsp; 1) View Persons &nbsp;2) Add New Person 3) Edit Person 4) Remove Person.</p>
<p><strong>View Persons</strong></p>
<p>View Persons tabi vaates kuvatakse kasutajale <strong>tabel</strong> andmebaasis olevatest inimestest &ndash; (<strong>PersonId,) FirstName, LastName, Email ja Comment</strong>. Tabel on scrollitav. Kuna tabel v&otilde;ib aja jooksul minna pikaks, siis on <em>nice to have</em> funktsionaalsusena vaates v&otilde;imalik inimest otsida kiiresti ka nime j&auml;rgi, mille tulemusena kuvatakse tabelis vaid list otsingu tulemustest ja mitte listi kogu andmebaasis olevatest inimestest.</p>
<p><strong>Add New Person</strong></p>
<p>Add New Person tabi vaates on <strong>neli textboxi</strong> - &bdquo;First Name&ldquo;, Last Name&ldquo;, &bdquo;Email&ldquo;, &bdquo;Comment&ldquo; ning nupp &bdquo;Add new Person&ldquo;. Textboxidesse saab kasutaja sisestada andmed inimesest, keda ta soovib salvestada andmebaasi. &bdquo;Comment&ldquo; v&auml;li v&otilde;ib j&auml;&auml;da t&uuml;hjaks, &uuml;lej&auml;&auml;nud v&auml;ljad on kohustuslikud. Kui kasutaja j&auml;tab &uuml;he v&otilde;i rohkem kohustuslikest v&auml;ljadest t&auml;itmata ja vajutab <strong>&bdquo;Add new Person&ldquo; nuppu</strong>, kuvatakse talle teade (MessageBox): &bdquo;Please fill in all mandatory fields!&ldquo;. Sama emailiga inimest andmebaasi ei salvestata. Email peab olema unikaalne. Kui inimene sisestab juba andmebaasis leiduva emaili, antakse talle veateade.</p>
<p><strong>Edit Person</strong></p>
<p>Edit Person tabi vaates kuvatakse kasutajale samasugune <strong>tabel</strong> nagu View Persons vaateski ((<strong>PersonId,) FirstName, LastName, Email ja Comment)</strong>. Kasutajal tuleb valida tabelist inimene, kelle andmeid ta andmebaasis muuta tahab. Valitud inimese andmed ilmuvad textboxidesse ja neid on v&otilde;imalik muuta. Kui kasutaja &uuml;ritab <strong>&bdquo;Edit Person&ldquo; nuppu</strong> vajutades m&otilde;nda v&auml;lja t&uuml;hjaks j&auml;tta, siis kuvatakse talle sellekohane teade.</p>
<p>Kuna &uuml;hte nime v&otilde;ib esineda mitmel inimesel, siis EditPerson meetodi juures tuleb arvestada, et tagastatakse otsingu tulemusena list. Ei sobi lihtsalt nime j&auml;rgi muutmine andmebaasis. Selle t&otilde;ttu Edit Person vaates kuvatakse tabel k&otilde;igi kontaktandmetega, et kasutaja leiaks kindlasti &otilde;ige inimese, keda ta muuta soovib.</p>
<p><strong>Remove Person tab</strong></p>
<p>Remove Person tabi vaates kuvatakse kasutajale j&auml;lle samasugune <strong>tabel</strong> nagu View Persons vaateski ((<strong>PersonId,) FirstName, LastName, Email ja Comment)</strong>. Kasutajal tuleb valida tabelist inimene, keda ta j&auml;&auml;davalt andmebaasist kustutada soovib, ja vajutada <strong>nuppu &bdquo;Remove Person&ldquo;</strong>. Kuna tabelis v&otilde;ib aja jooksul olla tekkinud palju inimesi, siis <em>nice to have</em> funktsionaalsusena on tabeli juures v&otilde;imalik ka textboxi sisestada otsitava inimese nimi ning vajutada &bdquo;Searh&ldquo; nuppu. Selle tulemusena kuvatakse tabelisse kogu Person andmebaasitabeli kirjete asemel list otsingu tulemustest. Sealt on lihtsam kasutajal &otilde;ige inimene &uuml;les leida.</p>
<p>&nbsp;</p>
<p><strong>BOOK AKEN</strong></p>
<p>Book aken sarnaneb v&auml;ga Person aknaga. Erinevad on vaid andmetes, mida esitatakse.</p>
<p>Book aknas on neli tabi:&nbsp; 1) View Books 2) Add New Book 3) Edit Book 4) Remove Book.</p>
<p><strong>View Books </strong></p>
<p>View Books tabi vaates kuvatakse kasutajale <strong>tabel</strong> andmebaasis olevatest raamatutest &ndash; (<strong>BookId,) Title, Author, Email ja Comment</strong>. Tabel on scrollitav. Kuna tabel v&otilde;ib aja jooksul minna pikaks, siis on <em>nice to have</em> funktsionaalsusena vaates v&otilde;imalik raamatut otsida kiiresti ka pealkirja v&otilde;i autori j&auml;rgi, mille tulemusena kuvatakse tabelis list otsingu tulemustest ja mitte listi andmebaasis olevatest k&otilde;ikidest raamatutest. M&auml;rkimisv&auml;&auml;rne on, et Book aknas ei saa n&auml;ha, kas raamatud on parasjagu v&auml;lja laenutatud v&otilde;i mitte. Seda informatsiooni kuvatakse BookLending aknas.</p>
<p><strong>Add New Book </strong></p>
<p>Add New Book tabi vaates on <strong>kolm textboxi</strong> - &bdquo;<strong>Title</strong>&ldquo;, &bdquo;<strong>Author</strong>&ldquo; ja &bdquo;<strong>Comment</strong>&ldquo; ning <strong>nupp &bdquo;Add new Book&ldquo;</strong>. Textboxidesse saab kasutaja sisestada raamatu andmed, mida ta soovib salvestada andmebaasi. &bdquo;Comment&ldquo; v&auml;li v&otilde;ib j&auml;&auml;da t&uuml;hjaks, &uuml;lej&auml;&auml;nud v&auml;ljad on kohustuslikud. Kui kasutaja j&auml;tab &uuml;he v&otilde;i m&otilde;lemad kohustuslikest v&auml;ljadest t&auml;itmata ja vajutab <strong>&bdquo;Add new Book&ldquo; nuppu</strong>, kuvatakse talle teade (MessageBox): &bdquo;Please fill in all mandatory fields!&ldquo;. Sama pealkirja ja autoriga raamatut andmebaasi ei salvestata. Kui inimene sisestab juba andmebaasis leiduva raamatu, antakse talle veateade.</p>
<p><strong>Edit Book</strong></p>
<p>Edit Book tabi vaates kuvatakse kasutajale samasugune <strong>tabel</strong> nagu View Books vaateski ((<strong>BookId,) Title, Author </strong>ja<strong> Comment)</strong>. Kasutajal tuleb valida tabelist raamat, mille andmeid ta andmebaasis muuta tahab. Valitud raamatu andmed ilmuvad textboxidesse ja neid on v&otilde;imalik muuta. Kui kasutaja &uuml;ritab <strong>&bdquo;Edit Book&ldquo; nuppu</strong> vajutades m&otilde;nda v&auml;lja t&uuml;hjaks j&auml;tta, siis kuvatakse talle sellekohane teade.</p>
<p>&nbsp;</p>
<p><strong>Remove Book tab</strong></p>
<p>Remove Book tabi vaates kuvatakse kasutajale j&auml;lle samasugune <strong>tabel</strong> nagu View Books vaateski ((<strong>BookId,) Title, Author </strong>ja<strong> Comment)</strong>. Kasutajal tuleb valida tabelist raamat, mida ta andmebaasist eemaldada soovib, ja vajutada <strong>nuppu &bdquo;Remove Book&ldquo;</strong>. Kuna tabelis v&otilde;ib olla palju raamatuid ka kodusel raamatukogu pidajal, siis <em>nice to have</em> funktsionaalsusena on tabeli juures v&otilde;imalik ka textboxi sisestada otsitava raamatu nimi ning vajutada &bdquo;Searh&ldquo; nuppu. Selle tulemusena kuvatakse tabelisse otsingu t&auml;psusest s&otilde;ltuvalt teatud kogus raamatuid. V&auml;iksemast valikute hulgast on kasutajal lihtsam &otilde;ige raamat &uuml;les leida.</p>
<p>&nbsp;</p>
<p><strong>LOG AKEN</strong></p>
<p>Log aknas kuvatakse tavaline kiri &bdquo;Log&ldquo; ja tabel k&otilde;ikide raamatute s&uuml;ndmustest. Tabeli veergudes kuvatakse kuup&auml;ev, raamatu pealkiri, raamatu autor, inimene ning s&uuml;ndmus. Viimase all saavad olla &bdquo;created&ldquo;, &bdquo;lent out&ldquo;, &bdquo;returned&ldquo; and &bdquo;extended&ldquo;.</p>
<p>Kuna logid v&otilde;ivad v&auml;ga kiiresti v&auml;ga suureks minna, siis kuvatakse kindlasti antud read lehtede kaupa, n&auml;iteks &uuml;hel lehel 20 rida. Seega tabeli all on lehtede vahel navigeerimiseks &bdquo;Next&ldquo; ja juba edasi j&auml;rgmisele lehele liikudes ka &bdquo;Previous&ldquo; lingid.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Funktioonid - <em>Must have</em></strong></p>
<p>&bdquo;Laenuta&ldquo; funktsioon</p>
<p>&bdquo;Tagasta teavik&ldquo; funktsioon</p>
<p>&bdquo;Pikenda t&auml;htaega&ldquo; funktsioon</p>
<p>&bdquo;Lisa andmebaasi uus teavik&ldquo; funktsioon</p>
<p>&bdquo;Muuda teavik&ldquo; funktsioon</p>
<p>&bdquo;Kustuta teavik andmebaasist&ldquo; funktsioon</p>
<p>&bdquo;Lisa uus kasutaja&ldquo; funktsioon</p>
<p>&bdquo;Muuda kasutaja andmeid&ldquo; funktsioon</p>
<p>&bdquo;Kustuta kasutaja&ldquo; funktsioon</p>
<p>&bdquo;Raamatute logi vaatamine&ldquo; funktsioon</p>
<p>&bdquo;Raamatute sorteerimine autorite ja pealkirjade p&otilde;hjal&ldquo; funktsioon</p>
<p>&bdquo;Kasutajate sorteerimine eesnime ja perenimede p&otilde;hjal&ldquo; funktsioon</p>
<p>&nbsp;</p>
<p><strong>Funktisioonid &ndash; <em>Nice to have</em></strong></p>
<p>&Uuml;le t&auml;htaja l&auml;inud teavikud m&auml;rgitakse punaseks.</p>
===AB===
[[File:Hõiva.PNG|1100px]]
=Lõpptoode=
<p><span style="font-weight: 400;">HOMELIBRARY KASUTAJAJUHEND</span></p>
<p><strong><strong>&nbsp;</strong></strong></p>
<p><strong>Kellele ja milleks?</strong><span style="font-weight: 400;"><br /></span><span style="font-weight: 400;">HomeLibrary programm on m&otilde;eldud koduse raamatukogu hoidjale, et paremini hallata raamatuid ja nende v&auml;ljalaenutusi. Programm ei ole ette n&auml;htud raamatute laenajatele kasutamiseks. </span></p>
<p><strong>Mida on vaja?</strong></p>
<p><span style="font-weight: 400;">Programmi kasutamiseks on vajalik </span><strong>Windowsi</strong><span style="font-weight: 400;"> operatsioonis&uuml;steemiga arvuti (v&otilde;i tahvelarvuti). Mobiilsed seadmed ei sobi. </span></p>
<p><strong><strong>&nbsp;</strong></strong></p>
<p><strong>Toimingud</strong></p>
<p><strong><strong>&nbsp;</strong></strong></p>
<p><strong>Raamatu v&auml;ljalaenutamine </strong><span style="font-weight: 400;">(BookLending -&gt; Lend -&gt; valida tabelitest v&auml;lja isik, kellele raamat laenutada, raamat, kuup&auml;ev ja vajutada nuppu &ldquo;Lend out&rdquo;). Raamatute tabelis kuvatakse vaid raamatud, mis on koduses raamatukogus hetkel saadaval. Valida saab korraga vaid &uuml;he raamatu. Kui soovitakse &uuml;hele isikule mitu raamatut v&auml;lja laenata, siis tuleb kirjeldatud laenutamistegevust korrata.</span></p>
<p><strong>Laenutuse pikendamine</strong><span style="font-weight: 400;"> (BookLending -&gt; Extend/Return -&gt; valida laenutuskirje ja vajutada nupule &ldquo;Extend&rdquo;). </span></p>
<p><strong>Laenutuse l&otilde;petamine</strong><span style="font-weight: 400;"> (BookLending -&gt; Extend/Return -&gt; valida laenutuskirje ja vajutada nupule &ldquo;Return&rdquo;).</span></p>
<p><strong>Laenutuste vaatamine</strong><span style="font-weight: 400;"> (BookLending -&gt; View Loans). K&otilde;ik laenutused on koondatud &uuml;hte tabelisse. K&otilde;ige parema &uuml;levaate &uuml;he inimese laenutustest saab, kui sorteerida tabel emaili v&otilde;i inimese nime j&auml;rgi.</span></p>
<p><strong>Raamatute lisamine andmebaasi</strong><span style="font-weight: 400;"> (Books -&gt; Add Book -&gt; t&auml;ita kohustuslikud v&auml;ljad ja vajutada nupule &ldquo;Add&rdquo;). </span></p>
<p><strong>Raamatu andmete muutmine andmebaasis</strong><span style="font-weight: 400;"> (Books -&gt; Edit Book -&gt; valida tabelist raamat, mida muuta soovitakse). Tegelik muutus leiab aset juba enne Edit nupule vajutamist. Edit nupp aitab aga m&auml;rgata puudulikke andmeid ja teeb v&auml;ljad, mis muutmise k&auml;igus t&auml;itusid kirjetega, j&auml;lle t&uuml;hjaks.</span></p>
<p><strong>Raamatu kustutamine andmebaasist</strong><span style="font-weight: 400;"> (Books -&gt; Remove Book -&gt; valida v&auml;lja raamat, mida kustutada, ja vajutada nuppu &ldquo;Remove&rdquo;). Kui eemaldatav raamat on kustutamise hetkel laenus, siis tuleb vastav teade - &ldquo;raamat on v&auml;lja laenutatud&rdquo;.</span></p>
<p><strong>Inimese lisamine andmebaasi</strong><span style="font-weight: 400;"> (Persons -&gt; Add Person -&gt; t&auml;ita kohustuslikud v&auml;ljad ja vajutada nupule &ldquo;Add&rdquo;). Kui sisestatud email on andmebaasis olemas, siis programm annab veateate ja inimest andmebaasi ei lisa. Sama nimega inimesi saab andmebaasi sisestada.</span></p>
<p><strong>Inimese andmete muutmine andmebaasis</strong><span style="font-weight: 400;"> (Persons -&gt; Edit Person -&gt; valida tabelist inimene, kelle andmeid muuta soovitakse). Tegelik muutus leiab aset juba enne Edit nupule vajutamist. Edit nupp aitab m&auml;rgata puudulikke andmeid ja teeb v&auml;ljad, mis muutmise k&auml;igus t&auml;itusid kirjetega, j&auml;lle t&uuml;hjaks. </span></p>
<p><strong>Inimese kustutamine andmebaasist</strong><span style="font-weight: 400;"> (Persons -&gt; Remove Person-&gt; valida v&auml;lja inimene, keda kustutada, ja vajutada nuppu &ldquo;Remove&rdquo;). Kui eemaldatava isiku k&auml;es on tagastamata raamatuid, siis tuleb teade - &ldquo;Inimest ei saa kustutada, kuna tal on laenutanud raamatu ja see pole tagastatud&rdquo;.</span></p>
<p><strong><strong>&nbsp;</strong></strong></p>
<p><strong>Logi</strong></p>
<p><strong><strong>&nbsp;</strong></strong></p>
<p><span style="font-weight: 400;">Raamatute, laenutuste, inimeste kiireks leidmiseks saab neid k&otilde;iki </span><strong>sorteerida</strong><span style="font-weight: 400;">. Selleks vajutada tabeli selle p&auml;ise peale, mille j&auml;rgi tahetakse tabel sorteerida.</span></p>
Lõpptoote link: http://www.upload.ee/files/5494018/HomeLibrary.7z.html ja script: http://www.upload.ee/files/5494019/Script.sql.html

Latest revision as of 21:43, 21 January 2016

Premium

  • Karin Talumäe - projektijuht
  • Tarmo Petrovits
  • Jevgeni Gavrilov

Idee

Koduse raamatukogu haldusprogramm. Rakendus võimaldab kasutajal töötada infoga raamatute, laenutuste ja klientide kohta.

Projekti kirjeldus

Analüüs

  • SISSEJUHATUS

HomeLibrary rakenduse analüüsis üritatakse ära katta kõik võimalikud kasutaja poolsed tegevused ja nende tulemused. Analüüsi esimene osa on struktureeritud kasutajale kuvatavatele akendele ja vaadetele baseerudes. Abiks on vaba käega valmis tehtud suur joonis (vt Lisa 1) kasutajale kuvatavatest kõikidest akendest, vaadetest ja labelitest. Analüüsi lõpuosas on toodud UML diagramm.

Eeldused: HomeLibrary on koduseks kasutamiseks ja pole mõeldud suurte andmemahtude töötlemiseks. Kõiki raamatuid on HomeLibrary’s üks koopia.

  • LOGIN AKEN

LogIn aknas on kiri HomeLibrary Login ja kaks tekstivälja emaili ja parooli sisestamiseks. Pärast seda on „Sign in“ nupp. Eduka sisenemise korral peaaken sulgub ja avaneb järgmine aken. Tavakasutaja korral kuvatakse järgmisena User aken alamvaatega User_MyLoans ning administraatori korral Admin aken alamvaatega Admin_BooksData. Kui sisenemine pole edukas, kuvatakse kasutajale teade „Try again or contact your administrator“. Kasutaja vajutab „OK“ nuppu, et ta sai aru ja on teadet lugenud. „OK“ nupu vajutamisel kuvatakse kasutajale jälle LogIn akent tühjade väljadega. LogIn aknas on väljade all ka link „Register“. Sealt avatakse lugejaks registreerumiseks Register aken.

  • REGISTER AKEN

Register aknas on viis tekstivälja. Esimesse tuleb sisestada oma eesnimi, teise perenimi, kolmandasse email, neljandasse parool, viiendasse parooli kinnitus. Seejärel on nupud „Register“ ja „Cancel“. „Register“ nupu vajutamisel kontrollitakse programmi poolt: 1) Kas kõik väljad on täidetud. 2) Kas kasutaja poolt sisestatud emaili juba andmebaasis esineb või mitte. 3) Kas sisestatud parool ja parooli kordus on ühesugused. Kui kõik väljad on täidetud, sama emailiaadressi andmebaasis ei esine ning sisestatud paroolid on ühesugused, siis salvestatakse andmed otse andmebaasi ning kasutajale antakse ID. Vaikimisi saab iga registreerija andmebaasis ka user-staatuse. Administraator (üks on vaikimisi andmebaasis olemas) saab soovi korral iga kasutaja õiguseid muuta. Lõpuks suunatakse tavakasutaja „Register“ aknast User aknasse User_MyLoans vaatesse. Kui üks või mitu välja on täitmata, siis kuvatakse kasutajale kiri, kus palutakse tal täita kõik väljad, näiteks „Please fill in all of the fields!“. Kui sama emaili aadress on juba andmebaasis olemas, siis kuvatakse kasutajale kiri: „This email address is already in use!“ Nime ja parooli kirjutiste sisu üksikasjalik kontrollimine pole tõenäoliselt vajalik, kuna tegemist on väikesemahulise andmebaasiga ja erinevate probleemide korral jõuab administraator parandada need käsitsi. Kasutajad on ka administraatori sõbrad/tuttavad, kellelt on ilmselt oodata keskmisest heatahtlikumat ja mõistlikumat käitumist. „Cancel“ nupu vajutamisel Register aknas suunatakse kasutaja tagasi LogIn aknasse.

  • USER AKEN

Selle akna peavaade (main view) sisaldab kolme nuppu akna ülaservas (vt Lisa 1) 1) „User_MyLoans“. 2) „User_ViewAllBooks“. 3) „User_MySettings“.

„Log out“ nuppu üleval paremas nurgas. Esimesi kolme nuppu klikkides kuvatakse kasutajale põhivaate sees nupu nimele vastav alamvaade, kas User_MyLoans, User_ViewAllBooks või User_MySettings (kirjeldatud allpool). Vaikimisi on ees User_MyLoans alamvaade. Kui vajutatakse „Log out“ nupule, siis nice to have funktsionaalsusena küsitakse kasutajalt, kas ta tõesti soovib välja logida: „Are you sure you want to log out from HomeLibrary?“. Kasutajale antakse kaks valikut: „Log out“ ja „Cancel“. Esimesele klikkides logitakse kasutaja rakendusest välja ning saadetakse LogIn aknasse, teisele klikkides kaob teade „Are you sure you want to log out from HomeLibrary“ ära ja kasutaja jääb User aknasse vastavasse alamvaatesse.

  • USER_MYLOANS ALAMVAADE

User_MyLoans alamvaates nice to have funktsionaalsusena kuvatakse kasutajale tervitus. Näide: „Hello, Peeter Pakiraam!“. Lisaks kuvatakse tabel konkreetse kasutaja laenutatud raamatutest ning tähtaegadest, kokku neli veergu: 1) No 1, 2, 3, … (max 10), et kasutaja näeks kergesti hoomataval viisil, mitu raamatut tal parasjagu käes on. 2) Title – raamatu pealkiri. 3) Author – autori nimi/autorite nimed. 4) Return deadline – raamatu/te tagastamise tähtaeg. Raamatuid saab sorteerida pealkirja ja autori järgi. Nice to have funktsionaalsusena on võimalik sorteerida ka tähtaegade järgi.

  • USER_VIEWALLBOOKS ALAMVAADE

User_ViewAllBooks alamvaates kuvatakse kasutajale tabel kõikide HomeLibrary raamatutega andmebaasis. Samuti väli, kuhu kasutaja sisestab otsingusõna raamatu/te leidmiseks ning nupp „Search“. Kui otsingule mitte ühtegi vastet ei tule, siis nice to have funktsionaalsusena kuvatakse kasutajale vastavasisuline kiri. User_ViewAllBooks alamvaate tabelis on kolm veergu: 1) Title – raamatu pealkiri. 2) Author – autori nimi/autorite nimed. 3) Status and availability – annab informatsiooni, kas raamat on kohal või mitte. Tabelis on kirjutatud veeru alla kas „on stock“ või raamatu tagastamise tähtaeg. Kuna raamatuid pole koduses raamatukogus tuhandeid, siis antud tabel on lahendatud Scroll-down-window abil. Raamatuid saab sorteerida pealkirja ja autori järgi.

  • USER_MYSETTINGS ALAMVAADE

User_MySettings alamvaade on mõeldud tavakasutajale oma andmete muutmiseks. Seal kuvatakse eeltäidetud kolm välja kasutaja andmetega – eesnime, perenime ja emaili aadressiga. Kohe antud väljade all on nupud „Edit“ ja „Cancel“ ning lõpuks link „Change your password“. Nice to have funktsionaalsusena ilmub nupp „Cancel“ alles siis, kui kasutaja välja sees midagi muudab. „Cancel“ vajutamisel kuvatakse kasutajale jälle tema praegused andmed. „Edit“ nupule vajutades ilmub parooli sisestamise label. Parooli sisestamise labeli peal on tekst, kus palutakse kasutajal sisestada oma parool, ja väli parooli sisestamiseks. Labeli peal on ka nupud „Submit“ ja „Cancel“. Viimase vajutamisel suunatakse kasutaja tagasi User aknasse User_MySettings alamvaatesse. Õige parooli sisestamisel ja „Submit“ nupu vajutamisel programm kuvab andmete muutmise õnnestumise kinnitamise labeli, millel on kirjas „Your settings are confirmed“ ning nupp „OK“. Viimase vajutamisel kaovad labelid eest ja kasutajale kuvatakse User_MySettings vaates juba muudetud andmed. Kui parooli sisestamise labelisse kirjutatakse kasutaja poolt vale kood, siis kuvatakse teade samal labelil „The password you entered is incorrect. Please try again“. Nice to have funktsionaalsusena on antud kirjutis punane, et kasutaja seda kiiresti märkaks. User_MySettings alamvaates on ka link „Change password“, mida klikkides suunatakse kasutaja uude aknasse: ChangePassword. Märkimisväärne on, et antud rakenduses ei võimaldata tavakasutajal ise oma kontot kustutada.

  • CHANGEPASSWORD AKEN

Siin kuvatakse kasutajale kolme tekstivälja, kuhu tuleb sisestada uus parool ja uue parooli kinnitus. Väljade all paiknevad nupud „Submit“ ja „Cancel“. Esimese nupu vajutamisel: 1) Kontrollitakse, kas väljad on täidetud (vähemalt kaks viimast välja). 2) Kontrollitakse, kas uus parool ja uue parooli kinnitus on ühesugused. 3) Kontrollitakse, kas vana parool on sama, mis andmebaasis. Ja kui eelnevad tingimused on täidetud, siis: 4) Asendatakse vana parool andmebaasis uue parooliga. 5) Kuvatakse kasutajale teade „Your password is successfully changed“ ja „OK“ nupp. „OK“ nupuvajutusel saadetakse kasutaja tagasi User aknasse alamvaatega User_MySettings. Kui üks või rohkem kolmest tingimusest ei ole täidetud, siis kuvatakse kasutajale vastavad teated ning jäädakse ChangePassword aknasse kuni kasutaja sisestab kõik õigesti või vajutab „Cancel“. Viimasega suunatakse kasutaja tagasi User aknasse alamvaatega User_MySettings.

  • ADMIN AKEN

Admin aken sarnaneb konstruktsioonilt User aknaga. Admini akna peavaade sisaldab kahte nuppu akna ülaservas: 1) Books’ data. 2) Users’ data. Nende nuppudega saab kuvada vastavaid alamvaateid: Admin_BooksData ja Admin_UsersData. Lisaks sisaldab peavaade „Log out“ nuppu akna paremas ülaservas.

  • ADMIN_BOOKSDATA ALAMVAADE

Admin_BooksData alamvaade sisaldab ühte tekstivälja, kuhu administraator saab sisestada märksõnu raamatute otsinguks. Tekstivälja kõrval on „Search“ nupp otsingu teostamiseks. Kui otsingule vastavat raamatut/raamatuid ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade. Allpool on tabel, kuhu kuvatakse raamatute nimekiri ja andmed:

1) Title – raamatu pealkiri.

2) Author – autori nimi/autorite nimed.

3) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).

Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet. Raamatuid saab sorteerida pealkirja ja autori järgi. Admin_BooksData alamvaates raamatute tabeli all paiknevad nupud „Add“, „Delete“, „Edit“ ja viimasena natuke eraldi paiknevalt nupp„Log“.

„Add“ nupule klikkides avaneb aken, kust administraator saab sisestada andmebaasi uue raamatu, mida on kasutajatel võimalik laenutada. Aknas kiri „Adding a new book to database“ ja kolm tekstivälja autori, pealkirja ja kommentaaride lisamiseks. Lõpuks on nupud „Submit“ ja „Cancel“. Mõlemad nupud suunavad tagasi Admin aknasse Admin_BooksData vaatesse. „Submit“ nupu vajutusel kontrollitakse ka, kas kõik väljad on täidetud. Kui väljad on täidetud, siis lisatakse raamat otse andmebaasi, ja kui pole täidetud, kuvatakse sellekohane hoiatus kuni administraator vea parandab või vajutab „Cancel“.

„Delete“ nupule klikkides kuvatakse administraatorile hoiatus „Are you sure you want to permanently delete this book?“. Valida saab „Delete“ või „Cancel“. „Delete“ kustutab andmebaasist lõplikult raamatu, mis oli tabelis parasjagu valitud (selected). Administraator suunatakse lõpuks tagasi Admin aknasse Admin_BooksData vaatesse.

„Edit“ nupp avab akna, kus on kolm eeltäidetud tekstivälja autori, pealkirja ja kommentaariga tabelist valitud raamatu andmetega. Administraator saab aknas klikkida nuppudele „Edit“ või „Cancel“, mis mõlemad viivad tagasi Admin aknasse Admin_BooksData vaatesse. „Edit“ nupuvajutus salvestab ka tehtud muudatused.

„Log“ nupp avab logi akna.

  • LOG AKEN

Log aknas kuvatakse tavaline kiri „Log“ ja tabel kõikide raamatute sündmustest. Tabeli veergudes kuvatakse kuupäev, pealkiri, autor ning sündmus. Viimase all saavad olla „created“, „lent out“, „returned“ and „extended“. Kuna logid võivad väga kiiresti väga suureks minna, siis kuvatakse kindlasti antud read lehtede kaupa, näiteks ühel lehel 20 rida. Seega tabeli all on lehtede vahel navigeerimiseks „Next“ ja juba edasi järgmisele lehele liikudes ka „Previous“ lingid. Kindlasti on logis ka „Back“ nupp, mis suunab tagasi Admini aknasse Admin_BooksData alamvaatega. Nice to have funktsionaalsusena on logi aknas ka pdf faili koostamise võimalus. Pdf fail sisaldab kindla raamatuga seotud toimingud teatud ajaperioodil. See võimaldab saada infot ka paberkandjal.

  • ADMIN_USERSDATA ALAMVAADE

Sisaldab ühte tekstivälja, kuhu administraator saab sisestada kasutaja nime ja tema andmeid otsida, vajutades „Search“ nupule. Kui otsingule vastavat inimest andmebaasis ei leidu, kuvatakse nice to have funktsionaalsusena administraatorile sellekohane teade. Allpool on tabel, kuhu kuvatakse kasutajate nimekiri ja andmed:

1) First name – raamatu pealkiri. 2) Last name – autori nimi/autorite nimed. 3) Email address. 4) Comments – kommentaarid (nt kas raamatul on mõni leht puudu vm).

Nice to have funktsionaalsusena kuvatakse kirjed lehtede kaupa: kasutaja saab vajutada „Next“ ja „Previous“ nuppe, et kuvataks talle järgmised või eelmised näiteks 20 kirjet. Kasutajaid saab sorteerida eesnime ja perenime järgi. Admin_UserData alamvaates kasutajate tabeli all paiknevad nupud „Add“, „Delete“, „Edit“ ja „View user’s details“.

„Add“ nupu vajutamisel saab lisada andmebaasi uue kasutaja. Administraator suunatakse „Register“ aknasse. Pärast uue kasutaja registreerimist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.

„Delete“ nupu vajutamisel saab administraator tabelist valitud kasutaja andmebaasist kustutada.

„Edit“ nupu vajutusega saab administraator tabelist parasjagu valitud kasutaja andmeid muuta. Selleks suunatakse administraator eeltäidetud tekstiväljadega „Register“ aknasse. Pärast kasutaja andete muutmist „Register“ aknas aga suunatake administraator Admini aknasse Admin_UsersData vaatesse tagasi.

„View User’s details“ nupp. Kui administraator soovib näha konkreetse kasutaja käes olevaid raamatuid, kasutaja emaili aadressi jm täpsemat informatsiooni konkreetse kasutaja kohta, siis administraator teeb Admin aknas UsersData vaates kasutaja aktiivseks ning vajutab „View User’s details“ nuppu. Administraator suunatakse sellega täiesti uude, UsersDetails aknasse.

  • USERSDETAILS AKEN

UserDetails aken sarnaneb väga User aknale, mis on User_MyLoans alamvaatega. UsersDetails aknas kuvatakse administraatorile kohe konkreetse kasutaja andmed: nimi, emaili aadress ja HomeLibrary’s kasutajaks registreerimise kuupäev ning kas ta on admin/user. Viimane on nupuna ja sealt nupust saab õigusi kohe administraator muuta ka. Kõik need andmed on lihtsalt kasutajast mugava üldpildi saamiseks. Järgneb tabel konkreetse kasutaja laenutatud raamatute kohta. Tabel koosneb järgmistest veergudest:

1) No – saab olla ühest kuni kümneni, sest kasutajal korraga rohkem raamatuid ei või käes olla. Nummerdamine on oluline, et administraator saaks ühe kiire pilguga aru, mitu raamatut ta võib veel kasutajale välja laenutada. 2) Title – välja laenutatud raamatu pealkiri. 3) Author – välja laenutatud raamatu autor/autorid. 4) Return deadline – välja laenutatud raamatu tagastamise tähtaeg. 5) Comments – kommentaarid raamatute kohta. Näiteks kui raamat tagastatakse ja raamatul juba oli viga või CD-d ei antud kasutajale kaasa, siis kõike on võimalik sealsamast aknast kommentaarina näha. Tabelile järgnevad nupud „Add“, „Delete“ ja „Extend“.

„Add“ nupule vajutades saab kasutajale laenutada uue raamatu. Selleks suunatakse kasutaja uude aknasse – LendOut (kirjeldatud allpool).

„Delete“ nupule vajutab administraator, kui kasutaja raamatu tagastab. Selleks administraator valib tabelist välja raamatu, mida tagastada tahetakse, ning vajutab „Delete“. „Delete“ nupu vajutamise järel aken uuendatakse ja administraator näeb juba uuendatud nimekirja laenutatud raamatutest.

„Extend“ nupule vajutab administraator, kui kasutaja soovib raamatut pikendada. Pärast „Extend“ nupule vajutamist uuendatakse aken ning tabelisse ilmub kohe uus raamatu tagastamise tähtaeg.

Nice to have funktsionaalsusena võiks olla rakenduse kasutusmugavuse perspektiivist kohe UsersDetails aknas ka raamatutele kommentaaride lisamise võimalus. Et kui administraator laenutab kasutajale raamatu, siis saab ta ka mugavalt kirja panna raamatu algseisukorra või kas CD oli raamatul kaasas või mitte.

  • LENDOUT AKEN

LendOut akna vaade sarnaneb väga User aknaga, mille alamvaade on User_ViewAllBooks. Puuduvad vaid nupud „My loans“, „View all loans“ ja „My settings“. Selle asemel on nupp „Back“, mis viib tagasi UsersDetails aknasse. Ka tabel on täpselt sama, aga tabeli alla lisanduvad kaks nuppu: „Add“ ja „Cancel“. Viimane suunab tagasi UserDetails aknasse, Add aga nii-öelda laenutab raamatu kasutajale välja. Administraator suunatakse tagasi UsersDetails aknasse, kust ta näeb juba uuendatud profiili koos uue laenutatud raamatuga. Järgmise raamatu laenutamisel kordab administraator lihtsalt sama käitumismustrit.

Funktsioonid (must have)

  • „Kustuta kasutaja ja muuda kasutaja andmed“ funktsioon
  • „Laenuta“ funktsioon
  • „Tagasta teavik“ funktsioon
  • „Pikenda tähtaega“ funktsioon
  • „Lisa andmebaasi uus teavik“ funktsioon
  • „Kustuta teavik andmebaasist“ funktsioon
  • „Lisa uus kasutaja“ funktsioon
  • „Raamatute logi vaatamise funktsioon“.
  • „Raamatute sorteerimine autorite ja pealkirjade põhjal“ funktsioon
  • „Kasutajate sorteerimine eesnime ja perenimede põhjal“ funktsioon

Funktsioonid (nice to have)

  • „Saada kasutajale sellekohane meil“, kui tähtaeg läheneb
  • „Muuda kasutaja andmeid“ funktsioon
  • Üle tähtaja läinud teavikud märgitakse kasutajale punaseks.

Kasutatavad tehnoloogiad

  • WPF
  • C#
  • EntityFramework
  • LINQ
  • MSSQL

Lisa 1

Lisa 2

Logi

04.10.2015

  • Meeskonna „Premium“ lõplik kokkupanek. Kõik meeskonnaliikmed andsid kiire ülevaate oma ootustest ja võimalustest projekti panustada erinevatel perioodidel. Loodi meeskonna Wiki leht ja TFS grupp.

05.10.2015

  • Valiti projektijuht ning loodi Skype’i grupp, et soodustada meeskonnaliikmete vahelist suhtlust.

01.11.2015

  • Valmis analüüs

06.11.2015

  • Tehti meeskond LIB analüüsile retsensiooni

13.12.2015

  • Esimene prototüüp

19.01.2016

  • Projekt valmis

Prototüüp

Link: http://www.upload.ee/files/5400657/HM_2_.zip.html

 

Script: http://www.upload.ee/files/5396026/HomeLibraryBase_10.12.2015.sql.html

 

Lähtudes retsensioonis leiduvatele soovitustele, valmis uus analüüs. Viidi sisse mõned muudatused, näiteks muuhulgas on ära jäetud spetsiaalne võimalus laenutajatel ise oma profiili vaadata ja raamatuid arvutist otsida.

 

SISSEJUHATUS

HomeLibrary on mõeldud oma isiklike raamatute sõpradele/tuttavatele laenutamiste haldamiseks. Laenutajad ise programmi ei kasuta. Kõiki raamatuid on HomeLibrary’s üks koopia. HomeLibrary rakenduse analüüsis üritatakse ära katta kõikvõimalikud kasutaja poolsed tegevused ja nende tulemused. Võimalikult täpselt proovitakse kirjeldada programmi välispilt. Analüüsi lõpuosas on toodud lisaks ka ERD diagramm.

 

MAINWINDOW

MainWindow aknas on neli nuppu, mis kõik viivad vastavate nimedega akendesse. Nupud:

1) „BooksLending“ – siit pääseb  raamatuid laenutama/pikendama/tagastama ja laenutusi vaatama

2) „Book“ - siit saab raamatute pealkirju ja autoreid vaatama, lisama raamatuid, muutma ja kustutama raamatuid

 3) „Person“ - siin on võimalik inimeste kontakte vaatama, lisama inimesi, muutma ja kustutama inimesi

4) „Log“ – siia nupule vajutades pääseb raamatutega seotud ajaloo logi lehele.

 

BOOKSLENDING AKEN

BooksLending aknas on kolm tabi: 1) Lend Book 2) Return/Extend Book 3) View Loans

Lend Book

Lend Book tabi vaates on võimalik raamatuid laenutada. Selleks kuvatakse kasutajale kaks tabelit: 1) inimeste tabel ja 2) raamatute tabel. Kasutaja valib ühest tabelist inimese, kellele ta tahab laenutada, ja teisest tabelist raamatu, mida laenutada. Lisaks on tabis kalender, kust saab valida raamatu laenutamise tähtaja, ning nupp „Lend the Book“. Nice to have funktsionaalsusena on tabelite juures Search textboxid, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.

Return/Extend Book

Return/Extend tabi vaates kuvatakse laenutuste tabel veergudega FirstName, LastName, Email, Book, Author, Deadline. Ehk kasutajal on võimalik näha, kelle käes on parasjagu mis raamatud, ja valida kirjeid raamatute pikendamiseks või tagastamiseks. Viimaste jaoks on vaates kalender, kust saab uue kuupäeva välja valida, ja nupud „Extend“ ja „Return“. Nice to have funktsionaalsusena on tabeli juures Search textbox, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.

View Loans

View Loans tabi vaates on kasutajal võimalik näha tabelit veergudega FirstName, LastName, Email, Book, Author, Deadline. Tabel sisaldab informatsiooni, kelle käes on parasjagu mis raamatud ja mis on tähtaeg. Nice to have funktsionaalsusena kuvatakse tähtaja ületanud veerud silmapaistvalt, näiteks punases kirjas. Nice to have funktsionaalsusena on tabeli juures Search textbox, kus kasutaja saab veidi oma valikut kitsendada, kui ta seda soovib.

 

PERSON AKEN

Person aknas on neli tabi:  1) View Persons  2) Add New Person 3) Edit Person 4) Remove Person.

View Persons

View Persons tabi vaates kuvatakse kasutajale tabel andmebaasis olevatest inimestest – (PersonId,) FirstName, LastName, Email ja Comment. Tabel on scrollitav. Kuna tabel võib aja jooksul minna pikaks, siis on nice to have funktsionaalsusena vaates võimalik inimest otsida kiiresti ka nime järgi, mille tulemusena kuvatakse tabelis vaid list otsingu tulemustest ja mitte listi kogu andmebaasis olevatest inimestest.

Add New Person

Add New Person tabi vaates on neli textboxi - „First Name“, Last Name“, „Email“, „Comment“ ning nupp „Add new Person“. Textboxidesse saab kasutaja sisestada andmed inimesest, keda ta soovib salvestada andmebaasi. „Comment“ väli võib jääda tühjaks, ülejäänud väljad on kohustuslikud. Kui kasutaja jätab ühe või rohkem kohustuslikest väljadest täitmata ja vajutab „Add new Person“ nuppu, kuvatakse talle teade (MessageBox): „Please fill in all mandatory fields!“. Sama emailiga inimest andmebaasi ei salvestata. Email peab olema unikaalne. Kui inimene sisestab juba andmebaasis leiduva emaili, antakse talle veateade.

Edit Person

Edit Person tabi vaates kuvatakse kasutajale samasugune tabel nagu View Persons vaateski ((PersonId,) FirstName, LastName, Email ja Comment). Kasutajal tuleb valida tabelist inimene, kelle andmeid ta andmebaasis muuta tahab. Valitud inimese andmed ilmuvad textboxidesse ja neid on võimalik muuta. Kui kasutaja üritab „Edit Person“ nuppu vajutades mõnda välja tühjaks jätta, siis kuvatakse talle sellekohane teade.

Kuna ühte nime võib esineda mitmel inimesel, siis EditPerson meetodi juures tuleb arvestada, et tagastatakse otsingu tulemusena list. Ei sobi lihtsalt nime järgi muutmine andmebaasis. Selle tõttu Edit Person vaates kuvatakse tabel kõigi kontaktandmetega, et kasutaja leiaks kindlasti õige inimese, keda ta muuta soovib.

Remove Person tab

Remove Person tabi vaates kuvatakse kasutajale jälle samasugune tabel nagu View Persons vaateski ((PersonId,) FirstName, LastName, Email ja Comment). Kasutajal tuleb valida tabelist inimene, keda ta jäädavalt andmebaasist kustutada soovib, ja vajutada nuppu „Remove Person“. Kuna tabelis võib aja jooksul olla tekkinud palju inimesi, siis nice to have funktsionaalsusena on tabeli juures võimalik ka textboxi sisestada otsitava inimese nimi ning vajutada „Searh“ nuppu. Selle tulemusena kuvatakse tabelisse kogu Person andmebaasitabeli kirjete asemel list otsingu tulemustest. Sealt on lihtsam kasutajal õige inimene üles leida.

 

BOOK AKEN

Book aken sarnaneb väga Person aknaga. Erinevad on vaid andmetes, mida esitatakse.

Book aknas on neli tabi:  1) View Books 2) Add New Book 3) Edit Book 4) Remove Book.

View Books

View Books tabi vaates kuvatakse kasutajale tabel andmebaasis olevatest raamatutest – (BookId,) Title, Author, Email ja Comment. Tabel on scrollitav. Kuna tabel võib aja jooksul minna pikaks, siis on nice to have funktsionaalsusena vaates võimalik raamatut otsida kiiresti ka pealkirja või autori järgi, mille tulemusena kuvatakse tabelis list otsingu tulemustest ja mitte listi andmebaasis olevatest kõikidest raamatutest. Märkimisväärne on, et Book aknas ei saa näha, kas raamatud on parasjagu välja laenutatud või mitte. Seda informatsiooni kuvatakse BookLending aknas.

Add New Book

Add New Book tabi vaates on kolm textboxi - „Title“, „Author“ ja „Comment“ ning nupp „Add new Book“. Textboxidesse saab kasutaja sisestada raamatu andmed, mida ta soovib salvestada andmebaasi. „Comment“ väli võib jääda tühjaks, ülejäänud väljad on kohustuslikud. Kui kasutaja jätab ühe või mõlemad kohustuslikest väljadest täitmata ja vajutab „Add new Book“ nuppu, kuvatakse talle teade (MessageBox): „Please fill in all mandatory fields!“. Sama pealkirja ja autoriga raamatut andmebaasi ei salvestata. Kui inimene sisestab juba andmebaasis leiduva raamatu, antakse talle veateade.

Edit Book

Edit Book tabi vaates kuvatakse kasutajale samasugune tabel nagu View Books vaateski ((BookId,) Title, Author ja Comment). Kasutajal tuleb valida tabelist raamat, mille andmeid ta andmebaasis muuta tahab. Valitud raamatu andmed ilmuvad textboxidesse ja neid on võimalik muuta. Kui kasutaja üritab „Edit Book“ nuppu vajutades mõnda välja tühjaks jätta, siis kuvatakse talle sellekohane teade.

 

Remove Book tab

Remove Book tabi vaates kuvatakse kasutajale jälle samasugune tabel nagu View Books vaateski ((BookId,) Title, Author ja Comment). Kasutajal tuleb valida tabelist raamat, mida ta andmebaasist eemaldada soovib, ja vajutada nuppu „Remove Book“. Kuna tabelis võib olla palju raamatuid ka kodusel raamatukogu pidajal, siis nice to have funktsionaalsusena on tabeli juures võimalik ka textboxi sisestada otsitava raamatu nimi ning vajutada „Searh“ nuppu. Selle tulemusena kuvatakse tabelisse otsingu täpsusest sõltuvalt teatud kogus raamatuid. Väiksemast valikute hulgast on kasutajal lihtsam õige raamat üles leida.

 

LOG AKEN

Log aknas kuvatakse tavaline kiri „Log“ ja tabel kõikide raamatute sündmustest. Tabeli veergudes kuvatakse kuupäev, raamatu pealkiri, raamatu autor, inimene ning sündmus. Viimase all saavad olla „created“, „lent out“, „returned“ and „extended“.

Kuna logid võivad väga kiiresti väga suureks minna, siis kuvatakse kindlasti antud read lehtede kaupa, näiteks ühel lehel 20 rida. Seega tabeli all on lehtede vahel navigeerimiseks „Next“ ja juba edasi järgmisele lehele liikudes ka „Previous“ lingid.

 

 

Funktioonid - Must have

„Laenuta“ funktsioon

„Tagasta teavik“ funktsioon

„Pikenda tähtaega“ funktsioon

„Lisa andmebaasi uus teavik“ funktsioon

„Muuda teavik“ funktsioon

„Kustuta teavik andmebaasist“ funktsioon

„Lisa uus kasutaja“ funktsioon

„Muuda kasutaja andmeid“ funktsioon

„Kustuta kasutaja“ funktsioon

„Raamatute logi vaatamine“ funktsioon

„Raamatute sorteerimine autorite ja pealkirjade põhjal“ funktsioon

„Kasutajate sorteerimine eesnime ja perenimede põhjal“ funktsioon

 

Funktisioonid – Nice to have

Üle tähtaja läinud teavikud märgitakse punaseks.


AB

Lõpptoode

HOMELIBRARY KASUTAJAJUHEND

 

Kellele ja milleks?
HomeLibrary programm on mõeldud koduse raamatukogu hoidjale, et paremini hallata raamatuid ja nende väljalaenutusi. Programm ei ole ette nähtud raamatute laenajatele kasutamiseks.

Mida on vaja?

Programmi kasutamiseks on vajalik Windowsi operatsioonisüsteemiga arvuti (või tahvelarvuti). Mobiilsed seadmed ei sobi.

 

Toimingud

 

Raamatu väljalaenutamine (BookLending -> Lend -> valida tabelitest välja isik, kellele raamat laenutada, raamat, kuupäev ja vajutada nuppu “Lend out”). Raamatute tabelis kuvatakse vaid raamatud, mis on koduses raamatukogus hetkel saadaval. Valida saab korraga vaid ühe raamatu. Kui soovitakse ühele isikule mitu raamatut välja laenata, siis tuleb kirjeldatud laenutamistegevust korrata.

Laenutuse pikendamine (BookLending -> Extend/Return -> valida laenutuskirje ja vajutada nupule “Extend”).

Laenutuse lõpetamine (BookLending -> Extend/Return -> valida laenutuskirje ja vajutada nupule “Return”).

Laenutuste vaatamine (BookLending -> View Loans). Kõik laenutused on koondatud ühte tabelisse. Kõige parema ülevaate ühe inimese laenutustest saab, kui sorteerida tabel emaili või inimese nime järgi.

Raamatute lisamine andmebaasi (Books -> Add Book -> täita kohustuslikud väljad ja vajutada nupule “Add”).

Raamatu andmete muutmine andmebaasis (Books -> Edit Book -> valida tabelist raamat, mida muuta soovitakse). Tegelik muutus leiab aset juba enne Edit nupule vajutamist. Edit nupp aitab aga märgata puudulikke andmeid ja teeb väljad, mis muutmise käigus täitusid kirjetega, jälle tühjaks.

Raamatu kustutamine andmebaasist (Books -> Remove Book -> valida välja raamat, mida kustutada, ja vajutada nuppu “Remove”). Kui eemaldatav raamat on kustutamise hetkel laenus, siis tuleb vastav teade - “raamat on välja laenutatud”.

Inimese lisamine andmebaasi (Persons -> Add Person -> täita kohustuslikud väljad ja vajutada nupule “Add”). Kui sisestatud email on andmebaasis olemas, siis programm annab veateate ja inimest andmebaasi ei lisa. Sama nimega inimesi saab andmebaasi sisestada.

Inimese andmete muutmine andmebaasis (Persons -> Edit Person -> valida tabelist inimene, kelle andmeid muuta soovitakse). Tegelik muutus leiab aset juba enne Edit nupule vajutamist. Edit nupp aitab märgata puudulikke andmeid ja teeb väljad, mis muutmise käigus täitusid kirjetega, jälle tühjaks.

Inimese kustutamine andmebaasist (Persons -> Remove Person-> valida välja inimene, keda kustutada, ja vajutada nuppu “Remove”). Kui eemaldatava isiku käes on tagastamata raamatuid, siis tuleb teade - “Inimest ei saa kustutada, kuna tal on laenutanud raamatu ja see pole tagastatud”.

 

Logi

 

Raamatute, laenutuste, inimeste kiireks leidmiseks saab neid kõiki sorteerida. Selleks vajutada tabeli selle päise peale, mille järgi tahetakse tabel sorteerida.


Lõpptoote link: http://www.upload.ee/files/5494018/HomeLibrary.7z.html ja script: http://www.upload.ee/files/5494019/Script.sql.html