周夢熊,包 健,張萬軍(杭州電子科技大學軟件工程學院,浙江杭州 310018)
動態表單技術在教學管理中的應用*
周夢熊,包 健,張萬軍(杭州電子科技大學軟件工程學院,浙江杭州 310018)
針對教學管理中固定表單技術不能滿足日益變化的需求問題,提出了基于XML的動態表單技術在教學管理中的應用思路,同時闡述了動態表單的存儲、重現,以及表單數據的訪問和Excel文件形式的表單數據導出等技術,并給出了設計上的關鍵細節和方法。
教學管理;動態表單;XML
眾所周知,隨著高校的不斷擴招,教學規模也隨之擴大,相應的教學管理工作也變得日益繁瑣,特別是針對需求靈活的一些應用,簡單的一成不變的固定表單技術已經不能滿足工作上的需要,因此,動態表單技術在教學管理中的需求就顯得越來越迫切。
在教學管理中,讓管理人員頭疼的問題,就是需求是不斷變化的,特別是表單項的更改,對于沒有軟件開發經驗的管理人員來講惟一能做的只有聯系軟件開發人員進行程序修改,同時還要修改數據表,工作量會比較大,這樣系統維護成本比較高。
鑒于此,本文提出了基于XML的動態表單的實現技術,實現了數據和表單的分離,方便表單重現和數據的存儲,此外,還支持表單數據以Excel文件形式導出,方便辦公人員的進一步操作。
1.系統總體思想
考慮到辦公人員需要對錄入的數據進行進一步的分析統計,另外結合目前關系型數據庫的數據操作方便性等特點,系統在設計時候考慮到了根據動態表單自動生成相應的數據表,這樣最終錄入的數據會自動存儲在相應的數據表,最后可以利用SQL語句進行高效的數據操作。
因此,系統在動態表單的存儲上采用XML文件形式進行存儲,動態表單所對應的用戶提交數據采用關系型數據庫進行存儲。
這樣,系統就實現了數據和表單的分離,數據和表單的單獨管理,同時也實現了在錄入表單數據時的表單重現。
2.系統總體流程
本文所設計的系統,其總體運行流程如圖1所示。

首先是登錄操作,根據權限判斷,如果是管理員,那么可以選擇表單設計或者表單操作。
如果是表單設計,那么就進入到表單設計界面,設計完畢后會自動生成表單并以XML形式進行存儲,同時會在關系型數據庫中生成相應的數據表 (用來存儲用戶提交表單的數據)。
如果是表單操作,那么可以選擇查看、刪除和導出表單三項操作中的任何一項。如果是查看操作,則可以瀏覽用戶提交表單的數據;如果是刪除操作,則刪除相應的表單,同時刪除生成的相應數據表和數據;如果是導出操作,則將以Excel文件形式導出該表單相關的用戶提交數據。
如果是普通用戶,那么就可以進行表單數據的錄入操作,根據給定的表單選擇進入后,系統會讀取XML文件形式的表單進行重現,之后正常錄入數據,直到提交表單結束操作。
這里以學生考勤表單的動態設計在教學管理中的應用為例,闡述一些設計上的關鍵技術和細節。
1.表單設計
如圖2所示,是一個表單設計的可視化界面。
用戶首先輸入表單名,這里的表單名可以采用中英文(最后以該名稱生成相應的數據表),接著輸入表單文件名,即最后生成的XML形式表單文件的名稱。
接下去就是表單中的表單項設置,如圖2所示,這里設計了一個學生考勤的表單,表單項包含學號、姓名、類型(遲到、早退和曠課)、節數(1節、2節、3節和4節)、備注。

下拉列表里是相應的表單項類型,比如文本框、密碼框、單選框、復選框和下拉列表等,在設計過程中,有選擇性地設置對應的表單項類型。假設一般課程為1~4節,那么“節數”表單項這里就應該選擇單選框。
在技術實現上,考慮到交互操作的靈活性,這里采用JavaScript技術。當點擊“增加表項”后會自動生成新的一行表項;點擊“刪除表項”后會刪除當前表單項;當選擇“單選/復選/下拉列表”時會有 “增加屬性”的子項。JavaScript技術可以使得交互操作非常靈活方便。
2.表單和數據的存儲
為了實現表單和數據的分離,表單采用XML文件形式進行存儲,根據前面學生考勤表單的設計,相應地會生成一個kaoqin.xml文件。
在數據庫中有兩個固定的表,login表用來存儲登錄的賬號,table表用來存儲表單名稱和相應的數據表名的關聯記錄。
根據表單的設計,數據庫中會生成一個學生考勤表,它是根據表單名稱動態生成的數據表,表的字段結構和表單項一一對應,用來存儲用戶提交的表單數據。
用戶的表單提交數據及其存儲情況,如圖3所示。

以上就是表單和數據的分離設計。
3.表單重現
表單重現,顧名思義,就是根據之前表單的定義,在使用中將表單重新展現給用戶的一個過程。
學生考勤表單的定義文件以kaoqin.xml形式存儲,在表單重現過程中,系統首先讀取XML文件,之后再根據讀取的內容進行判斷并顯示。
表單重現的總體過程如下:
(1)讀入XML文件,緊接著讀取節點列表,之后再對節點列表中的一個個節點數據進行分析,即節點數據解析,節點數據解析分兩種情況:“表單項含屬性和不含屬性”。前者比如單選框、復選框、下拉列表等表單項;后者就是一般的表單項處理。
(2)對于不同的表單項,做出不同的解析處理,最后就可以實現表單的重現。

如圖4所示,是一個完整的學生考勤表單的重現,包含學號、姓名、類型、節數和備注,同時還有提交和重置按鈕。
作為演示,這里簡單填寫了一個表單數據,數據填寫完畢后,點擊提交按鈕,完成數據錄入操作,之后就可以在相應的數據表(學生考勤表)中看到剛剛錄入的數據,如圖3所示。
4.表單數據導出
在教學管理當中,經常性需要打印數據。比如對于學生考勤來講,除了教師定期上報數據外,教學管理人員還需要打印并請相關人員簽字備案。
因此,系統也提供了表單數據導出的功能,結合Excel處理數據高效快捷等原因,最后,采用Excel文件形式導出表單數據。
點擊“導出”操作,表單數據導出,打開導出的Excel文件,如圖5所示。

本文設計并實現了一個通用的動態表單系統,通過學生考勤表單的動態設計及其在教學管理中的應用為例,證明了動態表單技術能很好地解決教學管理中一些實時需求問題,可以大大提高教學管理人員的工作效率??傊?,在復雜多變的教學管理中,動態表單技術的應用必將發揮越來越重要的作用。
[1]張佳強,王士同.信息管理系統動態表單技術的研究與實現[J].計算機應用與軟件,2010.27(8):29-32.
[2]蔣國銀,劉鵬遠.基于XML的動態表單設計[J].中國管理信息化,2006.9(9):83-84.
[3]劉友生.基于數據表的動態表單處理技術[J].計算機工程與應用,2004(34):199-201.
(編輯:金冉)
G424
B
1673-8454(2012)01-0074-03
*由浙江省2010年新世紀教改項目“軟件工程專業CDIO工程教育模式研究與實踐”資助(項目編號:zc2010023)。