Tải bản đầy đủ (.pdf) (77 trang)

Thiết kế hướng đối tượng sử dụng UML

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (359.45 KB, 77 trang )

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


×