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