Upload
wuskrbic
View
291
Download
5
Embed Size (px)
Citation preview
F@M F@M Fakultet za menadžment Novi Sad, Vase Stajića 6
Paralelni inženjeringprodaje preko interneta u DOO „Mamma Mia“
Novi Sad, Februar 2010.godine
Predmetni profesor: Student:Prof. dr Marko Popović Ivana Petrović 24/06-3
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
SADRŽAJ:
1. Naziv i sedište firme.......................................................................................................3
1.1. Delokrug rada firme....................................................................................................3
1.2. Podsistem „Prodaja preko interneta“.........................................................................3
2. Analiza realnog sistema (podsistema Prodaja preko intertneta).....................................4
2.1. Klasifikaciona struktura Realnog sistema DOO Mamma Mia..................................4
2.2. Dijagram Konteksta RS..............................................................................................5
2.3. Relaciona struktura RS (Podsistem Prodaja preko interneta).....................................6
2.4. Dinamička struktura-Slučajevi primene (use cases)...................................................7
2.5. Struktura relacija.........................................................................................................8
2.6. Dijagram toka podataka RS- Obrada zahteva.............................................................9
2.6.1. Logicka struktura tokova......................................................................................10
2.6.2. Struktura skladišta podataka.................................................................................11
2.7. Dijagram toka podataka RS- Provera mogućnosti ispunjenja zahteva.....................12
2.7.1. Logicka struktura tokova......................................................................................13
2.7.2. Struktura skladišta podataka.................................................................................14
3. Ciljevi razvoja i projektovanja......................................................................................15
4. Logička struktura tokova podataka...............................................................................17
5. Pseudo kodovi :.............................................................................................................18
6. Softverska realizacija IS...............................................................................................20
6.1. Programska realizacija podsistema...........................................................................20
6.2. Realizacija skladišta podataka :................................................................................33
7. Testiranje softverske aplikacije.....................................................................................40
2
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-31.
2. Naziv i sedište firme
DOO “Mamma Mia” Trg Galerija 14.Novi Sad
1.1. Delokrug rada firme
DOO „Mamma Mia“ je osnovan davne 1991. godine i za to vreme uspeli su da osvojimo lidersko mesto u Novom Sadu i Vojvodini u prodaji ekskluzivne obuće, garderobe i kožne galanterije od Italijanskih firmi Modaruggi, Toscablu, Lucky, Don Dup ...
Prodajni lanac sadrži pet prodajnih mesta na ekskluzivnim lokacijama , četiri u Novom Sadu i jedna novootvoren u Beogradu u TC Rodić. Postali su brend u Novom Sadu i Vojvodini, pa je želja i cilj da osvojimo i Beogradsko tržište. Prvi rezultati su izvanredni.
U toku je implementacija elektronskog poslovanja tj. prodaja robe preko interneta.
Iz knjiga utisaka se može zaključiti da su mušterije prezadovoljne asortimanom i ljubaznom uslugom u prodavnicama
1.2. Podsistem „Prodaja preko interneta“
Podsistem „Prodaj preko interneta“ predstavlja kariku između klijenata (kupaca) i ostalih posistema DOO „Mamma Mia“.Njegova osnovna namena je omogućavanje klijetima web kupovinu, tj. kupovinu iz fotelje ali i sagledavanje želja i ukusa tržišta.
3
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2. Analiza realnog sistema (podsistema Prodaja preko intertneta)
2.1. Klasifikaciona struktura Realnog sistema DOO Mamma Mia
MAMMA MIA
DIREKTOR
KNJIGOVODSTVO BANKA
RUKOVODSTVO
NABAVLJAČ KLIJENT
ADMINIST. RADNIK
VOZAČ
POSLOVOĐE RADNJI
TRGOVINA
PRODAVCIADMIN.WEB PORTALA
ADMINISTRACIJA
ZAPOSLENI WEB PORTAL
MAGACINRADNJE
LAGER LISTA
4
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.2. Dijagram Konteksta RS
0 Mamma Mia
Prodaja preko interneta Pošta
Dostava robe i Račun
Web Klijent
Lager lista
E-Mail_Narudžbenica Obaveštenje/ Predračun
Ažuriranje L.l.
Podaci sa stanju robe na zalihama
BankaUplata na račun
5
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.3. Relaciona struktura RS (Podsistem Prodaja preko interneta)
Lager lista
Uplata
Provera po narudžbenici
Predračun
Nalog za dostavu
Web Klijent E-mail narudzbenica
Odgovor o proveri
Obaveštenje o nemogućnosti ispunjenja zahteva
Web portalPRODAJA
PREKO INTERNETA
Ponuda robe preko web sajta
Administracija
Ažuriranje lager liste
Ažuriranje web sajta
Roba i račun
6
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.4. Dinamička struktura-Slučajevi primene (use cases)
Web Klijent se preko Ponuda robe preko web sajta upoznaje sa nuđenom robom sa Web portalaWeb Klijent prilikom odabira podnosi E-mail naružbenicu Web portaluWeb portal iz E-mail naružbenice se proverava vrstu, boju, veličinu i količinu robe (Provera po narudžbenici) na Lager lista Lager lista šalje odgovor (Odgovor o proveri) Web portalu
Možemo dobiti dva odgovora:Slučaj 1
Lager lista šalje odgovor (Odgovor o proveri) Web portalu da ne postoji tražena roba na lageru.
Web portal šalje Obaveštenje o nemogućnosti ispunjenja zahteva Web klijentu
Web portal pravi listu neuspelih narudžbi
Slučaj 2
Web portal šalje Predračun Web Klijentu
Web portal šalje Nalog za dostavu Administraciji koja vrši Rezervaciju
Web Klijent vrši uplatu koju dostavlja Administraciji.
Administracija nakon Uplate vrši Dostava robe sa računom Web Klijentu
Administracija vrši Ažuriranje lager liste (Lager lista)
Nezavisno od svih ovih dešavanjava :Administracija vrši Ažuriranje Web sajta u zavisnosti o stanju/vrsti robe na Lager listi
7
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.5. Struktura relacija
Relacija_E-mail_Narudžbenica (IDNarudzbenica, EPrezime, EIme, Ejmbg, EUlica, EBroj, EMesto, Etelefon,Email, EArtikl,Eveličina,Eboja)
Relacija_Predračun(PŠifNarudž, PPrezime, PIme, PJmbg ,PUlica, PBroj, PMesto, PArtikl,Pveličina,Pboja,Pkoličina,Pcena, PUSuma)
Relacija_Provera_uplate (PrŠifNarudž, PrIme, PrPrezime ,PrUSuma)
8
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.6. Dijagram toka podataka RS- Obrada zahteva
E-mail narudžbenica
1 PRODAJA
Obrada zahtevaKLIJENT
D0 Narudžba
D6 Odgovori
D7 Klijenti
Odgovor
9
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.6.1. Logička struktura tokova
Tok_ E-mail narudžbenica (IDNarudzbenica, EPrezime, EIme, Ejmbg, EUlica, EBroj, EMesto, Etelefon,Email, EArtikl,Eveličina,Eboja)
Tok_odgovor (O_ IDNarudzbenica, O_Klijent, O_Artikl, O_veličina,O_boja , O_Datum, O_Odgovor)
10
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.6.2. Struktura skladišta podataka
Narudžba (IDNarudzbenica(C8), S_Klijent(C6), Datum(DATE),EArtikl(N10),Eveličina(N2),Eboja(C10)Primarni ključ IDNarudzbenica
Odgovori (IDNarudzbenica (C8), S_Klijent(C6), EArtikl(N10), Eveličina(N2), Eboja(C10), Datum(DATE), Odgovor(C30))
Primarni ključ IDNarudzbenica
Klijenti (S_Klijent(C6), Ime(C15) , Prezime(C20), Telefonlijenta(N 12,0), JMBG(C13),e_mail(C30),Ulica(C20),Broj(N3),Mesto(C20))
Primarni ključ S_Klijent
11
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.7. Dijagram toka podataka RS- Provera mogućnosti ispunjenja zahteva
Provera po narudžbi
E-mail narudžbenica
1 PRODAJA
Obrada zahtevaKLIJENT
D0 Narudžba
D6 Odgovori
D7 Klijenti
Odgovor
2 PRODAJALAGER LISTA
D1 Lager Lista
Odgovor LL
12
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.7.1. Logicka struktura tokova
Tok_ E-mail narudžbenica (IDNarudzbenica, EPrezime, EIme, Ejmbg, EUlica, EBroj, EMesto, Etelefon,Email, EArtikl,Eveličina,Eboja)
Tok_odgovor (O_ IDNarudzbenica, O_Klijent, O_Artikl, O_veličina,O_boja , O_Datum, O_Odgovor)
Tok_ Provera po narudžbi (IDNarudzbenica, EArtikl,Eveličina,Eboja)
Tok_odgovor LL (O_ IDNarudzbenica, O_Datum, O_Odgovor)
13
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
2.7.2. Struktura skladišta podataka
Narudžba (IDNarudzbenica(C8), S_Klijent(C6), Datum(DATE),EArtikl(N10),Eveličina(N2),Eboja(C10)Primarni ključ IDNarudzbenica
Odgovori (IDNarudzbenica (C8), S_Klijent(C6), EArtikl(N10), Eveličina(N2), Eboja(C10), Datum(DATE), Odgovor(C30))
Primarni ključ IDNarudzbenica
Klijenti (S_Klijent(C6), Ime(C15) , Prezime(C20), TelefonKlijenta(N 12,0), JMBG(C13),e_mail(C30),Ulica(C20),Broj(N3),Mesto(C20))
Primarni ključ S_Klijent
Lager Lista (LagerListaID(C8), EArtikl(N10), Eveličina(N2), Eboja(C10), ERezervisano(Yes/No), Edatum_R(DATE))Primarni ključ LagerListaID
14
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
3. Ciljevi razvoja i projektovanja
Cilj projektovanja ovog sistema je radi reklamiranja firme i mogućnosti boljeg uvida u izbor artikala.Danas veliki broj ljudi koristi internet radi dobijanja informacija koje su im potrebne, a našim sajtom oni bi imali uvid u naš velik izbor modela.Samim tim mi dobijamo veći broj kupaca koji će doći do radnje i kupiti odabrani model, a ako ovaj projekat zaživi moći će kupovati tu istu robu preko interneta..
15
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Narudžbenica i osn. podaci o Web Klijentu
Neupela Narudž.
Narudžbe
Osnovni podaci
Predračun
Web Klijent
1.5Provera uplate
1.1Uzmi podatke o naruč. robi
1.2Provera da li postoji roba
Dijagram toka podataka
Pozitivan odgovor i Predračun
Šifra artikla,
veličina, boja i
količina
Izveštaj o postojanosti
Obaveštenje o nemogućnosti ispunjenja zahteva
Podaci o robi iz Računa
Račun i roba
D2 Predračuni
Ime Klijenta i suma uplate
Izveštaj o poredjenju uplate i predračuna
Uplata
D1 Lager lista
1.7Ažuriraj lager listu
skladišta
Rezerviši robu iz predračuna
1.3Napravi predračun
1.6Napravi račun i
spakuj robu
Račun i roba
1.4Provera zastarelih
PredračunaAžuriranje spiska
Lista zastarelih predračuna
Otkazivanje rezervacije robe iz Predračuna
D3 Lista neuspelih narudž.
D5 Lista faktura D4 Plaćeni predračuni
Račun i roba
Podaci o robi iz Predračuna
Generisanje računa
D0 Narudžbe
D6 Odgovori
D7 Klijenti
Uspešna Narudž.
D7 Klijenti
16
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
4. Logička struktura tokova podataka
Tok_ E-mail narudžbenica (IDNarudzbenica, EPrezime, EIme, Ejmbg, EUlica, EBroj, EMesto, Etelefon,Email, EArtikl,Eveličina,Eboja)
Tok_ Predračun (IDNarudzbenica, PPrezime, PIme, PJmbg ,PUlica, PBroj, PMesto, PArtikl,Pveličina,Pboja,Pkoličina,Pcena,PUSuma)
17
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
5. Pseudo kodovi :- PK 1.2Provera u Lager listi
Get NarudzbuTraži Artikl u Lager listiIf postoji Artikl
If postoji Boja, Veličina i Količina Get detalje Artikl
ElsePošalji obaveštenje o nemogućnosti ispunjenja
Put Artikl u Listu neuspelih narudžbiEnd if
Else Pošalji obaveštenje o nemogućnosti ispunjenja Put Artikl u Listu neuspelih narudžbi
End ifEnd
- PK 1.4Provera zastarelih Predračuna
Traži Datum u Spisku PredračunaIf (Datum iz Spiska Predračuna+10 dana)<= Today(Datum)
Get Predračun Oslobodi Lager Listu po stavkama iz Predračuna
End
18
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
- PK 1.5Provera Uplate
Traži Ime_Klijenta u Spisku PredračunaIf postoji Ime_Klijenta
If Uplaćena_Suma=Suma_PredračunGet Predračun
ElseObaveštenje o nepostojanju takvog Predračuna (Postoji Klijent ne postoji Suma-Proveriti sa Administracijom)
EndElse Obaveštenje o nepostojanju takvog Klijenta u PredračunaimaEnd
19
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
3. Softverska realizacija IS
3.1. Programska realizacija podsistema- programski code (VBA):
Form: EmailNarudzba
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_EmailNarudzba"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database111213141516 Private Sub Command34_Click()17 Refresh18 If (IsNumeric([ImaLiNarudzbi subform].Form!CountOfIDEmailNarudzbenica)) Then19 If ([ImaLiNarudzbi subform].Form!CountOfIDEmailNarudzbenica > 0) And
(IsNumeric(Me.BrojNarudzbe)) Then20 Me.ww = 121 Me.ImaNarudzbe = "Da"22 DoCmd.Save23 End If24 ElseIf (IsNumeric(Me.BrojNarudzbe)) Then25 Me.ww = 026 Me.ImaNarudzbe = "Ne"27 Beep28 MsgBox "Imate gresku u unosu", vbExclamation, "UPOZORENJE"29 End If30 End Sub3132 Private Sub Command9_Click()33 On Error GoTo Err_Command9_Click343536 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer703738 Exit_Command9_Click:39 Exit Sub4041 Err_Command9_Click:42 MsgBox Err.Description43 Resume Exit_Command9_Click44 45 End Sub46 Private Sub Command14_Click()47 On Error GoTo Err_Command14_Click484950 DoCmd.Close5152 Exit_Command14_Click:53 Exit Sub5455 Err_Command14_Click:56 MsgBox Err.Description57 Resume Exit_Command14_Click
20
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
59 End Sub6061626364 Private Sub Command28_Click()65 On Error GoTo Err_Command28_Click666768 DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer7069 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer707071 Exit_Command28_Click:72 Exit Sub7374 Err_Command28_Click:75 MsgBox Err.Description76 Resume Exit_Command28_Click77 78 End Sub798081 Private Sub Form_Current()82 Refresh83 If (IsNumeric([ImaLiNarudzbi subform].Form!CountOfIDEmailNarudzbenica)) Then84 If ([ImaLiNarudzbi subform].Form!CountOfIDEmailNarudzbenica > 0) And
(IsNumeric(Me.BrojNarudzbe)) Then85 Me.ww = 186 Me.ImaNarudzbe = "Da"87 End If88 ElseIf (IsNumeric(Me.BrojNarudzbe)) Then89 Me.ww = 090 Me.ImaNarudzbe = "Ne"91 End If92 End Sub
Form: Klijent subform
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_Klijent subform"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database1112 Private Sub Command18_Click()13 Command24_Click14 If (Not IsNull(Me.IDKlijenta)) Then15 Forms!EmailNarudzba!IDKlijenta = Me!IDKlijent16 End If17 'Forms!EmailNarudzba![Narudzba subform].Form!IdArtikla = 218 End Sub1920 Private Sub Command21_Click()21 On Error GoTo Err_Command21_Click222324 Screen.PreviousControl.SetFocus25 DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer702627 Exit_Command21_Click:28 Exit Sub2930 Err_Command21_Click:
21
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
32 Resume Exit_Command21_Click33 34 End Sub35 Private Sub Command22_Click()36 On Error GoTo Err_Command22_Click373839 DoCmd.GoToRecord , , acNewRec4041 Exit_Command22_Click:42 Exit Sub4344 Err_Command22_Click:45 MsgBox Err.Description46 Resume Exit_Command22_Click47 48 End Sub49 Private Sub Command24_Click()50 On Error GoTo Err_Command24_Click515253 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer705455 Exit_Command24_Click:56 Exit Sub5758 Err_Command24_Click:59 MsgBox Err.Description60 Resume Exit_Command24_Click61 62 End Sub63 Private Sub Command25_Click()64 On Error GoTo Err_Command25_Click656667 DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer7068 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer706970 Exit_Command25_Click:71 Exit Sub7273 Err_Command25_Click:74 MsgBox Err.Description75 Resume Exit_Command25_Click76 77 End Sub
Form: Naslovna
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_Naslovna"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database1112 Private Sub Command26_Click()13 On Error GoTo Err_Command26_Click141516 DoCmd.Quit1718 Exit_Command26_Click:19 Exit Sub2021 Err_Command26_Click:
22
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
23 Resume Exit_Command26_Click24 25 End Sub
Form: PregledRezervisanih
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_PregledRezervisanih"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database1112 Private Sub Command11_Click()13 On Error GoTo Err_Command11_Click141516 Screen.PreviousControl.SetFocus17 DoCmd.FindNext1819 Exit_Command11_Click:20 Exit Sub2122 Err_Command11_Click:23 MsgBox Err.Description24 Resume Exit_Command11_Click25 26 End Sub2728 Private Sub RezObav_Click()2930 On Error GoTo RezObav_Click_Err31 DoCmd.OpenQuery "OznaciNegativnePretrage", acViewNormal, acEdit32 DoCmd.OpenQuery "OznacireRezervacije", acViewNormal, acEdit33 If (Me.brojArtikala = Me.BrUsp) And (Me.brojArtikala > 0) Then34 ' Ako je broj artikala u Narudzbenici jednak broju artikala u selektovanom
delu iz Lager liste , a da pri tom taj broj veci od 0 tada smo uspesno odradili Rezervaciju
za celu narudzbenicu i saljemo pozitivan odgovor sa predracunom
35 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 236 DoCmd.OpenQuery "DodajUPredracun", acViewNormal, acEdit37 ElseIf (Me.brojArtikala > Me.BrUsp) And (Me.BrUsp > 0) Then38 ' Ako je broj artikala iy Narudzbenice veci od broja artikala selektovanih iz
Lagerliste, a da pri tom broj selektovanih iz LL je veci od 0, tada smo delimicno odradili
rezervaciju. Tako oznacimi tu narudzbu a selektovane artikle stavljamo upredracun i
saljemo delimicno pozitivan odgovor.39 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 740 DoCmd.OpenQuery "DodajUPredracun", acViewNormal, acEdit41 Else42 ' Ako nije nista od gore ponudjenog onda je Negativan odgovor tj
Narudzbenicu ne mozemo ispostovani i saljemo takav odgovor.
43 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 444 DoCmd.OpenReport "Negativan Odgovor", acViewPreview, "", "", acNormal45 46 ' DoCmd.SendObject acReport, "Negativan Odgovor",
"SnapshotFormat(*.snp)", Me.EMail, "", "", "Odgovor Mamma Mia", "Postovani", False, ""
47 48 49
23
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
51 Me.DatumObrade = Date52 Refresh535455 RezObav_Click_Exit:56 Exit Sub5758 RezObav_Click_Err:59 MsgBox Error$60 Resume RezObav_Click_Exit616263646566676869 End Sub
Form: Rezervacija
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_Rezervacija"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database1112 Private Sub Command11_Click()13 On Error GoTo Err_Command11_Click141516 Screen.PreviousControl.SetFocus17 DoCmd.FindNext1819 Exit_Command11_Click:20 Exit Sub2122 Err_Command11_Click:23 MsgBox Err.Description24 Resume Exit_Command11_Click25 26 End Sub2728 Private Sub RezObav_Click()2930 On Error GoTo RezObav_Click_Err31 Forms!Rezervacija![EmailNarudzba subform].Form!DatumObrade = Date323334 If Me.Stanje = 1 Then35 DoCmd.OpenQuery "OznaciNegativnePretrage", acViewNormal, acEdit36 DoCmd.OpenQuery "OznacireRezervacije", acViewNormal, acEdit37 If (Me.brojArtikala = Me.BrUsp) And (Me.brojArtikala > 0) Then38 ' Ako je broj artikala u Narudzbenici jednak broju artikala u selektovanom
delu iz Lager liste , a da pri tom taj broj veci od 0 tada smo uspesno odradili Rezervaciju
za celu narudzbenicu i saljemo pozitivan odgovor sa predracunom
39 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 240 DoCmd.OpenQuery "PozivPredracun", acViewNormal, acEdit41 DoCmd.OpenQuery "DodajUPredracun", acViewNormal, acEdit42 DoCmd.OpenReport "Pozitivan Odgovor", acViewPreview, "", "", acNormal43 ElseIf (Me.brojArtikala > Me.BrUsp) And (Me.BrUsp > 0) Then44 ' Ako je broj artikala iz Narudzbenice veci od broja artikala selektovanih iz
24
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Lagerliste, a da pri tom broj selektovanih iz LL je veci od 0, tada smo delimicno odradili
rezervaciju. Tako oznacimi tu narudzbu a selektovane artikle stavljamo u predracun i
saljemo delimicno pozitivan odgovor.45 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 746 DoCmd.OpenQuery "PozivPredracun", acViewNormal, acEdit47 DoCmd.OpenQuery "DodajUPredracun", acViewNormal, acEdit48 DoCmd.OpenReport "Pozitivan Odgovor", acViewPreview, "", "", acNormal49 Else50 ' Ako nije nista od gore ponudjenog onda je Negativan odgovor tj
Narudzbenicu ne mozemo ispostovani i saljemo takav odgovor.
51 Forms!Rezervacija![EmailNarudzba subform].Form!Stanje = 452 DoCmd.OpenReport "Negativan Odgovor", acViewPreview, "", "", acNormal53 54 55 56 End If5758 Refresh59 Requery60 Refresh6162 End If63 RezObav_Click_Exit:64 Exit Sub6566 RezObav_Click_Err:67 MsgBox Error$68 Resume RezObav_Click_Exit697071727374757677 End Sub78 Private Sub Command37_Click()79 On Error GoTo Err_Command37_Click808182 DoCmd.Close8384 Exit_Command37_Click:85 Exit Sub8687 Err_Command37_Click:88 MsgBox Err.Description89 Resume Exit_Command37_Click90 91 End Sub
Form: RezPredracuni
Code1 VERSION 1.0 CLASS2 BEGIN3 MultiUse = -1 'True4 END5 Attribute VB_Name = "Form_RezPredracuni"6 Attribute VB_GlobalNameSpace = False7 Attribute VB_Creatable = True8 Attribute VB_PredeclaredId = True9 Attribute VB_Exposed = False
10 Option Compare Database11 Option Explicit12
25
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
14 On Error GoTo Err_Command20_Click151617 Screen.PreviousControl.SetFocus18 DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer701920 Exit_Command20_Click:21 Exit Sub2223 Err_Command20_Click:24 MsgBox Err.Description25 Resume Exit_Command20_Click26 27 End Sub28 Private Sub Command23_Click()29 On Error GoTo Err_Command23_Click303132 DoCmd.Close3334 Exit_Command23_Click:35 Exit Sub3637 Err_Command23_Click:38 MsgBox Err.Description39 Resume Exit_Command23_Click40 41 End Sub
- Macro
Macro: Macro1
ActionsName Condition Action Argument Value
SetValue Item: [Forms]![EmailNarudzba]![IDKlijenta]
Expression: [Forms]![Klijent subform]![IDKlijenta]
Macro: Macro2
ActionsName Condition Action Argument Value
GoToRecord Object Type: Form
Object Name: EmailNarudzbaRecord: NewOffset:
Macro: Macro3
ActionsName Condition Action Argument Value
SetValue Item: [Forms]![Rezervacija]![EmailNarud
26
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
zba subform].[Form]![Stanje]
Expression: 5
Macro: Max
ActionsName Condition Action Argument Value
Maximize
Macro: Novi
ActionsName Condition Action Argument Value
GoToRecord Object Type: Table
Object Name: KlijentRecord: NewOffset:
Macro: OpenRez
ActionsName Condition Action Argument Value
OpenForm Form Name: Rezervacija
View: FormFilter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: OpenUnosNar
Name Condition Action Argument Value
OpenForm Form Name: EmailNarudzba
27
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Filter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: Otvori Artikle
ActionsName Condition Action Argument Value
OpenForm Form Name: Artikal
View: FormFilter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: OtvoriLL
ActionsName Condition Action Argument Value
OpenForm Form Name: Lager Lista Full
View: FormFilter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: PokreniUpMakro
ActionsName Condition Action Argument Value
OpenQuery Query Name: OznaciNegativnePretrage
View: DatasheetData Mode: Edit
OpenQuery Query Name: OznacireRezervacije
View: DatasheetData Mode: Edit
Macro: POSALJI
ActionsName Condition Action Argument Value
SendObject Object Type: Report
Object Name: Negativan OdgovorOutput Format: SnapshotFormat(*.snp)To: =[Reports]![Negativan
28
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Odgovor]![EMail]Cc: Bcc: Subject: OdgovorMessage Text: Postovani,Edit Message: NoTemplate File:
Macro: Pregled
ActionsName Condition Action Argument Value
OpenForm Form Name: RezPredracuni
View: FormFilter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: PregledSvih
ActionsName Condition Action Argument Value
OpenForm Form Name: PregledRezervisanih
View: FormFilter Name: Where Condition: Data Mode: -1Window Mode: Normal
Macro: Proveri
ActionsName Condition Action Argument Value
OpenQuery Query Name: ImaLiNarudzbi
View: DatasheetData Mode: Edit
- Query SQL
Query: BrojacTrazenih
SQLSELECT Narudzba.IDEmailNarudzbenica, Count(Narudzba.IDEmailNarudzbenica) AS CountOfIDEmailNarudzbenicaFROM NarudzbaGROUP BY Narudzba.IDEmailNarudzbenica;
Query: BrojacUspesnih29
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
SQLSELECT ProveriDaLiMoze.IDEmailNarudzbenica, Count(ProveriDaLiMoze.IDEmailNarudzbenica)
AS CountOfIDEmailNarudzbenicaFROM ProveriDaLiMozeGROUP BY ProveriDaLiMoze.IDEmailNarudzbenica;
Query: DodajUPredracun
SQLINSERT INTO [Predracun-lista] ( IDPredracun, IDNarudzbe, Boja, Velicina, Marka, Suma, Artikal )SELECT Predracun.IDPredracun, Narudzba.IDEmailNarudzbenica, Narudzba.Boja,
Narudzba.Velicina, Artikal.Marka, Artikal.Cena, Narudzba.IdArtiklaFROM Artikal INNER JOIN (Predracun INNER JOIN Narudzba ON Predracun.IDNarudzbe=Narudzba.IDEmailNarudzbenica) ON
Artikal.IDArtikla=Narudzba.IdArtiklaGROUP BY Predracun.IDPredracun, Narudzba.IDEmailNarudzbenica, Narudzba.Boja,
Narudzba.Velicina, Artikal.Marka, Artikal.Cena, Narudzba.Stanje, Narudzba.ID, Narudzba.IdArtiklaHAVING (((Narudzba.IDEmailNarudzbenica)=Forms!Rezervacija!BrojNaru) And
((Narudzba.Stanje)=8));
Query Parameters
Name TypeForms!Rezervacija!BrojNaru Text
Query: ImaLiNarudzbi
SQLSELECT Narudzba.IDEmailNarudzbenica, Count(Narudzba.IDEmailNarudzbenica) AS CountOfIDEmailNarudzbenica, EmailNarudzba.BrojNarudzbeFROM EmailNarudzba LEFT JOIN Narudzba ON EmailNarudzba.BrojNarudzbe=Narudzba.IDEmailNarudzbenicaGROUP BY Narudzba.IDEmailNarudzbenica, EmailNarudzba.BrojNarudzbe
Query Parameters
Name TypeForms!EmailNarudzba!BrojN Textarudzbe
Query: Lager Lista Full
SQLSELECT LagerLista.*, Artikal.Marka, Artikal.Vrsta, Artikal.CenaFROM LagerLista INNER JOIN Artikal ON LagerLista.IDArtikla=Artikal.IDArtikla;
Query: OsnovniPodaci
SQLSELECT EmailNarudzba.BrojNarudzbe, EmailNarudzba.Datum, Klijent.EIme, Klijent.EPrezime, Klijent.Ejmbg, Klijent.EUlica, Klijent.EBroj, Klijent.EMesto, Klijent.ETelefon, Klijent.EMailFROM Klijent RIGHT JOIN EmailNarudzba ON Klijent.IDKlijent=EmailNarudzba.IDKlijentaKWHERE (((EmailNarudzba.BrojNarudzbe)=Forms!Rezervacija!BrojNaru));
30
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Query Parameters
Name TypeForms!Rezervacija!BrojNaru Text
Query: OsnovniPodaciPredracun
SQLSELECT EmailNarudzba.BrojNarudzbe, EmailNarudzba.Datum, Klijent.EIme, Klijent.EPrezime, Klijent.Ejmbg, Klijent.EUlica, Klijent.EBroj, Klijent.EMesto, Klijent.ETelefon, Klijent.EMail, Predracun.IDPredracun, Predracun.IDNarudzbeFROM Predracun INNER JOIN (Klijent RIGHT JOIN EmailNarudzba ON Klijent.IDKlijent=EmailNarudzba.IDKlijentaK) ON
Predracun.IDNarudzbe=EmailNarudzba.BrojNarudzbeWHERE (((EmailNarudzba.BrojNarudzbe)=Forms!Rezervacija!BrojNaru));
Query Parameters
Name TypeForms!Rezervacija!BrojNaru Text
Query: OznaciNegativnePretrage
SQLUPDATE Narudzba LEFT JOIN LagerLista ON (Narudzba.IdArtikla = LagerLista.IDArtikla) AND (Narudzba.Boja = LagerLista.IDBoja) AND (Narudzba.Velicina = LagerLista.Velicina) SET
Narudzba.Stanje = 4, Narudzba.DatumObrade = Date()WHERE (((Narudzba.IDEmailNarudzbenica)=[Forms]![Rezervacija]![BrojNaru]) AND
((LagerLista.IDArtikla) Is Null) AND ((LagerLista.IDBoja) Is Null) AND ((LagerLista.Velicina) Is Null));
Query Parameters
Name Type[Forms]![Rezervacija]![BrojN Textaru]
Query: OznacireRezervacije
SQLUPDATE Narudzba INNER JOIN LagerLista ON (Narudzba.IdArtikla = LagerLista.IDArtikla) AND (Narudzba.Boja = LagerLista.IDBoja) AND (Narudzba.Velicina = LagerLista.Velicina) SET
Narudzba.Stanje = 8, Narudzba.DatumObrade = Date(), LagerLista.RezervisanoKomada =
[RezervisanoKomada]+1WHERE (((Narudzba.IDEmailNarudzbenica)=[Forms]![Rezervacija]![BrojNaru]) AND (([Kolicina]-[RezervisanoKomada])>0));
Query Parameters
Name Type[Forms]![Rezervacija]![BrojN Textaru]
Query: PozivPredracun
31
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
SQLINSERT INTO Predracun ( IDNarudzbe, IDKlijent, Ukupno )SELECT EmailNarudzba.BrojNarudzbe, EmailNarudzba.IDKlijentaK, Sum(Artikal.Cena) AS
SumOfCenaFROM (EmailNarudzba LEFT JOIN Narudzba ON EmailNarudzba.BrojNarudzbe=Narudzba.IDEmailNarudzbenica) LEFT JOIN Artikal ON Narudzba.IdArtikla=Artikal.IDArtiklaGROUP BY EmailNarudzba.BrojNarudzbe, EmailNarudzba.IDKlijentaK, EmailNarudzba.Stanje, Narudzba.Stanje
Query Parameters
Name TypeForms!Rezervacija!BrojNaru Text
Query: Predd
SQLSELECT EmailNarudzba.BrojNarudzbe, Predracun.IDPredracun, Predracun.Artikal,
Predracun.SumaFROM EmailNarudzba INNER JOIN Predracun ON EmailNarudzba.BrojNarudzbe =
Query Parameters
Name TypePredracun.Artikal TextPredracun.Suma Text
Query: Predracun1
SQLSELECT [Predracun-lista].IDPredracun, [Predracun-lista].IDNarudzbe, [Predracun-lista].Artikal,
[Predracun-lista].Suma, [Predracun-lista].Velicina, [Predracun-lista].Marka, Vrsta.Vrsta, Boja.BojaFROM Boja RIGHT JOIN (Vrsta RIGHT JOIN ([Predracun-lista] LEFT JOIN Artikal ON [Predracun-lista].Artikal=Artikal.IDArtikla) ON Vrsta.IDVrsta=Artikal.Vrsta) ON Boja.IDBoja=[Predracun-
lista].Boja;
Query: ProveriDaLiMoze
SQLSELECT Narudzba.IDEmailNarudzbenica, LagerLista.Kolicina, LagerLista.Velicina,
LagerLista.IDArtikla, Narudzba.DatumObrade, LagerLista.RezervisanoKomada, [Kolicina]-[RezervisanoKomada] AS
Slobodno, Boja.Boja, Stanje.StanjeFROM Stanje INNER JOIN (Boja INNER JOIN (LagerLista INNER JOIN Narudzba ON (LagerLista.IDArtikla=Narudzba.IdArtikla) AND (LagerLista.IDBoja=Narudzba.Boja) AND (LagerLista.Velicina=Narudzba.Velicina)) ON Boja.IDBoja=LagerLista.IDBoja) ON Stanje.IDStanje=Narudzba.StanjeWHERE ((([Kolicina]-[RezervisanoKomada])>0));
Query: Query1
SQLSELECT Vrsta.Vrsta, Narudzba.IdArtikla, Narudzba.Velicina, Artikal.Marka, Narudzba.ID, Narudzba.IDEmailNarudzbenica, Boja.BojaFROM (Artikal LEFT JOIN Vrsta ON Artikal.Vrsta=Vrsta.IDVrsta) RIGHT JOIN (Boja RIGHT JOIN
32
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Narudzba ON Boja.IDBoja=Narudzba.Boja) ON Artikal.IDArtikla=Narudzba.IdArtikla;
Query: Query2
SQLSELECT EmailNarudzba.*FROM EmailNarudzba;
Query: Query3
SQLSELECT EmailNarudzba.BrojNarudzbe, EmailNarudzba.Datum, EmailNarudzba.IDKlijentaK, Narudzba.IdArtikla, Narudzba.Boja, Narudzba.Boja, Narudzba.VelicinaFROM EmailNarudzba INNER JOIN Narudzba ON EmailNarudzba.BrojNarudzbe = Narudzba.IDEmailNarudzbenica;
Query: RezPredracuni
SQLSELECT EmailNarudzba.DatumObrade, EmailNarudzba.BrojNarudzbe, Predracun.IDPredracun, Klijent.EIme, Klijent.EPrezime, Klijent.ETelefon, Predracun.Ukupno, Stanje.StanjeFROM ((EmailNarudzba INNER JOIN Predracun ON EmailNarudzba.BrojNarudzbe=Predracun.IDNarudzbe) INNER JOIN Klijent ON Predracun.IDKlijent=Klijent.IDKlijent) INNER JOIN Stanje ON
EmailNarudzba.Stanje=Stanje.IDStanjeWHERE (((EmailNarudzba.Stanje)=2)) OR (((EmailNarudzba.Stanje)=7));
5.1. Realizacija skladišta podataka :- skladišta podataka
Table: Artikal
Columns
Name Type Size
IDArtikla Long Integer 4Marka Text 50Vrsta Long Integer 4Cena Currency 8
Table IndexesName Number of Fields
IDArtikla 1Fields:IDArtikla Ascending
PrimaryKey 1Fields:IDArtikla Ascending
VrstaArtikal 1Fields:Vrsta Ascending
33
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Table: Boja
Columns
Name Type Size
IDBoja Long Integer 4Boja Text 10
Table IndexesName Number of Fields
BojaBoja 1Fields:Boja Ascending
IDBoje 1Fields:IDBoja Ascending
PrimaryKey 1Fields:IDBoja Ascending
Table: EmailNarudzba
Columns
Name Type Size
BrojNarudzbe Long Integer 4Datum Date/Time 8IDKlijentaK Long Integer 4Stanje Long Integer 4DatumObrade Date/Time 8ImaLi Text 50
Table IndexesName Number of Fields
IDKlijenta 1Fields:IDKlijentaK Ascending
KlijentEmailNarudzba 1Fields:IDKlijentaK Ascending
PrimaryKey 1Fields:BrojNarudzbe Ascending
StanjeEmailNarudzba 1Fields:Stanje Ascending
Table: Klijent
Columns
Name Type Size
IDKlijent Long Integer 4EIme Text 15EPrezime Text 20Ejmbg Text 13EUlica Text 25EBroj Long Integer 4
34
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
EMesto Text 10ETelefon Text 19EMail Text 50
Table IndexesName Number of Fields
IDKlijent 1Fields:IDKlijent Ascending
PrimaryKey 1Fields:IDKlijent Ascending
Table: LagerLista
Columns
Name Type Size
ID Long Integer 4IDArtikla Long Integer 4IDBoja Long Integer 4Velicina Long Integer 4Kolicina Long Integer 4RezervisanoKomada Long Integer 4
Table IndexesName Number of Fields
ArtikalLagerLista 1Fields:IDArtikla Ascending
BojaLagerLista 1Fields:IDBoja Ascending
ID 1Fields:ID Ascending
IdArtikla 1Fields:IDArtikla Ascending
IdBoja 1Fields:IDBoja Ascending
PrimaryKey 3Fields:IDArtikla AscendingIDBoja AscendingVelicina Ascending
Table: Narudzba
Columns
Name Type Size
35
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
ID Long Integer 4IDEmailNarudzbenica Long Integer 4IdArtikla Long Integer 4Boja Long Integer 4Velicina Long Integer 4Stanje Long Integer 4DatumObrade Date/Time 8
Table IndexesName Number of Fields
ArtikalNarudzba 1Fields:IdArtikla Ascending
EmailNarudzbaNarudzba 1Fields:IDEmailNarudzbenica Ascending
ID 1Fields:ID Ascending
IDEmailNarudzbenica 1Fields:IDEmailNarudzbenica Ascending
PrimaryKey 2Fields:ID AscendingIDEmailNarudzbenica Ascending
StanjeNarudzba 1Fields:Stanje Ascending
Table: Predracun
Columns
Name TypeSize
IDPredracun Long Integer 4IDNarudzbe Long Integer 4Datum placanja-isteka rezervacije Text 50IDKlijent Long Integer 4Ukupno Currency 8
Table IndexesName Number of Fields
IDKlijent 1Fields:IDKlijent Ascending
IDNarudzbe 1Fields:IDNarudzbe Ascending
IDPredracun 1Fields:IDPredracun Ascending
PrimaryKey 1Fields:IDPredracun Ascending
Table: Predracun-lista
Columns
36
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Name TypeSize
Rb Long Integer 4IDPredracun Long Integer 4IDNarudzbe Long Integer 4Datum placanja-isteka rezervacije Text 50Artikal Long Integer 4Suma Long Integer 4Boja Long Integer 4Velicina Long Integer 4Marka Text 50
Table IndexesName Number of Fields
ArtikalPredracun-lista 1Fields:Artikal Ascending
IDNarudzbe 1Fields:IDNarudzbe Ascending
IDPredracun 1Fields:IDPredracun Ascending
PrimaryKey 1Fields:Rb Ascending
Table: Stanje
Columns
Name TypeSize
IDStanje Long Integer 4Stanje Text 50
Table IndexesName Number of Fields
IDStanje 1Fields:IDStanje Ascending
PrimaryKey 1Fields:IDStanje Ascending
StanjeStanje 1Fields:Stanje Ascending
Table: Vrsta
Columns
Name TypeSize
IDVrsta Long Integer 4
37
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
Vrsta Text 20
Table IndexesName Number of Fields
IDVrsta 1Fields:IDVrsta Ascending
PrimaryKey 1Fields:IDVrsta Ascending
VrstaVrsta 1Fields:Vrsta Ascending
38
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
- relacije između skladišta – relationships
39
IVANA PETROVIĆ PARALELNI INŽENJERING BROJ INDEXA 24/06-3
4. Testiranje softverske aplikacije
Testiranje urađeno sa reprezentativnim uzoru podataka,uzimajući u obzir sve moguće sitacije i vrste podataka. Takođe izvršeno i testiranje pravilnog izračunavanja i evidentiranja unetih podataka. U tok testiranjasve nepavilnosti su otklonjene,
40