Vjezbe

Слични документи
PowerPoint Presentation

Inženjering informacionih sistema

Logičke izjave i logičke funkcije

Osnovi programiranja Beleške sa vežbi Smer Računarstvo i informatika Matematički fakultet, Beograd Jelena Tomašević i Sana Stojanović November 7, 2005

Microsoft PowerPoint - GR_MbIS_12_IDEF

Dijagrami sekvenci

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

Microsoft Word - SIORT1_2019_K1_resenje.docx

Programski jezik QBasic Kriteriji ocjenjivanja programiranje(b) - QBasic razred 42

Programski jezik QBasic Kriteriji ocjenjivanja programiranje(b) - QBasic razred 42

P11.3 Analiza zivotnog veka, Graf smetnji

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

I колоквијум из Основа рачунарске технике I СИ- 2017/2018 ( ) Р е ш е њ е Задатак 1 Тачка А Потребно је прво пронаћи вредности функција f(x

Državno natjecanje / Osnove informatike Srednje škole Zadaci U sljedećim pitanjima na odgovore odgovaraš upisivanjem slova koji se nalazi ispred

Pojačavači

untitled

Орт колоквијум

23. siječnja od 13:00 do 14:00 Školsko natjecanje / Osnove informatike Srednje škole RJEŠENJA ZADATAKA S OBJAŠNJENJIMA Sponzori Medijski pokrovi

Objektno orijentirano modeliranje

Informacijski sustav organizacije

Teorija skupova - blog.sake.ba

Испит из Основа рачунарске технике OO /2018 ( ) Р е ш е њ е Задатак 5 Асинхрони RS флип флопреализован помоћу НИЛИ кола дат је на след

Microsoft Word - privitak prijedloga odluke

PowerPoint Presentation

PowerPoint Presentation

Nastavna cjelina: 1. Jezik računala Kataloška tema: 1.1. Bit 1.2. Brojevi zapisani četvorkom bitova Nastavna jedinica: 1.1. Bit   1.2. Brojevi zapisan

Programiranje 1

1. OPĆE INFORMACIJE 1.1. Naziv kolegija Programiranje 1.6. Semestar Nositelj kolegija dr.sc. Bruno Trstenjak, v. pred Bodovna vrijednost

ЈЕДАН НОВИ ПРИСТУП У ПРЕВОЂЕЊУ ИЗ BPMN а У BPEL ONE NEW APPROACH IN TRANSLATING FROM BPMN TO BPEL Александар Недељковић Факултет организационих наука,

Classroom Expectations

NAZIV PREDMETA INFORMATIZACIJA POSLOVANJA Kod SIT124 Godina studija 2. Nositelj/i predmeta mr.sc. Ivica Ružić, viši predavač Bodovna vrijednost (ECTS)

13E114PAR, 13S113PAR DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa.

Испит из Основа рачунарске технике OO /2018 ( ) Р е ш е њ е Задатак 5 Асинхрони RS флип флопреализован помоћу НИ кола дат је на следећ

Microsoft PowerPoint - 10 PEK EMT Logicka simulacija 1 od 2 (2012).ppt [Compatibility Mode]

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

Microsoft PowerPoint - C-4-1

Ukupno bodova:

Орт колоквијум

8 2 upiti_izvjesca.indd

Microsoft Word - CAD sistemi

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Увод у организацију и архитектуру рачунара 1

Microsoft Word - V03-Prelijevanje.doc

Državna matura iz informatike

МОДЕЛ КОНТРОЛНЕ ВЕЖБЕ Информатика и рачунарство за шести разред разред Наставна тема: Редни број часа: 8. РАЧУНАРСТВО Циљ часа: Теститарање постигнућа

Microsoft PowerPoint - Prvi tjedan [Compatibility Mode]

Slide 1

NAZIV PREDMETA UNUTARNJETRGOVINSKO POSLOVANJE II Kod Godina studija 2. Nositelj/i predmeta dr.sc. Ivana Plazibat, prof. Bodovna vrijednost 6 ECTS v.š.

TEORIJA SIGNALA I INFORMACIJA

Algoritmi SŠ P1

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

1

Microsoft Word - 6ms001

Obrazac Metodičkih preporuka za ostvarivanje odgojno-obrazovnih ishoda predmetnih kurikuluma i međupredmetnih tema za osnovnu i srednju školu OSNOVNI

Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 10 Zvonimir Bujanović Luka Grubišić Vinko Petričević

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp

Skalarne funkcije više varijabli Parcijalne derivacije Skalarne funkcije više varijabli i parcijalne derivacije Franka Miriam Brückler

Uvod u računarstvo 2+2

Microsoft Word - osnovne_strukovne_studije_ekologija.doc

Microsoft Word - vodicitm.doc

PowerPoint Presentation

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Grananje u programu predavač: Nadežda Jakšić

PowerPoint Presentation

Satnica.xlsx

Slide 1

Microsoft PowerPoint - PRI2014 KORIGOVANO [Compatibility Mode]

Uvod u statistiku

Microsoft PowerPoint - Topic04-Serbian.ppt

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

QS3-KOVIU-DI-R1-GM Detaljni izvedbeni plan kolegija 1. OPĆE INFORMACIJE 1.1. Naziv kolegija Gospodarska matematika Semestar I Nosi

ЛИНЕАРНА ФУНКЦИЈА ЛИНЕАРНА ФУНКЦИЈА у = kх + n А утврди 1. Које од наведених функција су линеарне: а) у = 2х; б) у = 4х; в) у = 2х 7; г) у = 2 5 x; д)

Рачунарска интелигенција

Završni ispit iz predmeta: Sustavi za rad u stvarnom vremenu Odgovarati kratko, jasno i čitko nečitki odgovori su krivi. 1. [1 bod] Koji

Softversko inženjerstvo

Microsoft Word - 6. RAZRED INFORMATIKA.doc

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

НАСТАВНИ ПЛАН ОДСЕКА ЗА ТЕЛЕКОМУНИКАЦИЈЕ И ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ 2. година 3. семестар Предмет Статус Часови (П + В + Л) Кредити 3.1 Математика 3 O

OBRAZAC 1. Vrednovanje sveucilišnih studijskih programa preddiplomskih, diplomskih i integriranih preddiplomskih i diplomskih studija te strucnih stud

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

Analiticka geometrija

Principi softverskog inženjerstva O predmetu

Microsoft PowerPoint - Topic02 - Serbian.ppt

(Microsoft Word - Dr\236avna matura - studeni osnovna razina - rje\232enja)

P2.1 Projektovanje paralelnih algoritama 1

7. predavanje Vladimir Dananić 14. studenoga Vladimir Dananić () 7. predavanje 14. studenoga / 16

ДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 2006/2007 године I разред

Microsoft PowerPoint - Topic02 - Serbian.ppt

LAB PRAKTIKUM OR1 _ETR_

KORISNIČKE UPUTE APLIKACIJA ZA POTPIS DATOTEKA

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

NAZIV PREDMETA UNUTARNJETRGOVINSKO POSLOVANJE I Kod Godina studija 2. Nositelj/i predmeta dr.sc. Ivana Plazibat, prof. Bodovna vrijednost 6 ECTS v.š.

Microsoft PowerPoint - MODELOVANJE-predavanje 9.ppt [Compatibility Mode]

(Microsoft Word - Rje\232enja zadataka)

VERIFIKACIJSKI POSTUPAK ZA PRUŽANJE POMOĆNIH USLUGA afrr i mfrr Zagreb, rujan 2018.

Pravilnik o priključenju spremnika energije na elektroenergetski sustav Zlatko Ofak (HOPS), Alan Župan (HOPS), Tomislav Plavšić (HOPS), Zora Luburić (

Microsoft Word - Rijeseni primjeri 15 vjezbe iz Mehanike fluida I.doc

Транскрипт:

SOFTVERSKO INŽENJERSTVO Vježbe 8: Activity dijagrami Robert Manger Sveučilište u Zagrebu PMF-Matematički odsjek Akademska godina 2018/2019.

Sadržaj Vježbi 8 Općenito o activity dijagramima Aktivnosti, čvorovi, lukovi Semantika aktivnosti, žetoni Podjela activity dijagrama na particije Detaljnije o akcijskim čvorovima Detaljnije o kontrolnim čvorovima Detaljnije o objektnim čvorovima Interaction overview dijagrami V-08 Softversko inženjerstvo 2

Općenito o activity dijagramima Activity dijagrami donekle podsjećaju na klasične dijagrame toka kontrole ili dijagrame toka podataka. Služe za modeliranje raznih vrsta procesa. Mogu se pridružiti bilo kojem elementu modela da bi opisali njegovo ponašanje. Prema standardu UML 2 imaju semantiku zasnovanu na Petrijevim mrežama. Jednostavni primjer: sljedeći dijagram prikazuje proces slanja pisma. V-08 Softversko inženjerstvo 3

Aktivnosti, čvorovi, lukovi Aktivnost je mreža čvorova koji su povezani lukovima. Postoje tri vrste čvorova. Akcijski čvorovi: cjeline posla koje se promatraju kao nedjeljive. Kontrolni čvorovi: upravljaju tokom aktivnosti. Objektni čvorovi: predstavljaju objekte koji se koriste u aktivnosti. Postoje dvije vrste lukova. Kontrolni lukovi: prikazuju tok kontrole kroz aktivnost. Objektni lukovi: prikazuju putovanje objekata kroz aktivnost. Uz pojedine čvorove ili lukove, odnosno uz cijelu aktivnost mogu se vezati razni logički uvjeti: Preduvjeti (preconditions). Post-uvjeti (postconditions). Uvjeti-stražari (guard conditions). V-08 Softversko inženjerstvo 4

Primjer activity dijagrama koji modelira use case (1) Promatramo tabličnu specifikaciju use case-a koji određuje postupak plaćanja poreza. V-08 Softversko inženjerstvo 5

Primjer activity dijagrama koji modelira use case (2) Isti use case može se modelirati kao sljedeći activity dijagram. Use case-ovi i activity dijagrami mogu služiti kao komplementarni pogledi na isto ponašanje. Use case-ovi opisuju ponašanje kao interakciju aktera i sustava. Activity dijagrami prikazuju ponašanje kao nizove akcija. V-08 Softversko inženjerstvo 6

Semantika aktivnosti, žetoni Semantika aktivnosti opisana je pomicanjem žetona (token) kroz mrežu. Pomicanje žetona može predstavljati: tok kontrole, putovanje objekta, razmjenu podataka. Žeton se miče tako da prijeđe iz nekog polaznog čvora, preko luka, u neki dolazni čvor. Da bi se prelazak zaista dogodio, moraju vrijediti: post-uvjet u polaznom čvoru, uvjet-stražar na luku, preduvjet na dolaznom čvoru. U mreži može istovremeno postojati više žetona. To daje mogućnost modeliranja paralelnih procesa. Svaka vrsta čvorova ima dodatna pravila o micanju žetona. V-08 Softversko inženjerstvo 7

Podjela activity dijagrama na particije Da bi dijagram bio zorniji i čitljiviji, aktivnosti se mogu podijeliti u particije. Granicu između particija obično crtamo kao vertikalnu crtu, no po potrebi to može biti i zakrivljena crta. Particije obično predstavljaju: use case-ove, klase, fizičke lokacije, organizacijske jedinice. Skup particija na dijagramu trebao bi imati ucrtanu zajedničku dimenziju koja opisuje semantiku tog skupa, dakle što particije ustvari predstavljaju i po kojem kriteriju se izvršila podjela. V-08 Softversko inženjerstvo 8

Primjer dijagrama s particijama (1) Dijagram prikazuje aktivnosti koje se zbivaju na raznim lokacijama i pod-lokacijama. Modelira se poslovni proces izrade tečajeva gdje sudjeluju partneri iz Zuricha i Londona. V-08 Softversko inženjerstvo 9

Primjer dijagrama s particijama (2) Particije odnosno lokacije s dijagrama čine ovakvu hijerarhiju. Mada to na prethodnom dijagramu nije slučaj, particije često služe da zorno prikažu paralelne aktivnosti. V-08 Softversko inženjerstvo 10

Način rada akcijskih čvorova (1) Akcijski čvor se izvršava onda kad: Istovremeno postoje žetoni na svakom od njegovih ulaznih lukova, i Njegov lokalni preduvjet je ispunjen. Nakon izvršavanja akcijskog čvora provjerava se njegov lokalni post-uvjet. Ako je on ispunjen tada: Čvor simultano nudi žetone na svim svojim izlaznim lukovima. Ponuđeni žetoni prolaze lukovima pod uvjetom da su uvjetistražari lukova ispunjeni. Postupak je ilustriran sljedećom slikom. V-08 Softversko inženjerstvo 11

Način rada akcijskih čvorova (2) Ovakav način rada krije implicitnu mogućnost grananja jednog procesa u više paralelnih procesa (implicit fork). V-08 Softversko inženjerstvo 12

Vrste akcijskih čvorova Čvor za pozivanje akcije. Najčešća vrsta. Pokreće operaciju, ponašanje ili drugu aktivnost. Način rada je bio prethodno opisan. Čvor za slanje signala. Nakon što je primio žeton, asinkrono šalje signal i dalje nudi žeton. Čvor za primanje događaja. Nakon što je primio žeton, čeka događaj (ako nema ulaznog luka, tada odmah čeka). Kad se događaj desi, tada nudi žeton na izlaznom luku. Čvor za primanje vremenskog događaja. Nakon što je primio žeton, čeka događaj zadan vremenskim izrazom (ako nema ulaznog luka, tada odmah čeka). Kad se događaj desi, nudi žeton na izlaznom luku. V-08 Softversko inženjerstvo 13

Primjeri čvorova za pozivanje akcije Imamo primjer poziva određene aktivnosti, određenog ponašanja, te operacije opisane imenom, signaturom ili kodom u programskom jeziku. V-08 Softversko inženjerstvo 14

Primjeri čvorova za primanje vremenskih događaja U prvom primjeru čvor za primanje vremenskog događaja prosljeđuje žeton čim dođe kraj poslovne godine. Drugi primjer je fragment modela za lift. Čvor za primanje vremenskog događaja najprije čeka da primi žeton, zatim čeka 10 sekundi, te nakon toga prosljeđuje žeton. V-08 Softversko inženjerstvo 15

Vrste i način rada kontrolnih čvorova Početni čvor. Pokazuje početak toka kontrole kad se aktivnost pokrene. Završni čvor za aktivnost. Označava završetak cijele aktivnosti. Završni čvor za tok. Označava kraj jednog toka. Ostali tokovi idu dalje. Čvor za donošenje odluke. Kontrola se nastavlja po izlaznom luku čiji uvjet-stražar je ispunjen (uvjeti su međusobno isključivi). Čvor za sažimanje (merge). Kopira ulazne žetone na jedinstveni izlazni luk. Čvor za grananje (fork). Razdvaja tok kontrole u nekoliko paralelnih tokova. Čvor za spajanje (join). Sinkronizira paralelne tokove i nastavlja ih kao jedan tok. V-08 Softversko inženjerstvo 16

Primjeri donošenja odluke (1) Sljedeći dijagram prikazuje postupak obrade pristigle pošte. Vidimo čvor za donošenje odluke i čvor za sažimanje. Ključna riječ else označava luk kojim se ide ako nijedan od uvjetastražara nije istina. V-08 Softversko inženjerstvo 17

Primjeri donošenja odluke (2) Sljedeći dijagram prikazuje skidanje novaca s bankovnog računa. Uvjet u čvoru za donošenje odluke zadan je u obliku objašnjenja (script) koje je označeno stereotipom <<decisioninput>>. V-08 Softversko inženjerstvo 18

Primjer grananja i spajanja Sljedeći dijagram prikazuje proces nastanka, proizvodnje i prodaje nekog proizvoda. Taj proizvod se najprije mora oblikovati, zatim proizvodnja i marketing mogu ići kao paralelni tokovi, zatim nakon sinkronizacije tih tokova slijedi prodaja. V-08 Softversko inženjerstvo 19

Način rada objektnih čvorova (1) Objektni čvorovi označavaju da se primjerci određenog klasifikatora (obično objekti iz određene klase) pojavljuju na određenom mjestu u aktivnosti. Ulazni i izlazni lukovi objektnog čvora moraju biti objektni lukovi. Kad objektni čvor primi žeton-objekt po nekom od svojih ulaznih lukova, dešava se sljedeće. Čvor nudi taj objekt po svim svojim izlaznim lukovima. Izlazni lukovi se natječu za prihvat objekta, dakle dobije ga onaj prvi koji ga prihvati. Znači, jedan objekt na ulazu daje jedan objekt na izlazu; nema replikacije kao kod akcijskih čvorova. Sam objektni čvor može služiti kao spremnik (buffer) za žetone-objekte. V-08 Softversko inženjerstvo 20

Način rada objektnih čvorova (2) Svojstva spremnika mogu se specificirati logičkim uvjetima u vitičastim zagradama ili primjedbama sa stereotipima. {upperbound = n} {ordering = FIFO} (to je default) ili {ordering =LIFO} <<selection>> uvjet Objektni čvor može predstavljati objekte u nekom stanju. Tada stanja koja objekt poprima na activity dijagramu trebaju biti konzistentna sa stanjima na odgovarajućem state machine dijagramu. Objektni čvorovi mogu služiti kao ulazni ili izlazni parametri za aktivnosti. Tada se crtaju tako da prelaze preko okvira aktivnosti. Ulazni parametri imaju jedan ili više izlaznih lukova koji ulaze u aktivnost. Izlazni parametri imaju jedan ili više ulaznih lukova koji izlaze iz aktivnosti. V-08 Softversko inženjerstvo 21

Primjeri objektnih čvorova (1) Primjer s procesom nastanka, proizvodnje i prodaje proizvoda sad je bolje razrađen. Dodan je tok objekta koji povezuje oblikovanje i proizvodnju. Osim toga, uvedene su particije koje odgovaraju lokacijama. V-08 Softversko inženjerstvo 22

Primjeri objektnih čvorova (2) Objektni čvor koji služi kao spremnik. Objektni čvor koji obavlja selekciju. Čvor koji predstavlja objekte u nekom stanju. V-08 Softversko inženjerstvo 23

Primjeri objektnih čvorova (3) Objektni čvorovi kao ulazni i izlazni parametri za aktivnost. V-08 Softversko inženjerstvo 24

Interaction overview dijagrami (1) Interaction overview dijagram je križanac između interaction dijagrama i activity dijagrama. Smatra se da spada među interaction dijagrame, no uglavnom izgleda kao activity dijagram. Riječ je o activity dijagramu gdje umjesto akcijskih čvorova imamo čvorove koji predstavljaju cijele interakcije. Osim interakcija imamo i kontrolne lukove, te kontrolne čvorove koji reguliraju grananja, iteraciju, ili paralelne tokove kontrole. Cilj je da se pokaže tok kontrole na višoj razini između pojedinih interakcija. V-08 Softversko inženjerstvo 25

Interaction overview dijagrami (2) Jedna interakcija na interaction overview dijagramu obično se zadaje zasebnim sequence dijagramom koji je: Ucrtan unutar interaction overview dijagrama (inline interaction), Ili je nacrtan posebno, te se navodi na interaction overview dijagramu kao pojava interakcije (interaction occurrence). Primijetimo da interaction overview dijagrami čine donekle redundantni dio UML-a. Naime, sami sequence dijagrami već mogu izraziti sve što i interaction overview dijagrami. Grananje, iteracija i paralelnost mogu se prikazati kombiniranim fragmentima i operatorima. Ipak, kad bi tipični interaction overview dijagram pretvorili u sequence dijagram, dobili bi zamršeni i nečitljivi prikaz interakcije. Sequence dijagram je pogodan za prikaz manjih interakcija na razini jednog use case-a. Interaction overview dijagram je pogodan za opsežnije interakcije koje uključuju i povezuju više use case-ova. V-08 Softversko inženjerstvo 26

Primjer interaction overview dijagrama (1) Sljedeći dijagram ManageCourses odnosi se na sustav za praćenje studenata i kolegija. Prikazan je tok kontrole na višoj razini između nekoliko interakcija na nižoj razini: LogOn, GetCourse Option, AddCourse, FindCourse, RemoveCourse. Svaka od interakcija na nižoj razini predstavlja realizaciju jednog use case-a. To znači da dijagram ManageCourses opisuje složenu interakciju koja uključuje više use case-ova. Vidimo da su na dijagramu neke interakcije na nižoj razini prikazane kao inline interactions, a neke kao interaction occurrences. V-08 Softversko inženjerstvo 27

Primjer interaction overview dijag (2) V-08 Softversko inženjerstvo 28