版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章--人機(jī)交互界面表示模型與實(shí)現(xiàn)人機(jī)交互界面的表示模型與實(shí)現(xiàn)在界面設(shè)計(jì)的早期階段,研究建立一種用戶界面表示模型和形式化設(shè)計(jì)語(yǔ)言利用形式化的設(shè)計(jì)語(yǔ)言來(lái)分析和表達(dá)用戶任務(wù)以及用戶和系統(tǒng)之間的交互情況;使界面表示模型能方便地映射到實(shí)際的設(shè)計(jì)實(shí)現(xiàn)。
2主要內(nèi)容人機(jī)交互界面表示模型界面描述語(yǔ)言窗口系統(tǒng)用戶界面管理系統(tǒng)36.1人機(jī)交互界面表示模型三種模型:行為模型,主要從用戶和任務(wù)的角度考慮如何來(lái)描述人機(jī)交互界面,將詳細(xì)介紹GOMS,UAN及LOTOS模型。結(jié)構(gòu)模型,主要從系統(tǒng)的角度來(lái)表示人機(jī)交互界面。重點(diǎn)介紹狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(STN-StateTransitionNetwork)和產(chǎn)生式規(guī)則(ProductionRule)。46.1人機(jī)交互界面表示模型對(duì)象模型,是一種目前非常流行的面向?qū)ο蟮谋硎灸P?,它將人機(jī)交互活動(dòng)歸結(jié)為事件與對(duì)象的相互作用。模型轉(zhuǎn)換,界面的事件-行為表示模型與系統(tǒng)的結(jié)構(gòu)模型之間的轉(zhuǎn)換。表現(xiàn)模型,主要介紹人機(jī)界面表現(xiàn)的具體描述方法56.1.1行為模型分析人員獲取用戶需求后,結(jié)合領(lǐng)域?qū)<业囊庖?jiàn)和指導(dǎo),獲取系統(tǒng)中需要完成的任務(wù),對(duì)任務(wù)的主要因素進(jìn)行詳細(xì)地分析,如任務(wù)的層次、發(fā)生條件、完成的方法以及它們之間的關(guān)系等等。所有這些內(nèi)容,都是在行為模型中所要研究的。
66.1.1行為模型行為模型將在后面的具體系統(tǒng)設(shè)計(jì)中起著非常重要的指導(dǎo)作用下面從模型的基本原理、實(shí)例、局限性等方面介紹四種行為模型:目標(biāo)操作和選擇行為模型GOMS
時(shí)序關(guān)系說(shuō)明語(yǔ)言LOTOS用戶行為標(biāo)注UAN預(yù)測(cè)性的行為模型GUL,融合上面三個(gè)71.GOMS1983年由Card,Morgan和Newell提出的。通過(guò)目標(biāo)(Goal)、操作(Operator)、方法(Method)以及選擇規(guī)則(Selection)四個(gè)元素來(lái)描述用戶的行為。GOMS是在交互系統(tǒng)中用來(lái)分析建立用戶行為的模型。它采用“分而治之”的思想,將一個(gè)任務(wù)進(jìn)行多層次的細(xì)化。81.GOMS1.目標(biāo)Goals目標(biāo)就是用戶執(zhí)行任務(wù)最終想要得到的結(jié)果,它可以在不同的層次中進(jìn)行定義。高層次的目標(biāo)可定義為“編輯文章”,低層次的目標(biāo)可定義為“刪除字符”高層次的目標(biāo)可分解成若干低層次的目標(biāo)91.GOMS2.
操作Operators操作是任務(wù)分析到最低層時(shí)的行為,是用戶為了完成任務(wù)所必須執(zhí)行的基本動(dòng)作。雙擊鼠標(biāo),按Enter鍵操作不能再分解,在GOMS模型中是原子原子元素101.GOMS3.方法Methods方法是描述如何完成目標(biāo)的過(guò)程。一個(gè)方法本質(zhì)上來(lái)說(shuō)是內(nèi)部的算法,用來(lái)確定子目標(biāo)序列及完成目標(biāo)所需要的操作。111.GOMS3.方法Methods在Macintosh操作系統(tǒng)下關(guān)閉窗口的方法: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]121.GOMS4.選擇規(guī)則Selection選擇是用戶要遵守的判定規(guī)則,以確定在特定環(huán)境下所要使用的方法。當(dāng)有多個(gè)方法可供選擇時(shí),GOMS中并不認(rèn)為這是一個(gè)隨機(jī)的選擇,而是盡量預(yù)測(cè)會(huì)使用哪個(gè)方法,這需要根據(jù)特定用戶、系統(tǒng)的狀態(tài)、目標(biāo)的細(xì)節(jié)預(yù)測(cè)要選擇哪種方法。131.GOMS4.選擇Selection用戶Sam一般不用L7,在玩游戲時(shí)用:Rule1:UsetheCLOSE-METHODunlessanotherruleappliesRule2:IftheapplicationisGAME,useL7-METHOD另一個(gè)完整的實(shí)例如下:14GOMS實(shí)例Task:Editing任務(wù)EDITING的GOMS描述實(shí)例GOAL: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
15GOMS實(shí)例上面實(shí)例中可以看到,當(dāng)所有子目標(biāo)完成后,對(duì)應(yīng)的最高層的用戶目標(biāo)就得以實(shí)現(xiàn)了屬于同一目標(biāo)的字母表之間存在幾種關(guān)系:如順序關(guān)系,選擇關(guān)系16GOMS應(yīng)用作為一種人機(jī)交互界面表示的理論模型,GOMS是人機(jī)交互研究領(lǐng)域內(nèi)少有的幾個(gè)廣為人知的模型之一,并被稱為最成熟的工程典范,該模型在計(jì)算機(jī)系統(tǒng)的評(píng)估方面也有廣泛的應(yīng)用。17GOMS應(yīng)用GOMScansavemoney!美國(guó)公司NYNEX利用GOMS分析一套即將被采用的新的計(jì)算機(jī)系統(tǒng)的應(yīng)用效果,結(jié)果發(fā)現(xiàn)效果不理想,放棄了使用新系統(tǒng),為公司節(jié)約了數(shù)百萬(wàn)的資金。18GOMS的局限性GOMS沒(méi)有清楚的描述錯(cuò)誤處理的過(guò)程,一旦子目標(biāo)由于錯(cuò)誤而導(dǎo)致目標(biāo)無(wú)法正常實(shí)現(xiàn)而異常終止,系統(tǒng)將無(wú)法處理。這些錯(cuò)誤在GOMS模型中無(wú)法描述會(huì)假設(shè)用戶完全按一種正確的方式進(jìn)行人機(jī)交互,因此只針對(duì)那些不犯任何錯(cuò)誤的專家用戶。19GOMS的局限性GOMS對(duì)于任務(wù)之間的關(guān)系描述過(guò)于簡(jiǎn)單,只有順序和選擇.事實(shí)上任務(wù)之間的關(guān)系還有很多種(具體參見(jiàn)節(jié)中LOTOS的介紹),這限制了它的表示能力。另外選擇關(guān)系通過(guò)非形式化的附加規(guī)則描述,實(shí)現(xiàn)起來(lái)也比較困難。20GOMS的局限性GOMS把所有的任務(wù)都看作是面向操作目標(biāo)的,而忽略了一些任務(wù)所要解決的問(wèn)題本質(zhì)以及用戶間的個(gè)體差異,它的建立不是基于現(xiàn)有的認(rèn)知心理學(xué),故無(wú)法代表真正的認(rèn)知過(guò)程。GOMS的理論價(jià)值不容忽視,但需要對(duì)它進(jìn)行一定程度的擴(kuò)展,并結(jié)合其他的建模方式,以更好的應(yīng)用于人機(jī)交互領(lǐng)域212.LOTOS時(shí)序關(guān)系說(shuō)明語(yǔ)言LOTOS(LanguageOfTemporalOrderingSpecification)T.Bolognesi,H.Brinskma,"IntroductiontotheISOSpecificationLanguageLOTOS”,1987.222.LOTOS國(guó)際標(biāo)準(zhǔn)形式描述語(yǔ)言,適于描述具有并發(fā)、交互、反饋和不確定性等特點(diǎn)的并發(fā)(concurrent)系統(tǒng)中的行為。開(kāi)始作為一種描述網(wǎng)絡(luò)協(xié)議的語(yǔ)言,由于交互系統(tǒng)、特別是多通道交互系統(tǒng)有并發(fā)系統(tǒng)的特點(diǎn),因此成為用來(lái)描述交互系統(tǒng)的行為模型。23LOTOS基本思想系統(tǒng)的外部可見(jiàn)行為可以看作是由一個(gè)有時(shí)序關(guān)系的交互序列組成。系統(tǒng)由一系列進(jìn)程組成,進(jìn)程同環(huán)境之間通過(guò)稱為“關(guān)口”(gates)的交互點(diǎn)進(jìn)行交互。兩個(gè)以上的進(jìn)程在執(zhí)行同一個(gè)外部可見(jiàn)的行為時(shí)會(huì)發(fā)生交互操作,進(jìn)行數(shù)據(jù)交換、信息傳遞、協(xié)調(diào)同步等操作。24LOTOS基本思想進(jìn)程行為用“行為表達(dá)式”來(lái)描述,復(fù)雜的行為由簡(jiǎn)單的行為表達(dá)式通過(guò)表示時(shí)序關(guān)系的LOTOS算符組合而成。在將LOTOS思想用于人機(jī)交互的行為模型時(shí),用進(jìn)程之間的約束關(guān)系來(lái)描述交互子任務(wù)之間的關(guān)系。
25LOTOS算符T1|||T2(交替Interleaving)T1和T2兩個(gè)任務(wù)相互獨(dú)立執(zhí)行,可按任意順序執(zhí)行,但永遠(yuǎn)不會(huì)同步。
T1[]T2(選擇Choice)需要在T1,T2中選擇一個(gè)執(zhí)行,一旦選擇某一個(gè)后,必須執(zhí)行它直到結(jié)束,在這中間另一個(gè)再無(wú)執(zhí)行機(jī)會(huì)。任務(wù)如何來(lái)選擇沒(méi)有給出一定的形式化描述
26LOTOS算符T1|[a1,...,an]|T2(同步Synchronization)任務(wù)T1,T2必須在動(dòng)作(a1,……,an)處保持同步
T1[>T2(禁止Deactivation)一旦T2任務(wù)被執(zhí)行,T1便無(wú)效(不活動(dòng))
T1>>T2(允許Enabling)當(dāng)T1成功結(jié)束后才允許T2執(zhí)行
27LOTOS與GOMS的結(jié)合LOTOS模型很好的描述了任務(wù)之間的時(shí)序約束關(guān)系,這些時(shí)序約束關(guān)系能更好的描述GOMS中子目標(biāo)之間的關(guān)系。如果能將兩個(gè)表示模型結(jié)合起來(lái),用GOMS模型描述任務(wù)的分解過(guò)程,而用LOTOS給出子任務(wù)之間的約束關(guān)系,這樣就可以增加兩種表示模型的表示能力。
28LOTOS實(shí)例29中國(guó)象棋的LOTOS任務(wù)分解實(shí)例30結(jié)合GOMS和LOTOS的中國(guó)象棋程序的行為描述GOAL:中國(guó)象棋[>:GOAL:運(yùn)行|||:*GOAL:走棋ACTION:自動(dòng)記錄棋譜>>:GOAL:當(dāng)前方走>>:OPRATOR:拾取棋子OPRATOR:放置棋子GOAL:對(duì)弈方走>>OPRATOR:拾取棋子OPRATOR:放置棋子*GOAL:打譜[]:OPRATOR:加速OPRATOR:減速OPRATOR:暫停OPRATOR:恢復(fù)GOAL:退出31LOTOS總結(jié)LOTOS與GOMS結(jié)合,可以清楚地了解整個(gè)目標(biāo)層次及各目標(biāo)之間的約束關(guān)系。但與GOMS同樣存在無(wú)法描述目標(biāo)異常結(jié)束的缺陷,同時(shí)當(dāng)任務(wù)進(jìn)行選擇時(shí)用什么規(guī)則進(jìn)行選擇并為涉及。32LOTOS總結(jié)LOTOS最大的優(yōu)越性在于可以構(gòu)造一套現(xiàn)成的自動(dòng)化工具,利用這些工具,可自動(dòng)進(jìn)行錯(cuò)誤檢測(cè),但它過(guò)于形式化的記法比較晦澀難懂。GOMS和LOTOS的結(jié)合可以很好地描述人機(jī)交互的較高級(jí)的任務(wù),對(duì)于原子任務(wù)的形式化描述,上述模型并沒(méi)有給出一個(gè)比較清晰的描述,下面討論的UAN模型主要用于原子目標(biāo)的描述。
333.UAN
UANUserActionNotion用戶行為標(biāo)注UAN是一種簡(jiǎn)單的符號(hào)語(yǔ)言,主要描述用戶的行為序列及在執(zhí)行任務(wù)時(shí)所用的界面。
盡管UAN屬于一種行為模型,但作為一種任務(wù)描述語(yǔ)言,它又涉及一定程度的系統(tǒng)行為的描述,因而它兼有行為模型和結(jié)構(gòu)模型的一些特點(diǎn)。34UAN模型的基本思想預(yù)定義一些標(biāo)志符:用戶動(dòng)作標(biāo)志符:在UAN的表示模型中有一些常用的已經(jīng)預(yù)定義的符號(hào),用來(lái)表示常見(jiàn)的用戶界面的交互動(dòng)作條件標(biāo)志符:除了動(dòng)作的符號(hào),還包含表示條件及選擇的標(biāo)識(shí)符35UAN預(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],在某個(gè)圖形對(duì)象上移動(dòng)鼠標(biāo);£,按下鼠標(biāo);¢,釋放鼠標(biāo);!,使對(duì)象高亮顯示;-!,取消對(duì)象的高亮顯示Display,顯示圖形對(duì)象Erase,取消顯示對(duì)象。36UAN預(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í)行。
37UAN模型的基本思想有了上面定義的符號(hào),UAN采用一種表格結(jié)構(gòu)來(lái)表示任務(wù),表格構(gòu)成:任務(wù)(task):任務(wù)名稱(thenameoftask)用戶行為界面反饋界面狀態(tài)38UAN模型的基本思想界面被分解成一些類似層次結(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)確定。39UAN實(shí)例-單通道交互任務(wù):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)40UAN實(shí)例-多通道交互任務(wù):draganddropafiletotherecyclebin用戶行為界面反饋界面狀態(tài)2D鼠標(biāo)語(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,x2,y2)mouse_down(x,y)drag_icon(x,y)mouse_up(x,y)PronounceMove_to_recycle_bin41UAN總結(jié)UAN模型更接近于實(shí)現(xiàn),界面狀態(tài)和界面反饋用一般的程序語(yǔ)言描述,實(shí)現(xiàn)起來(lái)比較方便,當(dāng)然這種描述由于接近于程序語(yǔ)言,因此設(shè)計(jì)時(shí)需要一定的編程基礎(chǔ)UAN模型在精確刻畫(huà)各成分之間的各種平行和串行的時(shí)序關(guān)系方面尚顯不足,任務(wù)之間的時(shí)序關(guān)系沒(méi)有明確表示出來(lái),當(dāng)所描述的界面使用多種輸入設(shè)備和有若干可選交互路徑時(shí),比較繁瑣。42層次化的界面描述方法43G-U-L模型在結(jié)合了LOTOS后,整個(gè)行為模型變得更為完整,可以考慮將GOMS、UAN、LOTOS中模型結(jié)合為一個(gè)預(yù)測(cè)行為模型:G-U-L模型。G-U-L運(yùn)用GOMS原理為基礎(chǔ)進(jìn)行任務(wù)分解,建立基本的行為模型,原子操作由UAN模型描述,在此基礎(chǔ)上,運(yùn)用LOTOS算符來(lái)表示任務(wù)目標(biāo)之間的時(shí)序關(guān)系。44G-U-L模型在G-U-L模型中沒(méi)有加入規(guī)則,在表示目標(biāo)之間的關(guān)系中也未考慮同步。這主要考慮到規(guī)則的轉(zhuǎn)換要涉及到推理、建立知識(shí)庫(kù)等問(wèn)題,而同步的問(wèn)題的描述和轉(zhuǎn)換也非常的復(fù)雜,這會(huì)在工作的初期造成非常大的困難。454.任務(wù)模型任務(wù)模型表示法(ConcurrentTaskTreeNotation,CTT),是一種基于圖形符號(hào)的,采用層次的樹(shù)狀結(jié)構(gòu)來(lái)組織并表示任務(wù)模型的方法介紹任務(wù)模型中任務(wù)種類和暫態(tài)關(guān)系的含義及其圖形符號(hào):461)任務(wù)分析任務(wù)分析是一個(gè)以人們的行為為出發(fā)點(diǎn)的分析過(guò)程,它分析人們完成任務(wù)的方法:他們要做的事、要起作用的事和想要知道的事。任務(wù)分析一個(gè)重要方法是任務(wù)分解,即需要考察將一項(xiàng)任務(wù)分成若干子任務(wù)的途徑以及這些子任務(wù)執(zhí)行次序的方法471)任務(wù)分析任務(wù)分解使得任務(wù)的執(zhí)行過(guò)程層次化,即一個(gè)任務(wù)的執(zhí)行被委托給它下一層的子任務(wù)來(lái)完成這些子任務(wù)之間的關(guān)系及其執(zhí)行順序成為了解一個(gè)任務(wù)執(zhí)行過(guò)程的重點(diǎn)考慮一個(gè)用戶交互過(guò)程,對(duì)其進(jìn)行任務(wù)分析的目的和重點(diǎn)在于得到交互任務(wù)及其子任務(wù)的一個(gè)層次體系,以及一些描述子任務(wù)執(zhí)行的順序和條件的解決方案。481)任務(wù)分析這個(gè)方案必須能夠恰當(dāng)?shù)夭东@用戶的交互意圖,能夠如實(shí)地反映交互過(guò)程,并把它準(zhǔn)確地表達(dá)出來(lái)同時(shí)它不能曲解交互過(guò)程蘊(yùn)含的業(yè)務(wù)要求這樣一個(gè)層次體系以及方案就是一個(gè)任務(wù)模型表達(dá)越準(zhǔn)確,由任務(wù)模型生成的用戶界面越能夠貼近實(shí)際的交互需求,符合一般的交互習(xí)慣,同時(shí)不會(huì)改變業(yè)務(wù)規(guī)則492)任務(wù)種類抽象任務(wù)(AbstractTask)用戶任務(wù)(UserTask)交互任務(wù)(InteractionTask)系統(tǒng)任務(wù)(ApplicationTask)502)任務(wù)種類抽象任務(wù)(AbstractTask),代表一個(gè)復(fù)雜抽象的任務(wù),通常用來(lái)表示由其他種類的任務(wù)任意組合而成的任務(wù)用戶任務(wù)(UserTask),代表一個(gè)只能由用戶參與的任務(wù),通常用來(lái)表示和用戶感知或者認(rèn)知行為相關(guān)的任務(wù)。例如用戶閱讀系統(tǒng)的反饋的信息提示,決定下一步的操作512)任務(wù)種類交互任務(wù)(InteractionTask):代表執(zhí)行過(guò)程中需要用戶與系統(tǒng)進(jìn)行交互的任務(wù)。例如用戶在線注冊(cè)填寫(xiě)面板系統(tǒng)任務(wù)(ApplicationTask):代表由系統(tǒng)來(lái)執(zhí)行而不需要用戶參與交互的任務(wù)。例如,系統(tǒng)處理用戶提交的注冊(cè)信息,然后將處理結(jié)果顯示給用戶523)暫態(tài)關(guān)系符號(hào)在任務(wù)模型表示法定義了豐富的暫態(tài)關(guān)系,用以表示在執(zhí)行過(guò)程中任務(wù)之間的相互聯(lián)系和制約作用。這些關(guān)系都有相應(yīng)的圖形符號(hào):(1)Choice:t1[]t2[]…[]tn選一個(gè)且只能選一個(gè)執(zhí)行,且在執(zhí)行過(guò)程中,一旦選定了一個(gè)任務(wù)則其他任務(wù)將不能被執(zhí)行533)暫態(tài)關(guān)系符號(hào)(2)Concurrent(IndependentConcurrency):t1|||t2|||…|||tn任務(wù)可以并發(fā)的執(zhí)行,任務(wù)之間的執(zhí)行開(kāi)始和結(jié)束沒(méi)有任何的限制(3)帶信息交換的Concurrent:t1|[]|t2|[]|…|[]|tn任務(wù)可并發(fā)執(zhí)行,允許任務(wù)間進(jìn)行信息交換543)暫態(tài)關(guān)系符號(hào)(4)Disabling:t1[>t2一旦任務(wù)t2開(kāi)始執(zhí)行,則中斷并終止任務(wù)t1的執(zhí)行(5)Enabling:t1>>t2>>…>>tn必須按照順序執(zhí)行,ti+1只有在ti已經(jīng)執(zhí)行完成后才能開(kāi)始執(zhí)行553)暫態(tài)關(guān)系符號(hào)(6)帶信息交換的Enabling:t1[]>>t2[]>>…[]>>tn允許任務(wù)之間進(jìn)行信息交換(7)Independence:t1|=|t2任務(wù)可以按任意順序執(zhí)行,但當(dāng)一個(gè)開(kāi)始執(zhí)行后,另一個(gè)任務(wù)則不能開(kāi)始執(zhí)行,除非已經(jīng)開(kāi)始的任務(wù)執(zhí)行完成564)單用戶任務(wù)模型單用戶任務(wù)模型在CTT中表示為一棵樹(shù)用戶使用自動(dòng)取款機(jī)的任務(wù)模型574)單用戶任務(wù)模型每個(gè)節(jié)點(diǎn)代表一個(gè)任務(wù),任務(wù)可以被分解成更為具體的子任務(wù),并用該節(jié)點(diǎn)的子節(jié)點(diǎn)來(lái)表示。根節(jié)點(diǎn)代表的任務(wù)抽象層次最高,葉子節(jié)點(diǎn)代表的任務(wù)最為具體。584)單用戶任務(wù)模型擁有相同父節(jié)點(diǎn)的兄弟節(jié)點(diǎn)之間的關(guān)系由暫態(tài)關(guān)系符號(hào)來(lái)表示。暫態(tài)關(guān)系符號(hào)決定了兄弟任務(wù)在某個(gè)時(shí)刻的相互之間的制約關(guān)系,并且決定了這組任務(wù)所能有的執(zhí)行順序任務(wù)具有不同的種類,以區(qū)別不同任務(wù)執(zhí)行過(guò)程中參與的角色的不同,以及對(duì)交互要求的高低596.1.2結(jié)構(gòu)模型前面介紹了用任務(wù)分析或用戶行為的方法描述人機(jī)對(duì)話的過(guò)程本節(jié)主要介紹用結(jié)構(gòu)化的方法來(lái)描述人機(jī)交互的一般過(guò)程,簡(jiǎn)單介紹形式化語(yǔ)言的描述—產(chǎn)生式規(guī)則,這種結(jié)構(gòu)的方法從理論上可以引導(dǎo)界面設(shè)計(jì)者及界面工具的設(shè)計(jì)者進(jìn)行有效的設(shè)計(jì)重點(diǎn)討論狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)及其擴(kuò)展方式它是一種圖示化的結(jié)構(gòu)601.產(chǎn)生式規(guī)則產(chǎn)生式規(guī)則-ProductionRule是一種形式化語(yǔ)言,這種結(jié)構(gòu)的方法從理論上可以引導(dǎo)界面設(shè)計(jì)者及界面工具的設(shè)計(jì)者進(jìn)行有效的設(shè)計(jì)。
狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)-StateTransitNetwork用結(jié)構(gòu)化的方法來(lái)描述人機(jī)交互的一般過(guò)程,是一種圖示化的結(jié)構(gòu)611.產(chǎn)生式規(guī)則
產(chǎn)生式規(guī)則-ProductionRule,又稱為上下文無(wú)關(guān)文法,將人機(jī)交互對(duì)話看作是一種語(yǔ)言,運(yùn)用基于語(yǔ)法的方法來(lái)描述交互對(duì)話。產(chǎn)生式規(guī)則是一種形式化語(yǔ)言,這些規(guī)則可用于描述人機(jī)交互界面。621.產(chǎn)生式規(guī)則
產(chǎn)生式規(guī)則的一般形式是:ifconditionthenaction這些規(guī)則可以表示為不同的形式,如condition→
actioncondition:action631.產(chǎn)生式規(guī)則所有的規(guī)則都是有效的,并且系統(tǒng)不斷用它來(lái)檢測(cè)用戶的輸入是否與這些條件相匹配。若匹配則激活相應(yīng)的動(dòng)作,這些動(dòng)作可以是執(zhí)行應(yīng)用程序的一個(gè)過(guò)程,也可以是直接改變某些系統(tǒng)狀態(tài)的值。641.產(chǎn)生式規(guī)則一般來(lái)說(shuō),組成界面描述的產(chǎn)生式規(guī)則很多,規(guī)則定義的順序并不重要,只要與規(guī)則中的條件相匹配,就可以激活相應(yīng)的動(dòng)作。產(chǎn)生式規(guī)則系統(tǒng)可以是事件引導(dǎo)的,也可以是狀態(tài)引導(dǎo)的,或者兩者都有。
651)事件引導(dǎo)的系統(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)生式集合,實(shí)現(xiàn)用戶在屏幕上繪直線
66事件的主要類型
用戶事件(userevent),Sel-line表示從菜單中選擇line命令,C-point和D-point表示用戶在繪圖平面上單擊和雙擊鼠標(biāo)
內(nèi)部事件,用于保持對(duì)話狀態(tài),如start-line表示開(kāi)始畫(huà)線后的狀態(tài),rest-line表示選擇了第一個(gè)點(diǎn)之后的狀態(tài)。
系統(tǒng)響應(yīng)事件,以尖括號(hào)表示可見(jiàn)或可聽(tīng)的系統(tǒng)響應(yīng),如<highlight'line'>,把菜單項(xiàng)'line'高亮度顯示,<drawline>表示在屏幕上顯示直線,<rubberbandon>表示橡皮筋繪制方式打開(kāi),<rubberbandoff>表示橡皮筋繪制方式關(guān)閉。
67產(chǎn)生式規(guī)則的解釋在上面的產(chǎn)生式規(guī)則中,第一條規(guī)則表示選擇畫(huà)線命令后,系統(tǒng)狀態(tài)進(jìn)入了開(kāi)始畫(huà)線狀態(tài),接著把'line'菜單項(xiàng)高亮度顯示;第二條規(guī)則表示,用戶在開(kāi)始畫(huà)線狀態(tài)時(shí),在繪圖區(qū)域單擊鼠標(biāo)則系統(tǒng)表示已定義了一個(gè)點(diǎn),此時(shí)橡皮筋繪圖方式打開(kāi);第三條規(guī)則表示在定義了一個(gè)(或多個(gè))點(diǎn)后,用戶單擊鼠標(biāo)可以連續(xù)地定義點(diǎn);第四條規(guī)則表示雙擊鼠標(biāo)則結(jié)束畫(huà)線的交互過(guò)程。
68事件引導(dǎo)的系統(tǒng)對(duì)話控制由一塊系統(tǒng)內(nèi)存專門(mén)存放一系列的事件,如果來(lái)自用戶的事件與系統(tǒng)內(nèi)存中的內(nèi)部事件合并后與某條產(chǎn)生式規(guī)則匹配,則激活該條規(guī)則保存內(nèi)部事件序列構(gòu)造一個(gè)對(duì)話控制器,主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配69對(duì)話控制對(duì)話控制主要負(fù)責(zé)事件的產(chǎn)生和規(guī)則的匹配,可以看到在每一時(shí)刻系統(tǒng)內(nèi)存中會(huì)保存一些內(nèi)部事件,當(dāng)產(chǎn)生一個(gè)事件時(shí),可能是用戶事件(如單擊鼠標(biāo)),也可能是內(nèi)部事件(如時(shí)鐘事件等)。70對(duì)話控制對(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)行分組和分層。
712)狀態(tài)引導(dǎo)的系統(tǒng)
狀態(tài)引導(dǎo)的系統(tǒng)在系統(tǒng)內(nèi)存保存的不再是動(dòng)態(tài)的隨時(shí)進(jìn)出的事件,而是一些表示系統(tǒng)的當(dāng)前狀態(tài)的屬性,這些屬性在不同的時(shí)刻有不同的值。72畫(huà)線操作在系統(tǒng)中的五個(gè)屬性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﹜73對(duì)象的狀態(tài)第一個(gè)特征Mouse有4個(gè)不同的狀態(tài)mouse--null(鼠標(biāo)空閑),select-line(選擇線命令),click-point(單擊鼠標(biāo)),double-click(雙擊鼠標(biāo))當(dāng)用戶對(duì)鼠標(biāo)進(jìn)行操作時(shí)Mouse自動(dòng)設(shè)置成相應(yīng)的狀態(tài);74對(duì)象的狀態(tài)第二個(gè)特征Line-state用于保持當(dāng)前會(huì)話的狀態(tài),分別是menu(可選命令狀態(tài)),start-line(開(kāi)始繪制線),rest-line(已經(jīng)定義點(diǎn));75對(duì)象的狀態(tài)后三個(gè)屬性用于控制系統(tǒng)響應(yīng)Rubber-band橡皮筋繪制的開(kāi)和關(guān)狀態(tài),Menu表示任何項(xiàng)也沒(méi)有選中(highlight-null)、選中繪直線命令(highlight-line)或選中繪圓命令(highlight-circle)
Draw表示什么也不畫(huà)狀態(tài)(draw-nothing)或畫(huà)直線狀態(tài)(draw-line)顯示控制器根據(jù)上面狀態(tài)做出相應(yīng)顯示控制76狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則(畫(huà)直線)Select-line→mouse-nullstart-linehighlight-lineClick-pointstart-line→mouse-nullrest-linerubber-band-onClick-pointrest-line→mouse-nulldraw-lineDouble-clickrest-line→mouse-nullmenudraw-linerubber-band-off77狀態(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)注78狀態(tài)引導(dǎo)的產(chǎn)生式規(guī)則的特點(diǎn)例如,在第二條規(guī)則中,規(guī)則指定“Line-state”屬性應(yīng)設(shè)置成“rest-line”,因?yàn)樵瓉?lái)的“start-line”值將丟失而在第三條規(guī)則中,沒(méi)有提及"rest-line"值,因?yàn)樗涯J(rèn),"Line-state"屬性的值繼續(xù)保留為"rest-line"。
79狀態(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í)行下去。803)混合引導(dǎo)系統(tǒng)
有的對(duì)話過(guò)程比較適合于事件引導(dǎo)方式,有的對(duì)話過(guò)程適合于狀態(tài)引導(dǎo)方式,當(dāng)然也可以將兩者結(jié)合起來(lái),例如采用下面的形式:
event:condition→action813)混合引導(dǎo)系統(tǒng)
描述一個(gè)產(chǎn)生式規(guī)則,事件用來(lái)計(jì)劃產(chǎn)生式規(guī)則,如果條件不滿足,即當(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ī)則。
82文本樣式
混合的事件/狀態(tài)產(chǎn)生式系統(tǒng)
Bold:﹛off,on﹜
Italic:﹛off,on﹜Underline:﹛off,on﹜
圖6-2粗體/斜體/下劃線對(duì)話框根據(jù)用戶點(diǎn)擊鼠標(biāo)的位置不同,可能產(chǎn)生三個(gè)事件:select-bold,select-italic,select-under,該對(duì)話過(guò)程有下面六個(gè)產(chǎn)生式規(guī)則定義。
83混合的事件/狀態(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=off84產(chǎn)生式規(guī)則總結(jié)如果有n個(gè)轉(zhuǎn)換開(kāi)關(guān),則會(huì)產(chǎn)生2n個(gè)規(guī)則產(chǎn)生式規(guī)則比較適合于描述并發(fā)的操作,而對(duì)于順序的對(duì)話就不太適合852.狀態(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)。862.狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)這里介紹兩種最基本的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò):傳統(tǒng)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)(StateDiagrams)擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò)(StateCharts)后者是前者的一個(gè)擴(kuò)展
871)傳統(tǒng)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)的主要組成部分是狀態(tài),以及代表狀態(tài)改變和轉(zhuǎn)換的箭頭,狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)實(shí)際上是一個(gè)有向圖,圖的節(jié)點(diǎn)代表狀態(tài),圖中的有向邊轉(zhuǎn)換代表一個(gè)狀態(tài)到另一個(gè)狀態(tài)的狀態(tài)可以定義為在給定時(shí)間、方法和行為的情況下,與用戶環(huán)境相關(guān)的一組環(huán)境變量或?qū)傩约?81)傳統(tǒng)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)則用于圖形化地顯示狀態(tài)以及任何時(shí)刻在狀態(tài)之間發(fā)生的交互源狀態(tài)目標(biāo)狀態(tài)轉(zhuǎn)換891)傳統(tǒng)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)當(dāng)發(fā)生一個(gè)外部或內(nèi)部事件時(shí),系統(tǒng)就會(huì)從一個(gè)狀態(tài)轉(zhuǎn)換到另外一個(gè)狀態(tài),這稱為狀態(tài)轉(zhuǎn)換。外部事件主要由用戶操作外部輸入設(shè)備來(lái)產(chǎn)生,內(nèi)部事件可以是系統(tǒng)產(chǎn)生的事件,如時(shí)鐘事件,也可以是為了改變系統(tǒng)的狀態(tài)和行為而產(chǎn)生的事件,如當(dāng)一個(gè)任務(wù)完成后可以激活另一個(gè)任務(wù)等。90一個(gè)狀態(tài)轉(zhuǎn)換與一對(duì)狀態(tài)相關(guān)聯(lián)。一般的系統(tǒng)具有很多個(gè)狀態(tài),假設(shè)系統(tǒng)由n個(gè)狀態(tài)組成,狀態(tài)之間的轉(zhuǎn)換最多可能有n*(n-1)個(gè)。91帶條件的狀態(tài)轉(zhuǎn)換源狀態(tài)目標(biāo)狀態(tài)條件動(dòng)作92帶條件的狀態(tài)轉(zhuǎn)換
T2[C2]T1[C1]SE1E2S+C1S+C2E1E2T1T293帶條件的狀態(tài)轉(zhuǎn)換實(shí)例(基于鼠標(biāo)的畫(huà)圖工具)drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)highlight‘circle’選擇‘circle’Circle1MenuFinishCircle2drawline雙擊rubberband單擊在第一點(diǎn)highlight‘line’選擇‘line’Line1FinishLine294基于鼠標(biāo)畫(huà)圖工具狀態(tài)轉(zhuǎn)換網(wǎng)95帶條件的狀態(tài)轉(zhuǎn)換實(shí)例(基于鼠標(biāo)的畫(huà)圖工具)圖中是一個(gè)基于鼠標(biāo)畫(huà)圖工具,圖中涉及到了狀態(tài)、轉(zhuǎn)換、條件、動(dòng)作等元素。它有一個(gè)菜單(有兩個(gè)選項(xiàng)“circle”和“l(fā)ine”)和一個(gè)繪圖平面。若選擇“circle”則要求你確定兩個(gè)點(diǎn):第一個(gè)點(diǎn)是圓心,第二個(gè)點(diǎn)表示圓周上的任意一點(diǎn)。第一個(gè)點(diǎn)確定后,系統(tǒng)就在圓心和當(dāng)前鼠標(biāo)位置之間畫(huà)一條“橡皮圈”線,第二個(gè)點(diǎn)確定后就畫(huà)出了一個(gè)圓。96傳統(tǒng)狀態(tài)轉(zhuǎn)換模型狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)比相應(yīng)的文本解決方案更易于設(shè)計(jì)、理解、修改和文檔化,它給出了對(duì)行為的精確的、甚至是格式化的定義。97傳統(tǒng)狀態(tài)轉(zhuǎn)換模型存在著一定的局限性,一個(gè)最大的缺陷是需要定義出系統(tǒng)的所有狀態(tài),這對(duì)于小型的系統(tǒng)是沒(méi)有問(wèn)題的,但是在一個(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)用。98傳統(tǒng)狀態(tài)轉(zhuǎn)換模型為了解決狀態(tài)爆炸的問(wèn)題,可以采用面向?qū)ο蠓椒▉?lái)為每個(gè)類定義單獨(dú)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。每個(gè)類都有一個(gè)簡(jiǎn)單的、易于理解的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò),這種方法很好地消除了狀態(tài)級(jí)數(shù)爆炸的問(wèn)題992)擴(kuò)展?fàn)顟B(tài)轉(zhuǎn)換網(wǎng)絡(luò)
(1)層次狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)層次元素的使用不改變對(duì)話基本描述法功能,但它卻能簡(jiǎn)單地說(shuō)明一個(gè)大的復(fù)雜的系統(tǒng),從最高級(jí)的主菜單到擊鍵或擊鼠標(biāo)這樣的小動(dòng)作100分層的狀態(tài)圖實(shí)例101帶有幫助功能的狀態(tài)轉(zhuǎn)換按下HELP按鈕按下HELP按鈕從菜單出發(fā)drawcircle單擊在圓周上rubberband單擊在中心點(diǎn)Circle1FinishCircle2幫助子系統(tǒng)幫助子系統(tǒng)描述并發(fā)任務(wù)?102狀態(tài)轉(zhuǎn)換模型狀態(tài)的爆發(fā)式增長(zhǎng)問(wèn)題具有良好的描述串行和順序行為的能力,并發(fā)及其他行為的描述能力差雖然是一個(gè)結(jié)構(gòu)模型,但難以實(shí)現(xiàn)1036.1.3行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換一般來(lái)說(shuō)行為模型主要對(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ì)行為模型的理解。整體框架轉(zhuǎn)換算法1046.1.3行為模型和結(jié)構(gòu)模型的轉(zhuǎn)換
一般來(lái)說(shuō)行為模型主要對(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)化工作。
1051.基本的模型轉(zhuǎn)換整體框架
轉(zhuǎn)換算法
行為模型(G-U-L)
結(jié)構(gòu)模型StateChartsGOMSUANLOTOS約束規(guī)則用戶DomainExpertDesigner圖6-17模型轉(zhuǎn)換整體框架106模型轉(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)換工作。
107模型轉(zhuǎn)換整體框架
整個(gè)框架分為三個(gè)部分:用戶包含兩種用戶,領(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ì)者使用。
1082.轉(zhuǎn)換算法
1)基本思想2)基本步驟3)實(shí)例應(yīng)用1091)基本思想
采用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)換、事件和行為。1101)基本思想
在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ò)中。
1111)基本思想在產(chǎn)生的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中,有兩類事件起作用:一類是外部由用戶激活的事件,如“按下鼠標(biāo)”
事件、“點(diǎn)擊鍵盤(pán)”
事件等;另一類是內(nèi)部由目標(biāo)產(chǎn)生的內(nèi)部事件,這里只定義了“目標(biāo)正常結(jié)束”,表示目標(biāo)正常結(jié)束時(shí)產(chǎn)生的事件。1121)基本思想在進(jìn)行從G-U-L到狀態(tài)的轉(zhuǎn)換時(shí),這些事件只是形式上的一個(gè)定義,沒(méi)有具體的實(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)表示1131)基本思想而具體的事件還需要由狀態(tài)網(wǎng)絡(luò)進(jìn)行,系統(tǒng)實(shí)現(xiàn)時(shí)通過(guò)專門(mén)的事件管理器來(lái)定義和管理。
對(duì)G-U-L中的行為在轉(zhuǎn)換后就成為對(duì)應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中的一個(gè)行為。114圖6-18事件產(chǎn)生過(guò)程G產(chǎn)生“G正常結(jié)束”事件S0……F圖6-18中描述了一個(gè)目標(biāo)層次中產(chǎn)生事件的過(guò)程。1152)基本步驟對(duì)轉(zhuǎn)換后的數(shù)據(jù),存儲(chǔ)的是狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)中表示轉(zhuǎn)換的弧,如下圖所示:出發(fā)狀態(tài)目的狀態(tài)觸發(fā)事件父狀態(tài)行為1162)基本步驟其中的觸發(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)名1172)基本步驟轉(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ù)示意如下:1182)基本步驟main(){定義一個(gè)存儲(chǔ)弧的數(shù)組stn[]讀取G-U-L文件GOALG0<-GetSubGoal(null);//獲取在目標(biāo)Translate(G0,&stn);//調(diào)用轉(zhuǎn)換函數(shù)}1192)基本步驟(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ù)示意假如下: 1202)基本步驟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);} 1212)基本步驟(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,如圖所示:1222)基本步驟帶有循環(huán)屬性的目標(biāo)對(duì)應(yīng)的狀態(tài)轉(zhuǎn)換圖G正常結(jié)束事件外部事件SU123G-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)G。從初始狀態(tài)S0出發(fā),有兩條弧需要記錄,經(jīng)過(guò)“外部事件0”到S1的轉(zhuǎn)換及經(jīng)過(guò)“外部事件1”到S2的轉(zhuǎn)換,記錄格式如下:
124G-U-L中各種約束關(guān)系對(duì)應(yīng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)
[](選擇choice):S0S1外部事件0GNullS0S2外部事件1GNull125在狀態(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í)行。126在下圖中考慮了存在目標(biāo)循環(huán)的情況,即[](*G0,G1),需要記錄的弧也在圖中進(jìn)行了反映,在后面介紹的關(guān)系中所涉及到的循環(huán)情況與此類似。選擇關(guān)系允許在一個(gè)層次下有多個(gè)目標(biāo)同時(shí)存在,如[](G0,G1,……,Gn)。
127選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)圖6-21a“選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)G1正常結(jié)束事件G0正常結(jié)束事件外部事件1外部事件0S1S2S0產(chǎn)生G正常結(jié)束事件產(chǎn)生G正常結(jié)束事件128選擇”關(guān)系狀態(tài)網(wǎng)絡(luò)-考慮了存在目標(biāo)循環(huán)的情況
圖6-21b帶循環(huán)的“選擇”關(guān)系狀態(tài)圖產(chǎn)生G正常結(jié)束事件G0正常結(jié)束事件S0外部事件1外部事件0G1正常結(jié)束事件產(chǎn)生G正常結(jié)束事件S2S1外部事件2129>>(允許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ò)后如下圖所示。
130圖6-22允許”關(guān)系狀態(tài)網(wǎng)絡(luò)G1正常結(jié)束事件G0正常結(jié)束事件外部事件S1S2S0產(chǎn)生G正常結(jié)束事件131從狀態(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í)行。
132|||(交替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í)行。
133圖6-23“交替”關(guān)系狀態(tài)網(wǎng)絡(luò)G0正常結(jié)束事件S2G1正常結(jié)束事件G0正常結(jié)束事件外部事件0S0S3’S4S1產(chǎn)生G正常結(jié)束事件產(chǎn)生G正常結(jié)束事件G01常結(jié)束事件外部事件1134從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)存在。
135[>(禁止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)了。
136G0正常結(jié)束事件產(chǎn)生G正常結(jié)束事件G1正常結(jié)束事件外部事件0外部事件1S2S0F圖6-24“禁止”關(guān)系狀態(tài)網(wǎng)絡(luò)產(chǎn)生G正常結(jié)束事件S11373)實(shí)例應(yīng)用
根據(jù)上面的轉(zhuǎn)換算法,在圖中給出了中國(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è)圖類似,在這里沒(méi)有列出.138運(yùn)行正常結(jié)束事件外部事件1外部事件0退出正常結(jié)束事件S0S1S2F圖6-24a最高層目標(biāo)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)最高層目標(biāo)
139運(yùn)行
運(yùn)行
產(chǎn)生運(yùn)行正常結(jié)束事件產(chǎn)生運(yùn)行正常結(jié)束事件打譜正常結(jié)束事件打譜正常結(jié)束事件S02外部事件1打譜正常結(jié)束事件走棋正常結(jié)束事件外部事件0S00S03S04S01圖6-24b“運(yùn)行”目標(biāo)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)140走棋
圖6-24c“走棋”目標(biāo)狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)走棋
對(duì)弈方走正常結(jié)束事件產(chǎn)生走棋正常結(jié)束事件當(dāng)前方走正常結(jié)束事件外部事件S001S002S0001416.1人機(jī)交互界面表示模型
6.1.4表現(xiàn)模型表現(xiàn)模型(PM)描述了用戶界面的表現(xiàn)形式,由層次性的交互對(duì)象組成。邏輯組織結(jié)構(gòu)面板內(nèi)部的事件分發(fā)及響應(yīng)方式面板間關(guān)系1421.邏輯組織結(jié)構(gòu)在一個(gè)填表用戶界面中,可以有很多面板,這些面板以鏈表的形式組織每個(gè)面板或是嵌套面板,或是包含很多界面元素,這就形成了森林的結(jié)構(gòu)。根:整個(gè)面板對(duì)象;中間節(jié)點(diǎn):嵌套的容器對(duì)象;葉:?jiǎn)挝唤缑嬖貙?duì)象143面板用戶界面的圖形顯示面板用戶界面的數(shù)據(jù)結(jié)構(gòu)表示面板用戶界面的繪制面板用戶界面的邏輯組織結(jié)構(gòu)1442.面板內(nèi)部的事件分發(fā)及響應(yīng)方式控制面板用戶界面交互的核心模塊可以看作是一個(gè)事件處理中心,事件處理中心接收并解析用戶動(dòng)作,然后將結(jié)果表現(xiàn)給用戶。145事件處理中心對(duì)事件的響應(yīng)的實(shí)現(xiàn)1463.面板間的關(guān)系JacobEisenstein創(chuàng)立了兩種新的抽象描述來(lái)描述基于面板的用戶界面表現(xiàn)模型。147面板關(guān)系分類面板種類1486.2界面描述語(yǔ)言界面描述語(yǔ)言一般分為兩類:命令式語(yǔ)言(ImperativeLanguage)陳述式語(yǔ)言(DeclarativeLanguage)。1496.2界面描述語(yǔ)言命令式語(yǔ)言要求編程人員明確的指定如何執(zhí)行任務(wù)陳述性語(yǔ)言要求編程人員只需指定任務(wù)要做什么陳述性語(yǔ)言要比命令式的語(yǔ)言更為抽象。下面介紹幾種常見(jiàn)的陳述性語(yǔ)言。1501.用戶界面標(biāo)記語(yǔ)言(UIML)語(yǔ)言的基本表示結(jié)構(gòu)1512.擴(kuò)展界面標(biāo)記語(yǔ)言(XIML)XIML由組件(Components)、關(guān)系(Relations)和屬性(Attributes)三部分構(gòu)成。152XIML語(yǔ)言的基本表示結(jié)構(gòu)1533.XML用戶界面語(yǔ)言XULXUL提供了創(chuàng)建現(xiàn)代圖形界面大多數(shù)元素的能力。能夠滿足特定設(shè)備的普遍需求,對(duì)開(kāi)發(fā)者來(lái)說(shuō),也已經(jīng)足夠強(qiáng)大,能夠創(chuàng)建復(fù)雜的界面。1546.3窗口系統(tǒng)
6.3.1窗口系統(tǒng)結(jié)構(gòu)窗口系統(tǒng)一般有三種結(jié)構(gòu):在各個(gè)應(yīng)用程序內(nèi)部實(shí)現(xiàn)和管理多任務(wù)在操作系統(tǒng)核心集中處理多任務(wù)管理多任務(wù)的管理可由獨(dú)立的管理程序進(jìn)行管理,應(yīng)用程序通過(guò)調(diào)用該管理程序提供的接口來(lái)實(shí)現(xiàn)對(duì)多任務(wù)的管理和設(shè)備的獨(dú)立性操作1556.3.2交互事件處理應(yīng)用程序內(nèi)部事件處理循環(huán)1562.事件注冊(cè)方式系統(tǒng)為每一個(gè)應(yīng)用程序建立一個(gè)事件處理中心,事件處理中心負(fù)責(zé)事件的處理157事件注冊(cè)方式處理流程圖1586.3.3交互組件開(kāi)發(fā)包一般的窗口系統(tǒng),輸入和顯示是分離的,許多語(yǔ)言提供了用于開(kāi)發(fā)交互系統(tǒng)的開(kāi)發(fā)軟件包,交互系統(tǒng)開(kāi)發(fā)軟件包在支持窗口管理的基礎(chǔ)上增加了另一種抽象,它把輸入和輸出的行為結(jié)合起來(lái)。159按鈕交互對(duì)象行為1606.3.4交互框架交互系統(tǒng)在一般桌面應(yīng)用中,主要有兩種交互方式:桌面方式瀏覽器方式161桌面應(yīng)用框架162下拉菜單示例工具欄示例163樹(shù)形菜單示例164狀態(tài)欄示例165標(biāo)簽頁(yè)方式工作區(qū)示例1666.3.5MVC模式和基于Struts的實(shí)現(xiàn)
1.MVC模型MVC最初是在Smalltalk-80中被用來(lái)構(gòu)建用戶界面的,是目前廣泛流行的一種軟件設(shè)計(jì)模式。在J2EE應(yīng)用體系結(jié)構(gòu)中,MVC主要適用于交互式的Web應(yīng)用,尤其存在大量頁(yè)面及多次客戶訪問(wèn)及數(shù)據(jù)顯示167MVC模型1686.3.5MVC模式和基于Struts的實(shí)現(xiàn)
1.MVC模型MVC把一個(gè)應(yīng)用的輸入、處理、輸出流程按照模型(model)、視圖(View)和控制(Controller)的方式進(jìn)行分離,形成模型層、視圖層、控制層三個(gè)層次。視圖模型控制1691.MVC模型-視圖視圖代表用戶交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,也有可能為XHTML、XML和Applet一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,不包括在視圖上的業(yè)務(wù)流程的處理(交給模型處理)1701.MVC模型-視圖實(shí)例:一個(gè)訂單的視圖,只接受來(lái)自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型1711.MVC模型-模型模型負(fù)責(zé)業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心,包含完成任務(wù)所需的所有的行為和數(shù)據(jù)1721.MVC模型-控制器控制器將模型映射到界面中。用于處理用戶的輸入,每個(gè)界面一個(gè)控制器是一個(gè)接收用戶輸入、創(chuàng)建或修改適當(dāng)?shù)哪P蛯?duì)象并將修改在界面中體現(xiàn)出來(lái)的狀態(tài)機(jī)。也可以創(chuàng)建其他界面和控制器。決定那些界面和模型組件在某個(gè)給定的時(shí)刻應(yīng)該是活動(dòng)的,負(fù)責(zé)接收和處理用戶的輸入,來(lái)自用戶輸入的任何變化都被從控制器送到模型1731.MVC模型-優(yōu)點(diǎn)可以為一個(gè)模型在運(yùn)行時(shí)同時(shí)建立和使用多個(gè)視圖視圖與控制器的可接插性,允許更換視圖和控制器對(duì)象,而且可以根據(jù)需求動(dòng)態(tài)打開(kāi)或關(guān)閉、甚至在運(yùn)行期間進(jìn)行對(duì)象替換模型可移植性,因?yàn)槟P褪仟?dú)立于視圖的,可以把一個(gè)模型獨(dú)立地移植到新的平臺(tái)工作1741.MVC模型-缺點(diǎn)嚴(yán)格遵循MVC,使模型、視圖與控制器分離,會(huì)增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過(guò)多的更新操作,降低運(yùn)行效率視圖與控制器既相互分離但又過(guò)于緊密鏈接,視圖若沒(méi)有控制器的存在,其應(yīng)用是很有限的視圖對(duì)模型數(shù)據(jù)的低效率訪問(wèn)。依據(jù)模型接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)175Struts結(jié)構(gòu)Struts的體系結(jié)構(gòu)實(shí)現(xiàn)了MVC模式的概念,它將這些概念映射到Web應(yīng)用程序的組件和概念中176
Struts結(jié)構(gòu)177struts演示的基本構(gòu)架和數(shù)據(jù)流程178UIMS(UserInterfaceManagementSystems)支持用戶界面的表示、設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行、評(píng)估和維護(hù),能夠?yàn)橛脩籼峁┮恢碌娜藱C(jī)界面,以極其友好的方式與用戶進(jìn)行人機(jī)交互,并能使開(kāi)發(fā)者幾乎隨心所欲地使用此開(kāi)發(fā)工具進(jìn)行軟件開(kāi)發(fā)。6.4用戶界面管理系統(tǒng)UIMS1796.4用戶界面管理系統(tǒng)軟件包功能有限,開(kāi)發(fā)費(fèi)用高,對(duì)非程序員使用困難。比軟件包更高層次的是用戶界面管理系統(tǒng)(UIMS:UserInterfaceManagement)UIMS支持用戶界面的表示、設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行、評(píng)估和維護(hù),能夠?yàn)橛脩籼峁┮恢碌娜藱C(jī)界面,以極其友好的方式與用戶進(jìn)行人機(jī)交互,并能使開(kāi)發(fā)者幾乎隨心所欲使用開(kāi)發(fā)工具進(jìn)行軟件開(kāi)發(fā)1806.4用戶界面管理系統(tǒng)軟件包功能有限,開(kāi)發(fā)費(fèi)用高,對(duì)非程序員使用困難。比軟件包更高層次的是用戶界面管理系統(tǒng)(UIMS:UserInterfaceManagement)UIMS支持用戶界面的表示、設(shè)計(jì)、實(shí)現(xiàn)、執(zhí)行、評(píng)估和維護(hù),能夠?yàn)橛脩籼峁┮恢碌娜藱C(jī)界面,以極其友好的方式與用戶進(jìn)行人機(jī)交互,并能使開(kāi)發(fā)者幾乎隨心所欲使用開(kāi)發(fā)工具進(jìn)行軟件開(kāi)發(fā)1816.4.1對(duì)話獨(dú)立性對(duì)話的獨(dú)立性是人機(jī)交互研究領(lǐng)域的主要問(wèn)題,主要是強(qiáng)調(diào)業(yè)務(wù)(應(yīng)用程序的語(yǔ)義)與提供給用戶的界面的分離。對(duì)話的獨(dú)立性有許多優(yōu)點(diǎn):可移植性:應(yīng)用程序可用于不同的系統(tǒng)可重用性:對(duì)話獨(dú)立性界面的多樣性:同一應(yīng)用,不同
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:開(kāi)放式創(chuàng)新網(wǎng)絡(luò)中“數(shù)字悖論”現(xiàn)象研究:形成機(jī)理、作用機(jī)制和優(yōu)化路徑
- 2025年度企業(yè)臨時(shí)工培訓(xùn)與考核合同3篇
- 商場(chǎng)煙感報(bào)警系統(tǒng)采購(gòu)與安裝合同(二零二五年)2篇
- 2025年度個(gè)人生育保險(xiǎn)代繳服務(wù)合同范本4篇
- 2025版出臺(tái)二手房交易稅費(fèi)計(jì)算與申報(bào)合同3篇
- 二零二五年度餐廳轉(zhuǎn)讓合同范本(含會(huì)員卡及積分系統(tǒng))3篇
- 2025年度墓地轉(zhuǎn)賣及墓園墓碑石材更換合同4篇
- 2025年度新能源汽車研發(fā)借款合同范本發(fā)布
- 二零二五年度多功能鏟車租賃與技術(shù)支持合同3篇
- 二零二五年度農(nóng)業(yè)用電變壓器項(xiàng)目融資與風(fēng)險(xiǎn)管理合同
- 乳腺癌的綜合治療及進(jìn)展
- 【大學(xué)課件】基于BGP協(xié)議的IP黑名單分發(fā)系統(tǒng)
- 2025年八省聯(lián)考高考語(yǔ)文試題真題解讀及答案詳解課件
- 信息安全意識(shí)培訓(xùn)課件
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 美的MBS精益管理體系
- 中國(guó)高血壓防治指南(2024年修訂版)解讀課件
- 2024安全員知識(shí)考試題(全優(yōu))
- 法律訴訟及咨詢服務(wù) 投標(biāo)方案(技術(shù)標(biāo))
- 格式塔心理咨詢理論與實(shí)踐
- 英語(yǔ)六級(jí)詞匯(全)
評(píng)論
0/150
提交評(píng)論