Tải bản đầy đủ (.docx) (128 trang)

Nghiên cứu các mẫu thiết kế và ứng dụng để xây dựng hệ thống quản lý thông tin tổng thể cho doanh nghiệp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.87 MB, 128 trang )


MCLC

BNGCHVITTT........................................................................................................................................... 5
DANHMCCÁCHÌNHVVÀðTH.......................................................................................................... 6
MðU................................................................................................................................................................ 9
1.Cơskhoahcvàthctincañtài:............................................................................................................ 9
2.Mctiêuvàphmvinghiêncucalunvăn......................................................................................... 11
3.Nidungnghiêncuvàthchincalunvăn......................................................................................... 11
4.Tómttcutrúccalunvăn................................................................................................................... 12
CHƯƠNG1................................................................................................................................................ 13
TNGQUANVMÔHÌNHSDNGLI..................................................................................................... 13
1.1.Giithiuchung............................................................................................................................... 13
1.2.Tngquanvcácmuthitk............................................................................................................... 13
1.2.1.Muthitklàgì? 13
1.2.1.1.Cácñnhnghĩavmuthitk[4,9]13
1.2.1.2.Cácthànhphncamuthitk[8,9]

14

1.2.2.Danhmccácmuthitkvàphânloi[9] .. 15
1.2.3.Sơñmiquanhgiacácmuthitk[9] .
1.3.Mtsmuthitkñinhìnhtrongcácngd

17

ngqunlý.................................... 17
1.3.1.MuQuansát

18


1.3.2.MuThchinlnh 20
1.3.3.MuTrngthái

22

1.3.4.MuPhươngthctiêubn 23
1.3.5.MuChuicáctráchnhim 24
1.3.6.MuChinlưc

26

1.3.7.MuKchbnthaotác

28

1.3.8.MuMôhìnhlĩnhvc

29

1.3.9.MuCngdliucabng

31

1.3.10.Muðitưngchuynñidliu

33

CHƯƠNG2................................................................................................................................................ 36
2



TNGQUANVHTHNGHOCHðNHNGUNLCDOANHNG
ERP................................................................................................................................

2.1.Lchshìnhthành ............................
2.2.ERMStíchhpERPvàNghipvsnxutkin
2.3.LiíchcadanhnghipkhisdngERP .......
2.3.1Tipcnthôngtinquntrñángtincy .....
2.3.2Côngtácktoánchínhxáchơn...............
2.3.3Citinqunlýhàngtnkho ................
2.3.4Tănghiuqusnxut .......................
2.3.5Qunlýnhânshiuquhơn .................
2.3.6Cácquitrìnhkinhdoanhñưcxácñnhrõràn
CHƯƠNG3........................................... ........................................................................

NGDNGCÁCMUTHITKðXÂYDNGCÁCPHÂNHT
THNGQUNLÝDOANHNGHIP.........................
3.1.Phânhchính:Cáclpcơs,qunlýbomt,
3.1.1.Bàitoánñtra .............................
3.1.2.Phmvibàitoán ............................
3.1.3.Phântíchyêucubàitoánvàxácñnhgii
3.1.4.ThitkPhânhchính ......................
3.1.4.1.Thitkcáclpxlý,truycpCSDL
3.1.4.2.ChcnăngQunlýbomtngdng ........
3.1.4.3.ChcnăngQunlýcutrúccácbngdli
3.2.PhânhQunlýmuabánvttư–nguyênliu..
3.2.1.Bàitoánñtra.............................
3.2.2.Phmvibàitoán ............................
3.2.3.Môtnghipvqunlý .....................
3.2.3.1. Xác ñnh các thông tin chung v qun lý mu

nguyênliu ........................................
3.2.3.2.Côngtácqunlýhotñngmuabánvttư


3

3
liu

3
......

3
3.2.4.ðcththng .............................

3.

3

3

3
3.2.5.Phântíchhthng ..........................
3

3.
3.2.6.Thitkhthng ...........................

3
3


3
CHƯƠNG4........................................... ......................................................................
CÀIðTVÀTRINKHAIHTHNG.....................
4.1.Cácyêucucàiñttrinkhaihthng.......
4.2.Giithiuchươngtrình .......................
4.2.1.Cácmctiêumàhthngñtñưc ...........
4.2.2.Cutrúcchươngtrình .......................
4.2.3.Cácñitưngsdngchươngtrình
4.2.4.Giaodinmtschcnăngchính ............
4.3.Khnăngtrinkhaiápdng...................
KTLUN ...........................................

1.Cácktquñtñưc ............................
2.Nhngvnñtntivàhưngpháttrin ........

......


TÀILIUTHAMKHO
TàiliutingVit ................................
TàiliutingAnh .................................
CáctrangWeb ......................................

Bcôngc .........................................


Chvittt
APICS
BOM

CSDL
ERP
ERM
GOF
GUI
MRP
MRPII
NCC
SQL
VTNL


DANHMCCÁCHÌNHVVÀðTH
Hình1.1:Sơñmiquanhgiacácmuthitk................................................................................................ 17
Hình1.2:CutrúcmuObserver................................................................................................................ 18
Hình1.3:BiuñcngtáccamuObserver................................................................................................... 19
Hình1.4:CutrúcmuCommand.............................................................................................................. 20
Hình1.5:BiuñcngtáccamuCommand................................................................................................ 21
Hình1.6:CutrúcmuState......................................................................................................................... 22
Hình1.7:CutrúcmuTemplateMethod................................................................................................. 23
Hình1.8.1:CutrúcmuChainofResponsibility.................................................................................. 25
Hình1.8.2:CutrúcmuChainofResponsibility.................................................................................. 25
Hình1.9:CutrúcmuStrategy.................................................................................................................. 26
Hình1.10:CutrúcmuTransactionScript............................................................................................. 28
Hình1.11:CutrúcmuTransactionScriptkthp
Hình1.12:CutrúcmuDomainModelsdngmuSt

vimuCommand......................... 29
rategy.......................................... 30


Hình1.13:CutrúcmuTableDataGateway.......................................................................................... 32
Hình1.14:CutrúcmuDataTransferObject......................................................................................... 34
Hình2.1LchspháttrincaERP................................................................................................................. 37
Hình2.2ERM–StíchhpERPvànghipv................................................................................................ 41
Hình2.3ðnhnghĩamôhìnhERM........................................................................................................... 42
Hình3.1.KintrúchthngdatrênmuMVC.............................................................................................. 47
Hình3.2.KintrúccáclpgiaotipCSDLsdng

muthitk....................................... 48

Hình3.3.SdngTableDefinitionñgimthiuth

ayñi.................................................... 50

Hình3.4.Cutrúccácphânlpqunlýcácgóica

miPhânhtronghthng.......51

Hình3.5.LưcñlpxlýdliucañitưngN

hânviên.............................................. 53

Hình3.6.Quátrìnhñăngnhphthng........................................................................................................ 54
Hình3.7.Môhìnhtngthcáccasdngliênquan

ñnbomt...................................... 54

Hình3.8.Cáclpthcthicasdngðăngnhp................................................................................................. 59
Hình3.9.Biuñcngtáccasdngðăngnhp................................................................................................. 60
Hình3.10.Cáclpthcthicasdngðimtkhu


............................................................... 60

Hình3.11.Biuñcngtáccasdngðimtkhu............................................................................................... 61
Hình3.12.CáclptrongcasdngCpnhtnhómq

uyn................................................... 61

Hình3.13.BiuñcngtáccasdngCpnhtnhó

mquyn............................................ 62
7


Hình3.14.CáclptrongcasdngPhânquyn. ....
Hình3.15.BiuñcngtáccasdngPhânquyn. .
Hình3.16.Lpthitkcasdngðăngnhpchưaá
Hình3.17.Cáclpthitktrongcasdngðăngn
Hình3.18.Cáclpthitkcasdngðimtkhu
Hình3.19.Cáclpthitktrongcasdngðim
.......................................................................................................................................
Hình3.20.Kintrúccáclpbomtngdng......
Hình3.21.MôhìnhcasdngphnQunlýcutrúc
Hình3.22.CáclpcacasdngCpNhtNhómBn
Hình3.23.BiuñcngtáccasdngCpNhtNhó
Hình3.24.CáclpcacasdngCpNhtBng ....
Hình3.25.BiuñcngtáccasdngCpNhtBn
Hình3.26.CáclpthitktrongcasdngCpnh
Hình3.27.Cáclpthitktrongcasdngcpnh
Hình3.28.CáclpthitktrongcasdngCpnh

Hình3.29.CáclpthitktrongcasdngCpnh
Hình3.30.KintrúclpcaphnQunlýcutrúc
Hình3.31.Môhìnhphâncpqunlýtrongdoanhngh
Hình3.32:SơñtintrìnhqunlýmuabánVTNL ..
Hình3.33:MôhìnhkháinimcachcnăngQunlý
Hình3.34:MôhìnhcasdngtngthcaPhânh
Hình3.35:CáclpthcthicasdngLpphiuyê
Hình3.36:BiuñcngtáccáclpcasdngLp
Hình3.37:CáclpthcthicasdngLpyêucu
Hình3.38:BiuñcngtáccáclpcasdngLp
Hình3.39:CáclpthcthicasdngLpyêucu
Hình3.40:BiuñcngtáccáclpcasdngLp
Hình3.41:CáclpphântíchthcthicasdngL
Hình3.42:BiuñcngtáccáclpcasdngLp
Hình3.43:CáclpphântíchthcthicasdngL
Hình3.44:BiuñcngtáccáclpcasdngLp


8
Hình3.45:Kintrúcvtlýcangdng. ..........
Hình3.46:CáclpthitkcasdngLpyêucu
Hình3.47:CáclpthitkcasdngLpyêucu
Hình3.48:CáclpthitkcasdngLpyêucu
Hình3.49:CáclpthitkcasdngLpyêucu
Hình3.50:Lpthitkyêucumuahàngápdngm
Hình4.1:Giaodinchínhcachươngtrình. ........
Hình4.2:Giaodinqunlýthcñơn. ..............
Hình4.3:GiaodinqunlýBáocáo. ...............
Hình4.4:GiaodinqunlýKháchhàng. ............



MðU
1.Cơskhoahcvàthctincañtài:
a. Cơskhoahcvàýnghĩathctincavicnghiên
hìnhsdnglivàoquátrìnhthitkphnmm

cuvàngdngcácmô
:

Mttrongnhnggiiphápñnângcaonăngsutca
mmlàxâydngnhnggiiphápñcóthsdngl
trongcácdánphnmmkhác.Srañicanhng
chyulàphântíchthitkvàlptrìnhhưngñ
ñángk.Trongñó,thitkhưngñitưngñóngva
ñnvicsdnglinhngtàinguyêntrongquátrì

quátrìnhpháttrinphn
itrongcácbưctiptheohoc
giipháphưngñitưngmà
itưngñãñemlinhngbưctin
itròñnhhưngvàquytñnh
nhpháttrinphnmm.

Thitkhưngñitưngchophépchúngtatheodõi
thucgiacácmôñuntrongkintrúccahthng.
hưngñitưngñãkhó,victhitkphnmmhưn
cóthsdnglithmchícònkhóhơnnhiu. Trư
tưngthtchínhxác,thhinchúngdưicáclpñ
phùhp.ðngthi,tacũngcnchrañưcsơñt
nhngñitưngnày.Nhngyêucutrêncnthitk

bàitoánhintisongcũngcncótínhtngquátv
mtphnhoctoànbcácbàitoáncóthgptrong

vàqunlýñưcsph
Tuynhiên,thitkmtphnmm
gñitưngvicácthànhphn
ctiên,cnphitìmracácñi
itưngvimcñtrutưng
hak,miliênhvàgiaotipca
ññápngñưcyêucuca
àlinhhotññcóthgiiquyt
tươnglai.

Mtkinhnghimthưngñưcápdngtrongquátrình
giiquytmivnñbngnhngthànhphncănbn
dngnhngmôhìnhñãthànhcôngtrongthctñi
tnggp.Mtkhimôhìnhgiiquytñãñhoànthi
nhiulntrongnhnglpbàitoánviyêucunht
gpmtbàitoànnàoñó,quaxemxétñxácñnhñư
ñưcmôhìnhthitkphùhpvàápdngngaynhng
mìnhmàkhôngcnphixemxétlitñu.

thitklàkhôngtìmcách
.Thayvàoñó,tacntìmcácháp
vimtsbàitoántươngtñã
n,nócóthñưcsdngli
ñnh.Khiñó,ngưithitkkhi
clpbàitoán,hcóthtìmra
môhìnhñóvàothitkca


Vicnghiêncuvàngdngcácmôhìnhsdngli

vàoquátrìnhthitkphn
àthitkphnmmhưngñi
trìnhthitklàmgimthiuthi
năngngdngvàmrngphát

mmlàmtbưctipcnmitrongkhâuphântíchv
tưng.Vicápdngcácmôhìnhsdnglivàoquá
gianvàchiphíñthitkphnmm,nângcaokh
khâuquantrngnhtcaquytrìnhxâydngphnm
lnñnsthànhcônghaythtbicaphnmm.Cá

m,giaiñonnàyquytñnhrt
cmôhìnhsdngliñãñưc


nghiên cu và áp dng thành công vào thc t, dó ñó


dnglivàoquátrìnhthitklàmgimthiutính
mmsaunày.
b. Cơskhoahcvàýnghĩathctincavicnghiên
HthngQunlýtngthdoanhnghip
Ngày nay, vi s phát trin nhanh chóng ca khoa h
côngnghthôngtinnóiriêngñãmanglinhiuthà
khoahcñưcápdngtrongttccáchotñngc
thànhcônghtsclnlao.VitNamhinnay,cá
nghipvavànhhuhtñãtrangbcơshtng
tocơschovicápdngnhngcôngnghmica

lĩnhvctìmkim,tchcvàxlýthôngtinphc
snxut.Vicơshtngcôngnghthôngtinngà
chc, doanh nghip ngày càng có nhu cu tin hc hoá
xut,qunlý,…vàmongmunmithôngtinqunlý
tr trên máy tính mt cách tp trung ñ có th tra
chóngmikhicónhucu.
HinnayhuhtcácdoanhnghipñãngdngCNTT
hànhdoanhnghipcamình.Tuynhiên,quakhosát
thngphn mmca cácdoanh nghip ñanghotñng
liênktñưcvinhauhocnucóthìliênkvi
vicliênktcáchthngphnmmkhácnhautrong
thng tp trung, qun lý tng th và chia s thông
ñngnht,trongsutlàmtnhucuhtsccpth
Tnhucuthctinxãhivàñcbitlàcañơn
skhoahccavicnghiêncungdngcácmôhìn
tíchthitkphnmm,lunvănñãchnñtàivi
kvàngdngñxâydngHthngQunlýthông
Mctiêucabàitoán“
nghip ”làxâydngmththngqunlýthôngtinbaog
Phân h gii quyt ñưc chn vn mt haymt s yêu
qunlýthôngtincadoanhnghip.
H thng ñưc xây dng s dng các công ngh k thu
hưngtipcnápdngcácmuthitk,sdngcô
tíchvàthitkbàitoántheomôhìnhhưngñitư


11
chkhách(COM+)ñcpnhtvàxlýthôngtin.ð
kñcóthchyñưcctrênnnWeblndesktop
Vihưngtipcnphântíchvàthitkhthngá

tưng s dng các mu thit k, và s dng công
ngh dngvàpháttrinhthng,chophéphthngdb
tươnglaiñápngñưccácyêucuthayñivàphát
Hthngñưcxâydnghoàntoànkhthikhiñưcá
nghipcóktnimngmáytính.

ngthihthngcũngñưcthit
application.
pdngcôngnghhưngñi
.NET ca Microsoft ñ xây

otrìvàpháttrinmrngtrong
trinngàycàngcaocaxãhi.
pdngvàocáctchcvàdoanh

2.Mctiêuvàphmvinghiêncucalunvăn


Nghiêncucácmôhìnhsdnglivànmbtñưc
cáchthc,tìnhhungápdngcácmôhìnhsdngl
ñcth.Quañó,tnghplimtsmuñinhìn
vàmtsmutiêubiungdngtrongcáchthng



Nmbtñưcphươngphápphântíchthitkhưngñ
Sdngphươngphápphântíchthitkhưngñitư
thit k ñ phân tích, thit k h thng qun lý th
doanhnghip.




mctiêu,ýnghĩavà
ivàogiiquytcácvn
hvhànhvivàtrìnhdin,
qunlýdoanhnghip.
itưngmththng.
ng,ápdngcácmu
ông tin tng th cho các

h thng da trên các

T kt qu phân tích và thit k tin hành xâydng

côngcvàmôitrưngñãlachn.


Thchintrinkhaivàápdnghthngtimtñơ

nv.

3.Nidungnghiêncuvàthchincalunvăn


Tngquanvpháttrinphnmmvàsdngli

– Nghiêncumtsmuñinhìnhvhànhvivàtrìnhdincũngnhưcácmu

ñinhìnhcacácngdngdoanhnghip.




Tngquanvhthnghochñnhngunlcdoanhng



VndngmuthitkcũngnhưlýthuytvERPñ
thitkHthngqunlýthôngtintngthchodo



Xâydngchươngtrìnhvàtinhànhcàiñtthnghi


12

4.Tómttcutrúccalunvăn
Lunvănbaogmcácphnsau:
Giithiulýdochnñtàilunvăn,nhucuth
MðU:
ngdngcalunvăn.
CHƯƠNG1:

ctinvàkhnăng

Tngquanvmôhìnhsdngli.

Chươngnàygiithiutngquanvphnmmsdng
v các mu thit k, gii thiu chi tit mt s mu
trìnhdinhayñưcdùngtrongcácngdngdoanhn


li,giithiutngquan
thit k ñin hình v hành vi
và ghip.

CHƯƠNG2 :TngquanvHthngHochñnhngunlcdoanh
ChươngnàygiithiutngquanvhthngERP,l
xuhưngpháttrin,tinhóacaERP.Quañóñưar
cáinhìntngthvhthngqunlýthôngtintn
vicphântích,thitkhthngqunlýthôngtin

chshìnhthànhcũngnhư
añưcnhngkháinimcũngnhư
gthcadoanhnghip,phcvcho
tngthchương3.

CHƯƠNG3: ngdngcácmuthitkñxâydngcácPhânh
Qunlýthôngtintngthdoanhnghip.
Chươngnàymôtviccndngcácmuthitkñ
dngmtsPhânhtronghthngQunlýthôngti

nghipERP.

cahthng

phântích,thitkvàxây
ntngthchodoanhnghip.

CHƯƠNG4 :Càiñt
rin khai h thng. Gii

Chương này nêu các yêu cu và môi trưng cài
ình nhp liu, báo cáo ca
ñt, t thiu mt s chc năng chính và ñưa ra mt s màn h
ìnhtrongthctin.
chươngtrình.Khnăngtrinkhaiápdngchươngtr

KTLUN:
Phn nàynêu kt qu ñt ñưc ca lun văn và ñ x
hưngnângcpvàmrngngdngñtàivàothc
tintrongtươnglai.

ut phương


CHƯƠNG1
TNGQUANVMÔHÌNHSDNGLI
1.1.Giithiuchung
Thit k phn mm là mt công ñon quan trng
trong phát trin phn mm. Cũng như vic thit k phn
m phnmmhưngñitưngcnphiñápngñưcyêu
cncótínhtngquátvàlinhhotññcóthgi
bàitoáncóthgptrongtươnglai.

quy trình xây dng và

m truyn thng, vic thit k
cucabàitoán,songcũng
iquytmtphnhoctoànbcác

c thayñi do yêu cu t

Trong quá trình xâydng và phát trin phn mm,
hitkmtcáchcngnhctrong
cá phíakháchhàng,cácñiukinphátsinhhayvict
quátrìnhthitkthưnglàmchohthngtrnên
rirm,cácmôñuncàngngàycàng
bphthucvàonhau.Sphthucnàylàmchoph
nmmngàycàngtrnênphình
tovàkhóbotrì,thmchídnñnthtbi.

Phươngpháplptrìnhhưngñitưngrañigópph
phnmmtrnênddàngvàlinhñnghơn.Thitk
dõivàqunlýñưcsphthucgiacácmôñuntr
Victìmcáchápdngnhngmôhìnhñãthànhcôngt
bàitoántươngtñãtnggpvàápdngnhngmôh
khôngcnphixemxétlitñu,ñmbotitki
pháttrinphnmm,nângcaoñtinhcyvàchtl

ngiúpcho victhitk
hưngñitưngchophéptheo
ongkintrúccahthng.
rongthctñivimts
ìnhñóvàothitkcamìnhmà
mchíphí,thigianxâydngvà
ưngphnmm.

Năm 1995, Erich Gamma, Richard Helm, Join Vlissides , và Ralph Johnson
(GangofFour
GOF)ñãcôngbcunsáchcah“E
lementsofreusableObject
OrientedSoftware”ñánhdusrañica“

Muthitk
”.ðâylàmtbưctinvô
cùngquantrngñivivicthitkphnmmhưn gñitưng.

1.2.Tngquanvcácmuthitk
1.2.1.Muthitklàgì?
1.2.1.1.Cácñnhnghĩavmuthitk[4,9]
Muthitk(

p

Design Pattern)làmtcpgiipháp/vnññưcñttêncóthá

dng trong nhng ng cnh mi và nhng hưng dn ñ

áp dng nó trong

nhngtìnhhungminhưthnào.[3]
Muthitkkhôngñơnthunlàmtbưcnàoñótro
phnmmmànóñóngvaitròlàsángkinñgiiqu

ngcácgiaiñonpháttrin
yt mtbàitoánthông


14
dngnàoñó.Cácgiaiñonphnmmvnhoànchnh

màkhôngcómuthit


k,nhưngsgópmtca muthitksgiúpcho
giiquytnhanhgnhơn,tñóñưaracáchgiiqu
Muthitkkhôngchñưcsdngñxácñnhbài
cònñưcsdngnhmcôlpcácthayñitrongmã
thngcókhnăngtáisdngcaodomuthitkt
nguyênlýthitkhưngñitưng.[9]
Vicxácñnhthnàolàmtmuthitkphthuc
camingưi.TheoGOF,cáchnhìnnhnphbinnh
chúnggingnhưcácmôtvcácñitưngphcv
quátrìnhthitkñãñưchiuchnhñgiiquyt
trưnghpnhtñnh.

1.2.1.2.Cácthànhphncamuthitk[8,9]
Mimuthitktrưctiênmôtmtbàitoánmàt
nhngyutcănbnnhtñgiiquytbàitoánth
nhiuln.Datrênmôtnhưtrênvcácmuthit
thànhphncơbnsau:

agpnhiulnrimôt
eocáchmàtacóthápdngli
k,tathychúngbaogmnhng

Tên:Làtêngiquañótacóthmôtbàitoáncngi
hinhayktqu.Vicñttênmuthitkchophé

iquyt,giiphápthc
pmôtcácbàitoánvàgii

phápmtcáchngngn.Tothànhmtngônngtron


gcngñngnhngngưi
Façade”,tahìnhdungngayñnmô

thitk.Víd,khinóiñnmuthitk“
hìnhthitkmtñitưngvivaitrògiaodchc

amttpcácthànhphnnh

hơn.
Bàitoán : Cho phép xác ñnh trong trưng hp nào thì áp dn
thôngquamôtbàitoánvàngcnhcabàitoánñ
Giiphápgiiquytbàitoán:

g mu thit k

ó.

Môtnhngthànhphntonênmuthitk

(cáclp,cácñitưng)cùngmiquanh,vaitrò
chúng(cutrúc,thak).Giiphápkhôngñcpñ
thchincthnàovìnóñưcápdngtrongrtn
Thayvàoñó,giiphápcamuthitkñưcmôt
cáchthctchcchungnhtcacácthànhphntro

vàcáchthcphihpgia
ncáchthcthitkhay
hiutìnhhungkhácnhau.
vitínhkháiquátcaovi
ngvicgiiquytbàitoán.



15
mu GRASP),muthitk

Vídnhưmuthitkñưcginhưmtthànhng(

gmãngun.

cóthmôtbnglihocmôhìnhthitkhaybn
Hqu

ncânnhckhiáp

:Lànhnggìthunhnñưccùngvinhngyutc

dngmuthitkñgiiquytbàitoán.Hquth

ưngkhôngñưcñcpkhi

nóiñnmtmuthitknhưngñâylàyutquyt

ñnhkhicnchnlahoc

phântíchchiphívàliíchkhiápdngcácmuth

itk.

1.2.2.Danhmccácmuthitkvàphânloi[9]
ErichGammavàcácñngscaôngñxut23mut

tiêu chí ñ phân loi các mu thit k này. ðó là p
(purpose)vàphmviápdngcamu(scope).

hitk,vàñãñưarahai
hân loi theo mc ñích s dng

a. Theo mc ñích s dng: Các mu thit k ñưc phân thành 3 nhóm: mu
kinto,mucutrúc,muhànhvi.
Mukinto ( Creational Patterns): mu kin totrutưnghoá quátrìnhkhi
toñitưng.Cácmunàygiúphthngkhôngphi phthucvàocáchmt
ñitưngñưctora,xâydngvàthhin.
Mu thit k kin to bao gm các mu sau:

Abstract Factory, Builder, Factory

Method, Prototype, Singleton.
Mucutrúc ( Structural Patterns):muthitkcutrúcñcpñncáchmàcác
ñitưngvàlpñitưngkthpñtonênmtcutrúclnhơnvàhudng
hơn.Victhitkcáclpñitưnglànhmñápn

gcácràngbuccthca

hthng.Mucutrúcmôtmiquanhgiacácl

pnàyvàspxpsaocho

nucóbtkìsthayñinàovihthngñukhôn glàmthayñinhngquan hñó.

Muthitkcutrúcbaogmcácmusau:
Facade, Flyweight, Proxy.


Adapter, Bridge, Composite, Decorator,

Muhànhvi (Behavioral Patterns):muhànhvimôtstươngtácgiacácñi
tưngvàcáchchúngphânphi,cngtác,ñgiiqu ytmthaymtnhómtrách nhimnàoñó.
Muhành vibaogmcác mu sau: Chain of Responsibility, Command, Interpreter, Iterator,
Mediator, Memento, Observer, State, Strategy, Template Method, Visitor.


16
b.Theophmvisdng:

cácmuthitkñưcphânthành2nhóm:

Phmviñưcnóiñnkhitaquytñnhnênápdng muthitkvàocáclphay cácñitưng.
MuthitkápdngchoLp

(Class):cácmunàymôtvàgiiquytmi

quanhgiacáclpñitưngvàlpconcachúng

.Cácmiquanhnàyñưc

thit lp qua cơ ch k tha và ch xyra thi ñ

imbiên dch chương trình

(compilertime).
Các mu thuc loi này bao gm:
Template Method.


Factory Method, Adapter (c lass), Interpreter,

Muthitkápdngchoðitưng( Object):cácmunàymôtvàgiiquyt
miquanhgiacácñitưng.Cácmiquanhnày cóththayñitithi
ñimchychươngtrình(runtime).
Các mu thuc loi này bao gm: Abstract Factory, Builder, Prototype, Singleton, Adapter
(object), Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Chain of
Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Visitor.


17

1.2.3.Sơñmiquanhgiacácmuthitk[9]

Hình1.1:Sơñmiquanhgiacácmuthitk

1.3.Mtsmuthitkñinhìnhtrongcácngd
Viphmvithchincalunvăn,phnnàycht
mu thitkñinhìnhvhànhvivàtrình dinha
qun lý doanh nghip như là các mu thit k dành c
logic)hoccácmuvhànhviquanhcacácñi
cácñitưng.


18

1.3.1.MuQuansát
1.3.1.1.Ýnghĩa
Muquansát( Observer)ñnhnghĩamiquanhphthucmtnhiugia

ñitưngsaochokhimtñitưngthayñitrng tháithìttccácñitưngliên
quancũngsñưcthôngbáovàtñngcpnhtthe o.

các

1.3.1.2.Môt
Vicphânchiahthngthànhnhiulpconcóquan
yuñcóthduytrìsbnvngcahthng.Chú
hthngmàttccáclpdínhchtlivinhau,
sdnglicachúng.
Víd,nhiucôngcgiaodinñhophântáchgia
(Data)bêndưi.Cáclpñnhnghĩachogiaodinv
nhauñlàmviccũngnhưcóthñưcsdng1các

hvinhaulànhucutt
ngtakhôngbaogimuncàiñt
bivìñiunàyslàmgimtínhtái
odin(GUI)rakhidliu
àdliutrêncóthkthpvi
hñclp.

Mu Observermôtcáchthitlpmiquanhnày.Cóhaiñit ưngthencht trongmunày,ñólà
Subjectvà Observer.Mtñi tưng Subjectcóthcómthoc nhiu ñi tưng Observer ph thuc vào
nó. Tt c các ñi tưng Observer s ñưc cnhbáo(notify)khi ñitưng
Subjectcósthayñivtrngthái.Khiñó,cácñi tưng Observerslythôngtinvtrngtháicañitưng
Subjectñtcpnhtli trngtháicachínhnó.

1.3.1.3.CutrúcmuObserver

Hình1.2:CutrúcmuObserver

cu trúc trên, khi khi to mt ñi tưng thuc l
p ConcreteObserver thì s
khitonàyphidatrênñitưngthuclp
ConcreteSubjectñlythôngtintrng
tháihinticañitưng
Subject.ðcñimca munàylàsánhxqualigia


19
Observer. ði tưng
Subject và các ñi tưng thuc lp
ñi tưng thuc lp
ConcreteObserversgicontrcañitưng
ConcreteSubject.Ngưcli,lpchaca
Observer(lpcha
lp ConcreteSubject(lp Subject)sgimtmngcáccontrñnlp
calp ConcreteObserver).

1.3.1.4.Biuñcngtác
ðitưng
ConcreteSubjectsgithôngbáoticácñitưng
ckhinàocósthayñitrngtháicacácñit
ưng Observer.
Sau khi xác nhn s thay ñi trong ñi tưng
ConcreteObserver có th truy vn thông tin ca các ñi tưng

Observercanóbt

ConcreteSubject, ñi tưng
Observer. ði tưng


ConcreteObserversdngthôngtinnàyññngbtrngtháicanó
Observerñó.

vicácñitưng

Hình1.3:BiuñcngtáccamuObserver

1.3.1.5.Cáctìnhhungápdng
Mu Observerthưngñưcápdngkhi:ngdngcómiquanhp
hthuc,
ñitưngnàyphthucvàoñitưngkia.Hockhi
mtsthayñiñitưngnày
dnñnsthayñiñitưngkhácvàchúngtakh
ôngbitchínhxáccóbaonhiêu
ñitưngphithayñitheo

1.3.1.6.Thunlivàhnch
Mu Observergiúpchúngtasdngcácñitưngchth(
tưngphthucvàotrngtháicanó(
Observer)mtcáchñclp.
Chúngtacóthsdnglinhngñitưngchth
dnglicácñitưngphthuctrngthái

Subject)vàcácñi

Subjectmàkhôngphis
Observercanóvàngưcli.



20
Chúng ta có th thêm vào mt hoc nhiu ñi tưng p
(Observer) mà không phi sa ñi li ñi tưng ch th
Observerphthuctrngtháikhác.

h thuc trng thái
Subject hoc các ñi tưng

1.3.2.MuThchinlnh
1.3.2.1.Ýnghĩa
MuThchinlnh( Command)dùngññónggóicácyêucukhácnhauthành tng ñi
tưng thc hin lnh riêng bit, do ñó cho phép thams hoá các tác v t
clientviñitưngthchinlnhkhácnhau,ñưa
vàohàngñihoctptinsghi
(logfile)cácyêucu,htrvicphchicáctá cvñãthchin.

1.3.2.2.Môt
Munàytoracáclplnh
Commandgiúpchovicgithchinsaunàyñưc
Commandñưcñnhnghĩatươngngvimthànhñng(
action)ca
ddàng.Milp
mtñitưngnhn(
receiver)nàoñó(còngilàmtcp
action receiver).Saunày,khi
ươngngvi
munthchinlnhnào,tachcngithchint
Commandtươngng.

1.3.2.3.CutrúcmuCommand


Hình1.4:CutrúcmuCommand
Cácthànhphnthamgiavàocutrúc

Command:

Command:ðnhnghĩagiaotipchovicxlýmttácv.
ConcreteCommand:ðnhnghĩaktnigiamtñitưngnhnvàmt
tácvthchin.
Client:Tomtñitưng ConcreteCommandvàñtcácñitưngnhncho nó.
Invoker:Duytcác

Commandññưaracácyêucukhicn.


21
Receiver:nhnbitkhinàocnthchintácvtươngng vicácyêucu ñưcgiti.

1.3.2.4.Biuñcngtáccacácñitưngthamgi

avàomu

Hình1.5:BiuñcngtáccamuCommand
Clienttocácñitưng

ConcreteCommandvàxácñnhcácñitưngnhntương

ng.ðitưng Invokerlưugicácñitưng ConcreteCommandñcóthduytvàñưa
racácyêucukhicn.


1.3.2.5.Cáctìnhhungápdng
Cóthngdngmu
Commandñxâydngmtthcñơnbngcáchtomttp
hpcácCommandtươngngvicácyêucuthchin
cácmcchntrênthcñơn…
Sdngmunày,tacóthxâydngcácchcnăngP hchi(undo),Thchin li(Redo),…
bngcáchlưulicáclnhñãñưcth chinvàomtdanhsách(queue, historylist,log,…).
Sauñó,chcndatheo danh sáchnàyñ PhchihocThc
hinlilnhtươngng.ðlàmñưcñiunày,tron glp ConcreteCommand(kthat lp
Command)phixâydngsnchcnăngPhchicachínhnó .Khiñó,mttp
hpcáclnhñãñưcthchinsñưcPhchibn gchcnăngThchinlica tnglnhchatrongnó.

1.3.2.6.Thunlivàhnch
CóthddàngthêmmimtLnhbivìchúngtakh
cũ.CóthtphpcácLnhkhácnhaulithànhmt
CácñitưngCommandcóthñưcxlývàktha
khác

ôngphisalinhnglp
Lnhtnghp.
gingnhưcácñitưng


22

1.3.3.MuTrngthái
1.3.3.2.Ýnghĩa
hitrng

MuTrngthái(

State)chophépñitưngcóthtñiuchnhhànhvik
tháicanóthayñi(hànhvicañitưngphthu
cvàotrngtháicanó).

1.3.3.2.Môt
tñưaracácngxkhác

Munàydùngñmôtlàmthnàoñitưngcóth
nhautươngngvimitrngtháivàothiñimch

y.

Munàyñưaramtlptrutưng(
Abstract)ñidinchocáctrngtháicañi
tưngtrongngcnh hinti(
Context), ñâyta gilàlp
State.Lpnàycungcp
giao din chung cho tt c các lp ñi din các tr
ng thái khác nhau ca ng cnh
Context.Cáclpcon,kthatlp
Statenày( ConcreteStateA, ConcreteStateB,…),s
cungcpchititcácngxtươngngvitrngth
áicanó.ðitưng
Statecóth
truyxutñitưng
Contextkhicnthitñnmgicácyêucucañitưng
Context.
Lp Contextsgimtbinñitưngtrng thái(mtlpcon
lưugitrngtháihinhành).Lp Contextsunhimttccácligitrngtháiñn
chobinñitưngnày.


calpStates

1.3.3.3.CutrúcmuState

Hình1.6:CutrúcmuState
Cácthànhphnthamgiavàocutrúc

State:

Context:Chacácyêucu,cácphươngthctphíaClient.Lưugimtth
ConcreteState).
hin(instance)catrngtháihinhành(thuclp
State: Cha các ng x có liên quan ñn các trng thái
c Context.
ConcreteState:cáclpconcàiñtcácngxtươngngvicác
cañitưng

Contexttrên.

a ñi tưng

trngthái


23

1.3.3.4.Cáctìnhhungápdng
ngxcamtñitưngphthucvàotrngtháic
nócóththayñivàothiñimchyvàphthuc


añitưngñó,ngxca
vàotrngtháilúcñó.

S ñiu khin có th quá ln và các nhánh trong cùn g mt cu trúc ñiu kin
Ifelse ph thuc vào các trng thái khác nhau ca
ñi tưng. Mu nàys tách mi
nhánhcacutrúcñiukintrênthànhmtlpriê
ngbit,doñócóthxlýcáctrng
tháicañitưngmtcáchñclp,khôngphthu
cnhiuvàocácñitưngkhác.

1.3.3.5.Thunlivàhnch
Nhngñitưng
Statecóthñưcchias.Hthngsdngcácñitưn
chiasnhmlàmtăngtínhlinhhotvàdnângcp
,thayñisaunày.
Sdngmunàylàmchocácschuynñitrngthá

itronghthngñưcrõ

ràng.

1.3.4.MuPhươngthctiêubn
1.3.4.1.Ýnghĩa
Mithuttoánbaogmmttpcáchànhñngtheom
tthtxácñnhvàmi
hành ñng s ñưc cài ñt khác nhau tuỳthuc vào c
ác th hin khác nhau ca ñi
tưng.MuPhươngthctiêubn(

Template Method)giúpchúngtañnhnghĩatht
cáchànhñngnàyvàchophépcáclpconcanóñ
nhnghĩalicáchànhñngtuỳ
thucvàongcnhcth.

1.3.4.2.Cutrúcmu

Hình1.7:CutrúcmuTemplateMethod

gstate


×