Bài giảng Kỹ nghệ phần mềm (Nhập môn) - Nguyễn Quốc Toản - Chương 3: Thiết kế phần mềm

III.1.Thiết kế phần mềm

 III.1.1.Vấn đề thiết kế

 III.I.2.Quá trình thiết kế III.1.3. Ph-ơng pháp thiết kế

 III.1.4. Chiến l-ợc thiết kế

 III.1.5. Chất l-ợng thiết kế

III.2.Thiết kế h-ớng đối t-ợng

 III.2.1. Cách tiếp cận h-ớng đối t-ợng

 III.2.2.Ba đặc tr-ng của thiết kế h-ớng đối t-ợng

III.2.3.Các -u điểm của thiết kế h-ớng đối t-ợng

 III.2.4.Phân biệt giữa thiết kế h-ớng đối t-ợng và lập trình h-ớng đối

t-ợng

III.3.Thiết kế h-ớng chức năng

 III.3.1.Cách tiếp cận h-ớng chức năng

III.3.2.L-u đồ dữ liệu

 III.3.3.Đồ thị cấu trúc III.3.4.Các từ điển dữ liệu

III.4.Giao diện ng-ời sử dụng

 III.4.1.Nhân tố con ng-ời và t-ơng tác ng-ời-máy

 III.4.2.Thiết kế giao diện ng-ời- máy

III.4.3.H-ớng dẫn thiết kế giao diện

III.5.Tài liệu thiết kế

pdf34 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1659 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Kỹ nghệ phần mềm (Nhập môn) - Nguyễn Quốc Toản - Chương 3: Thiết kế phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 biến 
nhất là X- Windows. Hệ thống X-Windows xác định một cú pháp và ngữ nghĩa cho thiết kế HCI và 
cung cấp các công cụ để tạo ra hiển thị, cửa sổ và đồ hoạ cũng nh− giao thức để sử lý tài nguyên, 
t−ơng tác thiết bị và giải quyết sự kiện. Một số biến thể và mở rộng của chuẩn hệ thống X - 
Windows đã đ−ợc phát triển và dùng trên PC và trạm làm việc d−ới UNIX và các hệ điều hành khác. 
 Giao diện ng−ời – máy,th−ờng vẫn đ−ợc gọi là "giao diện ng−ời dùng". Việc thiết kế cho giao diện ng−ời – máy 
yêu cầu hiểu biết về các nhân tố con ng−ời và công nghệ giao diện. Cảm nhận của con ng−ời, mức độ kĩ năng và l−ợc sử 
hành vi của ng−ời dùng phải tiến hành đều là các nhân tố trong thiết kế giao diện. Bên cạnh đó, kiểu cách giao diện, 
công nghệ phần cứng và phần mềm có sẵn, và bản thân ứng dụng cũng có ảnh h−ởng tới kết quả cuối cùng. 
Thiết kế HCI bao gồm việc tạo ra bốn kiểu mô hình: mô hình thiết kế, mô hình ng−ời dùng, cảm nhận hệ thống và 
hình ảnh hệ thống. Mỗi mô hình biểu thị cho giao diện từ một viễn cảnh khác nhau và mỗi mô hình đều đ−ợc dùng trong 
tiến trình thiết kế. Để phát triển một giao diện thành công, tất cả mô hình cuối cùng phải hợp nhất thành một biểu diễn 
cho hệ thống. 
Tiến trình thiết kế HCI bắt đầu với việc mô hình hoá nhiệm vụ, hoạt động phân tích và thiết kế để xác định ra các 
nhiệm vụ và hành động ng−ời dùng bằng cách dùng các tiếp cận soạn thảo hay h−ớng sự vật. Vấn đề thiết kế nh− thời 
gian đáp ứng, cấu trúc chỉ lệnh, giải quyết lỗi và tiện nghi trợ giúp lần l−ợt đ−ợc xét và mô hình thiết kế cho hệ thống 
đ−ợc làm mịn dần. Có thể dùng nhiều công cụ cài đặt để xây dựng bản mẫu, sau cho ng−ời dùng đánh giá. Cần có một 
tập các h−ớng dẫn cách giao tác, hiển thị thông tin và vào dữ liệu. 
III.5.Tài liệu thiết kế 
Dàn bài tài liệu thiết kế đ−ợc nêu trong bảng d−ới đây có thể đ−ợc dùng nh− một mô hình cho 
đặc tả thiết kế. Mỗi mục đều bao gồm một số đoạn đề cập tới các khía cạnh khác nhau của biểu diễn 
thiết kế. 
 Dàn bài tài liệu trình bày một mô tả thiết kế đầy đủ về phần mềm. Các mục của đặc tả thiết 
kế đ−ợc hoàn chỉnh khi ng−ời thiết kế làm mịn việc trình bày của mình về phần mềm . 
Dàn bài đặc tả thiết kế 
I.Phạm vi 
 A.Mục tiêu hệ thống 
 B. Phần cứng, phần mềm và giao diện con ng−ời 
 C. Các chức năng phần mềm chính 
 D.CSDL đ−ợc xác định bên ngoài 
 E.Các ràng buộc, giới hạn thiết kế chính 
II.Tài liệu tham khảo 
 A.Tài liệu về phần mềm hiện có 
 B.Tài liệu hệ thống 
 C.Tài liệu ng−ời cung cấp (phần cứng, phần mềm ) 
 D.Tham khảo kỹ thuật 
III.Mô tả thiết kế 
 A.Mô tả dữ liệu 
 1.Tổng quan về luồng dữ liệu 
 2.Tổng quan về cấu trúc dữ liệu 
 B.Cấu trúc ch−ơng trình suy dẫn 
 C.Giao diện bên trong cấu trúc 
IV.Modul;cho mỗi modul: 
 A.Lời thuật xử lý 
 B.Mô tả giao diện 
 C.Mô tả ngôn ngữ thiết kế ( hay những mô tả khác) 
 D.Các modul đã dùng 
 E.Tổ chức dữ liệu 
 F.Bình luận 
V. Cấu trúc tệp và dữ liệu toàn cục 
 A.Cấu trúc tệp ngoài 
 1.Cấu trúc logic 
 2.Mô tả bản ghi logic 
 3.Ph−ơng pháp thâm nhập 
 B. Dữ liệu toàn cục 
_____________________________________________________________Ch−ơng III. 
Nguyễn Quốc Toản- Nguyên văn Vỵ - Vu Đức Thi - Lê Đình Phùng 56
 C.Tham khảo chéo tệp và dữ liệu 
VI. Tham khảo chéo yêu cầu 
VII. Điều khoản kiểm thử 
 A.H−ớng dẫn kiểm thử 
 B.Chiến dich kiểm thử 
 C.Xem xét đặc biệt 
VIII.Đóng gói 
 A.Các điều khoản đặc biệt 
 B.Xem xét chuyển đổi 
IX. L−u ý đặc biệt 
X.Phụ lục 
 Phạm vi toàn cục của nỗ lực thiết kế đ−ợc mô tả trong mục I. Nhiều thông tin ch−a trong đó 
đ−ợc suy ra từ đặc tả hệ thống và các tài liệu khác trong pha xác định phần mềm. Các tham khảo 
riêng tới tài liệu hỗ trợ đ−ợc thực hiện trong mục II 
 Mục III, mô tả thiết kế , đ−ợc hoàn tất nh− một phần của thiết kế sơ bộ. Chúng ta đã l−u ý 
rằng thiết kế là h−ớng thông tin - tức là luồng và/hoặc cấu trúc của dữ liệu sẽ khống chế kiến trúc 
của phần mềm. Biểu đồ luồng dữ liệu hay các biểu diễn dữ liệu khác đ−ợc phát triển trong khi các 
phân tích yêu cầu đ−ợc làm mịn và đ−ợc dùng để điều khiển cấu trúc phần mềm. Bởi vì luồng thông 
tin đã có sẵn nên mô tả giao diện có thể đ−ợc phát triển cho các phần tử của phần mềm 
 Các mục IV và V tiến hoá khi thiết kế sơ bộ chuyển thành thiết kế chi tiết. Các modul - các 
phần tử định địa chỉ tách biệt đ−ợc của phần mềm nh− ch−ơng trình con, hàm hay thủ tục- khởi đầu 
đ−ợc mô tả bằng lời thuật xử lý trong tiếng Anh. Lời thuật xử lý giải thích chức năng thủ tục của 
một modul. Sau này, một công tụ thiết kế thủ tục sẽ đ−ợc dùng để dịch lời thuật thành một mô tả có 
cấu trúc. 
 Mô tả cách tổ chức dữ liệu đ−ợc nêu trong mục V. Các cấu trúc tệp duy trì trên ph−ơng tiện 
bộ nhớ phụ đ−ợc mô tả trong thiết kế sơ bộ; dữ liệu toàn cục đ−ợc gán; và tham khảo chéo gắn các 
modul riêng lẻ với tệp hay dữ liệu toàn cục đ−ợc thiết lập. 
 Mục VI của đặc tả thiết kế ch−a các tham khảo chéo về các yêu cầu. Mục đích của ma trận 
tham khảo chéo này là: 
1. Thiết lập rằng mọi yêu cầu đều đ−ợc thiết kế phần mềm thoả mãn 
2. Chỉ ra modul nào là chủ chốt cho việc cài đặt các yêu cầu xác định 
Mục yêu 
cầu 
 modul A modul B Modul C ... Modul Z 
Mục 3.1.1 v v 
Mục 3.1.2 v v 
Mục 3.1.3 v 
... 
Mục 3.m.n v v 
Hình- Tham khảo chéo yêu cầu 
 Giai đoạn đầu tiên trong việc phát triển các kiểm thử đ−ợc đ−a vào trong mục VII của tài 
liệu thiết kế. Một khi cấu trúc và giao diện phần mềm đã đ−ợc thiết lập thì chúng ta có thể phát 
triển các h−ớng dẫn để kiểm thử từng modul riêng rồi kiểm thử tích hợp toàn bộ bộ trình. Trong một 
số tr−ờng hợp, một đặc tả chi tiết về thủ tục kỹ nghệ phần mềm sẽ xuất hiện song song với thiết kế. 
Trong những tr−ờng hợp nh− vậy, mục này có thể xoá đi khỏi bản đặc tả thiết kế . 
 Các ràng buộc thiết kế, nh− những giới hạn bộ nhớ vật lí hay sự cần thiết một giao diện 
ngoài chuyên dụng có thể khống chéo các yêu cầu riêng để lắp ráp hay đóng gói phần mềm. Những 
_____________________________________________________________Ch−ơng III. 
Nguyễn Quốc Toản- Nguyên văn Vỵ - Vu Đức Thi - Lê Đình Phùng 56
xem xét đặc biệt gây ra bởi sự cần thiết cho việc chồng chất ch−ơng trình, quản lý bộ nhớ ảo, xử lý 
tốc độ cao hay các nhân tố khác có thể gây ra sự thay đổi trong thiết kế suy ra từ luồng cấu trúc 
thông tin. Các yêu cầu và xem xét cho việc đóng gói phần mềm đ−ợc trình bày trong mục VIII. Thứ 
nữa, mục này mô tả cho cách tiếp cận sẽ đ−ợc dùng để chuyển phần mềm sang vị trí của khách. 
 Mục IX và X của bản đặc tả thiết kế chứa dữ liệu phụ trợ. Các mô tả thuật toán, thủ tục 
khác, dữ liệu bảng, các trích đoạn từ các văn bản khác và các thông tin liên quan đ−ợc trình bày nh− 
những l−u ý đặc biệt hoặc nh− các phụ lục tách biệt. Có thể nên phát triển bản H−ớng dẫn sơ bộ/ Tài 
liệu cài đặt và đ−a nó vào nh− phụ lục cho tài liệu thiết kế. 
_______________________ 
_____________________________________________________________Ch−ơng III. 
Nguyễn Quốc Toản- Nguyên văn Vỵ - Vu Đức Thi - Lê Đình Phùng 56
Tóm tắt 
 Thiết kế là cái lõi của kỹ thuật kỹ nghệ phần mềm. Trong khi thiết kế ng−ời ta sẽ phát triển, 
xét duyệt và làm t− liệu cho việc làm mịn dần các chi tiết thủ tục, cấu trúc ch−ơng trình, cấu trúc dữ 
liệu. Việc thiết kế nảy sinh ra trong những biểu diễn cho phần mềm có thể đ−ợc xác nhận cề chất 
l−ợng . 
 Trong suốt ba thập kỷ qua ng−ời ta đề nghị một số khái niệm thiết kế phần mềm nền tảng. 
Tính modul (trong cả ch−ơng trình và dữ liệu) và khái niệm trừu t−ợng làm cho ng−ời thiết kế có khả 
năng đơn giản hoá và dùng lại các thành phần phần mềm. Việc làm mịn đ−a ra một cơ chế để biểu 
diễn các tầng kế tiếp của chi tiết chức năng. Cấu trúc ch−ơng trình và dữ liệu đóng góp cho một 
quan điểm tổng thể về kiến trúc phần mềm, trong khi thủ tục lại đ−a ra những chi tiết cần thiết cho 
việc cài đặt thuật toán. Che dấu thông tin và độc lập chức năng đ−a ra những trực cảm để đạt tới tính 
modul có hiệu quả. 
 Thiết kế phần mềm có thể đ−ợc xem xét hoặc theo cách nhìn kỹ thuật hoặc theo cách nhìn 
quản lý dự án. Theo quan điểm kỹ thuật, thiết kế bao gồm 4 hoạt động: thiết kế dữ liệu, thiết kế kiến 
trúc, thiết kế thủ tục và thiết kế giao diện. Theo quan điểm quản lý, thiết kế tiến hoá từ thiết kế sơ bộ 
sang thiết kế chi tiết. 
 Kí pháp thiết kế, đi kèm với các khái niệm lập trình có cấu trúc làm cho ng−ời thiết kế biểu 
diễn đ−ợc chi tiết thủ tục theo cách thức làm thuận tiện cho việc dịch sang mã ch−ơng trình. Các kí 
pháp đồ hoạ, bảng và văn bản đều có sẵn. 
 Còn nhiều ph−ơng pháp thiết kế phần mềm quan trọng nh− thiết kế h−ớng luồng dữ liệu, 
h−ớng sự vật, h−ớng dữ liệu .... Những ph−ơng pháp này, đ−ợc kết hợp với những nền tảng đã trình 
bày ở trên tạo nên cơ sở cho một cách nhìn đầy đủ về thiết kế phần mềm. 
_________________ 
? củng cố 
1. Tầm quan trong của thiết kế phần mềm ? Các giai đoạn phải trải qua? 
2. Chuẩn bị cho lập trình, những loại thiết kế nào cần tạo ra trong giai đoạn thiết kế ? ( kiến trúc, 
dữ liệu, thủ tục). Vẽ sơ đồ hoạt động thiết kế và sản phẩm thiết kế ?. Mô tả các hoạt động cốt 
yếu trong đó. 
3. Vẽ và phân tích sơ đồ mô tả mối quan hệ giữa các khía cạnh quản lý và kỹ thuật ? 
4. T− t−ởng của ph−ơng pháp cấu trúc? 
5. Các h−ớng dẫn đảm bảo chất l−ợng thiết kế ? 
6. Các khái niệm nền tảng cho thiết kế (trừu t−ợng, làm mịn, modul, kiến trúc phần mềm , cấp bậc 
điều khiển, cấu trúc dữ liệu, thủ tục phần mềm, che dấu thông tin 
7. Tóm l−ợc 2 chiến l−ợc thiết kế chức năng và đối t−ợng ? 
8. Độ đo chất l−ợng thiết kế ? 
9. Bàn về thiết kế h−ớng đối t−ợng (cách tiếp cận. đặc tr−ng, −u, nh−ợc điểm? 
10. Khái niệm biểu đồ dòng Dl, l−ợc đồ cấu trúc, từ điển Dl trong thiết kế h−ớng chức năng ? 
11. Các thế hệ giao diện ng−ời- máy đã trải qua? Tiến trình thiết kế giao diện ? 
12. Các Mô hình thiết kế giao diện? 
13. Các vấn đề thiết kế giao diện th−ờng nảy sinh? 
14. Chu trình đánh giá thiết kế giao diện? Tiêu chuẩn đánh giá xét duyệt thiết kế ? 
15. Nêu tóm l−ợc các h−ớng dẫn thiết kế giao diện? 

File đính kèm:

  • pdfBài giảng Kỹ nghệ phần mềm (Nhập môn) - Nguyễn Quốc Toản - Chương 3 Thiết kế phần mềm.pdf