UNIVERZITET U BEOGRADU FAKULTET ORGANIZACIONIH NAUKA

SEMINARSKI RAD PROJEKTOVANJE SOFTVERA

TEMA:

SALON BICIKALA
Informacioni sistem Vođenje evidencije o prodaja bicikala, servis i praćenje modela na lageru

Profesor: dr Siniša Vlajić

Student: Kurobasa Nikola 55 !"#

$eograd, februar %"" &

S'()*'+,
-& Specifikacija .a/teva pomoću slu0ajeva korišćenja
-&- 1pis problema -&% Specifikacija modela pomoću modela slu0aja korišćenja

%
% %

%& 2a.a anali.e #& Sistemski dijagrami sekvenci 4& 5govori o sistemskim operacijama
%&# Konceptualni model

3
3 %%#

#& 2a.a projektovanja
#&- 'r/itektura softverskog sistema #&% 6rojektovanje aplikacione logike 7 Kontroler #&# 6rojektovanje domenski/ klasa #&4 'plikaciona logika 7 6oslovna logika 7 Sistemske operacije #&5 6rojektovanje aplikacione logike 7 (atabase$roker, (ijagram klasa #&8 Struktura korisni0kog interfejsa

%5
%5 %8 %9 %3 #8 #3

4& Implementacija

5-

%

! SPECIFIKACI"A ZAHTEVA I SLU#A"EVI KORI$%EN"A
! ! OPIS PROBLE&A Ver'()n* o+*s: 1vaj seminarski rad je posvećen delu informacionog sistema firme koja se bavi prodajom bicikala i nji/ovim servisom& 2irma vodi evidenciju o biciklima koji se nala.e na lageru, o prodatim biciklima, i o obavljenim servisima na prodatim biciklima& Kor*sn*,: 1vlašćeni slu:benik firme C*)-e.*: vodjenje evidencije o biciklima koji se nala.e na lageru, o prodatim biciklima, i o obavljenim servisima na prodatim biciklima& 6rilikom i.rade informacionog sistema potrebno je postići minimalnu redudansu podataka i obe.bediti integritet podataka&

!/! SPECIFIKACI"A ZAHTEVA PO&O%U &ODELA SLU#A"EVA KORI$%EN"A

6ostoje sledeći slu0ajevi korišćenja, -& ;videntiranje prodaje bicikala %& ;videntiranje obavljeni/ restauracija na prodatim biciklima #& ;videntiranje pristigli/ bicikala 4& 6romena cene modela 5& $risanje modela <prestanak prodaje odredjenog modela= 8& (odavanje modela <po0etak prodaje novog modela= 9& 6regled obavljeni/ servisa 3& 6regled modela na lageru

#

Navedene slu0ajeve korišćenja koriste ovlašćeni slu:benik firme, serviser i prodavac <aktori=, što se mo:e predstaviti sledećim dijagramom,

Evidentiranje prodaje bicikala Evidentiranje obavljenog servisa na prodatom biciklu

Evidentiranje pristiglih bicikala

Sluzbenik

Promena cene modela

Brisanje modela

Dodavanje modela

Prodavac

Pregled modela na lageru

Serviser

Pregled obavljenih servisa

4

SLU#A" KORI$%EN"A : E.*dent*r(n-e +rod(-e '*0*,()( N(1*. s)u2(-( ,or*34en-(: 6rodaja bicikala A,tor* SK: 1vlašćeni slu:benik U2esn*0* SK: 1vlašćeni slu:benik i sistem <program= Predus)o., Sistem je uklju0en i program prika.uje po0etni meni& Osno.n* s0en(r*o SK -& Slu:benik po.iva sistem da pronadje na.ive modela bicikala koji se nala.e na lageru& <'6S1= %& Sistem pronala.i na.ive modela bicikala koji se nala.e na lageru& <S1= #& Sistem prika.uje slu:beniku na.ive modela bicikala koji se nala.e na lageru& <I'= 4& Slu:benik unosi podatke o prodatom biciklu& <'65S1= 5& Slu:benik po.iva sistem da a:urira broj bicikala na lageru i da .apo0ne vođenje evidencije o prodatom biciklu& <'6S1= 8& Sistem a:urira broj bicikala i .apo0inje vođenje evidencije o prodatom biciklu& <S1= 9& Sistem prika.uje slu:beniku podatke o prodatom biciklu& <I'= 3& Slu:benik bele:i broj prodatog bicikala na papirni dokument& <'NS1= A)tern(t*.n( s0en(r*( • 5&-& 5koliko više nema bicikla, tog modela, na lageru, sistem obaveštava slu:benika da se operacija ne mo:e i.vršiti& <I'= SLU#A" KORI$%EN"A /: E.*dent*r(n-e o'(.)-ene ser.*s( '*0*,)( N(1*. s)u2(-( ,or*34en-(: ;videntiranje obavljene servisa bicikla A,tor* SK: 1vlašćeni slu:benik U2esn*0* SK: 1vlašćeni slu:benik i sistem <program= Predus)o., Sistem je uklju0en i program prika.uje po0etni meni& Osno.n* s0en(r*o SK -& Slu:benik unosi broj prodatog bicikla na kojem je obavljen servis& <'65S1= %& Slu:benik po.iva sistem da pronađe prodati bicikl& <'6S1= #& Sistem pronala.i tra:eni prodati bicikl& <S1= 4& Sistem prika.uje slu:beniku podatke o prodatom biciklu& <I'= 5& Slu:benik unosi podatke o obavljenom servisu& <'65S1= 8& Slu:benik po.iva sistem da evidentira obavljenom servisu& <'6S1= 9& Sistem evidentira obavljeno servisiranje& <S1= 3& Sistem prika.uje slu:beniku i.menjene podatke o prodatom biciklu& <I'= A)tern(t*.n( s0en(r*( • #&- 5koliko prodati bicikl pod .adatim brojem ra0una ne postoji, sistem o tome obaveštava slu:benika&<I'= 6rekida se i.vršenje scenarija&

5

uje slu:beniku na.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.n* s0en(r*o SK -& Slu:benik po. kojem :eli da promeni cenu& <'65S1= 5& Slu:benik po.iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala. tog modela.. .tor* SK: 1vlašćeni slu:benik U2esn*0* SK: Slu:benik i sistem <program= Predus)o.iv modela.uje po0etni meni& Osno.*dent*r(n-e +r*st*6)*7 '*0*.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika. sistem obaveštava slu:benika da je pogrešio& <I'= 6rekida se i.ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik bira na.iva sistem da pronađe na.n( s0en(r*( • 9&.n* s0en(r*o SK -& Slu:benik po.uje slu:beniku model sa novim podacima& <I'= 8 . Sistem je uklju0en i program prika. na lageru& <'6S1= -"& Sistem povećava broj bicikala& <S1= --& Sistem prika. Sistem je uklju0en i program prika. s)u2(-( .a koji je stigla nova isporuka bicikala& <'65S1= 5& Slu:benik po.uje slu:beniku podatke o tra:enom modelu& <I'= 3& Slu:benik unosi novu cenu modela& <'65S1= & Slu:benik po.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.uje slu:beniku na.SLU#A" KORI$%EN"A 5: E.i na.iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala.uje slu:beniku podatke o tra:enom modelu& <I'= 3& Slu:benik unosi broj pristigli/ bicikala& <'65S1= & Slu:benik po.i tra:eni model& <S1= 9& Sistem prika.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala. Pro9en( 0ene 9ode)( N(1*.or*34en-(: .i tra:eni model& <S1= 9& Sistem prika.iva sistem da poveća broj bicikala.or*34en-(: 6romena cene modela A.5koliko slu:benik unese negativnu vrednost.()( N(1*.iv modela.tor* SK: 1vlašćeni slu:benik U2esn*0* SK: Slu:benik i sistem <program= Predus)o.iva sistem da pronađe na.iva sistem da promeni cenu bicikala& <'6S1= -"& Sistem menja cenu bicikala& <S1= --& Sistem prika.ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik bira na..uje slu:beniku model sa novim podacima& <I'= A)tern(t*.videntiranje pristigli/ bicikala A.i na. s)u2(-( .vršenje scenarija& SLU#A" KORI$%EN"A 8.uje po0etni meni& Osno.

iv modela.5koliko još uvek ima bicikala na lageru.i na.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.(n-e 9ode)( N(1*.vršenje scenarija& SLU#A" KORI$%EN"A . koji :eli da obriše <'65S1= 5& Slu:benik po.tor* SK: 1vlašćeni slu:benik U2esn*0* SK: Slu:benik i sistem <program= Predus)o.uje poruku slu:beniku da je model uspešno obrisan& <I'= A)tern(t*.ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik unosi podatke o novom modelu& <'65S1= 5& Slu:benik po.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika..i na.iva sistem da doda novi model& <'6S1= 8& Sistem dodaje model& <S1= 9& Sistem prika.tor* SK: 1vlašćeni slu:benik U2esn*0* SK: Slu:benik i sistem <program= Predus)o.n* s0en(r*o SK -& Slu:benik po..ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik bira na.n( s0en(r*( • 5&.iva sistem da pronađe na.uje slu:beniku podatke o tra:enom modelu& <I'= 3& Slu:benik po.: Dod(.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.uje po0etni meni& Osno. Sistem je uklju0en i program prika. Sistem je uklju0en i program prika.n* s0en(r*o SK -& Slu:benik po.uje poruku korisniku da je model uspešno dodat& <I'= 9 . s)u2(-( . sistem će o tome obavestiti slu:benika& <I'= 6rekida se i.iva sistem da pronadje tra:eni model& <'6S1= 8& Sistem pronala.iva sistem da pronađe na. s)u2(-( .uje po0etni meni& Osno.or*34en-(: $risanje modela A.i tra:eni model& <S1= 9& Sistem prika.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.SLU#A" KORI$%EN"A :: Br*s(n-e 9ode)( N(1*.iva sistem da obriše taj modela& <'6S1= & Sistem briše tra:eni model& <S1= -"& Sistem prika.uje slu:beniku na.uje slu:beniku na.or*34en-(: (odavanje modela A.

)-en*7 ser.n* s0en(r*o SK -& Serviser unosi broj prodatog bicikala. Sistem je uklju0en i program prika.uje po0etni meni& Osno.SLU#A" KORI$%EN"A <: Pre6)ed o'(.or*34en-(: 6regled modela na lageru A..iva sistem da pronađe prodati bicikl& <'6S1= #& Sistem pronala.iv modela.n* s0en(r*o SK -& 6rodavac po.i tra:eni prodati bicikl& <S1= 4& Sistem prika.5koliko prodati bicikl pod .iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala. 0iji podaci ga interesuju& <'65S1= 5& 6rodavac po.n( s0en(r*( • #&.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.i tra:eni model& <S1= 9& Sistem prika.uje prodavcu podatke o tra:enom modelu& <I'= 3 .or*34en-(: 6regled obavljeni/ servisa A.iva sistem da pronađe na.uje serviseru podatke o prodatom biciklu& <I'= A)tern(t*. s)u2(-( . Sistem je uklju0en i program prika. sistem o tome obaveštava slu:benika&<I'= 6rekida se i.a koji :eli da pregleda obavljene servise&<'65S1= %& Serviser po. .ive modela o kojima se vodi evidencija&<I'= 4& 6rodavac bira na.i na.*s( N(1*.adatim brojem ra0una ne postoji.uje po0etni meni& Osno.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.uje slu:beniku na..tor* SK: Serviser U2esn*0* SK: Serviser i sistem <program= Predus)o.tor* SK: 6rodavac U2esn*0* SK: 6rodavac i sistem <program= Predus)o.vršenje scenarija& SLU#A" KORI$%EN"A =: Pre6)ed 9ode)( n( )(6eru N(1*. s)u2(-( .

uje slu:beniku podatke o prodatom biciklu& <I'= : Sluzbenik VratiUzUslov( azivi!odela" azivi!odela : Sistem #zuriraji$reiraj(ProdatiBicikl" oviProdatiBicikl .uje slu:beniku na.iva sistem da pronađe na.e na lageru& <I'= #& Slu:benik po.iva sistem da a:urira broj bicikala na lageru i da ./! FAZA ANALIZE /! ! SISTE&SKI DI"AGRA&I SEKVENCI !DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A.e na lageru& <'6S1= %& Sistem prika.ive modela bicikala koji se nala.ive modela bicikala koji se nala.apo0ne vođenje evidencije o prodatom biciklu& <'6S1= 4& Sistem prika.n* s0en(r*o SK -& Slu:benik po. EVIDENTIRAN"E PRODA"E BICIKALA Osno.

na lageru. sistem obaveštava slu:benika da se operacija ne mo:e i.A)tern(t*.n( s0en(r*( • 5&-& 5koliko više nema bicikala. tog modela.vršiti& <I'= : Sistem : Sluzbenik VratiUzUslov( azivi!odela" azivi!odela #zuriraji$reiraj(Prodati" Poruka da nema vise bicikala -" .

iva sistem da evidentira obavljeni servis& <'6S1= 4& Sistem prika.uje slu:beniku podatke o prodatom biciklu& <I'= #& Slu:benik po.n* s0en(r*o SK -& Slu:benik po.iva sistem da pronađe prodati bicikl& <'6S1= %& Sistem prika./!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A.menjene podatke o prodatom biciklu&<I'= : Sluzbenik Pronadji(ProdatiBicikl" %razeni ProdatiBicikl : Sistem EvidentirajSevis(ProdatiBicikl" &zmenjeni ProdatiBicikl -- .uje slu:beniku i. EVIDENTIRAN"E OBAVL"ENOG SERVISA NA BICIKLU Osno.

vršenje scenaria& : Sluzbenik Pronadji(ProdatiBicikl" Poruka da taj prodati bicikl ne postoji : Sistem -% . sistem o tome obaveštava slu:benika&<I'= 6rekida se i.5koliko prodati bicikl pod .adatim brojem ra0una ne postoji.n( s0en(r*( • #&.A)tern(t*.

uje slu:beniku na.iva sistem da pronađe na.ive modela o kojima se vodi evidencija&<I'= #& Slu:benik po.iva sistem da pronadje tra:eni model& <'6S1= 4& Sistem prika. na lageru& <'6S1= 8& Sistem prika.n* s0en(r*o SK -& Slu:benik po.uje slu:beniku podatke o tra:enom modelu& <I'= 5& Slu:benik po.5!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A. tog modela.iva sistem da poveća broj bicikala. EVIDENTIRAN"E PRISTIGLIH BICIKALA Osno.uje slu:beniku model sa novim podacima& <I'= : Sluzbenik Vrati ( azivi!odela" azivi!odela : Sistem Pronadji(!odel a'ageru" %razeni!odel a'ageru Povecaj$olicinu(!odel a'ageru" &zmenjeni!odel a'ageru -# .ive modela o kojima se vodi evidencija& <'6S1= %& Sistem prika.

sistem obaveštava slu:benika da je pogrešio& <I'= 6rekida se i.vršenje scenarija& : Sluzbenik Vrati ( azivi!odela" azivi!odela : Sistem Pronadji(!odel a'ageru" %razeni!odel a'ageru Povecaj$olicinu(!odel a'ageru" Poruka da vrednost ne moze biti negativna -4 .A)tern(t*.5koliko slu:benik unese negativnu vrednost.n( s0en(r*( • 9&.

iva sistem da pronađe tra:eni model& <'6S1= 4& Sistem prika.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem prika.iva sistem da pronađe na.uje slu:beniku na.8!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A.ive modela o kojima se vodi evidencija&<I'= #& Slu:benik po.uje slu:beniku model sa novim podacima& <I'= : Sluzbenik Vrati ( azivi!odela" azivi!odela : Sistem Pronadji(!odel a'ageru" %razeni!odel a'ageru Promeni(enu(!odel a'ageru" &zmenjeni!odel a'ageru -5 .iva sistem da promeni cenu bicikala& <'6S1= 8& Sistem prika.uje slu:beniku podatke o tra:enom modelu& <I'= 5& Slu:benik po.n* s0en(r*o SK -& Slu:benik po. PRO&ENA CENE &ODELA Osno.

iva sistem da pronađe na.iva sistem da pronađe tra:eni model& <'6S1= 4& Sistem prika.uje slu:beniku na.uje slu:beniku podatke o tra:enom modelu& <I'= 5& Slu:benik po.iva sistem da obriše taj modela& <'6S1= 8& Sistem prika. BRISAN"E &ODELA Osno.uje poruku slu:beniku da je model uspešno obrisan& <I'= : Sluzbenik Vrati ( azivi !odela" azivi!odela : Sistem Pronadji(!odel a'ageru" %razeni!odel a'ageru )brisi(!odel a'ageru" Poruka da je model uspesno obrisan -8 .n* s0en(r*o SK -& Slu:benik po.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem prika.:!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A.ive modela o kojima se vodi evidencija&<I'= #& Slu:benik po.

vršenje scenarija& : Sluzbenik : Sistem Vrati ( azivi !odela" azivi!odela Pronadji(!odel a'ageru" %razeni!odel a'ageru )brisi(!odel a'ageru" Poruka da jos uvek ima bicikala na lageru -9 . sistem će o tome obavestiti slu:benika& <I'= 6rekida se i.A)tern(t*.5koliko još uvek ima bicikala na lageru.n( s0en(r*( • 5&.

uje slu:beniku na.!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A.iva sistem da pronađe na..ive modela o kojima se vodi evidencija& <'6S1= %& Sistem prika.uje poruku korisniku da je model uspešno dodat& <I'= : Sluzbenik : Sistem Vrati ( azivi !odela" azivi!odela Dodaj(!odel a'ageru" Poruka da je model uspesno dodat -3 .n* s0en(r*o SK -& Slu:benik po. DODAVAN"E &ODELA Osno.ive modela o kojima se vodi evidencija&<I'= #& Slu:benik po.iva sistem da doda novi model& <'6S1= 4& Sistem prika.

vršenje scenarija& : Ser vi s er : Sis tem 6ronadji< ProdatiBicikl= obil" Pronadji(Prodati#utom Poruka da da prodati taj p rodati autom ne po s toji 6oruka bicikl neobil postoji - .adatim brojem ra0una ne postoji.iva sistem da pronađe prodati bicikl& <'6S1= %& Sistem prika.5koliko prodati bicikl pod . sistem o tome obaveštava slu:benika&<I'= 6rekida se i.<!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A: PREGLED OBAVL"ENIH SERVISA Osno.uje serviseru podatke o prodatom biciklu& <I'= : Serviser Pronadji(ProdatiBicikl" %razeni ProdatiBicikl : Sistem A)tern(t*.n* s0en(r*o SK -& Serviser po.n( s0en(r*( • #&.

ive modela o kojima se vodi evidencija&<I'= #& 6rodavac po.=!DI"AGRA& SEKVENCI SLU#A"A KORI$%EN"A: PREGLED &ODELA NA LAGERU Osno.uje slu:beniku na.iva sistem da pronadje tra:eni model& <'6S1= 4& Sistem prika.uje prodavcu podatke o tra:enom modelu& <I'= : Prodavac : Sistem Vrati ( azivi!odela" azivi!odela Pronadji(!odel a'ageru" %razeni!odel a'ageru %" .iva sistem da pronađe na.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem prika.n* s0en(r*o SK -& 6rodavac po.

la.ni argumenti& Svaka S1.e&ode)( >? -"& NaziviModelaKojihImaNaLageru Vr(t*N(1*.<ModelNaLageru= & NaziviModela Vr(t*N(1*.*s >ProdatiBicikl= 4& signal Pron(d-*&ode) <ModelNaLageru= 5& signal Po. s/odno uspešnosti i.ivi neki/ S1 su i.e0(-Ko)*0*nu <ModelNaLageru= 8& IzmenjeniModelNaLageru Pro9en*Cenu <ModelNaLageru= 9& Poruka O'r*s* <ModelNaLageru= 3& Poruka Dod(.e0(-Ko)*0*nu <ModelNaLageru= 8& signal Pro9en*Cenu <ModelNaLageru= 9& signal O'r*s*&ode) <ModelNaLageru= 3& signal Dod(-&ode) <ModelNaLageru= & signal Vr(t*N(1*.*dent*r(-Ser.<ProdatiBicikl= %& signal Pron(d-*Prod(t*B*0*.e&ode)( <NaziviModela= -"& signal Vr(t*N(1*.*dent*r(-Ser.ultat anali.e sistemski/ dijagrama sekvenci dobijeno je ukupno 3 sistemski/ operacija koje treba projektovati.>? >a svaku od S1 ula.*s <ProdatiBicikl= 4& TrazeniModelNaLageru Pron(d-* <ModelNaLageru= 5& IzmenjeniModelNaLageru Po.vršenja. -& NoviProdatiBicikl A1ur*r(-*Kre*r(. vratiće odgovarajući signal& Na.e&ode)(U1Us)o. <NaziviModela= %- .e&ode)(U1Us)o.menjeni kako bi jasnije oslikavali nji/ovu funkciju& -& signal A1ur*r(-*Kre*r(.) <ProdatiBicikl= #& signal E.ni argumenti će biti istovremeno i i.REZULTAT ANALIZE SISTE&SKIH DI"AGRA&A SEKVENCI Kao re.<ProdatiBicikl= %& TrazeniProdatiBicikl Pron(d-* <ProdatiBicikl= #& IzmenjeniProdatiBicikl E.

0iju cenu :elimo da promenimo 6ostuslovi. .a sa SK. 0iju koli0inu :elimo da povećamo& 6ostuslovi.a sistemske operacije i oni opisuju njeno ponašanje& 5govori opisuju šta operacija treba da radi. signal? Ve. tog modela. (S6reduslovi. @ 6ostuslovi. 1brisiAodel <AodelNaBageru=. @ 6ostuslovi.a sa SK. 6ro0itan je model.urirajiKreiraj <6rodati$icikl=. signal? Ve. @ 6ostuslovi. (S% 6reduslovi. 6ro0itan je model. signal? Ve. • napravljen je novi prodati bicikl • smanjen je broj bicikala.a sa SK. 6ro0itan je prodati bicikl na kojem se evidentira restauracija& 6ostuslovi. 6ro0itan je model./!/! UGOVORI O SISTE&SKI& OPERACI"A&A 5govori se prave . '.a sa SK. (S4. 6ro0itan je prodati bicikl ukoliko postoji& UGOVOR 5: E. objašnjenja kako to treba da uradi& UGOVOR . be. 6ronadjiAodel <AodelNaBageru=. signal? Ve. 6romeniCenu <AodelNaBageru=. (S5 6reduslovi.*dent*r(-Ser. 6ronadji6rodati$icikl <6rodati$icikl=. 6ovecajKolicinu <AodelNaBageru=. signal? Ve.a sa SK.*s 1peracija. (S5 6reduslovi.a sa SK. signal? Ve. na lageru UGOVOR /: Pron(d-*Prod(t*B*0*. 6ro0itan je model. (S% 6reduslovi. koji :elimo da obrišemo& 6ostuslovi. (S# 6reduslovi.a sa SK. (S#. signal? Ve. (S5 6reduslovi.) 1peracija.: Pro9en*Cenu 1peracija. Kreiran je servis& UGOVOR 8: Pron(d-*&ode) 1peracija. Aodel je obrisan& %% .e0(-Ko)*0*nu 1peracija. A1ur*r(-*Kre*r(1peracija. 6ovećana je koli0ina modela na lageru& UGOVOR .videntirajServis <6rodati$icikl=. 6romenjena je cena modela na lageru& UGOVOR <: O'r*s*&ode) 1peracija. ukoliko postoji& UGOVOR :: Po.

signal? Ve.ivi modela. o kojima se vodi evidencija& UGOVOR A: Vr(t*N(1*.iviAodela=. (S8. @ 6ostuslovi. VratiNa. Kreiran je novi model na lageru& UGOVOR @: Vr(t*N(1*. VratiNa.iveAodela <Na.UGOVOR =: Dod(-&ode) 1peracija. 6ro0itani su na. (S5. (S8 6reduslovi.ivi modela.iveAodela5. signal? Ve. (S6reduslovi. 6ro0itani su na.a sa SK. 1peracija. (S4.a sa SK. (S#.a sa SK. (odajAodel <AodelNaBageru=.e&ode)(U1Us)o.e na lageru& %# . (S3 6reduslovi. bicikala koji se nala.iviAodela=.e&ode)( 1peracija.5slov <Na. @ 6ostuslovi. @ 6ostuslovi. signal? Ve.

on0e+tu()no6 9ode)( do'*-( se logi0ka struktura i ponašanje softverskog sistema& STRUKTURA SOFTVERSKOG SISTE&A ProdatiBicikl Si*raProdatogBicikla : String &me$upca : String !odel : String DatumProdaje : String -. !odel a'ageru Si*ra!odela : String aziv!odela : String $olicina : &nteger (ena : &nteger /1e0)bavljen -. /)bavljeno0je /Prodato01e ./!5! KONCEPTUALNI &ODEL Konceptualni model opisuje konceptualne klase domena problem& Konceptualni model sadr:i konceptualne klase<domenske objekte= i asocijacije<ve.)-en-( .n /Prodat01e ..među nji/& (omenski objekti <konceptualne klase= sastoje se od atributa koji opisuju nji/ove osobine& ProdatiBicikl Si*raProdatogBicikla : String &me$upca : String !odel : String DatumProdaje : String -.. /)bavljeno0je /Prodato01e .n )bavljeniServis +B : &nteger +estauracija : &nteger Si*ra : String K(o re1u)t(t (n()*1e s0en(r*-( SK * +r(.e= i.n /Prodat01e ...n )bavljeniServis +B : &nteger +estauracija : &nteger Si*ra : String %4 . !odel a'ageru Si*ra!odela : String aziv!odela : String $olicina : &nteger (ena : &nteger /1e0)bavljen -.

PONA$AN"E SISTE&A Sistemske )peracije #zuriraji$reiraj(prodati : ProdatiBicikl" : &nteger Pronadji ProdatiBicikl(prodati : ProdatiBicikl" : &nteger EvidentirajServis(prodati : ProdatiBicikl" : &nteger Pronadji!odel(model : !odel a'ageru" : &nteger Povecaj$olicinu(model : !odel a'ageru" : &nteger Promeni(enu(model : !odel a'ageru" : &nteger )brisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger %5 .

a komunikaciju i.među poslovne logike i skladišta podataka& %8 . -& Korisni0ki interfejs koji predstavlja ula.entaciju softverskog sistema& %& 'plikacionu logiku koja opisuje strukturu i ponašanje softverskog sistema& #& Skladište podataka koji 0uva stanje atributa softverskog sistema& 'plikaciona logika se projektuje ne.avisno od korisni0kog interfejsa& .vršenje sistemske operacije od klijenta i da ga prosledi do poslovne logike koja je odgovorna . -& Kontroler %& 6oslovna logika @ domenske klase #& 6oslovna logika @ sistemske operacije 4& (atabasebroker 5& Skladište podataka 8& Korisni0ki interfejs& Kontroler je odgovoran da pri/vati .no@i.lemenati tro@nivojske ar/itekture.a i.lanu repre.5! FAZA PRO"EKTOVAN"A 5! ! ARHITEKTURA SOFTVERSKOG SISTE&A Dro@nivojska ar/itektura se sastoji i. sledeći/ nivoa.a i.vršenje sistemske operacije& (atabase broker je odgovoran .a/tev .

.. Promeni(enu promeni(enu(model : !odel a'ageru" : &nteger ... Pronadji ProdatiBicikl l pronadjiProdatii#utomobil (prodati : ProdatiBicikl" : &nteger .... vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger %9 ....... .... )brisi!odel obrisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela . ..5!/! PRO"EKTOVAN"E APLIKACIONE LOGIKE B KONTROLER P) #4# 1E S&S%E!# #zuriraji$reiraj azuriraji$reiraj(prodati : ProdatiBicikl" : &nteger ... Povecaj$olicinu povecaj$olicinu(model : !odel a'ageru" : &nteger ........ evidentirajServis(prodati : ProdatiBicikl" : &nteger Pronadji!odel Pronadji!odel(model : !odel a'ageru" : &nteger ... $ontrolerP' #zuriraji$reiraj(prodati : ProdatiBicikl" : &nteger PronadjiProdatiBicikl (prodati : ProdatiBicikl" : &nteger EvidentirajServis(prodati : Prodati#utomobil" : &nteger Pronadji!odel(model : !odel a'ageru" : &nteger Povecaj$olicinu(model : !odel a'ageru" : &nteger Promeni(enu(model : !odel a'ageru" : &nteger )brisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger EvidentirajServis ... .

n )bavljeniServis +B : &nteger +estauracija : &nteger Si*ra : String )bavljeniServis(prodati : ProdatiBicikl" Pon(3(n-e s*ste9( Sistemske )peracije #zuriraji$reiraj(prodati : ProdatiBicikl" : &nteger Pronadji ProdatiBicikl (prodati : ProdatiBicikl" : &nteger EvidentirajServis(prodati : ProdatiBicikl" : &nteger Pronadji!odel(model : !odel a'ageru" : &nteger Povecaj$olicinu(model : !odel a'ageru" : &nteger Promeni(enu(model : !odel a'ageru" : &nteger )brisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger %3 .n /Prodat01e .. /)bavljeno0je /Prodato01e .ers.)(s( stru.. /1e0)bavljen !odel a'ageru Si*ra!odela : String aziv!odela : String $olicina : &nteger (ena : &nteger PomPovecaj$olicinu : &nteger Pom ova(ena : &nteger !odel a'ageru(" proveriPomPovecaj$olicinu(" : &nteger povecaj$olicinu(" : &nteger nemaBicikla a'ageru(" : boolean smanji$olicinu(" : &nteger postavi(enu:&nteger(" povecajSi*ru!odela(" : &nteger dodeliSi*ru!odela(model : !odel a'ageru" -.*7 .5!5 PRO"EKTOVAN"E STRUKTURE SOFTVERSKOG SISTE&A >APLIKACIONA LOGIKA C POSLOVNA LOGIKA C DO&ENSKE KLASE? Softverske klase strukture prave se na osnovu konceptualni/ klasa& D*-(6r(9 soft.ture! ProdatiBicikl Si*raProdatogBicikla : String &me$upca : String !odel : String DatumProdaje : String ProdatiBicikl (" povecajSi*ruBicikla(" : &nteger DodeliSi*ruBicikla(prodati : prodatiBicikl" : &nteger -.

signal 6ostuslovi. dijagrama aktivnosti.a stanja ili dijagrama strukture& UGOVOR : A1ur*r(-*Kre*r(1peracija. tog modela.urirajiKreiraj<6rodati$icikl=. dijagrama saradnje.5!8! PRO"EKTOVAN"E PONA$AN"A SOFTVERSKOG SISTE&A >APLIKACIONA LOGIKA C POSLOVNA LOGIKA C SISTE&SKE OPERACI"E? >a svaki od ugovora projektuju se konceptualna rešenja& Konceptualne reali.vrati!odel("" signal nadjiSlogiVrati5a(model" signal6 model smanji$olicinu(" signal promeniSlog(model" signal vratiBroj7adnjegSloga(prodatiPom" signal6 prodatiPom povecajSi*ruBicikla(" signal dodeliSi*ruBicikla(prodatiPom" signal kreirajSlog(prodati" signal % . sekvencni/ dijagrama.acije se mogu opisati preko objektnog pseudokoda <koji je dat u sledećem poglavlju=. na lageru& ak : #zuriraji$reiraj prodati : ProdatiBicikl prodatiPom : ProdatiBicikl l emaBicikla a'ageru(" boolean model : !odel a'ageru DBB+ : BazaPodataka postavi aziv!odela(prodati. napravljen je novi prodati bicikl i smanjen je broj bicikala. '. dijagrama prela.

6ro0itan je prodati bicikl na kojem se evidentira servis& 6ostuslovi.*dent*r(-Ser. Kreiran je servis& es : EvidentirajServis kreirajSlog (os" signal DBB+ : BazaPodataka nadjiSlogiVrati5a(prodati6 ne8 )bavljeniServis (prodati"" signal #" .UGOVOR /: Pron(d-*Prod(t*B*0*.*s 1peracija. signal? 6reduslovi. .videntirajServis <6rodati$icikl=. 6ro0itan je prodati bicikl ukoliko postoji& p: PronadjiProdatiBicikl DBB+ : BazaPodataka nadjiSlogiVrati5a(prodati6 ne8 )bavljeniServis (prodati"" prodati6 signal UGOVOR 5: E.signal 6ostuslovi. 6ronadji6rodati$icikl<6rodati$icikl=.) 1peracija.

signal? 6ostuslovi. signal? 6reduslovi. 6ro0itan je model. 6ro0itan je model. 6ronadjiAodel <AodelNaBageru=. 0iju koli0inu :elimo da povećamo& 6ostuslovi. 6ovećana je koli0ina modela na lageru& pk : Povecaj$olicinu boolean model : !odel a'ageru DBB+ : BazaPodataka proveriPomPovecaj$olicinu(" povecaj$olicinu(" signal promeniSlog (model" signal #- .e0(-Ko)*0*nu 1peracija. 6ovecajKolicinu <AodelNaBageru=.UGOVOR 8: Pron(d-*&ode) 1peracija. ukoliko postoji& p : Pronadji!odel DBB+ : BazaPodataka nadjiSlogiVrati5a (model" model6 signal UGOVOR :: Po.

signal? 6reduslovi. signal? 6reduslovi. 1brisiAodel <AodelNaBageru=. Aodel je obrisan& om : )brisi!odel DBB+ : BazaPodataka brisiSlog(model" signal #% . 6ro0itan je model.: Pro9en*Cenu 1peracija. 6romenjena je cena modela na lageru& pc : Promeni(enu model : !odel a'ageru DBB+ : BazaPodataka postavi(enu(" signal promeniSlog (model" signal UGOVOR <: O'r*s*&ode) 1peracija. 6romeniCenu <AodelNaBageru=.UGOVOR . 6ro0itan je model. koji :elimo da obrišemo& 6ostuslovi. 0iju cenu :elimo da promenimo 6ostuslovi.

Kreiran je novi model na lageru& dm : Dodaj!odel model : !odel a'ageru modelPom : !odel a'ageru DBB+ : BazaPodataka vratiBroj7adnjegSloga (modelPom" modelPom6 signal povecajSi*ru!odela(" signal dodeliSi*ru!odela(modelPom" signal kreirajSlog(model" signal UGOVOR @: Vr(t*N(1*. 6ro0itani su na. signal? 6ostuslovi.ivi modela.e&ode)( 1peracija.iviAodela=. (odajAodel <AodelNaBageru=. signal? 6ostuslovi.UGOVOR =: Dod(-&ode) 1peracija. o kojima se vodi evidencija& vnm : Vrati azive!odela DBB+ : BazaPodataka nadji azive!odela( azivi!odela" azivi!odela6 signal ## .iveAodela <Na. VratiNa.

e&ode)(U1Us)o. signal? 6ostuslovi.e na lageru& vnmu : Vrati azive!odelaUzUslov DBB+ : BazaPodataka nadji azive!odelaUzUslov( azivi!odela" azivi!odela6 signal #4 .ivi modela. 6ro0itani su na.5slov <Na. VratiNa.iveAodela5.UGOVOR A: Vr(t*N(1*.iviAodela=. 1peracija. bicikala koji se nala.

vršenjeS1<=& eus pes no otvorena baza : z Pocetno s tanje )ps te&zvrs enjeS) do 9 )tvoriBazu 2s ignal<=?3 2s ignal<=." eus pes no otvorena baza : k do9 Prikazi(..Baza us p.drajver. D*-(6r(9 +re)(1( st(n-( 9etode o+3teI1.konekcija.a konekciju sa ba.r3en-eSO>? #5 .zas tita.." 2s i gnal <==3 2s ignal<=>3 do9 Prikazi(.om i ." . 3 com m it us pes no uradjen do9 B7atvoriBazu com mi t bezus pesno uradjen do9 B7atvori Bazu 2s ignal<C>3 rollback us pes no uradjen do9 B7atvoriBazu rollback%rans akcije do9 rollback%rans akcije 2s ignal<C=3 eus pes no otvorena baza : d do9 Prikazi (.3 Us pes no otvoren a ba za do9 &zvrs enjeS) 2s ignal<A3 2s ignal<@3 com m it%rans akcije do 9 com mit%rans akci je 2s ignal<C?3 2s igna l<C.beđuje ." rollback bezus pes no urad jen do9 B7atvoriBazu 7atvoriBazu do9 7atvoriBazu 2s ignal<D.vršenja transakcije&Aetoda koja to obe.ove se opšteI.a kontrolu i.Svaka od S1 treba da nasledi klasu 1pštaS1 koja je odgovorna .3 Baza us pes no zatvore na do9 Prik azi(." 2s i gnal< D?3 Baza neus pes no zatvorena do9 Prikazi(. zatvore na.Baza neus pes no zatvorena.

.... dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela )pstaS) azivi!odela DBB+ : DatabaseBroker signal : &nteger Baza)tvorena : boolean opste&zvrsenjeS)(" izvrsenjeS)(" otvoriBazu(" zatvoriBazu(" proveraUspesnosti%ransakcije(" stanje)peracije(" stanje)peracije)pstaS)(" Prikazi(" )pstaS)!odel a'ageru DBB+ : DatabaseBroker signal : &nteger Baza)tvorena : boolean opste&zvrsenjeS)(" izvrsenjeS)(" otvoriBazu(" zatvoriBazu(" proveraUspesnosti%ransakcije(" stanje)peracije(" stanje)peracije)pstaS)(" Prikazi(" . Pronadji ProdatiBicikl pronadjiProdatiBicikl (prodati : ProdatiBicikl" : &nteger ..... Promeni(enu promeni(enu(model : !odel a'ageru" : &nteger .. Pronadji!odel Pronadji!odel(model : !odel a'ageru" : &nteger .....a S1 nasleđuju klase 1pstaS1AodelNaBageru. 1pstaS16rodat$icikl i 1pstaS1Na...iviAodela& #zuriraji$reiraj azuriraji$reiraj(prodati : ProdatiBicikl" : &nteger .. $ontrolerP' #zuriraji$reiraj(prodati : ProdatiBicikl" : &nteger Pronadji ProdatiBicikl (prodati : ProdatiBicikl" : &nteger EvidentirajServis(prodati : ProdatiBicikl" : &nteger Pronadji!odel(model : !odel a'ageru" : &nteger Povecaj$olicinu(model : !odel a'ageru" : &nteger Promeni(enu(model : !odel a'ageru" : &nteger )brisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel(model : !odel a'ageru" : &nteger Vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger .... Povecaj$olicinu povecaj$olicinu(model : !odel a'ageru" : &nteger . obrisi!odel(model : !odel a'ageru" : &nteger Dodaj!odel .. vrati azive!odela( azivi!odela : String 2 3" : &nteger Vrati azive!odelaUzUslov vrati azive!odelaUzUslov( azivi!odela : String 2 3" : &nteger #8 ....... EvidentirajServis evidentirajServis(prodati : ProdatiBicikl" : &nteger )pstaS)ProdatiBicikl l DBB+ : DatabaseBroker signal : &nteger Baza)tvorena : boolean opste&zvrsenjeS)(" izvrsenjeS)(" otvoriBazu(" zatvoriBazu(" proveraUspesnosti%ransakcije(" stanje)peracije(" stanje)peracije)pstaS)(" Prikazi(" . )brisi!odel .Klase koje su odgovorne .....

iveAodela5.ivanja<=? 4& String postaviVrednosti'tributa<=? 5& String vrati5slov>aNadjiSlog<=? 8& boolean Napuni<)esultSet )Sslog=? 9& boolean NapuniSlog<)esultSet )Sslog=? Operacije ovog interfejsa mora da implementira svaka domenska klasa koja eli da joj !ude omogu"ena komunikacija sa #ata!aseBroker klasom& #9 . -& int otvori$a.u<= #& int commitDransakcije<= 4& int rollbackDransakcije<= 5& int vrati$roj>adnjegSloga<1psti(omenski1bjekat sm= 8& int kreirajSlog<1psti(omenski1bjekat sm= 9& int daBi6ostojiSlog<1psti(omenski1bjekat sm= 3& int nadjiSlogiVratiEa<1psti(omenski1bjekat sm= & int brisiSlog<1psti(omenski1bjekat sm= -"& int promeniSlog<1psti(omenski1bjekat sm= --& int nadjiNa.iveAodela <String FG Na. kao per.iviAodela= -%& int nadjiNa.5!:! PRO"EKTOVAN"E APLIKACIONE LOGIKECDATABASE BROKER 6rojektovana je klasa (atabase$roker.u<= %& int .uje metode.atvori$a.istentni okvir koji reali.iviAodela= 5 procesu pravljenja generi0ki/ metoda (atabase$roker klase dobili smo metode interfejsa 1psti(omenski1bjekat& -& String vratiImeKlase<=? %& String vratiVrednosti'tributa<=? #& String vrati'tribut6retra.5slov <String FG Na.

.(" DatabaseBroker otvoriBazu(" zatvoriBazu(" commit%ransakcije(" rollback%ransakcije(" pamtiSlog(" brisiSlog(" brisiSlogove(" promeniSlog(" da'iPostojiSlog(" nadjiSlogiVrati5a(" vrati7adnjiSlog(" vratiBroj7adnjegSloga(" kreirajSlog(" )pstiDomenski)bjekat vratiVrednosti#tributa(" : String postaviVrednosti#tributa(" : String vrati&me$lase(" : String vratiUslov7a adjiSlog(" : String vratiUslov7a adjiSlogove(" : String apuni(rs : +esultSer6 rs. : +esultSet" : Boolean vrati#tributPretrazivanja(" : String apuni(rs : +esultSet" : Boolean #3 ..(" /1e0)bavljen -. !odel a'ageru Si*ra!odela : String aziv!odela : String $olicina : &nteger (ena : &nteger .. /)bavljeno0je /Prodato01e ...n )bavljeniServis +B : &nteger +estauracija : &nteger Si*ra : String .......(" -.Kao re....ultat projektovanja (atabase$roker klase i interfejsa 1psti(omenski1bjekat. dobijen je sledeći Dijagram klasa ProdatiBicikl Si*raProdatogBicikla : String &me$upca : String !odel : String DatumProdaje : String .n /Prodat01e .

i i combo boJ.*dent*r(n-e +rod(-e '*0*.ive modela bicikala koji se nala.ivi svi/ modela koji/ ima na lageru& 4& Slu:benik unosi podatke o prodatom biciklu& <'65S1= # .i na.uje sledeću formu odakle se reali.()( -& Slu:benik po.uju svi slu0ajevi korišćenja& SLU#A" KORI$%N"A : E.iva sistem da pronadje na.ive modela bicikala koji se nala.e na lageru& <'6S1= 1pis akcije.e na lageru& <I'= Napomena. Slu:benik pritiska dugme H6rodaja biciklaI& %& Sistem pronala. u okviru koga se nala.uje slu:beniku na. otvara se nova forma.e na lageru& <S1= #& Sistem prika.5!.! STRUKTURA KORISNI#KOG INTERFE"SA Sistem pri pokretanju prika. u okviru koje se nala.ive modela bicikala koji se nala.e na.

uje slu:beniku i poruku je operacija uspešno i. Slu:benik pritiska dugme H1KI& 8& Sistem a:urira broj bicikala i .vršiti& <I'= SLU#A" KORI$%EN"A /: E. sistem obaveštava slu:benika da se operacija ne mo:e i. na lageru.vršena& 3& Slu:benik bele:i broj prodatog bicikala na papirni dokument& <'NS1= A)tern(t*.n( s0en(r*( • 5&-& 5koliko više nema bicikala.apo0ne vođenje evidencije o prodatom biciklu& <'6S1= 1pis akcije.)-eno6 ser.apo0inje vođenje evidencije o prodatom biciklu& <S1= 9& Sistem prika.*s( '*0*.iva sistem da a:urira broj bicikala na lageru i da .a unos i prika. Slu:benik pritiska dugme H6retraga prodati/ bicikalaI i otvara se forma .5& Slu:benik po.uje slu:beniku podatke o prodatom biciklu& <I'= Napomena. podataka o prodatim biciklima& -& Slu:benik unosi broj prodatog bicikala na kojem je obavljen servis& <'65S1= 4" . Sistem prika. tog modela.()( Osno.*dent*r(n-e o'(.n* s0en(r*o SK Napomena.

%& Slu:benik po.iva sistem da pronađe prodati bicikl& <'6S1= 1pis akcije. Slu:benik pritiska dume H6ronadjiI ili pritiska na tastaturi tipku KenterL& #& Sistem pronala.i tra:eni prodati bicikl& <S1= 4& Sistem prika.uje slu:beniku podatke o prodatom biciklu& <I'= 5& Slu:benik unosi podatke o obavljenom servisu& <'65S1= 4- .

5koliko prodati bicikl pod .adatim brojem ra0una ne postoji.uje slu:beniku i.menjene podatke o prodatom biciklu& <I'= A)tern(t*.iva sistem da evidentira obavljeni servis& <'6S1= 1pis akcije. Slu:benik pritiska dugme H1KI& 9& Sistem evidentira obavljeni servis& <S1= 3& Sistem prika. sistem o tome obaveštava slu:benika&<I'= 6rekida se i. Slu:benik pret/odno pritiska dugme servis i otvara mu se forma .a unos podataka o obavljenom servisu& 8& Slu:benik po.vršenje scenarija& 4% .n( s0en(r*( • #&.Napomena.

ive modela o kojima se vodi evidencija& <'6S1= 1pis akcije.iv modela 0iju koli0inu :eli da poveća& 5& Slu:benik po. u okviru koje se vrši pregled i i.i na.uje slu:beniku podatke o tra:enom modelu& <I'= 4# .i tra:eni model& <S1= 9& Sistem prika.uje slu:beniku na.iva sistem da pronađe na.iv modela. Slu:benik pritiska dugme HAodeli na lageruI& %& Sistem pronala. .e na.n* s0en(r*o SK -& Slu:benik po.a koji je stigla nova isporuka bicikala& <'65S1= 1pis akcije.()( Osno.mena atributa modela na lageru& 5 okviru combo boJ@a se nala.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika. 1tvara se nova forma. Sistem automatski pokreće sistemsku operaciju.ivi modela o kojima se vodi evidencija& 4& Slu:benik bira na.iva sistem da pronadje tra:eni model& <'6S1= 1pis akcije.*dent*r(n-e +r*st*6)*7 '*0*.SLU#A" KORI$%EN"A 5: E.abre na.ive modela o kojima se vodi evidencija&<I'= Napomena. Slu:benik bira na. 0im slu:benik i.iv :eljenog modela& 8& Sistem pronala.

Slu:benik pret/odno pritiska dugme H6ovecaj kolicinuI i otvara mu se polje .a unos broja& 44 .3& Slu:benik unosi broj pristigli/ bicikala& <'65S1= Napomena.

n* s0en(r*o SK -& Slu:benik po.i na. Sistem prika.iva sistem da poveća broj bicikala. sistem obaveštava bicikala da je pogrešio& <I'= 6rekida se i.i tra:eni model& <S1= 9& Sistem prika.& Slu:benik po.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.uje slu:beniku na.n( s0en(r*( • 9&.vršenje scenarija& SLU#A" KORI$%EN"A 8.iv modela. na lageru& <'6S1= 1pis akcije. Slu:benik pret/odno pritiska dugme H6romeni cenuI i otvara mu se polje . kojem :eli da promeni cenu& <'65S1= 5& Slu:benik po.iva sistem da pronađe na. 6rvi/ sedam koraka se odvija sli0no kao u pret/odnom scenariju& 3& Slu:benik unosi novu cenu modela& <'65S1= Napomena.5koliko slu:benik unese negativnu vrednost.uje slu:beniku podatke o tra:enom modelu& <I'= Napomena. tog modela.uje i poruku da je broj bicikala uspešno povećan& A)tern(t*.iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala.ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik bira na.a unos nove cene& 45 .ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.uje slu:beniku model sa novim podacima& <I'= Napomena. Slu:benik pritiska dugme H1KI& -"& Sistem povećava broj bicikala& <S1= --& Sistem prika. Pro9en( 0ene 9ode)( Osno.

6rvi/ sedam koraka se odvija sli0no kao u pret/odnom scenariju& 3& Slu:benik po.uje i poruku da je cena uspešno promenjena& SLU#A" KORI$%EN"A :: Br*s(n-e 9ode)( Osno.uje slu:beniku model sa novim podacima& <I'= Napomena.uje slu:beniku na.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.iva sistem da obriše taj modela& <'6S1= 1pis akcije.ive modela o kojima se vodi evidencija&<I'= 4& Slu:benik bira na.iv modela.iva sistem da promeni cenu bicikala& <'6S1= 1pis akcije.i tra:eni model& <S1= 9& Sistem prika.& Slu:benik po.iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala.uje poruku slu:beniku da je model uspešno obrisan& <I'= 48 .i na. Slu:benik pritiska dugme H1brisi modelaI& & Sistem briše tra:eni model& <S1= -"& Sistem prika.iva sistem da pronađe na.n* s0en(r*o SK -& Slu:benik po. slu:benik pritiska dugme H1KI& -"& Sistem menja cenu bicikala& <S1= --& Sistem prika.uje slu:beniku podatke o tra:enom modelu& <I'= Napomena. koji :eli da obriše <'65S1= 5& Slu:benik po.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala. Sistem prika.

uje serviseru podatke o prodatom biciklu& <I'= 49 .iva sistem da pronađe na.i na. da bi mu se otvorila polja .ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala. Slu:benik pret/odno pritiska dugme H(odaj modelI. . 1va tri koraka su identi0na kao i prva tri koraka u pret/odnom scenariju& 4& Slu:benik unosi podatke o novom modelu& <'65S1= Napomena.SLU#A" KORI$%EN"A .uje poruku korisniku da je model uspešno dodat& <I'= SLU#A" KORI$%EN"A <: Pre6)ed o'(.iva sistem da doda novi model& <'6S1= 1pis akcije.n* s0en(r*o SK -& Slu:benik po.i tra:eni prodati bicikl& <S1= 4& Sistem prika.a unos podataka& 5& Slu:benik po.n* s0en(r*o SK -& Serviser unosi broj prodatog bicikala.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.)-en*7 ser.eli da pregleda obavljene servise&<'65S1= %& Serviser po.ive modela o kojima se vodi evidencija&<I'= Napomena.: (odavanje modela Osno.*s( Osno.iva sistem da pronađe prodati bicikl& <'6S1= #& Sistem pronala.uje slu:beniku na. Slu:benik pritiska dugme H1KI& 8& Sistem dodaje model& <S1= 9& Sistem prika.a koji .

sistem o tome obaveštava slu:benika&<I'= 6rekida se i. 5 i 8& 43 .Napomena. 1vi koraci su identi0ni koracima -@9 slu0aja korišćenja broj #. 4.5koliko prodati bicikl pod .i na.ive modela o kojima se vodi evidencija&<S1= #& Sistem prika.uje prodavcu podatke o tra:enom modelu& <I'= Napomena. 0iji podaci ga interesuju& <'65S1= 5& 6rodavac po.uje slu:beniku na.iva sistem da pronađe tra:eni model& <'6S1= 8& Sistem pronala.iva sistem da pronađe na.i tra:eni model& <S1= 9& Sistem prika.n( s0en(r*( • #&.ive modela o kojima se vodi evidencija& <'6S1= %& Sistem pronala.ive modela o kojima se vodi evidencija&<I'= 4& 6rodavac bira na.vršenje scenarija& SLU#A" KORI$%EN"A =: Pre6)ed 9ode)( n( )(6eru Osno.iv modela. 1vi koraci su identi0ni koracima -@4 slu0aja korišćenja broj %& A)tern(t*.n* s0en(r*o SK -& 6rodavac po.adatim brojem ra0una ne postoji.

gra*ickiElementi S)PronadjiProdatiBicikl (gra*ickiElementi" pronadjiProdatiBicikl (Bicikl" signal6 ProdatiBicikl signal6 gra*ickiElementi S)EvidentirajServis(gra*ickiElementi" evidentirajServis(Prodati#Bicikl" signal6 ProdatiBicikl signal6 gra*ickiElementi S)Vrati azive!odela(gra*ickiElementi" S)Pronadji!odel(gra*ickiElementi" signal6 gra*ickiElementi signal6 gra*ickiElementi vrati azive!odela( azivi!odela" pronadji!odel(!odel a'ageru" signal6 azivi!odela signal6 !odel a'ageru S)Dodaj!odel(gra*ickiElementi" dodaj!odel(!odel a'ageru" signal6 !odel a'ageru signal6 gra*ickiElementi S))brisi!odel(gra*ickiElementi" obrisi!odel(!odel a'ageru" signal6 !odel a'ageru signal6 gra*ickiElementi S)Promeni(enu(gra*ickiElementi" promeni(enu(!odel a'ageru" signal6 !odel a'ageru signal6 gra*ickiElementi S)Povecaj$olicinu(gra*ickiElementi" povecaj$olicinu(!odel a'ageru" signal6 !odel a'ageru signal6 gra*ickiElementi 4 .SEKVENCNI DI"AGRA& KI DProdajaBicikala : EkranskaEorma D!odeli a'ageru : EkranskaEorma DPretragaProdatihBicikala : EkranskaEorma DServis : EkranskaEorma $ontroler$& : $ontroler$& $ontrolerP' : So*tverskiSistem S)Vrati azive!odelaUzUslov(gra*ickiElementi" vrati azive!odelaUzUslov( azivi!odela" signal6 signal6 gra*ickiElementi azivi!odela S)#zuriraji$reiraj(gra*ickiElementi" azuriraji$reiraj(ProdatiBicikl" signal6 ProdatiBicikl signal.

5" .

klase (ialogServis& K4 7 na. klase 1pstaS1AodelNaBageru& K3 7 na.iv komponente.iv komponente. 1pstaS1Na.vedena i. klase Kontroler6B& K9 7 na.iv komponente.urirajiKreiraj& K-. 1pstaS1AodelNaBageru&java Komponenta je i.iviAodela&java Komponenta je i. 6ronadjiAodel&java4 Komponenta je i.iv komponente. '.vedena i.vedena i.vedena i. klase (ialog6retraga6rodati/$icikala& K# 7 na.7 na. klase (ialog6rodaja$icikla& K% 7 na. klase 6ronadji6rodati$icikl& K-% 7 na.vedena i.vedena i. klase '.7 na. klase KontrolerKI& K8 7 na.iv komponente.vedena i. 1pstaS16rodati$icikl&java Komponenta je i. (ialogServis&java Komponenta je i.videntirajServis& K-# 7 na. klase .vedena i.iv komponente. (ialog6retraga6rodati/$icikala&java Komponenta je i. . klase 6ronadjiAodel& 5- . KontrolerKI&java Komponenta je i. 6ronadji6rodati$icikl&java Komponenta je i.urirajiKreiraj&java Komponenta je i.iv komponente.8! I&PLE&ENTACI"A Komponente mo:emo dobiti i.videntirajServis&java Komponenta je i.vedena i.iv komponente.vedena i. klase (ialogAodeliNaBageru& K5 7 na.vedena i.vedena i. -& Korisni0ki interfejs %& Kontroler poslovne logike #& 6onašanje softverskog sistema 4& Struktura softverskog sistema 5& (atabase broker 8& Skladište podataka Na osnovu ar/itekture softverskog sistema dobili smo sledeće komponente.iv komponente. klase 1pstaS1Na.iviAodela& K-" 7 na.iv komponente.iv komponente.iv komponente. klasa i interfejsa ili podsistema ar/itekture softverskog sistema& 6odsistemi ar/itekture softverskog sistema su. (ialog6rodaja$icikla&java Komponenta je i.vedena i. Kontroler6B&java Komponenta je i. (ialogAodeliNaBageru&java Komponenta je i. klase 1pstaS16rodati$icikl& K 7 na.              K.iv komponente.

VratiNa. (odajAodel&java Komponenta je i.vedena i. AodelNaBageru i 1bavljeniServis& 5% . klase VratiNa.iveAodela& K.vedena i.iv komponente. 1brisiAodel&java Komponenta je i. klase VratiNa.5slov& K%" 7 na. AodelNaBageru i 1bavljeniServis& K%% 7 na. klase 6romeniCenu& K-3 7 na. $ikeBand&mdb Komponenta je i. klase 1brisiAodel& K-8 7 na.          K-4 7 na.iv komponente. interfejsa 1psti(omenski1bjekat& K%. klasa 6rodati$icikl.vedena i.iv komponente.iveAodela5.iv komponente.iv komponente. klase (odajAodel& K-5 7 na. klase <podsistema= (atabase$roker& K%# 7 na. (omenski1bjekti&java Komponenta je i. 6romeniCenu&java Komponenta je i.vedena i. tabela 6rodati$icikl.vedena i. klase 6ovecajKolicinu& K-9 7 na.vedena i.iv komponente. 1psti(omenski1bjekat&java Komponenta je i.7 na.iv komponente. VratiNa.iveAodela&java Komponenta je i.5slov&java Komponenta je i.vedena i.vedena i. (atabase$roker&java Komponenta je i. 6ovecajKolicinu&java Komponenta je i.7 na.iveAodela5.vedena i.vedena i.iv komponente.iv komponente.iv komponente.

iveAodela5.iviAodela&java -5& VratiNa. -& 1psti(omenski1bjekat&java %& (atabase$roker&java #& (omenski1bjekti&java 4& 1pstaS1AodeliNaBageru&java 5& (odajAodel&java 8& 1brisiAodel&java 9& 6ronadjiAodel&java 3& 6ovecajKolicinu&java & 6romeniCenu&java -"& 1pstaS16rodati$icikli&java --& '.)edosled kompajliranja komponenti.& (ialog6rodaja$icikala&java %"& (ialog6retraga6rodati/$icikala&java %-& (ialogServis&java %%& (ialogAodeliNaBageru&java %#& Elavna2orma&java %4& 'pplication&java %5& 'pplication 5# .5slov&java -9& Kontroler6B&java -3& KontrolerKI&java .urirajiKreiraj&java -%& 6ronadji6rodati$icikl&java -#& .iveAodela&java -8& VratiNa.videntirajServis&java -4& 1pstaS1Na.

Sign up to vote on this title
UsefulNot useful