You are on page 1of 26

Fakultet organizacionih nauka, Beograd

UML Modeli
- Aspekt projektovanja -
(statički opis strukture sistema)
ASPEKTI MODELA U UML-U
Za svaki aspekt daje se statički i dinamički opis
sistema

ASPEKT ASPEKT
PROJEKTOVANJA IMPLEMENTACIJE

ASPEKT SLUČAJEVA KORIŠĆENJA

ASPEKT ASPEKT
PROCESA RAZMEŠTANJA
Modeli i dijagrami
Model je potpun opis sistema
sa neke tačke gledišta
State
State
Diagrams
Dijagrami
Diagrams
Use Case kalsa
Use Case
Dijagrami
Diagrams State
Use Case Diagrams
slučajeva State
Diagrams
Use Case Dijagrami
Diagrams
Diagrams
Dijagrami korišćenja objekata
Diagrams
sekvenci

Scenario State
Scenario
Diagrams State
Diagrams
Dijagrami
Diagrams Dijagrami
Diagrams
kolaboracije Modeli komponenti

Scenario Component
Scenario Component
Diagrams
Diagrams
Dijagrami Dijagrami
Diagrams
Diagrams Rasporeda
prelaza stanja Dijagrami
aktivnosti
ASPEKT PROJEKTOVANJA
Aspekt projektovanja pretstavlja realizaciju
sistema u "objektnom prostoru stanja".

Statički opis ovoga aspekta daje se preko


Dijagram klasa i Dijagrama objekata.

Dinamički opis se daje preko dijagrama


interakcija, dijagrama promene stanja i
dijagrama aktivnosti.
DIJAGRAMI KLASA
Dijagram klasa najčešće korišćeni dijagam u OO
pristupima razvoju softvera

On pretstavlja skupove klasa, interfejsa,


kolaboracija i njihove međusobne veze
Koristi se da pretstavi:

1. Osnovni "rečnik sistema" – definiše pojmove


koji se u tom sistemu koriste,
2. Opiše strukturu neke kolaboracije,
3. Pretstavi logičku šemu baze podataka
Preduzeće

PRIMER
Odelenje Kancelarija DIJAGRAMA
naziv:Imena
* Lokacija adresa: String KLASA
0..1 telefon:Broj
*
* *
{podskup}

~lan 1..* 1 menager

Lice Centrala
ime:Imena
radnikId:Integer
zavanje:String
dajFoto(p:Foto) Podaci_o_Ug
dajGlas() adresa:String
dajUgovor()
dajDosije()

Lični dosije
plaćenPorez
radnaIstorija
plata
ITajniPodaci
kolaboracija
Razmena poruka
između čvorova

TransportniAgent

pošiljalac
primalac
IDistribucija
pošaljiPoruku()

* DIJAGRAM KLASA
KAO STATIČKI OPIS
*
KOLABORACIJE
sanduče

Red Poruka

ID
dodajPoruku() zaglavlje
izbaciPoruku telo
račun()

UlazniRed IzlazniRed
PRIMER DIJAGRAMA KLASA KAO
LOGIČKE ŠEME BAZE PODATAKA
Student
{persistent} Radnik
{persistent}
0 .. * broj_ind mtbr
Slu{aju ime ime
registrovanje_za_kurs zaposli_se
ispiši_se otpusti_se

0 .. * Upisan
Sekcija
Predmet Asistent Nastavnik
Sadr`i {persistent}
{persistent} 0 .. * {persistent} {persistent}
idesek
ime je_sek Rang
opis
idpr
Zahtevan
drži_se 0 .. * 0 .. * 0 .. * 0 .. *
0 .. * Vežbe drži_vežbe
izostavljen
0 .. * predaje drži_predavanje
Zahtevase_prethodno
Definisanje Klase
Klasa je okvir (template) tj.specifikacija
za kolekciju objekata koji deli isti skup atributa i operacija.

Nastavnik
Klasa atributi
operacije

Objekti
• Veze - Relationships
Veza je ono sto klasa ili neki objekat zna o durgoj
klasi ili objektu.

 [Klase] Generalizacija (Generalization)


Nasladjivanje
• Primer: Osoba - Nastavnik, Student, Sluybenik...
Četiri tipa veze

• Primer: TransportnoSredstvo - Avion, Voz, Auto, Brod...


 [Objekat] Asocijacija (Associations)
• Nastavnik – Predmet
• Student - Predmet
 [Objekat] Aggregations & Composition (Whole-Part)
• Assembly – Parts, Group – Members, Container - Contents
UML Class Diagram Notation 1 of 2

Klasa

CLAN

{
mlb
prezime
ime
atributi telefon
adresa
grad
itd...

{
proveriIzdatCD
operacije proveriVraceneCD
kupiCD
itd...
UML Class Diagram Notation 2 of 2

Class
Generalization
Relationship

Object Object
Aggregation Composition
Object Association Association Association

n n 1..* 1

0..* 0..*

Will always be “1”


Primer Generalizacije

<<abstract>>
ULOGA
atributi
operacije

Nastavnik Student Referent Posetilac


atributi atributi atributi atributi

operacije operacije operacije operacije

Note: <<abstract>> = no objects


Primer loše generalizacije
(narušava “is a” ili “is a kind of”)

Osoba
atributi
operacije

Ruka Noga Glava


atributi atributi atributi

operacije operacije operacije


Generalizacija
- Višestruka klasifikacija
Discriminator
Doktor

Žensko
uloga
<<abstract>> Medicinska
Osoba Sestra
Pol
Muško {complete} pacijent
Fizio-
#1 terapeut
Pacijent
#3
#2
Kardinalnosti
1
Klasa tačno jedan

0..* više
Klasa (nula ili više)
0..1 opciono
Klasa
(nula ili jedan)
m..n tačno definisan
Klasa brojni opseg
Primer:

0..*
Preduzeće Radnik
1
Aggregation Composition

Nastavnik Porudžbenica

1..* 1

0..* 1..*
Predmet StavkaPorudžbenice

(drugi primer: ruka --> prst)


DEFINISANJE SEMANTIKE UML-a PREKO
DIJAGRAMA KLASA
METAMODEL ZA MEHANIZME PROŠIRENJA

*
Elemenat modela 0..1 * VrednostEtikete
etiketa:Naziv
1..* vrednost:String

*
Ograničenje
*
*
or
Generalizujući
elemenat

Stereotip

* 1
icona:Geometrija
osnovnaKlasa:Naziv 0..1
*
Dijagram klasa (Stereotipi)
Važni stereotipi:
<<interface>> specificira kolekciju operacija za specifikaciju
servisa
<<type>> specificira strukturu i ponašanje (ne implementaciju)
<<enumeration>> specificira predefinisane vrednosti
<<implementationClass>> pomoćna klasa kreirani u detaljnom dizajnu

<<interface>> <<type>> <<enumeration>>


ImageReader Complex Status
Fundamental Idle
Attributes Working
readImage Fundamental Error
writeImage behavior
Asocijacija kao klasa
Student Predmet

Položio
Datum
Ocena
Association
Class
DIJAGRAM OBJEKATA
(POJAVLJIVANJA)
Dijagram objekata pokazuje skup objekata i njihovih veza
u jednom trenutku vremena.
Dijagrami objekata modeliraju stanje sistema u jednom
trenutku vremena, odnosno daju zamrznutu sliku sistema u
jednom trenutku vremena.
Dijagrami objekata daju statičku strukturu za opis
dinamičkog ponašanja sistema preko dijagrama interakcije.
Oni su pojavljivanje odgovarajućeg dijagrama klasa i
statički deo dijagrama interakcije
Pretstavljaju skup objekata i pojavljivanja veza, mogu da
sadr`e i komentare i ograničenja, da budu podeljeni u
pakete i podsisteme.
NAČIN OZNAČAVANJA OBJEKATA (POJAVLJIVANJA)

Ana : Lice Naziv objekta i naziv odgovarajuće


Klase

: Lice "Anonimni" objekat date klase

Objekat čija se klasa podrazumeva


Aca (očigledna je)
NAČIN OZNAČAVANJA OBJEKATA (POJAVLJIVANJA)

agent: "Siroče", pojavljivanje nedefinisane


klase

Anonimno pojavljivanje sa definisanom


:Odeljenje::OrgStruktura "putanjom" za naziv klase

"Multiobjekat", pretstavlja kolekciju


anonimnih objekata.
:Odelenja
NAČIN OZNAČAVANJA OBJEKATA (POJAVLJIVANJA)

Aca Prikazivanje vrednosti atributa


id = a234/27 objekta
starost = 36

Radnik:Ana Eksplicitno prikazivanje


[na godišnjem odmoru] stanja objekta

tekućaTr:Transakcija Primer jednostavnog Dijagrama


objekata sa stereotipnom vezom
primarniAgent <<pojavljivanje>> koja pokazuje pripadnost klasi
Agent
[radi]

:Transakcija
PRIMER DIJAGRAMA OBJEKATA

r:Robot
[uPokretu]

<<globalni>>

o:Okolina <<nedodeljen>> :Elemenat

a1:Površina a2:Površina

z1:Zid z2:Zid v1:Vrata


širina = 20 širina = 90 širina = 36
KLASE, ASOCIJACIJE
POJAVLJIVANJA, VEZE I PORUKE

Lice
1..* poslodavac
Preduzeće
+sračPlatu(d:Danrada)
+rasporedi(o:Odel) radnik *

Klase, asocijacija, uloge, kardinalnosti

rasporedi(erc)

l:Lice :Preduzeće

pojavljivanja , linkovi i poruke

You might also like