Thi t k hư ng ñ i
tư ng - S d ng
UML (7)
Nguy n Thanh Bình
Khoa Cơng ngh Thơng tin
Trư ng ð i h c Bách khoa
ð i h c ðà N ng
N i dung
Khái ni m cơ b n hư ng ñ i tư ng
Bi u ñ ca s d ng
Thi t k c u trúc tĩnh
Thi t k c u trúc ñ ng
Sinh mã
2
1
Hư ng ch c năng
D a vào các ch c năng c a h th ng
H th ng là t p h p các ch c năng
Chia nh các ch c năng và làm m n d n
H th ng g m các h th ng con
Làm ch ñ ph c t p
Các ch c năng trao ñ i v i nhau b ng
truy n tham s ho c d li u (ch ng h n
bi n toàn c c) dùng chung
3
Hư ng ch c năng
Phân c p ch c năng
H th ng
Ch c năng 1
Ch c năng 1.1
Ch c năng 1.2
Ch c năng 2
Ch c năng 2.1
Ch c năng 2.2
4
2
Hư ng ch c năng
Ưu đi m
Phân tích đư c các ch c năng c a h th ng
ðưa l i k t qu mong ñ i
Như c ñi m
Ch c năng
c u trúc
Thay ñ i v ch c năng khó khăn thay đ i c u trúc
Tính m c a h th ng th p
Khó tái s d ng
Chi phí s a ch a l i l n
5
Hư ng ñ i tư ng
L y ñ i tư ng làm trung tâm
H th ng = t p h p các ñ i tư ng + quan
h gi a các ñ i tư ng
Các ñ i tư ng trao ñ i b ng thơng đi p
(message)
Khơng s d ng bi n tồn c c
ðóng gói
Th a k
6
3
Hư ng đ i tư ng
Phân bi t
L p trình c u trúc
• Thu t tốn + c u trúc d li u = chương
trình
L p trình HðT
• Σđ i tư ng = chương trình
• đ i tư ng = thu t toán + c u trúc d li u
7
Hư ng đ i tư ng
Ưu đi m chính
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 làm gi m chi phí, h th ng có
tính m cao hơn
Xây d ng h th ng l n và ph c t p
8
4
ð i tư ng
ð i tư ng (object) 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ì các quan h
gi a chúng
Nguy n Văn A là m t ñ i tư ng
9
ð 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
10
5
ð i tư ng : tr ng thái
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, ñ ng yên, …
11
ð i tư ng : hành vi
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 b i chính nó, ho c
th c hi n khi có 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: kh i ñ ng,
ch y, …
12
6
Giao ti p gi a các ñ i tư ng
Các ñ i tư ng giao ti p v i nhau
G i thơng đi p (message) cho nhau
Thơng đi p
ð i tư ng A
ð i tư ng B
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
13
ð i tư ng
Gi a các ñ i tư ng có m i liên k t
(link) v i nhau
Ví d
Nguy n Văn A
H c
ð i h c ðà N ng
14
7
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
15
L p
L p là m t bư c tr u tư ng hóa
Tìm ki m các ñi m gi ng nhau, b qua các
ñi m khác nhau c a ñ i tư ng
Person
Name
Age
changeAge
Tr u tư ng hóa làm gi m đ ph c t p
16
8
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
Sinh viên
h c
ð ih c
17
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
ð i tư ng
Thu c tính
Giá tr
K th p
Liên k t
18
9
Các tính ch t c a HðT
Tính đóng gói (encapsulation)
d li u + x lý d li u = ñ i tư ng
thu c tính + phương th c = l p
Ưu ñi m
H n ch nh hư ng khi có s thay đ i c p
nh t
Ngăn c n s truy c p thơng tin t bên ngồi
Che d u thơng tin
19
Các tính ch t c a HðT
Tính th a k (inheritance)
M t l p ñư c xây d ng t m t ho c nhi u
l p khác b ng vi c chia s các thu c tính và
phương th c
L p con th a k các thu c tính và phương
th c t l p cha
T ng qt hóa/chun bi t hóa
• T ng qt hóa (generalization): ñ t các tính ch t
chung c a các l p khác nhau vào m t l p cha
• Chuyên bi t hóa (specialization): t o ra m t l p
con có các tính ch t riêng t l p cha
20
10
Các tính ch t c a HðT
ðơn th a k : m t l p con ch th a k t m t l p cha duy
nh t
XeT i
T ng qt hóa
XeKhách
Chun bi t hóa
Xtơ
L p tr u tư ng hay l p chung: Xtơ
L p c th hay l p chuyên bi t: XeKhách
L p chuyên bi t có th thay th l p chung trong t t c
các ng d ng. Ví d : Ơtơ t i là m t ơtơ.
21
Các tính ch t c a HðT
ða th a k : m t l p con th a k t
nhi u l p cha khác nhau
Person
Personnel
Reseacher
Student
Teacher
Phd candidate
22
11
Các tính ch t c a HðT
ða th a k
ð ng đ tên các thu c tính
X
a
Y
a
Z
ac aX
ac aY
ða th a k khơng đư c ch p nh n b i m t
s ngơn ng : Java
23
Các tính ch t c a HðT
Ưu ñi m c a th a k
Phân lo i các l p: các l p ñư c phân
lo i, s p x p theo m t th b c đ d
qu n lí
Xây d ng các l p: các l p con ñư c
xây d ng t các l p cha
Ti t ki m th i gian xây d ng, tránh
l p l i thông tin
24
12
Các tính ch t c a HðT
Tính đa hình (polymorphism): c a phương th c, t c
là kh năng các phương th c khác nhau ñư c th c
hi n ñ tr l i cùng m t yêu c u
M i l p con th a k ñ c t các phương th c t l p
cha, và các phương th c này có th đư c s a đ i
trong l p con ñ th c hi n các ch c năng riêng
trong l p đó
M t phương th c (cùng m t tên phương th c) có
nhi u d ng (ñ nh nghĩa) khác nhau trong các l p
khác nhau
25
Các tính ch t c a HðT
Ví d tính đa hình
ðaGiác
dienTich()
HìnhVng
HìnhTamGiác
dienTich()
dienTich()
26
13
N i dung
Khái ni m cơ b n hư ng ñ i tư ng
Bi u ñ ca s d ng
Thi t k c u trúc tĩnh
Thi t k c u trúc ñ ng
Sinh mã
27
Ca s d ng (Use case)
Bư c ñ u tiên c a phân tích yêu c u
là xác ñ nh các ca s d ng c a h
th ng
M t ca s d ng là m t tương tác
gi a h th ng và môi trư ng
T p h p các ca s d ng là mô t toàn
b h th ng c n xây d ng
28
14
Ca s d ng
Ví d : phát tri n m t ph n m m th o
văn b n
Các ca s d ng có th :
Nh p văn b n m i
S a văn b n ñã t n t i
T om cl c
Chép ño n văn b n
…
29
Ca s d ng
M t ca s d ng tương ng v i m t ch c
năng c a h th ng dư i góc nhìn c a
ngư i s d ng
M t ca s d ng có th l n ho c nh
M t ca s d ng ch ra làm th nào m t m c
tiêu c a ngư i s d ng ñư c th a mãn
b i h th ng
30
15
Ca s d ng
C n phân bi t các m c tiêu c a ngư i s d ng và
các tương tác c a h v i h th ng
M c tiêu: cái mà ngư i s d ng mong ñ i
Tương tác: k thu t cho phép ñáp ng m c tiêu
Ví d
M c tiêu: có đư c m t văn b n trình bày đ p
Tương tác: ch n ñ nh d ng trang, ch n font ch , ñ nh
nghĩa các ki u tiêu ñ (heading), …
Th c t , chúng ta xác ñ nh các m c tiêu trư c, sau
đó ch n t p h p các tương tác đáp ng các m c
tiêu đó
31
Ca s d ng
Ví d : c n xây d ng m t h th ng ATM cho phép rút
ti n
Có th có vài tương tác chung trong m t k ch b n sau:
ðưa th vào
Nh p mã PIN
Ch n s ti n rút
Kh ng ñ nh s ti n rút
L y th ra
L y ti n
L y phi u rút ti n
Các tương tác trên có là các ca s d ng không ?
32
16
Ca s d ng
Câu tr l i: không.
T i sao ?
Vì ch ng h n “Nh p mã PIN” khơng ñáp ng m t m c
tiêu nào c a ngư i s d ng.
M c tiêu c a ngư i s d ng là “Rút ti n”, v y đó nên
là m t ca s d ng.
33
Tác nhân (Actor)
Tác nhân đóng vai trị m t ngư i s d ng ho c m t
th c th bên ngoài tương tác v i h th ng
Ví d : C n phát tri n h th ng tính ti n siêu th
Các tác nhân có th là: Khách hàng, Ngư i bán hàng,
Ngư i qu n lý, Kho hàng
C n phân bi t: tác nhân (actor) và ngư i s d ng
(user)
Nhi u ngư i s d ng có th tương ng m t tác nhân:
nhi u ngư i bán hàng khác nhau đóng cùng vai trị
đ i v i h th ng
M t ngư i s d ng có th tương ng v i nhi u tác
nhân khác nhau: cùng m t ngư i có th đ ng th i
đóng hai vai trò là ngư i bán hàng và ngư i qu n lý
34
17
Tác nhân
Tác nhân không nh t thi t luôn luôn là
con ngư i
Tác nhân có th là mơi trư ng, h
th ng khác, th c th bên ngoài tương
tác v i h th ng
Ví d
Kho hàng là có th m t cơ s d li u
35
ð c t ca s d ng
ð c t đi n hình c a m t ca s d ng:
Ca s d ng: tên ca s d ng thư ng b t ñ u b i m t
ñ ng t
Các tác nhân: danh sách các tác nhân liên quan
Mơ t : tóm t t các x lý c n th c hi n
Ví d
Ca s d ng: Mua hàng
Các tác nhân: Khách hàng, Ngư i bán hàng
Mô t : M t khách hàng sau khi ñã ch n các m t hàng,
mang gi hàng ñ n qu y thu ti n. Ngư i bán hàng ghi nh n
các m t hàng, thông báo t ng s ti n, thu ti n và tr ti n
còn l i cho khách hàng. Khách hàng mang hàng ñi.
36
18
ð c t ca s d ng
ð c t ca s d ng có th thêm:
Tham chi u (reference) đ n m c liên quan trong ñ c t yêu c u
ði u ki n trư c và ñi u ki n sau khi th c hi n ca s d ng
Ví d
Ca s d ng: Mua hàng
Các tác nhân: Khách hàng, Ngư i bán hàng
Tham chi u: R1.2, R2.3
ði u ki n trư c: Ngư i bán hàng ñã ñăng nh p thành công.
ði u ki n sau: Các m t hàng bán ñã ñư c ghi nh n và đã ghi
nh n thanh tốn ti n.
Mơ t : M t khách hàng sau khi ñã ch n các m t hàng, mang gi
hàng ñ n qu y thu ti n. Ngư i bán hàng ghi nh n các m t hàng,
thông báo t ng s ti n, thu ti n và tr ti n còn l i cho khách hàng.
Khách hàng mang hàng ñi.
37
ð c t ca s d ng
Ngồi ra, đ i v i m i ca s d ng ta có th xây d ng
m t k ch b n (scenario) hành đ ng mơ t các s
ki n x y ra
K ch b n: g m các s ki n chính và các s ki n
ngo i l
Các s ki n chia làm hai lu ng
Lu ng tương ng v i các tác nhân
Lu ng tương ng v i h th ng
38
19
ð c t ca s d ng
Các s ki n chính
Hành đ ng c a tác nhân
Hành đ ng c a h th ng
1. M t khách hàng ñưa
hàng ñã ch n mua đ n qu y
tính ti n.
2. Ngư i bán hàng ghi nh n
t ng m t hàng.
3. Xác đ nh m t hàng, hi n th
các thơng tin và giá m t hàng.
N u m t m t hàng có s
lư ng nhi u hơn m t thì
ngư i bán hàng có th nh p
vào m t s .
S này ñư c hi n th .
39
ð c t ca s d ng
Các s ki n chính (ti p)
Hành ñ ng c a tác nhân
4. Sau khi ñã ghi nh n t t
c các m t hàng, ngư i bán
hàng báo hi u k t thúc vi c
ghi nh n hàng.
Hành ñ ng c a h th ng
5. Tính và hi n th t ng s
ti n.
6. Ngư i bán hàng thông
báo t ng s ti n ph i tr cho
khách hàng.
7. Khách hàng tr ti n cho
ngư i bán hàng.
40
20
ð c t ca s d ng
Các s ki n chính (ti p)
Hành đ ng c a tác nhân
Hành đ ng c a h th ng
8. Ngư i bán hàng nh p s
ti n khách hàng tr .
9. Hi n th ti n dư và in phi u
bán hàng
10. Ngư i bán hàng xác
nh n s tr ti n, l y ti n dư
tr cho khách hàng và ñưa
cho khách hàng phi u bán
hàng.
11. Ghi nh n phiên bán hàng.
12. Khách hàng r i qu y
thu ti n v i túi hàng
41
ð c t ca s d ng
Các s ki n ph
Hành ñ ng c a tác nhân
Hành ñ ng c a h th ng
3. S xác nh n m t hàng
khơng đúng. Hi n th l i.
7. Khách hàng khơng có đ
ti n. Ngư i bán hàng h y
b vi c bán.
Lưu ý: ñ nh d ng ñ c t các ca s d ng không c n
thi t ph i ch t ch .
42
21
Ca s d ng
Elaboration
giai ño n
Xác ñ nh càng nhi u ca s d ng m t cách có th
Khơng ñi vào quá chi ti t, nh m gi m ñ ph c t p
M t mô t ng n g n v m i ca s d ng là ñ , có
th b qua ph n k ch b n, tham chi u ñ n ñ c t
yêu c u, ñi u ki n trư c và ñi u ki n sau.
B o ñ m r ng các ca s d ng bao quát h t các yêu
c u c a h th ng
43
Bi u ñ ca s d ng
Bi u đ ca s d ng mơ t quan h gi a các
tác nhân và các ca s d ng c a m t h
th ng.
Kí hi u
Use case
Tác nhân
K t h p ch s
tham gia c a tác
nhân vào ca s d ng
Gi i h n c a
h th ng
44
22
Bi u đ ca s d ng
Ví d
Ghi nh n
Ngư i bán hàng
Mua hàng
Tr hàng
Khách hàng
Ngư i qu n lý
Kh i ñ ng
45
Bi u ñ ca s d ng
Các tác nhân có th có quan h th a
k
Ví d
Khách hàng
Cá nhân
Công ty
46
23
Quan h m r ng
Có th x y ra trư ng h p: m t ca s d ng
tương t v i m t ca s d ng khác, tuy
nhiên nó g m thêm m t s hành đ ng
Ví d
Ca s d ng: Mua hàng b ng th tín d ng
Các tác nhân: Khách hàng, Ngư i bán hàng
Mô t : M t khách hàng sau khi ñã ch n các m t
hàng, mang gi hàng ñ n qu y thu ti n. Ngư i bán
hàng ghi nh n các m t hàng, thông báo t ng s ti n.
Khách hàng ñưa th vào máy và nh p mã PIN. Khách
hàng nh n phi u bán hàng và mang hàng ñi.
47
Quan h m r ng
Ca s d ng này là m t bi n th c a ca s
d ng “mua hàng”, tuy nhiên thêm vào các
hành ñ ng liên quan ñ n tr ti n b ng th
Ca s d ng “mua hàng b ng th tín d ng”
là m t s m r ng c a ca s d ng “mua
hàng”
48
24
Quan h m r ng
Kí hi u
Mua hàng
<< extends >> Mua hàng b ng th
Quan h m
r ng
N u m t ca s d ng k t h p v i m t tác
nhân, thì t t c các ca s d ng m r ng
ñ u k t h p v i tác nhân đó
49
Quan h s d ng
Trư ng h p nhi u ca s d ng chia s cùng m t dãy
các hành ñ ng. N u ph n chung là quan tr ng và
hư ng t i m t m c tiêu rõ ràng, như th ta có th xây
d ng m t ca s d ng riêng
Ví d : chúng ta mu n ch p nh n mua hàng tr ti n
m t l n và mua hàng tr góp
Hai ca s d ng “mua hàng tr ti n m t l n” và “mua
hàng tr góp” th c hi n m t dãy các hành đ ng mà có
th đư c mơ t b i ca s d ng “ghi nh n các m t
hàng”
50
25