38
SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ova Robert Manger Sveučilište u Zagrebu PMF-Matematički odsjek Akademska godina 2019/2020.

SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

Page 1: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

SOFTVERSKO INŽENJERSTVO

Vježbe 7: Realizacija use case-ova

Robert Manger

Sveučilište u Zagrebu

PMF-Matematički odsjek

Akademska godina 2019/2020.

Page 2: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Sadržaj Vježbi 7

Općenito o realizaciji use case-ova

Životni tokovi sudionika u interakciji

Poruke između životnih tokova

Vrste interakcijskih dijagrama

Sequence dijagrami

Operatori, kombinirani fragmenti

Opetovane pojave iste interakcije

Communication dijagrami

2Softversko inženjerstvoV-07

Page 3: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Općenito o realizaciji use case-ova Realizacija use case-ova zajedno s pronalaženjem klasa

predstavlja glavni rezultat kojeg analiza treba stvoriti.

Dok klase modeliraju statičku strukturu sustava, realizacija

use case-ova prikazuje dinamiku sustava.

Da bi realizirali pojedini use case, moramo pokazati da se

njegova funkcionalnost može postići interakcijom objekata

iz pronađenih klasa.

Pronalaženje klasa i realizacija use case-ova zapravo su

iterativne aktivnosti, to jest jedna aktivnost ispravlja drugu.

Realizacija pojedinog use case-a dokumentira se pomoću

nekog od interaction dijagrama, na primjer sequence ili

communication dijagrama.

Osnovni elementi koji se pojavljuju na tim dijagramima su

životni tokovi i poruke.

3Softversko inženjerstvoV-07

Page 4: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Životni tokovi sudionika u interakciji Životni tok (lifeline) pokazuje kako jedan primjerak

određenog klasifikatora (obično klase ili aktera)

sudjeluje u određenoj interakciji.

Životni tok može imati ime, tip i selektor.

Ime je neobavezno i ono se odnosi na uočeni primjerak

klasifikatora.

Tip je obavezan i on se odnosi na klasifikator.

Selektor je neobavezan, sastoji se od logičkog uvjeta kojim

se bira primjerak klasifikatora.

Životni tok može se odnositi na:

sasvim određeni primjerak klasifikatora (instance form

interaction diagram),

na proizvoljni primjerak klasifikatora (generic form

interaction diagram).

4Softversko inženjerstvoV-07

Page 5: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Prikazivanje životnog toka na dijagramu Osnovni podaci životnog toka zapisuju se u sintaksi:

ime [ selektor ] : tip . Na primjer:

Podvlačenje osnovnih

podataka znači da je

riječ o određenom

primjerku klasifikatora,

inače je riječ o

generičkom primjerku.

Za sam životni tok

koristi se ista ikona kao

za odgovarajući tip

klasifikatora. Primjerice:

5Softversko inženjerstvoV-07

Page 6: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Poruke između životnih tokova Poruka je oblik komunikacije između dva životna toka

koji su u interakciji. Primjerice, može se raditi o: pozivanju operacije (pozivna poruka),

stvaranju ili uništavanju primjerka klasifikatora,

slanju signala.

Kad životni tok primi pozivnu poruku, on mora izvršiti

operaciju koja ima istu signaturu kao poruka.

Dok životni tok izvršava operaciju, kažemo da on ima

žarište kontrole (focus of control) ili aktivaciju

(activation).

Tijekom vremena, aktivacija se premješta iz jednog

životnog toka u drugi – to se zove tok kontrole.

Pozivna poruka može biti sinkrona ili asinkrona, ovisno

o tome da li pošiljatelj čeka da primatelj do kraja izvrši

operaciju ili ne čeka.

6Softversko inženjerstvoV-07

Page 7: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Vrste poruka i njihovo prikazivanje Sinkrona pozivna poruka

Asinkrona pozivna poruka

Povratna poruka kojom primatelj

ranije pozivne poruke vraća rezultat i

aktivaciju pošiljatelju.

Stvaranje primjerka klasifikatora koji

je naveden kao primatelj

Uništavanje primatelja

Poruka čiji pošiljatelj je izvan dosega

interakcije (found message)

Poruka koja nikad ne stiže do svog

odredišta (lost message)

aMessage (aParameter)

aMessage (aParameter)

<<create>>aMessage (aParameter)

<<destroy>>

7Softversko inženjerstvoV-07

Page 8: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Vrste interakcijskih dijagrama Sequence dijagram (koristi se u analizi i oblikovanju).

Naglašava vremenski slijed slanja poruka između životnih

tokova.

Communication dijagram (koristi se u analizi i oblikovanju).

Naglašava strukturu veza između objekata koji stupaju u

interakciju.

Interaction overview dijagram (rijetko se koristi).

Prikazuje odnose između drugih interakcija, služi za

modeliranje cjelokupnog toka kontrole u sustavu.

Timing dijagram (koristi se samo u oblikovanju).

Naglašava aspekte realnog vremena (preciznog tajminga)

unutar interakcije.

8Softversko inženjerstvoV-07

Page 9: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Općenito o sequence dijagramu Vrijeme teče od vrha prema dnu.

Životni tokovi su poredani s lijeva na desno. Redoslijed tokova bira se tako da se smanje presjecanja crta.

Svaki tok ima crtkani vertikalni rep koji označava njegovo trajanje.

Aktivacija je označena duguljastim vertikalnim pravokutnikom

preko repa.

Na repu se mogu označiti i promjene stanja dotičnog klasifikatora.

Te promjene su obično uzrokovane prijemom poruke. Novo stanje

crta se kao zaobljeni pravokutnik.

Poruke su prikazane vodoravnim strelicama koje spajaju

repove životnih tokova i poredane su u vremenskom

redoslijedu.

Uz lijevi rub dijagrama smještaju se objašnjenja (scripts).

Mogu se pojaviti i oznake (labele) , te ograničenja (logički

uvjeti) pisani u vitičastim zagradama.

9Softversko inženjerstvoV-07

Page 10: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer sequence dijagrama (1)

10Softversko inženjerstvoV-07

U sklopu

sustava za

praćenje

studenata i

kolegija treba

realizirati use

case AddCourse

kojim se uvodi

novi kolegij.

Detaljna

specifikacija

use case-a

izgleda ovako.

Page 11: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer sequence dijagrama (2)

11Softversko inženjerstvoV-07

U početnom dijelu analize stvoren je ovakav class

dijagram koji prikazuje klase na razini analize i veze

među njima.

Page 12: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer sequence dijagrama (3)

12Softversko inženjerstvoV-07

Na osnovi prethodne detaljne specifikacije i class

dijagrama stvaramo sljedeći sequence dijagram koji

predstavlja realizaciju use case-a AddCourse.

Page 13: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer sa samo-delegacijom (1)

13Softversko inženjerstvoV-07

U sklopu istog

sustava za

praćenje

studenata i

kolegija

promatramo

use case

DeleteCourse

kojim se briše

kolegij.

Detaljna

specifikacija

tog use case-a

izgleda ovako.

Page 14: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer sa samo-delegacijom (2)

14Softversko inženjerstvoV-07

Sequence dijagram kojim se realizira DeleteCourse izgleda

ovako. Ovdje

životni tok

šalje poruku

samom sebi

– to se zove

samo-

delegacija

(self-

delegation),

i njome se

stvara

ugniježđena

aktivacija.

Page 15: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer s promjenama stanja (1)

15Softversko inženjerstvoV-07

U sustavu za naručivanje robe preko Interneta gledamo

use case ProcessAnOrder. Specifikacija izgleda ovako.

Page 16: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer s promjenama stanja (2)

16Softversko inženjerstvoV-07

Vidimo kako

objekt :Order

mijenja

stanja.

Također

vidimo

primjer

ograničenja

(constraint).

U tom use case-u vrijede sljedeća poslovna pravila. Narudžba treba biti u cijelosti plaćena jednom uplatom.

Roba navedena u narudžbi isporučuje se nakon plaćanja.

Roba mora biti isporučena kupcu unutar 28 dana od dana plaćanja.

Sequence dijagram koji realizira ProcessAnOrder izgleda

ovako.

Page 17: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Operatori i operandi Kod složenijih use case-ova potrebno je osigurati:

uvjetno slanje poruka,

iterativno slanje poruka.

Odgovarajuća tvorevina u UML-u naziva se operator.

Postoji nekoliko vrsta operatora, svaki od njih određuje

jedan način uvjetnog ili iterativnog komuniciranja.

Operatore možemo smatrati analogonima naredbi za

grananje ili petlje iz programskih jezika.

Poruke na koje se određeni operator odnosi zovu se

operandi tog operatora.

Uz operand ili uz operator može biti zadan logički uvjet

koji određuje hoće li se taj operator odnosno operand

zaista izvršiti. Takav logički uvjet naziva se stražar

(guard condition).

17Softversko inženjerstvoV-07

Page 18: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Kombinirani fragmenti Operator, operandi i stražari prikazuju se na sequence dija-

gramu unutar posebnog okvira – to je kombinirani fragment.

18Softversko inženjerstvoV-07

Operator i njegov

stražar zapisuju se

u “uhu” okvira.

Operandi su sve

poruke koje su se

našle unutar okvira.

Stražar pojedinog

operanda piše se

uz odgovarajuću

strelicu.

Stražari se pišu u

pseudokodu i

stavljaju u uglate

zagrade.

Page 19: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Popis važnijih operatora opt … postoji samo jedan operand i on se izvršava samo

ako je stražar uz opt istinit (analogon od if-then).

alt … izvršit će se samo jedan operand, i to onaj čiji

stražar je istinit (analogon od switch-case).

loop … operandi će se izvršiti više puta (analogon za for,

while ili repeat-until).

break … ako je stražar istinit, izvršava se operand, te se

napušta cijeli kombinirani fragment (analogon za

break).

par … svi operandi se izvršavaju paralelno.

19Softversko inženjerstvoV-07

Page 20: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Razne varijante operatora loop loop ili loop * … beskonačna petlja.

loop min, max [uvjet] … ponavljaj min puta bezuvjetno, zatim

ponavljaj najviše (max-min) puta dok god je uvjet

istinit.

loop [uvjet] … ponavljaj dok je uvjet istinit (analogon za

while).

loop 1, * [uvjet] … ponovi jednom, zatim ponavljaj dok god je

uvjet istinit (analogon za repeat-until).

loop [for each object in collectionOfObjects] … izvrši cijeli

fragment jednom za svaki objekt iz zadanog skupa

objekata.

loop [for each object in ClassName] … izvrši cijeli fragment

jednom za svaki objekt iz zadane klase.

20Softversko inženjerstvoV-07

Page 21: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

U sustavu za

prodaju preko

Interneta

promatrajmo

use case

ManageBasket,

koji opisuje

ažuriranje

količine nekog

predmeta u

korisnikovoj

“košarici” ili

izbacivanje

predmeta iz

košarice.

21Softversko inženjerstvoV-07

Primjer grananja s opt i alt (1)

Page 22: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer grananja s opt i alt (2) Odgovarajući class dijagram

izgleda ovako.

22Softversko inženjerstvoV-07

Realizacija use case-a ManageBasket opisana je

sljedećim sequence dijagramom.

Page 23: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

23Softversko inženjerstvoV-07

Primjer grananja s opt i alt (3)

Page 24: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer iteracije s loop i break (1) Promatrajmo opet class dijagram sustava za praćenje

studenata i kolegija.

24Softversko inženjerstvoV-07

Sljedeći sequence dijagram prikazuje jednu od

mogućih realizacija operacije findCourse() iz klase

RegistrationManager.

Page 25: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

25Softversko inženjerstvoV-07

Primjer iteracije s loop i break (2)

Ime (uloga) jednog kraja asocijacije s multiplicitetom

većim od 1 koristi se kao ime kolekcije objekata.

Page 26: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Opetovane pojave iste interakcije Dešava se da se isti niz poruka ponavlja na raznim

sequence dijagramima. Tada se taj niz poruka može izdvojiti u zasebnu interakciju koja se

može uključiti u druge interakcije.

Izdvojenu interakciju možemo smatrati analogonom potprograma

iz programskog jezika.

Kao i potprogram, takva interakcija može imati svoje parametre, te

može vraćati vrijednost.

Korištenje izdvojene interakcije unutar druge interakcije

zove se pojava interakcije (interaction occurence).

Pojava interakcije prikazuje se na sequence dijagramu

slično kao operator, dakle kao kombinirani fragment. Ključna riječ ref piše se u “uhu” okvira.

Ime izdvojene interakcije s listom parametara može se pojavljivati

ili u uhu ili u tijelu okvira.

26Softversko inženjerstvoV-07

Page 27: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer pojave interakcije bez par (1) Opet se bavimo sustavom za praćenje studenata i kolegija.

27Softversko inženjerstvoV-07

Zamislimo da se

osoba koja

upisuje studente

i kolegije najprije

mora “logirati” u

sustav. Tada na

class dijagram

moramo dodati

novu klasu

SecurityManager

koja služi za

provjeru imena i

lozinke.

Page 28: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Postupak

logiranja

opisan je

use case-

om LogOn

Registrar.

28Softversko inženjerstvoV-07

Primjer pojave interakcije bez par (2)

Page 29: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer pojave interakcije bez par (3)

29Softversko inženjerstvoV-07

Taj use case realiziran je istoimenim sequence

dijagramom koji ujedno predstavlja izdvojenu interakciju.

Page 30: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer pojave interakcije bez par (4) Sljedeći sequence dijagram ChangeStudentAddress realizira

postupak promjene studentove adrese i on uključuje

prethodnu interakciju.

30Softversko inženjerstvoV-07

Page 31: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

I dalje se bavimo

sustavom za

praćenje studenata

i kolegija. Sljedeća

dva sequence

dijagrama

prikazuju

parametrizirane

interakcije za

pronalaženje

određenog

studenta odnosno

određenog

kolegija.

31Softversko inženjerstvoV-07

Primjer pojave interakcije s param (1)

Page 32: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer pojave interakcije s param (2) Te dvije parametrizirane interakcije pojavljuju se na

sljedećem sequence dijagramu gdje student Jim

upisuje kolegij “UML”.

32Softversko inženjerstvoV-07

Page 33: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Općenito o communication dijagramu

Communication dijagram predstavlja vrlo sažeti način

prikazivanja interakcije odnosno realizacije use case-a.

Naglašava se strukturni aspekt interakcije. Opet se

pojavljuju životni tokovi i poruke.

No, životni tok je prikazan samo kao ikona, bez “repa”.

Postoje veze (spojnice) između životnih tokova koje

označavaju da ti tokovi razmjenjuju poruke.

Poruke su zapisane uz spojnice. Svaka poruka ima

redni broj koji određuje redoslijed događaja. Redni broj

može biti oblikovan hijerarhijski u skladu s

gniježđenjem aktivacije.

33Softversko inženjerstvoV-07

Page 34: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Primjer communication dijagrama

34Softversko inženjerstvoV-07

Opet se bavimo sustavom za praćenje studenata i kolegija.

Sljedeći dijagram prikazuje realizaciju use case-a

AddCourses, kojim akter :Registrar dodaje dva nova kolegija,

dakle dva nova objekta iz klase Course. Redoslijed poruka

vidljiv je iz rednih brojeva: 1, 1.1, 2, 2.1.

Page 35: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Prikaz iteracije na commun dijagr (1)

35Softversko inženjerstvoV-07

Iteracija se prikazuje tako da se ispred poruke napiše

iteracijski izraz. Iteracijski izraz se sastoji od * i

(neobavezne) iteracijske kauzule.

Sljedeća dva ekvivalentna dijagrama prikazuju ispis svih

kolegija u našem sustavu za praćenje studenata i kolegija.

Page 36: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

36Softversko inženjerstvoV-07

UML ne propisuje nikakvu sintaksu za iteracijsku klauzulu. Na prvom dijagramu služili smo se pseudokodom koji pretpostavlja

da su objekti iz klase Course nad kojima se obavlja iteracija

spremljeni u nekoj vrsti indeksirane kolekcije.

Na drugom dijagramu služili smo se imenom uloge u vezi s

multiplicitetom većim od 1. Ta veza određuje kolekciju objekata iz

klase Course nad kojima se obavlja iteracija.

Prikaz iteracije na commun dijagr (2)

Page 37: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Prikaz grananja na commun dijagr (1)

37Softversko inženjerstvoV-07

Grananje se modelira tako da se ispred poruke napiše

stražar (logički uvjet) - poruka će biti poslana samo ako je

stražar istinit.

Sljedeći dijagram prikazuje realizaciju use case-a

RegisterStudentForCourse, gdje se zadanom studentu upisuje

zadani kolegij. Upis se obavlja samo pod uvjetom da i

navedeni student i navedeni kolegij zaista postoje.

Page 38: SOFTVERSKO INŽENJERSTVO Vježbe 7: Realizacija use case-ovaweb.studenti.math.pmf.unizg.hr/~manger/si/SI-vjezbe-07.pdf · podataka znači da je riječ o određenom primjerku klasifikatora,

Prikaz grananja na commun dijagr (2)

Dijagram koristi pomoćne logičke varijable student, course

i found. Računanje found iz student i course objašnjeno je

tekstom (scriptom) u donjem lijevom uglu.

UML opet ne propisuje nikakvu određenu sintaksu za

stražare. Služimo se pseudo-kodom u stilu programskog

jezika.

Općenito govoreći, communication dijagrami nisu baš

pogodni za prikaz grananja. Ako ima mnogo grananja,

tada se treba služiti sequence dijagramom.

38Softversko inženjerstvoV-07