用戶界面管理系統

用戶界面管理系統

用戶界面管理系統是指用來設計、執行、評價、維護及管理最終用戶界面的一組程式,它集成在一個統一的對話模型、表示技術下。

簡介

UIMS的基本思想是:用戶的應用程式可以被認為是應用程式設計人員要完成的許多任務(task)。而要完成每一個任務都要若干個動作(action),如掀鍵盤上的鍵、按功能鍵、按滑鼠鍵等。用戶每做這一動作,我們稱之為事件(event)。為了使用戶能夠明確地指定要從事哪一個任務,我們將這些任務列表於螢幕上,供用戶選擇,這個螢幕上的列表選擇項稱為選單(menu)。由於一項選單一般是與一項任務聯繫起來的,亦把一個選單稱為一個任務。稱之為選單時,強調它在螢幕上的顯示;稱之為任務時,強調它與套用函式的聯繫。由於任務的性質和內容不定,事件的發生亦是隨機的。所以,UIMS用任務與事件的名稱就抽象地概括了人機界面的設計規律,從而是通用的。

UIMS可以有兩種程式進程控制方式,設計人員可採用某一種,亦可以兼而有之,由應用程式設計人員自己決定。這兩種控制方式是:UIMS控制方式和程式控制方式。對於UIMS控制方式,只要程式設計員將套用函式與任務聯繫起來,UIMS一旦選擇了此項任務,就會自動執行套用函式。

UIMS的一個很重要的功能就是實現界面的對話結構(或稱對話語法)。UIMS分析用戶的操作,調用適當的應用程式,顯示該應用程式的輸出,並隨時顯示該應用程式可用的用戶界面選擇項。正如其名字所指的那樣,UIMS由設計師定義,由程式設計師實現,用於管理用戶界面。

UIMS通常採用軟體工具箱的形式,該軟體工具箱中帶有程式設計師可調用的各種函式。UIMS通常適用於一種特定的語言,並經常只適合於在一種或一類計算機系統上使用。UIMS的典型問題之一就是較強的系統依賴性,未來的UIMS將向系統設計師提供一系列擴展的支持功能,包括提供一個帶有各種非常有效的小器具的擴展的小器具工具盒,把圖形生成支持功能改進到遠遠超過GKS標準、支持更一般的剪裁、搬移和UNDO操作,提供上下文有關的幫助,擁有維護用戶概貌並修整用戶界面的顯示以滿足用戶要求的能力。

用戶界面管理系統由兩部分組成。其一是構造用戶界面的工具集,稱為用戶界面開發環境或設計環境(UIDE),其二是用戶界面運行支持系統,稱為用戶界面系統(UIS),它與套用系統的功能核心共同組成該套用系統。

發展歷史

W.Newman在1968年建立的“反饋處理器”是最早的UIMS。但UIMS作為專門術語是D.J.Kasik在1982年首次提出的。早期UIMS的功能僅限於原型構造或顯示管理,可用性較差。1982年召開的圖形輸入互動技術(GIlT)研討會首次闡述了UIMS的概念、作用及結構模型等,此後UIMS有較快發展,出現了TIGER,GWUIMS,Alberta UIMS等實驗系統。80年代中後期出現了一些商品化UIMS,我國也研製了一些突驗性系統。

早期的界面工具是一種界面或原型的構造工具,也包括一些“套用生成器”。 它們給程式設計師提供設計輔助工具,具有有限的功能,產生的界面往往用BNF形式的語言描述,從可用性來講比較差。 這類工具如Hanau及Lenorovitz研製的IDS,Mason及Carey研製的ACT/1,Wong及Reid研製的FLAIR等。

1982年在圖形輸入互動技術(Graphical Input Interaction Technique,GILT)的研討會上,進一步闡明了用戶界面管理系統的概念,確定了它的作用、類型和邏輯模型。在這以後,用戶界面管理系統有很大發展,其中若干系統有一定代表性,如Kasik的TIGER,Buxton的MENULAY,Kamran的Abstract Interaction Handler,以及後來的GWUIMS,Ehrich等的DMS,Olsen等的SYNG(Syntax directed Graphics)及MIKE(Menu Interaction Kontrol Environment),Wasserman等的RAPID/USE,Apollo公司的Domain/Dialogue Manager,Granor等的GUIDE(Graphical User Interface Development Environment),Enter/Act及SmethersBarnes Prototyper,等等商用產品。其他還有Rubel的BLOX,Hayes的COUSIN(Cooperative User Interface),Hill的Sassafras及M.Green的University ofAlberta UIMS等。

這一時期的用戶界面管理系統不僅在最終用戶、非程式設計師使用的界面開發上有很大進展,而且在異步對話、事件模型、支持直接操作等技術方面有很多成果。但總的來看,用戶界面管理系統在套用方面還沒有很大突破,人們還不能十分容易地生成界面,這裡原因之一是因為用戶界面的複雜性及現有工具尚難使用。

1986年在西雅圖舉行的“用戶界面管理軟體工具”研討會上哺",對用戶界面管理系統的研究進行了回顧,並進一步深入探討了若干新問題。隨著X視窗系統及面向對象技術的廣泛重視和推廣,基於圖形互動方式、採用面向對象技術的用戶界面管理系統開始出現,這類系統如GWUIMS,NEXT公司的Interface Builder及SUN公司的Openwindows Developer’S Guide等。國內也已開展這方面的研製工作,這些系統中不少是基於視窗系統的對象類上開發的,往往不採用語言的描述方法生成界面,而選用互動對話直接操作而生成圖形用戶界面,因而可減輕界面開發人員的工作量。

模型

這裡討論的模型是指一個用戶界面管理系統的結構模型或框架,而不是指界面的表示模型。隨著用戶界面管理系統的發展,其模型也有很多改進,下面對一些主要模型作幾點說明。

(1)GlIT模型

GIIT模型 GIIT模型

在GIlT(Graphical Input Interaction Technique)工作小組的報告中,對用戶界面管理系統的模型作了說明,它指出UIMS的角色是在最終用戶和應用程式之間進行協調,並說明了UIMS應著重於圖形支持方面。該報告指出,在GIIT會議上及1980年SeillacII會議上討論的最合適的互動系統模型分為三個部分:一為應用程式,二為用戶界面管理器,三為圖形系統。在這個模型中,並未出現最終用戶的連線。對於界面的實現,該模型採用一個“用戶界面管理器”來接受並存儲界面的表示。

GIIT模型說明,人機界面管理系統(稱之為界面管理器)是建立在圖形系統之上的。但該模型在若干重要1司題上並未說明,例如用戶界面管理器是否處理所有的圖形輸入和輸出,語法和詞法反饋怎樣產生,用戶界面管理器能見到多少應用程式,能否直接修改應用程式的數據等。

(2)Seeheim模型

Seeheim模型是體現分離用戶界面和套用功能設計思想的UIMS模型的最早和最知名的模型。Seeheim模型是在德國Seeheim舉行的國際用戶界面管理系統研討會上提出的。該模型基於對話獨立性概念,即會話與套用通過一個控制單元實現鬆散耦合來實現其聯繫,這一控制單元定義了對話和套用間的關係,傳輸運行時標記的往來。

Seeheim模型,它把用戶界面管理系統分成三部分:表示部件、對話控制及套用接口。該模型基於對話獨立性原則,並體現了最終用戶的位置。它只是用戶界面的一個“執行”模型,並不能反映整個用戶界面軟體的生存期,而且對於直接操作的圖形用戶界面的設計不適用,因為它要求一致的、連續的語義反饋。

(3)Lantz等的參考模型

Lantz等於1987年提出了有關互動軟體、視窗系統及並發任務的一種參考模型。該模型仿著重於執行,而不是設計。該模型包含四個主要部分:

Lantz參考模型樹狀示意圖 Lantz參考模型樹狀示意圖

1)硬設備。這是指支持應用程式用戶界面的輸入輸出設備,包括顯示零、鍵盤及滑鼠器等。

2)工作站接口。工作站接口是硬設備與系統之間的基本接口,它的主要功能是用虛設備來隱藏硬設備的具體細節,同時它也提供對多任務的基本支持。工作站接口只提供一組相對較低級的輸入輸出原語,而這種原語是與媒體有關的。

3)對話管理部件。對話管理部件負責將來自工作站接口的輸入輸出原語組織成互動技術,並為各具體套用任務選擇特定的互動技術。對話管理部件在用戶與應用程式之閬提供實際的對話控制,包括對套用的激發及對其回響的處理。

4)工作站管理部件。工作站管理部件可包含在套用部分這一層內。這是一種層次較高的管部部件,它提供多任務及多設備時工作站管理的策略,處理多道的對話任務,它為設備的共享提供策略,負責各種對話的切換。

控制結構

用戶界面管理系統的一個重要作用是將應用程式與它的互動部分分別設計與實現。從套用代碼和互動部分的相互關係來看,UIMS的控制結構可分為三種類型:

(1)外部控制型

控制結構示意圖 控制結構示意圖

這是指當用戶使用套用系統時,通過用戶界面管理系統對輸入進行回響,然後根據輸入要求來激發套用的各種模組。應用程式本身被編程為分離的功能子模組,當需要時這些功能子模組對於UIMS是可調用的。現有的大多數用戶界面管理系統採用這種模式的控制結構。

(2)內部控制型

此時由應用程式負責各軟體包之間的控制流向,一旦用戶需要時由應用程式發請求以得到各種抽象設備的支持。嚴格地講,這種結構是一種用戶界面管理工具箱。著認為UIMS必須把對話說明工具與運行時支持環境統一集成的話,這種類似子例程庫的工具包不能稱為用戶界面管理系統。

(3)並行控制型

在這種結構中應用程式與UIMS並行運行,它們及圖形系統均在同等層次上,它們之間的通訊與協調是通過具有多任務設施的並發進程來進行的,通過進程間通訊機制來交換信息。

相關詞條

相關搜尋

熱門詞條

聯絡我們