□楊曉琴
(太原廣播電視大學(xué),山西 太原 030002)
作為以開(kāi)放的學(xué)習(xí)模式和多媒體教學(xué)技術(shù)為辦學(xué)特點(diǎn)的成人高校,電大不僅面臨著普通高校同樣的問(wèn)題,也存在著自身的特殊挑戰(zhàn)。學(xué)生人數(shù)的攀升不僅使得涉及的專業(yè)廣、班級(jí)多,而且專業(yè)和班級(jí)學(xué)生人數(shù)也分布不均勻,龐大的教材數(shù)量和種類也為電大的教材管理工作帶來(lái)了更大的難題和挑戰(zhàn)。仍用傳統(tǒng)的手工方式來(lái)預(yù)定教材,難免會(huì)出現(xiàn)遺漏和統(tǒng)計(jì)失誤的情況。在經(jīng)過(guò)充分研究和設(shè)計(jì)后,結(jié)合電大教材管理的實(shí)際工作需求,設(shè)計(jì)開(kāi)發(fā)了一套基于C#技術(shù)的電大教材管理系統(tǒng),實(shí)現(xiàn)了電大教材管理工作的辦公自動(dòng)化和信息化。
系統(tǒng)設(shè)計(jì)是在需求分析的基礎(chǔ)上對(duì)實(shí)際需求和目標(biāo)功能進(jìn)行科學(xué)、完善的設(shè)計(jì)以實(shí)現(xiàn)系統(tǒng)開(kāi)發(fā)的目的。結(jié)合電大教材管理工作中特殊的實(shí)際需求,實(shí)現(xiàn)教材入庫(kù)、教材領(lǐng)用和教材核算等功能的信息化管理。下面分別從系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)四個(gè)方面進(jìn)行一一闡述。
系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)。系統(tǒng)采用C/S體系架構(gòu),基于.Net開(kāi)發(fā)平臺(tái)。后臺(tái)數(shù)據(jù)庫(kù)使用主流的MSSQL Server 2005,PowerDesigner12作為數(shù)據(jù)庫(kù)設(shè)計(jì)工具,前臺(tái)采用C#開(kāi)發(fā)語(yǔ)言進(jìn)行編碼,實(shí)現(xiàn)面向?qū)ο?、跨平臺(tái)的系統(tǒng)設(shè)計(jì)。
系統(tǒng)業(yè)務(wù)流程分析。傳統(tǒng)的手工教材管理流程:根據(jù)中央電大培養(yǎng)計(jì)劃、學(xué)期內(nèi)的專業(yè)數(shù)、班級(jí)數(shù)和學(xué)生人數(shù)訂購(gòu)教材。教材發(fā)回后,對(duì)新教材做手工入庫(kù)登記。待核收無(wú)誤后,按班級(jí)為單位發(fā)放學(xué)生教材。教材發(fā)放時(shí)需對(duì)教材進(jìn)行登記并人工填寫(xiě)教材發(fā)放表和領(lǐng)用人簽字表。再手工進(jìn)行教材的核算統(tǒng)計(jì),即統(tǒng)計(jì)教材發(fā)放數(shù)量和財(cái)務(wù)結(jié)算查看其一致性。這種模式存在著明顯的不足和缺陷,需要人工反復(fù)核對(duì),不僅增加了工作量而且容易出錯(cuò)。教材的統(tǒng)計(jì)和核算工作也需要專人負(fù)責(zé),增加了學(xué)校的人力成本。
優(yōu)化的教材管理流程:在教材管理系統(tǒng)中的班級(jí)管理模塊錄入班級(jí)基礎(chǔ)信息(如:班級(jí)名、年級(jí)、專業(yè)、系列、層次等基本信息),核定班級(jí)人數(shù)并指定班主任。在教材管理模塊錄入教材的基本信息(如:教材名稱、出版社、單價(jià)、數(shù)量、折扣等基本信息),完成教材入庫(kù)登記。維護(hù)教材類別并與班級(jí)信息相關(guān)聯(lián)。指定班級(jí)領(lǐng)用教材的科目、數(shù)量、學(xué)期、單價(jià)等信息進(jìn)行領(lǐng)用,并打印教材領(lǐng)用單。教材管理人員進(jìn)行結(jié)算統(tǒng)計(jì),完成教材發(fā)放的統(tǒng)計(jì)和存儲(chǔ)功能,并打印教材核算單。
優(yōu)化的教材管理流程不僅邏輯嚴(yán)謹(jǐn)、操作簡(jiǎn)單,而且避免了人工出錯(cuò)的問(wèn)題。大大減輕了教材管理人員的勞動(dòng)量和勞動(dòng)強(qiáng)度,特別是系統(tǒng)可以自動(dòng)實(shí)現(xiàn)教材的統(tǒng)計(jì)和財(cái)務(wù)核算工作,既節(jié)省了工作時(shí)間也提高了工作準(zhǔn)確性。還自動(dòng)保存歷史教材的發(fā)放記錄,實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)的統(tǒng)計(jì)、查詢和對(duì)比,確保教材信息的完整性。
系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)。對(duì)電大教材管理的實(shí)際需求分析后,參照優(yōu)化后的新流程,提煉教材管理工作的核心和特點(diǎn),將電大教材管理系統(tǒng)的主要功能大致分為教材管理、班級(jí)管理、學(xué)期管理、教材領(lǐng)用、教材核算、用戶管理、系統(tǒng)管理等幾個(gè)功能。各個(gè)功能模塊詳細(xì)設(shè)計(jì)介紹如下:
教材管理模塊:該模塊主要完成教材信息的入庫(kù)、修改、刪除、查詢、刷新、過(guò)濾等功能。教材入庫(kù)功能完成對(duì)教材的名稱、編碼、分類、單價(jià)、折扣、數(shù)量、出版社等基本信息的錄入。教材修改功能是在教材信息不一致或有更新時(shí),及時(shí)修改教材信息并確保教材信息的一致性。教材刪除功能是在教材錄入有誤的情況下采取的有效措施以減少垃圾數(shù)據(jù)的產(chǎn)生。查詢功能可按教材的各類查詢條件進(jìn)行精確或模糊查詢,實(shí)現(xiàn)教材管理人員對(duì)教材的詳細(xì)信息瀏覽。考慮到龐大的教材數(shù)據(jù)量給查詢帶來(lái)的不便,特別設(shè)計(jì)了使操作更為簡(jiǎn)單快捷的刷新和過(guò)濾功能。
班級(jí)管理模塊:該模塊主要實(shí)現(xiàn)班級(jí)信息的添加、刪除、修改、查詢、刷新、過(guò)濾等功能。班級(jí)信息的添加是完成對(duì)班級(jí)的編碼、分類(如:省校本、省校專、中心本、中心專等)、名稱、年級(jí)、專業(yè)、班主任等信息的錄入。類似于教材管理模塊,班級(jí)的修改、刪除和查詢功能是維護(hù)班級(jí)信息的補(bǔ)充和擴(kuò)展。
學(xué)期管理模塊:該模塊主要實(shí)現(xiàn)學(xué)期信息的添加、刪除、修改、查詢、刷新、過(guò)濾等功能。學(xué)期管理雖然相對(duì)于教材管理和班級(jí)管理比較簡(jiǎn)單,但是功能全面。
教材領(lǐng)用模塊:教材領(lǐng)用是電大教材管理系統(tǒng)的核心。該模塊主要是將班級(jí)與班級(jí)應(yīng)領(lǐng)用的教材進(jìn)行一一對(duì)應(yīng)。首先選定班級(jí),通過(guò)班級(jí)的類別屬性與教材的類別屬性關(guān)聯(lián),系統(tǒng)自動(dòng)將不是同一類別的教材過(guò)濾掉,以保證操作的準(zhǔn)確性。在一一對(duì)應(yīng)的過(guò)程中指定數(shù)量、預(yù)定數(shù)、實(shí)領(lǐng)數(shù)、學(xué)期等信息。領(lǐng)用完成后,可打印教材領(lǐng)用單。因教材信息量大,直接影響操作人員的查找教材的速度。本模塊提供了拼音首字母過(guò)濾功能以實(shí)現(xiàn)快速定位教材的目的。高級(jí)檢索功能可根據(jù)教材的不同條件,選擇采用精確或模糊查詢的方式快速定位。
教材核算模塊:教材核算是電大教材管理系統(tǒng)的最終目標(biāo)。該模塊主要完成已領(lǐng)教材的庫(kù)存盤(pán)點(diǎn)和財(cái)務(wù)核算功能。系統(tǒng)自動(dòng)根據(jù)教材領(lǐng)用情況生成庫(kù)存數(shù)量和領(lǐng)用數(shù)量,對(duì)兩種數(shù)據(jù)統(tǒng)計(jì)后,生成統(tǒng)計(jì)報(bào)表并打印教材核算單。
用戶管理模塊:該模塊主要實(shí)現(xiàn)用戶信息的添加、刪除、修改、查詢、刷新、過(guò)濾等功能,并對(duì)登錄用戶的授權(quán)和模塊定義。本系統(tǒng)包含兩種權(quán)限用戶:普通用戶和超級(jí)用戶。超級(jí)用戶即系統(tǒng)管理員為最高權(quán)限。只有系統(tǒng)管理員才有用戶管理和系統(tǒng)管理的權(quán)限。普通用戶是最低用戶,只能使用系統(tǒng)中的基本功能,不能實(shí)現(xiàn)對(duì)人員權(quán)限的分配。
系統(tǒng)管理模塊:該模塊主要實(shí)現(xiàn)系統(tǒng)模塊的定義、用戶界面排版、自定義功能設(shè)置、系統(tǒng)參數(shù)設(shè)置、數(shù)據(jù)備份與恢復(fù)等功能。本模塊設(shè)計(jì)靈活,功能擴(kuò)展性強(qiáng)。其中,增加和刪除模塊無(wú)需修改代碼只需前臺(tái)操作即可實(shí)現(xiàn)。
系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)庫(kù)(Data Base,簡(jiǎn)稱DB)是在數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的統(tǒng)一管理下,將具有較少冗余、較高的獨(dú)立性,支持多用戶共享,并且相互有聯(lián)系的文件集合。本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)遵循三級(jí)結(jié)構(gòu)、二級(jí)映射的組織形式。不同數(shù)據(jù)存放在不同的信息表中,結(jié)構(gòu)設(shè)計(jì)以系統(tǒng)實(shí)體為對(duì)象,表與表之間的關(guān)聯(lián)通過(guò)外鍵和中間表的形式來(lái)建立,最大限度地減少數(shù)據(jù)冗余,提高系統(tǒng)查詢速度。在需求分析的基礎(chǔ)上,經(jīng)過(guò)調(diào)查分析和數(shù)據(jù)提取后,教材管理系統(tǒng)所需存儲(chǔ)和處理的數(shù)據(jù)主要?jiǎng)澐譃榻滩男畔?、班?jí)信息、出庫(kù)信息、學(xué)期信息和用戶信息等幾種數(shù)據(jù)。在保證關(guān)系規(guī)范化的前提下,進(jìn)行數(shù)據(jù)庫(kù)結(jié)構(gòu)和二維表結(jié)構(gòu)的設(shè)計(jì),實(shí)現(xiàn)減少存儲(chǔ)數(shù)據(jù)的冗余度。由以上原則建立的主要數(shù)據(jù)庫(kù)表有:教材信息表(BookList):教材系統(tǒng)號(hào)、教材名稱、教材代碼、拼音碼、單價(jià)、數(shù)量、總額、備注、出版商等字段;班級(jí)信息表(ClassList):班級(jí)系統(tǒng)號(hào)、班級(jí)名稱、班級(jí)代碼、拼音碼、年級(jí)、班主任、專業(yè)、類別等字段;出庫(kù)表(ClassUseBooks):班級(jí)系統(tǒng)號(hào)、教材系統(tǒng)號(hào)、班級(jí)代碼、教材代碼、學(xué)期、領(lǐng)用數(shù)量、領(lǐng)用人、領(lǐng)用時(shí)間、備注等字段;學(xué)期信息表(XueQiList):學(xué)期代碼、學(xué)期名、拼音碼等字段;用戶信息表(Userinfo):用戶名、用戶編碼、用戶密碼、校驗(yàn)碼、權(quán)限等字段。
統(tǒng)計(jì)報(bào)表的準(zhǔn)確性問(wèn)題。教材領(lǐng)用單和教材核算單是電大教材管理系統(tǒng)最終的呈現(xiàn)方式。報(bào)表的準(zhǔn)確性直接關(guān)系著教材的正確領(lǐng)用和財(cái)務(wù)的正確核算。為此,本系統(tǒng)采用第三方控件Developer Express.NET中的報(bào)表控件“XtraReports”,直接和實(shí)時(shí)更新的數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行綁定。核心代碼如下:
xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[]
{new DevExpress.XtraReports.UI.XRBinding("Text",this.dsClassUseBook1,"ClassUseBook.iOrderNum","")});
快速查詢方法的實(shí)現(xiàn)。查詢功能貫穿在整個(gè)系統(tǒng)的多個(gè)功能模塊,如何在海量數(shù)據(jù)中快速定位是本系統(tǒng)面臨的一個(gè)難題。為此,在多個(gè)操作界面特設(shè)置過(guò)濾功能按鈕,輸入拼音碼的首字母即可實(shí)現(xiàn)快速定位所需的信息。同時(shí),使用用戶自定義控件“TextBoxFilter”實(shí)現(xiàn)過(guò)濾功能。核心代碼如下:
string filter="("+columnName+"like'"+strText+"%')";
dvFilter.RowFilter=filter;
數(shù)據(jù)一致性問(wèn)題。教材和班級(jí)信息不斷更新,如何保證教材庫(kù)的更新與教材領(lǐng)用、教材核算之間的一致性問(wèn)題也是本系統(tǒng)面臨的又一個(gè)難題。通過(guò)保存時(shí)校驗(yàn)庫(kù)存和數(shù)據(jù)庫(kù)增加觸發(fā)器同步數(shù)據(jù)的方式保證數(shù)據(jù)一致性。觸發(fā)器語(yǔ)句如下:
update a set iNum=iNum-iUseNum from BookList a join inserted b on a.iBookId=b.iBookId
系統(tǒng)安全性問(wèn)題。信息化建設(shè)最大的問(wèn)題之一就是系統(tǒng)安全問(wèn)題,系統(tǒng)安全涉及權(quán)限分配和數(shù)據(jù)完整,直接關(guān)系系統(tǒng)開(kāi)發(fā)的成敗。首先通過(guò)角色的不同分配不同的權(quán)限。然后在系統(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)時(shí)采用加密字符串的形式,而不是以明碼的方式保存,即保證數(shù)據(jù)庫(kù)的安全性,又增加系統(tǒng)安全系數(shù)。加密函數(shù)如下:
StringBuilder strB=new StringBuilder(32);
int value=WinApiDll.dtEncode32(inStr,strB);
界面簡(jiǎn)單友好,操作簡(jiǎn)便流暢。系統(tǒng)界面友好、符合操作習(xí)慣。過(guò)濾和模糊查詢功能降低了工作難度。拼音碼首字母過(guò)濾的查詢方式簡(jiǎn)化了錄入操作,如:在教材和班級(jí)列表中,輸入第一個(gè)漢字的首字母即可輕松定位,操作方便快捷。檢索記憶功能保證選擇界面排在前面的部分始終默認(rèn)為使用次數(shù)最多的選項(xiàng)。
功能全面,系統(tǒng)穩(wěn)定。系統(tǒng)嚴(yán)格按照教材管理人員的實(shí)際需求,結(jié)合當(dāng)前信息技術(shù)元素開(kāi)發(fā)完成教材管理系統(tǒng),功能簡(jiǎn)單全面,經(jīng)多次測(cè)試驗(yàn)證后,系統(tǒng)已正式上線運(yùn)行穩(wěn)定。
支持多用戶同時(shí)工作。不同于單機(jī)版管理系統(tǒng),系統(tǒng)是基于MSSQLServer數(shù)據(jù)庫(kù)技術(shù),不限制用戶數(shù)量,多個(gè)終端同時(shí)進(jìn)行工作,相互之間不會(huì)受到影響。
靈活性強(qiáng)和支持功能延伸。遵循公認(rèn)開(kāi)發(fā)規(guī)范和定義規(guī)定,在系統(tǒng)開(kāi)發(fā)過(guò)程中定義多個(gè)接口文檔,為系統(tǒng)的進(jìn)一步功能延伸提供支持。數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)設(shè)計(jì)均采用面向?qū)ο笤O(shè)計(jì)模式,將電大教材系統(tǒng)中的各種實(shí)體作為系統(tǒng)的處理對(duì)象,實(shí)現(xiàn)系統(tǒng)的靈活性和可重用性。
支持自動(dòng)更新。系統(tǒng)部署比較繁瑣是C/S體系架構(gòu)的主要缺陷,自動(dòng)更新的實(shí)現(xiàn)解決了數(shù)據(jù)變動(dòng)時(shí)需對(duì)每一個(gè)客戶端程序進(jìn)行更新的缺陷。在客戶端系統(tǒng)登錄時(shí),自動(dòng)校驗(yàn)版本情況,一旦有新版本程序登記,將自動(dòng)下載新版本至客戶端,并覆蓋舊版本系統(tǒng)以增強(qiáng)系統(tǒng)實(shí)時(shí)更新的能力。
基于C/S的體系架構(gòu)。在計(jì)算機(jī)應(yīng)用普及的今天,客戶端PC機(jī)的性能大大增強(qiáng),單機(jī)處理能力強(qiáng)大,分擔(dān)服務(wù)器的負(fù)荷,降低對(duì)服務(wù)器的性能要求,甚至在小型系統(tǒng)和小型局域網(wǎng)內(nèi),一臺(tái)PC機(jī)即可作為一臺(tái)服務(wù)器使用。C/S體系架構(gòu)的優(yōu)點(diǎn)是客戶端響應(yīng)速度快,安全性高。教材管理系統(tǒng)是使用范圍較小,客戶端數(shù)量少的小型應(yīng)用系統(tǒng),對(duì)服務(wù)器的要求不高。因此,采用C/S體系架構(gòu)是開(kāi)發(fā)本系統(tǒng)的首要選擇。
采用當(dāng)前主流開(kāi)發(fā)軟件技術(shù)。本系統(tǒng)是基于Microsoft的.Net開(kāi)發(fā)平臺(tái)、FrameWork2.0為.Net框架、采用當(dāng)前流行的C#開(kāi)發(fā)語(yǔ)言進(jìn)行編碼、Visual Studio 2005為開(kāi)發(fā)工具。后臺(tái)數(shù)據(jù)庫(kù)使用主流的MSSQLServer2005和Sybase公司出品的世界知名軟件PowerDesigner12作為數(shù)據(jù)庫(kù)設(shè)計(jì)工具。
隨著校園信息化的迅猛迅速,基于C#技術(shù)的電大教材管理系統(tǒng)為電大的教材管理工作乃至整個(gè)教學(xué)工作的順利開(kāi)展提供了有效的保障,也為電大信息化建設(shè)提供了一個(gè)新的發(fā)展模式。目前,教材管理系統(tǒng)在我校已運(yùn)行將至兩年,系統(tǒng)運(yùn)行穩(wěn)定,效果顯著,具有可擴(kuò)展性,實(shí)現(xiàn)了教材管理的信息化。
[1]楊開(kāi)英.?dāng)?shù)據(jù)庫(kù)系統(tǒng)概論[M].武漢:武漢理工大學(xué)出版社,2003.
[2]李俊平.Delphi程序設(shè)計(jì)與軟件項(xiàng)目開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2007.
[3]高玉蘭.試論高職教材《建設(shè)工程法規(guī)》的改革與探索[J].山西廣播電視大學(xué)學(xué)報(bào),2011,(4).
[4]馬宏偉,田麗,徐進(jìn).校園網(wǎng)絡(luò)環(huán)境下學(xué)生管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].山東建筑工程學(xué)院學(xué)報(bào),2001,(4).
[5]朱如龍.SQL Server數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2004.