Kassarakendus: Difference between revisions
Created page with "Category:Programmeerimine CSharp keeles (2016) == Meeskond ja rollid == * Mikk Sarapuu - projektijuht * Meelis Sääsk * Piret Pomerants == Idee == Lihtne kassarakendus k..." |
|||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Programmeerimine CSharp keeles (2016)]] | [[Category:Programmeerimine CSharp keeles (2016)]] | ||
== Meeskond ja rollid == | == Meeskond ja rollid == | ||
* Mikk Sarapuu - projektijuht | * Mikk Sarapuu - projektijuht | ||
Line 7: | Line 8: | ||
== Idee == | == Idee == | ||
Lihtne kassarakendus koos vastavate andmebaasidega müügi teostamiseks, raportite genereerimiseks ning müügistatistika päringuks. | Lihtne kassarakendus koos vastavate andmebaasidega müügi teostamiseks, raportite genereerimiseks ning müügistatistika päringuks. | ||
=== Põhivaate näide === | |||
[[File:Kassa2016.jpg|500px]] | |||
== Tehnoloogia == | == Tehnoloogia == | ||
Line 12: | Line 16: | ||
* C# | * C# | ||
* Windows Presentation Foundation | * Windows Presentation Foundation | ||
== Analüüs == | |||
=== Rakenduse kirjeldus === | |||
Projekti eesmärk on luua lihtsasti kasutatav kassarakendus, mis koosneb müüja jaoks loodud kasutajaliidesest ja elementaarsest laohaldussüsteemist. Seega on see rakendus mõeldud pigem väiksemale ettevõttele, näiteks kohvik või väiksem pood. | |||
Rakenduses saab teostada müüki, mille jaoks on loodud interaktiivne kasutajaliides. Kasutajaliideses on näha tootekategooriad ja tooted nuppude näol. Tehingu käigus saab vastavatele tootenuppudele vajutades luua ostukorvi ja tooteid sinna juurde lisada. Ostukorvi kinnitamisel salvestatakse ostetud tooted andmebaasi tehingute tabelisse. Igal müüjal on rakenduses näha oma profiil (kontaktandmed, töötunnid, käive müüja kohta). Kasutajaliideses on otsingu võimalus toote koodi ja nime järgi. Andmebaasi saab lisada tootekategooriaid, uusi tooteid, püsikliente. | |||
Lattu saab tooteid ja kategooriad lisada läbi kasutajaliidese. Samuti saab muuta toote infot või tooteid kustutada. Rakenduses saab kuvada erinevaid andmeid müügistatistika kohta (nt jooksva kuu käive, päevakäive). | |||
Tegemist on töölauarakendusega. | |||
=== Funktsionaalsus === | |||
==== Must have ==== | |||
1. On võimalik end kasutajaks registreerida. | |||
2. Registreerunud kasutaja saab sisse ja välja logida. | |||
3. Rakenduses saab andmebaasi lisada erinevaid kirjeid: | |||
* tootekategooriad | |||
* tooted | |||
* kliendid | |||
* müüjad | |||
* müügitehingud. | |||
4. Rakenduses on nähtavad erinevad andmebaasipäringud: | |||
* müügistatistikad | |||
* toodete päring vastavalt toote nimele, koodile või tootekategooriale. | |||
5. Rakenduse põhivaates on näha kategoorianupud, millele vajutades kuvatakse vastava kategooria tootenupud. Kategoorianuppudel on peal ainult nimi ning tootenuppudel on lisaks nimele ka hind. | |||
6. Sisse ja välja logimisel peab müüja sisestama kassas oleva sularaha summa. | |||
7. Müüja saab tootenupule vajutades lisada vastava toote ostukorvi. Ostukorvist saab tooteid kustutada. Vastavalt ostukorvi muutustele muutub ka ostukorvi all nähtav tehingu maksumuse summa. Ostukorvis saab muuta toote kogust. Ostukorvi saab tühistada, millega tühjendatakse selle sisu. Ostukorvi kinnitamisel sooritatakse tehing. | |||
8. Tehingu sooritamisel saab valida maksetüübi. Sularahamakse korral arvutatakse kliendile tagasi makstav raha. Kaardimakse puhul tagasi makstav raha on 0. | |||
9. Rakenduse sees on toodete otsingu võimalus, mis kuvab sisestatud sümboli kombinatsioone sisaldavaid tooteid. Otsing põhineb toote nimetusel või koodil. | |||
==== Nice to have ==== | |||
1. Kui arvuti on ühendatud triipkoodilugejaga, ei pea tooteotsing käima läbi otsingulahtri. | |||
2. Kasutaja sisse logimisel küsitakse, kas soovitakse päeva avada. Juhul, kui keegi müüjatest on päeva juba avanud, siis järgmiselt kasutajalt seda ei küsita. Mis tähendab, et järgmine müüja ei pea sisse logimisel sisestama kassas olevat rahasummat. Päeva lõpetab ainult üks kasutaja. Järgmisel sisse logimisel peab uuesti päeva avama. | |||
3. Päeva avamisel ja lõpetamisel on võimalus sisestada kõik kassas olevad rahatähed eraldi ja rakenduses tagastatakse lõplik rahasumma. See lihtsustaks müüja jaoks kassa lugemist. | |||
4. Tehingu sularahaga maksmisel kuvatakse spetsiaalne kalkulaator rahatähtede nuppudega (nt 10€, 20€). Sel juhul ei pea müüja käsitsi sisestama summat. | |||
5. Rakendus võiks ette teavitada, kui mingi toode hakkab otsa saama. | |||
6. Päeva sulgemisel väljastatakse detailne müügiraport, mida võiks muuta atraktiivsemaks näiteks diagrammide kuvamisega. | |||
7. Maksmisel tekib võimalus maksmise asemel saata kliendile arve meilile. | |||
8. Kui kasutaja on olnud rakenduses mitteaktiivne, siis logitakse kasutaja automaatselt välja. | |||
9. Kasutajaliides võiks välja näha atraktiivne. | |||
=== Võimalikud probleemid === | |||
1. Turvaline autentimine. | |||
2. Andmebaasist pärimine, mis on seotud statistika kujutamisega. | |||
3. Ilusa disaini loomine, et rakendus ei näeks puine välja. | |||
4. Ajapuudus. | |||
== Prototüüp == | |||
[https://drive.google.com/open?id=0B7mHgwBiWPuNZ016RlhMck8zbW8 Siin] | |||
== Lõpptoode == | |||
[https://drive.google.com/open?id=0B7mHgwBiWPuNWlZsWDdzSDNqZWs Siin] | |||
===Kasutajajuhend=== | |||
1. Rakenduse kasutamiseks peab olema registreeritud kasutajaks. Tühja andmebaasi puhul tuleb andmebaasi tabelisse “Clerk” lisada otse uus kasutaja ja soovitavalt määrataja kasutajarolliks “admin”. Sellisel juhul on kasutajal õigused kõikidele rakenduse funktsioonidele. Kindlasti tuleb jätta tabeli “Clerk” veergu “To” NULL väärtus. Vastasel juhul poleks tegu aktiivse kasutajaga. | |||
2. Rakenduse saab käima panna projekti kaustas olevast ''shortcut''-st “Kassarakendus.exe – Shortcut” või käivitada programm Visual Studio kaudu. | |||
3. Logi rakendusse sisse andmebaasitabelis “Clerk” oleva aktiivse kasutajaga. Sisselogimiseks vajuta nuppu “Logi sisse”. | |||
4. Pärast rakendusse sisse logimist tuleb sisestada kassas olevate rahatähtede kogused. Sellega avatakse päev. Kui päev on juba eelnevalt avatud, siis pärast uuesti sisse logimist raha lugemist ei toimu. | |||
5. Peale seda avaneb tühi vaade toodete kategooriatest. Uue kategooria lisamiseks vajutada sümboliga “+” nupule. Avaneb vaade, kus saad lisada uue kategooria. Lisa uus kategooria. | |||
6. Sisestatud kategooria nägemiseks vajuta tagasi nupule “<”. Vajutades kategooria nupule avaneb tühi vaade vastava kategooria toodetest. Uue toote lisamine toimub samas vaates, kus kategooria lisamine. | |||
7. Peavaate üleval paremas nurgas on otsinguväli toodete otsimiseks. Tooteid otsitakse nii nime kui ka tootekoodi järgi. | |||
8. Vajutades peavaatel inimese siluetiga nupule avaneb vaade, kus saab müüjaid ja kliente lisada, otsida, kustutada. | |||
9. Müügi alustamiseks tuleb lisada vähemalt üks toode ostukorvi, vajutades vastava toote nupule. Toode ilmub ostukorvi vaatesse. Ostukorvis saab toote real olevale nupule “x” vajutades kustutada toodet. Kogu ostukorvi tühistamiseks vajutada nupule “Tühista”. Ostutehinguga saab ka siduda kliendi minnes kliendiinfo vaatesse. Valida nimekirjast klient ning linnukesega nupule vajutades siduda klient tehinguga. Ostukorvi vaatesse ilmub kliendi nimi, allahindlusprotsent ning ostukorvi summa arvutatakse ümber. | |||
10. Ostukorvi kinnitamiseks vajutada nupule “Maksa”. Ilmub vaade, kus määrata maksmistüüp (sularaha- või kaardimakse). Siin saab arvutada kliendile tagasimakstava sularaha summa. Kaardimakse korral on tagasimakstav summa automaatselt 0. Makse kinnitamiseks vajutada linnukesega nupule ning tühistamiseks x-nupule. | |||
11. Vajutades nupule “Sulge päev” tuleb sisestada kassas olevate rahatähtede kogused. Päev suletakse ning kasutaja logitakse välja. Ilma päeva sulgemiseta saab välja logida vajutades peavaates üleval vasakus nurgas sisse loginud kasutaja nimele või sulgedes rakenduse aken. | |||
== Arendusprotsess == | == Arendusprotsess == | ||
*'''10.10.2016''' - Idee teostuse arutelu, wiki lehe loomine | *'''10.10.2016''' - Idee teostuse arutelu, wiki lehe loomine | ||
*'''15.10.2016''' - Mõnede vaadete loomine | |||
*'''24-30.10.2016''' - Teenime boonust (andmebaasi loomine, kategooriate, toodete lisamine, toodete otsimine) | |||
*'''01.11.2016''' - Analüüsi kirjutamine | |||
*'''05-06.11.2016''' - Ostukorvi loomise funktsioon | |||
*'''08.11.2016''' - Analüüsi retsensiooni kirjutamine | |||
*'''17.11.2016''' - Sisse logimise funktsioon, klientide ja kasutajate lisamine | |||
*'''18.11.2016''' - Rakenduse välimuse disainimine | |||
*'''24.11.2016''' - Ostutehingute salvestamine andmebaasi | |||
*'''27.11.2016''' - Prototüübi esitamine | |||
*'''08.12.2016''' - Päeva avamise ja sulgemisega seotud funktsioonid ja vaated | |||
*'''16.12.2016''' - Koodi silumine ja edasise töökäigu planeerimine | |||
*'''30.12.2016''' - Kliendi sidumine ostutehinguga | |||
*'''07.01.2017''' - Ostukorvi funktsionaalsuse täiendamine | |||
*'''08.01.2017''' - Koodi silumine ja kommenteerimine | |||
*'''11.01.2017''' - Dokumentatsiooni koostamine, juhuslikult leitud bug'i parandamine | |||
*'''16-17.01.2017''' - Müügistatistika funktsionaalsuse lisamine | |||
*'''21.01.2017''' - Koodi silumine ja bug'ide parandamine | |||
*'''23.01.2017''' - Lõpptoote esitamine |
Latest revision as of 18:10, 23 January 2017
Meeskond ja rollid
- Mikk Sarapuu - projektijuht
- Meelis Sääsk
- Piret Pomerants
Idee
Lihtne kassarakendus koos vastavate andmebaasidega müügi teostamiseks, raportite genereerimiseks ning müügistatistika päringuks.
Põhivaate näide
Tehnoloogia
Kasutatav tehnoloogia:
- C#
- Windows Presentation Foundation
Analüüs
Rakenduse kirjeldus
Projekti eesmärk on luua lihtsasti kasutatav kassarakendus, mis koosneb müüja jaoks loodud kasutajaliidesest ja elementaarsest laohaldussüsteemist. Seega on see rakendus mõeldud pigem väiksemale ettevõttele, näiteks kohvik või väiksem pood. Rakenduses saab teostada müüki, mille jaoks on loodud interaktiivne kasutajaliides. Kasutajaliideses on näha tootekategooriad ja tooted nuppude näol. Tehingu käigus saab vastavatele tootenuppudele vajutades luua ostukorvi ja tooteid sinna juurde lisada. Ostukorvi kinnitamisel salvestatakse ostetud tooted andmebaasi tehingute tabelisse. Igal müüjal on rakenduses näha oma profiil (kontaktandmed, töötunnid, käive müüja kohta). Kasutajaliideses on otsingu võimalus toote koodi ja nime järgi. Andmebaasi saab lisada tootekategooriaid, uusi tooteid, püsikliente. Lattu saab tooteid ja kategooriad lisada läbi kasutajaliidese. Samuti saab muuta toote infot või tooteid kustutada. Rakenduses saab kuvada erinevaid andmeid müügistatistika kohta (nt jooksva kuu käive, päevakäive). Tegemist on töölauarakendusega.
Funktsionaalsus
Must have
1. On võimalik end kasutajaks registreerida.
2. Registreerunud kasutaja saab sisse ja välja logida.
3. Rakenduses saab andmebaasi lisada erinevaid kirjeid:
- tootekategooriad
- tooted
- kliendid
- müüjad
- müügitehingud.
4. Rakenduses on nähtavad erinevad andmebaasipäringud:
- müügistatistikad
- toodete päring vastavalt toote nimele, koodile või tootekategooriale.
5. Rakenduse põhivaates on näha kategoorianupud, millele vajutades kuvatakse vastava kategooria tootenupud. Kategoorianuppudel on peal ainult nimi ning tootenuppudel on lisaks nimele ka hind.
6. Sisse ja välja logimisel peab müüja sisestama kassas oleva sularaha summa.
7. Müüja saab tootenupule vajutades lisada vastava toote ostukorvi. Ostukorvist saab tooteid kustutada. Vastavalt ostukorvi muutustele muutub ka ostukorvi all nähtav tehingu maksumuse summa. Ostukorvis saab muuta toote kogust. Ostukorvi saab tühistada, millega tühjendatakse selle sisu. Ostukorvi kinnitamisel sooritatakse tehing.
8. Tehingu sooritamisel saab valida maksetüübi. Sularahamakse korral arvutatakse kliendile tagasi makstav raha. Kaardimakse puhul tagasi makstav raha on 0.
9. Rakenduse sees on toodete otsingu võimalus, mis kuvab sisestatud sümboli kombinatsioone sisaldavaid tooteid. Otsing põhineb toote nimetusel või koodil.
Nice to have
1. Kui arvuti on ühendatud triipkoodilugejaga, ei pea tooteotsing käima läbi otsingulahtri.
2. Kasutaja sisse logimisel küsitakse, kas soovitakse päeva avada. Juhul, kui keegi müüjatest on päeva juba avanud, siis järgmiselt kasutajalt seda ei küsita. Mis tähendab, et järgmine müüja ei pea sisse logimisel sisestama kassas olevat rahasummat. Päeva lõpetab ainult üks kasutaja. Järgmisel sisse logimisel peab uuesti päeva avama.
3. Päeva avamisel ja lõpetamisel on võimalus sisestada kõik kassas olevad rahatähed eraldi ja rakenduses tagastatakse lõplik rahasumma. See lihtsustaks müüja jaoks kassa lugemist.
4. Tehingu sularahaga maksmisel kuvatakse spetsiaalne kalkulaator rahatähtede nuppudega (nt 10€, 20€). Sel juhul ei pea müüja käsitsi sisestama summat.
5. Rakendus võiks ette teavitada, kui mingi toode hakkab otsa saama.
6. Päeva sulgemisel väljastatakse detailne müügiraport, mida võiks muuta atraktiivsemaks näiteks diagrammide kuvamisega.
7. Maksmisel tekib võimalus maksmise asemel saata kliendile arve meilile.
8. Kui kasutaja on olnud rakenduses mitteaktiivne, siis logitakse kasutaja automaatselt välja.
9. Kasutajaliides võiks välja näha atraktiivne.
Võimalikud probleemid
1. Turvaline autentimine.
2. Andmebaasist pärimine, mis on seotud statistika kujutamisega.
3. Ilusa disaini loomine, et rakendus ei näeks puine välja.
4. Ajapuudus.
Prototüüp
Lõpptoode
Kasutajajuhend
1. Rakenduse kasutamiseks peab olema registreeritud kasutajaks. Tühja andmebaasi puhul tuleb andmebaasi tabelisse “Clerk” lisada otse uus kasutaja ja soovitavalt määrataja kasutajarolliks “admin”. Sellisel juhul on kasutajal õigused kõikidele rakenduse funktsioonidele. Kindlasti tuleb jätta tabeli “Clerk” veergu “To” NULL väärtus. Vastasel juhul poleks tegu aktiivse kasutajaga.
2. Rakenduse saab käima panna projekti kaustas olevast shortcut-st “Kassarakendus.exe – Shortcut” või käivitada programm Visual Studio kaudu.
3. Logi rakendusse sisse andmebaasitabelis “Clerk” oleva aktiivse kasutajaga. Sisselogimiseks vajuta nuppu “Logi sisse”.
4. Pärast rakendusse sisse logimist tuleb sisestada kassas olevate rahatähtede kogused. Sellega avatakse päev. Kui päev on juba eelnevalt avatud, siis pärast uuesti sisse logimist raha lugemist ei toimu.
5. Peale seda avaneb tühi vaade toodete kategooriatest. Uue kategooria lisamiseks vajutada sümboliga “+” nupule. Avaneb vaade, kus saad lisada uue kategooria. Lisa uus kategooria.
6. Sisestatud kategooria nägemiseks vajuta tagasi nupule “<”. Vajutades kategooria nupule avaneb tühi vaade vastava kategooria toodetest. Uue toote lisamine toimub samas vaates, kus kategooria lisamine.
7. Peavaate üleval paremas nurgas on otsinguväli toodete otsimiseks. Tooteid otsitakse nii nime kui ka tootekoodi järgi.
8. Vajutades peavaatel inimese siluetiga nupule avaneb vaade, kus saab müüjaid ja kliente lisada, otsida, kustutada.
9. Müügi alustamiseks tuleb lisada vähemalt üks toode ostukorvi, vajutades vastava toote nupule. Toode ilmub ostukorvi vaatesse. Ostukorvis saab toote real olevale nupule “x” vajutades kustutada toodet. Kogu ostukorvi tühistamiseks vajutada nupule “Tühista”. Ostutehinguga saab ka siduda kliendi minnes kliendiinfo vaatesse. Valida nimekirjast klient ning linnukesega nupule vajutades siduda klient tehinguga. Ostukorvi vaatesse ilmub kliendi nimi, allahindlusprotsent ning ostukorvi summa arvutatakse ümber.
10. Ostukorvi kinnitamiseks vajutada nupule “Maksa”. Ilmub vaade, kus määrata maksmistüüp (sularaha- või kaardimakse). Siin saab arvutada kliendile tagasimakstava sularaha summa. Kaardimakse korral on tagasimakstav summa automaatselt 0. Makse kinnitamiseks vajutada linnukesega nupule ning tühistamiseks x-nupule.
11. Vajutades nupule “Sulge päev” tuleb sisestada kassas olevate rahatähtede kogused. Päev suletakse ning kasutaja logitakse välja. Ilma päeva sulgemiseta saab välja logida vajutades peavaates üleval vasakus nurgas sisse loginud kasutaja nimele või sulgedes rakenduse aken.
Arendusprotsess
- 10.10.2016 - Idee teostuse arutelu, wiki lehe loomine
- 15.10.2016 - Mõnede vaadete loomine
- 24-30.10.2016 - Teenime boonust (andmebaasi loomine, kategooriate, toodete lisamine, toodete otsimine)
- 01.11.2016 - Analüüsi kirjutamine
- 05-06.11.2016 - Ostukorvi loomise funktsioon
- 08.11.2016 - Analüüsi retsensiooni kirjutamine
- 17.11.2016 - Sisse logimise funktsioon, klientide ja kasutajate lisamine
- 18.11.2016 - Rakenduse välimuse disainimine
- 24.11.2016 - Ostutehingute salvestamine andmebaasi
- 27.11.2016 - Prototüübi esitamine
- 08.12.2016 - Päeva avamise ja sulgemisega seotud funktsioonid ja vaated
- 16.12.2016 - Koodi silumine ja edasise töökäigu planeerimine
- 30.12.2016 - Kliendi sidumine ostutehinguga
- 07.01.2017 - Ostukorvi funktsionaalsuse täiendamine
- 08.01.2017 - Koodi silumine ja kommenteerimine
- 11.01.2017 - Dokumentatsiooni koostamine, juhuslikult leitud bug'i parandamine
- 16-17.01.2017 - Müügistatistika funktsionaalsuse lisamine
- 21.01.2017 - Koodi silumine ja bug'ide parandamine
- 23.01.2017 - Lõpptoote esitamine