人機交互 第6章 人機交互界面表示模型1_第1頁
人機交互 第6章 人機交互界面表示模型1_第2頁
人機交互 第6章 人機交互界面表示模型1_第3頁
人機交互 第6章 人機交互界面表示模型1_第4頁
人機交互 第6章 人機交互界面表示模型1_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

人機交互技術(shù)編寫組1第6章人機交互界面的表示模型

人機交互技術(shù)編寫組2目的在界面設(shè)計的早期階段,研究建立一種用戶界面表示模型利用形式化的設(shè)計語言來分析和表達用戶任務以及用戶和系統(tǒng)之間的交互情況;使界面表示模型能方便地映射到實際的設(shè)計實現(xiàn)。

人機交互技術(shù)編寫組3界面模型分類任務分解和分析能力模型(competencemodel)預測和描述用戶合法的交互行為序列行為模型(performancemodel)預測和描述用戶合法的交互行為序列描述用戶的目的結(jié)構(gòu)模型constructionalmodel系統(tǒng)組成模型人機交互技術(shù)編寫組4主要內(nèi)容三種模型:行為模型,主要從用戶和任務的角度考慮如何來描述人機交互界面,將詳細介紹GOMS,UAN及LOTOS模型。結(jié)構(gòu)模型,主要從系統(tǒng)的角度來表示人機交互界面。重點介紹狀態(tài)轉(zhuǎn)換網(wǎng)絡(STN-StateTransitionNetwork)和產(chǎn)生式規(guī)則(ProductionRule)。事件-對象模型,是一種目前非常流行的面向?qū)ο蟮谋硎灸P?,它將人機交互活動歸結(jié)為事件與對象的相互作用。如何由界面的行為表示模型轉(zhuǎn)換到系統(tǒng)的結(jié)構(gòu)模型。人機交互技術(shù)編寫組5參考材料1)ThePsychologyofHuman-ComputerInteractionbyS.K.Cardetal.2)Human-ComputerInteraction(2ndEdition)byAlanJ.Dix,etal.3)董士海等:《人機交互和多通道用戶界面》.科學出版社,1999.2.4)AComparisonofApproachesforSpecifyingMulti-ModalInteractiveSystems,byJoelleCoutazetal.人機交互技術(shù)編寫組66.1行為模型分析人員獲取用戶需求后,結(jié)合領(lǐng)域?qū)<业囊庖姾椭笇?,獲取系統(tǒng)中需要完成的任務,對任務的主要因素進行詳細地分析,如任務的層次、發(fā)生條件、完成的方法以及它們之間的關(guān)系等等。所有這些內(nèi)容,都是在行為模型中所要研究的。

人機交互技術(shù)編寫組76.1.1GOMS1983年由Card,Morgan和Newell提出的。通過目標

(Goal)、操作

(Operator)、方法

(Method)以及選擇規(guī)則

(Selection)四個元素來描述用戶的行為。GOMS是在交互系統(tǒng)中用來分析建立用戶行為的模型。它采用“分而治之”的思想,將一個任務進行多層次的細化。人機交互技術(shù)編寫組86.1.1GOMS1.目標Goals

目標就是用戶執(zhí)行任務最終想要得到的結(jié)果,它可以在不同的層次中進行定義。

2.

操作Operators

操作是任務分析到最低層時的行為,是用戶為了完成任務所必須執(zhí)行的基本動作。

人機交互技術(shù)編寫組96.1.1GOMS3.方法Methods

方法是描述如何完成目標的過程。一個方法本質(zhì)上來說是內(nèi)部的算法,用來確定子目標序列及完成目標所需要的操作。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]人機交互技術(shù)編寫組106.1.1GOMS4.選擇Selection選擇是用戶要遵守的判定規(guī)則,以確定在特定環(huán)境下所要使用的方法。當有多個方法可供選擇時,GOMS中并不認為這是一個隨機的選擇,而是盡量來預測會使用哪個方法,這需要根據(jù)特定用戶、系統(tǒng)的狀態(tài)、目標的細節(jié)來預測要選擇哪種方法。用戶Sam:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHOD人機交互技術(shù)編寫組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

人機交互技術(shù)編寫組12GOMS應用作為一種人機交互界面表示的理論模型,GOMS是人機交互研究領(lǐng)域內(nèi)少有的幾個廣為人知的模型之一,并被稱為最成熟的工程典范,該模型在計算機系統(tǒng)的評估方面也有廣泛的應用。GOMScansavemoney!美國電話公司NYNEX利用GOMS分析一套即將被采用的新的計算機系統(tǒng)的應用效果,結(jié)果發(fā)現(xiàn)效果不理想,放棄了使用新系統(tǒng),為公司節(jié)約了數(shù)百萬的資金。人機交互技術(shù)編寫組13GOMS的局限性GOMS沒有清楚的描述錯誤處理的過程,假設(shè)用戶完全按一種正確的方式進行人機交互,因此只針對那些不犯任何錯誤的專家用戶。GOMS對于任務之間的關(guān)系描述過于簡單,只有順序和選擇.事實上任務之間的關(guān)系還有很多種(具體參見6.1.2節(jié)中LOTOS的介紹),另外選擇關(guān)系通過非形式化的附加規(guī)則描述,實現(xiàn)起來也比較困難。GOMS把所有的任務都看作是面向操作目標的,而忽略了一些任務所要解決的問題本質(zhì)以及用戶間的個體差異,它的建立不是基于現(xiàn)有的認知心理學,無法代表真正的認知過程。

人機交互技術(shù)編寫組146.1.2LOTOSLOTOS-LanguageOfTemporalOrderingSpecification,T.Bolognesi,H.Brinskma,"IntroductiontotheISOSpecificationLanguageLOTOS”,1987.國際標準形式描述語言,適于描述具有并發(fā)、交互、反饋和不確定性等特點的并發(fā)(concurrent)系統(tǒng)中的行為。開始作為一種描述網(wǎng)絡協(xié)議的語言,由于交互系統(tǒng)、特別是多通道交互系統(tǒng)有并發(fā)系統(tǒng)的特點,因此成為用來描述交互系統(tǒng)的行為模型。人機交互技術(shù)編寫組15LOTOS基本思想系統(tǒng)的外部可見行為可以看作是由一個有時序關(guān)系的交互序列組成。系統(tǒng)由一系列進程組成,進程同環(huán)境之間通過稱為“關(guān)口”(gates)的交互點進行交互。兩個以上的進程在執(zhí)行同一個外部可見的行為時會發(fā)生交互操作,進行數(shù)據(jù)交換、信息傳遞、協(xié)調(diào)同步等操作。進程行為用“行為表達式”來描述,復雜的行為由簡單的行為表達式通過表示時序關(guān)系的LOTOS算符組合而成。在將LOTOS思想用于人機交互的行為模型時,用進程之間的約束關(guān)系來描述交互子任務之間的關(guān)系。

人機交互技術(shù)編寫組16LOTOS算符T1|||T2(交替Interleaving)T1和T2兩個任務相互獨立執(zhí)行,可按任意順序執(zhí)行,但永遠不會同步。

T1[]T2(選擇Choice)需要在T1,T2中選擇一個執(zhí)行,一旦選擇某一個后,必須執(zhí)行它直到結(jié)束,在這中間另一個再無執(zhí)行機會。

T1|[a1,...,an]|T2(同步Synchronization)任務T1,T2必須在動作(a1,……,an)處保持同步

T1[>T2(禁止Deactivation)一旦T2任務被執(zhí)行,T1便無效(不活動)

T1>>T2(允許Enabling)當T1成功結(jié)束后才允許T2執(zhí)行

人機交互技術(shù)編寫組17LOTOS實例人機交互技術(shù)編寫組18中國象棋的LOTOS任務分解實例人機交互技術(shù)編寫組19LOTOS與GOMS的結(jié)合LOTOS模型很好的描述了任務之間的時序約束關(guān)系,這些時序約束關(guān)系能更好的描述GOMS中子目標之間的關(guān)系。用GOMS模型描述任務的分解過程,而用LOTOS給出子任務之間的約束關(guān)系,這樣就可以增加兩種表示模型的表示能力。

人機交互技術(shù)編寫組20結(jié)合GOMS和LOTOS的中國象棋程序的行為描述GOAL:中國象棋

[>:GOAL:運行

|||:*GOAL:走棋

ACTION:自動記錄棋譜

>>:GOAL:當前方走

>>:OPRATOR:拾取棋子

OPRATOR:放置棋子

GOAL:對弈方走>>OPRATOR:拾取棋子

OPRATOR:放置棋子*GOAL:打譜

[]:OPRATOR:加速

OPRATOR:減速

OPRATOR:暫停

OPRATOR:恢復

GOAL:退出人機交互技術(shù)編寫組21LOTOS總結(jié)LOTOS與GOMS結(jié)合,可以清楚地了解整個目標層次及各目標之間的約束關(guān)系。但與GOMS同樣存在無法描述目標異常結(jié)束的缺陷,同時當任務進行選擇時用什么規(guī)則進行選擇并為涉及。LOTOS最大的優(yōu)越性在于可以構(gòu)造一套現(xiàn)成的自動化工具,利用這些工具,可自動進行錯誤檢測,但它過于形式化的記法比較晦澀難懂。GOMS和LOTOS的結(jié)合可以很好地描述人機交互的較高級的任務,對于原子任務的形式化描述,上述模型并沒有給出一個比較清晰的描述,下面討論的UAN模型主要用于原子目標的描述。

人機交互技術(shù)編寫組226.1.3UAN

UANUserActionNotationUAN是一種簡單的符號語言,主要描述用戶的行為序列以及在執(zhí)行任務時所用的界面物理對象。

盡管UAN屬于一種行為模型,但作為一種任務描述語言,它又涉及一定程度的系統(tǒng)行為的描述,因而它兼有行為模型和結(jié)構(gòu)模型的一些特點。人機交互技術(shù)編寫組23UAN模型的基本思想預定義一些標志符:用戶動作標志符條件標志符采用一種表格結(jié)構(gòu)來表示任務界面被分解成一些類似層次結(jié)構(gòu)的異步任務,每個任務的實現(xiàn)都用表格來描述,用戶動作的關(guān)聯(lián)性和時序關(guān)系由表格的行列對齊關(guān)系和從上到下、從左到右的閱讀順序來確定。任務(task):任務名稱(thenameoftask)用戶行為界面反饋界面狀態(tài)人機交互技術(shù)編寫組24UAN預定義的動作標志符(部分)用戶動作標志符:move_mouse(x,y)移動鼠標至(x,y)release_button(x,y)在(x,y)位置釋放鼠標按鈕;highlight(icon)使icon高亮顯示;de_highlight(icon)取消icon的高亮顯示。用戶動作標志符:~[X],在某個圖形對象上移動鼠標;£,按下鼠標;¢,釋放鼠標;!,使對象高亮顯示;-!,取消對象的高亮顯示Display,顯示圖形對象;Erase,取消顯示對象。人機交互技術(shù)編寫組25UAN預定義的條件標志符(部分)while(condition)TASK當條件condition為真時,循環(huán)執(zhí)行任務TASK;if(condition)thenTASK如果條件condition滿足,則執(zhí)行任務TASK;iterationA*orA+表示迭代操作;waiting表示等待,可以等待一個條件滿足,也可以等待任務中的一個操作執(zhí)行。人機交互技術(shù)編寫組26UAN實例-單通道交互任務:draganddropafiletotherecyclebin用戶行為界面反饋界面狀態(tài)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)人機交互技術(shù)編寫組27UAN實例-多通道交互任務:draganddropafiletotherecyclebin用戶行為界面反饋界面狀態(tài)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人機交互技術(shù)編寫組28UAN總結(jié)UAN模型更接近于實現(xiàn),界面狀態(tài)和界面反饋用一般的程序語言描述,實現(xiàn)起來比較方便,當然這種描述由于接近于程序語言,因此設(shè)計時需要一定的編程基礎(chǔ)UAN模型在精確刻畫各成分之間的各種平行和串行的時序關(guān)系方面尚顯不足,任務之間的時序關(guān)系沒有明確表示出來,當所描述的界面使用多種輸入設(shè)備和有若干可選交互路徑時,比較繁瑣。

人機交互技術(shù)編寫組29層次化的界面描述方法人機交互技術(shù)編寫組30G-U-L模型可以考慮將GOMS、UAN、LOTOS中模型結(jié)合為一個預測行為模型:G-U-L模型。G-U-L運用GOMS原理為基礎(chǔ)進行任務分解,建立基本的行為模型,原子操作由UAN模型描述,在此基礎(chǔ)上,運用LOTOS算符來表示任務目標之間的時序關(guān)系。在G-U-L模型中沒有加入規(guī)則,在表示目標之間的關(guān)系中也未考慮同步。這主要考慮到規(guī)則的轉(zhuǎn)換要涉及到推理、建立知識庫等問題,而同步的問題的描述和轉(zhuǎn)換也非常的復雜,這會在工作的初期造成非常大的困難。人機交互技術(shù)編寫組316.2結(jié)構(gòu)模型

產(chǎn)生式規(guī)則-ProductionRule形式化語言的描述,這種結(jié)構(gòu)的方法從理論上可以引導界面設(shè)計者及界面工具的設(shè)計者進行有效的設(shè)計。

狀態(tài)轉(zhuǎn)換網(wǎng)絡-StateTransitNetwork用結(jié)構(gòu)化的方法來描述人機交互的一般過程,是一種圖示化的結(jié)構(gòu)人機交互技術(shù)編寫組326.2.1產(chǎn)生式規(guī)則

又稱為上下文無關(guān)文法,將人機交互對話看作是一種語言,運用基于語法的方法來描述交互對話。產(chǎn)生式規(guī)則是一種形式化語言,這些規(guī)則可用于描述人機交互界面。產(chǎn)生式規(guī)則的一般形式是:ifconditionthenaction這些規(guī)則可以表示為不同的形式,如condition→

actioncondition:action人機交互技術(shù)編寫組33產(chǎn)生式規(guī)則所有的規(guī)則都是有效的,并且系統(tǒng)不斷用它來檢測用戶的輸入是否與這些條件相匹配。若匹配則激活相應的動作,這些動作可以是執(zhí)行應用程序的一個過程,也可以是直接改變某些系統(tǒng)狀態(tài)的值。一般來說,組成界面描述的產(chǎn)生式規(guī)則很多,規(guī)則定義的順序并不重要,只要與規(guī)則中的條件相匹配,就可以激活相應的動作。產(chǎn)生式規(guī)則系統(tǒng)可以是事件引導的,也可以是狀態(tài)引導的,或者兩者都有。

人機交互技術(shù)編寫組341.事件引導的系統(tǒng)

Sel-line→start-line<highlight'line'>C-pointstart-line→rest-line<rubberbandon>C-pointrest-line→rest-line<drawline>D-pointrest-line→<drawline><rubberbandoff>產(chǎn)生式集合,實現(xiàn)用戶在屏幕上繪直線

人機交互技術(shù)編寫組35事件引導的系統(tǒng)保存內(nèi)部事件序列構(gòu)造一個對話控制器,主要負責事件的產(chǎn)生和規(guī)則的匹配規(guī)則的匹配算法影響系統(tǒng)的性能人機交互技術(shù)編寫組36事件的主要類型

用戶事件(userevent),Sel-line表示從菜單中選擇line命令,C-point和D-point表示用戶在繪圖平面上單擊和雙擊鼠標

內(nèi)部事件,用于保持對話狀態(tài),如start-line表示開始畫線后的狀態(tài),rest-line表示選擇了第一個點之后的狀態(tài)。

系統(tǒng)響應事件,以尖括號表示可見或可聽的系統(tǒng)響應,如<highlight'line'>,把菜單項'line'高亮度顯示,<drawline>表示在屏幕上顯示直線,<rubberbandon>表示橡皮筋繪制方式打開,<rubberbandoff>表示橡皮筋繪制方式關(guān)閉。

人機交互技術(shù)編寫組37產(chǎn)生式規(guī)則的解釋在上面的產(chǎn)生式規(guī)則中,第一條規(guī)則表示選擇畫線命令后,系統(tǒng)狀態(tài)進入了開始畫線狀態(tài),接著把'line'菜單項高亮度顯示;第二條規(guī)則表示,用戶在開始畫線狀態(tài)時,在繪圖區(qū)域單擊鼠標則系統(tǒng)表示已定義了一個點,此時橡皮筋繪圖方式打開;第三條規(guī)則表示在定義了一個(或多個)點后,用戶單擊鼠標可以連續(xù)地定義點;第四條規(guī)則表示雙擊鼠標則結(jié)束畫線的交互過程。

人機交互技術(shù)編寫組38對話控制對話控制主要負責事件的產(chǎn)生和規(guī)則的匹配,可以看到在每一時刻系統(tǒng)內(nèi)存中會保存一些內(nèi)部事件,當產(chǎn)生一個事件時,可能是用戶事件(如單擊鼠標),也可能是內(nèi)部事件(如時鐘事件等)。對話控制就要將所有的產(chǎn)生式規(guī)則與事件集合進行匹配,這個過程是復雜的而且是耗時的,當產(chǎn)生式很多并且產(chǎn)生式規(guī)則的條件復雜時,匹配算法的效率就顯的更為重要,因此需要設(shè)計好的數(shù)據(jù)結(jié)構(gòu)和匹配算法來提高匹配規(guī)則的效率??梢詫⒁?guī)則和事件進行分組和分層。

人機交互技術(shù)編寫組392.狀態(tài)引導的系統(tǒng)

狀態(tài)引導的系統(tǒng)在系統(tǒng)內(nèi)存保存的不再是動態(tài)的隨時進出的事件,而是一些表示系統(tǒng)的當前狀態(tài)的屬性,這些屬性在不同的時刻有不同的值。人機交互技術(shù)編寫組40畫線操作在系統(tǒng)中的五個屬性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﹜人機交互技術(shù)編寫組41對象的狀態(tài)Mouse有4個不同的狀態(tài)mouse--null(鼠標空閑),select-line(選擇線命令),click-point(單擊鼠標),double-click(雙擊鼠標),當用戶對鼠標進行操作時Mouse自動設(shè)置成相應的狀態(tài);Line-state用于保持當前會話的狀態(tài)分別是menu(可選命令狀態(tài)),start-line(開始繪制線),rest-line(已經(jīng)定義點);后三個屬性用于控制系統(tǒng)響應其中Rubber-band表示橡皮筋繪制的開和關(guān)狀態(tài),Menu表示任何項也沒有選中(highlight-null)、選中繪直線命令(highlight-line)或選中繪圓命令(highlight-circle),Draw表示什么也不畫狀態(tài)(draw-nothing)或畫直線狀態(tài)(draw-line),顯示控制器根據(jù)上面的狀態(tài)做出相應的顯示控制。人機交互技術(shù)編寫組42狀態(tài)引導的產(chǎn)生式規(guī)則(畫直線)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人機交互技術(shù)編寫組43狀態(tài)引導的產(chǎn)生式規(guī)則的特點當產(chǎn)生式規(guī)則的條件和狀態(tài)匹配時將激活該產(chǎn)生式規(guī)則,對于某一特定的屬性,如果前面的狀態(tài)需要改變成新的狀態(tài)時才需要在產(chǎn)生規(guī)則的后面標注,例如,在第二條規(guī)則中,規(guī)則指定

"Line-state"屬性應設(shè)置成"rest-line",因為原來的"start-line"值將丟失,而在第三條規(guī)則中,沒有提及"rest-line"值,因為它已默認,"Line-state"屬性的值繼續(xù)保留為

"rest-line"。

人機交互技術(shù)編寫組44狀態(tài)引導的產(chǎn)生式規(guī)則的特點屬性的永久特性有時會引起一些奇怪的錯誤,因此在上述的規(guī)則集中,每一條產(chǎn)生式規(guī)則都要求將鼠標的狀態(tài)設(shè)置為

"mouse-null",

否則,當用戶單擊了鼠標,激活了第二條規(guī)則,如果不立即將鼠標的屬性設(shè)置為"mouse-null",則會立即激活第三條規(guī)則,此時系統(tǒng)的狀態(tài)和第三條規(guī)則的條件是匹配的,并且會反復的一直執(zhí)行下去。人機交互技術(shù)編寫組453.混合引導系統(tǒng)

有的對話過程比較適合于事件引導方式,有的對話過程適合于狀態(tài)引導方式,當然也可以將兩者結(jié)合起來,例如采用下面的形式:

event:condition→action來描述一個產(chǎn)生式規(guī)則,事件用來計劃產(chǎn)生式規(guī)則,如果條件不滿足,即當前系統(tǒng)內(nèi)存中的狀態(tài)和產(chǎn)生式的規(guī)則不匹配,則無法激活規(guī)則,另外當狀態(tài)改變時,產(chǎn)生式規(guī)則中的action本身也可以產(chǎn)生新的事件,從而可以激活另一條規(guī)則。

人機交互技術(shù)編寫組46混合的事件/狀態(tài)產(chǎn)生式系統(tǒng)

Bold:﹛off,on﹜

Italic:﹛off,on﹜Underline:﹛off,on﹜

圖6-2粗體/斜體/下劃線對話框

文本樣式

根據(jù)用戶點擊鼠標的位置不同,可能產(chǎn)生三個事件:select-bold,select-italic,select-under,該對話過程有下面六個產(chǎn)生式規(guī)則定義。

人機交互技術(shù)編寫組47混合的事件/狀態(tài)產(chǎn)生式系統(tǒng)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人機交互技術(shù)編寫組48產(chǎn)生式規(guī)則總結(jié)描述操作時序能力強,并發(fā)順序均可無法描述誤操作界面復雜時,狀態(tài)、事件復雜,產(chǎn)生式過多,要求產(chǎn)生式匹配算法性能高人機交互技術(shù)編寫組496.2.2狀態(tài)轉(zhuǎn)換網(wǎng)絡狀態(tài)轉(zhuǎn)換網(wǎng)絡(STN)的基本思想是定義一個具有一定數(shù)量狀態(tài)的轉(zhuǎn)換機,稱之為有限狀態(tài)機-FiniteStateMachine(FSM)FSM從外部世界中接收到事件,并能使FSM從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)。這里介紹兩種最基本的狀態(tài)轉(zhuǎn)換網(wǎng)絡,狀態(tài)轉(zhuǎn)換網(wǎng)絡(StateDiagrams)和擴展狀態(tài)轉(zhuǎn)換網(wǎng)絡(StateCharts),后者是前者的一個擴展

人機交互技術(shù)編寫組501.傳統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡當發(fā)生一個外部或內(nèi)部事件時,系統(tǒng)就會從一個狀態(tài)轉(zhuǎn)換到另外一個狀態(tài),這稱為狀態(tài)轉(zhuǎn)換。外部事件主要由用戶操作外部輸入設(shè)備來產(chǎn)生,內(nèi)部事件可以是系統(tǒng)產(chǎn)生的事件,如時鐘事件,也可以是為了改變系統(tǒng)的狀態(tài)和行為而產(chǎn)生的事件,如當一個任務完成后可以激活另一個任務等。源狀態(tài)目標狀態(tài)轉(zhuǎn)換一個狀態(tài)轉(zhuǎn)換與一對狀態(tài)相關(guān)聯(lián)。一般的系統(tǒng)具有很多個狀態(tài),假設(shè)系統(tǒng)由n個狀態(tài)組成,狀態(tài)之間的轉(zhuǎn)換最多可能有n*(n-1)個。人機交互技術(shù)編寫組51帶條件的狀態(tài)轉(zhuǎn)換源狀態(tài)目標狀態(tài)條件動作人機交互技術(shù)編寫組52帶條件的狀態(tài)轉(zhuǎn)換

T2[C2]T1[C1]SE1E2S+C1S+C2E1E2T1T2人機交互技術(shù)編寫組53帶條件的狀態(tài)轉(zhuǎn)換實例(基于鼠標的畫圖工具)drawcircle單擊在圓周上rubberband單擊在中心點highlight‘circle’選擇‘circle’Circle1MenuFinishCircle2drawline雙擊rubberband單擊在第一點highlight‘line’選擇‘line’Line1FinishLine2人機交互技術(shù)編寫組54帶條件的狀態(tài)轉(zhuǎn)換實例(基于鼠標的畫圖工具)圖6-8中是一個基于鼠標畫圖工具,圖中涉及到了狀態(tài)、轉(zhuǎn)換、條件、動作等元素。它有一個菜單(有兩個選項“circle”和“l(fā)ine”)和一個繪圖平面。若選擇“circle”則要求你確定兩個點:第一個點是圓心,第二個點表示圓周上的任意一點。第一個點確定后,系統(tǒng)就在圓心和當前鼠標位置之間畫一條“橡皮圈”線,第二個點確定后就畫出了一個圓。人機交互技術(shù)編寫組55傳統(tǒng)狀態(tài)轉(zhuǎn)換模型狀態(tài)轉(zhuǎn)換網(wǎng)絡比相應的文本解決方案更易于設(shè)計、理解、修改和文檔化,它給出了對行為的精確的、甚至是格式化的定義。存在著一定的局限性,一個最大的缺陷是需要定義出系統(tǒng)的所有狀態(tài),這對于小型的系統(tǒng)是沒有問題的,但是在一個較大的系統(tǒng)中,系統(tǒng)會很快崩潰,狀態(tài)的數(shù)目是呈指數(shù)級增長的,同時狀態(tài)的增長直接導致了狀態(tài)轉(zhuǎn)換網(wǎng)絡過于復雜、無法實際應用。

人機交互技術(shù)編寫組562.擴展的狀態(tài)轉(zhuǎn)換網(wǎng)絡彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單

人機交互技術(shù)編寫組57帶有取消功能的狀態(tài)轉(zhuǎn)換圖彈出graphics子菜單選擇‘graphics’主菜單graphics子菜單彈出text子菜單選擇‘text’text子菜單彈出paint子菜單選擇‘paintpaint子菜單

ESC正常完成正常完成正常完成ESCESC人機交互技術(shù)編寫組58帶有幫助功能的狀態(tài)轉(zhuǎn)換按下HELP按鈕按下HELP按鈕從菜單出發(fā)drawcircle單擊在圓周上rubberband單擊在中心點Circle1FinishCircle2幫助子系統(tǒng)幫助子系統(tǒng)描述并發(fā)任務?人機交互技術(shù)編寫組59狀態(tài)轉(zhuǎn)換模型狀態(tài)的爆發(fā)式增長問題具有良好的描述串行和順序行為的能力,并發(fā)及其他行為的描述能力差雖然是一個結(jié)構(gòu)模型,但難以實現(xiàn)人機交互技術(shù)編寫組60人機交互的界面的基本原則對話的獨立性對話的獨立性指界面和系統(tǒng)的邏輯業(yè)務或數(shù)據(jù)模型不互相影響,彼此獨立,當交互完成后,再去調(diào)用業(yè)務模型的方法進行相應的業(yè)務處理。語義的反饋性語義反饋是指在人機交互過程中要實時反饋界面的狀態(tài)和用戶操作的細節(jié),以便用戶能比較清晰的了解當前操作的過程,“所見即所得”就是強調(diào)在操作過程中所看到的就是將來系統(tǒng)處理的結(jié)果,這是一種典型的語義反饋。

人機交互技術(shù)編寫組61軟件的四層體系結(jié)構(gòu)表示層邏輯對象層服務對象層存儲層人機交互技術(shù)編寫組62

6.3事件-對象(E-O)模型

事件-對象(Event-Object)模型,將人機交互活動歸結(jié)為事件與對象的相互作用。事件是人機交互活動中傳遞的信息,對象是交互活動中的對象;事件引發(fā)交互活動,對象是交互活動的承受者。這種模型同時強調(diào)事件和對象在人機交互中的重要性,模型以事件為驅(qū)動,以對象為核心,具有面向?qū)ο蟮娘L格。兼顧了對話獨立性原則和語義反饋的要求。人機交互技術(shù)編寫組63表示層對象1表示層對象2表示層對象n…控制者邏輯對象1邏輯對象2邏輯對象n…事件1事件2事件n事件1事件2事件nE-O模型系統(tǒng)結(jié)構(gòu)

人機交互技術(shù)編寫組641.事件的類型事件根據(jù)不同的來源可以分為兩種基本類型:實事件和虛事件。實事件是用戶通過各類交互輸入設(shè)備輸入而產(chǎn)生。根據(jù)現(xiàn)有交互設(shè)備,可以將實事件分為:鍵碼事件,由按鍵設(shè)備產(chǎn)生;定位事件,由指點設(shè)備產(chǎn)生;字符串事件,由鍵盤或語音識別器等產(chǎn)生。人機交互技術(shù)編寫組65事件的類型虛事件由用戶界面系統(tǒng)或應用程序產(chǎn)生并限于系統(tǒng)內(nèi)部流動的各類事件,其作用主要是協(xié)調(diào)系統(tǒng)的運行,虛事件可以分為:定時器事件,由系統(tǒng)按一定的時間間隔產(chǎn)生的事件、郵件事件,當有新的郵件收到時產(chǎn)生的事件,一般的異步事件也可以作為郵件事件來處理??臻e事件,也是一種內(nèi)部事件,表示系統(tǒng)空閑或再等待用戶輸入,空閑事件發(fā)生時,系統(tǒng)可以做一些屏幕更新等處理。人機交互技術(shù)編寫組662.事件的結(jié)構(gòu)

事件名(Name)類型(Type)來源(From)去向(To)產(chǎn)生時刻(Time)數(shù)據(jù)(Data)人機交互技術(shù)編寫組673.對象的類型根據(jù)交互任務類型的不同一般可歸納為三種基本對象類型:①抽象(概念)交互對象,如磁盤、文件等抽象的對象;②空間交互對象,表示空間中的物體的對象等,如三維場景和物體;③時間交互對象,表示與時間相關(guān)的對象,如視頻、音頻等對象。人機交互技術(shù)編寫組68對象的類型對象按功能分類,可分為:①通用對象,在不同的應用中共有的一些對象;②工具對象(WidgetObject),用作用戶界面中的各種交互技術(shù)(如按鈕等);③二維對象,用于二維用戶界面;④三維對象,用于三維用戶界面;⑤時變對象,適用于隨時間變化的動態(tài)對象,如在多媒體用戶界面中實現(xiàn)音頻、視頻等媒體的管理。人機交互技術(shù)編寫組69對象應該具有的特征①對象應以顯式的方式接受事件并對此做出響應;②能直接利用數(shù)據(jù)和方法封裝的思想實現(xiàn)對象的獨立;③一個對象可以發(fā)送消息給其他對象,對象之間的通信通過消息發(fā)送和接收來完成,對象的實現(xiàn)方法可采用結(jié)構(gòu)化方法和面向?qū)ο蟮姆椒ā?/p>

人機交互技術(shù)編寫組704.對象的結(jié)構(gòu)主要包括三部分:屬性集,包括對象ID、類型、風格(style)、位置(對于二維、三維情況)、顏色等;方法集:初始化方法:對象屬性的初始化;表現(xiàn)方法:提供常規(guī)的界面反饋和更新對象的外觀;響應方法:響應方法對用戶的終結(jié)控制動作(如選中菜單項)調(diào)用相應的應用語義函數(shù)(包括自身語義和連接語義)以做出響應,當對象之間存在關(guān)聯(lián)語義時,相應方法還負責和其他對象進行交互。消息集:包括一組可被對象識別的并激活其相應行為方法的消息,這些消息分流到上述三個方法中。人機交互技術(shù)編寫組715.對象的組織對象之間有不同的關(guān)系,可采用四種典型結(jié)構(gòu)來組織對象:集合,對象之間無約束關(guān)系;線性結(jié)構(gòu),對象之間有明確的順序關(guān)系,如各輸入字段、列表項等;層次結(jié)構(gòu),對象之間有層次關(guān)系,對象包含數(shù)個子對象,如菜單和菜單項;網(wǎng)狀結(jié)構(gòu),適用于比較復雜的CAD系統(tǒng),如CAD布線,現(xiàn)在Web中的導航菜單對象的組織也有采用網(wǎng)絡結(jié)構(gòu)。人機交互技術(shù)編寫組726.E-O模型總結(jié)E-O模型具有徹底的面向?qū)ο筇匦?,其中對象具有直接的面向?qū)ο蟮奶卣鳎ㄊ录?、設(shè)備的在內(nèi)的各種元素也被直接地映射為對象;同時,事件對象模型內(nèi)在的事件驅(qū)動機制也非常符合交互式軟件的需要。事件對象模型中事件結(jié)構(gòu)和對象結(jié)構(gòu)的通用性和開放性,可以支持從簡單得到復雜的各類用戶界面的實現(xiàn),有能力支持包括多媒體、多通道用戶界面和虛擬現(xiàn)實等新型人機交互技術(shù)的實現(xiàn),在下一章將給出E-O模型的軟件結(jié)構(gòu)和實現(xiàn)支持。人機交互技術(shù)編寫組73課堂練習1.寫出事件引導的畫線的產(chǎn)生式規(guī)則2.寫出狀態(tài)引導的畫線的產(chǎn)生式規(guī)則3.畫出基于菜單的畫圖工具的狀態(tài)轉(zhuǎn)換圖人機交互技術(shù)編寫組746.4行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換

一般來說行為模型主要對設(shè)計起指導作用,在此基礎(chǔ)上,設(shè)計人員再進行結(jié)構(gòu)模型(如狀態(tài)轉(zhuǎn)換網(wǎng)絡等)的創(chuàng)建,這個過程很大程度上取決于設(shè)計人員的經(jīng)驗和對行為模型的理解.本節(jié)主要介紹一種從行為模型到結(jié)構(gòu)模型的一種轉(zhuǎn)換思想和算法,以實現(xiàn)兩種模型間的自動的轉(zhuǎn)化工作。

人機交互技術(shù)編寫組756.4.1基本的模型轉(zhuǎn)換整體框架

轉(zhuǎn)換算法

行為模型(G-U-L)

結(jié)構(gòu)模型StateChartsGOMSUANLOTOS約束規(guī)則用戶DomainExpertDesigner圖6-17模型轉(zhuǎn)換整體框架人機交互技術(shù)編寫組76模型轉(zhuǎn)換整體框架

整個框架分為三個部分:行為模型使用G-U-L模型,在這一層將產(chǎn)生一個基本的預測性的行為模型。

結(jié)構(gòu)模型采用層次狀態(tài)轉(zhuǎn)換網(wǎng)絡,它涉及到的元素有狀態(tài)、轉(zhuǎn)換、事件、層次結(jié)構(gòu)。不考慮狀態(tài)轉(zhuǎn)換網(wǎng)絡在轉(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è)計者使用。

人機交互技術(shù)編寫組776.4.2轉(zhuǎn)換算法

1.基本思想

2.基本步驟

3.實例應用

人機交互技術(shù)編寫組781.基本思想

采用G-U-L以層次化結(jié)構(gòu)對任務進行建模,包括目標(包括循環(huán)屬性)、行為、關(guān)系。狀態(tài)轉(zhuǎn)換網(wǎng)絡表示的是狀態(tài)之間的轉(zhuǎn)換,也采用層次化表示,涉及到的主要是狀態(tài)、轉(zhuǎn)換、事件、行為。在G-U-L中體現(xiàn)的層次關(guān)系轉(zhuǎn)換到狀態(tài)轉(zhuǎn)換網(wǎng)絡中也體現(xiàn)出層次的關(guān)系,G-U-L中的每個目標都對應一個狀態(tài)轉(zhuǎn)換網(wǎng)絡。如果一個目標下層有子目標,對子目標來說,它所對應的狀態(tài)網(wǎng)絡應該嵌套在上層目標對應的狀態(tài)網(wǎng)絡中。

人機交互技術(shù)編寫組791.基本思想在產(chǎn)生的狀態(tài)轉(zhuǎn)換網(wǎng)絡中,有兩類事件起作用:一類是外部由用戶激活的事件,如“按下鼠標”

事件、“點擊鍵盤”

事件等;另一類是內(nèi)部由目標產(chǎn)生的內(nèi)部事件,這里只定義了“目標正常結(jié)束”,表示目標正常結(jié)束時產(chǎn)生的事件。在進行從G-U-L到狀態(tài)的轉(zhuǎn)換時,這些事件只是形式上的一個定義,沒有具體的實現(xiàn)過程,如要在某一層出現(xiàn)的第i個外部事件用“外部事件i”來代替,而由某個目標Ti執(zhí)行時產(chǎn)生的內(nèi)部事件也僅僅用類似于“Ti正常結(jié)束事件”來表示,而具體的事件還需要由狀態(tài)網(wǎng)絡進行,系統(tǒng)實現(xiàn)時通過專門的事件管理器來定義和管理。

對G-U-L中的行為在轉(zhuǎn)換后就成為對應的狀態(tài)轉(zhuǎn)換網(wǎng)絡中的一個行為。

人機交互技術(shù)編寫組80圖6-18事件產(chǎn)生過程G產(chǎn)生“G正常結(jié)束”事件S0……F圖6-18中描述了一個目標層次中產(chǎn)生事件的過程。人機交互技術(shù)編寫組812.基本步驟對轉(zhuǎn)換后的數(shù)據(jù),存儲的是狀態(tài)轉(zhuǎn)換網(wǎng)絡中表示轉(zhuǎn)換的弧,如下圖6-19所示:圖6-19狀態(tài)轉(zhuǎn)換網(wǎng)絡中弧的表示結(jié)構(gòu)

其中的觸發(fā)事件就是觸發(fā)從出發(fā)狀態(tài)到目的狀態(tài)轉(zhuǎn)換的事件;父狀態(tài)表示的是當前弧所在狀態(tài)網(wǎng)絡的上層狀態(tài),可以是一個抽象出來的狀態(tài)名;出發(fā)狀態(tài)目的狀態(tài)觸發(fā)事件父狀態(tài)行為人機交互技術(shù)編寫組822.基本步驟轉(zhuǎn)換基本步驟(1)讀取存儲G-U-L模型的數(shù)據(jù)文件,進行解析,定義一個數(shù)組stn用于存儲狀態(tài)網(wǎng)絡中的弧。獲取G-U-L模型中的最高目標,設(shè)為G0,然后調(diào)用(2)中的Translate函數(shù),在Translate執(zhí)行完畢后,stn中便存儲了轉(zhuǎn)換后的狀態(tài)網(wǎng)絡的數(shù)據(jù)。函數(shù)示意如下:main(){定義一個存儲弧的數(shù)組stn[]讀取G-U-L文件GOALG0<-GetSubGoal(null);//獲取在目標Translate(G0,&stn);//調(diào)用轉(zhuǎn)換函數(shù)}人機交互技術(shù)編寫組83(2)對當前的目標進行處理,如果是原子目標,參考原子目標的UAN模型,創(chuàng)建其狀態(tài)轉(zhuǎn)換網(wǎng)絡。否則,獲得目標層次下的數(shù)據(jù),包括行為、關(guān)系算符及子目標名。通過關(guān)系符號來調(diào)用(3)中相應的關(guān)系轉(zhuǎn)換函數(shù),對所有的子目標進行遞歸調(diào)用。函數(shù)示意假如下:Translate(目標

G,存儲數(shù)組

stn[]){獲得目標G的子目標subG[]switch(關(guān)系){case“[]”:選擇關(guān)系處理

case“>>”:允許關(guān)系處理

case“|||”:交替關(guān)系處理

case“[>”:禁止關(guān)系處理

}//對所有的子目標進行遞歸調(diào)用

for(intI;I<subG.length;I++)Translate(subG[I],stn);} 人機交互技術(shù)編寫組84(3)定義了G-U-L的各種關(guān)系向狀態(tài)網(wǎng)絡轉(zhuǎn)換的具體的實現(xiàn)函數(shù),實際上就是生成狀態(tài)網(wǎng)絡中的弧,并進行存儲。在各狀態(tài)網(wǎng)絡中都會有一個初始狀態(tài)S。在每個處理函數(shù)中,需要考慮目標具有循環(huán)屬性的情況,這在狀態(tài)轉(zhuǎn)換網(wǎng)絡中的體現(xiàn)是某個狀態(tài)通過一個事件激活以后能仍然返回到該狀態(tài)。如果要轉(zhuǎn)換到其他狀態(tài),還需要一個外部事件的作用。如對*G,如圖6-20所示。

圖6-20帶有循環(huán)屬性的目標對應的狀態(tài)轉(zhuǎn)換圖G正常結(jié)束事件外部事件SU人機交互技術(shù)編寫組85G-U-L中各種約束關(guān)系對應的狀態(tài)轉(zhuǎn)換網(wǎng)絡

[](選擇

choice):設(shè)目標G下的子目標關(guān)系為[](G0,G1),表示共有兩條路徑可以完成目標G。從初始狀態(tài)S0出發(fā),有兩條弧需要記錄,經(jīng)過“外部事件0”到S1的轉(zhuǎn)換及經(jīng)過“外部事件1”到S2的轉(zhuǎn)換,記錄格式如下:

S0S1外部事件0GNullS0S2外部事件1GNull人機交互技術(shù)編寫組86在狀態(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都認為完成了目標G的一次執(zhí)行。

在圖6-21b中考慮了存在目標循環(huán)的情況,即[](*G0,G1),需要記錄的弧也在圖中進行了反映,在后面介紹的關(guān)系中所涉及到的循環(huán)情況與此類似。選擇關(guān)系允許在一個層次下有多個目標同時存在,如[](G0,G1,……,Gn)。

人機交互技術(shù)編寫組87選擇”關(guān)系狀態(tài)網(wǎng)絡圖6-21a“選擇”關(guān)系狀態(tài)網(wǎng)絡G1正常結(jié)束事件G0正常結(jié)束事件外部事件1外部事件0S1S2S0產(chǎn)生G正常結(jié)束事件產(chǎn)生G正常結(jié)束事件人機交互技術(shù)編寫組88選擇”關(guān)系狀態(tài)網(wǎng)絡-考慮了存在目標循環(huán)的情況

圖6-21b帶循環(huán)的“選擇”關(guān)系狀態(tài)圖產(chǎn)生G正常結(jié)束事件G0正

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論