1
t r × n h ® é ® µ o t ¹ o
cc
GIÁO TRÌNH
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
3
BÀI 1
Tên bài : TỔNG QUAN VỀ OOAD VÀ UML
Mã bài : ITPRG3_16.1
Giới thiệu :
t
Mục tiêu thực hiện:
-
-
-
-
-
Nội dung chính:
I. Giới thiệu về OOAD và UML
1. Phân tích và thiết kế hướng đối tượng
Hướng đối tượng là thut ng thông dng hin thi ca ngành công nghip phn mm. Các
ng và tích hp công ngh mi này vào các ng dng
ca h. Tht s n các ng dng hin th
ng có
Li tip cng là mt l v theo li ánh x các thành phn trong
i thc. Vi li tip cn này, chúng ta chia ng dng thành
các thành phn nh, gc lp v
xây dng ng dng bng cách chi v
ng các mu gu tiên là to hay mua mt vài loi mu g n, t o
nên các khi xây dn ca mình. Mi xây dn có th
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
Mô hình hoá các h thng s dng các khái ning.
Thit lp mt kt ni t nhn thc cn các s kin cn mô hình hoá.
Gii quyt v v m tha k trong các h thng phc tp, có nhiu ràng
buc khác nhau.
To mt ngôn ng mô hình hoá có th s dc bi và máy.
II. Các quá trình OOAD
1. Phân tích hướng đối tượng (Object Oriented Analysis - OOA):
an phát trin mt mô hình chính xác và súc tích ca v, có thành phi
ng và khái nii thc, d hii vi s dng.
n OOA, v c trình bày bng các thut ng ng vng
có th thng cn phi không chuyên Tin
hc có th d dàng hic.
Da trên mt v có sn, nhà phân tích cn ánh x ng hay thc th có th
t k tc bn thit k gn cn vi tình
hung thc. Mô hình thit k s cha các thc th trong mt v có thc và gi nguyên các
mu hình v cu trúc, quan h a chúng. Nói mt cách khác, s dng
5
ng chúng ta có th mô hình hóa các thc th thuc mt v có
thc mà vn gi c cu trúc, quan h a chúng.
i vi ví d mn OOA s nhn bic các thc th
Khách hàng
i bán hàng
Phit hàng
Phi
Xe ô tô
ging trên là:
i bán hàng dy xe.
Khách hàng chn mt chic xe
Khách hàng vit phit xe
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.
V cun OOD, nhà thit k t lot các bi (diagram) khác nhau. Các
bi này có th ng. Các bi u th
các lng, trong khi bi ng biu th a các lc
ho ng chính xác ca chúng. Các l c nhóm thành các gói
(Packages) t thành phn nh a ng dng.
3. Lập trình hướng đối tượng (Object Oriented Programming - OOP):
n xây dng phn mm có th c thc hin s dng k thut li
c thc hin thit k ng qua vic s dng mt ngôn ng
lp trình có h tr ng. Mt vài ngôn ng ng
c nhc ti là C++ và Java. Kt qu chung cuc cn này là mt lot các code
chc, nó ch di qua nhiu vòng quay ca nhic
th nghim khác nhau.
III. Tiến trình Objectory
Chu trình ca mt phn mm có th
Nghiên c (Preliminary Investigation hay còn gi là Feasibility Study)
Phân tích yêu cu (Analysis)
Thit k h thng (Design of the System)
Xây dng phn mm (Software Construction)
Th nghim h thng (System Testing)
Thc hin, trin khai (System Implementation)
Bo trì, nâng cp (System Maintenance)
a - Nghiên cứu sơ bộ:
7
Câu hi quan trng nht khi phát trin mt h thng hoàn toàn không phi câu hi mang tính
ng phi câu hi v k thut. Nó là mt câu h có
v c bit khó tr lt h th thc hin
n là chính câu hi này trong thc t ng chng h t ra và li
c tr li. Mc dù vic lm ln v nh sai lm v k
thu dn ti tht bng thì d án có th c cu vãn n
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.
8
Kt qu cn nghiên c là Báo Cáo Kt Qu Nghiên Cu Tính Kh Thi. Khi
h thc chp nhn da trên bn Phân tích
bu.
b- Phân tích yêu cầu
tính kh thi ca h tho lp mt b ca d
c coi là quan trng nht trong các công vic lp
trình: hiu h thng cn xây di thc hin công vic này là nhà phân tích.
Quá trình phân tích nhìn chung là h qu ca vic tr li câu hi "H thng cn phi làm gì?".
Quá trình phân tích bao gm vic nghiên cu chi tit h thng doanh nghip hin thi, tìm
cho ra nguyên lý hong ca nó và nhng v trí có th c nâng cao, ci thin. Bên cnh
c nghiên cu xem xét các ch thng cn cung cp và các mi quan h
ci phía ngoài h thng. Trong toàn b n này, nhà
i dùng cn cng tác mt thit v nh các yêu ci vi h
thng, ti cn ph thng.
Nhng mc tiêu c th cn phân tích là:
nh h thng cn phi làm gì.
Nghiên cu tht c các chn cung cp và nhng yu t liên
quan
Xây dng mt mô hình nêu bt bn cht v t m ng nhìn có thc
i sng thc).
v nhn s
Kt qu c n phân tích là b c T Yêu Cu (Requirements
Specifications).
c - Thiết kế hệ thống
n phân tích, khi các yêu cu c th i vi h thn
tip theo là thit k cho các yêu cu mi. Công tác thit k xoay quanh câu hi chính: H
th tha mãn các yêu cc T Yêu Cu?
Mt s các công vic thc hin thit k:
Nhn bit form nhp liu tùy theo các thành phn d liu cn nhp.
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
tc tích hp và chy th, kim tra xem mi chi tic T Yêu Cu và nhng
mong ch cc tho mãn. D liu th cc chn lc bit, kt qu
c phát hin mi lch lc so vi mong ch.
f - Thực hiện, triển khai
n này, h thng va phát trin s c tri i dùng.
i dùng tht s bt tay vào s dng h thng, nhóm các nhà phát trin cn
to các file d liu cn thin luy m bo h thc
s dng hu hiu nht.
g - Bảo trì, nâng cấp
10
Tùy theo các bing s dng, h thng có th tr nên li thi hay cn phi
c si nâng c s dng có hiu qu. Hong bo trì h thng có th rt khác bit
tùy theo m si và nâng cp cn thit.
Sơ đồ tổng quát các giai đoạn của Chu Trình Phát Triển Phần Mềm:
Hình 1.3: tn ca Chu Trình Phát Trin Phn Mm
Câu hỏi và bài tập
1. Hỏi: Mt s tp hp d liu phc tp nh c trình bày b th s
truyn tn c nhii các d liu thô?
2. Hỏi: Mô hình giúp chúng ta t chc, trình bày trc quan, thu hiu và to nên các h
thng phc tp.
3. Hỏim ln nht cng là tính tái s dng (Reusable)?
Bài tập thực hành : 160
11
BÀI 2
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
c xây dng. M c xây dng trong nhin và mi giai
n, mô hình s c b sung thêm mt s chi tit nhnh.
c mô t trong ngôn ng trn các thông
c th hin bng các ký hi ha và các kt ni gia chúng, ch khi cn thit mt s
thông tin mc biu din dn ng "Mt bc tranh
nói nhi ngàn t". To mô hình cho các h thng phn mc khi thc s xây
d thành mt chun mc trong vic phát trin phn mc chp
12
nhn trong cng làm phn mm git k mt ngành khoa hc k thut
nào khác. Vic biu din mô hình phi thoã mãn các yu t sau:
Chính xác (accurate): Mô t thng cn xây dng.
ng nhc mâu thun vi
nhau.
Có th hic (understandable): Cho nhi xây dng ln s
dng
D i (changeable)
D dàng liên lc vi các mô hình khác.
Có th nói thêm rng mô hình là mt s n hoá hin thc xây dng nên
chúng ta d dàng hiu và hiu t thng cn xây dng. To mô hình s giúp cho
chúng ta hiu tht h thng phc tp trong s toàn th ca nó.
Nói tóm li, mô hình hóa mt h thng nhm m
Hình dung mt h thng theo thc t hay theo mong mun ca chúng
ta.
Ch rõ cu trúc hoc ng x ca h thng.
To mt khuôn mng dn nhà phát trin trong sut quá trình xây
dng h thng.
Ghi li các quynh ca nhà phát tri s dng sau này.
2- Trước khi UML ra đời:
u nh phn mm ch có duy nht mt ngôn ng i
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
hng s d th hin và miêu t các thit k ca
mt h thng. Nó là mt ngôn ng c t, trc quan hoá, xây du cho
nhiu khía cnh khác nhau ca mt h thng có n phn mm cao. UML có th c s
dng làm công c giao tip gii dùng, nhà phân tích, nhà thit k và nhà phát trin
phn mm.
Trong quá trình phát trin có nhi tr và khuyn khích phát trin UML có th
k t
4- UML (Unifield Modeling Language):
Ngôn ng mô hình hóa thng nht (Unifield Modeling Language UML) là mt ngôn ng
biu dic xây dng bi ba tác gi trên vi ch
Mô hình hoá các h thng s dng các khái ning.
Thit lp mt kt ni t nhn thc cn các s kin cn mô hình
hoá.
Gii quyt v v m tha k trong các h thng phc tp, có nhiu
ràng buc khác nhau.
To mt ngôn ng mô hình hoá có th s dc bi và máy.
14
5- Phương pháp và các ngôn ngữ mô hình hoá:
c (method) là mt cách trc tip cu trúc hoá s
ng ci s dng bit ph nào,
khi nào và ti sao (ma các mô hình (model), các mô
mô t nhng gì s dng cho vic truyt kt qu trong quá trình s
dm khác nhau chính gia mt ngôn ng mô hình
hoá (modeling language) là ngôn ng mô hình hoá không có mt tin trình (process) hay các
câu lnh (instruction) mô t nhng công vii s dng cn làm.
Mc biu din theo mt ngôn ng mô hình hoá. Ngôn ng mô hình hoá bao
gm các ký hiu nhng bic dùng trong mô hình và mt tp các quy tc ch
cách s dng chúng. Các quy tc này bao gm:
Syntactic (Cú pháp): cho bit hình dng các bing và cách kt hp chúng
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
c (lut pháp, chin thu
chc hong kinh doanh.
Phần mềm hệ thống h tng k
thut cho phn mm khác s dng, chng h u hàn d
liu, giao dii s dng.
UML
Preliminary Investigation: use cases th hin các yêu cu ci dùng. Phn
miêu t nh các yêu cu, phn diagram th hin mi quan h và giao
tip vi h thng.
Analysis: Man này là trng hóa và tìm hi
cu có trong phm vi bài toán. Class diagrams trên bình din trng hóa các
thc th i thc s d làm rõ s tn ti quan h
ca chúng. Ch nhng lp (class) nm trong phm vi bài toán m
Design: Kt qu phc phát trin thành gii pháp k thut. Các lp
c mô hình hóa chi ti cung cp h tng k thun, nn tng
t qu phc t chi tin xây dng
phn mm.
Developmentc chuyn thành code. Programmer s dng các
hiu v và to code.
Testing: S doc. Có 4 hình thc
kim tra h thng:
o Unit testing (class diagrams & class specifications): kim tra t
th kim tra các l.
o Integration testing (integration diagrams & collaboration diagrams):
kim tra tích hp là kim tra kt hp các component vi các l xem
chúng hong v
o System testing (use-case diagrams): kim tra xem h thng
c chi s dng yêu cu hay không.
16
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ế:
n này, kt qu cn phân tích s c m rng thành mt gii pháp k
thut. Các lp mi s c b to thành mt h t k thut: Giao dii
dùng, các ch i ng trong ngân hàng d liu, giao tip vi các h
thng khác, giao din vi các thit b ngoi vi và các máy móc khác trong h thng, Các
lp thuc phm vi v có t n phân tích s c "nhúng" vào h t k
thut này, to ra kh i trong c n: Phm vi v và h t
sn thit k s t qu là bc t chi tin xây dng h thng.
17
1.4- Giai đoạn xây dựng:
n xây dn lp trình), các lp con thit k s c bin
thành nhng dòng code c th trong mt ngôn ng lng c th (không
nên dùng mt ngôn ng lng ch thuc vào kh a ngôn ng
c s d là mt công vid dàng. Khi to ra các mô hình
phân tích và thit k trong UML, tt nht nên c gng né tránh vic ngay lp tc bii các
mô hình này thành các dòng code. Trong nhc s d d
hiu, d giao tip và to nên cu trúc ca h thng; vì vy, vng kt lun v
vic vit code có th s thành mt tr ngi cho vic tn.
n xây dng là mn riêng bic chuyn thành code.
1.5- Thử nghiệm:
Nh n Chu Trình Phát Trin Phn Mm, mt h thng phn mm
c th nghim qua nhin và vi nhiu nhóm th nghim khác nhau. Các
nhóm s dng nhiu loi bi UML khác nhau làm nn tng cho công vic ca mình: Th
nghi s dng bi lc t lp, th nghim tích hng
s dng bi thành phn (component diagram) và bi cng tác (collaboration
n th nghim h thng s dng bi Use case (use case diagram
m bo h thc ho u trong
các bi này.
2- Các thành phần của ngôn ngữ UML
Ngôn ng UML bao gm mt lot các phn t ha (graphic element) có th c kp hp
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
thc miêu t ch trong mt bn v, mt bn v t cách rõ ràng và mch lc
toàn b h thng, mt bn v ngoài ra li còn d giao tip và d hiu. Mc dù vng thì
n bt kh thi. Mt bn v không th nm bt tt c các thông tin cn thi miêu
t mt h thng. Mt h thng cn phc miêu t vi mt lot các khía cnh khác nhau:
V mt chng), v mt phi ch
(yêu cu v thi gian, v y, v quá trình th khía
cnh t chc (t chc làm vic, ánh x nó vào các code module, ). Vì vy mt h thng
c miêu t trong mt long nhìn khác nhau, mng nhìn s th hin
mt bc nh ánh x ca toàn b h thng và ch ra mt khía cnh riêng ca h thng.
Hình 2.1- Các View trong UML
Mi mc miêu t trong mt lot các bi, chng các thông tin nêu
bt khía cc bia h thng. Trong thc t khi phân tích và thit k rt d xy ra s
trùng lp thông tin, cho nên mt bi trên tht t có th là thành phn ca nhing
nhìn khác nhau. Khi nhìn h thng t nhing nhìn khác nhau, ti mt thm có th
19
i ta ch tp trung vào mt khía cnh ca h thng. Mt bi trong mng nhìn c
th n ph tu kin giao tip d dính lin vi các
bi ng nhìn khác, làm sao cho bc tranh toàn cnh ca h thng
c miêu t bng s kt hp tt c các thông tin t tt c ng nhìn. Mt bi cha
các kí hiu hình hc mô t các phn t mô hình ca h thng. UML có tt c ng nhìn
sau:
ng nhìn ch ra khía cnh
cha mt h thng, nhìn t ng tác nhân bên ngoài.
ng nhìn logic (logical view): ch ra ch c thit k bên
trong h th nào, qua các khái nim v c
ng x ng ca h thng.
ng nhìn thành phn (component view): ch ra khía cnh t chc ca
các thành phn code.
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
ng nhìn này cùng vi mt vài các thuc tính mang tính phi ch vì th
ng nhìn này có n tt c c s
d thm tra (verify) h thng qua vic th nghi
vi ca khách hàng (Hi là th bn mui h
thng vc hoàn thành (Hi: "H thng có hoc t
3.2- Hướng nhìn logic (Logical View):
ng nhìn logic miêu t c mà các cha h thng s c cung cp. Ch
yc s dng cho các nhà thit k và nhà phát tric li vng nhìn Use
ng nhìn logic nhìn vào phía bên trong ca h thng. Nó miêu t k c c
(lng, và quan h ng s xng gi thông
cung cp chnh sc tính
ng tn (persistency) ho
cu trúc ni ti ca các lp.
Cc miêu t bng các bi lp (class diagram) và bi ng (object
diagram). Quá trìn c miêu t trong các bi trng thái (state
diagram), bi trình t (sequence diagram), bi
bi hong (activity diagram).
3.3- Hướng nhìn thành phần (Component View):
Là mt li miêu t ca vic th ph thuc gia chúng vi nhau.
c s dng cho nhà phát tring bao gm nhiu bi thành phn.
Thành phn nh thuc nhiu loi khác nhau, s c ch ra trong bi
cùng vi c ph thuc ca chúng. Các thông tin b sung v các thành phn,
ví d trí ca tài nguyên (trách nhii vi mt thành phn), hoc các thông tin qun
tr khác, ví d t bn báo cáo v tin trình ca công vió th c b sung vào
3.4- Hướng nhìn song song (Concurrency View):
ng nhìn song song nhm ti s chia h thng thành các qui trình (process) và các b x lý
(processor). Khía cnh này, vn là mt thuc tính phi ch a h thng, cho phép
chúng ta s dng mt cách hu hiu các ngun tài nguyên, th lý
các s king b t ng. Bên cnh vic chia h thng thành các tiu trình có
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,
ó th là mt bi hoc miêu t duy
nhng nhìn t ngoài vào ca các tác nhân (hành vi ca h th mong
i ci s dng), không miêu t chc cung cp s hong ni b bên
trong h thng ra u v mt chi vi h
thng. Các bi Use case s c miêu t chi ti (Use case).
22
Hình 2.2- Bi use case ca mt công ty bo him
4.2- Biểu đồ lớp (Class Diagram):
Mt bi lp ch ra ca các lp trong h thng (nhìn hình 3.3). Các li
dic x lý trong h thng. Các lp có th quan h vi nhau trong nhiu
dng thc: liên kt (associated - c ni kt vi nhau), ph thuc (dependent - mt lp này
ph thuc vào lp khác), chuyên bit hóa (specialized - mt lp này là mt kt qu chuyên
bit hóa ca l- hp vi nhau thành m). Tt c các
mi quan h c th hin trong bi li cu trúc bên trong ca các
lp theo khái nim thuc tính (attribute) và th tc (operation). Bi c coi là bi
n cc miêu t u lc ti bt k thm nào trong
toàn b i h thng.
Mt h thng s có mt lot các bi lp chng phi bao gi tt c các bi
lc nhp vào mt bi lp tng th duy nht và mt lp có th tham gia
vào nhiu bi lp. Bi lc miêu t chi ti
Hình 2.3 - Bi lp cho mt giao dch Tài chính
23
4.3- Biểu đồ đối tượng (Object Diagram):
Mt bi ng là mt phiên bn ca bi l dng các ký hiu
lp. S khác bit gia hai loi bi này nm ch bi ng ch ra
mt long thc th ca lp, thay vì các lp. Mt bi ng vì vy là mt
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
gi ra trình t u s xy ra ti
mt thm c th thc thi ca h thng. Các bi trình t cha
mt loc biu din bng thng. Trc thng
t trên xui trong bi, và bi ch ra s p ging
khi thc biu din bng gch ngang gn lin vi
ên (biu th p) ni lin gia nhng thng th hing. Trc
thi gian cùng nhng li nhng s n l ca bi.
Hình 2.6 - Mt bi trình t cho Print Server
4.6- Biểu đồ cộng tác (Collaboration Diagram):
Mt bi cng tác ch ra mt s c t bi trình t.
i ta s chn hoc dùng bi trình t hoc dùng bi cng tác. Bên cnh
vic th hin s c gi là tương tác), bi cng tác ch i
ng và quan h ca chúng (nhic gi là ng cnh). Vic nên s dng bi trình
t hay bi cng s c quynh theo nguyên tc chung sau: Nu thi gian
25
hay trình t là yu t quan trng nht cn phi nhn mnh thì hãy chn bi trình t; nu
ng cnh là yu t quan trn bi cng tác. Trình t i
c th hin trong c hai loi bi này.
Bi cc v theo dng mt bi t loc
ch ra cùng vi mi quan h gia chúng vi nhau (s dng nhng ký hi
lp/ bi c v gi ch ra dòng chy thông
p git
trong nhng cha nhãn là ch ra th t c g
th ch u kin, ch ra nhng giá tr c tr vi cách vit
nhãn, mt nhà phát trin có th c bi cng tác và tuân th theo dòng th
s p. Mt bi c cha c ng tích cc
(active objects), hong song song vng tích cc khác (hình 3.7). Bi cng
c miêu t chi ti
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.