Thông tin tài liệu
Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email: vynv@coltech.vnu.vn
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
Khái niệm thit 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 lm nh thế
no để chuyển thnh chơng trình
Thit k l chuyển đặc tả yêu cầu thnh mô tả thiết
kế m ngi lp trình có th chuyn thnh chng
trình với 1 ngôn ngữ, vận hnh đợ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 phn mm HCN
5
NguynVnV
tạo mô hình ci đặt của phần mềm
l công c giao tip gia các những ngời tham gia
phát trin, 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ể
lm cơ sở để trao đổi, cải tiến
Cung cấp đầy đủ thông tin cho việc bảo trì sau ny:
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 phn mm HCN
6
NguynVnV
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 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
º ph¶i ®−îc modun hãa, ph©n cÊp
Nguyªn lý thiÕt kÕ (t)
B mụn Cụng ngh phn mm HCN
9
NguynVnV
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 phn mm HCN
10
NguynVnV
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 thnh hệ thống concác mô đun,
xác định giao diện tơng tác gia 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 bi toán độc lập
[...]... 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 13 Thiết kế cấu trúc d liệu Nguy nV nV 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 Các mức thiết kế 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 B mụn Cụng ngh ph n m m HCN Thiết kế cấu trúc vật lý - Các file - Các kiểu - Kích cỡ 14... Cụng ngh ph n m m HCN 15 Các khái niệm thiết kế cơ sở Nguy nV nV Trừu t ợng hóa: trừu t ợng hóa dữ liệu, thủ tục, Làm mịn: Tính môdun: Kiến trúc: Thủ tục: Che dấu: B mụn Cụng ngh ph n m m điều khiển chi tiết hóa các trừu t ợng theo ý đồ phân chia dữ liệu v chức năng cấu trúc tổng thể của phần mềm thuật toán để thực hiện chức năng điều khiển bằng giao diện HCN 16 Trừu t ợng hóa (abstraction)... 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 26 Tiêu chí chất l ợng Nguy nV nV 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:... 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... nghi (tuổi) (bản ghi nhân sự) calc_age B mụn Cụng ngh ph n m m HCN 34 Ghép nối dữ liệu Nguy nV nV Truyền dữ liệu qua tham số Nhận kết quả qua tham số v giá trị trả lại (ng y của tuần) (ng y) calc_day_of_week B mụn Cụng ngh ph n m m HCN 35 Kết dính - Cohesion Nguy nV nV 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 tuần tự truyền thông... 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 21 Số l ợng môđun Nguy nV nV Cần xác định số môđun tối u chi phí phát triển mô đun giá phần mềm chi phí tích hợp khoảng có số mô đun tối u B mụn Cụng ngh ph n m m HCN số mô đun 22 Kích cỡ môđun Nguy nV nV nội dung? Kích th ớc? Mụ un Kích cỡ mô đun đ ợc quyết định dựa trên khái ni m độc lập... 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 24 Lý do che giấu thông tin Nguy nV nV 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... độ đ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 28 Độ đo chất l ợng thiết kế (t) 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... 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 B mụn Cụng ngh ph n m m HCN 29 Ghép nối - Coupling Nguy nV nV 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 th ờng loose and best ghép nối dữ liệu still... 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 10 20 30 40 50 lạm dụng lệnh Goto trong một chu trình k =1 60 print k, y 70 stop gosub 100 if y > 120 goto 60 100 Y =3*k*k+7*k-3 k = k+1 110 return goto 20 B mụn Cụng ngh ph n m m HCN 31 Ghép nối chung Nguy nV nV Các module trao đổi dữ liệu thông qua . mm HCN
6
NguynVnV
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:
. Hà
Ni.
B mụn Cụng ngh phn mm HCN
4
NguynVnV
Khái niệm thit 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
Ngày đăng: 19/02/2014, 00:20
Xem thêm: Tài liệu Kỹ nghệ phần mềm 05 docx, Tài liệu Kỹ nghệ phần mềm 05 docx