Agraarbeib/Analyys

From ICO wiki
Revision as of 22:23, 1 November 2016 by Mtrubets (talk | contribs)
Jump to navigationJump to search

Projekti “Talupood” analüüs

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 2 kasutajat. Tavakasutajal pole toodete sirvimiseks kasutajakontot tarvis, ent enne tellimuse vormistamist on kasutajal vaja 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 kõik vajalikud kasutaja poolt sooritatud tegevused - näit ostukorvi koostamine, tellimuse esitamine, toodete lisamine jne. 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 (klient)
  • Toodete nimekirja sirvimine talust lähtuvalt (klient ja kasutaja)
  • Ostukorvi koostamine erinevate toodete lisamise teel (klient)
  • Ostukorvi vaatamine ja muutmine (klient)
  • Ostukorvi tellimuseks muutmine (klient)
  • Toodete lisamine (kasutaja)
  • Toodete koguste haldamine (kasutaja)
  • Toodete kustutamine (arhiveerimine) (kasutaja)
  • Tellimuste vaatamine (kasutaja)
  • Tellimuste kinnitamine (kasutaja)
  • Talude haldamine (kasutaja)
  • Sisselogimine, ülal mainitud tegevuste sooritamiseks (kasutaja)

Lisafunktsionaalsus:

  • Kasutajakonto loomine (kasutaja)
  • Kasutajakonto muutmine (kasutaja)
  • Tellimuste jälgimine (klient)
  • Tellimuste ajaloo jälgimine (klient ja kasutaja)
  • Sisselogimine kliendina (klient)
  • Lao haldus (kasutaja)
  • Raamatupidamislikud raportid (kasutaja)
  • Maksete teostamine (klient)
  • Soodustuste haldamine (kasutaja)
  • Uudiste lugemine RSSina (klient ja kasutaja)









Kasutajaliidese prototüüp