Agraarbeib/Analyys

From EIK wiki


Projekti “Talupood” analüüs

Anaüüsi koostas: Agraarbeib


Idee

Rakenduse eesmärgiks on võimaldada ühelt poolt kasutajal sooritada talutoodete tellimusi ühest või mitmest talust ning teisalt taluomanikel müüa ja hallata müügilaos olevaid tooteid ning tellimusi.


Tavakasutajal on võimalus teostada järgnevaid tegevusi:

  • Toodete nimekirja sirvimine tootest lähtuvalt (MH)
  • Toodete nimekirja sirvimine talust lähtuvalt (MH)
  • Ostukorvi koostamine erinevate toodete lisamise teel (MH)
  • Ostukorvi vaatamine ja muutmine (MH)
  • Ostukorvi tellimuseks muutmine (MH)
  • Tellimuste jälgimine (NTH)
  • Kasutajakonto loomine (NTH)
  • Sisselogimine, et tellimust esitada (NTH)


Taluomanikul ehk tootjal on võimalus teostada järgnevaid tegevusi:

  • Toodete lisamine (NTH)
  • Toodete koguste haldamine (MH)
  • Toodete kustutamine (arhiveerimine) (NTH)
  • Tellimuste vaatamine (MH)
  • Tellimuste kinnitamine (MH)
  • Kasutajakonto loomine (MH)
  • Talude haldamine (MH)
  • Sisselogimine, ülal mainitud tegevuste sooritamiseks (NTH)

Kasutatud lühendid: MH - must have, NTH - nice to have.


Rakendus

Esialgne rakendus on planeeritud valmistada WPF raamistikku kasutades, mis tähendab, et rakenduse toimimiseks peab see olema kasutaja arvutis. Rakendusel saab olema mitu visuaalset vaadet, mille kaudu kasutaja tegevusi sooritab. Rakendusel saab olema vaikimisi 3 kasutajat (registreerimata kasutaja (anonüümne ostja), registreeritud klient (ostja) ning registreeritud talupidaja (müüja)). Toodete sirvimiseks ei ole kasutajakontot tarvis, ent enne tellimuse vormistamist saab tellija sisestada kontaktandmed, et tellimust kinnitada. Taluomaniku ehk müüja poolelt on toodete ja tellimuste halduseks vajalik kasutajakonto olemasolu ning läbi autentimise ka enese tuvastamine. Rakendus kasutab andmebaasi, kuhu salvestatakse vajalikud kasutajate poolt sooritatud tegevused (näiteks ostukorvi koostamine, tellimuse esitamine, toodete lisamine jms). Teisalt toimub andmebaasist ka andmete lugemine ning nende kuvamine. Avalehele minnes avaneb vaade Maalehe uudisvoole.


Andmemudel

Vajalik andmemudel rakenduse toimimiseks: [Vertabelo]


Andmemudeli koostamisel lähtusime minimaalsetest nõuetest, mille olemasolul kõik põhifunktsioonid toimivad ning kasutaja saab etteantud tegevusi ellu viia.

Andmemudel koosneb järgnevatest tabelitest:

1. Talu

  • Tabel hoiab endas andmeid tooteid müüvate talude kohta.

2. Talu_toode

  • Tabel hoiab endas iga talu toodete nimekirja.

3. Talu_kasutaja

  • Tabel hoiab endas seoseid talude ja kasutajate vahel.
  • Kasutajal võib olla mitu hallatavat talu.
  • Ühel talul on üks kasutaja.

4. Kasutaja

  • Tabel hoiab endas erinevate kasutajate andmeid.

5. Roll

  • Tabel hoiab endas rollide nimekirja.

6. Toode

  • Tabel hoiab endas erinevate unikaalsete toodete nimekirja.

7. Tellimus_kasutaja

  • Tabel hoiab endas tellimuse teinud kasutaja andmeid juhul, kui tellimust ei esitanud anonüümne kasutaja (sisselogimata kasutaja).

8. Tellimus

  • Tabel hoiab endas tellimuste nimekirja ning ajalugu.

9. Tellimus_toode

  • Tabel hoiab endas konkreetse tellimusega seotud toote andmeid.


Funktsionaalsus

Põhifunktsionaalsus

  • Toodete nimekirja sirvimine tootest lähtuvalt (kõik kasutajad)
  • Toodete nimekirja sirvimine talust lähtuvalt (kõik kasutajad)
  • Ostukorvi koostamine erinevate toodete lisamise teel (ostja ja anonüümne ostja)
  • Ostukorvi vaatamine ja muutmine (ostja ja anonüümne ostja)
  • Ostukorvi tellimuseks muutmine (ostja ja anonüümne ostja)
  • Toodete lisamine (müüja)
  • Toodete koguste haldamine (müüja)
  • Toodete kustutamine (arhiveerimine) (müüja)
  • Tellimuste vaatamine (registreeritud kasutajad)
  • Tellimuste kinnitamine (müüja)
  • Talude haldamine (müüja)
  • Sisselogimine, ülal mainitud tegevuste sooritamiseks (regisreeritud kasutajad)


Lisafunktsionaalsus

  • Kasutajakonto loomine (kõik kasutajad)
  • Kasutajakonto muutmine (kõik kasutajad)
  • Tellimuste jälgimine (registreeritud kasutajad)
  • Tellimuste ajaloo jälgimine (registreeritud kasutajad)
  • Sisselogimine kliendina (ostja)
  • Lao haldus (müüja)
  • Raamatupidamislikud raportid (müüja)
  • Maksete teostamine (ostja ja anonüümne ostja)
  • Soodustuste haldamine (müüja)
  • Uudiste lugemine RSSina (kõik kasutajad)


Kasutajaliidese prototüüp

Kasutajaliidese ekraanivaated

Rakendusel on 3 tüüpi kasutajaid: regisreeritud ning registreerimata ostjad ja talupidajad ehk müüjad. Järgnevalt esitatakse kasutajaliidese prototüübi ekraanivaated erinevate kasutajaprofiilide kaupa.


Kasutaja: registreerimata ostja

Registreerimata kasutaja muid toiminguid rakenduses teha ei saa.


Kasutaja: registreeritud ostja

Vaated "Uudised", "Tooted", "Talud" ning "Minu ostud" > "Ostukorv" on regisreeritud ja regisrteerimata ostjatel identsed, mistõttu ei hakata neid vaateid siinkohal uuesti esitama.

Ostjad muid toiminguid rakenduses teha ei saa.


Kasutaja: registreeritud müüja

Vaade "Uudised" on nii ostjatel kui müüjatel identsed, mistõttu ei esitata siin avalehe vaadet uuesti.


Kasutajalood

Registreeritud ja registreerimata ostjad

Toodete sirvimine:

  • Kasutajal on võimalik tooteid leida vajutades hiirega põhivaates toodete nupule, mille tulemusena kuvatakse poes müüdavate toodete nimekiri.
  • Teise võimalusena saab tooteid kuvada talude kaupa, vajutades põhivaates talude nupule.
  • Neis vaadetes ei kuvata tooteid, millel laoseis puudub.
  • Nimekiri kuvatakse galeriina, vaikimisi on lehel 9 toodet. Kui tooteid on rohkem, kuvatakse nimekirja all lingid järgmistele/eelmistele lehekülgedele.


Toodete ostukorvi lisamine:

  • Toodete ostukorvi lisamiseks peab kasutaja olema toodete nimekirja lehel ning valitud toote juures vajutama "lisa korvi" nuppu. Nupu vajutamisel lisatakse toodet ostukorvi vaikimisi 1 ühik.
  • Nupu igal järgmisel vajutamisel suurendatakse vastava toote kogust ostukorvis.
  • Tootest täpsema kirjelduse saamiseks saab kasutaja liikuda toote lehele, kus kuvatakse selle täpsem kirjeldus.
  • Ka tootelehel on võimalik toodet ostukorvi lisada.


Ostukorvi haldamine:

  • Ostukorvis kuvatakse varem ostukorvi lisatud tooted ja valitud kogused.
  • Koguseid saab vajadusel suurendada/vähendada või toodet ostukorvist eemaldada.
  • Ostukorvi tellimuse vormistamiseks, peab klient ostukorvi sisu kinnitama, kasutades selleks "KINNITA" nuppu.
  • Selle tulemusel jaotatakse tellimuses olevad tooted talude vahel ära ja koostatakse alamtellimused taludele.
  • Ostukorvi on võimalik puhastada, vajutades "Tühjenda" nuppu.


Müüjad (talupidajad)

Talude haldamine:

  • Kasutaja saab sisselogides valida, millise talu kasutaja ta on (juhul, kui kasutaja on seotud mitme taluga).
  • Talu andmete muutmiseks tuleb valida vastava talu profiil, vajutades "Talu" ja seejärel valides muudetava talu.
  • Andmete sisestamise järgselt toimub andmete valideerimine ja selle õnnestumise korral andmed salvestatakse.
  • Talu lisamine toimub "Lisa uus talu" nupu abil "Talu" vaates.


Toodete haldamine:

  • Toodete lisamiseks tuleb minna "Toodete nimekiri" lehele.
  • Toote lisamiseks tuleb eelmainitud lehel valida "Lisa uus toode".
  • Toote andmete juures saab valida toote kategooria ning lisada toote nime ning kirjelduse ja laoseisu.
  • Tooteandmete salvestamisel valideeritakse andmed ning selle õnnestumisel andmed salvestatakse.
  • Toote aktiveerimiseks/ deaktiveerimiseks tuleb avada vastav toode ning täita/ tühjendada märkeruut (ing k checkbox) ja tegevus salvestada.
  • Toote laoseisu muutmiseks tuleb avada vastava toote leht ning uuendada kogust ja tegevus salvestada.


Tellimuste haldamine:

  • Tellimuste haldamiseks tuleb avada "Tellimused" lehekülg.
  • Tellimuste nimekirjas kuvatakse tellimused koos tunnuste staatuste ja kuupäevaga.
  • Tellimuste vaatamiseks tuleb konkreetne tellimus avada sellel klikkides.
  • Tellimuse lehel kuvatakse tellimusega seotud toodete andmed ning tellija andmed.
  • Tellimuse saab määrata täidetuks, kui eelnev staatus pole tühistatud.
  • Tellimuse saab tühistada, kui tellimus pole täidetud.
  • Tühistatud tellimust ei saa taastada.


Mis võib osutuda problemaatiliseks?

Projekti skoop võib osutuda liiga suureks, sest kesise kogemusega arendajatel on planeerimise faasis projekti (või selle osade) realiseerimiseks kuluvat aega keerukas hinnata ning mitmed detailid või ettetulevad probleemid võivad olla jäänud tähelepanuta. Võib juhtuda, et ei jõuta realiseerida mõnda Must have funktsionaalsust.


Tööjaotus

Idee algatajaks oli meie rühmas Kaia Runthal.
Rollid on jaotunud järgmiselt:
Kaia Runthal - wiki, analüüs, projektijuht, arendus
Marianne Trubetskoi - wiki, kasutajaliides, analüüs, arendus
Taavi Tilk - analüüs, arendus
Mihkel Matson - analüüs ja selle vormistamine, arendus


[Agraarbeib meeskonna koduleht]