Projektovanje IS. Čvorovi Šabloni Dinamika u UML-u

Similar documents
Bactrim sirup doziranje

BROJLER. Specifikacije ishrane. An Aviagen Brand

E-ZDRAVSTVO WEB APLIKACIJA U ASP.NET-U

Prelomna tačka rentabiliteta. LOGO 2002 Prentice Hall Business Publishing, Introduction to Management Accounting 12/e, Horngren/Sundem/Stratton

Hrvatsko društvo za kvalitetu Članovi za članove 6. prosinca Damir Keller i Dean Rennert Qualitas d.o.o. Zagreb

CO C K T A I L M E N U

CJENOVNIK USLUGA. 11.maj 2018.

7. UPRAVLJANJE TOKOM PROGRAMA

Darko Šaponja

OPĆI UVJETI POSLOVANJA

Karakteristike bar kodova iz tehničkog i dizajnerskog aspekta

IMPROVEMENT OF SUNFLOWER FOR CONSUMPTION. Dijana DIJANOVIĆ, Vesna STANKOVIĆ, and Ivan MIHAJLOVIĆ


Analiza prodaje i troškova. Prof. dr Saša Bošnjak

INTERNACIONALNI UNIVERZITET TRAVNIK U TRAVNIKU EKONOMSKI FAKULTET UTICAJ BRAND-OVA NA UNAPREĐENJE PRODAJE

HRVATSKE KNJIŽNICE NA DRUŠTVENOJ MREŽI FACEBOOK CROATIAN LIBRARIES ON FACEBOOK

UVOD U MARKETING. ICEPS Mr Ana J. Marjanović

OPEN SOURCE PROJECT :: BAST

SGS PLAN SEMINARA 2017

PRODAJNI KANALI U OSIGURAVAJUĆEM DRUŠTVU CROATIA OSIGURANJE D.D.

DEPRESIVNOST KOD DJECE I MLADIH

SVEFINANSIRANJE I KANALI DISTRIBUCIJE - KOMPETENCIJA ILI NADMETANJE

l=àéòáâì= gçëáé=rž~êéîáć= Filozofski fakultet u Zagrebu Ivana Lučića 3, HR Zagreb

Andrea Šuver PROMOCIJA NA TRŽIŠTU MOBILNIH TELEKOMUNIKACIJA U REPUBLICI HRVATSKOJ

1 POJAM I ULOGA KANALA DISTRIBUCIJE

Kriteriji i postupak pročišćavanja knjižničnog fonda na primjeru fonda serijskih publikacija Sveučilišne knjižnice Rijeka

VODIČ ZA GRAĐEVINSKE DOZVOLE 1.INFORMACIJA O LOKACIJI 2.LOKACIJSKA DOZVOLA 3.GRAĐEVINSKA DOZVOLA 4. PRIJAVA RADOVA 5.

CSYSTEMS PROGRAMSKI PAKET ZA KNJIGOVODSTVO

Ra unovodstveni informacijski sustavi - RIS

KAKO USPJEŠNO PRODAVATI HoReCa KUPCIMA? HoReCa KUPCIMA? Prodavači su kao i sportaši bez pravog treninga ne postižu pravu formu!

PRIJEVOD KAO INTERKULTURNA ČINJENICA

Knjižnične usluge za beskućnike

UPUTE ZA NATJECANJE COMPETITION INSTRUCTIONS

PROMOTIVNE AKTIVNOSTI U MALOPRODAJI S POSEBNIM OSVRTOM NA UNAPREĐENJE PRODAJE

NAŠICE 2.rujan 2011 Ivo Miljenovic

1. Sadržaj. Popis slika..i. Popis tablica...ii. Popis grafova..iii

METODE ZA OTKRIVANJE PROMJENA KOD DALJINSKIH ISTRAŽIVANJA

ALKOHOLIZAM I DRUŠTVENE ZNANOSTI

BOLESTI LIŠĆA JAGODE

XIII. MEĐUNARODNI KULINARSKI FESTIVAL XIII. INTERNATIONAL CULINARY FESTIVAL

METODOLOGIJE PROCJENE VRIJEDNOSTI NEKRETNINA

EFIKASNOST INTELEKTUALNOG KAPITALA U ISTARSKOM VODOVODU d.o.o. BUZET

SEND ELECTRONIC DOCUMENTS ACQUIRING SYSTEM IN NEW CLOTHES

RAČUNOVODSTVENO PRAĆENJE TROŠKOVA PROIZVODNJE NA PRIMJERU FIRME ŠUJICA- DRVO d.o.o.

DIFFERENT STERILIZATION METHODS FOR OVERCOMING INTERNAL BACTERIAL INFECTION IN SUNFLOWER SEEDS

Model za razvoj brenda u industriji hrane i pića primjer zadarskog likera Maraschino

GLASILO ZBORA LIJEČNIKA HRVATSKE

SVEUČILIŠTE U RIJECI FILOZOFSKI FAKULTET

238 broj bibliografske jedinice

MJERE LI SAMO POKAZATELJI USPJEŠNOSTI VRIJEDNOST KNJIŽNICA? : PREMA VREDNOVANJU DRUŠTVENIH CILJEVA ORGANIZACIJA U KULTURI

III Међунардна Конференција Безбједност саобраћаја у локалној заједници, Бања Лука, октобар године

ANALIZA TEHNOLOGIČNOSTI SA STAJALIŠTA IZBORA OBLIKA, DIMENZIJA I TOLERANCIJA ŽLIJEBA ZA ZAVARIVANJE

SVEUČILIŠTE U ZAGREBU FAKULTET STROJARSTVA I BRODOGRADNJE DIPLOMSKI RAD. Dino Bušić. Zagreb, 2015.

Savjetovanje poljoprivrednika LEASING FINANCIRANJE

THE CHARACTERISTICS OF VITICULTURE PRODUCTION IN SERBIA OBELEŽJA VINOGRADARSKE PROIZVODNJE U SRBIJI

ZOTERO PROGRAM OTVORENOG KODA ZA UPRAVLJANJE BIBLIOGRAFSKIM BILJEŠKAMA ZOTERO OPEN SOURCE SOFTWARE FOR MANAGING THE BIBLIOGRAPHIC REFERENCES

AKTIVNOSTI UNAPREĐENЈA PRODAJE U KONCEPTU GLOBALNOG MARKETINGA

Osnovne studije: Linija sistema javnog masovnog transporta putnika

Maja Krtalić Filozofski fakultet Sveučilišta Josipa Jurja Strossmayera Osijek

Everything you can imagine is real.

OD KONCEPTUALNIH MODELA PREKO OPAC-a TREĆE GENERACIJE DO SLJEDEĆE GENERACIJE KNJIŽNIĈNOGA SUSTAVA

DETEKCIJA KRATERA IZ DIGITALNIH TOPOGRAFSKIH SLIKA

Sažetak. Srđan Lukačević Gradska i sveučilišna knjižnica Osijek Kornelija Petr Balog Filozofski fakultet Osijek

BOSANSKI JEZIK ČASOPIS ZA KULTURU BOSANSKOGA KNJIŽEVNOG JEZIKA JOURNAL FOR CULTURE OF BOSNIAN LITERARY LANGUAGE

CONVECTIVE DRYING OF THE ROOT AND LEAVES OF THE PARSLEY AND CELERY

Mama, tata, ja sam vegan

KOMUNIKACIJA PUTEM DRUŠTVENIH MREŢA NA PRIMJERU PODUZEĆA NAPRIJED D.O.O.

Name: Katakana Workbook

SVEUČILIŠTE U ZAGREBU FILOZOFSKI FAKULTET ODSJEK ZA INFORMACIJSKE ZNANOSTI Ak. god 2015./2016.

UPUSTVO ZA UPOTREBU SRK60ZMX-S SRK25ZMX-S SRK35ZMX-S SRK50ZMX-S SRK63ZM-S SRK71ZM-S SRK80ZM-S.

Utjecaj sociodemografskih obilježja potrošača na ponašanje u kupnji i konzumaciji kave

PRIMJERI ZADATAKA PISA TESTIRANJA- PRIRODNE NAUKE

Introduction. L.B. Roostita, H. A. W. Lengkey

Analiza pokazatelja stanja na tr`i{tu drvnih proizvoda Republike Hrvatske

ŽIVOT, LJUBAV, SMEH Slavljenje tvog postojanja OSHO. Biblioteka BUĐENJE

Melita Ambrožič. Ljubljana EVALUACIJA KNJIŽNICA. Beograd, M. Ambrožič,

MEĐUKNJIŽNIČNA POSUDBA : STANDARDIZIRANI POSTUPCI INTERLIBRARY LOANS : STANDARDIZED PROCEDURES

Prosciutto & Wine Bar

Evaluation of parent combinations fertility in plum breeding (Prunus domestica L.) 1

Afterwork sa Srićom 2017

Upravljanje marketingom u neprofitnim organizacijama na primjeru Gradske knjižnice Zadar

Marketing GI products. Recommendations and examples from the field

SVEUČILIŠTE U RIJECI EKONOMSKI FAKULTET

PREDMETNE ODREDNICE U PODRUČJU KNJIŽEVNOSTI U NACIONALNOJ I SVEUČILIŠNOJ KNJIŽNICI U ZAGREBU

D I P L O M S K I R A D

Ultima korisničko uputstvo Ultima Fiskalna kasa. Korisničko Uputstvo. Copyright 2012, HCP d.o.o

NAMIRA BEZ UPORABE NOVCA (OBRAČUNSKA NAMIRA, OBRAČUNSKO PLAĆANJE)

Vodanović M. Zubi, zubni karijes i zubni ispuni. Zdrav život. 2007;5(47):30-4.

5. Svaka boca mora na sebi imati ID formular pričvršden gumicom. Molimo NE KORISTITI selotejp, ljepilo ili žicu, koristite SAMO gumicu.

KLASIFIKACIJSKI SUSTAVI U MEDICINSKIM KNJIŽNICAMA SAD-a, UJEDINJENOG KRALJEVSTVA I REPUBLIKE IRSKE

Studying the Content of Starch Correlated With Resistance to Low Winter Temperatures in Some Grapevine Varieties

GENETIC DIVERSITY IN Brassica SPECIES AND Eruca sativa FOR YIELD ASSOCIATED PARAMETERS

Ana Ribarić PRIPREMA PROJEKTA PRENAMJENE I REVITALIZACIJE EX BLOKA RIKARD BENČIĆ U RIJECI

Načela razdvajanja energetskih djelatnosti prijenosa i distribucije električne energije

Adriatic Localization. for Microsoft Dynamics NAV

Konflikt radne i obiteljske uloge kod žena koje rade u smjenama

IMPLEMENTACIJA MARKETINGA U NAKLADNIŠTVO DIPLOMSKI RAD

Razlike u navikama pijenja alkohola između učenika završnih razreda osnovnih škola i maturanata grada Splita

EFEMERNA GRAĐA I SITNI TISAK : OPSEG POJMOVA U HRVATSKOJ I SVIJETU EPHEMERA AND MINOR PUBLICATIONS : CONCEPT OF THE TERMS IN CROATIA AND ABROAD

LIJEČNIČKI VJESNIK G O D. L X V III. Z A G R E B. K O L O V O Z B R O J 7 i 8

Transcription:

Projektovanje IS Čvorovi Šabloni Dinamika u UML-u Modelovanje raspoređenosti Glavni element kod modelovanja raspoređenosti je pozicioniranje čvorova u dijagramu. Čvorovi su fizičke komponente koji najčešće predstavljaju procesore a obavezni element čvora je memorija. U čvorovima se mogu nalaziti komponente koje se mogu premještati iz čvora u čvor. Takođe lokacija čvora ne mora biti fiksirana. Kod prikaza čvora često se koriste stereotipi (slično kao i u slučaju komponenti). Čvorovi se u dijagramima raspoređenosti pojavljuju u tri slučaja: modelovanje ugrađenih (embedded) sistema (ovi sistemi su hardverske komponente koje intenzivno koriste softver u komunikaciji sa spoljnim svijetom; npr. kontroleri koji komuniciraju sa različitim tipovima komponenti u cilju akvizicije podataka, obrade podataka i upravljanja; sa stanovišta projekta obično ovaj sistem je bitan u vidu funkcije koju obavlja a ne i načina na koji obavlja tu funkciju); modelovanje klijent/server arhitekture (postoje mnoge varijacije u smislu projektovanja klijent/server sistema; mi smo do sada pominjali sisteme kod kojih je podjeljeno izvršavanje odluke i donošenje odluke; zatim arhitektura brojnih IS-ova je troslojna gdje je dio korisničkog interfejsa razdvojen od dijela koje izvodi operacije; brojni sistemi razdvajaju terminale od servera na kojima se programi izvršavaju; naravno postoje i drugi tipovi klijent server arhitektura); 1

Dijagrami raspoređenosti modelovanje distribuiranih sistema (mnogo različitih arhitektura sistema se naziva distribuiranim; generalno se podrazumjeva da u sistemu postoji više razdvojenih procesora ili čvorova; kod ovog tipa sistema se obično identifikuju sistemski djelovi koji uključuju procesore; modeluje se mreža kao odgovorajuća relacija između čvorova i uvedu odgovarajuća ograničenja koja mreža unosi; čvorovi koji se mogu logički povezati se grupišu u pakete; prilikom modelovanja dijagrama raspoređenosti mogu se koristi današnji moderni softverski alati koji mogu da identifikuju pojedine čvorove u mreži). Čvor i komponente mail_server Modelovanje veze čvora i komponenti preko relacije zavisnosti. pos.exe concats.exe konzola <<10-T Ethernet>> Modelovanje veze između čvorova sa odgovarajućim sterotipima. kiosk <<RS-232>> <<processor>> server RAID farma Veza između čvorova c:konzola Primjenjuje admin.exe config.exe :kiosk Primjenjuje user.exe <<10-T Ethernet>> <<RS-232>> s:server brzinaprocesora=300mhz memorija=128mhz Primjenjuje dbadmin.exe tkmstr.exe :RAID farma prikaz veze sa prethodnog slajda na nižem nivou apstrakcije <<Internet>> Client Internet Explorer 5.0 Credit Flight Reservation HTTP Web Server FlightServer Printer Database Server Oracle 8 Credit System Server Credit Check Primjer dijagrama raspoređenosti 2

Dijagram čvorova primjer konzola konzola Napomena lokalni serveri nisu međusobno vidljivi preko privatne mreže kompanije konzola Internet Regionalni server Regionalni server Regionalni server Log server Lokalni server Dijagram čvorova - Primjer Connection Stored On Radno mjesto rukovodioca Server baze podataka Baza podataka Radno mjesto knjigovođe Održavanje 3

Šabloni Posmatrajmo sljedeću situaciju. Kreiramo klasu ListaStudenata i u njoj kreiramo osnovne operacije sa listom (lista je nešto kao uređen niz i često se koristi u programiranju). Zatim ListaNastavnika (opet implementacija operacija sa listom), ListaUčionica itd. Mnogo je uputnije kreirati šablon liste sa nekim parametrom i zatim u zavisnosti od tog parametra (ovdje to može biti Student, Nastavnik, Učionica) dobiti odgovarajuća klasa. Šablon klase se može parametrizovati po tipovima podataka (drugim klasama) i po konkretnim objektima. Šablon klase - primjer Niz podataka T, n Implicitno pozivanje Map<Customer,Order,3> Map Item Value Buckets:int +bind(in n:item,in v:value):boolean +isbound(in i:item):boolean {isquery} OrderMap parametri šablona <<bind>> (Customer,Order,3) Eksplicitno pozivanje preko stereotipa bind Šablon - kod template <class Item,class Value,int Buckets> class Map{public: virtual Boolean bind(const Item&,const Value &); virtual Boolean is Bound(const &Item) const;...}; pritiskanjetastera:redčekanja Imenovani objekat ::Multimedia::AudioStream Neimenovani objekat sa putanjom :: se naziva operatorom dosega. :Okvir m:map<customer,order,3>; Konkretizacija šablona Objekti primjeri Neimenovani objekat ::kodtastera :kodtastera Neimenovani višestruki objekat. agent: Objekat siroče (bez naziva klase). Osoba Ime:kar Plata:kar o1:osoba Ime='Pera' Plata=450 o2:osoba Ime='Mika' Plata=750 Klasa sa atributima Objekti sa vrijednostima 4

Stanja Vrijednosti osobina objekata se nazivaju stanjima. Mogu se specificirati navođenjem vrijednosti argumenata ili specifikacijom stanja u kojima se objekat nalazi. Stanja objekat se mogu mijenjati tokom vremena. Objekti Stanja - Primjeri mojamušterija id:ssn= 432-89-1783 aktivna=true c:telefon [ČekanjeNaOdgovor] Na objekte se mogu primjeniti svi tipovi proširenja kod UML modela (vizuelne modifikacije, naznačene vrijednosti i stereotipi). Primjer stereotipa: <<izuzetak>> e:prepunjavanje Dva moguća načina prikaza stanja kroz koje objekti prolaze. Objekti primjeri trenutna:transakcija primarniagent [aktivan] <<instanceof>> FraudAgent :Transakcija :Transakcija Dijagram objekata koji je namijenjen za modelovanje konkretnih objekata. p:prihvatpoziva 2:omogućiVezu 1:uspostavi t1:terminal 2.1:počniZaračunavanje v:veza 1.2:dodjeli 1.1:dodjeli t2:terminal Modelovanje početka telefonskih razgovora u telefonskoj centrali. Preko stereotipa su prikazane poruke koje objekti razmjenjuju. Brojne oznake znače redosljed poruke. Ako je u jednoj poruci ugnježdeno nekoliko poruka tada se one prikazuju kao 2.1 i slično. 5

Dijagrami objekata su statički i prikazuju jedan trenutak u životu objekata (jedan snapshot). Liče na dijagrame klasa ali sa definisanim vrijednostima. Dijagrami objekata sadrže objekte i veze ali mogu i paket i podsisteme. Dijagram objekata s1:služba ime= Prodaja s3:služba k:kompanija ime= Prodaja u zemlji o:osoba ime= Perić radnikid=4362 titula= Pomoćnik direktora prodaje s2:služba ime= Razvoj :KontaktInformacije adresa= Cetinjski put bb Dijagrami objekata se mogu koristiti za direktni (rijetko) i reversni (često) inžinjering. r:robot [kretanje] s:svijet <<globalni>> neuklopljeni :Element :Element Dijagram objekata Primjer o1:oblast o2:oblast z1:zid širina=36 z2:zid širina=96 v8:vrata širina=36 z3:zid širina=96 Dijagrami interakcija Već smo se sreli sa primjerom dijagrama interakcije. Na dijagramima interakcija su prikazani objekti kao i poruke i informacije koje se između objekata razmjenjuju. 1:getPositionAtTime(t) 1.1:getLastCheckpoint() r:airtrafficplanner p:flihtplan 6

Dijagram klasa dijagram objekata Dijagram klasa je statički (od čega se sistem sastoji), sličan mu je dijagram objekata na kojem se vidi ista veza ali sa konkretnim objektima navedene klase. Ovaj dijagram je takođe statički. Međutim, ako pustimo film (za dijagram objekata kažemo da je snapshot jedan trenutak) sa objektima da se odvija dobijamo dinamički dijagram interakcija! Dijagram klasa Dijagram interakcije (saradnje) Osoba definišiplatu pridruži() o:osoba zaposlen poslodavac Preduzeće 1..* * klasa asocijacija veza klasa :Preduzeće imenovani objekat pridruži razvojno() poruka anonimni objekat Dijagram klasa - primjer p:preduzeće o1: Odjeljenje o2: Odjeljenje ime="prodaja" ime="personalno" objekt o3: Odjeljenje ime="nabavka" veza vrijednosti atributa o: Osoba ime="ivan" Idzaposlenog=4362 radno mjesto="direktor prodaje" anonimni objekat :Adresa stanovanja adresa="takovska 10" 7

Dijagrami interakcija Interakcija se bazično koristi u tri konteksta: U kontekstu podsistema ili sistema unutar društva saradnika za opis interakcije između pojedinih objekata; Objekte koji realizuju operacije kao i kod klase za bolju konstrukciju; Vizuelizaciju i dokumentovanje semantike klase. Ako između klasa postoji asocijacija i veza između objekata u interakciji se modeluje kao asocijacija. Osoba +unesiprimanja(p:plata) +unesislužbu(s:služba)... 1..* radnik * poslodavac Kompanija o:osoba :Kompanija Najčešće poruke koje se razmjenjuju između objekata su pozivi odgovarajućih funkcija ili predaja argumenata. Obično pozivi formiraju ravan tok ili proceduralni niz. Interakcija i poruke koje se u njoj razmjenjuju k:klijent p:pomoćpriplaniranju <<create>> :izdavanjekarata unesidetaljeputa() izračunajdužinu() dužina lokalna pozivanje <<destroy>> evidentiraj() 2:izaberi(o) 2.2:prebaciPosljednjiIzbor(I) :Prikaz p:posrednik :Keš Proceduralni niz 8

Primjeri upravljanja 1:podigniSlušalicu 2:obaviPoziv() i:inicijalizatorpoziva :Telefon :Centrala Ravan tok Interakcija se može koristiti za upravljanje po vremenu i za upravljanje u organizacionom smislu. Primjer upravljanja u vremenu i:izdavačberzanskogstanja p1:pretplatnikberzanskogstanjaa p2:pretplatnikberzanskogstanja upiši(p1) upiši(p2) evidentiraj() ažuriraj() dajstanje() dajstanje() ažuriraj() Tipovi interakcija Client Supplier Client Supplier 1: Simple Message 1: Synchronous Message Sinhrone poruke kod kojih objekat koji šalje poruku čeka da primalac odreaguje na tu poruku. Client Supplier Client Supplier 1: Balking Message Kod balking poruka šalje se poruka primaocu i ako primaoc nije u stanju da na nju odgovori pošiljalac odustaje od poruke. Ponekad se nazivaju preprekama. 1: Timeout Message Timeout su slične balking porukama ali se poruka ne proslijeđuje odmah već u dato vrijeme i ako je primaoc ne može primiti pošiljalac odustaje od poruke. Client Supplier Client Supplier Client Supplier 1: Asynchronous Message 1: Procedure Call 1: Procedure Call 2: Return Message Asinhorne poruke se šalju primaocu i pošiljalac nastavlja sa radom bez obzira da li ju je primalac primio. Poziv procedure (Procedure Call) je poruka koja se šalje primaocu. Pošiljalac (klijent) čeka da se kompletna ugnježdena sekvenca završi prije nego nastavi dalje izvršavanje. Povratak iz procedure se obavlja sa Return. 9

vrije me Naziv učesnika: Učesnik skript tekst 1: događaj Objekat 1; Sistem 2:događaj 1 objekat 2 objekat 3 objekat 4; nazivi sistema Asinhrona poruka 3: oper2 {pdista} Rekurzivna poruka poruka životni vijek 4: operacija 4 {param lista} 5: operacija 5 {par lista} aktivnosti Dijagram interakcija - primjeri objekat poziv vraćanje rezultata uništavanje objekta p:preduzece <<create>> o:osoba postavi() vrijednost <<destroy> > kreiranje objekta linija života objekat kraj životnog vijeka Dijagram interakcije - primjer CartInterface ProductMgr ProductItems White Crew Socks CartItems :Customer CartMgr Add white crew socks to cart Add white crew socks to cart Get white crew socks Find product (white crew socks) Get product Add white crew socks to cart Add white crew socks to cart Veoma zgodno sa ovim dijagrama možemo uočiti neki operaciju koja je eventualno izostavljena u inicijalnom dizajnu klase! 10

Dijagram interakcije - Primjer 1: Add white crew socks to cart 2: Add white crew socks to cart :Customer CartInterface CartMgr 6: Add white crew socks to cart 3: Get white socks 7: Add white crew socks to cart ProductMgr 4: Find product(white crew socks) WhiteCrew Socks CartItems ProductItems 5: GetProduct U pitanju je isti dijagram kao onaj na prethodnom slajdu ali prikazan u alternativnim obliku. Kompaktniji oblik ali nešto teži za tumačenje. 6: priprema prikaza 1: otvori Forma za ažuriranje 4: učitavanje podataka Prevodilac :Knjigovođa 3: šifra 2: lista šifri Šifrarnici 5: podaci Tipovi dijagrama interakcije Prevodilac: Osoba KonkretnaRL: RadnaLista Honorar: Isplata 4:Obracun() 1:RacunanjeIsplate() Prevodilac: Osoba :Administrator 1:RacunanjeIsplate() 3:Brojsati() 4:Obracun() 2:Upisati() 5:Uplata() :Administrator Honorar: Isplata 5:Uplata() 3:Brojsati( ) Konkretna RL: RadnaLista Dijagrami su dvije forme veze između istih koncepata. 2:Upisati() Postoje sitne razlike u označavanju elemenata na dijagramima u različitim softverskim alatima. Naše oznake su bliže Rationalu i Power designeru nego recimo Paradigmi (Paradigma Plus). 11

Dijagrami interakcija - primjeri poruka 1: događaj 4: operac{par lista} objekt objekt1; naziv klase objekt3 broj sekvence 2: operacija 3: operacija (par lista) objekt2 5: operac{par lista} Naziv klase rekurzivna poruka Poruka veze 1: Događaj Naziv veze Prevodilac Tok podataka Objekt 3: obračun 1: podaci() kadrovsko: Kadrovsko osoblje radnomjesto: RadnoMjesto Zaposlen: Osoba 5: potvrda 2: podaci() 4: novaisplata isplata: Isplata Poruka veze 1: Događaj G Naziv veze Prevodilac Vidljivost klijenta G - globalna Tok podataka L Objekt Izvor vidljivosti L - lokalna Upravljanje u organizacionom smislu 3:evidentiraj() i:izdavačberzanskogstanja 4:ažuriraj() 1:upiši(p1) 6:dajStanje() p1:pretplatnikberzanskogstanja 2:upiši(p2) 7:dajStanje() Korisničke funkcije 2:ažuriraj() p2:pretplatnikberzanskogstanja Korisničke funkcije su željeno ponašanje nekog dijela sistema bez diktiranja kako se do tog ponašanja želi doći. Korisnička funkcija je niz akcija koje sistem vrši da bi dobio primjetan rezultat za nekog izvođača (actor-a). Korisnička funkcija je interakcije izvođača van sistema sa dijelom sistema. 12

Korisničke funkcije Sa stanovišta izvođača sistem je crna kutija koja izvodi neke operacije ali izvođača ne interesuje kako se došlo do takvog ponašanja sistema. Izvođači se često prikazuju u obliku čiča Gliša crteža. Komercijalni Klijent Klijent Korisničke funkcije se često koristi za povezivanje više klasa koje su grupisane u okviru društava saradnika. Veza korisničke funkcije i društva saradnika se prikazuje kao: Poruči Obrada porudžbine Korisničke funkcije se grupišu u pakete. Veze između paketa i kor. funkcija su: generalizacija (funkcija nasljeđuje sve što ima neka druga funkcija ili klasa ili paket korisničkih funkcija uz neke dodatke); obuhvatanje (<<include>>) znači da obuhvaćena funkcija ne postoji sama za sebe već samo kao dio druge funkcije; proširivanje (<<extend>>) opciona mogućnost proširivanja ponašanja. Veze između korisničkih funkcija primjer Prati narudžbu Naruči Tačke proširenja podesi prioritet <<include>> <<extend>> (podesi prioritet) <<include>> Provjeri korisnika Naruči hitno Provjeri lozinku Ispitaj retinu kupac Sistem za provjeru kreditnih kartica Izvrši transakciju kreditnom karticom fizičko lice Primjer dijagrama kor. funkcija pravno lice Obradi kupčevu fakturu Izravnaj transakcije Sredi kupčev račun 13

Ulaganje se može obaviti preko ATM automata ili preko šaltera. Ulaganje Transfer Promjena PINa Službenik Periodična kontrola Podizanje novca Mušterija Plaćanje rate kredita Kreditni sistem Pregled stanja Kontrola Rukovodilac Primjer dijagrama korisničkih funkcija - use case dijagram. Svaka od korisničkih funkcija može da se na detaljnijem nivou implementira kroz dijagram aktivnosti ili neki drugi oblik dinamičkog dijagrama. Korisničke funkcije - više detalja Rukovodilac Praćenje prevodioca <<include>> Održavanje šifrarnika <<extends>> <<include>> Održavanje osnovnih podataka Knjigovođa Održavanje podataka o prevodiocima <<include>> Prevodilac Prevođenje Izrada izvještaja Obračun isplata Web server Distribucija na Internet 14

Korisničke funkcije - dijagrami interakcija Zapamtite da kod modelovanja korisničkih funkcija se modeluje samo ono ponašanje sistema koje je važno sa stanovišta (korisnika) izvođača. Dobro strukturiran dijagram može da prikaže i neke od funkcija koje izvođač ne vidi a koje su važne za funkcionisanje sistema (npr. provjera ispravnosti kartice). k:klijent <<create>> zadajakcije(a,d,0) izvršeno <<destroy>> linija života objekta (objekat postoji u nekom trenutku) :Transakcija zadajvrijednosti(d,3,4) zadajvrijednosti(a,"co") p:odbcproxy FOKUS UPRAVLJANJA Dijagram interakcije koji modeluje odvijanje upravljanja po vremenskom redosljedu naziva se dijagramom sekvence Dijagram interakcija - primjer Knjigovođa 1: Početak() : SISTEM 2: Ubaci_prevodioca(CHAR, PREVODI, CHAR, JEZIK) 3: Kreiraj_Prevodioca(CHAR) 4: Ažuriraj_Prevodioca(CHAR, PREVODI, JEZIK) 5: Izbaci_Prevodioca(VARCHAR) 15

Veza dijagram interakcije dijagram klase Radna lista Tekstualnu opis slučaja upotrebe * Isplata -datum -iznos :Knjigovođa Prevodilac: Osoba 1:RacunanjeIsplate() 2:Upisati() 3:Brisati() 4:Obračun() 5:Uplata() Konkretna RL: RadnaLista Honorar: Isplata RadnaLista 0..* brsati Osoba Isplata datum iznos uplata() 0..* primanje 1..1 * Osoba *Sifra +Prezime:String +Ime:String #JMBG:String?Datum:String -Plata:Real -Stimulacija; Knjigovođa sifrar prezime ime JMBG datumzaposlenja plata stimulacija unos() promjenaplate() promjenastimulacije() racunanjeisplate() Dijagrami interakcija k:klijent :Transakcija {transient} 1: <<create>> 2: <<zadajakcije(a,d,0) 3: <<destroy>> <<global>> p:odbcproxy 2.1: zadajvrijednost(d,3,4) 2.2: zadajvrijednost(a,"co") iteracije se naglašavaju kao *[i:=1..n] ili ako se samo želi naglasiti interakcija * logički uslovi se naglašavaju kao [x>0] Dijagrami interakcija u organizacionom smislu se naziva dijagramom saradnje. Na ovom dijagramu su objekti prikazani kao čvorovi grafa, putanje koje ih povezuju su veze između njih a naglašeno je i vremensko odvijanje interakcije. crni kružić početno stanje; Aktivnosti elipse aktivnosti; romb grananje; Oznake! vertikalna deblja linija - sastavnice; kružić sa crnim kružićem kraj aktivnosti. 16

Aktivnosti Obavi pripremu lokacije Odaberi lokaciju Angažuj arhitektu Napravi projekat Razmotri ponude Aktivnost se sastoje od akcija koje dovode do promjena stanja objekata u sistemu ili do vraćanja neke vrijednosti. Akcije su: pozivanje drugih operacija, slanje signala, stvaranje i uništavanje objekata ili čisto izračunavanje. [nije prihvaćeno] Dijagrami aktivnosti sadrže: stanja aktivnosti, stanja akcija, tranzicije i objekte. [else] Obavi nabavku materijala Završi izgradnju :DokumentaOVlasništvu [završeno] Stanja akcije se prikazuju u zaobljenim pravougaonicima i ako predstravljaju izračunavanje koriste se relacije iz implementacionog jezika a ne iz UML-a koji ih ne propisuje. Stanja akcija i aktivnosti Razmotri ponude stanje akcije (sintaksa zapisa indeks:=pogledaj(e)+7; stanje akcije sa izračunavanjem nije specificirana UML-om) Obradi fakturu(f) Obavi izgradnju() ulaz/postavibravu podautomat stanje aktivnosti sa tranzicijama specifikacije vezane za ulaz Nastavni plan poslova Odaberi lokaciju Angažuj arhitektu [materijali nijesu spremni] Promjeni plan [materijali spremni] Promjeni plan ilustracija grananja 17

Dijagram aktivnosti Pripremi se za govor ilustracija dijagrama aktivnosti sa raščlanjivanjem i objedinjavanjem Izvrši dekompresiju Gestikuliraj() Sinhronizuj usta( ) Priticanje zvuka( ) Očisti Akcije i aktivnosti se u UML-u označavaju na isti način. Akcija je kratkotrajna i ne može se prekinuti dok aktivnosti mogu da uzmu značajno vrijeme čak se mogu i prekinuti. Aktivnosti mogu da imaju ulaznu i izlaznu akciju i specifikacije vezane za podautomat. Dijagram aktivnosti - plivačke staze Ime 1 Ime 2 Ime 3 A B C Plivačka staza Akcije i aktivnosti D RačunajPovršinu indeks:=tabela(i)+k jednostavna akcija stanje akcija izraz ObradiRačun(r) Konstruiši entry/zaključaj podautomat podautomat ulazna akcija Kreiraj O:Obj Tok objekta Čitaj 18

Elementi dijagrama aktivnosti grananje A [uslov] grananje B [not uslov] C Postavi iterator [kraj] [not kraj] radi() promjeni iterator završeno stanje Priprema Aktivnost 1 Aktivnost 2 Finalizacija Elementi dijagrama aktivnosti Ovo su pseudostanj a Rukovodilac start Zahtjev za prevođ. račvanje Plaćanje Kompletir. Dokument. Prevodilac Prevođenje spajanje Isporuka Knjigovođa Prijava posla Obavljen posao Ovo su jednostavno stanje Ovo su Object flow Urađen posao Ovo su plivačke staze 19

Kupac Prodaja Centralno stovarište Zahtjevaj proizvod Plivačke staze Obradi porudžbu Podigni materijale Isporuči podrudžbinu Primi podrudžbinu Plati fakturu Izdaj fakturu Zatvori porudžbinu ilustracija dijagrama aktivnosti sa plivačkim stazama Na dijagramima aktivnosti mogu se prikazivati i objekti koji nastaju, nestaju ili se razmjenjuju između pojedinih stanja u aktivnosti. Za detalje pogledajte skriptu. Radnik Menadžer Zahtjev za listu novih proizvoda Uzmi listu novih proizvoda Proizvod/ Lista Cijena [New] Provjeriti narudžbenice Dodati 10% na porudžbu Proizvod/ Lista Cijena [Na odobrenje] Pregled cijena Primljena lista cijena proizvoda [prihvatljivo] Proizvod/ Lista Cijena [Odobreno] Modifikuj cijene Kreiranje nalijepnica sa cijenama Postavljanje naljepnica 20