薛靜
(西安鐵路職業技術學院,電子信息學院,西安 710600)
在現代行業不斷發展的過程中,業務復雜程度在不斷的提高,導致行業軟件的界面邏輯也越來越復雜,所以軟件用戶界面設計和開發要以一定的原則及思路為基礎,從而設計及開發高質量用戶界面[1]。但是從目前情況中分析,國內軟件界面開發處于起步階段,缺少可繼承性,代碼管理較為混亂,無法實現軟件開發的持續發展。本文就首先分析計算機軟件的用戶界面特點,然后提出了以組態軟件為基礎的軟件界面開發方式,此方法要使開發人員能夠實現組態技術軟件界面分割歸類,將其中可復用組件進行抽取,創建可復用的組件庫,從而提高軟件界面設計過程中的規范性,使軟件界面開發效率得到進一步的提高。
能夠影響到視覺和知覺的主要因素就是具備較強刺激性的因素,包括顏色搭配中的亮度、飽和度、對比度等。人們對顏色都是通過第一感覺進行判斷的,人在看到某種顏色的時候哪個顏色最深,那么其就會具有深刻的印象,顏色能夠將物體特性及外觀展現出來[2]。顏色能夠對人心理造成不同程度的刺激,這是一種生理性的反應,不會影響到人體的生理機能。在生活過程中,紅色表示故障、危險等刺激性事物,綠色表示寧靜、安逸及舒適等;黃色表示注意、提醒。所以在實現用戶界面設計的過程中,要和這些規律相互結合,和人習慣性的觀念相互一致。
人在對于某種視覺作用中主要展現了對于事物規律的搜索,簡單來說就是人在大多視覺感官刺激中會從其中選擇某個特殊刺激,這些尋求特殊目標對象就是目標刺激,還有對人們尋找目標刺激妨礙的為干擾刺激[3]。視覺搜索主要包括串行搜索及并行搜索。串行搜索能夠處理所有感知事物,在對大量干擾刺激排除之后,最終尋找目標刺激。干擾刺激指的是在人們搜索過程中會具有一定的阻礙,對時間造成浪費。并行搜索能夠在視覺相同時間中處理全部視覺刺激。以此表示,串行搜索刺激主要是在目標及干擾刺激中具有較小的差別,并行搜索在目標和干擾刺激的視覺特點差距較大的時候使用,此種搜索方法能夠降低搜索時間[4]。
軟件用戶界面在設計過程中要全面考慮人知識,此就是低級認知層面,還有高級別就是記憶層面。人們在對計算機操作過程中使用短期記憶,其只能夠短時間保存事物,存儲量比較小,一般五個模塊左右。在實現軟件要用戶界面設計的過程中,如果界面中的信息比較多,且缺少用戶界面的設計,那么界面就會比較的混亂,從而導致搜索困難。人機工程設計要充分使用記憶規律,在系統內容復雜的時候界面要將信息作為按鈕,利用頁面控件進行控制,從而避免因為盲目搜索浪費時間,還能夠避免記憶混亂[5]。
針對目前軟件界面設計和開發過程中的問題,以下實現基于組態技術的軟件用戶界面設計方式,要求所有用戶都能夠實現統一界面風格的設計,其中內容主要包括固定不變及可變。此方法中的組件屬于可復用小界面,此界面開發語言不同。為了能夠降低投資的風險,此方法使用逐漸實現方式,基于已有開發模式,對組件可復用性進行逐漸的完善,通過此種方式對組件可復用性進行完善[6]。在組件管理過程中使用組件庫方式實現多種功能,以組態技術為基礎的軟件界面開發結構,如圖1所示。

圖1 以組態技術為基礎的軟件界面開發結構
通過圖1可以看出來,軟件用戶界面的開發方式主要包括3個部分。首先,要產生組件,通過項目組前臺開發人員一起實現,對具有較高復用性的軟件模塊進行提煉。在項目組完善核心組件之后,根據相應的特點添加全新的組件。然后將產生的初始組件存儲到組件庫中,創建組件庫管理機制。最后在軟件開發過程中,軟件界面開發人員要根據組件庫出庫管理檢索組件庫,之后提出自身所需要的組件,實現組件復用。以下為軟件界面設計部分代碼:
CBitmap* pBitmap = new CBitmap;
BITMAP BmpInfo;
CBitmap* pOldBitmap;
CDC* pDisplayMemDC=new CDC;
pDisplayMemDC->CreateCompatibleDC(pDC);
pBitmap->LoadBitmap(IDB_TITLE_LEFT); pOldBitmap=(CBitmap*)pDisplayMemDC->SelectObject(pBitmap);
pBitmap->GetBitmap(&BmpInfo);
pDC->BitBlt(x,y, BmpInfo.bmWidth, BmpInfo.bmHeight, pDisplayMemDC, 0, 0, SRCCOPY);
pDisplayMemDC->SelectObject(pOldBitmap);
pBitmap->DeleteObject();
ReleaseDC(pDisplayMemDC);
delete pDisplayMemDC;
delete pBitmap;
在界面設計和開發過程中,不管是哪種環境,其開發的系統都要具備一定的重復性。在軟件界面設計過程中具有二類復用價值的組件,所以軟件界面設計和組件化的開發就是對二類可復用組件的出入庫管理。但是要想實現真正復用,就要具備良好的組件庫,組件入庫屬于重點。在軟件界面設計及開發過程中,在組件編寫人員測試組建成功之后保證組件能夠正常運行,以組件具體的功能對組件進行定義,制作可復用組件。在此過程中,組件命名屬于關鍵,要使此命名能夠表示組件完整的功能,根據操作系統文件名的長度能夠實現文件的自由擴展,從而實現標識。以下為組件標識的部分主要代碼設計:
Class IClassFactory : public IUnknown
{
METHOD(CreateInstance)( IUnknown * pUnkOuter,
IID riid, void ** ppvObject) = 0;
METHOD(LockServer)(BOOL bLook) = 0;
};
CoGetClassObject ,CoCreateInstance,CoCreateInstanceEx。
STDAPI CoGetClassObject(
REFCLSID rclsid, //rclsid:class-id
DWORD dwClsContext, //dwClsContext
COSERVERINFO * pServerInfo, //pServerInfo
REFIID riid, //riid
LPVOID * ppv //ppv
);
組件屬于軟件復用的實現,其質量和復用效果具有密切的聯系,良好的出庫流程能夠使后繼開發人員實現軟件界面設計。在組建出庫的時候,檢索屬于關鍵內容。檢索的流程就是創建數據庫的基礎,在此過程中要充分考慮組建功能、接口及使用的范圍相應參數。就目前分析,此過程就是手工及自動選擇的相互結合。在軟件開發過程中,可以使用自動選擇,此要求組件編寫人員在實現組件生成過程中根據軟件檢索需求實現組建的生成。比如開發人員要嚴格遵守編碼的規范,使描述組件功能的時候要根據相應的格式實現,從而有效實現組件功能的抽取。以下為組件出庫的部分代碼:
DataSet clientDs = new DataSet();
string[,] searchFlds = { { "codePy", "助記符" }, { "codeWb", "助記符" } };
try
{
DataTable quickFindTb = clientDs.Tables["staffNav"].Copy();
FrmQuickFind quickFind = new FrmQuickFind(
quickFindTb, "用戶", searchFlds, "id", "name",
"出庫");//
quickFind.ShowDialog();
if (quickFind.outDr != null)
{
//
}
quickFindTb.Dispose();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
在實現界面設計的過程中,設計人員要確定系統的設計目標,將目標作為基礎,實現內部活動的分解,從而使用戶功能需求能夠更加的具體,提高其操作性。系統目標、用戶需求及系統任務創建了人機接口及用戶界面設計的基礎,系統目標、任務及需求的關系,如圖2所示。

圖2 系統目標、任務及需求的關系
在進行結構化分析的過程中,數據流分析使用最為廣泛,其通過結構化方式自頂往下逐層進行分解。結構化方法都是通過系統中數據的流動及內部活動全面分析系統功能。通過用例驅動分析的方法實現,其是從非數據模型進行,并不是通過創建實體對象聯系模型進行,首先對系統的使用方式進行分析,然后通過場景使用對系統使用過程中和其他類型用戶交互過程中的情況進行對比[6]。結構化分析方式是一種較為傳統的任務分析方法,其具有較強的邏輯性,能夠實現用戶任務內容的描述,但是此缺點就是在第一次分析的過程中就要對內部的細節進行深入的描述,此種方式對系統功能分析具有一定的影響。通過用例驅動分析方法能夠對此不足進行彌補,用例驅動分析能夠實現其創新。結構化及用例兩種分析方式的結合,如圖3所示。

圖3 結構化及用例兩種分析方式的結合
通過兩者相互結合,能夠實現用戶使用系統任務的全面描述,并且還能夠將任務之間的聯系及系統內部細節進行全面的分析。
目前,計算機軟件的設計和發展備受大多數用戶的關注,所以在計算機軟件用戶界面設計過程中,要對人們認知的規律進行全面的掌握,利用此規律有效統一人類的認知特點及具體的行為,從而提高界面設計的有效性,使其能夠有效滿足人們生活習慣及需求,之后通過人機工程設計理念,充分使用其中的方法和方式實現設計,從而提高系統界面設計的效果,便于人們的使用及操作。