Você está na página 1de 39

ArgoUML

Dijagrami obrazaca uporabe i


sekvencijski dijagrami
Oblikovanje programske potpore
Ak. god. 2013 / 2014
Pripremio: Dr. sc. Alan Jovi, dipl. ing.

Auditorne raspored
Dokumentacija Danko Ivoevi
ArgoUML, dijagrami obrazaca uporabe i
sekvencijski dijagrami Alan Jovi <- tu smo
Dijagrami razreda Marko Horvat
Ostali UML dijagrami Marko Horvat

ArgoUML
Besplatan softver za modeliranje sustava
koritenjem UML-a
Jedan od brojnih CASE alata (engl. computeraided software engineering)
Prva inaica nastala jo 1998.
Dostupan na web sjeditu:
http://argouml.tigris.org/
Za rad koristiti inaicu: 0.30.2 ili noviju
Skinuti i manual i quick guide

ArgoUML
Podrana norma UML 1.4 (2001.) i to
sljedei dijagrami:
Statiki: obrazaca uporabe, razreda,
razmjetaja
Dinamiki: sekvencijski, kolaboracijski
(komunikacijski), stanja, aktivnosti

Nisu podrani:
objekata, komponenata, podsustava i neki
UML 2.0+ konstrukti

ArgoUML
Zasnovan na projektima
Pohranjivanje i uitavanje projekata
Projekt sadri jedan ili vie dijagrama, moe i
vie dijagrama istog tipa
Pohranjivanje dijagrama kao slika (png, gif, svg,
ps)
Oprez: ArgoUML nema Undo opciju!
Svi dijagrami omoguuju komentiranje
komentirati dijagrame ako neto nije jasno!
Rudimentarno generiranje koda podrano

Pregled
U izradi projekta naglasak e biti na sljedeim dijagramima:

dijagram obrazaca uporabe, sekvencijski dijagram i


dijagram razreda
Za rjeavanje arhitekture sustava koristit e se i ostali
dijagrami: dijagram objekata, dijagram stanja, dijagram
aktivnosti, komunikacijski dijagram, dijagram komponenata
U implementacijskom dijelu dokumentacije koristi se i dijagram
razmjetaja
U ovoj prezentaciji obradit e se detaljno dijagram obrazaca
uporabe i sekvencijski dijagram

Dijagram obrazaca uporabe


Koristimo termin: dijagram obrazaca uporabe za
engleski termin use case diagram
Ostali hrvatski termini:
Dijagram koritenja sustava
Dijagram sluaja uporabe

Dva znaenja rijei obrazac uporabe:


Pojedini dio funkcionalnosti sustava
(pojedini obrazac uporabe):

Vie funkcionalnosti + aktori:

Dijagram obrazaca uporabe


Dijagram obrazaca uporabe opisuje ponaanje
sustava iz perspektive vanjskog korisnika, tj.
Tko moe initi to u sustavu
Pritom se na sustav gleda kao na crnu kutiju
odreene razine apstrakcije
Korisnici sustava se u dijagramu nazivaju aktori i
mogu biti ljudi (klijenti sustava), vanjski raunalni
sustavi, unutarnji raunalni sustavi i sl.
Aktor je uloga koju korisnik ima pri komunikaciji
sa sustavom:

Dijagram obrazaca uporabe


Modeliraju se zahtjevi korisnika i scenariji
ispitivanja sustava
Ne koristi se nijedan implementacijsko-specifian
jezik i uvijek se izrauje na odreenoj razini detalja,
razine se ne mijeaju na istom dijagramu
Slue za opis funkcionalnih zahtjeva projekta i to:
Svih aktora, bili oni aktivni aktori (inicijatori) ili pasivni
aktori (sudionici)
Svih naina rada sustava - scenariji

Prema potrebi, crta se vie dijagrama da se


obuhvate svi dijelovi sustava

Dijagram obrazaca uporabe


Hijerarhijska organizacija:
Dozvoljeno slaganje dijagrama u pakete (engl.
packages)
Odreivanje odnosa meu dijagramima (engl. relations)

Odnosi meu dijagramima:

include (ukljuivanje podaktivnosti) - podran


extend (proirivanje mogunosti) - podran
generalization (poopenje, generalizacija) - podran
association (pridruivanje) - podran
Ostali: requires, resembles, equivalent (nee se
obraivati)

Odnos include
Veza od baznog obrasca uporabe prema
ukljuenom obrascu uporabe
Bazni obrazac obavlja cijeli ukljueni obrazac u
nekom neodreenom trenutku izvoenja
Nije nuno da se ukljueni obrazac uvijek obavi,
ve to ovisi o konkretnim uvjetima pri izvoenju
Primjer ispravne uporabe odnosa include:

Odnos extend
Opcionalno, specifino proirenje baznog
obrasca uporabe s nekom funkcionalou
Veza od proirujueg obrasca prema baznom
obrascu (proirenom)
Zadaje se uvjet proirenja na odnosu extend kao
i toka proirenja (extension point) na baznom
obrascu

Toka proirenja u ArgoUML-u


Da bi se vidjela toka proirenja, potrebno
je na odreenom dijagramu obrasca
uporabe dolje pod Presentation, pa na
Display ekirati kuicu Extension points
Naziv toke proirenja bit e tada takoer
vidljiv na dijagramu

Odnos generalization
Generalizacija prikazuje hijerarhijski odnos izmeu
vie openitog obrasca uporabe i vie detaljnog
obrasca uporabe, a mogua je i meu aktorima
Obino se koristi kad se ne zna nita detaljnije o
meusobnom odnosu osim toga da je jedan
obrazac specijalan sluaj drugog
Pritom specifiniji obrazac dodaje nove ili mijenja
dijelove postojee funkcionalnosti apstraktnijeg
obrasca:

Odnos association (pridruivanje)


Koristi se za komunikaciju izmeu aktora i
obrasca uporabe
Ako nije drugaije navedeno, komunikacija
aktor-obrazac uporabe je dvosmjerna
Aktivni aktori (inicijatori): smjer strelice je
od aktora prema obrascu uporabe
npr. klijent, administrator

Pasivni aktori (sudionici) smjer strelice je


od obrasca uporabe prema aktoru
npr. arhiva podataka, baza podataka, pisa

Primjer aktivnih i pasivnih aktora

Viestrukost (multiplicity)
Odreuje broj aktora i obrazaca uporabe za koje je
zadano pridruivanje
Postoje sljedee mogunosti (na bilo kojoj strani
pridruivanja):
1

*
n
n1..n2
n1.. *

- tono jedan (ako nita ne pie na pridruivanju onda


se 1 podrazumijeva)
- vie (nedefinirano koliko mnogo)
- bilo koji tono odreen broj, npr. 0, 1, 3, 15
- izmeu jednog i drugog broja, npr. 1..3
- izmeu jednog broja i neodreenog broja, npr. 0..*

Dodatno
U projektima se radi lakeg snalaenja moe dodati
redni broj ispred naziva obrasca uporabe. Taj broj
upuuje na odgovarajui tekstualni opis scenarija:

Uvjeti pod kojim se neki obrazac uporabe dogaa u


pravilu se ne crtaju na dijagramu ve samo u
tekstualnom opisu, ali ako se neki uvjet hoe posebno
istaknuti, onda se on navodi u vitiastim zagradama:

Sekvencijski dijagram
engl. sequence diagram
Slui za prikaz slijeda dogaaja meu objektima
pojedinih razreda kao i meu aktorima
Orijentiran na vremenski prikaz
Ponaanje sustava modelira se dinamikim
interakcijama izmeu objekata pojedinih razreda
i izmeu aktora preuzetih iz dijagrama obrazaca
uporabe
Tijek interakcije na dijagramima je od gore lijevo
prema dolje desno

Poruke meu objektima


Strelica s punim vrhom sinkrona poruka
Objekt koji alje poruku eka odgovor i tek kad ga
dobije nastavlja s radom
U ArgoUML-u: New Call Action ikona:

Poruke meu objektima


Strelica s obinim vrhom asinkrona poruka
Objekt koji ju alje nastavlja s radom i ne eka na
odgovor
U ArgoUML-u: New Send Action ikona:

Poruke meu objektima


Isprekidana strelica povratna poruka
U ArgoUML-u: New Return Action ikona:
Kod asinkronih poruka implicitna odmah nakon poziva, ne
crta se
Povratna poruka ne mora se crtati kod sinkronih poruka ako
se ne vraa rezultat (kao kod void funkcija), ali ih je svejedno
bolje nacrtati ArgoUML to automatski radi
Poeljno je dati naziv povratnoj poruci

Poruke meu objektima


Stvaranje objekata
Jedan objekt moe u tijeku izvoenja stvoriti drugi objekt
U ArgoUML-u: New Create Action ikona:

Unitavanje objekata
Objekt zavri s izvoenjem ili vanjski objekt ga uniti
U ArgoUML-u mogue samo vanjsko unitenje: New
Destroy Action ikona:

Poruke meu objektima


Izgled poruke

Znak * oznaava iteraciju: poruka se alje


dok god je uvjet ispunjen
Ako znaka * nema, poruka se jednom
poalje ako je ispunjen uvjet
Moe se izostaviti sve ostalo, ali treba se
dati naziv poruci

Poruke meu objektima


Poruka samom sebi (engl. self-call)
Objekt poziva svoj interni postupak ili proceduru
Ostvaruje se pomou New Call Action ikone u ArgoUML-u
(isto kao i sinkrona poruka, samo se treba usmjeriti nazad u
samog sebe)

Ostale poruke
Uvjetno grananje nije podrano u
ArgoUML-u, ostvariti preko uvjeta na
poruku
Standardna notacija petlje nije podrana u
ArgoUML-u, ostvariti putem znaka * ispred
poruke (iteracija)

1. primjer dijagrama obrazaca


uporabe
Sustav praenja prometa koriste deurni policajac i
prometnici. Jedan deurni policajac nadgleda vie
kamera u nadzornom centru. Osim nadgledanja, deurni
policajac moe pozvati prometnike na teren ili nazvati
nadreenog policajca. Pozivanje prometnika na teren
ukljuuje telefonski poziv i ispis interventnog naloga. U
specijalnom sluaju kad su svi prometnici zauzeti
prilikom telefonskog poziva, deurni policajac poziva
umjesto njih kolege policajce u postaji. Prometnik ili
policajac u postaji mogu primiti poziv od deurnog
policajca (jedan ili vie njih primaju poziv od jednog
deurnog policajca) i po potrebi krenuti u neku
intervenciju. Sustav praenja prometa sadri i bazu
podataka koja prima periodiki zapise s jedne ili vie
nadglednih kamera.

1. primjer dijagrama obrazaca


uporabe mogue rjeenje

Komentari na primjer
Nadreenog policajca je bolje navesti kao
aktora, iako on nema neku konkretnu akciju u
sustavu, budui da ga se predloeni sustav tie
Openito, bolje da je dijagram bogatiji tekstom
nego da je vie oskudan, zato to scenarije
moraju dobro razumjeti svi!

1. primjer sekvencijskog
dijagrama
Modelirati sekvencijskim dijagramom odlazak brigadira u
mirovinu. Nakon zahtjeva, brigadni general mu
dozvoljava odlazak u mirovinu ako ima prikladnu
zamjenu (provjerava u vojnoj bazi podataka). Brigadiru
se u tom sluaju izraunava iznos mirovine na temelju
podataka u vojnoj bazi, a istovremeno general
unapreuje nekog pukovnika u brigadira. Ako nema
zamjene, brigadirov zahtjev se odbija.

1. primjer sekvencijskog
dijagrama mogue rjeenje

Komentari na rjeenje
Druga povratna veza u sekvencijskom dijagramu
nije nuna ([!postoji]), ali ju je bolje eksplicitno
navesti budui da se spominje u tekstu zadatka

2. primjer dijagrama obrazaca


uporabe
Klijent ulaskom u banku ima mogunost podizanja papiria s rednim
brojem na automatu. Prilikom odabira papiria, klijent moe odabrati
papiri za transakcijski alter, ostale altere ili za osobnog bankara.
Postoje dvije vrste djelatnika na alterima. Jedni rade na transakcijskom
alteru, a drugi na ostalim alterima. Obje vrste djelatnika imaju
mogunost prihvata novog klijenta, obrade postojeeg klijenta ili odlaska
na pauzu. Djelatnik na ostalim alterima dodatno moe voditi statistiku
evidenciju banke. Osobni bankar je posebna vrsta djelatnika banke, koji
ima mogunosti ureivanja kredita i dogovora oko tednje s klijentom.
Dogovor oko tednje moe ukljuivati prekid tednje i ugovaranje
tednje. Ureivanje kredita ukljuuje dogovaranje uvjeta kreditiranja i
provedbu kreditiranja. U specijalnom sluaju, kad klijent eli dogovoriti
uvjete kreditiranja, a nema dovoljno sredstava na raunu za pokrivanje
prve rate kredita, osobni bankar se moe konzultirati s voditeljem
poslovnice. Klijent moe izvriti sve akcije koje mu omoguavaju
djelatnici banke nakon to je podignuo papiri.

2. primjer dijagrama obrazaca


uporabe mogue rjeenje

Komentari na rjeenje
Voditelj poslovnice moe se uvesti kao dodatni
aktor
Obrazac uporabe Pokreni odgovarajuu akciju
moe se povezati s obrascima: Ureivanje
kredita, Dogovor oko tednje, Prihvat novog
klijenta i Obrada postojeeg klijenta uz pomo
relacije <<include>>

2. primjer sekvencijskog
dijagrama

Posluitelj prima poruke od dva klijenta: klijenta A i klijenta B. Na poetku, na


posluitelju se pokree interni postupak kojim posluitelj poinje oslukivati
dolazak poruka. Taj interni postupak kao argument prima port (int) na kojem
treba oslukivati. Nakon toga, klijent A alje jednu ili vie poruka posluitelju.
Svaka poruka ima svoje zaglavlje (string), tekst (string) i odreenu duinu (int).
Za svaku poruku klijenta A, posluitelj pokree postupak obrade koji rezultira
slanjem povratne poruke (rezultata) klijentu A. Klijent A eka na odgovor. Dok
obrauje poruke klijenta A, posluitelj ne moe primiti poruku klijenta B. Klijent
B alje samo jednu poruku s jednim argumentom, izvjetajem (string), i to pod
uvjetom da klijent B ima pripremljeni izvjetaj. Ako izvjetaj nije pripremljen,
poruka se ne alje. Ako primi poruku od klijenta B, posluitelj nastavlja dalje sa
svojim radom i eka dolazak novih poruka od klijenata te ne vraa odgovor
klijentu B odmah. Klijent B takoer nastavlja s radom ne ekajui odgovor. U
sluaju da je izvjetaj pozitivno ocijenjen, posluitelj e poslati povratnu poruku
pod nazivom "izvjetaj ok, a inae se nita ne alje. Posluitelj se prekida
pozivom internog postupka "prekini()" nakon ega posluitelj vie ne eka na
dolazak poruka od klijenata.

2. primjer sekvencijskog
dijagrama mogue rjeenje

Komentari na rjeenje
Nakon primanja izvjetaja od klijenta B, mogla
se dodati na dijagram ponovna komunikacija s
klijentom A, isto ilustracije radi kako bi se
pokazalo da posluitelj radi s drugim klijentima
iako je primio poruku od klijenta B

Uenje
Ova prezentacija
A. Jovi, M. Horvat, I. Grudeni, UML-dijagrami, zbirka
primjera i rijeenih zadataka, 2012., u repozitoriju
ArgoUML manual
Predavanje Procesi zahtjeva, dostupni na:
http://www.zemris.fer.hr/predmeti/opp/opp_predavanja
.html
Konzultacije

Você também pode gostar