蔣慶洲 劉利容

摘要
嵌入式產(chǎn)品的應(yīng)用集成包含了控制邏輯與界面兩部分,長(zhǎng)期以來(lái)軟件工作人員都試圖找到一種方法把控制邏輯和界面兩部分進(jìn)行代碼分離,以求在降低軟件開(kāi)發(fā)時(shí)間的同時(shí)提高軟件質(zhì)量。基于此,從機(jī)頂盒產(chǎn)品的軟件入手,就UI框架進(jìn)行了研究與分析,以供參考。
【關(guān)鍵詞】嵌入式產(chǎn)品 UI框架 界面控制分離
1前言
在嵌入式產(chǎn)品的軟件開(kāi)發(fā)中,無(wú)不需要人機(jī)交互的界面設(shè)計(jì)。在以前我們的軟件涉及中,往往都把繪圖和控制柔和到一起。這樣的好處是開(kāi)發(fā)的時(shí)候比較容易,但是不利于產(chǎn)品的多客戶衍生及后續(xù)產(chǎn)品的開(kāi)發(fā)。
在很多的情況下,我們的軟件框架開(kāi)發(fā)都是在基本功能上加上一些新的內(nèi)容。這樣在后續(xù)產(chǎn)品或多客戶產(chǎn)品的衍生中,其實(shí)是不需要更改控制的。只需要更改一些界面的風(fēng)格,元素就夠了。這就需要一個(gè)好的軟件框架便于我們的修改工作,從而達(dá)到高效率,高質(zhì)量,低投入的目的。
2嵌入式產(chǎn)品軟件框架
通過(guò)多年的機(jī)頂盒軟件開(kāi)發(fā)工作,我提出了一種新的軟件框架,以便在軟件產(chǎn)品的多客戶衍生及后續(xù)產(chǎn)品中減小軟件開(kāi)發(fā)的工作量。將用戶界面的控制進(jìn)行抽象,包括以下步驟:
(1)對(duì)每一個(gè)可預(yù)知的用戶界面進(jìn)行編號(hào)。
(2)將用戶界面和控制間的接口抽象為下面的幾類,如表1所示。
(3)步驟(2)中:不同風(fēng)格的用戶界面接口可以通過(guò)編號(hào)編成全局變量指針函數(shù)數(shù)組。
(4)步驟(3)中:各指針函數(shù)通過(guò)不同的界面風(fēng)格可以使用統(tǒng)一的函數(shù)接口進(jìn)行調(diào)用,根據(jù)參數(shù)指定風(fēng)格,從而根據(jù)風(fēng)格可以調(diào)用到不同的界面入口。
(5)步驟(2)中:各界面接口的參數(shù)是根據(jù)界面編號(hào)進(jìn)行統(tǒng)一的,需要設(shè)計(jì)者進(jìn)行提前的抽象。
(6)步驟(2)中:對(duì)于方向鍵控制接口,不同風(fēng)格的界面定義可能是不同的,有的按鍵是自上而下,有的按鍵是自左而由,使用該接口后,完全可以在界面函數(shù)中進(jìn)行定義,而不用動(dòng)用控制函數(shù)。
3結(jié)論
通過(guò)控制模塊和界面模塊中間的接口對(duì)這兩層進(jìn)行抽象,使得軟件代碼可以完全分離。從而控制軟件可以模塊話,避免了每次更新軟件都要?jiǎng)涌刂颇K,縮短了軟件開(kāi)發(fā)周期,提高了軟件質(zhì)量,降低了軟件開(kāi)發(fā)的人工投入。