Meeskond Taksobaas

From ICO wiki
Revision as of 16:20, 16 December 2012 by Mkirillo (talk | contribs)
Jump to navigationJump to search

Kirjeldus

Ülivägev andmebaas-rakendus taksodest (Algne idee meeskonna projektijuhi kunagisest katki jäänud projektist Eesti Politseile). Põhieesmärk on anda kiirelt infot taksode, juhtide, firmade ja nende litsentside kohta.

Tööjaotus

  • Marek Kirillov - Projektijuht,osa analüüsist,wiki lehe haldamine,kasutajaliides ja login, kasutajatüübi määramine, andmebaasiga seotud meetodid, andmete kuvamise lahendus, otsing,
  • Rando Laisaar - Osa analüüsist,seadete aken, kasutajate haldamise aken, logiaken, disain , prototüübi retsensioon
  • Siim Treilmann - Osa analüüsist,analüüsi retsensiooni koosatamine,profiiliaken, printimise funktsioon,paroolide krüpteerimine
  • Tiit Tallermaa - Osa analüüsist, kasutajate haldamise funktsioon, üldine tööloogika, lõpptoote retsensioon

Tööd jaotame rakenduse loomise käigus.

Analüüs

Rakendus Taksobaas sisaldab endas andmebaasi taksode kohta, mis on ideejärgi mõeldud kasutamiseks politseile või mõnele muule korrakaitseüksusele. Taksobaasi eesmärk on teha võimalikult lihtsaks ja kiireks kontroll taksode õigsuse, taksojuhtide litsentside ja rikkumiste üle. Rakendusel on kolm kasutajagruppi: superadmin, registreeritud kasutaja ja registreerimata kasutaja. Kõik järgnevalt kirjeldatud lõikudes kuulub enamjaolt must-have funktsionaalsuste alla.
Registreerimata kasutajal on peale rakenduse käivitamist võimalik vaadata rakenduse avaaknas ilmuvaid admeid, neid järjestada omale meelepärassesse järjekorda ning kasutada otsingut. Otsing otsib kõikide andmete seast valitud märksõna ja kategooria järgi välja andmeid (näiteks: märksõna „Peeter“ ,kategooria „eesnimi“ ; märksõna „kehtetu“ , kategooria „kehtivus“ jne). Märksõna sisestatakse vastavalt textbox'i ningi kategooria saab valida dropdown-listist. Sellega registreerimata kasutajate õigused ka piirduvad.
Registreeritud kasutajal on lisaks eelnevalt kirjeldatule rohkem võimalusi. Rakenduse käivitamisel küsitakse eelnevalt määratud kasutajanime ja parooli, mille maksimaalseks pikkuseks on 15 tähemärki. Edasi kuvatakse aken, milles on kasutajal võimalik valida kahe „tab“i vahel. Esimesel toimub andmete kuvamine ja otsing nagu eelnevas lõigus kirjeldatud. Lisaks sellele on võimalik kustutada valitud andmeid ja neid printida. Andmerea peale klikkides avatakse uus aken, milles kuvatakse tabelis olevaid andmeid ning lisainformatsiooni konkreetse sisestuse kohta. Avanud akent võib võtta kui konkreetse isiku profiili, kus kajastatakse temaga seostuvaid andmeid. Seda on võimalik muuta, klikkides nupule muuda (mis aktiveerib tekstiväljad) ja salvestada (update käsklus andmebaasi) ning kustutada ja profiililehte ka printida. Lisaks on esimesel „tab“il veel nupp, mis uuendab tabeli sisu ning võimalusel ka muid Nice-To-Have funktsionaalsusi, mis on kirjeldatud analüüsile järgnevas loendis. Teine „tab“ sisaldab endas kõikvõimalikke taksodega seotud andmete lisamise võimalusi. Tühju kirjeid pole võimalik lisada ning tärniga on märgitud väljad, mille täitmine on kohustuslik.
Superadmin on kasutaja, kes omab kõikidele eelnevalte kirjeldatud võimalusetele veel võimalusi vaadata sisse/väljalogimise ja andmete muutmise, otsimise logi ning registreerida uusi ja muuta vanu kasutajaid. Superadmin siseneb sarnaselt registreeritud kasutajale rakendusse eelnevalt määratud kasutajanime ja parooliga. Superadmini vaates ilmuvad lisanupud „Kasutajate haldamine“ ja „Logi“.
Lisaks tabidele kuvatakse alati rakenduse all servas kasutaja olekut (näiteks: „Oled registreeritud kasutaja režiimis.“, „Oled tavakasutaja režiimis, logi sisse selleks,et muuta andmeid“ jne) ning kaks nuppu: Logi Sisse/Välja(muutub sõltuvalt kasutaja olekust) ja Sulge. Välja logimisel kuvatakse taas Sisselogimise akent, sulgemisel aga logitakse baasist välja ja sulgetakse kogu rakendus. Lisaks on kõikidel kasutajatel võimalik muuta andmebaasi serveriga seotud andmeid (kui näiteks tekib vajadus andmebaas teise serverisse kolida) ning on ka võimalus nende andmete salvestamiseks, kuid see kehtib ainult superadminile, selleks , et kui tavakasutaja kogemata midagi ära muudab ja salvestab , siis ta ei saa enam baasile ligi. Kui aga neid ära ei salvestata, siis piisab tavakasutajal programmi taaskäivitamisest,et uuesti andmetele ligi pääseda.

Must-Have funktsioonide loend:

  • Sisselogimise süsteem
  • Erinevad kasutajatüübid
  • Otsing ja andmete kuvamine
  • "Profiiliakna" kuvamine
  • Tabide kuvamine
  • Lihtne disain
  • Andmete lisamine
  • Eelistuste salvestamine (järgneval käivitusel ei ole seaded algseks muutnud vaid säilitavad oma muudetud oleku) (registreeritud kasutajale)
  • Andmete järjestamise valik (dropdown-list)
  • Osaliselt on logi pidamine ka nice-to-have funktsionaalsus (superadminile),



Nice-to-Have funktsioonide loend:

  • Printimine tabelist ja profiilist (registreeritud kasutajale)
  • Otsing, kus ei pea valima kategooriat vaid otsitakse kõikide tabeli veergude seast. (registreeritud kasutaja)
  • Eelistused, kus saab vahetada rakenduse teemat ja määrata tabeli automaatne uuendus ning ajavahemik, millal tabel ennast uuendab (registreeritud kasutajale)
  • "Fancy" disain
  • Kasutaja automaatne blokeerimine kui parooli on järjest sisestatud valesti 3 korda
  • Lisaaken, reaalajas kommunikatsiooniks (registreeritud kasutajale)
  • Teema mitte ei muuda ainult värve ja fonte vaid ka kujundust (registreeritud kasutajale)
  • Libataksod ja kehtetu litsentsiga taksod eristatavad
  • Sisselogimisel „jäta parool meelde“ checkbox (registreeritud kasutajale)
  • Pildi kuvamine profiilis (registreeritud kasutajale)
  • Serveriga ühendamiseks vajalke andmete vahetamine/sisestamine (kõikidele kasutajatele)

Nice to have funktsionaalsustest teeme valmis nii palju kui ajaliselt jõuame ja oskused lubavad. Eelnevalt keskendume Must Have osa loomisele.

Retsensioon

Retsensioon on koostatud meeskonna Kajarist[1] analüüsi kohta.

Prototüüp

Rakenduse prototüübi ja selle kasutamiseks vajalikud failid: [2]. Selleks, et rakendust kasutada on vaja SQL Serverit (2012) ja SQL Server Management Studiot. Lahtipakkimisel tekkivas kaustas on kaks SQL scriptifaili. Esmalt tuleb luua SQL Server Management Studios uus andmebaas nimega "Taksobaas". Seejärel kasutada "Andmebaaside_tekitamine" scripti ,et luua tabelid andmebaasi ning "Admin_kasutaja_lisamine" scripti, et tekitada üks administraatoriõigustega kasutaja, millega saab rakendusse siseneda. Kasutajanimi: "admin" , parool: "parool".

Rakendusel puuduvad:

  • Printimise funktsioon (kood peaaegu olemas)
  • Seadete funktsioon (ideeliselt olemas)
  • Kasutajate muutmise ja blokeerimise funktsioon (ideeliselt olemas)
  • Andmete järjestamise funktsioon (kood peaaegu olemas)
  • Stiili muutmise funktsioon (ideeliselt olemas)
  • Korralik disain (kood peaaegu olemas)
  • Kasutajaandmete krüpteerimine
  • Automaatne uuendamine
  • Tuleb veel erinevaid funktsionaalsusi,lisaks nendele ja nice-to-have'idele, juhul kui ajaliselt jõuab.


Rakendusel töötavad:

  • Kasutaja autentimine ja kasutajatüübi määramine
  • Erinevate väljade kontrollid ja veateated (Näiteks andmete lisamisel kohustuslikkude väljade mittetäitmisel, kasutaja lisamisel kui kasutajanimi juba olemas või sisestatud paroolid erinevad, sisselogimisel vale parooliga jne)
  • Andmete lisamine
  • Andmete otsimine (kõikide sisestuse hulgast)
  • Litsentsi kehtivuse kontroll
  • Profiiliaken
  • Andmete muutmine profiiliaknas
  • Uuendamine
  • TB nupu alt, (Administraatoriõigustega kasutajaga jaoks) logi vaatamine/pidamine ning kasutajate lisamine ja kustutamine


Lõpptoode

Failid

  • Rakendus(release):
  • Rakendus(kood):
  • Kasutusjuhend : [3]
  • Lahenduse kirjeldus:

Kasutusjuhend

  • Sissejuhatus

Rakendus Taksobaas sisaldab endas andmebaasi taksode kohta, mis on ideejärgi mõeldud kasutamiseks politseile või mõnele muule korrakaitseüksusele. Taksobaasi eesmärk on teha võimalikult lihtsaks ja kiireks kontroll taksode õigsuse, taksojuhtide litsentside ja rikkumiste üle. Rakendusel on kolm kasutajagruppi: superadmin, registreeritud kasutaja ja registreerimata kasutaja.

  • Sisselogimine

Rakenduse käivitamisel tekib sisselogimise aken. Sisselogimise aknast saab edasi minna kas sisselogituna, sisestades kasutajanime ja parooli ning nuppu Sisene või nupust Vaata andmeid, mida saab ka ilma sisselogimiseta kasutada. Sulge nupp sulgeb rakenduse.

  • Andmete vaatamine ( registreerimata kasutaja )

Registreerimata kasutajal on peale rakenduse käivitamist võimalik vaadata rakenduse avaaknas ilmuvaid andmeid, neid järjestada omale meelepärasesse järjekorda ning kasutada otsingut. Otsing otsib kõikide andmete seast valitud märksõna järgi välja andmeid. Märksõna sisestatakse vastavalt textbox'i. Vajutades tabelil olevale reale on võimalik vaadata profiililehte, mis avaneb eraldi akans. Sellega registreerimata kasutajate õigused ka piirduvad.

  • Andmete vaatamine ( registreeritud kasutaja )

Registreeritud kasutajal on lisaks eelnevalt kirjeldatule rohkem võimalusi. Rakenduse käivitamisel küsitakse eelnevalt määratud kasutajanime ja parooli, mille maksimaalseks pikkuseks on 15 tähemärki. Edasi kuvatakse aken, milles on kasutajal võimalik valida kahe „tab-i“ vahel. Esimesel toimub andmete kuvamine ja otsing täpselt samamoodi nagu sisselogimata kasutaja puhul.

  • Profiilivaade

Andmerea peale klikkides avatakse uus aken, milles kuvatakse tabelis olevaid andmeid ning lisainformatsiooni konkreetse sisestuse kohta. Avanud akent võib võtta kui konkreetse isiku profiili, kus kajastatakse temaga seostuvaid andmeid. Seda on võimalik muuta, klikkides nupule muuda (mis aktiveerib tekstiväljad) ja salvestada ning kustutada ja profiililehte ka printida .

  • Andmete lisamine

Teine „tab“ sisaldab endas kõikvõimalikke taksodega seotud andmete lisamise võimalusi. Tühju kirjeid pole võimalik lisada ning tärniga on märgitud väljad, mille täitmine on kohustuslik. Peale salvestamise nupule vajutamist saab kasutaja kas kinnituse, et andmed on lisatud või kuvatakse valesti sesestatud andmete kohta veateade.

  • Admin - Lisad

Superadmin on kasutaja, kes omab kõikidele eelnevatele kirjeldatud võimalustele veel võimalusi vaadata sisse/väljalogimise ja andmete muutmise, otsimise logi ning registreerida uusi ja muuta vanu kasutajaid. Superadmin siseneb sarnaselt registreeritud kasutajale rakendusse eelnevalt määratud kasutajanime ja parooliga. Superadmini vaates ilmuvad lisanupud „Halda kasutajaid“ ja „Vaata logi“, mida saab sisu akna alt nupust „Lisad“.

  • Logi

Logi vaatamisel tekib aken, kus on näha andmete, millal on kasutaja sisse loginud, andmeid muudetud, salvestatud ja kustutatud . Samuti saab Logi akna sisu vajadusel tühjendada.

  • Kasutajate haldus

Lisade aknas olev Halda kasutajaid näitab olemasolevaid kasutajad, saab lisada uue kasutaja, blokeerida ja kustutada olemasolevaid kasutajaid.

  • Kasutaja lisamine

Lisa uus tekitab kasutajate lisamise akna, kus superadminil on õigus lisada uusi kasutajaid ja neile anda vastav kasutaja õigus, kas siis tavakasutaja või superadmini õigustega kasutaja.

  • Kasutaja blokeerimine

Lisade all olev nupp Blokeeri annab superadminile õiguse olemasolevaid kasutajaid blokeerida teatud ajani ning samuti blokeeringust eemaldada.

Lahenduse kirjeldus

Logi

  • 22.10.2012 - Wiki lehe loomine
  • 29.10.2012 - Arutlus üldise idee ja kasutajaliidese üle + visuaalne skeem
  • 02.11.2012 - Analüüsi osade kokku panemine
  • 04.11.2012 - Analüüsi viimistlus ja wiki lehe uuendamine
  • 06.11.2012 - Sisselogimise ja kasutajatüübi määramise funktsiooni loomine
  • 11.11.2012 - Retsensiooni koostamine
  • 17.11.2012 - Üleminek MySql'ilt Linq'le
  • 18.11.2012 - Andmete lisamise aken ja funktsioon, profiilivaate, seadete, logi, kasutajahaldamise ja -lisamise aknad. Erinevate meetodite katsetamine.
  • 24.11.2012 - Andmete kuvamise funktsiooni loomine, disain, printimise funktsioon katsetamine, kasutajahalduse testimine
  • 25.11.2012 - Otsingu funktsioon, kasutajate lisamise funktsioon, uuendamine, logi salvestamine ja kuvamine,
  • 26.11.2012 - Profiililehe funktsioon, kasutajate kustutamise funktsioon, Profiililehe muutmise ja salvestamise funktsioon
  • 02.12.2012 - Prototüübi retsensioon
  • 10.12.2012 - Printimise funktsiooni lisamine, disaini silumine, testimine, turvaaukude otsimine
  • 12.12.2012 - Ideede kogumine ja meetodite testimine paroolide krüpteerimiseks
  • 16.12.2012 - Rakenduse testimine. Dokumentatsiooni tegemine ja vormistus

Pildid

?
Taksobaas - Algne visuaalne skeem asjast (Tehtud maailma parima fototöötlus programmiga MS Paint)