Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ

Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ. Tài liệu được biên soạn dưới dạng file PDF gồm 124 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

Thông tin:
244 trang 7 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ

Bài giảng Phân tích thiết kế Hệ thống thông tin | Đại học Kỹ thuật Công nghệ - Cần Thơ. Tài liệu được biên soạn dưới dạng file PDF gồm 124 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

78 39 lượt tải Tải xuống
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
Giúp cho sinh viên kh nng:
Tip cn, nghiên cu, phân tích, hiu ưc thc trng
nghip v ca h thng thc
Thit k, xây dng h thng thông tin theo phương
pháp hưng i tưng.
Vn dng ngôn ng hình a UML.
2
Mc ích môn hc
3
Ni dung môn hc
1. Gii thiu tng quan
2. Ngôn ng UML
3. hình hóa nghip v
4. Xác nh c t các ca s dng
5. hình hóa lnh vc ng dng
6. hình hóa tương tác
7. Thit k h thng
4
ánh giá h󰹮c ph󰹈n
1. Bài tp nhóm (40%)
Phn 1: Nghiên cu sơ b h thng
Phn 2: Phân tích h thng
Phn 3: Thit k h thng
2. Thi tr󰹐c nghi󰹨m (60%)
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
2
Tng quan
Bài 1
3
Ni dung
Phân tích thit k gì?
Ti sao phi phân tích thit k?
Tm quan trng ca phân tích thit k trong công ngh
phn mm
Các cách tip cn phân tích thit k h thng
Các khái nim c bn ca hng i tng
Khái quát qui trình phát trin h thng thông tin
Tin trình RUP
4
Phân tích thit k gì?
Phân tích thit k phn mm:
Quá trình m hiu phng li hin tng, quy trình nghip
v trong th gii thc t ó xây dng h thng  gii quyt bài
toán t ra trên máy tính.
Thit k
Lp trnh
Kim th
Th gii thc
Phn mm
5
Ti sao phi phân tích thit k?
Tm quan trng ca thit k
Thit k
Ci t
Kim th
Bo tr
Ci t
Kim th
Bo tr
C thit k
Không thit k
6
Tm quan trng ca phân tích thit k
Cht lng thit k nhân t chính quyt nh cht
lng phn mm
Không thit k - hoc thit k không tt dn n phn
mm cht lng thp
Không qun c nhng thay i yêu cu
Khó kim th
Khó bo trì
Không tính tin hóa
Không tái s dng c
7
Tm quan trng ca phân tích thit k
Thit k tt mang li phn mm cht lng tt:
D dàng thay i yêu cu
D kim th
D bo trì
tính tin hóa cao
kh nng tái s dng cao
8
Các cách tip cn phân tích thit k
h thng
2 cách:
Hng chc nng/ cu trúc
Hng i tng
9
Hng chc nng
c trng ca phng pháp hng cu trúc là !"# $%
chng trình chính thành nhiu chng trình con, m&i
chng trình con nh'm n thc hin m(t công vic xác
)nh.
Cách thc thc hin ca phng pháp hng cu trúc là
phng pháp thit k t trên xung (top-down). Phng
pháp này tin hành phân rã bài toán thành các bài toán
nh* ", r+i tip tc phân rã các bài toán con cho n khi
nhn c các bài toán có th cài t c ngay s dng các
hàm ca ngôn ng lp trình hng cu trúc.
10
Hng chc nng…
11
Hng chc nng…
ây li tip cn truyn thng ca ngành ng ngh phn
mm, quan tâm ch yu ti nhng thông tin mà h thng s,
gi gìn.
Cn c vào thông tin ng-i dùng cn => thit k d liu 
cha nhng thông tin ó, cung cp Forms  nhp thông tin
in báo cáo  trình y các thông tin.
=> Tp trung o thông tin.
12
Hng i tng
Ly i tng làm trung tâm
i tng = chc nng + d liu
H thng = tp hp các i tng + quan h gia các i
tng
Cách tip cn hng i tng m(t li t duy theo ch
ánh x các thành phn trong bài toán vào c i tng
ngoài -i thc. Vi cách tip cn này, m(t h thng c
chia tng ng thành c thành phn nh* gi các i
tng, m&i i tng bao g+m y  c d liu hành
(ng liên quan n i tng ó.
13
u im OOA
.u im
Gn g/i vi th gii thc
Tái s dng d dàng
óng gói, che du thông tin làm cho h thng tin cy hn
Tha k gim chi phí, h thng tính m0 cao
Phù hp vi h thng ln phc tp
14
Các khái nim cơ bn ca hng i
tng
i tng
Lp
Gói
K tha
15
i tng
i tng khái nim cho phép t các s vt/thc th
trong th gii thc
Các i tng duy trì mi quan h gia chúng
d: Nguyn Vn A là m(t i tng
16
i tng..
Các tính cht ca i tng
i tng = trng thái + hành vi + )nh danh
Trng thái c c tính ca i tng ti m(t th-i im
Hành vi th hin các chc nng ca i tng
)nh danh th hin s t+n ti duy nht ca i tng
Trng thái = tp hp các thu(c nh
M&i thu(c nh t m(t c nh
Ti m(t th-i im c th, các thu(c tính mang các giá tr) trong min
xác )nh
d
M(t chic xe máy: màu xanh, 110 cm3, dream, 12000km,…
17
i tng..
Hành vi = tp hp các phng thc
Phng thc: là m(t thao tác hoc c thc hin b0i chính nó,
hoc thc hin khi yêu cu t môi tr-ng (thông ip t i
tng khác)
Hành vi ph thu(c vào trng thái
d m(t xe máy các hành vi: kh0i (ng, chy, …
18
Giao tip gia các i tng
Các i tng giao tip vi nhau
Gi các thông ip (message) cho nhau
Các loi thông ip
Hàm dng (constructor)
Hàm hy (destructor)
Hàm chn la (get)
Hàm sa i (set)
Các hàm chc nng khác
Gia các i tng mi liên kt (link) vi nhau
d:
19
Lp
Lp khái nim dùng  t m(t tp hp các i tng
cùng m(t cu trúc, cùng hành vi và cùng nhng mi
quan h vi các i tng khác
Lp = các thu(c tính + các phng thc
Lp m(t bc tru tng hóa
Tìm kim các im ging, b* qua các im khác nhau ca i tng
Tru tng hóa làm gim ( phc tp
20
Lp..
Quan h gia các lp: kt hp
M(t kt hp m(t tp hp các mi liên kt gia c i
tng
21
Lp & i tng
i tng th hin (instance) ca lp
Giá tr) th hin ca thu(c tính
Liên kt th hin ca kt hp
Lp 1 i tng
Thu(c nh 1 giá tr)
Kt hp 1 liên kt
22
Gói (package)
m(t cách t chc các thành phn, phn t trong h thng thành các nhóm.
Nhiu gói có th c kt hp vi nhau  tr0 thành m(t h thng con
(subsystem).
Business rules
<<subsystem>>
Subsystem name
Interface
23
K th a
Trong phng pháp hng i tng, m(t lp th s dng
li các thu(c tính phng thc ca m(t hoc nhiu lp khác.
Kiu quan h này gi quan h k tha, c xây dng da trên
mi quan h k tha trong bài toán thc t.
24
Các nguyên t!c cơ bn ca phơng pháp
hng i tng
Tru tng hóa (abstraction)
Các thc th phn mm c hình hóa di dng các i tng.
Các i tng c tru tng hóa 0 mc cao hn da trên thu(c nh
phng thc t i tng  to thành c lp.
Các lp c tru tng hóa 0 mc cao hn na  to thành m(t s +
các lp c k tha ln nhau. Trong phng pháp hng i tng th
t+n ti nhng lp không có i tng tng ng, gi lp tru tng.
Nh vy, nguyên t2c c bn  xây dng các khái nim trong hng i tng
s tru tng hóa theo c mc ( khác nhau.
25
Các nguyên t!c cơ bn ca phơng pháp
hng i tng..
Tính bao óng (encapsulation): che du mi chi tit hin thc
ca i tng không cho bên ngoa3
i th4
y va3 truy xut => tính (5
c
l5
p cao gi6
a các i tng
Che du các thu(c tính d liu: nu cn cho phép truy xut 1 thu(c tính
d liu, ta to 2 phng thc get/set tng ng  giám sát vic truy xut
che du chi tit hin thc bên trong (thu(c tính private)
Che du chi tit hin thc các phng thc.
Che du các m s hin thc ca chúng.
26
Các nguyên t!c cơ bn ca phơng pháp
hng i tng..
Tính modul hóa (modularity): các bài toán s, c phân chia
thành nhng vn  nh* hn, n gin qun c.
Tính phân cp (hierarchy): cu trúc chung ca m(t h thng
hng i tng dng phân cp theo c mc ( tru tng t
cao n thp.
27
Quy trình phát trin phn mm
Chu trình phát trin phn mm (Software Development
Life Cycle - SDLC): là m(t chu&i c hot (ng ca nhà
phân tích (Analyst), nhà thit k (Designer), ng-i phát
trin (Developer) ng-i dùng (User)  phát trin
thc hin m(t h thng thông tin. Nhng hot (ng y
c thc hin trong nhiu giai đo󰹂n khác nhau.
Nhà phân tích (Analyst): nghiên cu yêu cu ca khách
hàng/ng-i dùng  )nh ngh7a phm vi bài toán, nhn
dng nhu cu ca t chc, xác )nh xem nhân lc, phng
pháp công ngh  ci thin m(t cách tt nht công tác
ca t chc này
Quy trình phát trin phn mm
Nhà thit k (Designer): thit k database, screens, forms và reports –
quyt )nh các yêu cu v phn cng phn mm cho h thng cn
c phát trin.
Chuyên gia l"nh vc (Domain Experts): nhng ng-i hiu thc
cht vn  cùng s phc tp ca h thng cn tin hc hoá. H không
nht thit phi nhà lp trình, nhng h th giúp nhà lp trình hiu
yêu cu t ra i vi h thng cn phát trin.
Lp trình viên (Programmer): nhng ng-i da trên các phân tích
thit k  vit chng trình (coding) cho h thng b'ng ngôn ng
lp trình ã c thng nht.
Ngi dùng (User): i tng phc v ca h thng cn c phát
trin.
Quy trình phát trin phn mm
Ngi bình thng khi nhìn mt chic
xe ô tô thng s mt bc tranh t
bên ngoài nh sau:
Chuyên gia lnh vc s giúp nhà
phân tích "trình bày li" vn nh
sau:
30
Quy trình phát trin phn mm..
Các giai on ca Quy trình phát trin phn mm
Nghiên cu s b( (Preliminary Investigation hay còn gi
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)
Quy trình phát trin phn mm
Nghiên cu sơ b
M(t giai on nghiên cu s b( thích áng s, lp nên tp
hp các yêu cu (dù 0 mc ( khái quát cao) i vi m(t h
thng kh thi c mong mun, k c v phng din k8
thut ln h(i.
Kt qu ca giai on nghiên cu s b( Báo cáo kt qu
nghiên cu tính kh thi. Khi h thng tng lai c chp
nhn da trên bn o cáo này c/ng lúc giai on Phân
tích b2t u.
33
Phân tích yêu cu
Quá trình phân tích nhìn chung h qu ca vic
tr l-i câu h*i "H thng cn phi làm gì?".
Nhng mc tiêu c th ca giai on phân tích là:
Xác )nh h thng cn phi làm gì.
Nghiên cu thu áo tt c các chc nng cn cung cp nhng
yu t liên quan
Xây dng m(t hình nêu bt bn cht vn  t m(t hng nhìn
thc (trong -i sng thc).
Trao )nh ngh7a vn  cho chuyên gia l7nh vc  nhn s ánh
giá, góp ý.
Kt qu ca giai on phân tích bn c t yêu cu
(Requirements Specifications).
34
Phân tích yêu cu
c t yêu cu
thông báo chính thc cái òi h*i h thng phi c phát trin
không phi tài liu thit k
t c t yêu cu
Ngôn ng c t
pháp + ha
a !" # $a #%&'
( )*& + ,- #a ./, , a ! # )
0 )12 3 + ,- #a 4 a , eo'77
a       !"  # $a #%&'
( )*& + ,- #a ./, , a !  # )
 0 )12 3 + ,- #a  4 a , eo
'77
35
Thit 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 thit k cho
các u cu mi. Công tác thit k xoay quanh câu h*i
chính: H thng m cách nào  th*a mãn các yêu cu ã
c nêu trong c t yêu cu?
Các hot (ng ca thit k
8, ) .o& 9
o
8 .2 +, &:
;a - +
8, ) .o& 9
 o 
8  .2 +, &:
;a - +  
8, ) ,7,9
<2 2=
8 .2 ư o:
8, ) + $a -
8, ) ,7,9
<2 2=
8  .2 ư  o:
8, ) + $a -
8# ư?&
@ . , 3
A, #B C& 
D*  - 0&
@  !" 
E- 0& 0 .F,
. G 
G  , 3
36
Thit k h thng
M(t s các công vic th-ng 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 giy hay máy nh, s dng công c thit
k)
Nhn bit các thành phn d liu và bng  to database
.c tính các th tc gii thích quá trình x t input n
output.
37
Lp trình kim th#
M&i thành phn trong pha thit k c hin thc thành
m(t moun chng trình
Kim chng hay kim th m&i moun chng trình theo
c t t pha thit k
T hp các moun chng trình thành h thng
Kim th h thng chng trình  m bo áp ng y
 yêu cu
Khi ng-i phát trin th*a mãn vi sn ph9m
khách ng kim th h thng
Pha này kt thúc khi khách hàng chp nhn sn ph9m
38
Bo trì h thng
Pha này b2t u khi h thng c cài t s dng thc t, sau khi
ã cp phát sn ph9m cho khách hàng
Bo trì bao g+m mi thay i sn ph9m  khách hàng +ng ý
r'ng h ã th*a mãn vi sn ph9m.
Bo trì bao g+m
sa phn mm
loi b* các l&i mà không phát hin trong các pha trc ó
nâng cp phn mm
Hiu nng: B sung chc nng, tng tc ( thc hin chng trình
Thích nghi: Các thay i cho phù hp vi môi tr-ng phn mm
hot (ng thay i, thí d yêu cu mi ca chính ph
Mt s hình phát trin h thng
hình thác nc
hình tng tr0ng
Tin trình RUP
40
hình thác nc
Các hot (ng phát trin phn mm th biu
din b'ng hình thác nc
Tin trình phát trin sn ph9m phn mm
41
hình tng tr$ng
42
Tin trình lp tng dn
Tin trình thng nht (Rational Unified Process - RUP)
Software Engineering process
sn ph9m tin trình (process product) do Rational
Software phát trin bo trì
RUP nâng cao team productivity
Các hot (ng RUP to lp và qun models
hng dn cách s dng hiu qu UML
43
Các nguyên t!c cơ bn ca RUP
Lp tng tr0ng
D án c c2t thành nhng vòng lp hoc giai on ng2n. Cui
m&i vòng lp thì m(t phn thi hành c ca h thng c sn
sinh theo cách tng tr0ng (thêm vào) dn dn.
Tp trung o kin trúc
Toàn b( h thng phc tp phi c chia thành tng phn (các
modun)  th d dàng trin khai bo trì, to nên m(t kin
trúc. (Theo 5 góc nhìn)
44
Các nguyên t!c cơ bn ca RUP..
Dn d2t c ca s dng
RUP nhn mnh s áp ng nhu cu ng-i dùng, th hin b0i các ca s
dng. Các ca s dng nh h0ng dn -ng cho mi giai on phát
trin ca h thng.
Khng ch b0i các nguy c
Các nguy c chính i vi d án phi phát hin sm loi b* càng
sm càng tt. Yêu cu này c/ng cn c  xác )nh th t trc sau
ca các vòng lp.
45
Các pha công on ca tin trình RUP
4 pha
Kh0i u (inception)
Cho m(t cái nhìn tng quát v h thng s, xây dng v d án s, trin khai.
Phác tho (elaboration)
Bao g+m s phân tích chi tit hn v h thng, c v chc nng ln cu trúc
t7nh. +ng th-i m(t kin trúc h thng c/ng c  xut. Kin trúc này
th dng thành nguyên mu, trên ó th hin nhiu ý + i vi h thng
Xây dng (construction)
Tp trung o vic thit k thc thi h thng.
Chuyn giao (transition)
Nh'm chuyn h thng ã xây dng cho ng-i dùng cui

  

46
Các lp lu%ng công vic
Preliminary
Iteration(s)
iter.
#1
iter.
#2
iter.
#n
iter.
#n+1
iter.
#n+2
iter.
#m
iter.
#m+1
Inception Elaboration Construction Transition
He #a ,oI
Phases
Core Workflows
An iteration in the
elaboration phase
Requirements
Design
Implementation
Test
Analysis
Tin trình 10 bc
47
1. Nghiên cu s b
2. Nhn =nh c
t ca s dGng
3. Mô hình hóa lnh vc
ng dGng
4. Xác =nh các 0i
t?ng/lp tham gia các ca
s dGng
5. Mô hình hóa tng
tác
6. Mô hình hóa s ng x
7. Làm nguyên mJu
giao di-n ngi dùng
8. Thit k h- th0ng
9. Thit k chi tit
10. Cài t
1. Kh4i u
2. Trin khai
3. Xây dng
4. Cài t và chuyn giao
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
2
Ngôn ng hình hóa thng nht UML

3
hình gì?
hình
bc tranh hay mô t vn  ang c gng gii quyt hay t chính
gii pháp vn 
ngôn ng ca ngưi thit k (trong nhiu lnh vc)
trình din h thng s xây dng
phương tin giao tip gia ngưi phân tích, thit k ngưi dùng
k hoch chi tit (blueprints)
hình cho kh nng suy din mt s c tính ca h thng thc
hình hóa trc quan
Bng các phn t  ha
Ngôn ng hình a ngôn ng t h thng hay tác nghip
4
Thí d hình
  
Ôtô
Con ngi
Sách
  
 
  
 u a
u  
5
Thí d hình
 ao!"ee
$e%!oo&a'e
&%oa!a%u"a%
!e%!e(e
6
UML là gì?
UML là mt ngôn ng dùng cho
hình hóa trc quan (Visualizing)
c t (Specifying)
Xây dng (Constructing)
Tài liu hóa (Documenting)
các nhân t ca h thng phn mm
7
hình hóa trc quan
Giúp cho vic suy ngh v cài t bn cài t thc t
ưc nht quán
Giúp lp trình viên, phân tích viên:
D dàng trao i nhng mô hình trong phn mm v i nhau
Hi!u toàn b h thng vai trò ca mình trong h thng
Thông tin ưc lưu tr ng, d tra cu qun
8
c t
c t giúp cho y dng các hình
Chính xác
ràng, không nhp nhng
y 
UML giúp gii quyt các vn 
Phân tích
Thit k
Cài t
ưc ng, thông sut trong quá trình phát tri!n phn
mm
9
Xây dng
Các hình UML có th! ánh x sang
Mt ngôn ng lp trình
Java
C++/C#
Visual Basic/ .NET
Mt bng trong CSDL quan h (R-DBMS)
Mt lưu tr bn vng ca"#$%&"'("(OO-DBMS)
10
Tài liu hóa
UML giúp ghi chép, tài liu hóa li kin trúc ca h thng
t các yêu cu (Requirements)
Các b ki!m th (Tests)
hình hóa các hot ng, lp l)ch ca project, gim khó khn
cho công vic qun
11
Sơ lc v lch s UML

12
Ti sao chúng ta cn UML?
Mt ngôn ng hình hóa chu*n, trc quan bng hình nh
Phát tri!n h thng hiu qu, thit k chính c hiu qu
D dàng giao tip gia các nhóm trong cùng project
Giao tip d dàng gia các ngưi liên quan n project
(khách hàng, nhà phát tri!n,…)
Cho “cái nhìn tng th! v project
13
Lc  (Diagrams)




















 

!
14
Workflows and Models
Requirements
Design
Implementation
Test
Analysis
Use Case
Model
Design
Model
Depl.
Model
Impl.
Model
Analysis
Model
Test
Model
UML diagrams provide
views into each model
Each workflow is associated with
one or more models.
Representing System Architecture
16
Cn bao nhiêu khung nhìn?
hình phù hp v i ng cnh phát tri!n h thng
Không phi tt c các hình òi h+i y  khung nhìn
ơn x : B+ qua khung nhìn tri!n khai
ơn tin trình: B+ qua khung nhìn tin trình
Chương trình rt nh+: B+ qua khung nhìn cài t
B sung các khung nhìn
Data view
Security view
17
UML Concepts
UML ưc s d,ng !:
Hi!n th) biên h thng và các chc nng chính ca bng use
cases và actors
t hin thc use case bng interaction diagrams
Bi!u din các cu trúc tnh ca h thng bng class diagrams
hình hóa hành vi i tưng bng state transition diagrams
Bi!u th) kin trúc cài t vt bng component & deployment
diagrams
M- rng các chc nng bng stereotypes
18
Thí d ng dng UML
Mt trưng i hc thc hin tin hc hóa h thng ng
hc dy hc:
Giáo v, (Registrar) lp chương trình ging dy (curriculum) cho
mt hc k.
Sinh viên (Student) chn 4 môn hc chính 2 môn d b)
Khi sinh viên ng hc thì h thng thanh toán (billing system)
in hóa ơn hc phí cho sinh viên
Sinh viên th! s d,ng h thng ! b sung/loi b+ môn hc sau
khi ã ng (trong khong thi gian c )nh)
Giáo sư (Professors) s d,ng h thng ! xem bng phân công dy
hc (course rosters)
Ngưi s d,ng h thng ng ưc cp passwords ! vào máy
19
Use case Diagram
Student
Registrar
Professor
Maintain Schedule
Maintain Curriculum
Request Course Roster
Billing System
Bi!u din sơ  chc nng ca h thng. T/ tp yêu cu ca h
thng, bi!u  use case s phi ch0 ra h thng cn thc hin iu
! tho mãn các yêu cu ca ngưi dùng h thng ó.
i kèm v i bi!u  use case là các k)ch bn.
20
Sequence Diagram
: Student
registration
form
registration
manager
math 101
1: fill in info
2: submit
3: add course(joe, math 01)
4: are you open?
5: are you open?
6: add (joe)
7: add (joe)
math 101
section 1
Bi!u din mi quan h gia các i tưng gia các
i tưng tác nhân theo th t thi gian.
21
Collaboration Diagram
: Registrar
course form :
CourseForm
theManager :
CurriculumManager
aCourse :
Course
1: set course info
2: process
3: add course
4: new course
Bi!u din mi quan h gia các i tưng gia các i tưng tác
nhân nhưng nhn mnh n vai trò ca các i tưng trong tương tác.
22
Class Diagram
RegistrationForm
RegistrationManager
Course
Student
CourseOffering
Professor
addStudent(Course, StudentInfo)
name
numberCredits
open()
addStudent(StudentInfo)
major
location
open()
addStudent(StudentInfo)
tenureStatus
ScheduleAlgorithm
1
0..*
0..*
1
1
1..*
4
3..10
0..4
1
Ch0 ra các l p i tưng trong h thng, các thuc tính phương
thc ca t/ng l p và các mi quan h gia nhng l p ó.
23
State Transition Diagram
Initialization
Open
entry: Register student
exit: Increment count
Closed
Canceled
do: Initialize
course
do: Finalize course
do: Notify registered students
Add Student /
Set count = 0
Add student [count < 10]
[count = 10]
Cancel
Cancel
Cancel
State Transition Diagram
24
Tương ng v i m1i l p s ch0 ra các trng thái i tưng
ca l p ó th! s chuy!n tip gia nhng trng thái
ó.
25
Activity Diagram
Bi!u din các hot ng s
ng b, chuy!n tip các hot
ng, thưng ưc s d,ng !
t ca s d,ng hoc bi!u
din các phương thc phc
tp ca các l p.
26
Component Diagram
Course
Course
Offering
Student
Professor
Course.dll
People.dll
Course
User
Register.exe
Billing.exe
Billing
System
27
Component Diagram
Component diagrams )nh ngha các thành phn ca h
thng mi liên h gia các thành phn ó.
Nm bt kin trúc vt trong thc thi
Xây dng như b phn ca s c t kin trúc
M,c ích
T chc ngun
Xây dng các modul thi hành
Ch0 )nh cơ s- d liu vt
ưc phát tri!n b-i ngưi thit k lp trình
28
Deployment Diagram
Registration
Database
Library
Form
Main
Building
Bi
)
u
*
tri
)
n khai bi
)
u
di
+
n ki
n trúc cài
,
t và
tri
)
n khai h
-
th
.
ng d
i
d
/
ng các nodes và các m.i
quan h- gi0a các node ó.
Thông thưng, các nodes
ư1c kt n.i vi nhau
thông qua các liên kt
truy2n thông như các kt
n.i m/ng, liên kt TCPIP,
29
Deployment Diagram
Client
Server
Application
Server
Fulfillment
System
Financial
System
Inventory
System
RDBMS
Server
Dynamic HTML, JavaScript, Java
plug-ins, source code enhancements
Java, C, C++, JavaScript, CGI
Java, C, C++, JavaBeans,
CORBA, DCOM
Native languages
30
Mt s phn mm h tr UML
Rational Rose
ngôn ng chu*n phù hp v i các lưc  trong UML
Phù hp v i s k th/a ca các h thng hư ng i tưng
Các hình duy trì s ng b hóa trong sut vòng i phát tri!n
...
Paradigm
Altova UModel
StartUML
31
Tóm tt
Các vn  ã nghiên cu
Khái nim hình, mô hình hóa trc quan
Khái quát v Ngôn ng hình hóa thng nht
Thí d, s d,ng các bi!u  ca UML
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
2







3
Gii thiu mô hình hóa nghip v
Mô hình hóa nghip v (Business Modeling)
k thut mô hình hóa tin trình nghip v
Mô hình hóa các chc nng ca t chc
Quan tâm n góc nhìn chc nng. Không phân bit các tin trình
nghip v sc tng hóa hay thc hin th công
Biu din mô hình nghip v bng biu  nghip v
Chác gia các tin trình nghip v vi các vai trò
(roles) thc hin nghip vcustomers hay vendors
Biu din vai trò bên ngoài nghip v
Hai lnh vc ca mô hình hóa nghip v
Biên ca t chc và nó c n giao tip vi ai?
Lung công vic bên trong t chc và t!i u nó nào?
4
Gii thiu mô hình hóa nghip v
Không tp trung vào mô hình hóa h th!ng s xây dng
Tp trung vào nghip v trên h th!ng
Mc tiêu là hiu rõ môi tr"ng nghip vc khi xây dng h
th!ng
Mô hình hóa nghip v
Nghiên cu v# t chc
Kh$o sát c%u trúc t chc, quan sát các vai trò trong t chc và
quan h ca chúng vi nhau nh th nào.
Kh$o sát lung công vic trong t chc
Tin trình chính, h& làm vic th nào
Tính hiu qu$
Các h'n ch
Nghiên cu các t chc bên ngoài và quan h vi chúng?
Làm tài liu v# các thông tin bng mô hình nghip v ca UML
5
Gii thiu mô hình hóa nghip v
Khi nào không c n mô hình hóa nghip v?
Khi ã hiu bit rõ ràng c%u trúc, mc ích tác nghip ca t chc
Khi xây dng ph n m#m s( dng cho mt ph n nh) ca t chc,
không $nh h*ng n nghip v khác
Lung công vic khá ràng và tài liu y 
Khi không có th"i gian!!!!
Mô hình hóa nghip v trong tin trình l+p
6
Các khái nim cơ bn ca BM
Các khái nim c b$n bao gm
Business actors
Business workers
Business use case
Biu  Business use case
Quan h giao tip gia Business use case Business actor
Thc th Business
Các biu  ho't ng
7
Tác nhân nghip v
Ai ó, cái gìó bên ngoài t chc nhng tng tác
vi nó
Customers, Investors, Suppliers...
th "i hay nhóm ng"i
Tìm kim tác nhân nghip v?
Quan sát ph'm vi d án  tìm ra nhng gì nm ngoài
d án
Nhng gì (ai, cái gì) nm ngoài d án có,-./0n
nghip v
Nghiên cu tài liu mô t$ d án, th1"ng t chc,
mc tiêu nghip v...  xác 1nh thc th bên ngoài
liên quan
Thí d: Hãng hàng không liên quan n nhà s$n xu%t
y bay, nhà s$n xu%t 0!ng cho khách, khách
hàng, hip hi hàng không...

8
Worker nghip v
vai trò (role) trong t chc
Mt ng"i có th nhi#u vai t
không ph$i là chc v
Mô t$ worker
trách nhim gì?
K2 n có thc hin trách nhim?
Tng tác vi worker nào?
Tham gia vào lung công vic nào?
Trách nhim ca worker trong lung công vic
Tìm kim worker nghip v
Quan sát ph'm vi d án – b3t u t4 biu t chc
Khi ã có danh sách worker thì làm tài liu cho chúng
Thí d worker nghip v trong công ty hàng không
Phi công, ng"i d5n "ng, th máy, tip viên, nhân
viên an ninh...

9
Ca nghip v
Business use case nhóm các lung công vic liên quan có ý ngha
vi tác nhân nghip v
Cho bit t chc làm gì
Tp các ca nghip v mô t$ y  nghip v ca t chc
6+t tên
Theo hình thc “<ng t4><danh t4>”: Price Products”
Làm tài liu lung công vic
Thí d vi UC nghip v Price Products
Nhân viên yêu ng"i c u qu$n lý cung c%p danh sách các m+t hàng mi
c n 1nh giá
Nhân viên kim tra hóa n kho  bit ph$i tr$ cho kho bao nhiêu kho
hàng bán
Nhân viên cng thêm 10%  giá bán
Nhân viên trình giá"i qu$n lý phê duyt
Nhân viên làm các th7 s$n ph8m
G3n th7 g s$n ph8m vào t4ng s$n ph8m

10
Tơng tác gia các phn t
Biu din tng tác
Quan h association
gia tác nhân nghip v,
worker nghip v vi
UC nghip v
m9i tên cho bit ai kh*i
xng tin trình
Quan h generalization
ch ra c%u trúc k th4a
gia các ph n t( mô hình
nghip v
áp dng cho hai hay
nhi#u ph n t(
nhau
Safety Coordinator
Perform pre-flight Safety Check
Customer
Issue Airline Ticket
Ticket salesperson
Phone ticket salesperson In-person ticket
salesperson
11
Biu  UC nghip v
Ch ra mô hình y 
cái công ty làm
ai * trong công ty
ai * ngoài công ty
Cho bit ph'm vi ca t chc
Nu có nhi#u UC nghip v
th t'o nhi#u biu  UC
nghip v m:i biu  cha
tp các UC nghip v
M9i tên i t4 tác nhân nghip
v worker nghip vn
UC nghip v cho th%y ai kh*i
ng tin trình nghip v.
Driver
Clerk
Price Products
Manager
Refund Money
Sell Products
Driver Products
Customer
12
Thc th nghip v
Business entity !i tng mà t chc s( dng -#u
hành tác nghip hay s$n xu%t.
Thc th bao gm t%t c$ nhng gì worker nghip v
liên quan hàng ngày
Thí d: Sales Order, Account, Shiping Box, Contract, Ghim gi%y...
i gì thc th nghip v, hãy tr$ l"i:
S$n ph8m ca công ty?
Công ty có các d1ch v?
Công ty ph$i mua vt liu gì s$n xu%t?
Khách hàng cung c%p/nhn gì t4 công ty?
Các worker nghip v;i nhau cái gì khi s$n xu%t?
Tìm kim thc th nghip v *-<ác
Các danh t4 trong UC nghip v
13
Thc th nghip v
Biu tng
B sung các thuc tính cho thc th nghip v
Thí d, thc th nghip v Account có các thuc tính account
number, account type, balance, date opened, status...
Chú ý rng cha có thit k CSDL *=>
Ch b sung các thuc tính  d hiu nghip v

14
ơn v t chc
6n v1 t chc (Organization Unit) tp hp các worker
nghip v, thc th nghip v các ph n t( mô hình
nghip v khác
22c s( dng  t chc mô hình nghip v
Nhi#u công ty t chc theo phòng,?, n v1...
M:i chúng c mô hình hóa nh n v1 t chc
M:i n v1 t chc s bao gm các worker nghip v?.;
phòng, ban,@1ó
Biu tng

15
Biu  UC nghip v
Thc t: lung công vic (Workflow) không n gi$n mà
nhi#u logíc i#u kin
worker nghip v th thc hin mt vài actions khi i#u kin A
x$y ra và thc hin mt vài actions khác khi i#u kin B x$y ra...
hãy s( dng biu  ho't ng (Activity Diagram)  mô hình hóa
các lung công vic
Nu trong biu  UC nghip v nhi#u UC nghip v,
tác nhân nghip v worker nghip v thì th nhóm
chúng thành các n v1 t chc
(Organizational Units)
t chc l'i mô hình  d&c và d hiu
sau ó xây dng biu  UC nghip v chi t4ng n v1 t chc
16
Biu  hot ng
Biu  Activity c s( dng  mô hình hóa lung công vic ca
UC bng các ph n t( h&a
ch ra
các bc trong lung công vic
các im quyt 1nh
ai có trách nhim thc hin t4ng bc
các !i tng $nh h*ng n lung công vic
Thí d
Khách hàng nhn c s$n ph8m l:i, yêu c u tr$ l'i hàng
Customer vit th yêu c u bi th"ng. Customer service representative
nghiên cu th. Nu thiu tài liu yêu c u t h& vit th t4 ch!i bi
th"ng. Nu y  tài liu thì h&,0@àng th"i Account
payable clerk vit séc. Khi xong hai vic này, Customer service
representative thông báo cho khách hàng và yêu c u ca h&c ch%p
nhn.
17
Thí d biu  hot ng
Refund
request
Refund
request
Write letter
requesting refund
Refund
request
Refund request
Create rejection
letter
File request
Notify customer
Create refund
check
  



 !"#$%
18
Biu  hot ng
Các ph n t( chính ca biu  ho't ng
Swimlines: ch ra ai có trách nhim thc hin các nhim v trong biu 
Activities: các bc trong lung công vic
Actions: các bc trong activity
action x$y ra khi vào (entry), ra (exit),* (do) trong activity hay
ph thuc vào s kin (event) nào ó x$y ra.
Business objects: thc th b1 lung công vic tác ng
Transitions: ch ra lung công vic chuyn t4 activity này n activity
khác
Decision points: ch-,p quyt 1nh r nhánh trong lung công vic
Synchronizations: ch ra hai hay nhi#u bc trong lung công vic x$y ra
ng th"i
Start state: ch-,0ng công vic b3t u
End state: ch-,0ng công vic kt thúc
19
Làm tài liu chi tit
Tin trình cho bit cái nhìn mc cao nhng bên ngoài và bên trong
t chc
Chi tit lung công vic sc thc hin trong các bc sau
Ph$i làm tài liu cho lung công vic trong t4ng UC nghip v
th i liu mô t$ t4ng bc, flowchart hay biu  ho't ng
tin trình phc t'p có nhi#u lung chính lung r nhánh
-> s( dng biu  ho't ng
Kt qu$ bc tranh tng th v# t chc
UC cho bit t chc làm
Workflow cho bit m:i UC c thc hin chi tit nh th nào
Actor cho bit cài gì n ngoài t chc vàác vi nó
Business worker cho bit các vai trò trong t chc
Units t chc cho bit c%u trúc t chc
Biu  UC nghip v cho bit quan h các ph n t( này
20
Tóm tt
Mô hình hóa nghip v
Thc t, không ph$i t%t c$ các d án #u thc hin mô hình hóa
nghip v
Mô hình hóa nghip v<A,-./0n cái sc tng
hóa bng h th!ng c th
Giúp ta hình thành ng c$nh cho mô hình hóa h th!ng
Mô hình hóa h th!ng
Tp trung vào cài +t mt h th!ng ph n m#m c th
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML









2
Gii thiu hình hóa UC
Trong pha thu thp yêu cu phân tích h thng thng phi
xây dng các biu  cho
hình nghip v
hình ca s dng
hình giao din ngi s dng
hình ca s dng t h thng c s dng nh th nào
Use case (UC) h thng tác nhân h thng xác nh phm vi h thng
UC là nhng n trong h thng
Actor là nhng bên ngoài h thng
Biu  UC mô t tơng tác gia c UC và tác nhân  hình thành chc
nng h thng
S khác nhau gia nh hóa nghip v hình hóa ca s
dng
hình hóa nghip v tp trung vào t chc ca cơ quan
hình hóa h thng tp trung vào h thng ang xây dng
3
Các khái nim hình hóa UC
Các khái nim cơ bn
Ca s dng (Use case-UC)
Tác nhân (Actor)
Quan h (Relationship)
Biu  ca s dng (Use case Diagram)
4
Use case, tác nhân gì?
Use case?
UC c xem chc nng ca h thng
cung cp t quan im ca ngi dùng.
UC dùng  t h thng mi v mt chc
nng, mi mt chc nng s c biu di n
nh mt hoc nhiu UC.
Không phi là thit k, cài t mà mt
phn ca vn  cn gii quyt
hiu

5
Use case, tác nhân gì?...
Tác nhân?
i tng bên ngoài tơng tác vi h thng theo 3 hình
thc:
Tơng tác trao i thông tin vi h thng hoc s dng
chc nng.
Cung cp u vào hoc nhn thông tin u ra t h thng.
Không iu khin hot ng ca h thng.
!t tên: theo vai trò, không theo tên c th lp
hiu:
Customer
Xây dng UC  làm gì?
Hình thành và t yêu cu chc nng h thng
kt qu th"a thun gia khách hàng ngi phát trin h thng
phn mm
Cho phép mô t ràng nht quán cái h thng s làm
hình kh nng c s dng xuyên sut quá trình phát trin
Cung cp cơ s# kim tra, th nghim h thng
Cho kh nng d thay i hay m# rng yêu cu h thng
Phân tích
Thu thp,
lc và ánh
giá UC
Phân tích
Thu thp,
lc ánh
giá UC
Thit k,
cài t
Cài t UC
Thit k,
cài t
Cài t UC
Kim tra
Kim tra
xem UC
tha mãn?
Kim tra
Kim tra
xem UC
tha n?
o
   o 
  
 !  
 
7
Xây dng UC  làm gì?
Ai quan m n UC?
Ng"i s#
d$ng
Phân tích viên
Th# nghi%m
Kin trúc s
Lp trình viên
Use case
Di&n 't
Hiu
Kim tra
Thit k
Cài t
8
Tìm kim tác nhân nh th nào?
Hãy tr li c câu h"i sau  tìm ra tác nhân h thng
Ai s s dng chc nng chính ca h thng?
Ai giúp h thng làm vic hàng ngày?
Ai qun tr, bo d$ng  h thng làm vic liên tc?
H thng qun thit b phn cng nào?
H thng ang xây dng tơng tác vi h thng khác nào?
Ai hay cái quan tâm n kt qu h thng cho li?
9
Tìm kim UC nh th nào?
Vi mi tác nhân ã tìm ra, hãy tr li các câu h"i sau  tìm ra
các Use case h thng
Tác nhân yêu cu h thng thc hin chc nng o?
Tác nhân cn %c, to lp, bãi b", lu tr, sa i các thông tin nào
trong h thng?
Tác nhân cn thông báo cho h thng s kin xy ra trong nó?
H thng cn thông báo cái ó cho tác nhân?
H thng cn vào/ra nào? Vào/ra i n âu hay t âu?
!t tên UC h thng
Theo khái nim nghip v ca t chc
Không s dng t k& thut, chuyên môn
S dng các ng t, cm t ng'n g%n
Tùy theo tm c$ d án mi h thng t 20-70 UC
10
ã tìm y  UC cho h thng?
Các câu h"i sau giúp xác nh ã tìm y UC?
Mi yêu cu chc nng # trong ít nht mt UC?
Nu yêu cu chc nng không # trong UC nào thì s
không c cài t sau này.
!ã kho sát m%i tác nhân tơng tác vi h thng?
Tác nhân cung cp cho h thng thông tin nào?
Tác nhân nhn thông tin nào t h thng?
!ã nhn bit m%i h thng bên ngoài tơng tác vi h thng ang
xây dng?
Thông tin nào h thng bên ngoài nhn gi cho h thng ang
xây dng?
11
Các quan h
Quan h kt hp (Association)
Quan h gp (Includes)
Quan h m# rng (Extends)
Quan h tng quát hóa (Generalization)
12
Các quan h
Quan h kt hp (Association)
loi quan h gia tác nhân UC
M(i tên cho bit ai là ngi kh#i x#ng giao tip
Customer
Purchase Ticket
Customer
Purchase Ticket
Credit System
13
Các quan h
Quan h gp (Includes)
Trc phiên bn UML 1.3 quan h <<includes>> có tên
<<uses>>
Cho phép mt UC s dng chc nng ca UC khác
Chc nng ca UC include s c g%i trong UC cơ bn.
14
d, UC rút tin
UC rút ti(n
1. Gi UC xác th)c KH
2. Hin th* menu
3. KH chn ch+c nng rút ti(n
UC xác th)c KH
1. !a th, vào máy
2. Kim tra th,
3. KH nhp pin
4. H% th-ng kim tra pin
E1: Th, sai.
E2: sai pin
Khi nào dùng quan h include
Tách ra hành vi(chc nng) chung ca 2 hoc nhiu UC.
Tránh t hành vi ó nhiu ln trong các UC.
!m bo nhng hành vi chung ó c thng nht.
Tách ra hành vi ca UC cơ s# nên c óng gói riêng.
Tách ra hành vi không phi là chính ca UC ó ( hành vi ít
quan tr%ng)
Gim thiu s phc tp ca lung s kin
Các quan h
Quan h m# rng (Extends)
Cho phép m# rng chc nng ca mt UC
Chèn hành vi ca UC extend vào UC cơ s#.
Ch) chèn khi iu kin extend úng
Chèn vào lp cơ s# ti im phát sinh
17
Các quan h
Khi nào dùng quan h m# rng (Extends)
Tách ra hành vi ngoi l, c bit hoc không b't buc
Ch) c thc thi trong iu kin c th
Tách ra  làm ơn gin lung chính
Thêm mt nh vi m# rng i vi UC cơ s#.
Phát trin hành vi ó c lp
18
Các quan h
Quan h tng quát hóa
(Generalization)
Ch) ra mt vài tác nhân hay UC có
mt s cái chung, ging nhau
Không nht thit hình thành quan h
này cho các tác nhân
Khi mt loi c nhân kích hot
mt hay vài UC mà loi tác c
nhân khác không kích hot -> nên
hình thành quan h khái quát hóa
Khi c hai loi tác nhân cùng s
dng các UC -> không cn
hình hóa quan h khái quát hóa
Customer
Corporate
Customer
Individual
Customer
Private
Company
Govenment
Agency
Abstract
Actor
Concrete
Actors
19
To các gói
th nhóm các thành phn thành mt nhóm chung
Nu s lng UC quá ln th chia chúng vào các nhóm
D hiu hình tng th hơn
D bo trì hình UC
D giao vic cho các thành viên
Xem xét kh nng gp nhóm
Tơng tác vi cùng mt tác nhân
Nhóm UC hp thành mt module tơng i hoàn thin
Biu  Use Case
hình UC c t b#i mt hay nhiu biu  UC
S lng biu  UC cho mt d án tùy ý
Không quá nhiu làm ri lon
Phi m bo y   biu di n y  thông tin ca h thng
công c mnh giúp thu thp yêu cu chc nng h thng
ch) ra quan h gia UC và tác nhân gia UC vi nhau
S dng biu   làm tài liu UC, tác nhân các quan h gia
chúng
Li ích chính ca biu  UC là m giao tip
Khi quan sát các UC, customer bit h thng các chc nng nào
Khi quan sát các tác nhân, customer bit ai giao tip vi h thng
Khi quan sát c UC và tác nhân, customer bit phm vi d án
21
Thí d biu  Use Case
.//01oo
234o
23/5o601
014o
/471
81o 016o1o
9o316o5
o1
o /6/
4o o7
801oo
:o
1
4o/
4 
.//316o5
81o 16o5
1
 o7
;<71
22
Biu  Use Case
Các chú ý khi xây dng biu  UC
Không nên mô hình hóa quan h kt hp gia tác nhân vi tác nhân ->
giao tip gia các tác nhân # bên ngoài h thng
Hãy s dng biu  lung công vic  kho sát quan h gia các
tác nhân
Không hình thành quan h Association gia các UC
Biu  ch) ra các UC nào nhng không ch) ra trt t thc hin
chúng
Mi UC phi có tác nhân kích hot (tr UC trong quan h extends
quan h includes)
Nên v m(i n th hin association i t tác nhân n UC
th xem CSDL là lp # di biu  UC
th nhp tin vào CSDL # UC này xâm nhp d liu trong
CSDL # UC khác
Không v association gia các UC  ch) ra lung thông tin
23
Lung s kin trong UC
Tài liu lung s kin (flow of events) mô t hành vi ca UC
t lung logíc i qua UC
t ngi s dng làm gì, h thng làm
Trong mt UC nhiu lung s kin: lung chính, lung ph
Kch bn (Scenario)
Mt lung s kin trong mt hin thc ca UC
trình t hành ng c th  t hành vi
Kch bn i xuyên sut UC theo nhánh chính, nhánh ph, nhánh c bit
24
Tài liu lung s kin
Tài liu lung s kin bao gm
t v'n t't UC
t ng'n g%n UC làm ?
Nhng ai s dng UC?
cho li kt qu gì?
Tin iu kin (pre-condition)
!iu kin cn thc hin trc khi UC kh#i ng
Không phi UC nào c(ng tin iu kin
Lung s kin chính và lung s kin r nhánh
Hu iu kin (post-condition)
25
Tài liu lung s kin
Tài liu lung s kin bao gm
t v'n t't UC
Tin iu kin (pre-condition): khi nào UC c kích hot?
Lung s kin chính và lung s kin r nhánh
chi tit v UC c t trong hai lung s kin này
t cái s xy ra  thc hin chc nng ca UC
Ni dung tài liu
UC kh#i ng nh th nào?
Các ng i xuyên qua các UC
Lung chính thông qua UC
Lung r nhánh thông qua UC
Các lung li
UC kt thúc th nào.
Hu iu kin (post-condition)
iu kin c thc hin ngay sau khi kt thúc UC
26
Thí d tài liu lung s kin
Ca s dng: Cp nht t in môn h%c
Tác nhân: Nhân viên phòng ào to
Mc ích: Cp nht các môn h%c trong t in môn h%c
t: Sau khi ng nhp vào h thng, nhân viên phòng ào to cp nht
thông tin môn h%c vào biu m*u hoc sa môn h%c s+n ghi li.
Lung s kin chính:
27
Hành ng tác nhân Phn ng h thng D liu liên quan
1. Chn ch+c nng cp
nht t= in môn hc
2. Hin th* biu m>u
nhp thông tin v( các
môn hc mi hin th*
danh sách môn hc
chn môn hc tiên quyt
cho môn hc.
T= in môn hc
3. Nhp thông tin môn
hc, chn môn hc tiên
quyt, ?ng ý nhp mi.
4. Cp nht môn hc o
t= in môn hc
Môn hc
Lu?ng s) ki%n ph$: s#a thông tin
Ngo'i l%: Bc 4: nu thông tin nhp ko chính xác thì u c@u nhp l'i hoc
d=ng ca s# d$ng.
Thí d tài liu lung s kin
Ca s dng: Sa i thông tin môn h%c
Tác nhân: Nhân viên phòng ào to
Mc ích: Sa các thông tin v mt môn h%c ang tn ti trong h thng
t khái quát: Tìm n môn h%c cn sa i, xóa các thông tin c( nhp
các thông tin mi v môn h%c này. Cui cùng, yêu cu h thng ghi nhn các
thông tin mi.
28
Thí d tài liu lung s kin
29
Tóm tt
Bài này ã xem xét các vn  sau
Biu  UC gì?
Quan h gia biu  UC và biu  nghip v
Các khái nim ca hình UC
Cách tìm kim UC, tác nhân, quan h trong hình UC
Các phn t  h%a xây dng biu  UC
Cách t lung s kin
vn bn
biu  hot ng
30
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML











2
hình hóa i tng
hình hóa tng tác gia các i tng trong h thng
Hai loi biu  c s dng  hình hóa i tng
Biu  trình t (Sequence diagram)
Tp trung vào mô t iu khin
Biu  cng tác (Colaboration diagram)
Tp trung vào mô t d liu
Biu  trình t biu  cng tác u ch ra cùng loi thông tin.
Gi tên chung cho hai loi biu  này biu  tng tác
(Interaction diagram)
Biu  tng tác ch ra các i tng tham gia vào lung
xuyên qua UC và các thông ip gi gia chúng?
Biu  tng tác giúp xác nh h thng làm vic nh th nào?
Lung s kin tp trung vào cái h thng làm.
3
i tng?
Ta nhìn thy i tng xung quanh ta
Bàn, gh, quyn sách...
i tng i ó gói thông tin và hành vi
khái nim biu din cái c th trong th gii thc
Thí d Máy bay VN358 i tng
các thông tin:
Ngày bay 10 April, gi bay 8h30, s hiu máy bay VN358, bay t Ni
các hành vi
bit ón khách vào máy bay, bit a khách ra khi máy bay, xác
nh khi o máy bay y khách
Thông tin c lu tr bi thuc tính (Attribute)
Hành vi ca i tng c gi thao tác (Operation)
4
Lp gì?
Lp (class) cái ó cung cp k hoch (blueprint) cho i
tng
Lp cung cp thông tin nào i tng lu tr và hành vi nào i
tng
Cung cp m u (template) cho i tng
nh ngh!a lp ca UML
t tp i tng chia s" cùng thuc tính, thao tác, phng
pháp, quan h ng ngh!a.
Thí d
i tng: Sinh viên A, Sinh viên B...
Lp: Sinh viên
5
Xây dng biu  tơng tác
 y dng biu  tng tác ta b#t u t lung s kin
Xây dng tng biu  cho
lung chính, lung thay th, lung l$i
Nu hai lung thay th lung l$i tng t nhau thì gp chúng li
S dng m u (Pattern) xây dng biu  tng tác  gim thi
gian
Xây dng các m u cho các logíc chung: Khai thác CSDL, qun
l$i, giao tip gia các tin trình...
Các bc y dng biu  tng tác
Tìm kim i tng
Tìm kim tác nhân
B% sung thông ip vào biu 
6
Tìm kim i tng
Kho sát các danh t trong lung s kin
Tìm i tng trong i liu kch bn
Kch bn (Scenario) mt hin thc ca lung s kin
M$i lung s kin nhiu kch bn
M$i UC có th nhiu biu  tng tác
M$i biu  c xây dng cho mt kch bn thông qua lung s kin
Tìm i tng không c t trong lung s kin
Các i tng cho phép tác nhân nhp quan sát thông tin
Các i tng tham gia iu khin trình t lung xuyên qua UC
Tìm i tng tng &ng vi khái nim tru tng khi phân tích
Thí d Tên sách, Tên tp chí tru tng không tng &ng vi i
tng nào trong th gii thc
7
Tìm kim i tng
th hình thành c biu  tng tác
' m&c cao:  ch ra h thng giao tip nh th nào
' m&c rt thp:  ch ra lp nào cn tham gia vào kch bn
Nên xem xét các nhóm i tng sau khi tìm kim chúng
i tng thc th (Entity)
Lu tr thông tin, có th ánh x sang bng, trng ca CSDL
Nhiu danh t trong lung s kin thuc loi này
Thí d: Chuyn bay VN358, Hành khách John, Vé s #1347A...
i tng biên (Boundary)
i tng ti biên h thng th gii bên ngoài
các Forms, ca s% ca &ng dng giao din vi các &ng dng khác
i tng iu khin (Control)
các i tng b% sung, không thc hin ch&c n(ng nghip v nào
iu phi các i tng khác iu khin toàn b lung logíc
8
Tìm kim tác nhân
Sau khi xác nh i tng tìm kim tác nhân cho biu 
tng tác
Tác nhân trong biu  tng tác s kích hot t ngoài 
khi ng lung công vic ca lung s kin
Tìm kim tác nhân trong lung s kin
Ai hay cái khi xng tin trình?
th nhiu tác nhân cho mt biu  tng tác
Nu tác nhân nhn hay gi thông ip cho h thng theo kch
bn nào ó thì chúng phi m)t trong biu  tng tác ca
kch bn ó
9
S dng biu  tơng tác
T biu  tng tác ngi thit k ngi phát trin c nh
các
lp s* xây dng
quan h gia các lp
thao tác các trách nhim ca lp
Biu  trình t theo th& t thi gian
Giúp ngi s dng quan sát lung logíc thông qua kch bn
Biu  cng tác tp trung vào t% ch&c cu trúc ca các i tng
Giúp d dàng quan sát i tng nào giao tip vi các i tng
nào
Khi thay %i i tng, d* dàng nhn thy tác ng trên các i
tng khác?
10
Xây dng biu  tơng tác
Biu  tng tác bao gm các thành phn sau
i tng (Objects)
Biu  tng tác s dng n i tng, tên lp hay c hai
Thông ip (Messages)
Thông qua thông ip, mt i tng hay lp th yêu cu lp hay
i tng khác thc hin vài ch&c n(ng c th
Thí d: Form yêu cu i tng Report t in
Liên kt (Links)
hin thc ca quan h kt hp gia các i tng
Chú thích (Notes) và ràng buc
11
Xây dng biu  tơng tác
Khi to lp biu  tng tác ngh!a gán trách nhim cho
i tng
Gán trách nhim cho i tng nhn thông ip
Phi gán trách nhim cho i tng mt cách phù hp
Thí d không n trách nhim nghip v cho i tng Form, Screen
Da trên các loi lp  cân nh#c hình thành trách nhim cho
chúng
Lp Entity: lu tr thông tin và thc hin các ch&c n(ng nghip v
Lp Boundary
form và windows: hin th nhn thông tin. th x vài nghip
v rt nh
interfaces: trao %i thông tin vi h thng khác. X vài nghip v rt
nh
Lp Control: theo dõi trình t thc hin
12
Biu  trình t
Biu  trình t biu  theo th& t thi gian
c biu  t nh xung áy
c biu  b+ng quan sát các i tng thông ip
M$i i tng vòng i (Lifeline)
B#t u khi nh thành i tng, kt thúc khi phá hy i tng
Thông ip c v* gia hai i tng th hin i tng gi hàm i
tng khác
Thông ip phn thân
13
Biu  trình t
Thí d: Thêm h s sinh viên
14
: NV Phong
QLSinhVien
: NV Phong
QLSinhVien
: frmHoSoSV : frmHoSoSV
: ctrThemSV : ctrThemSV
: HoSoSV : HoSoSV
1: Chuc nang them sinh vien
2: Hien thi form nhap thong tin SV
3: Nhap thong tin sinh vien
4: Lap ho so SV
5: Kiem tra tinh hop le
6: Thong bao thong tin sai hoac thieu thong tin
7: Thong bao loi
8: Luu vao co so du lieu
9: Luu thanh cong
10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong
12: Chon chuc nang tiep tuc them SV
13: Quay lai buoc 2
Biu  trình t
Thí d: Sa h s sinh viên
15
: NV Phong
QLSinhVien
: NV Phong
QLSinhVien
: frmHoSoSV : frmHoSoSV
: frmTimKiem : frmTimKiem
: ctrSuaSV : ctrSuaSV
: HoSoSV : HoSoSV
1: Chon chuc nang sua sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va sua thong tin
4: Thong tin sua
5: Kiem tra thong tin
8: Luu thong tin sua
6: Thong tin bi sai hoac thieu sot
7: Thong bao loi
9: Luu thanh cong
10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong
12: Chon chuc nang tim kiem
13: Goi form tim kiem
14: Yeu cau nhap thong tin tim kiem
15: Nhap thong tin can tim
16: Gui thong tin tim kiem
17: Tim kiem
18: Ket qua tim kiem
19: Hien thi ket qua tim kiem
20: Quay tro lai buoc 3
Biu  trình t
Thí d: Xóa h s sinh viên
16
: NV Phong
QLSinhVien
: NV Phong
QLSinhVien
: frmHoSoSV : frmHoSoSV
: frmTimKiem : frmTimKiem
: ctrXoaSV : ctrXoaSV
: HoSoSV : HoSoSV
1: Chon chuc nang xoa sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va xoa thong tin
6: Thong tin xoa
13: Yeu cau nhap thong tin tim kiem
14: Nhap thong tin can tim
15: Gui thong tin tim kiem
16: Tim kiem
17: Ket qua tim kiem
18: Hien thi ket qua tim kiem
19: Quay tro lai buoc 3
4: Hien thi canh bao
5: Dong y xoa
7: Xoa thong tin
8: Xoa thanh cong
9: Thong bao luu thanh cong
10: Hien thi thong bao luu thanh cong
11: Chon chuc nang tim kiem
12: Goi form tim kiem
Xây dng biu  trình t
Sau khi v* i tng trong biu , cn
v* liên kt các i tng
b% sung thông ip cho chúng
)c t thông ip
)t tên thông ip
Ánh x thông ip vào thao tác
)t )c nh ng b cho thông ip
)t tn s cho thông ip
17
Xây dng biu  trình t
)c t thông ip
)t tên thông ip
Tên ch ra mc tiêu ca thông ip
Ánh x thông ip vào thao tác
Trc khi phát sinh trình phi ánh x mi thông ip thành thao
tác
)t tn s cho thông ip
ánh du thông ip s* c gi u )n, t d m$i 30s
Hai loi
Periodic: cho bit thông ip c gi u )n theo chu k,
Aperiodic: cho bit thông ip không c gi u )n c gi mt ln hay
theo thi im không u
)c t )c tính tng tranh cho thông ip
18
Xây dng biu  trình t
)c t thông ip
)t tên thông ip
Ánh x thông ip vào thao tác
)t tn s cho thông ip
)t )c nh tng tranh cho thông ip
n (Simple): Giá tr m)c nh ca thông ip, cho bit thông ip chy trong
n tin trình
ng b (Synchronous): Client gi thông ip, ch n khi Supplier x xong
thông ip
Cn tr (Balking / Rendez-vous): Client gi thông ip, nu Supplier không s-n
sàng x ngay thông ip hy b
Ht hn (Timeout): Client gi thông ip ch n Supplier x trong khong
thi gian nht nh
D b (Asynchronous): Client gi thông ip không ch  Supplier x xong
tip tc làm công vic khác
Li gi th tc (Procedure Call): Client gi thông ip n Supplier, ch n khi
mi trình t l)p ca các thông ip c x xong (m.i tên )c)
Tr v (Return): Mô t tr v t li gi th tc (m.i tên nét &t)
19
Xây dng biu  trình t
 

 
 
 




 

 


 

     
    
20
Xây dng biu  trình t
21
Xây dng biu  trình t
22
Xây dng biu  trình t
23
Xây dng biu  trình t
24
Xây dng biu  trình t
25
Xây dng biu  trình t
26
Xây dng biu  trình t
27
Xây dng biu  trình t
28
Xây dng biu  trình t
29
Xây dng biu  trình t
30
Xây dng biu  trình t
31
Xây dng biu  trình t
32
Scripts trong biu  trình t





 

!"

#! 

$
%"
&' 
() 
*) 
+ 
,)
! -.
-/
33
Biu  cng tác
Tng t biu  trình t, biu  cng tác (Collaboration
diagram)
ch ra lung thc hin trong kch bn ca UC
Biu  cng tác tp trung vào
quan h gia các i tng
cu trúc t% ch&c ca các i tng
lung d liu trong kch bn
Tng i khó quan sát trình t các thông ip trong biu 
cng tác
Do vy, các d án thng hay xây dng c hai loi biu  này
Trong Rose: Có th t ng chuyn %i qua li gia biu  trình t
biu cng tác
(nhn phím F5)
34
Thí d biu  cng tác
Thí d: Lung s kin Khách hàng )t ch$ cho chuyn bay






 

!"

%"
&' 
#! 

$
() 
,)
*) 
+ 
35
Thí d biu  cng tác
C biu  trình t biu  cng tác u mô t lung iu khin trong kch
bn
Khác bit gia biu  trình t biu  cng tác
biu  cng tác mô t lung d liu
biu  trình t không t lung d liu
Lung d liu c s dng  t thông tin tr li khi mt i tng gi
thông ip n i tng kia
Không nên b% sung mi lung d liu vào biu  s* làm ri
S dng khi thy cn thit
-#0 -#0
  
) /
36
K thut xây dng biu tơng tác
Xây dng biu  tng tác theo tim
cn 2 bc [Boggs]
Bc th& nht tp trung vào thông
tin m&c cao khách hàng quan
tâm
Cha ánh x thông ip vào thao tác
Cha ánh x i tng vào lp
nh cho phân tích viên, khách hàng
nhng ai quan tâm n lung
nghip v -> thy c lung logíc
trong h thng
Bc th& 2 b% sung chi tit hn vào
biu  to ra t bc 1

-#0 )-#0
1- 
12 
$1" 
%1
&1/ 
(1"
37
K thut y dng biu  tơng c
Xây dng biu  tng tác theo
tim cn 2 bc [Boggs]
Bc th& nht tp trung vào
thông tin m&c cao
Bc th& 2 b% sung chi tit hn
vào biu  to ra t bc 1
Không hiu qu cho khách hàng
Rt hu ích cho ngi phát
trin, kim th các thành viên
khác...
B% sung vào biu  i tng
iu khin (i tng qun lý):
trách nhim iu khin trình
t i qua kch bn.
Mi biu  trình t trong UC
th cùng chia s" mt i
tng iu khin.

-#0 )-#0
-#0
1- 
12 
$1" 
%1"
&1
(1/ 
*1"
38
K thut y dng biu  tơng c
Chi tit hn trong bc 2
Control object không thc tin trình hin nghip v, nó ch gi thông
ip n các i tng khác
Control object cho kh n(ng tách logíc nghip v khi logíc trình t
Nu logíc trình t thay %i t ch nh hng n i tng iu khin
th b% sung các i tng qun an toàn, l$i hay kt ni CSDL
Thí d lu tr hay truy vn thông tin CSDL cho i tng John: có
hai kh n(ng
i tng John bit v CSDL và t lu tr
Bt li: khi thay %i CSDL thì s* phi thay %i rt nhiu i tng trong h thng
Li th: d mô hình hóa, d cài )t
i tng John tách khi logíc CSDL -> cn i tng khác thc hin
lu tr John vào CSDL
Cn to ra i tng mi qun logíc CSDL gi Transaction Manager
i tng Transaction Manager bit lu tr truy vn thông tin trong CSDL cho i
tng John
Li ích: d s dng li i tng John
Bt li: thi gian nh hóa
39
K thut y dng biu  tơng c
Thí d biu  trình t sau bc hai

-#0 -#0 3 

1- 
12 
$1" 
%1"
&1
(1/ 
*1"3
+1' 
,1"
40
Thí d y dng biu  tơng c

! 


 ! 4/

!
1//
1//
$1'//
%154/6
&1'
(1//
*1//
     e !a#
41
Tóm tt
Bài này ã xem xét các vn  sau
Các loi biu  tng tác
Biu  trình t
Biu  cng tác
Tìm kim i tng, thông ip ca lung s kin trong
UC
)c t các phn t hình xây dng biu  tng tác
K/ thut xây dng biu trình t
42
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML



2
Lp gì?
i tng cái ó tn ti trong th gii thc
Lp t thuc tính, hành vi, ng ngha ca mt nhóm
i tng
Lp xác nh thông tin nào c lu tr trong i tng và hành
vi nào i tng
Thí d v lp: Lp Employee
i tng ca lp các attribute: Name, Address, Salary
Các operation: Thuê mn, ui vic  bt nhân viên?
pháp  ha ca lp trong biu 
Tên lp
Thuc tính
Thao tác
- Private
+ Public
3
Tìm kim lp nh th nào?
Vic tìm kim y  lp khó khn
Khuyn o
Tìm lp t c danh t trong lung s kin
Chú ý rng danh t th tác nhân, lp (, thuc tính và
biu thc không phi loi trên)
Tìm lp t biu  tơng tác
Nhng cái chung ca i tng to thành lp
Tìm lp c nơi khác
Các báo cáo tìm ra trong pha phân ch yêu cu hình thành
lp giao din
Các thit b phn cng c biu din bi lp khác nhau
4
Tìm kim lp nh th nào?
Cùng vi chuyên gia lnh vc vn  tr l i các u h!i sau
ây  tìm ra lp
thông tin nào cn lu tr hay phân tích? Nu có, nó lp
h thng ngoài không? Nu thì c xem nh nhng lp
cha trong h thng ca ta hay h thng ca ta tơng tác vi chúng
m"u, th vin lp, thành phn...? Nu có, thông thng chúng
cha các ng viên lp
H thng cn qun các thit b ngoi vi nào? Mi thit b k#
thu$t ni vi h thng u ng viên lp.
Tác nhân óng vai trò tác nghip nào? Các nhim v này th
lp; thí d ngi s% dng, thao tác viên h thng, khách hàng...
5
Lp biu  lp
Biu  lp cho bit hình nh
tnh ca b ph$n h thng
Biu  lp bao gm các lp
quan h gia chúng
Thông thng m&i h thng
vài biu lp
Xây dng vài biu  lp 
t y  h thng
Biu  lp giúp ngi phát
trin quan sát, l$p k hoch
cu trúc h thng trc khi vit
trình
Rose
Biu  lp c hình thành
trong Logical View
6
Biu  lp thc th
7
Các nhóm lp
Ba nhóm lp cơ s s% dng trong pha phân tích
Boundary: lp biên (giao din)
Dành cho lp nm trên biên h thng vi th gii còn li
Chúng th form, report, giao din vi phn cng nh
máy in, scanner...
Kho sát biu  UC  tìm kim lp biên










8
Các nhóm lp
Ba nhóm lp cơ s s% dng trong pha phân tích
Boundary
Entity: lp thc th
Lp thc th lp lu tr thông tin s' ghi vào b nh
ngoài
Tìm chúng trong lung s kin biu  tơng tác
Thông thng phi to ra bng CSDL cho lp loi này
M&i thuc tính ca lp thc th s' trng trong bng CSDL
Control: lp iu khin
trách nhim iu phi hot ng ca các lp khác
Thông thng m&i UC có mt lp iu khin
không thc hin chc nng nghip v nào
Các lp iu khin khác: iu khin s kin liên quan
n an ninh liên quan n giao dch CSDL



9
c t lp trong biu 
(c t lp bao gm
Tên lp
M&i lp trong mô hình tên duy nht
Thông thng s% dng danh t ơn, không nên du cách
Thí d: Flight, Airplane
Phm vi (Visibility)
Xác nh kh nng nhìn thy lp t ngoài gói
Các loi
Public: mi lp trong h thng th nhìn thy
Private hay Protected: có th nhìn thy t bên trong lp hay t lp friend
Package hay Implementation: ch) các lp trong cùng gói mi nhìn thy
Tính nhiu (Multiplicity)
10
c t lp trong biu 
(c t lp bao gm
...
Tính nhiu ca lp (Multiplicity)
s hin thc mong i ca lp
Multiplicity Ý ngh
a
n (Mc nh) Nhiu
0..0 Không
0..1 Không ho
c 1
0..n Không ho
c nhiu
1..1 Chính xác 1
1..n M
t hoc nhiu
11
Gói các lp
Gói (Packages)  nhóm các lp
nhng cái chung
nhiu quan im hình thành gói
Gói lp theo prototype
Thí d gói Boundaries, gói Control
gói Entities
Gói lp theo chc nng
Thí d gói Security, gói Reporting, gói
Error Handling...
S% dng t hp hai loi tip c$n trên 
hình thành gói
th t chc gói bên trong i khác
Quan h gia các gói hình thành trên cơ
s quan h gia các lp trong các i.



12
Thuc tính lp
Thuc tính nhóm thông tin liên kt vi lp
th g*n mt hay nhiu thuc tính o lp
Tìm kim thuc tính?
Tìm trong tài liu UC
Tìm các danh t trong lung s kin
Thí d: “Ngi s% dng nh$p tên, a ch) ngày sinh ca
Nhân viên”
-> Tên, a ch), ngày sinh danh t thuc tính ca lp
Nhân viên
Tìm trong tài liu yêu cu h thng
Thí d tài liu yêu cu h thng t các thông tin cn thu
th$p
Tìm thuc nh trong cu trúc CSDL
Nu ã xác nh cu trúc CSDL thì các trng trong bng
thuc tính ca lp
13
Thuc tính lp
Trong trng hp khó khn quyt nh danh t tìm ra
thuc tính hay là lp
Thí d: Tên công ty thuc tính hay lp?
Loi ng dng c th quyt nh vic này
M(t khác cn quan sát nhóm thông tin có hành vi hay không
Khi kt thúc tìm kim thuc tính
m bo rng các thuc tính tìm ra phi ích cho yêu cu
h thng
Gán th$n trng thuc tính cho các lp
Không nên hình thành lp quá nhiu hay q ít thuc tính
(tt nht nên lp ít hơn 10 thuc tính)
14
c t thuc tính lp
Trong Rose: s% dng c%a s
(c t thuc tính  gán (c
tính cho thuc tính
Vi m&i thuc nh trong
biu  cn
Tên thuc tính
Kiu d liu thuc tính lu tr.
Ph thuc vào ngôn ng l$p
trình
Thí d, Add : String
Giá tr khi u
Thí d, IDNumber:
Interger=0
Stereotype
Phm vi (visibility)
....
15
c t thuc tính lp
Vi m&i thuc nh trong biu  cn
...
Phm vi (visibility)
Mt tính cht quan trng ca l$p trình
hng i tng tính gói
Bn la chn phm vi cho thuc tính
Public: Mi lp u nhìn thy thuc tính (+)
Private: Lp khác không nhìn thy thuc tính (-)
Protected: Các lp k tha th nhìn thy (#)
Package Implementation: Thuc tính public i vi
các lp trong ng gói
...



!

 !



"#$%!&



16
c t thuc tính lp
Vi m&i thuc nh trong biu  cn
...
Kiu lu tr thuc tính
By value: Lp cha thuc tính
By reference: Thuc tính (t ngoài lp, lp con tr! n
thuc tính
Unspecified: Không xác nh
Thuc nh tnh
thuc tính chia s+ cho mi hin thc lp
hiu trong lp tên thuc tính gch chân (phiên bn
c,:
$)
Thuc nh suy din
thuc tính c to bi 1 hay nhiu thuc tính khác
hiu: du / trc tên thuc tính
...


'
17
Thao tác lp
Thao tác hành vi kt hp vi lp, nó xác nh trách nhim
ca lp
t thao tác bao gm
Tên thao tác
Tham s thao tác
Kiu giá tr cho li
pháp trong UML
Operation Name (arg1: arg1 data type, arg2: arg2 data type...): return type
Chú ý khi b sung thao tác trong lp
Không nên  lp ch) 1 hay 2 thao tác
Nu lp không thao tác thì hình a nh thuc tính
Nu lp quá nhiu thao tác thì khó qun lý, nên chia s+ chúng ra
các lp khác
18
Các loi thao tác
Thao tác cài (t (Implementor)
Cài (t mt vài chc nng nghip v
Hu nh mi thông ip trong biu  tơng tác ánh x vào thao tác cài
(t
Thao tác qun (Manager)
Qun vic l$p hy b! i tng
Thí d: các cu t%, hy t% ca lp
Thao tác m nh$p (Access)
Thao tác xâm nh$p vào các thuc tính private protected
Thí d: các thao tác Get và Set cho m&i thuc tính trong lp
Thao tác tr giúp (Helper)
các thao c private protected ca lp
Các thông ip phn thân trong biu tơng tác ánh x n thao tác này
19
Quan h gia các lp
Quan h kt ni ng ngha gia các lp
Quan h cho mt lp bit thuc tính, thao tác quan h ca lp
khác
Các loi quan h chính
Kt hp (Associations)
Thành phn (Aggregations)
Tng quát hóa (Generalizations)
Ph thuc (Dependencies)
20
Tìm kim quan h
Kho sát biu  trình t biu  cng tác
Nu lp A g%i thông ip n lp B thì gia chúng quan h
Thông thng quan h kt hp hay ph thuc
Kho sát các lp  tìm ra các quan h
Quan h tng th - thành phn
Bt k- lp o c hình thành t lp khác thì chúng
quan h t$p hp
Quan h tng quát hóa
Nu nhiu lp k tha t lp th ba thì gia chúng vi lp
th ba quan h khái quát hóa
21
Kt hp quan h cu trúc  t t$p liên kt (mt liên
kt kt ni gia các i tng). Khi i tng ca lp này
g%i/nh$n thông ip n/t i tng ca lp kia thì ta gi
chúng có quan h kt hp.
pháp  ha ca kt hp c t trên hình sau,
chúng th cha tên nhim v tính nhiu (multiplicity).
22
Quan h kt hp
Quan h kt hp
Association là kt ni ng ngha gia các lp
Kt hp cho mt lp bit v thuc tính thao tác public ca lp khác
Quan h kt hp hai chiu, mt chiu
Quan h kt hp phn thân
( 
(
class Person
{
public:
Person();
~Person();
private:
House *the_House;
};
class House
{
public:
House();
~House();
private:
Person *the_Person;
};
class Person
{
public:
Person();
~Person();
private:
House *the_House;
};
class House
{
public:
House();
~House();
private:
};

23
Quan h thành phn
Aggregation là quan h gia tng th b ph$n (Whole-
Parts)
Trong quan h này, mt lp biu din i ln hơn còn lp
kia biu din cái nh! hơn
Biu din quan h has-a
Mt i tng ca lp tng th nhiu i tng ca
lp thành phn
2 loi quan h thành phn:
T hp
Gp
24
T hp:
Tng th b ph$n th hy b! vào th i im khác nhau
Tên khác: quan h t hp bi tham chiu
(by reference)
d: Mt lp hc phn c m (trong hc tín ch)) có
nhiu sinh viên theo hc, lp hc phn c m class
tng th, còn sinh viên là class thành phn. Nu không
lp hc phn c m thì sinh viên v"n tn ti, ho(c khi
hy lp hc phn.c m i thì sinh viên v"n không b
hy.
Quan h thành phn
Quan h thành phn
d:
)
#

**+
,
+
+
**+
-.*/.
)0
*****
!1
2/34
54
-.*/.
0
***
!1
)2/3)4
54
Gp: là dng (c bit (mnh hơn) ca quan h t hp
Tng th thành phn c hình thành hay hy b! vào cùng th i
im
Tên khác: quan h t hp bi giá tr (by value)
d: Mt công ty (Company) nhiu phòng ban(
Department). Nh th khi công ty b hy i thì phòng ban
(Department) không còn tn ti, ho(c Mt phòng hc(
Class-room) có nhiu bàn gh (table), thc t tt c các
phòng hc u n gh riêng cho tng phòng và bàn ca
phòng nào u s phòng i kèm vi mã s bàn, nh
v$y nu phòng hc b hy thì bàn gh ca phòng ó b hy
theo.
27
Quan h thành phn
d:
 67
-.67*/.

0
***
!1
5
-.*/.
67
0
***
!1
/34
5
28
Quan h thành phn
Quan h tng quát hóa
Generalization là quan h k tha ca hai phn t% hình
nh lp, tác nhân, Use case và gói
Cho phép mt lp k tha các thuc tính, thao tác public và
protected ca lp khác
!
8

998
($&
$&
(!
:
9!
9
-;!*/<
(!1!
!
0
!1
=:4
******
54
29
Quan h ph thuc
Dependency quan h ch) ra mt lp tham chiu lp
khác. Ph thuc mi quan h gia hai lp i tng: mt lp
i tng A có tính c l$p mt lp i tng B ph thuc
vào A; mt s thay i ca A s' nh hng n lp ph thuc B.
Khi thay i (c t lp tham chiu thì lp s% dng b nh
hng

(
30
Quan h ph thuc gói
th v' quan h ph thuc gia các gói nh gia các lp
Ph thuc gói t gói A n gói B có ngha rng vài i
trong lp A quan h mt chiu vi các lp trong gói B
Tránh ph thuc vòng gia các gói
"# "#
"# "#
31
c t quan h gia các lp
(c t chi tit quan h bao gm
Multiplicity
Tên quan h
Tên nhim v
Phn t% liên kt
32
c t quan h gia các lp
(c t chi tit quan h bao gm
Multiplicity
Cho bit bao nhiêu hin thc ca mt lp liên kt vi mt
hin thc ca lp khác vào cùng th i im
Tên quan h
Tên quan h ng t t ti sao li tn ti quan h
...
 9
>**>
>**+
! 
!
33
c t quan h gia các lp
(c t chi tit quan h bao gm
.....
Tên nhim v
S% dng n nhim v thay th cho tên quan h trong quan
h kt hp hay t hp  ch) ra ti sao quan h tn ti
! 
?!?!
34
c t quan h gia các lp
(c t chi tit quan h bao gm
.....
Phm vi kt hp (Qualifier)
Phn t% liên kt
Còn gi lp kt hp, nơi lu tr thuc tính liên quan n
kt hp
9 
>**+>**> >**+>**>
@
35
Tóm tt
Bài này ã xem xét các vn  sau
Tìm kim lp
Tìm kim thuc tính, thao tác lp
Tìm kim các loi quan h gia các lp
Biu din biu  lp gói
Biu din  ha các thuc tính ca thuc tính, thao tác
trong lp
Biu din các thuc tính cho quan h gia các lp
36
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
2














o
o





3
Biu  chuyn trng thái
Mô t chu k tn ti ca i tng t khi nón
khi nó b phá hy
S dng  mô hình hóa khía cnh ng ca lp
Biu  bao gm các thông tin sau
Các trng thái ca i tng
Hành vi ca i tng
S kin tác ng làm thay i trng thái
Thông thng
Xây dng biu chuyn trng thái cho mt vài i tng ca
lp có nhiu hành vi ng trong d án
Không phi mi d án s dng biu  loi này
4
Trng thái i tng?
Trng thái i tng là kt qu ca các hot ng trc ó
ca i tng
i tng luôn trong mt trng thác xác nh ti mt
thi im
Trng thái c xác nh b i giá tr ca thuc tính và liên kt vi
i tng khác
Thí d
Con ngi c th ca lp Person có các trng thái: Ngi lao
ng, Th!t nghip, V"
Hóa ơn mua hàng:$%%&án, cha thanh toán
Xe ô tô:'(y,')ng
Thay i trng thái i tng
s kin xy ra
Thí d: ai ó thanh toán hóa ơn hàng
5
Biu  trng thái
Thí d biu  trng thái
S dng biu  trng thái  làm gì?
Phân tích viên, ngi thit k 'i s dng hiu hành vi i
tng
Ngi phát trin hiu hành vi i tng  cài *t nó





6
Biu  trng thái
Các ph+n t ha
Trng thái kh i +u: Khi i tng c to ra
Trng thái dng: Khi i tng b phá hy
Trng thái (State)
Hot ng
Hành ng vào
Hành ng ra
Quá (Transition)
S kin
iu kin canh
Hành ng
Trng thái ,n
7
Biu  trng thái
Các ph+n t ha
...
Trng thái (State)
Trng thái c xác nh t kho sát thuc tính lp và quan h
gi-a các lp
Ký pháp  ha
Khi i tng trong trng thái nào ó thc hin vài hot ng
(Activity)
Phát sinh báo cáo, Thc hin tính toán Gi thông ip n i tng khác
./0&i thông tin có th gp trong trng thái
Hot ng, Hành ng vào, Hành ng ra, S kin, Lch s trng thái.
...

8
Biu  trng thái
Các ph+n t ha
...
Trng thái (State)
Hot ng (Activity)
hành vi i tng thc hin khi nó
ang trng thái c th
hành vi th ng1t c
Biu di2n trong ph+n t biu : do hay /
nh ng vào (Entry Action)
hành vi xy ra khi i tng ang chuyn
vào trng thái
hành vi không th ng1t c
Biu di2n trong ph+n t biu : Entry
nh ng ra (Exit Action)
hành vi xy ra khi i tng ang chuyn
ra trng thái
hành vi không th ng1t c
Biu di2n trong ph+n t biu : Exit







 !
9
Biu  trng thái
Các ph+n t ha
...
Quá (Transition)
Quá là chuyn ng t trng thái này sang
trng thái khác
Quá phn thân
*c t quá
S kin (Event): cái gìó nguyên nhân chuyn t
trng thái này sang trng thái khác
H+u ht quáu có s kin. S kin có th i
s, thí d, Remove passenger(name)
iu kin canh (Guard): xác nh khi nào s kin
xy ra, thí d, Trng thái máy bay t Open sang Full
khi ch3 cui cùng ã có'i mua vé
Hành ng (Action): hành vi không ng1t c, xy
ra nh mt ph+n ca chuyn tip.

 !
"
"
#
!
$ %
&'() 
10
Biu  trng thái
Các ph+n t ha
...
Trng thái ,n (Nested state)
 gim quá nhiu trng thái trong biu  ta có th lng trng thái
vào trong trng thái khác: Substate, Superstate
Nu hai hay nhiu trng thái có cùng q -> nhóm chúng thành
superstate
Thí d
Biu  bin i trng thái ca lp Flight c trng thái Scheduled, Open, Full
Closed
Chuyn bay chuyn vào trng thái Closed 10 phút trc khi c!t cánh, không quan
tâm n trng thái trc ó ca nó là
Open hay Full.
Lch s trng thái (Superstate history)
Nhiu khi có nhu c+u nh li trng thái va trc ó ca i tng
B sung trng thái kh i +u trong siêu trng thái
S dng ch4 báo lch s trng thái nơi i tng va i qua
*
11
Biu  trng thái vi trng thái n
Scheduled
Open
Full
Closed
[ Current date is less than 60 days before flight ]
/ Set number of passenger to 0
Add/Remove passenger
Add passenger[ Last seat was sold ]
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
[ 10 min before scheduled takeoff ]
Scheduled
Closed
Adding Passengers
Opened FullOpen Full
Add/Remove passenger
[ Current date is less than 60 days before
flight ] / Set number of passenger to 0
Add passenger[ Last seat was sold ]
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
12
Biu  trng thái và lp
Mô t quan h gi-a biu  trng thái và lp
Thí d Biu  trng thái ca lp Digital watch
+


+

+
,-
,-
,-
./0$
./0$
+,1
,-23
23
13
Biu  hot ng
Biu  hot ng (Activity diagram) do Odell xu!t
cho UML
mô t lung công vic trong tin trình nghip v trong mô hình
hóa nghip v
mô t lung s kin trong mô hình hóa h thng
S dng text nh trc ây s5 khóc khi logíc ph)c tp, có nhiu
r5 nhánh
Biu  hot ng s dng  mô hình hóa
khía cnh ng ca h thng
các bc trình t6%ơ'%%&'7"á trình tính toán
14
Biu  hot ng
Hot ng (Activity)
mt bc trong tin trình
Hành ng (Actions)
các bc nh8ơ%&'9(%:%6
Action có th xy ra khi
ang vào activity
Hành ng vào xy ra khi activity b1t +u,ánh d!u b;ng “Entry”
Khi ang i ra kh8i activity
Hành ng ra xy ra khi ri b8(%:%6, ánh d!u b;ng “Exit”
Khi thc hin activity
Hành ng xy ra khi ang trong activity, ánh d!u b;ng “do”
Khi có s kin *c bit xy ra
Hành ng xy ra khi và ch4 khi có s kin c th xy ra,ánh d!u b;ng “event”
tip theo tên s kin
15
Biu  hot ng
i tng và lung i tng
(Object flow)
i tng thc th, có th b
các hot ng trong lung s
dng và%6i
Trong biu  hot ng:
hin thi tng vi trng thái
ca nó
Liên kt i tng vi các hot
ng thông qua lung i tng
Mt i tng có th +u vào
cho hot ng.
+
&

4
')
!
(
-
4
')
')
')
16
Biu  hot ng
Quá (Transition)
Ch4 ra lung iu khin t hot ng này n hot ng khác
Trng hp ơn gin
*t gii hn trên quáu khin: event hay guard condition
Khi có s kin,u kin canh iu khin  quá th xy ra?
!
(
-
!
!



(
-

!
(
-
'1)
17
Biu  hot ng
R5 nhánh vàng b (Synchonization)
ng b cách mô t hai hay nhiu nhánh flows xy ra ng thi
5 6
78
9: ;
<=


Kh>i ?ng xe
Lái xe
i xe buýt,
taxi, xe@p
[ Con xng ]
[ HAt xng ]
18
Biu  hot ng
Làn bơi (Swimlanes)
S dng mô hình hóa lung công vic trong tin trình nghip v
Ch4 ra ai có trách nhim thc hin tng hot ng
 phân hoch các trng thái hot ng vào nhóm
Phân tách nhóm trên biu b;ng các làn bơi
M3i hot ng thuc v mt làn bơi
Quá thc v5 t làn bơi này n làn bơi khác
M3i làn bơi có thc cài *t b i mt hay nhiu lp
19
Biu  hot ng
KAt thúc mua
hàng
Yêu cBu mua
hàng
TiAp tCc công
viDc
Nh6n hàng
TrE tiFn
b : Bill
[ã thanh toán]
XGàng
Báo giá
O : Order
[ang xG lý]
b : Bill
[Cha thanh toán]
ChuyHn hàng ra
GGi hàng i
O : Order
[ã iFn]
Nhân viên kho hàngNhân viên bán hàngKhách hàng
ae"
20
Tóm tt
Bài này ã xem xét các v!n  sau
Biu  chuyn trng thái
Trng thái ca i tng
Các ph+n t ha xây dng biu 
K< thu=t xây dng biu  trng thái
Biu  hot ng
>ng dng ca biu  hot ng
Các ph+n t ha xây dng biu  hot ng
Phân tích Thi󰹠t k󰹠 HTTT
hng i tng - UML
   
    

8
Chuyn i i tng sang mô nh quan
h
Trong CSDL quan h, mt lc  c hình thành bi các
bng (Table) gm các ct dòng. Trong hình i
tng, tơng ng mt bng mt lp (hoc nhiu lp).
Các thành phn tơng ng nh sau:
Mt ct ng vi mt thuc tính lp
Mt dòng ng vi mt i tng
Mt th tc lu tr (stored procedure) có th ng vi mt phơng
thc
Chuyn i sơ  lp sang lc  quan h bao gm:
Chuyn i lp bng
Chuyn i mi liên kt
Chuyn i i tng sang mô nh quan
h
Chuyn i lp bng
Mt lp chuyn i thành mt bng c th nh sau:
Lp bng
Mt thuc tính mt ct: ch các thuc tính cn nhu
cu lu tr c òi hi bi ng dng
Mt i tng (th hin) mt dòng
Chuyn i i tng sang mô nh quan
h
Chuyn i mi liên kt
Chuyn i liên kt kt hp (association)
Trng hp 1:
Chuyn i i tng sang mô nh quan
h
Trng hp 2:
Chuyn i i tng sang mô nh quan
h
Trng hp 3:
Chuyn i i tng sang mô nh quan
h
Chuyn i liên kt k tha
Trongkhông khái nim k tha chúng thng dùng liên
kt khóa chính khóa ngo i  di!n t iu này. Sau ây các trng
hp ta th quyt "nh ch#n mt:
Chuyn i i tng sang mô nh quan
h
Trng hp 1
Ch s$ dng mt bng lu tr t%t c c lo i nhân viên. Ngoài ra ta
c&ng th a thêm mt thuc tính nh'm phân lo i dòng này thuc
i tng nào
Chuyn i i tng sang mô nh quan
h
Trng hp 2
Chuyn i i tng sang mô nh quan
h
Trng hp 3
Chuyn i i tng sang mô nh quan
h
Trng hp 4:
ng dng mt s phn mm vào chuyn i
hình
Rose
Paradigm
Tóm tt
Bài này ã xem xét các v%n  sau
hình i tng hình d liu
T o l(p hình d liu
B sung CSDL, lc , gói l)nh v*c, bng, th tc lu
tr các quan h
+ng dng phn mm vào
hình hóa d liu
Chuyn i gia mô hình d liu hình i
tng
| 1/244

Preview text:

Phân tích Thi t k HTTT h ng i t ng - UML M c ích môn h c
Giúp cho sinh viên có kh n ng:
Ti p c n, nghiên c u, phân tích, hi u ư c th c tr ng nghi p v c a h th ng th c
Thi t k , xây d ng h th ng thông tin theo phương pháp hư ng i tư ng.
V n d ng ngôn ng mô hình hóa UML. 2 N i dung môn h c 1. Gi i thi u t ng quan 2. Ngôn ng UML 3. Mô hình hóa nghi p v 4. Xác nh và c t các ca s d ng 5. Mô hình hóa l nh v c ng d ng 6. Mô hình hóa tương tác 7. Thi t k h th ng 3 ánh giá h c ph n 1. Bài t p nhóm (40%)
Ph n 1: Nghiên c u sơ b h th ng Ph n 2: Phân tích h th ng Ph n 3: Thi t k h th ng 2. Thi tr c nghi m (60%) 4 Phân tích Thi t k HTTT h ng i t ng - UML Bài 1 T ng quan 2 N i dung Phân tích thi t k là gì?
T i sao ph i phân tích thi t k ?
T m quan tr ng c a phân tích thi t k trong công ngh ph n m m
Các cách ti p c n phân tích và thi t k h th ng Các khái ni m c b n c a h ng i t ng
Khái quát qui trình phát tri n h th ng thông tin Ti n trình RUP 3
Phân tích thi t k là gì?
Phân tích thi t k ph n m m:
Quá trình tìm hi u mô ph ng l i hi n t ng, quy trình nghi p v trong th gi i th c t ó xây d ng h th ng gi i quy t bài toán t ra trên máy tính. Thi t k Th gi i th c L p tr nh Ki m th Ph n m m 4
T i sao ph i phân tích thi t k ? T m quan tr ng c a thi t k B o tr B o tr Ki m th C i t Ki m th C i t Thi t k C thi t k Không thi t k 5
T m quan tr ng c a phân tích thi t k Ch t l
ng thi t k là nhân t chính quy t nh ch t l ng ph n m m
Không thi t k - ho c thi t k không t t d n n ph n m m ch t l ng th p Không qu n lý c nh ng thay i yêu c u Khó ki m th Khó b o trì Không có tính ti n hóa Không tái s d ng c 6
T m quan tr ng c a phân tích thi t k
Thi t k t t mang l i ph n m m ch t l ng t t: D dàng thay i yêu c u D ki m th D b o trì Có tính ti n hóa cao Có kh n ng tái s d ng cao 7
Các cách ti p c n phân tích và thi t k h th ng Có 2 cách: H ng ch c n ng/ c u trúc H ng i t ng 8 H ng ch c n ng c tr ng c a ph ng pháp h ng c u trúc là !" # $% ch
ng trình chính thành nhi u ch ng trình con, m&i ch ng trình con nh'm
n th c hi n m(t công vi c xác )nh. Cách th c th c hi n c a ph ng pháp h ng c u trúc là ph
ng pháp thi t k t trên xu ng (top-down). Ph ng
pháp này ti n hành phân rã bài toán thành các bài toán
nh* ", r+i ti p t c phân rã các bài toán con cho n khi nh n c các bài toán có th cài t c ngay s d ng các hàm c a ngôn ng l p trình h ng c u trúc. 9 H ng ch c n ng… 10 H ng ch c n ng…
ây là l i ti p c n truy n th ng c a ngành Công ngh ph n
m m, quan tâm ch y u t i nh ng thông tin mà h th ng s, gi gìn.
C n c vào thông tin ng -i dùng c n => thi t k d li u
ch a nh ng thông tin ó, cung c p Forms nh p thông tin và in báo cáo trình bày các thông tin.
=> T p trung vào thông tin. 11 H ng i t ng L y i t ng làm trung tâm i t ng = ch c n ng + d li u H th ng = t p h p các i t ng + quan h gi a các i t ng Cách ti p c n h ng i t
ng là m(t l i t duy theo cách
ánh x các thành ph n trong bài toán vào các i t ng
ngoài -i th c. V i cách ti p c n này, m(t h th ng c chia t
ng ng thành các thành ph n nh* g i là các i t ng, m&i i t ng bao g+m y c d li u và hành (ng liên quan n i t ng ó. 12 u i m OOA .u i m G n g/i v i th gi i th c Tái s d ng d dàng
óng gói, che d u thông tin làm cho h th ng tin c y h n
Th a k gi m chi phí, h th ng có tính m0 cao
Phù h p v i h th ng l n và ph c t p 13
Các khái ni m cơ b n c a h ng i t ng i t ng L p Gói K th a 14 i t ng i t
ng là khái ni m cho phép mô t các s v t/th c th trong th gi i th c Các i t
ng duy trì m i quan h gi a chúng Ví d : Nguy n V n A là m(t i t ng 15 i t ng.. Các tính ch t c a i t ng i t
ng = tr ng thái + hành vi + )nh danh • Tr ng thái là các c tính c a i t ng t i m(t th-i i m
• Hành vi th hi n các ch c n ng c a i t ng •
)nh danh th hi n s t+n t i duy nh t c a i t ng
Tr ng thái = t p h p các thu(c tính M&i thu(c tính mô t m(t c tính
T i m(t th-i i m c th , các thu(c tính mang các giá tr) trong mi n xác )nh Ví d
M(t chi c xe máy: màu xanh, 110 cm3, dream, 12000km,… 16 i t ng.. Hành vi = t p h p các ph ng th c Ph
ng th c: là m(t thao tác ho c c th c hi n b0i chính nó,
ho c th c hi n khi có yêu c u t môi tr -ng (thông i p t i t ng khác)
Hành vi ph thu(c vào tr ng thái
Ví d m(t xe máy có các hành vi: kh0i (ng, ch y, … 17 Giao ti p gi a các i t ng Các i t ng giao ti p v i nhau
G i các thông i p (message) cho nhau Các lo i thông i p Hàm d ng (constructor) Hàm h y (destructor) Hàm ch n l a (get) Hàm s a i (set) Các hàm ch c n ng khác Gi a các i t
ng có m i liên k t (link) v i nhau Ví d : 18 L p L p là khái ni m dùng mô t m(t t p h p các i t ng
có cùng m(t c u trúc, cùng hành vi và có cùng nh ng m i quan h v i các i t ng khác
L p = các thu(c tính + các ph ng th c L p là m(t b c tr u t ng hóa
Tìm ki m các i m gi ng, b* qua các i m khác nhau c a i t ng Tr u t ng hóa làm gi m ( ph c t p 19 L p.. Quan h gi a các l p: k t h p
M(t k t h p là m(t t p h p các m i liên k t gi a các i t ng 20 L p & i t ng i t
ng là th hi n (instance) c a l p
Giá tr) là th hi n c a thu(c tính
Liên k t là th hi n c a k t h p L p 1 i t ng Thu(c tính 1 giá tr) K t h p 1 liên k t 21 Gói (package)
Là m(t cách t ch c các thành ph n, ph n t trong h th ng thành các nhóm. Nhi u gói có th c k t h p v i nhau tr0 thành m(t h th ng con (subsystem). <> Business rules Subsystem name Interface 22 K th a Trong ph ng pháp h ng i t ng, m(t l p có th có s d ng l i các thu(c tính và ph
ng th c c a m(t ho c nhi u l p khác.
Ki u quan h này g i là quan h k th a, c xây d ng d a trên
m i quan h k th a trong bài toán th c t . 23
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng Tr u t
ng hóa (abstraction) Các th c th ph n m m c mô hình hóa d i d ng các i t ng. Các i t ng c tr u t
ng hóa 0 m c cao h n d a trên thu(c tính và ph ng th c mô t i t ng t o thành các l p. Các l p c tr u t ng hóa 0 m c cao h n n a t o thành m(t s + các l p c k th a l n nhau. Trong ph ng pháp h ng i t ng có th t+n t i nh ng l p không có i t ng t
ng ng, g i là l p tr u t ng. Nh v y, nguyên t2c c b n
xây d ng các khái ni m trong h ng i t ng là s tr u t
ng hóa theo các m c ( khác nhau. 24
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng..
Tính bao óng (encapsulation): che d u m i chi ti t hi n th c c a i t
ng không cho bên ngoa3i th 4y va3 truy xu t => tính (5c l 5p cao gi 6a các i t ng
Che d u các thu(c tính d li u: n u c n cho phép truy xu t 1 thu(c tính d li u, ta t o 2 ph ng th c get/set t ng ng giám sát vi c truy xu t
và che d u chi ti t hi n th c bên trong (thu(c tính private)
Che d u chi ti t hi n th c các ph ng th c.
Che d u các hàm và s hi n th c c a chúng. 25
Các nguyên t!c cơ b n c a ph ơng pháp h ng i t ng..
Tính modul hóa (modularity): các bài toán s, c phân chia thành nh ng v n nh* h n, n gi n và qu n lý c.
Tính phân c p (hierarchy): c u trúc chung c a m(t h th ng h ng i t
ng là d ng phân c p theo các m c ( tr u t ng t cao n th p. 26
Quy trình phát tri n ph n m m
Chu trình phát tri n ph n m m (Software Development
Life Cycle - SDLC): là m(t chu&i các ho t (ng c a nhà
phân tích (Analyst), nhà thi t k (Designer), ng -i phát
tri n (Developer) và ng -i dùng (User) phát tri n và
th c hi n m(t h th ng thông tin. Nh ng ho t (ng này
c th c hi n trong nhi u giai đo n khác nhau.
Nhà phân tích (Analyst): nghiên c u yêu c u c a khách hàng/ng -i dùng
)nh ngh7a ph m vi bài toán, nh n
d ng nhu c u c a t ch c, xác )nh xem nhân l c, ph ng pháp và công ngh
c i thi n m(t cách t t nh t công tác c a t ch c này 27
Quy trình phát tri n ph n m m
Nhà thi t k (Designer): thi t k database, screens, forms và reports –
quy t )nh các yêu c u v ph n c ng và ph n m m cho h th ng c n c phát tri n.
Chuyên gia l"nh v c (Domain Experts): là nh ng ng -i hi u th c ch t v n
cùng s ph c t p c a h th ng c n tin h c hoá. H không
nh t thi t ph i là nhà l p trình, nh ng h có th giúp nhà l p trình hi u yêu c u t ra
i v i h th ng c n phát tri n.
L p trình viên (Programmer): là nh ng ng -i d a trên các phân tích và thi t k vi t ch
ng trình (coding) cho h th ng b'ng ngôn ng l p trình ã c th ng nh t. Ng i dùng (User): là i t ng ph c v c a h th ng c n c phát tri n.
Quy trình phát tri n ph n m m Ng i bình th ng khi nhìn m t chi c xe ô tô th ng s có m t b c tranh t bên ngoài nh sau:
Chuyên gia l nh v c s giúp nhà
phân tích "trình bày l i" v n nh sau:
Quy trình phát tri n ph n m m..
Các giai o n c a Quy trình phát tri n ph n m m
Nghiên c u s b( (Preliminary Investigation hay còn g i là Feasibility Study)
Phân tích yêu c u (Analysis)
Thi t k h th ng (Design of the System)
Xây d ng ph n m m (Software Construction)
Th nghi m h th ng (System Testing)
Th c hi n, tri n khai (System Implementation)
B o trì, nâng c p (System Maintenance) 30
Quy trình phát tri n ph n m m
Nghiên c u sơ b
M(t giai o n nghiên c u s b( thích áng s, l p nên t p
h p các yêu c u (dù 0 m c ( khái quát cao) i v i m(t h th ng kh thi và c mong mu n, k c v ph ng di n k8 thu t l n xã h(i.
K t qu c a giai o n nghiên c u s b( là Báo cáo k t qu
nghiên c u tính kh thi. Khi h th ng t ng lai c ch p
nh n d a trên b n báo cáo này c/ng là lúc giai o n Phân tích b2t u. Phân tích yêu c u
Quá trình phân tích nhìn chung là h qu c a vi c
tr l-i câu h*i "H th ng c n ph i làm gì?".
Nh ng m c tiêu c th c a giai o n phân tích là:
Xác )nh h th ng c n ph i làm gì.
Nghiên c u th u áo t t c các ch c n ng c n cung c p và nh ng y u t liên quan
Xây d ng m(t mô hình nêu b t b n ch t v n t m(t h ng nhìn có th c (trong -i s ng th c). Trao )nh ngh7a v n cho chuyên gia l7nh v c nh n s ánh giá, góp ý.
K t qu c a giai o n phân tích là b n c t yêu c u (Requirements Specifications). 33 Phân tích yêu c u c t yêu c u
là thông báo chính th c cái òi h*i h th ng ph i c phát tri n
Nó không ph i là tài li u thi t k Mô t c t yêu c u Ngôn ng c t Ký pháp + h a a !" # $ a #% &' ( ) * & + ,- #a ./, , a ! # ) 0 )12 3 + ,- #a 4 a , eo'77 34 Thi t k h th ng
Sau giai o n phân tích, khi các yêu c u c th i v i h th ng ã
c xác )nh, giai o n ti p theo là thi t k cho
các yêu c u m i. Công tác thi t k xoay quanh câu h*i
chính: H th ng làm cách nào th*a mãn các yêu c u ã c nêu trong c t yêu c u? Các ho t (ng c a thi t k E- 0 & 0 .F, D* - 0 & . G @ !" G , 3 8# ư? & 8 , ) .o& 9 @ . , 3 A, #B C & 8 , ) ,7 , 9 o < 2 2= 8 . 2 +, & : 8 . 2 ư o: ; a - + 8 , ) + $ a - 35 Thi t k h th ng M(t s các công vi c th -ng c th c hi n trong giai o n thi t k :
Nh n bi t form nh p li u tùy theo các thành ph n d li u c n nh p.
Nh n bi t reports và nh ng output mà h th ng m i ph i s n sinh
Thi t k forms (v, trên gi y hay máy tính, s d ng công c thi t k )
Nh n bi t các thành ph n d li u và b ng t o database
. c tính các th t c gi i thích quá trình x lý t input n output. 36 L p trình và ki m th#
M&i thành ph n trong pha thi t k c hi n th c thành m(t mo un ch ng trình
Ki m ch ng hay ki m th m&i mo un ch ng trình theo c t có t pha thi t k T h p các mo un ch ng trình thành h th ng Ki m th h th ng ch ng trình m b o áp ng y yêu c u
Khi ng -i phát tri n th*a mãn v i s n ph9m khách hàng ki m th h th ng
Pha này k t thúc khi khách hàng ch p nh n s n ph9m 37 B o trì h th ng Pha này b2t u khi h th ng c cài t s d ng th c t , sau khi
ã c p phát s n ph9m cho khách hàng B o trì bao g+m m i thay i s n ph9m khách hàng +ng ý r'ng h ã th*a mãn v i s n ph9m. B o trì bao g+m s a ph n m m
lo i b* các l&i mà không phát hi n trong các pha tr c ó nâng c p ph n m m
Hi u n ng: B sung ch c n ng, t ng t c ( th c hi n ch ng trình Thích nghi: Các thay
i cho phù h p v i môi tr -ng ph n m m ho t (ng thay
i, thí d yêu c u m i c a chính ph 38
M t s mô hình phát tri n h th ng Mô hình thác n c Mô hình t ng tr 0ng Ti n trình RUP Mô hình thác n c
Các ho t (ng phát tri n ph n m m có th bi u di n b'ng mô hình thác n c
Ti n trình phát tri n s n ph9m ph n m m 40
Mô hình t ng tr $ng 41
Ti n trình l p và t ng d n
Ti n trình th ng nh t (Rational Unified Process - RUP)
Là Software Engineering process
Là s n ph9m ti n trình (process product) do Rational
Software phát tri n và b o trì
RUP nâng cao team productivity
Các ho t (ng RUP t o l p và qu n lý models Là h
ng d n cách s d ng hi u qu UML 42
Các nguyên t!c cơ b n c a RUP L p và t ng tr 0ng D án
c c2t thành nh ng vòng l p ho c giai o n ng2n. Cu i
m&i vòng l p thì m(t ph n thi hành c c a h th ng c s n
sinh theo cách t ng tr 0ng (thêm vào) d n d n. T p trung vào ki n trúc Toàn b( h th ng ph c t p ph i c chia thành t ng ph n (các modun)
có th d dàng tri n khai và b o trì, t o nên m(t ki n trúc. (Theo 5 góc nhìn) 43
Các nguyên t!c cơ b n c a RUP.. D n d2t các ca s d ng RUP nh n m nh s
áp ng nhu c u ng -i dùng, th hi n b0i các ca s
d ng. Các ca s d ng nh h 0ng và d n -ng cho m i giai o n phát tri n c a h th ng. Kh ng ch b0i các nguy c Các nguy c chính
i v i d án ph i phát hi n s m và lo i b* càng
s m càng t t. Yêu c u này c/ng là c n c xác )nh th t tr c sau c a các vòng l p. 44
Các pha và công o n c a ti n trình RUP Có 4 pha Kh0i u (inception)
Cho m(t cái nhìn t ng quát v h th ng s, xây d ng và v d án s, tri n khai. Phác th o (elaboration)
Bao g+m s phân tích chi ti t h n v h th ng, c v ch c n ng l n c u trúc
t7nh. +ng th-i m(t ki n trúc h th ng c/ng c xu t. Ki n trúc này có
th d ng thành nguyên m u, trên ó th hi n nhi u ý + i v i h th ng Xây d ng (construction)
T p trung vào vi c thi t k và th c thi h th ng. Chuy n giao (transition)
Nh'm chuy n h th ng ã xây d ng cho ng -i dùng cu i 45
Các l p và lu%ng công vi c Phases Core Workflows Inception Elaboration Construction Transition Requirements An iteration in the elaboration phase Analysis Design Implementation Test Preliminary iter. iter. iter. iter. iter. iter. iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 H e #a ,o I 46 Ti n trình 10 b c 1. Nghiên c u s b 1. Kh4i u 2. Nh n =nh và c 3. Mô hình hóa l nh v c t ca s dGng ng dGng 4. Xác =nh các 0i 2. Tri n khai t ?ng/l p tham gia các ca s dGng 5. Mô hình hóa t ng 6. Mô hình hóa s ng x tác 7. Làm nguyên mJu 8. Thi t k h- th0ng giao di-n ng i dùng 3. Xây d ng 9. Thi t k chi ti t 4. Cài t và chuy n giao 47 10. Cài t Phân tích Thi t k HTTT h ng i t ng - UML
Ngôn ng mô hình hóa th ng nh t UML 2 Mô hình là gì? Mô hình là b c tranh hay mô t v n
ang c g ng gi i quy t hay mô t chính gi i pháp v n
là ngôn ng c a ngư i thi t k (trong nhi u l nh v c)
là trình di n h th ng s xây d ng
là phương ti n giao ti p gi a ngư i phân tích, thi t k và ngư i dùng
là k ho ch chi ti t (blueprints)
Mô hình cho kh n ng suy di n m t s c tính c a h th ng th c Mô hình hóa tr c quan B ng các ph n t h a
Ngôn ng mô hình hóa là ngôn ng mô t h th ng hay tác nghi p 3 Thí d mô hình u a u Ôtô Con ng i Sách 4 Thí d mô hình a o !"e e $e % ! o o& a ' e &%o a !a% u"a% !e% !e (e 5 UML là gì? UML là m t ngôn ng dùng cho
Mô hình hóa tr c quan (Visualizing) c t (Specifying) Xây d ng (Constructing) Tài li u hóa (Documenting)
các nhân t c a h th ng ph n m m 6
Mô hình hóa tr c quan Giúp cho vi c suy ngh v cài t và b n cài t th c t ư c nh t quán
Giúp l p trình viên, phân tích viên: D dàng trao
i nh ng mô hình trong ph n m m v i nhau
Hi!u rõ toàn b h th ng và vai trò c a mình trong h th ng
Thông tin ư c lưu tr rõ ràng, d tra c u qu n lý 7 c t
c t giúp cho xây d ng các mô hình Chính xác Rõ ràng, không nh p nh ng y UML giúp gi i quy t các v n Phân tích Thi t k Cài t
ư c rõ ràng, thông su t trong quá trình phát tri!n ph n m m 8 Xây d ng
Các mô hình UML có th! ánh x sang M t ngôn ng l p trình Java C++/C# Visual Basic/ .NET
M t b ng trong CSDL quan h (R-DBMS)
M t lưu tr b n v ng c a"#$%&"' ("(OO-DBMS) 9 Tài li u hóa
UML giúp ghi chép, tài li u hóa l i ki n trúc c a h th ng
Mô t các yêu c u (Requirements) Các b ki!m th (Tests) Mô hình hóa các ho t
ng, l p l)ch c a project, gi m khó kh n cho công vi c qu n lý 10 Sơ l c v l ch s UML 11
T i sao chúng ta c n UML?
M t ngôn ng mô hình hóa chu*n, tr c quan b ng hình nh
Phát tri!n h th ng hi u qu , thi t k chính xác và hi u qu
D dàng giao ti p gi a các nhóm trong cùng project
Giao ti p d dàng gi a các ngư i liên quan n project
(khách hàng, nhà phát tri!n,…)
Cho “cái nhìn t ng th!” v project 12 L c (Diagrams) ! 13 Workflows and Models UML diagrams provide views into each model Requirements Use Case Model Analysis Analysis Model Design Design Depl. Model Model Implementation Impl. Model Test Test Model
Each workflow is associated with one or more models. 14
Representing System Architecture
C n bao nhiêu khung nhìn?
Mô hình phù h p v i ng c nh phát tri!n h th ng
Không ph i t t c các mô hình òi h+i y khung nhìn
ơn x lý: B+ qua khung nhìn tri!n khai
ơn ti n trình: B+ qua khung nhìn ti n trình
Chương trình r t nh+: B+ qua khung nhìn cài t B sung các khung nhìn Data view Security view 16 UML Concepts UML ư c s d,ng !:
Hi!n th) biên h th ng và các ch c n ng chính c a nó b ng use cases và actors
Mô t hi n th c use case b ng interaction diagrams
Bi!u di n các c u trúc t nh c a h th ng b ng class diagrams Mô hình hóa hành vi
i tư ng b ng state transition diagrams Bi!u th) ki n trúc cài
t v t lý b ng component & deployment diagrams
M- r ng các ch c n ng b ng stereotypes 17 Thí d ng d ng UML M t trư ng
i h c th c hi n tin h c hóa h th ng ng ký h c và d y h c:
Giáo v, (Registrar) l p chương trình gi ng d y (curriculum) cho m t h c k.
Sinh viên (Student) ch n 4 môn h c chính và 2 môn d b) Khi sinh viên
ng ký h c thì h th ng thanh toán (billing system)
in hóa ơn h c phí cho sinh viên
Sinh viên có th! s d,ng h th ng ! b sung/lo i b+ môn h c sau khi ã
ng ký (trong kho ng th i gian c )nh)
Giáo sư (Professors) s d,ng h th ng ! xem b ng phân công d y h c (course rosters) Ngư i s d,ng h th ng
ng ký ư c c p passwords ! vào máy 18 Use case Diagram Bi!u di n sơ
ch c n ng c a h th ng. T/ t p yêu c u c a h th ng, bi!u
use case s ph i ch0 ra h th ng c n th c hi n i u gì
! tho mãn các yêu c u c a ngư i dùng h th ng ó. i kèm v i bi!u use case là các k)ch b n. Request Course Roster Student Professor Maintain Schedule Billing System Maintain Curriculum Registrar 19 Sequence Diagram Bi!u di n m i quan h gi a các i tư ng và gi a các
i tư ng và tác nhân theo th t th i gian. : Student registration registration math 101 math 101 form manager section 1 1: fil in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) 20 Collaboration Diagram Bi!u di n m i quan h gi a các i tư ng và gi a các i tư ng và tác nhân nhưng nh n m nh n vai trò c a các i tư ng trong tương tác. course form : 1: set course info CourseForm 2: process : Registrar 3: add course theManager : aCourse : CurriculumManager Course 21 4: new course Class Diagram Ch0 ra các l p
i tư ng trong h th ng, các thu c tính và phương
th c c a t/ng l p và các m i quan h gi a nh ng l p ó. ScheduleAlgorithm RegistrationForm 0..* RegistrationManager 1
addStudent(Course, StudentInfo) Course 1 name 0..* numberCredits Student open() addStudent(StudentInfo) major 1 3..10 Professor 1..* 4 CourseOffering tenureStatus location 1 0..4 open() 22 addStudent(StudentInfo)
State Transition Diagram Add student [count < 10] Add Student / Initialization Set count = 0 Open do: Initialize entry: Register student course exit: Increment count Cancel Cancel [count = 10] Canceled do: Notify registered students Closed Cancel do: Finalize course 23
State Transition Diagram
Tương ng v i m1i l p s ch0 ra các tr ng thái mà i tư ng
c a l p ó có th! có và s chuy!n ti p gi a nh ng tr ng thái ó. 24 Activity Diagram Bi!u di n các ho t ng và s ng b , chuy!n ti p các ho t ng, thư ng ư c s d,ng ! mô t ca s d,ng ho c bi!u di n các phương th c ph c t p c a các l p. 25 Component Diagram Register.exe Bil ing.exe Bil ing System People.dll User Course.dll Course Student Professor Course Course Offering 26 Component Diagram
Component diagrams )nh ngh a các thành ph n c a h
th ng và m i liên h gi a các thành ph n ó.
N m b t ki n trúc v t lý trong th c thi Xây d ng như b ph n c a s c t ki n trúc M,c ích T ch c mã ngu n Xây d ng các modul thi hành Ch0 )nh cơ s- d li u v t lý
ư c phát tri!n b-i ngư i thi t k và l p trình 27 Deployment Diagram
Bi)u * tri)n khai bi)u
di
+n ki n trúc cài ,t và Registration Database
tri)n khai h- th.ng d i
d/ng các nodes và các m.i quan h- gi0a các node ó. Thông thư ng, các nodes ư1c k t n.i v i nhau Main Library Building thông qua các liên k t truy2n thông như các k t Form n.i m/ng, liên k t TCPIP, … 28 Deployment Diagram Dynamic HTML, JavaScript, Java Client
plug-ins, source code enhancements Java, C, C++, JavaScript, CGI Server Application Java, C, C++, JavaBeans, Server CORBA, DCOM Fulfillment Financial Inventory RDBMS Native languages System System System Server 29 M t s ph n m m h tr UML Rational Rose
Là ngôn ng chu*n phù h p v i các lư c trong UML
Phù h p v i s k th/a c a các h th ng hư ng i tư ng Các mô hình duy trì s ng b hóa trong su t vòng i phát tri!n ... Paradigm Altova UModel StartUML … 30 Tóm t t Các v n ã nghiên c u
Khái ni m mô hình, mô hình hóa tr c quan
Khái quát v Ngôn ng mô hình hóa th ng nh t Thí d, s d,ng các bi!u c a UML 31 Phân tích Thi t k HTTT h ng i t ng - UML 2
Gi i thi u mô hình hóa nghi p v
Mô hình hóa nghi p v (Business Modeling)
Là k thu t mô hình hóa ti n trình nghi p v
Mô hình hóa các ch c n ng c a t ch c Quan tâm
n góc nhìn ch c n ng. Không phân bi t các ti n trình nghi p v s c t ng hóa hay th c hi n th công
Bi u di n mô hình nghi p v b ng bi u nghi p v Ch
ác gi a các ti n trình nghi p v v i các vai trò (roles) th c hi n nghi p v customers hay vendors
Bi u di n vai trò bên ngoài nghi p v
Hai l nh v c c a mô hình hóa nghi p v
Biên c a t ch c và nó c n giao ti p v i ai?
Lu ng công vi c bên trong t ch c và t!i u nó nào? 3
Gi i thi u mô hình hóa nghi p v
Không t p trung vào mô hình hóa h th!ng s xây d ng
T p trung vào nghi p v trên h th!ng M c tiêu là hi u rõ môi tr "ng nghi p v c khi xây d ng h th!ng Mô hình hóa nghi p v Nghiên c u v# t ch c
Kh$o sát c%u trúc t ch c, quan sát các vai trò trong t ch c và
quan h c a chúng v i nhau nh th nào.
Kh$o sát lu ng công vi c trong t ch c
Ti n trình chính, h& làm vi c th nào Tính hi u qu$ Các h'n ch
Nghiên c u các t ch c bên ngoài và quan h v i chúng?
Làm tài li u v# các thông tin b ng mô hình nghi p v c a UML 4
Gi i thi u mô hình hóa nghi p v
Khi nào không c n mô hình hóa nghi p v ?
Khi ã hi u bi t rõ ràng c%u trúc, m c ích tác nghi p c a t ch c
Khi xây d ng ph n m#m s( d ng cho m t ph n nh) c a t ch c, không $nh h *ng n nghi p v khác
Lu ng công vi c khá rõ ràng và có tài li u y Khi không có th"i gian!!!!
Mô hình hóa nghi p v trong ti n trình l+p 5
Các khái ni m cơ b n c a BM Các khái ni m c b$n bao g m Business actors Business workers Business use case Bi u Business use case
Quan h giao ti p gi a Business use case và Business actor Th c th Business Các bi u ho't ng 6 Tác nhân nghi p v
Ai ó, cái gì ó bên ngoài t ch c nh ng t ng tác v i nó
Customers, Investors, Suppliers... Có th là "i hay nhóm ng "i
Tìm ki m tác nhân nghi p v ? Quan sát ph'm vi d án tìm ra nh ng gì n m ngoài d án
Nh ng gì (ai, cái gì) n m ngoài d án có ,-. /0 n nghi p v
Nghiên c u tài li u mô t$ d án, th1 "ng t ch c, m c tiêu nghi p v ... xác 1nh th c th bên ngoài liên quan
Thí d : Hãng hàng không liên quan n nhà s$n xu%t máy bay, nhà s$n xu%t 0!ng cho khách, khách
hàng, hi p h i hàng không... 7 Worker nghi p v
Là vai trò (role) trong t ch c
M t ng "i có th có nhi#u vai trò không ph$i là ch c v Mô t$ worker Có trách nhi m gì? K 2 n có th c hi n trách nhi m? T ng tác v i worker nào?
Tham gia vào lu ng công vi c nào?
Trách nhi m c a worker trong lu ng công vi c Tìm ki m worker nghi p v
Quan sát ph'm vi d án – b3t u t4 bi u t ch c
Khi ã có danh sách worker thì làm tài li u cho chúng
Thí d worker nghi p v trong công ty hàng không Phi công, ng "i d5n
"ng, th máy, ti p viên, nhân 8 viên an ninh... Ca nghi p v
Business use case là nhóm các lu ng công vi c liên quan có ý ngh a v i tác nhân nghi p v Cho bi t t ch c làm gì T p các ca nghi p v mô t$ y nghi p v c a t ch c 6+t tên Theo hình th c “<
ng t4>”: “Price Products”
Làm tài li u lu ng công vi c
Thí d v i UC nghi p v Price Products
Nhân viên yêu ng "i c u qu$n lý cung c%p danh sách các m+t hàng m i c n 1nh giá Nhân viên ki m tra hóa n kho
bi t ph$i tr$ cho kho bao nhiêu kho hàng bán Nhân viên c ng thêm 10% có giá bán Nhân viên trình giá "i qu$n lý phê duy t
Nhân viên làm các th7 s$n ph8m
G3n th7 giá s$n ph8m vào t4ng s$n ph8m 9
T ơng tác gi a các ph n t Bi u di n t ng tác Quan h association Safety Coordinator
Perform pre-flight Safety Check gi a tác nhân nghi p v , worker nghi p v v i UC nghi p v Issue Airline Ticket m9i tên cho bi t ai kh*i Customer x ng ti n trình Quan h generalization ch ra c%u trúc k th4a Ticket salesperson gi a các ph n t( mô hình nghi p v áp d ng cho hai hay nhi#u ph n t( Phone t icket salesperson In-person ticket salesperson 10 nhau Bi u UC nghi p v Ch ra mô hình y cái công ty làm Driver Products ai * trong công ty Driver ai * ngoài công ty Cho bi t ph'm vi c a t ch c Sell Products Clerk N u có nhi#u UC nghi p v Customer có th t'o nhi#u bi u UC Price Products nghi p v và m:i bi u ch a t p các UC nghi p v Manager
M9i tên i t4 tác nhân nghi p Refund Money v và worker nghi p v n UC nghi p v cho th%y ai kh*i ng ti n trình nghi p v . 11 Th c th nghi p v Business entity là !i t ng mà t ch c s( d ng -#u
hành tác nghi p hay s$n xu%t.
Th c th bao g m t%t c$ nh ng gì mà worker nghi p v có liên quan hàng ngày
Thí d : Sales Order, Account, Shiping Box, Contract, Ghim gi%y...
Cái gì là th c th nghi p v , hãy tr$ l"i: S$n ph8m c a công ty? Công ty có các d1ch v ? Công ty ph$i mua v t li u gì s$n xu%t?
Khách hàng cung c%p/nh n gì t4 công ty? Các worker nghi p v ; i nhau cái gì khi s$n xu%t? Tìm ki m th c th nghi p v * - < ác Các danh t4 trong UC nghi p v 12 Th c th nghi p v Bi u t ng
B sung các thu c tính cho th c th nghi p v
Thí d , th c th nghi p v Account có các thu c tính account
number, account type, balance, date opened, status...
Chú ý r ng ch a có thi t k CSDL * => Ch b sung các thu c tính d hi u nghi p v 13 ơn v t ch c
6 n v1 t ch c (Organization Unit) là t p h p các worker
nghi p v , th c th nghi p v và các ph n t( mô hình nghi p v khác Là 2 2 c s( d ng t ch c mô hình nghi p v
Nhi#u công ty t ch c theo phòng, ? , n v1... M:i chúng c mô hình hóa nh n v1 t ch c M:i
n v1 t ch c s bao g m các worker nghi p v ?. ; phòng, ban, @1 ó Bi u t ng 14 Bi u UC nghi p v
Th c t : lu ng công vi c (Workflow) không n gi$n mà có nhi#u logíc i#u ki n
worker nghi p v có th th c hi n m t vài actions khi i#u ki n A
x$y ra và th c hi n m t vài actions khác khi i#u ki n B x$y ra... hãy s( d ng bi u ho't ng (Activity Diagram) mô hình hóa các lu ng công vi c N u trong bi u
UC nghi p v có nhi#u UC nghi p v ,
tác nhân nghi p v và worker nghi p v thì có th nhóm chúng thành các
n v1 t ch c (Organizational Units) t ch c l'i mô hình d &c và d hi u sau ó xây d ng bi u UC nghi p v chi t4ng n v1 t ch c 15 Bi u ho t ng Bi u Activity c s( d ng
mô hình hóa lu ng công vi c c a UC b ng các ph n t( h&a Nó ch ra các b c trong lu ng công vi c các i m quy t 1nh
ai có trách nhi m th c hi n t4ng b c các !i t ng $nh h *ng n lu ng công vi c Thí d Khách hàng nh n
c s$n ph8m l:i, yêu c u tr$ l'i hàng
Customer vi t th yêu c u b i th "ng. Customer service representative
nghiên c u th . N u thi u tài li u yêu c u thì h& vi t th t4 ch!i b i th "ng. N u y tài li u thì h& , 0 @à ng th"i Account
payable clerk vi t séc. Khi xong hai vi c này, Customer service
representative thông báo cho khách hàng và yêu c u c a h& c ch%p nh n. 16 Thí d bi u ho t ng Write letter requesting refund Refund request Refund request Create rejection letter Refund request Create refund File request check Refund request Notify customer ! " # $% 17 Bi u ho t ng Các ph n t( chính c a bi u ho't ng
Swimlines: ch ra ai có trách nhi m th c hi n các nhi m v trong bi u Activities: các b c trong lu ng công vi c Actions: các b c trong activity
action x$y ra khi vào (entry), ra (exit), * (do) trong activity hay
ph thu c vào s ki n (event) nào ó x$y ra.
Business objects: th c th b1 lu ng công vi c tác ng
Transitions: ch ra lu ng công vi c chuy n t4 activity này n activity khác Decision points: ch
- , p quy t 1nh r nhánh trong lu ng công vi c
Synchronizations: ch ra hai hay nhi#u b
c trong lu ng công vi c x$y ra ng th"i Start state: ch - ,0 ng công vi c b3t u End state: ch - ,0 ng công vi c k t thúc 18 Làm tài li u chi ti t
Ti n trình cho bi t cái nhìn m c cao nh ng gì bên ngoài và bên trong t ch c Chi ti t lu ng công vi c s c th c hi n trong các b c sau
Ph$i làm tài li u cho lu ng công vi c trong t4ng UC nghi p v
có th là tài li u mô t$ t4ng b c, flowchart hay bi u ho't ng
ti n trình ph c t'p có nhi#u lu ng chính lu ng r nhánh -> s( d ng bi u ho't ng
K t qu$ là b c tranh t ng th v# t ch c UC cho bi t t ch c làm gì Workflow cho bi t m:i UC
c th c hi n chi ti t nh th nào
Actor cho bi t cài gì bên ngoài t ch c và ác v i nó
Business worker cho bi t các vai trò trong t ch c
Units t ch c cho bi t c%u trúc t ch c Bi u
UC nghi p v cho bi t quan h các ph n t( này 19 Tóm t t Mô hình hóa nghi p v
Th c t , không ph$i t%t c$ các d án #u th c hi n mô hình hóa nghi p v Mô hình hóa nghi p v < A ,-. /0 n cái s c t ng hóa b ng h th!ng c th
Giúp ta hình thành ng c$nh cho mô hình hóa h th!ng Mô hình hóa h th!ng
T p trung vào cài +t m t h th!ng ph n m#m c th 20 Phân tích Thi t k HTTT h ng i t ng - UML 2
Gi i thi u mô hình hóa UC
Trong pha thu th p yêu c u và phân tích h th ng th ng ph i xây d ng các bi u cho Mô hình nghi p v Mô hình ca s d ng Mô hình giao di n ng i s d ng
Mô hình ca s d ng mô t h th ng c s d ng nh th nào
Use case (UC) h th ng và tác nhân h th ng xác nh ph m vi h th ng
UC là nh ng gì bên trong h th ng
Actor là nh ng gì bên ngoài h th ng Bi u
UC mô t t ơng tác gi a các UC và tác nhân hình thành ch c n ng h th ng
S khác nhau gi a mô hình hóa nghi p v và mô hình hóa ca s d ng
Mô hình hóa nghi p v t p trung vào t ch c c a cơ quan
Mô hình hóa h th ng t p trung vào h th ng ang xây d ng 3
Các khái ni m mô hình hóa UC Các khái ni m cơ b n Ca s d ng (Use case-UC) Tác nhân (Actor) Quan h (Relationship) Bi u ca s d ng (Use case Diagram) 4
Use case, tác nhân là gì? Use case? UC
c xem là ch c n ng c a h th ng cung c p t quan i m c a ng i dùng. UC dùng mô t h th ng m i v m t ch c n ng, m i m t ch c n ng s c bi u di n nh m t ho c nhi u UC. Không ph i là thi t k , cài t mà là m t ph n c a v n c n gi i quy t Kí hi u 5
Use case, tác nhân là gì?... Tác nhân? Là i t
ng bên ngoài t ơng tác v i h th ng theo 3 hình th c: T ơng tác trao
i thông tin v i h th ng ho c s d ng ch c n ng. Cung c p u vào ho c nh n thông tin u ra t h th ng. Không i u khi n ho t ng c a h th ng.
! t tên: theo vai trò, không theo tên c th vì nó là l p Kí hi u: Customer Xây d ng UC làm gì?
Hình thành và mô t yêu c u ch c n ng h th ng
Là k t qu th"a thu n gi a khách hàng và ng i phát tri n h th ng ph n m m
Cho phép mô t rõ ràng và nh t quán cái h th ng s làm Mô hình có kh n ng
c s d ng xuyên su t quá trình phát tri n Cung c p cơ s# ki m tra, th nghi m h th ng Cho kh n ng d thay i hay m# r ng yêu c u h th ng Phân tích Thi t k , Ki m tra cài t o ! Thu th p, Ki m tra l c và ánh xem UC Cài t UC giá UC Cài t U th a mãn? 7 Xây d ng UC làm gì? Ai quan tâm n UC? Di&n 't Hi u Ng "i s# Phân tích viên d$ng Use case Ki m tra Cài t Thi t k Th# nghi%m L p trình viên Ki n trúc s 8
Tìm ki m tác nhân nh th nào? Hãy tr l i các câu h"i sau tìm ra tác nhân h th ng
Ai s s d ng ch c n ng chính c a h th ng?
Ai giúp h th ng làm vi c hàng ngày? Ai qu n tr , b o d $ng h th ng làm vi c liên t c?
H th ng qu n lý thi t b ph n c ng nào?
H th ng ang xây d ng t ơng tác v i h th ng khác nào? Ai hay cái gì quan tâm n k t qu h th ng cho l i? 9
Tìm ki m UC nh th nào?
V i m i tác nhân ã tìm ra, hãy tr l i các câu h"i sau tìm ra các Use case h th ng
Tác nhân yêu c u h th ng th c hi n ch c n ng nào?
Tác nhân c n %c, t o l p, bãi b", l u tr , s a i các thông tin nào trong h th ng?
Tác nhân c n thông báo cho h th ng s ki n x y ra trong nó?
H th ng c n thông báo cái gì ó cho tác nhân?
H th ng c n vào/ra nào? Vào/ra i n âu hay t âu? ! t tên UC h th ng
Theo khái ni m nghi p v c a t ch c
Không s d ng t k& thu t, chuyên môn S d ng các ng t , c m t ng'n g%n
Tùy theo t m c$ d án mà m i h th ng có t 20-70 UC 10 ã tìm y UC cho h th ng? Các câu h"i sau giúp xác nh ã tìm y UC?
M i yêu c u ch c n ng # trong ít nh t m t UC?
N u yêu c u ch c n ng không # trong UC nào thì nó s không c cài t sau này.
!ã kh o sát m%i tác nhân t ơng tác v i h th ng?
Tác nhân cung c p cho h th ng thông tin nào?
Tác nhân nh n thông tin nào t h th ng?
!ã nh n bi t m%i h th ng bên ngoài t ơng tác v i h th ng ang xây d ng?
Thông tin nào h th ng bên ngoài nh n và g i cho h th ng ang xây d ng? 11 Các quan h Quan h k t h p (Association) Quan h g p (Includes) Quan h m# r ng (Extends)
Quan h t ng quát hóa (Generalization) 12 Các quan h Quan h k t h p (Association)
Là lo i quan h gi a tác nhân và UC M(i tên cho bi t ai là ng i kh#i x #ng giao ti p Customer Purchase Ticket Purchase Ticket Customer Credit System 13 Các quan h Quan h g p (Includes) Tr
c phiên b n UML 1.3 quan h <> có tên là <>
Cho phép m t UC s d ng ch c n ng c a UC khác Ch c n ng c a UC include s c g%i trong UC cơ b n. 14 Ví d , UC rút ti n UC xác th)c KH 1. ! a th, vào máy UC rút ti(n 2. Ki m tra th, 1. G i UC xác th)c KH 3. KH nh p pin 2. Hi n th* menu 3. KH ch n ch+c n ng rút ti(n 4. H% th-ng ki m tra pin E1: Th, sai. E2: sai pin Khi nào dùng quan h include
Tách ra hành vi(ch c n ng) chung c a 2 ho c nhi u UC.
Tránh mô t hành vi ó nhi u l n trong các UC.
! m b o nh ng hành vi chung ó c th ng nh t.
Tách ra hành vi c a UC cơ s# nên c óng gói riêng.
Tách ra hành vi không ph i là chính c a UC ó ( hành vi ít quan tr%ng)
Gi m thi u s ph c t p c a lu ng s ki n Các quan h Quan h m# r ng (Extends)
Cho phép m# r ng ch c n ng c a m t UC
Chèn hành vi c a UC extend vào UC cơ s#.
Ch) chèn khi i u ki n extend úng
Chèn vào l p cơ s# t i i m phát sinh 17 Các quan h
Khi nào dùng quan h m# r ng (Extends) Tách ra hành vi ngo i l , c bi t ho c không b't bu c Ch) c th c thi trong i u ki n c th Tách ra làm ơn gi n lu ng chính Thêm m t hành vi m# r ng i v i UC cơ s#. Phát tri n hành vi ó c l p 18 Các quan h Quan h t ng quát hóa (Generalization) Abstract
Ch) ra m t vài tác nhân hay UC có Actor m t s cái chung, gi ng nhau Customer
Không nh t thi t hình thành quan h này cho các tác nhân
Khi m t lo i tác nhân kích ho t
m t hay vài UC mà lo i tác tác Corporate
nhân khác không kích ho t -> nên Individual Customer Customer
hình thành quan h khái quát hóa
Khi c hai lo i tác nhân cùng s
d ng các UC -> không c n mô Concrete Actors
hình hóa quan h khái quát hóa Private Govenment Agency Company 19 T o các gói
Có th nhóm các thành ph n thành m t nhóm chung N u s l
ng UC quá l n có th chia chúng vào các nhóm D hi u mô hình t ng th hơn D b o trì mô hình UC
D giao vi c cho các thành viên Xem xét kh n ng g p nhóm
T ơng tác v i cùng m t tác nhân
Nhóm UC h p thành m t module t ơng i hoàn thi n Bi u Use Case Mô hình UC c mô t b#i m t hay nhi u bi u UC S l ng bi u UC cho m t d án là tùy ý
Không quá nhi u làm r i lo n Ph i m b o y bi u di n y thông tin c a h th ng
Nó là công c m nh giúp thu th p yêu c u ch c n ng h th ng
Nó ch) ra quan h gi a UC và tác nhân và gi a UC v i nhau S d ng bi u
làm tài li u UC, tác nhân và các quan h gi a chúng L i ích chính c a bi u UC là làm giao ti p
Khi quan sát các UC, customer bi t h th ng có các ch c n ng nào
Khi quan sát các tác nhân, customer bi t ai giao ti p v i h th ng
Khi quan sát c UC và tác nhân, customer bi t ph m vi d án 21 Thí d bi u Use Case .// 0 1 o o 2 3 4 o 4 o o 7 2 3 / 5 o6 0 1 o1 : o / 47 1 1 8 0 1 o o 0 1 4 o o / 6 / 8 1o 0 1 6 o1 o 4 o / 4 9 o3 1 6o 5 .// 3 1 6o 5 1 8 1o 1 6o 5 ;< 7 1 o 7 22 Bi u Use Case
Các chú ý khi xây d ng bi u UC
Không nên mô hình hóa quan h k t h p gi a tác nhân v i tác nhân ->
vì giao ti p gi a các tác nhân là # bên ngoài h th ng Hãy s d ng bi u lu ng công vi c kh o sát quan h gi a các tác nhân
Không hình thành quan h Association gi a các UC Bi u
ch) ra có các UC nào nh ng không ch) ra tr t t th c hi n chúng
M i UC ph i có tác nhân kích ho t (tr UC trong quan h extends và quan h includes)
Nên v m(i tên th hi n association i t tác nhân n UC Có th xem CSDL là l p # d i bi u UC
Có th nh p tin vào CSDL # UC này và xâm nh p d li u trong CSDL # UC khác
Không v association gi a các UC ch) ra lu ng thông tin 23 Lu ng s ki n trong UC
Tài li u lu ng s ki n (flow of events) mô t hành vi c a UC mô t lu ng logíc i qua UC mô t ng
i s d ng làm gì, h th ng làm gì
Trong m t UC có nhi u lu ng s ki n: lu ng chính, lu ng ph K ch b n (Scenario)
M t lu ng s ki n trong m t hi n th c c a UC Là trình t hành ng c th mô t hành vi
K ch b n i xuyên su t UC theo nhánh chính, nhánh ph , nhánh c bi t 24 Tài li u lu ng s ki n Tài li u lu ng s ki n bao g m Mô t v'n t't UC Mô t ng'n g%n UC làm gì? Nh ng ai s d ng UC? Nó cho l i k t qu gì? Ti n i u ki n (pre-condition)
!i u ki n c n th c hi n tr c khi UC kh#i ng
Không ph i UC nào c(ng có ti n i u ki n
Lu ng s ki n chính và lu ng s ki n r nhánh H u i u ki n (post-condition) 25 Tài li u lu ng s ki n Tài li u lu ng s ki n bao g m Mô t v'n t't UC
Ti n i u ki n (pre-condition): khi nào UC c kích ho t?
Lu ng s ki n chính và lu ng s ki n r nhánh chi ti t v UC
c mô t trong hai lu ng s ki n này mô t cái gì s x y ra th c hi n ch c n ng c a UC N i dung tài li u UC kh#i ng nh th nào? Các ng i xuyên qua các UC Lu ng chính thông qua UC Lu ng r nhánh thông qua UC Các lu ng l i UC k t thúc th nào. H u i u ki n (post-condition) Là i u ki n
c th c hi n ngay sau khi k t thúc UC 26
Thí d tài li u lu ng s ki n Ca s d ng: C p nh t t i n môn h%c
Tác nhân: Nhân viên phòng ào t o
M c ích: C p nh t các môn h%c trong t i n môn h%c Mô t : Sau khi
ng nh p vào h th ng, nhân viên phòng ào t o c p nh t
thông tin môn h%c vào bi u m*u ho c s a môn h%c có s+n và ghi l i. Lu ng s ki n chính: Hành ng tác nhân Ph n ng h th ng D li u liên quan 1. Ch n ch+c n ng c p 2. Hi n th* bi u m>u T= i n môn h c nh t t= i n môn h c nh p thông tin v( các môn h c m i và hi n th* danh sách môn h c ch n môn h c tiên quy t cho môn h c. 3. Nh p thông tin môn 4. C p nh t môn h c vào Môn h c h c, ch n môn h c tiên t= i n môn h c quy t, ?ng ý nh p m i.
Lu?ng s) ki%n ph$: s#a thông tin Ngo'i l%: B
c 4: n u thông tin nh p ko chính xác thì yêu c@u nh p l'i ho c 27 d=ng ca s# d$ng.
Thí d tài li u lu ng s ki n Ca s d ng: S a i thông tin môn h%c
Tác nhân: Nhân viên phòng ào t o
M c ích: S a các thông tin v m t môn h%c ang t n t i trong h th ng Mô t khái quát: Tìm n môn h%c c n s a
i, xóa các thông tin c( và nh p
các thông tin m i v môn h%c này. Cu i cùng, yêu c u h th ng ghi nh n các thông tin m i. 28
Thí d tài li u lu ng s ki n 29 Tóm t t Bài này ã xem xét các v n sau Bi u UC là gì? Quan h gi a bi u UC và bi u nghi p v
Các khái ni m c a mô hình UC
Cách tìm ki m UC, tác nhân, quan h trong mô hình UC Các ph n t h%a xây d ng bi u UC Cách mô t lu ng s ki n v n b n bi u ho t ng 30 Phân tích Thi t k HTTT h ng i t ng - UML 2 Mô hình hóa i t ng
Mô hình hóa t ng tác gi a các i t ng trong h th ng Hai lo i bi u c s d ng mô hình hóa i t ng Bi u trình t (Sequence diagram) T p trung vào mô t i u khi n Bi u
c ng tác (Colaboration diagram) T p trung vào mô t d li u Bi u trình t và bi u c ng tác
u ch ra cùng lo i thông tin.
G i tên chung cho hai lo i bi u này là bi u t ng tác (Interaction diagram) Bi u t ng tác ch ra các i t ng tham gia vào lu ng
xuyên qua UC và các thông i p g i gi a chúng? Bi u
t ng tác giúp xác nh h th ng làm vi c nh th nào?
Lu ng s ki n t p trung vào cái h th ng làm. 3 i t ng? Ta nhìn th y i t ng xung quanh ta Bàn, gh , quy n sách...
i t ng là cái gì ó gói thông tin và hành vi
Nó là khái ni m bi u di n cái c th trong th gi i th c Thí d Máy bay VN358 là i t ng Có các thông tin:
Ngày bay 10 April, gi bay 8h30, s hi u máy bay VN358, bay t Hà N i Có các hành vi
Nó bi t ón khách vào máy bay, bi t
a khách ra kh i máy bay, xác nh khi nào máy bay y khách Thông tin
c l u tr b i thu c tính (Attribute) Hành vi c a i t ng
c g i là thao tác (Operation) 4 L p là gì?
L p (class) là cái gì ó cung c p k ho ch (blueprint) cho i t ng L p cung c p thông tin nào
i t ng l u tr và hành vi nào i t ng có Cung c p m u (template) cho i t ng nh ngh!a l p c a UML Là mô t t p
i t ng chia s" cùng thu c tính, thao tác, ph ng pháp, quan h và ng ngh!a. Thí d
i t ng: Sinh viên A, Sinh viên B... L p: Sinh viên 5 Xây d ng bi u t ơng tác xây d ng bi u t ng tác ta b#t u t lu ng s ki n Xây d ng t ng bi u cho
lu ng chính, lu ng thay th , lu ng l$i
N u hai lu ng thay th và lu ng l$i t ng t nhau thì g p chúng l i
S d ng m u (Pattern) xây d ng bi u t ng tác gi m th i gian
Xây d ng các m u cho các logíc chung: Khai thác CSDL, qu n lý
l$i, giao ti p gi a các ti n trình... Các b c xây d ng bi u t ng tác Tìm ki m i t ng Tìm ki m tác nhân B% sung thông i p vào bi u 6 Tìm ki m i t ng
Kh o sát các danh t trong lu ng s ki n Tìm
i t ng trong tài li u k ch b n
K ch b n (Scenario) là m t hi n th c c a lu ng s ki n
M$i lu ng s ki n có nhi u k ch b n M$i UC có th có nhi u bi u t ng tác M$i bi u
c xây d ng cho m t k ch b n thông qua lu ng s ki n Tìm i t ng không c mô t trong lu ng s ki n Các
i t ng cho phép tác nhân nh p và quan sát thông tin Các
i t ng tham gia i u khi n trình t lu ng xuyên qua UC Tìm
i t ng t ng &ng v i khái ni m tr u t ng khi phân tích
Thí d Tên sách, Tên t p chí là tr u t ng không t ng &ng v i i t ng nào trong th gi i th c 7 Tìm ki m i t ng Có th hình thành các bi u t ng tác ' m&c cao:
ch ra h th ng giao ti p nh th nào ' m&c r t th p:
ch ra l p nào c n tham gia vào k ch b n Nên xem xét các nhóm
i t ng sau khi tìm ki m chúng i t ng th c th (Entity)
L u tr thông tin, có th ánh x sang b ng, tr ng c a CSDL
Nhi u danh t trong lu ng s ki n thu c lo i này
Thí d : Chuy n bay VN358, Hành khách John, Vé s #1347A... i t ng biên (Boundary) Là
i t ng t i biên h th ng và th gi i bên ngoài
Là các Forms, c a s% c a &ng d ng và giao di n v i các &ng d ng khác i t ng i u khi n (Control) Là các
i t ng b% sung, không th c hi n ch&c n(ng nghi p v nào Nó i u ph i các
i t ng khác và i u khi n toàn b lu ng logíc 8 Tìm ki m tác nhân Sau khi xác nh
i t ng là tìm ki m tác nhân cho bi u t ng tác Tác nhân trong bi u
t ng tác là s kích ho t t ngoài kh i
ng lu ng công vi c c a lu ng s ki n
Tìm ki m tác nhân trong lu ng s ki n
Ai hay cái gì kh i x ng ti n trình?
Có th có nhi u tác nhân cho m t bi u t ng tác
N u tác nhân nh n hay g i thông i p cho h th ng theo k ch
b n nào ó thì chúng ph i có m)t trong bi u t ng tác c a k ch b n ó 9 S d ng bi u t ơng tác T bi u
t ng tác ng i thi t k và ng i phát tri n xác nh các l p s* xây d ng quan h gi a các l p
thao tác và các trách nhi m c a l p Bi u
trình t theo th& t th i gian
Giúp ng i s d ng quan sát lu ng logíc thông qua k ch b n Bi u
c ng tác t p trung vào t% ch&c c u trúc c a các i t ng Giúp d dàng quan sát i t ng nào giao ti p v i các i t ng nào Khi thay %i
i t ng, d* dàng nh n th y tác ng trên các i t ng khác? 10 Xây d ng bi u t ơng tác Bi u
t ng tác bao g m các thành ph n sau i t ng (Objects) Bi u t ng tác s d ng tên i t ng, tên l p hay c hai Thông i p (Messages) Thông qua thông i p, m t
i t ng hay l p có th yêu c u l p hay
i t ng khác th c hi n vài ch&c n(ng c th Thí d : Form yêu c u i t ng Report t in Liên k t (Links)
Là hi n th c c a quan h k t h p gi a các i t ng
Chú thích (Notes) và ràng bu c 11 Xây d ng bi u t ơng tác Khi t o l p bi u
t ng tác có ngh!a là gán trách nhi m cho i t ng Gán trách nhi m cho i t ng nh n thông i p Ph i gán trách nhi m cho i t ng m t cách phù h p
Thí d không gán trách nhi m nghi p v cho i t ng Form, Screen D a trên các lo i l p
cân nh#c hình thành trách nhi m cho chúng
L p Entity: l u tr thông tin và th c hi n các ch&c n(ng nghi p v L p Boundary
form và windows: hi n th và nh n thông tin. Có th x lý vài nghi p v r t nh
interfaces: trao %i thông tin v i h th ng khác. X lý vài nghi p v r t nh
L p Control: theo dõi trình t th c hi n 12 Bi u trình t Bi u trình t là bi u theo th& t th i gian c bi u t nh xu ng áy c bi u b+ng quan sát các i t ng và thông i p M$i i t ng có vòng i (Lifeline) B#t u khi hình thành i t ng, k t thúc khi phá h y i t ng Thông i p c v* gi a hai i t ng – th hi n i t ng g i hàm i t ng khác Thông i p ph n thân 13 Bi u trình t Thí d : Thêm h s sinh viên : NV N Pho h n o g n g : fr f m r Ho H S o oS o V : ctrT r h T e h m e S m V : Ho H S o oS o V QL Q S L inh n V h ie i n e 1: Chuc nang them sinh vien
2: Hien thi form nhap thong tin SV 3: Nhap thong tin sinh vien 4: Lap ho so SV 5: Kiem tra tinh hop le
6: Thong bao thong tin sai hoac thieu thong tin 7: Thong bao loi 8: Luu vao co so du lieu 9: Luu thanh cong 10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong
12: Chon chuc nang tiep tuc them SV 13: Quay lai buoc 2 14 Bi u trình t Thí d : S a h s sinh viên : NV N Pho h n o g n g QL Q S L inh n V h ie i n e : fr f m r Ho H S o oS o V : fr f m r Ti T m i K m ie i m e : ctrS r ua u S a V : Ho H S o oS o V
1: Chon chuc nang sua sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va sua thong tin 4: Thong tin sua 5: Kiem tra thong tin
6: Thong tin bi sai hoac thieu sot 7: Thong bao loi 8: Luu thong tin sua 9: Luu thanh cong 10: Thong bao luu thanh cong
11: Hien thi thong bao luu thanh cong 12: Chon chuc nang tim kiem 13: Goi form tim kiem
14: Yeu cau nhap thong tin tim kiem 15: Nhap thong tin can tim 16: Gui thong tin tim kiem 17: Tim kiem 18: Ket qua tim kiem 19: Hien thi ket qua tim kiem 20: Quay tro lai buoc 3 15 Bi u trình t Thí d : Xóa h s sinh viên : NV N Pho h n o g n g : ctrX r o X a o S a V QL Q S L inh n V h ie i n e : fr f m r Ho H S o oS o V : fr f m r Ti T mK m ie i m e : Ho H S o oS o V
1: Chon chuc nang xoa sinh vien
2: Hien thi danh sach sinh vien
3: Chon sinh vien va xoa thong tin 4: Hien thi canh bao 5: Dong y xoa 6: Thong tin xoa 7: Xoa thong tin 8: Xoa thanh cong 9: Thong bao luu thanh cong
10: Hien thi thong bao luu thanh cong 11: Chon chuc nang tim kiem 12: Goi form tim kiem
13: Yeu cau nhap thong tin tim kiem 14: Nhap thong tin can tim 15: Gui thong tin tim kiem 16: Tim kiem 17: Ket qua tim kiem 18: Hien thi ket qua tim kiem 19: Quay tro lai buoc 3 16 Xây d ng bi u trình t Sau khi v* i t ng trong bi u , c n v* liên k t các i t ng b% sung thông i p cho chúng )c t thông i p )t tên thông i p
Ánh x thông i p vào thao tác )t )c tính ng b cho thông i p )t t n s cho thông i p 17 Xây d ng bi u trình t )c t thông i p )t tên thông i p
Tên ch ra m c tiêu c a thông i p
Ánh x thông i p vào thao tác
Tr c khi phát sinh mã trình ph i ánh x m i thông i p thành thao tác )t t n s cho thông i p ánh d u thông i p s* c g i u )n, thí d m$i 30s Hai lo i Periodic: cho bi t thông i p c g i u )n theo chu k,
Aperiodic: cho bi t thông i p không c g i u )n mà c g i m t l n hay theo th i i m không u )c t
)c tính t ng tranh cho thông i p 18 Xây d ng bi u trình t )c t thông i p )t tên thông i p
Ánh x thông i p vào thao tác )t t n s cho thông i p
)t )c tính t ng tranh cho thông i p
n (Simple): Giá tr m)c nh c a thông i p, cho bi t thông i p ch y trong n ti n trình
ng b (Synchronous): Client g i thông i p, ch n khi Supplier x lý xong thông i p
C n tr (Balking / Rendez-vous): Client g i thông i p, n u Supplier không s-n
sàng x lý ngay thông i p h y b
H t h n (Timeout): Client g i thông i p ch n Supplier x lý trong kho ng th i gian nh t nh
D b (Asynchronous): Client g i thông i p không ch Supplier x lý xong
mà ti p t c làm công vi c khác
L i g i th t c (Procedure Call): Client g i thông i p n Supplier, ch n khi
m i trình t l)p c a các thông i p c x lý xong (m.i tên )c)
Tr v (Return): Mô t tr v t l i g i th t c (m.i tên nét &t) 19 Xây d ng bi u trình t 20 Xây d ng bi u trình t 21 Xây d ng bi u trình t 22 Xây d ng bi u trình t 23 Xây d ng bi u trình t 24 Xây d ng bi u trình t 25 Xây d ng bi u trình t 26 Xây d ng bi u trình t 27 Xây d ng bi u trình t 28 Xây d ng bi u trình t 29 Xây d ng bi u trình t 30 Xây d ng bi u trình t 31 Xây d ng bi u trình t 32 Scripts trong bi u trình t ! " # ! $ % " ! -. & ' ( ) * ) + , ) - / 33 Bi u c ng tác T ng t bi u trình t , bi u c ng tác (Collaboration
diagram) ch ra lu ng th c hi n trong k ch b n c a UC Bi u c ng tác t p trung vào quan h gi a các i t ng c u trúc t% ch&c c a các i t ng lu ng d li u trong k ch b n T ng
i khó quan sát trình t các thông i p trong bi u c ng tác
Do v y, các d án th ng hay xây d ng c hai lo i bi u này Trong Rose: Có th t ng chuy n %i qua l i gi a bi u trình t và bi u c ng tác (nh n phím F5) 34 Thí d bi u c ng tác
Thí d : Lu ng s ki n Khách hàng )t ch$ cho chuy n bay % " & ' $ # ! + , ) * ) ( ) ! " 35 Thí d bi u c ng tác C bi u trình t và bi u c ng tác
u mô t lu ng i u khi n trong k ch b n Khác bi t gi a bi u trình t và bi u c ng tác bi u c ng tác mô t lu ng d li u bi u
trình t không mô t lu ng d li u Lu ng d li u c s d ng
mô t thông tin tr l i khi m t i t ng g i thông i p n i t ng kia
Không nên b% sung m i lu ng d li u vào bi u vì nó s* làm r i S d ng nó khi th y c n thi t ) / -#0 -#0 36 K thu t xây d ng bi u t ơng tác Xây d ng bi u t ng tác theo ti m c n 2 b c [Boggs] -#0 ) -#0
B c th& nh t t p trung vào thông
tin m&c cao mà khách hàng quan 1 - tâm 1 2
Ch a ánh x thông i p vào thao tác $1 " Ch a ánh x i t ng vào l p %1
Dành cho phân tích viên, khách hàng &1 / và nh ng ai quan tâm n lu ng (1 " nghi p v -> th y c lu ng logíc trong h th ng
B c th& 2 b% sung chi ti t h n vào bi u t o ra t b c 1 37 K thu t xây d ng bi u t ơng tác Xây d ng bi u t ng tác theo ti m c n 2 b c [Boggs]
B c th& nh t t p trung vào -#0 -#0 ) -#0 thông tin m&c cao 1 -
B c th& 2 b% sung chi ti t h n vào bi u t o ra t b c 1 1 2
Không hi u qu cho khách hàng $1 " R t h u ích cho ng i phát %1 "
tri n, ki m th và các thành viên &1 khác... (1 / B% sung vào bi u i t ng *1 " i u khi n ( i t ng qu n lý):
Có trách nhi m i u khi n trình t i qua k ch b n. M i bi u trình t trong UC có th cùng chia s" m t i t ng i u khi n. 38 K thu t xây d ng bi u t ơng tác Chi ti t h n trong b c 2
Control object không th c ti n trình hi n nghi p v , nó ch g i thông i p n các i t ng khác
Control object cho kh n(ng tách logíc nghi p v kh i logíc trình t
N u logíc trình t thay %i thì ch nh h ng n i t ng i u khi n Có th b% sung các
i t ng qu n lý an toàn, l$i hay k t n i CSDL
Thí d l u tr hay truy v n thông tin CSDL cho i t ng John: có hai kh n(ng
i t ng John bi t v CSDL và t l u tr
B t l i: khi thay %i CSDL thì s* ph i thay %i r t nhi u i t ng trong h th ng
L i th : d mô hình hóa, d cài )t
i t ng John tách kh i logíc CSDL -> c n i t ng khác th c hi n l u tr John vào CSDL C n t o ra i t ng m i
qu n lý logíc CSDL g i là Transaction Manager
i t ng Transaction Manager bi t l u tr và truy v n thông tin trong CSDL cho i t ng John L i ích: d s d ng l i i t ng John
B t l i: th i gian mô hình hóa 39 K thu t xây d ng bi u t ơng tác Thí d bi u trình t sau b c hai -#0 -#0 3 1 - 1 2 $1 " %1 " &1 (1 / *1 " 3 +1 ' ,1 " 40 Thí d xây d ng bi u t ơng tác ! ! 4 / ! 1 / / 1 / / $1 ' / / %1 54 / 6 &1 ' (1 / / *1 / / e ! a # 41 Tóm t t Bài này ã xem xét các v n sau Các lo i bi u t ng tác Bi u trình t Bi u c ng tác Tìm ki m
i t ng, thông i p c a lu ng s ki n trong UC
)c t các ph n t mô hình xây d ng bi u t ng tác K/ thu t xây d ng bi u trình t 42 Phân tích Thi t k HTTT h ng i t ng - UML 2 L p là gì?
i t ng là cái gì ó t n t i trong th gi i th c
L p là mô t thu c tính, hành vi, ng ngh a c a m t nhóm i t ng L p xác nh thông tin nào c l u tr trong i t ng và hành vi nào i t ng có Thí d v l p: L p Employee
i t ng c a l p có các attribute: Name, Address, Salary
Các operation: Thuê m n, u i vi c và b t nhân viên? Ký pháp h a c a l p trong bi u Tên l p Thu c tính Thao tác - Private + Public 3
Tìm ki m l p nh th nào? Vi c tìm ki m y l p là khó kh n Khuy n cáo
Tìm l p t các danh t trong lu ng s ki n
Chú ý r ng danh t có th là tác nhân, l p (, thu c tính và
bi u th c không ph i lo i trên) Tìm l p t bi u t ơng tác Nh ng cái chung c a i t ng t o thành l p Tìm l p các nơi khác
Các báo cáo tìm ra trong pha phân tích yêu c u hình thành l p giao di n Các thi t b ph n c ng c bi u di n b i l p khác nhau 4
Tìm ki m l p nh th nào?
Cùng v i chuyên gia l nh v c v n tr l i các câu h!i sau ây tìm ra l p
Có thông tin nào c n l u tr hay phân tích? N u có, nó là l p
Có h th ng ngoài không? N u có thì nó c xem nh nh ng l p
ch a trong h th ng c a ta hay h th ng c a ta t ơng tác v i chúng
Có m"u, th vi n l p, thành ph n...? N u có, thông th ng chúng ch a các ng viên l p
H th ng c n qu n lý các thi t b ngo i vi nào? M i thi t b k# thu$t n i v i h th ng u là ng viên l p.
Tác nhân óng vai trò tác nghi p nào? Các nhi m v này có th là
l p; thí d ng i s% d ng, thao tác viên h th ng, khách hàng... 5 L p bi u l p Bi u l p cho bi t hình nh t nh c a b ph$n h th ng Bi u l p bao g m các l p và quan h gi a chúng
Thông th ng m&i h th ng có vài bi u l p Xây d ng vài bi u l p mô t y h th ng Bi u l p giúp ng i phát tri n quan sát, l$p k ho ch
c u trúc h th ng tr c khi vi t mã trình Rose Bi u l p c hình thành trong Logical View 6 Bi u l p th c th 7 Các nhóm l p
Ba nhóm l p cơ s s% d ng trong pha phân tích là
Boundary: l p biên (giao di n)
Dành cho l p n m trên biên h th ng v i th gi i còn l i
Chúng có th là form, report, giao di n v i ph n c ng nh máy in, scanner... Kh o sát bi u UC tìm ki m l p biên 8 Các nhóm l p
Ba nhóm l p cơ s s% d ng trong pha phân tích là Boundary Entity: l p th c th
L p th c th là l p l u tr thông tin s' ghi vào b nh ngoài
Tìm chúng trong lu ng s ki n và bi u t ơng tác
Thông th ng ph i t o ra b ng CSDL cho l p lo i này
M&i thu c tính c a l p th c th s' là tr ng trong b ng CSDL Control: l p i u khi n Có trách nhi m i u ph i ho t ng c a các l p khác
Thông th ng m&i UC có m t l p i u khi n
Nó không th c hi n ch c n ng nghi p v nào
Các l p i u khi n khác: i u khi n s ki n liên quan n an ninh và liên quan n giao d ch CSDL 9 c t l p trong bi u (c t l p bao g m Tên l p
M&i l p trong mô hình có tên duy nh t Thông th ng s% d ng danh t ơn, không nên có d u cách Thí d : Flight, Airplane Ph m vi (Visibility)
Xác nh kh n ng nhìn th y l p t ngoài gói Các lo i
Public: m i l p trong h th ng có th nhìn th y
Private hay Protected: có th nhìn th y t bên trong l p hay t l p friend
Package hay Implementation: ch) các l p trong cùng gói m i nhìn th y Tính nhi u (Multiplicity) 10 c t l p trong bi u (c t l p bao g m ...
Tính nhi u c a l p (Multiplicity) Là s hi n th c mong i c a l p Multiplicity Ý ngh a n (M c nh) Nhi u 0..0 Không 0..1 Không ho c 1 0..n Không ho c nhi u 1..1 Chính xác 1 1..n M t ho c nhi u 11 Gói các l p Gói (Packages) nhóm các l p có nh ng cái chung
Có nhi u quan i m hình thành gói Gói l p theo prototype
Thí d có gói Boundaries, gói Control và gói Entities Gói l p theo ch c n ng
Thí d gói Security, gói Reporting, gói Error Handling...
S% d ng t h p hai lo i ti p c$n trên hình thành gói
Có th t ch c gói bên trong gói khác
Quan h gi a các gói hình thành trên cơ
s quan h gi a các l p trong các gói. 12 Thu c tính l p
Thu c tính là nhóm thông tin liên k t v i l p
Có th g*n m t hay nhi u thu c tính vào l p Tìm ki m thu c tính? Tìm trong tài li u UC
Tìm các danh t trong lu ng s ki n
Thí d : “Ng i s% d ng nh$p tên, a ch) ngày sinh c a Nhân viên”
-> Tên, a ch), ngày sinh là danh t và là thu c tính c a l p Nhân viên
Tìm trong tài li u yêu c u h th ng
Thí d tài li u yêu c u h th ng mô t các thông tin c n thu th$p
Tìm thu c tính trong c u trúc CSDL
N u ã xác nh c u trúc CSDL thì các tr ng trong b ng là thu c tính c a l p 13 Thu c tính l p
Trong tr ng h p khó kh n quy t nh danh t tìm ra là thu c tính hay là l p
Thí d : Tên công ty là thu c tính hay l p?
Lo i ng d ng c th quy t nh vi c này
M(t khác c n quan sát nhóm thông tin có hành vi hay không
Khi k t thúc tìm ki m thu c tính
m b o r ng các thu c tính tìm ra ph i có ích cho yêu c u h th ng
Gán th$n tr ng thu c tính cho các l p
Không nên hình thành l p có quá nhi u hay quá ít thu c tính
(t t nh t nên có l p ít hơn 10 thu c tính) 14 c t thu c tính l p Trong Rose: s% d ng c%a s (c t thu c tính gán (c tính cho thu c tính V i m&i thu c tính trong bi u c n có Tên thu c tính
Ki u d li u thu c tính l u tr . Ph thu c vào ngôn ng l$p trình Thí d , Add : String Giá tr kh i u Thí d , IDNumber: Interger=0 Stereotype Ph m vi (visibility) .... 15 c t thu c tính l p
V i m&i thu c tính trong bi u c n có ... Ph m vi (visibility)
M t tính ch t quan tr ng c a l$p trình h ng i t ng là tính gói !
B n l a ch n ph m vi cho thu c tính Public: M i l p u nhìn th y thu c tính (+) !
Private: L p khác không nhìn th y thu c tính (-)
Protected: Các l p k th a có th nhìn th y (#)
Package và Implementation: Thu c tính là public i v i các l p trong cùng gói " # $% ! & ... 16 c t thu c tính l p
V i m&i thu c tính trong bi u c n có ... Ki u l u tr thu c tính By value: L p ch a thu c tính
By reference: Thu c tính (t ngoài l p, l p có con tr! n thu c tính Unspecified: Không xác nh Thu c tính t nh
Là thu c tính chia s+ cho m i hi n th c l p
Ký hi u trong l p là tên thu c tính có g ch chân (phiên b n c,: $) Thu c tính suy di n Là thu c tính
c t o b i 1 hay nhi u thu c tính khác
Ký hi u: d u / tr c tên thu c tính ' ... 17 Thao tác l p
Thao tác là hành vi k t h p v i l p, nó xác nh trách nhi m c a l p Mô t thao tác bao g m Tên thao tác Tham s thao tác Ki u giá tr cho l i Ký pháp trong UML
Operation Name (arg1: arg1 data type, arg2: arg2 data type...): return type
Chú ý khi b sung thao tác trong l p Không nên l p ch) có 1 hay 2 thao tác
N u l p không có thao tác thì mô hình hóa nó nh thu c tính
N u l p có quá nhi u thao tác thì khó qu n lý, nên chia s+ chúng ra các l p khác 18 Các lo i thao tác
Thao tác cài (t (Implementor)
Cài (t m t vài ch c n ng nghi p v
H u nh m i thông i p trong bi u
t ơng tác ánh x vào thao tác cài (t Thao tác qu n lý (Manager) Qu n lý vi c l$p và h y b! i t ng
Thí d : các c u t%, h y t% c a l p Thao tác xâm nh$p (Access)
Thao tác xâm nh$p vào các thu c tính private và protected
Thí d : các thao tác Get và Set cho m&i thu c tính trong l p Thao tác tr giúp (Helper)
Là các thao tác private và protected c a l p
Các thông i p ph n thân trong bi u t ơng tác ánh x n thao tác này 19 Quan h gi a các l p
Quan h là k t n i ng ngh a gi a các l p
Quan h cho m t l p bi t thu c tính, thao tác và quan h c a l p khác Các lo i quan h chính K t h p (Associations) Thành ph n (Aggregations)
T ng quát hóa (Generalizations) Ph thu c (Dependencies) 20 Tìm ki m quan h Kh o sát bi u trình t và bi u c ng tác N u l p A g%i thông i p
n l p B thì gi a chúng có quan h
Thông th ng là quan h k t h p hay ph thu c Kh o sát các l p tìm ra các quan h Quan h t ng th - thành ph n B t k- l p nào
c hình thành t l p khác thì chúng có quan h t$p h p Quan h t ng quát hóa
N u nhi u l p k th a t l p th ba thì gi a chúng v i l p
th ba có quan h khái quát hóa 21 Quan h k t h p K t h p là quan h c u trúc mô t t$p liên k t (m t liên k t là k t n i gi a các i t ng). Khi i t ng c a l p này g%i/nh$n thông i p n/t i t ng c a l p kia thì ta g i
chúng là có quan h k t h p. Ký pháp h a c a k t h p c mô t trên hình sau,
chúng có th ch a tên nhi m v và tính nhi u (multiplicity). 22 Quan h k t h p
Association là k t n i ng ngh a gi a các l p
K t h p cho m t l p bi t v thu c tính và thao tác public c a l p khác
Quan h k t h p hai chi u, m t chi u Quan h k t h p ph n thân ( ( class Person class House class Person class House { { { { public: public: public: public: Person(); House(); Person(); House(); ~Person(); ~House(); ~Person(); ~House(); private: private: private: private: House *the_House; Person *the_Person; House *the_House; }; }; }; }; 23 Quan h thành ph n
Aggregation là quan h gi a t ng th và b ph$n (Whole- Parts)
Trong quan h này, m t l p bi u di n cái l n hơn còn l p kia bi u di n cái nh! hơn Bi u di n quan h has-a M t
i t ng c a l p t ng th có nhi u i t ng c a l p thành ph n Có 2 lo i quan h thành ph n: T h p G p 24 Quan h thành ph n T h p:
T ng th và b ph$n có th h y b! vào th i i m khác nhau
Tên khác: quan h t h p b i tham chi u (by reference) Ví d : M t l p h c ph n c m (trong h c tín ch)) có
nhi u sinh viên theo h c, l p h c ph n c m là class
t ng th , còn sinh viên là class thành ph n. N u không có l p h c ph n
c m thì sinh viên v"n t n t i, ho(c khi h y l p h c ph n. c m i thì sinh viên v"n không b h y. Quan h thành ph n ) ** * + * Ví d : # + , - . */. ) 0 ***** ! 1 2 / 3 4 54 - . */. 0 *** ! 1 ) 2 / 3) 4 54 Quan h thành ph n
G p: là d ng (c bi t (m nh hơn) c a quan h t h p T ng th và thành ph n
c hình thành hay h y b! vào cùng th i i m
Tên khác: quan h t h p b i giá tr (by value)
Ví d : M t công ty (Company) có nhi u phòng ban(
Department). Nh th khi công ty b h y i thì phòng ban
(Department) không còn t n t i, ho(c M t phòng h c(
Class-room) có nhi u bàn gh (table), th c t là t t c các phòng h c
u có bàn gh riêng cho t ng phòng và bàn c a phòng nào
u có mã s phòng i kèm v i mã s bàn, nh
v$y n u phòng h c b h y thì bàn gh c a phòng ó b h y theo. 27 Quan h thành ph n Ví d : 6 7 - .6 7*/. - . */. 6 7 0 0 *** *** ! 1 ! 1 5 / 3 4 5 28 Quan h t ng quát hóa
Generalization là quan h k th a c a hai ph n t% mô hình
nh l p, tác nhân, Use case và gói
Cho phép m t l p k th a các thu c tính, thao tác public và protected c a l p khác - ; ! */< ! ( !1 ! 8 ! 998 0 ( $& ! 1 $& = : 4 ****** ( ! 9 ! 54 : 9 29 Quan h ph thu c
Dependency là quan h ch) ra m t l p tham chi u l p
khác. Ph thu c là m i quan h gi a hai l p i t ng: m t l p i t ng A có tính c l$p và m t l p i t ng B ph thu c vào A; m t s thay i c a A s' nh h ng n l p ph thu c B. Khi thay
i (c t l p tham chi u thì l p s% d ng nó b nh h ng ( 30 Quan h ph thu c gói
Có th v' quan h ph thu c gi a các gói nh gi a các l p
Ph thu c gói t gói A n gói B có ngh a r ng vài gói
trong l p A có quan h m t chi u v i các l p trong gói B " # " #
Tránh ph thu c vòng gi a các gói " # " # 31
c t quan h gi a các l p (c t chi ti t quan h bao g m Multiplicity Tên quan h Tên nhi m v Ph n t% liên k t 32
c t quan h gi a các l p (c t chi ti t quan h bao g m Multiplicity
Cho bi t bao nhiêu hi n th c c a m t l p liên k t v i m t
hi n th c c a l p khác vào cùng th i i m 9 >**+ >** > Tên quan h Tên quan h là
ng t mô t t i sao l i t n t i quan h ! ! 33 ...
c t quan h gi a các l p (c t chi ti t quan h bao g m ..... Tên nhi m v
S% d ng tên nhi m v thay th cho tên quan h trong quan h k t h p hay t h p ch) ra t i sao quan h t n t i ! ? ! ? ! 34
c t quan h gi a các l p (c t chi ti t quan h bao g m ..... Ph m vi k t h p (Qualifier) Ph n t% liên k t
Còn g i là l p k t h p, nơi l u tr thu c tính liên quan n k t h p 9 >** * > >** * + * @ 35 Tóm t t Bài này ã xem xét các v n sau Tìm ki m l p
Tìm ki m thu c tính, thao tác l p
Tìm ki m các lo i quan h gi a các l p Bi u di n bi u l p và gói Bi u di n
h a các thu c tính c a thu c tính, thao tác trong l p
Bi u di n các thu c tính cho quan h gi a các l p 36 Phân tích Thi t k HTTT h ng i t ng - UML o 2 Bi u chuy n tr ng thái Mô t chu k t n t i c a i t ng t khi nó n khi nó b phá h y S d ng mô hình hóa khía c nh ng c a l p Bi u bao g m các thông tin sau Các tr ng thái c a i t ng Hành vi c a i t ng S ki n tác ng làm thay i tr ng thái Thông th ng Xây d ng bi u
chuy n tr ng thái cho m t vài i t ng c a l p có nhi u hành vi ng trong d án
Không ph i m i d án s d ng bi u lo i này 3 Tr ng thái i t ng? Tr ng thái i t ng là k t qu c a các ho t ng tr c ó c a i t ng i t
ng luôn trong m t tr ng thác xác nh t i m t th i i m Tr ng thái
c xác nh b i giá tr c a thu c tính và liên k t v i i t ng khác Thí d Con ng
i c th c a l p Person có các tr ng thái: Ng i lao ng, Th!t nghi p, V " Hóa ơn mua hàng: $ % %&án, ch a thanh toán Xe ô tô: ' ( y, ' )ng Thay i tr ng thái i t ng Có s ki n x y ra
Thí d : ai ó thanh toán hóa ơn hàng 4 Bi u tr ng thái Thí d bi u tr ng thái S d ng bi u tr ng thái làm gì? Phân tích viên, ng i thi t k và ' i s d ng hi u hành vi i t ng Ng i phát tri n hi u hành vi i t ng cài *t nó 5 Bi u tr ng thái Các ph+n t h a Tr ng thái kh i +u: Khi i t ng c t o ra Tr ng thái d ng: Khi i t ng b phá h y Tr ng thái (State) Ho t ng Hành ng vào Hành ng ra Quá (Transition) S ki n i u ki n canh Hành ng 6 Tr ng thái ,n Bi u tr ng thái Các ph+n t h a ... Tr ng thái (State) Tr ng thái
c xác nh t kh o sát thu c tính l p và quan h gi-a các l p Ký pháp h a Khi i t
ng trong tr ng thái nào ó nó th c hi n vài ho t ng (Activity)
Phát sinh báo cáo, Th c hi n tính toán và G i thông i p n i t ng khác
Có ./ 0& i thông tin có th g p trong tr ng thái Ho t ng, Hành ng vào, Hành
ng ra, S ki n, L ch s tr ng thái. ... 7 Bi u tr ng thái Các ph+n t h a ... Tr ng thái (State) Ho t ng (Activity) Là hành vi mà i t ng th c hi n khi nó ang tr ng thái c th Nó là hành vi có th ng1t c Bi u di2n trong ph+n t bi u : do hay / Hành ng vào (Entry Action) Là hành vi x y ra khi i t ng ang chuy n vào tr ng thái
Nó là hành vi không th ng1t c Bi u di2n trong ph+n t bi u : Entry Hành ng ra (Exit Action) ! Là hành vi x y ra khi i t ng ang chuy n ra tr ng thái
Nó là hành vi không th ng1t c Bi u di2n trong ph+n t bi u : Exit 8 Bi u tr ng thái Các ph+n t h a ... ! Quá (Transition) " Quá là chuy n ng t tr ng thái này sang " tr ng thái khác Quá ph n thân *c t quá !
S ki n (Event): cái gì ó là nguyên nhân chuy n t
tr ng thái này sang tr ng thái khác H+u h t quá
u có s ki n. S ki n có th có i #
s , thí d , Remove passenger(name)
i u ki n canh (Guard): xác nh khi nào s ki n
x y ra, thí d , Tr ng thái máy bay t Open sang Full khi ch3 cu i cùng ã có ' i mua vé Hành
ng (Action): hành vi không ng1t c, x y
ra nh m t ph+n c a chuy n ti p. & '( ) $ % 9 Bi u tr ng thái Các ph+n t h a ... Tr ng thái ,n (Nested state)
gi m quá nhi u tr ng thái trong bi u ta có th l ng tr ng thái
vào trong tr ng thái khác: Substate, Superstate
N u hai hay nhi u tr ng thái có cùng quá -> nhóm chúng thành superstate Thí d Bi u bi n
i tr ng thái c a l p Flight có các tr ng thái Scheduled, Open, Full và Closed
Chuy n bay chuy n vào tr ng thái Closed 10 phút tr c khi c!t cánh, không quan tâm n tr ng thái tr
c ó c a nó là Open hay Full.
L ch s tr ng thái (Superstate history)
Nhi u khi có nhu c+u nh l i tr ng thái v a tr c ó c a i t ng
B sung tr ng thái kh i +u trong siêu tr ng thái * S d ng ch4 báo l ch s tr ng thái nơi i t ng v a i qua 10 Bi u
tr ng thái v i tr ng thái n Scheduled Scheduled
[ Current date is less than 60 days before flight ]
[ Current date is less than 60 days before / Set number of passenger to 0
flight ] / Set number of passenger to 0 Add/Remove passenger Adding Passengers
Add passenger[ Last seat was sold ] Add/Remove passenger Full Open
Add passenger[ Last seat was sold ] Op Oe pn ee nd Fu F lll
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
Remove passenger( PassengerName )
[ 10 min before scheduled takeoff ]
[ 10 min before scheduled takeoff ] Closed Closed 11 Bi u tr ng thái và l p Mô t quan h gi-a bi u tr ng thái và l p Thí d Bi u
tr ng thái c a l p Digital watch + ,1 23 ,- 23 ./ 0$ + ,- + ./ 0$ ,- ,- + 12 Bi u ho t ng Bi u ho t ng (Activity diagram) do Odell xu!t cho UML
mô t lu ng công vi c trong ti n trình nghi p v trong mô hình hóa nghi p v
mô t lu ng s ki n trong mô hình hóa h th ng S d ng text nh tr c ây s5 khó
c khi logíc ph)c t p, có nhi u r5 nhánh Bi u ho t ng s d ng mô hình hóa khía c nh ng c a h th ng các b c trình t 6 % ơ ' %
% & ' 7"á trình tính toán 13 Bi u ho t ng Ho t ng (Activity) Là m t b c trong ti n trình Hành ng (Actions) Là các b c nh8 ơ % & ' 9(% : %6 Action có th x y ra khi ang vào activity Hành
ng vào x y ra khi activity b1t +u, ánh d!u b;ng “Entry” Khi ang i ra kh8i activity Hành
ng ra x y ra khi r i b8 (% : %6, ánh d!u b;ng “Exit” Khi th c hi n activity Hành
ng x y ra khi ang trong activity, ánh d!u b;ng “do” Khi có s ki n *c bi t x y ra Hành
ng x y ra khi và ch4 khi có s ki n c th x y ra, ánh d!u b;ng “event” ti p theo là tên s ki n 14 Bi u ho t ng i t ng và lu ng i t ng (Object flow) + i t ng là th c th , có th b các ho t ng trong lu ng s 4 & ' ) d ng và % 6 i ' ) Trong bi u ho t ng: ' ) hi n th i t ng v i tr ng thái 4 c a nó ! ' ) Liên k t i t ng v i các ho t ( ng thông qua lu ng i t ng - M t i t ng có th là +u vào cho ho t ng. 15 Bi u ho t ng Quá (Transition) Ch4 ra lu ng i u khi n t ho t ng này n ho t ng khác Tr ng h p ơn gi n ! ( - *t gi i h n trên quá
u khi n: event hay guard condition ! ! ( - Khi có s ki n, u ki n canh i u khi n quá có th x y ra? ' 1 ) ! ( - 16 Bi u ho t ng R5 nhánh và ng b (Synchonization)
ng b là cách mô t hai hay nhi u nhánh flows x y ra ng th i 5 6 Kh>i ?ng xe [ Con x ng ] [ HAt x ng ] 7 8 9 : ; i xe buýt, Lái xe taxi, xe @p < = 17 Bi u ho t ng Làn bơi (Swimlanes) S d ng
mô hình hóa lu ng công vi c trong ti n trình nghi p v
Ch4 ra ai có trách nhi m th c hi n t ng ho t ng
phân ho ch các tr ng thái ho t ng vào nhóm Phân tách nhóm trên bi u b;ng các làn bơi M3i ho t ng thu c v m t làn bơi Quá có th c v5 t làn bơi này n làn bơi khác M3i làn bơi có th
c cài *t b i m t hay nhi u l p 18 Bi u h Khá o ch hà t n g ng Nhân viên bán hàng Nhân viên kho hàng Yêu cBu mua hàng XG àng ChuyHn hàng ra TiAp tCc công viDc O : Order [ ang xG lý] GGi hàng i O : Order [ ã iFn] Nh6n hàng Báo giá b : Bill TrE tiFn [Ch a thanh toán] a e" KAt thúc mua b : Bill hàng [ ã thanh toán] 19 Tóm t t
Bài này ã xem xét các v!n sau Bi u chuy n tr ng thái Tr ng thái c a i t ng Các ph+n t h a xây d ng bi u K< thu=t xây d ng bi u tr ng thái Bi u ho t ng >ng d ng c a bi u ho t ng Các ph+n t h a xây d ng bi u ho t ng 20 Phân tích Thi t k HTTT h ng i t ng - UML 8 Chuy n i i t ng sang mô hình quan h Trong CSDL quan h , m t l c c hình thành b i các
b ng (Table) g m các c t và dòng. Trong mô hình i t
ng, t ơng ng m t b ng là m t l p (ho c nhi u l p).
Các thành ph n t ơng ng nh sau:
M t c t ng v i m t thu c tính l p M t dòng ng v i m t i t ng
M t th t c l u tr (stored procedure) có th ng v i m t ph ơng th c Chuy n i sơ l p sang l c quan h bao g m: Chuy n i l p – b ng Chuy n i m i liên k t Chuy n i i t ng sang mô hình quan h Chuy n i l p – b ng M t l p chuy n i thành m t b ng c th nh sau: L p b ng M t thu c tính
m t c t: ch có các thu c tính c n nhu c u l u tr và c òi h i b i ng d ng M t i t ng (th hi n) m t dòng Chuy n i i t ng sang mô hình quan h Chuy n i m i liên k t Chuy n
i liên k t k t h p (association) Tr ng h p 1: Chuy n i i t ng sang mô hình quan h Tr ng h p 2: Chuy n i i t ng sang mô hình quan h Tr ng h p 3: Chuy n i i t ng sang mô hình quan h Chuy n i liên k t k th a Trong
không có khái ni m k th a mà chúng th ng dùng liên k t khóa chính khóa ngo i
di!n t i u này. Sau ây là các tr ng
h p mà ta có th quy t "nh ch#n m t: Chuy n i i t ng sang mô hình quan h Tr ng h p 1
Ch s$ d ng m t b ng l u tr t%t c các lo i nhân viên. Ngoài ra ta c&ng có th
a thêm m t thu c tính nh'm phân lo i dòng này thu c i t ng nào Chuy n i i t ng sang mô hình quan h Tr ng h p 2 Chuy n i i t ng sang mô hình quan h Tr ng h p 3 Chuy n i i t ng sang mô hình quan h Tr ng h p 4:
ng d ng m t s ph n m m vào chuy n i mô hình Rose Paradigm Tóm t t Bài này ã xem xét các v%n sau Mô hình i t ng và mô hình d li u T o l(p mô hình d li u B sung CSDL, l c
, gói l)nh v*c, b ng, th t c l u tr và các quan h +ng d ng ph n m m vào Mô hình hóa d li u Chuy n
i gi a mô hình d li u và mô hình i t ng