You are on page 1of 31

VIN KHOA HC V CNG NGH VIT NAM

VIN CNG NGH THNG TIN

PHN TCH THIT K HNG I TNG


PGS.TS. ng Vn c Email: dvduc@ioit.ac.vn

Ni dung
1. Tin trnh pht trin phn mm theo hng i tng 2. Gii thiu Ngn ng m hnh ha thng nht UML 3. M hnh ha nghip v 4. M hnh ha trng hp s dng 5. M hnh ha tng tc i tng 6. Biu lp v gi 7. Biu chuyn trng thi v biu hot ng 8. Biu kin trc vt l v pht sinh m trnh

M hnh ha d liu
10. Bi hc thc nghim
dvduc-2004 Phn tch thit k hng i tng Bi 9 - 2/31

Bi 7

M hnh ha d liu

M hnh i tng - m hnh d liu

Rose 2001 v cc phin bn sau : H tr m hnh ha d liu M hnh i tng


Tp trung vo d liu v hnh vi S dng cho mi thnh phn ca ng dng: lp, thuc tnh, thao tc, quan h... nh c xem xt trong cc bi trc y Quan tm trc ht ca m hnh d liu l m hnh trong b nh:

Vic to lp i tng, quan h gia chng v trch nhim ca chng

M hnh d liu

Tp trung vo d liu Tp trung vo CSDL hn l tp trung vo ng dng


Phn tch thit k hng i tng Bi 9 - 4/31

dvduc-2004

M hnh i tng - m hnh d liu

Cc quan tm khc nhau gia m hnh i tng v m hnh d liu


M hnh i tng M hnh d liu
Thit k CSDL nh th no lu tr hiu qu Bng no cn quan h trong m hnh d liu? Cu trc d liu nh th no tng tc xm nhp? Chun ha d liu? D liu no c truy vn thng xuyn?

Thit k lp nh th no s dng hiu qu b nh? Cc i tng no cn quan h trong m hnh? Cu trc d liu ti giao din nh th no tha mn ngi s dng cui cng? Gi d liu vi hnh vi nh th no to ra lp? D liu no c s dng xuyn sut ng dng? Loi d liu no ch c s dng trong mt vng?

C th s dng khi qut ha hay cc chin lc thit k khc c m trnh s dng li?

C th tch hp khi nim k tha vo m hnh d liu ngay c khi CSDL khng h tr trc tip k tha?

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 5/31

M hnh i tng - m hnh d liu

S khc bit gia hai loi m hnh

H tr k tha Quan h:

Gia cc lp (lp ny bit v lp kia) Gia cc bng (kt ni logc)

C th xy dng tch bit m hnh d liu v m hnh i tng, nhng cng c th xy dng chng ng thi Trong Rose:

Nu d n c m hnh d liu -> chuyn ngc li hnh thnh m hnh i tng Vi d n mi, ta c th pht sinh m hnh d liu t m hnh i tng

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 6/31

To lp m hnh d liu
Table & View

Schema

Database Tablespace & Node

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 7/31

To lp m hnh d liu

Trong Logical View


Lc cha cc th tc lu tr Bng vi cc trng, rng buc, triggers, kha chnh, ch s v quan h M hnh ha CSDL

Trong Component View

Mi thnh phn c gn Stereotype Rose 2001A tr i h tr DB2, Oracle, Sybase, SQL Server, ANSI Server

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 8/31

To lp m hnh d liu

Cc bc chnh to lp m hnh d liu (nhng khng nht thit phi theo trnh t ny)

To lp CSDL B sung lc cha m hnh d liu v gn lc vo CSDL To lp gi lnh vc v cc lnh vc B sung cc bng vo tng lc B sung chi tit vo tng bng

Trng, rng buc, trigger, ch s v kha chnh

B sung quan h gia cc bng v kha ngoi To lp cc khung nhn To lp m hnh i tng t m hnh d liu Pht sinh CSDL ng b CSDL vi m hnh khi cp nht
Phn tch thit k hng i tng Bi 9 - 9/31

dvduc-2004

Logc trong m hnh d liu

Rt kh xc nh logc no u: tng CSDL hay tng ng dng?


Mt s logc nghip v nn ti tng ng dng thay cho tng CSDL Tng th th ch logc no lin quan n d liu mi trn tng CSDL.

Th d: Cc field, gi tr hp l ca field v di ca field Nu logc nghip v trong CSDL

C th gn cc qui tc nghip v vo CSDL thng qua s dng rng buc.

ng dng phi thu thp d liu t ngi s dng cui cng. Chuyn n n tng nghip v: truyn qua kt ni mng (c th chm). Cui cng l nh gi tnh ng n.

Do vy, nn logc nghip v ti tng nghip v lm gim lu lng truyn trn mng.

Mt vi logc h thng c th thc hin bn trong CSDL thng qua s dng cc th tc lu tr

Li th:

Thc hin nhanh khi cc chc nng phi x l khi d liu ln Nu s dng cc th tc lu tr ci t logc nghip v th khi n thay i i hi thay i c tng nghip v v tng CSDL. Mt bt li khc l cc th tc trong DBMS khc nhau c c php khc nhau, do vy khi chuyn i DBMS phi vit li cc th tc lu tr.
Phn tch thit k hng i tng Bi 9 - 10/31

Bt li:

dvduc-2004

B sung CSDL

CSDL c m hnh ha trong Rose nh thnh phn vi stereotype

CSDL l h thng lu tr d liu vt l v iu khin xm nhp d liu

C tn duy nht c gn cho DBMS c th (ANSI SQL, SQL Server, DB2, Oracle...)

B sung khng gian bng (Tablespaces)


Node l thc th vt l (my tnh) ni lu tr CSDL Khng gian bng l n v lu tr lgc ca bng (SQL Server, DB2, Oracle)

L kt ni cu trc vt l (CSDL) v nt.


Container l thit b lu tr vt l ( a) Mi container c chia thnh n v nh hn extents

Mi khng gian bng c mt hay nhiu container


SQL Server: Khng gian bng l filegroups, containers l files Mi khng gian bng c kch thc khi u (KB)

DBMS c kh nng tng t ng kch thc khng gian bng Khng c kh nng tng khng gian bng qu mc gii hn bng Rose

Gn cc bng cho khng gian bng


Phn tch thit k hng i tng Bi 9 - 11/31

dvduc-2004

B sung Khng gian bng

Th d vi SQL server

Nhn phm phi chut trn CSDL trong Browser Chn Data Modeler->New-> Tablespace t tn cho Tablespace Nhn phm phi chut trn Tablespace mi chn Open Specification nh du Default nu mun y l Tablespace mc nh

Mi bng cha gn vo Tablespace no th c gn vo Tablespace mc nh

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 12/31

B sung Khng gian bng

Th d vi SQL server

t Container trong Tablespace

Nhn phm phi trn Tablespace trong Browser, chn Open Specification Chn Container Tab Nhn phm phi trong vng trng, chn New Nhp tn tp tablespace, kch thc khi u, kch thc cc i v kch thc tng (file Growth)

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 13/31

B sung lc

Lc (schema) l n v c s ca t chc cc bng


L container trong m hnh d liu N cn l c ch an ton Bng, trng, trigger, rng buc v cc phn t m hnh d liu khc Mi lc ta to ra u cha trong gi ny

Lc bao gm

Trong khung nhn logc c gi Schemas

Mi lc c nh x vo CSDL Mi CSDL c th cha mt hay nhiu lc

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 14/31

B sung lc

To lp lc trong Rose

Nhn phm phi chut trn Schema trong Logical View Chn Modeler-> New-> Schema Nhn phm phi trn lc mi chn Open Specification Chn bng ph hp trong hp thoi Database

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 15/31

To lp biu m hnh d liu


Biu m hnh d liu c to lp trong lc Biu m hnh d liu c s dng add, edit v quan st cc bng v cc phn t khc trong CSDL

Tng t biu lp trong m hnh d liu

C th to ra rt nhiu m hnh d liu trong mi lc To lp biu d liu trong Rose

Nhn phm phi trn lc trong Browser Chn Data Modeler-> New -> Data Model Diagram Nhp tn cho biu mi: NewDiagram Nhn p trn biu m n
Phn tch thit k hng i tng Bi 9 - 16/31

dvduc-2004

To lp gi lnh vc

Lnh vc (Domain) c s dng p dng qui tc nghip v (gi tr hp l, gi tr mc nh ca fields...) cho fields

L mu cho mt hoc nhiu fields trong CSDL Th d:

Lp domain Phone (c kiu d liu Long, gi tr mc nh 0...) p dng cho HomePhone, WorkPhone, FaxPhone...

Vic s dng domain l ty Trong Rose:


Cc domains t trong gi domain Mi gi domain c gn duy nht cho DBMS C th p dng mt domain cho nhiu schema

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 17/31

To lp gi lnh vc

To lp gi lnh vc trong Rose:

Nhn phm chut phi trn Logical View trong Browser Chn Data Modeler-> New -> Domain Package Nhn phm phi trn gi mi v chn Open Specification Chn DBMS s s dng cho gi domain

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 18/31

To lp lnh vc

To lp lnh vc trong Rose:

Nhn phm chut phi trn gi lnh vc trong Browser Chn Data Modeler-> New -> Domain Nhn phm phi trn domain mi v chn Open Specification Nhp tn domain trong General Tab Nhp cc tham s khc trong Tab

Scale: Tng ch s sau du thp phn Unique Constraint: Cc fields s dng domain ny s c gi tr duy nht L biu thc cn c gi tr True trc khi thay th d liu trong CSDL
Phn tch thit k hng i tng Bi 9 - 19/31

Bng Check Constraints:

dvduc-2004

B sung bng

Bng l cu trc m hnh c s ca CSDL quan h


Biu din tp cc bn ghi c cng cu trc (ct) Mi bn ghi cha d liu, thng tin v bn ghi c lu tr ngay trong CSDL

Khi c lc , ta c th to bng trong n Mi bng trong CSDL c m hnh ha nh lp persistent vi stereotype Table Cc bng trong lc c tn duy nht
T_0
CustomerID : SMALLINT First_Name : VARCHAR(15) Last_Name : VARCHAR(15) Home_Phone : DOM_0 Address : VARCHAR(20) <<PK>> TC_T_03()

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 20/31

B sung cc chi tit trong bng

B sung ct

Ct d liu

Cha d liu khng phi tnh t cc ct khc S dng cc lnh SQL tnh d liu t cc ct khc L ct c gi tr kiu Interger Cc gi tr ca ct c SQL server t ng gn 1,2,3...

Ct tnh ton

SQL Server h tr khi nim ct ng nht


t kha chnh

Nu ct nh du l primary key th gi tr ca chng l duy nht phn bit cc hng L lnh iu kin cn c tha mn c th cp nht bng L cch p dng quy tc nghip v

B sung rng buc


Th d trng Gender phi l M hoc F

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 21/31

B sung cc chi tit trong bng

Rng buc kha

Rng buc kha chnh

m bo rng d liu nhp vo trng kha l khc null v duy nht Rose t ng to rng buc kha chnh khi kha chnh ca bng c xc nh m bo rng gi tr nhp vo trng l duy nht Rose t ng to rng buc ny khi ta chn c t Unique Constraint Cho kh nng xm nhp nhanh bn ghi thng qua danh sch cc ct kha khi tm kim cc bn ghi trong bng

Rng buc duy nht


Ch s

Rng buc kim tra

L rng buc khng thuc loi rng buc kha Trigger l th tc SQL chy khi c s kin xy ra

B sung Trigger

Th d: t Trigger khi chn, thay i hay hy hng trong bng.

c t Trigger khc nhau trong cc DBMS khc nhau c m hnh ha trong Logical View
Phn tch thit k hng i tng Bi 9 - 22/31

dvduc-2004

B sung cc chi tit trong bng

B sung index

Ch s c m hnh ha nh rng buc kha trong bng L cu trc cho php tm kim nhanh trong bng C th s dng mt hay nhiu ct lm index

Khi tm kim th ch tm kim trn ct ny.

B sung th tc lu tr

Tng t Trigger, Stored procedure l mt an chc nng trong CSDL N l on trnh nh c chng trnh hay trigger kch hot N chp nhn tham s u vo v cho li mt hay nhiu gi tr (tham s u ra) Trong Rose, th tc lu tr c m hnh ha nh thao tc vi stereotype <<SP>>

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 23/31

B sung cc chi tit trong bng

B sung quan h

Quan h trong m hnh d liu tng t quan h trong m hnh i tng

Quan h trong m hnh d liu kt ni hai bng indentifying relationship v non- indentifying relationship

Rose c hai loi quan h chnh


Kha ngoi c b sung vo bng con h tr quan h Trong identifying relationship

Kha ngoi tr thnh mt phn kha chnh ca bng con Identifying relationship c m hnh ha nh composite aggregation.

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 24/31

B sung cc chi tit trong bng

B sung quan h

Trong non-identifying relationship

Kha ngoi c to lp trong bng con, nhng n khng phi l mt phn kha chnh ca bng con Cardinality iu khin bn ghi trong bng con c th tn ti m khng cn lin kt vi bn ghi trong bng cha n? Th d, Cardinality bng 1 th bn ghi ca bng cha phi tn ti, nu bng 0..1 th khng cn.

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 25/31

B sung cc chi tit trong bng

B sung qui tc ton vn tham chiu (Referential Integrity)

Ton vn tham chiu hnh thnh tp cc qui tc gip m bo tnh nht qun Th d,

Worker A c bn gi trong bng Employee v hai bng ghi trong bng Address. Nu bn ghi trong bng Employee b xa th mt tnh nht qun

Ton vn tham chiu trnh tnh hung ny bng cch xc nh ci g c th xy ra khi cp nht hoc hy b, cc la chn l

Bn ghi con t ng cp nht, hy b Trnh cp nht hy b bn ghi cha

Trong Rose: Thng tin gii php la chn c m t trong c t quan h Hai ton vn tham s c bn

Trigger: Thc hin Trigger khi cp nht, hy b bn ghi cha Declarative: Bao gm cc rng buc thuc mt phn ca kha ngoi

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 26/31

Cc khung nhn

Khung nhn (view) l cch quan st d liu di khun mu khc vi cu trc lu tr ca chng C th to lp bng virtual nh khung nhn cha d liu t mt hay nhiu bng trong CSDL Khung nhn m bo an ton c s d liu

V_0

K php ha ca View

T_Flight

T_Customer

<<Derive>> T_Flight

Ta c th lp nhm ngi s dng ch c th c d liu thng qua khung nhn trong CSDL trnh t do sa i d liu

<<Derive>> T_Customer

V_0

Biu din khung nhn bng quan h v gia view v cc bng ngun
dvduc-2004 Phn tch thit k hng i tng Bi 9 - 27/31

Pht sinh Object model t Data model


Rose cho kh nng t ng pht sinh object model t data model Kh nng c bit hu ch khi ta c ng dng v CSDL Khng phi mi kin trc trong m hnh d liu u chuyn i sang m hnh i tng
Phn t m hnh d liu Schema Table Column Trigger, Stored procedure Intersection table with primary/secondary key columns Intersection table with columns other than primary/secondary key Identifying relationship Class Attribute None Many-to-many association Many-to-many association with association class Composite aggregation Phn t m hnh i tng Package

Non- identifying relationship


Cardinality Index, Database, Constraint, Domain
dvduc-2004

Association
Cardinality None
Bi 9 - 28/31

Phn tch thit k hng i tng

Pht sinh Data model t Object model

Khi yu cu pht sinh data model t m hnh, Rose tm kim cc lp c thuc tnh nh du persistent l True (trong ca s c t lp).
Phn t m hnh i tng Package Persistent class Schema Table Phn t m hnh d liu

Attribute
Operation Many-to-many association Composite aggregation Association Cardinality Association class

Column
None Intersection table Identifying relationship Non- identifying relationship Cardinality Intersection table

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 29/31

Pht sinh CSDL t Data model

Vo bt c thi im no ta u c th pht sinh CSDL hay DDL script t m hnh d liu Rose cho hai kh nng

Pht sinh n thun DDL Chy DDL pht sinh CSDL

Ci g c pht sinh?

Bng, ct v quan h trong lc c pht sinh trong DDL hay CSDL

CREATE TABLE T_Customer ( Table CUSTOMER_ID SMALLINT IDENTITY NOT NULL, FIRST_NAME VARCHAR(15) NOT NULL DDL LAST_NAME VARCHAR(15) NOT NULL CONSTRAINT PK_T_Customer0 PRIMARY KEY NONCLUSTERED (CUSTOMER_ID) CONSTRAINT PC_T_Customer1 CHECK(CUSTOMER_ID>1000) ) ON STP0 GO CREATE INDEX TC_T_Customer2 ON T_Customer(ZIP_CODE) GO
dvduc-2004 Phn tch thit k hng i tng Bi 9 - 30/31

Tm tt

Bi ny xem xt cc vn sau

M hnh i tng v m hnh d liu To lp m hnh d liu B sung CSDL, lc , gi lnh vc, bng, th tc lu tr v cc quan h ng dng Rose vo

M hnh ha d liu Chuyn i qua li gia m hnh d liu v m hnh i tng

dvduc-2004

Phn tch thit k hng i tng

Bi 9 - 31/31

You might also like