隨著計算機技術(shù)的發(fā)展,用戶對計算機系統(tǒng)的要求越來越高,特別是人機交互系統(tǒng)。用戶除了要求人機交互界面美觀、使用方便、反應快捷外,還要求人機交互系統(tǒng)具有可靠性,抗故障能力以及可以動態(tài)配置等。
近年來人機界面設計方面問題受到了越來越多研究者的重視。在組件組裝方面,王嬌艷等人將組件建模方法應用于工程項目中,通過調(diào)用Creator的Plugin插件,結(jié)合底層的Open Flight API編程語言,從而實現(xiàn)了由模型組件重組新模型的功能,實現(xiàn)了非專業(yè)人員的二次建模,簡化了建模過程。文獻通過組裝仿真應用系統(tǒng),實現(xiàn)仿真模型組件的價值,通過組合具有可重用和互操作能力的仿真模型組件構(gòu)了一個功能可定制和大小可伸縮的目標系統(tǒng)。文獻[3]研究了MIS管理組件設計及其在煤礦安全管理系統(tǒng)中的應用。
在人機界面設計方面,文獻[4]將嵌入式圖形用戶界面(GUI)技術(shù)引入到現(xiàn)代雷達控制系統(tǒng)的人機界面設計中,采用嵌入式GUI進行人機界面設計后,能夠提高設備的開發(fā)效率、豐富人機交互信息。文獻[5]對過程控制系統(tǒng)中的人類因素進行了分析,進行了人機交瓦設計研究。文獻[6]分析了基于技能、規(guī)則和知識行為的生態(tài)界面,并將其應用于工業(yè)生產(chǎn)中。然而,由于人機界面設計的復雜性和多變性,人機界面組件組裝方面的研究較少,文中基于領域組件技術(shù),給出一種人機界面組件的組裝方法和基于組件組裝的系統(tǒng)設計方法,以實現(xiàn)目標系統(tǒng)的快速構(gòu)建。
1 組件組裝與領域組件
1.1組件組裝的概念
組件組裝技術(shù)是軟件組件技術(shù)的關(guān)鍵技術(shù)之一。組件組裝可以用公式表示為:
應用程序=組件+組裝語言, (1)
組裝語言=組裝操作+粘連邏輯。(2)
式(1)將組件組裝解釋為采用某種組裝語言將組件組裝成為一個系統(tǒng)或者更高級別組件的過程。參與組裝的組件稱為成員組件,生成的組件稱為復合組件。式(2)將組裝語言解釋為采用合適組裝操作組裝組件的過程,如果無法實現(xiàn)無縫組裝則借助粘連邏輯輔助實現(xiàn)組裝。
1.2領域組件
(1)領域組件。領域組件是指受特定領域約束的組件,也就是組件在特定領域中的應用。由于領域自身特點,領域組件比組件受到更多的限制,但是,領域組件也減少了組件的不確定性,主要表現(xiàn)在以下方面:
①組件粒度:主要取決于特定領域相關(guān)業(yè)務邏輯的特性。
②組件環(huán)境:與普通組件相比環(huán)境更單一和穩(wěn)定。
③業(yè)務邏輯:與普通組件相比業(yè)務邏輯更規(guī)范化和標準化。
(2)領域應用框架。從領域工程角度來看,領域應用框架反映了一個軟件系統(tǒng)族的體系結(jié)構(gòu),并且提供了創(chuàng)建該軟件系統(tǒng)的基本構(gòu)造方式,通過領域應用框架與組件組裝應用程序的連接如圖1所示。
圖1 組件與框架連接
2 人機界面組件組裝模型
不是任何界面組件都可以直接進行封裝構(gòu)成目標系統(tǒng)的。能夠進行封裝操作的組應滿足特定的約束。另外,利用組件封裝構(gòu)成目標系統(tǒng)的軟件開發(fā)與普通的軟件開發(fā)過程也不一樣,它具有特定的設計開發(fā)模型。也就是說基于組件封裝構(gòu)成目標系統(tǒng)的人機交互系統(tǒng)沒計模刑和人機界面組件組裝模型是有機結(jié)合的整體。
2.1 人機交互系統(tǒng)設計模型
基于組件組裝的人機交互系統(tǒng)設計與傳統(tǒng)的人機界面設計有所不同。在傳統(tǒng)的人機交互系統(tǒng)設計中,確定系統(tǒng)需求之后,要分析一個個的人機交互界面,再進行相應的界面設計。在基于組件組裝的人機交互系統(tǒng)設計中,利用一種自主開發(fā)的輔助開發(fā)工具實現(xiàn)人機交互界面的設計。輔助開發(fā)工具的功能類似于一種畫圖軟件。當需要設計一個人機交互系統(tǒng)界面時,利用輔助開發(fā)工具設計界面樣式。系統(tǒng)提供組件庫中已有組件的樣式(即組件運行時的快照),設計時可以直接利用已有組件的樣式構(gòu)成目標系統(tǒng)的界面。
如果組件庫中不存在需要的界面組件,則可以利用輔助工具提供的畫圖功能生成一個新的界面組件的樣式,用來生成目標系統(tǒng)界面。輔助系統(tǒng)會根據(jù)目標系統(tǒng)界面用到的框架組件樣式、界面組件樣式以及新生成的界面組件樣式生成一個設計文件,這個文件中標示了系統(tǒng)需要的框架組件編號、界面組件編號、需要新開發(fā)組件編號、界面切換順序等信息。實際目標系統(tǒng)可以根據(jù)這個設計文件進行開發(fā)和構(gòu)建。利用輔助工具設計人機界面的具體設計過程如圖2所示,具體步驟如下:
圖2 人機界面設計模型
(1)確定界面組件。根據(jù)總系統(tǒng)的需求分析,抽象人機交互系統(tǒng)的功能要求,進而確定人機界面的框架模式,最終確定需要哪些界面組件。其中包含已存在界面組件和需要重新開發(fā)的界面組件。
(2)確定界面切換流程。根據(jù)系統(tǒng)工作流程,分析多個界面之間的切換關(guān)系,即一個界面結(jié)束之后需要哪個界面來替換。
(3)生成設計結(jié)果。根據(jù)前兩步的工作(確定的界面組件及其切換流程),生成系統(tǒng)界面設計結(jié)果文件。該文件中包含所需的框架組件編號、界面組件編號、需要新開發(fā)組件編號、界面切換順序等信息。
(4)界面組件開發(fā)。開發(fā)新增的界面組件,并按照(3)生成的編號等信息放入組件庫。
(5)組件裝配。根據(jù)(3)的設計結(jié)果裝配既定的各種組件,形成目標系統(tǒng)。
(6)測試。測試系統(tǒng),如果符合要求,則結(jié)束;否則,重復進行設計過程。
2.2界面組件組裝操作約定
一般情況下,組件組裝分為兩個階段。第一個階段是設計開發(fā)組件并使其具有可組裝性,并進行正確描述;第二階段是按實際應用需要進行組件組裝。為了簡化問題,在進行組件組裝時,做出以下領域組件組裝操作約定。
(1)框架組件需要與運行環(huán)境匹配,而非框架組件需要與框架組件匹配。
(2)經(jīng)選擇后,框架與運行環(huán)境出現(xiàn)不匹配時,可以在框架組件端編制粘貼碼解決。
(3)當主框架組件與主框組件組裝時,必須進行接口匹配,但如果兩者不運行在同一平臺,則不需進行平臺匹配。
(4)制定領域組件組裝規(guī)范時,列舉法應作為首選方法。
2.3 人機界面組件組裝模型
人機界面組件組裝的過程實際是由組裝程序選擇組件的過程。組裝的核心操作是框架與待組裝組件(或框架)的匹配過程。組裝程序根據(jù)特定要求選擇一個程序的主框架,主框架再根據(jù)特定要求選擇一個或多個框架或組件,如果被選中的是組件,則該分支匹配過程結(jié)束。如果被選中的是框架,該過程繼續(xù)下去,直到所有的分支都匹配結(jié)束,其組裝匹配過程如圖3所示。在這一過程中,應遵循以下規(guī)則。
(1)組件是相互獨立的,不存在直接或間接關(guān)系,它只能與框架組件組裝。
(2)框架可以與框架組裝。
(3)一個應用系統(tǒng)至少包含一個主框架,主框架通過連接各個子框架和組件實現(xiàn)具體業(yè)務邏輯;主框架是最先被組裝的組件,它表示組件運行環(huán)境,實際上是所有子邏輯的“容器”。
(4)框架組件和非框架組件共同實現(xiàn)組件的組裝,框架組件決定了應用系統(tǒng)的工作流。
(5)框架組件負責對不匹配的接口進行轉(zhuǎn)換、映射和粘連。
圖3 組件組裝過程
(6)組件在組裝完成后,不可再使用組裝機制進行直接調(diào)整。需要注意的是,框架和組件都是組件,但為了區(qū)別,將框架組件稱為框架,將非框架組件稱為組件。
3 應用實例
應用系統(tǒng)的體系結(jié)構(gòu)如圖4所示,由其他子系統(tǒng)、信息處理系統(tǒng)和人機界面子系統(tǒng)組成。其中其他子系統(tǒng)包括分布式系統(tǒng)中各種數(shù)據(jù)產(chǎn)生子系統(tǒng)。信息處理系統(tǒng)是對系統(tǒng)中的數(shù)據(jù)進行統(tǒng)一管理,通過數(shù)據(jù)代理向人機界面子系統(tǒng)提供所需數(shù)據(jù)。根據(jù)不同的需求可以配備1到Ⅳ個人機交互結(jié)點。在本系統(tǒng)中,由調(diào)度組件實現(xiàn)組裝程序的主要功能。在給定界面組件的基礎上,調(diào)度組件通過既定的算法實現(xiàn)界面組件的動態(tài)組裝。調(diào)度組件的模型如圖5所示,程序流程圖如圖6所示,它主要有4個組成部分。
(1)事件處理器。事件處理器監(jiān)視是否有事件產(chǎn)生,這里的事件可以是用戶的一個操作或系統(tǒng)事先定義好的一種條件出現(xiàn)。如果有事件產(chǎn)生,事件處理器根據(jù)事件庫處理事件,如果同時有多個事件發(fā)生,事件處理器優(yōu)先處理高優(yōu)先級事件。事件處理的結(jié)果送給規(guī)則處理器。
(2)規(guī)則處理器。規(guī)則處理器接收事件處理器的處理結(jié)果,該結(jié)果中包含一個字段是事件對應的規(guī)則號。規(guī)則處理器將處理的結(jié)果送給界面生成器。同樣,如果同時接收到多處理器將處理的結(jié)果送給界面生成器。同樣,如果同時接收到多個規(guī)則,按照規(guī)則的優(yōu)先級進行處理。
圖4 應用系統(tǒng)體系結(jié)構(gòu)
(3)界面生成器。界面生成器根據(jù)接收到規(guī)則處理的結(jié)果生成界面顯示,其中要根據(jù)界面組件的編號查找界面組件的存儲位置,這需要用到界面組件尋址器。
(4)界面組件尋址器。界面組件尋址器按照給定的界面組件編號查找相應組件的存儲位置,以便為界面生成提供服務。
圖5 調(diào)度組件模型
圖6 調(diào)度組件程序流程圖
4 結(jié)論
組件技術(shù)的出現(xiàn)提高了軟件的復用能力,改變了軟件開發(fā)的各個環(huán)節(jié),是軟件生產(chǎn)技術(shù)的巨大進步。然而在人機交互系統(tǒng)領域,由于人機界面設計的復雜性和多變性,人機交互系統(tǒng)的軟件服用較為困難。文中基于領域組件思想,提出一種人機交互系統(tǒng)的設計模型和一種界面組件的組裝模型,可以實現(xiàn)特定領域內(nèi)界面組件的組裝和快速構(gòu)建人機交互系統(tǒng)。然而,組裝模型中還存在一些有待研究的問題。比如,界面組件粒度的劃分問題,組裝效果評價的數(shù)學模型問題等。對于這些問題,作者將做進一步的探討和研究。
(審核編輯: 智匯小新)
分享