人機交互設(shè)備概述_第1頁
人機交互設(shè)備概述_第2頁
人機交互設(shè)備概述_第3頁
人機交互設(shè)備概述_第4頁
人機交互設(shè)備概述_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

人機交互設(shè)備概述1、總體概述(歷史、工作原理、產(chǎn)品)人機交互界面作為一個獨立的、重要的研究領(lǐng)域受到了世界各計算機廠家的關(guān)注。并成為90年代計算機行業(yè)的又一競爭領(lǐng)域。從計算機技術(shù)的發(fā)展過程來看,人機交互界面技術(shù)還引導(dǎo)了相關(guān)軟硬件技術(shù)的發(fā)展,是新一代計算機系統(tǒng)取得成功的保證。80年代已來,計算機的軟件和硬件技術(shù)取得了較大的發(fā)展,同時,計算機的使用者也從計算機專家迅速擴大到了廣大未受過專門訓(xùn)練的普通用戶,由此極大地提高了用戶界面在系統(tǒng)設(shè)計和軟件開發(fā)中的重要性,強烈地刺激了人機交互界面的進步。人-計算機的交互作用是通過用戶界面來實現(xiàn)的。與傳統(tǒng)人-機系統(tǒng)不同的是,人-計算機系統(tǒng)中的交互形式已成為用戶與計算機兩個“智能系統(tǒng)”之間的通訊和對話。在計算機技術(shù)發(fā)展的初期,由于系統(tǒng)的運行速度慢、價格昂貴并且可靠性差,不可能進行交互使用,用戶必須調(diào)整自己的行為去適應(yīng)機器的要求。因此,與計算機使用中的其它問題相比,界面只是一個小問題。隨著計算機性能的提高,系統(tǒng)能夠用一部分資源來處理人-計算機界面,用戶界面設(shè)計開始引起人們的注意。用戶界面的發(fā)展對計算機系統(tǒng)整體性能的提高所具有的重要性已經(jīng)得到了人們的高度重視,與此同時,圍繞人機建模業(yè)已形成了計算機產(chǎn)業(yè)又一新的競爭領(lǐng)域。在美國人機建模研究在信息技術(shù)中被列為與軟件和計算機并列的六項國家關(guān)鍵技術(shù)之一,并被認為“對于計算機工業(yè)有著突出的重要性,對其它工業(yè)也是很重要的”。美國國防關(guān)鍵技術(shù)計劃不僅把人機交互界面列為軟件技術(shù)發(fā)展的重要內(nèi)容之一,而且還專門增加了與軟件技術(shù)并列的人-系統(tǒng)界面一項內(nèi)容。日本也提出了FPIEND21計劃(FuturePersonalizedInformationEnviromentDevelop-ment),其目標就是要開發(fā)21世界的計算機界面。進入九十年代計算機軟件開發(fā)已進入了以開發(fā)軟件工具和建立軟件開發(fā)環(huán)境為目標的時代。作為支持人機交互軟件開發(fā)環(huán)境的用戶界面管理系統(tǒng)UIMS正日益受到人們的關(guān)注和重視。今后UIMS將有可能進入各類實際軟件開發(fā)環(huán)境,成為繼DBMS之后的又一個重要的軟件開發(fā)環(huán)境和工具。2、關(guān)鍵技術(shù)軟件界面是人-機之間的信息界面,從某種意義上講,它比硬件和工作環(huán)境更為重要。優(yōu)化軟件界面就是要合理設(shè)計和管理人-機對話的結(jié)構(gòu)。對話的結(jié)構(gòu)設(shè)計一般可分為初始設(shè)計、形式評價和總結(jié)評價三個階段。2.1人類工程學(xué)(1)人類工程學(xué)中人的特性人在系統(tǒng)中是主體,任何先進的機器都是由人設(shè)計的,由人操縱的,所以系統(tǒng)工作效率的優(yōu)劣、安全性,很大程度上決定于人的工作狀況。人類工程學(xué)中要研究人對外界信息的感知特性,人對信息的加工、處理及思維能力,人的學(xué)習、記憶特性,人的自身節(jié)率等等。1)人的感覺功能a.視覺人們通過視覺器官認識外界事物,由大腦產(chǎn)生正確的思考,視覺對勞動的產(chǎn)量、質(zhì)量及安全均有影響,還影響到勞動者的心理活動過程。b.聽覺人耳對聲音響度的感覺主要是和聲強有關(guān)。人接受聽覺信息要比接受視覺信息快。據(jù)測定,人的聽覺反應(yīng)時間約為120-150ms,較光信息快30-50ms。聽覺信號常用于報警。c.觸覺等人們通過觸覺器官接受物體的空間位置、形狀、表面情況和原材料等信息。2)人的信息處理及輸出特性a.人的反應(yīng)時間操作者在操縱、監(jiān)視設(shè)備時,從出現(xiàn)信號刺激到采取相應(yīng)動作,存在一個反應(yīng)時間。人體的運動系統(tǒng)反應(yīng)速度比較緩慢,神經(jīng)肌肉接頭的反應(yīng)延遲時間為0.1-0.2s.b.人的信息傳輸信息在神經(jīng)系統(tǒng)中的傳輸,是由不同的感覺通道,傳輸不同的信息,如視覺系統(tǒng)的單個神經(jīng)纖維能傳輸不同的顏色信息,信息的傳輸速率是一個重要的物理量。3)人機分工設(shè)計人機交互界面,進行人機分工時,要充分發(fā)揮人機的各自特點。可采用最大最小原則,即人承擔的工作量應(yīng)盡量少或最少,機器承擔的工作量應(yīng)最大,在最大限度利用機器的同時,充分發(fā)揮人的積極因素。人機結(jié)合并充分注意人的主導(dǎo)地位,將有效地保證系統(tǒng)的可靠性和壽命。(2)計算機輔助設(shè)計和計算機圖形學(xué)中的人的因素利用CAD技術(shù)并結(jié)合CAM技術(shù)可以大大縮短產(chǎn)品的設(shè)計-制造周期,CAD已經(jīng)成為制造業(yè)中求生存的一種主要手段。CAD中主要的人的因素問題有:CAD硬件中的圖形終端、輸入裝置和菜單設(shè)計,CAD系統(tǒng)中人的信息加工能力,如有關(guān)CAD顯示的視覺、CAD中的空間推理、CAD中的問題解決及運動反應(yīng)等過程;CAD系統(tǒng)中人機功能分配;CAD系統(tǒng)中的工作設(shè)計、人員選拔和訓(xùn)練等。(3)計算機輔助制造中的人的因素CAM可被廣義地認為是在制造業(yè)的管理、控制和運行中有效地應(yīng)用計算機的一項新技術(shù),其最終目標是要建成CIMS,它將是一項在21世紀最具競爭力的技術(shù)。認知工程學(xué)在CAM領(lǐng)域的主要研究內(nèi)容:自動化與工作分片、CAM中的人的決策和自動化制造中人的監(jiān)控。2.2人機界面設(shè)計原則(1)媒體最佳組合媒體界面的成功并不在于僅向用戶提供豐富的媒體,而應(yīng)在了解媒體的功能、選擇方法的基礎(chǔ)上,在相關(guān)理論的指導(dǎo)下,在語義層上將各種媒體有機地結(jié)合起來以更有效地傳遞信息。(2)界面分析與規(guī)范在人機界面設(shè)計中,首先應(yīng)進行界面設(shè)計分析,即收集有關(guān)用戶及其應(yīng)用環(huán)境信息以后,進行用戶特性分析,用戶任務(wù)分析,記錄用戶有關(guān)系統(tǒng)的概念、術(shù)語,這項工作可與應(yīng)用系統(tǒng)分析結(jié)合進行。分析任務(wù)中對界面設(shè)計要有界面規(guī)范說明,選擇界面設(shè)計類型,并確定設(shè)計的主要組成部分。由于人機界面是為適合人的需要而建立的,所以要清楚使用該界面用戶的類型,要了解用戶使用系統(tǒng)的頻率、用途及對用戶的綜合知識和智力的測試,這些均是用戶設(shè)計中的內(nèi)容。在此基礎(chǔ)上產(chǎn)生任務(wù)規(guī)范說明,進行任務(wù)設(shè)計。任務(wù)設(shè)計的目的在于重新組織任務(wù)規(guī)范說明以產(chǎn)生一個更有邏輯性的編排。設(shè)計應(yīng)精心地分別給出人與計算機的活動,使設(shè)計者較好地理解在設(shè)計一個界面時所遇到的問題,這樣形成系統(tǒng)操作手冊、訓(xùn)練文件和用戶指南的基礎(chǔ)。在考慮用戶工作方式及系統(tǒng)環(huán)境和支持等因素下,精心任務(wù)設(shè)計。任務(wù)確定之后,要決定界面類型。目前有多種人機界面設(shè)計類型,各有不同的品質(zhì)和性能,因此設(shè)計者要了解每種類型的優(yōu)點和限制。大多數(shù)界面使用一種以上的設(shè)計類型。下表列出了常用界面類型的優(yōu)缺點。表13.圖標:用圖像代表功能非常容易學(xué),易用(鼠標操作〕,語言獨立性強,編程較容易占具屏幕可觀的空間,表達抽象概念描述力差,需文字解釋,需圖形硬件和軟件支持初學(xué)者。有形成國際會話語言的趨勢4.表格填寫使用速度快、易用、容易掌握僅適合于數(shù)據(jù)輸入,不高級數(shù)據(jù)錄入中用得最廣泛的會話類型,用于顯示和恢復(fù)界面,編輯初始界面5.命令語言(單字命令到復(fù)雜語法的命令〕使用功能強,靈活,是界面可控制系統(tǒng)的高級方法,對屏幕空間使用十分經(jīng)濟學(xué)習困難(學(xué)習代碼和語言條款〕,用戶需要系統(tǒng)功能的某些知識,使用困難,研究該界面工作量大會使用復(fù)雜命令界面的熟練用戶,用戶發(fā)起和控制的對話6.自然語言自然的交流難于編程實現(xiàn),語言識別困難,會出現(xiàn)二義性,輸入慢在有限制的問題中使用,可用于用戶發(fā)出的會話2.3菜單屏幕設(shè)計的一些準則(1)按任務(wù)語義來組織菜單(單一菜單、線狀序列、樹狀結(jié)構(gòu)、非循環(huán)和循環(huán)的網(wǎng)絡(luò)結(jié)構(gòu)〕;(2)廣而淺的菜單樹優(yōu)先于窄而淺的菜單樹;(3)用圖形、數(shù)字或標題來顯示位置;(4)用選項名稱來作樹的標題;(5)根據(jù)含義將選項分組;(6)根據(jù)含義將選項排序;(7)選項力求簡短,以關(guān)鍵詞開始;(8)語法、布局、用詞前后一致;(9)允許超前鍵入、超前跳轉(zhuǎn)或其它捷徑;(10)允許跳轉(zhuǎn)到前層的菜單和主菜單;(11)考慮聯(lián)機求助、新穎選擇機制、響應(yīng)時間、顯示速率和屏幕尺寸。2.4錯誤處理在一個交互系統(tǒng)中,由于操作者的個人原因,經(jīng)常會產(chǎn)生誤操作,包括鍵入錯誤、數(shù)據(jù)輸入錯誤等。同樣,在用戶編制的程序或設(shè)備連接時也可能會有錯誤。一個好的交互系統(tǒng)不能要求操作者不犯錯誤,但應(yīng)該具有較強的處置各種錯誤的能力,除了在軟件設(shè)計時注意各種容錯機制、魯棒性技術(shù)及各種診斷措施以外,在計算機用戶界面上應(yīng)提供各種避免用戶操作錯誤的提示及各種錯誤信息的分析。(1)錯誤輸入1)數(shù)據(jù)錄入錯誤在各類數(shù)據(jù)處理軟件中,數(shù)據(jù)錄入的錯誤是經(jīng)常發(fā)生的薄弱環(huán)節(jié),為了減少用戶在錄入時的錯誤,應(yīng)采用一系列措施。a.對用戶輸入在屏幕上予以“回答”;b.對用戶在屏幕上的交互輸入,應(yīng)提供暫存文件以記錄全部輸入,以便全部數(shù)據(jù)輸入完后或臨時需要時進行檢查和確認;c.對用戶各種輸入應(yīng)提供檢查;d.對于數(shù)據(jù)庫中的重要數(shù)據(jù),必須進行嚴格的復(fù)查核對。2)控制輸入控制輸入的內(nèi)容與用戶界面的風格、控制方式有關(guān)。在有的菜單選項用戶界面上,往往提供一組編號菜單項,用戶輸入一個號碼后,立即可進入該號指定的項目。采用這種方法雖然可以減少按鍵,提供操作效率,但在誤按號碼后將會引起錯誤。a.對錯誤命令應(yīng)提供反饋信息,告訴用戶正確的命令格式及參數(shù);b.對文件操作的命令只對該文件的副本進行,以便在必要時仍可從文件的原稿中恢復(fù);c.對一些影響重大的命令需要由用戶再次確認;d.建立命令的歷史文件,這是對系統(tǒng)進行恢復(fù)的最有效措施,它對于不同開發(fā)階段的錯誤情況獲取都是有用的。3)其它錯誤在一個交互系統(tǒng)中,各個部分都可能出現(xiàn)錯誤,包括硬件錯誤和軟件錯誤。在設(shè)計系統(tǒng)時,應(yīng)允許采用不同廠商的設(shè)備,且設(shè)備不同也不應(yīng)引起錯誤,這就是設(shè)備的獨立性問題。4)錯誤信息如何向用戶提供確切的錯誤信息是系統(tǒng)設(shè)計中的一個重要問題。過去有許多用戶不愛使用某些系統(tǒng),并不是因為其功能太弱,而是因為遇到錯誤時提示用戶的信息太少。一個好的用戶界面,不僅應(yīng)該具有容錯、檢錯的能力,而且在錯誤出現(xiàn)后,應(yīng)讓用戶清楚了解其錯誤的性質(zhì)和位置,以便由用戶克服其錯誤,下面是有關(guān)錯誤信息的設(shè)計原則:a.盡可能使錯誤信息準確和定位;b.應(yīng)指明用戶針對這類錯誤應(yīng)如何做;c.語言應(yīng)簡潔、明確,盡可能用通俗易懂的詞匯;d.避免使用指責性語言,語氣盡可能友善,但應(yīng)給以告誡;e.對于錯誤信息應(yīng)該根據(jù)系統(tǒng)的實際情況進行分層提示;f.應(yīng)保持錯誤信息的風格一致,包括信息出現(xiàn)的位置,是否用對話框或窗口,術(shù)語及縮寫等;g.盡可能采用可視的圖形信息及音響效果。2.5人機界面設(shè)計的評價評價是人機界面設(shè)計的重要組成部分,但往往被設(shè)計者忽視。通常評價在最后產(chǎn)品上進行,但若在系統(tǒng)設(shè)計初期就進行,或?qū)υ瓦M行評價,就能及早發(fā)現(xiàn)設(shè)計缺陷,避免人力、物力的浪費。對界面設(shè)計的質(zhì)量評價通??捎盟捻椈疽蠛饬浚海?)界面設(shè)計是否有利于用戶目標的完成?(2)界面學(xué)習和使用是否容易?(3)界面使用效率如何?(4)設(shè)計的潛在問題有那些?而對界面的總體設(shè)計和具體功能塊設(shè)計,則可用上面提到的各類界面設(shè)計準則根據(jù)其應(yīng)用對象進行綜合測試。具體要求的界面品質(zhì),可照以下幾項參考:(1)適應(yīng)性。衡量界面在幫助用戶完成一項或多項任務(wù)時的滿意程度。(2)有效性。度量指標錯誤率、任務(wù)完成時間、系統(tǒng)各設(shè)備使用率等。(3)易學(xué)習性。從系統(tǒng)開始使用一段時間后,錯誤率下降的情況、完成任務(wù)時間減少的情況、正確調(diào)用設(shè)備及命令的情況以及用戶知識增加的情況來評測。(4)系統(tǒng)設(shè)備及功能使用面。若有些設(shè)備或功能任何用戶都未用過,則可能設(shè)計有誤。(5)用戶滿意程度。以用戶滿意程度、發(fā)現(xiàn)問題多少及使用興趣來衡量。界面評估采用的方法已由傳統(tǒng)的知覺經(jīng)驗的方法,逐漸轉(zhuǎn)為科學(xué)的系統(tǒng)的方法進行。傳統(tǒng)經(jīng)驗方法有如下幾種:(1)實驗方法。在確定了實驗總目標及所要驗證的假設(shè)條件后,設(shè)計最可靠的方法是隨機和重復(fù)測試。(2)監(jiān)測方法。即觀察用戶行為。觀察方法有多種,如直接監(jiān)測,錄像監(jiān)測,系統(tǒng)監(jiān)測等。(3)調(diào)查方法。這種方法可為評價提供重要數(shù)據(jù),在界面數(shù)據(jù)的任何階段均可使用。調(diào)查方法可以采用調(diào)查表(問卷〕或面談方式。調(diào)查收集到的大多是主觀數(shù)據(jù),主要了解用戶使用該界面的情況,對界面的態(tài)度和意見。3、相關(guān)產(chǎn)品.1X窗口系統(tǒng)窗口系統(tǒng)是控制位圖顯示設(shè)備與輸入設(shè)備的系統(tǒng)軟件。它所管理的資源有屏幕、窗口、象素映象(pixmap)、色彩表、字體、光標、圖形資源及輸入設(shè)備。窗口系統(tǒng)向用戶提供下列界面:1)應(yīng)用界面2)編程界面3)窗口管理界面美國國家標準技術(shù)委員會于1990年5月把窗口系統(tǒng)X.11.3版本正式發(fā)布為美國國家標準文件(編號為FIPS-PUB-158)。該標準共包括4個內(nèi)容:(1)X協(xié)議(Xprotocol)X窗口系統(tǒng)實際上由核心協(xié)議所定義。協(xié)議包括四個方面:請求(request)、回答(reply)、出錯(error)及事件(event)。X協(xié)議共有120個請求,可擴充至256個。整個協(xié)議描述客戶與服務(wù)器進程通訊的語法結(jié)構(gòu)與語義。(2〕X庫函數(shù)(Xlib)X庫函數(shù)是X窗口系統(tǒng)的C語言編程界面,是向應(yīng)用程序員提供的低級編程界面。X庫把參數(shù)封裝為協(xié)議請求,利用IPC機制發(fā)射給服務(wù)器進程。X庫共有320多個函數(shù),可分為系統(tǒng)功能(連接的建立與撤除等)、窗口功能(窗口屬性與操作)、通訊功能(圖原、通訊屬性、正文字體、區(qū)域、圖像等)、色彩功能(色彩表操作)、事件功能(輸入事件及窗口事件處理)及其它功能(原子、實用函數(shù))。(3)X工具箱本征函數(shù)(Xtoolkitintrinsics)X工具箱是在X庫上的高級編程界面。它向用戶提供菜單、對話框、圖符等各種圖形界面元素的編程手段。X工具箱包含兩部分:Widget集及Intrinsics函數(shù)集。前者是具有一定風格及外觀的圖形界面元素對象集,它與特定風格有關(guān);后者是利用這些對象編程時的通用函數(shù),共有270個函數(shù),包括界面函數(shù)與應(yīng)用程序聯(lián)系的“回調(diào)函數(shù)”等。(4)字體標準格式(BDF,BitmapDistributedFormat)這是X窗口系統(tǒng)所提供各種字體的標準位圖(bitmap)的組成規(guī)定。X窗口系統(tǒng)的一個重要設(shè)計思想是提供實現(xiàn)各種界面的機制,而不是策略。由于上述四部分只規(guī)定了應(yīng)用程序員的編程接口,因而不同廠商或用戶可在它們之上實現(xiàn)各種窗口管理程序及界面外觀。由此,X窗口系統(tǒng)成為工作站各用戶界面的基礎(chǔ)、事實上的工業(yè)標準。窗口是X窗口系統(tǒng)的一個重要資源,是屏幕上的一個矩形區(qū)域(透明窗口無此區(qū)域邊框〕。它實質(zhì)上是位圖輸出設(shè)備及輸入設(shè)備的一個抽象,有自己的坐標及感興趣的事件等。X窗口系統(tǒng)有一個根窗口覆蓋整個屏幕,應(yīng)用程序的窗口均為根窗口的子窗口。這樣所有窗口構(gòu)成了樹形結(jié)構(gòu),子窗口大小不能超出父窗口。X窗口系統(tǒng)中窗口的樹形結(jié)構(gòu)為應(yīng)用程序的多級抽象提供了清晰的概念。X窗口系統(tǒng)的運行環(huán)境應(yīng)該是在具有進程間通信機制的操作系統(tǒng)上工作,例如有TCP/IP(支持Socket機制〕網(wǎng)絡(luò)協(xié)議的UNIX操作系統(tǒng)上工作。此時,應(yīng)在后臺運行服務(wù)器進程(XServer)、窗口管理程序(uwm)及終端仿真程序(Xterm)。有以上三個進程,就可以在窗口系統(tǒng)下執(zhí)行各種命令,用鼠標或鍵盤管理窗口,運行各種應(yīng)用程序。X窗口提供了極強的顯示管理及輸入設(shè)備的管理功能,是工作站上CAD軟件及其用戶界面的主要支撐環(huán)境,已成為工作站窗口系統(tǒng)事實上的工業(yè)標準。X窗口系統(tǒng)也要求可觀的計算機資源。3.2OSF/Motif和OPENLOOKX窗口系統(tǒng)提供了一系列構(gòu)造用戶界面的機制,包含協(xié)議、庫函數(shù)、工具箱本征函數(shù)及字體格式等。但它并不提供某種具體的用戶界面風格。在X窗口系統(tǒng)之上已經(jīng)構(gòu)造了具有不同用戶界面風格的高級界面對象集,通常稱為WidgetSet。它們各有不同的視感(look&feel),其中對象可以包括窗口、菜單、對話框、按鈕、圖符、邊框等。一種風格的某種WidgetSet為用戶提供了一種外觀統(tǒng)一的圖形用戶界面,也為應(yīng)用程序員提供了面向?qū)ο蟮膽?yīng)用編程界面(API〕。OSF/Motif是由開放軟件基金會(OSF〕1989年發(fā)布的圖形用戶界面規(guī)范。它以UNIX操作系統(tǒng)用X窗口系統(tǒng)為軟件平臺,吸取了IBMOS/2的PresentationManager,MS-Dos及HPnewware界面風格的特點,提供了風格(style)、窗口管理、工具箱、用戶界面語言(UIL〕等一系列機制及規(guī)定。OSF/Motif已在多種硬件平臺及操作系統(tǒng)上工作。OPENLOOK是由UNIX國際1988年發(fā)布的圖形用戶界面規(guī)范,它已作為UNIX系統(tǒng)第四、第五版本發(fā)布的重要組成部分正式使用。它也在許多工作站上實現(xiàn)并推廣使用。3.3Windows1986年Microsoft公司為IBM個人計算機的DOS環(huán)境開放了Windows窗口系統(tǒng),后來經(jīng)過大量改進,于1990年正式發(fā)布了Windows3.0版本。由于該窗口系統(tǒng)在儲存管理上突破了原來DOS640KB的限制,從而具有強的功能,為在DOS環(huán)境提供了可實用的圖形用戶界面。MS-Windows的出現(xiàn),使得DOS環(huán)境下的大量CAD/CAM軟件有了十分強的窗口環(huán)境支持,從而使得CAD/CAM的用戶界面更加方便、一致。MS-Windows已成為在DOS環(huán)境圖形用戶界面的主要產(chǎn)品。Windows窗口系統(tǒng)是基于核心的窗口系統(tǒng)(Windows95,Windows98,WindowsNT),其核心功能放在操作系統(tǒng)內(nèi)。由于Windows窗口環(huán)境具有風格一致的操作界面,在Windows環(huán)境下開發(fā)的應(yīng)用軟件具有同樣的界面風格因而易學(xué)易用。這種通用的操作系統(tǒng)為界面各種對象的設(shè)計提供了過程化設(shè)計的平臺和工具箱,從而使界面設(shè)計實現(xiàn)容易。4、典型應(yīng)用(案例分析)4.1界面工具系統(tǒng)(FITOOL)開發(fā)與實現(xiàn)(1)研究背景:計算機用戶界面是計算機系統(tǒng)的重要組成部分,它直接關(guān)系到整個計算機系統(tǒng)的可使用性和效率。經(jīng)驗表明開發(fā)高質(zhì)量的用戶界面,需花費大量的人力物力,且開發(fā)周期較長。傳統(tǒng)的用戶界面的設(shè)計與描述是基于"嵌入"方式進行的,應(yīng)用程序設(shè)計人員在設(shè)計軟件時,是按功能及界面兩方面要求混合編寫用戶界面和應(yīng)用功能兩部分程序。這種開發(fā)方式忽略了用戶界面的個性,使程序復(fù)雜化,可維護性差。當前計算機軟件的開發(fā)已不再是將用戶界面和應(yīng)用功能兩部分混合編寫了。而是越來越傾向于二者分別編寫,單獨編譯,再連接成可執(zhí)行文件。這是因為對不同的應(yīng)用系統(tǒng),用戶界面部分在邏輯上和處理方法上具有高度的相似性。而讓軟件開發(fā)人員花費大量的時間與精力去開發(fā)一個很類似又不具有通用性的用戶界面程序顯然是不可取的。因此開發(fā)能夠用規(guī)范化和規(guī)模化生產(chǎn)的方法自動生成一致性的用戶界面的工具是用戶界面研究的內(nèi)容。用戶界面管理系統(tǒng)(UIMS)就是一種開發(fā)用戶界面的軟件工具。UIMS支持用戶界面的表示、設(shè)計、實現(xiàn)、原型、執(zhí)行、評估和維護。UIMS能夠為整個環(huán)境提供一個友好一致的人機界面,使用戶能以極其友好的方式幾乎能隨心所欲地使用此環(huán)境進行軟件開發(fā),即使得此環(huán)境具有友好的交互介質(zhì)、友好的界面方式、友好的屏幕式樣。(2)UIMS的表示方法:UIMS的表示方法主要包含人機界面的規(guī)格說明和它與人文因素、應(yīng)用程序及其數(shù)據(jù)結(jié)構(gòu)的聯(lián)系等。UIMS邏輯結(jié)構(gòu)模型中幾個主要層次的表示方法,其中除了對話層的表示方法比較成熟、研究成果豐富外,其它層次的表示方法尚有待發(fā)展。1)外形層的表示方法外形層的表示方法主要涉及用戶輸入輸出信息的處理。需要解決如下問題:a.如何處理和表示圖形的輸入輸出。b.如何適應(yīng)多媒體的需要,將輸入輸出信息擴充到視頻、語音、動畫、仿真等。c.如何適應(yīng)智能人機界面規(guī)格說明的需要,即信息流的內(nèi)外映射中如何包含簡單的基于人機界面設(shè)計規(guī)格的決策,使一對一映射的關(guān)系擴充到多對一、多對多的映射關(guān)系。2)對話層的表示方法:對話層的表示方法比較多,GreenM(1986),MyersBA(1989)等曾先后對對話層的表示方法進行了如下分類:a.基于語言的表示方法即界面設(shè)計者用一種專門的人機界面描述語言UIDL來說明界面。這種語言可能有多種形式:菜單網(wǎng)絡(luò)、狀態(tài)轉(zhuǎn)換圖、上下文無關(guān)文法、事件語言、面向?qū)ο笳Z言等。語言的主要任務(wù)是說明界面對話層的語法,即輸入輸出動作的合法順序。菜單網(wǎng)絡(luò):是最簡單的表示方法,即支持菜單的層次或網(wǎng)絡(luò)結(jié)構(gòu)。狀態(tài)轉(zhuǎn)換圖:一個狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)是由一組狀態(tài)組成。在由每個狀態(tài)出發(fā)的邊上標志出一個輸入詞碼,它能引起轉(zhuǎn)移到該邊另一端的狀態(tài)。除輸入詞碼外,有些系統(tǒng)的邊上標出了被調(diào)用的應(yīng)用子程序和被顯示的輸出內(nèi)容。但是使用這種方法,界面和應(yīng)用程序的聯(lián)系是通過很多全程變量實現(xiàn)的,所有的狀態(tài)必須有清楚的邊來反映所有可能出現(xiàn)的錯誤輸入和公用命令。上下文無關(guān)文法:即使用上下文無關(guān)文法來描述用戶和程序之間的對話,且大多以編譯器為基礎(chǔ)。事件語言:在事件語言中,輸入詞碼被認為是事件并立即送事件處理器.這些處理器能產(chǎn)生輸出事件,改變系統(tǒng)的內(nèi)部狀態(tài),或調(diào)用應(yīng)用子程序.面向?qū)ο笳Z言:即提供一個面向?qū)ο蟮目蚣?,設(shè)計者在該框架內(nèi)編寫界面程序。b.基于圖形的表示方法:基于圖形的UIMS讓用戶或至少部分地讓用戶使用鼠標器直接將對象放到屏幕上來定義界面.它把界面的圖示表示作為最重要的一個方面,而圖形工具是說明這種表示的最合適的方法。c.基于應(yīng)用語義過程的表示方法:即從應(yīng)用的語義過程規(guī)格說明自動生成界面,并且讓設(shè)計者修改界面以改進它的性能。3)應(yīng)用層的表示方法:目前應(yīng)用界面模型和應(yīng)用層的表示方法很不成熟,仍舊處于發(fā)展初期。作為可供實用的實用界面模型,至少必須包含如下三個內(nèi)容:a.它必須包含與用戶和人機界面有關(guān)的應(yīng)用數(shù)據(jù)結(jié)構(gòu)的說明;b.它必須包含人機界面調(diào)用的應(yīng)用子程序的說明,例如子程序名、運算對象等.這實際上是定義了人機界面和應(yīng)用程序之間的界面;c.必須列舉應(yīng)用程序?qū)τ脩舻南拗疲畯亩谷藱C界面排除了許多可能引起語義錯誤的操作,避免了對應(yīng)用程序的破壞。正在研究的應(yīng)用層的表示方法有兩類:一是對象—算子法.對象對應(yīng)于應(yīng)用程序的數(shù)據(jù)結(jié)構(gòu),算子對應(yīng)于人機界面調(diào)用的應(yīng)用子程序。二是基于關(guān)系和一階邏輯.關(guān)系用來表示應(yīng)用程序中的數(shù)據(jù)結(jié)構(gòu),而一階邏輯模型的說明用來表示應(yīng)用子程序。4.2系統(tǒng)結(jié)構(gòu)FITOOL支持用戶界面管理系統(tǒng)(UIMS)的Seeheim模型,基于Motif和X-Windows,運行于UNIX操作系統(tǒng)。FITOOL對話層的表示方法采用面向?qū)ο蟊硎痉椒ńY(jié)合圖形表示方法,使系統(tǒng)具有直接操縱的特點。FITOOL由如下幾部分組成:(結(jié)構(gòu)圖見圖4-1)a.窗口編輯器窗口編輯器管理并生成各種初始化窗口。用戶若要創(chuàng)建界面必須先運行此模塊,這既是初始化界面結(jié)構(gòu)也是初始化管理內(nèi)部數(shù)據(jù)結(jié)構(gòu)的鏈表。b.原始構(gòu)件編輯器原始構(gòu)件編輯器提供了各種界面構(gòu)件,用戶可按自己的需求用鼠標點取相應(yīng)的界面構(gòu)件,并可對其進行任意配置,直到滿意為止。c.管理器編輯器管理器編輯器提供了各種界面管理器構(gòu)件,這些構(gòu)件有的可以管理一個后代,有的可以管理若干個后代,用戶可按自己對界面總體的要求需求用鼠標點取合適的界面管理器構(gòu)件,并可對其資源進行任意配置,直到滿意為止。圖4-1FITOOL結(jié)構(gòu)圖d.菜單編輯器菜單編輯器可以單獨進行使用,用戶可以創(chuàng)建下拉式菜單,選項式菜單,彈出式菜單,菜單可以是文字式,圖符式或圖符文字混合式。e.對話框編輯器對話框編輯器提供了各種對話形式,用戶可按要求自行創(chuàng)建和配置。f.資源修改模塊資源修改模塊可單獨運行以對所產(chǎn)生的界面的任何部分進行資源的重新配置。g.界面瀏覽器;界面瀏覽器可以瀏覽用戶已有的界面(文件),并可以重用之。h.界面/應(yīng)用對話編輯器界面/應(yīng)用對話編輯器用來定義用戶界面與應(yīng)用程序之間的數(shù)據(jù)的傳遞及動作的響應(yīng)。i.源代碼生成器源代碼生成器用于生成用戶界面源程序(包括C文件和UIL件).j.中英文文本編輯器中英文文本編輯器可進行任何文字編輯操作。k.編譯與連接模塊。編譯與連接模塊用于編譯并連接用戶界面源程序生成執(zhí)行文件。4.3系統(tǒng)功能使用本文描述的工具,界面設(shè)計人員不需要專門掌握一種用戶界面描述語言,而是通過界面編輯器來直接操縱屏幕上的可視對象,生成和修改用戶界面原型,并能將結(jié)果立即顯示在屏幕上,達到"所見即所得(WYSIWYW)"的效果。使用FITOOL,用戶可以任意布置自己的用戶界面,并最后得到相應(yīng)的用戶界面及其源程序,并可以和應(yīng)用程序進行聯(lián)編,最后形成可用的執(zhí)行文件。使用FITOOL,用戶需做如下工作:(1).描述,即理解應(yīng)用程序,確定用戶界面外觀和交互行為.a(chǎn).確定所需的用戶界面構(gòu)件:按照最終用戶界面的外觀和功能進行界面布局描述和設(shè)計,這部分工作可以在稿紙上完成,并列出所需要的界面構(gòu)件名稱及最終的配置。b.確定界面的層次關(guān)系:有了界面的布局,啟動FITOOL,運行相應(yīng)模塊按步驟創(chuàng)建用戶界面。c.確定界面與應(yīng)用程序的對話結(jié)構(gòu):按應(yīng)用程序?qū)缑骓憫?yīng)的要求,定義應(yīng)用與用戶界面之間的數(shù)據(jù)傳遞及相應(yīng)的對話框。(2)構(gòu)造用戶界面a.運行窗口編輯器,創(chuàng)建并管理各種初始化窗口。用戶若要創(chuàng)建界面必須先運行此模塊,這既是初始化界面結(jié)構(gòu)也是初始化管理內(nèi)部數(shù)據(jù)結(jié)構(gòu)的鏈表。b.管理器編輯器提供了各種界面管理器構(gòu)件,這些構(gòu)件有的可以管理一個后代,有的可以管理若干個后代,用戶可按自己對界面總體的要求需求用鼠標點取合適的界面管理器構(gòu)件,并可對其資源進行任意配置,直到滿意為止。c.原始構(gòu)件編輯器提供了各種界面構(gòu)件,用戶可按自己的需求用鼠標點取相應(yīng)的界面構(gòu)件,并可對其進行任意配置,直到滿意為止。d.菜單編輯器可以單獨進行使用,用戶可以創(chuàng)建下拉式菜單,選項式菜單,彈出式菜單,菜單可以是文字式,圖符式或圖符文字混合式。e.對話框編輯器提供了各種對話形式,用戶可按要求自行創(chuàng)建和配置。f.資源修改模塊可單獨運行以對所產(chǎn)生的界面的任何部分進行資源的重新配置。g.界面瀏覽器可以瀏覽用戶已有的界面(文件),并可以重用之。h.界面/應(yīng)用對話編輯器用來定義用戶界面與應(yīng)用程序之間的數(shù)據(jù)的傳遞及動作的響應(yīng)。i.源代碼生成器用于生成用戶界面源程序(包括C文件和UIL文件)。j.中英文文本編輯器可進行任何文字編輯操作。例如:編輯任何程序語言的源程序或任何中英文文本文件。k.編譯與連接模塊用于編譯并連接用戶界面源程序生成執(zhí)行文件。因此用戶可按事先確定的界面層次關(guān)系,用鼠標選取相應(yīng)的界面構(gòu)件,并定制相應(yīng)的資源,可隨時對字體和顏色進行修改以滿足自己的要求,最后組裝成自己的界面。并可得到相應(yīng)的源程序(*.c、*.h、*.uil),經(jīng)編譯后得到對應(yīng)的目標文件(*.o、*.uid),和應(yīng)用程序?qū)?yīng)的目標文件(*.o)進行連接后可得到相應(yīng)的執(zhí)行文件。(3〕測試用戶界面.將生成的源程序與應(yīng)用程序的目標文件經(jīng)連接后生成可執(zhí)行文件,經(jīng)運行如發(fā)現(xiàn)不合要求,可進行相應(yīng)的修改,直到滿足要求。最后生成最終用戶界面(包括永久對象和臨時對象)和源程序。4.4系統(tǒng)實現(xiàn)系統(tǒng)的實現(xiàn)采用C++、C語言、Motif及其用戶界面語言uil混合編寫而成。Motif基于X—Windows的Xt工具箱(XtIntrinsics),是一個用C語言實現(xiàn)、支持面向?qū)ο篌w系的程序庫;C++則是由C語言發(fā)展而來,但它直接提供面向?qū)ο笫降木幊谭椒āotif內(nèi)部使用的面向?qū)ο笫襟w系對Motif的應(yīng)用程序來說不會有絲毫的影響,因為它提供面向函數(shù)的接口,調(diào)用程序?qū)otif及XtIntrinsics內(nèi)部實現(xiàn)的細節(jié)不必深究。因此從表面上看,Motif和其他C語言庫沒有任何區(qū)別。C++的設(shè)計允許程序員輕易地使用象Motif這樣的C語言庫。C++還為面向?qū)ο笤O(shè)計方法和系統(tǒng)軟件設(shè)計方法的結(jié)合提供了簡易的方法,它使得程序在受益于面向?qū)ο蠹夹g(shù)的同時不失掉C的高效性,更不必重新設(shè)計象X和Motif這樣的標準C庫函數(shù)。(1)OSF/Motif與C++混合編程用C++的面向?qū)ο蟮奶匦赃M行程序設(shè)計,并假設(shè)程序中的類代表令人感興趣的體系結(jié)構(gòu)單元。用C++類封裝widget集合以創(chuàng)建一用戶界面組成部件的類,將Motifwi-dget作為基本單元來構(gòu)造它們的界面。一個組成部件不僅封裝了一個widget集合,而且定義了整個組成部件的行為。1)創(chuàng)建用戶界面組成部件用C++類封裝widget集合以創(chuàng)建用戶界面組成部件的技術(shù)。即使用C++創(chuàng)建高一級的、將一個或多個widget組合成一個邏輯群的用戶界面組成部件。這樣做的目的是不用分離的類替換widget,而是用基本的Motifwidget,將一個應(yīng)用程序及其界面的關(guān)鍵組成部件作為類實現(xiàn)。這樣的話,Motif本身是否是面向?qū)ο蟮牟⒉恢匾?,C++程序員可以直接調(diào)用Xt和Motif的函數(shù)來創(chuàng)建基本的Motifwidget。使用C++類組合一組widget以創(chuàng)建更復(fù)雜的用戶界面組成部件。并且在一個C++類中,可以創(chuàng)建widget,并指定其資源和賦值回調(diào)等。這樣,一個C++類不僅封裝一個widget集合,而且定義了整個組成部件的行為。其意圖是不僅僅用一個類替換一個widget集合,而是創(chuàng)建一個應(yīng)用程序所要求的基本類,其中某些類使用widget實現(xiàn)一用戶界面組成部件。虛擬與回調(diào)(作為靜態(tài)成員函數(shù)實現(xiàn))的組合提供了創(chuàng)建抽象用戶界面組成部件的一種方法.基類可以由組成部件支持的widget,以及整體布局,而將組成部件的具體行為留給派生類。2)用戶界面組成部件的協(xié)議定義一個簡單的協(xié)議,即使所有用戶界面組成部件能保證在不同組成部件之間的一致性,并且使不同的組成部件很容易地在一起工作?!窠M成部件在類的構(gòu)造函數(shù)中創(chuàng)建一個或多個widget。通常情況下,回調(diào)與其它創(chuàng)建也在構(gòu)造函數(shù)中處理,每個組成部件創(chuàng)建一個單獨的widget,是為基widget。使它作為類所表示的widget樹的根,其它所有widget都是它的孩子?!窠M成部件將一個widget作為構(gòu)造函數(shù)中的一個參數(shù)。該widget作為該組成部件的基widget的父親?!窠M成部件將它創(chuàng)建的widget子樹的根賦給一個保護的實例變量.●組成部件將一個字符串作為構(gòu)造函數(shù)的一個參數(shù)?!衩總€組成部件類提供一訪問方式,用來查詢子樹的根widget。然而一個組成部件類的目標是封裝一個widget的單獨邏輯集合的行為,偶爾需要類公開widget樹的根widget?!窠M成部件類允許widget子樹由類封裝,以進行處理或不處理。組成部件就作為一個邏輯群處理,并且只有widget子樹的根被處理或不處理。其它widget應(yīng)在創(chuàng)建時在構(gòu)造函數(shù)中被處理,而此時不處理根widget?!窠M成部件處理其widget樹中widget的析構(gòu)函數(shù).當一個對象被清除時,它所封裝的widget也應(yīng)被清除。3)基類的定義與實現(xiàn)BasicComponent類BasicComponent類實現(xiàn)一些對所有組成部件類都有用的基本特性。UIComponent類UIComponent類是由BasicComponent類派生得到的,但增加了處理widget析構(gòu),并且使用資源管理程序定做和初始化類。(2)Motif與C++類混合編程的應(yīng)用框架創(chuàng)建一個應(yīng)用框架用來定義一個應(yīng)用程序的總體結(jié)構(gòu)。和其它框架一樣,類和框架配合的好要比任何一個類的函數(shù)性要重要的多??蚣艿谋疽馐且揽揩@取應(yīng)用程序的共同元素來簡化編寫Motif應(yīng)用程序的任務(wù)。盡管Xt和Motif提供一個比Xlib更高層的的接口,但是絕大多數(shù)的Motif和Xt應(yīng)用程序仍然包括數(shù)量驚人的重復(fù)代碼。例如所有的Motif應(yīng)用程序必須初始化XtIntrinsics,打開和X服務(wù)器的聯(lián)系,進入事件循環(huán),以及其它等等。對每一個應(yīng)用程序來說,復(fù)制實現(xiàn)這些步驟的代碼是沒有什么理由的。我們可以把這些步驟放在一個類中,其他的應(yīng)用程序就可以復(fù)用它。我們也可能抽取典型的Motif應(yīng)用程序的控制結(jié)構(gòu)部分,盡管許多特殊的細節(jié)在不同的應(yīng)用程序間是有差別的。Motif應(yīng)用程序所共有的一些特點:●初始化XtIntrinsics;●打開和X服務(wù)器的聯(lián)系;●創(chuàng)建一個Shellwidget作為其它widget的父親;●創(chuàng)建一個或一個以上widget定義用戶界面;●進入事件循環(huán)來處理事件。大部分Motif應(yīng)用程序中main()主體是非常類似的。絕大多數(shù)程序都執(zhí)行上面的步驟,而很少有不同的。實際上,如果我們忽略不同的應(yīng)用程序間的細小差別,我們可看到幾乎每一個Xt應(yīng)用程序都包含相同的語言并且遵循相同的形式。程序和程序之間,重復(fù)地為每個程序打開這些語句是一個時間上的浪費。一個功能更強的方法是抽取一個應(yīng)用程序的骨架,放在一個類中。應(yīng)用程序可以通過實例化這個類,或者創(chuàng)建一個從這個類派生出來的新類來復(fù)用公共的代碼段。使用一個類來獲取應(yīng)用程序的共同特點比拷貝上面顯示的樣板有幾個優(yōu)點。首先,一旦程序設(shè)計者作了一份樣板的拷貝,他或她就喪失了跟蹤原始代碼的能力。然而,那些僅是簡單地實例化一個封裝這個代碼的對象的程序,可以從修改錯誤和改進中獲益,因為它們只需要與一個修改過的版本重新連接。基于面向?qū)ο罄碚摰膽?yīng)用程序可以通過派生出一個新類修改已生成代碼的行為。因為改變只是對一個派生類做的,而對原始類未作改動,所以要復(fù)原至最初的行為就容易得多了。確定任何在發(fā)展過程中帶入的新錯誤完全包容在新代碼中,也變得容易多了。Application類:Application類處理初始化和所有基于Xt的應(yīng)用程序通用的事件處理步驟。Motif應(yīng)用程序只是簡單地實例化一個Application對象,而不是調(diào)用類似XtAppInitialize()或XtAppMainLoop()的Xt函數(shù)。程序可以從Application類中派生出新類也可以直接實例化。Application類在構(gòu)造函數(shù)中不創(chuàng)建任何widget。Application類為在整個應(yīng)用程序中都可能需要的一些數(shù)據(jù)提供存儲的空間。框架支持應(yīng)用程序的多頂層窗口。一個方法是創(chuàng)建一個唯一的頂層的窗口作為應(yīng)用程序的主窗口。所有其它的窗口都是彈出Shell,它們的父親是那個主窗口。另一種方法是創(chuàng)建一個唯一的Shell,它永遠不出現(xiàn)在屏幕上.所有其它的窗口必須是這個主Shell的彈出兒子.在這個模型中,所有頂層窗口等價對待,彼此間是兄弟關(guān)系,一個窗口邏輯上可以是應(yīng)用程序的頂層窗口??梢远x一個MainWindow類以提供應(yīng)用程序中頂層窗口的基本屏幕布置?;谶@個框架的應(yīng)用程序不必定義main()。函數(shù)main()定義框架的一部分,并且管理調(diào)用Application::initialize()成員函數(shù)以及進入事件循環(huán)。隱藏main()允許框架管理比所有應(yīng)用程序必須執(zhí)行的例程初始化更多的事情,即每一個程序都是Application類的一個實例。應(yīng)用程序的創(chuàng)建就是簡單地由實例化一個Application對象完成的。對話類:為了一些特殊意圖,在屏幕上現(xiàn)實相對時間較短的對話窗口,是許多交互式應(yīng)用程序的一個共同特點。管理帶有許多輸入,控制或者選項的應(yīng)用程序的一種方法是把用戶界面中不常使用的部分放在幾個分開的對話窗口中,只有當需要時才顯示,對話窗口可以有幾種不同的使用方法。對話類依賴Application類,因為對話需要一個父widget。因此要強迫應(yīng)用程序傳送一個widget給post()方法作為父親使用,但是允許有不同的父親。為了不使高速緩存復(fù)雜化,這里使用Application類的Shellwidget以保證所有的對話有相同的父親,在屏幕上集中了對話。命令類:在交互式應(yīng)用程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論