Nghiên cứu ứng dụng mẫu thiết kế trong tương tác người - máy

  • Số trang: 87 |
  • Loại file: PDF |
  • Lượt xem: 13 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯƠNG THỊ NGỌC HÀ NGHIÊN CỨU ỨNG DỤNG MẪU THIẾT KẾ TRONG TƯƠNG TÁC NGƯỜI - MÁY LUẬN VĂN THẠC SĨ Hà Nội - 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LƯƠNG THỊ NGỌC HÀ NGHIÊN CỨU ỨNG DỤNG MẪU THIẾT KẾ TRONG TƯƠNG TÁC NGƯỜI - MÁY Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Đặng Văn Đức Hà Nội - 2011 III MỤC LỤC Lời cam đoan .......................................................................................................................... I Lời cảm ơn ............................................................................................................................ II MỤC LỤC ........................................................................................................................... III Danh mục các ký hiệu, các chữ viết tắt ................................................................................ V Danh mục các hình vẽ ......................................................................................................... VI MỞ ĐẦU ............................................................................................................................... 1 Chương 1- TỔNG QUAN VỀ THIẾT KẾ GUI VÀ MẪU THIẾT KẾ. ............................... 3 1.1 Giới thiệu về UI .......................................................................................................... 3 1.1.1 Định nghĩa UI ...................................................................................................... 3 1.1.2 Tại sao cần thiết kế UI ........................................................................................ 3 1.2 Tính sử dụng được của hệ thống phần mềm ............................................................... 4 1.2.1 Định nghĩa tính sử dụng được ............................................................................. 4 1.2.2 Thuộc tính của tính sử dụng ................................................................................ 5 1.3 Nguyên lý thiết kế GUI ............................................................................................... 6 1.4 Qui trình thiết kế GUI ................................................................................................. 8 1.4.1 Đề xuất bài toán................................................................................................... 8 1.4.2 Phân tích người sử dụng ...................................................................................... 8 1.4.3 Phân tích nhiệm vụ .............................................................................................. 9 1.4.4 Phác hoạ thiết kế ................................................................................................. 9 1.4.5 Prototype giấy ..................................................................................................... 9 1.4.6 Prototype máy tính ............................................................................................ 10 1.4.7 Cài đặt ............................................................................................................... 10 1.4.8 Kiểm thử bởi người sử dụng ............................................................................. 10 1.5 Mẫu trong phát triển phần mềm .............................................................................. 11 1.5.1 Giới thiệu về mẫu .............................................................................................. 11 1.5.2 Mẫu thiết kế ...................................................................................................... 12 Chương 2 – MỘT SỐ MẪU ỨNG DỤNG TRONG THIẾT KẾ GUI ................................ 14 2.1 Các mẫu kiến trúc ..................................................................................................... 14 2.2.1 Abstract Factory ................................................................................................ 14 2.2.2 Builder ............................................................................................................... 15 2.2.3 Adapter .............................................................................................................. 16 2.2.4 Façade................................................................................................................ 17 2.2.5 Observer ............................................................................................................ 17 2.2.6 Mẫu MVC ......................................................................................................... 18 2.2 Các mẫu đồ họa......................................................................................................... 19 2.2.1 Các mẫu về định vị ............................................................................................ 19 2.2.2. Các mẫu tổ chức trang ...................................................................................... 31 2.2.3 Các mẫu hành động ........................................................................................... 38 2.2.4 Đồ hoạ thông tin ................................................................................................ 46 Chương 3 – PHÁT TRIỂN GUI PHẦN MỀM THỬ NGHIỆM ĐỊNH HƯỚNG MẪU .... 51 3.1 Giới thiệu bài toán .................................................................................................... 51 3.2 Giải quyết bài toán .................................................................................................... 51 3.3 Phân tích người sử dụng và phân tích nhiệm vụ ....................................................... 52 3.3.1 Tiêu đề ............................................................................................................... 52 3.3.2 Phân tích người sử dụng .................................................................................... 52 3.3.3 Phân tích nhiệm vụ ............................................................................................ 54 3.4 Phác hoạ thiết kế ....................................................................................................... 59 3.4.1 Thiết kế tổng quan ............................................................................................. 59 3.4.2 Kịch bản ............................................................................................................ 59 IV 3.5 Xây dựng Prototype giấy .......................................................................................... 61 3.5.1 Login: ................................................................................................................ 61 3.5.2 Sametime Instant Message. ............................................................................... 65 3.5.3 Sametime Call ................................................................................................... 65 3.5.4 Sametime Video Call ........................................................................................ 65 3.6 Xây dựng Prototype máy tính ................................................................................... 66 3.6.1 Log in ................................................................................................................ 66 3.6.2 Sametime Instant Message. ............................................................................... 70 3.6.3 Sametime Call ................................................................................................... 70 3.6.4 Sametime Video Call ........................................................................................ 71 3.7 Một số mẫu ứng dụng trong thiết kế Sametime ........................................................ 71 3.8 Cài đặt ....................................................................................................................... 74 3.9 Kiểm thử bởi người sử dụng ..................................................................................... 74 3.9.1 Thiết kế .............................................................................................................. 74 3.9.2 Cài đặt ............................................................................................................... 76 3.9.3 Đánh giá ............................................................................................................ 78 KẾT LUẬN ......................................................................................................................... 79 TÀI LIỆU THAM KHẢO ................................................................................................... 80 V Danh mục các ký hiệu, các chữ viết tắt Thuật ngữ, chữ Giải thích viết tắt HCI Human - Computer Interaction Tương tác người – máy tính UI User Interface Giao diện người sử dụng GUI Graphical User Interface Giao diện đồ hoạ VI Danh mục các hình vẽ Hình 1-1. Framework của ISO 9241-11 ....................................................................... 5 Hình 2-1. Mô hình mẫu Façade. ................................................................................. 17 Hình 2-2. Mô hình hoạt động của mẫu MVC ............................................................. 19 Hình 2-3. Giao diện sử dụng mẫu Clear Entry Point.................................................. 19 Hình 2-4. Giao diện sử dụng mẫu Hub and Spoke ..................................................... 21 Hình 2-5. Giao diện sử dụng mẫu Pyramid ................................................................ 23 Hình 2-6. Mô hình Pyramid........................................................................................ 24 Hình 2-7. Giao diện sử dụng mẫu Modal Panel ......................................................... 24 Hình 2-8. Giao diện sử dụng mẫu Sequence Map ...................................................... 25 Hình 2-9. Giao diện sử dụng mẫu Breadcrumbs ........................................................ 26 Hình 2-10. Giao diện sử dụng mẫu Annotated Scrollbar ........................................... 27 Hình 2-11. Giao diện sử dụng mẫu Color-Coded Sections ........................................ 29 Hình 2-12. Giao diện sử dụng mẫu Escape Hatch ...................................................... 30 Hình 2-13. Giao diện sử dụng mẫu Visual Framework .............................................. 31 Hình 2-14. Giao diện sử dụng mẫu Center Stage ....................................................... 32 Hình 2-15. Giao diện sử dụng mẫu Titled Sections ................................................... 34 Hình 2-16. Giao diện sử dụng mẫu Card Stack .......................................................... 35 Hình 2-17. Giao diện sử dụng mẫu Closable Panels .................................................. 36 Hình 2-18. Giao diện sử dụng mẫu Movable Panels .................................................. 37 Hình 2-19. Giao diện sử dụng mẫu Button Groups .................................................... 39 Hình 2-20. Giao diện sử dụng mẫu Action Panel ....................................................... 40 Hình 2-21. Giao diện sử dụng mẫu Prominent “Done” Button .................................. 42 Hình 2-22. Giao diện sử dụng mẫu Preview .............................................................. 43 Hình 2-23. Giao diện sử dụng mẫu Progress Indicator .............................................. 44 Hình 2-24. Giao diện sử dụng mẫu Cancelability ...................................................... 45 Hình 2-25. Giao diện sử dụng mẫu Overview Plus Detail ......................................... 46 Hình 2-26. Giao diện sử dụng mẫu Datatips .............................................................. 48 Hình 2-27. Giao diện sử dụng mẫu Local Zooming ................................................... 49 Hình 3-1. Giao diện Log in......................................................................................... 60 Hình 3-2. Giao diện Sametime. .................................................................................. 60 Hình 3-3. Giao diện chat............................................................................................. 61 Hình 3-4. Giao diện Video Call .................................................................................. 61 Hình 3-5. Giao diện Log in với tài khoản haluong. .................................................... 62 Hình 3-6. Giao diện Sametime với tài khoản haluong. .............................................. 62 Hình 3-7. Giao diện File Menu. .................................................................................. 63 Hình 3-8. Giao diện Edit Menu. ................................................................................. 63 Hình 3-9. Giao diện View Menu. ............................................................................... 64 Hình 3-10. Giao diện Tool Menu. .............................................................................. 64 Hình 3-11. Giao diện chát với Nguyen Minh Tuyen. ................................................. 65 Hình 3-12. Giao diện Call với Luong Thanh Tung. ................................................... 65 Hình 3-13. Giao diện Video Call với Luong Thanh Tung. ........................................ 66 Hình 3-14. Giao diện tạo tài khoản mới. .................................................................... 66 Hình 3-15. Giao diện Log in bằng prototype máy tính. ............................................. 67 Hình 3-16. Giao diện Sametime bằng prototype máy tính. ........................................ 67 Hình 3-17. Giao diện File Menu bằng prototype máy tính. ....................................... 68 Hình 3-18. Giao diện Edit Menu bằng prototype máy tính. ....................................... 68 Hình 3-19. Giao diện View Menu bằng prototype máy tính. ..................................... 69 Hình 3-20. Giao diện Tool Menu bằng prototype máy tính. ...................................... 69 Hình 3-21. Giao diện Help Menu bằng prototype máy tính. ...................................... 70 VII Hình 3-22. Giao diện chat bằng prototype máy tính. ................................................. 70 Hình 3-23. Giao diện Call bằng prototype máy tính. ................................................. 70 Hình 3-24. Giao diện Video Call bằng prototype máy tính. ...................................... 71 Hình 3-25. Giao diện Notice sử dụng mẫu Model Panel............................................ 71 Hình 3-26. Giao diện New Contact sử dụng mẫu Button Groups. ............................. 72 Hình 3-27. Giao diện Sametime sử dụng mẫu Closable Panels. ................................ 72 Hình 3-28. Giao diện Forgotten your password. ........................................................ 73 Hình 3-29. Giao diện Font sử dụng mẫu Card Stack.................................................. 74 Hình 3-26. Giao diện New Contact. ........................................................................... 75 Hình 3-28. Giao diện Chat History. ............................................................................ 75 Hình 3-29. Giao diện Send File. ................................................................................. 75 Hình 3-30. Giao diện cài đặt Log In. .......................................................................... 76 Hình 3-31. Giao diện cài đặt Menu Sametime. .......................................................... 77 1 MỞ ĐẦU Tương tác người – máy (HCI – Human Computer Interaction) là lĩnh vực nghiên cứu, lập kế hoạch và thiết kế về việc con người và máy tính cùng làm việc với nhau như thế nào để nhu cầu của con người được thoả mãn cao nhất. Nói cách khác HCI là lĩnh vực nghiên cứu về tương tác giữa con người, máy tính và nhiệm vụ. HCI liên quan đến việc hiểu sự tương tác của con người và hệ thống trên cơ sở máy tính để thực hiện nhiệm vụ và hiểu biết về việc thiết kế các hệ thống tương tác. HCI là đa lĩnh vực, nó sử dụng tri thức của nhiều ngành khác nhau như: khoa học máy tính, trí tuệ nhân tạo, nhân loại học, công thái học, ngôn ngữ học, triết học, nghệ thuật, xã hội học, thiết kế, tâm lý học, kỹ nghệ và sinh lý học. HCI là lĩnh vực rộng, nó liên quan đến nhiều ngành khoa học. Nhưng trong phạm vi người sử dụng tin học thì ta chỉ quan tâm đến lĩnh vực thiết kế giao diện người sử dụng cho hệ thống tương tác. Giao diện người sử dụng (UI – User Interface) là một phần của máy tính và của hệ thống phần mềm mà con người có thể nhìn, sờ, nói với nó. Nếu hệ thống có giao diện tốt thì chúng ta sẽ dễ sử dụng, sản phẩm dễ bán, thời gian lập trình được giảm bớt và tăng năng suất lao động. Do đó việc thiết kế giao diện người sử dụng trở nên rất quan trọng. Nhưng thiết kế giao diện tốt cho một hệ thống thông tin không phải là việc làm dễ dàng. Để có thể thiết kế một giao diện tốt, tăng tính sử dụng và thiết kế được nhanh chóng thì chúng ta phải sử dụng những kinh nghiệm, những tri thức và những kết quả đã có từ trước. Đó chính là mẫu thiết kế. Do đó luận văn nghiên cứu “Nghiên cứu ứng dụng mẫu thiết kế trong tương tác người – máy”. Mục tiêu của quá trình thiết kế là đạt được giao diện người sử dụng có tính sử dụng cao. Quá trình thiết kế không phải chỉ một lần mà phải thực hiện lặp các giai đoạn như thiết kế, cài đặt và đánh giá. Dựa vào kết quả đánh giá để tái thiết kế giao diện. Nếu thiết kế giao diện bằng mã trình sẽ mất rất nhiều thời gian, khi được đánh giá, góp ý để chỉnh sửa sẽ rất khó khăn. Một số thiết kế có nhiều thiếu sót nghiêm trọng nhưng ta không nỡ vứt bỏ đi vì đã làm việc cật lực để có nó. Để khắc phục điều đó thì có rất nhiều công cụ phần mềm với khả năng hỗ trợ việc thiết kế giao diện người dùng. Và có rất nhiều các trung tâm mở các lớp dạy sử dụng phần mềm để thiết kế giao diện người dùng. Luận văn sử dụng công cụ phần mềm để thiết kế giao diện đồ hoạ (GUI – Graphical User Interface) là GUI Design Studio. Khi dùng GUI Design Studio, bản mẫu được xây dựng nhanh hơn nhiều so với cài đặt cuối cùng, ta có thể đánh giá sớm và nhận được phản hồi sớm về những điểm tốt và điểm xấu của thiết kế. Nếu phát hiện vấn đề trong thiết kế thì bản mẫu dễ dàng được chỉnh sửa 2 vì nó được xây dựng nhanh. Quan trọng nhất là nếu thiết kế có nhiều thiếu sót nghiêm trọng thì bản mẫu có thể bị loại bỏ. Luận văn được bố cục thành 3 chương. Chương 1 tìm hiểu về thiết kế GUI và mẫu thiết kế. Chương 2 trình bầy về một số mẫu ứng dụng trong thiết kế GUI. Chương 3 phát triển GUI phần mềm thử nghiệm định hướng mẫu. 3 Chương 1- TỔNG QUAN VỀ THIẾT KẾ GUI VÀ MẪU THIẾT KẾ. Chương 1 tập chung tìm hiểu thiết kế GUI và mẫu thiết kế. Nội dung của chương được bố cục thành 5 mục. Mục 1 giới thiệu về UI. Mục 2 trình bày tính sử dụng được của hệ thống phần mềm. Mục 3 đưa ra những nguyên lý thiết kế GUI. Mục 4 trình bày quy trình thiết kế GUI. Mục 5 tìm hiểu mẫu trong phát triển phần mềm. 1.1 Giới thiệu về UI 1.1.1 Định nghĩa UI Trong nhiều tài liệu, khái niệm UI có ý nghĩa tương tự với HCI. Nhưng sự thật UI là tập con của lĩnh vực nghiên cứu HCI. UI được hiểu như sau: UI bao gồm các khái niệm về hệ thống máy tính và cách thức sử dụng chúng để hoàn thành các công việc khác nhau của người sử dụng. Do vậy UI không chỉ là những cái gì mà con người có thể nhìn, sờ và nghe thấy mà còn hơn thế. UI là tập hợp các phương tiện để con người tương tác với máy móc, thiết bị, chương trình máy tính hay hệ thống phức tạp [3]. UI được hiểu là tiến trình thiết kế phần mềm ghép nối sao cho hệ thống máy tính trở nên hiệu quả, dễ sử dụng và làm được những gì con người muốn chúng làm. UI là bộ mặt, là thành phần trung gian để thực hiện giao tiếp giữa con người với máy tính. Do đó ta cần nghiên cứu về thiết kế UI. 1.1.2 Tại sao cần thiết kế UI Có rất nhiều lý do để tập trung nghiên cứu thiết kế UI. Sau đây là một vài lý do chính: UI là điểm chính nơi giao tiếp giữa người sử dụng và hệ thống máy tính. Nó là một phần của hệ thống, nơi mà người sử dụng nhìn, sờ, nghe và giao tiếp. Người sử dụng không thể xâm nhập vào hệ thống máy tính nếu không có UI. Phụ thuộc vào giao diện mà hệ thống có thể thắng lợi hay thất bại trong việc giúp người sử dụng thực hiện nhiệm vụ. Nhiều người sử dụng đánh giá hệ thống thông qua UI, họ cho rằng hệ thống là tồi nếu UI của nó tồi. UI tồi làm hệ thống khó sử dụng đôi khi rất nguy hiểm khi sử dụng hệ thống với UI tồi.  Hệ thống liệu pháp bức xạ chữa bệnh ung thư Therac-25 đã gây chết người do có UI tồi [2].  Hệ thống rada Aegis trên tàu chiến USS Vincennes đã bắn nhầm máy bay dân sự của Iran cũng do có UI thiết kế tồi [2]. 4 Với thiết kế giao diện tồi, các vấn đề sau đây sẽ nảy sinh: năng suất lao động thấp, thời gian học sử dụng và mức độ lỗi xảy ra không chấp nhận được. Do vậy, dẫn tới việc người sử dụng từ chối sử dụng hệ thống. Thông thường mã trình xử lý giao diện với người sử dụng trong phần mềm ứng dụng chiếm khoảng 50-70%, do vậy nguồn lực (thời gian, kinh phí) dành cho phát triển UI là khá lớn. Theo thống kê với 74 dự án phần mềm thực hiện vào năm 1992 thì UI chiếm khoảng 50% thời gian thiết kế, thời gian cài đặt, thời gian bảo trì và kích thước mã trình. Phần mềm giao diện ngày càng phức tạp, đặc biệt với GUI. Công việc phát triển GUI là khó khăn vì tương tác giữa người sử dụng và hệ thống là khá phức tạp. GUI tốt làm giảm chi phí cho công việc bảo trì hệ thống. Việc thiết kế UI tốt là rất quan trọng trong nhiều lĩnh vực. Nhưng giao diện đó phải đảm bảo có tính sử dụng được. 1.2 Tính sử dụng được của hệ thống phần mềm 1.2.1 Định nghĩa tính sử dụng được Tính sử dụng được (Usability) là chỉ số quan trọng đối với hệ thống phần mềm tương tác. Tính sử dụng được Bennett đề xuất lần đầu vào năm 1979, sau đó có nhiều nghiên cứu khác. Vào năm 1991, Shacked định nghĩa tính sử dụng như “khả năng hệ thống được sử dụng bởi con người một cách dễ dàng và hiệu quả”. Tính sử dụng được xác định bởi “người sử dụng có thể sử dụng tốt các chức năng hệ thống như thế nào” Hiện tại có nhiều chuẩn: ISO 9241-11 (1998), ISO/IEC 9126 (2001), IEEE Std.610.12 (1990) và mô hình khái niệm Metrics for Usability Standards in Computing –MUSiC (1997) về tính sử dụng Theo ISO 9241-11, tính sử dụng được xem như phạm vi trong đó sản phẩm được sử dụng bởi nhóm người xác định để đạt được những mục tiêu xác định với tính hiệu quả, năng suất và sự thoả mãn trong ngữ cảnh sử dụng xác định [3].  Mục tiêu: Kết quả dự kiến.  Hiệu quả: Đem lại kết quả đúng như dự kiến. Đạt được mục tiêu một cách chính xác và đầy đủ (ví dụ tốc độ thực hiện cao, không lỗi).  Năng suất: Tiêu hao năng lượng và tài nguyên phù hợp để đạt được mục tiêu một cách chính xác và đầy đủ. Là thước đo mức độ cố gắng của người sử dụng để đạt được mục tiêu đề ra. 5  Sự thỏa mãn: Không bực dọc, lo lắng và có quan điểm tích cực với việc sử dụng sản phẩm.  Ngữ cảnh ứng dụng: Người sử dụng, nhiệm vụ, thiết bị (phần cứng, phần mềm, …), môi trường vật lý, xã hội.  Nhiệm vụ: Các hoạt động cần thiết để đạt được mục tiêu. Framework của ISO 9241-11: Nhằm đặc tả các thành phần tính sử dụng và quan hệ giữa chúng. Khung làm việc hỗ trợ đánh giá sản phẩm: Hình 1-1. Framework của ISO 9241-11 Với khung làm việc của tính sử dụng thì: Hiệu năng (performance): hiệu quả và năng suất. Do đó hiệu năng và sự thỏa mãn của người sử dụng được sử dụng vào việc đo tính sử dụng. Độ đo về hiệu năng và sự thỏa mãn của người sử dụng là nền tảng của sự so sánh tính sử dụng của các hệ thống khác nhau. Tính sử dụng có thể được cải thiện bằng cách tích hợp các đặc trưng, thuộc tính đã biết trong ngữ cảnh sử dụng cụ thể. Tính sử dụng được định nghĩa theo nhiều cách khác nhau trong các tài liệu khác nhau. Các chuẩn hoặc các tác giả khác nhau đã đề xuất tập khác nhau về các thuộc tính của tính sử dụng được. 1.2.2 Thuộc tính của tính sử dụng Các thuộc tính của tính sử dụng được do Nielsen đề xuất năm 1993 gồm sáu thuộc tính sau:  Hiệu quả: Tính chính xác và tính đầy đủ mà với nó người sử dụng đạt được mục tiêu xác định trước.  Tính học được: Hệ thống có dễ học không?  Năng suất: Một khi đã dễ học, có được sử dụng nhanh không?  Tính nhớ được: Có dễ nhớ những gì đã học?  Các lỗi: Ít lỗi xảy ra và dễ vượt qua lỗi?  Thoả mãn mục đích: Có thích thú sử dụng hệ thống? 6 Năm 1994, Mandel đã liệt kê 10 vi phạm ảnh hưởng đến tính sử dụng theo báo cáo của các chuyên gia tại hãng IBM. Bao gồm: 1. Menu và biểu tượng nhập nhằng. 2. Ngôn ngữ chỉ cho phép đi theo một hướng trong hệ thống. 3. Hạn chế đầu vào và thao tác trực tiếp. 4. Hạn chế lựa chọn và điểm nổi bật. 5. Trình tự các bước không rõ ràng. 6. Nhiều bước quản lý giao diện hơn thực hiện nhiệm vụ. 7. Liên kết phức tạp với các ứng dụng khác và giữa các ứng dụng. 8. Phản hồi và khẳng định không phù hợp. 9. Hệ thống kém đề phòng và kém thông minh. 10.Các thông điệp lỗi, trợ giúp, tài liệu không phù hợp. Có rất nhiều các tiêu chí để đạt được tính sử dụng của hệ thống. Dựa vào các tiêu chí này người ta xây dựng nguyên lý thiết kế hệ thống có tính sử dụng được. Nguyên lý thiết kế GUI thoả mãn các nguyên lý thiết kế hệ thống có tính sử dụng được. 1.3 Nguyên lý thiết kế GUI Don Norman đề xuất sáu nguyên lý thiết kế để hệ thống có tính sử dụng, bao gồm: Sự rõ ràng, phản hồi, ràng buộc, ánh xạ, nhất quán, gợi ý [2].  Sự rõ ràng: được xem như những phần của hệ thống liên quan đến tương tác phải được nhìn thấy. Sự rõ ràng có thể là nguyên tắc cơ bản nhất trong mô hình giao tiếp với người sử dụng. Giao diện người sử dụng cần có khả năng giúp người sử dụng nhận biết trạng thái hiện hành của hệ thống và cần biết phải thực hiện thao tác nào. Ví dụ: Khi di chuột đến một vị trí bất kỳ trên màn hình, người sử dụng cần được biết cái gì xảy ra khi nhấn chuột.  Sự phản hồi: là cái hệ thống thể hiện khi người sử dụng thực hiện hành động. Khi bất kỳ cái gì thay đổi, nó cần phải được nhìn thấy. Ví dụ: Khi xoá tệp hệ thống không chỉ đơn giản hiển thị “sẵn sàng”. Khi thực hiện hành động thì phím có thể bị nhấn hay nhả, thanh trượt dịch chuyển hay các đối tượng dịch chuyển theo con chạy chuột. Các loại phản hồi bao gồm: thị giác, âm thanh và xúc giác.  Sự ràng buộc: Mức độ khó sử dụng của một hệ thống liên quan trực tiếp đến tổng số khả năng. Sự ràng buộc là các giới hạn vật lý, ngữ nghĩa, văn hóa và logíc trên tổng số khả năng. 7     Ví dụ với đồ chơi xe gắn máy (12 chi tiết), thiết kế của nó tận dụng lợi thế ràng buộc để cho ta khả năng lắp ráp đơn giản. Ta có các ràng buộc sau:  Vật lý: Bánh trước chỉ lắp vừa vào một vị trí.  Ngữ nghĩa: Tài xế ngồi trên ghế và mặt quay về phía trước.  Văn hóa: Đèn đỏ lắp phía sau, đèn vàng lắp phía trước.  Logic: Hai đèn màu xanh và 2 đèn màu trắng đi với nhau. Qui ước: là ràng buộc về văn hoá. Các ràng buộc này ban đầu là tuỳ ý, nhưng được chấp nhận dần theo thời gian. Tuy nhiên các quy ước vẫn còn rất khác nhau nó phụ thuộc vào nền văn hóa khác nhau: Ví dụ:  Tắt công tắc đèn: Mỹ: Bật xuống; Anh: Bật lên.  Mở van vòi nước: Mỹ: Vặn ngược chiều kim đồng hồ; Anh: Vặn theo chiều kim đồng hồ.  Màu đỏ: Mỹ: Nguy hiểm; Ai cập: Chết chóc; Ấn độ: Sống; Trung quốc: Hạnh phúc.  Bàn phím máy tính: Tiếng Anh: QWERTY; Pháp: AZERTY. Ánh xạ: là quan hệ giữa các điều khiển và ảnh hưởng của nó trên hệ thống. Điều khiển là khái niệm liên quan đến các đối tượng đồ họa trong giao diện phần mềm. Ánh xạ tự nhiên đem lại lợi thế của sự tương ứng vật lý và các chuẩn văn hóa. Ánh xạ tự nhiên phải tương quan với tri thức về thế giới thực. Ví dụ:  Xoay tai lái ôtô về phía phải để rẽ phải.  Sử dụng âm thanh lớn hơn để nhập số lớn hơn và ngược lại trong giao diện người sử dụng sử dụng âm thanh. Nhất quán: trong việc nhìn và cảm giác là yếu tố mấu chốt trong tương tác người máy tốt. Ví dụ:  Bố trí thực đơn nhất quán với chuẩn Windows.  Bố trí nhất quán các phím OK và Cancel trong các ứng dụng Windows. Sự gợi ý: là tập các thao tác hay thủ tục có thể thực hiện trên đối tượng. “Gợi ý quan sát” là cái người sử dụng nghĩ rằng nó có thể thực hiện trên đối tượng. Khả năng tưởng tượng liên quan đến khả năng người sử dụng xác định cách sử dụng đối tượng chỉ bằng quan sát chúng. Đối với các đối tượng vật lý, hình dáng bề ngoài chỉ ra cách sử dụng nó như thế nào. Ví dụ:  Cái ghế gợi ý ngồi.  Tay cửa gợi ý xoay. 8 Sự gợi ý GUI:  Con chạy chuột gợi ý trỏ.  Phím chuột gợi ý nhấn.  Màn hình gợi ý sờ.  Bàn phím gợi ý gõ. Từ nguyên lý thiết kế GUI ta xây dựng được quy trình thiết kế GUI. 1.4 Qui trình thiết kế GUI Tính sử dụng là mục tiêu đầu tiên của việc thiết kế hệ thống tương tác. Quy trình thiết kế GUI giúp chúng ta nâng cao khả năng phân tích, thiết kế, cài đặt và kiểm thử giao diện người sử dụng. Thiết kế UI là tiến trình lặp, nên UI không chỉ được xây dựng một lần mà được thực hiện lặp nhiều lần để có được prototype ngày càng đầy đủ, độ tin cậy ngày càng cao hơn. 1.4.1 Đề xuất bài toán Vấn đề: Mô tả vấn đề mà bài toán sẽ giải quyết dưới góc nhìn của người sử dụng. Mục tiêu của người sử dụng là gì? Người sử dụng: Tính cách hóa nhóm người sử dụng đối mặt với vấn đề sẽ giải quyết. Tìm ra các đặc điểm của người sử dụng. Giải pháp: Mô tả giải pháp chính có thể áp dụng để giải quyết vấn đề. Không cần mô tả chi tiết ở đây vì giải pháp có thể tìm ra trong khi xây dựng và đánh giá một vài prototype ở giai đoạn sau. 1.4.2 Phân tích người sử dụng Phân tích người sử dụng là quá trình thu thập thông tin về người sử dụng cho bản thiết kế đầu tiên. Mục tiêu của phân tích người sử dụng:  Nhận biết ai là người sử dụng phần mềm do ta thiết kế?  Kỹ năng và mức độ của người sử dụng?  Cách thức sử dụng hệ thống của người sử dụng?  Hiểu biết môi trường sử dụng hệ thống tương tác  Quan hệ giữa người sử dụng với người sử dụng khác trong tổ chức (làm việc độc lập hay giúp đỡ nhau) Phân nhóm người sử dụng:  Người bắt đầu, người có kinh nghiệm hay là chuyên gia  Tần suất sử dụng: Thường xuyên sử dụng hay thỉnh thoảng Các kỹ thuật phân tích người sử dụng:  Tìm ra người đại diện để thu thập từ họ những thông tin về người sử dụng  Trả lời bảng câu hỏi thăm dò để có được các tính chất nổi trội 9  Kỹ thuật khác là phỏng vấn trực tiếp người sử dụng  Quan sát người sử dụng thực hiện nhiệm vụ hàng ngày để biết các chi tiết về ngữ cảnh và môi trường sử dụng. 1.4.3 Phân tích nhiệm vụ Phân tích nhiệm vụ là tiến trình phân tích cách mà người sử dụng thực hiện nhiệm vụ của họ với hệ thống. Phân tích chi tiết các nhiệm vụ dẫn tới mô tả nhiệm vụ rõ ràng, đảm bảo rằng giao diện người sử dụng phù hợp với nhiệm vụ của người sử dụng. Các câu hỏi cần trả lời khi phân tích nhiệm vụ:  Người sử dụng làm cái gì?  Họ làm việc bằng công cụ gì?  Họ cần có hiểu biết gì khi làm việc? Kỹ thuật phân tích nhiệm vụ:  Phỏng vấn, quan sát người sử dụng thực hiện công việc hàng ngày.  Phân rã chức năng 1.4.4 Phác hoạ thiết kế Sau khi phân tích nhiệm vụ, hãy hình thành kịch bản (ví dụ thực, cụ thể về nhiệm vụ). Mô tả nhiệm vụ là khá trừu tượng thì các kịch bản cần được mô tả đầy đủ và chi tiết. Thiết kế ban đầu: biểu diễn phác họa các cửa sổ, hộp thoại, cây thực đơn, các điều khiển dành cho người sử dụng và diễn giải ngắn gọn về các chức năng của chúng. Kịch bản: Với mỗi kịch bản, mô tả việc sử dụng giao diện ban đầu như thế nào để thực hiện nhiệm vụ. Phác họa mô tả hình dáng giao diện tại một số điểm quan trọng của nhiệm vụ. Khi phác họa giao diện, không cần quá chi tiết như chọn nhãn, biểu tượng hay bố trí màn hình. Hãy để cho UI thật đơn giản mà tập trung vào mô hình dự định giao tiếp với người sử dụng. 1.4.5 Prototype giấy Prototype là lựa chọn tuyệt vời cho những vòng lặp thiết kế đầu tiên. Prototype giấy là mô hình vật lý của giao diện làm từ giấy.  Giao diện được phác họa bằng tay trên các mẩu giấy.  Mẩu giấy biểu diễn các phần tử khác nhau như thực đơn, hộp thoại hay cửa sổ.  Tương tác: trỏ bằng tay tương ứng với trỏ bằng chuột, viết trên các mẩu giấy tương ứng với gõ bàn phím. Ta cần xây dựng Prototype giấy vì: 10  Phác họa bằng tay trên giấy sẽ nhanh hơn việc viết mã trình hay phác họa bằng máy tính.  Giấy là dễ thay đổi.  Xây dựng nhanh.  Phác họa bằng tay làm tăng phản hồi nhận được từ người sử dụng.  Không đòi hỏi kỹ năng đặc biệt nào. Công cụ xây dựng prototype giấy:  Bảng áp phích trắng (11” x14”): Làm nền, khung cửa sổ.  Số lượng lớn các thẻ chỉ mục (4” x 6” , 5” x8”): Làm menus, window contents, và dialog boxes.  Hồ dán: Để dán các mẩu giấy.  Băng giấy trắng: Để làm text fields, checkboxes, short messages.  Giấy bóng kính: Để người sử dụng “typing” (viết lên chúng).  Máy sao chụp: Để tạo ra nhiều phần tử trong bản mẫu.  Bút, kéo và băng giấy. 1.4.6 Prototype máy tính Prototype máy tính là mô phỏng phần mềm tương tác. Sử dụng prototype máy tính để khám phá thiết kế đồ họa của giao diện cuối cùng.  Bố trí màn hình: Rõ ràng, phức tạp hay làm rối bời hay không? Người sử dụng có thể tìm thấy các phần tử quan trọng không?  Màu, font, icon và các phần tử khác: Lựa chọn phù hợp chưa?  Phản hồi tương tác: Có khả năng thông báo với người sử dụng bằng thông điệp, thanh trạng thái, thay đổi hình dáng con chạy và cách phản hồi khác. Kỹ thuật để xây dựng prototype máy tính là Storyboard. Storyboard là trình tự của các màn hình cố định. Mỗi màn hình có một hoặc nhiều điểm nóng (hotspots) hoặc hyperlink mà ta có thể nhấn chuột để nhảy đến màn hình khác. StoryBoard được sử dụng cho các kịch bản, chuyển dần đến chi tiết hơn. Nó là dãy các phác thảo/khung hình cơ bản. 1.4.7 Cài đặt Thực hiện cài đặt UI demo theo prototype đã xây dựng. Hoàn thiện cài đặt các nhiệm vụ quan trọng đã nhận ra khi phân tích nhiệm vụ để người sử dụng có thể kiểm thử. Cài đặt cần có cả thành phần chính và hệ thống. 1.4.8 Kiểm thử bởi người sử dụng Kiểm thử bởi người sử dụng là kỹ thuật được sử dụng để đánh giá sản phẩm bằng cách người sử dụng thử nghiệm nó. Phương pháp này cho phép quan 11 sát trực tiếp người sử dụng khi họ đang sử dụng ứng dụng. Ta có các bước kiểm thử bởi người sử dụng:  Phát triển kế hoạch kiểm thử: Mô tả mục đích kiểm thử, lý lịch người sử dụng, phương pháp, danh sách nhiệm vụ.  Chọn lựa người tham gia: Chọn người sử dụng, phân nhóm, quản lý cơ sở dữ liệu người sử dụng  Chuẩn bị vật liệu kiểm thử: Kịch bản nhiệm vụ, mẫu thu thập dữ liệu, hướng dẫn thảo luận, các câu hỏi sau kiểm thử, lập danh sách các kiểm thử sẽ thực hiện.  Thực hiện kiểm thử thí điểm (Pilot Test)  Thực hiện kiểm thử thật (Real Test)  Phân tích và báo cáo cuối cùng Để thiết kế UI một cách nhanh chóng thì ngoài thiết kế theo quy trình thiết kế GUI ta cũng cần phải sử dụng những kinh nghiệm, tri thức và kết quả đã có từ trước. Các kết quả này được trừu tượng hoá thành một mẫu. 1.5 Mẫu trong phát triển phần mềm 1.5.1 Giới thiệu về mẫu Mục đích của việc phát triển phần mềm là tạo ra phần mềm đáp ứng được yêu cầu của người sử dụng. Do đó phát triển phần mềm cần hạn chế việc thoái hóa thiết kế, phần mềm cần có tính sử dụng lại cao. Việc sử dụng lại phần mềm là một cách tiếp cận để xúc tiến quá trình phát triển phần mềm. Một câu hỏi đặt ra là: “ta có thể sử dụng lại gì và sử dụng như thế nào?”. Mã nguồn thường được sử dụng lại nhiều nhất, ta duyệt Internet tìm mã nguồn mở mà ta có thể mượn, sửa đổi, và sử dụng lại. Còn việc sử dụng lại những thiết kế được làm ít hơn việc sử dụng lại mã. Vì sự phức tạp và khó khăn của việc xây dựng thiết kế và khởi tạo chúng. Hơn nữa, mã thì hữu hình hơn thiết kế, ta có thể triển khai và thực thi mã với ít hoặc không có sự cải biến nào. Tuy nhiên, rất mạo hiểm để sửa đổi mã nguồn. Ta có thể làm hỏng sự toàn vẹn thành phần và tính hoạt động của nó được xây dựng trước đấy. Bởi vậy, nhiều nhà phát triển phần mềm thích sử dụng lại ý tưởng của giải pháp và thực hiện nó theo cách của họ. Những ý tưởng của giải pháp được sử dụng lại này, nó được giới thiệu ở mức cao hơn, đó chính là mẫu (pattern). Một mẫu mô tả một vấn đề thường xuyên xảy ra trong thiết kế và thực thi phần mềm, mô tả giải pháp của vấn đề theo cách mà nó được sử dụng lại. Một cặp vấn đề/giải pháp có thể được áp dụng trong những ngữ cảnh mới. Mẫu được giới thiệu là tài liệu tốt để thực hành thiết kế; là phương tiện phổ biến kiến thức 12 và kinh nghiệm từ những chuyên gia đến người tập sự. Mẫu là lời khuyên từ những người thiết kế giàu kinh nghiệm, giúp đỡ những người thiết kế trong tình huống mới. Vì vậy, ta có thể sử dụng mẫu để cải thiện thiết kế hệ thống của mình, có thể áp dụng mẫu tại bất kỳ thời điểm nào trong một chu trình của dự án. Có rất nhiều loại mẫu, nhưng trong giới hạn của luận văn ta chỉ nghiên cứu về các mẫu thiết kế. 1.5.2 Mẫu thiết kế Mẫu thiết kế là khái niệm rộng và bao quát trong công đoạn thiết kế phần mềm. Giống như các yêu cầu của thiết kế và phân tích hướng đối tượng, việc sử dụng các mẫu cũng cần đạt được khả năng tái sử dụng các giải pháp chuẩn đối với các vấn đề thường xuyên xảy ra. Mẫu thiết kế nhằm thúc đẩy sử dụng lại trong pha thiết kế vì chúng cung cấp từ vựng chung cho thiết kế, chúng cung cấp những phương tiện để hiểu thiết kế, và chúng được tạo thành khối hợp nhất từ đó xây dựng những ứng dụng phức tạp hơn. Mẫu thiết kế không đơn thuần là một bước nào đó trong giai đoạn phát triển phần mềm mà nó đóng vai trò là sáng kiến để giải quyết một bài toán thông dụng nào đó. Các giai đoạn phần mềm vẫn hoàn chỉnh mà không có mẫu thiết kế, nhưng sự góp mặt của mẫu thiết kế sẽ giúp cho việc xác định bài toán cần giải quyết nhanh gọn hơn, từ đó đưa ra cách giải quyết hợp lý. Mẫu thiết kế không chỉ được sử dụng để xác định bài toán và cách giải quyết mà mẫu thiết kế còn được sử dụng nhằm cô lập các thay đổi trong mã nguồn, từ đó làm cho hệ thống có khả năng tái sử dụng cao. Cũng giống như mẫu trong phần mềm nói chung, mẫu thiết kế là sự hình thức hóa của các cách tiếp cận một vấn đề thường gặp trong một ngữ cảnh cụ thể. Mỗi mẫu thiết kế là một giải pháp cho một vấn đề thiết kế cụ thể trong một ngữ cảnh xác định. Giải pháp được đưa ra đã được kiểm nghiệm, được sử dụng nhiều lần đem lại kết quả tốt và do đó được trìu tượng hóa thành một mẫu. Mẫu thiết kế chính là kinh nghiệm thiết kế được đúc kết lại thành mẫu chuẩn mực. Sử dụng mẫu thiết kế người thiết kế không phải thiết kế hệ thống từ đầu, không phải giải quyết lại những bài toán đã được giải quyết mà sử dụng các kinh nghiệm, tri thức và kết quả đã có từ trước. Điều này làm cho chất lượng thiết kế tốt hơn, tăng tính sử dụng của bản thiết kế và tạo điều kiện cho người thiết kế tập trung vào sáng tạo những cái mới. 13 Kết luận Mỗi sản phẩm phần mềm đều có một yếu tố quyết định đến sự lựa chọn của khách hàng, nó góp phần không nhỏ vào sự thành công của sản phẩm, đó là UI - bộ mặt của sản phẩm. UI như một bảng chỉ dẫn không lời, thực hiện sứ mạng mang lại sự tiện lợi, đơn giản và hiệu quả cho người dùng. Một giao diện hấp dẫn sẽ có lợi thế rất lớn trong nhiều lĩnh vực. Nhưng có một giao diện đẹp không có nghĩa là đã có hệ thống với tính sử dụng cao. Do đó ta cần thiết kế hệ thống phần mềm có tính sử dụng được. Hệ thống đó phải thoả mãn nguyên lý thiết kế GUI và được thực hiện theo đúng quy trình thiết kế GUI. Khi thiết kế theo quy trình thiết kế GUI ta sẽ xây dựng được bản mẫu một cách nhanh chóng, khi được góp ý bản mẫu được chỉnh sửa dễ dàng và quan trọng là nó nhận được đánh giá sớm và phản hồi sớm về những điểm tốt và điểm xấu của thiết kế. Để thiết kế được UI một cách nhanh chóng và hiệu quả thì ngoài thiết kế theo quy trình GUI thì người ta cũng cần sử dụng các kinh nghiệm, tri thức và kết quả đã có từ trước. Các kinh nghiệm, tri thức và kết quả này được đúc kết lại thành mẫu thiết kế. Khi sử dụng mẫu thiết kế người thiết kế không phải thiết kế hệ thống từ đầu, không phải giải quyết lại những bài toán đã được giải quyết. Điều này làm cho chất lượng thiết kế tốt hơn và tạo điều kiện cho người thiết kế tập trung vào sáng tạo những cái mới.
- Xem thêm -