Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
257,5 KB
Nội dung
Chương 4: Thiết kế phần mềm CHƯƠNG THIẾT KẾ PHẦN MỀM Xây dựng ứng dụng phần mềm dây chuyền chuyển đổi, mà phân tích nhằm xác định ứng dụng thực (what) thiết kế nhằm để trả lời câu hỏi phần mềm cụ thể (how)? Tức xác định cách thức thực đặt phần phân tích Trong ba giai đoạn: thiết kế, cài đặt bảo trì thiết kế giai đoạn quan trọng nhất, chịu trách nhiệm đến 80% thành công sản phẩm Cài đặt việc thực thi thiết kế Nếu q trình cài đặt có xuất vấn đề phải quay lại sửa thiết kế Quá trình thiết kế tốt sở để quản lý giảm chi phí cho cơng việc bảo trì phần mềm sau 4.1 ĐẶC ĐIỂM CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM Nhiệm vụ thiết kế chuyển đổi yêu cầu hệ thống (kết q trình phân tích) sang dạng biểu diễn hệ thống phần mềm Nghĩa xây dựng mô tả văn (thiết kế chi tiết) nêu rõ mối quan hệ tiền điều kiện hậu điều kiện cho tất chức (quá trình) hệ thống Tiền điều kiện xác định nhận giá trị chân lý trước trình thực hiện, hậu điều kiện xác định điều nhận giá trị chấp nhận tiền điều kiện q trình kết thúc thành công Tầm quan trọng thiết kế thể qua hình sau: Bảo trì Bảo trì Kiểm thử Kiểm thử Cài đặt Cài đặt Thiết kế Có thiết kế Khơng có thiết kế 62 Chương 4: Thiết kế phần mềm Như vậy, thiết kế thực tế định chọn lựa, xây dựng đặc tả hành vi nhìn thấy từ bên ngồi bổ sung chi tiết cần thiết cho việc cài đặt hệ thống máy tính bao gồm chi tiết tổ chức quản lý liệu, công việc tương tác với người Thiết kế phải nhờ vào kinh nghiệm phải học tập có sẵn từ hệ thống khác; khơng thể đọc sách đủ Bản thiết kế tốt chìa khóa cho thành cơng hệ thống Mối liên quan thiết kế phần mềm với công nghệ phần mềm thể qua sơ đồ sau: Mơ hình thơng tin Mơ hình chức Thiết kế liệu Mơ hình hành vi Thiết kế Thiết kế cấu trúc Các yêu cầu khác Lập trình Thiết kế thủ tục Module chương trình Kiểm thử Phần mềm tích hợp kiểm thử Thiết kế phần mềm hoạt động xác lập dựa hai mặt: quản lý kỹ thuật, chúng đan xen với Mối quan hệ hai khía cạnh kỹ thuật quản lý thể qua sơ đồ: Khía cạnh quản lý Thiết kế sơ Thiết kế chi tiết Thiết kế liệu Khía cạnh kỹ thuật Thiết kế kiến trúc Thiết kế thủ tục Thiết kế đối tượng Thiết kế giao diện 63 Chương 4: Thiết kế phần mềm Trong quan điểm quản lý: thiết kế phần mềm tiến hành bước: + Thiết kế sơ bộ: quan tâm đến việc dịch yêu cầu thành kiến trúc liệu phần mềm + Thiết kế chi tiết: tập trung vào việc làm mịn biểu diễn kiến trúc để dẫn đến cấu trúc liệu chi tiết biểu diễn thuật toán cho phần mềm Đối với khía cạnh kỹ thuật, xuất số hoạt động thiết kế như: + Thiết kế liệu + Thiết kế kiến trúc + Thiết kế thủ tục + Thiết kế đối tượng +Thiết kế giao diện Trong tiến trình thiết kế, mơ hình để biểu diễn cơng việc thiết kế đồ thị Các đỉnh đồ thị dùng để biểu diễn thực thể (các tiến trình, chức năng, kiểu ) cạnh mối liên hệ chúng Quá trình thiết kế thường mô tả nhiều mức khác cách tiếp cận trừu tượng hóa, nhằm tách phận cấu thành toán nhằm nâng cao độ chắn, độ tin cậy hệ thống Tiến trình thiết kế sơ đồ sau: Phát thảo thiết kế phi hình thức Thiết kế phi hình thức Thiết kế hình thức Thiết kế hồn chỉnh 4.2 CÁC HOẠT ĐỘNG CỦA QUÁ TRÌNH THIẾT KẾ PHẦN MỀM Như nói, phân tích nhằm xác định ứng dụng thực thiết kế nhằm để trả lời câu hỏi phần mềm cụ thể nào? Trong thực tế, khơng có tách biệt hai giai đoạn mà hai hoạt động tiến hành song song chúng bổ sung lẫn Các hoạt động phải thực trình gồm: định danh, suy diễn, tổng hợp lại, xem xét lại tạo tài tiệu Định danh: tìm kiếm quan trọng có liên quan, việc tìm thực thể, đối tượng, mối quan hệ, chức năng, tiến trình ràng buộc hệ thống 64 Chương 4: Thiết kế phần mềm Thiết kế việc tham chiếu yêu cầu logic làm việc mơi trường tính tốn đích Điều có nghĩa định danh cấu trúc thiết kế hệ thống, phương hướng thiết kế tảng Các phương hướng bao gồm: Xử lý theo lơ, trực tuyến thời gian thực Các hàm chức kết nối với ứng dụng làm việc môi trường sản phẩm Các giao diện người sử dụng chung điều khiển menu, cửa sổ – biểu tượng – menu – trỏ, điều khiển lệnh, Kiểu thao tác, người sử dụng chuyên gia, tập hay bình thường Suy diễn: Xác định chi tiết định danh Về mặt thể hiện, yêu cầu cung cấp kê khai thống khách hàng cho báo cáo đặc biệt Trong trình xem xét, ta tìm câu trả lời cho câu hỏi như: Thông tin đảm bảo chắn người sử dụng? Nó có tồn tại? Điều đặc biệt người sử dụng? Kiểu Query người sử dụng hỏi? Các dạng câu hỏi người sử dụng muốn hỏi mà họ trả lời? Kiểu liệu phân tích người sử dụng cần? Các form (như hình hiển thị hay giấy) đưa ra? Các người sử dụng đặt câu hỏi đâu (vật lý)? Dữ liệu đâu (tập trung/ phân tán/ tập trung)? Và đâu? Mỗi u cầu từ q trình phân tích khai triển thành chi tiết lớn thiết kế tham chiếu tới phần cứng, phần mềm thuộc cấu trúc thiết kế hệ thống Ở đây, vấn đề liên quan đến cần giải như: Cơ sở liệu thiết kế thiết kế để cung cấp nào, mặt thể thời gian đáp ứng tốt với hiệu cao nhất? Các chương trình đóng gói để đáp ứng ràng buộc tiến trình? Các hoạt động xem xét khác định bao gồm công việc thông thường chung cho tiến trình sử dụng thơng thường Về mặt thể hiện, tiến trình hiển thị thực nào? Các lập trình viên viết giao diện hiển thị riêng hay có module chung cho thao tác hiển thị? Phần thân chi tiết hệ thống chương trình tiện ích tất lập trình viên sử dụng Hoạt động xem xét cuối kiểm tra ràng buộc ứng dụng Chúng ta chắn ràng buộc bảo toàn thiết kế q trình nằm giới hạn quy định Tổng hợp lại: xây dựng khung nhìn thống ứng dụng, điều hồ phần khơng thích hợp biểu diễn yêu cầu form đồ thị Sự biểu diễn thủ cơng tự động, sử dụng cơng cụ tính tốn sở 65 Chương 4: Thiết kế phần mềm Trong thiết kế, tổng hợp lại phải xây dựng thiết kế vật lý ứng dụng, điều chỉnh phần không phù hợp biểu diễn yêu cầu chi tiết Chúng ta thêm hàm chức vào ứng dụng môi trường đặc biệt Xem xét lại: việc thực điều khiển chất lượng Tại cuối giai đoạn, phân tích lại tính khả thi, thời biểu bố trí nhân Xem xét lại chúng cần thiết dựa vào hoàn thiện hơn, khái niệm hệ thống Như thế, xem xét lại thực điều chỉnh chất lượng Tại cuối giai đoạn dẫn hướng thiết kế xuyên suốt, so sánh thiết kế với yêu cầu logic, hoàn thiện logic đắn Phân tích lại thời biểu bố trí nhân để tiến hành cài đặt, kiểm duyệt, thay đổi, đào tạo chuyển công tác, xem xét lại chúng cho phù hợp yêu cầu Tạo tài liệu: tạo chương trình hữu ích đặc biệt tài liệu thiết kế tồn thể Tài liệu thiết kế mơ tả sở liệu, cấu trúc ứng dụng, ràng buộc, đồ thị văn thiết kế Các module chương trình bao gồm chi tiết tiến trình, tất giao diện thiết kế thông tin đặc biệt để phát triển ứng dụng Tuy nhiên, hoạt động phân tích thiết kế có khác biệt bản, chúng bảng sau: Hoạt động Định danh Suy diễn Phân tích Tìm thứ yếu ứng dụng Nội dung không giới hạn bao gồm thực thể, đối tượng, quan hệ, hàm chức năng, ràng buộc, phần tử liệu, trình điều khiển, yêu cầu chuẩn hoá, Xác định chi tiết chức định danh Người sử dụng cung cấp khái niệm cho định nghĩa mô tả thủ tục, công thức tiến trình Việc xem xét tỉ mỉ phụ thuộc vào phần cứng, phần mềm hay vùng làm việc Thiết kế Làm tinh hệ thống khái niệm cung cấp cho yêu cầu chức Định danh thoả hiệp yêu cầu mà cần thiết để làm việc giới hạn môi trường cài đặt Xác định chuẩn chung quy định cho môi trường cài đặt cho tất cơng việc lại phải tơn trọng Đối với hàm chức năng, tham chiếu chúng tới môi trường phần cứng phần mềm Định danh module sử dụng lại Đúc kết chi tiết thông báo tiến trình module truyền thơng ngồi 66 Chương 4: Thiết kế phần mềm Tổng hợp Mở rộng khung nhìn ứng dụng thống Mở rộng lập tài liệu biểu diễn ứng dụng Đồ thị, bảng biểu, kỹ thuật khác hay sử dụng để biểu diễn Mở rộng tham chiếu thống ứng dụng tới môi trường phần cứng phần mềm Xác định biểu đồ đóng gói định vị cho tất liệu tiến trình Đồ thị, bảng biểu, kỹ thuật khác hay sử dụng để biểu diễn 67 Chương 4: Thiết kế phần mềm Hoạt động Xem xét lại Tài liệu Phân tích Xem xét lại qua tồn việc phân tích với thành viên dự án người sử dụng Xem xét lại thời biểu giá cần thiết Thiết kế Xem xét qua toàn thành phần thiết kế, sơ đồ kiểm tra, sơ đồ thay đổi thiết kế sở liệu với thành viên dự án, đặc điểm chương trình với lập trình viên, thao tác hiển thị với người sử dụng Xem xét lại thời biểu giá cần thiết Đúc kết form đồ Đúc kết form đồ thị, thị, cung cấp văn tài liệu cung cấp văn tài liệu cho tất cho tất hoạt động phân hoạt động thiết kế tích Để ý rằng, bàn luận phân tích thiết kế việc tham chiếu đơn giản “cái gì” “như nào”, khơng phải tham chiếu 1-1 Ở đây, cần tới thoả hiệp yêu cầu phân tích thiết kế Thoả hiệp yêu cầu nghĩa chúng phải cấu trúc lại, thao tác, phân nhỏ hay thay đổi để phù hợp với giới hạn môi trường Việc liên kết phân tích thiết kế chương trình lỏng hay chặt phụ thuộc vào phương pháp luận môi trường cài đặt Về mặt thể hiện, liệu khác sử dụng chuẩn liệu khác Mức độ chi tiết yêu cầu khác ta sử dụng ngôn ngữ cài đặt khác 4.3 NỀN TẢNG THIẾT KẾ Mặc dầu có nhiều phương pháp thiết kế phần mềm trình thiết kế, sử dụng số khái niệm làm tảng Chúng gọi tảng thiết kế 4.3.1 Trừu tượng (abstraction) Khái niệm trừu tượng cho phép tập trung vào vấn đề mức tổng qt đó, khơng xét tới chi tiết mức thấp không liên quan Việc dùng trừu tượng hoá cho phép ta làm việc với khái niệm thuật ngữ quen thuộc môi trường vấn đề mà biến đổi chúng thành cấu trúc khơng quen thuộc Khi xét vấn đề cho việc tìm giải pháp module, đặt nhiều mức độ trừu tượng Tại mức trừu tượng cao nhất: phát biểu ngôn ngữ môi trường vấn đề Tại mức trừu tượng thấp hơn, thường lấy khuynh hướng thủ tục; mức thấp nhất, giải pháp phát biểu theo cách cài đặt trực tiếp Trong bước tiến trình làm mịn cho mức trừu tượng giải pháp Khi chuyển qua mức trừu tượng khác nhau, làm việc để tạo trừu tượng thủ tục, trừu tượng liệu trừu tượng điều khiển Trừu tượng thủ tục: dãy lệnh có tên, có chức xác định giới hạn 68 Chương 4: Thiết kế phần mềm Trừu tượng liệu: tập hợp liệu có tên mô tả cho vật liệu Đối tượng liệu thực chất tập hợp nhiều mẫu thơng tin khác ta tham khảo tới cách nói tên trừu tượng liệu Trừu tượng liệu làm cho người thiết kế xác định vật liệu hồn cảnh thao tác (thủ tục) áp dụng vào Trừu tượng điều khiển: áp dụng cho chế điều khiển chương trình mà khơng xác định chi tiết bên 4.3.2 Làm mịn (Refinement) Làm mịn chiến lược thiết kế xuống Kiến trúc chương trình phát triển cách mức làm mịn liên tiếp thủ tục Trong bước, hay nhiều lệnh chương trình cho phân rã thành lệnh chi tiết Việc phân rã hay làm mịn liên tiếp đặc tả kết thúc tất lệnh diễn đạt dạng ngôn ngữ lập trình hay ngơn ngữ máy tính tảng Khi nhiệm vụ làm mịn liệu phải làm mịn, phân rã hay cấu trúc lại Cần ý bước làm mịn kéo theo định thiết kế Người lập trình cần nhận biết tiêu chuẩn tảng cho định thiết kế tồn giải pháp khác 4.3.3 Tính module Phần mềm chia thành phần có tên riêng biệt định địa được, gọi module Các module tích hợp để thỏa mãn yêu cầu vấn đề Gọi C(x) hàm xác định độ phức tạp cảm nhận vấn đề x, E(x) hàm xác định nổ lực cần có để giải vấn đề x Với hai vấn đề p, q ta có Nếu C(p)>C(q) tổng qt ta suy E(p)>E(q) phải nhiều nổ lực để giải vấn đề khó Một đặc trưng qua thực nghiệm là: C(p+q)>C(p)+C(q) Như thế, độ phức tạp cảm nhận vấn đề tổ hợp p q lớn độ phức tạp cảm nhận tách biệt vấn đề p q để xem xét Kết hợp ta có E(p+q)>E(p)+E(q) Điều dẫn đến kết luận chia để trị cho việc giải vấn đề phức tạp Đây luận cho tính module Theo lập luận trên, liệu chia phần mềm cách khơng xác định nổ lực cần để phát triển trở thành nhỏ đến mức bỏ qua được? Khơng may, câu trả lời khơng lúc xuất các lực khác chi phí kết nối module, chi phí xây dựng giao diện, làm tăng chi phí nổ lực để giải vấn đề Miền chi phí tối thiểu sơ đồ sau: 69 Chương 4: Thiết kế phần mềm phímềm 4.3.4 Kiến trúc Chi phần nổ lực Tổng chi phí phần mềm Chi phí giao diện Kiến trúc phần mềm suy dẫn qua tiến trình phân hoạch đặt mối quan hệ Mức chivới phícác tối thiểu phần tử giải pháp phần mềm phận giới thực xác nổ lực định không tường minh phân tích u cầu Kiến trúc phần mềm gồm có hai đặc trưng quan trọng khiển i Cấu trúc phân cấp thành phần thủ tục (module): cấp bậc điều Chi phí Số module ii Cấu trúc liệu module Cấp bậc điều khiển Cấp bậc điều khiển gọi cấu trúc chương trình Nó biểu thị cho cách tổ chức thành phần module Một số số điều khiển quan tâm: + Chiều rộng: độ trải rộng toàn điều khiển + Độ sâu: báo số điều khiển + Số module ra: độ đo số module trực tiếp bị điều khiển module khác + Số module vào: số module trực tiếp điều khiển module cho + Thượng cấp: module điều khiển module khác + Thuộc cấp: module bị module khác điều khiển + Tính thấy + Tính nối + Tính cố kết, Cấu trúc chương trình số minh hoạ hình sau: 70 Chương 4: Thiết kế phần mềm 71 Chương 4: Thiết kế phần mềm 4.4 CHẤT LƯỢNG THIẾT KẾ Như đề cập trên, khó để xác định thiết kế tốt, phụ thuộc vào ứng dụng vào yêu cầu dự án Một thiết kế tốt phải thiết kế mà cho phép sản sinh mã hữu hiệu; thiết kế tối thiểu mà theo việc thực chặt tốt; thiết kế bảo dưỡng tốt tiêu chuẩn tốt cho người dùng Một thiết kế bảo dưỡng tốt thích nghi với việc cải biên chức việc thêm chức Do đó, thiết kế phải dễ hiểu việc sửa đổi có hiệu ứng cục Các thành phần thiết kế kết dính theo nghĩa tất phần thành phần phải có quan hệ logic chặt chẽ Các thành phần phải nối ghép lỏng lẻo Sự nối ghép độ đo tính độc lập thành phần Nối ghép lỏng lẻo dễ thích nghi Thực tế, có vài cơng việc tiến hành để thiết lập độ đo chất lượng thiết kế dùng để xem thiết kế có tốt hay khơng 4.4.1 Sự kết dính Sự kết dính thành phần độ đo tính khớp lại với Một thành phần hẳn thực chức logic thực thực thể logic Tất phần thành phần tham gia vào việc thực Nếu thành phần khơng trực tiếp tham gia vào việc chức logic mức độ kết dính thấp Theo số chun gia có bảy mức kết dính theo thứ tự tăng dần sau đây: a) Kết dính gom góp: Các phần thành phần không liên quan với nhau, song lại bị bó vào thành phần b) Hội hợp logic: Các thành phần thực chức tương tự chẳng hạn vào, xử lý lỗi, đặt vào thành phần c) Kết dính theo thời điểm: Tất thành phần hoạt hoá lúc, chẳng hạn khởi kết thúc, bó lại với d) Kết dính thủ tục: Các phần tử thành phần ghép lại dãy điều khiển e) Kết dính truyền thơng: Tất phần tử thành phần thao tác liệu vào đưa liệu f) Kết dính tuần tự: Trong thành phần, phần tử vào phần tử khác g) Kết dính chức năng: Mỗi phần thành phần cần thiết để thi hành chức 4.4.2 Sự ghép nối Ghép nối liên quan đến kết dính Nó độ ghép nối đơn vị chương trình Hệ thống có ghép nối cao có độ ghép nối mạnh đơn vị, đơn vị phụ thuộc lẫn Hệ thống nối ghép lỏng lẻo làm cho đơn vị độc lập tương đối độc lập với Các module ghép nối chặt chẽ chúng dùng biến chung chúng trao đổi thông tin điều khiển (ghép nối chung ghép nối điều khiển) 74 Chương 4: Thiết kế phần mềm Ghép nối lỏng lẻo đạt đảm bảo thông tin biểu diễn giữ thành phần giao diện liệu với đơn vị khác lại thông qua danh sách tham số Tiêu chuẩn ghép nối chương trình đánh sau: - Một phép nối chuẩn phép gọi tới module khác tên - Một phép nối điều khiển xấu phép chuyển tới điểm vào thứ cấp xác định module khác - Một phép nối liệu xấu liên hệ tới liệu xác định module khác phép truyền tường minh qua phép nối chuẩn - Một ghép cặp (couple) tính tốn mục liệu dùng chung module nhận dùng làm sở tính tốn hay lập mục, để lập định 4.4.3 Sự hiểu Sự hiểu liên quan tới số đặc trưng thành phần sau đây: a) Tính kết dính: Có thể hiểu thành phần mà khơng cần tham khảo đến thành phần khác hay không? b) Đặt tên: Phải tên dùng thành phần có nghĩa? Tên có nghĩa tên phản ánh thực thể giới thực mơ hình thành phần c) Soạn tư liệu: Thành phần có soạn thảo tư liệu cho ánh xạ thực thể giới thực thành phần rõ ràng? d) Độ phức tạp: độ phức tạp thuật toán dùng để thực thành phần nào? Từ phức tạp dùng theo nghĩa khơng hình thức Độ phức tạp cao ám nhiều quan hệ thành phần khác thành phần thiết kế cấu trúc logic phức tạp mà dính líu đến độ sâu lồng phát biểu Các thành phần phức tạp khó hiểu, người thiết kế nên làm cho thiết kế thành phần đơn giản tốt Đa số công việc đo chất lượng thiết kế tập trung vào cố gắng đo độ phức tạp thành phần từ thu vài độ đo dễ hiểu thành phần Độ phức tạp phản ánh độ dễ hiểu, có số nhân tố khác ảnh hưởng đến độ dễ hiểu, chẳng hạn tổ chức liệu kiểu cách mô tả thiết kế Các số đo độ phức tạp cung cấp số cho độ dễ hiểu thành phần Sự thừa kế thiết kế hướng đối tượng phản ánh độ dễ hiểu Nếu thừa kế dùng để gắn chi tiết thiết kế thiết kế dễ hiểu Mặc khác sử dụng thừa kế đòi hỏi người đọc thiết kế phải phải nhìn nhiều lớp đối tượng khác tôn ti thừa kế độ dễ hiểu thiết kế rút gọn 75 Chương 4: Thiết kế phần mềm 4.4.4 Sự thích nghi Nếu thiết kế nhằm bảo trì phải sẳn sàng thích nghi Dĩ nhiên điều suy thành phần chúng nên ghép nối lỏng lẻo Tuy nhiên thích nghi lại có nghĩa thiết kế phải soạn thảo tư liệu tốt, tư liệu thành phần phải dễ hiểu kiên định với thực hiện, nghĩa thực phải viết cách dễ đọc Một thiết kế dễ thích nghi có mức nhìn thấy cao Nó có quan hệ rõ ràng mức khác thiết kế Người đọc thiết kế tìm biểu diễn liên quan cho lược đồ cấu trúc biểu diễn vận chuyển biểu đồ dòng liệu Cần phải dễ dàng kết hợp chặt chẽ biến đổi thiết kế tồn tư liệu thiết kế Nếu khơng thay đổi thiết kế không đưa vào mô tả liên quan Tư liệu thiết kế trở nên khơng kiên định Các biến đổi tiếp sau khó thực (thành phần thiết kế thích nghi được) cải biên khơng thể dựa vào tính kiên định của tư liệu thiết kế Để có độ thích nghi tối ưu thành phần phải tự chứa Một thành phần ghép nối lỏng lẻo theo nghĩa hợp tác với thành phần khác thông qua việc chuyển thông báo Điều không giống tự chứa thành phần dựa thành phần khác chẳng hạn chức hệ thống chức xử lý sai Sự thích nghi với thành phần dính líu với thay đổi phần thành phần mà dựa chức ngoại nên đặc tả chức ngoại xét đến cải biên Muốn tự chứa cách hồn tồn thành phần khơng nên dùng thành phần khác xác định ngoại lai Tuy nhiên, điều lại mâu thuẫn với kinh nghiệm nói thành phần có nên dùng lại Vậy cần có cân tính ưu việt dùng lại thành phần mát tính thích nghi thành phần 4.4.5 Một số yêu cầu thiết kế + Linh hoạt yêu cầu thay đổi không định trước + Dễ thử nghiệm + Tính sáng sủa, dễ đọc + Kích thước module nhỏ + Tính độc lập module (tính mở/đóng giứa module), sử dụng yếu tố "hộp đen" + Phải quan hệ chặt chẽ thiết kế u cầu + Mỗi module hồn tồn độc lập, thực chức thực trọn vẹn chức + Mọi thứ module ràng buộc với qua việc xử lý nối tiếp dòng liệu + Mọi thứ module điều khiển liệu vào, hay phức hợp thiết bị, hay thực phần kết xuất 76 Chương 4: Thiết kế phần mềm + Module hiểu hoàn toàn dựa vào tham biến truyền cho nhận từ + Khi thiết kế cố gắng giảm thiểu cấu trúc việc tản nhiều cố gắng co cụm chiều sâu tăng thêm Cần tránh Cố gắng có + Giữ phạm vi hiệu module bên phạm vi kiểm sốt module - Phạm vi hiệu module m định nghĩa tất module khác bị ảnh hưởng định thực module m - Phạm vi kiểm soát module m tất module module thuộc cấp thuộc cấp cuối module m Quyết định Hiệu định Vi phạm Quyết định Hiệu Không vi phạm + Ước lượng giao diện module để giảm độ phức tạp, dư thừa tăng tính qn + Xác định module có chức dự kiến + Cố gắng giữ module đầu vào đầu ra, tránh "mối nối bệnh hoạn" 77 Chương 4: Thiết kế phần mềm 4.5 CHIẾN LƯỢC THIẾT KẾ Do hệ phần mềm lớn phức tạp nên người ta thường dùng phương pháp tiếp cận khác việc thiết kế phần khác hệ thống Chẳng có chiến lược tốt cho dự án Hai chiến lược thiết kế dùng rộng rãi việc phát triển phần mềm thiết kế hướng chức thiết kế hướng đối tượng Mỗi chiến lược thiết kế có ưu nhược điểm riêng phụ thuộc vào ứng dụng phát triển nhóm phát triển phần mềm Cách tiếp cận hướng chức hay hướng đối tượng bổ sung hỗ trợ cho đối kháng Kỹ sư phần mềm chọn cách tiếp cận thích hợp cho giai đoạn thiết kế 4.5.1 Thiết kế hướng chức Thiết kế hướng chức cách tiếp cận thiết kế phần mềm thiết kế phân giải thành đơn thể tác động lẫn nhau, mà đơn thể có chức xác định rõ ràng Các chức có trạng thái cục chúng chia sẻ với trạng thái hệ thống, trạng thái tập trung chức truy cập Có người nghĩ thiết kế hướng chức lỗi thời nên thay cách tiếp cận hướng đối tượng Thế nhưng, nhiều tổ chức phát triển chuẩn phương pháp dựa phân giải chức Nhiều phương pháp thiết kế kết hợp với cơng cụ CASE hướng chức có nhiều hệ thống phát triển cách sử dụng phương pháp tiếp cận hướng chức Các hệ thống phải bảo trì cho tương lai xa xôi Bởi thiết kế hướng chức tiếp tục sử dụng rộng rãi Đó thiên hạ Còn người Việt Nam chúng ta, chưa có tập quán dùng phương pháp thiết kế nào, liệu có thiết phải theo trào lưu hay nên thẳng vào phương pháp hữu hiệu nhất? Người ta dùng biểu đồ dòng liệu - mà mơ tả việc xử lý liệu logic, lược đồ cấu trúc - cấu trúc phần mềm mô tả PDL (page descri ption language) - mơ tả thiết kế chi tiết Khái niệm dòng liệu bị cải biên làm cho thích hợp việc sử dụng hệ thống vẽ biểu đồ tự động sử dụng dạng lược đồ cấu trúc có kèm thêm thơng tin điều khiển Chiến lược thiết kế hướng chức dựa việc phân giải hệ thống thành chức có tương tác với trạng thái hệ thống tập trung dùng chung cho chức Các chức có thơng tin trạng thái cục dùng cho trình thực chức mà thơi Thiết kế hướng chức gắn với chi tiết thuật tốn chức thơng tin trạng thái hệ thống không bị che dấu Điều gây vấn đề chức thay đổi trạng thái theo cách mà chức khác không ngờ tới Việc thay đổi chức cách sử dụng trạng thái hệ thống gây tương tác bất ngờ chức khác 78 Chương 4: Thiết kế phần mềm Do cách tiếp cận chức để thiết kế thắng lợi mà khối lượng thông tin trạng thái hệ thống làm nhỏ thông tin dùng chung rõ ràng 4.5.2 Thiết kế hướng đối tượng Hệ thống nhìn nhận đối tượng (chứ chức năng) Hệ thống phân tán, đối tượng có thơng tin trạng thái riêng Đối tượng thuộc tính xác định trạng thái đối tượng phép tốn Nó thừa kế từ vài lớp đối tượng lớp cao hơn, cho dễ định nghĩa cần nêu đủ khác lớp cao Che dấu thơng tin chiến lược thiết kế dấu nhiều thông tin thành phần hay Cái ngầm hiểu việc kết hợp điều khiển logic cấu trúc liệu thực thiết kế chậm tốt Liên lạc thông qua thông tin trạng thái dùng chung (các biến tổng thể) nhất, nhờ khả hiểu tăng lên Thiết kế tương đối dễ thay đổi thay đổi thành phần không dự kiến hiệu ứng phụ thành phần khác Thiết kế hướng đối tượng dựa việc che dấu thơng tin, nhìn hệ phần mềm đối tượng tương tác với chức cách tiếp cận chức Các đối tượng có trạng thái che dấu phép tốn trạng thái Thiết kế biểu thị dịch vụ yêu cầu cung cấp đối tượng có tương tác với Thiết kế hướng đối tượng có ba đặc trưng i) Vùng liệu dùng chung bị loại bỏ Các đối tượng liên lạc với cách trao đổi thông báo biến dùng chung ii) Các đối tượng thực thể độc lập mà chúng sẵn sàng thay đổi tất trạng thái thông tin biểu diễn ảnh hưởng phạm vi đối tượng thơi Các thay đổi biểu diễn thơng tin thực khơng cần tham khảo tới đối tượng hệ thống khác iii) Các đối tượng phân tán hành động song song Khơng cần có định tính song song từ giai đoạn sớm trình thiết kế Các ưu điểm i) Dễ bảo trì đối tượng độc lập Các đối tượng hiểu cải biên thực thể độc lập Thay đổi thực đối tượng thêm dịch vụ không làm ảnh hưởng tới đối tượng hệ thống khác ii) Các đối tượng thành phần dùng lại thích hợp (do tính độc lập chúng) Một thiết kế dùng lại đối tượng thiết kế thiết kế trước iii) Đối với vài lớp hệ thống, có phản ánh rõ ràng thực thể có thực (chẳng hạn thành phần phần cứng) với đối tượng điều khiển hệ thống Điều cải thiện tính dễ hiểu thiết kế 79 Chương 4: Thiết kế phần mềm Nhược điểm: Sự nhận minh đối tượng hệ thống thích hợp khó khăn Cách nhìn tự nhiên nhiều hệ thống cách nhìn chức việc thích nghi với cách nhìn hướng đối tượng đơi khó khăn Phương pháp thiết kế hướng đối tượng tương đối chưa chín muồi thay đổi mau chóng Ở đây, cần phân biệt hai khái niệm thiết kế hướng đối tượng lập trình (cài đặt) hướng đối tượng: + Thiết kế hướng đối tượng chiến lược thiết kế khơng phụ thuộc vào ngôn ngữ thực cụ thể Các ngôn ngữ lập trình hướng đối tượng khả bao gói đối tượng làm cho thiết kế hướng đối tượng thực cách đơn giản Tuy nhiên thiết kế hướng đối tượng thực ngôn ngữ kiểu Pascal C mà khơng có đặc điểm + Việc chấp nhận thiết kế hướng đối tượng chiến lược hữu hiệu dẫn đến phát triển phương pháp thiết kế hướng đối tượng Như Ada khơng phải ngơn ngữ lập trình hướng đối tượng khơng trợ giúp thừa kế lớp, lại thực đối tượng Ada cách sử dụng gói nhiệm vụ, Ada dùng để mơ tả thiết kế hướng đối tượng + Thiết kế hướng đối tượng chiến lược thiết kế, không phụ thuộc vào ngôn ngữ để thực Các ngơn ngữ lập trình hướng đối tượng khả bao gói liệu làm cho dễ thực thiết kế hướng đối tượng Tuy nhiên thực thiết kế hướng đối tượng ngôn ngữ kiểu Pascal C 4.6 THIẾT KẾ KIẾN TRÚC ỨNG DỤNG VÀ CÁC MƠ HÌNH CHO THIẾT KẾ ỨNG DỤNG 4.6.1 Thiết kế kiến trúc ứng dụng Như nói trên, kiến trúc phần mềm ứng dụng suy dẫn qua tiến trình phân hoạch đặt mối quan hệ phần tử giải pháp phần mềm với phận giới thực xác định không tường minh phân tích u cầu Các hệ thống lớn phân rã thành phân hệ cung cấp dịch vụ Mỗi phân hệ có module có giao diện xác định để giao tiếp với phân hệ khác Nó hệ thống có quyền riêng cho phép hoạt động khơng phụ thuộc vào dịch vụ phân hệ khác Quy trình thiết kế khởi đầu để xác định phân hệ hệ thống thiết lập khuôn khổ điều khiển truyền thông phân hệ gọi thiết kế kiến trúc cho ứng dụng Thiết kế kiến trúc ứng dụng tiến hành trước có đặc tả chi tiết hệ thống Việc phân rã kiến trúc hệ thống cần thiết cho việc cấu trúc tổ chức đặc tả chứa hoạt động sau: Cấu trúc hệ thống: hệ thống cấu trúc thành số phân hệ, phân hệ đơn vị phần mềm độc lập Các liên kết thông tin phân hệ xác định 80 Chương 4: Thiết kế phần mềm Mơ hình hố điều khiển: mơ hình chung quan hệ điều khiển thành phần hệ thống thiết lập Phân rã mơ hình: phân hệ xác định phân rã thành module Kiến trúc sư phải định kiểu module kết nối Kết thiết kế kiến trúc ứng dụng tài liệu thiết kế kiến trúc Nó bao gồm số biểu diễn đồ hoạ mơ hình hệ thống kèm theo giải thích văn Nó mơ tả hệ thống phân rã thành phân hệ phân hệ lại phân rã thành module Giai đoạn thiết kế kiến trúc việc phân rã hệ thống thành nhiều phân hệ tương tác Tại mức trừu tượng nhất, thiết kế kiến trúc coi sơ đồ khối khối đại diện cho phân hệ Các hộp nằm khối coi phân hệ phân hệ Các mũi tên đại diện cho điều khiển liệu giao tiếp phân hệ Sau đó, số mơ hình đặc trưng phát triển để biểu diễn liệu chia sẻ, giao diện phân phối liệu phân hệ ứng dụng 4.6.2 Các mơ hình thiết kế ứng dụng 4.6.2.1 Mơ hình kho liệu Các phân hệ cần trao đổi thơng tin, tiến hành theo hai cách: i Mỗi phân hệ trì sở liệu riêng Dữ liệu trao đổi phân hệ cách chuyển đổi thông báo ii Mọi liệu lưu trữ sở liệu trung tâm truy cập phân hệ Mơ hình gọi mơ hình kho liệu Mơ hình kho liệu phù hợp cho ứng dụng liệu tạo phân hệ sử dụng phân hệ khác Đây cách hữu hiệu để chia sẻ số lượng lớn liệu mà không cần chuyển đổi liệu tường minh từ phân hệ tới phân hệ khác Phân hệ phải chấp nhận mơ hình muốn tham gia hệ thống Sẽ khó tích hợp phân hệ khơng phù hợp với tiêu chuẩn kho liệu Phân hệ tạo liệu không cần liên quan đến việc liệu phân hệ khác sử dụng Việc phát triển mơ hình khó khăn số lượng lớn liệu có theo tiêu chuẩn cũ Việc chuyển đổi liệu tốn Các hoạt động lưu trữ, bảo mật, điều khiển truy nhập khơi phục tập trung hố Tuy nhiên, phân hệ có yêu cầu khác mức độ bảo mật, khôi phục chiến lược lưu trữ Mơ hình bắt buộc phân hệ phải chấp nhận sách chung Mọi việc đơn giản phân hệ cần tích hợp tương thích với liệu cũ Tuy nhiên khó khăn phân phối liệu tới nhiều máy khác Việc phát sinh khả dư thừa liệu, khơng tồn vẹn 81 Chương 4: Thiết kế phần mềm 4.6.2.2 Mơ hình khách - phục vụ Mơ hình khách - phục vụ mơ hình hệ thống phân tán biểu diễn việc phân tán liệu xử lý nhiều máy tính khác Các thành phần là: Một tập server độc lập phục vụ cho phân hệ Một tập khách hàng yêu cầu dịch vụ Chúng phân hệ, thể khác chương trình Một mạng cho phép khách hàng truy nhập dịch vụ Khách hàng phải biết định danh dịch vụ, dịch vụ không cần biết định danh khách hàng Ưu điểm quan trọng mơ hình phân tán rõ ràng Mơ hình dễ dàng thêm server tích hợp có nhu cầu mà không ảnh hưởng tới thành phần cũ Sự thiếu vắng mơ hình chia sẻ liệu có nghĩa khó dự đốn vấn đề tích hợp liệu vào hệ thống cũ Mỗi server phải có trách nhiệm với thân lưu trữ, khơi phục, Khơng có trung tâm nên khách hàng phải tự biết tìm server, vấn đề khó khăn mạng lớn WAN, Internet 4.6.2.3 Mơ hình máy trừu tượng Mơ hình máy trừu tượng đơi gọi mơ hình lớp, mơ hình hố giao diện phần mềm Nó tổ chức hệ thống thành dãy lớp cung cấp dịch vụ khác Mỗi lớp xác định máy trừu tượng, ngôn ngữ máy lớp làm sở để thực cho lớp Nhược điểm hệ thống cấu trúc theo cách tương đối phức tạp Việc thực gặp vấn đề nhiều lớp giao tiếp cần phải có 4.6.2.4 Mơ hình điều khiển Là mơ hình mà để vận hành, hệ thống phải điều khiển làm việc đồng Mơ hình cấu trúc khơng có thông tin điều khiển mà luồng điều khiển mơ hình điều khiển Hai cách tiếp cận chung xác định là: Điều khiển tập trung, Điều khiển sở kiện Mơ hình điều khiển bổ sung cho mơ hình cấu trúc Mỗi mơ hình cấu trúc nói dùng mơ hình điều khiển tập trung mơ hình điều khiển sở kiện Mơ hình điều khiển tập trung Một phân hệ thiết kế điều khiển hệ thống có trách nhiệm quản lý việc thực phân hệ khác Các mơ hình điều khiển tập trung phân lớp theo hai loại phụ thuộc việc điều khiển tiến hành hay song song + Mơ hình gọi - trả lời: Mơ hình phù hợp với mơ hình thủ tục top down 82 Chương 4: Thiết kế phần mềm + Mơ hình quản lý: Mơ hình thích hợp với hệ thống đồng thời Một cấu thành hệ thống thiết kế quản trị điều khiển việc khởi động, kết thúc phối hợp phân hệ khác Mơ hình hệ thống điều khiển kiện Mơ hình hệ thống điều khiển kiện có nhiều kiểu khác hệ thống hướng kiện, như: Mô hình phát tin: Trong mơ hình này, ngun tắc, kiện thông báo cho phân hệ Các phân hệ thiết kế điều khiển kiện tự việc trả lời Mơ hình hiệu với phân hệ phân bố máy tính khác mạng Ưu điểm việc phát triển tương đối đơn giản Một phân hệ xử lý lớp kiện tích hợp ghi nhận kiện vào điều khiển kiện Mỗi phân hệ kích hoạt phân hệ khác khơng cần biết tên vị trí phân hệ Phân bố suốt với phân hệ Nhược điểm mơ hình phân hệ khơng biết kiện có xử lý hay khơng xử lý Rất hai phân hệ khác sinh kiện gây xung đột Mơ hình điều khiển ngắt: Có hệ thống bên sử dụng riêng cho việc theo dõi ngắt bên chuyển tới phân hệ tương ứng Mơ hình phù hợp với hệ thống thời gian Ưu điểm cho phép đáp ứng nhanh với kiện Nhược điểm việc lập trình phức tạp 4.6.2.5 Mơ hình đối tượng Hệ thống phân thành đối tượng giao tiếp với Phân tích hướng đối tượng lớp đối tượng liên quan, thuộc tính hoạt động chúng Ưu điểm tính bao đóng cho phép dấu thực đối tượng cho phép dùng lại mã Tuy nhiên nhược điểm để sử dụng dịch vụ, đối tượng phải gọi tường minh tên giao diện đối tượng khác Sự thay đổi giao diện làm ảnh hưởng tới đối tượng khác 4.6.2.6 Mơ hình luồng liệu Hệ thống phân hoá thành module chức Chúng nhận liệu chuyển hoá chúng lại đưa kết Trong mơ hình luồng liệu, biến đổi xử lý liệu đầu vào tạo liệu Dữ liệu chảy theo luồng từ biến đổi sang khác Mỗi bước quy trình giống phép biến đổi Mơ hình có ưu điểm: Nó hỗ trợ việc sử dụng lại biến đổi Nó phù hợp với suy nghĩ người quan niệm liệu xử lý theo luồng có đầu vào đầu Thêm xử lý khác vào hệ thống đơn giản 83 Chương 4: Thiết kế phần mềm Dễ thực xử lý song song Nhược điểm mơ hình là: Cần phải có định dạng chung cho liệu để xử lý biến đổi Các hệ thống tương tác khó viết theo mơ hình luồng liệu Trong giao diện vào theo dạng văn dùng mơ hình luồng liệu giao diện đồ hoạ có dạng vào phức tạp dựa kiện khó áp dụng mơ hình luồng liệu 4.7 THIẾT KẾ GIAO DIỆN NGƯỜI SỬ DỤNG Khi hệ thống tin học hoá ngày vào đời sống người vấn đề thiết kế giao diện trở nên quan trọng việc phát triển phần mềm Có nhiều câu hỏi đặt trình thiết kế giao diện, như: + Ai người dùng? + Người dùng học cách tương tác với hệ thống dựa máy tính nào? + Người dùng diễn giải thông tin hệ thống tạo nào? + Người dùng trơng đợi hệ thống? Để có hệ thống thân thiện với người sử dụng, có nhiều nhân tố cần quan tâm vấn đề thiết kế giao diện 4.7.1 Nhân tố người Nhân tố người: dựa vào yếu tố - Nền tảng cảm nhận người, - Mức độ kỹ hành vi người, - Nhiệm vụ nhân tố người: phân loại dựa vào mục đích ứng dụng, cụ thể: Nhiệm vụ trao đổi: hoạt động làm cho thông tin truyền từ nơi sản xuất đến nơi tiêu thụ Nhiệm vụ đối thoại: hoạt động làm cho người sử dụng định hướng điều khiển tương tác với hệ thống dựa máy tính Nhiệm vụ nhận biết: hoạt động thực thu thông tin, hoạt động liên kết với chức hệ thống Nhiệm vụ điều khiển: hoạt động cho phép người sử dụng kiểm sốt thơng tin, nhận biết lệnh cho tiến trình thơng qua nhiệm vụ tổng quát khác xuất 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 máy tính, có số loại giao diện như: - Giao diện lệnh vào hỏi, - Giao diện đơn (menu đơn giản), 84 Chương 4: Thiết kế phần mềm - Giao diện trỏ nhặt (hướng cửa sổ), Hiện nay, giao diện thông dụng cho người sử dụng 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 nhiệm vụ quan trọng thiết kế phần mềm Hướng dẫn thiết kế giao diện người - máy gồm vấn đề liên quan: Mô hình thiết kế giao diện thể qua bốn mơ hình: + Mơ hình thiết kế, + Mơ hình người sử dụng: phân loại cho người học, người hiểu biết người hiểu biết + Mơ hình người dùng hay cảm nhận hệ thống: tức hình ảnh hệ thống mà người sử dụng mang đầu + Hình ảnh hệ thống: cách biểu lộ bên ngồi hệ thống dựa máy tính với thơng tin hỗ trợ Phân tích mơ hình hóa nhiệm vụ: gồm bước Thiết lập mục tiêu ý đồ cho nhiệm vụ Ánh xạ mục tiêu, ý đồ thành dãy hành động xác định Xác định dãy hành động thực mức giao diện Chỉ trạng thái hệ thống, tức giao diện giống vào lúc hành động dãy thực Xác định chế điều khiển, thiết bị hành động sẵn có cho người dùng để thay đổi trạng thái hệ thống Chỉ cách thức chế điều khiển ảnh hưởng đến trạng thái hệ thống Chỉ cách thức người dùng diễn giải trạng thái hệ thống từ thông tin cung cấp qua giao diện 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 thông tin lỗi, Gán nhãn lệnh a Thời gian hệ thống đáp ứng: chứa hai đặc trưng quan trọng độ dài độ biến thiên Cần ý thời gian đáp ứng lâu người sử dụng nhàm chán đáp ứng nhanh người sử dụng dễ mắc sai lầm vội vã b Tiện nghi giúp đỡ: phải trả lời câu hỏi + Trợ giúp có sẵn với chức vào lúc không? + Người sử dụng yêu cầu trợ giúp nào? + Trợ giúp trình bày nào? + Người sử dụng trở tương tác thông thường nào? + Thông tin trợ giúp cấu trúc nào? 85 Chương 4: Thiết kế phần mềm c Giải thông báo lỗi: thể + Thông báo nên mô tả vấn đề mà người dùng hiểu + Thơng báo nên đưa lời khun có tính xây dựng để khơi phục từ lỗi + Thơng báo nên hậu lỗi tiêu cực để người dùng kiểm tra Ví dụ: khơng có file liệu + Thơng báo nên kèm tín hiệu nghe, thấy + Khơng đưa thơng báo hàm ý trách móc người dùng d Gán nhãn lệnh: + Mọi tùy chọn đơn có tương ứng với thị khơng? + Các lệnh có dạng nào; từ gõ vào + Việc học nhớ lệnh khó đến đâu? Có thể làm quên lệnh + Liệu lệnh có phù hợp với người dùng hay khơng? Cơng cụ cài đặt: cơng cụ sẵn có để thiết kế giao diện Tiến hóa thiết kế Khi có mơ hình thiết kế giao diện tạo áp dụng tiêu chuẩn đánh giá để thiết kế giao diện Cuộc xét duyệt gồm vần đề: + Độ dài độ phức tạp đặc tả viết hệ thống giao diện cung cấp dẫn khối lượng học tập người dùng hệ thống cần học + Số lệnh xác định số trung bình đối số lệnh đưa dẫn thời gian tương tác hiệu tổng thể hệ thống + Số hành động, lệnh trạng thái hệ thống mơ hình thiết kế nêu ra khối lượng cần nhớ người dùng hệ thống + Phong cách tương tác, tiện nghi giúp đỡ giao thức xử lý lỗi đưa dẫn chung độ phức tạp giao diện mức độ ngưòi dùng chấp nhận Quy trình đánh giá thiết kế giao diện mơ tả sau: Thiết kế sơ Xây dựng giao diện mẫu Xây dựng giao diện mẫu n Tiến hành sửa đổi thiết kế Người dùng đánh giá giao diện Người thiết kế nghiên cứu đánh giá Thiết kế giao diện hoàn tất 86 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 tương tác chung: giao diện phải Nhất qn, Cho thơng tin phản hồi có nghĩa, Yêu cầu kiểm chứng 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 đối thoại, vận động ý nghĩa, Dung thứ cho sai lầm, Phân loại hoạt động theo chức tổ chức 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 động từ đơn giản hay cụm từ ngắn để đặt tên lệnh, b Hướng dẫn hiển thị thông tin Chỉ hiển thị thơng tin có liên quan đến ngữ cảnh tại, Đừng chôn vùi người dùng liệu, 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 qn, cách viết tắt chuẩn màu sắc dự kiến trước được, Cho phép người dùng trì ngữ cảnh trực quan, Đưa thơng báo lỗi có nghĩa, Dùng chữ hoa, chữ thường, thụt cấp gộp nhóm văn để trợ giúp cho việc hiểu, Sử dụng cửa sổ để đóng khung 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ễ hấp thụ với dạng biểu diễn này, Xem xét vùng hiển thị có sẵn hình dùng cách có hiệu quả, c Hướng dẫn vào 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ì quán hiển thị thông tin vào liệu, Cho phép người dùng làm phù hợp vào, Tương tác nên mềm dẻo hài hòa với mode đưa vào ưa thích, Khử kích hợp lệnh khơng phù hợp tại, Để cho người dùng kiểm soát luồng tương tác, Cung cấp trợ giúp cho hành động đưa vào, Giao diện người-máy cánh cửa vào phần mềm ứng dụng Để giao diện đáp ứng yêu cầu người thiết kế cần phải hiểu biết nhân tố người 87 Chương 4: Thiết kế phần mềm cơng nghệ giao diện Thêm vào đó, kiểu cách giao diện, công nghệ phần cứng phần mềm sẵn có, thân ứng dụng có ảnh hưởng đến kết cuối Câu hỏi Tại phải có thiết kế ứng dụng? Nêu hoạt động trình thiết kế phần mềm Thế thiết kế phần mềm tốt Với tài liệu yêu cầu có chương 3, bạn xây dựng tài liệu thiết kế cho ứng dụng Bạn lựa chọ mơ hình thiết kế ứng dụng nào, sao? Vì phải thiết kế giao diện ứng dụng? Chỉ rõ vấn đề quan trọng thiết kế giao diện ứng dụng 88 ... thiểu sơ đồ sau: 69 Chương 4: Thiết kế phần mềm ph mềm 4. 3 .4 Kiến trúc Chi phần nổ lực Tổng chi phí phần mềm Chi phí giao diện Kiến trúc phần mềm suy dẫn qua tiến trình phân hoạch đặt mối quan... phần mềm giải pháp phần mềm S chọn hình sau: S1 P1 S2 P2 P3 S3 P5 P4 Vấn đề P cần giải qua phần mềm S4 S5 Giải pháp phần mềm S Rõ ràng, giải vấn đề, có nhiều giải pháp phần mềm Mỗi giải pháp Si... phần mềm ứng dụng Để giao diện đáp ứng yêu cầu người thiết kế cần phải hiểu biết nhân tố người 87 Chương 4: Thiết kế phần mềm công nghệ giao diện Thêm vào đó, kiểu cách giao diện, cơng nghệ phần