Codezilla: Difference between revisions
(5 intermediate revisions by the same user not shown) | |||
Line 23: | Line 23: | ||
== Kasutajate rollid == | == Kasutajate rollid == | ||
Minimaalses funktsionaalsuses süsteemi kasutajaks on ainult konverentsikeskuse administraator kes: | Minimaalses funktsionaalsuses süsteemi kasutajaks on ainult konverentsikeskuse administraator kes: | ||
*Loob/muudab kliendi profiile. | *Loob/muudab kliendi profiile. <span style="color:#0000FF">- tehtud</span> | ||
*Broneerib ruume kindlaks kuupäevaks kindla kliendi nimele. | *Broneerib ruume kindlaks kuupäevaks kindla kliendi nimele. <span style="color:#0000FF">- tehtud</span> | ||
*Kinnitab broneeringuid, kui laekub tasu broneeringu eest. | *Kinnitab broneeringuid, kui laekub tasu broneeringu eest. <span style="color:#0000FF">- tehtud</span> | ||
*Kustutab broneeringuid, kui broneeringu tasu ei ole laekunud tähtajaliselt, või kui tellija on broneeringu tühistanud. | *Kustutab broneeringuid, kui broneeringu tasu ei ole laekunud tähtajaliselt, või kui tellija on broneeringu tühistanud. <span style="color:#0000FF">- tehtud</span> | ||
*Vaatab aruandeid broneeringute kohta ruumide ja kuupäevade(kalendrivaade) lõikes. | *Vaatab aruandeid broneeringute kohta ruumide ja kuupäevade(kalendrivaade) lõikes.<span style="color:#0000FF">- tehtud</span> | ||
*Aktiveerib/deaktiveerib keskuse ruume (nt. ajutine sulgemine remondi ajaks) | *Aktiveerib/deaktiveerib keskuse ruume (nt. ajutine sulgemine remondi ajaks) <span style="color:#0000FF">- tehtud</span> | ||
== Must-have funktsionaalsus == | == Must-have funktsionaalsus == | ||
*''Administraatori sisselogimis-/autentimisvorm'' | *''Administraatori sisselogimis-/autentimisvorm'' <span style="color:#0000FF">- tehtud</span> | ||
**Kasutajanimi | **Kasutajanimi | ||
**Salasõna | **Salasõna | ||
*''Kliendi profiili loomise/muutmise vorm'' | *''Kliendi profiili loomise/muutmise vorm'' <span style="color:#0000FF">- osaliselt tehtud</span> | ||
**Organisatsiooni nimi | **Organisatsiooni nimi | ||
**Kontaktisiku nimi | **Kontaktisiku nimi | ||
Line 40: | Line 40: | ||
**Muud kontaktandmed | **Muud kontaktandmed | ||
**Aktiivne/Mitteaktiivne | **Aktiivne/Mitteaktiivne | ||
*''Ruumi informatsiooni vaade (iga ruumi kohta eraldi)'' | *''Ruumi informatsiooni vaade (iga ruumi kohta eraldi)'' <span style="color:#0000FF">- tehtud</span> | ||
**Ruumi nimi | **Ruumi nimi | ||
**Rumi istekohad | **Rumi istekohad | ||
**Aktiivne/mitteaktiivne | **Aktiivne/mitteaktiivne | ||
*''Broneeringu sisestamise vorm'' | *''Broneeringu sisestamise vorm'' <span style="color:#0000FF">- tehtud</span> | ||
**Kliendi nimi | **Kliendi nimi | ||
**Ruumi nr | **Ruumi nr | ||
Line 52: | Line 52: | ||
**Administraatori ID | **Administraatori ID | ||
**Loomise aeg | **Loomise aeg | ||
*''Kinnitatud ja kinnitamata broneeringute nimekirjade vaaded /Kronoloogiliselt loodud broneeringute tabel'' | *''Kinnitatud ja kinnitamata broneeringute nimekirjade vaaded /Kronoloogiliselt loodud broneeringute tabel'' <span style="color:#0000FF">- tehtud</span> | ||
**Broneeringu ID | **Broneeringu ID | ||
**Tellija nimi | **Tellija nimi | ||
Line 68: | Line 68: | ||
=== Võimalikud probleemid === | === Võimalikud probleemid === | ||
1. Admin sisestab kaks broneeringut samale päevale ja samale ruumile. | 1. Admin sisestab kaks broneeringut samale päevale ja samale ruumile. | ||
Lahendus: juba sisestamise ajal süsteem kontrollib ruumi kättesaadavust valitud päeval ja ei võimalda topelt broneerida. | Lahendus: juba sisestamise ajal süsteem kontrollib ruumi kättesaadavust valitud päeval ja ei võimalda topelt broneerida. <span style="color:#0000FF">- lahendatud</span> | ||
2. Kolmandate isikute sanktsioneerimata ligipääs rakendusele. | 2. Kolmandate isikute sanktsioneerimata ligipääs rakendusele. | ||
Lahendus: iga töösessiooni alguses administraator autoriseeritakse süsteemis ja igas broneeringus salvestatakse ka vastutava administraatori info. | Lahendus: iga töösessiooni alguses administraator autoriseeritakse süsteemis ja igas broneeringus salvestatakse ka vastutava administraatori info. <span style="color:#0000FF">- lahendatud</span> | ||
3. Administraator deaktiveerib ruumi, millel on olemas broneeringud. | 3. Administraator deaktiveerib ruumi, millel on olemas broneeringud. | ||
Lahendus: deaktiveerimisel süsteem kontrollib broneeringute olemasolu ja annab administrastorile hoiatuse broneeringute nimekirjaga. | Lahendus: deaktiveerimisel süsteem kontrollib broneeringute olemasolu ja annab administrastorile hoiatuse broneeringute nimekirjaga. <span style="color:#0000FF">- osaliselt lahendatud</span> | ||
4. Administraator redigeerib kliendi andmeid ja tahtlikult või kogemata kustutab kliendi profiili täielikult. | 4. Administraator redigeerib kliendi andmeid ja tahtlikult või kogemata kustutab kliendi profiili täielikult. | ||
Lahendus: administraatoril puudub võimalud kustutada kliendi profiili. Selle asemel kliendi profiili juures on lahter Aktiivne/Mitteaktiivne, mida saab vajaduse korral märkida. Nii tagatakse, et ka minevikus lõppenud broneeringud on seotud konkreetsete tellija andmetega. | Lahendus: administraatoril puudub võimalud kustutada kliendi profiili. Selle asemel kliendi profiili juures on lahter Aktiivne/Mitteaktiivne, mida saab vajaduse korral märkida. Nii tagatakse, et ka minevikus lõppenud broneeringud on seotud konkreetsete tellija andmetega. - <span style="color:#0000FF">- osaliselt lahendatud</span> | ||
5. Ruumi broneerimisel sisestatud osalejate arv ületab ruumi mahutavust. | 5. Ruumi broneerimisel sisestatud osalejate arv ületab ruumi mahutavust. | ||
Lahendus: Broneeringu sisestamisel süsteem annab hoiatust mittevastavuse kohta ja pakub kaks lahendusvarianti: muuda ruumi suuremaks (kui suurem ruum on selleks kuupäevaks vaba), või paranda osalejate arvu. | Lahendus: Broneeringu sisestamisel süsteem annab hoiatust mittevastavuse kohta ja pakub kaks lahendusvarianti: muuda ruumi suuremaks (kui suurem ruum on selleks kuupäevaks vaba), või paranda osalejate arvu. - <span style="color:#0000FF">- lahendatud</span> | ||
== Nice-to-have funktsioonid == | == Nice-to-have funktsioonid == | ||
Line 119: | Line 119: | ||
= Andmebaas = | = Andmebaas = | ||
[[File:EntityDesignerDiagram1.gif|center|800px|alt=Andmebaasi struktuur]] | [[File:EntityDesignerDiagram1.gif|center|800px|alt=Andmebaasi struktuur]] | ||
= Prototüüp = | |||
Meie rakenduse [https://www.dropbox.com/s/s9v7as1scou7pyu/Codezilla_proto.rar?dl=0 prototüüp] .rar arhiivina. | |||
Instruktsioone rakenduse esmaseks käivitamiseks leiab README.html failis. | |||
Seal asub ka link rakenduse täisdokumentatsioonile. | |||
Palun esmasel käivitamisel käivitage enne projekt '''TestRakendus'''. See täidab andmebaasi näidisandmetega, et funktsionaalsuse testimine oleks mugavam. | |||
Rakenduse testimiseks kasutage: | |||
'''Kasutajanimi:''' test | |||
'''Parool:''' test | |||
Rakenduse kasutaja saab: | |||
* lisada uut broneeringut | |||
* muuta olemasolevaid broneeringuid | |||
* kinnitada või kustutada broneeringuid | |||
* vaadata olemasolevate broneeringute üksikasju | |||
* lisada/muuta kliente ja nende kontaktandmeid | |||
* muuta ruumide spetsifikatsiooni ja aktiivsust | |||
* vaadata kinnitatud ja kinnitamata broneeringute nimekirja, ning filtreerida nimekirja erinevate kriteeriumite järgi | |||
* genereerida aruandeid broneerimissüsteemi tegevuse kohta. | |||
* kasutaja tegevuste logi asub failis \Konverentsikeskus\Keskus\bin\Debug\userlog.txt | |||
Prototüübis on realiseeritud kogu plaanitud funktsionaalsus. | |||
Arendusprotsessi käigus sai ilmseks, et kalendrivaade dubleerib kinnitatud broneeringute vaate funktsionaalsust, seega otsustasime kalendrivaadet rakendusest eemaldada. | |||
Arenduse käigus täienes ka andmebaasi struktuur (viimane seis on joonisel). | |||
== Prototüübi andmebaas == | |||
[[File:ProtoDB_Codezilla.PNG|center|800px|alt= Prototüübi andmebaasi struktuur]] | |||
= Lõpptoode = | |||
Meie [https://www.dropbox.com/s/lnb2j2qe1u0lu5e/KonverentsProject%20-%20v101.rar?dl=0 rakendus] .rar arhiivina. | |||
Analüüsi peatükis on <span style="color:#0000FF">sinisega</span> märgitud saavutatud eesmärgid. | |||
== Arhiivi sisu == | |||
* Rakenduse lähtekood | |||
* Andmebaasi script fail | |||
* Kasutusjuhend (inglise keeles) | |||
* Rakenduse dokumentatsioon | |||
= Arendusprotsess = | = Arendusprotsess = | ||
Line 127: | Line 176: | ||
*'''27.10.2015''' - online konverentsi abil arutletud projekti põhimõtted jagatud analüüsi osad | *'''27.10.2015''' - online konverentsi abil arutletud projekti põhimõtted jagatud analüüsi osad | ||
*'''01.11.2015''' - kirjutatud analüüs | *'''01.11.2015''' - kirjutatud analüüs | ||
* ............... - palju dokumenteerimata tööd toimus vahepeal | |||
*'''23.01.2016''' - [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_TTT_(Trellid_Teevad_Tugevaks) Retsensioon meeskonna TTT (Trellid Teevad Tugevaks) prototüübile] | |||
*'''24.01.2016''' - rakenduse prototüübi lisamine Wiki lehele. | |||
*'''29.01.2016''' - lõpptoote lisamine Wiki lehele. | |||
*'''29.01.2016''' - [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_Tarraxacum Retsensioon meeskonna Tarraxacum lõpptootele] | |||
= Lisad = | = Lisad = |
Latest revision as of 05:48, 29 January 2016
Meeskonna liikmed
- Anna Linskaja - projektijuht
- Alisa Dudinova
- Sergei Hristoforov
Idee
Konverentsikeskus. Luua online broneeringu süsteemi, mille kaudu administraator saab täita ruumi broneeringu vastavalt kliendi soovile. Süsteem kuvab sisestatud broneeringu kalendris.
Analüüs
Projekti kirjeldus
Meie rühma projekti eesmärk on luua WPF rakendus mis haldab väljamõeldud konverentsikeskuse broneeringuid, ehk on broneerimissüsteem. Rakendus on mõeldud väiksemale konverentsikeskusele, mis asendaks lõputute Exceli tabelite hulka ja pakuks konverentsikeskuse töötajale (edaspidi administraator) mugavat tööriista igapäevase töö planeerimiseks ja tööülesannete täitmiseks.
Rakenduse abil administraator sisestab ja muudab broneeringuid. Sellest saab ülevaadet konverentsikeskuse täituvusest kuupäevade ja ruumide lõikes. Baasversioonis tegemist on offline desktop-rakendusega, millele pääseb ligi vaid autoriseeritud töötaja. Täiendatud versioon võimaldaks ka kliendile online-kliendi kaudu iseseisvalt ruume broneerida. Konverentsikeskuse rakendus põhineb samal põhimõttel, mis "kodune raamatukogu".
Antud rakendus loob aluse paljudeks võimalikeks edasiarendusteks: tulevikus võib täielikult üle anda broneeringute sisestamist kliendi kätte interneti kaudu, ning samuti automatiseerida ka arvete koostamist ja tellijale saatmist. Osa edasiarendustest on üksikasjalikumalt kirjeldatud “Nice-to-have funktsioonide all”.
Kasutajate rollid
Minimaalses funktsionaalsuses süsteemi kasutajaks on ainult konverentsikeskuse administraator kes:
- Loob/muudab kliendi profiile. - tehtud
- Broneerib ruume kindlaks kuupäevaks kindla kliendi nimele. - tehtud
- Kinnitab broneeringuid, kui laekub tasu broneeringu eest. - tehtud
- Kustutab broneeringuid, kui broneeringu tasu ei ole laekunud tähtajaliselt, või kui tellija on broneeringu tühistanud. - tehtud
- Vaatab aruandeid broneeringute kohta ruumide ja kuupäevade(kalendrivaade) lõikes.- tehtud
- Aktiveerib/deaktiveerib keskuse ruume (nt. ajutine sulgemine remondi ajaks) - tehtud
Must-have funktsionaalsus
- Administraatori sisselogimis-/autentimisvorm - tehtud
- Kasutajanimi
- Salasõna
- Kliendi profiili loomise/muutmise vorm - osaliselt tehtud
- Organisatsiooni nimi
- Kontaktisiku nimi
- E-mail (kohustuslik)
- Muud kontaktandmed
- Aktiivne/Mitteaktiivne
- Ruumi informatsiooni vaade (iga ruumi kohta eraldi) - tehtud
- Ruumi nimi
- Rumi istekohad
- Aktiivne/mitteaktiivne
- Broneeringu sisestamise vorm - tehtud
- Kliendi nimi
- Ruumi nr
- Kuupäev
- Osalejate arv
- Lisainfo
- Administraatori ID
- Loomise aeg
- Kinnitatud ja kinnitamata broneeringute nimekirjade vaaded /Kronoloogiliselt loodud broneeringute tabel - tehtud
- Broneeringu ID
- Tellija nimi
- Kinnitamata broneeringu puhul võimalus (check box) broneeringut kinnitada.
- Kalendrivaade, kus on visuaalselt näha keskuse täituvus järgmiseks nädalaks või kuuks
- vt. joonist
Esialgse versiooni kitsendused
- Ligipääs rakendusele on ainult administraatoril ning administraatori infovahetus tellijaga ei kuulu rakenduse skoobi sisse.
- Ruum broneeritakse korraga terveks päevaks. Kui on mitmepäevane üritus, administraator teeb igale päevale eraldi broneeringut.
- Kuigi reaalses elus konverentsikeskuse ruumi mahutavus võib erineda sõltuvalt toolide/laudade paigaldusest, antud rakenduses ruumi mahutavus on piiratud ühe arvuga (istekohtade arv).
Võimalikud probleemid
1. Admin sisestab kaks broneeringut samale päevale ja samale ruumile. Lahendus: juba sisestamise ajal süsteem kontrollib ruumi kättesaadavust valitud päeval ja ei võimalda topelt broneerida. - lahendatud
2. Kolmandate isikute sanktsioneerimata ligipääs rakendusele. Lahendus: iga töösessiooni alguses administraator autoriseeritakse süsteemis ja igas broneeringus salvestatakse ka vastutava administraatori info. - lahendatud
3. Administraator deaktiveerib ruumi, millel on olemas broneeringud. Lahendus: deaktiveerimisel süsteem kontrollib broneeringute olemasolu ja annab administrastorile hoiatuse broneeringute nimekirjaga. - osaliselt lahendatud
4. Administraator redigeerib kliendi andmeid ja tahtlikult või kogemata kustutab kliendi profiili täielikult. Lahendus: administraatoril puudub võimalud kustutada kliendi profiili. Selle asemel kliendi profiili juures on lahter Aktiivne/Mitteaktiivne, mida saab vajaduse korral märkida. Nii tagatakse, et ka minevikus lõppenud broneeringud on seotud konkreetsete tellija andmetega. - - osaliselt lahendatud
5. Ruumi broneerimisel sisestatud osalejate arv ületab ruumi mahutavust. Lahendus: Broneeringu sisestamisel süsteem annab hoiatust mittevastavuse kohta ja pakub kaks lahendusvarianti: muuda ruumi suuremaks (kui suurem ruum on selleks kuupäevaks vaba), või paranda osalejate arvu. - - lahendatud
Nice-to-have funktsioonid
- Süsteem automaatselt genereerib ja saadab arvet esitatud broneeringu eest kliendi e-mailile.
- Süsteem saadab broneeringu kinnitust tellija e-mailile, kui administraator märgib, et tasu broneeringu eest on laekunud.
- Ruumidega koos on võimalik broneerida ka lisateenuseid: tehnika, toitlustus jms. lisavarustuse/-teenuste hind lisatakse broneeringu arvele.
- Online-klient Internetis, kus tellija saab sisestada broneeringu iseseisvalt.
- Võimalus broneerida ruumi mitmeks tunniks, mitte ainult terveks päevaks.
- Rakendus toetab allahindluste süsteemi: administraator sisestab allahindlusi reeglite kogumina ja süsteem rakendab neid arve summa kalkuleerimisel.
näiteks “Early Bird Special”: kui ruum on broneeritud varem kui 2 kuud enne üritust, klient saab 15% soodustust
- Very-nice-to-have Püsikliendi staatus. Püsiklient saab logida süsteemi sisse oma parolliga ja saada ülevaade oma aktiivsetest broneeringutest.
- Very-nice-to-have-2 graafiline liides online-kliendis, mis näitab keskuse plaani ja plaanis näitab vabu ruume määratud kuupäevale. Plaanist saab ka lisainfot iga ruumi kohta.
Võimalikud probleemid
1. Arve saatmine ei õnnestu, sest kliendi e-maili aadress on puudu või on vigane. Lahendus: teha kliendi konto loomisel e-maili lahter kohustuslikuks, ning kontrollida sisestatud onfo vastavust e-maili aadressi formaadile.
2. Võimalik on inimviga, kui administraator unustab märkimast arve summa laekumist. Lahendus: Administraatori sisselogimisel süsteemi esmase asjana tuleb ekraanile meeldetuletusaken, kust, soovi korral, saab liikuda otse kinnitamata broneeringute nimekirja.
3. Broneeringud, mille eest tasu ei ole laekunud teatud aja jooksul jäävad süsteemi. Lahendus: määrata aegumisperiood kinnitamata broneeringutele, mis on võrdne ettemaksuarve maksetähtajaga. Hoiatada administraatorit iga töösessiooni alguses samal päeval aeguvatest broneeringutest.
Tehnoloogiad
Arendusmustrid
Versioonikontroll
Koodi stiilireeglid
Litsents
Andmebaas
Prototüüp
Meie rakenduse prototüüp .rar arhiivina.
Instruktsioone rakenduse esmaseks käivitamiseks leiab README.html failis. Seal asub ka link rakenduse täisdokumentatsioonile.
Palun esmasel käivitamisel käivitage enne projekt TestRakendus. See täidab andmebaasi näidisandmetega, et funktsionaalsuse testimine oleks mugavam.
Rakenduse testimiseks kasutage:
Kasutajanimi: test
Parool: test
Rakenduse kasutaja saab:
- lisada uut broneeringut
- muuta olemasolevaid broneeringuid
- kinnitada või kustutada broneeringuid
- vaadata olemasolevate broneeringute üksikasju
- lisada/muuta kliente ja nende kontaktandmeid
- muuta ruumide spetsifikatsiooni ja aktiivsust
- vaadata kinnitatud ja kinnitamata broneeringute nimekirja, ning filtreerida nimekirja erinevate kriteeriumite järgi
- genereerida aruandeid broneerimissüsteemi tegevuse kohta.
- kasutaja tegevuste logi asub failis \Konverentsikeskus\Keskus\bin\Debug\userlog.txt
Prototüübis on realiseeritud kogu plaanitud funktsionaalsus. Arendusprotsessi käigus sai ilmseks, et kalendrivaade dubleerib kinnitatud broneeringute vaate funktsionaalsust, seega otsustasime kalendrivaadet rakendusest eemaldada.
Arenduse käigus täienes ka andmebaasi struktuur (viimane seis on joonisel).
Prototüübi andmebaas
Lõpptoode
Meie rakendus .rar arhiivina. Analüüsi peatükis on sinisega märgitud saavutatud eesmärgid.
Arhiivi sisu
- Rakenduse lähtekood
- Andmebaasi script fail
- Kasutusjuhend (inglise keeles)
- Rakenduse dokumentatsioon
Arendusprotsess
- 30.09.2015 - grupi kokkupanek
- 06.10.2015 - idee arutlemine
- 16.10.2015 - Wiki lehe loomine
- 27.10.2015 - online konverentsi abil arutletud projekti põhimõtted jagatud analüüsi osad
- 01.11.2015 - kirjutatud analüüs
- ............... - palju dokumenteerimata tööd toimus vahepeal
- 23.01.2016 - Retsensioon meeskonna TTT (Trellid Teevad Tugevaks) prototüübile
- 24.01.2016 - rakenduse prototüübi lisamine Wiki lehele.
- 29.01.2016 - lõpptoote lisamine Wiki lehele.
- 29.01.2016 - Retsensioon meeskonna Tarraxacum lõpptootele
Lisad
Lisades on toodud võimalikud programmi visuaalsed kujundused. Lõplik variant võib erineda.