董書劍
摘要:該文以圖書管理系統(tǒng)的開發(fā)為例,在遵循軟件開發(fā)的一般流程下,對(duì)軟件界面設(shè)計(jì)的統(tǒng)一性和通用性來做了一定程度的探討。
關(guān)鍵詞:信息管理系統(tǒng);通用性;統(tǒng)一性
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)27-0054-02
1 概述
1.1 課題背景
在軟件開發(fā)的時(shí)候,計(jì)算機(jī)專業(yè)人員應(yīng)該從用戶的基本需求入手,結(jié)合系統(tǒng)服務(wù)范圍和規(guī)模,采用適當(dāng)?shù)拈_發(fā)策略和工具,對(duì)于小型、簡(jiǎn)單的軟件來說,可以以便捷快速開發(fā)工具為輔助,對(duì)于任務(wù)重疊的工作流程應(yīng)注意梳理和分析,提高窗體界面的一致性和通用度。本文以圖書管理信息系統(tǒng)的快速開發(fā)為例。
1.2 設(shè)計(jì)思想
對(duì)于軟件開發(fā)來說,注重幾個(gè)原則:
1) 軟件有著良好的易用性和通用性,操作簡(jiǎn)單明了;
2) 界面美觀,簡(jiǎn)明統(tǒng)一,布局合理,便于實(shí)現(xiàn)人機(jī)交互;
3) 代碼的實(shí)效性高,減少冗余代碼,對(duì)數(shù)據(jù)庫表的操作要少而精;
4) 窗體通用性好,對(duì)于一些功能非常類似的模塊應(yīng)提高窗體的利用率。
2 系統(tǒng)設(shè)計(jì)分析
2.1 系統(tǒng)分析
2.1.1系統(tǒng)需求分析
對(duì)于本文例子而言,圖書館中有大量的書籍,讀者有相應(yīng)的讀者信息,讀者借、還書會(huì)產(chǎn)生對(duì)應(yīng)的借書信息、還書信息。大量相關(guān)的信息維護(hù)操作都是類似的,我們可以從系統(tǒng)的功能分析圖入手分析。
2.1.2 功能分析圖
圖書館管理信息系統(tǒng)的功能分析圖如圖1所示。
對(duì)于本系統(tǒng)而言,圖書類別、圖書信息、讀者信息等等界面維護(hù)上都有類同之處,窗體設(shè)計(jì)時(shí)需要通盤考慮和分析,減輕窗體設(shè)計(jì)負(fù)擔(dān),同樣信息流程上也存在類似之處,盡量通過事件、標(biāo)識(shí)符等區(qū)別響應(yīng)的處理流程??傮w而言,在軟件系統(tǒng)設(shè)計(jì)的最初期是最有利于作系統(tǒng)功能分析以及窗體設(shè)計(jì)的階段,通過充分提煉系統(tǒng)功能的相似性和通用性來確定程序界面設(shè)計(jì)的總體要求。實(shí)際上,一些開發(fā)工具中控件[1]的實(shí)現(xiàn),就是代表著一種廣泛通用性的思想,也大大縮短了軟件的開發(fā)周期。
對(duì)于本例而言,我們通過功能分析圖,系統(tǒng)大體上分為兩大類窗體,一是信息類的基本模塊,例如進(jìn)行添刪改查的操作;二是系統(tǒng)功能的核心,即圖書的流通。各個(gè)實(shí)體以及附屬的相關(guān)屬性目的是服務(wù)于核心功能,那么我們?cè)谠O(shè)計(jì)界面時(shí)候,就可以參考這樣一個(gè)總體的思想。
3 軟件界面的思考
3.1 系統(tǒng)界面統(tǒng)一性
3.1.1 基本模塊
當(dāng)系統(tǒng)的功能復(fù)雜度增加時(shí),系統(tǒng)開發(fā)設(shè)計(jì)將成為一個(gè)繁重的任務(wù)。對(duì)于快速化開發(fā)工具來說,窗體設(shè)計(jì)也是軟件開發(fā)的重要組成部分,對(duì)于用戶來說,統(tǒng)一的界面有助于增強(qiáng)用戶的易用性,軟件的界面美觀度也會(huì)提高。對(duì)圖書管理系統(tǒng)來說,對(duì)于一些功能相似的模塊可歸為一類,比如用戶信息的添加,讀者、圖書信息的添加,都屬于信息添加模塊,他們?cè)诠δ苌鲜窍嗨频?,設(shè)計(jì)思想相近,這些模塊都遵循一定的設(shè)計(jì)流程,數(shù)據(jù)流程也是類似的,一般為檢查輸入數(shù)據(jù)的合法性,連接數(shù)據(jù)庫,最后完成相應(yīng)的模塊功能。
在信息管理系統(tǒng)中,既然有信息的添加模塊,對(duì)于信息的維護(hù)模塊是必不可少的,信息維護(hù)包括對(duì)已有信息的修改、刪除等操作,在設(shè)計(jì)軟件時(shí),要考慮到界面一致性的問題,減少用戶的適應(yīng)時(shí)間,模塊在無論在界面布局上,還是在操作上,都有高度的統(tǒng)一性,這種統(tǒng)一性對(duì)于代碼的編寫是非常有效的,可以通過界面、操作的統(tǒng)一來減少代碼的編寫量。
在本例中,系統(tǒng)涉及的統(tǒng)一維護(hù)模塊有:用戶信息維護(hù),讀者類別信息維護(hù),讀者信息維護(hù),圖書信息維護(hù),圖書類別信息維護(hù),這幾個(gè)模塊在界面布局上、操作上、數(shù)據(jù)流上都有著很高的一致性,實(shí)際上我們可以把以上幾類維護(hù)模塊界面的設(shè)計(jì)高度統(tǒng)一起來。
3.1.2 核心模塊
在本例圖書管理系統(tǒng)中,核心功能就是圖書的借閱歸還操作,因此在系統(tǒng)中這兩個(gè)模塊是至關(guān)重要的。在窗體設(shè)計(jì)的過程中,要考慮到讀者在借閱,歸還圖書過程中涉及的各個(gè)方面。
對(duì)系統(tǒng)的這兩個(gè)功能模塊進(jìn)行分析,同理,類似于基本模塊,軟件的核心功能在布局上遵循一貫的界面統(tǒng)一原則,借閱模塊和歸還模塊的界面是類似的,并且對(duì)于讀者來說,輸入讀者編號(hào)后,通過標(biāo)簽控件來顯示讀者信息,使得借閱歸還非常方便。
在讀者信息顯示框中,借助標(biāo)簽控件來顯示數(shù)據(jù)庫[2]中的讀者的各項(xiàng)信息,運(yùn)行界面為:
在維護(hù)界面一致的情況下,歸還窗體在布局的設(shè)計(jì)上應(yīng)與借閱模塊類似,方便用戶對(duì)圖書流通進(jìn)行管理。
3.2 窗體通用性
通過充分利用窗體的通用性,減少窗體數(shù)量和代碼量。
在設(shè)計(jì)圖書管理系統(tǒng)時(shí),既有界面一致,也有信息一致,基本模塊的功能完全可以用一個(gè)窗體來實(shí)現(xiàn),即信息添刪改查的模塊。對(duì)于程序功能而言,只需要在運(yùn)行時(shí)動(dòng)態(tài)的修改窗體的標(biāo)題和窗體上控件的名稱,如將“確定“按鈕,變?yōu)椤备隆鞍粹o,標(biāo)題由“添加信息”,改為“修改信息”等等,最后在窗體退出這個(gè)事件中,把改過的內(nèi)容恢復(fù)過來就可以了。這樣就可以減少窗體的數(shù)量,進(jìn)一步提高程序的靈活性。只是在維護(hù)模塊中調(diào)用通用窗體時(shí),需注意在窗體的加載事件中提前將要修改的數(shù)據(jù)顯示在文本框中,對(duì)于關(guān)鍵的唯一標(biāo)示字段數(shù)據(jù),文本框應(yīng)設(shè)置為不可修改。
實(shí)際上,在上面的基本信息模塊設(shè)計(jì)中,除了統(tǒng)一性的節(jié)目布局外,也已經(jīng)涉及窗體的通用性。我們從關(guān)鍵代碼中分析:
If Not IsNull(DataGrid1.Bookmark) Then
cmddel.Enabled = False
cmdmodify.Enabled = False
cmdcancel.Enabled = True
DataGrid1.AllowUpdate = True 'Datagrid控件的AllowUpdate屬性處于可用狀態(tài)
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = True
frmaddreaderinf.Caption = "修改讀者信息" '通用添加窗體,顯示要修改的數(shù)據(jù)
frmaddreaderinf.Command1.Caption = "更新"
frmaddreaderinf.Text1.Enabled = False
frmaddreaderinf.Text1=DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)
frmaddreaderinf.Text3= DataGrid1.Columns(2).CellValue(DataGrid1.Bookmark)
frmaddreaderinf.Text5=DataGrid1.Columns(6).CellValue(DataGrid1.Bookmark)
frmaddreaderinf.Text6=DataGrid1.Columns(5).CellValue(DataGrid1.Bookmark)
frmaddreaderinf.Text7=DataGrid1.Columns(4).CellValue(DataGrid1.Bookmark)
frmaddreaderinf.Show
Unload Me
End If
其中,frmaddreaderinf就是程序中添加讀者信息的模塊,這里在調(diào)用的過程中,動(dòng)態(tài)的設(shè)置了窗體信息,如標(biāo)題等,同時(shí)也把要修改并且是可以修改的數(shù)據(jù)顯示在文本框中。
我們可以通過窗體通用時(shí)界面的區(qū)別來反映他們之間的不同之處:
通過觀察可以發(fā)現(xiàn):標(biāo)題、按鈕都有動(dòng)態(tài)的變動(dòng),同時(shí),讀者編號(hào)文本框?yàn)椴豢尚薷臓顟B(tài)。實(shí)際上,在幾個(gè)基本信息添加與維護(hù)模塊中,都涉及了窗體的通用性,如讀者類別添加與維護(hù)模塊,圖書類別添加與維護(hù),圖書信息添加與維護(hù)等。
3.3 主窗體的實(shí)現(xiàn)
在本系統(tǒng)中,采用父子窗體模式,主窗體設(shè)計(jì)應(yīng)簡(jiǎn)潔大方,分別設(shè)計(jì)工具欄,菜單欄,狀態(tài)欄,這里分別涉及到Imagelist,Toolbar, StatusBar等幾個(gè)控件。在主窗體設(shè)計(jì)中依然需要考慮到界面統(tǒng)一性問題,在控件選擇上注意一致,以免造成父子窗體差異較大,影響用戶體驗(yàn)。
4 結(jié)束語
本文通過運(yùn)用快速化開發(fā)工具,對(duì)小型軟件的窗體設(shè)計(jì)和通用性做了簡(jiǎn)單的思考,在用戶體驗(yàn)和窗體界面設(shè)計(jì)環(huán)節(jié)中概括了一些通用性方法,也希望本文能起到拋磚引玉的作用。
參考文獻(xiàn):
[1] 何躍兵,王世平.控件在窗體中相對(duì)位置的確立[J].科技廣場(chǎng),2008(5).
[2] 張宗飛.VB中基于ADO的數(shù)據(jù)庫訪問技術(shù)分析及應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2008(3).