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