Magacinsko Poslovanje

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 70

Magacinsko poslovanje Saetak: U radu je opisan proces projektovanja i implementacije aplikacije magacinskog poslovanja.

Postupak projektovanja je izveden UML metodologijom koja je u radu detaljno objanjena i predstavljena kroz sve faze. U radu je dat poseban osvrt na dva kompletna slu aja kori!enja: prijemnica i otpremnica. U okviru rada dat je opis vieslojne ar"itekture aplikacije# razvojnog alata $isual Studio%a &''( i baze MS S)L &'''. *bjanjen je na in implementacije svakog sloja ponaosob.. +lju ne re i: UML# distribuiran# L,-# vieslojna ar"itekutra# .-./# 0eb service# $P-.

Warehouse business ,bstract: /"is 1ork describes process of projecting and implementation aplication of 1are"ouse business. Procedure of projecting is performed UML met"odolog2 1"ic" is detailed describe in 1ork and represented t"ru eac" p"ase. 3n 1ork 1as given specific attention on t1o complete use cases: reception note and dispatc" note ,lso it is given description of n%tier arc"itecture of application# development tool $isual Studio.-./ &''( and data base MS S)L &'''. 3t is describe t"e implementation 1a2 of ever2 tier eac" 1it" special point on 0eb service tec"nologies. +e2 1ords: UML# distributed# L,-# n%tier arc"itecture# .-./# 0eb services# $P-

Veljko Pakevi

Magainsko poslovanje

SADRAJ

..................................................................................................................1 SADRAJ...................................................................................................2 I U !D....................................................................................................................................................................."

3.4 U$*5 U M,6,73-S+* P*SL*$,-8. .....................................................................9


II UM#.....................................................................................................................................................................$

33.4 :/, 8. UML......................................................................................................................; 33.& M*5.L3<,-8. S3S/.M, -*$3 $S. S/,<3 -,=3-...............................................................> 33.( UML +*MP*-.-/...........................................................................................................?
II.3.1 Class dijagram........................................................................................................................................7 II.3.2 Use Case dijagram...............................................................................................................................10 II.3.3 State dijagram......................................................................................................................................12 II.3. Se!"en#e dijagram...............................................................................................................................13 II.3.$ Colla%oration dijagram........................................................................................................................1 II.3.& '#tivit( dijagram..................................................................................................................................1$ II.3.7 Component dijagram............................................................................................................................17 II.3.) *eplo(ment dijagram...........................................................................................................................1) III MA%A&I'S(! )!S#! A'J* J*+I(!M UM# , A..............................................................................2III.1.1 Unos prijemni#e..................................................................................................................................22
(.4.4.4 Sekvencni dijagram% Unos prijemnice...........................................................................................................&( (.4.4.& +olaboracioni dijagram% Unos prijemnice.....................................................................................................&9 (.4.4.( 5ijagram ,ktivnosti% Unos prijemnice..........................................................................................................&;

III.1.2 '+"riranje prijemni#e..........................................................................................................................2&


(.4.&.4 Sekvencni dijagram% ,uriranje prijemnice...................................................................................................&? (.4.&.& +olaboracioni dijagram% ,uriranje prijemnice.............................................................................................&@ (.4.&.( 5ijagram aktivnosti% ,uriranje prijemnice...................................................................................................&A

III.1.3 ,risanje prijemni#e.............................................................................................................................30


(.4.(.4 Sekvencni dijagram% Brisanje prijemnice......................................................................................................(4 (.4.(.& +olaboracioni dijagram% Brisanje prijemnice................................................................................................(& (.4.(.( 5ijagram aktivnosti% Brisanje prijemnice Slika (.4.(.(: Brisanje Prijemnice C,ctivit2 5iagramD....................................((

III.1. *ijagram klasa- Prijemni#a................................................................................................................3 III.1.$ *ijagram Stanja..................................................................................................................................3$ III.1.& Unos otpremni#e " maloprodaj".........................................................................................................3)
(.&.4.4 Sekvencni dijagram% Unos *tpremnice..........................................................................................................(A (.&.4.& +olaboracioni dijagram% Unos *tpremnice...................................................................................................9' (.&.4.( 5ijagram aktivnosti% Unos *tpremnice..........................................................................................................94

III.1.7 '+"riranje otpremni#e " maloprodaj"................................................................................................ 2


(.&.&.4 Sekvencni dijagram% ,uriranje *tpremnice.................................................................................................9( (.&.&.& +olaboracioni dijagram% ,uriranje *tpremnice...........................................................................................99 (.&.&.( 5ijagram aktivnosti% ,uriranje *tpremnice.................................................................................................9;

III.1.) ,risanje otpremni#e " maloprodaj".................................................................................................... &


(.&.(.4 Sekvencni dijagram% Brisanje *tpremnice.....................................................................................................9? (.&.(.& +olaboracioni dijagram% Brisanje *tpremnice...............................................................................................9@ (.&.(.( 5ijagram aktivnosti% Brisanje *tpremnice.....................................................................................................9A

III.1.. *ijagram klasa- /tpremni#a..............................................................................................................$0 333.& 5.PL*EM.-/ 538,6<,M...............................................................................................;4

Veljko Pakevi

Magainsko poslovanje

I RA+ !J A)#I(A&IJ*.................................................................................................................................$2 IV.1.1 Mi#roso0t Vis"al St"dio 2003..............................................................................................................$2 IV.1.2 Mi#roso0t S12 Server 2000.................................................................................................................$ 3$.& ,<F3/.+/U<, ,PL3+,738.............................................................................................;; IV.2.1 Pre3enta#ioni sloj................................................................................................................................$&
9.&.4.4 Gorme............................................................................................................................................................;?

IV.2.2 ,"siness Sloj........................................................................................................................................$. IV.2.3 ,rokeri.................................................................................................................................................&2 IV.2. ,a3a podataka.....................................................................................................................................&2 DA.A WAR*/!USI'% I !#A)...................................................................................................................0" I I+IJA..............................................................................................................................................................01 II +A(#JU2A(.................................................................................................................................................03 III #I.*RA.URA..............................................................................................................................................4-

Veljko Pakevi

Magainsko poslovanje

I U !D
I.1 U !D U MA%A&I'S(! )!S#! A'J*

U svetu velike konkurencije# gde razlika izmeHu proizvoda kako u kvalitetu tako i u karakteristikama nestaje# svaki kupac je zlata vredan. Borba izmeHu kompanija svakim danom ja a# a veoma esto uspe" zavisi samo od trenutka# od prave informacije u pravo vreme. +ompanije koje imaju bolje informacije# kompanije koje znaju ta se u svakom trenutku na tritu za"teva postaju lideri trita I koji diktiraju standarde i postavljaju pravila igre. Magacinsko poslovanje je namenjeno magacioneru koji isklju ivo evidentira kartice robe ili materijala u magacinu. $ri se unos# auriranje i listanje osnovni" Cmati ni"D podataka potrebni" za voHenje magacinskog poslovanja# kao i svi" ulaznoJizlazni" promena. Mogu!e je definisati sve potrebne vrste ulaznoJizlazni" dokumenata# a obezbeHena je nji"ova kontrola i korekcija. U aplikaciji se vode kartice artikala i izraHuju lager liste. Pretraivanje podataka se vri na vie na ina: po ifri# po nazivu# po dobavlja u. 3zvetaji o prometu se rade po ulaznoJizlaznim dokumentima i danima. <ad se sastoji od ; glava i literature. U prvoj glavi Uvod dat je opis funkcionisanja aplikacije Magacinskog Poslovanja. 5ruga glava bavi se UML%om. U okviru nje objanjeno je ta je UML i koje su osnovne gradivne komponente. +onkretan proces primene UML%a na primeru dva magacinska dokumenta: prijemnice i otpremnice dat je u tre!oj glavi: Magacinsko poslovanje jezikom UML%a. <azvojem aplikacije bavi se etvrta glava koja opisuje na in implemenatacije aplikacije# razvo%jne alate# ar"itekturu aplikacije. U petoj glavi dat je zaklju ak.

Veljko Pakevi

Magainsko poslovanje

II UM#
II.1 56a je UM#

Pove!anjem kompleksnosti poslovni" procesa# ra unarski sistemi za nji"ovo pra!enje i upravljanje svakim danom postaju sve kompleksniji. *ni esto obu"vataju ve!i broj ra unara# razli ite programe# velike mree ra unara koji su na velikim udaljenostima# meHusobno pove% zane baze i ogromne# ogromne koli ine podataka. Postavlja se pitanje kako uspeno upravljati tako komplikovanim sistemimaK +lju je u dizajniranju procesa tako da i" klijenti# projektanti# programeri i svi drugi koji su uklju eni u pri u razvoja programa lako mogu da razumeju. Upravo UML omogu!ava takav vid organizacije. Ukoliko i dalje neko nije siguran u potrebu za kvalitetnim projektovanjem programa neka zamisli slede!u situaciju. -a primer: klijent odlazi u graHevinsku kompaniju i trai da mu izgrade ku!u od &''' kvadratni" metara sa ; soba i & kupatila i kae P*=-3/. *5M,F. +ako vi budete gradili tako !emo mi crtati plan. -aravno niko ne bi gradio ku!u na ovaj na in. MeHutim na alost ovakav vid razvoja programa je naj e!i. Ba kao to bi klijent najpre otiao u ar"itektonski biro i tamo napravio detaljan plan ku!e koju eli da izgradi# tako bi trebalo razvijati i programe. 8edan od ti" na ina je i UML. UML je nastao 4AA? kao metod za dizajn programa uz pomo! dijagrama. -apravljen je od stanje najbolji" stru njaka koji se bave objektno%orjentisanim projektovanjem. /o je definitivno najzna ajnija stvar koja se desila soft1are%skoj industriji u poslednji" par godina. Svaka druga inenjerska disciplina ima svoj standardni metod voHenja dokumentacije. .lektri ari imaju eme# ar"itekte i graHevinari nacrte. Soft1are%ska industrija sada ima svoj na in UML. -eke od prednosti kori!enja UML%a: Soft1are%ski sistemi !e biti profesionalno isprojektovani i dokumentovane pre nego to se po ne sa kodiranjem. -a taj na in se unapred zna ta !e se dobiti kao rezultat. +ako je sistem prvo isprojektovan# kori!enje istog koda je veoma u estalo kao i njegova efikasnost# samim tim se smanjuje cena programiranja. Logi ke rupe i problemi su prime!eni ve! u fazi projektovanja. Smanjuje se broj iznenaHenja prilikom programiranja. UML omogu!ava da se vidi celokupna slika sistema# +ada je potrebno napraviti modifikacije sistema# to je izuzetno jednostavno uraditi jer je ceo sistem dokumentovan. -ema potreba za dugotrajnim pretraivanjem koda i razmiljanjem zato je to tako uraHeno. Samim tim se zna ajno smanjuju trokovi odravanja. Ukoliko se javi potreba za zamenom programera ili uvoHenjem novi"# UML crtei !e mu omogu!iti bre uklju ivanje u sistem. Ukoliko se javi potreba za komunikacijom sa tre!im osobama u vezi projekta# za"valju!i UML dokumentaciji to !e biti puno bre i efikasnije. U jednoj re enici: +ori!enje UML%a dovodi do smanjena trokova# stvaranja boljeg i efikasnijeg soft1are%a i poboljanja odnosa izmeHu svi" strana koje u estvuju u procesu.

Veljko Pakevi

Magainsko poslovanje

II.2

Mo7eliranje sis6e8a 'ovi vs. S6ari na9in

Proces razvoja sistema uklju uje veliki broj ljudi. -ajpre klijente# osoba koja ima problem koji treba reiti. Projektanta koji vri projektovanje i programera koji na osnovu dokumentacije razvija soft1are koji !e reiti problem kupca. -eop"odnost u estvovanja vie ljudi u razreenju problema# prouzrokovana je kompleksno!u dananji" sistema. Lnanje se mora specijalizovati# jedna osoba ne moe da zna sve injenice vezane za poslovanje# da razume problem# projektuje reenje# programira program.

Slika 2.2.14 5ater0all metoda ra3voja programa Stari na in projektovanja# poznat kao 5ater0all# obu"vata slede!e faze koje se izvravaju jedna za drugom CSlika &.&.4D:analizu# projektovanje# programiranje i razvoj. Samo kada je pret"odna faza kompletirana moe se po eti sa slede!om. ,ko analiti ar zavri i preda projekat projektantu koji kada zavri preda programeru# male su anse da ova tri u esnika tima rade zajedno i razmenjuju bitne informacije. -ovi na in projektovanja UML# za"teva konstantnu povezanost izmeHu u esnika u svim fazama projekta. ,naliti ar i projektant unapred postavlju solidnu bazu za programera. Sa druge strane programer deli svoja zapaanja sa analiti arom i projektantom# zajedno menjaju projekat# oja avaju kod. +ao rezultat pove!ava se meHusobno razumevanje# tim ugraHuje nove ideje i gradi ja i sistem.

Veljko Pakevi

Magainsko poslovanje

II.:

UM# ko8ponen6e

UML se sastoji od nekoliko grafi ki" elemenata koji zajedno ine dijagrame. Lbog toga to je jezik# UML ima odreHena pravila za kombinovanje ti" elemenata. Svr"a dijagrama je prezentacija viestruki" pogleda na sistem. Skup ti" viestruki" pogleda se naziva model. Ladatak modela je da opie emu sistem slui. *n ne govori kako implementirati sistem M9N. UML se sastoji od @ bazi ni" dijagrama: 4. 7lass dijagram &. Use 7ase dijagram (. State dijagram 9. SeOuence dijagram ;. ,ctivit2 dijagram >. 7ollaboration dijagram ?. 7omponenet dijagram @. 5eplo2ment dijagram Projektovanje programa je aktivnost oveka. Bez jasnog razumevanja sistema# proces je podlean velikom broju potencijalni" greaka. 3nsistiraju!i na jasnom setu dijagrama# UML prua standard koji omogu!ava analiti arima da izgrade sliku koja !e biti jasna klijentima# programerima i svim drugim u esnicima u procesu razvoja. -eop"odno je u projektu imati sve nabrojane dijagrame zbog toga to svaki od nji" na svoj na in opisuje drugi pogled na sistem. U nastavku !e svaki od nabrojani" dijagram biti detaljnije objanjen. II.:.1 &lass 7ijagra8

Stvari se prirodno svrstavaju u kategorije Cra unari# automobili# drve!e...D. /e kategorije ustvari predstavljaju klase. 5akle klasa je kategorija ili grupa stvari koje imaju sli ne osobine i ponaanja. +las dijagram predstavlja pogled na sistem koji najvie koriste programeri. UML klasni dijagram se naj e!e sastoji od nekoliko klasa povezani" meHusobno relacijama. Sama klasa na dijagramu je predstavljena uz pomo! pravougaonika M;N. U gornjem delu pravougaonika se nalazi ime klase# koje po notaciji je napisano malim slovima izuzev po etni" slova re i koje su predstavljene velikim slovom CSlika &.(.4.4D.

Slika 2.3.1.14 Pravo"gaonikom se repre3ent"je klasa Sastavni deo klase su i atributi. ,tribut je svojstvo klase koje opisuje skup vrednosti koje to svojstvo moe da ima. +lasa moe da ima ' ili vie atributa u sebi. Pravilo imenovanja atributa je isto kao i kod klasa# sve malim slovima izuzev po etni" slova u re i. Lista atributa se nalazi ispod imena klase od koga je odvojena "orizontalnom linijom. Pored samog imena atributa u dijagramu moe se navesti kog je tipa atribut i koja je njegova inicijalna vrednost CSlika &.(.4.&D.

Veljko Pakevi

Magainsko poslovanje

Slika 2.3.1.24 6lasa sa dva atri%"ta Pored atributa klasa se moe sastojati i od operacija. *peracija je neto to klasa moe da uradi ili neto to joj mogu!e uraditi nad njom. 3 kod operacija se primenjuje ista notacija imenovanja. 3spod liste nabrojani" atributa# odvojeno "orizontalnom linijom# nalazi se lista operacija. Pored imena operacije# se mogu jo opisati parametrima Cnabrajaju!i i" unutar zagrada iza imena klaseD koje operacija koristi i tipom povratne vrednosti kao rezultat rada klase CSlika &.(.4.(D.

Slika 2.3.1.34 6lasa sa listom opera#ija Prilikom razgovora sa klijentima# treba obratiti panju na imenice koje koriste da bi opisali elemente svog posla. /e imenice !e u fazi projektovanja postati klase. /akoHe treba obratiti panju na glagole i prideve vezane za te imenice# oni !e u budu!em modelu postati operacije i atributi. +ao to je napomenuto na po etku ovog dela# sastavni deo 7lass dijagrama su klase koje su meHusobno u relaciji# postoji nekoliko vidova relacija: Associa6ions. +ada su dve klase konceptualno vezane jedna za drugu# takav vid veze se naziva asocijacija. -a UML dijagramima asocijacija se predstavlja linijom izmeHu dve klase# sa nazivom asocijacije na vr"u CSlika &.(.4.9D. +ada je jedna klasa asocirana sa drugom# svaka od nji" ima neku ulogu. -azivi ti" uloga mogu biti napisani pored imena klase koja igra tu ulogu.

Slika 2.3.1. . Primer aso#ija#ije

Veljko Pakevi

Magainsko poslovanje

,socijacija kao tip veze moe biti kompleksnija uklju ivanjem vie od dve klase u relaciju. Ponekad veza izmeHu dve klase mora biti ispra!ena nekim pravilom. /o pravilo se naj e!e stavlja dodavanjem ograni enja pored linije koja predstavlja vezu klasa CSlika &.(.4.;D.

Slika 2.3.1.$4 primer slo+enije aso#ija#ije Specijalan vid asocijacije je M"ltipli#it( koja pokazuje broj objekata jedne klase koji su u relaciji sa odreHenim brojem elemenata u drugoj klasi. 8edna klasa moe biti u relaciji sa drugom: 8edan prema jedan I 4..4 8edan prema vie I 4..n 8edan prema jedan ili vie I 4..4#n 8edan prema nula ili jedan I 4..'#4 8edan prema odreHeni interval I 4..4%4'' 8edan prema ta no odreHenom setu mogu!nosti Cjedan prema ; ili @D 'asle;ivanje i %enerali<acija. 8edna klasa Cizvedena klasaD moe naslediti atribute i operacije od druge klase. /a druga% roditeljska klasa je optija od izvedene. Postojanje izvedene klase zavisi od postojanja glavne# ukoliko glavna postoji postoji i izvedena# obrnuto ne vai. U UML notaciji nasleHivanje se obeleava linijom koja ide od roditeljske klase do izvedene# kod roditeljske klase se nalazi prazan trougao CSlika &.(.4.>D.

Slika 2.3.1.&4 Primer nasle7ivanja. Agregacija. Ponekad se klasa sastoji od nekoliko komponenti klasa. *vaj specifi ni tip relacije je agregacija. ,gregacija se predstavlja kao "ijerar"ija na ijem vr"u se nalazi klasa# a ispod nje komponente. Linija koja spaja komponente sa klasom ima u sebi prazan dijamant CSlika &.(.4.?.D.
9

Veljko Pakevi

Magainsko poslovanje

Slika 2.3.1.74 'grega#ija $eoma esto prilikom identifikovanja klasa dolazi se do slu aja# da neke klase nisu vezane za nadreHenu klasu ali nji"ovo ponaanje moe biti opisano sa istim operacijama. /ada je mogu!e ponaanje implementirati samo za jednu od klasa i koristiti ga za sve ostale klase uz pomo! 3nterfejsa. 3nterfejs predstavlja skup operacija koje specificiraju neki aspekt ponaanja klase. U UML notaciji interfejs se obeleava sli no kao klasa# u obliku pravougaonika# ali on nema atribute samo operacije. 5a bi se razdvojio interfejs od klase obi no se pre imena stavlja stereotip 88inter0a#e99 CSlika &.(.4.@D.

Slika 2.3.1.)4 Inter0a#e II.:.2 Use &ase 7ijagra8

Use 7ase dijagram predstavlja opis ponaanja sistema kako ga korisnik vidi# za razliku od pret"odno opisanog klas dijagrama koji predstavlja stati an pogled na klase Use 7ase dijagram pokazuje kako se sistem i njegove klase menjaju tokom vremena. +ako je klas dijagram odli na stvar da stimulie klijenta da govori o sistemu sa njegove ili njene ta ke gledita# use case dijagram je odli na stvar da stimulie potencijalnog korisnika da govori sa njegove ta ke gledita. Use case pomae da se razbije led. Prvi razgovori sa klijentima obi no se zavravaju sa identifikovanjem u esnika i pravljenjem grubi" use case%ova. /ek kasniji razgovori omogu!avaju opisivanje sistema detaljnije i veoma esto proizvode nove use case%ove. Sam use case predstavlja kolekciju scenarija o kori!enju sistema. Svaki scenario predstavlja sekvencu dogaHaja. Svaka sekvenca se inicira od strane korisnika# drugog sistema# dela "ard1are%a ili prolaska vremena. .ntitet koji inicira sekvencu se nazva a#tor. <ezultat sekvence mora biti neto to !e biti korisno ili a#tor%u koji je pokrenu ili nekom drugom.

10

Veljko Pakevi

Magainsko poslovanje

U samoj notaciji UML%a use case se predstavlja uz pomo! elipse# dok se a#tor%i predstavljaju uz pomo! i a%6lia. Sa leve strane se nalazi a#tor koji inicira# a sa desne strane onaj koji prima rezultate. *bi no se ispod slike a#tor%a navodi njegovo ime. Samo ime use case%a se upisuje u samu elipsu ili ispod nje. Linija koja povezuje a#tor%a sa elipsom predstavlja komunikaciju izmeHu nji" CSlika &.(.&.4D.

Slika 2.3.2.14 Primer "se #ase-a Use case je mogu!e ponovo iskoristiti. Postoj dva na ina za to CSlika &.(.&.&D: in#l"sion# kori!enje koraka jednog use case%a kao deo koraka u nekom drugom use case%u. 5a bi se predstavio in#l"sion koristi se ista notacija kao kod predstavljanja zavisnosti izmeHu klasa# isprekidana linija sa strelicom na vr"u koja je uperena na zavisnu klasu. Samo je potrebno iznad linije dodati stereotip 88in#l"de99. e:tension# kreiranje novog use case%a dodavanjem koraka iz drugog use case%a. 3sti na in notacije kao i kod in#l"sion samo se iznad linije dodaje stereotip 88e:tends99.

Slika 2.3.2.24 Primer in#l"de i e:tended

11

Veljko Pakevi

Magainsko poslovanje

II.:.:

S6a6e 7ijagra8

+arakteristika sistema je da menjaju ponaanje tokom vremena. +ako dolazi do meHusobne interakcije sistema sa korisnikom# a mogu!e i sa drugim sistemom# objekti koji ine sistem doivljavaju neop"odne promene kao bi se prilagodili interakciji. Ukoliko neko eli da modeluje sistem# mora imati me"anizme koji !e pratiti promene sistema. /aj me"anizam u UML%u se zove State dijagram. UML State dijagram predstavlja stanja u kojima objekat moe da bude tokom tranzicije iz jednog u drugo stanje i prikazuje po etnu ta ku i krajnju ta ku sekvence koja menja stanje. Bitno je napomenuti da State dijagram prati stanje samo jednog objekta. Stanja u State dijagramu se predstavljaju sa zaobljenim pravougaonikom# tok simbol transakcije stanja punom linijom sa strelicom. Punim krugom se predstavlja po etna ta ka# dok sa krugom sa ta kom u sredini krajnja CSlika &.(.(.4D.

Slika 2.3.3.14 Stanja " State dijagram" Sam zaobljeni pravougaonik se stoji od tri dela CSlika &.(.(.&D. U gornjem se nalazi naziv stanja Covaj podatak obavezno mora biti unetD u sredini se nalazi podatak o stanju promenjive# dok je u donjem delu informacija o aktivnosti. ,ktivnosti moe imati tri opisa: entr(% ta se deava kada sistem ulazi u stanje# e:it% ta se deava kada sistem napusti stanje# do% ta se deava sa sistemom kada je u stanju.

Slika 2.3.3.24 Prika3a stanja na primer" pravljenja tosta -ekada su stanja u kojima se nalazi sistem previe komplikovana da bi bila predstavljena sa zaokruenim pravougaonikom. /akva stanja obi no se predstavljaju stanjima u stanju# ta stanja koja se nalaze unutar drugi" se nazivaju se podstanja CSlika &.(.(.(D.

12

Veljko Pakevi

Magainsko poslovanje

Slika 2.3.3.34 Primer stanja sa pod stanjem II.:." Se=uence 7ijagra8

U pret"odnoj ta ki bio je objanjen State dijagram koji se fokusira na stanja objekata. MeHutim pored stanja neop"odno je pratiti i komunikaciju izmeHu objekata. U UML se za to koriste sekvencni dijagrami# koji prikazuju komunikaciju izmeHu objekata tokom vremena. +lju na ideja je stavljanje interakcija# koje se odvijaju izmeHu objekata# u specifi ne sekvence# koje obu"vataju vreme od po etka do kraja interakcije. Sekvencni dijagrami se sastoje od ( osnovna elementa: !bjek6i% se predstavljaju na klasi an na in I u obliku pravougaonika. *ni se na dijagramu reHaju sa desna na levo u redosled koji !e u initi da dijagram izgleda to jednostavnije. 3z svakog pravougaonika izlazi na dole isprekidana linija koja se zove ivotna linija objekta. -a te isprekidanim linije postavljaju se uski pravougaonici koji se zovu aktivatori. ,ktivator predstavlja startovanje operacije koju objekat ima u sebi. -jegova duina zavisi od duine akcije CSlika &.(.9.4D.

2.3. .14 ;ota#ija 3a o%ele+avanje klase " sekven#nom dijagram" )oruke. Poruka predstavlja komunikaciju izmeHu objekata# *na se u dijagramu stavlja izmeHu ivotne linije prvog i drugog objekata. *bjekat moe i sam sebi poslati poruku. Postoje tri razli ita izgleda strelice u zavisnosti o tipa poruke CSlika &.(.9.&D.

Slika 2.3. .24 Vrste por"ka

13

Veljko Pakevi

Magainsko poslovanje

re8e. Sekvencni dijagram predstavlja vreme vertikalno. $reme po inje od vr"a dijagrama i te e ka dole. Poruka koja se nalazi vilje na dijagramu desila se ranije# nego poruka koja je blie dnu CSlika &.(.9.(D.

Slika 2.3. .34 Primer sekven#nog dijagrama Use case dijagram moe prikazivati samo jedan slu aj kori!enja CscenarioD# ili moe biti opti i uklju ivati sve slu ajeve kori!enja. /ako i sekvencni dijagrami mogu biti pojedina ni ili opti. *pti sekvencni dijagrami pruaju mogu!nost prikaza i0 uslova ili <=ile ciklusa. U UML notaciji i0 uslov se obeleava sa kockastim zagradama# a zadovoljen 5=ile ciklus sa zvezdicom ispred kockaste zagrade CSlika &.(.9.9D.

Slika 2.3. . 4 Primer sekven#nog dijagrama sa "slovima

II.:.$

&ollabora6ion 7ijagra8

+olaboracioni dijagram isto kao i sekvencni# pokazuje interakciju izmeHu objekata# u obliku poruka koja putuju od jednog do drugog. -a prvi pogled se ini da sekvencni i kolaboracioni dijagram prikazuju istu stvar# da li je to zaista takoK

14

Veljko Pakevi

Magainsko poslovanje

Sekvencni i kolaboracioni dijagram su vrlo sli ni. -ji"ova semantika je ista# prikazuju iste informacije i mogu!e je prevesti sekvencni u kolaboracioni i obrnuto. MeHutim glavna razlika izmeHu nji" je u tome to je sekvencni prilagoHen vremenskoj dimenziji a kolaboracioni prostornoj. U samoj notaciji UML%a poruke su predstavljene strelicama usmerenim od jednog ka drugom objektu. /ekst pored strelice pokazuje koja je poruka u pitanju. *na obi no predstavlja ta objekat koji prima poruku# treba da izvri. Pored teksta poruke se nalaze obi no i redni brojevi koji odgovaraju redosledu sekvenci CSlika &.(.;.4D.

Slika 2.3.$.14 Primer kola%ora#ionog dijagrama II.:.0 Ac6ivi6> 7ijagra8

5ijagram aktivnosti najvie podse!a slike algoritama. *n se sastoji od koraka Czvani" aktivnostiD# ta aka odluke i grananja. $eoma je koristan za pokazivanje ta se deava u poslovnim procesima ili operacijama. Pre svega dijagrami aktivnosti se prave da bi se lake s"vatilo ta se deava tokom procesa. *ni na neki na in predstavljaju nadogradnju State dijagrama. 5ijagrami stanja pokazuju stanja objekata i prezentuju aktivnosti strelicama. 5ijagrami aktivnosti stavljaju akcenat na aktivnostima. U UML notaciji svaka aktivnost se predstavlja sa elipsom. /ranzicija sa jedne na drugu aktivnost se predstavlja strelicom# dok na vr"u svakog dijagrama aktivnosti nalazi se pun krug Ckoji ozna ava po etakD# u dnu se nalazi prazan krug sa ta kom koji ozna ava kraj CSlika &.(.>.4D

Slika 2.3.&.1. >ema dijagrama aktivnosti Pored simbola za aktivnosti i strelica koje predstavljaju tranziciju sa jednog na drugi objekat# dijagram aktivnosti obu"vata jo slede!e elemente:
15

Veljko Pakevi

Magainsko poslovanje

%rananja. 6rananje se prikazuje u obliku dijamanta# do koga dolazi strelica koja pokre!e grananje# a iz njega izlaze dve grane u zavisnosti da li je uslov ispunjen ili ne. *bi no se na linijama koje izlaze iz dijamanta ispisuje vrednost uslova koji treba da ispuni grananje da bi tok podatak krenuo na tu stranu CSlika &.(.>.&D.

Slika 2.3.&.24 Prika3 grananja " dijagram" aktivnosti (onkuren6ne pu6anje. Prilikom projektovanja aktivnosti veoma se esto deava da se neka aktivnost podeli na dva odvojena dela koja se izvravaju u isto vreme CkonkurentnoD# da bi se na kraju izvrenja obe slile ponovo u jednu. /o deljenje aktivnosti na dva dela se obeleava sa za%debljanom linijom u koju ulazi strelica iz po etne aktivnosti. 3z zadebljane linije izlaze dve stre%lice koje predstavljaju novonastale aktivnosti i opet se zavravaju u zadebljanoj liniji iz koje izlazi jedna strelica ozna avaju!i da je konkurentni rad zavren CSlika &.(.>.(D.

Slika 2.3.&.34 6onk"rentno i3vr?avanje aktivnosti Signali. /okom sekvence aktivacije# mogu!e je poslati signal. +ada se primi# signal prouzrokuje aktivnost. U UML notaciji simbol za slanje je signala je konveksni pentagon# a za primanje konkavan CSlika &.(.>.9D.

Slika 2.3.&. 4 ;ota#ija 3a primanje i slanje signala

16

Veljko Pakevi

Magainsko poslovanje

II.:.4

&o8ponen6 7ijagra8

U pret"odnim ta kama bili su prikazani dijagrami koji prikazuju konceptualne entitete. Slede!e dve ta ke !e se baviti realnim entitetima: soft1are%skim komponentama. Soft1are% ske komponente su fizi ki delovi sistema. *ni se nalaze u ra unaru# ne u glavi projektanta M?N. Postavlja se pitanje kakva je veza izmeHu komponente i klaseK +lasa predstavlja apstrakciju seta atributa i operacija# sa druge strane komponentu treba posmatrati kao programsku implementaciju klase. 8edna komponenta moe biti implementacija vie klasa. +omponente i nji"ove relacije se projektuju: 5a bi klijent mogao da vidi kako !e izgledati struktura zavrenog sistema Programeri dobijaju strukturu po kojoj mogu da rade *soba zaduena za pisanje te"ni ke dokumentacije i pomo!i C @elp%aD moe lake razumeti o emu pie *lakava ponovno kori!enje istog koda +ada se radi sa komponentama# neop"odno je raditi i sa nji"ovim interfejsima. 3nterfejs je lice objekata za spoljni svet. Samo preko interfejsa drugi objekat moe pozivati opcije# koje su ina e skrivene enkapsulacijom. 3nterfejs je skup operacija koji specificira ponaanje klase# prakti no skup operacija koje klasa predstavlja drugim klasama. Sa aspekta projektanta interfejs komponenti je isto to interfejs kod klasa. Mogu!e je zameniti jednu komponentu sa drugom ako ta druga komponenta koristi isti interfejs kao pret"odna# isto tako mogu!e je ponovo iskoristiti komponentu ali za neki drugi proizvod. Prilikom projektovanja naj e!e se susre!e sa tri tipa komponenti: <azvojne komponente: one ine osnovu za sva dalja programiranja C5LL%ovi# 8avaBeen ili ,ctiveP kontroleD. 3zveden komponente: komponente koje se razvijaju na bazi razvojni" komponenti. 3zvrne komponente: koje nastaju kao rezultata rada sistema. 5ananji svet soft1are%skog inenjerstva je zasnovan na timskom radu# svi u esnici u projektu moraju da rade sa razli itim komponentama. /e komponente mogu biti rezultat nji"ovog rada ili jednostavno deo paketa# kupljene komponente ili ak komponente koje dolaze uz operativni sistem. Lbog toga je veoma vano imati sliku# mesto na kome su pobrojane sve komponente i veze meHu njima. Upravo je to zadatak dijagrama komponenti CSlika &.(.?.4D.

Slika 2.3.7.1 Primer dijagrama komponenti 3a m"3iAki pla(er

17

Veljko Pakevi

Magainsko poslovanje

Sam dijagram komponenti sastoji se od komponenti# interfejsa i relacija. *snovni deo dijagrama je komponenta koja se simbolizuje pravougaonikom sa dva dodatna pravougaonika sa leve strane CSlika &.(.?.&D. 3me komponente se upisuje u osnovnom pravougaoniku# a ukoliko je komponenta deo paketa# ime paketa se navodi u kockastim zagradama iznad imena komponente.

Slika 2.3.7.24 ;ota#ija 3a komponent" :to se ti e predstavljanja interfejsa i komponente iji je to interfejs to je mogu!e uraditi na dva na ina: nacrtati interfejs u obliku pravougaonika sa svim pripadaju!im informacijama o interfejsu i isprekidanom strelicom od komponente do interfejsa ozna iti vezu# ili prikazati interfejs u obliku krui!a koji je punom linijom spojen sa pripadaju!om komponentom CSlika &.(.?.(D.

Slika 2.3.7.34 *va naAina prika3a inter0ejsa i rela#ije sa komponentom II.:.1 Deplo>8en6 7ijagra8

*vo je poslednji dijagram koji se koristi u UML. -jegov zadatak je da prikae fizi ku ar"itekturu ra unarski zasnovanog sistem. 5akle sa UML dijagramom se kre!e od pojmova koji postoji samo u analizi# preko komponenti koje su deo programa# sve do "ard1are%a koji postoji u stvarnom svetu. Fard1are je izuzetno bitna stavka prilikom stvaranja nekog sistema# jer bez njega sistem ne!e imati na emu da se izvrava# zato je nacrt "ard1are%ske organizacije sistema bitan. Ba zbog toga UML nudi alat koji svojim simbolima kreira jasnu sliku kao okruenje treba da izgleda CSlika &.(.@.4D

18

Veljko Pakevi

Magainsko poslovanje

Slika 2.3.).14 *ijagram ra3voja4 primer k"nog raA"nara Prilikom crtanja dijagram treba znati da je osnovni "ard1are element nod# generi ko ime za bilo koji tip ra unarskog resursa. Postoje dve vrste nodova: )rocessor% nod koji moe da izvri komponentu Device% nod koji ne moe da izvrava# on obi no predstavlja interfejs koji je u nekoj vezi sa spoljnim svetom. Sam nod se u UML notaciji se predstavlja kao kocka C&.(.@.&D. -od ima ime koje se uz pomo! stereotipa obeleiti kom tipu pripada. ,ko je nod deo paketa onda pre imena treba navesti kom paketu pripada. Linija koja se nalazi izmeHu dva noda predstavlja konekciju.

Slika 2.3.).24 Sim%ol 3a nod

19

Veljko Pakevi

Magainsko poslovanje

III MA%A&I'S(! )!S#! A'J* J*+I(!M UM# ,


a
,plikacija magacinsko poslovanje ima zadatak da vodi evidenciju o svoj robi koja se nalazi u magacinima. U zavisnosti od robe koja se skladiti# mogu!a je potreba posebni" uslova skladitenja robe# to treba da bude primenjeno u samoj aplikaciji magacinskog poslovanja. Prilikom analize potreba utvrHeno je da sistem magacinskog poslovanja treba da raspolae slede!im dokumentima: Prijemnica# uz pomo! koje se roba koju dostavlja dobavlja uvodi u sistem Povratnica dobavlja u 3nterna otpremnica# dokument koji omogu!ava prenos robe iz jednog u drugi magacin 3nterna prijemnica# dokument koji omogu!ava zaprimanje robe u magacin iz drugog magacina *tpremnica u proizvodnju# ovim dokumentom roba se alje u proizvodnju Prijemnica iz proizvodnje# koristi se magacinu gotovi" proizvoda. *mogu!ava da roba iz proizvodnje# preHe u magacin gotovi" proizvoda *tpremnica kupcu# ovim dokumentom se artikli otpremaju kupcu Povratnica od kupca# omogu!ava povratak robe od kupca i njen prijem u odgovaraju!i magacin *tpremnica u maloprodaju# dokument koji skida robu sa stanja magacina i tom koli inom tereti maloprodaju Povratnica iz maloprodaje# prijem robe iz maloprodaje

20

Veljko Pakevi

Magainsko poslovanje

Slu9aj kori?@enjaA )rije8nica

-a slici (.4.4 data je slu aj kori!enja: QPrijemnicaQ. Sam slu aj se sastoji od tri slu aja kori!enja: Unos prijemnice ,uriranje prijemnice Brisanje prijemnice

<<e !en"##

&no% Prijemnice

<<e !en"##

<<e !en"##

Izbor Dobavljaca

'a(acioner <<e !en"## Azuriranje Prijemnice Izbor Robe

$ri%anje Prijemnice

Slika 3.1.14 Sl"Aaj kori?enja4 Prijemni#a

21

Veljko Pakevi III.1.1 Unos prije8nice

Magainsko poslovanje

*vaj slu aj kori!enja predstavlja postupak uvoHenja robe koja je stigla od dobavlja a u sistem# konkretno u prijemni magacin. Prijemnica predstavlja prvi korak# jednostavno ono to se ne nalazi na prijemnici ne nalazi se u sistemu. *snovni tok: 4. +orisnik startuje formu: QPrijemnicaQ# izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvora ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. +likom na dugme Q-oviQ forma se prebacuje u reim novog sloga i automatski se puni sa trenutno ulogovanim magacinom# tipom i brojem dokumenta. &. +orisnik unosi datum dokumenta# inicijalno u tom polju se nalazi upisan datum poslednjeg dokumenta. (. Slede!i korak je izbor dobavlja a klikom na dugme: Q3zbor 5obavlja aQ# otvara se odgovaraju!a forma Ce:tend BI3%or *o%avljaAaCD. +orisnik bira eljenog dobavlja a i vra!a se u program# sistem puni polje Q5obavlja Q izabranim dobavlja em. 9. +orisnik prelazi na donji deo forme koje je predstavljena gridom. +likom na dugme QRQ polja za unos koli ine i robe postaju dostupna. -ajpre se bira roba klikom na dugme: Q3zbor <obeQ. *tvara se odgovaraju!a forma Ce:tend BI3%or Do%eCD gde korisnik bira eljenu robu i vra!a se nazad na glavnu formu. ;. U polje Q+oli inaQ unosi se pristigla koli ina# a sistem proverava da li je uneti broj ve!i od nule. >. +orisnik i sistem izvravaju korake 9 i ; sve dok ima ne unete robe. ?. +likom na dugme QSnimiQ# korisnik daje za"tev da se podaci snime# a sistem proverava da li su uneti podaci u redu i sputa podatke u bazu. ,lternativni tok I -ekorektan datum 4. +orisnik u polje: Q5atum 5okumentaQ# unosi pogrean datum. Pod pogrenim datumom podrazumeva se ili ne korektan format datuma ili datum koji je manji od datuma poslednjeg proknjienog dokumenta tog tipa za ulogovani magacin. Sistem se vra!a na korak &. &. Polje 5atum 5okumentaQje prazno# ukoliko korisnik ostavi polje: 5atum 5okumentaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak &. ,lternativni tok I Polje dobavlja prazno 4. Polje Q5obavlja Q je prazno# ukoliko korisnik ostavi polje: Q5obavlja Q prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak (. ,lternativni tok I -ekorektan izbor robe i koli ine 4. Polje Q<obaQ je prazno# ukoliko korisnik ostavi polje: Q<obaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak 9. &. Ukoliko korisnik unese u polje Q+oli inaQ vrednost manju od '# sistem !e dati odgova%raju!u poruku i vratiti korisnika na korak ;. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

22

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.1.1.1 Sekvencni 7ijagra8, Unos prije8nice

Slika 3.1.1.1.14 Unos Prijemni#e BSe!"en#e *iagramC


23

Veljko Pakevi :.1.1.2 (olaboracioni 7ijagra8, Unos prije8nice

Magainsko poslovanje

Slika 3.1.1.2.14 Unos Prijemni#e BColla%oration *iagramC

24

Veljko Pakevi :.1.1.: Dijagra8 Ak6ivnos6i, Unos prije8nice

Magainsko poslovanje

Slika 3.1.1.3.14 Unos Prijemni#e B'#tivit( *iagramC


25

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

III.1.2

ABuriranje prije8nice

Ukoliko zbog bilo kog razloga je dolo do greke ili promene podataka prilikom unosa prijemnice potrebno je izvriti auriranje. *snovni tok: 4. +orisnik startuje formu QPrijemnicaQ# izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvori ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. *vog puta korisnik bira dugme: QU itaj dokumentQ. +likom na dugme otvara se nova forma gde korisnik moe da izabere eljeni dokument. +likom na enter forma se zatvara# a sistem u itava podatke o unetom dokumentu. &. +orisnik moe promeniti datum dokumenta# inicijalno u tom polju se nalazi originalni datum (. U slede!em koraku mogu!e je promeniti dobavlja a klikom na dugme: Q3zbor 5obavlja aQ# otvara se odgovaraju!a forma Ce:tend BI3%or *o%avljaAaCD. +orisnik bira eljenog dobavlja a i vra!a se u program# sistem puni polje Q5obavlja Q izabranim dobavlja em. 9. +orisnik prelazi na donji deo forme koje je predstavljena gridom. +likom na dugme QRQ polja za unos koli ine i robe postaju dostupna. -ajpre se bira roba klikom na dugme: Q3zbor robeQ. *tvara se odgovaraju!a forma Ce:tend BI3%or Do%eCD gde korisnik bira eljenu robu i vra!a se nazad na glavnu formu. ;. U polje Q+oli inaQ unosi se pristigla koli ina# a sistem proverava da li je uneti broj ve!i od nule. >. +likom na dugme Q%Q vri se brisanje reda sa u itanim podacima o robi. ?. +orisnik i sistem izvravaju korake 9# ;# > sve dok je potrebno menjati podatke o robi @. +likom na dugme auriraj# korisnik daje za"tev da se podaci snime# sistem proverava da li su uneti podaci u redu i aurira postoje!i slog u bazi. ,lternativni tok I -ekorektan datum 4. +orisnik u polje Q5atum 5okumentaQ# unosi pogrean datum. Pod pogrenim datumom se podrazumeva ili ne korektan format datuma ili datum koji je manji od datuma poslednjeg proknjienog dokumenta tog tipa za ulogovani magacin. Sistem ga vra!a na korak &. &. Polje datum je prazno# ukoliko korisnik ostavi polje: Q5atum 5okumentaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak & ,lternativni tok I Polje dobavlja prazno 4. Polje Q5obavlja Q je prazno# ukoliko korisnik ostavi polje: Q5obavlja Q prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak (. ,lternativni tok I -ekorektan izbor robe i koli ine 4. Polje Q<obaQ je prazno# ukoliko korisnik ostavi polje: Q<obaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak 9. &. Ukoliko korisnik unese u polje Q+oli inaQ vrednost manju od '# sistem !e dati odgovaraju!u poruku i vratiti korisnika na korak ;. (. Ukoliko korisnik brie red sa robom koja je ve! bila snimljena u bazu# sistem proverava da li se brisanjem stanje robe dovodi u minus i ukoliko se to desi sistem daje odgovaraju!u poruku. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

26

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.1.2.1 Sekvencni 7ijagra8, ABuriranje prije8nice

Slika 3.1.2.1.14 '+"riranje Prijemni#e BSe!"en#e *iagramC

27

Veljko Pakevi :.1.2.2 (olaboracioni 7ijagra8, ABuriranje prije8nice

Magainsko poslovanje

Slika 3.1.2.2.14 '+"riranje Prijemni#e BColla%oration *iagramC

28

Veljko Pakevi :.1.2.: Dijagra8 ak6ivnos6i, ABuriranje prije8nice

Magainsko poslovanje

Slika 3.1.2.3.14 '+"riranje Prijemni#e B'#tivit( *iagramC


29

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

III.1.:

Crisanje prije8nice

Slu aj kori!enja: QBrisanje prijemniceQ# opisuje ponaanje sistema ukoliko doHe do potrebe za ponitavanjem odnosno brisanjem celokupnog dokumenta. *snovni tok: 4. +orisnik startuje formu QPrijemnicaQ# izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvori ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. *vog puta korisnik bira dugme: QU itaj dokumentQ. +likom na dugme u itaj# otvara se nova forma gde korisnik moe da izabere eljeni dokument. +likom na enter forma se zatvara# a sistem u itava podatke o unetom dokumentu. &. +likom na dugme Q*briiQ# korisnik daje za"tev da se podaci obriu# sistem proverava mogu!nost brisanja i brie postoje!i slog u bazi. ,lternativni tok I 5okument je proknjien 4. Sistem proverava da li je izabrani dokument ve! proknjien na finansijskom nivou i ukoliko jeste daje odgovaraju!u poruku. ,lternativni tok I +oli ina robe odlazi u minus 4. Ukoliko neka od roba koje se nalaze na izabranom dokumentu# prilikom brisanja dovode stanje robe u minus. Sistem zaustavlja brisanje i daje odgovaraju!u poruku. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

30

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.1.:.1 Sekvencni 7ijagra8, Crisanje prije8nice

Slika 3.1.3.1.14 ,risanje Prijemni#e BSe!"en#e *iagramC

31

Veljko Pakevi

Magainsko poslovanje

:.1.:.2 (olaboracioni 7ijagra8, Crisanje prije8nice

Slika 3.1.3.2.14 ,risanje Prijemni#e BColla%oration *iagramC

32

Veljko Pakevi

Magainsko poslovanje

:.1.:.: Dijagra8 ak6ivnos6i, Crisanje prije8nice

33

Veljko Pakevi

Magainsko poslovanje

III.1."

Slika :.1.:.:A Crisanje )rije8nice DAc6ivi6> Diagra8E Dijagra8 klasa, )rije8nica

34

Veljko Pakevi

Magainsko poslovanje

Slika 3.1. .14 Prijemni#a BClass *iagramC III.1.$ Dijagra8 S6anja

35

Veljko Pakevi

Magainsko poslovanje

Slika 3.1.$.14 Prijemni#a BState *iagramC

36

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

Slu9aj kori?@enjaA !6pre8nica u 8alopro7aju

-a slici (.&.4 dat je slu aj kori!enja: Q*tpremnica u maloprodajuQ. Sam slu aj sastoji se od ( slu aja kori!enja: Unos otpremnice u maloprodaju ,uriranje otpremnice u maloprodaju Brisanje otpremnice u maloprodaju

<<e !en"##

&no% *!)remnice <<e !en"## Izbor Robe

<<e !en"##

Izbor 'alo)ro"aje

'a(acioner

<<e !en"##

Azuriranje *!)remnice

$ri%anje *!)remnice

Slika 3.1.14 Sl"Aaj kori?enja4 /tpremni#a " maloprodaj"

37

Veljko Pakevi III.1.0 Unos o6pre8nice u 8alopro7aju

Magainsko poslovanje

Slu aj kori!enja: QUnos otpremnice u maloprodajuQ opisuje rad sa sistemom kada je potrebno izabranu robu poslati u maloprodaju. *vim postupkom se smanjuje stanje robe u magacinu# ali se pove!ava stanje robe u maloprodaji. -akon slanja roba izlazi iz sistema i ne vri se njeno dalje pra!enje Cbarem ne aplikacijom magacinsko poslovanjeD. *snovni tok: 4. +orisnik startuje formu Q*tpremnica u MaloprodajuQ# izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvori ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. +likom na dugme Q-oviQ forma se prebacuje u reim novog sloga i automatski se puni sa trenutno ulogovanim magacinom# tipom i brojem dokumenta. &. +orisnik unosi datum dokumenta# inicijalno u tom polju se nalazi upisan datum poslednjeg dokumenta. (. Slede!i korak je izbor maloprodaje klikom na dugme: Q3zbor MaloprodajeQ# otvara se odgovaraju!a forma Ce:tend BI3%or MaloprodajeCD. +orisnik bira eljenu maloprodaju i vra!a se u program# sistem puni polje QMaloprodajaQ izabranom maloprodajom. 9. +orisnik prelazi na donji deo forme koje je predstavljena gridom. +likom na dugme QRQ polja za unos koli ine i robe postaju dostupna. -ajpre se bira roba klikom na dugme: Q3zbor robeQ. *tvara se odgovaraju!a forma Ce:tend BI3%or Do%eCD gde korisnik bira eljenu robu i vra!a se nazad na glavnu formu. ;. U polje Q+oli inaQ unosi se koli ina robe koja !e se otpremiti u eljenu maloprodaju# a sistem proverava da li je uneti broj dovodi stanje u magacinu za izabranu robu u minus. >. +orisnik i sistem izvravaju korake 9 i ; sve dok se u formu ne unese sva potreban roba. ?. +likom na dugme snimi# korisnik daje za"tev da se podaci snime# a sistem proverava da li su uneti podaci u redu i sputa podatke u bazu. ,lternativni tok I -ekorektan datum 4. +orisnik u polje Q5atum dokumentaQ# unosi pogrean datum. Pod pogrenim datumom se podrazumeva ili ne korektan format datuma ili datum koji je manji od datuma poslednjeg proknjienog dokumenta tog tipa za ulogovani magacin. Sistem ga vra!a na korak &. &. Polje Q5atum dokumentaQ je prazno# ukoliko korisnik ostavi polje: Q5atum dokumentaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak & ,lternativni tok I Polje QMaloprodajaQ je prazno 4. Polje QMaloprodajaQ je prazno# ukoliko korisnik ostavi polje: QMaloprodajaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak (. ,lternativni tok I -ekorektan izbor robe i koli ine 4. Polje Q<obaQ je prazno# ukoliko korisnik ostavi polje: Q<obaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak 9. &. Ukoliko korisnik unese u polje Q+oli inaQ# koli inu koja !e eventualnim snimanjem otpremnice u bazu# dovesti stanje robe u minus sistem !e dati odgovaraju!u poruku i vratiti korisnika na korak ;. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

38

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.2.1.1 Sekvencni 7ijagra8, Unos !6pre8nice

Slika 3.2.1.1.14 Unos /tpremni#e BSe!"en#e *iagramC

39

Veljko Pakevi :.2.1.2 (olaboracioni 7ijagra8, Unos !6pre8nice

Magainsko poslovanje

Slika 3.2.1.2.14 Unos /tpremni#e BColla%oration *iagramC

40

Veljko Pakevi :.2.1.: Dijagra8 ak6ivnos6i, Unos !6pre8nice

Magainsko poslovanje

Slika 3.2.1.3.14 Unos /tpremni#e B'#tivit( *iagramC


41

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

III.1.4

ABuriranje o6pre8nice u 8alopro7aju

*va opcija omogu!ava auriranje ve! postoje!e otpremnice u maloprodaju# ukoliko je dolo do greke prilikom unosa podataka. *snovni tok: 4. +orisnik startuje formu Q*tpremnica u maloprodaju# Q izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvori ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. *vog puta korisnik bira dugme: QU itaj dokumentQ. +likom na dugme u itaj# otvara se nova forma gde korisnik moe da izabere eljeni dokument. +likom na enter forma se zatvara# a sistem u itava podatke o unetom dokumentu. &. +orisnik moe promeniti datum dokumenta# inicijalno u tom polju se nalazi originalni datum (. U slede!em koraku mogu!e je promeniti maloprodaju klikom na dugme: Q3zbor maloprodajeQ# otvara se odgovaraju!a forma Ce:tend BI3%or MaloprodajeCD. +orisnik bira eljenu maloprodaju i vra!a se u program. 9. +orisnik prelazi na donji deo forme koje je predstavljena gridom. +likom na dugme QRQ polja za unos koli ine i robe postaju dostupna. -ajpre se bira roba klikom na dugme: Q3zbor robeQ. *tvara se odgovaraju!a forma CeStend C3zbor <obeDD gde korisnik bira eljenu robu i vra!a se nazad na glavnu formu. ;. U polje Q+oli inaQ unosi se koli ina robe koju je potrebno otpremiti u maloprodaju >. +likom na dugme Q%Q vri se brisanje reda sa u itanim podacima o robi. ?. +orisnik i sistem izvravaju korake 9# ;# > sve dok je potrebno menjati podatke o robi @. +likom na dugme auriraj# korisnik daje za"tev da se podaci snime# sistem proverava da li su uneti podaci u redu i aurira postoje!i slog u bazi. ,lternativni tok I -ekorektan datum 4. +orisnik u polje Q5atum dokumentaQ# unosi pogrean datum. Pod pogrenim datumom se podrazumeva ili ne korektan format datuma ili datum koji je manji od datuma poslednjeg proknjienog dokumenta tog tipa za ulogovani magacin. Sistem ga vra!a na korak &. &. Polje Q5atum dokumentaQje prazno# ukoliko korisnik ostavi polje: Q5atum dokumentaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak & ,lternativni tok I Polje QMaloprodajaQ prazno 4. Polje QMaloprodajaQ je prazno# ukoliko korisnik ostavi polje: QMaloprodajaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak (. ,lternativni tok I -ekorektan izbor robe i koli ine 4. Polje Q<oba Qje prazno# ukoliko korisnik ostavi polje: Q<obaQ prazno# sistem !e ispisati odgovaraju!u poruku i vratiti korisnika na korak 9. &. Ukoliko korisnik unese u polje Q+oli inaQ vrednost koja !e dovesti stanje robe u magacinu ispod '# sistem !e dati odgovaraju!u poruku i vratiti korisnika na korak ;. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

42

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.2.2.1 Sekvencni 7ijagra8, ABuriranje !6pre8nice

Slika 3.2.2.1.14 '+"riranje /tpremni#e BSe!"en#e *iagramC

43

Veljko Pakevi :.2.2.2 (olaboracioni 7ijagra8, ABuriranje !6pre8nice

Magainsko poslovanje

Slika 3.2.2.2.14 '+"riranje /tpremni#e BColla%oration *iagramC

44

Veljko Pakevi :.2.2.: Dijagra8 ak6ivnos6i, ABuriranje !6pre8nice

Magainsko poslovanje

Slika 3.2.2.3.14 '+"riranje /tpremni#e B'#tivit( *iagramC


45

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

III.1.1

Crisanje o6pre8nice u 8alopro7aju

Ukoliko je potrebno u potpunosti ponititi Q*tpremnicu u MaloprodajuQ koristi se ovaj slu aj kori!enja. *snovni tok: 4. +orisnik startuje formu Q*tpremnica u maloprodajuQ# izborom odgovaraju!e opcije u glavnom programu. Gorma koja se otvori ima omogu!ene samo dve opcije: dugme Q-oviQ i dugme QU itajQ. *vog puta korisnik bira dugme: QU itaj dokumentQ. +likom na dugme u itaj# otvara se nova forma gde korisnik moe da izabere eljeni dokument. +likom na enter forma se zatvara# a sistem u itava podatke o unetom dokumentu. &. +likom na dugme Q*briiQ# korisnik daje za"tev da se podaci obriu# sistem proverava mogu!nost brisanja i brie postoje!i slog u bazi. ,lternativni tok I 5okument je proknjien 4. Sistem proverava da li je izabrani dokument ve! proknjien na finansijskom nivou i ukoliko jeste daje odgovaraju!u poruku. Preduslovi 4. +orisnik mora biti ulogovan na sistem i imati pravo da startuje izabranu formu.

46

Specijalistiki rad Distribuirani informacioni sistem magacinskog poslovanja BIS

:.2.:.1 Sekvencni 7ijagra8, Crisanje !6pre8nice

Slika 3.2.3.1.14 ,risanje /tpremni#e BSe!"en#e *iagramC


47

Veljko Pakevi :.2.:.2 (olaboracioni 7ijagra8, Crisanje !6pre8nice

Magainsko poslovanje

Slika 3.2.3.2.14 ,risanje /tpremni#e BColla%oration *iagramC

48

Veljko Pakevi :.2.:.: Dijagra8 ak6ivnos6i, Crisanje !6pre8nice

Magainsko poslovanje

Slika 3.2.3.3.14 ,risanje /tpremni#e B'#tivit( *iagramC

49

Veljko Pakevi III.1.3 Dijagra8 klasa, !6pre8nica

Magainsko poslovanje

Slika 3.2. .14 /tpremni#a BClass *iagramC

50

Veljko Pakevi

Magainsko poslovanje

III.2 Deplo>8en6 7ijagra8

Slika 3.3.14 >ematski prika3 mre+e ,plikacija Poslovanje Magacina je informacioni sistem koji ve!i deo rada zasniva na lokalnoj mrei# ali je poeljno da se komunikacija izmeHu centara odvija preko 000 protokola. -a taj na in omogu!eno je kori!enje aplikacije od strane udaljeni" klijenata preko 3nterneta. -a slici (.9.4 nalazi se ematski prikaz mree# a na slici (.9.& dat je deplo2ment dijagram.

Slika 3.3.24 *eplo(ment *iagram


51

Veljko Pakevi

Magainsko poslovanje

RA+ !J A)#I(A&IJ*

3nformacioni sistem magacinskog poslovanja razvijan je na savremen i modularan na in. +ao razvojni alat kori!en je Mi#roso0t Vis"al St"dio &''( i programski jezik Vis"al ,asi#.;EF CV,.;EFD. Baza podataka u koju se smetaju podaci je MS S12 server. Prilikom razvoja aplikacije akcenat je stavljen na brzinu rad# optimizaciju koda i stabilnost. $eliki broj radni" sati je utroen na testiranje kako pojedina ni" modula tako i celog sistema. Ra<vojni ala6i I .1.1 MicrosoF6 isual S6u7io 2--:

Vis"al St"dio .;EF je u potpunosti integrisano razvojno okruenje. 5izajnirano je tako da pisanje koda# ispravljanje greaka i kompajliranje u gotove sklopove bude to jednostavnije. *vo u praksi zna i da Vis"al St"dio .;EF daje jako sofisticiranu aplikaciju sa razli itim interfejsima dokumenata u kojim se moe uraditi sve to je povezano sa razvojem koda. Vis"al St"dio .;EF nudi M4(N: Program za editovanje koda kojima se moe pisati kako V,.;EF tako i CG i CHH kod. .ditor je veoma sofisticiran koji je upoznat sa sintaksom koda u kojem se pie aplikacija. /o zna i kako programer kuca kod editor ureHuje: uvla i linije# boji klju ne re i# povla i sintaksne greke. /akoHe poseduje i IntelliSense: kako se kuca kod prikazuju se imena klasa# polja i metoda CSlika ;.4.4.4D.

52

Veljko Pakevi Slika $.1.1.14 IntelliSense " ak#iji

Magainsko poslovanje

.ditor dizajna omogu!ava u projektu vizuelno stavljanje kontrola i podeavanje svojstava. Vis"al St"dio .;EF automatski dodaje kod u izvorne datoteke za instanciranje dodati" kontrola i promenu vrednosti svojstva. +ompajliranje iz okruenja umesto pokretanja kompajlera iz komandne linije# dovoljno je pozvati odgovaraju!u komandu iz menija Vis"al St"dio .;EF%a. +ompajleru !e biti prosleHeni svi relevantni parametre uklju uju!i koje sklopove treba referencirati i koje tipove sklopova treba uklju iti. 3ntegrisana MS*; pomo! % Vis"al St"dio .;EF omogu!ava pozivanje odgovaraju!eg MS*; dokumenta pritiskom na dugme G4. Ukoliko se kursor nalazi na nekoj klju noj re i u prozoru za pomo! bi!e prikazani svi relevantni podaci.

Prilikom razvoja projekta 3nformacioni sistem magacinskog poslovanja kori!en je Vis"al ,asi#. ;EF BV,.;EFC programski jezik. V,.;EF prakti no osim sintakse nema mnogo dodirni" ta aka sa svojim pret"odnikom Vis"al ,asi#%om >.' koji se ne moe ni kompajlirati kao V,.;EF kod. Prakti no on se moe smatrati potpuno novim jezikom. V,.;EF je jezik koji ima dve posebno zna ajne strane: <e je o programskom jeziku koji je zamiljene i napravljen za kori!enje u Microsoft%ovo radnom okviru . ;EF Irame<ork%a. /o je jezik koji se bazira na modernoj objektnoj orjentisanoj te"nologiji.

$ano je napomenuti da je V,.;EF poseban programski jezik. 3ako je napravljen da generie kod koji je usmeren u .;EF okruenju V,.;EF nije njegov integralni deo. Postoje neke funkcije koje radni okvir .;EF podrava# a programski jezik V,.;EF ne podrava. <adni okvir .;EF je razvijen sa ciljem da obezbedi okruenje iz koga se moe programirati bilo kakva aplikacija namenjena operativnom sistemu 5indo<s Cmada su se pojavili i projekti kao to je Mono koji omogu!avaju izvravanje .;EF aplikacija i pod 2in":%omD

Slika $.1.1.2 'r=itekt"ra Irame<orka

53

Veljko Pakevi

Magainsko poslovanje

7entralni deo radnog okvira .;EF%a predstavlja njegovo izvrno okruenje koje se naziva Common 2ang"age D"ntime BC2DC ili .;EF D"ntime BSlika $.1.1.2C. La kod koji se izvrava pod kontrolom C2D komponente se esto naziva kontrolisani CmanagedD kod M49N. .;EF sledi logiku J'V' programskog jezika koji koristi virtuelnu mainu. .kvivalent $irtuelnoj maini je upravo C2D. MeHutim da bi se neki kod izvravao pod 7L<%om neop"odno je da izvorni kod proHe kroz dve etape: +ompajliranje izvornog koda u Mi#roso0t Intermediate 2ang"age BMS-I2C. +ompajliranje 3L koda u konkretan platformski kod koji izvrava komponenta 7L<. 5vostruko kompajliranje koda na prvi pogled je bezrazlono# meHutim upravo ovo omogu!ava brojne prednosti: -ezavisnost u pogledu platforme. 5atoteka koja sadri instrukcije bajkoda moe se koristiti na bilo kojoj platformi jer se poslednja faza kompajliranja vri prilikom izvravanja aplikacije. 5rugim re ima kompajliranjem u 3L u radnom okviru .;EF%u dobijena je nezavisnost u pogledu platforme na isti na in na koji kompajliranje Java bajtkoda omogu!ava platformska nezavisnost programskog jezika Java. Poboljanje performansi. 3ako se .-./ okvir moe porediti sa programskim jezikom Java# meHu jezik 3L je efikasniji jer on uvek kompajlira u pravo vreme C J"st- in-FimeK JIFD dok se Java bajtkod uvek interpretira. -a taj na in kod 3L ne postoji gubitak performansi. Pored toga umesto cela aplikacija kompajlira odjedanput Cto bi prouzrokovalo jo slabiji odzivD# 83/ kompajler svaki deo koda kompajlira onda koda se taj deo poziva. 8ezi ka interoperabilnost. Pored platformske nezavisnosti# 3L omogu!ava i jezi ku. 8ednostavno re eno# projekat bilo pisan u V,.;EF%u kompajlira se uvek u meHu jezik 3L. /ako dobijen kod je u potpunosti interoperabilan sa kodom koji je izvorno bio napisan bili u 7T ili u 7RR. I .1.2 MicrosoF6 SG# Server 2---

5ananje poslovanje za"teva savremeno reenje za rad sa bazama podataka. Performanse i mogu!nost proirenja i nadogradnje su naravno osnova sistema. 3pak# pravi zna aj dolazi sa mogu!no!u da se analizom sirovi" podataka dobiju strateke odluke u voHenju posla i u potpunosti iskoriste prednosti koje daje elektronska trgovina. /u mogu!nost daje Microsoft S)L Server &''' koji objedinjuje u jednom paketu bazu podataka i alate za analizu. *vaj sistem otvara vrata brzom razvoju aplikacija nove generacije koje funkcioniu na nivou veliki" poslovni" sistema. -osilac vani" rekorda merenja u oblasti skalabilnosti i brzine# S)L Server &''' je baza podataka u potpunosti prilagoHena poslovanju preko 0eba kojoj je pridodata snana podrka za PML i mogu!nost obavljanja upita preko 3nterneta izvan granica koje postavlja Gire1all zatita CSlika ;.4.&.4D M4;N.

54

Veljko Pakevi

Magainsko poslovanje

Slika $.1.2.14 Mi#roso0t S12 Server

I .2 Arhi6ek6ura aplikacije 3nformacioni sistem magacinskog poslovanja je meavina 5indo<s i 5e% aplikacije. ,kcenat je stavljen na 5indo<s deo# odnosno 5indo<s forme u kojim se obavlja ve!i deo manipulacije podataka# dok deo koji se ine 5e% forme slui za pregled stanja po magacinima i mese ne analize. -a ovaj na in je omogu!ena brza manipulacija podacima# kori!enje barkod ita a prilikom unosa podataka# a sa druge strane mogu!nost sagledavanja podataka sa bilo koje ta ke na svetu. 5vostruki prezentacioni sloj je za"tevao specifi nu ar"itekturu aplikacije. -a samom po etku doneta je odluka da se i 0indo1s i 0eb deo programira zajedno kao jedna aplikacija# odnosno da se koriste iste metode. Pored toga trebalo je omogu!iti da aplikacija radi sa razli itim bazama podataka. 3nicijalno to je MS S12 server# ali u zavisnosti od obima poslovanja u budu!nosti to moe biti i /ra#le. Pored toga baza se nalazi samo na jednom server u okviru samo jednog distribuiranog centra.

55

Veljko Pakevi

Magainsko poslovanje

Slika $.2.14 'r=itekt"ra 'plika#ije +ako bi aplikacija uspeno odgovorila na sve postvaljenje za"teve# bilo je neop"odno jasno identifikovati i podeliti slojeve CSlika ;.&.4D. 3nformacioni sistem magacinskog poslovanja se sastoji od slede!i" slojeva: I .2.1 Prezentacioni Business Brokeri Baza podatka )re<en6acioni sloj

Prezentacioni sloj je okrenut korisnicima# to je deo aplikacije koji slui za komunikaciju sa korisnicima i prakti no jedini deo koji se vidi sa korisni ke strane. ,plikacija je raHena u potpunoj filozofiji tankog klijenta# tako da se kao na 5indo<s formama nalazi samo kod neop"odan za manipulaciju kontrolama i za pozive validacija.

56

Veljko Pakevi

Magainsko poslovanje

Private Sub $<adnikU8MB6 CB2$al sender ,s S2stem.*bject# B2$al e ,s S2stem..vent,rgsD Fandles tSt<adnikU8MB6.$alidated 5im $ ,s 7lientServices.PP0ebService.$alidation<esult $ V 0ebService.<adnikU$8mbg CMe.dsMain# Securit23nfoD 3f -ot $.Success /"en Msg.S"o1C$.MessagesC'D.Message/eSt# $.MessagesC'D.Message/2pe .nd 3f .nd Sub ".2.1.1 Hor8e 5indo<s Client projekat Cu okviru koga se nalaze sve 5indo<s formeD je glavni klijentski deo sistema# sadri korisni ki interfejs koji preko 5e% servisa vri interakciju sa serverskim delom sistema i sa njim ini kompletan sistem. +orisni ki interfejs je namenjen familiji 5indo<s operativni" sistema# a radi to manjeg optere!enja klijenta i lake implementacije za ostale platforme namenjeno je da sadri samo osnovnu funkcionalnost potrebnu za funkcionisanje logike korisni kog interfejsa CListing ;.&.4.4.4D. /ako bi se gotovo sve funkcije vezane za funkcionisanje poslovne logike sistema nalazile na serveru# to bi olakalo isporuku i odravanje sistema kao i zna ajnu nezavisnost klijenta od servera Cdecoupling# decoupledD to olakava implementaciju klijenata za druge platforme. Pored toga ovaj projekat sadri osnovna podeavanja vezana za klijentski deo sistema# klase razni" namena# kao i centralizaciju pristupa 0eb servisu. 2isitng .2.1.1.1 Primer po3iva valida#ije na klijent" Pored skupa klase koje predstavljaju same forme Cprijemnicu# otpremnicu...D ovaj projekat se sastoji od nekoliko pomo!ni" formi i klasa: MainGorm# glavna forma u aplikaciji Splas"Gorm# uvodna forma LoginGorm# forma za prijavu korisnika MessageGorm# forma za prikaz razni" poruka korisniku Msg# klasa koja sadri funkcije za jednostavan poziv i prikaz MessageGorme ,ssembl2<esources# klasa koja izvla i stringove i druge objekte iz resursa za trenutni jezik. Menu/reeBuilder# klasa koja generie osnovni meni. Login# klasa za proveru prijave korisnika Splas"Gorm# uvodna forma LoginGorm# forma za prijavu korisnika Settings# klasa koja sadri podeavanja koje se koriste u toku rada sistema# sama podeavanja se uvaju u .ini fajlu. S2stem7"eck# klasa koja vri proveru konfiguracije korisni kog ra unara S2stem3nformation# klasa koja vri detekciju konfiguracije korisni kog ra unara i uva podatke u svojim atributima

-a slikama 9.&.4.4.4 do 9.&.4.4.9 dati su primeri 0indo1s formi.

57

Veljko Pakevi

Magainsko poslovanje

Slika .2.1.1.14 Iorma 3a "nos Partnera

Slika .2.1.1.24 Iorma 3a pregled Maga#inske karti#e

58

Veljko Pakevi

Magainsko poslovanje

Slika .2.1.1.34 Iorma 3a "nos /tpremni#e k"p#"

Slika .2.1.1. 4 Iorma 3a "nos gr"pni pregled dok"menata I .2.2 Cusiness Sloj

Biznis sloj je jezgro celog sistema. Sadri poslovne objekte i funkcije koje se koriste u razli itim delovima sistema. U njemu su implementirani sigurnosni me"anizmi# poslovna pravila i podeavanja vezana za serverski deo sistema. 3mplementacija svake funkcije kojoj pristupa klijent se nalazi u ovom modulu. Pored ovoga# ovde se nalazi logika pristupa podacima koji se trajno uvaju u bazi podataka i preko me"anizma kairanja optimizuju i ubrzavaju nji"ovo kori!enje kao i kontrola izvrenja funkcija koja trajno menjaju sistem.

59

Veljko Pakevi

Magainsko poslovanje

Prilikom pravljenja poslovnog sloja ilo se logikom jedna tabela# jedna klasa. 5akle za svaku tabelu sistema postoji odgovaraju!i poslovni objekat koji sadri sve validacije# potpunu logiku. Ukoliko je potrebno izmeniti neko pravilo te izmene se vre samo na ovom sloju. Svaki od poslovni" objekata pristupa bazi podatak preko odgovaraju!eg brokera# koji je vezan za odreHenu tabelu. Ukoliko je potrebno izvriti snimanjeJauriranjeJbrisanje podataka iz vie tabela pod jednom transakcijom# startovanje i zavravanje transakcije se obavlja upravo u ovom sloju CListing 9.&.(.4D.

60

Veljko Pakevi
+ame%)ace $u%ine%% Public ,la%% bizRa"ni.Re(ion / $a%ic 0unc!ion% / 1unc!ion (e!Re"ni-e23 A% 45%!em6Da!a6Da!a4e! Dim $ro-er A% $ro-er%6IbroRa"ni$ro-er 7 $ro-er%6$ro-er1ac!or568e!$ro-erRa"niRe!urn $ro-er6(e!Ra"ni-e23 9n" 1unc!ion Public 1unc!ion 4aveDa!a2$5Re0 Da!a A% 45%!em6Da!a6Da!a4e!3 A% $I4,6:ali"a!ion6:ali"a!ionRe%ul! Dim : A% +e; $I4,6:ali"a!ion6:ali"a!ionRe%ul! : 7 'e6vali"a!eA<<2Da!a= bool&)">93 I0 +o! :64ucce%% ?@en Re!urn : 9n" I0 Dim conn A% Da!a6IDb,onnec!ion Dim !ran A% Da!a6IDb?ran%ac!ion conn 7 ,onnec!ion%6,onnec!ion1ac!or568e!,onnec!ion conn6*)en23 ?r5 Dim $ro-er A% $ro-er%6IbroRa"ni$ro-er 7 $ro-er%6$ro-er1ac!or568e!$ro-erRa"ni$ro-er64aveDa!a2Da!a6?able%2/Ra"ni-/3= conn= !ran3 !ran6,ommi!23 conn6,lo%e23 ,a!c@ e A% Da!aAcce%%6Da!aAcce%%9 ce)!ion$a%e !ran6Rollbac-23 conn6,lo%e23 9n" ?r5 Re!urn : 9n" 1unc!ion .Re(ion /:ali"a!ion/ Public 1unc!ion vali"a!eA<<2$5:al "% A% Da!a4e!3 A% $I4,6:ali"a!ion6:ali"a!ionRe%ul! Dim : A% $I4,6:ali"a!ion6:ali"a!ionRe%ul! Dim ?: A% $I4,6:ali"a!ion6:ali"a!ionRe%ul! : 7 +e; $I4,6:ali"a!ion6:ali"a!ionRe%ul!2?rue3 ?: 7 'e6:ali"a!eAIme2"%3 I0 +o! ?:64ucce%% ?@en :64ucce%% 7 1al%e :6'e%%a(e%6A""2?:6'e%%a(e%6I!em2I33 9n" I0 ?: 7 'e6:ali"a!eAB'$82"%3 I0 +o! ?:64ucce%% ?@en :64ucce%% 7 1al%e :6'e%%a(e%6A""2?:6'e%%a(e%6I!em2I33 9n" I0 Re!urn : 9n" 0unc!ion .9n" re(ion 9n" cla%%

Magainsko poslovanje 2istnig .2.3.14 Primer ,i3nis o%jekta

61

Veljko Pakevi

Magainsko poslovanje

Unutar poslovnog sloja pored odgovaraju!i" biznis objekata za svaku od tabela nalaze se jo slede!e klase: 7lientLogin3nfo# sadri atribute korisnika koji eli da se prijavi na sistem 7lientSecurit23nfo# sadri podatke koje klijent mora poslati serveru da bi mogao da izvri bilo koju funkciju nad sistemom Session+e2# javni klju koji se koristi u sigurnosnim me"anizmima Settings# uva podeavanja vezana za sigurnost I .2.: Crokeri

Projekat brokeri ini skup klasa koje slue za komunikaciju sa bazom. -ji"ov zadatak je izvla enje# unos# brisanje i auriranje podataka. La svaku od tabela u bazi podataka postoji posebna klasa koja slui za rada upravo i samo sa njom. Prilikom odreHivanje zadataka koje treba da ispuni aplikacija jedan od najbitniji" je bila nezavisnost od baze podatak. Sistem treba da ima mogu!nost rada sa bili kojom bazom uz to manje izmene. *va modularnosti je postignu implementacijom osnovni" klasa koje slue za pristup *,MS%u Cbroker# konekcija# transakcijaD i konkretnim klasama koje predstavljaju implementaciju pristupa za ta no odreHenu bazu. -a taj na in preko jedinstvenog interfejsa na osnovu parametra koji odreHuje koja se baza koristi# poslovni objekat dobija konkretnu implementaciju brokera. *va funkcionalnost je za sada implementirana za MS S12 Server# a ukoliko se pokae potreba bi!e implementirana i za druge baze. Unutra brokera nalaze se tri grupe klasa. Prava implementira osnovne klase i interfejse za rad sa 5BMS%om: 35atabaseBroker# definie osnovni interfejs za brokera 35atabase7onnection# interfejs za konekciju 35atabase/ransaction# interfejs za transakciju 5ata,ccess.SceptionBase# klasa za osnovnu greku koja se moe dogoditi u radu sa bazom .nvironment# klasa koja izvla i podeavanja vezana za bazu podataka BrokerGactor2Base# apstraktna klasa za generalizaciju konkretni" brokera 5ruga grupa klasa implementira gore navedene klase za MS S12 bazu: 3SOlServerBroker# osnovni interfejs za brokera SOlServerBrokerBase# apstraktna klasa osnovnog brokera SOlServer7onnectionService# klasa za rad sa konekcijama Poslednju grupu ini skup klasa koje ini konkretne implementacije brokera za MS S)L server bazu i klasa BrokerGactor2# klasa koja na osnovu podeavanja u sistemu instancira konkretnog brokera za konkretni 5BMS CSlika ;.&.9.4D. I .2." Ca<a po7a6aka

3nformacioni sistem magacinskog poslovanja koristi MS S12 Server kao bazu podataka. Girma je Mi#roso0t partner i aplikacija je raHena u potpunosti u Microsoft%ovoj te"nologiji tako da je i MS S12 server bilo prirodno reenje za smetanje podatak. MeHutim kako je ve! u pret"odnim ta kama navedeno# jedan od osnovni" za"teva je bila to ve!a nezavisnost

62

Veljko Pakevi
,R9A?9 PR*,9D&R9 u)"'94?* 2 CD*DAE9'<B9 c@ar233= C+AEI: varc@ar2503= C*PI4 !e != CP?? c@ar253= C*RI8I+A<A'94?*AID in!= C*RI8I+A<AD*DAE9'<B9 c@ar233= C*RI8I+A<A+AEI: varc@ar2503= C*RI8I+A<AP?? c@ar253= C1*R,9 bi!3 A4 I1 C1*R,971 $98I+ &PDA?9 '94?* 49? D*DAE9'<B97CD*DAE9'<B9= +AEI:7C+AEI:= *PI47C*PI4= P??7CP?? FG9R9 2'94?*AID7C*RI8I+A<A'94?*AID3 9+D 9<49 $98I+ &PDA?9 '94?* 49? D*DAE9'<B97CD*DAE9'<B9= +AEI:7C+AEI:= *PI47C*PI4= P??7CP?? FG9R9 2'94?*AID7C*RI8I+A<A'94?*AID3 A+D 2D*DAE9'<B97C*RI8I+A<AD*DAE9'<B9 *R D*DAE9'<B9 I4 +&<< A+D C*RI8I+A<AD*DAE9'<B9 I4 +&<<3 A+D 2+AEI:7C*RI8I+A<A+AEI: *R +AEI: I4 +&<< A+D C*RI8I+A<A+AEI: I4 +&<<3 A+D 2P??7C*RI8I+A<AP??3 9+D R9?&R+

Magainsko poslovanje

aplikacije od konkretnog tipa baze# to je uslovilo potpuno premetanje logike upita sa baze na kod. 3zuzev stored pro#ed"re%a CListing ;.&.;.4D za unos# izmenu i brisanje podatak sve ostale nemaju svoju implementaciju na MS S12 serveru ve! u kodu u odgovaraju!em brokeru. -a ovaj na in dovoljno je implementirati broker Cprilagoditi upiteD za novi tip baze i aplikacija je spremna za rad na novoj bazi. 2isting .2.$.1 Primer stored pro#ed"re 3a a+"riranje ta%ele Mesto

63

Veljko Pakevi

Magainsko poslovanje

DA.A WAR*/!USI'% I !#A)


Skladitenje podataka ili 5ata 0are"ousing jeste proces integracije podataka u jedan repozitorijum iz kojeg krajnji korisnici mogu sprovoditi ad%"ock analize podataka i praviti izvetaje. Lbog velike koli ine podataka skladita podataka imaju tendenciju da postanu ogromna# to je uslovilo potrebu za visokim performansama "ardverskog i softverskog obezbedjenja. 6lavni posao lei u analizi izvorni" podataka i procesa# tj moraju se poznavati procesi za transakcionu obradu podataka# sa ciljem zapisivanja poslovni" pravila bez greaka. Skladite podataka je baza podataka za procese podrke odlu ivanju u kojoj su podaci: Subjektno orjentisani I odslikavaju poslovne procese 3ntegrisani I baza podataka konsoliduje podatke iz razli iti" sistema koji koriste razne vrste razne vrste kodovanja# merni" jedinica i obezbedjuje konzistentnost podataka $remenski zavisni % svi podaci su u vezi sa nekim vremenskim trenutkom na osnovu kojeg se podaci mogu i porediti -epromenljivi I podaci se dodaju ve! postoje!im podacima. $.1 DA.AMAR. 5atamart je subjektivno orjentisani pogled na skladite podataka. *n sadri zna ajno manje podataka od Wskladita podatakaQ i predstavlja objekt analiti kog procesiranja od strane korisnika. 5atamartovi su subjektivno orjentisane multidimenzione baze podataka sa ivotnim ciklusom od tri godine. Mnogi datamartovi su podskup veliki" skladita podataka. *perator moe da koristi *L,P alate i napravi izvetaj od informacije iz jedne tabele u datamartu koriste!i bilo koju kolonu kao selekcioni kriteijum. $.2 !#A) SIS.*MI 3nteraktivno analiti ko procesiranje Con line analitical procesing % *L,PD namenjeno je on line analizama i izvetajima# za razliku od produkcioni" sistema namenjeni" auriranju podataka i obradi transakcija C on line transaction procesing % *L/PD. 5onosiocima odluka su potrebni odgovori na pitanja koji direktno uti u na nji"ovu mogu!nost da budu kompetentni na dananjem brzo promenljivom tritu. U tu svr"u se koriste *L,P sistemi. *snovni elemnti *L,P sistema su: Baza podataka# koja slui kao osnova za anlizu *L,P server# za upravljanje i manipulaciju podacima 3nterfejs sistem# prema korisniku i prema drugim aplikacijama ,lati za administriranje

La kori!enje *L,P sloene procedure potrebno je transakcione podatke prebaciti u posebnu bazu podataka. *L,P pristup mora od "ardvera da poseduje poseban ra unar# tzv. *L,P
64

Veljko Pakevi

Magainsko poslovanje

server# na koji se povezuju relacione baze podataka# eksterni izvori podtaka i ostali interni podaci# koji su podrani grafi kim interfejsima. *L,P serveri koriste viedimenzionalne strukture za uvanje podataka i veza izmedju nji". $iedimenzionalne strukture se naljbolje vizuelizuju kao kocke podataka i kao kocke u kockamapodataka. Svaka strana kocke se naziva dimenzijom# svaka !elija kocke sadri agregirane podatke koji su u vezi sa dimenzijom. Postoje slede!e ar"itekture *L,P sistema: $iedimenzionalani *L,P CM*L,PD <elacioni *L,P C<*L,PD Fibridni *L,P CF*L,PD M*L,P i <*L,P se razlikuju po na inu fizi kog uvanja podataka. $iedimenzioni *L,P I M*L,P baza podataka ima ograni ene fizi ke veli ine skupa podataka sa kojima mogu da barataju. 5a bi se izvrila bilo kakkva analiza podataka moraju se prvo u itati podaci u viedimanzione strukture. Prednost M*L,P sistema je to obezbedjuje odli ne performanse sistema kada se radi sa ve! sra unatim podacima. <elacioni *L,P I <*L,P sistemi pristupaju podacima direktno iz skladita podataka i rade sa relacionim bazama podataka. *vi sistemi mogu da rade sa velikim skupovima podataka. =im se odredi izvor podataka # korisnik moe zapo eti analizu. +od <*L,P sistema n"e postoje ograni enja to se ti e dimenzija sistema. Moda najbolje reenje predstavlja F*L,P# iji alati mogu pristupati i relacionim i viedimenzionim bazama podataka. 7ilj kori!enja F*L,P alata jeste da se iskoriste prednosti M*L,P alata. Pri tome se ne moe re!i da je F*L,P prosti zbir M*L,P%a i <*L,P%a. /o je zapravo <*L,P koji ima mog!nost izvravanja vrlo sloeni" S)L naredbi. +reiranje *L,P kocni kori!enjem 7ube 0izard%a integrisanog u Microsoft )uer2 vri se na osnovu pred"odno definisani" upita nad skladitem podataka. U magacinskom poslovanju za kreiranje *L,P kocke koristi!emo tabelu Stavka magacinskog dokumenta# a od kolona uzimamo -aziv robe# Ulaz# 3zlaz i Stanje. Proces kreiranje kocke se odvija koroz slede!e korake: 4. Po strartovanju MS )uer2%a izabere se tip baze podataka Cu ovom slu alu S)LD i pronadje odgovaraju!a baza podataka. 3zabere se tabela i kolone na osnovu koji" !e se vriti kreiranje kocke. &. Latim i z menija odabiramo 7reate *L,P 7ube (. *vo predstavlja prvi korak u formiranju *L,P kocke gde se odredjuju polja koja formiraju sumarne podatke i matemati ke operacije koje !e se izvravati nad tim apoljima. Polja koja se ne koriste za sumarne podatke predstavljaju kandidate za dimenzije kocke. 9. U ovom koraku se vri formiranje "ierar"ije dimenzija. Fierar"ija dimenzija treba da omogu!i vie nivoa detaljnosti# u zavisnosti od potreba korisnika. ;. $rimo uvanje kocke Codabirom Save ,s iz menijaD. -a osnovu ovako kreirane *L,P kocke vri se kreiranje pivot tabele za pristup podacima pomo!u Microsoft .Sel%a. 3z menija 5ata u Microsoft .Sel%u biramo 3mport data# i otvaramo pred"odno kreiranu *L,P kocku. -a osnovu ove kocke vri se formiranje pivot tabele.

65

Veljko Pakevi

Magainsko poslovanje

Slika 5.1: Pivot tabela

Latim se na osnovu formirane pivot tabele koja je prikazana na slici ;.4 vri kreiranje grafika# odnosno kreira se grafi ki prikaz pivot tabele. 6rafi ki prikaz pivot tabele prikazan je na slici ;.&.

Slika 5.2: Grafiki prikaz pivot tabele

66

Veljko Pakevi $.: DA.A MI'I'%

Magainsko poslovanje

5ata mining je relativno nova te"nika analize podataka. $eoma je razli ita od upita i izvetaja# kao i od viedimenzioni" analiza# po tome to koristi te"niku otkrivanja. La razliku od upita# izvetaja i viedimenzioni" analiza gde je korisnik morao da kreira i izvrava upite# data mining trai odgovore na pitanja koja pred"odno ne moraju biti postavljena. 5ata mining se najtipi nije koristi za statisti ke analize podataka i otkrivanje znanja. La prikaz 5ata Mining%a koristi!emo S)L Server &'';. U integrisanom delu koji se naziva Bussines 3ntelligence 5evelopment Studio moemo koristiti 5ata Mining 0izard. U prvom koraku moramo da pokrenemo ,nalisis Services Project. Poto je projekat kreiran# potrebno je definisati 5ata Sorce# odnosno bazu na kojoj ce biti vezan projekat. U desnom delu ekrena se nalazi Solution .Splorer preko koga mozemo izvriti ceo preojekat. 5esnim klikom na 5ata Source pokre!emo 1izard preko koga se povezujemo na eljnu bazu podataka# potrebno je testirati konekciju kako bi bili sigurni da je uspostavljena veza. Latim moramo kreirati 5ata Source $ie1# tj. pogled na bazu podataka kako bi mogli a izvimo analizu. 0izard se pokre!e na identi an na in kao i kod definisanja 5ata Sourca. U Solution .Sploreru moemo kreirati i tzv. kocke podataka na osnovu koji" se kasnije formira pivot tabela i grafik. U Mining Structures meniju se pokre!e glavni 1izard preko koga takodje moemo kreirati pivot tabelu i grafik. +reiranje Mining Modela se sastoji iz nekoliko koraka# i to: 4. 5esni klik na Mining Model u Solution .Sploreru i biramo opciju -e1 Mining Model. &. Stranu na kojoj je dat opis moemo da presko imo tako to !emo kliknuti na -eSt. (. -a strani Select t"e 5ata Mining /ec"niOue# moemo videti listu aktivni" algoritama preko koji"
!emo se konektovati na server. Biramo Microsoft 5ecision /rees algoritam 6 9. -a strani Specif2 /able /2pes page biramo tabelu iz koje nam trebaju podaci. ;. Specif2 t"e /raining 5ata strana odredjuje kolone nad kojima !e se zasnivati izvetaji. Potrebno je na istoj strani definisati i jedinstveni klji koji je karakteristi an za tabelu.

Slika 5.2: Lista kolona izabrane tabele >. *stalo je jo da se navede ime modela# i Mining model je kreiran. -a ekranu nam se prikazuje tabela za koju smo kreirali model i klikom na tabove iznad moemo videti grafik i pivot tabelu.

67

Veljko Pakevi

Magainsko poslovanje

I I+IJA
U savremenom poslovanju sve vie se koriste 000 protokoli# tj razvijaju se aplikacije koje su 0.B orjentisane. La budu!i razvoj aplikacije Magacinskog Poslovanja planira se dodatak koji !e upravo biti zasnovan na 0.B servisima. *snovni razlog ove dodatne implementacije jeste povezivanje centara i kori!enje aplikacije od strane udaljeni" klijenata preko 3nterneta. -a slici >.4 se nalazi deplo2ment dijagram.

Slika 6.1: Deployment Diagram

Povezivanje udaljeni" korisnika !e se omogu!avati preko brze internet konekcije C,5SL ili 0irelesD *snovni problem ovakvog na ina poslovanja jeste zatita podataka. Protokoli za prenos su nastali u prijateljski nastrojenoj sredini# to je 3nternet odavno prestao da bude. Samim tim se razvijaju i brojne zatite koje omogu!avaju sigurnosnu razmenu podataka na internetu. -ajpoznatija zatita jeste SSL CSecure Socet La2erD poznata po ikonici katanca koja se pojavljuje u Bro1seru.

68

Veljko Pakevi

Magainsko poslovanje

II +A(#JU2A(
Poslovni sistemi ve! dui vremenski period su izuzetno sloeni. Pove!anjem konkurencije# naputanjem granica zemlje i ciljanjem na globalni nivo I svetsko trite# sistemi postaju razuHeni# distribuirani. 3nformacioni sistem koji ima zadatak da prati sve delatnosti sistema mora raditi na razli itim lokacijama# u razli itim platformama kako 5e% tako 5indo<s# 2in":# na razli itim tipovima baza. Pored toga sistem mora imati vie razli iti" pogleda# sa jedne strane treba da omogu!i prost i brz unos podataka od strane radnikaJprodavaca# a sa druge strane razli itim nivoima menadera treba da obezbedi mogu!nosti za sloene analize trita# predviHanje poslovanja u budu!em periodu i razli ite ta%ako analize. Sve ovo iziskuje sloene i glomazne sisteme koje je izuzetno teko projektovati i pratiti. -a svu sre!u UML tu moe puno pomo!i. UML se nametnuo kao standard za projektovanje soft1are%ski" reenja. La"valjuju!i bogatstvu jezika# mogu!e je pratiti razvoj projekta od apstraktne ideje analiti ara# preko konkretni" klasa# aktivnosti pa sve do fizi kog rasporeda ra unara i mree. Pored toga za"valjuju!i analizi smanjuje se vreme izrade CprogramiranjaD proizvoda# ve!ina problema se identifikuju i reavaju pre samog kodiranja# programeri na samom po etku imaju sliku kako koji deo treba da izgleda# a odravanje proizvoda i uvoHenje novi" ljudi u razvoj vie ne predstavlja no!nu moru. Ukoliko kod nekoga jo postoje nedoumice da li je u opte potrebno projektovanje# analiza pre samog proces programiranja neka se samo zapita da li bi majstorima dozvolio da po nu sa gradnjom ku!e bez detaljnog ar"itektonskog plana. 3sta analogija moe se primeniti i na razvoj soft1are%a.

69

Veljko Pakevi

Magainsko poslovanje

III #I.*RA.URA
UM2 Deso"r#e Page# "ttp:JJ111.UML.org# 4'.&''; Mastering UM2 <it= Dational Dose 2002# 0end2 Boggs# S2beS &''4 Uni0ied Modeling 2ang"age#"ttp:JJ111.rational.comJumlJ# 'A.&''; H4I Uni0ied Modeling 2ang"age# 0ikipedia# "ttp:JJen.1ikipedia.orgJ1ikiJUML # 4'.&''; M;N UM2 L"ide# 6rand2 Booc"# 8ames <umbaug"# 3var 8acobson# ,ddison I 0esle2 4AAA M>N Uni0ied Modeling 2ang"age Spe#i0i#ation# *M6 4AAA M?N Pro0essional S12 Server 2000 Programming# <obert $ieira % 0roS &''' H8I Pro0esionalno programiranje '*/.;EF# Bipin 8os"i# Paul 5ickinson# 7laudio Gerracc"iati# +evin Foffman I 0roS &''& H9I Mi#roso0t Sol"tions Irame<ork Essentials I Microsoft &''& H10I @it#==ikerMs L"ide to S12 Server 2000 Deporting Servi#es # Peter Blackburn# $illiam <. $aug"n I ,ddison I 0esle2 &''; H11I Projektovanje skladi?ta podataka# 7"ris /odman I Fe1lett Packard &''4 H12I Fest N *riven *evelopment in Mi#roso0t. ;EF# 8ames 0. -e1kirk# ,leSei ,. $orontsov I Microsoft &''9 H13I Use Case Medeling# +urt Bittner# 3an Spence I ,ddison I 0esle2 &''( H14I /snove rela#ioni= i analitiAki= %a3a podataka N dr. 'limpije VeljoviK dr. 'ngelina ;jeg"?
H1I

M&N M(N

70

You might also like