Giáo trình Công nghệ phần mềm - Chương 4: Thiết kế phần mềm
Xây dựng ứng dụng phần mềm là một dây chuyền các chuyển đổi, mà ở đó
phân tích nhằm xác định ứng dụng sẽ thực hiện cái gì (what) còn thiết kế nhằm để trả
lời câu hỏi phần mềm cụ thể sẽ như thế nào (how)? Tức là xác định cách thức thực
hiện những gì đã được đặt ra ở phần phân tích.
Trong ba giai đoạn: thiết kế, cài đặt và bảo trì thì thiết kế là giai đoạn quan
trọng nhất, chịu trách nhiệm đến 80% đối với sự thành công của một sản phẩm. Cài đặt
là việc thực thi nhữnggì đã thiếtkế. Nếu trongquá trìnhcài đặt có xuất hiện vấn đề thì
phảiquaylại sửa bản thiết kế. Quá trìnhthiết kế tốt là cơsở để quản lý và giảm chi phí
cho công việc bảo trì phần mềm sau này.
này sẽ tự quyết việc trả lời. Mô hình này hiệu quả với các phân hệ được phân bố trên các máy tính khác nhau trên mạng. Ưu điểm của nó là việc phát triển tương đối đơn giản. Một phân hệ mới xử lý một lớp sự kiện mới có thể được tích hợp khi ghi nhận các sự kiện này vào bộ điều khiển sự kiện. Mỗi phân hệ có thể kích hoạt mọi phân hệ khác không cần biết tên và vị trí của các phân hệ đó. Phân bố trong suốt với các phân hệ. Nhược điểm của mô hình này là phân hệ không biết sự kiện có được xử lý hay không và khi nào được xử lý. Rất có thể hai phân hệ khác nhau cùng sinh một sự kiện và có thể gây xung đột. • Mô hình điều khiển ngắt: Có một hệ thống bên ngoài được sử dụng riêng cho việc theo dõi các ngắt bên ngoài và được chuyển tới các phân hệ tương ứng. Mô hình này phù hợp với các hệ thống thời gian. Ưu điểm của nó là cho phép đáp ứng nhanh nhất với các sự kiện. Nhược điểm là việc lập trình phức tạp. 4.6.2.5. Mô hình đối tượng Hệ thống được phân thành các đối tượng giao tiếp với nhau. Phân tích hướng đối tượng chỉ ra các lớp đối tượng liên quan, các thuộc tính và các hoạt động của chúng. Ưu điểm của nó là tính bao đóng cho phép dấu các thực hiện của các đối tượng và cho phép dùng lại mã. Tuy nhiên nhược điểm là để sử dụng các dịch vụ, các đối tượng phải gọi tường minh các tên và giao diện của các đối tượng khác. Sự thay đổi giao diện sẽ làm ảnh hưởng tới các đối tượng khác. 4.6.2.6. Mô hình luồng dữ liệu Hệ thống được phân hoá thành các module chức năng. Chúng nhận các dữ liệu chuyển hoá chúng rồi lại đưa ra kết quả. Trong mô hình luồng dữ liệu, các bộ biến đổi xử lý dữ liệu đầu vào và tạo dữ liệu ra. Dữ liệu được chảy tuần tự theo luồng từ bộ biến đổi này sang bộ khác. Mỗi bước của quy trình giống như một phép biến đổi. Mô hình này có ưu điểm: • Nó hỗ trợ việc sử dụng lại các biến đổi. • Nó phù hợp với suy nghĩ của mọi người quan niệm về dữ liệu được xử lý theo luồng có đầu vào và đầu ra. • Thêm các xử lý khác vào hệ thống đơn giản. • Dễ thực hiện xử lý song song hoặc tuần tự. 81 Chương 4: Thiết kế phần mềm Nhược điểm của mô hình này là: • Cần phải có một định dạng chung cho các dữ liệu để có thể xử lý bởi mọi bộ biến đổi. • Các hệ thống tương tác khó được viết theo mô hình luồng dữ liệu. Trong khi các giao diện vào và ra theo dạng văn bản có thể dùng mô hình luồng dữ liệu thì các giao diện đồ hoạ có các dạng vào ra phức tạp hơn dựa trên sự kiện khó có thể áp dụng mô hình luồng dữ liệu. 4.7. THIẾT KẾ GIAO DIỆN NGƯỜI SỬ DỤNG Khi các hệ thống tin học hoá ngày càng đi vào đời sống con người thì vấn đề thiết kế giao diện càng trở nên quan trọng trong việc phát triển phần mềm. Có nhiều câu hỏi được đặt ra trong quá trình thiết kế giao diện, như: + Ai là người dùng? + Người dùng học cách tương tác với hệ thống mới dựa trên máy tính như thế nào? + Người dùng diễn giải thông tin do hệ thống tạo ra như thế nào? + Người dùng trông đợi gì ở hệ thống?... Để có được hệ thống thân thiện với người sử dụng, có nhiều nhân tố cần được quan tâm trong vấn đề thiết kế giao diện. 4.7.1. Nhân tố con người Nhân tố con người: được dựa vào các yếu tố - Nền tảng về cảm nhận của con người, - Mức độ kỹ năng và hành vi con người, - Nhiệm vụ và nhân tố con người: được phân loại dựa vào mục đích của ứng dụng, cụ thể: • Nhiệm vụ trao đổi: các hoạt động làm cho thông tin được truyền từ nơi sản xuất đến nơi tiêu thụ. • Nhiệm vụ đối thoại: các hoạt động làm cho người sử dụng định hướng và điều khiển tương tác với hệ thống dựa trên máy tính. • Nhiệm vụ nhận biết: các hoạt động được thực hiện một khi đã thu được thông tin, các hoạt động liên kết với chức năng của hệ thống. • Nhiệm vụ điều khiển: các hoạt động cho phép người sử dụng kiểm soát thông tin, nhận biết và ra lệnh cho tiến trình thông qua đó các nhiệm vụ tổng quát khác xuất hiện. 4.7.2. Phong cách tương tác người - máy Phong cách tương tác người - máyquan hệ chặt chẽ với lịch sử tiến hóa của máy tính, có một số loại giao diện như: - Giao diện chỉ lệnh vào hỏi, - Giao diện đơn (menu đơn giản), - Giao diện trỏ và nhặt (hướng cửa sổ),... 82 Chương 4: Thiết kế phần mềm Hiện nay, giao diện thông dụng nhất cho người sử dụng là giao diện hướng cửa sổ (X-Window). 4.7.3. Thiết kế giao diện người - máy Thiết kế giao diện người - máy là một nhiệm vụ quan trọng trong thiết kế phần mềm. Hướng dẫn thiết kế giao diện người - máy gồm các vấn đề liên quan: 1. Mô hình thiết kế giao diện được thể hiện qua bốn mô hình: + Mô hình thiết kế, + Mô hình người sử dụng: được phân loại cho người mới học, người ít hiểu biết và người hiểu biết. + Mô hình của người dùng hay cảm nhận hệ thống: tức là hình ảnh của hệ thống mà người sử dụng mang trong đầu. + Hình ảnh hệ thống: cách biểu lộ bên ngoài của hệ thống dựa trên máy tính với mọi thông tin hỗ trợ. 2. Phân tích và mô hình hóa nhiệm vụ: gồm các bước • Thiết lập các mục tiêu và ý đồ cho nhiệm vụ • Ánh xạ từng mục tiêu, ý đồ thành dãy các hành động xác định • Xác định dãy các hành động khi nó sẽ được thực hiện tại mức giao diện • Chỉ ra trạng thái của hệ thống, tức là giao diện giống thế nào vào lúc hành động trong dãy đó được thực hiện • Xác định các cơ chế điều khiển, như thiết bị và hành động sẵn có cho người dùng để thay đổi trạng thái hệ thống. • Chỉ ra cách thức cơ chế điều khiển này ảnh hưởng đến trạng thái hệ thống. • Chỉ ra cách thức người dùng diễn giải trạng thái của hệ thống từ thông tin được cung cấp qua giao diện. 3. Vấn đề thiết kế: có bốn vấn đề • Thời gian hệ thống đáp ứng, • Tiện nghi giúp đỡ người dùng, • Giải quyết thông tin lỗi, • Gán nhãn chỉ lệnh. a. Thời gian hệ thống đáp ứng: chứa hai đặc trưng quan trọng là độ dài và độ biến thiên. Cần chú ý nếu thời gian đáp ứng quá lâu thì người sử dụng nhàm chán còn nếu sự đáp ứng quá nhanh thì người sử dụng dễ mắc sai lầm do vội vã. b. Tiện nghi giúp đỡ: phải trả lời các câu hỏi + Trợ giúp có sẵn với mọi chức năng vào mọi lúc không? + Người sử dụng sẽ yêu cầu trợ giúp thế nào? + Trợ giúp sẽ được trình bày như thế nào? + Người sử dụng sẽ trở về tương tác thông thường thế nào? + Thông tin trợ giúp được cấu trúc thế nào? c. Giải quyết thông báo lỗi: thể hiện ở + Thông báo nên mô tả vấn đề mà người dùng có thể hiểu được 83 Chương 4: Thiết kế phần mềm + Thông báo nên đưa ra những lời khuyên có tính xây dựng để khôi phục từ lỗi + Thông báo nên chỉ ra bất kỳ hậu quả lỗi tiêu cực nào để người dùng có thể kiểm tra. Ví dụ: không có file dữ liệu. + Thông báo nên đi kèm tín hiệu nghe, thấy được + Không đưa ra các thông báo hàm ý trách móc người dùng d. Gán nhãn chỉ lệnh: + Mọi tùy chọn đơn có tương ứng với một chỉ thị không? + Các lệnh sẽ có dạng nào; các từ gõ vào + Việc học và nhớ lệnh khó đến đâu? Có thể làm gì khi quên mất chỉ lệnh. + Liệu chỉ lệnh có phù hợp với người dùng hay không? 4. Công cụ cài đặt: các công cụ sẵn có để thiết kế giao diện. 5. Tiến hóa thiết kế Khi có một mô hình thiết kế giao diện được tạo ra thì áp dụng các tiêu chuẩn đánh giá để thiết kế giao diện. Cuộc xét duyệt gồm các vần đề: + Độ dài và độ phức tạp của đặc tả viết về hệ thống và giao diện của nó cung cấp một chỉ dẫn về khối lượng học tập người dùng hệ thống cần học. + Số các chỉ lệnh được xác định và số trung bình các đối số trên chỉ lệnh đưa ra một chỉ dẫn về thời gian tương tác và hiệu quả tổng thể của hệ thống. + Số các hành động, chỉ lệnh và trạng thái hệ thống được mô hình thiết kế nêu ra cũng chỉ ra khối lượng cần nhớ trên người dùng hệ thống. + Phong cách tương tác, tiện nghi giúp đỡ và giao thức xử lý lỗi đưa ra một chỉ dẫn chung về độ phức tạp của giao diện và mức độ ngưòi dùng sẽ chấp nhận nó. Quy trình đánh giá thiết kế giao diện được mô tả như sau: 84 Thiết kế giao diện hoàn tất Thiết kế sơ bộ Xây dựng giao diện bản mẫu 1 Người dùng đánh giá giao diện Xây dựng giao diện bản mẫu n Tiến hành sửa đổi thiết kế Người thiết kế nghiên cứu đánh giá Chương 4: Thiết kế phần mềm 4.7.4. Hướng dẫn thiết kế giao diện a. Hướng dẫn về tương tác chung: giao diện phải • Nhất quán, • Cho thông tin phản hồi có nghĩa, • Yêu cầu kiểm chứng mọi hành động phá hủy không tầm thường, • Cho phép dễ dàng lần ngược nhiều hành động , • Tìm kiếm tính hiệu quả trong đối thoại, vận động và ý nghĩa, • Dung thứ cho sai lầm, • Phân loại các hoạt động theo chức năng và tổ chức màn hình hài hòa theo vùng, • Cung cấp tiện nghi trợ giúp làm ngữ cảnh, • Dùng các động từ đơn giản hay cụm từ ngắn để đặt tên chỉ lệnh,... b. Hướng dẫn về hiển thị thông tin • Chỉ hiển thị thông tin có liên quan đến ngữ cảnh hiện tại, • Đừng chôn vùi người dùng dưới dữ liệu, hãy dùng định dạng trình bày cho phép hấp thu nhanh chóng thông tin, • Dùng nhãn nhất quán, cách viết tắt chuẩn và màu sắc dự kiến trước được, • Cho phép người dùng duy trì ngữ cảnh trực quan, • Đưa ra các thông báo lỗi có nghĩa, • Dùng chữ hoa, chữ thường, thụt cấp và gộp nhóm văn bản để trợ giúp cho việc hiểu, • Sử dụng cửa sổ để đóng khung các kiểu thông tin khác nhau, • Dùng cách hiển thị "tương tự" để biểu diễn thông tin dễ được hấp thụ hơn với dạng biểu diễn này, • Xem xét vùng hiển thị có sẵn trên màn hình và dùng nó một cách có hiệu quả,... c. Hướng dẫn về vào dữ liệu • Tối thiểu số hành động đưa vào mà người sử dụng thực hiện, • Duy trì sự nhất quán giữa hiển thị thông tin và cái vào dữ liệu, • Cho phép người dùng làm phù hợp cái vào, • Tương tác nên mềm dẻo và hài hòa với mode đưa vào ưa thích, • Khử kích hợp các lệnh không phù hợp hiện tại, • Để cho người dùng kiểm soát luồng tương tác, • Cung cấp trợ giúp cho mọi hành động đưa vào,... Giao diện người-máy là cánh cửa đi vào phần mềm ứng dụng. Để giao diện đáp ứng được yêu cầu thì người thiết kế nó cần phải hiểu biết về nhân tố con người và công nghệ giao diện. Thêm vào đó, kiểu cách giao diện, công nghệ phần cứng và phần mềm sẵn có, và bản thân ứng dụng cũng có ảnh hưởng đến kết quả cuối cùng. 85
File đính kèm:
- Giáo trình Công nghệ phần mềm - Chương 4 Thiết kế phần mềm.pdf