You are on page 1of 73

Objedinjeni jezik modeliranja

Unified Modeling Language (UML)


I deo

Informacioni i komunikacioni sistemi 2017/2018.


Sistematski razvoj softverskih
sistema

Timski razvoj

Jezik za Metodološki
modeliranje razvoj
Informacioni i komunikacioni sistemi 2017/2018.
Objedinjeni jezik modeliranja
• Unified Modeling Language UML
– formalni jezik, namenjen za:
• formalno specificiranje sistema
(mogućih stanja i ponašanja)
– modelovanje sistema
– vizuelizaciju sistema
– analizu sistema
– dokumentovanje sistema
• razvoj (analizu i projektovanje) softverskih sistema koji
predstavljaju modele drugih, realnih sistema
– zasnovan na principima objektne orijentacije
Informacioni i komunikacioni sistemi 2017/2018.
Modelovanje
• Model je pojednostavljenje stvarnosti
• Apstrakcija je osnovni princip modelovanja
– posmatraju se samo relevantne informacije u
datom trenutku
• skrivajući nebitne detalje
• Model sistema kreira se na različitim nivoima
– počev od najvećeg stepena apstrakcije
– ka nižim nivoima
• uz dodavanje više detalja

Informacioni i komunikacioni sistemi 2017/2018.


Modelovanje
• Modele stvaramo da bismo bolje razumeli
sistem koji modelujemo
• Kompleksne sisteme modelujemo jer takve
sisteme ne možemo da razmatramo u celini

Koliki nam je šestar


potreban da nacrtamo
krivu zakrivljenja ovih
stubova?

Informacioni i komunikacioni sistemi 2017/2018.


Modelovanje
• Tokom modelovanja kreiraju
se različiti pogledi na sistem
– koji su neophodni za potpuno
razumevanje sistema
• Pogled sadrži informacije:
– koje su specifične samo za
dati pogled i
– informacije koje se pojavljuju i
u nekim drugim pogledima
• Informacije koje su
zajedničke za dva ili više
pogleda moraju biti
konzistentne

Informacioni i komunikacioni sistemi 2017/2018.


Principi modelovanja
• Opredeljenje za različite modele značajno
utiče na pristup problemu i oblik rešenja
– ER dijagram, DFD, OO dijagram klasa
• Svaki model može se izraziti na različitim
nivoima detaljnosti
• Model mora da bude u vezi sa realnosti
– pojednostavljenja ne smeju da sakriju važne
detalje
• Jedan model nije dovoljan
– nekoliko skoro nezavisnih modela
Informacioni i komunikacioni sistemi 2017/2018.
Zašto nam je potrebna
vizuelizacija?
• Milošev stric Dragan ima samo jednog brata.
Bojana i Boško su brat i sestra. Milan nije
Milošev sinovac, nego je Draganov sinovac.
Aca je Bojanin stric, a Milan je Acin sin.
Ko je kome šta?
?

Aca Dragan
relacija “je otac”

Milan Miloš Bojana Boško

Informacioni i komunikacioni sistemi 2017/2018.


Objedinjeni jezik modeliranja
Diagram slučejeva Dijagrami klasa
Dijagrami stanja
upotrebe add file

Writing
add file [ numberOffile==MAX ] /
flag OFF

Openning

Use-Case 1
close file
Actor A Actor B
close file
Closing
Reading

Use-Case 2
<<entity>>
Customer
name
addr

Poznavalac Use-Case 3
receive()
withdraw()
fetch()
send()
Dijagrami
sistema –
UI

MFC Klase razmeštaja


Ekspert DocumentApp

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨


- À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
- À©µµ¿ì NT: ÀÀ¿ë¼-¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö

RogueWave

Repository DocumentList Window95


Windows95
9: sortByName ( ) Persistence Windows95

global

¹®¼-°ü¸®

FileManager Ŭ¶óÀ̾ðÆ®.EXE
¹®¼-°ü¸® ¾ÖÇø´

mainWnd : MainWnd Windows


NT

1: Doc view request ( )

Dijagrami
L

Document Solaris

2: fetchDoc( )
¹®¼-°ü¸® ¿£Áø.EXE
4: create ( ) gFile : GrpFile
Alpha
8: fillFile ( ) UNIX
ÀÀ¿ë¼-¹ö.EXE

Windows

paketa
NT

user : »ç¿ëÀÚ GraphicFile IBM

fileMgr : FileMgr Mainframe

3: create ( )
File FileList
6: fillDocument ( )
µ¥ÀÌŸº£À̽º¼-¹ö

7: readFile ( )

5: readDoc ( )
document : Document

Analitičar/
repository : Repository

Forward Engineering (specifikacija -> kod)


Dijagrami saradnje Dijagrami Reverse Engineering (kod -> specifikacija)
Projektant/
komponenti
Programer user
mainWnd fileMgr :
FileMgr
document :
Document
gFile repository

ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦


»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
1: Doc view request ( )

2: fetchDoc( )

3: create ( )
Editovanje, kompajliranje, povezivanje
izvornog koda
4: create ( )

5: readDoc ( )

È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( )


¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼-
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

7: readFile ( )

8: fillFile ( )

È-¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )


°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù.

Dijagrami sekvenci
Ciljni sistem
(izvršni sistem)
Informacioni i komunikacioni sistemi 2017/2018.
Izvori UML-a
Rumbaugh J. Booch G. Jacobson I.
 OMT OOAD  OOSE
Object Modeling Technique OO Analysis and Design OO Software Engineering

Meyer Fusion
 preduslovi  opisi operacija,
 postuslovi  numeracija poruka

Harel Wirfs-Brock
 dijagrami stanja  odgovornosti

Odell
Gamma, at. all  klasifikacija
 interfejsi Shlaer - Mellor
 uzorci  životni ciklus
 napomene objekta

Informacioni i komunikacioni sistemi 2017/2018.


Osnovni motivi i ciljevi unifikacije
jezika za modeliranje
• Ciljevi
– Omogućiti modelovanje sistema od koncepata do
izvršivih proizvoda korišćenjem OO tehnika
– Lakše savladavanje kompleksnosti sistema
– Stvaranje takvog jezika za modelovanje koji je
upotrebljiv i za ljude i za mašine

Informacioni i komunikacioni sistemi 2017/2018.


UML
• Najvažnije infromacije o UML-u
– www.omg.org
– www.rational.com

Informacioni i komunikacioni sistemi 2017/2018.


UML dijagrami

Informacioni i komunikacioni sistemi 2017/2018.


Dinamički UML dijagrami
• Dijagram slučajeva korišćenja (Use Case Diagram)
– Prikazuje skup slučajeva korišćenja, aktera (specijalne vrste klasa) i njihovih relacija
• Dijagrami interakcije (Interaction Diagram)
– prikazuju jednu interakciju koju čine skup objekata i njihovih veza sa porukama koje
razmenjuju
– Dijagram sekvence (Sequence Diagram) je dijagram interakcije
• koji naglašava vremenski redosled poruka
– Dijagram komunikacije (Communication Diagram) je dijagram interakcije
• koji naglašava strukturnu organizaciju objekata koji šalju i primaju poruke;
– Dijagram pregleda interakcije (Interaction Overview Diagram) je dijagram interakcije
• koji definiše interakcije kroz vrstu dijagrama aktivnosti (UML 2.*)
• (kombinacija dijagrama aktivnosti i dijagrama sekvence)
– Vremenski dijagram (Timing Diagram) je dijagram interakcije
• koji prikazuje promenu stanja objekata u vremenu (UML 2.*)
• Dijagram aktivnosti (Activity Diagram)
– prikazuje tok od jedne do druge aktivnosti u sistemu (u UML 2.*nije specijalna vrsta
dijagrama stanja, kao što je to bilo u ranijim verzijama UML-a)
• Dijagram stanja (Statechart Diagram) prikazuje
– konačni automat koji obuhvata stanja, tranzicije, događaje i aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Use Case Diagram

Informacioni i komunikacioni sistemi 2017/2018.


Activity Diagram

Informacioni i komunikacioni sistemi 2017/2018.


Sequence Diagram

Informacioni i komunikacioni sistemi 2017/2018.


Communication (Collaboration)
Diagram

Informacioni i komunikacioni sistemi 2017/2018.


UML jezik
• UML je standardni jezik čiji su rečnik i pravila
usmerena na konceptualnu i fizičku reprezentaciju
sistema
– sistema sa intenzivnom primenom softvera, ali i
– za modelovanje drugih sistema
• Rečnik i pravila UML jezika govore kako treba
formirati i čitati dobro formirane modele
– ali ne govore koje modele treba formirati i kada to
treba činiti
• Dobro formiran model je
– semantički konzistentan
– u harmoniji sa korelisanim modelima

Informacioni i komunikacioni sistemi 2017/2018.


UML jezik
• Tokom razvoja ne prave se samo modeli koji su dobro formirani, već oni
mogu biti i:
– Skraćeni (elided)
• izvesni elementi su sakriveni da bi se pojednostavio izgled dijagrama
– Nekompletni
• izvesni elementi nedostaju
– Nekonzistentni
• integritet modela nije garantovan
• Ovi modeli se tokom procesa razvoja softvera dopunjuju, sa ciljem
dobijanja dobro formiranih modela

• Uloga dobro definisanog procesa razvoja softvera je da se definišu


modeli koje treba formirati, koje aktivnosti i koje subjekte treba koristiti i
kada, kako koristiti modele u oceni i kontroli projekta kao celine itd.
• UML modeli nezavisni su od jezika u kojem softver treba da bude
realizovan

Informacioni i komunikacioni sistemi 2017/2018.


Ostali koncepti UML-a
• Koncepti funkcionalnog modelovanja
– Koncepti funkcionalnog modelovanja
ponašanja
• Slučaj upotrebe
• Učesnik
• Scenario
• Automat stanja
• Saradnja
• Interakcija
• Graf aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Koncepti funkcionalnog
modelovanja ponašanja
UML dijagrami

Strukturni Dijagrami
dijagrami ponašanja

Dijagram klasa

Objektni dijagram
Dijagram slučaja
Dijagram aktivnosti Dijagram stanja Dijagrami interakcije
upotrebe

Dijagram komponenti

Dijagram rasporeda
Dijagram sekvenci Komunikacioni dijagram Vremenski dijagram Pregledni dijagram
(redosleda) (Dijagram saradnje UML 1.x) (UML 2.x) Interakcije (UML 2.x)
Dijagram paketa

Kompozitni dijagram
(Dijagrami složene strukture)

Informacioni i komunikacioni sistemi 2017/2018.


Slučaj upotrebe
• Slučaj upotrebe (korišćenja) (Use Case)
– služi za specificiranje poslovne funkcije (procesa)
sistema
• kao elementa funkcionalne dekompozicije
– predstavlja opis (deklaraciju) niza akcija koje
sistem izvršava
• prilikom realizacije poslovne funkcije
– koja se pokreće na zahtev korisnika
– da bi proizvela rezultat, bitan za korisnika
» u funkciji ostvarenja postavljenih ciljeva poslovanja

Informacioni i komunikacioni sistemi 2017/2018.


Slučaj upotrebe
• Grafička notacija

Naziv
slučaja upotrebe

Informacioni i komunikacioni sistemi 2017/2018.


Slučaj upotrebe
• Primer
Skladištenje

Uspostava Promet Korekcija


<<extends>> početnog stanja robe stanja zaliha

Popis robe
na zalihama

Prijem robe Izdavanje robe

Kontrola
<<include>>
ispravnosti

Informacioni i komunikacioni sistemi 2017/2018.


Model slučajeva upotrebe
(use case model)
• Predstavlja opis funkcionalnosti sistema u kojem se
izostavljaju detalji vezani za način realizacije
• Prikazuje se:
– dijagramima slučajeva upotrebe (use case diagrams) u
kojima su predstavljeni:
• slučajevi upotrebe,
• veze izmedju njih,
• učesnici (actors),
• veze između učesnika i
• veze između učesnika i slučajeva upotrebe
– detaljnim opisom svih slučajeva upotrebe

Informacioni i komunikacioni sistemi 2017/2018.


Model slučajeva upotrebe
(use case model)
• Modelom slučaja upotrebe definiše se granica
posmatranog sistema u smislu:
– učesnika koji komuniciraju sa sistemom,
– funkcija koje ti učesnici mogu inicirati i u čijem izvršavanju
učestvuju i
– poruka i podataka koje učesnici razmenjuju sa sistemom
• Izvršavanje jednog slučaja upotrebe
– započinje prosleđivanjem poruke od nekog od učesnika do
sistema i
– traje sve dok prosleđena poruka izaziva promene u
sistemu, a
– po završetku sistem se nalazi u stanju u kome učesnik
može da inicira izvršavanje istog ili nekog drugog slučaja
upotrebe
Informacioni i komunikacioni sistemi 2017/2018.
Učesnik (akter)
• Učesnik (Actor)
– složeni koncept UML-a
• izveden iz pojma klase
• definisan putem ugrađenog stereotipa <<actor>>
– model tipa (uloge) korisnika sistema koji
• ostvaruje komunikaciju s drugim činiocima sistema
• pokreće aktivnosti, ili učestvuje u realizaciji aktivnosti
poslovnih procesa sistema
• ima propisanu ulogu (odgovornosti i ovlašćenja) i
propisano ponašanje u sistemu
• u organizacionom smislu, može, ali i ne mora pripadati
samom sistemu (tip radnog mesta ili spoljnji učesnik)
Informacioni i komunikacioni sistemi 2017/2018.
Učesnik
• Grafička notacija <<actor>>
– klasični način predstavljanja Naziv
učesnika

– ikonični način predstavljanja

Naziv učesnika

Informacioni i komunikacioni sistemi 2017/2018.


Učesnik
• Učesnici mogu biti:
– osnovni (primarni)
• učestvuju u izvršavanju osnovnih funkcija sistema
– sekundarni
• učestvuju u realizaciji dodatnih funkcija sistema

• Učesnici mogu biti i:


– aktivni
• iniciraju izvršavanje nekih funkcija sistema
– pasivni
• učestvuju u izvršavanju funkcija sistema

Informacioni i komunikacioni sistemi 2017/2018.


Apstraktni učesnik
• Kada dva učesnika imaju slične uloge u
odnosu na sistem, oni mogu naslediti
zajedničkog apstraktnog učesnika
• Ako isti slučaj korišćenja može da se poveže
sa različitim učesnicima, pogodno je definisati
apstraktnog učesnika i opisati samo jedan
slučaj korišćenja
• Koncept apstraktnog učesnika koristan je i za
opisivanje privilegija u korišćenju nekog
sistema
Informacioni i komunikacioni sistemi 2017/2018.
Apstraktni učesnik
• Primer apstraktnog učesnika

Realizacija
nastavnog plana
Student Nastavno
osoblje

Profesor Asistent

Informacioni i komunikacioni sistemi 2017/2018.


Apstraktni učesnik
• Primer
različitih
privilegija Student

Student
posmatranog
fakulteta
Informacioni i komunikacioni sistemi 2017/2018.
Dijagram slučaja upotrebe

Prijava ispita

Student Službenik
studentske
Štampanje službe

<<include>>

Formiranje
zapisnika

Informacioni i komunikacioni sistemi 2017/2018.


Dijagram slučaja upotrebe

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling LanguageTM (OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Veze u dijagramima slučajeva upotrebe

• ASOCIJACIJA- prikazana veza između učesnika i slučaja


upotrebe
• <<extend>> - stereotip veze zavisnosti koja referencira
(ubacuje) moguće dodatno "ponašanje" opisano u
posebnom apstraktnom slučaju upotrebe (SU), u osnovni
SU
• <<include>> - stereotip veze zavisnosti koja eksplicitno
ubacuje dodatno "ponašanje" opisano u posebnom
apstraktnom SU, u osnovni SU
• GENERALIZACIJA- veza opšteg i specifičnog slučaja
upotrebe koji nasleđuje opis opšteg SU
Informacioni i komunikacioni sistemi 2017/2018.
Primer veze <<extend>>
• Veza <<extend>> specificira da ponašanje osnovnog SU
može biti prošireno ponašanjem nekog drugog
(suplementarnog) SU
• Proširenje se vrši na jednoj ili više tačaka proširenja
(extension points) koje se definišu u osnovnom
(proširenom) SU
– prošireni (osnovni) SU definiše se nezavisno od proširujućeg SU i ima
svoje značenje (smisao) nezavisno od proširujućeg SU;
– sa druge strane, proširujući SU definiše ponašanje koje ne mora
nužno da bude nezavisno (smisleno samo po sebi)
• već predstavlja inkrementno ponašanje, koje dopunjava ponašanje
osnovnog SU pod određenim uslovima
• Isti proširujući SU može proširivati više osnovnih SU i
– sam može biti proširen
Informacioni i komunikacioni sistemi 2017/2018.
Primer veze <<extend>>
• U osnovnom slučaju
Upis godine upotrebe se, pored
naziva SU, navodi se i
Extension points lista tačaka prošerenja
upis na fakultet:
pri upisu prve godine • Svaka tačka proširenja
(TP) sadrži jedinstveni
naziv TP
opis TP naziv TP i opciono, opis
(opciono)
<<extend>>

Kreiranje dosijea

Informacioni i komunikacioni sistemi 2017/2018.


Primer veze <<include>>

Podizanje gotovine

Korisnik <<include>> <<include>>

<<include>>

Kraj transakcije
Provera kartice

Provera šifre

Informacioni i komunikacioni sistemi 2017/2018.


Primer veze <<include>>
• Osnovni SU eksplicitno uključuje ponašanje opisano sa
apstraktnim SU
– Služi da bi se izbeglo višestruko opisivanje istog
ponašanja
• Za svaki SU koji se uključuje mora se definisati tačno jedna
lokacija u osnovnom slučaju upotrebe u kojem će on biti
uključen
• Osnovni SU zavisi samo od rezultata uključenog SU
– rezultat (vrednost) se dobija kao rezultat izvršavanja uključenog SU
• Uključeni SU nije opcionalan u osnovnom SU i mora biti
korektno izvršen

Informacioni i komunikacioni sistemi 2017/2018.


Primer veze <<include>>
• Veza <<include>> se koristi kada postoje ponašanja koja su
zajednička za dva ili više SU
– koja se izdvajaju u poseban SU, tako da on može biti uključen i
ponovno korišćen (reused) u više SU
• Usled ovog izdvajanja dela ponašanja, osnovni SU često nije
kompletan i kao takav zavisi od uključenih SU
– na šta ukazuje i smer strelice na dijagramu SU

Informacioni i komunikacioni sistemi 2017/2018.


Primer generalizacije slučaja upotrebe

Gde god se koristi


Novčana transakcija SU nadtip, može se
koristiti i SU podtip
Korisnik

Informacioni i komunikacioni sistemi 2017/2018.


Veze u dijagramima SU - pregled

Pomoć Provera kartice


<<include>>
<<extend>>
<<include>>
Provera šifre
Novčana transakcija
<<include>>
Korisnik
Kraj transakcije

Informacioni i komunikacioni sistemi 2017/2018.


Tekstualni opis slučaja upotrebe
Slučaj upotrebe: Prijava ispita

Kratak opis: Prijava ispita na osnovnim studijama

Učesnici: Student (S), Službenik studentske službe (SSS)

Uslovi koji moraju biti zadovoljeni pre izvršavanja: Student je ostvario bar minimalni broj
poena na predispitnim obavezama

Opis: Student se prijavljuje za polaganje ispita iz nekog predmeta popunjavanjem ispitne prijave
u kojoj navodi podatke o svom broju indeksa, imenu i prezimenu, nazivu predmeta i imenu i
prezimenu prof. odgovornog za dati predmet. SSS prima ispitnu prijavu . [Izuzetak: Pogrešno
zadati podaci na ispitnoj prijavi]. SSS unosi podatke o prijavljenom ispitu u dosije studenta.

Izuzeci:
[Pogrešno zadati podaci na ispitnoj prijavi] Ukoliko je pogrešno zadat bilo koji podatak na
ispitnoj prijavi, ona se vraća studentu da unese ispravne podatke.

Uslovi koji moraju biti zadovoljeni nakon izvršavanja: Student je evidentiran za polaganje
ispita iz odgovarajućeg predmeta

Informacioni i komunikacioni sistemi 2017/2018.


Realizacija slučaja upotrebe
• Realizacija slučaja upotrebe odnosi se na
definisanje akcija koje treba da se izvrše i
objekata koji će biti odgovorni za njihovo
izvršavanje
• Može biti predstavljena
– dijagramom saradnje (komunikacije),
– dijagramom sekvenci ili
– dijagramom aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Dinamički model sistema
• Dinamičkim modelom opisuju se dinamičke
karakteristike sistema
– pojedinačno ponašanje objekata u sistemu i
– ponašanje kompletnog sistema koji se modelira
• Dijagrami za prikaz dinamičkih karakteristika sistema
su:
– dijagram redosleda (sekvenci)
– dijagram saradnje (dijagram komunikacije UML 2.x)
– dijagram stanja
– dijagram aktivnosti
– vremenski dijagram (UML 2.x)
– pregledni dijagram interakcije (UML 2.x)
Informacioni i komunikacioni sistemi 2017/2018.
Koncepti funkcionalnog
modelovanja ponašanja
UML dijagrami

Strukturni Dijagrami
dijagrami ponašanja

Dijagram klasa

Objektni dijagram
Dijagram slučaja
Dijagram aktivnosti Dijagram stanja Dijagrami interakcije
upotrebe

Dijagram komponenti

Dijagram rasporeda
Dijagram sekvenci Komunikacioni dijagram Vremenski dijagram Pregledni dijagram
(redosleda) (Dijagram saradnje UML 1.x) (UML 2.x) Interakcije (UML 2.x)
Dijagram paketa

Kompozitni dijagram

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami stanja
• Namena
– vizuelni prikaz
• životnog ciklusa objekta
• stanja u kojima objekat klase može da se nađe
• događaja koji iniciraju prelazak objekta iz jednog u
drugo stanje
• mehanizama (akcija) koji prevode objekat iz jednog u
drugo stanje

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami stanja
Inicijalno pseudostanje
Automat stanja
objekta
Prelaz
Stanje
Kreiranje
objekta Okidač
created
Čekanje
događaja start/^master.ready()

Obrada Pokretanje
događaja ready akcije
stop/
Krajnje stanje

Uništavanje
poll/^master.ack()
objekta

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami stanja
• Stanje je uslov ili situacija tokom života objekta
tokom koga on zadovoljava neki uslov, izvodi neku
aktivnost ili čeka na neki događaj
• Događaj (okidač) je specifikacija značajnog zbivanja,
koje ima lokaciju u vremenu i prostoru, i koje može
da pokrene tranziciju (prelaz) stanja
• Tranzicija (prelaz) je relacija između dva stanja koja
označava da će objekat u prvom od tih stanja izvršiti
određenu akciju , pa će ući u drugo stanje kada se
desi specificirani događaj i budu zadovoljeni
specificirani uslovi

Informacioni i komunikacioni sistemi 2017/2018.


Dijagram stanja Uništenje procesa

Završen
Kreiranje procesa
Raspoređivanje procesa
Završetak procesa

Spreman za Izvršava se
izvršenje

Istiskivanje procesa
Prebacivanje
procesa u red
Čeka na
Dodeljivanje resursa čekanja za
resurs
resurs
Informacioni i komunikacioni sistemi 2017/2018. 51
Dijagram stanja

[izlazi na ispit] Ispit [polozen pismeni]


Ispit
u polaganju
prijavljen pismenog [nije polozen]

[odustao]
[nije polozen]
Ispit Ispit
nije položen [usmeni dva puta nije polozen] u polaganju
usmenog

[polozen usmeni]

Ispit
položen

Informacioni i komunikacioni sistemi 2017/2018. 52


Dijagram stanja

Informacioni i komunikacioni sistemi 2017/2018. 53


Koncepti funkcionalnog
modelovanja ponašanja
UML dijagrami

Strukturni Dijagrami
dijagrami ponašanja

Dijagram klasa

Objektni dijagram
Dijagram slučaja
Dijagram aktivnosti Dijagram stanja Dijagrami interakcije
upotrebe

Dijagram komponenti

Dijagram rasporeda
Dijagram sekvenci Komunikacioni dijagram Vremenski dijagram Pregledni dijagram
(redosleda) (Dijagram saradnje UML 1.x) (UML 2.x) Interakcije (UML 2.x)
Dijagram paketa

Kompozitni dijagram

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami aktivnosti
• Namena početno stanje

– vizuelni akcija 1

• prikaz mogućih tokova upravljanja razdvajanje


(scenarija) pri realizaciji jedne aktivnosti
• prikaz redosleda izvođenja akcija akcija 2 akcija 3

• prikaz uslova, pod kojima se neki


grananje
redosled akcija izvodi
• prikaz linija odgovornosti učesnika u
akcija 4 akcija 5
realizaciji aktivnosti
• opcionalno i prikaz komunikacije objekata
sjedinjavanje

spajanje

akcija 6

Informacioni i komunikacioni sistemi 2017/2018.

završno stanje
Dijagrami aktivnosti

/Caller /Operator /Callee


Akcija

Contact
Operator
Područje Contact
odgovornosti Callee
Respond
Notify
Parties

Acknowledge Acknowledge
Dijagrami aktivnosti

čvor akcije čvor objekta kontrolni čvorovi

Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Dijagrami aktivnosti

čvor akcije čvor objekta kontrolni čvorovi

završetak toka završetak aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Dijagrami aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Dijagrami aktivnosti
Dijagrami aktivnosti

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Koncepti funkcionalnog
modelovanja ponašanja
UML dijagrami

Strukturni Dijagrami
dijagrami ponašanja

Dijagram klasa

Objektni dijagram
Dijagram slučaja
Dijagram aktivnosti Dijagram stanja Dijagrami interakcije
upotrebe

Dijagram komponenti

Dijagram rasporeda
Dijagram sekvenci Komunikacioni dijagram Vremenski dijagram Pregledni dijagram
(redosleda) (Dijagram saradnje UML 1.x) (UML 2.x) Interakcije (UML 2.x)
Dijagram paketa

Kompozitni dijagram

Informacioni i komunikacioni sistemi 2017/2018.


Saradnja
• Saradnja (Collaboration)
– struktura koja ukazuje na način komunikacije
objekata u sistemu i uloge objekata u komunikaciji
• način razmene poruka između objekata s utvrđenim
ulogama
• način realizacije operacija nad objektima
– pojedinačnih operacija klasa
– svih operacija klasa
– svih operacija klasa jednog slučaja upotrebe
– struktura (graf) objekata sa vezama koje
reprezentuju njihovu komunikaciju
Informacioni i komunikacioni sistemi 2017/2018.
Interakcija
• Interakcija (Interaction)
– sastavni deo saradnje objekata
– predstavlja skup nizova poruka koje objekti
međusobno razmenjuju, u cilju realizacije nekog
procesa sistema
• svaki niz poruka u interakciji definiše jedan mogući tok
upravljanja procesom sistema (scenario realizacije
procesa)
– operacije toka se izvode sekvencijalno
– započeti tok mora u konačnom vremenu da bude završen
– tokovi upravljanja mogu da se realizuju paralelno u vremenu

Informacioni i komunikacioni sistemi 2017/2018.


Koncepti funkcionalnog
modelovanja ponašanja
UML dijagrami

Strukturni Dijagrami
dijagrami ponašanja

Dijagram klasa

Objektni dijagram
Dijagram slučaja
Dijagram aktivnosti Dijagram stanja Dijagrami interakcije
upotrebe

Dijagram komponenti

Dijagram rasporeda
Dijagram sekvenci Komunikacioni dijagram Vremenski dijagram Pregledni dijagram
(redosleda) (Dijagram saradnje UML 1.x) (UML 2.x) Interakcije (UML 2.x)
Dijagram paketa

Kompozitni dijagram

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami redosleda
• Namena
– vizuelni prikaz interakcije objekata sistema u
vremenu
• putem nizova poruka koje objekti razmenjuju
• s naglašenom vremenskom koordinatom
– pozicija poruke u nizu (i na dijagramu) je određena vremenskim
položajem poruke, u odnosu na ostale poruke u interakciji
• sa zadatim uslovima, čijim ispunjenjem se pokreće
određeni niz poruka (tok upravljanja procesom)
• s naglašenim životnim vekom trajanja objekta u
vremenu
• s naglašenim ingerencijama objekata za upravljanje
sopstvenim stanjem
Informacioni i komunikacioni sistemi 2017/2018.
Dijagrami redosleda
Objekat
Linija životnog
veka objekta
/Caller /Operator /Callee
call()

ack

number()
call()

ack
transfer() Odgovornost za
upravljanje ponašanjem
talk() (fokus kontrole)
vreme
Poruka
Informacioni i komunikacioni sistemi 2017/2018.
Dijagrami redosleda sistema
• System Sequence Diagram (SSD)
• Identifikacija sistemskih događaja
• Kreiranje dijagrama redosleda sistema za slučajeve
upotrebe
– prikazuje događaje koje iniciraju akteri, njihov redosled i
događaje unutar sistema
– sistem se prikazuje kao “crna kutija”
– dijagram ne sadrži softverske objekte
• UML ne definiše posebno takvu vrstu dijagrama

Informacioni i komunikacioni sistemi 2017/2018.


Dijagrami redosleda sistema
:Blagajnik
:Sistem Primer
napraviNovuProdaju()
Prvo se utvrđuje koji
akteri direktno stupaju u
unesiStavku(stavkaID, kolicina)
interakciju sa sistemom
opis, ukupanIznos (kupac ili blagajnik)

* [više stavki]
Sistemski događaji
krajProdaje() imenuju se kao namera,
tako da počinju
totalSaPDV glagolom, i ne ukazuju
na način izvršavanja
napraviPlacanje(iznos) (unesiStavku umesto
očitajBarKod)
kusur, potvrda
Parametri i povratne
Informacioni i komunikacioni sistemi 2017/2018. vrednosti mogu biti
detaljno opisani u Rečniku
Dijagrami redosleda

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Dijagrami redosleda

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Dijagrami redosleda
- primer -

Informacioni i komunikacioni sistemi 2017/2018.


Preuzeto iz: OMG Unified Modeling Language(OMG UML), Superstructure, Version 2.2
(http://www.omg.org/spec/UML/2.2/Superstructure)
Vežba
• Napraviti dijagram stanja kojim će se prikazati
moguća stanja vode i prelasci iz jednog stanja u
drugo.

Informacioni i komunikacioni sistemi 2017/2018.

You might also like