Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

MODELIRANJE

GEOINFORMACIJA

DIJAGRAM KLASA
vježbe

2018/209
1. na nivou apstraktne klase ne mogu se kreirati objektne jedinice (*)

(*)

()

REZIME : -apstrakcije se implementiraju generalizacijom


-osim apstraktnih klasa postoje i konkretne klase koje smo većinom do sada i koristili
-na osnovu konkretne klase, moguće je kreirati objekte, jer konkretne klase imaju implementaciju za sve operacije.
KLASNI DIJAGRAM S APSTRAKTNOM I KONKRETNIM KLASAMA
APSTRAKTNA KLASA apstraktno
Vozilo
GENERIČKA KLASA

nema metode implementacije


apstraktna operacija Vozi () na ovom nivou

Konkretne klase mogu KOLA ČAMAC


kreirati objekte-instance,
a one mogu imati
implementacije za ove TOČKOVI PROPELER
operacije operacije

VOZI
VOZI

Redefinicija operacija

VOZI
Startuj točkove VOZI
Startuj propeler
Objektna jedinica implementacije Objektna jedinica
instanca
instanca

Stigne poruka: Ako se kaže da se kola pokrenu Stigne poruka: Ako se kaže da se
tada se točkovi pokrenu čamac pokrene tada
se kormilo pokrene

Podklase redefinišu operacije. Redefinicija u podklasi se odnosi na sve instance te podklase.


(*) Operacija iz apstraktne klase se redefiniše u instancama konkretne klase.
APSTRAKTNA KLASA U FUNKCIJI INTERFEJS-KLASE
• Neka klasa može zahtijevati interfejs ako joj za rad treba
instanca interfejsa
(KLASA TEXT EDITOR ZAHTIJEVA INSTANCE PREKO PODKLASE
INTERFEJS-KLASE WINDOW KOJA GENERIŠE PODKLASE, INTERFEJS-KLASE

A OVE PODKLASE GENERIŠU ZAHTJEVANE INSTANCE.

• Unekim programskim jezicima, kao što je C++, interfejs INTERFEJS-KLASA


se programira kao apstraktna klasa koja ne sadrži (interfejs)
implementirane operacije. KLASA <<interface>>
Window

+toFront()
+toBack()

Interfejs se obično deklariše preko apstraktnih klasa.


Npr., da bi se obezbjedilo da Text Editor bude nezavisan od platforme, definišemo
nezavisnu od platforme apstraktnu klasu Window. Ova klasa nema implementacije
operacija, ona samo definiše INTERFEJS-KLASU za klasu Tekst Editor.
Podklase koje su zavisne od platforme imaju implementacije i tako se mogu po želji
koristiti.
karta

-karta()
reljefne
-karta() karte
DODATNA NOTACIJA – tip podataka

• ponekad je poželjno eksplicitno modelirati tip podataka na dijagramu klase


(npr., za tip podatka Datum)
• klasa koja se obilježava kao tip podataka koristi stereotip <<datatype>> ili
<<type>>
IDENTIFICIRANJE KLASA
Kako?
Klase i njihove međusobne veze se identificiraju na osnovu :
1.INFORMACIJA
koje se prikupljaju kroz proces inženjeringa korisničkih zahtjeva i specifikacije sistema.

2. POMOĆU USE CASE DIJAGRAMA


ukoliko u procesu razvoja softverskog sistema koristimo UML u svim fazama.

3. IDENTIFICIRANJE IMENICA
u dvije faze:
3.1 U zahtjevima sistema identificiramo potencijalne kandidate za klase:
 skupljajući sve imenice u jednini i
 skupljajući sve fraze.
3.2 Odbacimo imenice koje su neodgovarajuće zbog nekog razloga:
 one imenice koje nisu relevantne u domeni problema,
 ako je u pitanju vremenska jedinica (sedmica, mjesec), ili
 nije dovoljno jasno samo značenje imenice.
IDENTIFICIRANJE KLASA
Šta sve mogu biti klase?
• Specifični slučajevi generalnog tipa kao što su:
ljudi (‘Mujo'),
organizacije ('XOsiguranje') i
organizacijske jedinice ('Prodajni tim')
• Strukture, stvari koje su navedene u domenu problema:
'kontrolori‘ i
'volonterski tim'.
• Apstrakcije stvari kao što su:
Uloge ljudi: 'prodavač', 'volonter', 'student'.
Fizičke stvari: 'automobil', 'polica', 'knjiga'
Koncepti: 'prodaja', 'vještina', 'zahtjev'.
• Trajne relacije između identificiranih klasa:
'sporazum',
'registracije'
IDENTIFICIRANJE KLASA
ZADATAK 1
Iz opisa domena problema NARUDŽBA KARATA IZ GIS-OFISA,
potrebno je :
a)Odrediti klase kandidate za izradu dijagrama klasa
b)Naparvaiti dijagram klasa za narudžbu karata. Obratiti pažnju na
generalizaciju (nasljeđivanje),asocijaciju, kardinalnost, agregaciju,
smjerove i sl.
OPIS DOMENA PROBLEMA
GIS-ofis nudi karte koja su prikazana na izborniku karata. Kada naručilac naručuje, onda se za
to formira narudžba, na kojoj se nalaze stavke. Naručilac može biti klijent u ofisu ili internet
naručilac. Stavke narudžbe su karte, s tim da je svakoj karti pridružena količina. Na izborniku
karata je uz svaku kartu prikazana trenutna cijena. Kada se narudžba primi, onda ista treba da
se plati u roku od 10 minuta, da bi nakon toga mogla da se proslijedi na realizaciju koja traje u
ovisnosti od vrste karte, od 15 minuta do 45 minuta.

ODBACUJEMO
• GIS-ofis, jer je izvan vidokruga sistema (interesuje nas ono što se obavlja unutra);
• količina, jer je samo osobina stavke narudžbe;
• trenutna cijena, jer je samo osobina stavke narudžbe;
• minuta, jer je to jedinica vremenskog perioda, nije stvar:
• rok, jer se odnosi na vrijeme koje nije jasno definirano, nije stvar;
• vrsta karte, jer nije jasno definirano, niti ima značajnog utjecaja na sistem.
IDENTIFICIRANJE KLASA
ZADATAK 1-nastavak

GIS-ofis nudi karte koja su prikazana na izborniku karata. Kada naručilac


naručuje, onda se za to formira narudžba, na kojoj se nalaze stavke narudžbe.
Naručilac može biti klijent u ofisu ili internet naručilac. Stavke narudžbe su
karte, s tim da je svakoj karti pridružena količina. Na izborniku karata je uz
svaku kartu o prikazana trenutna cijena. Kada se narudžba primi, onda ista
treba da se plati u roku od 10 minuta, da bi nakon toga mogla da se proslijedi
na realizaciju koja traje u ovisnosti od vrste karte, od 15 minuta do 45 minuta.

Ostale su imenice koje predstavljaju klase:


• karta
• Izbornik karata
• narudžba
• stavka narudžbe
• naručilac
– klijent u ofisu
– internet naručilac
A) IZABRANANE KLASE
KlijentOfisa NaručilacKarte

NternetNaručilac
Narudžba

StavkaNarudžbe IzbornikKarata

Karta

• u fazi analize se prikazuju samo generalne informacije


• mnogi detalji i nisu poznati
• parametri operacija još uvijek nisu jasno uspostavljeni, a i vidljivost atributa i operacija
u ovoj fazi je nevažna.
b)POVEZIVANJE KLASA
KlijentOfisa
Naručilac

InternetNaručilac

IzbornikKarata

Karta
IDENTIFICIRANJE ATRIBUTA I OPERACIJA

• atributi i operacije se takođe identificiraju iz


raspoloživih informacijskih izvora vezanih za opis i
funkcionalnost sistema
• atributi koji se alociraju za klasu opisuju strukturu klase
• prilikom identificiranja operacija, biraju se one koje
omogućavaju klasi dodatno obavljanje akcija
• u fazi dizajna dodaju se detalji vezani za atribute i
operacije
Zadatak2
Iz opisa domena problema u procesu identifikacije nastao je
sljedeći dijagram. Opišite domen problema.
Zadatak 3
Na osnovu opisa domena problema načiniti dijagram klasa.
OPIS DOMENA PROBLEMA

Online narudžba mobilnog uređaja


Dijagramom klasa prikazati sistem naručivanja mobilnog
uređaja putem web interfejsa neke trgovine.
Neki od sudionika u ovome procesu su: Korisnik, Web_trgovina,
Proizvođač i Otpremnik.
Bududi da se radi o online narudžbi korisnik mora imati
Korisnički_račun putem kojeg može kreirati Online_narudžbu.
Na temelju Online_narudžbe i Info_o_otpremi otpremnik
otprema uređaj.
Korisnik odabire uređaj na temelju nekoliko parametara, među
kojima je i Recenzija_uređaja koju piše Recenzent. Postoje dva
tipa recenzije uređaja i to: Nezavisna_recenzija od strane
nezavisnog tijela (npr. stručni časopis, međunarodna institucija) ili
Korisnička_recenzija od strane registriranih korisnika.

http://www.fpz.unizg.hr/hgold/aimps20092010/labos/Vje%C5%BEba_1-DIJAGRAM_KLASA.pdf
Pitanja:
1. Navedite osobine apstraktne klase?
2. Objasnite na primjeru: apstraktna klasa, apstraktna
operacija, konkretna klasa?
3. Objasnite apstraktnu klasu u funkciji interfejsa?
4. Objasnite odnos, konkretne klase, interfejs klase i
apstraktne klase?
5. Objasnite komentar kao dodatnu notaciju?
6. Objasnite ograničenje kao dodatnu notaciju?
7. Objasnite tip podataka kao dodatnu notaciju?
8. Zadatak 1
9. Zadatak 2
10.Zadatak 3

You might also like