Modelovanje Aplikacije Koriscenjem UML
description
Transcript of Modelovanje Aplikacije Koriscenjem UML
![Page 1: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/1.jpg)
1
Modelovanje aplikacije korišćenjem UML-a
![Page 2: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/2.jpg)
2
Objektno modelovanje - UML
UML (Unified Modeling Language) - objedinjeni vizuelni jezik za
poslovno i softversko modelovanje u svim fazama razvoja i za sve
tipove sistema, kao i za generalno modelovanje kojim se definišu
statičke strukture i dinamičko ponašanje.
Standardni jezik za:
vizuelizaciju
specifikaciju
konstruisanje i
dokumentovanje softverskih sistema
UML kombinuje najbolje iz:
Koncepta “Data Modeling” (Entity Relationships Diagrams)
Poslovnog modelovanja (work flow)
Objektnog i komponentnog modelovanja
![Page 3: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/3.jpg)
3
UML
UML je projektovan kao vrlo fleksibilan i prilagodiv jezik, koji
omogućava vrlo različite vrste modelovanja, uključujući:
modele koji olakšavaju razumevanje poslovnih procesa,
odvijanja tokova događaja,
sekvenci upita,
aplikacija,
baza podataka,
arhitektura i drugog.
![Page 4: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/4.jpg)
4
UML
UML je nastao kao rezultat evolucije objektno orijentisanih jezika za modelovanje.
Razvila ga je kompanija Rational Software objedinjavanjem tri vodeće metode objektno orijentisanog modelovanja:
Booch koji je razvio Grady Booch,
OMT (Object Modeling Technique) koji je razvio Jim Rambaugh i
OOSE (Object-Oriented Software Engineering) koji je razvio Ivar Jacobson.
![Page 5: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/5.jpg)
5
Arhitektura softverskih sistema
Kako je sistem
struktuiran?
Koje su funkcije
sistema? Kako izgraditi
sistem?
Gde instalirati?
Kako je sistem
predstavljen?
Kako se sistem
ponaša?
![Page 6: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/6.jpg)
6
Kategorije korisnika
UML koriste sledeće kategorije korisnika:
Sistem analitičari i krajnji korisnici – specifikacija
zahtevane strukture i ponašanje sistema
Arhitekte sistema – projektanti sistema koji će
zadovoljiti zahteve
Razvojni inženjeri (developers) – transformišu
arhitekturu u izvršni kod
Kontrolori kvaliteta – provera strukture i ponašanje
sistema
Rukovodioci projekta (menagers) – vode i usmeravaju
kadrove i resurse
![Page 7: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/7.jpg)
7
UML dijagrami
Dijagram u UML-u – grafička predstava skupa elemenata - iscrtan kao graf čvorova (stvari) i lukova (relacija)
Dijagrami UML-a prikazuju sistem iz više uglova:
Dijagram slučajeva upotrebe (Use-Case Diagram)
Dijagram klasa (Class Diagram)
Dijagram objekata (Object Diagram)
Dijagram sekvenci (Sequence Diagram)
Dijagram saradnje (Collaboration Diagram)
Dijagram promene stanja (State Diagram)
Dijagram aktivnosti (Activity Diagram)
Dijagram komponenti (Component Diagram)
Dijagram razvoja (Deployment Diagram)
![Page 8: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/8.jpg)
8
Gradivni blokovi UML-a
Stvari (things)
Relacije (relationships)
![Page 9: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/9.jpg)
9
Things
Postoje 4 vrste stvari (things):
Stvari strukture – statički delovi modela koji reprezentuju konceptualne ili fizičke elemente (imenice)
Stvari ponašanja – dinamički delovi modela koji reprezentuju ponašanje kroz prostor i vreme (glagoli)
Stvari grupisanja - organizacioni delovi modela
Stvari anotacije – opisni delovi modela, komentari koji se primenjuju na bilo koji dokument
![Page 10: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/10.jpg)
10
Statički delovi modela
Fizički i zamenljivi deo sistema koji obezbeđuje realizaciju
skupa interfejsa
Komponenta
OpisSimbolIme
Čvor
Aktivne
klase
Slučaj
upotrebe
Korisnik
Kolaboracija
(Saradnja)
Interfejs
Klasa
Fizički element koji postoji u vreme izvršavanja i predstavlja
računarski resurs – ima memoriju i mogućnost procesiranja.
Klase čiji objekti poseduju jedan ili više procesa ili niti –
mogu inicirati kontrolnu aktivnost.
Opis skupa sekvenci akcija koje sistem izvodi da bi izvršio
neki zahtev korisnika.
Spoljašnji entitet koji komunicira sa sistemom, obično osoba.
Definiše interakciju i udružuje uloge i druge elemente tako da
rade zajedno i obezbeđuju kolaborativno ponašanje.
Kolekcija operacija koje opisuju servise klase ili komponente.
Opis skupa objekata koji dele iste atribute, operacije, veze i
semantiku. Implementira 1 ili više interfejsa.
![Page 11: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/11.jpg)
11
Dinamički delovi UML modela
OpisSimbolIme
Prikaz stanja
Interakcija
Ponašanje specificirano sekvencom stanja objekta ili
neke interakcije.
Ponašanje prilikom razmene skupa poruka između
skupa objekata da bi se objasnile specifične namene.prikaz
Čekanje
![Page 12: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/12.jpg)
12
Organizacioni delovi UML modela
OpisSimbolIme
Paket
Grupe na koje model može biti dekomponovan.
Mehanizam opšte namene, za organizovanje elemenata
u grupe.
Paket je čisto konceptualan – postoji samo u vreme
razvoja.
![Page 13: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/13.jpg)
13
Delovi za objašnjenja
OpisSimbolIme
Anotacija
Komentari kojima opisujemo, objašnjavamo i
naznačavamo bilo koji element u modelu.
Osnovna vrsta anotacije je napomena (note).
![Page 14: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/14.jpg)
14
Relacije (relationships)
Semantička relacija između klasifikatora, gde jedan
klasifikator specificira ugovor koji drugi klasifikator
garantuje da će ispuniti.
Objekti specijalizovanih elemenata (dete)
predstavljaju zamene za objekte generalizovanih
elemenata (roditelj).
Vrh strelice na roditelju.
Strukturna relacija koja opisuje skup veza kojim se
postavlja veza između objekata.
Semantička relacija između nezavisne i zavisne
stvari. Nezavisna stvar utiče na semantiku zavisne.
Usmerenje – iz zavisnog slučaja.
Opis
Realizacija
Generalizacija
SimbolIme
Asocijacija
Zavisnost
0..1 *
radi radj
![Page 15: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/15.jpg)
15
Alati za izradu UML dijagrama
![Page 16: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/16.jpg)
16
Alati za izradu UML dijagrama
Rational Rose
Microsoft Visio
System Architect
Describe Enterprise
![Page 17: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/17.jpg)
17
Rational Rose
![Page 18: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/18.jpg)
18
Dijagrami slučajeva upotrebe (korišćenja)
![Page 19: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/19.jpg)
19
Dijagram slučajeva upotrebe(Use-Case Diagram)
Omogućavaju krajnjim korisnicima da razumeju sistem
Pogled korisnika na funkcionisanje sistema (šta sistem radi, a
ne kako sistem funkcioniše)
Razvoj dijagrama slučajeva upotrebe definiše se sledećim
aktivnostima:
Definisanjem učesnika
Definisanjem slučajeva upotrebe
Definisanjem tipova veza između učesnika i slučajeva upotrebe
Izradom dijagrama slučajeva upotrebe
Učesnik
Asocijativni naziv
Slučaj upotrebe
![Page 20: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/20.jpg)
20
Primer 1.
Potrebno je napraviti aplikaciju koja će omogućiti korisniku
da preko Interneta rezerviše bioskopske ulaznice za željene
projekcije.
Takođe je potrebno omogućiti korisniku stalan uvid u
bioskopski repertoar i informacije o bioskopu u kojem
željeni film igra.
![Page 21: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/21.jpg)
21
Dijagram slučajeva upotrebe
korisnik
Pregled filmova
Pregled bioskopa
Rezervacija
![Page 22: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/22.jpg)
22
Dijagram slučaja upotrebeprocesa rezervacije
Odabir filma
Odabir bioskopa
Odabir termina
Rezervacija karata
Potvrda rezervacije
Unos podataka
korisnik
![Page 23: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/23.jpg)
23
Definisanje učesnika
Korisnik je čovek koji koristi sistem, dok je učesnik specifična
uloga koju korisnik ima u komunikaciji sa sistemom
Učesnik – osoba ili veštački entitet (softver ili sistem) koji
učestvuje u slučaju upotrebe
![Page 24: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/24.jpg)
24
Definisanje učesnika
Učesnika je moguće identifikovati na osnovu odgovora na sledeća
pitanja:
Ko će koristiti osnovnu funkcionalnost sistema (primarni
učesnici)
Ko treba da upravlja, administrira i održava sistem (sekundarni
učesnici)
Kome će biti potrebna podrška sistema u obavljanju dnevnih
zadataka
Kojim hardverskim uređajima sistem treba da upravlja
Sa kojim drugim sistemima dotični sistem treba da bude u vezi
Ko ili šta je zainteresovan za rezultate koje sistem proizvodi
![Page 25: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/25.jpg)
25
Definisanje slučajeva upotrebe
Slučaj upotrebe – definiše funkcionalnost sistema sa
stanovišta učesnika – šablon ponašanja delova sistema
Pitanja za učesnika – identifikuju slučajeve upotrebe:
Koje funkcije učesnik zahteva od sistema – šta učesnik treba da
radi?
Da li učesnik treba da čita, kreira, briše, izmeni ili da unese
neke informacije u sistem?
Da li učesnik treba da bude obavešten o događajima u sistemu?
Da li svakodnevni rad učesnika može da se pojednostavi kroz
nove funkcije sistema?
![Page 26: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/26.jpg)
26
Definisanje veze između učesnika i slučajeva upotrebe
Veze koje se uspostavljaju u dijagramu slučajeva upotrebe:
Asocijacija (Association)
Asocijacija između slučajeva upotrebe tipa <<include>>
Asocijacija između slučajeva upotrebe tipa <<extend>>
Generalizacija (Generalization-Inheritance)
Zavisnost (Depedency)
![Page 27: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/27.jpg)
27
Asocijacija
Bidirekciona veza – linija koja spaja učesnike i slučajeve upotrebe
Asocijacija između samih učesnika ili slučajeva upotrebe, definiše
povezanost tih elemenata
Menadžer projekta
Inženjer razvoja
Razvoj sistema
![Page 28: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/28.jpg)
28
Upotreba tipa <<include>>
Slično ponašanje deli se između sličnih slučajeva upotrebe
Veza <<include>> opisuje odnos između slučajeva upotrebe u
kojem jedan slučaj upotrebe koristi usluge drugog
<<include>> <<include>>
<<include>>
Razvoj softvera
Operacije sistema
Razvoj sistemaDefinicija problema
Menadžer projekta Inženjer razvojaklijent
Krajnji korisnik
![Page 29: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/29.jpg)
29
Upotreba tipa <<include>>
Korisnik LoginPristupa Webu
<< include>>
![Page 30: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/30.jpg)
30
Upotreba tipa <<extend>>
“Proširivanjem” jednog slučaja upotrebe opisuje se neka
složenija funkcija sistema
Proširivanje se vrši sa jednim ili više drugih postojećih
slučajeva upotrebe
Ako slučaj A proširuje slučaj B:
i slučaj A i slučaj B mogu da postoje sami
slučaj B može (a ne mora) da bude proširen slučajem A
A B<<extend>>
![Page 31: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/31.jpg)
31
Upotreba tipa <<extends>>
<<extend>> Praćenje finansija
Praćenje dnevnog kumulativaPeriodična kontrola
<<extend>>
![Page 32: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/32.jpg)
32
Generalizacija
Generalizacija – veza između roditelja i deteta – vezana za pojam nasleđivanja – dete nasleđuje osobine roditelja
Generalizacija učesnika – izvedeni učesnik ima sve osobine i ponašanje osnovnog (apstraktnog) učesnika, ali može dodati osobine ili redefinisati ponašanje
zaposlen
Rukovodilac Knjigovođa Kontrolor
![Page 33: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/33.jpg)
33
Generalizacija
Generalizacija slučajeva upotrebe – izvedeni slučaj upotrebe ima
sve osobine i ponašanje apstraktnog slučaja upotrebe, ali može
dodati osobine ili redefinisati ponašanje
Novčane transakcije
UplataIsplata
![Page 34: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/34.jpg)
34
Primer 2.
Operator
Korisnik
Banka
sesija
transakcije
uplata isplata transfer izveštaj
![Page 35: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/35.jpg)
35
Primer 3.
službenik
pacijent
Zakazuje pregled
Otkazuje pregled
Provera pacijentove
dokumentacije
Zahteva lečenje
Različliti načini plaćanja
Plaćanje računa
Tačke proširenja
Naredni tretmani
kartoteka
doktor
Polisa osiguranja
![Page 36: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/36.jpg)
36
Elektronska prodavnica knjiga
Primer 4.
![Page 37: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/37.jpg)
37
Analiza sistema
Analiza sistema treba da omogući odgovor na pitanje: “Koja je prioritetna funkcija koju treba da ostvari sajt namenjen elektronskoj trgovini?”
Jedan od načina za realizaciju sajta je uočavanje poslovnih ciljeva, na osnovu kojih se razvija lista funkcionalnosti sistema i zahteva za informacijama.
![Page 38: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/38.jpg)
38
Analiza sistema
Poslovni ciljevi predstavljaju jednostavnu listu mogućnosti koje od sajta očekujemo.
Funkcionalnosti sistema predstavljaju listu mogućnosti informacionog sistema koje su potrebne da bi se ostvarili poslovni ciljevi.
Informacioni zahtevi za sistem predstavljaju informacione elemente koje sistem mora da produkuje da bi se realizovali poslovni ciljevi.
Tako formirane liste moraju se dostaviti programerima da bi znali šta menadžer od njih očekuje.
![Page 39: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/39.jpg)
39
Broj posetilaca, posećene stranice,
kupljeni proizvodi.
Sistem za praćenje i izveštaj o
sajtu
Razumeti efikasnost
marketinga.
Inventar proizvoda, ID i kontakt
izdavača.
Upravljanje inventaromMogućnost lakog ažuriranja i
proširivanja kataloga
Korisnikov ID, knjige, datum
porudžbine.
Baza podataka o
porudžbinama
Obezbediti podršku
potrošaču nakon kupovine
knjiga.
Ime, adresa, telefon i e-mail svakog
potrošača. Online registracija
korisnika.
Baza podataka potrošačaPrikupiti podatke o
potrošaču.
Naziv, autor, cena, izdavač i kratak
opis svake knjige.
Baza podataka knjigaNeposredno pretražiti katalog
i dodati knjige u potrošačku
korpu.
Upis svakog korisnika koji pristupi
sajtu.
Veza sa potrošačemPersonalizovati/kastomizovati
svaku knjigu.
Opis knjige, broj zaliha, nivo
inventara.
Baza podataka knjigaObezbediti detaljnije
informacije o knjigama.
Dinamičan tekst i grafički katalog.Digitalni katalogPrikazati knjige.
Informacioni zahteviFunkcionalnost sistemaPoslovni ciljevi
![Page 40: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/40.jpg)
40
Specifikacija zahteva
Korisnika
Registraciju novih korisnika
Prijavljivanje starih korisnika
Pregled kataloga
Pretragu kataloga
Postavljanje odabranih knjiga u potrošačku korpu
Modifikaciju potrošačke korpe
Pražnjenje cele korpe
Administratora
Registraciju novog administratora
Izmenu lozinke registrovanog administratora
Brisanje administratora
Postavljanje novih kategorija u katalog
Uklanjanje kategorija iz kataloga
Postavljanje novih knjiga u katalog
Editovanje atributa knjige u katalogu
Uklanjanje knjiga iz kategorija
Premeštanje knjiga iz jedne u drugu kategoriju
Postavljanje novih izdavača
Modifikaciju atributa postojećih izdavača
![Page 41: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/41.jpg)
41
Prikaz opštih slučajeva upotrebe
Login
Registracija
Pretraga kataloga
Formiranje porudžbine
Modifikacija porudžbine
Pražnjenje cele korpe
Login
Registracija
Modifikacija kategorija
Modifikacija knjiga
Modifikacija administratora
Modifikacija izdavača
korisnik administrator
![Page 42: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/42.jpg)
42
Slučaj korišćenja: Modifikacija podataka
![Page 43: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/43.jpg)
43
Slučaj korišćenja: Pretraga
![Page 44: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/44.jpg)
44
Slučaj korišćenja: Logovanje administratora na sistem
Unos lozinke
provera lozinke
![Page 45: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/45.jpg)
45
Dijagrami aktivnosti
![Page 46: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/46.jpg)
46
Razvoj dijagrama aktivnosti
Poslovni proces – slučaj upotrebe – posmatra se kao sistem koji ima svoja stanja u kojima se obavljaju aktivnosti, dok prelaze iz jednog u drugo stanje koje diktiraju događaji
Prikazuje sekvencijalni tok aktivnosti
Sastoji se od:
Stanja
Akcija
Prelaza
Proces Razvoja dijagrama aktivnosti sadrži:
Definisanje plivačkih staza
Definisanje stanja dijagrama aktivnosti
Definisanje tranzicija
![Page 47: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/47.jpg)
47
Definisanje stanja dijagrama aktivnosti
Stanje dijagrama aktivnosti može da predstavlja:
Akciju – ne može biti dekomponovana, traje kratko vreme, ne
može se prekidati
Aktivnost – ima trajanje, može se prekidati zbog nekih
događaja, može se dekomponovati
Pseudostanje ili
Stanje toka objekta
Oznaka stanja je jedinstvena:
Naziv stanja
![Page 48: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/48.jpg)
48
Definisanje stanja dijagrama aktivnosti
Definisanje pseudostanja – stanja prelaza
Početno stanje
Krajnje stanje
Stanje odluke - grananje
Sinhronizacija
![Page 49: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/49.jpg)
49
Definisanje tranzicija
Tranzicija - prelazak iz jednog u drugo stanje – prouzrokuje (okida) neki događaj
Događaji mogu da budu:
Spoljni – generišu se van sistema – generišu ga učesnici
Kraj aktivnosti
Vremenski – spoljni ali bez učesnika
Upravljački – generiše rukovodilac posla
Tranzicija prouzrokuje događaj koji sadrži uslove, argumente i akcije
Događaj – poruka – ako su očigledne ne prikazuju se na dijagramu
Događaj 1 (argument) [uslov 1] / Akcija 1
![Page 50: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/50.jpg)
50
Prikaz grananja
A
C
[uslov]
[not uslov]
B
grananje
![Page 51: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/51.jpg)
51
Prikaz grananja
postavi iterator
radi()
promeni iterator
[kraj]
[not kraj]
početno stanje
završno stanje
![Page 52: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/52.jpg)
52
Sinhronizacija
Sinhronizacija – zadebljana horizontalna linija
Račvanja (fork) i udruživanja (join) niti – obavljaju se u
sinhronizacionim tačkama
Tranzicije koje ulaze u sinhronizaciju su uslov za paralelno
obavljanje tranzicija koje iz nje izlaze – jedna aktivnost
“čeka” na ispunjenje uslova (“pristizanje” svih događaja) za
njeno izvršenje
![Page 53: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/53.jpg)
53
Prikaz sinhronizacije
Priprema
Aktivnost 1 Aktivnost 2
Finalizacija
Sinhronizaciona tačkaRačvanje (fork)
Udruživanja (join)
![Page 54: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/54.jpg)
54
![Page 55: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/55.jpg)
55
Definisanje plivačkih staza
Dijagram aktivnosti deli se u odgovarajuće logičke celine –
plivačke staze – definišu odgovornost pojedinih objekata za
izvršenje odgovarajućih akcija
Svaka staza – navode se učesnici, aktivnosti – “radna lista” –
definisana u okviru opisa radnog mesta prilikom opisa organizacije
Stanja pripadaju stazama, a tranzicije mogu da prelaze iz jedne
staze u drugu
![Page 56: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/56.jpg)
56
Definisanje plivačkih staza
Ime 1 Ime 2 Ime 3
A
B
C
D
Plivačka
staza
![Page 57: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/57.jpg)
57
Primer
Isporuka
korisnik prodaja magacin
Zahtev za isporukom
Prijem porudžbine
Plaćanje
Isporuka Preuzimanje
robe
Order [placed] Order
[entered]
Order [filled]
Order [delivered]
Priprema isporuke
![Page 58: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/58.jpg)
58
Korisnik Automat Banka
Postavi karticu
Unesi PIN
Podižem iznos
Preuzmi novac
Uzmi karticu
Identifikacija
Provera stanja na računu
Umanji iznos na računu
Prikazuje stanje na računu
Vraća karticu
![Page 59: Modelovanje Aplikacije Koriscenjem UML](https://reader034.fdocument.pub/reader034/viewer/2022050707/54a1dc18ac7959875a8b45b0/html5/thumbnails/59.jpg)
59
Dijagrami aktivnosti