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ế
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:
- 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.pdf