Xem mẫu
- Thi t k (6)
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
Thi t k ?
phân tích bài toán/v n ñ
xu t phát t yêu c u
mô t m t ho c nhi u gi i pháp
ñánh giá các gi i pháp, ch n gi i pháp t t nh t
m t m c tr u tư ng nh t ñ nh
s d ng các mô hình
3 tính ch t
tr l i câu h i “như th nào”
mô t ch y u là c u trúc
b qua các chi ti t cài ñ t
• gi i pháp tr u tư ng ≠ gi i pháp c th
2
1
- Các giai ño n thi t k
Ho t ñ ng thi t k xu t hi n trong các mô
hình phát tri n khác nhau
Hai giai ño n thi t k chính
Thi t k ki n trúc
• phân tích gi i pháp thành các thành ph n
• ñ nh nghĩa giao di n gi a các thành ph n
• ñ nh nghĩa ph n v n ñ ñư c gi i quy t b i m i
thành ph n
• có th ñư c th c hi n b i nhi u m c tr u tư ng
Thi t k chi ti t
• thi t k thu t toán, c u trúc d li u...
3
Các giai ño n thi t k
Requirements
specification
Design activities
Architectural Abstract Interface Component Data Algorithm
design specificatio design design structure design
n design
Software Data
System Interface Component Algorithm
specification structure
architecture specification specification specification
specification
Design products
4
2
- Các giai ño n thi t k
Architectural design
xác ñ nh các h th ng con
Abstract specification
ñ c t các h th ng con
Interface design
mô t giao di n các h th ng con
Component design
phân tích h th ng con thành các thành ph n
Data structure design
các c u trúc d li u lưu tr d li u c a bài toán
Algorithm design
thi t k thu t toán cho các hàm/mô-ñun
5
T i sao ph i thi t k ?
có m t ki n trúc t t
làm ch ñư c c u trúc h th ng
“chia ñ tr ”
ñ t ñư c các tiêu chu n ch t lư ng
tái s d ng / d ke em th / d b o trì...
thi t k hư ng ñ n s thay ñ i (design for
change)
6
3
- Thi t k và s thay ñ i
Thay ñ i = tích ch t ñ c trưng c a ph n
m m
D báo thay ñ i là c n thi t
gi m chi phí b o trì
D báo thay ñ i là khó khăn
s thay ñ i thư ng không ñư c xác ñ nh
trư c
nhi u y u t thay ñ i cùng lúc
th i ñi m thay ñ i là khó có th bi t trư c
7
Thi t k và s thay ñ i
Các y u t có th thay ñ i
thu t toán
c u trúc d li u
bi u di n d li u bên ngoài
thi t b ngo i vi
môi trư ng xã h i
yêu c u khách hàng
8
4
- Thi t k hư ng mô-ñun
Ph n m m là t p h p g m các mô-ñun
tương tác v i nhau
Mô-ñun hóa ñóng vai trò quan tr ng ñ có
ñư c ph n m m ch t lư ng v i chi phí th p
M c ñích thi t k h th ng
xác ñ nh các mô-ñun có th
xác ñ nh tương tác gi a các mô-ñun
9
Các tiêu chu n c a m t
phương pháp thi t k
Các tiêu chu n ñ ñánh giá m t phương
pháp thi t k hư ng mô-ñun
tính phân rã (modular decomposability)
tính t ng h p (modular composability)
tính d hi u (modular understandability)
tính liên t c (modular continuity)
tính b o v (modular protection)
10
5
- Các tiêu chu n c a m t
phương pháp thi t k
tính phân rã (modular decomposability)
phân rã v n ñ thành các v n ñ con nh
hơn
có th gi i quy t các v n ñ con m t cách
ñ cl p
các phương pháp thi t k t trên xu ng (to-
down design) th a mãn tiêu chu n này
11
Các tiêu chu n c a m t
phương pháp thi t k
tính t ng h p (modular composability)
các mô-ñun d dàng ñư c k t h p v i nhau
ñ t o nên các h th ng m i
có m i quan h ch t ch v i tính tái s d ng
tính t ng h p có th xung ñ t v i tính phân
rã
• phân rã thành các mô-ñun chuyên bi t thay vì các
mô-ñun t ng quát
12
6
- Các tiêu chu n c a m t
phương pháp thi t k
tính d hi u (modular understandability)
thi t k các mô-ñun m t cách d hi u
tính ch t m i mô-ñun
• m i mô-ñun có d hi u ?
• các tên s d ng có ý nghĩa ?
• cso s d ng thu t toán ph c t p ?
Ví d
s d ng “goto”
chương trình vài nghìn dòng l nh, nhưng không s
d ng hàm/th t c
13
Các tiêu chu n c a m t
phương pháp thi t k
tính liên t c (modular continuity)
m t s thay ñ i trong ñ c t yêu c u ch d n
ñ n s thay ñ i trong m t (ho c m t s ít)
mô-ñun
Ví d
☺không s d ng s ho c chu i ký t trong chương
trình, ch ñư c s d ng các h ng ñã ñ nh nghĩa
s d ng m ng
14
7
- Các tiêu chu n c a m t
phương pháp thi t k
tính b o v (modular protection)
ki n trúc ñươc thi t k sao cho n u m t ñi u
ki n b t thư ng x y ra, ch m t (ho c m t s
ít) mô-ñun b nh hư ng
15
Thi t k ki n trúc
Ki n trúc = t p h p các thành
ph n/mô-ñun và quan h gi a chúng
các thành ph n/mô-ñun
• hàm / nhóm các hàm / l p ...
quan h
• s d ng / g i / th a k ...
16
8
- Ch t lư ng c a ki n trúc
m i mô-ñun có tính k t c cao (high
cohesion)
m t mô-ñun là m t ñơn v lô-gíc
toàn b mô-ñun cùng ñóng góp th c hi n
m t m c tiêu
liên k t l ng l o (low coupling) gi a các mô-
ñun
ít ràng bu c, ph thu c l n nhau
d hi u
ñ nh nghĩa r ràng
các mô-ñun và quan h gi a chúng
17
Các lo i ki n trúc
Ba lo i mô hình ki n trúc thư ng ñư c s
d ng
chia s d li u: mô hình “Repository”
chia s d ch v , servers: mô hình “Client-
Server”
mô hình l p (layered model)
18
9
- Mô hình “Repository”
Nguyên t c
d li u chia s ñư c t p trung trong m t
CSDL
các h th ng con ñ u truy c p vào CSDL
chung
Khi m t lư ng d li u l n c n chia s gi a
các h th ng con
mô hình “Repository” thư ng ñư c s d ng
19
Mô hình “Repository”
Ví d ki n trúc m t công c CASE
20
10
- Mô hình “Repository”
Ưu di m
ñơn gi n
hi u qu khi chia s lư ng d li u l n
s ñ c l p c a các h th ng con
H n ch
các h th ng con ph i th ng nh t trên mô
hình d li u “repository”
khó khăn khi phân tán d li u
21
Mô hình “Client-Server”
Nguyên t c
mô hình phân tán: d li u và x lý ñư c
phân tán trên nhi u thành ph n khác nhau
H th ng bao g m
các servers cung c p các d ch v
• có th có nhi u servers
các clients yêu c u các d ch v
phương th c trao ñ i
• m ng hay trên m t máy tính
22
11
- Mô hình “Client-Server”
Ví d
23
Mô hình “Client-Server”
Ưu ñi m
s d ng hi u qu m ng
d dàng thêm server m i ho c nâng c p server hi n
t i
phân tán d li u d dàng
H n ch
m i h th ng con quan lý d li u riêng c a nó
• có th d n ñ n dư th a
không có ki n trúc t p trung ghi nh n các dich v
• khó khăn ñ xác ñ nh d li u hay d ch v s d ng
24
12
- Mô hình l p
Nguyên t c
t ch c h th ng thành t p h p các l p
m i l p cung c p t p h p các d ch v
ñư c s d ng ñ mô t quan h gi a các
h th ng con
khi giao di n c a m t l p thay ñ i, ch l p
k c n b nh hư ng
h tr mô hình phát tri n tăng trư ng
25
Mô hình l p
Ví d : h th ng qu n lý phiên b n
26
13
nguon tai.lieu . vn