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