Thiet ke CD PM

Chương 4:

THIẾT KẾ VÀ CÀI ĐẶT PHẦN MỀM

Nội dung

         1. Các nền tảng thiết kế phần mềm

         2. Thiết kế giao diện người dùng

                        1.1 Trừu tượng- khái quát hóa: nghĩa là khả năng tóm lược tòan bộ sản phẩm phần mềm gồm những việc chính là gì, gồm các mức:

                        - Mức cao nhất: một giải pháp được phát biểu theo thuật ngữ đại thể bằng cách dùng ngôn ngữ của môi trường vấn đề.

                        - Mức vừa: lấy khuynh hướng thủ tục nhiều hơn. Thuật ngữ hướng vấn đề thường đi đôi với thuật ngữ hướng cài đặt trong mô tả giải pháp.

                        - Mức thấp: giải pháp được phát biểu theo thuật ngữ chi tiết để có thể cài đặt trực tiếp

                Các dạng trừu tượng:

                - Trừu tượng thủ tục:

-    Tại mức trừu tượng này đã có việc biểu diễn thủ tục sơ bộ. Thuật ngữ này đã hướng phần mềm (như việc dùng các cấu trúc do while) và việc dính líu tới module bắt đầu nổi lên bề mặt.

-             Khái niệm về làm mịn dữ liệu từng bước và module gắn liền với việc trừu tượng. Khi thiết kế phần mềm tiến hóa, từng mức module trong cấu trúc chương trình sẽ biểu diễn cho việc làm mịn dần trong mức trừu tượng của phần mềm

         - Trừu tượng dữ liệu:

            Giống như trừu tượng thủ tục, làm cho người thiết kế có thể biểu diễn một sự vật dữ liệu ở các mức chi tiết khác nhau, nhưng điều quan trọng hơn, là xác định một sự vật dữ liệu trong hoàn cảnh các thao tác (thủ tục) có thể được áp dụng vào nó. Ở một số NNLT, dữ liệu cơ sở có thể giúp người dùng định nghĩa cấu trúc dữ liệu mới.

         - Trừu tượng điều khiển:

            Trừu tượng điều khiển là dạng thứ ba của trừu tượng hóa được dùng trong thiết kế phần mềm. Giống như trừu tượng dữ liệu và thủ tục, trừu tượng điều khiển áp dụng cho cơ chế điều khiển chương trình mà không xác định các chi tiết bên trong. Một ví dụ về điều khiển là cơ chế đồng bộ hóa được dùng để điều hòa các hoạt động trong hệ điều hành

                1.2 Làm mịn:

                        - Làm mịn từng bước là một chiến lượcthiết kế trên - xuống ban đầu do NIKLAUS WIRTH đề nghị. Kiến trúc của một chương trình được phát triển bằng các mức làm mịn liên tiếp các chi tiết thủ tục. Một cấp bậc được xây dựng nên bằng cách phân tách một phát biểu vĩ mô về chức năng (trừu tượng thủ tục) theo kiểu từng bước cho tới khi đạt tới phát biểu bằng ngôn ngữ lập trình.

            - Làm mịn trước tiên là một tiến trình khởi thảo. Bắt đầu với một phát biểu về chức năng (hay mô tả thông tin) được xác định như mức trừu tượng cao. Tức là, phát biểu mô tả chức năng hay thông tin về mặt quan niệm, nhưng không đưa ra thông tin về cách làm việc nội bộ của chức năng hay cấu trúc nội bộ của thông tin đó. Việc làm mịn buộc người thiết kế phải khởi thảo phát biểu nguyên gốc, sau đó đưa ra ngày càng nhiều chi tiết khi việc làm mịn khởi thảo kế tiếp xuất hiện

1.3 Tính module

            - Phần mềm được chia thành các thành phần có tên riêng biệt và định địa chỉ được, gọi là cácmodule, sau đó chúngđược tích hợp lại để thỏa mãn yêu cầu.

            - Người ta nói rằng, tính module là thuộc tính riêng của phần mềm cho phép một chương trình nên quản lý được theo cách thông minh. Người đọc không thể nào hiểu thấu phần mềm nguyên khối (như một chương trình lớn chỉ gồm một module). Điều này dẫn đến kết luận chia để trị sẽ dễ giải quyết một vấn đề phức tạp hơn khi chia nó thành những phần quản lý được.

            - Nỗ lực (chi phí) để phát triển một module phần mềm riêng lẻ không giảm đi khi tổng số các module tăng lên. Với cùng tập hợp các yêu cầu, nhiều module hơn tức là kích cỡ từng module sẽ nhỏ hơn. Tuy nhiên khi số các module tăng lên thì nỗ lực liên kết với việc làm giao diện cho các module cũng tăng lên

1.4 Kiến trúc phần mềm

         1. Cấu trúc cấp bậc điều khiển các thành phần thủ tục (module, hoặc cấu trúc chương trình)

         2. Cấu trúc dữ liệu

            - Kiến trúc phần mềm được suy dẫn ra qua tiến trình phân hoạch và đặt mối quan hệ giữa các phần tử của giải pháp phần mềm với các bộ phận của thế giới thực, được xác định không tường minh trong bản phân tích yêu cầu.   

            - Sự tiến hóa của phần mềm và cấu trúc dữ liệu bắt đầu từ việc xác định vấn đề. Giải pháp xuất hiện khi từng phần của vấn đề được giải quyết bởi một hay nhiều phần tử phần mềm. Tiến trình này được biểu diễn tượng trưng trong hình vẽ dưới đây, biểu thị cho một phép chuyển giữa việc phân tích yêu cầu phần mềm và thiết kế.

                        Một vấn đề có thể được thỏa mãn bởi nhiều cấu trúc khác nhau. Phương pháp thiết kế phần mềm có thể được dùng để suy ra cấu trúc, nhưng vì từng cấu trúc lại dựa trên các khái niệm nền tảng khác nhau về thiết kế tốt, cho nên từng phương pháp sẽ phát sinh trong một cấu trúc khác biệt đối với cùng tập các yêu cầu phần mềm. Không có câu trả lời dễ dàng với các câu hỏi “Cái nào tốt nhất?”. Tuy nhiên, có những đặc trưng về cấu trúc mà ta có thể kiểm tra để xác định chất lượng tổng thể

1.5 Cấp bậc điều khiển

                        Cấp bậc điều khiển còn gọi là cấu trúc chương trình, biểu thị cho cách tổ chức của các thành phần chương trình (module). Nó không biểu thị các khía cạnh thủ tục của phần mềm như dãy các xử lý, sự xuất hiện, thứ tự các quyết định hay việc lặp lại các thao tác.

         Ở đây chúng ta quan tâm đến 4 khái niệm:

         - Thuộc cấp

         - Thượng cấp

         - Thấy được

         - Nối được

1.6  Cấu  Trúc  dữ liệu

1.7 Thủ tục phần mềm

                        Cấu trúc chương trình xác định ra cấp bậc điều khiển không để ý đến dãy các xử lý và quyết định. Thủ tục phần mềm tập trung vào các chi tiết xử lý cho từng module riêng biệt. Thủ tục phải cung cấp một đặc tả chính xác về xử lý, kể cả trình tự các sự kiện, các điểm quyết định chính xác, các thao tác lặp lại, và ngay cả cấu trúc/ tổ chức dữ liệu

            - Việc phân chia ra làm nhiều module cần phải tiết kiệm để tối ưu

            - Tránh bị trùng lặp các module, các module có sự độc lập để những thông tin không bị thâm nhập từ các module khác nếu không cần thiết, tránh bị lợi dụng, cần phân biệt rõ cục bộ và toàn cục

                        - Việc che dấu thông tin được coi là một tiêu chuẩn thiết kế đối với hệ thống module, đưa ra những ích lợi lớn nhất khi cần có những thay đổi trong việc kiểm thử và sau này trong bảo trì phần mềm. Vì phần lớn dữ liệu và thủ tục đều bị che dấu khỏi các bộ phận khác của phần mềm, nên những sai sót bất cẩn bị đưa vào trong khi thay đổi sẽ ít có khả năng lan truyền sang các vị trí khác bên trong phần mềm

         2.1 Nhân tố con người và tương tác người-máy          - Nhân tố con người là khách hàng sử dụng phầm mềm, nếu trong quá trình thiết kế khách hàng không được chú trọng thì có thể dẫn tới một phầm mềm “không thân thiện”

            - Ngoài chức năng thì giao diện chính là yếu tố đầu tiên người sử dụng đặt làm tiêu chí để đánh giá một phần mềm

            - Mọi giao diện vẫn có thể làm cho người dùng khó sử dụng, thậm chí là làm sai và gây ra lỗi.

            - Thiết kế giao diện cần tính đến nhu cầu, khả năng và kinh nghiệm của khách hàng

            - Trong sự phát triển của tin học nói chung, con người đã trải qua 4 thế hệ thiết kế giao diện:

                        +Thế hệ 1: Là giao diện theo dòng lệnh, điều này làm người dùng khó nhớ và dễ có lỗi cú pháp

                        + Thế hệ 2: Theo dạng đơn(menu), tại đây, một danh sách các tùy chọn được nêu ra cho người dùng chọn thông qua một mã gõ vào nào đó

                        + Thế hệ 3: Bao gồm lệnh, menu, biểu tượng và cửa sổ

                        + Thế hệ 4: Thế hệ hypertext

            - Lợi ích của giao diện “thế hệ 3”:

                        + Có thể hiển thị nhiều kiểu thông tin khác nhau(hình ảnh, chữ..), ngoài ra còn có thể chuyển đổi giữa các công việc dễ dàng, đẹp và không chán mắt..

                        + Thực hiện tương tác với nhiều lệnh qua menu sổ xuống

                        + Có thể dùng chuột nhiều hơn bàn phím, các trang có thể cuộn xuống dễ dàng, làm cách bố trí các đối tượng nhiều hơn.

         2.2 Thiết kế giao diện người - máy          

            a. Mô hình thiết kế giao diện:

            - Mô hình thiết kế: kỹ sư phần mềm tạo ra, nó là toàn bộ các biểu diễn hệ thống: dữ liệu, thủ tục, kiến trúc

            - Mô hình người dùng: do kỹ sư và khách hàng tạo ra, nó mô tả đối tượng sử dụng PM

            - Cảm nhận(sự tưởng tượng) mà khách hàng bày tỏ với người thiết kế phần mềm

            - Hình ảnh hệ thống: người lập trình tạo ra, là giao diện trên máy tính cùng mối quan hệ với dữ liệu…   

            b. Các vấn đề trong thiết kế giao diện:

            - Thời gian hệ thống đáp ứng: là thời gian máy tính thực hiện xong một lệnh cho người dùng, bao gồm thời gian và độ biến thiên.

            - Tiện nghi giúp đỡ người dùng: Là các combobox, toolTip, help(yếu tố mọi lúc mọi nơi, sử dụng phẳng hay phân tầng, dạng hyperText, vị trí đặt help)

            - Giải quyết thông tin lỗi: Người dùng luôn gặp phải lỗi sử dụng, cần thông báo, trợ giúp trong các trường hợp đó. Thông báo lỗi phải làm được: Dễ hiểu, hướng đến cái tốt, cảnh báo hậu quả, dấu hiệu nhận biết(thấy, nghe…), không nên đánh giá người dùng khi họ gặp lỗi

            - Gán chỉ lệnh: ngoài cách dùng chuột(tương tác với giao diện) người dùng còn có thể sử dụng lệnh bằng phím, nó phải đảm bảo các yếu tố: Dùng lệnh có thể đảm bảo hết cho chuột không, dùng phím chức năng hay phím thường, nó có dễ nhớ không và học bằng cách nào, lệnh nên viết đầy đủ hay viết tắt…      

            c. Công cụ cài đặt:

            Là môi trường lập trình(cần phân biệt với NNLT), chính là một phần mềm cho chúng ta xây dựng, nó phải giải quyết được các yếu tố: Quản lý thiết bị và dữ liệu nhập vào, giải quyết được lỗi, có phản hồi lại dữ liệu nhập vào, có trợ giúp và có công cụ để “thấy” được từng bước của sản phẩm và phải phân biệt rõ giữa giao diện của công cụ và giao diện của sản phẩm, cái thấy được phải hợp thực tế.

         d.Tiến Hóa Thiết kế:

         2.3 Hướng dẫn thiết kế giao diện

            a. Tương tác chung:

            - Nhất quán: chỉ lệnh, công cụ thực hiện phải nhất quán

            - Thông tin phản hồi: phải có sự phản hồi giữa máy tính và người dùng

            - Phải có sự xác nhận lại khi có vấn đề

            - Phải có Undo và redo

            - Hệ thống nên tự bảo vệ

            - Trợ giúp nhanh và dùng từ ngắn gọn

            b. Hiển thị thông tin:

            - Hiển thị thông tin liên quan tới hiện tại, không cần phải vất vả đi tìm kiếm

            - Thông tin, CSDL phản hồi phải dễ nhìn

            - Ký hiệu, mầu sắc phải nhất quán

            - Nên có bản gốc khi thay đổi

            - Biểu diễn thông tin nên lấy đơn vị thực tế

            - Kích thước của từng cửa sổ nên đặt gọn gàng để dễ quan sát các cửa sổ khác

            c. Vào dữ liệu:

            - Tối thiểu số hành động, cung cấp chọn lựa có sẵn

            - Thông tin hiển thị nhất quán với DL

            - Người dùng có thể kiểm soát dữ liệu và bỏ qua các bước theo tiến trình

            - Nên có giá trị mặc định khi nhập

            - Rút ngắn hành động tùy vào từng trường hợp khác nhau

         2.4 Chuẩn giao diện

            - Xu hướng “nhìn thấy cái gì là làm được cái đó”

            - Sử dụng lại các phần giao diện đã có sẵn

            - Lấy một phần mềm phổ dụng làm mẫu

            - Không nên thay đổi nhiều về giao diện khi người dùng không yêu cầu, để người sử dụng sau có thể học lại từ người dùng trước đó.

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: