Bài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - Thiết kế phần mềm
?Khái niệm, nguyên lý, chất l-ợng
?Thiết kế kiến trúc
?Thiết kế giao diện
?Thiết kế thủ tục
?Thiết kế h-ớng đối t-ợng
Tóm tắt nội dung Bài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - 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
1Phần 3 Thiết kế phần mềm 2Thiết kế phần mềm Khái niệm, nguyên lý, chất l−ợng Thiết kế kiến trúc Thiết kế giao diện Thiết kế thủ tục Thiết kế h−ớng đối t−ợng 3Tài liệu N.V. Vỵ, N. V. Hà, Giáo trình kỹ nghệ phần mềm, ch−ơng 3. N.V. Vỵ, Phân tích thiết kế HTTT hiện đại – H−ớng cấu trúc và h−ớng đối t−ợng, NXB Thống kê Zhiming Liu, Object-Oriented Software Development with UML, UNU/IIST Report Sommerville, Software Engineering Pressman, Software Engineering 4Thiết kế phần mềm Thiết kế mô hình thông tin mô hình chức năng các yêu cầu khác Lập trình thiết kế kiến trúc cấu trúc dữ liệu thiết kế thuật toán mô đun ch−ơng trình 5Thế nào là thiết kế • Nghĩ xem nên làm nh− thế nào (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 Là một quá trình sáng tạo: 6Thiết kế phần mềm Là tạo mô hình cài đặt của phần mềm Là ph−ơng tiện để trao đổi thông tin, để đảm bảo chất l−ợng dễ hiểu dễ sửa đổi hơn mã ch−ơng trình cung cấp cái nhìn tổng thể; đồng thời có nhiều mức chi tiết Nếu không có thiết kế; hoặc thiết kế tồi: làm tăng công sức viết mã ch−ơng trình làm tăng công sức bảo trì 7Thiết kế phần mềm 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: chức năng của các mô đun cách thức cài đặt mô đun t−ơng tác giữa các mô đun 8Nguyên lý thiết kế Thiết kế không nên bị bó buộc vào cái nhìn hạn hẹp nên đ−ợc lựa chọn từ các giải pháp khác nhau Thiết kế phải lần ng−ợc lại đ−ợc mô hình phân tích các mô đun và các yêu cầu không phải là t−ơng ứng một - một phải kiểm tra đ−ợc sự thỏa mãn các yêu cầu 9Nguyên lý thiết kế (t) Không nên tái 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 các thiết kế đã có Mô hình thiết kế (giải pháp) nên tiến gần đến mô hình thế giới thực (bài toán) Dễ hiểu, dễ kiểm tra 10 Nguyên lý thiết kế (t) Biểu diễn thiết kế phải có tính nhất quán và 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 Thiết kế cần có cấu trúc để dễ dàng thay đổi phải đ−ợc modun hóa, phân cấp 11 Nguyên lý thiết kế (t) 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, có thể cài đặt bằng các ngôn ngữ khác nhau Thiết kế cần đ−ợc đánh giá chất l−ợng ngay trong khi nó đ−ợc tạo ra tính kết dính, tính ghép nối, tính hiệu quả,... 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õ ràng, mâu thuẫn,... 12 Nôi dung thiết kế Thiết kế kiến trúc phân rã hệ thống thành các mô đun, hệ thống con xác định t−ơng tác (giao diện) giữa các mô đun Thiết kế cấu trúc dữ liệu xây dựng mô hình 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 Thiết kế giao diện ng−ời dùng nên nhìn nhận giao diện là một bài toán độc lập 13 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ả: Ch−a cần chỉ ra: thứ tự thực hiện số lần thực hiện chi tiết thiết kế 14 Thiết kế cấu trúc dữ liệu Chọn cách biểu diễn cho sự vật có ảnh h−ởng mạnh mẽ đến chất l−ợng phần mềm Thiết kế cấu trúc dữ liệu lô gic - định danh dữ liệu - xác định các mối quan hệ Thiết kế cấu trúc dữ liệu vật lý - kiểu dữ liệu - kích cỡ Các mức thiết kế 15 Thiết kế cấu trúc dữ liệu vật lý Có nhiều cách thức biểu diễn - phần tử vô h−ớng; - mảng một chiều, nhiều chiều; danh sách móc nối - kiểu cấu trúc - quan hệ kế thừa Nên làm chậm việc chọn biểu diễn mức thấp - đóng gói/che giấu thông tin - thiết kế h−ớng đối t−ợng 16 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) - Biểu đồ luồng (flow chart) - Biểu đồ (diagam) Nassi-Shneiderman - JSP 17 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 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 giấu thông tin điều khiển bằng giao diện 18 Trừu t−ợng hóa (abstraction) Khái niệm cơ sở trong t− duy của con ng−ời Là quá trình ánh xạ một sự vật/hiện t−ợng của thế giới thực thành một 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 19 Trừu t−ợng dữ liệu door manufacturer model number type swing direction inserts lights type number weight opening mechanism 20 Trừu t−ợng thủ tục open details of enter algorithm 21 Làm mịn từng b−ớc open walk to door; reach for knob; open door; walk through; close door. repeat until door opens turn knob clockwise; if knob doesn't turn, then take key out; find correct key; insert in lock; endif pull/push door move out of way; end repeat 22 Câu hỏi ôn tập 1. Thiết kế phần mềm là gì? 2. Nêu các nguyên lý để thiết kế phần mềm? 3. Liệt kê các nội dung thiết kế và giải thích? 4. Giải thích một số khái niệm trong thiết kế: trừu t−ợng, làm mịn, mô đun hoá, thủ tục, che giấu thông tin?
File đính kèm:
- Bài giảng Công nghệ phần mềm nâng cao - Phạm Ngọc Hùng - Thiết kế phần mềm.pdf