You are on page 1of 42

PHN TCH THIT K HTTT

i hc Khoa Hc T Nhin Khoa CNTT ThS Phm Nguyn Cng

Chng 2 M HNH V CC PHNG PHP M HNH HA


M hnh Phng php m hnh ho Lch s cc phng php m hnh ha Mt s phng php phn tch thit k h thng hng i tng Mt s m hnh tiu biu

Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

M hnh (Model)
M hnh l mt dng th hin n gin ho ca th gii thc (Efraim Turban ). Cc c im:

Din

t mt mc tru tng ha Tun theo mt quan im C mt hnh thc biu din (vn bn, ho: th, s , biu ,)
Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

Phn loi m hnh

M hnh tnh v m hnh ng


M

hnh tnh:

Biu din thng s h thng Cu trc ca h thng (d liu, thng tin) v nhng cu trc tnh khc
M

hnh ng:

Biu din hnh vi, th tc ca h thng S tng tc gia cc i tng nhm thc hin hot ng h thng
Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

M hnh ho (modeling)
L cng vic biu din th gii thc dng m hnh Mc ch ca m hnh ho:

Lm

sng t vn tip cn M phng c hnh nh tng t ca h thng Gia tng kh nng duy tr h thng Lm n gin ha h thng
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

Phng php m hnh ha (Methodology)

Phng php m hnh ho (phng php phn tch thit k) l mt tp cc khi nim, quy tc, th t v cch thc hin biu din HTTT khi chuyn i thnh t ng ho. Thnh phn mt phng php:

Tp khi nim v m hnh

V d: phng php SA: m hnh DFD, phng php BOOCH: Class diagram, Object diagram, State transition diagram, module diagram, process diagram, interaction diagram

Qui trnh trin khai: gm cc bc v kt qu tng bc Cng c tr gip

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

Chng 2 M HNH V CC PHNG PHP M HNH HA


M hnh Phng php m hnh ho Lch s cc phng php m hnh ha Mt s phng php phn tch thit k h thng hng i tng Mt s m hnh tiu biu

Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

Lch s cc phng php m hnh ha

Thp nin 60
Phng

php s ng vi c tnh chung l chun ha k thut ca cc nh pht trin ng dng

Thp nin 70
Phng

php Descartes vi c trng l phn r chc nng ca HTTT theo m hnh phn cp v ng dng cc phng php lp trnh cu trc, n th. Mt s phng php: HIPO, SADT, SA hay SSA, SA/SD, Hng tip cn:

Tnh r rng Tnh dng S rt gn


Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

Lch s cc phng php m hnh ha

Thp nin 70 (tip)


Phn loi Phn tch cu trc: phn r chc nng HTTT (HIPO, SADT, PSL/PSA, SA-SD, SSA, SASS ) Khi nim cu trc: m t cu trc cc n th (PSL/PSA, JSD, SA-SD ) u im Tip cn theo hng t trn xung (top down) D dng p dng cho cc h thng c cu thnh bi nhng thnh phn ghp ni Tip cn tng bc Khuyt im Thiu qui lut chnh xc trong s phn r Thiu cc rng buc v vic b tr x l theo thi gian Kh khn trong vic phn r mt h thng ln
Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

Lch s cc phng php m hnh ha

Thp nin 80: phng php h thng, tip cn d liu v x l: MERISE, IDA, REMORA, IA,

Cch tip cn

Tnh ton th Tnh ng n


M hnh cu trc d liu ca h thng (hng tip cn CSDL) M hnh hnh vi h thng (tip cn theo hng x l) Bao gm 2 trng phi

Phn loi

Lng phn d liu v x l: MCT, SADT, MERISE Khng phn bit r rng gia d liu v x l: IDA, Remora, ACMPCM, CIAM

u im

M hnh ERA c s dng rng ri nht 2 cch tip cn ca h thng v d liu v x l Quan tm n nhng thnh phn khng tin hc ha Lng phn d liu v x l
Chng 2 - M hnh v cc phng php m hnh ha

Khuyt im

Phn 1 - Tng quan

10

Lch s cc phng php m hnh ha

Thp nin 90: phng php hng i tng, m hnh tiu biu l OOD, HOOD, BON, OSA, v sau ny l OOSA, OOA, OMT, CRC, OOM, OOAD, UML/RUP

c trng c bn

Tnh bao bc (encapsulation) Tnh phn loi (classification) Tnh kt hp (aggregation) Tnh tha k (heritage) Lp trnh:lp trnh n th -> hng i tng H qun tr CSDL: CSDL hng i tng Phng php k thut: CNPM (OOD, HOOD, BON, BOOCH, MECANO, OODA) Phng php ton cc:HTTT (OOA, OOSA, OOAD, OMT, OOM )
Chng 2 - M hnh v cc phng php m hnh ha

Phn loi: 2 hng


Cch tip cn: 2 cch

Phn 1 - Tng quan

11

Lch s cc phng php m hnh ha

Thp nin 90
u im Cu trc ho c cc cu trc phc tp v s dng c cu trc qui Xc nh c i tng ca h thng qua nh danh i tng Tnh tha k c a ra to tin cho vic ti s dng

Khuyt im Nhiu khi nim biu din, kh rc ri trong vic phn bit ng ngha mt s khi nim gn nhau Xc nh mt i tng kh kh khn Hng tip cn v h thng vn cn n gin

Kiu i tng <-> hnh vi M hnh ER -> i tng


Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

12

Lch s cc phng php m hnh ha

Tng hp lch s phng php tip cn


UML/ RUP OMT Sadt Axial OODa 90 Ida Ssa Remora Merise Tip cn h thng Jsd Arianne 60 Corig Niam OOSA CRC OOM OOA Tip cn i tng

X ly

Thi gian

Sa/sd

Hipo
Tip cn Descartes

80

Protee

70

D lieu

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

13

Chng 2 M HNH V CC PHNG PHP M HNH HA


M hnh Phng php m hnh ho Lch s cc phng php m hnh ha Mt s phng php phn tch thit k h thng hng i tng Mt s m hnh tiu biu

Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

14

OMT Object Modeling Technique


Tip cn theo 3 cch nhn v h thng: M hnh i tng m t cch nhn tnh v h thng (lp, thuc tnh, ton t, k tha, mi kt hp,) M hnh ng h thng m t kha cnh ca h thng c th thay i theo thi gian (trng thi, s kin, hnh ng, hat ng) M t chc nng v vic chuyn i d liu bn trong

Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

15

OOA Object Oriented Analysis

S dng nguyn l cu trc ho kt hp vi quan im hng i tng. Gm 5 bc:


Tm

lp v i tng Xc nh cu trc: cu trc tng qut chuyn bit; cu trc tng th thnh phn Xc nh ch : tng hp m hnh lp v i tng thnh cc nh v ln hn Xc nh thuc tnh Xc nh dch v: nh ngha cc ton t cho cc lp
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

16

Chng 2 M HNH V CC PHNG PHP M HNH HA


M hnh Phng php m hnh ho Lch s cc phng php m hnh ha Mt s phng php phn tch thit k h thng hng i tng Mt s m hnh tiu biu

Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

17

Mt s m hnh
M hnh t chc M hnh dng d liu M hnh

M hnh m hnh ng

M hnh d liu

M hnh i tng
Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

18

M hnh t chc

M hnh phn cp chc nng: phn r mt chc nng tng hp thnh nhng chc nng chi tit hn.
d: biu din cc chc nng ca h thng ca hng nc giai kht
Chc nng
H qun l ca hng

Quan h bao hm
Qun l tn kho

Bn hng

K ton

Bn l

Qun l n hng

Qun cng n

Qun l nhp hng

Qun l xut

Bo co tn

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

19

M hnh t chc
Khch hng B phn bn hng Kho Vn phng

M hnh lun chuyn (h thng)

t mua NGK hng Kim tra n hng

V d: biu din qu trnh x l t hng ca ca hng NGK

hng khng hp l

hng hp l

Kim tn kho

Lu n hng

Tn kho Ln k hoch giao hng Danh sch tn kho

CSDL

Lp phiu giao hng Phiu giao hng Phiu giao hng Lu phiu giao hng Ghi nhn tn kho mi

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

20

M hnh dng d liu

M hnh tng tc thng tin


V d: M hnh tng tc t hng ca hng NGK
n t mua NGK Phng bn hng b t hng chi n t mua Thng tin giao NGK NGK Thng n Tn kho tin t giao mua NGK NGK Vn phng

Khch hng

Kho

Tc nhn
Dng d liu, thng tin
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

21

M hnh dng d liu

M hnh dng d liu (DFD)

V d: Biu din m hnh DFD ca x l t hng ca ca hng NGK

n t mua NGK Khch hng

Kim tra hng

H hp l

Lu hng

H mi n t mua NGK

X l Dng d liu

H khng hp l H b t chi

mua NGK Tnh tn kho Thng tin tn kho Tn kho NGK

u cui
Kho d liu

Thng bo t chi hng

NGK giao + ha n Lp ha n giao hng

H hng giao Ha n giao hng Ho n giao hng

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

22

M hnh ng

M hnh mng Petri-net


V

d: cc trng thi ca mt n hng NGK

t hng hng mi

Ln lch giao hng

ln lch

Thanh ton
Giao hng Trng thi giao

thanh ton

Bin c
Trng thi hin hnh

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

23

M hnh ng

M hnh trng thi


V

d: trng thi mt n hng NGK


Chp nhn t hng
Trng thi khi to

t hng

hng mi

Hp l

Trng thi kt thc Trng thi

T chi do khng hp l B t chi 1 thng

Ln lch giao ln lch giao Thanh ton thanh ton Giao hng 2 nm giao

Bin c

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

24

M hnh ng

M hnh x l Merise
V

d: biu din x l ca mt n hng NGK


t hng

Kim tra n hng c Khng

Thanh ton n hng(a) a v b

Ln lch giao hng (b)

T chi n hng
Bin c ng b

Giao hng Lun lun


Phn 1 - Tng quan

n hng giao
Chng 2 - M hnh v cc phng php m hnh ha

Hnh ng

25

M hnh d liu

M hnh quan h NGK(MA_NGK, TEN_NGK, HIEU, LOAI, DVTINH, DON_GIA) HANG_NGK(SO_DDH, NGAY_DAT, KHACH_HANG, NGAYGIAO, TRANG THAI) CHITIET_DDH(MA_NGK, SO_DDH, SL_DAT, DONGIA_DAT) Cu trc c bn QUAN_H1 (THUC TNH KHA1, THUC TNH,) QUAN_H2 (THUC TNH KHA2, THUC TNH KHA NGOI,)
Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

26

M hnh d liu

M hnh mng
NGK LOAI_NGK
Loi thc th Lin kt 1-1

CHITIET_DDH

HANG_NGK

KHCH_HANG

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

27

M hnh d liu

M hnh thc th - kt hp
NGK (1,1) THUC (0,n) LOI_NGK

(0,n)
T

(1,n) HNG_NGK (1,1) CA (1,n) KHCH_HNG

Thc th

Mi kt hp Chng 2 - M hnh v cc phng php m hnh ha

Phn 1 - Tng quan

28

M hnh i tng

M hnh i tng theo OOA


n i tc M s H tn a ch in thoi NGK M s Tn VT n gi Lp & i tng 1 n Kt hp

n
NGK t Tng qut ho (IS A) Thnh phn (Is Part - Of)

Nh cung ng Phng thc thanh ton

Khch hng Cng n ti a Tr gi t hng() 1

S lng t n gi Tr gi()

Hng M s Ngy t Ngy giao Tng tr gi Tnh tr gia hng()

Thng ip (Message)

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

29

UML (Unified Modeling Language)


Phng php Booch + phng php OMT UP (Unified Process) (1994) Jacobson n lc tch hp phng php UP + OOSE UML u tin (1996) UML 1.0 cng b (1/1997) UML 2.0 cng b (2004)

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

30

UML (Unified Modeling Language)


UML 2.0 (2004) UML 1.5 (2003) UML 1.3 (99) UML 1.2 (98)

Chun ho bi OMG

UML 1.1 (11- 97) UML 1.0 (1- 97)

UML 0.9 (96) UML 0.8 (95) OOSE Booch OMT Cc phng php khc Cc thnh vin cng nghip (HP, IBM,Oracle, Microsoft, Rational,)

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

31

UML (Unified Modeling Language)

Cc c trng ca mt tin trnh s dng UML:


Tnh

lp (iterative) Gia tng (incremental) Tp trung vo ngi dng (user concentrated) Hng kin trc (well-defined structure)

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

32

UML (Unified Modeling Language)

Nm khung nhn v h thng


Khung nhn lun l (logical view) Khung nhn thc hin (implementation Khung nhn view) use case (Use case Khung nhn x l Khung nhn trin view) (proces view) khai (deployment view)

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

33

UML (Unified Modeling Language)

Cc s m t kha cnh tnh


S

i tng (object diagram) S lp (class diagram) S use case (use case diagram) S thnh phn (component diagram) S trin khai (deployment diragram)

Cc s m t kha cnh ng
Cc s tng tc (interaction diagram) S tun t (sequence diagram) S hp tc (collaboration diagram) S

hot ng (activity diagram) S chuyn dch trng thi (state transition diagram)
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

34

UML (Unified Modeling Language)


Ti x 1 Ca * Bng li xe Xe ti Xe t Xe m t 0..1 S hu 1..* Xe

Tc gi tnTcGi: string aCh: string 1 1..*

Sch taSch: string nmXutBn: integer

S lp
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

35

UML (Unified Modeling Language)


UML:Sch taSch =UML nmXutBn=1998

Hong:Tc gi tnTcGi =Nguyn Vn Hong aCh=123-Nguyn Vn C - Q5

C s d liu:Sch taSch =UML nmXutBn=1997

S i tng

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

36

UML (Unified Modeling Language)


Mn sch

Tr sch

Th th

Mn ti ch

c gi
c sch, bo Mua sch Nh cung cp S Use case
Phn 1 - Tng quan Chng 2 - M hnh v cc phng php m hnh ha

37

UML (Unified Modeling Language)


Tin ch

Giao din

C s d liu

X l

S thnh phn

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

38

UML (Unified Modeling Language)


Node 1 (phng qun tr):Server CSDL Node 3 (c gi):APP Giao din

Node 2 (phng qun tr):APP Server Tin ch C s d liu X l

Node 4 (th th):APP Giao din

S trin khai
Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

39

UML (Unified Modeling Language)


:Ngi gi Nhc my Tn hiu :My gi Tng i :My nhn :Ngi nhn

Quay s

Kt ni

Tn hiu

chung
Nhc my Tn hiu

S tun t

Tn hiu gc my Tin hiu gc my Tn hiu gc my

Gc my

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

40

UML (Unified Modeling Language)


Mun Sn sng cho mn Nhp kho lu tr Tr ang mn

Chm dt lu hnh Ht lu hnh

nh mt nh mt

nh mt Mt

Lu tr Nhp kho

nh mt Thanh l

S trng thi

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

41

UML (Unified Modeling Language)


Kim tra cc sch mn
[c gi n mn sch] [Sch mn<=3]

T chi mn sch
[Sch mn>3]

Ly sch

Cp nht thng tin mun

S hot ng

Phn 1 - Tng quan

Chng 2 - M hnh v cc phng php m hnh ha

42

You might also like