Funkční model

 

 

 

*** SEZNAM UDALOSTI ***

 

- nakup - zakaznik stiskne tlacitko potvrzujici nakup zbozi v kosiku

- registrace - zakaznicky servis posila systemu udaje o registraci zakaznika

               a pozadavek o zacleneni zakaznika do databaze - F

- edit zbozi - redaktor posila systemu udaje o zbozi, ktere system zacleni

               do databaze skladu - F

- vyrizene objednavky - expeditor posila systemu potvrzeni o vyrizeni objednavky - F

- edit kont - spravce systemu zrizuje nebo rusi uzivatelska konta - F

 

- kazdou stanovenou casovou periodu se aktualizuje web - T

- kazdou stanovenou casovou periodu se generuji data pro ucetnictvi - T

- kazdy posledni pracovni den v mesici se provadi inventura -T

 

 

 

*** DIAGRAMY DATOVYVH TOKU ***

 

 

- vsechny diagramy byli vytvoreny v notavi DFD - Yourdon/DeMarco

 

- kontextovy diagram znazornuje vsechny uzivatelske role a datove toky (akce a udalosti )

  smerem do systemu a datove toky ven (reakce).  //DiagEOkd.bmp//

 

- diagram urovne 0 znazornuje datove toky tykajici se nakupu zbozi - naplnovani kosiku,

  potvrzeni kusiku - pripadnou registraci zakaznika. Dale ukazuje proces vytvoreni       objednavky a jeji zacleneni do databaze, expedici zbozi a potvrzeni vyrizeni objednavky

  a nasledny zapis zmeny do databaze skladu.  //DiagEO01.bmp//

 

- dalsi diagram znazornuje databazy uzivatelskych kont a jeji zmeny provadene spravcem   systemu, generovani statistiky pro majitele, udaju pro web a ucetnictvi a redaktorovu

  praci, tykajici se editace zbozi z naslednym zapisem zmen do databaze skladu

                                                                        //DiagEO02.bmp//

 

 

 

*** MINISPECIFIKACE ***

 

  OPERACE: nakup

  POPIS: nakup zbozi, pripadna registrace zakaznika, potrzeni nakupu

  --------------------------------------------------------------------------------

  cte: naplnovani kosiku, potvrzeni kosiku, registraci, info o zakaznikovi

  zmeny: objednavka, udaje pro registraci

  posila: potvrzeni nakupu

  vysledky: - vytvari objednavku dle nakupu zakaznika

            - posila udaje pro registraci novych zakazniku

            - potvrzuje zakaznikovi jeho objednavku 

 

###

 

  OPERACE: zakaznicke sluzby

  POPIS: prijima zadost o vypis predeslych nakupu, ktere pak vypise. potvrzuje

         registraci

  ---------------------------------------------------------------------------------

  cte: nova registrace, info o objednavkach

  posila: potvrzeni registrace, vypis nakupu

  vysledky: potvrzuje registraci a vypisuje nakupy

 

###

 

  OPERACE: pohyb zbozi

  POPIS: prijima nove objednavky a zapisuje zmeny do skladu

  ---------------------------------------------------------------------------------

  cte: nove objednavy, stav skladu

  zmeny: zbozi k expedici, zmena ve skladu

  vysledky: - pripravuje udaje o zbozi k expedici pro expeditora

            - zapisuje zmeny do skladu vyvolane vyrizenim objednavek

 

###

 

  OPERACE: statistika

  POPIS: vytvari informace o elektronickem obchode pro majitele, udaje pro web a

         ucetnictvi a infotmace pro redaktora

  ---------------------------------------------------------------------------------

  cte: stav skladu, stav zakazniku, stav objednavek, stav kont

  zmeny: udaje pro web, udaje pro ucetnictvi statistika, info o zbozi

  vysledky: - zajistuje statistiku pro majitele

            - zajistuje udaje pro web a ucetnictvi

            - zajistuje informace o zbozi pro redaktora

 

###

 

  OPERACE: edit zbozi

  POPIS: reaguje na praci redaktora aktualizaci databaze skladu

  ---------------------------------------------------------------------------------

  cte: nove zbozi, zrusit zbozi, zmena u zbozi

  zmeny: zmena zbozi

  vysledky: zapisuje zmeny u zbozi dle prace redaktora

 

 

*** DATOVY SLOVNIK ***

                      

 

DATOVY SLOVNIK PRO DATOVE TOKY

 

edit_kont = [nove_konto | zruseni_konta ]

edit_zbozi = [nove_zbozi | zrusit_zbozi | zmena_u_zbozi ]

info_o_zbozi = stav_skladu

info_pro_zakaznika = [ potvrzeni_registrace | vypis_nakupu | potvrzeni_nakupu ]

nakup = [ naplnovani_kosiku | nakup_zbozi ]

novy_zakaznik = jmeno + osobni_udaje

registrace = jmeno + idcislo + kategorie

statistika = [stav_skladu | stav_zakazniku | stav_objednavek | stav_kont ]

stav_kont = {konto}

udaje_pro_ucetnictvi = stav_objednavek

udaje_pro_web = stav_skladu + stav_kont

vyrizene_objednavky = cislo_objednavky

zbozi_k_expedici = {objednavka}

 

 

DATOVY SLOVNIK PRO PRIMITIVA

 

idcislo = petimistne_cislo

IDzakaznika = jmeno + idcislo

jmeno = prvni_jmeno + prijmeni

jmeno_zakaznika = jmeno

kategorie = [normalni_zakaznik | student | dealer1 | dealer2 | dealer3]

konto = typ_uzivatele + prijmeni + pristupove_heslo

nakup zbozi = [ potvrzeni_kosiku | zadost_vypisu ]

naplnovani_kosiku = {polozka2}

nove_konto = konto

nove_polozky = polozka1

objednavka = @cislo_objednavky + jmeno_zakaznika + adresa + {polozka2} + status_objednavky

osobni_udaje = adresa + typ_platby

potvrzeni_kosiku = [ zaregistrovani | IDzakaznika ]

potvrzeni_objednavky = objednavka

potvrzeni_registrace = registrace

status_objednavky = [ vyrizena | nevyrizena ]

stav_skladu = {polozka1}

stav_zakazniku = {zakaznik}

stav_objednavek = {objednavka}

typ_uzivatele = [expeditor | redaktor | spravce_systemu | majitel | zakaznicky_servis ]

vypis_nakupu = {objednavka}

zadost_vypisu = jmeno + idcislo + datum1 + datum2

zaregistrovani = jmeno + osobni_udaje

zmena_u_zbozi = @kod_zbozi + (kategorie_zbozi) + (popis_zbozi) + (cena)

zruseni_konta = @prijmeni

zrusit_zbozi = @kod_zbozi

 

-------

 

adresa = * adresa kam se zakaznikovi odesila zbozi *

cena = *realne cislo s presnosti dvou desetinych mist*

cislo_objednavky = * cele kladne cislo pridelene systemem *

                   * rozsah hodnot: 0 .. 999999999 *

datum = den + mesic + rok

datum1 = datum

datum2 = datum

den = [1|...|31]

kategorie_zbozi = {obec_znak}

kod_zbozi = petimistne_cislo

male_pismeno = [a|b|...|z]

mesic = [1|...|12]

mnozstvi = petimistne_cislo

obecny_znak = * libovolny znak *

petimistne_cislo = *cele kladne cislo*

                   *rozsah hodnot: 00000..99999*      

polozka1 = @kod_zbozi + kategorie_zbozi + popis_zbozi + cena + skladovane_mnozstvi

polozka2 = @kod_zbozi + kategorie_zbozi + popis_zbozi + cena + mnozstvi

popis_zbozi = {obecny_znak}

prijmeni =  {spol_znak}

pristupove_heslo = {obecny_znak}

prvni_jmeno = {spol_znak}

rok = [2000|...|2999]

skladovane_mnozstvi = petimistne_cislo

spol_znak = [velke_pismeno | male_pismeno]

typ_platby = *zpusob placeni objednavek*

velke_pismeno = [A|B|...|Z]