Professional Documents
Culture Documents
Softverski Sistem Za Podrsku Rada Restorana
Softverski Sistem Za Podrsku Rada Restorana
Softverski Sistem Za Podrsku Rada Restorana
Projektni rad
SADRAJ
2. NALIZA .................................................................................................................... 11
2.1. Ponaanje softverskog sistema .......................................................................... 11 2.1.1. Sistemski dijagrami sekvenci ............................................................. 11 2.1.2. Definisanje ugovora o sistemskim operacijama ................................. 23 2.1.3 Ogranienja pri izvrenju sistemskih operacija................................... 2.2. Logika struktura softverskog sistema .............................................................. 25 2.2.1. Konceptualni (Domenski) model. ....................................................... 25 2.2.2. Relacioni model .................................................................................. 27
3. PROJEKTOVANJE ................................................................................................... 29
3.1. Arhitektura softverskog sistema ........................................................................ 29 3.1.1. Projektovanje aplikacione logike Kontroler .................................... 30 3.1.2. Projektovanje aplikacione logike Domenske klase ......................... 32 3.1.3. Projektovanje aplikacione logike Sistemske operacije .................... 32 3.1.4. Projektovanje aplikacione logike Database Broker ......................... 40 3.2. Projektovanje skladita podataka ...................................................................... 41 3.3. Struktura korisnikog interfejsa ........................................................................ 43 3.3.1. Projektovanje ekranske forme ............................................................ 43
SK 1 Sluaj korienja: Unos novog jela Naziv SK: Unos novog jela Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za unos novog jela. Osnovni scenario SK:
1. Radnik unosi podatke o novom jelu. (APUSO) 4
2. 3. 4. 5.
Radnik kontrolise unijete podatke. (ANSO) Radnik poziva sistem da sauva podatke o jelu. (APSO) Sistem uva novo jelo. (SO) Sistem prikazuje obavjestenje da je novo jelo uspijesno sauvano. (IA)
Alternativna scenarija:
5.1 Ukoliko sistem nije mogao da sauva jelo, prikazuje poruku da novo jelo ne moe biti
sauvano. (IA) Izvrsavanje scenarija se prekida. SK 2 Sluaj korienja: Pregled podataka o jelu Naziv SK: Pregled jela Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za pregled jela.. Osnovni scenario SK:
1. 2. 3. 4.
Radnik unosi kriterijum pretrage jela. (APUSO) Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) Sistem pronalazi jelo. (SO) Sistem prikazuje jelo koje zadovoljava kriterijum pretrage. (IA)
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida. SK 3 Sluaj korienja: Promjena podataka o jelu Naziv SK: Promjena podataka o jelu Aktor SK: Radnik Uesnici SK: Radnik i sistem (program)
Preduslov: Sistem je ukljuen. Sistem prikazuje formu za promjenu podataka o jelu. Osnovni scenario SK: Radnik unosi kriterijum pretrage jela. (APUSO) Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) Sistem pronalazi jelo. (SO) Sistem prikazuje jelo koje zadovoljava kriterijum pretrage. (IA) Radnik mijenja podatke o jelu. (APUSO) 6. Radnik poziva sistem da zapamti unijete izmjene. (APSO) 7. Sistem pamti izmjene o jelu. (SO) 8. Sistem prikazuje poruku da su podaci uspjeno promjenjeni. (IA)
1. 2. 3. 4. 5.
Alternativni scenario:
4.1 Ukoliko sistem nije mogao da pronae jelo, prikazuje poruku da nije mogao da
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
8.1 Ukoliko sistem ne uspije da sauva promjene o jelu, prikazuje poruku o tome. (IA)
Izvravanje scenarija se prekida. SK 4 Sluaj korienja: Brisanje jela Naziv SK: Brisanje jela Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za brisanje jela. Osnovni scenario SK:
1. 2. 3. 4. 5. 6. 7.
Radnik unosi kriterijum pretrage jela. (APUSO) Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) Sistem pronalazi jelo. (SO) Sistem prikazuje jelo koji zadovoljava kriterijum pretrage. (IA) Radnik poziva sistem da izbrise pronaeno jelo. (APSO) Sistem brise jelo. (SO) Sistem prikazuje poruku da je jelo uspjeno izbrisano. (IA)
Alternativna scenarija:
4.1 Ukoliko sistem nije mogao da pronae jelo, prikazuje poruku da nije mogao da
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
7.1 Ukoliko sistem nije mogao da obrie jelo, sistem prikazuje poruku da jelo nije
obrisano. (IA) Izvravanje scenarija se prekida. SK5 Sluaj korienja: Unos nove prodaje Nazi SK: Unos nove prodaje Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za izbor jela za prodaju. Osnovni scenario SK:
1. 2. 3. 4. 5.
Radnik unosi podatke o novoj prodaji. (APUSO) Radnik kontrolise unijete podatke. (ANSO) Radnik poziva sistem da sauva podatke o prodaji. (APSO) Sistem uva novu prodaju. (SO) Sistem prikazuje obavjestenje da je nova prodaja uspijesno sauvana. (IA)
Alternativna scenarija:
5.1 Ukoliko sistem nije mogao da sauva prodaju, prikazuje poruku da nova prodaja ne
moe biti sauvana. (IA) Izvrsavanje scenarija se prekida. SK 6 Sluaj korienja: Pregled podataka o prodaji Naziv SK: Pregled prodaje Aktor SK: Radnik Uesnici: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za pregled prodaje.
Radnik unosi kriterijum pretrage prodaje. (APUSO) Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) Sistem pronalazi prodaju. (SO) Sistem prikazuje prodaju koja zadovoljava kriterijum pretrage. (IA)
pronae prodaju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida. SK 7 Sluaj korienja: Promjena podataka o prodaji Naziv SK: Promjena podataka o prodaji Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za promjenu podataka o prodaji. Osnovni scenario SK: Radnik unosi kriterijum pretrage prodaje. (APUSO) Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) Sistem pronalazi prodaju. (SO) Sistem prikazuje prodaju koja zadovoljava kriterijum pretrage. (IA) Radnik mijenja podatke o prodaji. (APUSO) Radnik poziva sistem da zapamti unijete izmjene. (APSO) Sistem pamti izmjene o prodaji. (SO) 8. Sistem prikazuje poruku Radniku da su podaci uspijeno promijenjeni. (IA)
1. 2. 3. 4. 5. 6. 7.
Alternativni scenario:
4.1 Ukoliko sistem nije mogao da pronae prodaju, prikazuje poruku da nije mogao da
pronae rezervaciju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
8.1 Ukoliko sistem ne uspije da sauva promjene o prodaji, prikazuje poruku o tome. (IA)
SK 8 Sluaj korienja: Brisanje prodaje Naziv SK: Brisanje prodaje Aktor SK: Radnik Uesnici SK: Radnik i sistem (program) Preduslov: Sistem je ukljuen. Sistem prikazuje formu za brisanje prodaje. Osnovni scenario SK:
1. 2. 3. 4. 5. 6. 7.
Radnik unosi kriterijum pretrage prodaje. (APUSO) Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) Sistem pronalazi prodaju. (SO) Sistem prikazuje prodaju koji zadovoljava kriterijum pretrage. (IA) Radnik poziva sistem da izbrise pronaenu prodaju. (APSO) Sistem brise prodaju. (SO) Sistem prikazuje poruku da je prodaja uspjeno izbrisana. (IA)
Alternativna scenarija:
4.1 Ukoliko sistem nije mogao da pronae prodaju, prikazuje poruku da nije mogao da
pronae prodaju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
7.1 Ukoliko sistem nije mogao da obrie prodaju, sistem prikazuje poruku da prodaja nije
2. ANALIZA
Faza analize opisuje logiku strukturu i ponaanje softverskog sistema. Ponaanje softvarskog sistema je opisano pomou sistemskih dijagrama sekvenci, koji se prave za svaki sluaj korienja i pomou ugovora o sistemskim operacijama, koje se dobijaju na osnovu sistemskih dijagrama sekvenci. Struktura softverskog sistema se opisuje pomou konceptualnog i relacionog modela.
Alternativna scenarija SK: 2.1 Ukoliko sistem nije mogao da sauva jelo, prikazuje se poruka da novo jelo ne moe
10
DS2 Dijagram sekvenci za slucaj korienja: Pregled podataka o jelu Osnovni scenario SK: 1. Radnik poziva sistem da pronae jelo po navedenom kriterijumu (APSO) 2. Sistem prikazuje jelo koje zadovoljava kriterijum pretrage (IA)
11
DS3 Dijagram sekvenci za sluaj korienja: Promjena podataka o jelu Osnovni scenario SK: 1. Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) 2. Sistem prikazuje jelo koje zadovoljava kriterijum pretrage. (IA) 3. Radnik poziva sistem da zapamti unijete izmjene. (APSO) 4. Sistem prikazuje poruku da su podaci o jelu uspijeno promijenjeni. (IA)
Alternativni scenario SK: 2.1 Ukoliko sistem nije mogao da pronae jelo, prikazuje se poruka da nije mogao da pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvravanje scenarija se prekida. 2.2
12
4.1 Ukoliko sistem ne uspije da sauva promjene o jelu, prikazuje poruku o tome. (IA)
DS4 Dijagram sekvenci za sluaj korienja: Brisanje jela Osnovni scenario SK: 1. Radnik poziva sistem da pronae jelo. (APSO) 2. Sistem prikazuje traeno jelo. (IA) 3. Radnik poziva sistem da izbrise pronaeno jelo. (APSO) 4. Sistem prikazuje poruku da je jelo uspijeno izbrisano. (IA)
13
Alternativna scenarija: 2.1 Ukoliko sistem nije mogao da pronae jelo sa zadatim atributom pretrage, prikazuje poruku da takavo jelo ne postoji. (IA) Izvravanje scenarija se prekida.
4.1 Ukoliko sistem nije mogao da izbrise jelo, sistem prikazuje poruku da jelo nije
14
Sa navedenih dijagrama sekvence uoavaju se dvije sistemske operacije: 1. PronadjiJelo(Jelo) 2. BrisiJelo(Jelo) DS5 Dijagram sekvence za sluaj korienja: Unos nove prodaje Osnovni scenario SK: 1. Radnik poziva sistem da pronae unese novu prodaju. (APSO) 2. Sistem unosi novu prodaju. (IA)
15
Alternativna scenarija: 2.1 Ukoliko sistem nije mogao da unese prodaju, prikazuje poruku da takava prodaja ne postoji. (IA) Izvravanje scenarija se prekida.
DS6 Dijagram sekvence za sluaj korienja: Pregled podataka o prodaji Osnovni scenario SK: 1. Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) 2. Sistem prikazuje prodaju koja zadovoljava kriterijum pretrage. (IA)
16
Alternativna scenarija: 2.1 Ukoliko sistem nije mogao da pronadje prodaju, prikazuje poruku da takava prodaja ne postoji. (IA) Izvravanje scenarija se prekida.
DS7 Dijagram sekvenci za sluaj korienja: Promjena podataka o prodaji Osnovni scenario SK: 1. Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) 2. Sistem prikazuje prodaju koje zadovoljava kriterijum pretrage. (IA) 3. Radnik poziva sistem da zapamti unijete izmjene. (APSO) 4. Sistem prikazuje poruku da su podaci o prodaji uspijeno promijenjeni. (IA)
17
pronae prodaju koje zadovoljava postavljeni kriterijum. (IA) Izvravanje scenarija se prekida.
4.1 Ukoliko sistem ne uspije da sauva promjene o prodaji, prikazuje poruku o tome. (IA)
18
DS4 Dijagram sekvenci za sluaj korienja: Brisanje prodaje Osnovni scenario SK: 1. Radnik poziva sistem da pronae prodaju. (APSO) 2. Sistem prikazuje traenu prodaju. (IA) 3. Radnik poziva sistem da izbrise pronaenu prodaju. (APSO) 4. Sistem prikazuje poruku da je prodaja uspijeno izbrisana. (IA)
19
Alternativna scenarija: 2.1 Ukoliko sistem nije mogao da pronae prodaju sa zadatim atributom pretrage, prikazuje poruku da takava prodajane postoji. (IA) Izvravanje scenarija se prekida.
4.1 Ukoliko sistem nije mogao da izbrise prodaju, sistem prikazuje poruku da prodaja nije
20
Za svaki od uoenih sistemskih operacija ( opisuje ponaanje softverskog sistema, ima svoj potpis, koji sadri ime metode i opciono ulazne i izlazne argumente, ona je javna i njoj se moe pristupiti iz okruenja softverskog sistema ) prave se ugovori. Ugovori opisuju ta operacija treba da radi, bez objanjenja kako e to da uradi. Jedan ugovor je vezan za jednu sistemsku operaciju. Ugovori se sastoje od sljedeih sekcija :
Operacija ime operacije i njen ulazni i izlazni argumenti; Veza sa SK imena SK u kojima se poziva sistemska operacija; Preduslov pre izvrenja sistemske operacije moraju biti zadovoljeni odreeni preduslovi (sistem mora biti u odgovarajuem stanju). Postuslovi posle izvrenja sistemske operacije u sistemu moraju biti zadovoljeni odreeni postuslovi (sistem mora biti u odgovarajuem stanju ili se ponitava rezultat operacije).
21
Postuslovi SO ukazuju na to ta treba da se desi (efekti izvrenja SO), nakon izvrenja SO, a ne kako e to da se desi. Postuslovi se izraavaju u prolom vremenu, kako bi se naglasilo da je objekat doao u novo stanje, a ne da e doe u novo stanje. Preduslovi SO ukazuju na to ta je trebalo da se desi, kako bi SO mogla da se izvri, a ne kako se to desilo.
Ugovor UG1 UnesiJelo Operacija: UnesiJelo(Jelo):signal; Veza sa SK: SK1 Preduslov: Postuslov: Jelo je uneeno
Ugovor UG2 PronadjiJelo Operacija: PronadjiJelo(Jelo):signal; Veza sa SK: SK2 Preduslov: Jelo postoji Postuslov: Pronaeno je traeno jelo
Ugovor UG3 IzmijenaJela Operacija: IzmjenaJela(Jelo):signal; Veza sa SK: SK3 Preduslov: Jelo postoji Postuslov: Jelo je izmijenjeno
22
Ugovor UG5 UnesiProdaju Operacija: UnesiProdaju(Prodaju):signal; Veza sa SK: SK5 Preduslov: - Jelo postoji Postuslov: Prodaja je uneena
Ugovor UG6 PronadjiProdaju Operacija: PronadjiProdaju(Prodaja):signal; Veza sa SK: SK6 Preduslov: Jelo postoji Postuslov: Pronaena je traena prodaja
Ugovor UG7 IzmijenaProdaje Operacija: IzmjenaProdaje(Prodaja):signal; Veza sa SK: SK7 Preduslov: Prodaja postoji Postuslov: Prodaja je izmijenjena
23
2.1.3
Opercij odrvnj bze podtk (ubci, izbci i promjeni) i/ili Opercij izvjetvnj.
U toku izvrenj sistemske opercije nd strukturom softverskog sistem (odnosno nd bzom podtk) podci (objekti u opertivnoj memoriji i slogovi u bzi podtk) morju d ostnu konzistentni, odnosno morju d budu zdovoljen vrijednosn i strukturn orgnienj definisn nd podcim. Vrijednosn ogrnienj se odnose n dozvoljene vrednosti tribut domenskih kls (tbel) i on se dijele n: ) prost vrednosn ogrnienj - ogrnienj n domen (tip) tribut i vrijednost tribut. b) sloen vrijednosn ogrnienj - meuzvisnost tribut. Strukturn orgnienj su definisn preko krdinlnosti preslikvnj izmeu domenskih kls (tbel). Pri izvrenju opercij ubci i promjeni objekt (slog) provjervju se i vredijnosn i strukturn ogrnienj. Kod ugovor z sistemske opercije u odjeljku postuslovi se nvodi rezultt opercij ubci i promjeni . Kod ugovor z sistemske opercije u odeljku preduslovi se nvode prost vredijnosn ogrnienj. Sloen vrijednosn ogrnienj se mogu nvesti u odjeljku preduslovi ili se mogu nvesti kroz relizciju sistemske opercije. Pri izvrenju opercije obrii objekt (slog) provjervju se strukturn ogrnienj. Kod ugovor z sistemske opercije u odjeljku postuslovi se nvodi rezultt opercij obrii dok se u odeljku preduslovi nit ne nvodi. Pri izvrenju opercije izvjetvnj ne provervju se vrijednosn i strukturn ogrnienj. Kod ugovor z sistemske opercije u odjeljcim postuslovi i preduslovi nit se ne nvodi.
24
2.2
2.2.1
Struktura softverskog sistema se opisuje pomou konceptualnog modela. Konceptualni model opisuje konceptualne klase domena problema. Konceptualni model sadri konceptualne klase i asocijacije izmeu konceptualnih klasa. esto se za konceptualne klase kae da su to domenski modeli ili modeli objektne analize.
25
26
Jelo (ID_jela, naziv_jela, prodajna_cijena). Prodaja (broj_racuna, ID_jela, kolicina_jela, ukupna_cijena, datum_prodaje).
Tabela jelo
Prosto vrijednosno ogranienje Tip atributa Integer String Double Vrednost atributa not null not null not null
Sloeno vrijednosno ogranienje Meuzav. atributa jedne tabele Meuzav. atributa vie tabela
Strukturn o ogranien je INSERT CASCADE S prodaja UPDATE RESTRICT ED prodaja DELETE RESTRICT ED prodaja
Ime
Sloeno vrijednosno ogranienje Meu zav. atrib uta jedne tabel e Meuzav. atributa vie tabela
Strukturno ogranienj e
27
prodaje
null
3.0. PROJEKTOVANJE
Faza projektovanja opisuje fiziku strukturu i ponaanje softverskog sistema. Projektovanje arhitekture softverskog sistema obuhvata projektovanje aplikacione logike, skladista podataka i korisnikog interfejsa. U okviru aplikacione logike se projektuju kontroler, poslovna logika i database broker. Projektovanje poslovne logike obuhvata projektovanje logike strukture i ponaanje softverskog sistema.
3.1
sistema.
2. Aplikacione logike koja opisuje strukturu i ponaanje softverskog sistema. 3. Skladista podataka koji uva stanje atributa softverskog sistema.
28
Aplikaciona logika se sastoji od: kontrolera aplikacione logike, poslovne logike i upravljaa bazom podataka.
Poslovna logika je opisana strukturom (domenskim klasama) i ponaanjem (sistemskim operacijama). Kontroler je odgovoran da prihvati zahtjeve za izvrenje sistemske operacije od klijenta i da ga proslijedi do poslovne logike koja je odgovorna za izvravanje sistemske operacije. Database broker je odgovoran za komunikaciju izmeu poslovne logike i skladita podataka. Dakle do sada smo kroz faze prikupljanja zahtjeva i analize dali specifikaciju strukture i ponaanja softverskog sistema, odnosno specifikaciju poslovne logike softverskog sistema.
Preko klase KontrolerAL prihvatamo zahtjeve od klijenta i izvravanje sistemskih operacija i iste prosleujemo do odgovarajuih klasa koje su odgovorne za izvravanje SO. Za svaku od SO prave se softverske klase koje treba da realizuju SO i takve klase nazivamo softverske klase ponaanja, jer SO opisuju ponaanje sistema.
29
30
U poetku projektovanja SO treba napraviti konceptualne relacije za svaku SO. Konceptualne relacije treba da budu direktno povezane sa logikom probema. Moe se predpostaviti da se podaci uvaju u bazi i u tom smislu mogu se pozvati neke od osnovnih operacija baze (insert, update, delete, ), bez ulaenja u nain njihove realizacije. Konceptualne realizacije se mogu opisati preko: objektnog pseudokola, dijagrama saradnje, sekvencnih dijagrama, dijagrama aktivnosti, dijagrama prelaza stanja ili dijagrama struktura.
31
Projektovanje konceptualnih reenja SO Ugovor UG1 UnesiJelo Operacija: UnesiJelo(Jelo):signal; Veza sa SK: DS1 Preduslov: Postuslov: Jelo je uneeno Dijagram sekvence:
Dijagram saradnje:
32
Ugovor UG2 PronadjiJelo Operacija: PronadjiJelo(Jelo):signal; Veza sa SK: DS2, DS3, DS4 Preduslov: Jelo postoji Postuslov: Pronaeno je traeno jelo Dijagram sekvence:
Dijagram saradnje:
33
Ugovor UG3 IzmijeniJelo Operacija: IzmjeniJelo(Jelo):signal; Veza sa SK: DS3 Preduslov: Jelo postoji Postuslov: Jelo je izmijenjeno Dijagram sekvence:
Dijagram saradnje:
34
Ugovor UG4 BriiJelo Operacija: BrisiJelo(Jelo):signal; Veza sa SK: DS4 Preduslov: Jelo postoji Postuslov: Jelo je obrisano Dijagram sekvence:
Dijagram saradnje:
35
Ugovor UG5 UnesiProdaju Operacija: UnesiProdaju(prodaja):signal; Veza sa SK: DS5 Preduslov: -Jelo postoji Postuslov: prodaja je uneena Dijagram sekvence:
Dijagram saradnje:
36
Ugovor UG6 PronadjiProdaju Operacija: PronadjiProdaju(Prodaja):signal; Veza sa SK: DS5, DS6, DS7 Preduslov: Prodaja postoji Postuslov: Pronaena je traena prodaja Dijagram sekvence:
Dijagram saradnje:
37
Ugovor UG7 IzmijeniProdaju Operacija: IzmjeniProdaju(Prodaja):signal; Veza sa SK: DS7 Preduslov: Prodaja postoji Postuslov: Prodaja je izmijenjena Dijagram sekvence:
Dijagram saradnje:
38
Ugovor UG8 BrisiProdaju Operacija:BrisiProdaju(Prodaja):signal; Veza sa SK: DS8 Preduslov: Prodaja postoji Postuslov: Prodaja je obrisana Dijagram sekvence:
Dijagram saradnje:
39
Projektujemo klasu koja e biti zaduena za uspostavljanje veze sa bazom, raskidanje veze i provjeru uspijenosti transtakcije. Da bi se obezbijedilo da se izvrenje svih SO prati kao transakcija, sve SO nasledice klasu (OpstaSO).
40
Klasa koja e obezbijediti perzistentnost objekata razliitih klasa je DatabaseBroker. Da bi se obezbijedila univerzalnost korienja metoda projektovanja klase (da bi se mogle koristiti sve domenske klase), izvriemo generalizaciju interfejs OpstiDomenskiObjekat, koje e implementirati sve domenske klase.
41
Na osnovu softverskih klasa strukture projektovali smo tabele (skladita podataka) relacionog sistema za upravljanje bazom podataka. Za izradu skladita podataka koriten je MySQL.
Tabela: jelo
42
Tabela: prodaja
43
3.3.1. Projektovanje ekranske forme Glavni meni je realizovan u klasi Restoran.java, preko kog se pozivaju sve druge korisnike forme. Sa glavnog menija se pozivaju sledee forme. I. Jelo II. Prodaja Unos Pregled Brisanje Izmjena
44
45
SK 1 Sluaj korienja: Unos novog jela Preduslov: Sistem je ukljuen. Sistem prikazuje formu za unos novog jela. Osnovni scenario SK:
1. Radnik unosi podatke o novom jelu. (APUSO) 2. Radnik kontrolise unijete podatke. (ANSO) 3. Radnik poziva sistem da sauva podatke o jelu. (APSO)
4. Sistem uva novo jelo. (SO) 5. Sistem prikazuje obavjestenje da je novo jelo uspijesno sauvano. (IA)
46
Alternativna scenarija:
5.2 Ukoliko sistem nije mogao da sauva jelo, prikazuje poruku da novo jelo ne moe biti
SK 2 Sluaj korienja: Pregled podataka o jelu Preduslov: Sistem je ukljuen. Sistem prikazuje formu za pregled jela.. Osnovni scenario SK:
1. Radnik unosi kriterijum pretrage jela. (APUSO) 2. Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) 3. Sistem pronalazi jelo. (SO) 4. Sistem prikazuje jelo koje zadovoljava kriterijum pretrage. (IA)
47
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
SK 3 Sluaj korienja: Promjena podataka o jelu Preduslov: Sistem je ukljuen. Sistem prikazuje formu za promjenu podataka o jelu. Osnovni scenario SK:
1. 2. 3. 4.
Radnik unosi kriterijum pretrage jela. (APUSO) Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) Sistem pronalazi jelo. (SO) Sistem prikazuje jelo koje zadovoljava kriterijum pretrage. (IA)
48
7. Sistem pamti izmjene o jelu. (SO) 8. Sistem prikazuje poruku da su podaci uspjeno promjenjeni. (IA)
Alternativni scenario:
4.2 Ukoliko sistem nije mogao da pronae jelo, prikazuje poruku da nije mogao da
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
49
8.2 Ukoliko sistem ne uspije da sauva promjene o jelu, prikazuje poruku o tome. (IA)
SK 4 Sluaj korienja: Brisanje jela Preduslov: Sistem je ukljuen. Sistem prikazuje formu za brisanje jela. Osnovni scenario SK:
1. 2. 3. 4.
Radnik unosi kriterijum pretrage jela. (APUSO) Radnik poziva sistem da pronae jelo po navedenom kriterijumu. (APSO) Sistem pronalazi jelo. (SO) Sistem prikazuje jelo koji zadovoljava kriterijum pretrage. (IA)
5. Radnik poziva sistem da izbrise pronaeno jelo. (APSO) 6. Sistem brise jelo. (SO) 7. Sistem prikazuje poruku da je jelo uspjeno izbrisano. (IA)
50
Alternativna scenarija:
4.2 Ukoliko sistem nije mogao da pronae jelo, prikazuje poruku da nije mogao da
pronae jelo koje zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
7.2 Ukoliko sistem nije mogao da obrie jelo, sistem prikazuje poruku da jelo nije
obrisano. (IA) Izvravanje scenarija se prekida. SK5 Sluaj korienja: Unos nove prodaje Preduslov: Sistem je ukljuen. Sistem prikazuje formu za izbor jela za prodaju. Osnovni scenario SK:
1. Radnik unosi podatke o novoj prodaji. (APUSO) 2. Radnik kontrolise unijete podatke. (ANSO)
51
3. Radnik poziva sistem da sauva podatke o prodaji. (APSO) 4. Sistem uva novu prodaju. (SO) 5. Sistem prikazuje obavjestenje da je nova prodaja uspijesno sauvana. (IA)
Alternativna scenarija:
5.2 Ukoliko sistem nije mogao da sauva prodaju, prikazuje poruku da nova prodaja ne
SK 6 Sluaj korienja: Pregled podataka o prodaji Preduslov: Sistem je ukljuen. Sistem prikazuje formu za pregled prodaje. Osnovni scenario SK:
1. Radnik unosi kriterijum pretrage prodaje. (APUSO)
52
2. Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) 3. Sistem pronalazi prodaju. (SO) 4. Sistem prikazuje prodaju koja zadovoljava kriterijum pretrage. (IA)
pronae prodaju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
SK 7 Sluaj korienja: Promjena podataka o prodaji Preduslov: Sistem je ukljuen. Sistem prikazuje formu za promjenu podataka o prodaji.
53
2. Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) 3. Sistem pronalazi prodaju. (SO) 4. Sistem prikazuje prodaju koja zadovoljava kriterijum pretrage. (IA)
54
Alternativni scenario:
4.2 Ukoliko sistem nije mogao da pronae prodaju, prikazuje poruku da nije mogao da
pronae rezervaciju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
55
8.2 Ukoliko sistem ne uspije da sauva promjene o prodaji, prikazuje poruku o tome. (IA)
Izvravanje scenarija se prekida. SK 8 Sluaj korienja: Brisanje prodaje Preduslov: Sistem je ukljuen. Sistem prikazuje formu za brisanje prodaje. Osnovni scenario SK:
1. Radnik unosi kriterijum pretrage prodaje. (APUSO)
2. Radnik poziva sistem da pronae prodaju po navedenom kriterijumu. (APSO) 3. Sistem pronalazi prodaju. (SO) 4. Sistem prikazuje prodaju koji zadovoljava kriterijum pretrage. (IA)
56
5. Radnik poziva sistem da izbrise pronaenu prodaju. (APSO) 6. Sistem brise prodaju. (SO) 7. Sistem prikazuje poruku da je prodaja uspjeno izbrisana. (IA)
Alternativna scenarija:
4.2 Ukoliko sistem nije mogao da pronae prodaju, prikazuje poruku da nije mogao da
pronae prodaju koja zadovoljava postavljeni kriterijum. (IA) Izvrsavanje scenarija se prekida.
7.2 Ukoliko sistem nije mogao da obrie prodaju, sistem prikazuje poruku da prodaja nije
57
4. IMPLEMENTACIJA Softverski proizvod je implementiran u programskom jeziku JAVA, a kao razvojno okruenje korien je NetBeans 6.1. Za realizovanje skladita podataka, korien je MySQL 5.5.17. Na osnovu arhitekture siftverskog sistema, dobili smo sledee softverske klase: DatabaseBroker.java IzmijenijJelo.java IzmijeniProdaju.java Jelo.java KontrolerAL.java KontrolerKI.java Main.java ObrisiJelo.java ObrisiProdaju.java OpstaSO.java OpstiDomenskiObjekat.java Prodaja.java PronadjiJela.java PronadjiJelo.java PronadjiProdaje.java PronadjiProdaju.java UnesiJelo.java UnesiProdaju.java frmBrisanjejela.java frmBrisanjeProdaje.java frmIzmjenaJela.java frmIzmjeniProdaju.java frmPocetnaRestoran.java frmPregledProdaje.java frmPregledSviProdaja.java frmPregledSvihJela.java frmPrpnadjiJelo.java frmUnesiJelo.java frmUnesiProdaju.java
58
5. TESTIRANJE
Testiranje, shodno arhitekturi softverskog sistema, moe da se podijeli u nekoliko nezavisnih jedinica testiranja. Nezavisne jedinice testiranja su softverske komponente koje smo dobili u fazi implementacije softverskog sistema. Testiranje svake softverske komponente podrazumijeva pravljenje: Test sluajeva koji opisuju sta test treba da provjeri. Test procedura koje opisuju kako e se izvriti test. Test komponente koje treba da autometizuju test procedure ukoliko je to mogue.
Nakon testiranja softverskih komponenti vri se njihova integracija. U tom smislu se prave testovi integracije softverskih komponenti. Svaki sluaj korienja je testiran, pri tome se u procesu testiranja forme popunjavaju ispravnim, kao i neispravnim podacima, iji je cilj bio da se vidi reagovanje sistema na sve mogue situacije koje mogu da se pojave.
59