dijagrami slu čajeva korišćenja i dijagrami paketa · 2011. 12. 20. · primer opisa slu čaja...

45
Dijagrami slu Dijagrami slu č č ajeva kori ajeva kori š š ć ć enja enja i dijagrami paketa i dijagrami paketa

Upload: others

Post on 06-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • Dijagrami sluDijagrami sluččajeva koriajeva koriššććenja enja i dijagrami paketai dijagrami paketa

  • Izuzetna je Izuzetna je ččinjenica injenica da da ššto je to je šškolovaniji i kolovaniji i ugledniji istraugledniji istražživaivačč, to , to je jednostavniji njegov je jednostavniji njegov

    stil izrastil izražžavanja. avanja.

    Mike GrimbleMike Grimble

  • SluSluččajevi koriajevi koriššććenja (SK)enja (SK)�� Predstavljaju tehniku za modeliranje Predstavljaju tehniku za modeliranje

    funkcionalnosti i specifikaciju zahteva sistemafunkcionalnosti i specifikaciju zahteva sistema

    �� Model sluModel sluččaja koriaja koriššććenja (use case model) enja (use case model) predstavlja opis funkcionalnosti iz ugla korisnika predstavlja opis funkcionalnosti iz ugla korisnika sistema sistema

    �� SK su naSK su naččin prikupljanja funkcionalnih zahteva in prikupljanja funkcionalnih zahteva sistema, opisuju interakcije korisnika i sistemasistema, opisuju interakcije korisnika i sistema

    �� U njemu se izostavljaju detalji vezani za U njemu se izostavljaju detalji vezani za realizaciju posmatrane funkcionalnostirealizaciju posmatrane funkcionalnosti

    �� PrikazujPrikazujuu se dijagramima sluse dijagramima sluččaja koriaja koriššććenja enja (DSK) (DSK)

  • SadrSadržžaji DSKaji DSK

    �� SluSluččajevi koriajevi koriššććenjaenja

    �� Veze izmeñu sluVeze izmeñu sluččajeva koriajeva koriššććenjaenja

    �� UUččesniciesnici

    �� Veze izmeñu uVeze izmeñu uččesnikaesnika

    �� Veze izmeñu sluVeze izmeñu sluččajeva korisnika i uajeva korisnika i uččesnikaesnika

    �� Detaljni opisi sluDetaljni opisi sluččajeva koriajeva koriššććenjaenja

  • Elementi DSKElementi DSK

    �� SluSluččajevi koriajevi koriššććenja: elipsaenja: elipsa

    �� UUččesnici: stilizovani ljudski likesnici: stilizovani ljudski lik

    �� Veze: odgovarajuVeze: odgovarajućće linijee linije

    �� Granice sistema: pravougaonikGranice sistema: pravougaonik

  • Primer DSKPrimer DSK

    Predajazahteva

    UpitPretplatnikSlužbenik

    Služba pretplate

  • Komunikacija uKomunikacija uččesnici esnici -- slusluččajevi ajevi korikoriššććenjaenja

    �� PomoPomoćću uu uččesnika i njihove komunikacije se esnika i njihove komunikacije se definidefinišše granica posmatranog sistemae granica posmatranog sistema

    �� Komunikacija se odreñuje pomoKomunikacija se odreñuje pomoćću funkcija u funkcija (predstavljenih vezama) koje u(predstavljenih vezama) koje uččesnici mogu esnici mogu inicirati i u kojima oni uinicirati i u kojima oni uččestvujuestvuju

    �� Izmeñu uIzmeñu uččesnika i sluesnika i sluččajeva koriajeva koriššććenja se enja se razmenjuju porukerazmenjuju poruke

    �� IzvrIzvrššenje sluenje sluččaja koriaja koriššććenja zapoenja započčinje inje porukom od uporukom od uččesnika i traje dok ta poruka esnika i traje dok ta poruka ne izazove promenu u sistemu ne izazove promenu u sistemu

  • Dijagrami sluDijagrami sluččaja koriaja koriššććenjaenja

    �� Prikaz veza spoljnih uPrikaz veza spoljnih uččesnika sa esnika sa funkcionalnofunkcionalnossti sistema ti sistema -- scenarioscenario

    �� Grubi prikaz Grubi prikaz šštata sistem ili podsistem radisistem ili podsistem radi

    �� Ne prikazuje Ne prikazuje kakokako sistem radisistem radi

    �� Spoljni uSpoljni uččesnik preuzima ulogu iz objekata esnik preuzima ulogu iz objekata van sistemavan sistema

    �� Cilj modelovanja sluCilj modelovanja sluččajevima koriajevima koriššććenja je enja je jasan i precizan opis funkcija sistema kao jasan i precizan opis funkcija sistema kao osnove za dalje projektovanje sistemaosnove za dalje projektovanje sistema

  • UUččesnikesnik�� SadrSadržži jednu ili vii jednu ili višše uloga jednog ili vie uloga jednog ili višše e

    entiteta van sistema koji komuniciraju sa entiteta van sistema koji komuniciraju sa sistemomsistemom

    �� Entiteti: osoba, Entiteti: osoba, institucija, urinstitucija, ureñajeñaj, drugi sistem, drugi sistem

    �� U svakom sluU svakom sluččaju koriaju koriššććenja uenja uččesnik ima jednu esnik ima jednu uloguulogu

    �� Na DSK uNa DSK uččesnik se predstavlja kao klasa sa esnik se predstavlja kao klasa sa stereotipom ili specijalnom ikonom stereotipom ili specijalnom ikonom ispod koje je navedeno njegovo imeispod koje je navedeno njegovo ime

    �� UUččesnik ne pripada sistemu i njegova se esnik ne pripada sistemu i njegova se struktura ne opisujestruktura ne opisuje

  • Komunikacija uKomunikacija uččesnikesnik--sistemsistem�� Za svakog uZa svakog uččesnika definiesnika definišše se njegov pogled: e se njegov pogled:

    skup operacija koje moskup operacija koje možže da izvre da izvrššavaava

    �� Ovaj skup operacija je interfejs povezan sa Ovaj skup operacija je interfejs povezan sa odreñenim uodreñenim uččesnikomesnikom

    �� Interfejs definiInterfejs definišše kako elementi sistema mogu e kako elementi sistema mogu komunicirati sa ukomunicirati sa uččesnikomesnikom

    �� Jedan uJedan uččesnik moesnik možže se nalaziti u vie se nalaziti u višše interfejsae interfejsa

    �� Komunikacija podrazumeva slanje poruka ili Komunikacija podrazumeva slanje poruka ili podataka upodataka uččesniku ili njihov prijemesniku ili njihov prijem

    �� Struktura i sadrStruktura i sadržžaj poruka i podataka u ovoj aj poruka i podataka u ovoj komunikaciji opisuju se u formi tekstakomunikaciji opisuju se u formi teksta

  • Odnos uOdnos uččesnikesnik--slusluččaj koriaj koriššććenjaenja�� IzvrIzvrššavanje sluavanje sluččaja koriaja koriššććenja poenja poččinje na zahtev inje na zahtev

    jednog ujednog uččesnikaesnika

    �� U samom izvrU samom izvrššenju sluenju sluččaja koriaja koriššććenja moenja možže e uuččestvovati viestvovati višše ue uččesnika i oni sa sistemom esnika i oni sa sistemom takoñe razmenjuju poruke i podatketakoñe razmenjuju poruke i podatke

    �� Svaki uSvaki uččesnik mora biti povezan sa bar jednim esnik mora biti povezan sa bar jednim slusluččajem koriajem koriššććenja vezom asocijacijeenja vezom asocijacije

    �� RazliRazliččiti uiti uččesnici mogu komunicirati sa grupom esnici mogu komunicirati sa grupom slusluččajeva koriajeva koriššććenja na isti naenja na isti naččin, koriin, koriššććenjem enjem iste uloge: naiste uloge: nasleñuju istu ulogusleñuju istu ulogu

    �� UUččesnik nasleñivanjem moesnik nasleñivanjem možže da preuzima e da preuzima uloge, a mouloge, a možže imati i druge uloge sa drugim e imati i druge uloge sa drugim slusluččajevima koriajevima koriššććenjaenja

  • Primer: naslPrimer: nasleñivanje uloge ueñivanje uloge uččesnikaesnika

    Nastavnik

    Profesor Asistent

  • Apstraktni uApstraktni uččesnikesnik�� Apstraktnim uApstraktnim uččesnikom se modelira zajedniesnikom se modelira zajedniččka ka

    uloga viuloga višše ue uččesnikaesnika

    �� Prednost modelovanja apstraktnog uPrednost modelovanja apstraktnog uččesnika je esnika je uouoččavanje funkcija koje mogu izvravanje funkcija koje mogu izvrššavavati viavavati višše e uuččesnikaesnika

    �� Ta se funkcija izdvaja kao poseban sluTa se funkcija izdvaja kao poseban sluččaj aj korikoriššććenjaenja

    �� Isto tako ako jedan sluIsto tako ako jedan sluččaj koriaj koriššććenja koristi vienja koristi višše e uuččesnika, oni mogu kreirati jednog apstraktnog esnika, oni mogu kreirati jednog apstraktnog uuččesnika sa od njih nasleñenim ulogamaesnika sa od njih nasleñenim ulogama

    �� Tako se mogu kreirati uTako se mogu kreirati uččesnici sa razliesnici sa različčitim itim pravima/privilegijamapravima/privilegijama

  • Primer: naslPrimer: nasleñivanje i privilegijeeñivanje i privilegije

    Član biblioteke

    Lica koja nisu članovi

  • Klasifikacije uKlasifikacije uččesnikaesnika�� Osnovni uOsnovni uččesniciesnici uuččestvuju u funkcijama kojima estvuju u funkcijama kojima

    se opisuje ponase opisuje ponaššanje sistema (funkcionalnost)anje sistema (funkcionalnost)

    �� Sekundarni uSekundarni uččesniciesnici uuččestvuju u dodatnim estvuju u dodatnim funkcijama sistema: odrfunkcijama sistema: održžavanje SRBP, avanje SRBP, administracija i statistike sistema, formiranje administracija i statistike sistema, formiranje upravljaupravljaččkih odluka isl.kih odluka isl.

    �� Aktivni uAktivni uččesniciesnici iniciraju izvriniciraju izvrššenje funkcija enje funkcija sistema (dijagrama korisistema (dijagrama koriššććenja)enja)

    �� Pasivni uPasivni uččesniciesnici samo usamo uččestvuju u izvrestvuju u izvrššavanju avanju funkcija sistemafunkcija sistema

  • SluSluččajevi koriajevi koriššććenjaenja

    �� SluSluččaj koriaj koriššććenja sluenja služži za opis ponai za opis ponaššanja, tj. za anja, tj. za opis funkcije iz ugla korinika sistemaopis funkcije iz ugla korinika sistema

    �� Ne razmatra unutraNe razmatra unutraššnju strukturu sistemanju strukturu sistema

    �� Odnosi se samo na sistem koji se modeliraOdnosi se samo na sistem koji se modelira

    �� Sastavljen je iz skupa sekvenci akcija/scenarija Sastavljen je iz skupa sekvenci akcija/scenarija kojima se izvrkojima se izvržžavaju interakcije sa uavaju interakcije sa uččesnicimaesnicima

    �� Ove sekvence akcija uzrokovane su porukama Ove sekvence akcija uzrokovane su porukama dobijenim od udobijenim od uččesnika, a imaesnika, a imaju isti ciljju isti cilj

    �� Sekvenca je utvrñeni niz akcija sa izvrSekvenca je utvrñeni niz akcija sa izvrššenjem enjem uslovnih akcija (obrada greuslovnih akcija (obrada greššaka, izuzeci) aka, izuzeci)

  • SluSluččajevi koriajevi koriššććenja i transakcijeenja i transakcije

    �� SluSluččajevi koriajevi koriššććenja treba da sadrenja treba da sadržže kompletno e kompletno ponaponaššanje sistemaanje sistema

    �� LogiLogiččka celina sluka celina sluččajeva koriajeva koriššććenja moenja možže se e se grupisati u paketegrupisati u pakete

    �� Transakcija predstavlja prelaz sistema iz jednog Transakcija predstavlja prelaz sistema iz jednog stanja u novo, a uslovljen je nekom porukom stanja u novo, a uslovljen je nekom porukom od spoljaod spoljaššnjeg korisnikanjeg korisnika

    �� Atomska transakcija oznaAtomska transakcija označčava celinu promena, ava celinu promena, nakon koje sistem ima konzistentno stanjenakon koje sistem ima konzistentno stanje

    �� Iz ugla korisnika sluIz ugla korisnika sluččaj koriaj koriššććenja predstavlja enja predstavlja kompletnu atomsku transakcijukompletnu atomsku transakciju

  • Pojam scenarijaPojam scenarija

    �� SluSluččaj koriaj koriššććenja definienja definišše niz akcija koje mogu e niz akcija koje mogu biti izvrbiti izvrššene na zahtev spoljaene na zahtev spoljaššnjeg korisnikanjeg korisnika

    �� Scenario je pojava sluScenario je pojava sluččaja koriaja koriššććenja, tj. enja, tj. izvrizvrššenje sekvence akcija izmeñu sistema i enje sekvence akcija izmeñu sistema i njegovog korisnikanjegovog korisnika

    �� Za jedan sluZa jedan sluččaj koriaj koriššććenja moenja možže biti definisano e biti definisano vivišše scenarijae scenarija

    �� Opis sluOpis sluččajeva koriajeva koriššććenja moenja možže biti dat u e biti dat u tekstualnoj formi, dijagramom stanja ili tekstualnoj formi, dijagramom stanja ili dijagramom aktivnostidijagramom aktivnosti

    �� Ovaj opis predstavlja specifikaciju funkcija Ovaj opis predstavlja specifikaciju funkcija sistema iz ugla korisnikasistema iz ugla korisnika

  • Dodaci sluDodaci sluččaju koriaju koriššććenjaenja

    � Preduslov: opisuje šta mora biti ispunjeno pre nego što počne slučaj korišćenja

    � Garancije: opisuju stanje sistema na kraju slučaja korišćenja; garancije uspeha važe nakon uspešnog završetka scenarija, a minimalne garancije posle svakog izvršenog

    � Okidač: odreñuje dogañaj koji dovodi do započinjanja slučaja korišćenja

  • Tekstualni opisTekstualni opis

    �� Obuhvata navoñenje uObuhvata navoñenje uččesnika koji iniciraju esnika koji iniciraju izvrizvrššenje funkcije sistema, onih koji uenje funkcije sistema, onih koji uččestvuju u estvuju u njenom izvrnjenom izvrššenju, sekvencu akcija i rezultate enju, sekvencu akcija i rezultate izvrizvrššenja ove sekvenceenja ove sekvence

    �� SadrSadržži opise stanja pre i nakon izvri opise stanja pre i nakon izvrššenja enja modelovane funkcije i poruke koje se modelovane funkcije i poruke koje se razmenjujurazmenjuju

    �� Takoñe obuhvata obrade izuzetakaTakoñe obuhvata obrade izuzetaka, kada se , kada se funkcija zavrfunkcija završšava, vrednosti rezultata koji se ava, vrednosti rezultata koji se ššalju korisniku i stanja u kojima se sistem nalazi alju korisniku i stanja u kojima se sistem nalazi nakon zavrnakon završšetka funkcijeetka funkcije

  • Primer opisa sluPrimer opisa sluččaja koriaja koriššććenja Ienja I�� SluSluččaj koriaj koriššććenjaenja: Prijava ispita: Prijava ispita

    �� Kratak opisKratak opis: Prijava ispita na specijalizaciji: Prijava ispita na specijalizaciji

    �� UUččesniciesnici: Student, Referent studentske : Student, Referent studentske sluslužžbebe

    �� PredusloviPreduslovi: :

    1. Student je odslu1. Student je odsluššao nastavu iz predmeta ao nastavu iz predmeta koji prijavljuje ili mu je odobrena molba za koji prijavljuje ili mu je odobrena molba za polaganje ispitapolaganje ispita

    2. Student je polo2. Student je položžio obavezni predispitni io obavezni predispitni kolokvijumkolokvijum

  • Primer opisa sluPrimer opisa sluččaja koriaja koriššććenja IIenja II

    �� OpisOpis: Student je u ispitnu prijavu upisao broj : Student je u ispitnu prijavu upisao broj indeksa, ime i prezime, naziv predmeta i ime i indeksa, ime i prezime, naziv predmeta i ime i prezime nastavnika kod kojeg prijavljuje ispit. prezime nastavnika kod kojeg prijavljuje ispit. Referent prima prijavu i unosi podatke o Referent prima prijavu i unosi podatke o prijavljenom ispitu u ispitni spisakprijavljenom ispitu u ispitni spisak

    � Okidač: Student predaje Referentu ispitnu prijavu

    � Specijalni slučajevi: Ako su pogrešno upisani podaci u ispitnu prijavu referent vraća prijavu studentu da bi ih ispravio

  • Realizacija sluRealizacija sluččaja koriaja koriššććenjaenja

    � Definisanje akcija koje treba da se izvrše i objekata koji su odgovorni za njihovo izvršenje

    � Obuhvata opis saradnje i interakcije izmeñu objekata sistema

    � Saradnja se prikazuje objektima i vezama izmeñu njih, a imterakcija porukama koje oni razmenjuju da bi ostvarili funkcionalnost

    � Može biti predstavljena dijagramom saradnje, dijagramom sekvence ili dijagramom aktivnosti

    � Realizacija SK je transformacija sekvence akcija u klase, njihove operacije i veze izmeñu klasa

  • Veze sluVeze sluččajeva koriajeva koriššććenjaenja

    �� ProProšširuje, ukljuiruje, uključčuje i generalizacijauje i generalizacija

    �� Ne postoji asocijacija izmeñu sluNe postoji asocijacija izmeñu sluččajeva ajeva korikoriššććenja, jer bi to oznaenja, jer bi to označčavalo moguavalo moguććnost nost istovremenog izvristovremenog izvrššenja njihovih akcija enja njihovih akcija

    �� SluSluččajevi koriajevi koriššććenja mogu sadrenja mogu sadržžati druge ati druge slusluččajeve koriajeve koriššććenja kao deo svojih funkcijaenja kao deo svojih funkcija

    �� Na taj naNa taj naččin se modeluju sloin se modeluju složžene funkcijeene funkcije

    �� Veze sluVeze sluččajeva koriajeva koriššććenja formiraju se enja formiraju se iskljuisključčivo pri modelovanju istog sistemaivo pri modelovanju istog sistema

  • Veza proVeza prošširujeiruje�� OznaOznaččava se stereotipom ava se stereotipom

    �� Predstavlja proPredstavlja prošširenje niza akcija osnovnog irenje niza akcija osnovnog slusluččajeva koriajeva koriššććenja sa nizom akcija drugog enja sa nizom akcija drugog slusluččaja koriaja koriššććenjaenja

    �� Jedan sluJedan sluččaj koriaj koriššććenja moenja možže biti proe biti prošširen sa iren sa vivišše drugih slue drugih sluččajeva i jedan sluajeva i jedan sluččaj koriaj koriššććenja enja momožže proe prošširivati viirivati višše drugih slue drugih sluččajevaajeva

    �� Za proZa proššireni sluireni sluččaj koriaj koriššććenja definienja definišše se uslov e se uslov (condition) pod kojim se to de(condition) pod kojim se to deššavaava

    �� U proU prošširenom sluirenom sluččaju koriaju koriššććenja definienja definiššu se u se tataččke proke prošširenja (extention points) koje ukazuju irenja (extention points) koje ukazuju na situacije kada je sluna situacije kada je sluččaj proaj proššireniren

  • Semantika izvrSemantika izvrššenja proenja prošširenog sluirenog sluččajaaja�� SluSluččaj koji se proaj koji se prošširuje je kompletan i iruje je kompletan i

    predstavlja atomsku transakcijupredstavlja atomsku transakciju

    �� Kada se tokom njegovog izvrKada se tokom njegovog izvrššenja doñe do enja doñe do tataččke proke prošširenja proverava se uslov proirenja proverava se uslov prošširenjairenja

    �� Ako je uslov ispunjen, sekvenca iz proAko je uslov ispunjen, sekvenca iz prošširenja irenja se ukljuse uključčuje u izvruje u izvrššenje osnovnog sluenje osnovnog sluččajaaja

    �� Ako se ukljuAko se uključčuju razliuju različčiti delovi proiti delovi prošširenja, irenja, tada mora biti definisano i vitada mora biti definisano i višše tae taččaka aka proprošširenjairenja

    �� Sintaksa: strelica sa isprekidanom linijom Sintaksa: strelica sa isprekidanom linijom usmerena prema sluusmerena prema sluččaju koji se proaju koji se prošširujeiruje

  • Primer proPrimer prošširenja sluirenja sluččaja koriaja koriššććenjaenja

    Upis godineextension points:upis prve godine

    Kreiranje dosijeastudenta

    kandidat ispunjavauslove za upis

  • Veza ukljuVeza uključčujeuje�� OznaOznaččava se stereotipom ava se stereotipom

    �� Prikazuje zajedniPrikazuje zajedniččku sekvencu akcija 2 ili viku sekvencu akcija 2 ili višše e slusluččajeva koriajeva koriššććenja enja

    �� Jedan sluJedan sluččaj koriaj koriššććenja moenja možže da ukljue da uključči vii višše e drugih sludrugih sluččajeva koriajeva koriššććenja kao obavezan deo enja kao obavezan deo svog ponasvog ponaššanja anja

    �� Ukoliko se ukljuUkoliko se uključčuje viuje višše drugih slue drugih sluččajeva ajeva korikoriššććenja, neophodno je definisati njihov enja, neophodno je definisati njihov redosled ukljuredosled uključčivanjaivanja

    �� Za svaki sluZa svaki sluččaj koriaj koriššććenja koji se ukljuenja koji se uključčuje mora uje mora se definisati i navesti lokacija u osnovnom se definisati i navesti lokacija u osnovnom slusluččaju gde se on ukljuaju gde se on uključčujeuje

  • Semantika izvrSemantika izvrššenja ukljuenja uključčenja enja slusluččajaaja

    �� Veza Veza ““ukljuuključčujeuje”” ugrañuje sekvencu akcija u ugrañuje sekvencu akcija u slusluččaj koriaj koriššććenja na lokaciji gde je definisano enja na lokaciji gde je definisano ukljuuključčenje dodatnog ponaenje dodatnog ponaššanjaanja

    �� Nakon zavrNakon završšetka izvretka izvrššavanja dodatnog sluavanja dodatnog sluččaja aja korikoriššććenja nastavlja se sa izvrenja nastavlja se sa izvrššenjem osnovnogenjem osnovnog

    �� Sintaksa: strelica sa isprekidanom linijom Sintaksa: strelica sa isprekidanom linijom usmerena prema sluusmerena prema sluččaju koji se ukljuaju koji se uključčujeuje

  • Efekti veze ukljuEfekti veze uključčenjaenja

    �� U sluU sluččaj koriaj koriššććenja koji se ukljuenja koji se uključčuje uje ččesto se esto se izdvaja ponaizdvaja ponaššanje koje se ponavlja kod vianje koje se ponavlja kod višše e slusluččajeva koriajeva koriššććenja, koje se zatim ukljuenja, koje se zatim uključčuje uje u te sluu te sluččajeve koriajeve koriššććenjaenja

    �� Na taj naNa taj naččin se postiin se postižže modularnost, jasnoe modularnost, jasnoćća a i jednostavnost modelai jednostavnost modela

    �� Upotrebom veze ukljuUpotrebom veze uključčuje izbegava se uje izbegava se ponavljanje opisa istih aktivnostiponavljanje opisa istih aktivnosti

  • Primer ukljuPrimer uključčenja sluenja sluččaja koriaja koriššććenjaenja

    Brisanje rezervisaneknjige

    Izdavanje knjigeu biblioteci

  • Veza generalizacijeVeza generalizacije�� SliSliččnosti izmeñu nosti izmeñu 2 slu2 sluččaja koriaja koriššććenja mogu se enja mogu se

    predstaviti vezom generalizacijepredstaviti vezom generalizacije

    �� Generalizacija se oznaGeneralizacija se označčava strelicom koja je ava strelicom koja je usmerena od podreñenog ka nadreñenom usmerena od podreñenog ka nadreñenom slusluččaju koriaju koriššććenjaenja

    �� Podreñeni SK sadrPodreñeni SK sadržži sve atribute, sekvence i sve atribute, sekvence ponaponaššanja i taanja i taččke proke prošširenja nadreñenog SKirenja nadreñenog SK

    �� MoMožže da ue da uččestvuje u svim vezama u kojim estvuje u svim vezama u kojim uuččestvuje nadreñeni SKestvuje nadreñeni SK

    �� MoMožže da definie da definišše i novo ponae i novo ponaššanje, ukljuanje, uključči i dodatno i specijalizira postojedodatno i specijalizira postojećće nasleñeno e nasleñeno ponaponaššanjeanje

  • Primer veze generalizacijePrimer veze generalizacije

    Upissemestra

    Upisgodine

  • ProProšširena semantika SK i veza Iirena semantika SK i veza I

    �� SluSluččajevi koriajevi koriššććenja se mogu koristiti za opis enja se mogu koristiti za opis ponaponaššanja kompletnog sistema, podsistema ili anja kompletnog sistema, podsistema ili pojedinih klasapojedinih klasa

    �� UUččesnici mogu biti deo podsistema i nalaziti se esnici mogu biti deo podsistema i nalaziti se u okviru paketa koji komunicira sa njimu okviru paketa koji komunicira sa njim

    �� U tom sluU tom sluččaju imaju definisanu strukturu i aju imaju definisanu strukturu i opisuju se kao klasa sa atributima, operacijama opisuju se kao klasa sa atributima, operacijama i interfejsom (sa kojim komunicira sa SK)i interfejsom (sa kojim komunicira sa SK)

    �� Za uZa uččesnike van sistema struktura nije esnike van sistema struktura nije definisanadefinisana

  • ProProšširena semantika SK i veza IIirena semantika SK i veza II�� SK koji opisuje funkciju sistema moSK koji opisuje funkciju sistema možže biti e biti

    detaljnije opisan skupom podreñenih SK koji detaljnije opisan skupom podreñenih SK koji meñusobno komunicirajumeñusobno komuniciraju

    �� Svaki od ovih SK predstavlja po funkciju Svaki od ovih SK predstavlja po funkciju nadreñenog SKnadreñenog SK, a u, a uččesnici nadreñenog SK su i esnici nadreñenog SK su i uuččesnici podreñenih SKesnici podreñenih SK

    �� Saradnja ovih SK moSaradnja ovih SK možže se opisati dijagramom e se opisati dijagramom saradnjesaradnje

    �� SK klase sistema realizuje se sa skupom SK klase sistema realizuje se sa skupom operacija klase, a SK sistema ili podsistema sa operacija klase, a SK sistema ili podsistema sa skupom operacija klasa koje komunicirajuskupom operacija klasa koje komuniciraju

  • Primer dijagrama sluPrimer dijagrama sluččaja koriaja koriššććenjaenja

    Prijavaispita

    Formiranje ispitnog spiska

    Štampanjezapisnika za

    komisiju

    Referent

    studentskeslužbe

    Student

    Studentska služba

  • Kako koristiti sluKako koristiti sluččajeve koriajeve koriššććenja?enja?

    �� Na samom poNa samom poččetku razvojnog postupka treba etku razvojnog postupka treba skicirati sluskicirati sluččajeve koriajeve koriššććenjaenja

    �� Detaljniju verziju treba napraviti neposredno Detaljniju verziju treba napraviti neposredno pre njihove realizacijepre njihove realizacije

    �� Opisi sluOpisi sluččajeva koriajeva koriššććenja su vaenja su važžniji od niji od dijagrama, iako ne podledijagrama, iako ne podležžu formalizmu UMLu formalizmu UML--aa

    �� Navesti samo najbitnije, ostalo se moNavesti samo najbitnije, ostalo se možže e naknadno dodatinaknadno dodati

    �� Skicirati samo bitne DSKSkicirati samo bitne DSK

  • Dijagrami paketaDijagrami paketa

    �� Osnovni elementi strukture OO sistema su Osnovni elementi strukture OO sistema su klaseklase

    �� One nisu dovoljne za opisivanje velikih sistemaOne nisu dovoljne za opisivanje velikih sistema

    �� Mehanizam za grupisanje elemenata UML Mehanizam za grupisanje elemenata UML strukture naziva se paketstrukture naziva se paket

    �� ObiObiččno se koristi za grupisanje klasano se koristi za grupisanje klasa

    �� Svaka klasa pripada nekom paketu, a paketi Svaka klasa pripada nekom paketu, a paketi mogu pripadati drugim paketima: izrada mogu pripadati drugim paketima: izrada hijerarhijske strukture do nivoa klasehijerarhijske strukture do nivoa klase

    �� NajNajččeeššćće se koriste za upravljanje strukturom e se koriste za upravljanje strukturom srednjeg i velikog sistemasrednjeg i velikog sistema

  • Imenski prostoriImenski prostori

    �� Svaki paket predstavlja jedan imenski prostorSvaki paket predstavlja jedan imenski prostor

    �� Zato svaka klasa ima jedinstveno ime u okviru Zato svaka klasa ima jedinstveno ime u okviru paketa kojem pripadapaketa kojem pripada

    �� Potpuno ime klase pokazuje kojem paketu Potpuno ime klase pokazuje kojem paketu ona pripadaona pripada

    �� Klase u razliKlase u različčitim paketima mogu imati isto itim paketima mogu imati isto imeime

    �� Za prikazivanje imena paketa koristi se Za prikazivanje imena paketa koristi se dvostruki znak dve tadvostruki znak dve taččkeke

    �� Primer: Plate::RadnikPrimer: Plate::Radnik

  • NaNaččini prikazivanja dijagrama ini prikazivanja dijagrama paketapaketa

    PlateRadnikKredit

    Plate Plate

    Radnik

    Paket Plate Sadržaj paketa u obliku spiska

    Sadržaj paketa u vidu dijagrama

  • Klase paketa paketaKlase paketa paketa

    Plate::Obračun

    Radnik

    Primer: Plate::Obračun::Radnik

    Obračun

    Radnik

    Plate

    Plate::Obračun::Radnik

    Potpuno ime paketa Ugnježdeni paketi Potpuno ime klase

  • Vidljivost klasa izmeñu paketaVidljivost klasa izmeñu paketa

    �� Klase obuhvaKlase obuhvaććene paketom u UMLene paketom u UML--u mogu u mogu biti javne i privatnebiti javne i privatne

    �� Javna klasa (public) je deo interfejsa paketa Javna klasa (public) je deo interfejsa paketa i mogu je koristiti klase drugih paketai mogu je koristiti klase drugih paketa

    �� Privatna klasa (private) je sakrivena u svom Privatna klasa (private) je sakrivena u svom paketu i nije vidljiva van njegapaketu i nije vidljiva van njega

    �� Klase se grupiKlase se grupiššu u pakete zbog zavisnosti u u pakete zbog zavisnosti od paketaod paketa

  • Dijagrami paketa i zavisnostDijagrami paketa i zavisnost

    �� Izmeñu Izmeñu 2 elementa postoji zavisnost ako 2 elementa postoji zavisnost ako promene jednog (davaoca) mogu izazvati promene jednog (davaoca) mogu izazvati promene drugog (primaoca)promene drugog (primaoca)

    �� Zavisnost je jednosmerna, usmerena relacijaZavisnost je jednosmerna, usmerena relacija

    �� UML omoguUML omoguććava prikaz zavisnosti izmeñu svih ava prikaz zavisnosti izmeñu svih vrsta elemenatavrsta elemenata

    �� Na dijagramu paketa prikazuju se paketi i Na dijagramu paketa prikazuju se paketi i njihove zavisnostinjihove zavisnosti

    �� Zavisnosti izmeñu paketa saZavisnosti izmeñu paketa sažžeto opisuju eto opisuju zavisnosti izmeñu njihovih sadrzavisnosti izmeñu njihovih sadržžajaaja

  • Tokovi zavisnostiTokovi zavisnosti

    �� Ako je jedna klasa zavisna od druge, onda Ako je jedna klasa zavisna od druge, onda je i njen paket zavistan od paketa drugeje i njen paket zavistan od paketa druge

    �� Dobro strukturiran sistem paketa ima jasne Dobro strukturiran sistem paketa ima jasne tokove zavisnostitokove zavisnosti

    �� Relacija zavisnosti nije tranzitivnaRelacija zavisnosti nije tranzitivna

    �� U zavisnostima treba izbegavati cikluseU zavisnostima treba izbegavati cikluse

    �� Dijagrami paketa se koriste za prikaz Dijagrami paketa se koriste za prikaz zavisnosti elemenata slozavisnosti elemenata složženih sistema enih sistema

  • Naravno, to je još uvek velika misterija

    kako su ljudi u praistoriji uspevali da

    pomeraju ovako masivne stene...