Bài giảng Kỹ nghệ phần mềm - Bài 5: Khái niệm thiết kế phần mềm - Nguyễn Văn Vỵ

Tóm tắt Bài giảng Kỹ nghệ phần mềm - Bài 5: Khái niệm thiết kế phần mềm - Nguyễn Văn Vỵ: ... cái nhìn tổng thể về hệ thống  mối quan hệ giữa các mô đun  giao diện giữa các mô đun Sử dụng biểu đồ cấu trúc (structure chart), mô tả: không cần chỉ ra:  thứ tự thực hiện  số lần thực hiện  chi tiết thiết kế Bộ mụn Cụng nghệ phần mềm – ĐHCN 14 NguyễnVănVỵ Thiết kế cấu trúc dữ liệu ... diện „ danh sách tham số vμ giá trị trả lại „ Không cần biết cách thức cμi đặt của nó: „ thuật toán „ cấu trúc dữ liệu „ giao diện ngoại lai (mô đun thứ cấp, thiết bị vμo/ra) „ tμi nguyên hệ thống Bộ mụn Cụng nghệ phần mềm – ĐHCN 25 NguyễnVănVỵ Lý do che giấu thông tin „ Giảm hiệu ứng phụ...hất. Ví dụ:  các ngôn ngữ bậc thấp chỉ dùng biến chung  lạm dụng lệnh Goto trong một chu trình 10 k =1 20 gosub 100 30 if y > 120 goto 60 40 k = k+1 50 goto 20 60 print k, y 70 stop 100 Y =3*k*k+7*k-3 110 return Bộ mụn Cụng nghệ phần mềm – ĐHCN 32 NguyễnVănVỵ Ghép nối chung  Các...

pdf45 trang | Chia sẻ: havih72 | Lượt xem: 177 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Kỹ nghệ phần mềm - Bài 5: Khái niệm thiết kế phần mềm - Nguyễn Văn Vỵ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN
Email: vynv@coltech.vnu.vn
Kỹ nghệ phần mềm
Software Engeneering
Nguyễn Văn Vỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
NguyễnVănVỵ
Nội dung
Bài 5: Khỏi niệm thiết kế phần mềm 
„ 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ệ phần mềm – ĐHCN 3
NguyễnVănVỵ
TÀI LiỆU THAM KHẢO
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần 
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 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. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. 
Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà
Nội.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 4
NguyễnVănVỵ
Khái niệm thiết kế phần mềm
 Tìm giải pháp công nghệ (cách thức, ph−ơng án)
 Biểu diễn cách thức, ph−ơng án
 Xem xét lại, chi tiết hóa
đủ chi tiết để ng−ời lập trình biết phải lμm nh− thế 
nμo để chuyển thμnh ch−ơng trình
„ Thiết kế lμ chuyển đặc tả yêu cầu thμnh mô tả thiết 
kế mμ người lập trình có thể chuyển thμnh chương 
trình với 1 ngôn ngữ, vận hμnh đ−ợc đáp ứng đ−ợc 
yêu cầu đặt ra 
„ Lμ 1 quá trình sáng tạo:
Bộ mụn Cụng nghệ phần mềm – ĐHCN 5
NguyễnVănVỵ
„ tạo mô hình cμi đặt của phần mềm
„ lμ công cụ giao tiếp giữa các những ng−ời tham gia 
phát triển, cơ sở đảm bảo chất l−ợng hệ thống
 dễ đọc, dễ hiểu, dễ sửa đổi hơn mã ch−ơng trinh
 có nhiều mức chi tiết; cung cấp cái nhìn tổng thể
 lμm cơ sở để trao đổi, cải tiến 
„ Cung cấp đầy đủ thông tin cho việc bảo trì sau nμy:
„ Giảm công sức mã hóa khi sửa đổi
„ Tiện bảo trì phát triển, mở rộng
Vai trò thiết kế
Bộ mụn Cụng nghệ phần mềm – ĐHCN 6
NguyễnVănVỵ
Cấu trúc thiết kế
„ Phần mềm lμ tập các mô đun t−ơng tác lẫn nhau
„ 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 cμi đặt mô đun
 t−ơng tác giữa các mô đun
Bộ mụn Cụng nghệ phần mềm – ĐHCN 7
NguyễnVănVỵ
1. không bị bó buộc vμo một cách nhin hạn chế nμo
 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
 nh−ng 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ệ phần mềm – ĐHCN 8
NguyễnVănVỵ
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
 phải đ−ợc modun hóa, phân cấp
Nguyên lý thiết kế (t)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 9
NguyễnVănVỵ
7. Thiết kế không phải lμ mã hóa
 thiết kế luôn có mức trừu t−ợng hơn mã hóa, đảm 
bảo dễ hiểu, dễ thay đổi
8. Thiết kế cần đ−ợc đánh giá chất l−ợng ngay 
trong khi đ−ợc tạo ra
 tính kết dính, tính ghép nối, hiệu quả thuật toán
9. Thiết kế cần đ−ợc thẩm định để tránh các lỗi 
mang tính hệ thống
 thiếu chức năng, chức năng không rõ, mâu thuẫn...
Nguyên lý thiết kế (t)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 10
NguyễnVănVỵ
Nôi dung & chất l−ợng thiết kế
Nội dung thiết kế 
„ Thiết kế kiến trúc
 phân rã hệ thống thμnh hệ thống concác mô đun, 
 xác định giao diện t−ơng tác gi−a các mô đun
„ Thiết kế cấu trúc dữ liệu
 xây dựng mô hinh biểu diễn thông tin
„ Thiết kế thủ tục (thuật toán)
 xác định các b−ớc thực hiện xử lý
„ Thiết kế giao diện ng−ời dùng
 nên nhin nhận giao diện lμ một bμi toán độc lập
Bộ mụn Cụng nghệ phần mềm – ĐHCN 11
NguyễnVănVỵ
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μ hoμn chỉnh
phỏc thảo 
thiết kế phi 
hỡnh thức
thiết kế
phi hỡnh 
thức
thiết kế
hỡnh thức 
hơn(bỏn) 
thiết kế chi 
tiết cuối 
cựng 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 12
NguyễnVănVỵ
Tiến trình hoạt động thiết kế vμ sản phẩm
Đặc tả cỏc yờu cầu kiến trỳc hệ thốngthiết kế kiến trỳc
Đặc tả trừu tượng
thiết kế giao diện
thiết kế thành phần
thiết kế dữ liệu 
thiết kế thuật toỏn
đặc tả phần mềm
 đặc tả giao diện
đặc tả thành phần
đặc tả cấu trỳc dữ liệu
đặc tả thuật toỏn
Bộ mụn Cụng nghệ phần mềm – ĐHCN 13
NguyễnVănVỵ
Thiết kế kiến trúc
 cái nhìn tổng thể về hệ thống
 mối quan hệ giữa các mô đun
 giao diện giữa các mô đun
Sử dụng biểu đồ cấu trúc (structure chart), mô tả:
không cần chỉ ra:
 thứ tự thực hiện
 số lần thực hiện
 chi tiết thiết kế
Bộ mụn Cụng nghệ phần mềm – ĐHCN 14
NguyễnVănVỵ
Thiết kế cấu trúc dữ liệu
 Chọn cách biểu diễn các đối t−ợng thiết kế có 
ảnh h−ởng mạnh mẽ đến chất l−ợng phần mềm
 Thiết kế cấu trúc lô gic
 Các quan hệ chuẩn
 Các khóa 
 Các tham chiếu
 Các cấu trúc thao tác dữ liệu
Các mức thiết kế
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ệ phần mềm – ĐHCN 15
NguyễnVănVỵ
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ệ phần mềm – ĐHCN 16
NguyễnVănVỵ
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ệ phần mềm – ĐHCN 17
NguyễnVănVỵ
Trừu t−ợng hóa (abstraction)
„ Khái niệm cơ sở trong t− duy của con ng−ời
„ Lμ quá trinh ánh xạ một sự vật/hiện t−ợng của thế 
giới thực thμnh 1 khái niệm logic
„ Có nhiều mức trừu t−ợng khác nhau
„ cho phép con ng−ời tập trung (t− duy) vμo giải quyết vấn 
đề mμ không cần bận tâm đến chi tiết
„ biểu diễn vấn đề bằng một cấu trúc tự nhiên
Bộ mụn Cụng nghệ phần mềm – ĐHCN 18
NguyễnVănVỵ
Cửa
mó sụ: 256AD
loại: của ra vào
hướng mở: ra bờn trỏi
cao: 2.3
rộng: 0.85
trong lượng: 120
màu: nõu cỏnh dỏn
Trừ t−ợng dữ liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 19
NguyễnVănVỵ
Mở cửa
Mụ tả chi tiến quỏ
trỡnh vào phũng 
qua của
Trừ t−ợng thủ tục
Bộ mụn Cụng nghệ phần mềm – ĐHCN 20
NguyễnVănVỵ
Lμm mịn từng b−ớc
Mở cửa
Bước đến gần cửa
Đưa chỡa khúa vào ổ xoay
Mở cửa
Bước qua vào phũng
Đúng cửa lại 
Lặp lại cho đến khi chốt khúa bật ra
Nếu chổt khụng mở thỡ
Rỳt khúa ra, tỡm chỡa khỏc phự
hợp, cắm vỏo ổ khúa, tiếp tục 
xoay cho đến khi mở được
Bước qua cuửa vào phũng
Đúng cửa lại 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 21
NguyễnVănVỵ
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 sức 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ệ phần mềm – ĐHCN 22
NguyễnVănVỵ
Cần xác định số môđun tối −u
giá
phần 
mềm
số mô đunkhoảng có số
mô đun tối −u
chi phí phát triển mô đun
chi phí
tích hợp
Số l−ợng môđun
Bộ mụn Cụng nghệ phần mềm – ĐHCN 23
NguyễnVănVỵ
Kích th−ớc?nội dung?
Mụđun
Kích cỡ môđun
„ Kích cỡ mô đun đ−ợc quyết định dựa trên khái niệm độc 
lập chức năng: mỗi mô đun nờn thực hiện 1 công việc: 
dễ hiểu, dễ sửa đổi, dễ tái sử dụng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 24
NguyễnVănVỵ
Che giấu thông tin 
„ Sử dụng môđun thông qua các giao diện
„ danh sách tham số vμ giá trị trả lại
„ Không cần biết cách thức cμi đặt của nó:
„ thuật toán
„ cấu trúc dữ liệu
„ giao diện ngoại lai (mô đun thứ cấp, thiết bị vμo/ra)
„ tμi nguyên hệ thống
Bộ mụn Cụng nghệ phần mềm – ĐHCN 25
NguyễnVănVỵ
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
Bộ mụn Cụng nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
Chất l−ợng thiết kế
Ba đặc tr−ng xem nh− lμ h−ớng dẫn cho 1 thiết kế tốt 
(McMlaughli[MCG91]):
„ Thiết kế phảI triển khai đ−ợc tất cả yêu cầu trong mô hình 
phân tích & yêu cầu tiềm ẩn mμ khách hμng đòi hỏi.
„ Thiết kế cần là bản h−ớng dẫn dễ đọc, dễ hiểu cho ng−ời 
viết ch−ơng trình, ng−ời kiểm thử vμ ng−ời bảo trì.
„ Thiết kế cần cung cấp 1 bức tranh đầy đủ về phần mềm
trên quan điểm triển khai h−ớng đến các mặt dữ liệu, chức 
năng vμ hμnh vi của hệ thống 
MCG91: McMlaughli,R., Mộ số chú ý về thiết kế ch−ơng trình, Software Engineering 
Notes,vol.16, no.4,oct 1991, pp53-54.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
Tiêu chí chất l−ợng
Cần thiết lập các tiêu chí kỹ thuật để đánh giá một thiết 
kế tốt hay không:
„ Thiết kế cần có kiến trúc tốt: cấu thμnh từ các mẫu 
(pattern), các thμnh phần có đặc tr−ng tốt, dễ tiến hoá.
„ Thiết kế đ−ợc môđul hoá cho mỗi thμnh phần chức 
năng
„ Chứa các biểu diễn tách biệt nhau về: dữ liệu, kiến 
trúc, giao diện, thμnh phần, môi tr−ờng 
„ Liên kết qua giao diện lμm giảm độ phức tạp liên kết 
giữa các môđul với nhau vμ giữa hệ thống vμ môI 
tr−ờng 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
Độ đo chất l−ợng thiết kế
„ Phụ thuộc bμi toán, không có ph−ơng pháp chung
„ Một số độ đo:
 Coupling: mức độ ghép nối giữa các module
 Cohesion: mức độ liên kết giữa các thμnh phần trong 
một module
 Understandability: tính hiểu đ−ợc
 Adaptability: tính thích nghi đ−ợc
Bộ mụn Cụng nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
„ Coupling (ghép nối)
„ độ đo sự liên kết (trao đổi dữ liệu) giữa các mô đun
„ ghép nối chặt chẽ thì khó hiểu, khó sửa đổi do phảI 
tính đến các liên kết có thể, dễ gây lỗi lan truyền. 
„ 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 năng); 
dễ hiểu, dễ sửa đổi.
„ Tiêu chuẩn của thiết kế tốt: kết dính chặt, ghép nối 
lỏng
Độ đo chất l−ợng thiết kế (t)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
Ghép nối - Coupling
mức độ quan hệ của 
các module:
„ module nên ghép nối 
lỏng lẻo
„ Mức lỏng lẻo thể
hiện qua loại hình 
ghép nối (hình bên)
ghép nối nội dung
loose and best
still very good 
ok
ok
very bad
tight and worst
ghép nối th−ờng
ghép nối điều khiển 
ghép nối chung
ghép nối nh∙n 
ghép nối dữ liệu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
Ghép nối nội dung
„ Các module dùng dữ liệu hay thông tin điều khiển đ−ợc 
duy trì trong 1 mô dun khác
„ Lμ tr−ờng hợp xấu nhất. Ví dụ:
 các ngôn ngữ bậc thấp chỉ dùng biến chung
 lạm dụng lệnh Goto trong một chu trình
10 k =1
20 gosub 100
30 if y > 120 goto 60
40 k = k+1
50 goto 20
60 print k, y
70 stop
100 Y =3*k*k+7*k-3
110 return
Bộ mụn Cụng nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
Ghép nối chung
 Các module trao đổi dữ liệu thông qua biến tổng thể
 Lỗi của module nμy có thể ảnh h−ởng đến hoạt động 
của module khác
 Khó sử dụng lại các module
Biến tổng thể
A B
C
mô đun gây lỗi
mô đun chịu lỗi
Bộ mụn Cụng nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
Ghép nối điều khiển 
„ 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
procedure PrintRec is
begin
Display Name (name, 
sex);
.....
end PrintRec;
procedure DisplayName (in : name, 
sex) is
begin
if sex = m
then 
print Mr.
else 
print Ms
print name
end DisplayName;
Bộ mụn Cụng nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
Ghép nối nhãn
„ Các môđun trao đổi thừa thông tin
„ Môđun có thể thực hiện chức năng ngoμi ý muốn
„ Lμm giảm tính thích nghi
calc_age
(bản ghi nhân sự)
(tuổi)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Ghép nối dữ liệu
„ Truyền dữ liệu qua tham số
„ Nhận kết quả qua tham số vμ giá trị trả lại
(ngμy)(ngμy của tuần)
calc_day_of_week
Bộ mụn Cụng nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
Kết dính - Cohesion
„ mỗi môđun chỉ nên 
thực hiện 1 chức 
năng
„ mọi thμnh phần của 
môđun phải tham 
gia thực hiện chức 
năng đó
chức năng high and best
ok
still ok
not bad at all
still not bad at all
still not bad at all
lowest and worst by far
thời điểm
thủ tục
gom góp
logic
truyền thông
tuần tự
Bộ mụn Cụng nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
Các loại kết dính
Kết dính gom góp (coincidental cohesion):
 gom các thμnh phần không liên quan đến nhau
 Kết dính lôgic (logical cohesion)
 gồm các thμnh phần lμm chức nă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ớ...)
 Kết dính thủ tục (procedural cohesion)
 các thμnh phần thực hiên theo 1 thứ tự xác định (vd: tính 
l−ơng cơ bản, tính phụ cấp, tính bảo hiểm)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
Các loại kết dính(t)
Kết dính truyền thông (communicational cohesion) 
 các thμnh phần truy cập đến cùng tập dữ liệu: tính toán 
thống kê (tính max, min, mean, variation...)
 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: ảnh mầu -> đen trắng -> ảnh nén
 Kết dính chức năng (functional cohesion)
 các thμnh phần cùng góp phần thực hiện một chức 
năng (vd: các thao tác sắp xếp)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
Tính hiểu đ−ợc -Understandability
„ Lμ kết quả tổng hợp từ nhiều thuộc tính
 Cấu trúc rõ rμng, tốt
 Ghép nối lỏng lẻo
 Kết dính cao
 Đ−ợc lập tμi liệu
 Thuật toán, cấu trúc dễ hiểu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
Tính thích nghi đ−ợc (Adaptability)
„ Hiểu đ−ợc
 sửa đổi đ−ợc, tái sử dụng đ−ơc
„ Tự chứa
 không sử dụng th− viện ngoμi
 mâu thuẫn với xu h−ớng tái sử dụng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
Thiết kế h−ớng đối t−ợng vμ chất lượng
„ Thiết kế h−ớng đối t−ợng h−ớng tới chất l−ợng thiết kế tốt
 đóng gói, che dấu thông tin (độc lập dữ liệu)
 các thực thể hoạt động độc lập (cục bộ, dùng lại)
 trao đổi dữ liệu qua truyền thông (liên kết yếu)
 có khả năng kế thừa (dùng lại)
 cục bộ, dễ hiểu, dễ tái sử dụng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Câu hỏi ôn tập
1. Thiết kế phần mềm lμ gi?
2. Nêu các nguyên lý thiết kê phần mềm?
3. Nêu các loại thiết kế vμ giảI thích nội dung của nó?
4. GiảI thích mộ số khái niệm cơ bản của thiết kế: 
ƒ trừu t−ợng?
ƒ lμm mịn?
ƒ mô đun hoá?
ƒ thủ tục?
ƒ che dấu thông tin?
5. Vẽ sơ đồ mô tả mỗi quan hệ gi−a số mô đun vμ chi phí phát 
triển? 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
Câu hỏi ôn tập
6. Các đặc tr−ng của một thiết kế tốt?
7. Các tiêu chí kỹ thuật đánh giá một thiết kế tốt
8. Lợi ích của hệ thống có kiến trúc tốt
9. Lợi ích của việc mô đun hoá trong thiết kế phần mềm lμ gì?
10. Lợi ích của việc che dấu thông tin lμ gì?
11. Có các độ đo chất l−ợng thiết kế nμo?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
Câu hỏi ôn tập
12. Ghép nối lμ gì? Kể các loại ghép nối theo mức độ chặt 
(tồi) dần?
13. Kết dính lμ gì? Kể các loại kết dính theo mức độ chặt 
giảm (kém) dần?
14. Thế nμo lμ tính hiểu đ−ợc?
15. Thế nμo lμ tính thích nghi đ−ợc?
16. Thiết kế h−ớng đối t−ợng h−ớng đến chất l−ợng tốt ở
những mặt nμo? 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Câu hỏi và thảo luận

File đính kèm:

  • pdfbai_giang_ky_nghe_phan_mem_bai_5_khai_niem_thiet_ke_phan_mem.pdf