Professional Documents
Culture Documents
UVOD
Tempo u savremenom poslovnom svijetu postaje sve brži, i raste potreba da se zahtjevi
tržišta prihvate, dostignu i pobijede.Tradicionalni načini razvoja sistema jednostavno nisu
odgovarajući. S obzirom da preovladava E-biznis, E-trgovina i drugi E sistemi, današnji
sistem mora biti razvijen na osnovu zahtjeva „Internet vremena“ i treba da bude veoma
fleksibilan u odnosu na okruženje i promjene. Zahtjev za promjenu, upućen nekom IT
odjeljenju zahtijeva ujedno i odgovor za najmanje sedam dana. Zahtjevi menadžera i
samih korisnika primorali su programerske firme da pronalaze najbolja rješenja i da
promjene u sistemu predvide i odrade brzo. Samo takav pristup održaće ih na
beskompromisnom tržištu. Strukturno programiranje je do skora bilo osnova za razvoj
softvera. Programeri su pisali standardne linije koda kako bi izveli operacije poput
štampanja, a onda su taj kod kopirali u sve aplikacije koje su pisali, kad im je bilo
potrebno da izvedu tu operaciju. Uspjelo se smanjiti vrijeme razvoja novih aplikacija, ali
su problemi nastajali kad je bilo potrebno izmijeniti kod koji je kopiran, zato što je to
zahtijevalo izmjenu u svim aplikacijama u kojima je taj kod kopiran. Objektno-
orjentisano programiranje upravo ima za cilj da ove probleme koji su stvoreni
struktuiranim programiranjem riješi. U objektno-orjentisanom programu programeri
kreiraju blokove koda koji se zovu objekti i koriste se od strane različitih aplikacija. Ako
jedan od objekata treba modifikovati, programer tu promjenu treba da uradi samo
jednom. Objektno-orjentisana paradigma je drugačije viđenje aplikacije. Sa objektno
orjentisanim pristupom aplikaciju dijelimo na mnoštvo malih dijelova, ili objekata, koji
su prilično nezavisni jedan od drugog. Aplikacija se razvija tako što se objekti povezuju u
jednu jedinstvenu cjelinu. Osnovna prednost OO programiranja je mogućnost izgradnji
komponenti samo jednom i njihovo ponovno korištenje. Primjenom OO pristupa mogu da
se razviju elastični sistemi koji su fleksibilni kako na promjene informacija tako i na
promjene u samom sistemu. Uopšte kada se želi napraviti novi savremeni sistem,
sakupljaju se zahtjevi, uobzire se sve potrebe korisnika koje se mogu razumjeti i iz njih
se pokuša generisati kod. Započeće se proces modelovanja, koji predpostavlja da se kod
vezuje za zahtjev, odnosno da se zahtjev susreće sa kodom. Ako želimo npr. da
napravimo program koji će računati kvadratnu jednačinu, potrebno je zadati kvadratnu
jednačinu, znati kako se rješava, a zatim i znati kako se programira u određenom
programu. Konstrukcija kvadratne jednačine u glavi, prije nego što dobijeni zadatak
ukucamo u kod, je u stvari modelovanje. Ako je zadatak koji treba riješiti složenije
1
prirode od kvadratne jednačine, čija realizacija prelazi okvire mogućnosti jednog čovjeka,
javlja se potreba za timskim radom. Tu stupa na snagu UML, Unified Modeling
Language. Cilj pri korištenju UML-a za poslovne procese, za razvoj aplikacija i
modelovanje baza podataka jeste da se povežu razvojni timovi i da se osigura da
organizacije ne prave arhitekture preduzeća bez uključivanja svih timova od značaja za
taj proces.
2
2.UML
3
model za specifičnu platformu Platform Specifik Model, PSM
Model sistema namijenjen određenom izvršnom okruženju. Drugi alati zatim prave kod
za tu platformu na osnovu modela PSM.
2.1.STRUKTURA UML-a
Svaki od pogleda opisan je pomoću jednog od trinaest UML dijagrama. Za gotovo sve
sisteme dijagrami predstavljaju poboljšani prikaz elemenata koji čine sistem.
Dijagram Svrha
Aktivnosti Proceduralno i paralelno ponašanje
Klasa Klase, osobine, veze
Komponenata Strukture i veze između komponenti
Komunikacije Interakcija između objekata sa naglaskom na vezi
Mašine stanja Kako događaji mijenjaju objekat
Objekata Primjer konfigurisanja instanci
Paketa Hijerarhijska struktura za vrijeme kompajliranja
Pregleda interakcije Kombinacija dijagrama sekvence i aktivnosti
Raspoređivanja Raspoređivanje artefakta po čvorovima
Sekvence Interakcija između objekata
Složene strukture Razlaganje klasa tokom izvršavanja
Slučajeva korištenja Interakcija korisnika i sistema
Vremenski Interakcija između objekata
4
Da bi se mogli pojedinačno predstaviti navedeni dijagrami potrebno je prvo upoznati
njihove gradivne elemente. Sam UML ima četiri vrste elemenata:
2.2.STRUKTURNI ELEMENTI
Slika 1.Klasa
Slika 2. Interfejs
5
Učesnik (Actor) je spoljašnji krajnji korisnik.
Slika 3. Učesnik
Slika 5. Komponenta
Slika 6. Čvor
6
2.3. ELEMENTI PONAŠANJA
Ovaj skup elemenata predstavlja dinamički dio UML modela. Dva su tipa stvari
ponašanja.
Slika 7. Interakcija
Čekanje
Slika 8.Stanje
7
2.4.GRUPIŠUĆI ELEMENTI
Slika 9. Paket
8
2.6. RELACIJE
Pridruživanje
razdjelnik reglete
Mnogostrukost
1 0..n
Nije određeno
Tačno jedan 1
Nula ili više 0..*
Jedan ili više 1..*
Nula ili jedan 0..1
Određeno 4..6
Višestruko 2,4..6
Tabela 2 . Mnogostrukost
9
Mnogostrukost, multiplicity, asocijacije određuje broj primjeraka jedne klase u odnosu na
drugu klasu.
kabl parice
Agregacija
Slika 13 . Agregacija
roditelj
generalizacija
djeca
10
3. UML DIJAGRAMI
3.1. DIJAGRAM KLASA
Dijagram klase opisuje statičku strukturu sistema. Dijagram klasa daje pregled sistema
pokazujući njegove klase i odnose među tim klasama. Pokazuje šta uzajamno djeluje , ali
ne pokazuje šta se dešava tokom tog djelovanja.
veza generalizacije
0..n
opšte pridruživanje
1
Profesor Student
Menadzer registracije
titula : String smer : String
agregacija
0..4 4 1..n
PonudaKursa Kurs
lokacija : String naziv
11
3.2. DIJAGRAM KORIŠTENJA Use Case dijagram
12
Prijava smetnje
Use-case:Prijava smetnje
Kratak opis:Prijava kvara na telefonu službi 1275
Akteri:Korisnik, Tehničar ispitnog stola
Preduslovi: Korisnik je sva svoja dugovanja izmirio i može prijaviti
kvar
Opis:
1. Korisnik daje svoje podatke putem telefona , ime, prezime, broj telefona,
i opis kvara
2. Tehničar prima prijavu kvara [Izuzetak:ako je isključen zbog duga , nije
smetnja]
3. Tehničar unosi podatke o prijavljnoj smetnji u nalog na računaru
Izuzetci: [Ako je isključen zbog duga, nije smetnja. Ne piše se nalog.]
Posljedice: Smetnja je evidentirana u bazu podataka, karton korisnika.
Formiranje naloga
Use-case: Formiranje naloga za otklanjanje smetnji
Kratak opis:Tehničar prosljeđuje prijavu za otklanjanje smetnji na osnovu
prijave korisnika.
Akteri: Tehničar.
Opis:
1. Tehničar inicira izvršavanje funkcije pravljenja naloga za
otklanjanje smetnje.
13
2. Sistem prikazuje formu za unos prijavljenog broja.
14
3. Tehničar unosi broj, sistem automatski poziva podatke bitne za
nalog.
15
Štampanje
Use-case: Štampanje
Kratak opis: Štampanje različitih dokumenata, izvještaja, naloga.
Akteri:-
Preduslovi: Štampač je uključen i povezan sa računarom.
Opis:
1. Sistem prosljeđuje zahtjev za štampanje dokumenta.
2. Ukoliko je štampač slobodan, zahtjev se prosljeđuje štampaču, ukoliko
nije zahtjev je na čekanju dok se štampač ne oslobodi.
3. Kada zahtjev stigne do štampača, dokument se štampa.
Izuzetak:
[Nema papira u štampaču.] Neophodno je staviti papir
[Nema tonera]Neophodno je isključiti štampač i promijeniti toner, a
zatim ponovo proslijediti zahtjev za štampanje.
Posljedice: Kompletan dokument je odštampan.
16
3.3. DIJAGRAM SEKVENCI Sequence diagram
Ponašanje sistema se predstavlja sekvencnim dijagramom koji opisuje šta sistem treba da
radi, a ne kako. Sekvencni dijagram se pravi za jedan slučaj korišćenja i prikazuje
redoslijed izvršavanja sistemskih operacija kao odgovor na istoimene sistemske događaje
koje inicira učesnik. Sistemske operacije mogu da uključe parametre, a one mogu da se
pridodaju, grupišu u sistem. Grafički, kod sekvencnog dijagrama učesnici se ređaju po x-
osi, a poruke poređane u vremenskom redoslijedu po y-osi. Učesnik koji započinje
interakciju, obično se stavlja na vrh sa lijeve strane, a ostali se ređaju udesno. Zatim se
unose poruke (na y-osi) koje ti učesnici šalju i primaju (od vrha ka dnu). Oni posjeduju
dvije dimenzije: vrijeme i kolekciju objekata. Poruke preko kojih objekti komuniciraju,
prikazuju se usmjerenim horizontalnim linijama. Postojanje aktivnosti koju objekt izvodi
u vremenu predstavlja se tankim pravougaonikom koji prekriva vremensku osu u
vertikalnom pravcu, i u veličini koja odgovara vremenu njegovog postojanja. Na
dijagramu sekvenci postoje i rekurzivne poruke. To su poruke koje objekat upućuje
samom sebi. Rekurzija je prikazana strelicom koja polazi i završava se u objektu. Poruka
je definisana nazivom i parametrima.
Ako su dijagrami slučajeva upotrebe prethodno definisani, onda je dijagram sekvenci
jedna od realizacija slučajeva upotrebe, koja pokazuje redoslijed događaja koje generišu
spoljni učesnici za svaki slučaj upotrebe. Slučaj upotrebe sugeriše način na koji se
učesnik nalazi u interakciji sa softverskim sistemom, tj. učesnik generiše događaje.
17
Slika 20.Sekvencni dijagram
18
2.Formiranje zapisnika
tehničar
Formiranje naloga
Ukucaj broj
preuzmipodatke
Prikaži podatke
izdvoji korisnika
vrati podatak
19
3.4. DIJAGRAM STANJA MAŠINE State Machine diagram
[odradjene] Izrada
Snimanja na
terenu projekta
Otvaranje Raspisivanje
ponuda tendera
[konkurs]
[odustaje se]
[Izabran izviođač]
20
3.5. DIJAGRAM AKTIVNOSTI Activity diagrams
Izrada projekta
Revidovanje
projekta
[nije prošao reviziju] [prošao reviziju]
21
3.6. PAKETNI DIJAGRAMI
22
Paketnim dijagramima se može opisivati zavisnost između paketa. Dva paketa su zavisna
ako sadrže zavisne klase odnosno ako postoji zavisnost između njihovih sadržaja.
23
3.7.OBJEKTNI DIJAGRAMI Objekt
diagrams
Pojmovi klase i objekta su tijesno povezani. O objektima se ne može govoriti bez osvrta
na njihove klase. Dok objekat predstavlja konkretan entitet koji postoji u vremenu i
24
prostoru, klasa predstavlja apstrakciju, tj. suštinu objekta, pa se može reći da su klase
skupovi objekata koji dele zajedničku strukturu i ponašanje.
25
3.9. KOMPONENTNI DIJAGRAM Component dijagram
26
Component Component
Component
27
Slika 31. Vremenski dijagram
4.ZAKLJUČAK
28
njihovu oblast. Pored dijagrama i metamodeli imaju važnu ulogu u razumijevanju.U
samom modelovanju baza podataka UML je proširio vidokrug i postao dijelom
cjelokupnog procesa analize i dizajna. Pri projektovanju baza podataka mi i dalje imamo
tabele, kolone i druge bitne elemente. Oni su sada samo malo drugačije opisani i
omogućuju lakšu komunikaciju između radnih grupa. UML pruža mogućnost da se jednim
jezikom modeluje poslovni sistem, aplikacija, baza podataka i arhitektura sistema.
Korišćenjem UML-a kao jezika za čitav životni ciklus razvojnog procesa omogućuje da
svi učesnici rade na isti način, ali da svoj sopstveni dio rade prema potrebama.
Mi imamo veću mogućnost da razumijemo stvari ako su nam one predstavljene vizuelno
preko modela, nego u slučaju kada su nam one predstavljene tekstom.Izradom vizuelnog
modela sistema, možemo pokazati kako sistem radi posmatrajući više nivoa. Možemo
modelovati inerakciju korisnika i sistema. Možemo modelovati interakciju pojedinih
objekata sistema i samog sistema.
U ovom radu pokušala sam iz dostupne literature sakupiti dijelove i napraviti jednu
cjelinu koja se pomalo dotakla osnova UML jezika.
LITERATURA:
29
30