Giáo trình Công nghệ phần mềm - Chương 7: Thiết kế giao diện người dùng

pdf 49 trang Gia Huy 17/05/2022 2720
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Công nghệ phần mềm - Chương 7: Thiết kế giao diện người dùng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_cong_nghe_phan_mem_chuong_7_thiet_ke_giao_dien_ng.pdf

Nội dung text: Giáo trình Công nghệ phần mềm - Chương 7: Thiết kế giao diện người dùng

  1. Chương 7 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG
  2. Mục tiêu • Gợi ý một số nguyên lý thiết kế tổng quát cho việc thiết kế giao diện người dùng • Giải thích các kiểu tương tác khác nhau và ứng dụng của chúng • Giải thích khi nào dùng biểu diễn thông tin dạng đồ họa và dạng text • Giải thích các hoạt động chính trong quy trình thiết kế giao diện người dùng • Giới thiệu các thuộc tính dùng được (usability) và các cách đánh giá hệ thống
  3. Các chủ đề • Các vấn đề khi thiết kế • Quy trình thiết kế UI • Phân tích người dùng • User interface prototyping • Đánh giá giao diện
  4. Giao diện người dùng • Nên được thiết kế cho phù hợp với kĩ năng, kinh nghiệm và sự trông đợi của người dùng tương lai của hệ thống. • Người dùng hệ thống thường đánh giá một hệ thống theo giao diện thay vì chức năng. • Một giao diện thiết kế tồi – có thể dẫn đến việc một người dùng phạm những lỗi nghiêm trọng. – là lí do vì sao nhiều hệ thống phần mềm không bao giờ được đem ra sử dụng.
  5. Nhân tố con người trong thiết kế giao diện • Trí nhớ ngắn hạn có hạn – Người ta có thể nhớ nhanh khoảng 7 thông tin. • Nếu bạn đưa ra nhiều hơn như vậy, người ta sẽ dễ nhầm lẫn. • Nhầm lẫn là chuyện thường – Khi người dùng nhầm lẫn và hệ thống chạy sai, những cảnh báo và thông báo không đúng mức có thể làm người dùng căng thẳng hơn và càng dễ nhầm lẫn hơn. • Mỗi người có năng lực cao thấp khác nhau – Người thiết kế không nên chỉ thiết kế cho năng lực của chính mình. • Mỗi người hợp với những kiểu tương tác khác nhau – Người này thích hình ảnh, người khác thích chữ.
  6. Các nguyên tắc thiết kế UI • Thiết kế UI phải xét đến nhu cầu, kinh nghiệm và năng lực của người dùng hệ thống. • Người thiết kế cần – nhận thức được các hạn chế về vật lý và tâm lý của con người • Ví dụ giới hạn của trí nhớ ngắn hạn – nhận thức rằng con người ai cũng có thể nhầm lẫn. • Các nguyên tắc thiết kế UI đóng vai trò nền tảng cho các thiết kế giao diện – Tuy rằng không phải tất cả các nguyên tắc đều áp dụng được cho tất cả các thiết kế.
  7. Các nguyên tắc thiết kế UI Nguyên tắc Mô tả Quen thuộc với Giao diện nên dùng các thuật ngữ và khái niệm rút ra từ kinh người dùng nghiệm của những người sẽ dùng hệ thống nhiều nhất. Nhất quán giao diện cần nhất quán sao cho các thao tác gần giống nhau có thể được kích hoạt theo cùng kiểu. ngạc nhiên Người dùng không bao giờ bị bất ngờ về hành vi của hệ thống. tối thiểu khôi phục Giao diện nên có các cơ chế cho phép người dùng khôi phục lại được tình trạng hoạt động bình thường sau khi gặp lỗi. hướng dẫn Giao diện nên có phản hồi có nghĩa khi xảy ra lỗi và cung cấp người dùng các tiện ích trợ giúp theo ngữ cảnh. người dùng Giao diện nên cung cấp các tiện ích tương tác thích hợp cho các đa dạng loại người dùng hệ thống khác nhau.
  8. Các vấn đề khi thiết kế UI • Hai vấn đề cần xem xét – Người dùng cung cấp thông tin cho hệ thống bằng cách nào? – Hệ thống nên trình bày thông tin (output) cho người dùng như thế nào?
  9. Các kiểu tương tác • Thao tác trực tiếp – Direct manipulation • Chọn lựa bằng menu – Menu selection • Điền form – Form fill-in • Dòng lệnh – Command language • Ngôn ngữ tự nhiên – a Natural language
  10. Các kiểu tương tác Kiểu tương Ưu điểm chính Nhược điểm chính Ví dụ ứng dụng tác Direct Tương tác nhanh và Có thể khó cài đặt. Trò chơi điện tử manipulation trực quan Chỉ thích hợp khi có ẩn dụ hình Các hệ thống Dễ học ản cho các tác vụ và đối tượng. dùng drag-n-drop Menu Tránh lỗi người dùng Chậm chạp đối với người dùng Đa số các hệ selection Không phải gõ nhiều nhiều kinh nghiệm. thống thông dụng Có thể phức tạp nếu có nhiều lựa chọn menu. Form fill-in Nhập dữ liệu đơn giản Tốn không gian màn hình. Khai thuế, xử lý Dễ học Gây rắc rối khi các lựa chọn nợ cá nhân Kiểm tra được của người dùng không khớp với các trường của form. Command mạnh và linh động Khó học hệ điều hành language xử lý lỗi kém Natural Đáp ứng được người Cần gõ nhiều. Information language dùng không chuyên Các hệ thống hiểu ngôn ngữ tự retrieval systems Đễ mở rộng nhiên không đáng tin cậy.
  11. Multiple user interfaces Unix shell Graphical UI interface (Gnome/KDE) (ksh/csh) Command X-windows language GUI manager interpreter Linux operating systems
  12. LIBSYS interaction • Tìm kiếm tài liệu – Người dùng cần có khả năng dùng các tiện ích tìm kiếm để tìm tài liệu mà họ cần. • Yêu cầu tài liệu – Document request – Người dùng yêu cầu một tài liệu được chuyển tới máy tính của họ hoặc tới một server để in.
  13. Các giao diện dạng web • Nhiều hệ thống web có các giao diện dựa trên các web form. • Các trường của form có thể là menu, text input, radio button, v.v • Trong ví dụ LIBSYS, LIBSYS: Search người dùng dùng Choose collection menu để chọn nơi All tìm kiếm và gõ chuỗi Keyword or phrase từ khóa vào trong Search using Title một trường text. Adjacent words Yes No Search Reset Cancel
  14. Biểu diễn thông tin • Trình bày thông tin hệ thống như thế nào cho người dùng. • Thông tin có thể được trình bày trực tiếp (ví dụ text trong một trình soạn thảo) hoặc được biến đổi thành một dạng biểu diễn khác (ví dụ dạng đồ họa) Information to Presentation be displayed software Display
  15. Model-view-controller • Model-View-Controller là cách tiếp cận hỗ trợ nhiều kiểu biểu diễn dữ liệu
  16. Biểu diễn thông tin • Thông tin tĩnh – Khởi tạo ở đầu session. Không thay đổi trong suốt session. – Có thể là số hoặc văn bản text. • Thông tin động – Thay đổi trong session và phải được thông báo với người dùng. – Có thể là số hoặc văn bản text.
  17. Các nhân tố khi hiển thị thông tin • Người dùng quan tâm đến con số chính xác hay mối tương quan giữa các số liệu? • Các giá trị của thông tin thay đổi nhanh chậm ra sao? Có phải lập tức thông báo khi có thay đổi? • Người dùng có phải hành động để phản ứng với một thay đổi? • Có giao diện thao tác trực tiếp (direct manipulation) không? • Thông tin dạng số hay text? Các giá trị tương đối có quan trong không?
  18. Biểu diễn số hay biểu diễn tương tự • Biểu diễn số - Digital presentation – Ngắn gọn – chiếm ít không gian màn hình; Jan Feb Mar April May June 2842 2851 3164 2789 1273 283 5 – Cho biết giá trị chính xác. • Biểu diễn tương tự - 4000 Analogue presentation – Nhanh chóng lấy được 3000 ấn tượng về một giá trị; – Có thể biểu diễn các 2000 giá trị tương đối; – Dễ thấy các 1000 giá trị dữ liệu đặc biệt. 0 Jan Feb Mar April May June
  19. Các phương pháp trình bày 1 0 10 20 4 2 3 Dial with needle Pie chart Ther mometer Horizontal bar
  20. Hiển thị các giá trị tương đối Pressure Temperature 0 100 200 300 400 0 25 50 75 100
  21. Data visualisation • Các kĩ thuật hiển thị lượng lớn thông tin. • Hình ảnh có thể cho thấy quan hệ giữa các thực thể và các xu hướng của dữ liệu. • Các ví dụ: – Thông tin thời tiết thu thập từ nhiều nguồn; – Trạng thái của một mạng điện thoại dưới dạng một tập các nút được kết nối với nhau; – Một mô hình phân tử hiển thị dạng ba chiều; – Các trang web hiển thị dạng một cây hyperbol.
  22. Hiển thị màu • Màu sắc bổ sung thêm một chiều cho một giao diện và giúp người dùng hiểu các cấu trúc thông tin phức tạp. • Có thể dùng màu để highlight các thông tin đặc biệt. • Các lỗi thường gặp trong việc dùng màu sắc trong thiết kế UI: – Dùng màu sắc đề diễn đạt ý nghĩa; – Lạm dụng màu sắc trong trình bày.
  23. Hướng dẫn về dùng màu • Hạn chế số màu và mức độ sặc sỡ. • Dùng sự thay đổi màu để báo hiệu thay đổi trạng thái hệ thống. • Dùng kí hiệu màu (color coding) để hỗ trợ công việc người dùng đang cố làm. – Highlight những điểm người dùng cần chú ý • Dùng kí hiệu màu một cách cẩn trọng và nhất quán. – Nếu màu đỏ được dùng cho các thông báo lỗi không nên dùng màu đỏ cho các thông báo dạng khác để tránh người dùng nhầm lẫn các thông báo màu đỏ là thông báo lỗi. • Cẩn thận về hiệu ứng cặp đôi của màu sắc. – Một số tổ hợp màu gây khó đọc. Ví dụ người ta không thể cùng lúc chú ý cả màu đỏ và màu xanh lam.
  24. Các thông báo lỗi • Thiết kế thông báo lỗi là việc rất quan trọng – Các thông báo lỗi kém có thể dẫn đến việc người dùng không chấp nhận sử dụng một hệ thống. • Các thông báo nên lịch sự, ngắn gọn, nhất quán và mang tính xây dựng. • Nên xét đến background và kinh nghiệm của người dùng như là nhân tố quyết định khi thiết kế các thông báo lỗi.
  25. Các nhân tố khi thiết kế nội dung các thông điệp Nhân tố Miêu tả Ngữ cảnh Các thông điệp do hệ thống tạo ra cần phản ánh ngữ cảnh sử dụng hiện tại bất cứ khi nào có thể. Hệ thống cần cố gắng nhận biết được người dùng đang làm gì và nên tạo các thông điệp có liên quan đến hoạt động hiện tại của họ. Kinh Khi người dùng quen dần với một hệ thống, họ sẽ trở nên khó chịu bởi các nghiệm thông điệp dài 'có ý nghĩa'. Tuy nhiên, những người mới dùng lại thấy những thông báo ngắn gọn khó hiểu. Bạn nên cung cấp cả hai loại thông điệp và để cho người dùng kiểm soát mức độ xúc tích của các thông báo. Trình độ Các thông điệp nên được điều chỉnh theo trình độ kĩ năng cũng như kinh kĩ năng nghiệm của người dùng. Thông điệp dành cho các loại người dùng khác nhau có thể được diễn đạt theo các cách khác nhau tùy theo bộ thuật ngữ quen thuộc với người đọc. Phong cách Các thông điệp nên mang tính tích cực hơn là tiêu cực, nên dùng thể chủ động hơn là bị động, không bao giờ nên có giọng xúc phạm hoặc cố pha trò. Văn hóa Nếu có thể, người thiết kế nên là người quen thuộc với văn hóa của đất nước nơi hệ thống sẽ được bán. Có những khác biệt văn hóa rõ rệt giữa châu Âu, châu Á và châu Mỹ. Một thông điệp phù hợp với nền văn hóa này có thể không chấp nhận được ở một nền văn hóa khác.
  26. Lỗi người dùng • Giả sử một y tá đang cần tìm hồ sơ của một bệnh nhân nhưng lại gõ sai tên của bệnh nhân này. Mời nhập tên của bệnh nhân vào hộp bên dưới rồi nhấn OK Tên bệnh nhân MacDonald, R. OK Cancel
  27. Thiết kế thông điệp tốt và tồi Thông báo lỗi kiểu hệ thống Lỗi #27 ? Số hồ sơ bệnh nhân không hợp lệ OK Cancel Thông báo lỗi kiểu người dùng Không có bệnh nhân đã đăng kí nào có tên R. MacDonalk Nhấn Patients để xem danh sách bệnh nhân Nhấn Retry để nhập lại tên bệnh nhân Nhấn Help để tìm hiểu thêm thông tin Patients Help Retry Cancel
  28. Quy trình thiết kế UI • Thiết kế UI là một quy trình lặp đi lặp lại với sự liên lạc chặt chẽ giữa người dùng và người thiết kế. • Ba hoạt động chính trong quy trình: – User analysis: Tìm hiểu người dùng sẽ làm gì với hệ thống; – System prototyping: phát triển một loạt các bản mẫu để thử nghiệm; – Interface evaluation: thử nghiệm các bản mẫu cùng với người dùng.
  29. Quy trình thiết kế Phân tích và Tạo bản mẫu Cùng người tìm hiểu các thiết kế trên dùng đánh giá hoạt động của giấy thiết kế người dùng Cùng người Bản mẫu Tạo bản mẫu dùng đánh giá thiết kế thiết kế động thiết kế Cài đặt Bản mẫu giao diện người chạy được dùng cuối cùng
  30. Phân tích người dùng • Nếu bạn không hiểu người dùng muốn làm gì với một hệ thống, bạn khó có thể thiết kế một giao diện hiệu quả. • Các phân tích người dùng phải được mô tả theo cách mà cả người dùng lẫn người thiết kế đều có thể hiểu được. • Các kịch bản mà bạn dùng để miêu tả các tình huống sử dụng điển hình là một cách để mô tả các phân tích này.
  31. Kịch bản tương tác người dùng Jane is a student of Religious Studies and is working on an essay on Indian architecture and how it has been influenced by religious practices. To help her understand this, she would like to access some pictures of details on notable buildings but can’t find anything in her local library. She approaches the subject librarian to discuss her needs and he suggests some search terms that might be used. He also suggests some libraries in New Delhi and London that might have this material so they log on to the library catalogues and do some searching using these terms. They find some source material and place a request for photocopies of the pictures with architectural detail to be posted directly to Jane.
  32. Các yêu cầu rút ra từ kịch bản • Người dùng có thể không nhận ra các từ khóa tìm kiếm thích hợp, do đó cần có cách giúp đỡ họ chọn từ khóa. • Người dùng phải có khả năng chọn collection cần tìm tại đó. • Người dùng phải có khả năng thực hiện tìm kiếm và yêu cầu bản sao của tài liệu liên quan.
  33. Các kĩ thuật phân tích • Phân tích tác vụ - Task analysis – Mô hình hóa các bước trong việc hoàn thành một tác vụ. • Phỏng vấn và câu hỏi điều tra (questionnaire) – Hỏi người dùng về công việc của họ. • Văn hóa – Quan sát người dùng khi họ đang làm việc.
  34. Phân tích tác vụ thành cây phân cấp Retrieve pictures from remote libraries do 1, 2, 3 until pictures found, 4 1 Discover 2 Establish 3 4. Request possible search Search for photocopies pictures sources terms of found items do 3.1, 3.2, 3.3 until pictures found, 3.4 if necessary , 3.5 3.1 3.2 3.3 3.4 3.5 Select Log in to Search for Record Modify relevant library catalogue pictures search terms items do 3.3.1, 3.3.2, 3.3.3 3.3.1 3.3.2 3.3.3 Enter search Initiate Review terms search results
  35. Phỏng vấn • Tổ chức các cuộc phỏng vấn có cấu trúc linh động dựa trên các câu hỏi mở. • Khi đó người dùng có thể cung cấp các thông tin mà họ cho là quan trọng; không chỉ các thông tin mà bạn đã định thu thập. • Phỏng vấn theo nhóm tạo điều kiện để người dùng thảo luận với nhau về công việc của họ.
  36. Văn hóa • Một người quan sát người dùng khi họ đang làm việc và hỏi về công việc của họ (không theo kịch bản). • Có giá trị vì nhiều tác vụ của người dùng mang tính trực quan và họ cảm thấy rất khó miêu tả và giải thích các tác vụ này. • Giúp hiểu về vai trò của các ảnh hưởng xã hội và tổ chức đối với công việc.
  37. Hồ sơ tìm hiểu văn hóa Một trạm điều khiển không lưu có một số 'bàn' điều khiển, trong đó các bàn điều khiển các vùng không gian cạnh nhau cũng được đặt cạnh nhau. Các chuyến bay trong một vùng được biểu diễn bằng các băng giấy lồng vào các giá gỗ theo thứ tự phản ánh vị trí của chúng trong vùng. Nếu không còn đủ chỗ trên giá (nghĩa là khi vùng không gian đó rất đông máy bay), những người điều khiển trải các băng giấy lên cái bàn viết đặt trước cái giá gỗ. Khi chúng tôi quan sát những người điều khiển, chúng tôi nhận thấy cứ một lúc họ lại nhìn sang giá treo các băng giấy của vùng bên cạnh. Chúng tôi hỏi tại sao. Họ trả lời rằng, nếu bàn điều khiển bên cạnh phải trải giấy lên bàn, điều đó có nghĩa sẽ có nhiều chuyến bay bay vào vùng của họ. Vì vậy, họ sẽ cố gắng tăng tốc các chuyến bay trong vùng của mình để 'lấy chỗ' cho các chuyến bay đang đến.
  38. Rút ra từ tìm hiểu văn hóa • Những người điều khiển phải nhìn thấy tất cả các chuyến bay trong một vùng. Do đó, phải tránh kiểu hiển thị với thanh kéo mà trong đó các chuyến bay trên đỉnh và dưới đáy màn hình có thể biến mất. • Giao diện phải có cách nào đó để báo cho người điều khiển về số chuyến bay tại các vùng giáp ranh để họ có thể lập kế hoạch cho công việc của mình.
  39. Bản mẫu UI • Mục tiêu của bản mẫu là cho phép người dùng có được trải nghiệm trực tiếp đối với giao diện. • Nếu không có trải nghiệm trực tiếp, không thể đánh giá khả năng sử dụng một giao diện. • Quy trình làm bản mẫu có thể có 2 bước: – Lúc đầu, có thể dùng bản mẫu trên giấy; – Sau đó tinh chỉnh thiết kế, và phát triển các bản mẫu tự động hóa với độ phức tạp ngày càng tăng.
  40. Bản mẫu trên giấy • Dùng các bản vẽ nháp về UI để duyệt qua các kịch bản. • Dùng storyboard để trình bày một chuỗi tương tác với hệ thống. • Bản mẫu giấy là cách thu thập phản ứng của người dùng đối với một đề xuất thiết kế.
  41. Các kĩ thuật làm bản mẫu • Script-driven prototyping – Viết một loạt các script và screen bằng các công cụ như Macromedia Director. – Khi người dùng tương tác, screen sẽ chuyển sang hiển thị màn hình tiếp theo. • Visual programming – Dùng một ngôn ngữ chuyên dụng cho phát triển nhanh như Visual Basic. • Internet-based prototyping – Dùng một trình duyệt web browser và các script kèm theo.
  42. Đánh giá UI • Cần thực hiện một số đánh giá UI để đánh giá mức độ thích hợp. • Đánh giá đầy đủ và toàn bộ thì quá đắt và không thực tế cho hầu hết các hệ thống. • Về lí tưởng, một giao diện cần được đánh giá theo một đặc tả về usability. Tuy nhiên, người ta hiếm khi viết các đặc tả đó.
  43. Các thuộc tính usability Thuộc tính Miêu tả Khả năng học Người dùng mới cần bao lâu để có thể hoạt động hiệu quả với hệ thống? Tốc độ vận Tốc độ phản ứng của hệ thống có đáp ứng hành tốt công việc của người dùng? Chịu lỗi Mức độ dung thứ lỗi của hệ thống đối với lỗi người dùng. Khả năng khôi Khả năng hệ thống khôi phục từ lỗi của phục người dùng. Tương thích hệ thống gắn bó chặt chẽ với một kiểu làm việc đến đâu?
  44. Các kĩ thuật đánh giá đơn giản • Câu hỏi điều tra để lấy phản hồi của người dùng. • Quay video về việc sử dụng hệ thống rồi sau đó đánh giá nội dung. • Cài các đoạn mã thu thập thông tin về các tiện ích được sử dụng và lỗi của người dùng. • Phần mềm có chức năng thu thập phản hồi trực tuyến của người dùng.
  45. Tóm tắt • Các nguyên lý thiết kế UI giúp thiết kế UI tốt. • Các kiểu tương tác: direct manipulation, menu systems form fill-in, command languages và natural language. • Nên dùng hiển thị đồ họa để biểu diễn các xu hướng và các giá trị tương đối. Dùng hiển thị số khi cần con số chính xác. • Nêu dùng màu sắc một cách hạn chế và nhất quán.
  46. Tóm tắt • Quy trình thiết kế UI gồm: phân tích người dùng, làm bản mẫu hệ thống và đánh giá bản mẫu. • Mục đích của phân tích người dùng là để người thiết kế nhận ra được cách hoạt động của người dùng. • Quy trình làm bản mẫu UI nên bắt đầu từ bản mẫu giẩy làm cơ sở cho bản mẫu tự động sau đó. • Các mục tiêu của đánh giá UI là để thu thập phản hồi về cách cải tiến thiết kế giao diện và để đánh giá xem giao diện thỏa mãn đến đâu các yêu cầu về usability.