




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
人機交互技術編寫組1第6章人機交互界面的表示模型
人機交互技術編寫組2目的在界面設計的早期階段,研究建立一種用戶界面表示模型利用形式化的設計語言來分析和表達用戶任務以及用戶和系統之間的交互情況;使界面表示模型能方便地映射到實際的設計實現。
人機交互技術編寫組3界面模型分類任務分解和分析能力模型(competencemodel)預測和描述用戶合法的交互行為序列行為模型(performancemodel)預測和描述用戶合法的交互行為序列描述用戶的目的結構模型constructionalmodel系統組成模型人機交互技術編寫組4主要內容三種模型:行為模型,主要從用戶和任務的角度考慮如何來描述人機交互界面,將詳細介紹GOMS,UAN及LOTOS模型。結構模型,主要從系統的角度來表示人機交互界面。重點介紹狀態轉換網絡(STN-StateTransitionNetwork)和產生式規則(ProductionRule)。事件-對象模型,是一種目前非常流行的面向對象的表示模型,它將人機交互活動歸結為事件與對象的相互作用。如何由界面的行為表示模型轉換到系統的結構模型。人機交互技術編寫組5參考材料1)ThePsychologyofHuman-ComputerInteractionbyS.K.Cardetal.2)Human-ComputerInteraction(2ndEdition)byAlanJ.Dix,etal.3)董士海等:《人機交互和多通道用戶界面》.科學出版社,1999.2.4)AComparisonofApproachesforSpecifyingMulti-ModalInteractiveSystems,byJoelleCoutazetal.人機交互技術編寫組66.1行為模型分析人員獲取用戶需求后,結合領域專家的意見和指導,獲取系統中需要完成的任務,對任務的主要因素進行詳細地分析,如任務的層次、發生條件、完成的方法以及它們之間的關系等等。所有這些內容,都是在行為模型中所要研究的。
人機交互技術編寫組76.1.1GOMS1983年由Card,Morgan和Newell提出的。通過目標
(Goal)、操作
(Operator)、方法
(Method)以及選擇規則
(Selection)四個元素來描述用戶的行為。GOMS是在交互系統中用來分析建立用戶行為的模型。它采用“分而治之”的思想,將一個任務進行多層次的細化。人機交互技術編寫組86.1.1GOMS1.目標Goals
目標就是用戶執行任務最終想要得到的結果,它可以在不同的層次中進行定義。
2.
操作Operators
操作是任務分析到最低層時的行為,是用戶為了完成任務所必須執行的基本動作。
人機交互技術編寫組96.1.1GOMS3.方法Methods
方法是描述如何完成目標的過程。一個方法本質上來說是內部的算法,用來確定子目標序列及完成目標所需要的操作。GOAL:ICONSIZE-WINDOW.[selectGOAL:USE-CLOSE-METHOD..MOVE-MOUSE-TO-WINDOW-HEADER..POP-UP-MENU..CLICK-OVER-CLOSE-OPTION.GOAL:USE-L7-METHOD..PRESS-L7-KEY]人機交互技術編寫組106.1.1GOMS4.選擇Selection選擇是用戶要遵守的判定規則,以確定在特定環境下所要使用的方法。當有多個方法可供選擇時,GOMS中并不認為這是一個隨機的選擇,而是盡量來預測會使用哪個方法,這需要根據特定用戶、系統的狀態、目標的細節來預測要選擇哪種方法。用戶Sam:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHOD人機交互技術編寫組11GOMS實例Task:EditingGOAL:EDIT-MANUSCRIPTGOAL:EDIT-UNIT-TaskrepeatuntilnomoreunittasksGOAL:ACQUIRE-UNIT-TASKGET-NEXTifatendofmanuscriptGET-NEXT-TASKGOAL:EXECUTE-UNIT-TASKGOAL:LOCATE-LINE[select:USE-QS-METHEDUSE-LF-METHOD]GOAL:MODIFY-TEXT[select:USE-S-METHODUSE-M-METHOD]VERIFY-EDIT
人機交互技術編寫組12GOMS應用作為一種人機交互界面表示的理論模型,GOMS是人機交互研究領域內少有的幾個廣為人知的模型之一,并被稱為最成熟的工程典范,該模型在計算機系統的評估方面也有廣泛的應用。GOMScansavemoney!美國電話公司NYNEX利用GOMS分析一套即將被采用的新的計算機系統的應用效果,結果發現效果不理想,放棄了使用新系統,為公司節約了數百萬的資金。人機交互技術編寫組13GOMS的局限性GOMS沒有清楚的描述錯誤處理的過程,假設用戶完全按一種正確的方式進行人機交互,因此只針對那些不犯任何錯誤的專家用戶。GOMS對于任務之間的關系描述過于簡單,只有順序和選擇.事實上任務之間的關系還有很多種(具體參見6.1.2節中LOTOS的介紹),另外選擇關系通過非形式化的附加規則描述,實現起來也比較困難。GOMS把所有的任務都看作是面向操作目標的,而忽略了一些任務所要解決的問題本質以及用戶間的個體差異,它的建立不是基于現有的認知心理學,無法代表真正的認知過程。
人機交互技術編寫組146.1.2LOTOSLOTOS-LanguageOfTemporalOrderingSpecification,T.Bolognesi,H.Brinskma,"IntroductiontotheISOSpecificationLanguageLOTOS”,1987.國際標準形式描述語言,適于描述具有并發、交互、反饋和不確定性等特點的并發(concurrent)系統中的行為。開始作為一種描述網絡協議的語言,由于交互系統、特別是多通道交互系統有并發系統的特點,因此成為用來描述交互系統的行為模型。人機交互技術編寫組15LOTOS基本思想系統的外部可見行為可以看作是由一個有時序關系的交互序列組成。系統由一系列進程組成,進程同環境之間通過稱為“關口”(gates)的交互點進行交互。兩個以上的進程在執行同一個外部可見的行為時會發生交互操作,進行數據交換、信息傳遞、協調同步等操作。進程行為用“行為表達式”來描述,復雜的行為由簡單的行為表達式通過表示時序關系的LOTOS算符組合而成。在將LOTOS思想用于人機交互的行為模型時,用進程之間的約束關系來描述交互子任務之間的關系。
人機交互技術編寫組16LOTOS算符T1|||T2(交替Interleaving)T1和T2兩個任務相互獨立執行,可按任意順序執行,但永遠不會同步。
T1[]T2(選擇Choice)需要在T1,T2中選擇一個執行,一旦選擇某一個后,必須執行它直到結束,在這中間另一個再無執行機會。
T1|[a1,...,an]|T2(同步Synchronization)任務T1,T2必須在動作(a1,……,an)處保持同步
T1[>T2(禁止Deactivation)一旦T2任務被執行,T1便無效(不活動)
T1>>T2(允許Enabling)當T1成功結束后才允許T2執行
人機交互技術編寫組17LOTOS實例人機交互技術編寫組18中國象棋的LOTOS任務分解實例人機交互技術編寫組19LOTOS與GOMS的結合LOTOS模型很好的描述了任務之間的時序約束關系,這些時序約束關系能更好的描述GOMS中子目標之間的關系。用GOMS模型描述任務的分解過程,而用LOTOS給出子任務之間的約束關系,這樣就可以增加兩種表示模型的表示能力。
人機交互技術編寫組20結合GOMS和LOTOS的中國象棋程序的行為描述GOAL:中國象棋
[>:GOAL:運行
|||:*GOAL:走棋
ACTION:自動記錄棋譜
>>:GOAL:當前方走
>>:OPRATOR:拾取棋子
OPRATOR:放置棋子
GOAL:對弈方走>>OPRATOR:拾取棋子
OPRATOR:放置棋子*GOAL:打譜
[]:OPRATOR:加速
OPRATOR:減速
OPRATOR:暫停
OPRATOR:恢復
GOAL:退出人機交互技術編寫組21LOTOS總結LOTOS與GOMS結合,可以清楚地了解整個目標層次及各目標之間的約束關系。但與GOMS同樣存在無法描述目標異常結束的缺陷,同時當任務進行選擇時用什么規則進行選擇并為涉及。LOTOS最大的優越性在于可以構造一套現成的自動化工具,利用這些工具,可自動進行錯誤檢測,但它過于形式化的記法比較晦澀難懂。GOMS和LOTOS的結合可以很好地描述人機交互的較高級的任務,對于原子任務的形式化描述,上述模型并沒有給出一個比較清晰的描述,下面討論的UAN模型主要用于原子目標的描述。
人機交互技術編寫組226.1.3UAN
UANUserActionNotationUAN是一種簡單的符號語言,主要描述用戶的行為序列以及在執行任務時所用的界面物理對象。
盡管UAN屬于一種行為模型,但作為一種任務描述語言,它又涉及一定程度的系統行為的描述,因而它兼有行為模型和結構模型的一些特點。人機交互技術編寫組23UAN模型的基本思想預定義一些標志符:用戶動作標志符條件標志符采用一種表格結構來表示任務界面被分解成一些類似層次結構的異步任務,每個任務的實現都用表格來描述,用戶動作的關聯性和時序關系由表格的行列對齊關系和從上到下、從左到右的閱讀順序來確定。任務(task):任務名稱(thenameoftask)用戶行為界面反饋界面狀態人機交互技術編寫組24UAN預定義的動作標志符(部分)用戶動作標志符:move_mouse(x,y)移動鼠標至(x,y)release_button(x,y)在(x,y)位置釋放鼠標按鈕;highlight(icon)使icon高亮顯示;de_highlight(icon)取消icon的高亮顯示。用戶動作標志符:~[X],在某個圖形對象上移動鼠標;£,按下鼠標;¢,釋放鼠標;!,使對象高亮顯示;-!,取消對象的高亮顯示Display,顯示圖形對象;Erase,取消顯示對象。人機交互技術編寫組25UAN預定義的條件標志符(部分)while(condition)TASK當條件condition為真時,循環執行任務TASK;if(condition)thenTASK如果條件condition滿足,則執行任務TASK;iterationA*orA+表示迭代操作;waiting表示等待,可以等待一個條件滿足,也可以等待任務中的一個操作執行。人機交互技術編寫組26UAN實例-單通道交互任務:draganddropafiletotherecyclebin用戶行為界面反饋界面狀態mouse_down(x,y)
drag_icon(x,y)
mouse_up(x,y)
thenhighlight(icon)show_outline(icon)thenhighlight(bin)
thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selected
ifintersect(bin,x,y)
ifintersect(bin,x,y)人機交互技術編寫組27UAN實例-多通道交互任務:draganddropafiletotherecyclebin用戶行為界面反饋界面狀態2D鼠標語音thenhighlight(icon)
show_outline(icon)thenhighlight(bin)
thenhide(icon)show_bin_full()ifintersect(icon,x,y)icon=selected
ifintersect(bin,x,y)
ifintersect(bin,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to_recycle_bin人機交互技術編寫組28UAN總結UAN模型更接近于實現,界面狀態和界面反饋用一般的程序語言描述,實現起來比較方便,當然這種描述由于接近于程序語言,因此設計時需要一定的編程基礎UAN模型在精確刻畫各成分之間的各種平行和串行的時序關系方面尚顯不足,任務之間的時序關系沒有明確表示出來,當所描述的界面使用多種輸入設備和有若干可選交互路徑時,比較繁瑣。
人機交互技術編寫組29層次化的界面描述方法人機交互技術編寫組30G-U-L模型可以考慮將GOMS、UAN、LOTOS中模型結合為一個預測行為模型:G-U-L模型。G-U-L運用GOMS原理為基礎進行任務分解,建立基本的行為模型,原子操作由UAN模型描述,在此基礎上,運用LOTOS算符來表示任務目標之間的時序關系。在G-U-L模型中沒有加入規則,在表示目標之間的關系中也未考慮同步。這主要考慮到規則的轉換要涉及到推理、建立知識庫等問題,而同步的問題的描述和轉換也非常的復雜,這會在工作的初期造成非常大的困難。人機交互技術編寫組316.2結構模型
產生式規則-ProductionRule形式化語言的描述,這種結構的方法從理論上可以引導界面設計者及界面工具的設計者進行有效的設計。
狀態轉換網絡-StateTransitNetwork用結構化的方法來描述人機交互的一般過程,是一種圖示化的結構人機交互技術編寫組326.2.1產生式規則
又稱為上下文無關文法,將人機交互對話看作是一種語言,運用基于語法的方法來描述交互對話。產生式規則是一種形式化語言,這些規則可用于描述人機交互界面。產生式規則的一般形式是:ifconditionthenaction這些規則可以表示為不同的形式,如condition→
actioncondition:action人機交互技術編寫組33產生式規則所有的規則都是有效的,并且系統不斷用它來檢測用戶的輸入是否與這些條件相匹配。若匹配則激活相應的動作,這些動作可以是執行應用程序的一個過程,也可以是直接改變某些系統狀態的值。一般來說,組成界面描述的產生式規則很多,規則定義的順序并不重要,只要與規則中的條件相匹配,就可以激活相應的動作。產生式規則系統可以是事件引導的,也可以是狀態引導的,或者兩者都有。
人機交互技術編寫組341.事件引導的系統
Sel-line→start-line<highlight'line'>C-pointstart-line→rest-line<rubberbandon>C-pointrest-line→rest-line<drawline>D-pointrest-line→<drawline><rubberbandoff>產生式集合,實現用戶在屏幕上繪直線
人機交互技術編寫組35事件引導的系統保存內部事件序列構造一個對話控制器,主要負責事件的產生和規則的匹配規則的匹配算法影響系統的性能人機交互技術編寫組36事件的主要類型
用戶事件(userevent),Sel-line表示從菜單中選擇line命令,C-point和D-point表示用戶在繪圖平面上單擊和雙擊鼠標
內部事件,用于保持對話狀態,如start-line表示開始畫線后的狀態,rest-line表示選擇了第一個點之后的狀態。
系統響應事件,以尖括號表示可見或可聽的系統響應,如<highlight'line'>,把菜單項'line'高亮度顯示,<drawline>表示在屏幕上顯示直線,<rubberbandon>表示橡皮筋繪制方式打開,<rubberbandoff>表示橡皮筋繪制方式關閉。
人機交互技術編寫組37產生式規則的解釋在上面的產生式規則中,第一條規則表示選擇畫線命令后,系統狀態進入了開始畫線狀態,接著把'line'菜單項高亮度顯示;第二條規則表示,用戶在開始畫線狀態時,在繪圖區域單擊鼠標則系統表示已定義了一個點,此時橡皮筋繪圖方式打開;第三條規則表示在定義了一個(或多個)點后,用戶單擊鼠標可以連續地定義點;第四條規則表示雙擊鼠標則結束畫線的交互過程。
人機交互技術編寫組38對話控制對話控制主要負責事件的產生和規則的匹配,可以看到在每一時刻系統內存中會保存一些內部事件,當產生一個事件時,可能是用戶事件(如單擊鼠標),也可能是內部事件(如時鐘事件等)。對話控制就要將所有的產生式規則與事件集合進行匹配,這個過程是復雜的而且是耗時的,當產生式很多并且產生式規則的條件復雜時,匹配算法的效率就顯的更為重要,因此需要設計好的數據結構和匹配算法來提高匹配規則的效率。可以將規則和事件進行分組和分層。
人機交互技術編寫組392.狀態引導的系統
狀態引導的系統在系統內存保存的不再是動態的隨時進出的事件,而是一些表示系統的當前狀態的屬性,這些屬性在不同的時刻有不同的值。人機交互技術編寫組40畫線操作在系統中的五個屬性Mouse:﹛mouse-null,select-line,click-point,double-click﹜Line-state:﹛menu,start-line,rest-line﹜Rubber-band:﹛rubber-band-on,rubber-band-off﹜Menu:﹛highlight-null,highlight-line,highlight-circle﹜Draw:﹛draw-nothing,draw-line﹜人機交互技術編寫組41對象的狀態Mouse有4個不同的狀態mouse--null(鼠標空閑),select-line(選擇線命令),click-point(單擊鼠標),double-click(雙擊鼠標),當用戶對鼠標進行操作時Mouse自動設置成相應的狀態;Line-state用于保持當前會話的狀態分別是menu(可選命令狀態),start-line(開始繪制線),rest-line(已經定義點);后三個屬性用于控制系統響應其中Rubber-band表示橡皮筋繪制的開和關狀態,Menu表示任何項也沒有選中(highlight-null)、選中繪直線命令(highlight-line)或選中繪圓命令(highlight-circle),Draw表示什么也不畫狀態(draw-nothing)或畫直線狀態(draw-line),顯示控制器根據上面的狀態做出相應的顯示控制。人機交互技術編寫組42狀態引導的產生式規則(畫直線)Select-line→mouse-nullstart-linehighlight-lineClick-pointstart-line→mouse-nullrest-linerubber-band-onClick-pointrest-line→mouse-nulldraw-lineDouble-clickrest-line→mouse-nullmenudraw-linerubber-band-off人機交互技術編寫組43狀態引導的產生式規則的特點當產生式規則的條件和狀態匹配時將激活該產生式規則,對于某一特定的屬性,如果前面的狀態需要改變成新的狀態時才需要在產生規則的后面標注,例如,在第二條規則中,規則指定
"Line-state"屬性應設置成"rest-line",因為原來的"start-line"值將丟失,而在第三條規則中,沒有提及"rest-line"值,因為它已默認,"Line-state"屬性的值繼續保留為
"rest-line"。
人機交互技術編寫組44狀態引導的產生式規則的特點屬性的永久特性有時會引起一些奇怪的錯誤,因此在上述的規則集中,每一條產生式規則都要求將鼠標的狀態設置為
"mouse-null",
否則,當用戶單擊了鼠標,激活了第二條規則,如果不立即將鼠標的屬性設置為"mouse-null",則會立即激活第三條規則,此時系統的狀態和第三條規則的條件是匹配的,并且會反復的一直執行下去。人機交互技術編寫組453.混合引導系統
有的對話過程比較適合于事件引導方式,有的對話過程適合于狀態引導方式,當然也可以將兩者結合起來,例如采用下面的形式:
event:condition→action來描述一個產生式規則,事件用來計劃產生式規則,如果條件不滿足,即當前系統內存中的狀態和產生式的規則不匹配,則無法激活規則,另外當狀態改變時,產生式規則中的action本身也可以產生新的事件,從而可以激活另一條規則。
人機交互技術編寫組46混合的事件/狀態產生式系統
Bold:﹛off,on﹜
Italic:﹛off,on﹜Underline:﹛off,on﹜
圖6-2粗體/斜體/下劃線對話框
文本樣式
根據用戶點擊鼠標的位置不同,可能產生三個事件:select-bold,select-italic,select-under,該對話過程有下面六個產生式規則定義。
人機交互技術編寫組47混合的事件/狀態產生式系統select-bold:Bold=off→Bold=onselect-bold:Bold=on→Bold=offselect-italic:Italic=off→Italic=onselect-italic:Italic=on→Italic=offselect-under:Underline=off→Underline=onselect-under:Underline=on→Underline=off人機交互技術編寫組48產生式規則總結描述操作時序能力強,并發順序均可無法描述誤操作界面復雜時,狀態、事件復雜,產生式過多,要求產生式匹配算法性能高人機交互技術編寫組496.2.2狀態轉換網絡狀態轉換網絡(STN)的基本思想是定義一個具有一定數量狀態的轉換機,稱之為有限狀態機-FiniteStateMachine(FSM)FSM從外部世界中接收到事件,并能使FSM從一個狀態轉換到另一個狀態。這里介紹兩種最基本的狀態轉換網絡,狀態轉換網絡(StateDiagrams)和擴展狀態轉換網絡(StateCharts),后者是前者的一個擴展
人機交互技術編寫組501.傳統的狀態轉換網絡當發生一個外部或內部事件時,系統就會從一個狀態轉換到另外一個狀態,這稱為狀態轉換。外部事件主要由用戶操作外部輸入設備來產生,內部事件可以是系統產生的事件,如時鐘事件,也可以是為了改變系統的狀態和行為而產生的事件,如當一個任務完成后可以激活另一個任務等。源狀態目標狀態轉換一個狀態轉換與一對狀態相關聯。一般的系統具有很多個狀態,假設系統由n個狀態組成,狀態之間的轉換最多可能有n*(n-1)個。人機交互技術編寫組51帶條件的狀態轉換源狀態目標狀態條件動作人機交互技術編寫組52帶條件的狀態轉換
T2[C2]T1[C1]SE1E2S+C1S+C2E1E2T1T2人機交互技術編寫組53帶條件的狀態轉換實例(基于鼠標的畫圖工具)drawcircle單擊在圓周上rubberband單擊在中心點highlight‘circle’選擇‘circle’Circle1MenuFinishCircle2drawline雙擊rubberband單擊在第一點highlight‘line’選擇‘line’Line1FinishLine2人機交互技術編寫組54帶條件的狀態轉換實例(基于鼠標的畫圖工具)圖6-8中是一個基于鼠標畫圖工具,圖中涉及到了狀態、轉換、條件、動作等元素。它有一個菜單(有兩個選項“circle”和“line”)和一個繪圖平面。若選擇“circle”則要求你確定兩個點:第一個點是圓心,第二個點表示圓周上的任意一點。第一個點確定后,系統就在圓心和當前鼠標位置之間畫一條“橡皮圈”線,第二個點確定后就畫出了一個圓。人機交互技術編寫組55傳統狀態轉換模型狀態轉換網絡比相應的文本解決方案更易于設計、理解、修改和文檔化,它給出了對行為的精確的、甚至是格式化的定義。存在著一定的局限性,一個最大的缺陷是需要定義出系統的所有狀態,這對于小型的系統是沒有問題的,但是在一個較大的系統中,系統會很快崩潰,狀態的數目是呈指數級增長的,同時狀態的增長直接導致了狀態轉換網絡過于復雜、無法實際應用。
人機交互技術編寫組562.擴展的狀態轉換網絡彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單
人機交互技術編寫組57帶有取消功能的狀態轉換圖彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單
ESC正常完成正常完成正常完成ESCESC人機交互技術編寫組58帶有幫助功能的狀態轉換按下HELP按鈕按下HELP按鈕從菜單出發drawcircle單擊在圓周上rubberband單擊在中心點Circle1FinishCircle2幫助子系統幫助子系統描述并發任務?人機交互技術編寫組59狀態轉換模型狀態的爆發式增長問題具有良好的描述串行和順序行為的能力,并發及其他行為的描述能力差雖然是一個結構模型,但難以實現人機交互技術編寫組60人機交互的界面的基本原則對話的獨立性對話的獨立性指界面和系統的邏輯業務或數據模型不互相影響,彼此獨立,當交互完成后,再去調用業務模型的方法進行相應的業務處理。語義的反饋性語義反饋是指在人機交互過程中要實時反饋界面的狀態和用戶操作的細節,以便用戶能比較清晰的了解當前操作的過程,“所見即所得”就是強調在操作過程中所看到的就是將來系統處理的結果,這是一種典型的語義反饋。
人機交互技術編寫組61軟件的四層體系結構表示層邏輯對象層服務對象層存儲層人機交互技術編寫組62
6.3事件-對象(E-O)模型
事件-對象(Event-Object)模型,將人機交互活動歸結為事件與對象的相互作用。事件是人機交互活動中傳遞的信息,對象是交互活動中的對象;事件引發交互活動,對象是交互活動的承受者。這種模型同時強調事件和對象在人機交互中的重要性,模型以事件為驅動,以對象為核心,具有面向對象的風格。兼顧了對話獨立性原則和語義反饋的要求。人機交互技術編寫組63表示層對象1表示層對象2表示層對象n…控制者邏輯對象1邏輯對象2邏輯對象n…事件1事件2事件n事件1事件2事件nE-O模型系統結構
人機交互技術編寫組641.事件的類型事件根據不同的來源可以分為兩種基本類型:實事件和虛事件。實事件是用戶通過各類交互輸入設備輸入而產生。根據現有交互設備,可以將實事件分為:鍵碼事件,由按鍵設備產生;定位事件,由指點設備產生;字符串事件,由鍵盤或語音識別器等產生。人機交互技術編寫組65事件的類型虛事件由用戶界面系統或應用程序產生并限于系統內部流動的各類事件,其作用主要是協調系統的運行,虛事件可以分為:定時器事件,由系統按一定的時間間隔產生的事件、郵件事件,當有新的郵件收到時產生的事件,一般的異步事件也可以作為郵件事件來處理。空閑事件,也是一種內部事件,表示系統空閑或再等待用戶輸入,空閑事件發生時,系統可以做一些屏幕更新等處理。人機交互技術編寫組662.事件的結構
事件名(Name)類型(Type)來源(From)去向(To)產生時刻(Time)數據(Data)人機交互技術編寫組673.對象的類型根據交互任務類型的不同一般可歸納為三種基本對象類型:①抽象(概念)交互對象,如磁盤、文件等抽象的對象;②空間交互對象,表示空間中的物體的對象等,如三維場景和物體;③時間交互對象,表示與時間相關的對象,如視頻、音頻等對象。人機交互技術編寫組68對象的類型對象按功能分類,可分為:①通用對象,在不同的應用中共有的一些對象;②工具對象(WidgetObject),用作用戶界面中的各種交互技術(如按鈕等);③二維對象,用于二維用戶界面;④三維對象,用于三維用戶界面;⑤時變對象,適用于隨時間變化的動態對象,如在多媒體用戶界面中實現音頻、視頻等媒體的管理。人機交互技術編寫組69對象應該具有的特征①對象應以顯式的方式接受事件并對此做出響應;②能直接利用數據和方法封裝的思想實現對象的獨立;③一個對象可以發送消息給其他對象,對象之間的通信通過消息發送和接收來完成,對象的實現方法可采用結構化方法和面向對象的方法。
人機交互技術編寫組704.對象的結構主要包括三部分:屬性集,包括對象ID、類型、風格(style)、位置(對于二維、三維情況)、顏色等;方法集:初始化方法:對象屬性的初始化;表現方法:提供常規的界面反饋和更新對象的外觀;響應方法:響應方法對用戶的終結控制動作(如選中菜單項)調用相應的應用語義函數(包括自身語義和連接語義)以做出響應,當對象之間存在關聯語義時,相應方法還負責和其他對象進行交互。消息集:包括一組可被對象識別的并激活其相應行為方法的消息,這些消息分流到上述三個方法中。人機交互技術編寫組715.對象的組織對象之間有不同的關系,可采用四種典型結構來組織對象:集合,對象之間無約束關系;線性結構,對象之間有明確的順序關系,如各輸入字段、列表項等;層次結構,對象之間有層次關系,對象包含數個子對象,如菜單和菜單項;網狀結構,適用于比較復雜的CAD系統,如CAD布線,現在Web中的導航菜單對象的組織也有采用網絡結構。人機交互技術編寫組726.E-O模型總結E-O模型具有徹底的面向對象特性,其中對象具有直接的面向對象的特征,而包括事件、設備的在內的各種元素也被直接地映射為對象;同時,事件對象模型內在的事件驅動機制也非常符合交互式軟件的需要。事件對象模型中事件結構和對象結構的通用性和開放性,可以支持從簡單得到復雜的各類用戶界面的實現,有能力支持包括多媒體、多通道用戶界面和虛擬現實等新型人機交互技術的實現,在下一章將給出E-O模型的軟件結構和實現支持。人機交互技術編寫組73課堂練習1.寫出事件引導的畫線的產生式規則2.寫出狀態引導的畫線的產生式規則3.畫出基于菜單的畫圖工具的狀態轉換圖人機交互技術編寫組746.4行為模型和結構模型的轉換
一般來說行為模型主要對設計起指導作用,在此基礎上,設計人員再進行結構模型(如狀態轉換網絡等)的創建,這個過程很大程度上取決于設計人員的經驗和對行為模型的理解.本節主要介紹一種從行為模型到結構模型的一種轉換思想和算法,以實現兩種模型間的自動的轉化工作。
人機交互技術編寫組756.4.1基本的模型轉換整體框架
轉換算法
行為模型(G-U-L)
結構模型StateChartsGOMSUANLOTOS約束規則用戶DomainExpertDesigner圖6-17模型轉換整體框架人機交互技術編寫組76模型轉換整體框架
整個框架分為三個部分:行為模型使用G-U-L模型,在這一層將產生一個基本的預測性的行為模型。
結構模型采用層次狀態轉換網絡,它涉及到的元素有狀態、轉換、事件、層次結構。不考慮狀態轉換網絡在轉換中條件和同步,可以簡化轉換工作。
用戶包含兩種用戶,領域專家和設計者。G-U-L模型的創建主要是由領域專家和設計者合作來完成的,然后通過模型轉換算法轉換成為結構模型,最后提供給設計者使用。
人機交互技術編寫組776.4.2轉換算法
1.基本思想
2.基本步驟
3.實例應用
人機交互技術編寫組781.基本思想
采用G-U-L以層次化結構對任務進行建模,包括目標(包括循環屬性)、行為、關系。狀態轉換網絡表示的是狀態之間的轉換,也采用層次化表示,涉及到的主要是狀態、轉換、事件、行為。在G-U-L中體現的層次關系轉換到狀態轉換網絡中也體現出層次的關系,G-U-L中的每個目標都對應一個狀態轉換網絡。如果一個目標下層有子目標,對子目標來說,它所對應的狀態網絡應該嵌套在上層目標對應的狀態網絡中。
人機交互技術編寫組791.基本思想在產生的狀態轉換網絡中,有兩類事件起作用:一類是外部由用戶激活的事件,如“按下鼠標”
事件、“點擊鍵盤”
事件等;另一類是內部由目標產生的內部事件,這里只定義了“目標正常結束”,表示目標正常結束時產生的事件。在進行從G-U-L到狀態的轉換時,這些事件只是形式上的一個定義,沒有具體的實現過程,如要在某一層出現的第i個外部事件用“外部事件i”來代替,而由某個目標Ti執行時產生的內部事件也僅僅用類似于“Ti正常結束事件”來表示,而具體的事件還需要由狀態網絡進行,系統實現時通過專門的事件管理器來定義和管理。
對G-U-L中的行為在轉換后就成為對應的狀態轉換網絡中的一個行為。
人機交互技術編寫組80圖6-18事件產生過程G產生“G正常結束”事件S0……F圖6-18中描述了一個目標層次中產生事件的過程。人機交互技術編寫組812.基本步驟對轉換后的數據,存儲的是狀態轉換網絡中表示轉換的弧,如下圖6-19所示:圖6-19狀態轉換網絡中弧的表示結構
其中的觸發事件就是觸發從出發狀態到目的狀態轉換的事件;父狀態表示的是當前弧所在狀態網絡的上層狀態,可以是一個抽象出來的狀態名;出發狀態目的狀態觸發事件父狀態行為人機交互技術編寫組822.基本步驟轉換基本步驟(1)讀取存儲G-U-L模型的數據文件,進行解析,定義一個數組stn用于存儲狀態網絡中的弧。獲取G-U-L模型中的最高目標,設為G0,然后調用(2)中的Translate函數,在Translate執行完畢后,stn中便存儲了轉換后的狀態網絡的數據。函數示意如下:main(){定義一個存儲弧的數組stn[]讀取G-U-L文件GOALG0<-GetSubGoal(null);//獲取在目標Translate(G0,&stn);//調用轉換函數}人機交互技術編寫組83(2)對當前的目標進行處理,如果是原子目標,參考原子目標的UAN模型,創建其狀態轉換網絡。否則,獲得目標層次下的數據,包括行為、關系算符及子目標名。通過關系符號來調用(3)中相應的關系轉換函數,對所有的子目標進行遞歸調用。函數示意假如下:Translate(目標
G,存儲數組
stn[]){獲得目標G的子目標subG[]switch(關系){case“[]”:選擇關系處理
case“>>”:允許關系處理
case“|||”:交替關系處理
case“[>”:禁止關系處理
}//對所有的子目標進行遞歸調用
for(intI;I<subG.length;I++)Translate(subG[I],stn);} 人機交互技術編寫組84(3)定義了G-U-L的各種關系向狀態網絡轉換的具體的實現函數,實際上就是生成狀態網絡中的弧,并進行存儲。在各狀態網絡中都會有一個初始狀態S。在每個處理函數中,需要考慮目標具有循環屬性的情況,這在狀態轉換網絡中的體現是某個狀態通過一個事件激活以后能仍然返回到該狀態。如果要轉換到其他狀態,還需要一個外部事件的作用。如對*G,如圖6-20所示。
圖6-20帶有循環屬性的目標對應的狀態轉換圖G正常結束事件外部事件SU人機交互技術編寫組85G-U-L中各種約束關系對應的狀態轉換網絡
[](選擇
choice):設目標G下的子目標關系為[](G0,G1),表示共有兩條路徑可以完成目標G。從初始狀態S0出發,有兩條弧需要記錄,經過“外部事件0”到S1的轉換及經過“外部事件1”到S2的轉換,記錄格式如下:
S0S1外部事件0GNullS0S2外部事件1GNull人機交互技術編寫組86在狀態S1下,等待“G0正常結束事件”發生后被激活轉到S0,或在S2下,等待“G1正常結束事件”發生后被激活轉到S0也回到S狀態,這兩條弧在返回S0后都將執行動作“產生G正常結束事件”,并記錄下這兩條轉換的弧。每次重新回到S0都認為完成了目標G的一次執行。
在圖6-21b中考慮了存在目標循環的情況,即[](*G0,G1),需要記錄的弧也在圖中進行了反映,在后面介紹的關系中所涉及到的循環情況與此類似。選擇關系允許在一個層次下有多個目標同時存在,如[](G0,G1,……,Gn)。
人機交互技術編寫組87選擇”關系狀態網絡圖6-21a“選擇”關系狀態網絡G1正常結束事件G0正常結束事件外部事件1外部事件0S1S2S0產生G正常結束事件產生G正常結束事件人機交互技術編寫組88選擇”關系狀態網絡-考慮了存在目標循環的情況
圖6-21b帶循環的“選擇”關系狀態圖產生G正常結束事件G0正
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自由落體運動與豎直上拋運動解題方法及其解題技巧
- 2025年特種橡膠傳動帶項目可行性研究報告
- 寧夏吳忠三中學2025年初三下學期開學質檢英語試題含答案
- 浙江特殊教育職業學院《康復心理學》2023-2024學年第二學期期末試卷
- 蘭州資源環境職業技術大學《攝影技術實驗》2023-2024學年第二學期期末試卷
- 湖南應用技術學院《建筑設計二》2023-2024學年第二學期期末試卷
- 吉林省長春市汽車經濟技術開發區第六中學2024-2025學年高三第三次適應性測試物理試題試卷含解析
- 吉林省吉化一中2025屆3月高三月考物理試題含解析
- 山東師大附中2025年高三下學期第一次月考試題化學試題試卷含解析
- 云南彌勒市重點名校2025年初三5月月考(生物試題)試卷含解析
- 【MOOC】高級綜合英語-北京交通大學 中國大學慕課MOOC答案
- 2024年財務會計制度模版(4篇)
- 2022年河南省商丘市柘城縣實驗中學中考一模地理試題(原卷版)
- 辦公用品、易耗品供貨服務方案
- 《互聯網金融對居民消費的影響實證探究》14000字(論文)
- 《篆刻基礎》課件
- 養殖工人合同范本
- 拆除工程專項施工方案示范文本
- 汽車吊起重吊裝方案-(范本)
- 房地產售樓部營銷中心開放活動策劃方案
- 大學生心理健康與發展學習通超星期末考試答案章節答案2024年
評論
0/150
提交評論