1 Univerzitet Singidunum Materijali za predmet Specifikacija i
- Slides: 37
1 Univerzitet Singidunum Materijali za predmet Specifikacija i modelovanje softvera Dijagrami Slučajeva korišćenja, dijagrami Klasa i dijagrami Paketa
Cilj Ø Ø Da se vidi veza između dijagrama korišćenja i dijagrama klasa Ø Identifikovati klase koje izvršavaju tok događaja opisan jednim slučajem korišćenja Ø Kompletno ponašanje slučaja korišćenja mora da se raspodeli na klase Ø Definisati interakcije između klasa Kada se to uradi elementi modela mogu se organizovati u manje logičke celine koje su lakše za programiranje i kasnije održavanje Ø Takve celine zovu se Paketi
Rezultat v Primena Entity-Control-Boundary Patern (ECB) § § v patern koji je sličan MVC paternu, ali mu je primena u početku faze dizajna/kraj faze analize za bolje uočavanje različitih delova sistema MVC patern se koristi za dizajn klasa prezentacionog sloja U ECB paternu uočavaju se tri vrste klasa analize: § Entitetska klasa (Entity class) § Granična klasa (Boundary class) § Klasa kontrole (Control class)
Entitetska klasa v Notacija ili
Entitetska klasa v v Entitetske klase predstavljaju skladišta informacija u sistemu Obično se koriste za predstavljanje ključnih koncepata Instance Entitetske klase se koriste za čuvanje i ažuriranje informacija o nekoj pojavi, kao što su događaj, osoba ili objekat iz realnog života Glavne odgovornosti entitetske klase su skladištenje informacija i upravljanje informacijama u sistemu
Granične klase v Notacija ili
Granične klase v v Bave se komunikacijom između okoline sistema i njegove unutrašnjost Obezbeđuju interfejs korisniku ili drugom sistemu Granične klase izoluju sistem od promena u okruženju (npr. , promene u interfejsima kod drugih sistema i promene u korisničkim zahtevima), čuvajući ostatak sistema od posledica ovih promena Za inicijalnu identifikaciju graničnih klasa preporučuje se jedna granična klase po paru učesnik/slučaj korišćenja
Granične klase v Sistem može da ima nekoliko tipova graničnih klasa: § § § Klase korisničkog interfejsa–klase koje posreduju u komunikaciji sa ljudima, korisnicima sistema Klase interfejsa sistema – klase koje posreduju u komunikaciji sa drugim sistemima. Granična klasa obezbeđuje sistemu koji se razvija interfejs ka nekom drugom spoljnom sistemu Klase interfejsa uređaja – klase koje obezbeđuju interfejs ka uređajima koji detektuju spoljne događaje
Klase kontrole v Notacija ili
Klase kontrole v v v Klasa kontrole je klasa koja se koristi za modelovanje ponašanja koje je specifično za jedan ili više slučajeva korišćenja Klasa kontrole opisuje poslovnu logiku određenog slučaja korišćenja Klasa kontrole povezuje Granične klase sa Entitetskim klasama
Klase kontrole v. Preporuka je kod inicijalne identifikacije klasa kontrole da bude jedna klasa kontrole po slučaju korišćenja § Ne zahtevaju svi slučajevi korišćenja klase kontrole § Složeniji slučaji korišćenja mogu da zahtevaju i više klasa kontrole
Komunikacija između klasa v Učesnik u sistemu komunicira samo sa graničnim klasama v Granične klase komuniciraju samo sa klasama kontrole i učesnicima v Entitske klase komuniciraju samo sa klasama kontrole v Klase kontrole komuniciraju sa graničnim, entitetskim klasama i drugim klasama kontrole, ali ne sa učesnicima
Primer: Analiza slučaja korišćenja
1 4 Primer: Analiza slučaja korišćenja Naziv: Pregled obaveza Učesnik: Profesor, Student Tok događaja: 1. Učesnik bira dan iz kalendara za koji želi da vidi obaveze 2. Sistem prikazuje sve obaveze u tom danu 3. Za svaku obavezu prikazan je kratak opis, vreme od kada do kada traje 4. Ukoliko obaveza predstavlja konsultaciju, pored ovih informacija postoji i podatak o imenu i prezimenu studenta koji dolazi na konsultacije
Primer: Analiza slučaja korišćenja Naziv: Dodavanje nove obaveze Učesnik: Profesor Tok događaja: 1. Profesor za izabrani dan unosi obavezu 2. Za svaku obavezu unosi njen opis, vreme početka i vreme završetka obaveze. 3. Profesor za jedan može uneti i više obaveza 4. Obaveze ne moraju ići jedna za drugom pa može postojati i interval vremena kada nije uneta ni jedna obaveza.
1 6 Primer: Analiza slučaja korišćenja Naziv: Zakazivanje konsultacija Učesnik: Student Tok događaja: 1. Student za izabrani dan kada želi na konsultacije pregleda profesorove obaveze 2. Svaki profesor je na fakultetu od 8 do 16 h i student samo u tom terminu može zakazati konsultacije 3. Student pronalazi termin kada je profesor slobodan i unosi vreme kada će doći na konsultacije 4. Konsultacije mogu trajati najviše pola sata pa sistem sam postavlja vreme kraja konsultacija 5. Student unosi ime, prezime, broj indeksa i smer kako bi zakazao konsultacije u izabranom terminu.
Primer v Ekranska forma za prikaz obaveza kada je ulogovan profesor
Primer v Ekranska forma za prikaz obaveza kada je ulogovan student
Primer Ekranska forma za dodavanje nove obaveze
Primer v Ekranska forma za zakazivanje konsultacija
Primer: Analiza slučaja korišćenja v Entitetske klase:
Primer: Analiza slučaja korišćenja v Granične klase
Primer: Analiza slučaja korišćenja v Klase kontrole:
Primer: Analiza slučaja korišćenja v Dijagram klasa:
Dijagram paketa
Čemu služe dijagrami paketa v v Da bi se savladala složenost sistema elementi modela mogu biti organizovani u pakete Dijagram paketa omogućava bolje razumevanje celokupnog sistema Svaki element može pripadati samo jednom paketu Za razliku od dijagrama komponenti predstavlja samo logičko grupisanje klasa, nema izložene funkcionalnosti
UML notacija v v Paket je predstavljen kao Ime paketa se po pravilu navodi malim slovima Elementi u okviru paketa se međusobno referenciraju preko svojih imena Ako želimo da navedemo puno ime elementa onda navodimo i celu hijerarhiju paketa § Npr: org: : utils: : Timer v v Elementi u paketu moraju imati jedinstveno ime Element paketa može biti i drugi paket
Veze između paketa v v v Paketi su međusobno povezani vezom zavisnosti Veza zavisnosti ukazuje na to da element jednog paketa koristi element drugog paketa Promene u jednom paketu uticaće i na paket koji je povezan sa tim paketom Veza zavisnosti nije tranzitivna Veza zavisnosti se predstavlja iscrtkanom strelicom koja je usmerena ka zvisnom paketu Veza zavisnosti može imati stereotipe: § import § Merge
Veza zavisnosti sa stereotipom import v Ovom vezom omogućavamo da elementi jednog paketa pozivaju elemente drugog paketa bez navođenja njihovog punog imena
Veza zavisnosti sa stereotipom merge v v Ova veza ukazuje na to da je sadržaj jednog paketa nastao od elemenata iz drugog paketa Ova veza se uglavnom koristi kad u dva paketa imamo elemente koji se isto zovu ali želimo da im redefinišemo funkcionalnosti
Primer
Kako grupisati klase u pakete v Paket bi trebalo da sadrži između 5 do 9 klasa v Klase na istom nivou hijerarhije obično pripadaju istom paketu v Interfejsi i apstraktne klase pripadaju jednom paketu a njihove implementacije drugom v Klase koje su povezane vezom kompozicije/agregacije pripadaju istom paketu v Klase koje međusobno razmenjuju mnogo poruka pripadaju istom paketu
Kako grupisati klase u pakete v Klase koje se mogu koristiti i u nekim drugim projektima i ne zavise od domena treba staviti u jedan paket. § npr. pretpostavimo da imamo klase JDBCUtils i SQLCommands koje su pomoćne klase i izvršavaju neke uopštene operacije nad bazom i nisu direktno vezane za problem koji se rešava i zbog toga treba da su u posebnom paketu
Kako smanjiti zavisnost između paketa
Kako smanjiti zavisnost između paketa v Promene u jednom paketu utiču na drugi paket v Sistem koji je modularan i skalabilan treba da ima što manje veza zavisnosti između paketa. v Promene u jednom delu aplikacije ne bi trebale da utiču na ceo sistem
Kako smanjiti zavisnost između paketa v Jedan od načina je da se kreira nova klasa koja će sadržati sve javne operacije i biti neka vrsta interfejsa ka sadržaju paketa v Ostale klase u paketu će biti privatne v Pošto je samo ta nova klasa javne, ostali paketi će zavisiti samo od nje v Na ovaj način lokalizovali smo izmene u jednom paketu
Kako smanjiti zavisnost između paketa
- Predmet.singidunum
- Predmet singidunum
- Predmet singidunum
- Specifikacija posla
- Specifikacija tipografije
- Signa beta
- Specifikacije
- Specifikacija računa primjer
- Mf foca
- Medicinski fakultet foca
- Masinski fakultet podgorica
- Univerzitet u kiseljaku
- Univerzitet odbrane vojna akademija
- Departmanizacija
- Tehniki
- Nezavisni univerzitet banja luka
- Univerzitet sinergija
- Fakultet za poslovne studije banja luka
- Predmeti na vojnoj akademiji
- Univerzitet odbrane vojna akademija
- Nezavisni univerzitet banja luka
- Ekonomski fakultet vitez
- Univerzitet u kragujevcu
- Slobomir p
- Univerzitet u novom sadu
- Veljko mijuskovic
- Akreditacija evropskog univerziteta brčko
- Visoka medicinska skola bitola raspored
- Dedukcija
- Suburbanizacija definicija
- Vremeto denes vo skopje
- Univerzitet u novom sadu erasmus
- Predmet sociologije
- Předmět
- Kako se deli istorija
- Opis na predmet
- Skladba syntax
- Zatvorene izlomljene linije