Carparts

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Meeskond ja tööjaotus

  • Andres Kõiv
  • Taivo Liik - Projektijuht
  • Peeter Stamberg


Laoprogramm

Lihtne Auto varuosade laoseisu program auto margiesinduse jaoks.

Repository

https://cteravcarparts.visualstudio.com/CSharpCarParts see kohe muutub, kuna TTÜ aadressiga ei saa IT Kolledži aadressile ligi

Must have:

  • Kaupade laoseis
  • Kliendi andmebaas
  • Kaupade sisse liikumine/ ostutehingud
  • Kaupade välja liikumine/ müügitehingud


Nice to have:

  • Broneerimissüsteem
  • Jupi sobivus erinevatele markidele ja mudelitele
  • Klientidele arvete väljastamise süsteem
  • Raportid ja müügi ajalugu

Kasutatav tehnoloogia:

  • C#
  • Windows Presentation Foundation
  • SQL Maria DB

Analüüs - MUST HAVE

Kaupade laoseis

Laoseis

Väljad
Olemite puhul tähistavad:
* PK (primary key),
* FK (foreign key),
* kohustuslikud väljad  - NOT NULL.
* kõigi olemite puhul on viimased väljad:
*    Kommentaar (VARCHAR(500))
*    Lisatud (DATE NOT NULL)
*    Kustutatud (DATE NOT NULL), sisestamisel on kauge kuupäev tulevikus
*    Lisaja (VARCHAR(50) NOT NULL), kes lisas (kasutajanimi)
*    Kustutaja (VARCHAR(50) NOT NULL, kes kustustas (kasutajanimi)

Olem Jupp

  • Jupp_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Jupi_number (INT)
  • Jupi_kood (VARCHAR(50))
  • Jupi_nimetus (VARCHAR(20) NOT NULL)

Olem Auto_mark (teatmik)

  • Auto_mark_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Auto_mark_nimetus (VARCHAR(20) NOT NULL)

Olem Auto_mudel

  • Auto_mudel_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Auto_mark_ID (FK INT NOT NULL)
  • Auto_mudel (VARCHAR(20) NOT NULL)

Olem Auto

  • Auto_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Auto_mark_ID (FK INT NOT NULL)
  • Auto_mark_ID (FK INT NOT NULL)
  • Auto_aasta (kohustuslik) (INT NOT NULL), mudeli aasta
  • Auto_mootor kw (kohustuslik) (INT NOT NULL)
  • Auto_mootor töömaht (INT)

Olem Auto_jupp (seos)

  • Auto_jupp_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Auto_ID (FK INT NOT NULL)
  • Jupp_ID (FK INT NOT NULL)
  • Jupp_nimetus (VARCHAR(30) NOT NULL), lühinimi

Olem Jupi_hind

  • Jupi_hind_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Auto_jupp_ID (FK INT NOT NULL)
  • Jupi_hind (DOUBLE(M,2) NOT NULL)
  • Alates (DATE NOT NULL), mis ajas hind kehtib
  • Kuni (DATE NOT NULL), mis ajani hind kehtib (alguses kuupäev kuskil kauges tulevikus)

Olem Tehing

  • Ost_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Tarnija_ID (FK INT), kellelt jupp osteti
  • Klient_ID (FK INT), kellele jupp müüdi
  • Auto_jupp_ID (FK INT NOT NULL)
  • Kogus (INT NOT NULL) ostu puhul positiivne, müügi puhul negatiivne
  • Hind (DOUBLE NOT NULL), hetkel on kõik tehingud eurodes ehk erinevate valuutadega ei arvesta
  • Aeg (DATETIME NOT NULL)

Vaade laoseis on kõikide ostude ja müükide summa soovitud ajani.

Otsing
  • Jupi number
  • Jupi kood
  • Auto mark (kohustuslik)
  • Auto mudel (kohustuslik)
  • Auto aasta (kohustuslik)
  • Auto mootor kw (kohustuslik)
  • Auto mootor töömaht

Tulemuste kuvamine

  • Jupi number
  • Jupi kood
  • Auto mark
  • Auto mudel
  • Auto aasta
  • Auto mootor kw
  • Auto mootor töömaht
  • Hind
  • Kogus

Otsing

Teostajad

  • Kasutaja
  • Süsteem

Kasutuslugu 1 - Varuosa otsimine

  • Kasutaja sisestab kohustuslikud parameetrid otsingusse
  • Kasutaja vajutab "Otsi" nupu peale
  • Süsteem kuvab tulemused lehel
    • Kui on vasteid rohkem kui 100, siis lazy loadinguga kuvatakse edasised vasted (nice to have)
    • Süsteem kuvab 100+ tulemust, täpset summat ei kuvata, kuna see on koormav baasi jaoks ja ei ole vaja sellist detailisügavust.
  • Kasutaja avab toote ja näeb toote detaile eraldi olevas aknas, kus ta leiab toote asukohta ja vajadusel saab vähendada kogust või juurde tellida.
  • Kasutuslugu lõppeb

Kliendi andmebaas

Teostajad

  • Klient
  • Kasutaja
  • Süsteem

Väljad sisestamisel

Olem Eraklient

  • Eraklient_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Staatus_ID (FK INT NOT NULL)
  • Klient_ID (INT NOT NULL), peab olema UNIQUE nii eraklientide kui äriklentide tabelit arvestades
  • Kliendi_eesnimi (VARCHAR(30) NOT NULL)
  • Kliendi_perekonnanimi (VARCHAR(50) NOT NULL)
  • Kliendi_isikukood (VARCHAR(20) NOT NULL)
  • Kliendi_aadress (VARCHAR(50) NOT NULL)
  • Kliendi_telefon (VARCHAR(15) NOT NULL)
  • Kliendi_e_post (VARCHAR(50) NOT NULL)
  • Kliendi_kasutajanimi (VARCHAR(20) NOT NULL), peab olema UNIQUE
  • Kas_soovib_eripakkumisi (INT NOT NULL) , (1 - soovib, 0-ei soovi)
  • Klient_alates (DATE NOT NULL), millal hakkas kliendiks
  • Klient_kuni (DATE NOT NULL), millal lõpetas kliendiks olemise (alguses kuupäev kauges tulevikus)

Olem Staatus

  • Staatus_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Staatuse_nimetus (VARCHAR(20) NOT NULL), nt tavaklient, vip-klient
  • Staatuse_kood (INT NOT NULL)

Olem Ariklient (Äriklient, kes võib olla nii hankija kui ka tarnija)

  • Ariklient_ID (PK INT NOT NULL AUTO_INCREMENT)
  • Klient_ID (INT NOT NULL), peab olema UNIQUE nii eraklientide kui äriklentide tabelit arvestades
  • Staatus_ID (FK INT NOT NULL)
  • AK_nimi (VARCHAR(30) NOT NULL)
  • AK_registrikood (VARCHAR(20) NOT NULL)
  • AK_aadress (VARCHAR(50) NOT NULL)
  • AK_telefon (VARCHAR(15) NOT NULL)
  • AK_e_post (VARCHAR(50) NOT NULL)
  • AK_kasutajanimi (VARCHAR(20) NOT NULL), peab olema UNIQUE
  • AK_kontaktisik (VARCHAR(500) NOT NULL), nimed, kontaktid jne
  • Kas_soovib_eripakkumisi (INT NOT NULL) , (1 - soovib, 0-ei soovi)
  • AK_alates (DATE NOT NULL), millal hakkas kliendiks
  • AK_kuni (DATE NOT NULL), millal lõpetas kliendiks olemise (alguses kuupäev kauges tulevikus)

Väljad otsingul

  • Kliendi eesnimi + kliendi perenimi (kohustuslik, kui puudub isikukood)
  • Kliendi isikukood (kohustuslik, kui puudub eesnimi + perenimi=
  • Kliendi telefon
  • Kliendi e-post

Väljad kuvamisel

  • Kliendi eesnimi
  • Kliendi perekonnanimi
  • Kliendi isikukood
  • Kliendi aadress
  • Kliendi telefon
  • Kliendi e-post
  • Kas soovib eripakkumisi
  • Kliendi ostuajalugu
  • Kliendi VIP staatus (allahindlusprotsent)

Kasutuslugu 2 - Olemasolev klient

  • Klient siseneb asutusse
  • Kasutaja küsib kliendi isikukoodi või eesnime ja perenime
  • Klient annab andmed
  • Kasutaja otsib süsteemist, kas klient eksisteerib
  • Ei - liigub edasi Kasutuslugu 3 - Uus klient
  • Jah
    • Kasutaja näeb kliendi andmeid, eelmisi oste ja soodustusi
    • Kasutaja saab lisada uue ostu kliendi arvele
  • Kasutuslugu lõppeb

Kasutuslugu 3 - Uus klient

  • Kasutaja küsib kliendi andmed, kas soovib liituda püsikliendiprogrammiga.
  • Ei - Kasutuslugu lõppeb
  • Jah
    • Kasutaja küsib kliendi andmed, kirjeldadud punktis "väljad sisestamisel"
    • Süsteem salvestab kliendi
    • Kasutaja registreerib ostu kliendi nimele
  • Kasutuslugu lõppeb

Kaupade sisse liikumine/ ostutehingud

Teostajad

  • Tarnija
  • Kasutaja
  • Süsteem

Väljad sisestamisel

Meil on kaupadeks autovaruosad (olemina Auto_jupp)

  • Kauba kood (kohustuslik)
  • Kauba kogus (kohustuslik)
  • Kauba ühiku hind (kohustuslik)
  • Kauba päritolu (tarnija) (kohustuslik)
  • Pilt
  • Kauba asukoht laos

Kasutuslugu 4 - Uue kauba registreermine

  • Kasutaja täidab ära väljad kirjeldatud peatükis "Väljad sisestamisel"
  • Süsteem täitmisel soovitab kasutajale olemasolevat toodet (nice to have)
  • Süsteem salvestab toote andmebaasi
  • Süsteem kuvab kasutajale teate
    • Edukas sisetamine - avab sisestatud toote lehe
    • Ebaõnnestunud sisestamine - kuvab väljad, mis on vale informatisooniga
    • Kui tarnija muutus, siis süsteem lisab sama toote alla uue tarnija ja uue hinna,vana tarnija kogust ei muudeta
    • Kui toode oli olemas, siis süsteem uuendab toote kogust ja hinda
  • Kasutuslugu lõppeb

Kasutuslugu 5 - Kauba müümine - laoseisu uuendamine

Teostajad

  • Kleint
  • Kasutaja
  • Süsteem

Kaupade välja liikumine/ müügitehingud

  • Kasutaja on leidnud toote vastavalt peatükis "Kasutuslugu 1 - Varuosa otsimine"
  • Kasutaja vähendab toote kogust laos
  • Kasutaja väljastab arve vastavalt toote kogusele ja hinnale süsteemi
  • Kasutaja kinnitab arve pärast müügitehingu toimumist
  • Süsteem uuendab toote kogust ja hinda
  • Kasutuslugu lõppeb

Analüüs - NICE TO HAVE

Broneerimissüsteem

Teostajad

  • Kleint
  • Kasutaja
  • Süsteem

Väljad

Väljad lisatakse "Väljad otsingul" liidesesse

  • Filter - broneeritud
  • Seis - "uus/broneeritud/otsas"

Kasutuslugu 6 - Broneerimissüsteem

  • Kasutaja on leidnud toote vastavalt peatükis "Kasutuslugu 1 - Varuosa otsimine"
  • Kasutaja broneerib toote kliendile, klient peab olema loodud peatükis "Kasutuslugu 2 - Olemasolev klient" või peatükis "Kasutuslugu 3 - Uus klient"
  • Kasutaja väljastab arve vastavalt toote kogusele ja hinnale süsteemi
  • Kasutaja seab tähtaja toote arve maksmisele
  • Süsteem salvestab maksetähtaja
  • Süsteem saadab kasutajale arve
  • Arve tähtaja lähenemisel saadab süsteem meeldetuletuse, juhul kui arve pole makstud
  • Arve maksmisel süsteem uuendab toote kogust ja hinda
  • Süsteem teavitab kasutajat, et arve on makstud
  • Kasutaja saadab varuosa kliendile, juhul kui on märgitud aadress
    • Kui pole märgitud aadress, kasutaja saadab kirja kliendile või helistab
    • Klient saab varuosa kätte
  • Süsteem uunndab laoseisu
  • Kasutuslugu lõppeb

Raportid ja müügi ajalugu

Väljad

Filtrid

  • Kuupäev alates (kohustuslik)
  • Kuupäev kuni (kohustuslik)

Väljad kuvamisel

  • Kauba kood
  • Kauba kogus
  • Kauba ühiku hind
  • Kauba päritolu (tarnija)
  • Müügi kuupäev

Teostajad

  • Kasutaja
  • Süsteem

Kasutuslugu 7 - Raportid - Müügi ajalugu

  • Kasutaja valib sobiva kuupäeva vahemiku
  • Kasutaja valib "Kuva"
  • Süsteem kuvab tulemused
  • Kasutaja valib "väjasta tulemused CSV formaadis"
  • Süsteem genereerib CSV formaadis tulemused
  • Kasutaja salvestab genereeritud faili oma arvutisse
  • Kasutaja avab faili
  • Kasutaja saab analüüsida tulemusi
  • Kasutuslugu lõppeb

Logi

  • 09.10.2017 Meeskkonna moodustamine
  • 15.10.2017 Esimene kokkusaamine ja idee paika panek
  • 21.10.2017 Wiki lehe loomine ning esimesed sissekanded
  • 30.10.2017 Loodi peatükk analüüs ja kirjeldati ära 3 esimest kasutuslugu
  • 31.10.2017 Eemaldati "Uue kauba tutvustamise moodul" kuna see on kaetud "Kasutuslugu 4 - Uue kauba registreermine", lisati kasutuslood 4,5,6,7. Eemaldati "Jupi sobivus erinevatele markidele ja mudelitele" kuna on kaetud "Väljad otsingul". Eemaldati " Klientidele arvete väljastamise süsteem" kuna on kaetud "Kaupade välja liikumine/ müügitehingud".
  • 02.11.2017 Lisati esialgsed olemite kirjeldused