Giao diện người dùng
Giao diện người dùng là ấn tượng đầu tiên về một hệ thống phần mềm theo quan điểm của người dùng. Do đó bất kỳ hệ thống phần mềm nào cũng phải đáp ứng yêu cầu của người sử dụng. Giao diện người dùng chủ yếu thực hiện hai chức năng -
Chấp nhận đầu vào của người dùng
Hiển thị đầu ra
Giao diện người dùng đóng một vai trò quan trọng trong bất kỳ hệ thống phần mềm nào. Nó có thể là khía cạnh duy nhất có thể nhìn thấy của một hệ thống phần mềm như -
Ban đầu người dùng sẽ nhìn thấy kiến trúc của giao diện người dùng bên ngoài của hệ thống phần mềm mà không cần xem xét kiến trúc bên trong của nó.
Một giao diện người dùng tốt phải thu hút người dùng sử dụng hệ thống phần mềm mà không mắc lỗi. Nó sẽ giúp người dùng hiểu hệ thống phần mềm một cách dễ dàng mà không làm sai lệch thông tin. Một giao diện người dùng không tốt có thể gây ra thất bại trên thị trường trước sự cạnh tranh của hệ thống phần mềm.
Giao diện người dùng có cú pháp và ngữ nghĩa của nó. Cú pháp bao gồm các loại thành phần như văn bản, biểu tượng, nút, v.v. và khả năng sử dụng tóm tắt ngữ nghĩa của giao diện người dùng. Chất lượng của giao diện người dùng được đặc trưng bởi giao diện (cú pháp) và khả năng sử dụng (ngữ nghĩa) của nó.
Về cơ bản có hai loại giao diện người dùng chính - a) Dạng văn bản b) Đồ họa.
Phần mềm trong các miền khác nhau có thể yêu cầu kiểu giao diện người dùng khác nhau, ví dụ như máy tính chỉ cần một khu vực nhỏ để hiển thị các số, nhưng một khu vực lớn cho các lệnh, một trang web cần biểu mẫu, liên kết, tab, v.v.
Giao diện đồ họa người dùng
Giao diện người dùng đồ họa là loại giao diện người dùng phổ biến nhất hiện nay. Nó rất thân thiện với người dùng vì nó sử dụng hình ảnh, đồ họa và biểu tượng - do đó tại sao nó được gọi là 'đồ họa'.
Nó còn được gọi là WIMP interface bởi vì nó sử dụng -
Windows - Một vùng hình chữ nhật trên màn hình nơi chạy các ứng dụng thường dùng.
Icons - Hình ảnh hoặc biểu tượng được sử dụng để đại diện cho một ứng dụng phần mềm hoặc thiết bị phần cứng.
Menus - Danh sách các tùy chọn mà từ đó người dùng có thể chọn những gì họ yêu cầu.
Pointers- Một biểu tượng như mũi tên di chuyển xung quanh màn hình khi người dùng di chuyển chuột. Nó giúp người dùng chọn đối tượng.
Thiết kế giao diện người dùng
Nó bắt đầu với phân tích nhiệm vụ hiểu nhiệm vụ chính của người dùng và miền vấn đề. Nó nên được thiết kế theo thuật ngữ của Người dùng và bắt đầu công việc của người dùng hơn là của lập trình viên.
Để thực hiện phân tích giao diện người dùng, người hành nghề cần nghiên cứu và hiểu rõ bốn yếu tố:
Các users ai sẽ tương tác với hệ thống thông qua giao diện
Các tasks mà người dùng cuối phải thực hiện để làm công việc của họ
Các content được trình bày như một phần của giao diện
Các work environment trong đó những nhiệm vụ này sẽ được tiến hành
Thiết kế giao diện người dùng phù hợp hay tốt hoạt động dựa trên khả năng của người dùng và hạn chế chứ không phải do máy móc. Trong khi thiết kế giao diện người dùng, kiến thức về bản chất công việc và môi trường của người dùng cũng rất quan trọng.
Sau đó, nhiệm vụ được thực hiện có thể được phân chia được giao cho người dùng hoặc máy, dựa trên kiến thức về khả năng và giới hạn của từng loại. Thiết kế giao diện người dùng thường được chia thành bốn cấp độ khác nhau -
The conceptual level - Nó mô tả các thực thể cơ bản xem xét cách nhìn của người dùng về hệ thống và các hành động có thể xảy ra đối với chúng.
The semantic level - Nó mô tả các chức năng được thực hiện bởi hệ thống tức là mô tả các yêu cầu chức năng của hệ thống, nhưng không giải quyết cách người dùng sẽ gọi các chức năng.
The syntactic level - Nó mô tả trình tự đầu vào và đầu ra cần thiết để gọi các chức năng được mô tả.
The lexical level - Nó xác định cách các đầu vào và đầu ra thực sự được hình thành từ các hoạt động phần cứng nguyên thủy.
Thiết kế giao diện người dùng là một quá trình lặp đi lặp lại, trong đó tất cả các bước lặp lại giải thích và tinh chỉnh thông tin được phát triển trong các bước trước đó. Các bước chung để thiết kế giao diện người dùng
Xác định các đối tượng giao diện người dùng và các hành động (hoạt động).
Xác định các sự kiện (hành động của người dùng) sẽ khiến trạng thái của giao diện người dùng thay đổi.
Cho biết cách 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.
Mô tả từng trạng thái giao diện vì nó sẽ thực sự nhìn vào người dùng cuối.
Quy trình phát triển giao diện người dùng
Nó tuân theo một quy trình xoắn ốc như thể hiện trong sơ đồ sau:
Interface analysis
Nó tập trung hoặc tập trung vào người dùng, nhiệm vụ, nội dung và môi trường làm việc, những người sẽ tương tác với hệ thống. Xác định các nhiệm vụ hướng đến con người và máy tính được yêu cầu để đạt được chức năng của hệ thống.
Interface design
Nó xác định một tập hợp các đối tượng giao diện, các hành động và các biểu diễn trên màn hình của chúng cho phép người dùng thực hiện tất cả các tác vụ đã xác định theo cách đáp ứng mọi mục tiêu về khả năng sử dụng được xác định cho hệ thống.
Interface construction
Nó bắt đầu với một nguyên mẫu cho phép đánh giá các kịch bản sử dụng và tiếp tục với các công cụ phát triển để hoàn thành việc xây dựng.
Interface validation
Nó tập trung vào khả năng của giao diện để thực hiện mọi tác vụ của người dùng một cách chính xác, phù hợp với tất cả các biến thể tác vụ, để đạt được tất cả các yêu cầu chung của người dùng và mức độ mà giao diện dễ sử dụng và dễ học.
User Interface Models
Khi giao diện người dùng được phân tích và thiết kế theo bốn mô hình được sử dụng:
User profile model
Được tạo bởi người dùng hoặc kỹ sư phần mềm, thiết lập hồ sơ của người dùng cuối của hệ thống dựa trên độ tuổi, giới tính, khả năng thể chất, học vấn, động lực, mục tiêu và tính cách.
Xem xét kiến thức cú pháp và ngữ nghĩa của người dùng và phân loại người dùng là người mới, người dùng không liên tục và có kiến thức.
Design model
Được tạo bởi một kỹ sư phần mềm, kết hợp các biểu diễn dữ liệu, kiến trúc, giao diện và thủ tục của phần mềm.
Bắt nguồn từ mô hình phân tích các yêu cầu và được kiểm soát bởi thông tin trong đặc tả yêu cầu giúp xác định người dùng của hệ thống.
Implementation model
Được tạo bởi những người triển khai phần mềm làm việc dựa trên giao diện kết hợp với tất cả thông tin hỗ trợ (sách, video, tệp trợ giúp) mô tả cú pháp và ngữ nghĩa của hệ thống.
Đóng vai trò là bản dịch mô hình thiết kế và cố gắng thống nhất với mô hình tinh thần của người dùng để người dùng sau đó cảm thấy thoải mái với phần mềm và sử dụng nó một cách hiệu quả.
User's mental model
Do người dùng tạo ra khi tương tác với ứng dụng. Nó chứa hình ảnh của hệ thống mà người dùng mang trong đầu.
Thường được gọi là nhận thức hệ thống của người dùng và tính đúng đắn của mô tả phụ thuộc vào hồ sơ của người dùng và sự quen thuộc tổng thể với phần mềm trong miền ứng dụng.
Cân nhắc thiết kế của giao diện người dùng
Lấy người dùng làm trung tâm
Giao diện người dùng phải là sản phẩm lấy người dùng làm trung tâm, liên quan đến người dùng trong suốt vòng đời phát triển của sản phẩm. Nguyên mẫu của giao diện người dùng nên có sẵn cho người dùng và phản hồi từ người dùng, nên được kết hợp vào sản phẩm cuối cùng.
Đơn giản và Trực quan
Giao diện người dùng cung cấp sự đơn giản và trực quan để có thể sử dụng nhanh chóng và hiệu quả mà không cần hướng dẫn. GUI tốt hơn giao diện người dùng văn bản, vì GUI bao gồm các menu, cửa sổ và các nút và được vận hành đơn giản bằng chuột.
Đặt người dùng vào quyền kiểm soát
Không bắt buộc người dùng phải hoàn thành các trình tự được xác định trước. Cung cấp cho họ các tùy chọn — để hủy hoặc lưu và quay lại nơi họ đã dừng lại. Sử dụng các điều khoản trên toàn giao diện mà người dùng có thể hiểu, thay vì các điều khoản của hệ thống hoặc nhà phát triển.
Cung cấp cho người dùng một số dấu hiệu cho thấy một hành động đã được thực hiện, bằng cách hiển thị cho họ kết quả của hành động hoặc thừa nhận rằng hành động đã diễn ra thành công.
Minh bạch
Giao diện người dùng phải trong suốt giúp người dùng cảm thấy như họ đang tiếp cận ngay trên máy tính và thao tác trực tiếp với các đối tượng mà họ đang làm việc. Giao diện có thể được làm trong suốt bằng cách cung cấp cho người dùng các đối tượng công việc hơn là đối tượng hệ thống. Ví dụ, người dùng nên hiểu rằng mật khẩu hệ thống của họ phải có ít nhất 6 ký tự, chứ không phải mật khẩu phải có bao nhiêu byte dung lượng.
Sử dụng tiết lộ tiến bộ
Luôn cung cấp khả năng truy cập dễ dàng vào các tính năng phổ biến và các hành động thường dùng. Ẩn các tính năng và hành động ít phổ biến hơn và cho phép người dùng điều hướng chúng. Đừng cố gắng đưa mọi thông tin vào một cửa sổ chính. Sử dụng cửa sổ phụ cho thông tin không phải là thông tin chính.
Tính nhất quán
Giao diện người dùng duy trì tính nhất quán trong và trên toàn bộ sản phẩm, giữ cho kết quả tương tác giống nhau, các lệnh và menu giao diện người dùng phải có cùng định dạng, dấu câu lệnh phải giống nhau và các tham số phải được chuyển cho tất cả các lệnh theo cùng một cách. Giao diện người dùng không nên có các hành vi có thể gây ngạc nhiên cho người dùng và nên bao gồm các cơ chế cho phép người dùng khôi phục sau những sai lầm của họ.
Hội nhập
Hệ thống phần mềm phải tích hợp trơn tru với các ứng dụng khác như MS notepad và MS-Office. Nó có thể sử dụng các lệnh Clipboard trực tiếp để thực hiện trao đổi dữ liệu.
Định hướng thành phần
Thiết kế giao diện người dùng phải theo mô-đun và kết hợp kiến trúc hướng thành phần để thiết kế giao diện người dùng sẽ có các yêu cầu tương tự như thiết kế phần thân chính của hệ thống phần mềm. Các mô-đun có thể dễ dàng được sửa đổi và thay thế mà không ảnh hưởng đến các bộ phận khác của hệ thống.
Có thể tùy chỉnh
Kiến trúc của toàn bộ hệ thống phần mềm kết hợp các mô-đun plug-in, cho phép nhiều người khác nhau mở rộng phần mềm một cách độc lập. Nó cho phép người dùng cá nhân lựa chọn từ các hình thức có sẵn khác nhau để phù hợp với sở thích và nhu cầu cá nhân.
Giảm tải bộ nhớ của người dùng
Không bắt người dùng phải nhớ và lặp lại những gì máy tính phải làm cho họ. Ví dụ: khi điền vào các biểu mẫu trực tuyến, tên, địa chỉ và số điện thoại của khách hàng phải được hệ thống ghi nhớ sau khi người dùng nhập chúng hoặc sau khi hồ sơ khách hàng được mở.
Giao diện người dùng hỗ trợ truy xuất bộ nhớ dài hạn bằng cách cung cấp cho người dùng các mục để họ nhận ra thay vì phải nhớ lại thông tin.
Tách biệt
Giao diện người dùng phải được tách biệt khỏi logic của hệ thống thông qua việc triển khai để tăng khả năng tái sử dụng và khả năng bảo trì.