周夢熊,包 健,張萬軍(杭州電子科技大學軟件工程學院,浙江杭州 310018)
動態(tài)表單技術在教學管理中的應用*
周夢熊,包 健,張萬軍(杭州電子科技大學軟件工程學院,浙江杭州 310018)
針對教學管理中固定表單技術不能滿足日益變化的需求問題,提出了基于XML的動態(tài)表單技術在教學管理中的應用思路,同時闡述了動態(tài)表單的存儲、重現(xiàn),以及表單數(shù)據(jù)的訪問和Excel文件形式的表單數(shù)據(jù)導出等技術,并給出了設計上的關鍵細節(jié)和方法。
教學管理;動態(tài)表單;XML
眾所周知,隨著高校的不斷擴招,教學規(guī)模也隨之擴大,相應的教學管理工作也變得日益繁瑣,特別是針對需求靈活的一些應用,簡單的一成不變的固定表單技術已經(jīng)不能滿足工作上的需要,因此,動態(tài)表單技術在教學管理中的需求就顯得越來越迫切。
在教學管理中,讓管理人員頭疼的問題,就是需求是不斷變化的,特別是表單項的更改,對于沒有軟件開發(fā)經(jīng)驗的管理人員來講惟一能做的只有聯(lián)系軟件開發(fā)人員進行程序修改,同時還要修改數(shù)據(jù)表,工作量會比較大,這樣系統(tǒng)維護成本比較高。
鑒于此,本文提出了基于XML的動態(tài)表單的實現(xiàn)技術,實現(xiàn)了數(shù)據(jù)和表單的分離,方便表單重現(xiàn)和數(shù)據(jù)的存儲,此外,還支持表單數(shù)據(jù)以Excel文件形式導出,方便辦公人員的進一步操作。
1.系統(tǒng)總體思想
考慮到辦公人員需要對錄入的數(shù)據(jù)進行進一步的分析統(tǒng)計,另外結合目前關系型數(shù)據(jù)庫的數(shù)據(jù)操作方便性等特點,系統(tǒng)在設計時候考慮到了根據(jù)動態(tài)表單自動生成相應的數(shù)據(jù)表,這樣最終錄入的數(shù)據(jù)會自動存儲在相應的數(shù)據(jù)表,最后可以利用SQL語句進行高效的數(shù)據(jù)操作。
因此,系統(tǒng)在動態(tài)表單的存儲上采用XML文件形式進行存儲,動態(tài)表單所對應的用戶提交數(shù)據(jù)采用關系型數(shù)據(jù)庫進行存儲。
這樣,系統(tǒng)就實現(xiàn)了數(shù)據(jù)和表單的分離,數(shù)據(jù)和表單的單獨管理,同時也實現(xiàn)了在錄入表單數(shù)據(jù)時的表單重現(xiàn)。
2.系統(tǒng)總體流程
本文所設計的系統(tǒng),其總體運行流程如圖1所示。
首先是登錄操作,根據(jù)權限判斷,如果是管理員,那么可以選擇表單設計或者表單操作。
如果是表單設計,那么就進入到表單設計界面,設計完畢后會自動生成表單并以XML形式進行存儲,同時會在關系型數(shù)據(jù)庫中生成相應的數(shù)據(jù)表 (用來存儲用戶提交表單的數(shù)據(jù))。
如果是表單操作,那么可以選擇查看、刪除和導出表單三項操作中的任何一項。如果是查看操作,則可以瀏覽用戶提交表單的數(shù)據(jù);如果是刪除操作,則刪除相應的表單,同時刪除生成的相應數(shù)據(jù)表和數(shù)據(jù);如果是導出操作,則將以Excel文件形式導出該表單相關的用戶提交數(shù)據(jù)。
如果是普通用戶,那么就可以進行表單數(shù)據(jù)的錄入操作,根據(jù)給定的表單選擇進入后,系統(tǒng)會讀取XML文件形式的表單進行重現(xiàn),之后正常錄入數(shù)據(jù),直到提交表單結束操作。
這里以學生考勤表單的動態(tài)設計在教學管理中的應用為例,闡述一些設計上的關鍵技術和細節(jié)。
1.表單設計
如圖2所示,是一個表單設計的可視化界面。
用戶首先輸入表單名,這里的表單名可以采用中英文(最后以該名稱生成相應的數(shù)據(jù)表),接著輸入表單文件名,即最后生成的XML形式表單文件的名稱。
接下去就是表單中的表單項設置,如圖2所示,這里設計了一個學生考勤的表單,表單項包含學號、姓名、類型(遲到、早退和曠課)、節(jié)數(shù)(1節(jié)、2節(jié)、3節(jié)和4節(jié))、備注。
下拉列表里是相應的表單項類型,比如文本框、密碼框、單選框、復選框和下拉列表等,在設計過程中,有選擇性地設置對應的表單項類型。假設一般課程為1~4節(jié),那么“節(jié)數(shù)”表單項這里就應該選擇單選框。
在技術實現(xiàn)上,考慮到交互操作的靈活性,這里采用JavaScript技術。當點擊“增加表項”后會自動生成新的一行表項;點擊“刪除表項”后會刪除當前表單項;當選擇“單選/復選/下拉列表”時會有 “增加屬性”的子項。JavaScript技術可以使得交互操作非常靈活方便。
2.表單和數(shù)據(jù)的存儲
為了實現(xiàn)表單和數(shù)據(jù)的分離,表單采用XML文件形式進行存儲,根據(jù)前面學生考勤表單的設計,相應地會生成一個kaoqin.xml文件。
在數(shù)據(jù)庫中有兩個固定的表,login表用來存儲登錄的賬號,table表用來存儲表單名稱和相應的數(shù)據(jù)表名的關聯(lián)記錄。
根據(jù)表單的設計,數(shù)據(jù)庫中會生成一個學生考勤表,它是根據(jù)表單名稱動態(tài)生成的數(shù)據(jù)表,表的字段結構和表單項一一對應,用來存儲用戶提交的表單數(shù)據(jù)。
用戶的表單提交數(shù)據(jù)及其存儲情況,如圖3所示。
以上就是表單和數(shù)據(jù)的分離設計。
3.表單重現(xiàn)
表單重現(xiàn),顧名思義,就是根據(jù)之前表單的定義,在使用中將表單重新展現(xiàn)給用戶的一個過程。
學生考勤表單的定義文件以kaoqin.xml形式存儲,在表單重現(xiàn)過程中,系統(tǒng)首先讀取XML文件,之后再根據(jù)讀取的內(nèi)容進行判斷并顯示。
表單重現(xiàn)的總體過程如下:
(1)讀入XML文件,緊接著讀取節(jié)點列表,之后再對節(jié)點列表中的一個個節(jié)點數(shù)據(jù)進行分析,即節(jié)點數(shù)據(jù)解析,節(jié)點數(shù)據(jù)解析分兩種情況:“表單項含屬性和不含屬性”。前者比如單選框、復選框、下拉列表等表單項;后者就是一般的表單項處理。
(2)對于不同的表單項,做出不同的解析處理,最后就可以實現(xiàn)表單的重現(xiàn)。
如圖4所示,是一個完整的學生考勤表單的重現(xiàn),包含學號、姓名、類型、節(jié)數(shù)和備注,同時還有提交和重置按鈕。
作為演示,這里簡單填寫了一個表單數(shù)據(jù),數(shù)據(jù)填寫完畢后,點擊提交按鈕,完成數(shù)據(jù)錄入操作,之后就可以在相應的數(shù)據(jù)表(學生考勤表)中看到剛剛錄入的數(shù)據(jù),如圖3所示。
4.表單數(shù)據(jù)導出
在教學管理當中,經(jīng)常性需要打印數(shù)據(jù)。比如對于學生考勤來講,除了教師定期上報數(shù)據(jù)外,教學管理人員還需要打印并請相關人員簽字備案。
因此,系統(tǒng)也提供了表單數(shù)據(jù)導出的功能,結合Excel處理數(shù)據(jù)高效快捷等原因,最后,采用Excel文件形式導出表單數(shù)據(jù)。
點擊“導出”操作,表單數(shù)據(jù)導出,打開導出的Excel文件,如圖5所示。
本文設計并實現(xiàn)了一個通用的動態(tài)表單系統(tǒng),通過學生考勤表單的動態(tài)設計及其在教學管理中的應用為例,證明了動態(tài)表單技術能很好地解決教學管理中一些實時需求問題,可以大大提高教學管理人員的工作效率??傊?,在復雜多變的教學管理中,動態(tài)表單技術的應用必將發(fā)揮越來越重要的作用。
[1]張佳強,王士同.信息管理系統(tǒng)動態(tài)表單技術的研究與實現(xiàn)[J].計算機應用與軟件,2010.27(8):29-32.
[2]蔣國銀,劉鵬遠.基于XML的動態(tài)表單設計[J].中國管理信息化,2006.9(9):83-84.
[3]劉友生.基于數(shù)據(jù)表的動態(tài)表單處理技術[J].計算機工程與應用,2004(34):199-201.
(編輯:金冉)
G424
B
1673-8454(2012)01-0074-03
*由浙江省2010年新世紀教改項目“軟件工程專業(yè)CDIO工程教育模式研究與實踐”資助(項目編號:zc2010023)。