1 TÀI LIU MÔN HC PHÂN TÍCH VÀ THIT K HTTT
THEO UML
(ây là tài liu su tm, tng hp)
GING VIÊN PH TRÁCH: NGUYN C CNG GING VIÊN: TÔN THT HOÀ AN – DNG KIU HOA
(Su tm tng hp) 2
MC LC
CHNG 1: TNG QUAN V PHÂN TÍCH THIT K H THNG 6
2.1.1. Mô hình hóa h thng phn mm 17
2.1.2. Trc khi UML ra i 18
2.1.3. S ra i ca UML 18
2.1.4. UML (Unifield Modeling Language) 19
2.1.5. Phng pháp và các ngôn ng mô hình hoá 19
2.2. UML trong phân tích thi!t k! h thng 19
2.3. UML và các giai o"n phát trin h thng 20
2.4. Phn câu hi 21
CHNG 3: KHÁI QUÁT V UML 22
3.1. UML và các giai o"n ca chu trình phát trin phn mm 22
3.1.1. Giai on nghiên cu s b 22
3.1.2. Giai on phân tích 22
3.1.3. Giai on thit k 22
3.1.4. Giai on xây dng 22
3.1.5. Th nghim 23
3.4.6. Biu cng tác (Collaboration Diagram) 29
3.4.7. Biu hot ng (Activity Diagram) 30
3.4.8. Biu thành phn (Component Diagram) 30
3.4.9. Biu trin khai (Deployment Diagram) 31
3.5. Phn t% mô hình (model element) 32
3.6. C ch! chung (General Mechanism) 33
3.6.1. Trang trí (Adornment) 33
3.6.2. Ghi chú (Note) 34
3.6.3. c t (Specification) 34
3.7. M& r'ng UML 35
3.7.1. Khuôn mu (Stereotype) 35
3.7.2. Giá tr ính kèm (Tagged Value) 36
3.7.3. Hn ch (Constraint) 36
3.8. Mô hình hóa vi UML 37
3.9. Công c( (Tool) 40
4.6. Các bi!n th (Variations) trong m't Use Case 53
4.7. Quan h gi#a các Use Case 54
4.7.1. Quan h m rng 54
4.7.2. Quan h s dng 55
4.7.3. Quan h chung nhóm 56
4.8. Miêu t Use Case 57
4.9. Th% Use Case 60
4.10. Th*c hin các Use Case 61
4.11. Tóm t)t v Use Case 63
4.12. Phn câu hi 63
CHNG 5 : MÔ HÌNH I T+NG 65
5.1. Lp, i tng và quan h – các thành phn c bn ca mô hình 65
5.1.1. i tng (Object) 65
5.1.2. Trng thái, ng x và nhn din ca i tng 65
5.1.3. Lp (Class) 66
5.5.3. S lng (Cardinality) trong liên h 79
5.5.4. Phát hin liên h 80
5.5.5. X lý các liên h không cn thit 80
5.5.6. Nâng c!p các mi liên h 81
5.6. Quan h k!t tp (Aggregation) 85
5.6.1. Khái nim kt tp 85
5.6.2. Kí hiu kt tp 86
5.6.3. Kt tp và liên h 87
5.7. Khái quát hóa và chuyên bit hóa (Generalization & Specialization) 87
5.7.1. Kí hiu khái quát hóa và chuyên bit hóa 88
5.7.2. Yu t phân bit (Discriminatior) 89
5.8. Quan h ph( thu'c và nâng c,p (Dependency & Refinement) 92
5.9. Nâng c,p mô hình qua các vòng l-p k! ti!p 94
5.10. Ch,t lng mô hình 95
5.10.1. Th nào là mt mô hình tt? 96
6.6. Biu $ c'ng tác (Collaboration Diagram) 108
5
6.7. Biu $ tr"ng thái (State Diagram) 109
6.7.1. Trng thái và s bin i trng thái (State transition) 109
6.7.2. Biu trng thái 110
6.7.3. Nhn bit trng thái và s kin 111
6.7.4. Mt s li mách bo cho vic to dng biu trng thái 112
6.8. Biu $ ho"t 'ng (Activity Diagram) 114
6.9. Vòng /i i tng (Object Lifecycle) 117
6.9.1. Vòng i sinh ra và cht i 118
6.9.2. Vòng i lp 118
6.10. Xem xét l"i mô hình 'ng 118
6.10.1. Th$m v!n biu trng thái 118
6.10.2. Phi hp s kin 119
hp, chúng ch* hng ti tng th!p nh!t ca vic phát trin phn mm: phn vit lnh (coding). Mt
trong nhng v!n chính ca ngành phát trin phn mm thi nay là có nhiu án b"t tay vào lp
trình quá sm và tp trung quá nhiu vào vic vit code. Lý do mt phn là do ban qun tr thiu hiu
bit v quy trình phát trin phn mm và h# ny lo âu khi th!y i quân lp trình ca h# không vit
code. Và bn thân các lp trình viên c'ng cm th!y an tâm hn khi h# ngi vit code - vn là tác v mà
h# quen thuc! – hn là khi xây dng các mô hình tru tng cho h thng mà h# phi to nên.
1.1.3. Mô hình hóa trc quan
Mô hình hoá trc quan là mt phng thc t duy v v!n s dng các mô hình c t chc xoay
quanh các khái nim i thc. Mô hình giúp chúng ta hiu v!n , giao tip vi m#i ngi có liên quan
n d án (khách hàng, chuyên gia l+nh vc thuc án, nhà phân tích, nhà thit k, …). Mô hình r!t
hu dng trong vic mô hình hoá doanh nghip, son tho tài liu, thit k chng trình c'ng nh ngân
hàng d liu. Mô hình giúp hiu các òi h i ca h thng tt hn, to các thit k rõ ràng hn và xây
dng nên các h thng d bo trì hn.
Mô hình là kt qu ca s tru tng hóa nh%m miêu t các thành phn ct yu ca mt v!n hay mt
c!u trúc phc tp qua vic l#c bt các chi tit không quan tr#ng và làm cho v!n tr thành d hiu
hn. Tru tng hóa là mt n(ng lc c(n bn ca con ngi, cho phép chúng ta gii quyt các v!n
phc tp. Các k, s, ngh s+ và th th công ã xây dng mô hình t hàng ngàn n(m nay th
nghim thit k trc khi thc hin. Phát trin phn mm c'ng không là ngoi l. xây dng các h
thng phc tp, nhà phát trin phi tru tng hóa nhiu hng nhìn khác nhau ca h thng, s dng
ký hiu chính xác xây dng mô hình, kim tra xem mô hình có th a mãn các òi h i ca h thng,
và dn dn b sung thêm chi tit chuyn các mô hình thành thc hin.
Chúng ta xây dng mô hình cho các h thng phc tp bi chúng ta không th hiu th!u áo nhng h
thng nh th trong trng thái toàn v-n ca chúng. Kh n(ng th!u hiu và n"m b"t tính phc tp ca 7
con ngi là có hn. iu này ta có th th!y rõ trong ví d ca ngành xây dng. Nu bn mun to mt
túp lu góc vn, bn có th b"t tay vào xây ngay. Nu bn xây mt ngôi nhà, có l& bn s& cn ti
bn v&, nhng nu bn mun xây mt toà nhà ch#c tri thì ch"c ch"n bn không th không cn bn v&.
Th gii phn mm ca chúng ta c'ng th. Ch* tp trung vào các dòng code hay thm chí c phân tích
Mt phn mm có kh n(ng m rng là phn mm c thit k sao cho d phát trin theo yêu cu ca
ngi dùng mà không cn sa cha nhiu.
Chính vì vy, mt s các khim khuyt thng gp trong phát trin phn mm là: 8
Hiu không úng nhng gì ngi dùng cn
Không th thích ng cho phù hp vi nhng thay i v yêu cu i vi h thng
Các Module không khp vi nhau
Phn mm khó bo trì và nâng c!p, m rng
Phát hin tr các l. hng ca d án
Ch!t lng phn mm kém
Hiu n(ng ca phn mm th!p
Các thành viên trong nhóm không bit c ai ã thay i cái gì, khi nào, âu, ti sao
phi thay i.
1.2.2. Chu Trình Phát Trin Phn Mm (Software Development Life Cycle)
Vì phát trin phn mm là mt bài toán khó, nên có l& trc ht ta cn im qua mt s các công vic
c(n bn ca quá trình này. Thng ngi ta hay tp hp chúng theo tin trình thi gian mt cách tng
i, xoay quanh chu trình ca mt phn mm, dn ti kt qa khái nim Chu Trình Phát Trin Phn
Mm (Software Development Life Cycle - SDLC) nh sau:
Chu Trình Phát Trin Phn Mm là mt chu.i các hot ng ca nhà phân tích (Analyst), nhà thit k
(Designer), ngi phát trin (Developer) và ngi dùng (User) phát trin và thc hin mt h thng
thông tin. Nhng hot ng này c thc hin trong nhiu giai #an khác nhau.
Nhà phân tích (Analyst): là ngi nghiên cu yêu cu ca khách hàng/ngi dùng nh
ngh+a mt phm vi bài toán, nhn dng nhu cu ca mt t chc, xác nh xem nhân lc,
phng pháp và công ngh máy tính có th làm sao ci thin mt cách tt nh!t công tác ca
t chc này.
Nhà thi!t k! (Designer): thit k h thng theo hng c!u trúc ca database, screens, forms
và reports – quyt nh các yêu cu v phn cng và phn mm cho h thng cn c phát
trin.
Th nghim h thng (System Testing)
Thc hin, trin khai (System Implementation)
Bo trì, nâng c!p (System Maintenance)
a) Nghiên cu s b':
Câu h i quan tr#ng nh!t khi phát trin mt h thng hoàn toàn không phi câu h i mang tính phng
pháp lun. Mà c'ng ch)ng phi câu h i v k, thut. Nó là mt câu h i dng nh có v/ n gin, 10
nhng tht ra c bit khó tr li: “ây có úng là mt h thng thc hin không?” áng bun là
chính câu h i này trong thc t thng ch)ng h c t ra và li càng không c tr li. Mc dù
vic lm ln v phng pháp hay quyt nh sai lm v k, thut c'ng có th dn ti th!t bi, nhng
thng thì d án có th c cu vãn nu có y tài nguyên cùng s c g"ng quên mình ca các
nhân viên tài gi i. Nhng s& ch)ng mt ai và mt iu gì cu vãn cho mt h thng phn mm hoàn
toàn ch)ng c cn ti hoc c g"ng t ng hóa mt quy trình lm lc.
Trc khi b"t tay vào mt d án, bn phi có mt ý tng cho nó. Ý tng này i song song vi vic
n"m b"t các yêu cu và xu!t hin trong giai on khi u. Nó hoàn t!t mt phát biu: "H thng mà
chúng ta mong mun s& làm c nhng vic nh sau ". Trong sut giai on này, chúng ta to nên
mt bc tranh v ý tng ó, r!t nhiu gi thuyt s& c công nhn hay loi b . Các hot ng trong
thi gian này thng bao gm thu thp các ý tng, nhn bit ri ro, nhn bit các giao din bên ngoài,
nhn bit các các chc n(ng chính mà h thng cn cung c!p, và có th to mt vài nguyên mu dùng
“minh chng các khái nim ca h thng”. Ý tng có th n t nhiu ngun khác nhau: khách
hàng, chuyên gia l+nh vc, các nhà phát trin khác, chuyên gia v k, ngh, các bn nghiên cu tính kh
thi c'ng nh vic xem xét các h thng khác ang tn ti. Mt khía cnh cn nh"c ti là code vit trong
thi k0 này thng s& b "b i”, bi chúng c vit nh%m mc ích th$m tra hay tr giúp các gi
thuyt khác nhau, ch cha phi th code c vit theo kt qu phân tích và thit k th!u áo.
Trong giai #an nghiên cu s b, 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 c'ng nh cng ng ngi
dùng cùng các ý tng ca h# i vi h thng mi. Có th thc hin tho lun, nghiên cu, xem xét
khía cnh thng mi, phân tích kh n(ng li-l., phân tích các trng hp s dng và to các nguyên
Trao nh ngh+a v!n cho chuyên gia l+nh vc nhn s ánh giá, góp ý.
Kt qu ca giai on phân tích là bn c T Yêu Cu (Requirements Specifications).
c) Thi!t k! h thng:
Sau giai on phân tích, khi các yêu cu c th i vi h thng ã c xác nh, giai on tip theo
là thit k cho các yêu cu mi. Công tác thit k xoay quanh câu h i chính: H thng làm cách nào
th a mãn các yêu cu ã c nêu trong c T Yêu Cu?
Mt s các công vic thng c thc hin trong giai on 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 gi!y hay máy tính, s dng công c thit k)
Nhn bit các thành phn d liu và bng to database
1c tính các th tc gii thích quá trình x lý t input n output.
Kt qu giai on thit k là c T Thit K (Design Specifications). Bn c T Thit K Chi Tit
s& c chuyn sang cho các lp trình viên thc hin giai on xây dng phn mm.
d) Xây d*ng phn mm:
ây là giai on vit lnh (code) thc s, to h thng. Tng ngi vit code thc hin nhng yêu cu
ã c nhà thit k nh s2n. C'ng chính ngi vit code chu trách nhim vit tài liu liên quan n
chng trình, gii thích th tc (procedure) mà anh ta to nên c vit nh th nào và lý do cho vic
này.
m bo chng trình c vit nên phi tho mãn m#i yêu cu có ghi trc trong bn c T
Thit K Chi Tit, ngi vit code c'ng ng thi phi tin hành th nghim phn chng trình ca
mình. Phn th nghim trong giai on này có th c chia thành hai bc chính:
+ Th% nghim n v1: Ngi vit code chy th các phn chng trình ca mình vi d liu
gi (test/dummy data). Vic này c thc hin theo mt k hoch th, c'ng do chính ngi
vit code son ra. Mc ích chính trong giai on th này là xem chng trình có cho ra nhng
kt qu mong i. Giai on th nghim n v nhiu khi c g#i là "Th hp tr"ng" (White
Box Testing).
+ Th% nghim n v1 'c lp: Công vic này do mt thành viên khác trong nhóm m trách.
Cn ch#n ngi không có liên quan trc tip n vic vit code ca n v chng trình cn th
thông tin và không m!y ý n nhng gì có th xy ra vi nhng h thng ó và cách hot ng (ng
x) ca h thng là ra sao. ây là li tim cn xoay quanh d liu và ã c áp dng to nên hàng
ngàn h thng trong sut nhiu n(m tri.
Li tip cn xoay quanh d liu là phng pháp tt cho vic thit k ngân hàng d liu và n"m b"t
thông tin, nhng nu áp dng cho vic thit k ng dng li có th khin phát sinh nhiu khó kh(n. Mt
trong nhng thách thc ln là yêu cu i vi các h thng thng xuyên thay i. Mt h thng xoay
quanh d liu có th d dàng x lý vic thay i ngân hàng d liu, nhng li khó thc thi nhng thay
i trong nguyên t"c nghip v hay cách hot ng ca h thng.
Phng pháp hng i tng ã c phát trin tr li cho v!n ó. Vi li tip cn hng i
tng, chúng ta tp trung vào c hai mt ca v!n : thông tin và cách hot ng.
1.3.2. Phng pháp hng i tng
Hng i tng là thut ng thông dng hin thi ca ngành công nghip phn mm. Các công ty
ang nhanh chóng tìm cách áp dng và tích hp công ngh mi này vào các ng dng ca h#. Tht s
là a phn các ng dng hin thi u mang tính hng i tng. Nhng hng i tng có ngh+a là
gì?
Li tip cn hng i tng là mt li t duy v v!n theo li ánh x các thành phn trong bài toán
vào các i tng ngoài i thc. Vi li tip cn này, chúng ta chia ng dng thành các thành phn
nh , g#i là các i tng, chúng tng i c lp vi nhau. Sau ó ta có th xây dng ng dng b%ng
cách ch"p các i tng ó li vi nhau. Hãy ngh+ n trò chi xây lâu ài b%ng các mu g Bc u
tiên là to hay mua mt vài loi mu g. c(n bn, t ó to nên các khi xây dng c(n bn ca mình.
Mt khi ã có các khi xây dng ó, bn có th ch"p ráp chúng li vi nhau to lâu ài. Tng t
nh vy mt khi ã xây dng mt s i tng c(n bn trong th gii máy tính, bn có th ch"p chúng
li vi nhau to ng dng ca mình.
Xin l!y mt ví d n gin: v!n rút tin mt ti nhà b(ng. Các “mu g.“ thành phn ây s& là ánh
x ca các i tng ngoài i thc nh tài khon, nhân viên, khách hàng, …Và ng dng s& c s&
c nhn din c'ng nh gii áp xoay quanh các i tng ó.
1.4. u im ca mô hình hng i tng
1.4.1. Tính tái s dng (Reusable)
Phng pháp phân tích và thit k hng i tng thc hin theo các thut ng và khái nim ca
phm vi l+nh vc ng dng (tc là ca doanh nghip hay n v mà h thng tng lai cn phc v),
ta có th mô hình hóa các thc th thuc mt v!n có thc mà vn gi c c!u trúc, quan h c'ng
nh hành vi ca chúng.
i vi ví d mt phòng bán ô tô, giai on OOA s& nhn bit c các thc th nh:
Khách hàng
Ngi bán hàng
Phiu t hàng
Phiu (hoá n) thanh toán
Xe ô tô
Tng tác và quan h gia các i tng trên là:
Ngi bán hàng dn khách hàng tham quan phòng trng bày xe.
Khách hàng ch#n mt chic xe 15
Khách hàng vit phiu t xe
Khách hàng tr tin xe
Xe ô tô c giao n cho khách hàng
i vi ví d nhà b(ng l/, giai on OOA s& nhn bit c các thc th nh:
Loi tài khon: ATM (rút tin t ng), Savings (tit kim), Current (bình thng),
Fixed (u t),
Khách hàng
Nhân viên
Phòng máy tính.
Tng tác và quan h gia các i tng 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 khon u t
Chuyn tin t tài khon tit kim sang tài khon ATM
Xin chú ý là ây, nh ã nói, ta chú ý n c hai khía cnh: thông tin và cách hot ng ca h thng
(tc là nhng gì có th xy ra vi nhng thông tin ó).
Li phân tích b%ng kiu ánh x "i thc” vào máy tính nh th tht s là u im ln ca phng
Hi: Mô hình giúp chúng ta t chc, trình bày trc quan, th!u hiu và to nên các h thng phc tp.
áp: úng
Hi: 1u im ln nh!t ca mô hình hng i tng là tính tái s dng (Reusable)?
áp: úng.
17
CHNG 2: NGÔN NG MÔ HÌNH HÓA THNG NHT LÀ GÌ?
2.1. Gii thiu UML
2.1.1. Mô hình hóa h thng phn mm
Nh ã trình bày phn trc, mc tiêu ca giai on phân tích h thng là sn xu!t ra mt mô hình
tng th ca h thng cn xây dng. Mô hình này cn phi c trình bày theo hng nhìn (View) ca
khách hàng hay ngi s dng và làm sao h# hiu c. Mô hình này c'ng có th c s dng
xác nh các yêu cu ca ngi dùng i vi h thng và qua ó giúp chúng ta ánh giá tính kh thi
ca d án.
Tm quan tr#ng ca mô hình ã c l+nh hi mt cách th!u áo trong hu nh t!t c các ngành khoa
h#c k, thut t nhiu th k3 nay. B!t k0 âu, khi mun xây dng mt vt th nào ó, u tiên ngi
ta ã to nên các bn v& quyt nh c ngoi hình ln phng thc hot ng ca nó. Ch)ng hn các
bn v& k, thut thng 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 nào ó. Vt ó có th tn ti trong mt s giai on nh!t nh, dù ó là giai on thit
Simula. Sang na sau ca thp k3 1980, các ngôn ng hng i tng nh Smalltalk và C++ xu!t
hin. Cùng vi chúng, ny sinh nhu cu mô hình hoá các h thng phn mm theo hng i tng. Và
mt vài trong s nhng ngôn ng mô hình hoá xu!t hin nhng n(m u thp k3 90 c nhiu ngi
dùng là:
Grady Booch’s Booch Modeling Methodology
James Rambaugh’s Object Modeling Technique – OMT
Ivar Jacobson’s OOSE Methodology
Hewlett- Packard’s Fusion
Coad and Yordon’s OOA and OOD
M.i phng pháp lun và ngôn ng trên u có h thng ký hiu riêng, phng pháp x lý riêng và
công c h. tr riêng, khin ny ra cuc tranh lun phng pháp nào là tt nh!t. ây là cuc tranh lun
khó có câu tr li, bi t!t c các phng pháp trên u có nhng im mnh và im yu riêng. Vì th,
các nhà phát trin phn mm nhiu kinh nghim thng s dng phi hp các im mnh ca m.i
phng pháp cho ng dng ca mình. Trong thc t, s khác bit gia các phng pháp ó hu nh
không áng k và theo cùng tin trình thi gian, t!t c nhng phng pháp trên ã tim cn li và b
sung ln cho nhau. Chính hin thc này ã c nhng ngi tiên phong trong l+nh vc mô hình hoá
hng i tng nhn ra và h# quyt nh ngi li cùng nhau tích hp nhng im mnh ca m.i
phng pháp và a ra mt mô hình thng nh!t cho l+nh vc công ngh phn mm.
2.1.3. S ra i ca UML
Trong bi cnh trên, ngi ta nhn th!y cn thit phi cung c!p mt phng pháp tim cn c chu$n
hoá và thng nh!t cho vic mô hình hoá hng i tng. Yêu cu c th là a ra mt tp hp chu$n
hoá các ký hiu (Notation) và các biu (Diagram) n"m b"t các quyt nh v mt thit k mt
cách rõ ràng, rành mch. ã có ba công trình tiên phong nh"m ti mc tiêu ó, chúng c thc hin
di s lãnh o ca James Rumbaugh, Grady Booch và Ivar Jacobson. Chính nhng c g"ng này dn
n kt qu là xây dng c mt Ngôn Ng Mô Hình Hoá Thng Nh!t (Unifield Modeling Language
– UML).
UML là mt ngôn ng mô hình hoá thng nh!t có phn chính bao gm nhng ký hiu hình h#c, c
các phng pháp hng i tng s dng 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 dng và làm su liu cho nhiu khía cnh khác nhau ca
mt h thng có nng phn mm cao. UML có th c s dng làm công c giao tip gia ngi
th hin và m#i ngi có th hiu c.
2.2. UML trong phân tích thi!t k! h thng
UML có th c s dng trong nhiu giai on, t phát trin, thit k cho ti thc hin và bo trì. Vì
mc ích chính ca ngôn ng này là dùng các biu hng i tng mô t h thng nên min
ng dng ca UML bao gm nhiu loi h thng khác nhau nh:
H thng thng tin (Information System): C!t gi, l!y, bin i biu din thông tin cho
ngi s dng. X lý nhng khong d liu ln có các quan h phc tp , mà chúng c lu
tr trong các c s d liu quan h hay hng i tng . 20
H thng k2 thut (Technical System): X lý và iu khin các thit b k, thut nh vin
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
tip c bit , không có phn mm chu$n và thng là các h thng thi gian thc (real time).
H thng nhúng (Embeded System): Thc hin trên phn cng g"n vào các thit b nh in
thoi di ng, iu khin xe hi, … iu này c thc hin b%ng vic lp trình mc th!p vi
h. tr thi gian thc. Nhng h thng này thng không có các thit b nh màn hình +a cng,
…
H thng phân b ( Distributed System): c phân b trên mt s máy cho phép truyn d
liu t ni này n ni khác mt cách d dàng. Chúng òi h i các c ch liên lc ng b
m bo toàn v-n d liu và thng c xây dng trên mt s các k, thut i tng nh
CORBA, COM/DCOM, hay Java Beans/RMI.
H thng Giao d1ch (Business System): Mô t mc ích, tài nguyên (con ngi, máy tính,
…), các quy t"c (lut pháp, chin thut kinh doanh, c ch, …), và công vic hot ng kinh
doanh.
Phn mm h thng (System Software): nh ngh+a c s h tng k, thut cho phn mm
khác s dng, ch)ng hn nh h iu hành, c s d liu, giao din ngi s dng.
2.3. UML và các giai o"n phát trin h thng
Preliminary Investigation: use cases th hin các yêu cu ca ngi dùng. Phn miêu t use
language) là gì?
áp: im khác nhau c bn gia mt phng pháp và mt ngôn ng mô hình hoá 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 vic ngi s dng cn làm mà nó bao gm các ký hiu – nhng biu tng c dùng
trong mô hình – và mt tp các quy t"c ch* cách s dng chúng.
22
CHNG 3: KHÁI QUÁT V UML
3.1. UML và các giai o"n ca chu trình phát trin phn mm
3.1.1. Giai on nghiên cu s b
UML a ra khái nim Use Case n"m b"t các yêu cu ca khách hàng (ngi s dng). UML s
dng biu Use case (Use Case Diagram) nêu bt mi quan h c'ng nh s giao tip vi h thng.
Qua phng pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm n h thng s&
c mô hình hóa song song vi chc n(ng mà h# òi h i t phía h thng (tc là Use case). Các tác
nhân và các Use case c mô hình hóa cùng các mi quan h và c miêu t trong biu Use case
ca UML. M.i mt Use case c 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 i iu gì phía h thng mà không h ý n vic chc n(ng này s& c
thc thi ra sao.
3.1.2. Giai on phân tích
Giai on phân tích quan tâm n quá trình tru tng hóa u tiên (các lp và các i tng) c'ng
Nh ã trình bày trong phn Chu Trình Phát Trin Phn Mm, mt h thng phn mm thng c
th nghim qua nhiu giai on và vi nhiu nhóm th nghim khác nhau. Các nhóm s dng nhiu
loi biu UML khác nhau làm nn tng cho công vic ca mình: Th nghim n v s dng biu
lp (class diagram) và c t lp, th nghim tích hp thng s dng biu thành phn
(component diagram) và biu cng tác (collaboration diagram), và giai on th nghim h thng s
dng biu Use case (use case diagram) m bo h thng có phng thc hot ng úng nh ã
c nh ngh+a t ban u trong các biu này.
3.2. Các thành phn ca ngôn ng# UML
Ngôn ng UML bao gm mt lot các phn t h#a (graphic element) có th c kp hp vi nhau
to ra các biu . Bi ây là mt ngôn ng, nên UML c'ng có các nguyên t"c kt hp các phn
t ó.
Mt s nhng thành phn ch yu ca ngôn ng UML:
Hng nhìn (view): Hng nhìn ch* ra nhng khía cnh khác nhau ca h thng cn phi
c mô hình hóa. Mt hng nhìn không phi là mt bn v&, mà là mt s tru tng hóa bao
gm mt lot các biu khác nhau. Ch* qua vic nh ngh+a ca mt lot các hng nhìn khác
nhau, m.i hng nhìn ch* ra mt khía cnh riêng bit ca h thng, ngi ta mi có th to
dng nên mt bc tranh hoàn thin v h thng. C'ng chính các hng nhìn này ni kt ngôn
ng mô hình hóa vi quy trình c ch#n cho giai on phát trin.
Biu (diagram): Biu là các hình v& miêu t ni dung trong mt hng nhìn. UML có
t!t c 9 loi biu khác nhau c s dng trong nhng s kt hp khác nhau cung c!p t!t
c các hng nhìn ca mt h thng.
Phn t mô hình hóa (model element): Các khái nim c s dng trong các biu c
g#i là các phn t mô hình, th hin các khái nim hng i tng quen thuc. Ví d nh lp,
i tng, thông ip c'ng nh các 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 mô hình thng c s dng trong nhiu biu khác nhau,
nhng nó luôn luôn có ch* mt ý ngh+a và mt kí hiu.
C ch chung: C ch chung cung c!p thêm nhng li nhn xét b sung, các thông tin c'ng
nh các quy t"c ng pháp chung v mt phn t mô hình; chúng còn cung c!p thêm các c ch
có th m rng ngôn ng UML cho phù hp vi mt phng pháp xác nh (mt quy trình,
mt t chc hoc mt ngi dùng).
thng, hng n v!n giao tip và ng b hóa trong h thng.
Hng 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 ch#n công c v& biu , hãy ch#n công c nào to iu kin d dàng chuyn t hng nhìn
này sang hng nhìn khác. Ngoài ra, cho mc ích quan sát mt chc n(ng s& c thit k nh th
nào, công c này c'ng phi to iu kin d dàng cho bn chuyn sang hng nhìn Use case ( xem
chc n(ng này c miêu t nh th nào t phía tác nhân), hoc chuyn sang hng nhìn trin khai (
xem chc n(ng này s& c phân b ra sao trong c!u trúc vt lý - Nói mt cách khác là nó có th n%m
trong máy tính nào). 25
Ngoài các hng nhìn k trên, ngành công nghip phn mm còn s dng c các hng nhìn khác, ví
d hng nhìn t+nh-ng, hng nhìn logic-vt lý, quy trình nghip v (workflow) và các hng nhìn
khác. UML không yêu cu chúng ta phi s dng các hng nhìn này, nhng ây c'ng chính là nhng
hng nhìn mà các nhà thit k ca UML ã ngh+ ti, nên có kh n(ng nhiu công c s& da trên các
hng nhìn ó.
3.3.1. Hng nhìn Use case (Use case View)
Hng nhìn Use case miêu t chc n(ng ca h thng s& phi cung c!p do c tác nhân t bên ngoài
mong i. Tác nhân là thc th tng tác vi h thng; ó có th là mt ngi s dng hoc là mt h
thng khác. Hng nhìn Use case là hng nhìn dành cho khách hàng, nhà thit k, nhà phát trin và
ngi th nghim; nó c miêu t qua các biu Use case (use case diagram) và th*nh thong c'ng
bao gm c các biu hot ng (activity diagram). Cách s dng h thng nhìn chung s& c miêu
t qua mt lot các Use case trong hng nhìn Use case, ni m.i mt Use case là mt li miêu t mang
tính c thù cho mt tính n(ng ca h thng (có ngh+a là mt chc n(ng c mong i).
Hng nhìn Use case mang tính trung tâm, bi nó t ra ni dung thúc $y s phát trin các hng
nhìn khác. Mc tiêu chung ca h thng là cung c!p các chc n(ng miêu t trong hng nhìn này –
cùng vi mt vài các thuc tính mang tính phi chc n(ng khác – vì th hng nhìn này có nh hng
n t!t c các hng nhìn khác. Hng nhìn này c'ng c s dng th$m tra (verify) h thng qua
vic th nghim xem hng nhìn Use case có úng vi mong i ca khách hàng (H i: "ây có phi là