Carparts: Difference between revisions
From ICO wiki
Jump to navigationJump to search
(12 intermediate revisions by the same user not shown) | |||
Line 41: | Line 41: | ||
* FK (foreign key), | * FK (foreign key), | ||
* kohustuslikud väljad - NOT NULL. | * 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) | * Jupp_ID (PK INT NOT NULL AUTO_INCREMENT) | ||
* Jupi_number (INT) | * Jupi_number (INT) | ||
* Jupi_kood (VARCHAR(50)) | * Jupi_kood (VARCHAR(50)) | ||
* Jupi_nimetus (VARCHAR(20) NOT NULL) | * Jupi_nimetus (VARCHAR(20) NOT NULL) | ||
Olem Auto_mark (teatmik) | |||
* Auto_mark_ID (PK INT NOT NULL AUTO_INCREMENT) | * Auto_mark_ID (PK INT NOT NULL AUTO_INCREMENT) | ||
* Auto_mark_nimetus (VARCHAR(20) NOT NULL) | * Auto_mark_nimetus (VARCHAR(20) NOT NULL) | ||
Olem Auto_mudel | |||
* Auto_mudel_ID (PK INT NOT NULL AUTO_INCREMENT) | * Auto_mudel_ID (PK INT NOT NULL AUTO_INCREMENT) | ||
* Auto_mark_ID (FK INT NOT NULL) | * Auto_mark_ID (FK INT NOT NULL) | ||
* Auto_mudel (VARCHAR(20) NOT NULL) | * Auto_mudel (VARCHAR(20) NOT NULL) | ||
Olem Auto | Olem Auto | ||
Line 80: | Line 70: | ||
* Auto_mootor kw (kohustuslik) (INT NOT NULL) | * Auto_mootor kw (kohustuslik) (INT NOT NULL) | ||
* Auto_mootor töömaht (INT) | * Auto_mootor töömaht (INT) | ||
Olem Auto_jupp (seos) | |||
* Auto_jupp_ID (PK INT NOT NULL AUTO_INCREMENT) | * Auto_jupp_ID (PK INT NOT NULL AUTO_INCREMENT) | ||
* | * Auto_ID (FK INT NOT NULL) | ||
* Jupp_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===== | =====Otsing===== | ||
Line 136: | Line 135: | ||
* Süsteem | * Süsteem | ||
===Väljad sisestamisel=== | ===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=== | ===Väljad otsingul=== | ||
Line 188: | Line 216: | ||
===Väljad sisestamisel=== | ===Väljad sisestamisel=== | ||
Meil on kaupadeks autovaruosad (olemina Auto_jupp) | |||
* Kauba kood (kohustuslik) | * Kauba kood (kohustuslik) | ||
* Kauba kogus (kohustuslik) | * Kauba kogus (kohustuslik) | ||
Line 280: | Line 310: | ||
* 30.10.2017 Loodi peatükk analüüs ja kirjeldati ära 3 esimest kasutuslugu | * 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". | * 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 |
Latest revision as of 14:05, 2 November 2017
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