Giáo trình Java P9 - Pdf 71

Nguyên lý thiếtkế và
mẫuthiếtkế
Nguyên lý thiếtkế…
2
NguyễnViệtHà
Nội dung

Thiết kế module

Chất lượng thiết kế

Độ đo thiết kế tốt

Khái niệm về mẫu thiết kế
Nguyên lý thiếtkế…
3
NguyễnViệtHà
Tài liệu tham khảo

Bruce Eckel, Thinking in Patterns

Erich Gamma, Design Patterns –
Elements of Reusable Object-Oriented
Software
Nguyờn lý thitk
4
NguynVitH
Thit k module
Dựa trên quan điểm "chia để trị"
C(p1 + p2) > C(p1) + C(p2)
E(p1 + p2) > E(p1) + E(p2)


Không cần biết cách thức cài đặt thực tế

thuật toán

cấu trúc d liệu

giao diện ngoại lai (các mô đun thứ cấp, thiết
bị vào/ra)

tài nguyên hệ thống
Nguyờn lý thitk
7
NguynVitH
Che giấu thụng tin: lý do

Giảm hiệu ứng phụ khi sửa đổi module

Giảm sự tác động của thiết kế tổng thể lên
thiết kế cục bộ

Nhấn mạnh việc trao đổi thông tin thông
qua giao diện

Loại bỏ việc sử dụng d liệu dùng chung

Hớng tới sự đóng gói chức nng - thuộc
tính của thiết kế tốt
Tạo ra các sản phẩm phần mềm tốt hơn
Nguyờn lý thitk

Cohesion (kết dính)

độ đo sự phụ thuộc lẫn nhau của các thành phần
trong một module

kết dính cao thỡ tính cục bộ cao (độc lập chức
nng); dễ hiểu, dễ sửa đổi
Nguyên lý thiếtkế…
10
NguyễnViệtHà
Coupling

møc ®é quan hÖ
cña c¸c module

module nªn
ghÐp nèi láng lÎo

cµng láng lÎo
cµng dÔ söa ®æi
thiÕt kÕ
normal coupling loose

and best
data coupling still very good
stamp coupling ok
control coupling ok
common coupling very bad
content coupling tight and worst
Nguyên lý thiếtkế…

13
NguyễnViệtHà
GhÐp nèi ®iÒu khiÓn (control coupling)
• C¸c module trao ®æi th«ng tin ®iÒu khiÓn
• Lµm cho thiÕt kÕ khã hiÓu, khã söa ®æi, dÔ nhÇm
printName
(name, sex)
printRecord
Nguyờn lý thitk
14
NguynVitH
Ghép nối nhãn (stamp coupling)
Các module trao đổi thừa thông tin
Module có thể thực hiện chức n

ng ngoài ý muốn
Làm giảm tính thích nghi
calcAge
(personel record)(age)
Nguyên lý thiếtkế…
15
NguyễnViệtHà
GhÐp nèi dữ liÖu (data coupling)
• TruyÒn d

liÖu qua tham sè
• NhËn kÕt qu¶ qua tham sè vµ gi¸ trÞ tr¶ l¹i
(date)(day of week)
calcDayOfWeek
Nguyờn lý thitk

ng lô gic tơng tự
- vd: hàm xử lý lỗi chung
Kết dính thời điểm (temporal cohesion)
- các thành phần hoạt động cùng thời điểm
- vd: hàm khởi tạo (đọc d

liệu, cấp phát bộ nhớ...)
Nguyờn lý thitk
18
NguynVitH
Các chủng loại kết dính
Kết dính thủ tục (procedural cohesion)
- các thành phần tạo có một thứ tự xác định
- vd: tính lơng cơ bản, tính phụ cấp, tính bảo hiểm
Kết dính truyền thông (communicational cohesion)
- các thành phần truy cập cùng d

liệu
- vd: thống kê (tính max, min, mean, variation...)
Nguyờn lý thitk
19
NguynVitH
Các chủng loại kết dính
Kết dính tuần tự (sequential cohesion)
- output của một thành phần là input của
thành phần tiếp theo
- vd: ảnh mầu -> đen trắng -> ảnh nén
Kết dính chức n

ng (functional cohesion)


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status