30
MODEL OBJEKTI - VEZE KONCEPTI MODELA METODOLOGIJA MODELIRANJA

MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

Embed Size (px)

Citation preview

Page 1: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

MODEL OBJEKTI - VEZE

KONCEPTI MODELA

METODOLOGIJA MODELIRANJA

Page 2: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

MODEL OBJEKTI - VEZE

Model objekti-veze je najpopularniji i u praksiprojektovanja BP najviše korišćeni konvencionalnimodel podatka. Postoji više različitih verzija ovogmodela. Ovde se izlaže jedna specifična verzija, Prošireni model objekti-veze (PMOV), koja polaziod originalne Chen-ove verzije i notacije.

Na kraju, preko jednog primera, prikazuje se i notacija standarda IDEF1X, na kome se baziraCASE alat ERwin, veomačesto korišćeni alat zamodeliranje podataka preko Modela objekti veze.

Page 3: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

RADNIKZAPOS

RUKOV

ODELENJE

ASORT

PROIZVOD

STRUK

(1,1) RADI

(0,1) RUKOVODI

ZAPO[LJAVA (0,M)

RUKOVO\ENO (1,1)

(0,M) PRVI

(0,M) NAPRAVLJENU

(0,M) SASTAVLJEN

(0,M) UGRA\EN

OSNOVNI KONCEPTI PMOV

TIP (KLASA) OBJEKATARadnik: objekatRADNIK: sef of Radnik

VEZE I PRESLIKAVANJA

ZAPOS = <RADI, ZAPOŠLJAVA>RADI: RADNIK --> ODELENJE ZAPO[LJAVA: ODELENJE --> RADNIK.

Page 4: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

Radnici Zapo{ljavanja Odelenje(1,1)Radi Zapo{ljava (0,M)

Rukovo|enja

(0,1)Rukovodi Rukovo|eno (1,1)

Matbr Adrese ImenaJezici [ifreOdel

Godine

Plate

(1,1)Mlb(1,1)Adresa

(1,M)Zna-Jezik(1,1)ImeR

(1,1)Starost (1,M) Isplate

(1,1)[ifOd(1,1)NazivOd

MLB: RADNIK --> MATB (1,1)IMER:RADNIK ---> IMENA (1,1)ZNA-JEZIK: RADNIK --> JEZIK (1,M)

Definicija atributa

Page 5: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

Radnici Zapo{ljavanja Odelenje(1,1)Radi Zapo{ljava (0,M)

Rukovo|enja

(0,1)Rukovodi Rukovo|eno (1,1)

Isplate

(1,M)

Sratost

Mlb* Adresa ZnaJezik Imer

Datum

Iznos

[ifOd* NazivOd

Page 6: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

class Odelenja(key [ifOd){attribute short [ifOd;attribute string NazivOd;relationship <set> RadniciZapo{ljava

inverse Radnici :: Radi;relationship Radnici Rukovo|eno

inverse Radnici :: Rukovodi;}

class Plate{attribute date Datum;attribute float Iznos;}

class Radnici(key Mlb) {attribute short Mlb;attribute string ImeR;attribute set <string> ZnaJezik;attribute string Adresa;attribute short Starost; attribute set <Plate> Isplate; relationship Odelenja Radi

inverse Odelenja :: Zapo{ljavarelatioship Odelenja RukovodiinverseOdelenja::Rukovo|eno;

}

Page 7: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

MLB* IME STAR

GRADJANIN

SBI

STUDENT RADNIK DETE PENZIONER

SEMES PLATA DODAT PENZ

S

DAKTILOG VOZA^ LEKAR IN@ENJER

KATDAK KATVOZ SPEC OBLAST

S

STALAN PRIVREMEN

VRSTA (0,M)

ZANIM (1,1)

VRO (1,1)

GENERALIZACIJA - SPECIJALIZACIJA

Page 8: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

GENERALIZACIJA - SPECIJALIZACIJA

• Možda je u pmov za generalizaciju bolje ime“proširenje”. Podtip proširuje nadtip sa datimskupom atributa. Mogućnost da se jedan nadtipspecijalizuje u više podtipova ukida potrebu zavišestrukim nasle\ivanjem i svim problemima kojeono donosi.

Page 9: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

Studenti PredmetiPrijave

BrojInd Ime

Smer

DatumPol Ocena [ifPred NaziPred

Nastavnici

Overe[ifraNast ImeNast

Zanje

(0,M) (0,M)

(1,1)

(0,M)

AGREGACIJA

Page 10: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

RUKUJE KAMION

PO[ILJKARADNIK

IDE

PROIZVOD KUPAC

(0,M)RADN (1,1)POSL

(1,M)VOZI

(0,1)PREVEZ

(1,M)KUP(0,M)PROIZV

AGREGACIJA

Page 11: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

PRAVILA INTEGRITETA U PMOV• Pravila integriteta definišu dozvoljena stanja i

dozvoljene prelaze sistema iz stanja u stanje. To se i u PMOV iskazuje definisanjem ograničenja navrednosti atributa i akcijama koje se preduzimajukada neka operacija ažuriranja naruši posmatranoograničenje. Opšta sintaksna konstrukcija zaiskazivanje pravila integriteta je i ovde:

CREATE INTEGRITY RULE <naziv_pravila>ograničenjeON ATTEMPTED VIOLATION akcija

Page 12: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

OGRANIČENJA U PMOV

• Strukturna ograničenja (ograničenja napreslikavanja), koju su prikazana na samommodelu;

• Vrednosna ograničenja (ograničenja na vrednostiatributa):

– Prosta ograničenja na vrednosti pojedinačnihatributa

– Složena ograničenja koja povezuju vrednostivi{e atributa istog i različitih objekata. Alat zaiskazivanje ovih ograničenja može da bude tzv“Objektni račun”, detalno opisan u materijaluPMOV.

Page 13: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

ATRIBUT DOMEN OGRANI^ENJE

Mlb long NotNull And Substring(1,2) Between 1,31 And Substring(3,4) Between 1,12 ....

NazivJ string In(Srpski, Ruski, Engleski, Nemački)

Adresa string

Datum date

Starost short Between 15,65

sifOd short Moduo_11

Page 14: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

REGBR

MARKA

BOJA

KOLA

BI

IME

SEM

(1,1)

(0,1)

PARKIRA

STUDENT

DATUM OCENA

[N

IMENNASTAVNIK

[P

NAZP

B^

PREDAJE

(0,1)

POLO@IO PREDMET

(0,M)

(0,M) (0,M)

(1,M)

IMA

RODITELJ

(0,M)

MLB IMER

S

Vrste (0,1)

SLU[A

ZANIMANJE

VANREDAN

(1,1)

(1,M)

(0,M)(1,M)

PRIPADA

KATEDRA

[K NAZIVK

RADI

POSAO

(0,M)

[POS NAZPOS

(1,M) (0,M)

U^ESTVUJE

[PROJ

NAZPROJ

PROJEKAT

(0,M)

(1,M)

ZADATAK

[ZAD

NAZZAD

OPISZAD

Page 15: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

METODOLOGIJA MODELOVANJA

1. INTEGRISANJE PODMODELA

2. DIREKTNO MODELIRANJE (UZORI)

3. KOMBINOVANI METOD

Page 16: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

INTEGRACIJA PODMODELA

Postupak integracija podmodela odrazumeva:

• dekompoziciju realnog sistema nafunkcionalne podsisteme (korišćenjemStrukturne sistemske analize);

• formiranje podmodela podataka za svakipodsistem;

• integraciju podmodela u jedinstveni model podataka sistema.

Page 17: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

DOBAVLJA^NABAVKA

1.

NARDOB

VIRMAN

KATALOG

OTPREMDOB

FAKTURA

DATDOB

OTPREMNICE IPRIJEMNICE

PROIZVODI

KUPCI

PRODAJA

2.

NARUD@BKUP

OTPREMNICE

SKLADI[TENJENE

3.

NARKUP

PLA]ANJA

OTPREMKUP KUPAC

RA^UN

DTP PRVOG NIVO ZA JEDAN JEDNOSTAVNI PRIMER

Page 18: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

DOBAVLJA^

NARDOB

DATDOB

NARU^IVANJE

1.2KATALOG

OBRADAOSNOV.

PODATAKA

1.1

DATOB DATPRO

PLA]ANJE

1.4

OTPREMNICE IPRIJEMNICE

PRIHVATANJE

1.3

OTPRDOB

DTP ZA FUNKCIJU “NABAVKA”

Page 19: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

OBRADAPORUD@BINA

2.1

KUPACNARKUP

PLA]ANJA

RA^UN

OTPREMKUP

KUPCI

PROIZVODI OTPREMA

2.2

PROIZVODI

UPLATE

OTPREMNICE

NAPLATA

2.3

KUPCI

NARUD@BKUP

DTP ZA FUNKCIJU “PRODAJA”

Page 20: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

[ if_dob ..... Naziv_dob ....... Adresa_dob ....Br_otpr ..... Datum_otpr.......

Red_br [ if_proizv Naziv_proizv Otpr_kol Vrednost... .... ..... ..... ......... ..... ...... .,..... .....

OTPDOB: < [if_dob, Naziv_dob, Adresa_dob, Br_otpr,Datum_otpr,{<Red_br , [if_proizv, Naziv_proizv,

Otpr_kol, Vrednost>}>

IZGLED TOKA OTPRENICA DOBALJAČA (OTPRDOB)

DEFINICIJA U REČNIKU SSA

STRUKTURA TOKOVA I SKLADIŠTA

Page 21: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

D o b a v l j a ~

Sif_dob N a z i v _ d o b A d r e s a _ d o b

O t p r e m n i c a D o b a v

S t a v k a O t p r e m n i c e

B r o j _ o t p r D a t u m _ o t p r

R e d _ b r

O t p r _ k o l V r e d n o s t

P r o i z v o d

S i f _ p r o i z v N a z i v _ p r o i z v

Z a1,1 0,M

1,M

1,M

PODMODEL ZA OTPREMNICU DOBAVLJAČA

Page 22: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

NARDOB: < [if_dob, Naziv_dob, Adresa_dob, Br_nar,Datum_nar,{<Red_br , [if_proizv, Naziv_proizv,

Nar_kol, Opis>}>

STRUKTURA TOKOVA I SKLADIŠTA

D o b a v l j a ~

Sif_dob N a z i v _ d o b A d r e s a _ d o b

S t a v k a O t p r e m n i c e

B r o j _ n a r D a t u m _ n a r

R e d _ b r

N a r _ k o l O p i s

P r o i z v o d

S i f _ p r o i z v N a z i v _ p r o i z v

N a r u d ` b e n i c a D o b

U p u } e n a

Z a

0,M

1,1

1,M

1,1 0,M

PODMODEL ZANARUDŽBENICU DOBAVLJAČA

Page 23: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

D o b a v l j a ~

Sif_dob N a z i v _ d o b A d r e s a _ d o b

S t a v k a O t p r e m n i c e

B r o j _ n a rD a t u m _ n a r

R e d _ b r

N a r _ k o l O p i s

P r o i z v o d

S i f _ p r o i z vN a z i v _ p r o i z v

N a r u d ` b e n i c a D o b

U p u } e n a

Z a

0,M

1,1

1,M

1,1 0,M

O t p r e m n i c a D o b a v

S t a v k a O t p r e m n i c e

B r o j _ o t p r D a t u m _ o t p r

R e d _ b r

O t p r _ k o lV r e d n o s t

Z a1,1

0,M

1,M

0,M

INTEGRACIJA PRETHODNA DVA PODMODELA

Page 24: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

PRIJEM

DOBAVLJA^

UPLA]EN

(0,M)

OTPRDOB

KATLOG

STAVKA_KAT

POSLATA

(0,M)

(0,M)

(1,M)

STAVKA_OTPRDOB

SADR@I

UZ

OPISUJE

PROIZVODNARDOB

STAVKA_NARD

NO

OTPROOB

SADR@I

POPRIJ

STAVKA_PRIJ

PRIJEMNICA PO FAKTURA

POFAK

VIRMAN

(0,M)

(0,M) (0,M)

(0,M)

(1,M)(1,M)

(1,M)

(1,M)

(1,M)

(1,M)

(1,1)

(1,1)

(1,1)

(1,M)

(0,M)

(0,M)

(0,M)

(0,M)

(1,M)

(0,M)

(1,1)

(1,1)

(0,M)

NARPRO

STAVKA_NK

NARKUP

KUPAC

UPLATAK

PORA^RA^UN

ZAOTPR

OTPRKUP

SATVKA_OTPRKOTPRPRO

(1,1)

(0,M)

(0,M)

(1,M)

(0,M)(0,M)

(0,M)

(0,M)

(1,M) (1,M)

(1,1)

(0,M)

(0,M)

KONAČNI MODEL

Page 25: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

DIREKTNO MODELOVANJE

Pod direktnim modelovanjempodrazumeva se razvoj modelapodataka na osnovu poznavanjarealnog sistema, iskustva, tekstualnogopisa, poznavanja generičkih modelapodataka (paterna)

Page 26: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

GENERIČKI MODELI (PATERNI)• Ovaj pristup korističinjenicu da su objekti ne samo

"stabilni" u jednom konkretnom sistemu već i u čitavoj klasi srodnih sistema. Zbog toga je bilomoguće razviti skup opšte primenljivih generičkihkomponenti modela podataka.

• Razvojem objektno-orjentisanih pristupa uveden jetermin patern (preporuka, mustra) koji se definiše kao “imenovani par <problem, rešenje>”, odnosnokoji daje preporuke kako se re{avaju neki problemi u objektno orjentisanoj analizi i projektovanjusoftvera. Uobi~ajeno je da se razlikuju paterni zaanalizu i paterni za projektovanje.

• Ovde su od interesa prvenstveno poslovni sistemi, pa se prikaz ovoga pristupa odnosi na ovu klasu sist.

Page 27: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

GENERIČKI MODELI (PATERNI)

• Paterni za modelovanje podataka spadajupaterni za analizu.

ORGANIZACIONAJEDINICA

S

. SLO@ENA PROSTA

VRSTA ORGJEDINICE

PRIPADA

TIP(1,1)

1,M

0,11,1 0,M

PATERN: MODELOVANJE ORGANIZACIONESTRUKTURE

Page 28: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

T I PD O K U M E N T A

T I PS T A V K E

veza

T I PP O L J A

P O L JZ A G L

P O L JS T A V K E

D O K U M E N T

S T A V K ED O K U M E N T

V R E DP O L J AZ A G L

V R E DP O L J A

S T A V K E

D O KT I P A

S TT I P A

V R E D N O S T

V R E D N O S T

0,M1 , M

0,M

1 , M0 , M

1 , 1

1 , M0 , M

0 , M

0 , M

0 , M

1 , M0 , M

1 , 1

0 , M

PATERN:DOKUMENT

GENERIČKI MODELI (PATERNI)

Page 29: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

PROIZVOD

S

SKLOP ELEMENAT

VRSTAPROIZVODA

PRIPADA

TIP(1,1)

1,M

0,M1,1 0,M

SASTAV KOL_UGR

GENERI^KI MODELI (PATERNI)

PATERN:MODELOVANJE STRUKTURE PROIZVODA (SASTAVNICE)

Page 30: MODEL OBJEKTI - VEZE - vps.ns.ac.rs · softvera. Uobi~ajeno je da se razlikuju paterni za analizu i paterni za projektovanje. • Ovde su od interesa prvenstveno poslovni sistemi,

ObjekatPosmatranja

TipObjekatPosmatranja Fenomen

0,M

0,M

JedinicaMere

Konverzija

DatoU1,1 0,M

Iz (0,M) U (0,M)

KonverzioniOdnos

Protokol

Merenja

IznosImaPojavlj

0,M

VremeMer

Vreme

0,M

1,1

S

VrstaVJ(1,1)

Trenutak PeriodPo~

Kraj

Vrednost

Vrednost

PratiSe

1,M 0,M

Po

1,1

0,M

UZOR "MERENJA"