軟鍵盤產(chǎn)品界面顯示的通用程序設(shè)計
摘要:介紹如何利用狀態(tài)圖的分析結(jié)果把握待開發(fā)系統(tǒng)的軟界面結(jié)構(gòu),完成軟鍵盤控制類產(chǎn)品界面顯示的通用程序設(shè)計。關(guān)鍵詞:狀態(tài)圖 控制類產(chǎn)品 界面 數(shù)據(jù)結(jié)構(gòu)
可視頻程序的一個重要特點是:有大量的窗口、對話框等界面與用戶進(jìn)行交互,并根據(jù)用戶在界面上的操作進(jìn)行相應(yīng)的事務(wù)處理。設(shè)計良好的用戶界面不僅可以提高用戶與軟件的交互效率,而且可以減少用戶操作與控制狀態(tài)轉(zhuǎn)換出錯的概率。好的設(shè)計界面不但要注意屏幕布局,更在充分理解待完成工作的基礎(chǔ)上,快速地構(gòu)架系統(tǒng)的有效結(jié)構(gòu),使編程人員有更多的精力去實現(xiàn)系統(tǒng)的處理功能。下面介紹一種在Nucleus仿真器MNT中快速實現(xiàn)產(chǎn)品界面設(shè)計的經(jīng)驗。
圖1 PDA產(chǎn)品的主界面和部分功能操作界面
1 系統(tǒng)分析
(1)問題的由來
嵌入式系統(tǒng)是一種軟、硬件結(jié)合的產(chǎn)物。一個控制類嵌入式產(chǎn)品的軟件開發(fā)離不開它所依賴的硬件環(huán)境。如今有了仿真軟件的支持,使得嵌入式系統(tǒng)軟件與硬件的開發(fā)可以同時進(jìn)行,也因為嵌入式開發(fā)工具的強(qiáng)大,越來越多的軟鍵盤產(chǎn)品在不斷問世。無論是仿真開發(fā)硬鍵盤產(chǎn)品,還是開發(fā)軟鍵盤產(chǎn)品,待開發(fā)軟件除顯示界面之外,主要處理的是設(shè)備與外界環(huán)境的復(fù)雜交互。由于復(fù)合控制行為的數(shù)量和種類都不可預(yù)測,導(dǎo)致了這類軟件設(shè)計非常復(fù)雜,此時使用常規(guī)設(shè)計方法,難于充分保證實現(xiàn)每種控制行為的組合,更難于保證控制界面的逐級返回。例如,當(dāng)開發(fā)圖1所示的PDA軟鍵盤產(chǎn)品時,其中每項功能的控制界面上都有眾多按鈕用于接受控制行為,根據(jù)用戶點擊行為的不同,進(jìn)入下一級不同的界面,或處理不同的事務(wù)。盡管有產(chǎn)品可能將固定鍵盤做成一組固定的硬件按鈕,但無論怎樣,這類軟件都需要為不同的界面設(shè)計許多不同的控件,并處理控制行為對應(yīng)的事務(wù)。因此,開發(fā)中快速地實現(xiàn)界面顯示,可保證有更多的精力處理所有控制行為對應(yīng)的事務(wù)。
圖2 系統(tǒng)記束本部分狀態(tài)轉(zhuǎn)換圖
(2)狀態(tài)圖
美國ATI公司的Nucleus嵌入式操作系統(tǒng)是一個嵌入式系統(tǒng)開發(fā)包。該軟件包借助Visual C++的調(diào)試器和編譯器進(jìn)行程序的調(diào)試與編譯,基本控制語句標(biāo)準(zhǔn)C語句。使用其中的Nucleus MNT仿真器提供的專用庫函數(shù),可以實現(xiàn)產(chǎn)品開發(fā)。
為了編寫PDA的控制軟件,首先分析整個產(chǎn)品的功能,并以狀態(tài)轉(zhuǎn)換圖進(jìn)行描述。圖2是系統(tǒng)記事本部分狀態(tài)轉(zhuǎn)換圖。
2 系統(tǒng)的實現(xiàn)
2.1 數(shù)據(jù)結(jié)構(gòu)的建立
通過對狀態(tài)圖的分析得知,整個系統(tǒng)有38種功能不同的控件,共70個。在不同的界面上發(fā)生的不同控制行為決定了系統(tǒng)的不同轉(zhuǎn)移狀態(tài),并啟動響應(yīng)事務(wù)處理。假設(shè)全部的數(shù)據(jù)結(jié)構(gòu)預(yù)先定義在pda_init.h文件中,為了完成系統(tǒng)設(shè)計,主要需要設(shè)計如下數(shù)據(jù)結(jié)構(gòu):控件數(shù)組、狀態(tài)控件鏈、顯示狀態(tài)鏈、顯示狀態(tài)棧。
(1)控件數(shù)組
在Nucleus MNT中,用Window CreateWindow(int wClass,char*ttl,int x,int y,int w,int h,int(*wndProc)(),unsigned long attrib)和CTRL *Control(Window wnd,int type,char name[],int x,int y,int w,int h,int id)函數(shù),可分別創(chuàng)建窗口窗的各種控件,所
[1] [2] [3] [4] [5]