Prepared by MSc Luong manh Ba
Tương tác người - máy Human Computer Interaction - HCI
Department of Software Engineering Faculty of Information Technology Hanoi University of Technology
TEL: 04-8682595 FAX: 04-8692906 Email: cnpm@it-hut.edu
HUT, Falt. of IT HCI – Three. 1 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Phần III: Cài đặt và đánh giá giao tiếp người dùng
Chương VIII: Hỗ trợ cài đặt giao tiếp ND Chương IX: Các kỹ thuật đánh giá tương tác người máy
Project
HUT, Falt. of IT HCI – Three. 2 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Chương VII: Hỗ trợ cài đặt giao tiếp Người dùng – Máy tính
Nội dung 8.1. Tổng quan 8.2. Các thành phần của hệ thống Window 8.3. Lập trình ứng dụng 8.4. Sử dụng công cụ 8.5. Hệ quản trị tương tác ND (UIMS)
HUT, Falt. of IT HCI – Three. 3 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.1. Tổng quan
• Cài đặt phụ thuộc vào 1 hệ thống cụ thể. Phần này chỉ mô tả một số công cụ hỗ trợ như: ngôn ngữ lập trình, Tools, Toolkit hay UIMS
• Các chức năng giao tiếp thường được hỗ trợ bởi các môđun vào ra hay các ngôn ngữ lập trình, các hỗ trợ của hệ thống windows.
• Chú ý các vấn đề: i) Độc lập với UD ii) Độc lập với các thiết bị vào ra iii) Độc lập với ND
HUT, Falt. of IT HCI – Three. 4 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.1. Tổng quan (tiếp)
• Công cụ lập trình cung cấp các dịch vụ cho người lập trình •Hệ thống window là lõi cho các luồng xử lý HT-ND đồng thời hay riêng biệt • Các công cụ giao tiếp tạo cho chương trình gần với mức cảm nhận của ND • Các UIMS giúp cho việc điều khiển các mối quan hệ giữa biểu diễn và chức năng của các đối tượng
HUT, Falt. of IT HCI – Three. 5 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.2. Các thành phần của hệ thống window • Vai trò của hệ thống windows
Hệ thống window dùng để xây dựng các giao tiếp ND kiểu WIMP
HCI – Three. 6 HUT, Falt. of IT Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.2. Các thành phần của hệ thống window (tiếp)
• Tính độc lập thiết bị: sử dụng các mô hình vào
ra đồ hoạ như: điểm ảnh, GKS(Graphic Kernel System), giao tiếp phân cấp lập trình cho đồ hoạ, PostScript => độc lập với thiết bị phần cứng
• Chia xẻ tài nguyên: thực hiện nhiệm vụ đồng
thời, hỗ trợ các quá trình độc lập
• Tách biệt các UD cá nhân
HUT, Falt. of IT HCI – Three. 7 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.2. Các thành phần của hệ thống window (tiếp)
Mô hình ảnh - Pixel - GKS: Chuẩn quốc tế, coi màn hình như một tập các đoạn liên thông, mỗi đoạn là một macro các phần tử đồ hoạ - PHIGH: cũng là một chuẩn mở rông của GKS: màn hình là dãy các doạn có thể hiệu chỉnh được - PostScript: một ngôn ngữ lập trình để mô hình hoá màn hình.
HUT, Falt. of IT HCI – Three. 8 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.2. Các thành phần của hệ thống window (tiếp)
• Kiến trúc của hệ thống windows: 3 kiến trúc
phần mềm có thể (Coutaz): 1) Mỗi UD quản lý tất cả các quá trình của mình
- Mọi quá trình quan tâm đến tính đồng bộ - Giảm tính khả chuyển của UD riêng biệt Kiến trúc này bộc lộ nhược điểm lớn là mọi quá trình đều phải quan tâm đến tính đồng bộ, trái ngược với quan điểm phân chia tài nguyên.
HUT, Falt. of IT HCI – Three. 9 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.2. Các thành phần của hệ thống window (tiếp)
2)Vai trò quản lý thuộc Hệ điều hành
- UD gắn chặt vào Hệ điều hành, các UD không phải quan tâm đến điều đó => UD phải phát triển dựa vào một HĐH cụ thể.
3) Vai trò quản lý như một UD riêng biệt
- Chức năng quản lý tách riêng như 1 UD nhằm cung cấp các giao tiếp cho cho các UD khác => Kiến trúc client-server
HUT, Falt. of IT HCI – Three. 10 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Kiến trúc Client-Server
HUT, Falt. of IT HCI – Three. 11 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Kiến trúc X-Windows
HUT, Falt. of IT HCI – Three. 12 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Kiến trúc X-Windows (tiếp)
• Mô hình X Window được phát triển tại MIT
vào những năm 1980.
• X Window dựa vào mô hình điểm ảnh với một
số cơ chế định vị thích hợp. Nó được chấp nhận như một chuẩn
• Dùng X protocol để điều khiển giao tiếp
Khách-Chủ. Giao thức này có thể cài đặt trên các máy tính và các hệ điều hành khác nhau. => cho phép khách và chủ không nhất thiết trên
cùng một hệ thống.
HUT, Falt. of IT HCI – Three. 13 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Kiến trúc X-Windows (tiếp)
• Các máy khách có thể liên kết với một
terminal hoặc một cửa sổ chính
• Sử dụng các cửa sổ riêng biệt để định chiến
lược vào ra: - Dùng cửa sổ xếp chồng - Truyền dữ liệu giữa các client - Thay đổi đầu vào
HUT, Falt. of IT HCI – Three. 14 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Kiến trúc X-Windows (tiếp)
• Máy chủ thực hiện các nhiệm vụ sau
- Cho phép nhiều UD khách truy nhập đến thiết bị hay không? - Phân tích các yêu cầu của UD khách nhằm thực hiện các thao tác màn hình hay cung cấp thông tin - Thu nhận dòng sự kiện vào từ ND và chuyển cho UD khách - Giảm tối thiểu ùn tắc trên mạng
HUT, Falt. of IT HCI – Three. 15 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.3. Lập trình UD
Hai cơ chế lập trình 1)Vòng lặp đọc- đánh giá (Read Evaluation
Loop)
2)Dựa vào thông báo (Notification based)
HUT, Falt. of IT HCI – Three. 16 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Vòng lặp đọc - đánh giá (read evaluation loop)
HUT, Falt. of IT HCI – Three. 17 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Vòng lặp đọc - đánh giá (tiếp)
• Mô thức lập trình này được sử dụng trên
Macintosh
• Server gửi cho UD khách dòng vào của ND
dưới dạng sự kiện có cấu trúc
• UD khách được lập trình để đọc sự kiện
chuyển cho mình và xác định tất cả các hình trạng của UD đặc biệt mà nó phải trả lại kết quả.
HUT, Falt. of IT HCI – Three. 18 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Vòng lặp đọc - đánh giá(tiếp)
HUT, Falt. of IT HCI – Three. 19 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Dựa vào thông báo (Notifier based)
HUT, Falt. of IT HCI – Three. 20 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Dựa vào thông báo (tiếp)
• Vòng lặp chính điều khiển quá trình xử lý sự
kiện không nằm trong UD
• Cơ chế thông báo tập trung nhận các sự kiện từ hệ thống window, lọc rồi gửi chúng cho chương trình UD theo cách được khai báo bởi chương trình.
• Chương trình UD thông báo lại rằng đó là sự kiện mà nó quan tâm hay không gọi là CallBack trước khi nó chuyển trả điều khiển cho Notifier.
HUT, Falt. of IT HCI – Three. 21 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Thí dụ
• Notifier khi nhận một sự kiện từ hệ thống windows, xem xét đó có phải là sự kiện được xác định bởi chương trình UD không, nếu đúng nó trả điều khiển cho CallBack.
• Thí dụ: một chương trình tạo một cửa sổ hay một frame trên đó có một phím lệnh”QUIT”. Khi phím này được nhấn bởi thiết bị trỏ như chuột chương trình sẽ kết thúc và cửa sổ cũng được đóng lại.
HUT, Falt. of IT HCI – Three. 22 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Thí dụ(tiếp)
Quit
Quit
Màn hình tạo ra bởi chương trình
HUT, Falt. of IT HCI – Three. 23 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Thí dụ(tiếp)
- Màn hình do chương trình tạo ra gồm 3 đối tượng: 1 cửa sổ, thanh tiêu đề và phím lệnh Quit. - Chương trình UD sẽ thông báo cho Notifier của thủ tục - CallBack được kích hoạt khi phím lệnh được chọn. Chương trình UD sẽ khởi tạo Notifier bằng việc gọi thủ tục này. - Khi Notifier nhận được sự kiện chọn từ phím lệnh, đ/k sẽ chuyển cho thủ tục Quit để đóng cửa sổ và yêu cầu kết thúc.
HUT, Falt. of IT HCI – Three. 24 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.4 Sử dụng công cụ (Use Toolkits)
• Các đối tượng tương tác: Vào ra liên hệ với
nhau
HUT, Falt. of IT HCI – Three. 25 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.4 Sử dụng công cụ (tiếp)
• Toolkits cung cấp mức độ trìu tượng cho mối
liên hệ này
- Lập trình với các đối tượng tương tác hay
với widget, gadget
- Tăng tính nhất quán và tính khái quát hoá như kiểu quan sát và cảm nhận (lool and feel)
- Kỹ thuật lập trình OOP
HUT, Falt. of IT HCI – Three. 26 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
8.5. Sử dụng UIMS
• UIMS bổ sung các mức khác vào Toolkits nhằm tạo thuận lợi cho ND không phải là người lập trình:
- Hệ phát triển giao tiếp ND (UIDS) - Môi trường phát triển ND (UIDE) • UIMS như một kiến trúc khái niệm nhằm tách biệt giữa ngữ nghĩa và biểu diễn ứng dụng: tính khả chuyển, tính sử dụng lại, đa giao tiếp,. . ., và xác định vai trò của: các thành phần, điều khiển đối thoại, mô hình giao tiếp ứng dụng.
HUT, Falt. of IT HCI – Three. 27 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Cài đặt UIMS
• Các kỹ thuật điều khiển đối thoại
- Mạng menu - Ký pháp văn phạm - Lưu đồ chuyển trạng thái - Ngôn ngữ sự kiện - Ngôn ngữ mô tả - Ràng buộc - Đặc tả đồ hoạ
HUT, Falt. of IT HCI – Three. 28 Dept. of SE, August-2002
Prepared by MSc Luong manh Ba
Cài đặt UIMS (tiếp)
• Khuynh hướng của điều khiển đối thoại
- Điều kiển trong (vòng lặp đọc-đánh giá) - Điều kiển ngoài, thí dụ như tính độc lập ngữ nghĩa của ứng dụng hoặc biểu diễn - Điều khiển biểu diễn như các đặc tả đồ hoạ
HUT, Falt. of IT HCI – Three. 29 Dept. of SE, August-2002