Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

Arhitektura informacionih sistema

Dijagrami klasa

V. asistent: Alem Kozar


Dijagram klasa

Dijagram klasa je jedan od dijagrama objektno orjentisanog


modela softverskog proizvoda.
Dijagram klasa bi trebao da predstavi statičku strukturu sistema.
Odnosno trebao bi da predstavi osnovne koncepte.unutar softverskog
proizvoda koji treba da izgradimo odnosno treba da predstavi
relevantne koncepte za poslovanje za koje pravimo softverski
proizvod ili eventualno dizajniramo poslovne logike za neki
informacioni sistem.
U dijagramu klasa trebalo bismo da identifikujemo osnovne koncepte
poslovanja, njihove osobine i njihovo ponašanje.

Dijagram klasa predstavlja logički pogled na sistem.


Dijagram klasa
Osnovni koncepti poslovanja bi bile upravo klase, osobine tih koncepata
bi bili atributi klasa a ponašanje različitih instanci tih klasa bi
određivali ustvari metode.
Jednom kada identifikujemo te relevantne koncepte u jednom poslovanju
mi smo u principu definisali statičku strukturu softverskog proizvoda
ili informacionog sistema koji se tako često neče mjenjati u koliko ne
budemo mjenjali obim poslovanja ili ukoliko se značajno ne
promjene uvjeti poslovanja pa dođe do potrebe da proširimo obim
poslovanja.odnosno da dodamo neke nove koncepte u naše
poslovanje zbog promjene obima poslovanja, zakonskog okvira ili
bilo kojeg drugog razloga ili jednostavno da se neke klase više ne
koriste odnosno neki koncepti u poslovanju se više ne koriste zato što
su prevaziđeni ili smo smanjili obim poslovanja, dakle samo u takvim
slučajevima će se mjenjati statička struktura sistema.
Dijagram klasa

Klasa je opis skupa objekata koji djele iste atribute, metode, odnose i
semantiku.
Apstrakcija je ključni princip objektno-orjentisane tehnologije kojom se
rješava složenost problema.
Klasa je apstrakcija jer
 naglašava relevantne osobine,
 skriva druge osobine,
Dijagram klasa

Simbol klase se sastoji iz tri djela:


Dijagram klasa
Ovdje se nalazi identifikator klase Predmet.
Dijagram klasa

Ovdje možemo dodati nove atribute klasi Predmet.


Dijagram klasa
Ovdje možemo dodati početnu ili default vrijednost koja će se
kreirati prilikom pozivanja metode constructor.
Dijagram klasa
Ovdje možemo podesiti koliko će se puta instancirati mada ćemo
podesiti da će se n puta instancirati ta klasa i ovdje je tako
podešeno..
Dijagram klasa
Zatim određujemo kakva je to klasa, ako je private onda su to klase
koje mogu pristupati samo same sebi dok se paketne klase ponašaju
kao javne tj. za sve one klase koje se nalaze u okviru jednog paketa
dok se kod public ili javnih klasa mogu pristupati sve klase tog
modela.
Dijagram klasa
Ovdje određujemo koji će biti tip atributa.
Dijagram klasa
Dodajemo atribute sa get i set metodama i nakon toga se
automatski pojavljuju deklaracije get i set metode za atribut 2.
 get , koja na osnovu vrijednosti atributa određuje i vraća
neku karakteristiku objekta (korištenjem naredbe return)
 set, koja na osnovu zadate vrijednosti (value) računa i
postavlja vrijednosti atributa
Dijagram klasa
Deklaracije
Dijagram klasa

Prilikom modeliranja statičnog pogleda na sistem, dijagrami klasa se


obično koriste za modeliranje

 Rječnika sistema,
 Jednostavnih kolaboracija,
 Logičke sheme baze podataka,
Dijagram klasa
Osobine klase I
Osobina Opis
Name Naziv klase
Code Naziv klase u kodu programskog jezika
Comment Opisni komentari o klasi
Dodata specifikacija postojeće klase.
Proširenje semantike objekta bez potrebe
Stereotype
za promjenom strukture

Type Koristi se za implementaciju


Opseg vidljivosti klase. Ova vrijednost
određuje način na koji drugi objekti vide i
Visibilty
koriste klasu

Cardinality Brojnost skupa instanci klase


Abstract Klasa ne može biti instancirana
Final Klasa ne može imati nasljednike
Automatski se uključuje u grupu objekata
Generate modela
Dijagram klasa
Osobine klase II
Opis
Osobina

Atributi definišu karakteristike klasa


Attributes

Identifikatori su atributi klase čije


vrijednosti jedinstveno identifikuju
svaku instancu klase.
Identifiers

Operacije određuju ponašanje


instanci klasa
Operations

Skup asocijacija klase


Associations

Definiše listu sadržanih klasa u jednoj


klasi
Inner classifiers
Dijagram klasa
Opseg klase (class visibility)

Osobina Opseg (visibility)

Private Klasa može pristupiti samo sama sebi

Klasa može pristupiti sama sebi i mogu


Protected
joj pristupati njeni izvedeni objekti

Package Klasi mogu pristupiti svi objekti iz paketa

Public Klasi mogu pristupiti svi objekti modela


Dijagram klasa
Opseg klase (class visibility)
Dijagram klasa

Kardinalitet ili brojnost klasa


Kardinalitet (brojnost) klasa određuje koliko objekata
(instanci) može imati jedna klasa.
Tabela pokazuje koliko puta može ibti jedna klasa
instancirana.

Kardinalitet Broj instanci (objekata)

0..1 Od nula do jedan

0..* Od nula do n (n>0)

1..1 Jedan i samo jedan

1..* Od jedan do n (n>0)

* N (n>0)
Dijagram klasa

Definisanje atributa jedne klase

Atributi su osobine klase ili interfejsa. Klase ne moraju


imati atribute, a mogu ih imati više.
Svi objekti jedne klase imaju iste atribute, ali njihove
vrijednosti mogu biti različite. Nazivi atributa jedne klase
su jedinstveni, što znači da klasa ne može imati dva
atributa sa istim nazivom.
Jedan atribut može biti kopiran u drugu klasu.
Dijagram klasa

Definisanje atributa jedne klase


Dijagram klasa

Definisanje atributa jedne klase


Dijagram klasa
Mogućnosti promjene vrijednosti atributa su određene
sljedećim varijablama:

Promjenljivost Vrijednost

Changeable Vrijednost atributa može se mijenjati

Read-only Nije dozvoljeno kreiranje operacija set

Frozen Konstanta

Add-only Dozvoljeno je dodati novu vrijednost


Dijagram klasa

Definisanje interfejsa u dijagramu klasa

Interfejs je skup operacija koje određuju i specificiraju


javno ponašanje klase.
Jedna klasa može imati više interfejsa i svaki interfejs
predstavlja samo jedan dio ponašanja klase.
Interfejs uključuje samo deklaraciju operacija.
Dijagram klasa

Definisanje interfejsa u dijagramu klasa

Atributa interfejsa se razlikuju od atributa klasa, jer


atributi interfejsa mogu biti samo konstantne vrijednosti
(static ili frozen).

Opseg interfejsa predstavlja pogled koji drugi objekti


imaju na taj interfejs. Interfejs može uticati na strukturu i
ponašanje objekata koji su u njegovom dosegu i također
objekti iz opsega mogu uticati na strukturu i ponašanje
interfejsa.

Jedan interfejs može koristiti atribute drugih interfejsa i


klasa. Atributi se dodaju interfejsu na isti način kao i
klasi.
Dijagram klasa

Definisanje interfejsa u dijagramu klasa

Operacija interfejsa je usluga koje mogu zatražiti objekti


od interfejsa. Operacije se dodaju interfejsima na isti
način kao i klasama.
Klasu je moguće kreirati i iz objektnog menija interfejsa,
što omogućuje nasljeđivanje operacija interfejsa.
Dijagram klasa

Relacije

Neki od kriterija za određivanje funkcionalne


povezanosti dviju klasa:
- Da li promjene u klasi utiću na promjene u drugoj
klasi.
- Ako se klasa izbaci iz sistema, da li to direktno utiće
na drugu klasu
- Da li je klasa u interakciji preko velikog skupa
poruka.
Dijagram klasa

Asocijacija
Asocijacija je strukturna veza kojom se određuje da je
objekat jedne klase povezan sa objektom druge ili iste
klase.
Saradnja na nivou klasa se prikazuje pomoću asocijacije.
Smjer poruka određuje da li je asocijacija u jednom
smjeru ili dvosmjerna (svojstvo navigability).

Naziv asocijacije je najčešće glagol koji određuje svrhu


asocijacije.
Dijagram klasa

Agregacija

Agregacija asocijacije određuje “dio_od“ vezu među


klasama.
Slaba agregacija povezuje dio sa cjelinom s tim da se dio
može izostaviti iz cjeline.
Jaka agregacija povezuje dio sa cjelinom s tim da se dio
ne može izostaviti iz cjeline.
Dijagram klasa

Generalizacija

Generalizacija je veza među klasama kod koje jedna


klasa dijeli strukturu i/ili ponašanje druge klase.
Podklasa superklase nasljeđuje atribute, metode i odnose

You might also like