王鵬 郭暢 王健安
摘 要:隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,B/S模式在各類信息管理平臺中的應(yīng)用已經(jīng)變得越來越廣泛。相比于C/S模式,B/S模式具有開發(fā)簡單、維護(hù)簡單、共享性強(qiáng)以及具有分布性等優(yōu)勢。本文介紹了基于B/S結(jié)構(gòu)的中專信息管理平臺的設(shè)計(jì)與實(shí)現(xiàn),該平臺采用抗壓性比較強(qiáng)的Oracle 11g作為數(shù)據(jù)存儲工具,并結(jié)合Silverlight技術(shù)實(shí)現(xiàn)該平臺中較為重要的圖像采集功能。
關(guān)鍵詞:B/S模式;中專信息管理平臺;Oracle 11g;Silverlight
中圖分類號:TP311.52
1 引言
隨著信息技術(shù)的飛速發(fā)展的不斷深入,傳統(tǒng)的招生報(bào)名、錄取管理方法、手段以及工作效率己經(jīng)不能適應(yīng)新的發(fā)展需要,不能很高效率的完成報(bào)名、錄取招生工作。本課題運(yùn)用B/S模式并結(jié)合相關(guān)先進(jìn)的網(wǎng)絡(luò)信息技術(shù)可以提高招生人員的工作效率和解決異地報(bào)名的問題。
2 中專信息管理平臺需求分析
中專信息管理是對整個(gè)中專報(bào)名與錄取等信息進(jìn)行綜合管理工作的主要環(huán)節(jié)。根據(jù)對各級招生辦公室、中專院校以及考生進(jìn)行調(diào)查之后,將本系統(tǒng)化為兩部分:考生報(bào)名與后臺錄取管理兩部分。考生報(bào)名部分主要使用者為考生,完成志愿填報(bào)以及補(bǔ)報(bào);后臺錄取部分主要使用者為各級招辦以及學(xué)校,完成對填報(bào)志愿的考生進(jìn)行信息核對、信息更正以及預(yù)錄取、錄取等操作。根據(jù)對本系統(tǒng)的調(diào)查得到系統(tǒng)的用例圖如圖2-1所示:
3 中專信息管理平臺的設(shè)計(jì)
3.1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)采用B/S結(jié)構(gòu)[1],以Visual Studio 2010為開發(fā)平臺,后臺數(shù)據(jù)庫采用Oracle 11g。通過對本系統(tǒng)的需求分析及總體設(shè)計(jì),我們大致了解了整個(gè)中專信息管理平臺的流程,其中分為兩部分:一是考生進(jìn)行報(bào)名部分,二是對考生報(bào)名信息進(jìn)行修正、錄取等處理部分。根據(jù)對業(yè)務(wù)需求的分析,系統(tǒng)可以劃分為以下九個(gè)模塊,如圖3-1所示:
圖3-1列出了整個(gè)系統(tǒng)主要模塊,其功能進(jìn)行具體描述如下:
(1)查詢統(tǒng)計(jì)功能模塊:包括考生信息查詢、考生信息跟蹤、院校信息查詢、院校計(jì)劃查詢以及投檔情況統(tǒng)計(jì)。
(2)考生管理模塊:包括考生信息修改、考生成績申請/審批、圖像采集、取消考生注冊以及考生密碼初始化。
(3)數(shù)據(jù)管理模塊:包括中考成績導(dǎo)入和錄取數(shù)據(jù)導(dǎo)出。
(4)計(jì)劃管理模塊:包括計(jì)劃編制、計(jì)劃修改以及計(jì)劃審核。
(5)錄取管理模塊:包括投檔、閱檔、錄檢審核、錄取名冊打印、補(bǔ)錄以及錄取進(jìn)度查詢。
(6)普通用戶管理模塊:包括用戶添加/修改、權(quán)限分配以及權(quán)限配置。
(7)系統(tǒng)參數(shù)配置模塊:包括志愿配置、信息公告管理、注意事項(xiàng)配置以及基本參數(shù)配置。
系統(tǒng)的層次結(jié)構(gòu)[2]如表3.1所示:
3.2 應(yīng)用技術(shù)在本系統(tǒng)中的實(shí)現(xiàn)
(1)數(shù)據(jù)緩存技術(shù)。數(shù)據(jù)緩存技術(shù)用于將已經(jīng)被處理好的數(shù)據(jù)通過內(nèi)存、數(shù)據(jù)庫臨時(shí)文件等進(jìn)行存儲,在多次重復(fù)對這些靜態(tài)數(shù)據(jù)進(jìn)行訪問的時(shí)候,可以不通過重復(fù)的處理過程而進(jìn)行數(shù)據(jù)訪問[3]。為了提高頁面的加載速度以及減少數(shù)據(jù)死鎖的可能,我們對系統(tǒng)中像名族、性別等靜態(tài)信息使用數(shù)據(jù)緩存技術(shù)。其實(shí)現(xiàn)代碼主要包括兩種:
第一種,利用靜態(tài)的字典來存儲這些靜態(tài)信息。
private static Dictionary
public static Dictionary
{ //打開數(shù)據(jù)庫連接,從Oracle數(shù)據(jù)庫中使用存儲過程ProdureName讀取數(shù)據(jù);
//數(shù)據(jù)賦值,向字典中添加數(shù)據(jù)
//關(guān)閉數(shù)據(jù)庫,返回相應(yīng)的字典信息
}
在上述方法中,我們需要定義一個(gè)關(guān)于字典的屬性訪問器DictionaryName。在公共的DictionatyName()方法中,創(chuàng)建數(shù)據(jù)庫連接,通過調(diào)用存儲過程ProdureName對此類靜態(tài)數(shù)據(jù)進(jìn)行檢索,然后將檢索出來的字段通過Key/Value形勢添加都字典中去。
第二種,使用靜態(tài)列表存儲靜態(tài)數(shù)據(jù),其實(shí)現(xiàn)過程如下所示:
private static List
private bool InitDiQuList()
{ //連接數(shù)據(jù)庫
{//從數(shù)據(jù)庫中讀取數(shù)據(jù)lData,將信息添加到列表中mDiQuType.Add(lDiQu)。
}//關(guān)閉數(shù)據(jù)庫連接
return true;
}
當(dāng)程序中需要使用此類數(shù)據(jù)時(shí),實(shí)例化Cache類,調(diào)用其中的DictionaryName屬性或者封裝好的InitDiQuList()方法獲取數(shù)據(jù)。這樣一來,就實(shí)現(xiàn)了一種簡單的數(shù)據(jù)緩存,減輕了在對數(shù)據(jù)庫進(jìn)行并行訪問操作時(shí)對數(shù)據(jù)庫造成的壓力。
(2)Silverlight技術(shù)在圖像采集中的應(yīng)用。在本系統(tǒng)中,使用Silverlight技術(shù)來實(shí)現(xiàn)圖像采集的功能。其中Silverlight技術(shù)相比于flash更具優(yōu)勢,Silverlight是一個(gè)插件,能夠很好地跨瀏覽器、跨平臺實(shí)現(xiàn);而且具有更強(qiáng)的用戶體驗(yàn)與富交互性[4]。在本系統(tǒng)中,將圖像采用程序單獨(dú)使用Silverlight技術(shù)進(jìn)行開發(fā),其中主要包括如表3.2中所示的幾個(gè)類來實(shí)現(xiàn)圖像的采集與處理:
其中PngEncoder類是關(guān)于PNG格式的操作類,它最后會將圖像保存為PHG格式。其中封裝了public static Stream Encode(byte[] data, int width, int height), private static void WriteReversedBuffer(Stream stream, byte[] data),private static void WriteChunk(Stream stream, byte[] type, byte[] data),private static uint UpdateCRC(uint crc, byte[] buf, int len),private static uint GetCRC(byte[] buf),private static uint ComputeAdler32(byte[] buf)這幾個(gè)方法,以實(shí)現(xiàn)對PNG格式圖像的操作以及保存。
EditableImage類用于對圖片進(jìn)行處理,已獲得我們需要的特定格式的圖片。其中包括public EditableImage(int width,int height),public void SetPixel(int col,int row,Color color),public void SetPixel(int col,int row,byte red,byte green,byte blue,byte alpha),public Color GetPixel(int col,int row),public Stream GetStream(),private void OnImageError(string msg)幾種方法用以實(shí)現(xiàn)對圖片的處理。
StaticAddressClass類用于獲取SVC服務(wù),通過該服務(wù)接受得到的有關(guān)圖像的流文件,將其生成圖片傳輸出去。
最后將Camera工程進(jìn)行打包成Camera.xap文件,在主程序運(yùn)行圖像采集功能的時(shí)候會調(diào)用Camera.xap文件進(jìn)行圖像采集的相關(guān)操作。
4 結(jié)束語
基于B/S模式的中專信息管理平臺在中專報(bào)名與錄取的過程中表現(xiàn)出了極強(qiáng)的便利性,其能夠更好更快的獲得考生的信息,實(shí)現(xiàn)報(bào)名與錄取工作的自動化管理。這也為教育信息化的進(jìn)程起到了巨大的推動作用。
參考文獻(xiàn):
[1]童恒慶,梅清.基于.NET平臺的B/S系統(tǒng)開發(fā)框架的研究[J].微機(jī)發(fā)展,2004,14(8):61-66.
[2]溫昱.軟件架構(gòu)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[3]艾志國,劉萍,涂亞平.基于Web應(yīng)用程序中的數(shù)據(jù)緩存技術(shù)初探[J].計(jì)算機(jī)與信息技術(shù),2006,Z1.
[4]魏永超.銀光志Silverlight3.0開發(fā)詳解與最佳實(shí)踐[M].北京:清華大學(xué)出版社,2009.