Bài giảng Tương tác người máy - Phần 2: Thiết kế giao tiếp người dùng
Chương IV: Các nguyên tắc và vòng đời hình sao trong thiết kế tương tác người máy
Chương V: Mô hình GOM, Keytrock (GOM and Keytrock Models)
Chương VI: Đặc tả yêu cầu ND và Phân tích nhiệm vụ
Chương VII: Ký pháp đối thoại và thiết kế
Tóm tắt nội dung Bài giảng Tương tác người máy - Phần 2: Thiết kế giao tiếp người dùng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t thông tin về nhân sự: bổ sung, hiện, xoá,... Lưu đồ JSD (tiếp) JSD biểu diễn các chức năng của 1 HT nhân sự 7.3 Ký pháp văn bản Các ký pháp Văn phạm Luật sản xuất CSP (Communicating Sequential Process) Thí dụ 7.3.1 Văn phạm Văn phạm hình thức cũng được dùng khá phổ biến như một ký pháp văn phạm. BNF là một dạng hay dùng như trong mô tả NNLT và trong mô tả giao tiếp Cú pháp BNF expr ::= empty | atom expr | `(' expr `)' expr => Biểu thức: rỗng/ biểu thức nguyên tố/.... 7.3.1 Văn phạm (tiếp) Đa dạng hơn biểu thức chính qui hay STN Không có biểu diễn tương tranh Có các công cụ để thực hiện như trên Unix có công cụ “yacc” hay “lex” cho văn phạm chính qui 7.3.2 Luật sản xuất Đã xuất hiện trong mô hình CCT hay trong mô tả thành phần đối thoại của UIMS (chương 8) Dạng thể hiện: If cond then action Và có thể viết cond -> action hay cond: action Các luật được kích hoạt và HT sánh phần cond của luật với các sự kiện khởi tạo bởi ND. Khi cond là thoả, luật gọi là “fire” và hành động được thực hiện. Hành động có thể là đáp ứng của ND hay sự thay đổi trạng thái của HT. Chú ý: Thứ tự xuất hiện của luật là không quan trọng. Thí dụ (tiếp) Thí dụ (tiếp) Hệ thống luật có thể là sự kiện hay trạng thái hay pha trộn. Trong thí dụ trên: điều kiện và hành động chỉ đơn giản là sự kiện. Có 3 loại sự kiện: i) Sự kiện ND (bắt đầu bởi chũ hoa) ii) Sự kiện trong (bắt đầu bởi chũ thường): dùng bởi hội thoại để lưu lại vết iii) Sự kiện đáp ứng của HT (nằm trong cặp ) Thí dụ (tiếp) Thích hợp cho mô tả tương tranh. Luật dựa trên sự kiện Không thích hợp cho tuần tự hay trạng thái Hệ thống luật hướng trạng thái: Bộ nhớ HT cũng là 1 tập giá trị tên, tuy nhiên nó không bị lấy khỏi bộ nhớ (ngầm định) khi mà luật sánh được. Nó chỉ bị lấy khỏi bộ nhớ 1 cách tường minh bởi phần hành động của luật. Hệ thống luật này còn được gọi là Hệ thống luật mệnh đề do Olsen đề xuất (PPS). Hệ thống luật PPS (tiếp) Trong HT này, trạng thái của HT được chia thành 1 tập hữu hạn các thuộc tính. Mỗi thuộc tính có thể nhận 1 tập giá trị. Một vài thuộc tính được thiết lập như là kết quả hành động ND, 1 số khác có tác động lên sự hiển thị của HT. Thí dụ: Với thí dụ trên, chúng ta có 5 thuộc tính: i)Mouse: {mouse-off, select-line, click-point, highlight-click} Hệ thống luật PPS (tiếp) ii)Line-state: {menu, start-line, rest-line} iii)Rubber-band: {rubber band-off, rubber band-on} iv)Menu: {highlight-off, highlight-line, highlight-circle } v)Draw: {draw-nothing, draw-line} Thuộc tính thứ nhất được thiết lập tự động khi ND thựchiện 1 hành động có liên quan. Thuộc tính thứ hai được dùng bởi đối thoại để lưu lại vết của các trạng thái. Ba thuộc tính cuối dùng để điều khiển sự đáp ứng của HT. Hệ thống luật PPS (tiếp) Hệ thống luật PPS cho thí dụ trên có thể viết: select-line -> mouse-off start line highlight line click-point start line -> mouse-off rest line rubber band on click-point rest line -> mouse-off draw line double-click rest line -> mouse-off menu draw line rubber band off Hệ thống luật PPS (tiếp) Luật thứ hai của HT luật trên, hành động “rest-line” thiết lập thuộc tính “line state” và sẽ loại bỏ giá trị trước là “start line” 7.3.3 CPS và đại số sự kiện Ký pháp STN rất phù hợp với việc điều khiển tương tranh; trong khi đó luật sản xuất lại ngược lại. Việc xử lý đồng thời (tương tranh, tuần tự) đặt ra trong nhiều bài toán (truyền thông, đk tương tranh). Quá trình đại số (Process Algebras) là một lớp ký pháp hình thức được phát triển cho các quá trình tương tự. CSP là một lớp con đựoc phát triển cho đặc tả đối thoại 7.3.3 CPS và đại số sự kiện (tiếp) CSP được sử dụng vì: - đặc tả cho cả tuần tự và tương tranh - tính dẽ hiểu Thí dụ Draw-menu =( select - circle? -> Do-circle [] select-line? -> Do-line ) Do-circle = click? -> set centre -> click ? Draw- circle -> Skip Do-line = Start-line ; Rest-line 7.3.3 CPS và đại số sự kiện (tiếp) Start-line = click? -> first-point -> Skip Rest-line = ( click? ->next-point -> Rest-line [] double-click? ->last-point ->Skip Chú ý: - Các sự kiện được đánh dấu hỏi là các hành động của ND - dấu “=“ có nghĩa là định nghĩa - ->: sự kiện tuần tự - ‘;’: quá trình tuần tự - []: sự lựa chọn. Tên biểu diễn sự kiện. 7.3.3 CPS và đại số sự kiện (tiếp) Do-circle là hoàn toàn tuần tự. Khi HT thực hiện Do-circle, trước tiên cần ND nhấn phím chuột, tiếp sau là 1 sự kiện trong “set centre“ để xác định vị trí con trỏ. Tiếp theo nhận 1 lần nhấn chuột rồi vẽ và kết thúc bởi Skip. Do-line cũng là tuần tự. Dấu “;” để chỉ quá trình tuần tự, cái xảy ra giữa 2 qua trình. Dấu “->” chỉ dùng sau 1 sự kiện. []: chỉ ra sự lựa chọn như dòng 1: ND có thể chọn cirle hay chọn line. 7.3.3 CPS và đại số sự kiện (tiếp) Quá trình tương tranh được dùng như 1 cách thức để tổ chức cấu trúc trong của giao tiếp. Thí dụ khi lựa chọn, ND có thể dùng chuột hay dùng phím nóng => mỗi lựa chọn một quá trình. Quá trình chuột đơn giản là đợi ND chọn 1 mục trên menu và tiếp sau là 1 sự kiện trong phụ thuộc vào sự lựa chọn. Quá trình bàn phím điều khiển bởi phím Alt và tiếp sau cũng là 1 sự kiện trong . Thí dụ: minh hoạ bảng tính cộng Trong thí dụ này ta dùng ký pháp CSP để minh hoạ một bảng tính chỉ giới hạn bởi phép cộng. Ba tình huống có thể: 1) ND nhập zero: khởi tạo tổng bằng 0 để bắt đầu (Reset) 2) ND nhập 1 số: sẽ cộng thêm vào tổng 3) ND nhấn “quit”: Kết thúc => Đối thoại được miêu tả: Cộng = add-prompt -> (quit? -> skip [] zero? -> show-sum -> Cộng [] number? -> show-sum -> Cộng Thí dụ: minh hoạ bảng tính cộng (tiếp) Ngữ nghĩa của miêu tả như sau: event add promt = prompt: true out: “next number” event quỉt? = ues: input when input =“quit” event zero? = ues: input when input =“zero” set sum = 0 out: “reset” event number? = ues: input, sum when is number (input) set sum = sum + input event show-sum = ues: sum out: sum Thí dụ: minh hoạ cơ sở dữ liệu (tiếp) ND có thể sử dụng các hành động: “quit”, “set key value”, hay “ Find key” => Đối thoại được miêu tả: DB = db-prompt -> (quit? -> skip [] set? -> get-key; get-val []get? -> get-key; print-val) get-key = set-key-prompt -> get-key? get-val = set-val-prompt -> get-val? Thí dụ: minh hoạ cơ sở dữ liệu (tiếp) Ngữ nghĩa đối thoại tưong tự như phần cộng ở trên. Ta chỉ minh hoạ cho những điều khác như “get”: event get-key? = uses: input set:key = input event get-val? = uses: input, dbase, key set: dbase = db-update(dbase, input, key) event print-val? = uses: dbase, key out: db-lookup(dbase,key) 7.4 Ngữ nghĩa đối thoại Mục đích của miêu tả đối thoại chỉ là: giao tiếp giữa các nhà thiết kế hay như là công cụ trong thiết kế. Miêu tả đối thoại dùng để đặc tả hình thức, có thể là 1 phần của hợp đồng hay thực hiện một nguyên mẫu => cần có miêu tả một cách hình thức ngữ nghĩa của đối thoại. Có 2 sắc thái của ngữ nghĩa đối thoại: Phía trong của UD và phía ngoài của biểu diễn. 7.4 Ngữ nghĩa đối thoại (tiếp) Ba cách tiếp cận: i) Ngữ nghĩa đặc tả ký hiệu ii) Liên kết với ngôn ngữ lập trình iii) Liên kết với ký pháp đặc tả 7.4.1 Ngữ nghĩa đặc tả ký pháp - ATNs( Augmented Transition NetWorks) là 1 dạng của mạng dịch chuyển trạng thái. HT giả định là 1 tập các thanh ghi lưu trữ vị trí mà mạng dịch chuyển có thể thiết lập và kiểm thử. - Mỗi cung trong mạng ngoài việc có thể có nhãn, nó có thể có ràng buộc (như 1 sự kiện) và chỉ có cung nếu ràng buộc là thoả và sự kiện xảy ra. - Luật sản xuất cũng có nhiều cách thức và ngữ ngữ của nó cũng thay đổi tương tự. 7.4.2 Liên kết với NNLT Các ký pháp thường gắn với 1 NNLT nào đó. Thí dụ ký pháp về biểu thức chính qui thường dùng C để biểu diễn ngữ nghĩa đối thoại Thí dụ Công cụ để đọc 1 số, viết trong C: Tool number { char buf [80]; int index, positive; input {( digit * + sign; digit; digit*) return) tool digit 7.4.2 Liên kết với NNLT { input {key:| key_c >=‘0’ && key_c digit, sign và return tools là riêng của tool number. Echo: trả lại ký tự cho ND. 7.4.3 Liên kết với đặc tả hình thức SPI (Specifying and Prototypeing Interaction) bao gồm 2 phần: event CSP và event ISL. Event CSP: ký pháp tương tự như CSP Event ISL: mô tả ngữ nghĩa đối thoại Phần CSP được mô tả như trong CSP, tuy nhiên, mỗi sự kiện của nó ứng với 1 sự kiện trong ISL ISL: chuẩn cục bộ và phụ thuộc cục bộ vào ngôn ngữ chủ. 7.4.3 Liên kết với đặc tả hình thứcThí dụ CSP mô tả quá trình login: Login = login-mess -> get-name ->Passwd Passwd = passwd-mess -> (invalid ->Login [] valid Session) Session = ( logout -> Login [] command -> execute -> Session) Một đang nhập bị lỗi có thể mô tả như sau: login: toto passwd: b9fkG Sorry bad user-id/password 7.4.3 Liên kết với đặc tả hình thứcThí dụ (tiếp) Hai sự kiện login-mess và get-name điều khiển dòng đầu của đối thoại: event login-mess = prompt: true out : “login” event get-name = uses: input set user-id = input Quá trình mô tả cho nhận password cũng tương tự. 7.5 Phân tích và thiết kế đối thoại Các cách thức mà đối thoại có thể được phân tích nhằm phát hiện tính tiện dụng tiềm năng bằng cách xem xét các nguyên tắc (chương 4). Trước tiên tập trung vào hành động của ND, tiếp theo là trạng thái của đối thoại. Cuối cùng là xem xét cách biểu diễn và từ vựng. Tính chất của hành động Đầy đủ - các cung bị thiếu - unforeseen circumstances Xác định - Nhiều cung cho 1 hành động - Cung cấp: quyết định ứng dụng - C hú ý:luật sản xuất - Thoát nhiều mức lồng nhau nested escapes consistency { same action, same eect? { modes and visibility Tính chất của hành động (tiếp) Nhất quán - cùng hành động cùng hiệu quả - Thể thức và tính quan sát được Tính chất của hành động (tiếp) Tính chất của trạng thái Tính đạt tới được - Nhận được mọi thứ từ bất kỳ vị trí nào - Dễ dàng Tính thuận nghịch - Có thể nhận được trạng thái trước? - Nếu không Undo Các trạng thái nguy hiểm - Một sô strangj thái không muốn Tính chất của trạng thái (tiếp) F1 :change mode F2 : exit and save) Esc: no mode change Tính chất của trạng thái (tiếp) Mô thức từ vựng Tổng kết và thí dụ Tổng kết và thí dụ (tiếp)
File đính kèm:
- Bài giảng Tương tác người máy - Phần 2 Thiết kế giao tiếp người dùng.PPT