Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email: [email protected]
K ngh phn mm
Software Engeneering
B môn Công ngh phn mm – HCN
2
NguynVnV
Ni dung
Bài 5: Khái nim thit k phn mm
̈ Kh¸i niÖm, nguyªn lý, chÊt l−îng
̈ Néi dung thiÕt kÕ vμ chÊt l−îng
B môn Công ngh phn mm – HCN
3
NguynVnV
TÀI LiU THAM KHO
1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn
mm. Nhà xut bn i hc Quc gia Hà ni, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi.
Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà
Ni.
B mụn Cụng ngh phn mm HCN
4
NguynVnV
Mô đun hóa l chìa khóa cho phần mềm tốt
Mục tiêu thiết kế l xác định:
các mô đun chức năng
cách thức ci đặt mô đun
tơng tác giữa các mô đun
B mụn Cụng ngh phn mm HCN
7
NguynVnV
1. không bị bó buộc vo một cách nhin hạn chế no
nó cần đợc lựa chọn từ các giải pháp có thể
2. cho phép lần ngợc lại mô hinh phân tích
các mô đun & các yêu cầu không nhất thiết
phải tơng ứng 1-1
nhng phải kiểm tra đợc sự thỏa mãn các
yêu cầu
Nguyên lý thiết kế
B môn Công ngh phn mm – HCN
8
NguynVnV
3.
Kh«ng nªn t¹o l¹i c¸c thiÕt kÕ (gi¶i ph¸p) ®· cã, mμ
cÇn t¸i sö dông tèi ®a chóng
4. M« h×nh thiÕt kÕ (gi¶i ph¸p) nªn tiÕn gÇn ®Õn m« hinh
thÕ giíi thùc
(bμi to¸n)
5. BiÓu diÔn thiÕt kÕ ph¶i
nhÊt qu¸n vμ cã tÝnh tÝch hîp:
º thiÕt kÕ do nhiÒu ng−êi tiÕn hμnh song song
º ph¶i thèng nhÊt c¸ch biÓu diÔn, thèng nhÊt giao diÖn
6. ThiÕt kÕ cÇn cã cÊu tróc ®Ó dÔ hiÓu, dÔ thay ®æi
11
NguynVnV
Mô hình tổng quát tiến trình thiết kế
Tiến trình thiết kế l quá trình tăng cờng hình thức
hóa v luôn quay lại các thiết kế đúng đắn v ít hình
thức hóa hơn trớc đó để kiểm tra v hon chỉnh
phỏc tho
thit k phi
hỡnh thc
thit k
phi hỡnh
thc
thit k
hỡnh thc
hn(bỏn)
thit k chi
tit cui
cựng
B môn Công ngh phn mm – HCN
12
NguynVnV
TiÕn tr×nh hot đng thiÕt kÕ vμ sn phm
c t các yêu cu kin trúc h thng
thit k kin trúc
c t tru tng
thit k giao din
thit k thành phn
thit k d liu
thit k thut toán
đc t phn mm
Thiết kế cấu trúc vật lý
- Các file
-Các kiểu
-Kích cỡ
B môn Công ngh phn mm – HCN
15
NguynVnV
ThiÕt kÕ thñ tôc
M« t¶ c¸c b−íc ho¹t ®éng cña m« ®un
Ph−¬ng ph¸p m« t¶
-
gi¶ m· (pseudo code)
- s¬ ®å luång (flow chart)
- biÓu ®å (diagram) Nassi-Shneiderman
- biÓu ®å ho¹t ®éng (activity diagram)
-JSP
B mụn Cụng ngh phn mm HCN
16
NguynVnV
Các khái niệm thiết kế cơ sở
Trừu tợng hóa: trừu tợng hóa dữ liệu, thủ tục,
điều khiển
Làm mịn: chi tiết hóa các trừu tợng theo ý đồ
Tính môdun: phân chia dữ liệu v chức năng
Kiến trúc: cấu trúc tổng thể của phần mềm
Thủ tục: thuật toán để thực hiện chức năng
Che dấu: điều khiển bằng giao diện
B mụn Cụng ngh phn mm HCN
17
NguynVnV
NguynVnV
Lμm mÞn tõng b−íc
M ca
Bc đn gn ca
a chìa khóa vào xoay
M ca
Bc qua vào phòng
óng ca li
Lp li cho đn khi cht khóa bt ra
Nu cht không m thì
Rút khóa ra, tìm chìa khác phù
hp, cm váo khóa, tip tc
xoay cho đn khi m đc
Bc qua cua vào phòng
óng ca li
B mụn Cụng ngh phn mm HCN
21
NguynVnV
Thiết kế mô đun
Dựa trên quan điểm "chia để trị"
C(p1 + p2) > C(p1) + C(p2)
E(p1 + p2) > E(p1) + E(p2)
C: độ phức tạp
E: cụng sc thực hiện
giảm độ phức tạp
cục bộ, dễ sửa đổi
có khả năng phát triển song song
dễ sửa đổi, dễ hiểu nên dễ tái sử dụng
B môn Công ngh phn mm – HCN
22
cấu trúc d liệu
giao diện ngoại lai (mô đun thứ cấp, thiết bị vo/ra)
ti nguyên hệ thống
B mụn Cụng ngh phn mm HCN
25
NguynVnV
Lý do che giấu thông tin
Giảm hiệu ứng phụ khi sửa đổi môđun
Giảm tác động của thiết kế tổng thể lên thiết kế
cục bộ
Nhấn mạnh 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 năng, 1 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