1 t r × n h ® é ® µ o t ¹ o
cc
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG VỚI UML
2
MỤC LỤC
TRANG
01. L 3
02. 4
03. 5
04. 9
05. Bài 1 11
06. Bài 2 19
07. Bài 3 69
08. Bài 4 80
09. Bài 5 94
10. Bài 6 109
11. Bài 7 116
12. Bài 8 132
13. 170
14. 158
15. 160
15. 162
chp ráp chúng li v t y mng mt s i
n trong th gii máy tính, bn có th chp chúng li v to ng dng
ca mình.
Xin ly mt ví d n: v rút tin mt tu gn
s là ánh x ci thng
dng s c s c nhn di
pháp phân tích và thit k ng thc hin theo các thut ng và khái nim
ca phc ng dng (tc là ca doanh nghi mà h thn
phc v), nên nó to s tip cng gia h thng và v thc ngoài i. Trong ví
d bán xe ô tô, mn phân tích thit k và thc hiu xoay quanh các khái nim
n phn mng thi
4
là quá trình cng tác ci dùng, nhà phân tích, nhà thit k, nhà phát trin,
c, chuyên gia k thut, nên li tip cn này khin cho vic giao tip gia
h vc d
Mt trong nhm quan trng bc nht ct k ng
ng là tính tái s dng: bn có th to các thành ph ng) mt ln và dùng
chúng nhiu lc bn có th tái s dng các khi xây dng (hay bn
sao ca nó ) trong mt ngôi nhà , m, b tái s
dng các thành phn trong các thit k
ca mt h thng k toán, h thng kim kê, hoc mt h tht hàng.
c th nghim k càng trong l s
dng có tác dng gim thiu lc b
thit k và phát trin phn mm.
ng giúp chúng ta x lý các v phc tp trong phát trin phn
mm và to ra các th h phn mm có kh ng và bn chc.
2. Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language – UML)
Ngôn ng mô hình hóa thng nht (Unifield Modeling Language UML) là mt ngôn ng
biu ding vi ch
Khách hàng tr tin xe
n cho khách hàng
i vi ví d n OOA s nhn bic các thc th
Loi tài khon: ATM (rút tin t ng), Savings (tit kim), Current (bình
Khách hàng
Nhân viên
Phòng máy tính.
ging trên:
Mt khách hàng mi m mt tài khon tit kim
Chuyn tin t tài khon tit kim sang tài kho
Chuyn tin t tài khon tit kim sang tài khon ATM
Xin chú ý là n c hai khía cnh: thông tin và cách hong ca
h thng (tc là nhng gì có th xy ra vi nh
Li phân tích bng kiu ánh x i th tht s m ln ca
ng.
2. Thiết kế hướng đối tượng (Object Oriented Design - OOD):
6
n t chp hng cng tác, mng trong
c th ca mt lp. Các lp là thành viên ca mt cây cu trúc vi mi quan h tha
k.
Mn OOD là to thit k da trên kt qu cn OOA, da trên
nhnh phi chng yêu cu v ng, nhng yêu cu v kh
thc thi, OOD tp trung vào vic ci thin kt qu ca OOA, tc
cung cp trong khi vm bo tho mãn tt c các yêu cc xác lp.
n OOD, nhà thit k tc (operations), thuc tính
i quan h ca mt hay nhiu lp (class) và quynh chúng cn phi
u chnh sao cho phù hp vng phát tri thit k
ngân hàng d liu và áp dng các k thut tiêu chun hóa.
tài nguyên cùng s c gng quên mình ca các nhân viên tài gi chng mt ai và
mu gì cu vãn cho mt h thng phn mm hoàn toàn chc cn ti hoc c gng
t ng hóa mt quy trình lm lc.
c khi bt tay vào mt d án, bn phi có m
vi vic nm bt các yêu cu và xut hin khu. Nó hoàn tt mt phát
biu: "H thng mà chúng ta mong mun s c nhng vit giai
n này, chúng ta to nên mt bc tranh v t nhiu gi thuyt s c công
nhn hay loi b. Các hong trong thng bao gm thu thng,
nhn bit ri ro, nhn bit các giao din bên ngoài, nhn bit các các ch
thng cn cung cp, và có th to mt vài nguyên m ng các khái nim
ca h thng có th n t nhiu ngun khác nhau: khách hàng,
vc, các nhà phát trin khác, chuyên gia v k ngh, các bn nghiên cu tính kh
vic xem xét các h thn ti. Mt khía cnh cn nhc ti là code vit trong
thi k ng s b "b c vit nhm mm tra hay tr giúp
các gi thuyt khác nhau, ch i th c vit theo kt qu phân tích và thit k
th
an nghiên c, nhóm phát trin h thng cn xem xét các yêu cu ca
doanh nghip (cn dùng h thng), nhng ngun tài nguyên có th s dng, công ngh
ng ca h i vi h thng mi. Có th thc hin
tho lun, nghiên cu, xem xét khía ci, phân tích kh i-l, phân tích các
ng hp s dng và to các nguyên m xây dng nên mt khái nim cho h th
cùng vi các mm vi ca nó.
n hành to mt phiên bn thô ca lch trình và k
hoch s dng tài nguyên.
Mt n nghiên c lp nên tp hp các yêu cu (dù m khái
i vi mt h thng kh c mong mun, k c v n k thut
ln xã hi. Mn nghiên c c thc hin tho dn ti các h
thc mong mut tin, bt kh m lc nhng h
thng thc hoàn tt hay s dng.
Nhn bit reports và nhng output mà h thng mi phi sn sinh
Thit k forms (v trên giy hay máy tính, s dng công c thit k)
Nhn bit các thành phn d liu và b to database
9
c tính các th tc gii thích quá trình x lý t n output.
Kt qu n thit k c T Thit K (Design Specifications). Bc T Thit K
Chi Tit s c chuyn sang cho các l thc hin xây dng phn
mm.
d - Xây dựng phần mềm
n vit lnh (code) thc s, to h thng. Ti vit code thc hin nhng
yêu cc nhà thit k nh si vit code chu trách nhim vit tài
lii thích th tc (procedure) mà anh ta tc vit
nào và lý do cho vic này.
m bc vit nên phi tho mãn mi yêu cc trong bn
c T Thit K Chi Tii ving thi phi tin hành th nghim phn
a mình. Phn th nghim n này có th c
chính:
Thử nghiệm đơn vị:
i vit code chy th các pha mình vi d liu gi (test/dummy data).
Vic thc hin theo mt k hoch thi vit code son ra. Mc
n th ng kt qu i.
n th nghi nhic gi là "Th hp trng" (White Box Testing)
Thử nghiệm đơn vị độc lập:
Công vic này do mt thành viên khác trong nhóm trách. Cn chi không có liên
quan trc tin vic vit code c n th nghi m bo tính
c lc th c thc hin da trên k hoch th i vit
code son nên.
e- Thử nghiệm hệ thống
Sau khi các th tc th nghim riêng, cn phi th nghim toàn b h thng. Mi th
Tên bài : KHẢO SÁT HỆ THỐNG
Mã bài : ITPRG3_16.2 Giới thiệu :
Mục tiêu thực hiện:
-
-
-
-
- case.
Nội dung chính:
I. Giới thiệu UML.
1-
phc, mc tiêu cn phân tích h thng là sn xut ra mt
mô hình tng th ca h thng cn xây dng. Mô hình này cn ph c trình bày theo
ng nhìn (View) ci s d h hic. Mô hình
c s d nh các yêu cu ci vi h thng và
thi ca d án.
Tm quan trng ci mt cách tht c các
ngành khoa hc k thut t nhiu th k nay. Bt k n xây dng mt vt th
o nên các bn v quynh c ngoi hình lc
ho ng ca nó. Chng hn các bn v k thu ng gp là mt dng mô hình quen
thuc. Mô hình nhìn chung là mt cách mô t ca mt vt th tn ti
trong mt s n nhn thit k n xây dng hoc ch
là mt k hoch. Nhà thit k cn phi to ra các mô hình mô t tt c các khía cnh khác
nhau ca sn phm. Ngoài ra, mt mô hình có th c chia thành nhing nhìn, mi
ng nhìn trong s chúng s mô t mt khía cnh riêng bit ca sn phm hay h thng cn
ng là Simula. Sang na sau ca thp k 1980, các ngôn ng
Smalltalk và C++ xut hin. Cùng vi chúng, ny sinh nhu cu mô hình hoá các h thng
phn mng. Và mt vài trong s nhng ngôn ng mô hình hoá xut hin
nhu thp k c nhii dùng là:
ect Modeling Technique OMT
Hewlett-
13
Mn và ngôn ng u có h thng ký hi lý
riêng và công c h tr riêng, khin ny ra cuc tranh lut nh
là cuc tranh lun khó có câu tr li, bi tt c u có nhm
mm yu riêng. Vì th, các nhà phát trin phn mm nhiu kinh nghing s
dng phi hm mnh ca mi png dng ca mình. Trong thc t,
s khác bit gi và theo cùng tin trình thi
gian, tt c nhm cn li và b sung ln cho nhau. Chính hin thc
c nhi ting nhn ra và
h quynh ngi l tích hp nhm mnh ca m
ra mt mô hình thng nhc công ngh phn mm.
3- Sự ra đời của UML:
Trong bi ci ta nhn thy cn thit phi cung cp mm cn
c chun hoá và thng nht cho ving. Yêu cu c th
ra mt tp hp chun hoá các ký hiu (Notation) và các bi nm bt các
quynh v mt thit k mt cách rõ ràng, rành mm
ti mc thc hii s o ca James Rumbaugh, Grady Booch
và Ivar Jacobson. Chính nhng c gng này dn kt qu là xây dc mt Ngôn Ng
Mô Hình Hoá Thng Nht (Unifield Modeling Language UML).
UML là mt ngôn ng mô hình hoá thng nht có phn chính bao gm nhng ký hiu hình
trong ngôn ng.
Semantic (Ng a mi bic hiu
th nào khi nm trong hoc không nm trong ng cnh ca các bi ng
khác.
a bi sao cho m a mô
c th hin và mi có th hic.
II Khái niệm mô hình của UML.
UML có th c s dng trong nhin, t phát trin, thit k cho ti thc hin và
bo trì. Vì ma ngôn ng này là dùng các bi mô t h
thng nên min ng dng ca UML bao gm nhiu loi h th
Hệ thống thống tin (Information System): Ct gi, ly, bii biu din
i s dng. X lý nhng khong d liu ln có các quan
h phc t d liu quan h hay
ng.
Hệ thống kỹ thuật (Technical System): X u khin các thit b k
thu n thông, h thng quân s, hay các quá trình công nghip.
ây là loi thit b phi x lý các giao tic bit, không có phn mm
chung là các h thng thi gian thc (real time).
Hệ thống nhúng (Embeded System): Thc hin trên phn cng gn vào
các thit b n thou khi c
thc hin bng vic lp trình mc thp vi h tr thi gian thc. Nhng h
thng không có các thit b
15
Hệ thống phân bố c phân b trên mt s máy
cho phép truyn d liu t t cách d dàng. Chúng
liên lng b m bo toàn vn d ling
c xây dng trên mt s các k thu
COM/DCOM, hay Java Beans/RMI.
Hệ thống Giao dịch (Business System): Mô t m tài nguyên (con
o Acceptance testing: Kim tra tính chp nhc ca h thng
c thc hin bi khách hàng, vic kim tra này thc hi
m tra h thng. III. Khả năng sử dụng UML.
1- UML và các giai đoạn của chu trình phát triển phần
1.1- Giai đoạn nghiên cứu sơ bộ:
ái nim Use Case nm bt các yêu cu ci s dng).
UML s dng bi nêu bt mi quan h giao
tip vi h thng.
n h
thng s c mô hình hóa song song vi ch i t phía h thng (tc là
c mô hình hóa cùng các mi quan h c
miêu t trong bi Use case ca UML. Mi mc mô t trong tài liu, và nó
s c t các yêu cu ca khách hàng: Anh ta hay ch ta ch u gì phía h thng mà
không h n vic ch c thc thi ra sao.
1.2- Giai đoạn phân tích:
n quá trình tru tiên (các lng)
hin hu trong phm vi vn bic các
lp thành phn ci quan h gia chúng vi nhau, các lp cùng các mi
quan h c miêu t bng công c bi lp (class diagram) ca UML. S cng tác
gia các lp nhm thc hi c miêu t nh ng
(dynamic models) cn phân tích, ch duy nht các lp có tn ti trong
phm vi v (các khái nim i thc mô hình hóa. Các lp k thu
ti i pháp trong h thng phn mm, ví d p cho giao dii
dùng, cho ngân hàng d liu, cho s giao tip, trùng hi là mi quan tâm
cn này.
1.3- Giai đoạn thiết kế:
v to ra các bi. Bt ngôn ng
kt hp các phn t
Mt s nhng thành phn ch yu ca ngôn ng UML:
Hướng nhìn (view): ng nhìn ch ra nhng khía cnh khác nhau ca h
thng cn phc mô hình hóa. Mng nhìn không phi là mt bn
v, mà là mt s trng hóa bao gm mt lot các bi khác nhau.
Ch qua vi a mt lo ng nhìn khác nhau, mi
ng nhìn ch ra mt khía cnh riêng bit ca h thi ta mi có
th to dng nên mt bc tranh hoàn thin v h th
ng nhìn này ni kt ngôn ng mô hình hóa vc chn cho
n phát trin.
Biểu đồ (diagram): Bi là các hình v miêu t ni dung trong mt
ng nhìn. UML có tt c 9 loi bi kc s dng trong
nhng s kt h cung cp tt c ng nhìn ca mt h
thng.
18
Phần tử mô hình hóa (model element): Các khái nic s dng trong
các bi c gi là các phn t mô hình, th hin các khái ning
i tng quen thuc. Ví d
quan h gia các khái nim này, bao gm c liên kt, ph thuc, khái quát
hóa. Mt phn t c s dng trong nhiu bi khác
mà mt kí hiu.
Cơ chế chung: chung cung cp thêm nhng li nhn xét b sung,
c ng pháp chung v mt phn t mô
hình; chúng còn cung c có th m rng ngôn ng
UML cho phù hp vi mnh (mt quy trình, mt t
chc hoc mi dùng).
3- Hướng nhìn (View)
Mô hình hóa mt h thng phc tp là mt ving nht là toàn b h
ng nhìn song song (concurrency view): ch ra s tn ti song song/
trùng hp trong h thn v giao ting b hóa trong
h thng.
ng nhìn trin khai (deployment view): ch ra khía cnh trin khai h
thng vào các kin trúc vt lý (các máy tính hay trang thit b c coi là
trm công tác).
Khi bn chn công c v bi, hãy chn công c nào tu kin d dàng chuyn t
ng nhìn khác. Ngoài ra, cho mmt ch
c thit k nào, công c i tu kin d dàng cho bn chuyn sang
xem chc miêu t nào t phía tác nhân), hoc
chuyng nhìn tri xem ch c phân b ra sao trong cu
trúc vt lý - Nói mt cách khác là nó có th nm trong máy tính nào).
ng nhìn k trên, ngành công nghip phn mm còn s dng c ng nhìn
khác, ví d -ng nhìn logic-vt lý, quy trình nghip v (workflow) và
ng nhìn khác. UML không yêu cu chúng ta phi s d
ng nhìn mà các nhà thit k ci, nên có kh
u công c s d
3.1- Hướng nhìn Use case (Use case View):
ng nhìn Use case miêu t cha h thng s phi cung cc tác nhân t
i. Tác nhân là thc th i h th là mi s
dng hoc là mt h thng nng nhìn dành cho khách hàng,
nhà thit k, nhà phát trii th nghic miêu t qua các bi Use case
20
(use case diagram) và thnh thom c các bi hong (activity diagram).
Cách s dng h thng nhìn chung s c miêu t qua mt long
i mt Use case là mt li miêu t c thù cho m
ca h tht chi).
ng nhìn Use case mang tính trung tâm, bi nt ra ny s phát trin các
ng nhìn khác. Mc tiêu chung ca h thng là cung cp các ch trong
21
th c thn v giao ting
b hóa các ti
ng nhìn song song giành cho nhà phát trii tích hp h thng, nó bao gm các
bi ng (trng thái, trình tng) cùng các bi thc thi (bi
thành phn và bi trin khai).
3.5- Hướng nhìn triển khai (Deployment View):
Cung nhìn trin khai ch trin khai v mt vt lý ca h thng,
ví d liên kt gia chúng vng
nhìn trin khai giành cho các nhà phát trii tích hi th nghim h
thc th hin bng các bi trim s ánh x
các thành phn ca h thng vào cu trúc vt lý; ví d ng
nào s c thc thi trên máy tính nào.
4- Biểu đồ (diagram)
Bi là các hình v bao gm các ký hiu phn t c sp x minh ha
mt thành phn c th hay mt khía cnh c th ca h thng. Mt mô hình h thng
có nhiu loi bi, mi loi có nhiu bi khác nhau. Mt bi là mt thành phn
ca m ng nhìn c th c v c xp vào mt
ng nhìn. Mt khác, mt s loi bi có th là thành phn ca nhing nhìn khác
nhau, tùy thuc vào ni dung ca bi.
Phn sau miêu t các khái nin nng sau mi loi bi. Tt c các chi tit v
bi, ng cnh ca chúng và s a chúng vi
c miêu t chi ting ng). Các
bi ly làm ví d c ly ra t nhiu loi h th ch ra nét phong
phú và kh ng rng khp ca ULM.
4.1- Biểu đồ Use case (Use Case Diagram):
Mt bi Use case ch ra mt s ng các tác nhân ngoi cnh và mi liên kt ca chúng
i vi Use case mà h thng cung cp (nhìn hình 3.2). Mt Use case là mt li miêu t ca
mt ch thng cung cp. Li miêu t ng là mn tài liu,
ví d ca bi lp, ch ra mt bc tranh thc t có th xy ra khi h thng thc thi: bc
tranh mà h thng có th có ti mt th ng s dng chung các
ký hiu ca bi lp, ch tr hai ngoi lc vit vc gi và
tt c các thc th trong mt mi quan h c ch ra (nhìn hình 3.4).
Bi ng không quan trng bng bi lp, chúng có th c s d ví d
hóa mt bi lp phc tp, ch ra vi nhng thc th c th và nhng mi quan h
thì bc tranh toàn cnh s ra sao. Mt bi c s dng làm
mt thành phn ca mt bi cng tác (collaboration), ch ra li ng x ng gia mt lot
i ng.
Hình 2.4 - Bi lp và bi ng th hin ca lp
4.4- Biểu đồ trạng thái (State Diagram):
Mt bi trng là mt s b sung cho li miêu t mt lp. Nó ch ra tt c các
trng ca lp này có th có, và nhng s kin (event) nào s gây ra s thay
i trng thái (hình 3.5). Mt s kin có th xy ra khi mng t gn
cho nó - ví d thông báo rng mt khong th hay là
mt s u kic tha mãn. Mt s i trc gi là mt s
chuyển đổi trạng thái (State Transition). Mt chuyi tr có mt hành
u gì phc thc hin khi s chuyi trng thái này din ra.
24
Bi trc v cho tt c các lp, mà ch riêng cho nhng lp có mt s
ng các tra lp b nh i qua
các trng thái khác nhau. Bi tr c v cho h thng tng th. Biu
trc miêu t chi ting).
Hình 2.5- Mt ví d v bi trng thái
2.5- Biểu đồ trình tự (Sequence Diagram):
Mt bi trình t ch ra mt cng gia mt long (xem hình 3.6).
Khía cnh quan trng ca bi này là ch ra trình t c gi
Hình 2.7 - Mt bi công tác ca mt printer server
4.7- Biểu đồ hoạt động (Activity Diagram):
Mt bi hong ch ra mt trình t lt ca các hong (activity) (hình 3.8).
Bi hoc s d miêu t các hoc thc hin trong mt
th tc, m c s d miêu t các dòng chy hong khác, ví d
t Use case hay trong mt trình t hong bao gm các
trng, chc t ca mt hong cn phc thc hin (mng
- action). Mt trng s c thc hin xong (khác vi
bi trng thái: mt trng thái ch chuyn sang try ra mt s
kiu khin y gia các trng liên kt vi nhau.
Bi còn có th ch ra các quyu kin thc thi song song ca
các trng. Bi ngoài ra còn có th cha các loc t p
c gc nhn vn cc thc hin.