Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình
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ể

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình
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
Data
System Software Interface Component Algorithm
structure
architecture specification 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
ñ c l 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
13File đính kèm:
bai_giang_nhap_mon_cong_nghe_phan_mem_chuong_6_thiet_ke_nguy.pdf

