You are on page 1of 8

SLOBOMIR P UNIVERZITET

FAKULTET ZA INFORMACIONE TEHNOLOGIJE

SKRIPTA ZA VJEBE IZ PREDMETA:

SOFTVERSKO INENJERSTVO
v6 Dijagrami klasa
Profesor: dr Miroslav Bojovi, Asistent: dipl. ing. inf. Drago Vidovi

III godina (Semestar VI)

Sadraj poglavlja V6
1.0 Zapoinjanje projekta........................................................................ Error! Bookmark not defined.
1.1 Opis sistema za Eastern State University (ESU)............................... Error! Bookmark not defined.
1.2 Rizici u reavanju problema registracije kurseva.............................. Error! Bookmark not defined.
1.3 Deklarisanje problema registracije kurseva na ESU ......................... Error! Bookmark not defined.
2.0 Ponaanje sistema ............................................................................. Error! Bookmark not defined.
3.0 Akteri ................................................................................................ Error! Bookmark not defined.
3.1 ta ini dobrog aktera .................................................................... Error! Bookmark not defined.
3.2 Izvoai u ESU-ovom sistemu za registraciju kurseva ..................... Error! Bookmark not defined.
3.2.1 Pravljenje aktera u Rational Rose-u ........................................... Error! Bookmark not defined.
3.3 Dokumentacija o akterima ................................................................ Error! Bookmark not defined.
3.3.1 Dokumentovanje aktera u Rational Rose-u................................ Error! Bookmark not defined.
4.0 Sluaj korienja ............................................................................... Error! Bookmark not defined.
4.1 ta ini dobar sluaj korienja ..................................................... Error! Bookmark not defined.
4.2 Sluajevi korienja u ESU-ovom sistemu za registraciju kurseva .. Error! Bookmark not defined.
4.2.1 Pravljenje sluajeva korienja u Rational Rose-u .................... Error! Bookmark not defined.
4.3 Kratak opis sluaja korienja........................................................... Error! Bookmark not defined.
5.0 Relacije sluajeva korienja ............................................................ Error! Bookmark not defined.
5.1 Pravljenje komunikacionih asocijacija u Rational Rose-u ................ Error! Bookmark not defined.
5.2 Pravljenje relacije include u Rational Rose-u ................................... Error! Bookmark not defined.
5.3 Pravljenje relacija extend u Rational Rose-u .................................... Error! Bookmark not defined.
6.0 Dijagrami sluajeva korienja ......................................................... Error! Bookmark not defined.
6.1 Pravljenje glavnog dijagrama sluajeva korienja u Rational Rose-u............ Error! Bookmark not
defined.

1.0 ta je objekat?
Objekat je prikaz nekog entiteta, bilo realnog bilo konceptualnog. Objekat moe da predstavlja neto
konkretno, kao na primer Doov kamion ili moj raunar, a moe da predstavlja i koncept kao to je
hemijski proces, bankovna transakcija, porudbina za nabavku, istorija Leontininog rauna ili kamatna
stopa.
Objekat je koncept, apstrakcija ili predmet sa dobro definisanim granicama i znaenjem u nekoj primeni.
Svaki objekat u sistemu ima tri karakteristike:

Stanje,
Ponaanje,
Identitet.

1.1 Stanje, ponaanje i identitet


Stanje objekta je jedan od moguih oblika u kojima on moe da postoji. Stanje objekta se obino
vremenom menja, a definie ga skup svojstava (koje nazivamo atributi), kao i relacije koje objekat moe
imati sa drugim objektima. Na primer, objekat ponude kursa u sistemu za registraciju moe biti u jednom
od dva stanja: otvoren i zatvoren. Ukoliko je broj studenata registrovanih za kurs manji od 10, ponuda
kursa je u stanju otvoreno. Kada se registruje deseti student za ponueni kurs, stanje postaje zatvoreno.
Ponaanje odreuje kako objekat odgovara na zahteve drugih objekata i tipizira sve to on moe da uradi.
Ponaanje objekta se realizuje kroz skup operacija. U sistemu za registraciju objekat ponuda kursa mogao
bi imati ponaanja dodaj studenta i izbrii studenta.
Identitet oznaava da je svaki objekat jedinstven ak i kada je njegovo stanje identino stanju drugog
objekta. Na primer, Algebra 101 Prvi deo i Algebra 101 Drugi deo su dva objekta u Sistemu za
registraciju kurseva. Iako su oba ponude kursa, svaki od njih ima jedinstveni identitet.
U UML-u objekti se predstavljaju pravougaonicima, a ime objekta pie se podvueno, kao na slici 1.

Algebra 101, Prvi deo

Slika 1 Notacija za objekat u UML-u

2.0 ta je klasa?
Klasa je opis grupe objekata sa zajednikim svojstvima (atributima), ponaanjem (operacijama),
relacijama sa drugim objektima i semantikom. Prema tome, klasa je ablon za stvaranje objekata. Svaki
objekat je konkretan primerak neke klase i ne moe biti primerak vie od jedne klase. Na primer, klasa
PonudaKurseva moe biti definisana sledeim karakteristikama:

Atributi lokacija, ponueno vreme.


3

Operacije prikai lokaciju, prikai doba dana, dodaj studenta na spisak.

Algebra 1 Prvi deo i Algebra 1 Drugi deo su objekti koji pripadaju klasi PonudaKurseva. Dobra klasa
zahteva da ima jednu jedinu apstrakciju ona treba da ima jednu glavnu temu. Na primer, klasa koja ima
zadatak da odrava informacije o studentu i informacije o svim opcijama kurseva koje je student izabrao
tokom godina nije dobra klasa, jer nema jednu glavnu temu. Ova klasa bi trebalo da bude podeljena na
dve povezane klase: Student i StudentIstorija.
Pri odreivanju imena klase treba koristiti renik datog domena. Ime treba da bude imenica u jednini koja
najbolje karakterie apstrakciju.
U UML-u klase se predstavljaju pravougaonicima podeljenim na odeljke. Gornji odeljak sadri ime klase,
srednji sadri strukturu klase (atribute), a donji odeljak sadri ponaanje klase (operacije). Na slici 2
prikazana je jedna klasa.

Slika 2 Oznaka za klasu u UML-u

2.1 Pravljenje klase u UML-u


1. Desnim tasterom mia izaberite u pretraivau Logical View.
2. Izaberite opciju u meniju New:Class. Klasa nazvana New Class je smetena u pretraiva.
3. Dok je nova klasa izabrana, unesite njeno ime.

3.0 Stereotipi i klase


Klase mogu da imaju stereotipe. Stereotipi omoguavaju stvaranje nove vrste elemenata za modelovanje.
Ovde moemo praviti nove vrste klasa. Neki opti stereotipi za klasu su: entitet (engl. entity), granina
(engl. boundary), kontrolna (engl. control), pomona (engl. utility) i izuzetak (engl. exception).

3.1 Otkrivanje klasa


Recept za pronalaenje klasa ne postoji. Grady Booch je poznat po tome to kae To je teko! Rational
Unified Process zalae se za to da se klase za sistem koji se razvija nalaze traenjem klasa granica,
kontrole i entiteta.
Poto su proces analize i dizajna iterativni, spisak klasa e se vremenom menjati. Poetni skup klasa
verovatno nee biti onaj skup koji e na kraju biti realizovan. Zato se za opisivanje prvog skupa klasa
otkrivenih u sistemu esto koristi termin kandidatska klasa.

3.1.1 Klase entiteta


Klasa entiteta modeluje informaciju i pridrueno ponaanje koje je obino dugorono. Ovaj tip klase
moe da odslikava realni entitet ili on moe zatrebati za izvravanje internih zadataka u sistemu. Takve
klase su obino nezavisne od svoje okoline, tanije, one nisu osetljive na to kako okolina komunicira sa
sistemom. esto su nezavisne od aplikacija, to znai da mogu biti korienje u vie aplikacija.
Klase entiteta obino otkrivamo u ranoj fazi razrade. esto ih nazivamo klasama domena, jer obino
predstavljaju apstrakcije realnih entiteta.

3.1.2 Granine klase


Granine klase se bave komunikacijom izmeu okoline sistema i njegove unutranjosti. One mogu da
obezbede interfejs korisniku ili drugom sistemu (tj. akteru). One predstavljaju deo sistema koji je zavisan
od okruenja.
Da bi se otkrile granine klase ispituje se svaki fiziki par akter/scenario. Granine klase izabrane u fazi
razrade u razvojnom ciklusu obino su na visokom nivou. Na primer, moete modelovati prozor, ali ne i
svaki njegov dijaloki okvir i svako dugme. U ovom momentu se dokumentuju zahtevi korisnikog
interfejsa, a ne realizuje se interfejs.
Granine klase se dodaju i radi omoguavanja komunikacije sa drugim sistemima. One se tokom
projektovanja dorauju u skladu sa izabranim komunikacionim protokolima.

3.1.3 Kontrolne klase


Kontrolne klase modeluju sekvencijalno ponaanje unutar jede ili vie korisnikih funkcija. Kontrolne
klase koordiniraju dogaaje koji su potrebni za realizaciju specificiranog ponaanja u korisnikoj funkciji.
Kontrolnu klasu moete zamisliti kao pokretanje ili izvravanje korisnike funkcije te klase
predstavljaju dinamiku korisnike funkcije. Kontrolne klase obino su zavisne od aplikacije.

3.2 Pravljenje stereotipa za klase u Rational Rose-u


1. Pritiskanjem desnog tastera mia izaberite klasu u pretraivau da bi se pojavio meni sa
preicama.
2. Izaberite iz menija Open Specification.
3. Izaberite karticu General.
4. Miem pritisnite na strelicu u polju Stereotype da biste videli padajui meni i izaberite eljeni
stereotip; ako elite da napravite novi stereotip, unesite njegovo ime u polje Stereotype.
5. Pritisnite miem na dugme OK da biste zatvorili Specification.

4.0 Dokumentovanje klasa


Klase treba dokumentovati dok se prave. Dokumentacija treba da formulie svrhu klase, a ne njenu
strukturu. Na primer, klasa Student bi mogla biti dokumentovana na sledei nain:
Informacije potrebne za registraciju studenta i naplatu. Student je neko ko je trenutno registrovan da
pohaa asove na Univerzitetu.
Sledea definicija bi bila loa:
Ime, adresa i broj telefona studenta.
Ova definicija mi saoptava samo strukturu klase, koja se moe utvrditi gledanjem njenih atributa. Ona mi
ne saoptava zato mi je ta klasa potrebna.

4.1 Dokumentovanje klasa u Rational Rose-u


1. Pritiskom na taster mia izaberite klasu u pretraivau.
2. Pozicionirajte kursor u dokumentacioni prozor i unesite dokumentaciju za tu klasu.

5.0 Paketi
Kada bi sistem sadrao samo nekoliko klasa, lako biste baratali njima. Veina sistema se sastoji od
mnotva klasa, pa vam treba mehanizam da ih grupiete radi lakeg korienja, odravanja i ponovne
upotrebe. Zato je koristan koncept paketa (engl. package). Paket je u logikom prikazu modela skupina
povezanih paketa i/ili klasa. Grupisanjem klase u pakete moemo videti prikaz modela na viem nivou ili
moemo ulaziti dublje u model prouavajui sadraj paketa.
U UML-u paketi se predstavljaju kao fascikle, kao na slici 3.

Slika 3 Notacija za paket u UML-u

5.1 Pravljenje paketa u Ratinal Rose-u


1. Pritiskom desnog tastera mia izaberite Logical View u pretraivau.
2. Izaberite opciju menija New:Package.
3. Dok je paket izabran, unesite njegovo ime.

5.2 Premetanje klasa u Rational Rose-u


1. Prisiskom tastera mia izaberite klasu u pretraivau.
2. Prevucite klasu do eljenog paketa.
3. Ponovite ove korake za svaku klasu koju elite da premestite.

6.0 Objekti i klase u problemu registracije kurseva na ESU


Pogledajmo scenario Dodaj kurs iz ponude koji e se predavati koji je jedan od podtokova korisnike
funkcije Odaberi kurseve koji e se predavati. Glavna mogunost koju ovaj scenario obezbeuje jeste da
profesor izabere koji e kurs predavati u datom semestru.

6.1 Identifikujte granine klase


Ova korisnika funkcija stupa u interakciju samo za akterom Profesor. Akcija koja je specificirana u
ovom scenariju samo je jedna od mogunosti koju obezbuuje ova korisnika funkcija (u korisnikoj
funkciji je navedeno da Profesor moe i da menja izbor, da ga brie, pregleda i tampa). To znai da neto
u sistemu mora da omogui da Profesor izabere neku od raspoloivih mogunosti. Napravljena je klasa
koja sadri sve Profesoru dostupne opcije navedene u korisnikoj funkciji da bi bila zadovoljena ova
potreba. Ta klasa je nazvana ProfesorOpcijeKursa. Pored toga, moemo identifikovati klasu koja se bavi
pripisivanjem novih kurseva Profesoru. Ta klasa je nazvana DodavanjeKursaProfesoru.

6.2 Identifikujte klase entiteta


Ovaj scenario se bavi kursevima, opcijama nuenih kurseva i pripisivanjem profesora. Moemo
identifikovati tri klase entiteta: Kurs, PonudaKursa i Profesor.

6.3 Identifikujte kontrolne klase


Dodaemo jednu kontrolnu klasu kako bi rukovali tokom dogaaja za korisniku funkciju. Ta klasa je
nazvana ProfesorKursMenadzer.

6.4 Napravite pakete


Sledei korak je da grupiemo klase u pakete. Do ovog trenutka identifikovali smo est klasa: Kurs,
PonudaKursa, ProfesorOpcijeKursa, DodavanjeKursaProfesoru i ProfesorKursMenadzer. One spadaju u
tri logike grupe stvari svojstvene Univerzitetu, stvari koje sadre informacije o ljudima i stvari koje su
interfejsi za aktere. Moemo identifikovati sledee pakete: Interfejsi, Univerzitetske tvorevine i
Informacije o ljudima.

7.0 Dijagrami klasa


Kako se modelu dodaje sve vie klasa, javlja se sve vea i vea potreba da se one prikau na jo neki
nain, a ne samo tekstualno. Prave se dijagrami klasa kako bi obezbedili sliku ili pregled nekih ili svih
klasa u modelu.
Glavni dijagram klasa u logikom prikazu modela obinoje slika paketa u sistemu. Svaki paket ima
takoe svoj glavni dijagram klasa, koji obino prikazuje javne klase paketa. Ostali dijagrami se prave
ako je to potrebno. Neke uobiajene primene drugih dijagrama su:

Prikazivanje svih klasa za internu realizaciju u paketu.


Prikazivanje strukture i ponaanja jedne ili vie klasa.
Prikazivanje hijerarhije nasleivanja.

7.1 Glavni dijagram klasa u Rational Rose-u


Rose automatski pravi dijagram klasa Main u Logical View-u. Da biste dodali pakete glavnom dijagramu
klasa:
1.
2.
3.
4.

Dva puta pritisnite tasterom mia na dijagram Main u pretraivau da biste otvorili taj dijagram.
Pritiskom na taster mia izaberite paket u pretraivau.
Prevucite paket na dijagram.
Ponovite prethodne korake za svaki paket koji elite da dodate na dijagram.

7.2 Pravljenje glavnog dijagrama klasa paketa u Rational Rose-u


1.
2.
3.
4.

Dva puta pritisnite tasterom mia na paket na dijagramu klasa.


Rose e otvoriti paket i napraviti glavni dijagram klasa za paket.
Pritiskom tastera mia izaberite klasu u pretraivau i prevucite je na dijagram.
Ponovite korak 3 za svaku dodatnu klasu koju elite da smestite na dijagram.

You might also like