Di doi vdi vi~c phan tkh mQt h~ thO'ngrhea hudng dO'ituQng d6 lathie't ke' mQt h~ thO'ngrhea hudng d6i tuQng, vdi slf baa ham bell trong mQtldp dO'i tuQng la nhG'ng thuQc tinh, phudng th
Trang 1£>AIHOC QUaC GIA TP HO CHI MINHTRUONG£>AI HOC KH9A HOC TV NHIEN
Trang 2Chu'dng 3 UNG D1)NG CACH TIEP cAN THANH TO TRONG PHAN TICH,
THIET KE H~ THONG THONG TIN: THU.NGHI~M val H~ THONG
3.1 MQt so each tiep e~n truy~n thong d~ phan rich, thiet ke mQt h~ thong
3.2.2 Xay dtjng m~u phan tich trong giai do~n phan tfeh h~ thong qmln 1y
3.3 Xay dtjng mQt ling dl,ll1ge1;lth~, b~ng each dung 1~i h~ thong quan1y
Trang 3GIAO DTCHBAT TRUaC : trang 55
4.2 Xay dlfng mQt ling dl;lng el;lth~ bang each dung l~i
Chuang 5 BA.NH GIA KET QUA THljC HI~N VA HUaNG PHA.T TRIEN trang 74
Trang 4Chtidng 1
DANNH~P
Khoa hQc ngay cang phat tritin chinh la nha d~c ditim thlia huang l~inhG'ngthanh qua cua the' h~ trudc d6, cac the' h~ trudc da "di truy~n" cho
con chau nhG'ng d~c tinh u'u vi~t cua mlnh VI v~y khi phan tkh mQt h~
thO'ng rhea hudng dO'i tuQng chung ta luon dling tren quail ditim : sa dl;lng
lq,inhilng gi dii co tli trudc d6, cua chinh mlnh hay do mQt ai d6 da t~o ra
va khi khong phai l~p l~i nhung gl da lam, chung ta se c6 nhi~u thai gian
cho stj sang t~o, thie't ke' nhG'ng chudng trlnh phlic t~p mang tinh hi~u qua cao.
Di doi vdi vi~c phan tkh mQt h~ thO'ngrhea hudng dO'ituQng d6 lathie't ke' mQt h~ thO'ngrhea hudng d6i tuQng, vdi slf baa ham bell trong mQtldp dO'i tuQng la nhG'ng thuQc tinh, phudng thlic va slf ki~n ma nhungchuyen gia l~p trlnh c6 thti rhea d6 dti cai d~t nhung phffn m~m ling dl;lngffiQtcach hi~u qua, va khong nhfft thie't mQi vffn d~ d~u phai duQc phantkh dti c6 duQCnhung baa cao chi tie't, r6i sail d6 mdi chuytin sang giai
do~n thie't ke'.
Tli nhG'ng quail ditim phan rIch, thie't ke' h~ thO'ng rhea hudng dO'i
tuQngnhu da lieu tren ma ngay nay phan tkh thie't ke' h~ thO'ngrhea hudngdO'ituQng da chin mu6i thanh mQt cach tie'p c~n c6 hi~u llfc va thlfc te' Wivi~c phat tritin phffn m~m va d~t hi~u qua "dung l~i" Tuy v~y, "slf dungl~i" v~n con bi h~n che' do mQt sO'nguyen nhan sail day [13]:
Trang 5- Trang nhi~u tntong hQp, khong th€ n~lOd~c ta duQc dfty dli mQt
vin d~ ngay tu dftu Vi~c lam ban mftu lam nay sinh di;icta thl!c
hi~n duQc, tuc la ban mftu ph\lc V\l nhu mQt bi€u di~n cha yell
cftu, chung co th€ duQc ki€m chung va phan tfch them nii'a Phan
tfch huang d6i tuQng co th€ dftn d~n vi~c lam ban mftu ctfc kyhi~u qua, d€ ti~n hanh dung d~n vi~c lam ban mftu, co th€ cftn Winhii'ng cong C\l va ky thu~t d~c bi~t MQt cach d€ lam ban mftunhanh la l~p rap, thay vi xay dtfng, ban mftu duQc lam bAng cachdung l~i mQt t~p cac thanh phftn phftn m~m da co san MQt thanh
phftn phftn m~m co th€ la mQt ciu truc dii' li~u (hay co sa dii' li~u)
hay mQt thanh phftn ki€n truc phftn m~m (nhu chuang trinh) haymQt thanh phftn thli Wc (nhu mQt mo dun) Trang m8i truong hQp,
thanh phftn phftn m~m phai duQc thi~t ke-'thea cach thuc lam cha chung co th€ duQc dung l~i ma khong cftn bi~t chi ti~t v~ cach
lam vi~c bell trang Tuy nhien, vi~c lam ban mftu va dung l~i cacthanh phftn phftn m~m chi ha~t dQng duQc'n€u h~ th6ng thu vi~n
da duQc phat tri€n saa cha cac thanh phftn thtfc t6n t~i co th€ duQc dua vaa danh m\lc va tlm ki~m l~i M~c du nguoi ta da t~a ra mQt sO'cong C\l d~c bi~t d€ dap ling yell cftu nay, nhung vftn con nhi~u h~n ch~ cha vi~c xay dtfng thu vi~n, va stf dung l~i chi a d~ng ma
ngu6n (mQt ciu truc dii' li~u hay mQt thanh phftn ki~n truc phftn
m~m, hay mQt thanh phftn thli t\lc) Vi th~, con nhi~u vi~c cftn phai lam nii'a.
- Vi~c dung cac lOp, lOp can va k~ thua co tftm quail tn;mg chli ch6t
Trang 6trong cong ngh~ ph~n m€m hi~n d~i Tuy nhien, khong gi6ng cac khai ni~m thie't ke' khac dQc l?p vai ligon ngii' l?p trinh, vi~c cai
d~t cho lOp, lOp con va cac d6i tuQng thay d6i theo ligon ngii' l?ptrinh duQcdung Bdi 19do nay, thao lu?n t6ng quat tru'ac day phai
duQc saa d6i trong hoan canh ligon ngii' l?p trinh chuyen dl;lng.
Ch~ng h~n, Ada cai d~t d6i tuQng nhu mQt goi (package) va d~t
duQc cac d6i tuQng thong qua vi~c dung cac truu tuQng va dinhki€u dii' li~u Ngon ngii' l?p trinh Smalltalk m~t khac l~i cai d~ttung khai ni~m duQc mo tit mQt cach tnjc tie'p, lam cho chung lamQt ligon ngii' l?p trinh huang d6i tuQng dung nghla VI the', st!
dung l~i d day phl;l thuQc vao ligon ngii' l?p trinh.
- Thu vi~n cac ph~n m€m sa dl;lng l~i da co trong cac ling dl;lng
thuong m~i, cac h~ th6ng va cong vi~c th(ji gian tht!c, cac va'n d€cong ngh~ va khoa hQc Tuy nhien st! dung l~i nay chI dung l~i d
ph~n m€m t~o ra chung, bell c~nh d6, con qua it cac ky thu?t h~ th6ng d€ b6 sung cho mQt thu vi~n, cac giao di~n chu§n cho ph~n m€m dung l~i ra't kh6 tang cuong, -va'n°d€ cha't luQng va baa tri v~n con chua duQc giai quye't, va mQt di€u quail trQng, nguoi phat
tri€n thuong khong bie't r~ng cac kh6i xay dt!ng ph~n m€m thichhQp th?m chi da t6n t~i!
- Nguoi l?p ke"ho~ch ph~n m€m phai xem xet Wi hai "qui tdc" khi
ph~n m€m dung l~i duQc xac dinh nhu mQttai nguyen :
1 Ne'u ph~n m€m hi~n c6 dap ling duQc yell c~u thl chi phi d€ c6 duQCph~n m€m hi~n co g~n nhu baa gio cling it bon chi phi d€
Trang 7pha t tritin ph~n m6m tuong duong.
2 Nhung n€u ph~n m6m hi~n co doi hoi "siIa d6i nao do" trudc
khi no co thti duQc tich hQp dung dan vdi h~ thO"ngthl chi phidti siIa d6i cho ph~n m6m hi~n co doi khi co thti ldn hon ra't
nhi6u so vdi chi phi phat tritin ph~n m6m tuong duong.
Tli do, cac nha khoa hQc da dua ra mQt cach nhln mdi theo hudng dO"i tuQng dti "st! dung l';li" d';lt hi~u qua hall, vdi chi phi d muc tha'p nha't, va
cach nhln do co duQc d~t ten la cach ti€p c~n thanh to"[8] Vdi cach ti€pc~n thanh to":
- Cling ca'p cho chung ta mQt kha nang co thti lap rap va bitiu di~ncac ldp cling vdi nhau khi cac qui lu~t rang buQc da duQc dinh
nghia r6 rang, VI v~y, chung ta co thti dung l';li chung d muc cao
hon ma ngu6n, nghIa la d do ngoai ma ngu6n ra con co cac so d6
d~c ta va cac thi€t k€ chi ti€t.
- Cach ti€p c~n thanh to" v~n khong hac bo thu vi~n cac ldp ma
chung con dua ra cac ngon ngii' m~u (pattern languages) dti cQtch~t cac ldp l';li vdi nhau M~t khac, cach ti€p c~n thanh to"condua ra khai ni~m v6 ph';lm vi ung dlJng cua mQt h~ th6ng dtichung d';lt duQc st! dung l';lid muc dQcao nha't
- Chi phi thich ung vdi cac yell c~u mdi se giam dang kti va it sai
sot VIcac siIa d6i duQc t~p trung d mQt ch6 do co ch€ qUail ly va
d~c tinh dung l';li cua cach ti€p c~n thanh to".
Trang 8Nhu the', slf dung l(;litheo cach tie'p c~n thanh to' khong don thuftn la thu vi~n cac lOp dO'ituQng ma chung con baa g6m cac thanh phftn khac bon
nua va cac thanh phftn nay se duQc d~ c~p chi tie't trong chuang 2 cua lu~n
van.
Lu~n van baa g6m 5 chuang:
Chlidng 1 : Gidi thi~u v~ tinh dung l~i trong phan tich thie't ke' huang
dO'ituQng cling vai nhung h(;lnche' "dung l'.ti" cua chung va tu do tren n~ntang huang dO'ituQng, cac nha khoa hQc dff dua ra cach ti€p c~n thanh to'
d€ giup cho "slf dung l(;li" d(;lthi~u qua to't bon.
Chlidng 2 : Khao sat cach tie'p c~n thanh to'trong qua trlnh Kay dlfng
va phat tri€n phftn m~m Qua do, chung ta tha'y duQc cach tie'p c~n nayhuang tai mlJc lieu : "xay dlfng mQt h~ thO'ngnhanh bon, dfty du bon vaichi phi Kay dlfng va baa trl tha'p nha't"
Chlidng 3 : Trong chuang nay, lu~n van se trlnh bay ling dlJng cach
ti€p c~n thanh to' trong phan tich, thi€t ke' mQt h~ thO'ngthong tin va d€minh hQa tinh kha thi cua cach ti€p c~n nay trong h~ thO'ngthong tin, h~
thO'ng qUail ly cac giao dich d~t truac se duQc chQn bai ly do sail :
Khi Kay dlfng ho~c phat tri€n cac h~ thO'ng thong tin, chung ta
thuong g~p cac yell cftu nhu la: khach d~t phong khach s(;lntrong h~ thO'ngthong tin qUail ly kha"chS(;lncua mQt Cong Ty"X, sinh vien dang ky muQn
sach thu vi~n trong h~ thO'ng qUail ly thu vi~n cua mQt truong d(;li hQc Y ho~c d~t mila hang cua mQt Cong Ty Z nhfi'ng va'n d~ nay tuy nam trong
cac h~ thO'ngling dlJng khac nhau nhung chung co cung mQt ban cha't, dochinh la nhfi'ng dich VlJd~t truac va bai loan chung duQc d~t ra la : Kay
Trang 9dlfng mQt h~ thO'ngthong tin qUail ly cae dich vv d~t tnfac nay d~ co th~dung l~i trong nhi~u l1nhvlfc li'ng dvng khac nhau Va each liSp c~n thanh
to' r§t thich h<;5pd~ giai quySt bai loan nay.
Chu'dng 4 : Cai d~t mQt khung mftu cho h~ thO'ng qUail ly cae giao
dich d~t tnfac.
D~ Kay dlfng h~ thO'ng qUail ly cae giao dich d~t tnfac thanh mQt li'ng
dvng co th~ dung l~i vai d~y dtl cae chi liSt phan tich, thie't kS va cae so d6minh hQa chung ta se sa dvng cong cv ph~n m~m Rational Rose 2000 d~Kay dlfng mQt khung mftu vai ten gQila "qlgd.mdl"
Chlidng 5 : Danh gia kSt qua thlfc hi~n va huang phat tri~n.
Trang 10Chtidng 2
? "'" " '"
KHAO SAT CACH TIEP C~N THANH TO
Cach liSp c~n thanh to' d~ c~p dSn cach xay dlfng cac thanh ph~n d~c6 th~ sa dlJng l~i ho~c slf dung l~i cac thanh ph~n da du<jc xay dlfng tunhung h~ th<5ngkhac nhau d~ tu d6 lam n~n tang cho qua trlnh xay dlfng
va phat tri~n cac h~ thO'ngling dlJng Trong chuang nay, chung ta khao satcach liSp c~n thanh to' qua cac thanh ph~n ma cach tie'p c~n nay d~ c~p,dC'n,d6 la : thanh to', mftu va khung m~u
Trong ph~n trlnh bay, cac thu~t ngu du<jc dich tu tiSng Anh sangtiSng Vi~t d~ nguoi dQc d~ theo d6i, do d6 chung du<jcdich theo y nghlacua vin d~ ma chung ma ta, khang nhit thie't dung dung tu dich ma tu di~ncling ci p, dai khi khang phu h<jp vdi nghla dung trong lInh vlfc mdi menay
2.1 Thanh to' (Components) [7]
Dinh nghia :
Thanh t<5la slf kSt h<jpeua mQt hay nhi~u don vi cai d~t (interface)cua cac ki~u du li~u truu tu<jng(ADTs - Abstract Data Types) - mQt don vicai d~t theo each tie'p c~n thanh to' d6 la slf eai d~t eua mQt Wp dO'itu<jng
truu tu<jng.
(j mlie kie'n true, thanh to'tuong ling vdi mQt h~ thO'ngcon (j mliethie't ke', thanh to' tuong ling vdi mQt hay mQt vai don vi cai d~t c6 rang
Trang 11buQcvoi nhau d6 t~o thanh C,l"Cthanh ph~n co ynghla, C5 mli'c nay, thanh to'
co th6 duQcbi6u di~n bang mQt m~u thie't ke' (xem trlnh bay chi tie't trong
lOp co quail h<% chi)t che voi nhau.
Cae thanh phfin eiia IDQt ddn vi eai d:}t :
MQt ddn vi cai di)t g6m ba ph~n Ph~n thu' nhftt chli'a ten cua ddn vidti di)t, ph~n thli' hai chli'a thong tin tr~ng thai hoi)c cac thuQc Hnh hoi)c
ffiQtsd d6 di)c ta, ph~n thli' ba chli'a cac phudng thli'c ma ddn vi cai di)t cling ca'p Hlnh 1 mo tel mQt ddn vi cai di)t.
Ten don vi dli di,lt Cac thuQctinhl So d6 di,lcta Cac phuong thti'c
Hinh 1 Mo ta IDQtdon vi dti di[tt
Cac ddn vi cai di)t co thS ke't hQp cling voi nhau d6 t~o thanh cac li'ngdl;!ngd~y duo Sail day la mQt VIdl;!minh hQa cach thie't ke' mQt ddn vi cai
d~t tU s1!ke't hQp cua cac ddn vi cai di)t da co san (hlnh 2)
Dvcd_nhapdondathang (ddn vi cai di)t nh~p ddn di)t hang) duQc thie't
ke' tu s1! ke't hQp chi)t che cua cac ddn vi cai di)t Dvcd_Khachhang, Dvcd_ddh, Dvcd_ctddh da co san tu mQt hay nhi~u h<%tho'ng khac nhau Trang mo tel thie't ke' cua Dvcd_nhapdondathang mQt ph~n chli'a ten cua
Dvcd_nhapdondathang, mQt ph~n chli'a sd d6 di)c ta thie't ke'
Trang 12Dvcd_nhapdondathang, do 1a so d6 d~c ta cac don vi cai d~t du'Qc dung 1~i
trong thie"t ke" Dvcd_nhapdondathang cung voi cac n6i ke"t cua chung va
ph~n con 1~i 1a cac phu'ong thlic ma Dvcd_nhapdondathang cling d(p
Ne"u mQt don vi cai d~t nao do sa dl;}ng Dvcd_nhapdondathang va
don vi cai d~t nay mu6n truy xua't cac thong tin thl cac thong tin do se do
cac don vi cai d~t tu'ong ling cling ca'p, Dvcd _Nhapdondathang chi du'a ra
cac phuong thlic cua rieng chung chli khong du'a ra cac thong tin dff cotrong cac don vi cai d~t ma chung sa dl;}ng
Hlnh 2 Sli'dl;lngcae don vi dli d~t co siin d~ thie't ke'Dvcd_nhapdondathang
MQt vi dl;}khac, chung ta co th~ Kay d1!ng thanh to' h6 trQ kinh doanh bang cach Hip rap, tich hQp cac don vi cai d~t tu :
- H~ thO'ng ke"loan va
- H~ th6ng quan 1y cac don d~t hang
Cach tie"p c~n thanh t6 cho phep chung ta Kay d1!ng don vi cai d~t
Khachhang tu s1!tich h(fp cua hai don vi cai d~t 1a NguoiIToan (dff du'Qc
Xulyoonoathang (Dveo_khaehhang,Dveo_etddh, Dveo_ddh) Themmotmathangchodoh (Dvco_ddh, Dvcd_ctddh) LaytenKHO : string
Trang 13Kay dtfng trong h~ thO'ng k€ loan) va Nguoidathang (da dU<;5cKay dtfng trong h~ thO'ng trong h~ thO'ng qUail 1y cac don d~t hang), day chlnh 1a di€rn d~c trung trong cach ti€p c~n thanh to', cach ti€p c~n thanh to' da dua ra khai ni~rn rn~u (xern trlnh bay chi ti€t trong rn\lc 2.2) d€ giai quye't va'n d€ nay M~t khac cach tie'p c~n thanh to' cling cho phep chung ta dung 1:;licac k€t nO'i da dU<;5cKay dtfng giil'a cac don vi cai d~t dU<;5cdung 1(;li.Hlnh 3
rninh h9a qua trlnh Kay dtfng thanh to' h6 tr<;5kinh doanh tu cac don vi caid~t da co trong cac ling d\lng khac nhau :
Thanh to' h6 trc;lkinh doanh
* I MATHANG
Hinh 3 Xfiy dvng thanh to' h6 trQ kinh doanh tu cae don vi cai d~t dff co s5n
trong ht$th6ng ke' loan va ht$th6ng qUailly don d~t hang.
Trang 14Cac ky hi~u tren so d6 :
Ky hi~u : -. dung d~ chI st! dung l(;licac don vi dli d~t da duQcxay dt!ng tli'mQt h~ th6ng khac
Ky hi~u :p> dung d~ chI st! dung l(;licac ke't n6i da duQc xay
dt!ng giua cac don vi cai d~t duQc dung l(;litli' mQt h~ th6ng khac.
Nhuthe', chung ta co th~ thie't ke' cac don vi cai d~t/thanh to' d~ dungl(;likhi xay dt!ng cac ung d1;lng,nhung kh6ng Den thie't ke' cac don vi cai d~th6 trQ cho vi~c dung l(;liqua IOnbdi VIchung se rfft phuc t(;lpva kho dungl(;li
Trong cach tie'p c~n thanh to', cac nha khoa hQc da dua ra mQt thanhphfin kh6ng kern phfin quail trQng ma thanh to' da d~ c~p de'n do la: mftu
2.2 M~u (patterns)
Trong [1], khai ni~m mftu duQc dinh nghla nhu sail : "m6i m6u la mQt
quy tde 3 thanh phdn co lien hf vdi nhau do la mQt van d~ edn gidi quye't, mQt phC;lmvi eua van d~ do, va mQt gidi philp el;t thi eho van d~ db" Tuy
nhien, vao thai do ykie'n cua [1] v~ mftu kh6ng duQc chffp nh~n rQng di.
Mai de'n Dam 1987, khi mftu duQc d~ c~p mQt lfin nua t(;li hQi nghiOOPSLA (Conference on Object -oriented Programming System,Languages and Applications) thl bffy gia moi co nhi~u nha khoa hQc quailtam de'n "m6u" va nghien CUllv~ chung
Cho de'n nay co nhi~u lo(;limftu da duQc xay dt!ng, nhung co haitrong sO'cac mftu lien quail dang duQc d~ c~p nhi~u nhfft do la : mftu thie't
Trang 15ke' (design pattern) [5] - la cac m~u h6 tr<j trong qua trlnh thie't ke' h~thO'ng, va m~u phan tich (Analysis pattern) [3] - la cac m~u h6 tr<j trongqua trlnh phan tich h~ thO'ng.
~ Milu thiC'tkC'(design pattern) [5]
M~u thie't ke' dti<jc ra ddi vao nam 1995, chung dti<jc Kay dlfng b~ng
cach ling dt;lng,md rQng va dtia cac ykie'n v~ m~u cua [1] dtn ph~n m~m
Dinh nghia milu thiC'tkC':
"M~u thie't ke' la mQt giai phap chua'n cho mQt vf{n d~ xuf{t hi~n trd l~i trong mQt ngu canh".
Van d~ : vf{n d~ thie't ke' phai dti<jc giai quye't.
Gidi phdp : hanh dQng dti<jc dtia ra d~ giai quye't mQt vf{n d~ cho
trtidc trong ngu canh rieng cua vf{n d~ nay.
Ngfl cdnh : ma ta ph~m vi ma ddo vf{nd~ hi~n hUll va ma ta cacti~n di~u ki~n ma m~u nay dti<jcap dt;lng
Cae thanh ph~n eua milu thiC'tkC':
Trong [5] mQt m~u thie't ke' dti<jcma ta qua cac ytu to' nhti sail:
Ten (name) : ten m~u phai co y nghla, chung ta dung mQt tu donho~c mQt Cali ligan d~ d~t ten cho m~u Dai khi mQt m~u co th~ co nhi~u
Trang 16ten dung chung ho~c nhi~u ten d~ nh~n bie't trong ad li~u.
Ddn giai (intent) mQt trlnh bay ng~n tra Wi cho diu hoi "Thie't ke'
m~u nay d~ lam gl?"
Ten khdc (also Known as) mQtten khac cua m~u.
DQng ca (motivation) minh hQa va"n d~ thie't ke', ca"u truc cua lOp va
d6i tuQng trong m~u DQng co nay se giup chung ta hi~u r6 hon slf mo ta
tnYutuQng cua mall
Trz,{(jngdp dl;lng(applicability) la ngu canh ma (j"do m~u co th~
duQc ap d1;1ng(ngu canh la slf mo ta v~ moi truong ma (j do va"nd~ duQchi~n huu va slf mo ta cac ti~n di~u ki~n d~ m~u na"yduQc ap d1;1ng).Thong
qua truong ling d1;1ngchung ta se tha"y duQc kha nang ling d1;1ngcua m~u.
Sa db leJp (structure) mQt slf bi~u diSn b~ng d6 hQa cac lOp trong
m~u dlfa tren mo hlnh OMT (Object Modeling Technique) Chung ta cling
co th~ sa d1;1ngcac so d6 tuong lac d~ bi~u diSn slf tu§n tlf cua cac yell c§u
va slf cQng lac cua cac d6i tuQng.
Thanh vien (participants) vai tro cua nhung IOp/ d6i tuQng trong m~u thie't ke'.
Phz,{angthuc cQng tdc (collaborations) phuong thlic dQng cua cac
lOp tuong lac trong m~u thie't ke'
H(zu qua (consequences) trlnh bay lQi ich khi dung m~u thi€t ke' Cai dijt (implementation) gQiy va ky thu~t d~ cai d~t m~u thie't ke'
Mii minh hQa (sample code) cac do(;tnma minh hQa m~u thie't ke' Tham khao (known uses) nhung tham khao d€n cac h~ th6ng thlfc Mdu lien quan (related patterns) cac m~u co lien quail m~u thie't ke'.
Trang 17Danh m\lc cac mftu thie't ke' :
Trong [5], mQt danh sach cac m~u thie't °ke' cho cac va'ri d~ dU<;fcl~p
. Mftu t~o d61 hi<jng (creational patterns)
M~u t~o doi tU<;fngla sl! truu tu<;fngh6a qua trlnh t~o ra mQt doitu<;fng,m~u t~o doi tu<;fnggiup chung ta t~o mQt h~ thong khong l~ thuQc
cac doi tu<;fng dU<;fct~o.
C6 hai va'n d~ chinh trong m~u t~o doi tu<;fngd6 la sl! d6ng g6i va sl!che da'u thong tin f)gu lien, la sl! d6ng g6i ta't ca tri thlic (bao g6m du li~u
va cac phuong thlic thao lac tren du li~u d6) VaGtr"ongcac d6i tu<;fngCl,lthe
ma h~ thong dung Thli hai la che da'u cac doi tU<;fngdU<;fct~o VaG trong mQt ldp doi tU<;fngtruu tu<;fngva h~ thong se nh?n bie't du<;fcnhung doi tU<;fngtrong mQt ldp doi tU<;fngtruu tu<;fngnay.
Thong thudng m~u t~o doi tu<;fngcho chung ta thich ling voi nhung gl du<;fct~o, ai t~o chung, va t~o khi naG Chung cho phep chung ta dinh hlnh
mQt h~ thong voi nhung doi tu<;fngdU<;fCt~o - dinh hlnh c6 the la tlnh (dinh
r6 t~i thdi gian dich) ho~c dQng (t~i thdi gian thl!c thi).
Mftut~o ca'utruc (structural patterns)
M~u t~o ca'u truc lien quail de'n Iihung ldp va nhung doi tu<;fngc6 ca'u
Trang 18rieng bi~t thl v~n chaa trong m6i ldp k€ thua.
. Mftu mo tahanh vi (behavioral patterns)
Hanh vi la sl! dinh nghla truu tuQng cua mQt thu~t giai, chung dinh nghla thu~t giai tung buoc mQt M6i buoc yell cftu mQt phuong thac truu tuQng ho~c mQt phuong thac nguyen thuy.
M~u mo ta hanh vi lien quail d€n cac thu~t giai va sl! rang buQc giuacac d6i tuQng M~u mo tel h~lllhvi thong chi mo ta cac thu~t giai va sl!rang buQc cua cac d6i tuQng hay cac ldp d6i tuQng ma con mo ta sl! truy~nthong giua chung
Lop d6i tuQng cua m~u mo ta hanh vi sa dvng sl! phan dip d6i tuQng
d€ phan ph6i hanh vi giua cac ldp d6i tuQng
Cae ung d1)ng eua mftu thie't ke' :
Chung ta co th€ noi ding m~u thi€t k€ la cach d€ cho nhung nguoil~p trlnh hQc t~p nhung thanh cong da:qua MQt m~u thi€t k€ se mo ta giaiphap t6t nhftt cho mQt vftn d~ trong th€ gioi thl!c M~u thi€t k€la giai phapcua nhung nguoi co kinh nghi~m, cua nhung chuyen gia giai quy€t nhungvftn d~ ki€u nay va day cling la cach nhanh nhftt d€ chung ta d~t duQc trithac va kinh nghi~m cua cac chuyen gia
Hon nua, qua cac m~u thi€t k€ cho phep nhung nguoi l~p trlnh comQt ligon ngu chung d€ sa dvng khi thao lu~n cac vftn d~ va dua ra cacgiai phap cho vftn d~ do, bang cach sa dvng tu ngu cua m~u thi€t k€, nguoil~p trlnh thong phai di~n giai l~p di l~p l~iY tudng cua hQ.
Hlnh 4 minh hQa ang dvng thl!C t€ cua m~u thi€t k€ da hQp (Composite pattern) cua [5] cho vi~c thi€t k€ cac ldp d6i tuQng cftn thi€t
Trang 19dung d~ cai d~t mQt h~ th6ng thlfc don trong bQ qmln 19 h~ th6ng thlfc don.
Gamma [5] nh~n thiy m6i thlfc don co chli'a cac mlJc, m6i mlJc co th~ la mQt thlfc don con Ho~c la h~ th6ng quan 19 diy thti mlJc : m6i thti mlJc co chli'a cac t~p tin hay cac thti mlJc con, ho~c mQt d6 thi co chli'a cac
nut, m6i nut co th~ la mQt d6 thi con Di~u nay dff dtia Gamma dtn mQt9
ttidng la co th~ t6ng quat hoa va t~o ra mQtthitt kt chung d~ chung co th~
dtiQC sa dlJng l~i trong m6i trtiong hQp nhti tht, m~u thitt kt dtiQc d~t ten
Hinh 4 Minh hQa li'ng d\lng th\l'c te' cua m~u thie't ke' da h<;5p(Composite pattern)
trong thie't ke' mQt h~ th6ng th\l'c don
";"';"""';';';';';'im!!H
Component
Item
ThaotacO
Menu
Them(Item) Xoa(Item)
Trang 20Cac ky hi~u tren sd d6 :
Ky hi~u
Ky hi~u
bi€u di~n ban s6 cua m6i k€t hQp la loon.
. bi€u di~n stj k€t hQp li;li.
MQt vi dl:1khac : trd li;livi dl:1trong phfin 2.1 (hinh 3) Nhu dfi d~ c~p, cach tie'p c~n thanh t6 dfi dua ra khai ni~m mftu, Cl:1th€ la mftu thi€t ke' d€
giai quye't vi~c "tich hQP" hai ddn vi cai d~t, ti;lOnen mQt ddn vi cai d~tmaio "Mftu ti;lodiu truc" [5] duQc dua ra d€ giai quye't vffn d~ nay, chung
dua ra cach d€ trQn hai ddn vi cai d~t la NguoiTToan (dfi duQc Kay dtjng trong h~ th6ng k€ loan) va Nguoidathang (dfi duQc Kay dtjng trong h~ th6ng
trong h~ th6ng qUail ly cac ddn d~t hang) thanh mQt ddn vi cai d~t mai, do
la ddn vi cai d~t Khachhang Ne'u hai ddn vi cai d~t duQc trQn co cffu truc
lOn, philc ti;lPthi "mftu ti;lOcffu truc" dung tlnh k€ thua d€ giai quye't vffn d~
nay, nghla la, se co mQt lOp d6i tuQng (ddn vi cai d~t) Khachhang (duQc gQi
la lOp cha) d€ chila cac thuQc tlnh chung cua nhung lOp nay (NguoiTToan, Nguoidathang), con cac thuQc tlnh rieng bi~t thi vftn chila trong m6i lOp k€
thua.
Mftu thi€t k€ la mQt ky thu~t dfiy hila hyn trong vi~c dung li;licac k€t qua thie't ke' cua phfin m~m Mftu thi€t ke'lttu gill cac cffu truc tInh va dQng cua phfin m~m, bell ci;lnh do nho stj cQng lac cua mftu thie't ke' vai cac thanh t6 ma cac vffn d~ se co duQc nhung giai phap thanh congo
Sail khi Gamma dua ra cac mftu thi€t k€, Martin Fowler [4] dfi nh~n tha'y ding ngoai cac mftu thie't ke' cua Gamma con co nhi~u mftu phfin m~m (software patterns) khac hi~n hall, ch~ng hi;ln nhu la : cac mftu l~p trinh phan tan (distributed programming patterns), cac mftu man hinh lam vi~c
Trang 21(user interface patterns) va ca nhung m~u t6 chlic cac nhom phat tri~nph~n m~m (patterns of organizing software development groups), va ang
cling nh~n thiy c~n co nhung m~u giup cho qua trlnh phan tich mQt ht% th6ng huang d6i tuQng VI tht ang da: dtta ra khai nit%mm~u phan Hch nhu sau:
~ Mftu phan tich (analysis patterns)
bang cach chat lQCra nhung di;ic trung n6i b~t nhit d~ dua vao m~u phan
tich "
Martin Flower cho rang cac m~u phan tich chlia rit nhi~u nnh vtfc trithlic va co th~ duQc dung trong Hlt ca cac ling dvng kinh doanh Cling
gi6ng nhu cac m~u thitt kt, m~u phan tich duQc trail tuQng hoa d~ thich
ling vai cac yell c~u khac nhau cua ht%th6ng, chung khang la nhung giaiphap hi~n nhien cho cac vin d~ c~n giai quytt ma chung duQc rut trich tunhung kinh nghit%mthtfc tt trong nhung vin d~ ki~u nay
M~u phan tich thuQc v~ quail nit%mbdi VI chung mieu ta cach ma
con nguoi nghi den d~ giai quytt mQt vin d~ hdn la cach ma mQt ht%th6ng
may Hnh se duQc thitt kt nhu tht nao d~ giai quytt vin d~ do MartinFlower di;it m6i vin d~ c~n giai quytt trong mQtngu canh (ph~m vi ma vind~ do hit%nhall) va sail do dua ra mQt giai phap cho ngu canh do, Dng da:dua ra mQt bang cac m~u phan tich (phv lvc B cua [4]) d~ giup chung tanh~n bitt cac m~u phan tich thich hQp co th~ sa dvng l~i Vi dV : ma hlnhd6i tuQng quail sat (observation) va ma hlnh d6i tuQng do luong
Trang 22(measurement) ma Martin Flower thie't ke' cho lInh vt!c cham sac sli'ckhoe
co th~ du<;jcdung l(;likhi phan tich mQtt6 chli'ctai chinh
Cae lo~i mflu phan tieh :
Trong giai do(;lnkhdi d~u cua qua trlnh phat tri~n h~ th6ng, m~uphan tich v~n con chua sa dl;lllgrQng rai, v§n d~ d ch6 la thie'u cac thu vi~ncua cac m~u phan tich chu~n ho~c thie'u cac m~u phan tich thich h<;jp.D~
t(;lOdu<;jcmQt m~u phan tich co th~ li'ng dlJng trong mQt vai tlnh hu6ng khac nhau chung ta hay co khuynh huang 'xay dt!ng mQt m~u kha t6ng quat va
chinh di~u nay da gay r§t nhi~u kho khan va phli'c t(;lpcho vi~c Kay dt!ngm~u phan tich Peter Coad, mQt chuyen gia hang d~u trong lInh vt!c Kay
dt!ng ma hlnh d6i tu<;jngda nh~n th§ y du<;jcv§n d~ nay, trong chuang 7 cua
[3], Peter Coad da dua ra 177 chie'n lu<;jcva 31 m~u - m~u du<;jcsa dlJng d
day chinh la cac m~u ma hlnh d6i tu<;jngnham giup cho nguoi phan tich Kay dt!ng cac ma hlnh d6i tu<;jngmQt cach hi~u qua, con cac chie'n lu<;jc
cho ma hlnh huang d6i tu<;jngthl baa g6m : ph(;lm vi ho(;ltdQng va cac sa d6
lOp d6i tu<;jng, giup nguoi phan tich nh~n bie't mlJc lieu va cac d~c trung
cua h~ th6ng d~ It!a ch9n cac lOp d6i tu<;jngthich h<;jp,sail do nguoi phantich se thie't l~p cac bang rang buQc, cac ke' ho(;lchho(;ltdQng cho h~ th6ng
du<;jcphan tich.
Cac lo(;li m~u phan tich cho ma hlnh d6i tu<;jngdu<;jcPeter Coad d~ nghi la : mJu nJn tang, mJu xilly giao djeh, mJu t5ng h(lp e(l'u true, mJu
IcJpki hoCfeh va mJu eae a(J'itU(lng tu(Jng tae.
M~u n~n tang (Fundamental pattern): m~u nay la m~u ma hlnh d6i
tu<;jngn~n tang, giup chung ta nh~n bie't cac d6i tu<;jng
Trang 23M~u giao dich (Transaction patterns): baa g6m cac m~u tC;lova xii'ly giao dich.
M~u t6ng h<;lpca"u truc (Aggregate patterns) : baa g6m cac m~u thu
th~p ca"utruc d6i tu'<;lngdli li~Jl d~ tC;lonen mQt ki~u dli li~u maio
M~u l~p k€ hOC;lCh (Plan patterns) : baa g6m cac m~u l~p k€ hoC;lch
va thljc hi~n cac bu'ac k€ hOC;lCh du'a ra.
M~u cac d6i tu'<;lngtu'ong lac (Interaction patterns): la nhling m~u matit cac d6i tu'<;lngco lac dQng l~n nhau
Vi dlJ : Peter Coad da Kay dljng mQt m~u l~p k€ hOC;lCh nhu'sau :
Cac ky hi~u tren so d6 :
Ky hi~u 1 bi~u di~n ban so' cua m6i k€t h<;lpla 1.
bi~u di~n ban so' cua m6i k€t h<;lpla n.
Ky hi~u *
M~u nay du'<;lcPeter Coad Kay dljng tu cac d~ an thljc t€, ch~ng hC;ln nhu' : cang vi~c va slj thljc hi~n cang vi~c, k€ hoC;lchcua mQt d~ an va slj
thljc hi~n d~ an do, ho~c la mQtthu tlJCva slj thi hanh thu tlJCdo
M~u phan tich k€ hOC;lCh- slj thljc hi~n k€ hOC;lChdu'<;lCsii' dlJng khi
KEHOACH Ten
Mota Thuoctinhcanthiet
TinhtoankhoangTGTB Xd_suthuchienKH Tinhtoancanthiet
SUTHUCHIENKEHOACH
So Thoigianbatdau Thoigianketthuc Thuoctinhcanthiet
TinhtoankhoangTG Xd_hoanthanh Tinhtoancanthiet
Trang 24mQt ke' ho(;lch c6 th€ duQc thl!c hi~n nhi~u l~n va Peter Coad da: hill y: ne'u
ke' ho(;lchchI duQc thl!c hi~n mQt l~n thl chung ta khang lien pha vo diutruc cua mftu ma chI c~n dua them cac rang buQc vao lOp KEHOACH
Ung d\lng ciia mftu philo tich :
Mftu phan tich ma ta mQt vai ma hlnh c6 th€ giai quye't cac va'"nd~trong phan tich h~ thO'ng.Mftu phan tich ma ta ph(;lmvi ho(;ltdQng va cac
ma hlnh thanh ph~n nham giup nguoi phan tich nh~n bie't ml:lclieu va cacd~c trung cua h~ thO'ng.d€ ll!a chQn cac ldp dO'ituQng thich hQp, sail d6nguoi phan tich se thie't l~p cac bang rang buQc, cac ke' ho(;lchho(;ltdQngcho h~ thO'ngduQc phan tich
Trd l(;li VI dl:l trong ph~n 2.1 (hlnh 3) Nhu da: d~ c~p, cach tie'p c~n thanh to' da: dua ra khai ni~m mftu, cl:l th€ la mftu phan tich t6ng hQp ca'"u
truc, giup chung ta cach thlic d€ thu th~p (tich hr;p) ca'"utruc dO'i tuQng du li~u cua hai don vi cai d~t 'la NguoiTToan (da: duQc xay dl!ng trong h~
thO'ng ke' loan) va Nguoidathang (da: duQc xay dl!ng trong h~ thO'ng trong h~
thO'ng quail ly cac don d~t hang) d€ t(;lOlien mQt don vi cai d~t mdi, d6 la
don vi cai d~t Khachhang.
Nhln chung, cach tie'p c~n thanh to'da: cling ca'"pcac thanh ph~n d€
h6 trQ cho qua trlnh phan tich, thie't ke' h~ thO'nghudng dO'ituQng vdi chiphI tha'"pnha'"tva hi~u 9ua dung l(;licao nha'"t.Nhung ml:lclieu khang dung
dl:lng, ho~c mQt t~p cac mftu phan tich, mftu thie't ke' c6 th€ dung l(;li, va
chung duQc g6i trong mQtthanh ph~n c6 ten la : khung mftu
Trang 252.3 Khung m~u (Frameworks) [9]
Dinh nghla khung m~u :
"Khung m~u la mQt g6i cac d~c ta phan tich va cac thie't ke' chi tie't,chung c6 thS la mQtph~n cua ling d\lng ho~c la mQtling d\lng d~y du"
Khi Kay dlfng mQtkhung m~u, chung ta dua ra ph~m vi ling d\lng cuakhung m~u, thudng thl khung m~u baa g6m cac lOp dO"ituQng vdi cac ten
d~i di~n (ten lOp dO"ituQng, ten cac thuQc tinh, ten cac phuong thlic), cac ten d~i di~n nay se duQc thay d6i khi khung m~u duQc ap d\lng trong mQt lInh vlfc C\l thS dS phu hQp vdi cac yell c~u cua ling d\lng, bell c~nh d6 khung m~u con chlia cac nO"ike't giua cac lOp dO"ituQng, cac van ban d~c
ta, cac so d6 tuong tac, so d6 lOp va cac m~u thie't ke' ne'u c6.
Chinh VI the' ma khai ni~m truu tuQng ra't quail tn;mg khi Kay dlfng mQt khung m~u bC'5iVI chung dinh nghla ca'u truc cua mQt khung m~u, va hai khai ni~m chinh cua slf cai d~t truu tuQng d6 la cac lOp truu tuQng va cac nO"ike't truu tuQng giua cac lOp truu tuQng.
Cac khung m~u c6 th~ sli' d\lng 'cac lOp dO"ituQng va cac m6i ke't hQp
duQc dinh nghla trong cac khung m~u khac
Sail day la mQt sO"khung m~u dfi duQc Kay dlfng dS dung l~i :
Microsoft Foundation Classes (MFC) [6]:
MFC cling ca'p mQt khung m~u dS t~o cac ling d\lng khai thac trenn~n Windows Khung m~u nay chlia mQt t~p cac thanh to"duQc dung l~i dSKay dlfng ling d\lng, bell c~nh d6 khung m~u cling cling ca'p mQt tu li~u ma
ta cac phuong thlic ma nhung thanh to"nay cling ca'p
Vi d\l : thu vi~n MFC c6 chlia cac thanh to"cung lam vi~c vdi nhau
Trang 26d€ cling c3'p chilc nang cho mQt hQp tho~i.
Cling c3'p cac ldp d€ cai d~t cac mO'i quail h~ giii'a cac cuQc gQi, cac
dich Vl;},cac thi~t bi dftu cuO'i, kenh tfuy~n va cac y~u to' xli' ly cuQc gQi
khac
if ng d\lng cua khung mftu :
Khung mftu cho phep chung ta dung l~i ma va thiSt k~ amQt milc
cao hon ma ngu6n, nghla la, ngoai ma ngu6n fa con co cac van ban d~c ta,cac so d6 tu'ong lac, so d6 ldp va cac mftu thi~t k~ n~u co
Khung mftu chila nhi~u d6i tu'Qngtu'ong lac voi nhau va chung clingchila cac chilc nang can thi~t d€ giai quy~t cac v3'n d~ tfong cung ph~m vi
Vi thS, cac ling dl;}ngtfong tu'ong lai khong can phai t~o l~i ma chI cftn sli'dl;}ngl~i nhung khung mftu da co san
Khung mftu cling c3'p mQt co ch~ cho phep ma fQng, sli'a d6i cac chilc nang can thi~t Ch~ng h~n, khi chung ta dung l~i mQt khung mftu, chung ta
vftn giii' nguyen phan than chinh cua cac thu tl;}c/ham/chu'ongtrlnh ma chIcan viSt l~i phan ma cua chung d€ phu hQp voi cac yell cftu d~t fa cua h~thO'ng
Trang 27Vdi khung m~u thich hQp, chung ta se Kay dlfng cac ling dt;lllgnhanhbon, do do chi phi d€ Kay dlfng h~ th6ng giiim di dang k€, m~t khac chi phi
thich ling cling se giiim do tinh logic, tinh dung l~i cua khung m~u.
Nhung khung m~u hoan thi~n thu'ong cQng lac vdi mQt vai m~u thie't ke', m~u thie't ke' giup cho cf(u truc cua khung m~u thich ling vdi nhi~u ling dl;mg khac nhau ma khong phiii thie't ke' l~i.
2.4 Nhung d~c di~m cua cae khai ni~m trong each tie'p c~n thanh to'
~ Nhung di~m khac n4au giua m~u thie't ke'va khung m~u
- Mdu thilt kl tdlu tur;ng hr.Jnkhung mdu:
D€ du'a ra cac m~u thie't ke', Gamma phiii sa dl;lng cac vi dl;l Cl;lth€ d€ minh hQa cho tung vf(n d~ c§n phiii giiii quye't d€ tu do ~u'a ra giiii phap ch!l§n cho cac vf(n d~ tu'ong tlf, co nhu' the' chung ta mdi thf(y du'Qc cach thuc Kay dlfng cac lOp d6i tu'Qng, cac gQi y va cae: ICythu~t cai d~t cho cac m~u thie't ke' Va khi dung l~i cac m~u thie't ke' nay trong cac ling dl;lng Cl;l
thS thi cac ky hi~u, cac ten gQi se du'Qcthay the' cho phu hQp vdi cac yellc§u cua ling dl;lng.M~u thie't ke' phiii du'Qccai d~t m6i khi chung du'Qcsa
dl;mg.
Trong khi do, khung m~u cho phep chung ta cai d~t cac lOp truutu'<1ng,cac n6i ke't giua cac lOp nay cung vdi cae d'~c tit cling nhu' cac thie'tke' chi tie't cua chung Khung m~u co thS du'Qcth€ hi~n trong bf(t cu mQtligon ngu l~p trinh nao (C++, Java, Visual Basic, Oracle, Ada, Smalltalk )
khong chi dS nghien CUllma co th€ du'Qc thi hanh ho~c dung l~i trlfc tie'p.
Trang 28- MJu thilt klla nhilng thanh phan cliu truc nhJ harz khung mJu.
MQt khung m~u co th€ chlia mQt vai m~u thie't ke', ngu'Qc l(;lithl mQt
m~u thie't ke' khong th€ chlia mQt khung m~u bdi VItheo dinh nghla, m~uthie't ke' chi la mQt giai phap chu~n cho mQtv§n d~ cfin du'Qcgiai quye't
- Khung mJu luon co mQt llnh V1!Cling df!,ng rieng bift con mJu thilt klthi khong co mQt llnh v1!Cling df!,ng rierig bift.
MQt m~u thie't ke' khong th€ du'Qcdung trong b§t ky mQt ling d\lng,
chung ta chi dung chung khi d do co nhung v§n d~ cfin giai quye't tu'ong t1;1'voi nhung v§n d~ ma Gamma da:du'a ra giai pharo
~ Nhfi'ng di~m khac nhau gifi'a thanh to' va khung m§u
- Thanh to' it phlic tc;tpharz khung mJu.
ling,voi mQt lOp hay t~p cac lOpco lien quail ch~t che voi nhau Con khungm~u co th€ chlia mQt t~p cac thanh to' co tu'ong lac voi nhau va cac so d6
- Thanh to' khong day dd nhu khung mJu.
Khung m~u thu'ong du'Qcthie't ke' d€ cling c§p mQt giai phap dfiy du
cho ph(;lm vi ling d\lng cua h~ thO'ng, con thanh to' chi cling c§p mQt giai
phap cho cac v§n d~ cfin giai quye't trong mQt ph(;lm vi hypo
2.5 Nh~n xet ke't lu~n
Tli cach tie'p c~n thanhtO' da:du'Qctrlnh bay d phfin tren, chung ta co th€ du'a ra mQt nh~n xet : cach tie'p c~n nay xoay quanh v§n d~ "dung l{li" sao cho d(;lthi~u qua nh§t, va tuy thuQc vao khO'ic§u truc du'Qcxay d1;1'ng,
Trang 29cac cd che' chlic Dang theo cach tie'p c~n thanh to'ma s1;1'"dung l(}i" nay se
d mlic phan tich, thie't ke' hay cai d~t.
Trong cach tie'p c~n thanh to', thanh to' c6 th€ dung l(;li d mlic phan tich, thie't ke' va cai d~t nhung d€ ddn gian va d~ dung l(;linguoi ta thuong
dung l(;lithanh to' d mlic cai d~t, d d6 thanh t6la mQt lOp ddn hay mQt t~pcac lOp c6 lien h~ ch~t che vai nhau Con dO'ivai m~u nhu m~u phan tich
thao lu~n cac va'n d~ trong phan tich h~ thO'ng,chung ma ta mQt vai mahlnh c6 th€ giai quye't cac va'n d~ trong phan tich h~ th6ng Vai m~u thie't
ke'thl s1;1' dung l(;lidU<;1C th1;1'chi~n d mlic thie'tke', m~u thie't ke'dua ra mQtgiai pha p chinh cho va'n d~ c~n giai quye't, nhung khang ph,h ba't ky mQtling dlfng nao cling dung m~u thie't ke', chung chI dU<;1csa dl;lllgkhi c6 mQtva'n d~ c~n phai giai quySt va va'n d~ d6 tudng t1;1'vai cac va'n d~ ma m~uthie't ke' da dua ra giai pharo
Cac khung m~u dU<;1cxay d1;1'ngd€ sa dlfng va sa dlfng l(;li,b?ing mQtt~p cac va'n d~ lieu bi€u trong cac ling d\lng khac nhau ma khung m~u c6th€ cling ca'pmQt s1;1't6ng quat ma truac day chua h~ c6 VI thS, khung m~u
ra't thich h<;1pkhi chung ta dung chung d mlic phan tich M~t khac, chung ta tha'y r?ing khung m~u da cling ca'p mQt ca'u t~uc chua'n cho mQt h~ thO'ng
Ngay nay, khung m~u cang trd lien quail trQng, chung la cach ma h~ thO'ng huang dO'i tU<;1ng d(;lt dU<;1c Hnh dung l(;linhi~u nha't va h~u he't thie't ke'va ma trong ling d\lng ph\l thuQc vao khung m~u ma chung sa d\lng.
Trang 30Qua ph~n khllO sat cach tie'p c~n thanh t6, chung ta thffy du<,1ccach tie'p c~n thanh t6 du<,1csti' dlJng rfft hi~u qua trong cong ngh~ ph~n m~m dS d~ t du<,1Ctinh dung l~i cao nhfft, ne'~ khong co chung thl cach tie'p c~n
hudng d6i tu<,1ngchI dung l~i milc "sti' dlJng l~i" thu vi~n cac ldp da du<,1c
Kay dlfng Cling giO'ng nhu cong ngh~ ph~n m~m, khi phan tkh thie't ke' mQt h~ th6ng thong tin theo hudng d6i tu<,1ng,chung ta cling mong mu6n h~ thO'ng thong tin d~t du<,1ctinh dung l~i (j milc cao nhfft co thS Tuy nhien, cho de'n nay slf dung l~i nay chI goi gQn trong mQt ling dlJng ClJthS da du<,1c Kay dlfng Vi dlJ :
Khi chung ta Kay dlfng mQt h~ th6ng Dang ky khoa hQc : cac yell c~u
ma h~ th6ng c~n giai quye't : cho phep mQt hQc VieDdang ky khoa hQctrong mQt hQc ky, cho phep nhan VieDgiao VlJquail ly thong tin v~ giangVieD,thong tin v~ hQc VieDva ke't thuc dang ky khoa hQc Tu cac yell c~unay, bang cac cong ClJmo hlnh hoa hudng d6i tu<,1ng,chung ta co thS phan
tkh, thie't ke' h~ th6ng thong tin Dang ky ldp hQc thoa man cac yell c~u
lieU tren bang cach : chI ra cac chilc Dang cua 'h~ th6ng dO'i vdi cac lac nhan bell ngoai, chI ra cac chilc Dang du<,1cthie't ke' nhu the' nao trong h~
th6ng, chI ra cach t6 chilc cac thanh ph~n ma ngu6n, chI ra vi~c triSn khai
h~ th6ng tren cac kie'n truc v~t ly nhu may tinh, thie't bi.
Trong giai do~n phat triSn h~ th6ng, ne'u h~ th6ng Dang ky ldp hQc
du<,1cyell c~u b6 sung them mQt sO'chilc Dang nhu : cho phep giang VieD
chQn ldp hQc dS giang d~y ho~c thu hQc phi sail khi he't h~n dang ky khoa
hQc V di cach tie'p c~n hudng dO'i tu<,1ng,chung ta d~ dang dung l~i tfft ca
cac thanh ph~n ma h~ thO'ngda Kaydlfng va dlfa vao do chung ta b6 sung
Trang 31them cac thanh phftn d€ dap ling yell cftu d~t ra cua h<% thO'ng.
MQt vi dl;}khac, cac yell cftu duQc d~t ra trong h<%thO'ng qmin ly thu vi<%nnhu sail : cho phep dQc gia dang ky d~t muQn sach cua thu vi<%n,cho phep nguoi quail tfi thu vi<%n quail ly thong tin dQc gia, thong tin v~ sach va qmln ly vi<%cmuQn, tra sach Chung ta nh~n th:ly cac yell cftu nay tuong t\f nhu cac yell cftu da: duQc giai quye't trong h<%thO'ng Dang ky lOp hQc, tuy nhien chung ta khong th~ dung l(;lih<%thO'ng thong tin Dang ky ldp hQc d€ quail ly vi<%cd~t muQn, tra sach thu vi<%nVI:
* Chi phi thich zing cao hdn chi phi di xay d{tng h? thong tit ddu VI :
cac ldp dO'i tuQng c6 trong h<%thO'ng Dang ky ldp hQc la cac ldp dO'i tuQng Cl;}th~, baa ham bell trong chung la cac thuQc tinh va phuong thlic dung rieng cho IInh v\fc ling dl;}ngh<% thO'ng Dang ky ldp hQC, va ca cac nO'i ke't, ca~ so d6 va thie't ke' chi tie't, ne'u dung l~i chung ta phai l\fa chQn nhung thanh phftn thfch hQp cho vi<%cdung l(;li, sail d6 c~p nh~t l(;li loan bQ cac thanh phftn nay (ten ldp, ten thuQc tinh, ten phuong thlic, ), va cuO'i cung la
b6 sung them cac ldp, thuQc tinh, phuong thlic, d~ thoa man cac yell cftu
Trang 32Chtidng 3
UNG DUNG CACH TIEP C!N THANH TO TRONG PHAN TicH,
,.!' "~",.!',, ?" ~ "THIET KE H~ THONG THONG TIN: THU NGHI~M VOl H~THONG QUAN LY CAC GIAO DfCH D~ T TRUOC (GIU CHch
3.1 MQt sfi each tie'p c~n truy~n thfing ai phan tich, thie't ke' mQt h~thfing thong tin
H~ thO'ngthong tin la mQth~ thO'ngthu th~p thong tin, qUail ly chung
va t~o ra cac san ph~m thong tin phl;!cVl;!cho ngu'C5isa dl;!ng.
Khi phan tich thie't k~ mQt h~ thO'ng thong tin theo cach ti~p c~n
truy~n thO'ng [11], ngu'C5ita thu'C5ngsuy fighTtheo hu'dng "lam the' naG di ddp ztng cae yeu cdu d(it ra" va d€ giai quye't cong vi~c nay, qua trlnh phan
tich thi~t ke' h~ thO'ngphai trai qua cac bu'dc nhu'sau :
- Bat d~u va ki~n thi~t h~ thO'ngthong tin qua cach ti~p c~n t6 chuc
- h~ thO'ng.
- Phan tich va mo hlnh h6a cac yeti c~u d~t ra cua h~ thO'ng
- Thi~t k~ h~ thong tin may tinh tho a man cac yeti c~u d~ fa
- T6 chli'c thljc hi~n qua trlnh phat tri€n h~ thO'ngqua vi~c cai d~t
va baa trl h~ thO'ng
Khi d~t va'n d~ phan tich thi~t k~ mQt h~ thO'ngthong tin, cac yetic~u d€ d<:ltd~n ml;!clieu Kay dtfng mQt h~ thO'ngthong tin khong phai lucnao cling du'cjcxac dinh d~y du va r6 rang ngay tu d~u Di~u nay lam nay
sinh ffiQtsO'va'n d~ nhu'sau :
Trang 33- Ngu'oi sli' dl;lllg khong bie't li~u nha phan tich c6 thtjc stj hi€u ta"tca cac va"n d~ va doi h6i cua hQ hay khong (da du'Qc trlnh bay mQt cach tu'ong minh hay nggm dinh) bdi vi h9 khong tha"y du'Qc ngay cac chuc nang ma hQ yell cgu, ma phai cho dQi de'n hic h~ thO'ng thong tin du'Qc Kay dtjng tu'ong dO'ihoan chinh.
- Thay d6i la di~u khong th€ tranh kh6i C6 th€ la moi tru'ong kinhdoanh thay d6i, cling c6 th€ ngu'oi sli'd\lng hay cach nh~n bie't cua ngu'oi sli'd\lng thay d6i Ban cha"t cua vi~c lam tu' li~u theo phu'ong phap truy~nthO'nggay kh6 khan cho vi~c theo d6i h~u qua cua mQi thay d6i va di;icta
chuc nang yell cgu phai du'Qc vie't l~i.
Trong khi qua trlnh phan tich chI cgn mQt sO' it cac cong C\l va ky thu~t, chu ye'u danh cho Kay dtjng ca"u truc di;ic ta yell cgu thi qua trlnh thie't ke' chua nhi~u ki€u cong C\l khac nhau hon ch~ng h~n : cong C\l c6 ten. .
gQi la : Mo hinh di~u khi€n du'ong di (mo hinh boa tieu)[ll], so d6 phantich du'ong di cling ca"phinh anh v~ vi~c sli' d\lng dii' li~u cho mQi qua trlnh
I cua h~ thO'ngdu'Qcd~ xua"t,nhu'ng cling cgn c6 mQtbuc tranh loan canh v~
vi~c sli' d\lng dii' li~u xuyen suO'th~ thO'ng, va chI lien th€ hi~n n6 tren mQt trang gia"y Mo hinh di~u khi€n du'ong di du'Qc thie't ke' d€ lam di~u d6 Mo hinh nay t~p hQp thong tin v~ ta"tca cac du'ong truy c~p rieng Ie tu cac qua
trlnh khac nhau va gall chung vao mo hinh dii' li~u, (c6 du'Qctu giai do~n
phan tich) Hoi;icmQt cong C\l c6 ten la : "Sd cia dong dillifu (Data Flow
Diagram - DFD) may tinh" [11] Bay la mQt ki€u mo hinh chinh d€ mo ta
cho ca"utruc cua h~ thO'ngdtja tren may tinh So d6 dong dii' li~u may tinh
la mQtDFD v~t ly hoan loan, cong C\lnay cling c6 kha nang xli'ly cac tinh
Trang 34hu6ng theo 10 va trt!c tuye"n, va con nhi~u cong C\l khac nua
M~c du trong giai do~n thie"tke"co r3't nhi~u cong C\l nhung khongphai t3't ca chung d~u duejc sa d\lng trong mQi ht%th6ng, khi sa d\lng qua itcong C\lthl se t~o ra mQt h~ th6ng kern ch3't 1uejng,nguejc l~i sa d\lng qua
nhi~u cong C\l se lam cho ht%th6ng tra lien qua c6ng k~nh Tli do, nha
phan tich chill tnich nhit%mphat tri~n phai dung each danh gia cua mlnh d~
quye"tdinh chinh xac xernlien dung ky thu~t nao va c§n ap d\lng chung (5
muc dQnao d~ lam din b~ng giua hai nguy co tren
VI the", khi phan tich mQt ht%th6ng thong tin theo cach tie"p c~n truy~n th6ng doi h6i nguoi phan tich phai co kinh nghit%m trong cac lInh
vt!c ma hQ phan tich, ne"umQt nguoi phan tich khong co kinh nghit%mthlcach phan tich nhanh nh3't 1~ hQc t~p kinh nghit%mcua nhung chuyen gia,tac 1a sa d\lng l~i nhung gl ma nhfi'ng chuyen gia nay da Kay dt!ng Quandi~m nay da huang chung ta de"nmQt cach tie"pc~n mai do 1a : cach tie"p
c~n thanh to', vai cach tie"p c~n thanh to', khi phan tich thie"t ke" mQt ht% th6ng thong tin chung ta khong nh3't thie"t phai Kay dt!ng ht%th6ng thong tin
tll d§u, ma co th~ dung l~i cac thanh ph§n da duejcphan tich, thie"tke"trongcung mQt ph~m vi ung d\lng, sail do tich hejp cac thanh ph§n nay l~i vai
nhau, b6 sung d~ phu hejp vai cac yell c§u cua ht%th6ng.
I 3.2 Xay dt;ing h~ thO'ngthong tin theo each tie'p d)n thanh to':
I
huang d6i tuejng tuc 1a chung ta da tinh de"n vit%c "dung l~i" cac thanh ph§n duejc Kay dt!ng trong ht%th6ng Tuy nhien, d~ Kay dt!ng mQt ht%th6ng
Trang 35I thong tin co th€ dung I~i trong nhi€u IInh vlfc khac nhau chung ta khong nhfi'ng phai ChI r6 ph~m vi va"n d€ ma con t6ng quat hoa cac va"n d€, cac yell c~u trong tuang lai va cach d€ giai quye't chung.
Nhudii khao sat trong chuang 2, cach tie'p c~n thanh to' ra"t phu hQp d€ giai quye't cac va"n d€ ki€u nay, bang cach dua ra ph~m vi ling dIJng va each giai qlly~t cac yell C~llcua h~ th6ng qua cae mftu phan tich, mftu thi~t ke' va so d6 thanh to'.
Nham minh hQa tinh kha thi cua cach tie'p c~n thanh to' trong h<$ th6ng thong tin, h<$th6ng quail Iy cac giao dich d~t trudc duQc chQn vdi Iy
do co ra"t nhi€u h<$th6ng thong tin khac nhau co th€ duQc xe'p mQt cach t6ng quat vao h<$th6ng nay.
3.2.1 Ph~m vi dog dt;log cua h~ th6og qUaD Iy cae giao dich dijt tru'8c :
Khi xay dlfng cac h<$th6ng thong tin, chung ta thuong g~p cac yell
c~u nhu la: khach d~t mila hang, sinh vien dang ky man hQc, khach d~t ve
du lich, nhfi'ng va"nd€ nay tuy nam trong cac h<$th6ng ling dIJng khacnhau nhung chung co cung mQt ban cha"t,do chinh la nhfi'ng cac giao dichd~t trudc Va cac IInh vlfc ling dIJngkhac nhau do theo cach tie'p c~n thanh
to' duQc gQi la pht;lm vi zing dl;lngcua hf th6'ng.
Sail day la ph~m vi ling dIJng cua h<$th6ng quail Iy cac giao dich d~t tru'dc :
£)~t ve xem phim, dang ky h~n kham b<$nh,d~t ve cho mQt chuye'n
du lich, d~t phong khach s~n, d~t ti<$clien hoan, dang ky muQn sach, dang
ky tham dlf hQi nghi, dang ky thue nha, dang ky ghi danh mOll hQc, d~t
Trang 36mila hang, qmln ly cac giao dich mila ban cua mQt don vi kinh doanh,
Ph~m vi cua ling dl;}ngcua h~ th6ng co th~ du'Qc stl'a d6i, b6 sung d~
phu hQp cac va'n d~, cac yell c~u ma h~ th6ng da: du'a ra cach giai quy€t.N€u ph~m vi ling dl;}ngcua h~ th6ng cang d~y du thl kha nang dung l~icua h~ th6ng cang cao
Sail khi du'a ra ph~m vi ling dl;}ngcua h~ th6ng quail ly cac giao dich
d~t tru'dc, chung ta se du'a ra cac ml;}ctieu c~n phai giai quy€t cho cac ling dl;}ngtrong tu'ong lai thuQc ph~m vi ling dl;}ngnay (xem trlnh bay chi ti€t
trong ml;}c4.1), va cach ti€p c~n thanh t6 da: du'a ra mftu phan tkh d~ h6trQcho giai do~n phan tich h~ th6ng quail ly cac giao dich d~t tru'dc
3.2.2 Xay dt;ing mftu philo tieh trong giai do~n philo tieh h~ th6ng qmin
Iy cae giao dieh d~t trdde:
MQt thi€t k€luon luon d~t hi~u qua khi ffiOhinh phan tkh r6 rang valogic nha't, bC'5iVInhung mo hinh r6 rang luon cho ngu'oi ta nh~n tha'y du'Qc
co hay khong cai ma hQ c~n
Trong giai do~n phan tkh, vdi ffil;}Ctieu phai d~t du'Qccua h~ th6ng,
dl;l'avao mo hinh phan tkh cua ffiQt s6 h~ th6ng ling dl;}ng [10] va mQt s6 chi€n lu'Qc va mftu phan tkh cua [3], chung ta se du'a ra mQt mftu phan tkh
d~y du nha't cho h~ th6ng Trong mftu phan tkh nay, khai ni~m rang buQc
t6ng quat hoa va chuyen bi~t hoa (ngl;}yr~ng cac ldp con k€ thua du li~u
va cac phu'ong thlic cua ldp cha) du'Qcdu'a ra d~ nh~n bitt co mQt h~ th6ngca'pb~c chuyen bi~t hoa giua ldp cha la :CHITIETGIAODICH va ldp con
la: CBH_CHITIETGIAODICH Khai ni~ffi nay du'Qc d~ c~p c'5day do nhu
Trang 37Trang 34
c~u trong th\lc t€ v€ ffiQt chi ti€t giao d~ch co th~ hoan loan kbac nhal
trong illQt giao dich dl1qc d~t, yi 011
-'-chuy€n bay trong ffiQtch
Trang 38c~u trong tht;l'c te'"v~ illQt chi tie'"t giao dich co th~ hO~lllloan khac nhau trong illQt giao dich du'<;1cd~t, VI dl;! nhu' d~t phong khach s(;ln va d~t ve
chuye'"nbay trong illQt chuye'"n du lich, di~u nay cho chung ta tha'y r5 : "chi
tie'"tcua giao dich co th~ co cling illQtlo(;liho~c chung ta co th~ phan chia
chung thanh illQt vai lo(;li(chuyen bi~t hoa)" Tu'dng tt;l',chung ta co illQt h~ th6ng ca'p b~c chuyen bi~t hoa giua lOp cha la: KHACHHANG va lOp con
la: CA_NHAN, TAP_THE
Hlnh 6 trlnh bay ill~Uphan tich cua h~ th6ng qmln ly cac giao dichd~ttru'oc:
Hlnh 6 M~u phan tich cua h~ th6ng qmln ly cac giao dich d~t tru'oc
Trang 39Cac ky hi~u tfen so d6 :
Ky hi~u *
bi€u di~n ban sf) cua mO'ik~t hQp la 1.
bi€u di~n ban sO'cua mO'ik€t hQp la n.
Ky hi~u 1
Ky hi~u 1 * bi€u di~n ban sO'cua mO'ik~t hQp la 1 hay n
Ky hi~u t bi€u di~n fang buQCt6ng quat hoa va chuyen
bi~t hoa, d~u mlii ten chi d~n lOp cha, bell dudi mlii ten la lOp con.
Sail khi dua fa mfiu phan tich, chung ta se Kay dlfng mQt bang dc}cta
mfiu phan tich cho h~ thO'ng.(trlnh bay chi ti~t tfong phl:l ll:lcA) d€ ma ta
ph~m vi ho~t dQng va cac ma hlnh thanh ph~n cling nhu cac bang rangbuQc cua cac lOp dO'ituQng co tfong h~ thO'ng.Bang dc}cta mfiu phan tich
se giup cho chung ta dung l~i h~ thO'ngmQtcach d~ dang hall
Vdi cac khia c~nh khac nhau cua h~ thO'ng,bang dc}cta mfiu phan
tich dua fa t~p cac Cali hoi [10] d€ giup chung ta nh~n bi~t cac lOp dO'i tuQng duQc se dung l~i khi Kay dlfng mQt li'ng dl;lng Cl;lth€ Sail day la cae cali hoi duQc dc}tfa:
1) Mlii giao dtch dzt(lCd(it bdi mi)t ngztili hay mi)t tli chllc ?
Trang 402) Giao dtch dli(Jc d{it baDg6m :
a) Mf)t dol tli(Jng.
hay b) Mf)t vai dol tli(Jng.
a)
GIAODICH
b)
Hlnh 8 Lva chQn giai phap a) ho~c b)sau cau h6i thil hai
Ne'u ta chQn GIAODICH baa g6m mQt d6i tu<jngthl so d6 8a) du<jcchQn ngu<jclC;line'u GIAODICH baa g6m mQt vai d6i tu<jngthl so d6 8b) se
du<jc chQn Ne'u chung ta d~t them diu hoi :
3) GIAODICH lien quan den:
a) Mf)t (nhiiu) dol tli(JngCl;lthi.
b) Mf)t (nhiiu) dol tli(Jng co cung ho{ic khac cac d{ic tinh.
So d6 9a) va 9b) du<jc chQn cho diu hoi a) va so d6 9c) du<jc chQn cho diu hoi b).
Nhu v~y, b~ng cach nay chung ta se 19n lu<jt dt!a vaG cac diu hoi dS xay dt!ng mQt so d6 hoan thi~n cho mQt h~ th6ng thong tin Cl;!thS.
GIAODICH CHITIETGIAODICH
l-<n 1