You are on page 1of 14

Projektovanje softvera

Dijagrami
sluajeva korienja
Uvod

Dijagram sluajeva korienja (use-case)


prikazuje skup sluajeva korienja i aktera
Tipino se koristi da specificira neku funkcionalnost
i ponaanje nekog subjekta (npr. projektovanog sistema)
Dijagram vizuelizuje ponaanje sistema, podsistema
ili ak klase i interfejsa
Slui korisniku da razume ta sistem radi,
a verifikatoru da proveri funkcionisanje
Elementi dijagrama su:
sluajevi korienja
akteri
relacije: asocijacije (komunikacija),
zavisnosti (ukljuivanje i proirivanje) i generalizacija
paketi

2 Dijagrami sluajeva korienja 15.10.2014.


Sluajevi korienja

Sluaj korienja je opis skupa sekvenci akcija,


ukljuujui varijante, koje subjekat (sistem) obavlja da bi
proizveo vidljiv rezultat od vrednosti za pojedinog aktera
Sekvenca akcija reprezentuje interakciju aktera sa subjektom
i kljunim apstrakcijama subjekta
Jedna sekvenca akcija predstavlja
jedan mogui scenario sluaja korienja
jedan scenario je jedna pojava (dogaanje) sluaja korienja
Sluaj korienja specificira ta subjekat radi, a ne kako radi
Gafiki simbol i alternativne notacije:
imeSK3
imeSK1

imeSK2

3 Dijagrami sluajeva korienja 15.10.2014.


Ponaanje sluaja korienja
Ponaanje sluaja korienja se opisuje tokom dogaaja:
kada sluaj korienja poinje i kada zavrava
kada sluaj korienja interaguje sa akterima
kada se razmenjuju poruke i podaci (objekti)
Postoje primarni (osnovni) i alternativni tokovi dogaaja
Tok dogaaja se moe opisati na sledee naine:
neformalan tekst na govornom jeziku
strukturirani tekst (sa pred- i post-uslovima)
pseudokod
dijagrami interakcije
jedan za primarni i dodatni za alternativne tokove
dijagram stanja subjekta
dijagram aktivnosti
saradnja (u kojoj uestvuju i akteri)
4 Dijagrami sluajeva korienja 15.10.2014.
Primer opisa ponaanja
Preduslov za sve tokove dogaaja: platna kartica u bankomatu
Glavni tok dogaaja za proveru korisnika pri transakciji sa bankomatom:
sluaj korinja poinje kada sistem ispie prompt za PIN broj
korisnik unosi PIN broj preko numerike tastature
korisnik potvruje unos pritiskom na Enter taster
sistem proverava da li PIN broj odgovara karitci
provera uspela, zavrava se sluaj korienja
postuslov: omoguena promena na raunu korisnika
Prvi alternativan tok dogaaja (ponitavanje transakcije):
korisnik ponitava transakciju pritiskajui Cancel taster
sluaj korienja se ponavlja
postuslov: nije omoguena promena na raunu korisnika
Drugi alternativan tok dogaaja (pogrean PIN):
korisnik unosi pogrean PIN broj
sluaj korienja se ponavlja
ako se ovo ponovi tri puta za redom sistem ponitava celu transakciju
i spreava korisnika da ponovo pokua 60s
postuslov: nije omoguena promena na raunu korisnika

5 Dijagrami sluajeva korienja 15.10.2014.


Akteri

Akter predstavlja neki koherentan skup uloga


Akter moe biti ovek (korisnik) ili neki sistem
sa kojim modelirani subjekat interaguje
Subjekat interaguje sa jednim ili vie aktera
Akter je standardni stereotip klase
sa posebnim grafikim simbolom
<<actor>>
A2

A1

6 Dijagrami sluajeva korienja 15.10.2014.


Relacija komunikacije
Prikazuje se punom linijom (asocijacija):
SK

A
Komunikaciju moe inicirati akter ili sluaj korienja
(bidirekcionalna veza)
Relacija dozvoljena izmeu:
aktera i sluaja korienja
dva sluaja korienja koja se ne odnose na isti subjekat
Multiplikativnost >1 na strani aktera
za dogaanje sluaja korienja potrebno vie aktera
(konkurentno ili sekvencijalno)

7 Dijagrami sluajeva korienja 15.10.2014.


Relacija ukljuivanja
Prikazuje se isprekidanom linijom sa strelicom i natpisom <<include>>
relacija je stereotip relacije zavisnosti
<<include>>

A B

Relacija ukljuivanja od sluaja korienja A prema sluaju korienja B


ukazuje da e sluaj korienja A ukljuiti i ponaanje sluaja korienja B
Ponaanje opisano u B je obavezno za A SK1
Koristi se da opie zajedniko ponaanje <<include>>
izmeu vie sluajeva korienja
<<include>>
na primer: SK2 SK

sluajevi korienja SK1, SK2 i SK3


ukljuuju ponaanje SK <<include>>
SK3

8 Dijagrami sluajeva korienja 15.10.2014.


Primer korisnici foruma

Dijagram opisuje najavu korisnika na forum

Adiministriranje

Administartor <<include>>

Brisanje poruka
<<include>> Najava
<<include>>
Moderator
Manipulacija temama

<<include>>

Pisac
Pisanje komentara

Gost Citanje komentara

9 Dijagrami sluajeva korienja 15.10.2014.


Relacija proirivanja
Prikazuje se isprekidanom linijom sa strelicom i natpisom <<extend>>
relacija je stereotip relacije zavisnosti
<<extend>>

A B

Relacija proirivanja od sluaja korienja A prema sluaju korienja B


ukazuje da B moe obuhvatiti ponaanje specificirano u A
Praktino B moe da se proiri i ispolji celokupno ponaanje opisano u A
Koristi se da se izrazi opciono ponaanje osnovnog sluaja korienja
ponaanje opisano u A je opciono, a ono u B osnovno
Problem sa terminom stereotipa <<extend>>
slinost sa kljunom reju extends jezika Java
sasvim razliito znaenje

10 Dijagrami sluajeva korienja 15.10.2014.


Take proirenja sluaja korienja

Osnovni sluaj korienja se proiruje u odreenim takama ponaanja


taka se naziva takom proirenja (ekstenzije)
Alternativne notacije:
SK3
SK1 SK2
SK2 extension points
extension points
tacka1 extension points extension points tacka1
tacka2 tacka1 tacka1 tacka2
tacka2 tacka2

Taka se navodi po sintaksi: ime [: objanjenje]


Primer: identifikacija pozivaoca je opciona funkcija telefona
<<extend>>
identifikacija pozivaoca prijem poziva

extension points
condition: {posle prvog zvona} prvo zvono
extension point: prvo zvono

11 Dijagrami sluajeva korienja 15.10.2014.


Relacija generalizacije

Prikazuje se punom linijom sa trougaonom strelicom


Relacija je osnovna relacija generalizacija/specijalizacija
A B

Relacija generalizacije od sluaja korienja A


prema sluaju korienja B ukazuje da je
sluaj korienja A specifian sluaj optijeg sluaja B
Primer:
Korisnicko ime i lozinka

Najava Kartica i PIN

Otisak prsta
Biometrija

Duzica oka

12 Dijagrami sluajeva korienja 15.10.2014.


Okvir subjekta
Sluajevi korienja su unutar, a akteri izvan subjekta modeliranja
Vizuelizacija okvir subjekta:

System
A

AA
B C
AB

Subjekat nije vlasnik sluajeva korienja


koji predstavljaju njegove funkcionalnosti
Vlasnik moe biti klasa, paket ili model

13 Dijagrami sluajeva korienja 15.10.2014.


Primer Info sistem fakulteta
<<subsystem>> <<subsystem>>
Evidencija Finansije

Izbor predmeta Uplata

Student
<<include>>

Odrzana nastava Obracun primanja Banka


<<include>>
Nastavnik

Nastavni plan
Pregled primanja
<<include>>

Info studenti <<include>>


<<include>>
Referent <<subsystem>>
<<include>> Najava
Info nastavnici
Provera ID

<<extend>>

Honorarni nastavnici Ime-lozinka Kartica-PIN

14 Dijagrami sluajeva korienja 15.10.2014.

You might also like