人機(jī)交互界面表示模型.ppt
《人機(jī)交互界面表示模型.ppt》由會員分享,可在線閱讀,更多相關(guān)《人機(jī)交互界面表示模型.ppt(101頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
人機(jī)交互技術(shù)編寫組 1 實(shí)驗(yàn)一 交互式繪圖程序設(shè)計 參照所講的例子 使用 net設(shè)計一個交互式繪圖程序框架 設(shè)計內(nèi)容至少應(yīng)包括例子中的內(nèi)容 并盡可能給出一個具體的程序?qū)崿F(xiàn) 實(shí)驗(yàn)報告要求 以電子版的形式 詳細(xì)描述框架的全部內(nèi)容 對各個交互組件的設(shè)計 給出必要的說明 對完成的設(shè)計 寫出自己的主要問題和心得體會 1 人機(jī)交互技術(shù)編寫組 2 第6章人機(jī)界面的表示模型 目的 在界面設(shè)計的早期階段 建立一種用戶界面表示模型用形式化的設(shè)計語言來分析和表達(dá)用戶任務(wù)以及用戶和系統(tǒng)之間的交互情況 使界面表示模型能方便地映射到實(shí)際的設(shè)計實(shí)現(xiàn) 人機(jī)交互技術(shù)編寫組 4 主要內(nèi)容 行為模型從用戶和任務(wù)的角度考慮 描述人機(jī)交互界面介紹GOMS UAN及LOTOS模型 結(jié)構(gòu)模型主要從系統(tǒng)的角度來表示人機(jī)交互界面 狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) STN StateTransitionNetwork 產(chǎn)生式規(guī)則 ProductionRule 事件 對象模型面向?qū)ο蟮谋硎灸P?它將人機(jī)交互活動歸結(jié)為事件與對象的相互作用 如何由界面的行為表示模型轉(zhuǎn)換到系統(tǒng)的結(jié)構(gòu)模型 人機(jī)交互技術(shù)編寫組 5 6 1行為模型 行為模型的研究內(nèi)容獲取用戶需求后 結(jié)合領(lǐng)域?qū)<业囊庖姾椭笇?dǎo) 獲取系統(tǒng)中需要完成的任務(wù) 對任務(wù)的主要因素進(jìn)行詳細(xì)地分析 如任務(wù)的層次 發(fā)生條件 完成的方法以及它們之間的關(guān)系等等 人機(jī)交互技術(shù)編寫組 6 6 1 1GOMS模型的四個要素 GOMS模型用來分析和建立用戶行為的模型 用 分而治之 思想 將一個用戶任務(wù)進(jìn)行層次細(xì)化 人機(jī)交互技術(shù)編寫組 7 6 1 1GOMS模型的四個要素 GOMS模型的四個要素目標(biāo) Goal 操作 Operator 方法 Method 選擇規(guī)則 Selection 人機(jī)交互技術(shù)編寫組 8 6 1 1GOMS模型的四個要素 1目標(biāo)Goals目標(biāo)就是用戶執(zhí)行任務(wù)最終想要得到的結(jié)果 它可以在不同的層次中進(jìn)行定義 2操作Operators操作是任務(wù)分析到最低層時的行為 是用戶為了完成任務(wù)所必須執(zhí)行的基本動作 人機(jī)交互技術(shù)編寫組 9 6 1 1GOMS模型的四個要素 3方法Methods方法是描述如何完成任務(wù)目標(biāo)的過程 是用來確定子目標(biāo)序列及完成這些目標(biāo)所需要的操作 人機(jī)交互技術(shù)編寫組 10 6 1 1GOMS模型的四個要素 3方法MethodsGOAL ICONSIZE WINDOW select GOAL USE CLOSE METHOD MOVE MOUSE TO WINDOW HEADER POP UP MENU CLICK OVER CLOSE OPTION GOAL USE L7 METHOD PRESS L7 KEY 人機(jī)交互技術(shù)編寫組 11 6 1 1GOMS模型的四個要素 4選擇Selection是用戶要遵守的規(guī)則 用來確定在特定環(huán)境下所要使用的方法 當(dāng)有多個方法可供選擇時 GOMS需要根據(jù)用戶 系統(tǒng)的狀態(tài) 目標(biāo)的細(xì)節(jié)來預(yù)測要選擇哪種方法 選擇 用戶狀態(tài) 系統(tǒng)狀態(tài) 目標(biāo)細(xì)節(jié) 用戶Sam Rule1 UsetheCLOSE METHODunlessanotherruleappliesRule2 IftheapplicationisGAME useL7 METHOD GOMS模型的四個要素之間的關(guān)系 目標(biāo) Goal 層次結(jié)構(gòu)操作 Operator 基本動作方法 Method 由目標(biāo)和完成目標(biāo)的基本操作復(fù)合而成 選擇規(guī)則 Selection 由用戶 系統(tǒng)狀態(tài)和目標(biāo)決定的 人機(jī)交互技術(shù)編寫組 14 GOMS的局限性 GOMS沒有描述錯誤處理的過程 它假設(shè)用戶按正確的方式進(jìn)行人機(jī)交互 只針對專家用戶 任務(wù)間只有順序和選擇關(guān)系 選擇關(guān)系通過非形式化的附加規(guī)則描述 實(shí)現(xiàn)起來也比較困難 任務(wù)是面向目標(biāo)的 忽略了任務(wù)的問題本質(zhì)及用戶的個體差異 人機(jī)交互技術(shù)編寫組 15 6 1 2LOTOS LOTOS LanguageOfTemporalOrderingSpecification是一種標(biāo)準(zhǔn)形式描述語言 適于描述具有并發(fā) 交互 反饋和不確定性等特點(diǎn)的并發(fā)系統(tǒng)中的行為 人機(jī)交互技術(shù)編寫組 16 LOTOS基本思想 把系統(tǒng)的外部行為看作有時序關(guān)系的交互序列組成 認(rèn)為系統(tǒng)由一系列進(jìn)程組成 進(jìn)程同環(huán)境之間通過稱為關(guān)口 gates 的交互點(diǎn)進(jìn)行交互 認(rèn)為兩個以上進(jìn)程在執(zhí)行同一個外部可見的行為時會發(fā)生交互操作 進(jìn)行數(shù)據(jù)交換 信息傳遞 協(xié)調(diào)同步等操作 進(jìn)程行為用行為表達(dá)式來描述 復(fù)雜行為由行為表達(dá)式通過LOTOS算符組合而成 將LOTOS思想用于人機(jī)交互行為模型時 用進(jìn)程之間的約束關(guān)系來描述交互子任務(wù)之間的關(guān)系 LOTOS模型的基本算符 交替Interleaving T1 T2T1和T2兩個任務(wù)相互獨(dú)立 可按任意順序執(zhí)行 永遠(yuǎn)不會同步 選擇Choice T1 T2需要在T1 T2中選擇一個執(zhí)行 一旦選擇某一個后 必須執(zhí)行它直到結(jié)束 在這中間另一個再無執(zhí)行機(jī)會 同步Synchronization T1 a1 an T2任務(wù)T1 T2必須在動作 a1 an 處保持同步 禁止Deactivation T1 T2一旦T2任務(wù)被執(zhí)行 T1便無效 不活動 允許Enabling T1 T2當(dāng)T1成功結(jié)束后才允許T2執(zhí)行 LOTOS實(shí)例 中國象棋的LOTOS任務(wù)分解實(shí)例 打譜 所謂打譜 就是看棋譜 初學(xué)階段 學(xué)習(xí)一些基礎(chǔ)知識 如各兵種的特點(diǎn) 殘局基本功訓(xùn)練名家對局 掌握各種布局的特點(diǎn) 人機(jī)交互技術(shù)編寫組 20 人機(jī)交互技術(shù)編寫組 21 LOTOS與GOMS的結(jié)合 LOTOS模型描述了任務(wù)間的時序關(guān)系 這些時序約束關(guān)系能更好的描述GOMS中子目標(biāo)之間的關(guān)系 用GOMS模型描述任務(wù)的分解過程 而用LOTOS給出子任務(wù)之間的約束關(guān)系 這樣就可以增加兩種表示模型的表示能力 中國象棋程序的GOMS和LOTOS行為模型描述 GOAL 中國象棋 DeactivationGOAL 運(yùn)行 GOAL 走棋ACTION 自動記錄棋譜 EnablingGOAL 當(dāng)前方走 EnablingOPRATOR 拾取棋子OPRATOR 放置棋子GOAL 對弈方走 EnablingOPRATOR 拾取棋子OPRATOR 放置棋子 GOAL 打譜 ChoiceOPRATOR 加速OPRATOR 減速OPRATOR 暫停OPRATOR 恢復(fù)GOAL 退出 人機(jī)交互技術(shù)編寫組 23 LOTOS總結(jié) LOTOS與GOMS結(jié)合 可以清楚地描述任務(wù)的目標(biāo)層次及各目標(biāo)之間的約束關(guān)系 依然無法描述目標(biāo)異常結(jié)束 未涉及任務(wù)選擇規(guī)則 可以構(gòu)造自動化工具 自動進(jìn)行錯誤檢測 但它過于形式化的記法比較晦澀難懂 GOMS模型和LOTOS模型結(jié)合可以描述較高級的人機(jī)交互任務(wù) 對于原子任務(wù) 上述模型并沒有給出一個比較清晰的描述 下面討論的UAN模型主要用于原子目標(biāo)的描述 人機(jī)交互技術(shù)編寫組 24 6 1 3UAN UAN 用戶行為符號 UserActionNotation UAN是一種符號語言 主要描述用戶的行為序列以及在執(zhí)行任務(wù)時所使用的界面對象 雖然UAN是一種行為模型 但它又在一定程度上描述了系統(tǒng)行為 因而它兼有行為模型和結(jié)構(gòu)模型的一些特點(diǎn) 人機(jī)交互技術(shù)編寫組 25 UAN模型的基本思想 標(biāo)志符 用戶動作標(biāo)志符條件標(biāo)志符任務(wù)的表格表示界面被分解成一些類似層次結(jié)構(gòu)的異步任務(wù) 每個任務(wù)的實(shí)現(xiàn)都用表格來描述 用戶動作的關(guān)聯(lián)性和時序關(guān)系由表格的行列對齊關(guān)系和從上到下 從左到右的閱讀順序來確定 UAN預(yù)定義的動作標(biāo)志符 用戶動作標(biāo)志符 move mouse x y 移動鼠標(biāo)至 x y release button x y 在 x y 位置釋放鼠標(biāo)按鈕 highlight icon 使icon高亮顯示 de highlight icon 取消icon的高亮顯示 用戶動作標(biāo)志符 x y 在某個圖形對象上移動鼠標(biāo) 按下鼠標(biāo) 釋放鼠標(biāo) 使對象高亮顯示 取消對象的高亮顯示Display顯示圖形對象 Erase取消顯示對象 UAN預(yù)定義的條件標(biāo)志符 while condition TASK當(dāng)條件condition為真時 循環(huán)執(zhí)行任務(wù)TASK if condition thenTASK如果條件condition滿足 則執(zhí)行任務(wù)TASK iterationA orA 表示迭代操作 waiting表示等待 可以等待一個條件滿足 也可以等待任務(wù)中的一個操作執(zhí)行 UAN實(shí)例 單通道交互 人機(jī)交互技術(shù)編寫組 29 UAN實(shí)例 多通道交互 人機(jī)交互技術(shù)編寫組 30 UAN總結(jié) UAN模型更接近于實(shí)現(xiàn) 界面狀態(tài)和界面反饋用一般的程序語言描述 實(shí)現(xiàn)起來比較方便 當(dāng)然這種描述由于接近于程序語言 因此設(shè)計時需要一定的編程基礎(chǔ)UAN模型在精確刻畫各成分之間的各種平行和串行的時序關(guān)系方面尚顯不足 任務(wù)之間的時序關(guān)系沒有明確表示出來 當(dāng)所描述的界面使用多種輸入設(shè)備和有若干可選交互路徑時 比較繁瑣 G U L模型 G U L模型 運(yùn)用GOMS原理為基礎(chǔ)進(jìn)行任務(wù)分解 建立基本的行為模型 原子操作由UAN模型描述運(yùn)用LOTOS算符來表示任務(wù)目標(biāo)之間的時序關(guān)系 中國象棋的G U L模型描述 思考題中國象棋的G U L模型描述任務(wù)分解 建立基本的行為模型用LOTOS算符表示的時序關(guān)系由UAN模型描述的原子操作 6 2結(jié)構(gòu)模型 6 2結(jié)構(gòu)模型 狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) StateTransitNetwork用結(jié)構(gòu)化的方法來描述人機(jī)交互的一般過程 是一種圖示化的結(jié)構(gòu)產(chǎn)生式規(guī)則 ProductionRule形式化語言的描述 這種結(jié)構(gòu)的方法從理論上可以引導(dǎo)界面設(shè)計者及界面工具的設(shè)計者進(jìn)行有效的設(shè)計 6 2 1產(chǎn)生式規(guī)則 產(chǎn)生式規(guī)則又稱為上下文無關(guān)文法 將人機(jī)交互對話看作是一種語言 運(yùn)用基于語法的方法來描述交互對話 產(chǎn)生式規(guī)則是一種形式化語言 這些規(guī)則可用于描述人機(jī)交互界面 產(chǎn)生式規(guī)則的一般形式 ifconditionthenaction這些規(guī)則可以表示為不同的形式 如condition actioncondition action 36 1 事件引導(dǎo)的系統(tǒng) 事件引導(dǎo)的系統(tǒng)產(chǎn)生式的條件和動作均以事件的方式表示 實(shí)現(xiàn)用戶在屏幕上繪直線的產(chǎn)生式集合 事件的主要類型 用戶事件 userevent Sel line表示從菜單中選擇line命令 C point和D point表示用戶在繪圖平面上單擊和雙擊鼠標(biāo)內(nèi)部事件用于保持對話狀態(tài) 如start line表示開始畫線后的狀態(tài) rest line表示選擇了第一個點(diǎn)之后的狀態(tài) 系統(tǒng)響應(yīng)事件以尖括號表示可見或可聽的系統(tǒng)響應(yīng) 如 把菜單項(xiàng) line 高亮度顯示 表示在屏幕上顯示直線 表示橡皮筋繪制方式打開 表示橡皮筋繪制方式關(guān)閉 產(chǎn)生式規(guī)則的解釋 在上面的產(chǎn)生式規(guī)則中 第一條規(guī)則表示選擇畫線命令后 系統(tǒng)狀態(tài)進(jìn)入了開始畫線狀態(tài) 接著把 line 菜單項(xiàng)高亮度顯示 第二條規(guī)則表示 用戶在開始畫線狀態(tài)時 在繪圖區(qū)域單擊鼠標(biāo)則系統(tǒng)表示已定義了一個點(diǎn) 此時橡皮筋繪圖方式打開 第三條規(guī)則表示在定義了一個 或多個 點(diǎn)后 用戶單擊鼠標(biāo)可以連續(xù)地定義點(diǎn) 第四條規(guī)則表示雙擊鼠標(biāo)則結(jié)束畫線的交互過程 人機(jī)交互技術(shù)編寫組 39 對話控制 對話控制主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配 在每一時刻系統(tǒng)內(nèi)存中會保存一些內(nèi)部事件 當(dāng)產(chǎn)生一個事件時 可能是用戶事件 也可能是內(nèi)部事件 對話控制就是要將產(chǎn)生式規(guī)則與事件集合進(jìn)行匹配 這個過程是復(fù)雜的而且耗時 當(dāng)產(chǎn)生式很多并且產(chǎn)生式規(guī)則的條件復(fù)雜時 匹配算法的效率就顯的更為重要 因此需要設(shè)計好的數(shù)據(jù)結(jié)構(gòu)和匹配算法來提高匹配規(guī)則的效率 可以將規(guī)則和事件進(jìn)行分組和分層 人機(jī)交互技術(shù)編寫組 40 2 狀態(tài)引導(dǎo)的系統(tǒng) 狀態(tài)引導(dǎo)的系統(tǒng)在系統(tǒng)內(nèi)存保存的不再是動態(tài)的事件 而是一些表示系統(tǒng)的當(dāng)前狀態(tài)的屬性 這些屬性在不同的時刻有不同的值 畫線操作在系統(tǒng)中的五個屬性 對象的狀態(tài) Mouse的4個狀態(tài)Mouse null 鼠標(biāo)空閑 select line 選線 click point 單擊 double click 雙擊 Line state當(dāng)前會話狀態(tài)menu 可選命令狀態(tài) start line 開始繪線 rest line 已經(jīng)定義點(diǎn) 控制系統(tǒng)響應(yīng)狀態(tài)Rubber band橡皮筋繪制開關(guān)狀態(tài)Menu表示任何項(xiàng)也沒有選中 highlight null 選中繪直線命令 highlight line 選中繪圓命令 highlight circle Draw表示什么也不畫狀態(tài) draw nothing 畫直線狀態(tài) draw line 顯示控制器根據(jù)上面的狀態(tài)做出相應(yīng)的顯示控制 狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則 畫直線 人機(jī)交互技術(shù)編寫組 44 狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則的特點(diǎn) 當(dāng)產(chǎn)生式規(guī)則的條件和狀態(tài)匹配時將激活該產(chǎn)生式規(guī)則 對于某一特定的屬性 如果前面的狀態(tài)需要改變成新的狀態(tài)時才需要在產(chǎn)生規(guī)則的后面標(biāo)注 人機(jī)交互技術(shù)編寫組 45 狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則的特點(diǎn) 屬性的永久特性有時會引起一些奇怪的錯誤 因此在上述的規(guī)則集中 每一條產(chǎn)生式規(guī)則都要求將鼠標(biāo)的狀態(tài)設(shè)置為 mouse null 否則 當(dāng)用戶單擊了鼠標(biāo) 激活了第二條規(guī)則 如果不立即將鼠標(biāo)的屬性設(shè)置為 mouse null 則會立即激活第三條規(guī)則 此時系統(tǒng)的狀態(tài)和第三條規(guī)則的條件是匹配的 并且會反復(fù)的一直執(zhí)行下去 3 混合引導(dǎo)系統(tǒng) 事件引導(dǎo)方式與狀態(tài)引導(dǎo)方式結(jié)合如下面產(chǎn)生式規(guī)則 event condition action如果條件不滿足 即當(dāng)前系統(tǒng)內(nèi)存中的狀態(tài)和產(chǎn)生式的規(guī)則不匹配 則無法激活規(guī)則另外當(dāng)狀態(tài)改變時 產(chǎn)生式規(guī)則中的action本身也可以產(chǎn)生新的事件 從而可以激活另一條規(guī)則 人機(jī)交互技術(shù)編寫組 47 混合的事件 狀態(tài)產(chǎn)生式系統(tǒng) 根據(jù)用戶點(diǎn)擊鼠標(biāo)的位置不同 可能產(chǎn)生三個事件 select bold select italic select under 該對話過程有下面六個產(chǎn)生式規(guī)則定義 混合的事件 狀態(tài)產(chǎn)生式系統(tǒng) 產(chǎn)生式規(guī)則總結(jié) 描述操作時序能力強(qiáng) 并發(fā)順序均可無法描述誤操作界面復(fù)雜時 狀態(tài) 事件復(fù)雜 產(chǎn)生式過多 要求產(chǎn)生式匹配算法性能高 6 2 2狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) STN 的基本思想是定義一個具有一定數(shù)量狀態(tài)的轉(zhuǎn)換機(jī) 稱之為有限狀態(tài)機(jī) FiniteStateMachine FSM FSM從外部世界中接收到事件 并能使FSM從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài) 兩種最基本的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) StateDiagrams 擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò) StateCharts 1 傳統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 狀態(tài)轉(zhuǎn)換當(dāng)發(fā)生一個事件時 系統(tǒng)從一個狀態(tài)轉(zhuǎn)換到另外一個狀態(tài) 外部事件由用戶操作外部輸入設(shè)備來產(chǎn)生內(nèi)部事件系統(tǒng)產(chǎn)生的事件 改變了系統(tǒng)的狀態(tài)和行為而產(chǎn)生的事件 如當(dāng)一個任務(wù)完成后可以激活另一個任務(wù)等 帶條件的狀態(tài)轉(zhuǎn)換 帶條件的狀態(tài)轉(zhuǎn)換 T2 C2 T1 C1 S E1 E2 T1 T2 帶條件的狀態(tài)轉(zhuǎn)換實(shí)例 drawcircle 單擊在圓周上 rubberband 單擊在中心點(diǎn) highlight circle 選擇 circle Circle1 Menu Finish Circle2 drawline 雙擊 rubberband 單擊在第一點(diǎn) highlight line 選擇 line Line1 Finish Line2 人機(jī)交互技術(shù)編寫組 55 傳統(tǒng)狀態(tài)轉(zhuǎn)換模型 狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)比文本解決方案更易于設(shè)計 理解 修改和文檔化 它給出了對行為的精確的 甚至是格式化的定義 傳統(tǒng)狀態(tài)轉(zhuǎn)換模型的局限性需要定義出系統(tǒng)的所有狀態(tài) 這對于小型的系統(tǒng)是沒有問題的 但是在一個較大的系統(tǒng)中 系統(tǒng)會很快崩潰 狀態(tài)的數(shù)目是呈指數(shù)級增長的 同時狀態(tài)的增長直接導(dǎo)致了狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)過于復(fù)雜 無法實(shí)際應(yīng)用 2 擴(kuò)展的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 彈出graphics子菜單 選擇graphics 主菜單 graphics子菜單 彈出text子菜單 選擇 text text子菜單 彈出paint子菜單 選擇 paint paint子菜單 1 層次狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 帶有取消功能的狀態(tài)轉(zhuǎn)換圖 彈出graphics子菜單 選擇 graphics 主菜單 graphics子菜單 彈出text子菜單 選擇 text text子菜單 彈出paint子菜單 選擇 paint paint子菜單 ESC 正常完成 正常完成 正常完成 ESC ESC 58 帶有幫助功能的狀態(tài)轉(zhuǎn)換 按下HELP按鈕 按下HELP按鈕 從菜單出發(fā) drawcircle 單擊在圓周上 rubberband 單擊在中心點(diǎn) Circle1 Finish Circle2 幫助子系統(tǒng) 幫助子系統(tǒng) 描述并發(fā)任務(wù) 狀態(tài)轉(zhuǎn)換模型 狀態(tài)的爆發(fā)式增長問題具有良好的描述串行和順序行為的能力 并發(fā)及其他行為的描述能力差雖然是一個結(jié)構(gòu)模型 但難以實(shí)現(xiàn) 人機(jī)交互技術(shù)編寫組 60 6 3事件 對象模型 Event Object 61 6 3 1對話獨(dú)立性和語義反饋性 對話的獨(dú)立性指界面和系統(tǒng)的邏輯業(yè)務(wù)或數(shù)據(jù)模型互相獨(dú)立 交互完成后 再去調(diào)用業(yè)務(wù)模型的方法進(jìn)行相應(yīng)的業(yè)務(wù)處理 語義的反饋性指在人機(jī)交互過程中要實(shí)時反饋界面的狀態(tài)和用戶操作的細(xì)節(jié) 以便用戶能比較清晰的了解當(dāng)前操作的過程 所見即所得 就是一種典型的語義反饋 軟件體系結(jié)構(gòu) 軟件的四層體系結(jié)構(gòu)表示層邏輯對象層服務(wù)對象層存儲層 6 3 2E O模型系統(tǒng)結(jié)構(gòu) 事件 對象模型 將人機(jī)交互活動歸結(jié)為事件與對象的相互作用 事件是人機(jī)交互活動中傳遞的信息 對象是交互活動中的對象 事件引發(fā)交互活動 對象是交互活動的承受者 模型強(qiáng)調(diào)事件和對象在人機(jī)交互中的重要性 以事件為驅(qū)動 以對象為核心 具有面向?qū)ο蟮娘L(fēng)格 兼顧了對話獨(dú)立性原則和語義反饋的要求 人機(jī)交互技術(shù)編寫組 64 表示層對象1 表示層對象2 表示層對象n 控制者 邏輯對象1 邏輯對象2 邏輯對象n 事件1 事件2 事件n 事件1 事件2 事件n 6 3 2E O模型系統(tǒng)結(jié)構(gòu) 人機(jī)交互技術(shù)編寫組 65 1 事件的類型 事件的兩種基本類型 實(shí)事件是用戶通過輸入設(shè)備輸入而產(chǎn)生 可分為 鍵碼事件 定位事件 字符串事件 虛事件用戶界面系統(tǒng)或應(yīng)用程序產(chǎn)生并限于系統(tǒng)內(nèi)部流動的事件 主要是協(xié)調(diào)系統(tǒng)的運(yùn)行 可以分為 定時器事件 郵件事件 空閑事件 人機(jī)交互技術(shù)編寫組 66 2 事件的結(jié)構(gòu) 人機(jī)交互技術(shù)編寫組 67 3 對象的類型 根據(jù)交互任務(wù)類型的不同一般可歸納為三種基本對象類型 抽象交互對象 如磁盤 文件等抽象的對象 空間交互對象 表示空間中的物體的對象等 如三維場景和物體 時間交互對象 表示與時間相關(guān)的對象 如視頻 音頻等對象 人機(jī)交互技術(shù)編寫組 68 對象的類型 對象按功能分類 可分為 通用對象 在不同的應(yīng)用中共有的一些對象 工具對象 用作用戶界面中的各種交互技術(shù) 如按鈕等 二維對象 用于二維用戶界面 三維對象 用于三維用戶界面 時變對象 適用于隨時間變化的動態(tài)對象 如在多媒體用戶界面中實(shí)現(xiàn)音頻 視頻等媒體的管理 人機(jī)交互技術(shù)編寫組 69 對象應(yīng)該具有的特征 對象應(yīng)以顯式的方式接受事件并對此做出響應(yīng) 能直接利用數(shù)據(jù)和方法封裝的思想實(shí)現(xiàn)對象的獨(dú)立 一個對象可以發(fā)送消息給其他對象 對象之間的通信通過消息發(fā)送和接收來完成 對象的實(shí)現(xiàn)方法可采用結(jié)構(gòu)化方法和面向?qū)ο蟮姆椒?人機(jī)交互技術(shù)編寫組 70 4 對象的結(jié)構(gòu) 主要包括三部分 屬性集 包括對象ID 類型 風(fēng)格 位置 顏色等 方法集 初始化方法 對象屬性的初始化 表現(xiàn)方法 常規(guī)的界面反饋和更新對象的外觀 響應(yīng)方法 響應(yīng)方法對用戶的終結(jié)控制動作調(diào)用相應(yīng)的應(yīng)用語義函數(shù)以做出響應(yīng) 當(dāng)對象之間存在關(guān)聯(lián)語義時 相應(yīng)方法還負(fù)責(zé)和其他對象進(jìn)行交互 消息集 包括一組可被對象識別的并激活其相應(yīng)行為方法的消息 這些消息分流到上述三個方法中 人機(jī)交互技術(shù)編寫組 71 5 對象的組織 對象之間有不同的關(guān)系 可采用四種典型結(jié)構(gòu)來組織對象 集合 對象之間無約束關(guān)系 線性結(jié)構(gòu) 對象之間有明確的順序關(guān)系 如各輸入字段 列表項(xiàng)等 層次結(jié)構(gòu) 對象之間有層次關(guān)系 對象包含數(shù)個子對象 如菜單和菜單項(xiàng) 網(wǎng)狀結(jié)構(gòu) 適用于比較復(fù)雜的CAD系統(tǒng) 如CAD布線 現(xiàn)在Web中的導(dǎo)航菜單對象的組織也有采用網(wǎng)絡(luò)結(jié)構(gòu) 6 E O模型總結(jié) E O模型具有面向?qū)ο筇匦?其中對象具有直接的面向?qū)ο蟮奶卣?而包括事件 設(shè)備的在內(nèi)的各種元素也被直接地映射為對象 同時 事件對象模型內(nèi)在的事件驅(qū)動機(jī)制也非常符合交互式軟件的需要 事件對象模型中事件結(jié)構(gòu)和對象結(jié)構(gòu)的通用性和開放性 可以支持從簡單得到復(fù)雜的各類用戶界面的實(shí)現(xiàn) 有能力支持包括多媒體 多通道用戶界面和虛擬現(xiàn)實(shí)等新型人機(jī)交互技術(shù)的實(shí)現(xiàn) 在下一章將給出E O模型的軟件結(jié)構(gòu)和實(shí)現(xiàn)支持 人機(jī)交互技術(shù)編寫組 73 作業(yè) 1 寫出事件引導(dǎo)的畫線的產(chǎn)生式規(guī)則2 寫出狀態(tài)引導(dǎo)的畫線的產(chǎn)生式規(guī)則3 畫出基于菜單的畫圖工具的狀態(tài)轉(zhuǎn)換圖 6 4行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換 人機(jī)交互技術(shù)編寫組 75 6 4行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換 行為模型主要對設(shè)計起指導(dǎo)作用 在此基礎(chǔ)上 設(shè)計人員再進(jìn)行結(jié)構(gòu)模型 如狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)等 的創(chuàng)建 這個過程很大程度上取決于設(shè)計人員的經(jīng)驗(yàn)和對行為模型的理解 本節(jié)主要介紹一種從行為模型到結(jié)構(gòu)模型的一種轉(zhuǎn)換思想和算法 以實(shí)現(xiàn)兩種模型間的自動的轉(zhuǎn)化工作 76 6 4 1基本的模型轉(zhuǎn)換整體框架 模型轉(zhuǎn)換整體框架 整個框架分為三個部分 行為模型使用G U L模型 在這一層將產(chǎn)生一個基本的預(yù)測性的行為模型 結(jié)構(gòu)模型采用層次狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 它涉及到的元素有狀態(tài) 轉(zhuǎn)換 事件 層次結(jié)構(gòu) 不考慮狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)在轉(zhuǎn)換中條件和同步 可以簡化轉(zhuǎn)換工作 用戶包含兩種用戶 領(lǐng)域?qū)<液驮O(shè)計者 G U L模型的創(chuàng)建主要是由領(lǐng)域?qū)<液驮O(shè)計者合作來完成的 然后通過模型轉(zhuǎn)換算法轉(zhuǎn)換成為結(jié)構(gòu)模型 最后提供給設(shè)計者使用 人機(jī)交互技術(shù)編寫組 78 6 4 2轉(zhuǎn)換算法 1 基本思想2 基本步驟3 實(shí)例應(yīng)用 人機(jī)交互技術(shù)編寫組 79 1 基本思想 采用G U L以層次化結(jié)構(gòu)對任務(wù)進(jìn)行建模 包括目標(biāo) 包括循環(huán)屬性 行為 關(guān)系 狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)表示的是狀態(tài)之間的轉(zhuǎn)換 也采用層次化表示 涉及到的主要是狀態(tài) 轉(zhuǎn)換 事件 行為 在G U L中體現(xiàn)的層次關(guān)系轉(zhuǎn)換到狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中也體現(xiàn)出層次的關(guān)系 G U L中的每個目標(biāo)都對應(yīng)一個狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 如果一個目標(biāo)下層有子目標(biāo) 對子目標(biāo)來說 它所對應(yīng)的狀態(tài)網(wǎng)絡(luò)應(yīng)該嵌套在上層目標(biāo)對應(yīng)的狀態(tài)網(wǎng)絡(luò)中 1 基本思想 在產(chǎn)生的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中 有兩類事件起作用 一類是外部由用戶激活的事件 如 按下鼠標(biāo) 事件 點(diǎn)擊鍵盤 事件等 另一類是內(nèi)部由目標(biāo)產(chǎn)生的內(nèi)部事件 這里只定義了 目標(biāo)正常結(jié)束 表示目標(biāo)正常結(jié)束時產(chǎn)生的事件 在進(jìn)行從G U L到狀態(tài)的轉(zhuǎn)換時 這些事件只是形式上的一個定義 沒有具體的實(shí)現(xiàn)過程 如要在某一層出現(xiàn)的第i個外部事件用 外部事件i 來代替 而由某個目標(biāo)Ti執(zhí)行時產(chǎn)生的內(nèi)部事件也僅僅用類似于 Ti正常結(jié)束事件 來表示 而具體的事件還需要由狀態(tài)網(wǎng)絡(luò)進(jìn)行 系統(tǒng)實(shí)現(xiàn)時通過專門的事件管理器來定義和管理 對G U L中的行為在轉(zhuǎn)換后就成為對應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的一個行為 人機(jī)交互技術(shù)編寫組 81 圖6 18中描述了一個目標(biāo)層次中產(chǎn)生事件的過程 人機(jī)交互技術(shù)編寫組 82 2 基本步驟 對轉(zhuǎn)換后的數(shù)據(jù) 存儲的是狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中表示轉(zhuǎn)換的弧 如下圖6 19所示 圖6 19狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中弧的表示結(jié)構(gòu)其中的觸發(fā)事件就是觸發(fā)從出發(fā)狀態(tài)到目的狀態(tài)轉(zhuǎn)換的事件 父狀態(tài)表示的是當(dāng)前弧所在狀態(tài)網(wǎng)絡(luò)的上層狀態(tài) 可以是一個抽象出來的狀態(tài)名 人機(jī)交互技術(shù)編寫組 83 2 基本步驟 轉(zhuǎn)換基本步驟 1 讀取存儲G U L模型的數(shù)據(jù)文件 進(jìn)行解析 定義一個數(shù)組stn用于存儲狀態(tài)網(wǎng)絡(luò)中的弧 獲取G U L模型中的最高目標(biāo) 設(shè)為G0 然后調(diào)用 2 中的Translate函數(shù) 在Translate執(zhí)行完畢后 stn中便存儲了轉(zhuǎn)換后的狀態(tài)網(wǎng)絡(luò)的數(shù)據(jù) 函數(shù)示意如下 2 對當(dāng)前的目標(biāo)進(jìn)行處理 如果是原子目標(biāo) 參考原子目標(biāo)的UAN模型 創(chuàng)建其狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 否則 獲得目標(biāo)層次下的數(shù)據(jù) 包括行為 關(guān)系算符及子目標(biāo)名 通過關(guān)系符號來調(diào)用 3 中相應(yīng)的關(guān)系轉(zhuǎn)換函數(shù) 對所有的子目標(biāo)進(jìn)行遞歸調(diào)用 函數(shù)示意假如下 main 定義一個存儲弧的數(shù)組stn 讀取G U L文件GOALG0 GetSubGoal null 獲取在目標(biāo)Translate G0 調(diào)用轉(zhuǎn)換函數(shù) Translate 目標(biāo)G 存儲數(shù)組stn 獲得目標(biāo)G的子目標(biāo)subG switch 關(guān)系 case 選擇關(guān)系處理case 允許關(guān)系處理case 交替關(guān)系處理case 禁止關(guān)系處理 對所有的子目標(biāo)進(jìn)行遞歸調(diào)用for intI I subG length I Translate subG I stn 3 定義了G U L的各種關(guān)系向狀態(tài)網(wǎng)絡(luò)轉(zhuǎn)換的具體的實(shí)現(xiàn)函數(shù) 實(shí)際上就是生成狀態(tài)網(wǎng)絡(luò)中的弧 并進(jìn)行存儲 在各狀態(tài)網(wǎng)絡(luò)中都會有一個初始狀態(tài)S 在每個處理函數(shù)中 需要考慮目標(biāo)具有循環(huán)屬性的情況 這在狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的體現(xiàn)是某個狀態(tài)通過一個事件激活以后能仍然返回到該狀態(tài) 如果要轉(zhuǎn)換到其他狀態(tài) 還需要一個外部事件的作用 如對 G 如圖6 20所示 人機(jī)交互技術(shù)編寫組 87 G U L中各種約束關(guān)系對應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 選擇choice 設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為 G0 G1 表示共有兩條路徑可以完成目標(biāo) 從初始狀態(tài)S0出發(fā) 有兩條弧需要記錄 經(jīng)過 外部事件0 到S1的轉(zhuǎn)換及經(jīng)過 外部事件1 到S2的轉(zhuǎn)換 記錄格式如下 人機(jī)交互技術(shù)編寫組 88 在狀態(tài)S1下 等待 G0正常結(jié)束事件 發(fā)生后被激活轉(zhuǎn)到S0 或在S2下 等待 G1正常結(jié)束事件 發(fā)生后被激活轉(zhuǎn)到S0也回到S狀態(tài) 這兩條弧在返回S0后都將執(zhí)行動作 產(chǎn)生G正常結(jié)束事件 并記錄下這兩條轉(zhuǎn)換的弧 每次重新回到S0都認(rèn)為完成了目標(biāo)G的一次執(zhí)行 在圖6 21b中考慮了存在目標(biāo)循環(huán)的情況 即 G0 G1 需要記錄的弧也在圖中進(jìn)行了反映 在后面介紹的關(guān)系中所涉及到的循環(huán)情況與此類似 選擇關(guān)系允許在一個層次下有多個目標(biāo)同時存在 如 G0 G1 Gn 人機(jī)交互技術(shù)編寫組 89 選擇 關(guān)系狀態(tài)網(wǎng)絡(luò) 90 選擇 關(guān)系狀態(tài)網(wǎng)絡(luò) 考慮了存在目標(biāo)循環(huán)的情況 人機(jī)交互技術(shù)編寫組 91 允許Enabling 設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為 G0 G1 在這種關(guān)系中完成目標(biāo)G的路徑只有一條 當(dāng)G0成功結(jié)束后才允許G1執(zhí)行 這是一個順序執(zhí)行的過程 在轉(zhuǎn)換成狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)后如圖6 22所示 從狀態(tài)S0在外部事件激發(fā)轉(zhuǎn)換至S1 在S1狀態(tài)等待 G0正常結(jié)束事件 發(fā)生后轉(zhuǎn)換至S2 然后在S2處等待 G1正常結(jié)束事件 轉(zhuǎn)換至S0 這樣表示目標(biāo)G執(zhí)行完畢 同時發(fā)生動作 產(chǎn)生G正常結(jié)束事件 處理轉(zhuǎn)換過程中存儲所有的弧 這種約束關(guān)系允許同一層次下有多個目標(biāo)存在 如 G0 G1 Gn 這些目標(biāo)都是順序執(zhí)行 交替Interleaving 設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為 G0 G1 表示兩個目標(biāo)之間一種任意的組合來執(zhí)行完成 在轉(zhuǎn)換到狀態(tài)網(wǎng)絡(luò)后 如圖6 23所示 有S0 S1 S4 S0和S0 S2 S3 S0兩條途徑可以完成目標(biāo)G的一次執(zhí)行 人機(jī)交互技術(shù)編寫組 94 從S0狀態(tài) 如果產(chǎn)生 外部事件0 依次等待 G0正常結(jié)束事件 G1正常結(jié)束事件 并最終回到S0狀態(tài) 同理 若產(chǎn)生 外部事件1 則會沿著另一條路徑回到S0 記錄下所有狀態(tài)轉(zhuǎn)換的弧 在有交替關(guān)系的層次中最多只允許有兩個狀態(tài)存在 禁止Deactivation 設(shè)目標(biāo)G下的子目標(biāo)關(guān)系為 G0 G1 一旦G1任務(wù)被執(zhí)行 G0便無效 不活動 這個關(guān)系在轉(zhuǎn)換到狀態(tài)網(wǎng)絡(luò)以后與前面不同的是 在狀態(tài)S2被 G1正常結(jié)束事件 激活以后 不會再回到S0 而是轉(zhuǎn)到了一個新的狀態(tài)F 在有禁止關(guān)系的層次中最多只允許有兩個目標(biāo)狀態(tài)存在 一個典型的例子是G0 運(yùn)行 G1 退出 在執(zhí)行退出以后整個程序結(jié)束 也就無法再回到運(yùn)行狀態(tài)了 人機(jī)交互技術(shù)編寫組 96 3 實(shí)例應(yīng)用 根據(jù)上面的轉(zhuǎn)換算法 在圖6 24a c中給出了中國象棋的最高層目標(biāo) 運(yùn)行 走棋三個目標(biāo)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò) 它們之間通過事件的產(chǎn)生和激活完成其層次間的通信 其他目標(biāo)的狀態(tài)網(wǎng)絡(luò)表示與這三個圖類似 在這里沒有列出 人機(jī)交互技術(shù)編寫組 97 最高層目標(biāo) 運(yùn)行 人機(jī)交互技術(shù)編寫組 99 走棋 人機(jī)交互技術(shù)編寫組 100 習(xí)題 6 2對6 1題中的GOMS模型中的原子目標(biāo) 創(chuàng)建UAN模型 從而進(jìn)一步了解UAN模型的在行為模型中的地位和作用 結(jié)合LOTOS算符 用前面介紹的G U L進(jìn)一步完善任務(wù)的描述 6 3在6 2 1中用產(chǎn)生式規(guī)則描述了 屏幕上繪直線 的模型 請?jiān)囍脿顟B(tài)網(wǎng)絡(luò)來進(jìn)行描述 并比較一下兩者之間的異同 101 課堂練習(xí) 1把中國象棋的G U L模型轉(zhuǎn)換到狀態(tài)網(wǎng)絡(luò)模型最高目標(biāo)運(yùn)行走棋2畫出窗口系統(tǒng)中事件注冊方式處理流程圖- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 人機(jī)交互 界面 表示 模型
鏈接地址:http://www.hcyjhs8.com/p-8149542.html