王 絮,陳學斌,王艷彥,王 師
(1.華北理工大學信息工程學院,河北唐山 063009; 2.華北理工大學理學院,河北唐山 063009; 3.華北理工大學教務處,河北唐山 063009)
基于MVC架構的教學考勤系統設計與實現
王 絮1,陳學斌2,王艷彥3,王 師2
(1.華北理工大學信息工程學院,河北唐山 063009; 2.華北理工大學理學院,河北唐山 063009; 3.華北理工大學教務處,河北唐山 063009)
針對傳統人工考勤的低效率教學管理方式的不足,對考勤數據進行信息化處理,以及方便快捷的統計管理,以達到完善高校信息化管理和減少教學資源浪費的目的。為了確保考勤數據及時更新,設計了高校教學考勤系統。系統采用MVC模式,結合ASP.NET技術的優勢,有效降低了系統各層的關聯程度,從而提高了系統操作效率。該系統實現了考勤填報、考勤審批、請假管理、信息統計、系統維護等功能。實際應用表明,系統結構合理、運行穩定、擴展性強,實現了高校教學考勤信息化。
MVC架構;ASP.NET;考勤系統;信息化
ASP.NET[1-3]是.NET框架的一部分,是Web應用開發、部署、執行的平臺,能夠支撐動態網站和分布式應用的研發。傳統簡單的.NET應用開發存在擴展性差、代碼量冗余、代碼復用差等缺點,而引入MVC設計模式后可將邏輯控制、腳本、HTML等代碼有效分離,提高代碼的可讀性,獲得更好的代碼高可重用和系統高可擴展的良好應用效果,并且可以解決傳統.NET應用中出現的各種實際問題[4-6]。MVC(Model-View -Controller)是一個三層架構的變體,實現控制器、數據模型和用戶界面的代碼設計分離,滿足一個程序可以有一個以上不同的顯示形式的要求,可有效降低系統各個模塊間的耦合度,提供一個可開發大型Web應用的結構化模型[7-9]。ASP.NET提供了一個類似于MVC設計模式的環境平臺,視圖是通過.aspx設計實現,控制器則通過邏輯后臺代碼實現,模型一般與相關應用的業務邏輯和數據訪問對應[10-12]。
目前,各個高校仍然采用傳統人工考勤的教學管理方式,這種方式存在教務人員管理難、學生請假審批手續繁瑣、請假信息對任課教師不透明、教學工作效率低、數據更新速率慢等諸多弊端。針對這些問題,文中提出一個新興網絡信息化的教學考勤系統,結合計算機技術設計結構合理、操作高效、交互性能高的管理系統。所有操作和流通數據全通過互聯網提交到考勤數據庫中,規范教學考勤的各個方面,提高考勤的程序審批效率,更好地滿足學校規范化管理的要求。
MVC架構完全體現出系統分層設計的優勢,其將程序分成輸入、執行和輸出三部分,并切割為表示層、控制層和模型層。這三層有明確的分工,并合理協調實現不同的功能,且層間互不影響,模塊更新不影響其他模塊的正常運行[13-14]。
視圖是用戶的交互界面,其將界面展示層和業務處理層分離,負責處理用戶請求,并將業務處理提交給模型處理,同時與模型交互,接收模型處理結果并展示。
控制器是用戶請求的接收和發送中心,負責接收來自視圖的用戶請求和數據,對業務數據不做處理,而是根據用戶的業務信息,有針對性地發送給相應的模型處理,模型處理完成后,控制器再選擇相應視圖展示給用戶。
模型是業務流的處理中心和MVC設計模式的核心,其封裝實現核心業務規則,負責接收來自視圖的數據和請求,并將數據處理結果返回給視圖,且處理過程對其他模塊封裝,僅通過接口訪問,從而實現模塊間的獨立性,提高系統的易維護性。
文中采用微軟提供的ASP.NET MVC框架實現MVC設計模式,利用 ASP.NET建立一個便于實現MVC框架的平臺,可以將模塊的功能約束指定范圍,降低模塊間的耦合度,提高開發效率,增強系統的可擴展性。
ASP.NET MVC的運行過程為客戶端將HTTP請求發送到服務器,同時路由解析模塊會把不同的URL請求委托給不同的HttpHandler類,其中MvcHandler類將URL參數映射到合適的路由規則,并且通過路由值選擇執行控制器中的那個Action方法。當Action運行完畢時,控制器可以調用一個視圖組件生成HTML頁面作為輸出結果,也能以業務實體和業務處理為載體調用模型數據和訪問數據對象,從而根據業務邏輯的結果呈現適當的HTML頁面到瀏覽器。整個執行流程如圖1所示。
高校傳統人工考勤管理方式存在諸多不足,主要包括教學資源的浪費、工作量繁重、數據更新不及時和管理效率低等。教學資源的好壞是評判高校人才水平的重要標準。因此,以節省教學資源為主要目標設計系統的功能,進而減輕教務人員的工作量并提高管理效率,加快數據的更新速度,節省不必要的時間。
該系統操作簡單,通俗易懂,能夠滿足用戶的實際需求,可以大幅度提升用戶的滿意度。其具有良好的可伸縮性和可移植性,能與多個信息化系統實現數據共享和功能聯合,減少數據的重復,促進系統間協同工作。
2.1 系統功能設計
高校教學考勤系統按照需求分析劃分為七個結構獨立、成分單一的功能模塊。不同的用戶登錄權限不同,系統只顯示用戶權限以內的相關界面。普通學生可以查詢個人考勤情況、管理個人資料、提交請假申請、查看審批結果。班長除上述權利外,負責每周提交本班考勤信息、查詢考勤信息審核結果。教師主要履行定時審批考勤信息的職責,可以查詢和備份學生缺勤情況表。系統功能模塊設計如圖2所示。
其具體實現目標如下:
(1)綜合信息管理:用于存儲用戶的基本信息和考勤信息。用戶可以增添和修改個人信息,還可以查詢指定時間內的缺勤記錄。
(2)系統維護:用于系統的備份和還原。
(3)權限管理:用于管理用戶的身份級別。管理員可以設置用戶的登錄身份,從而改變用戶的權限。
(4)信息統計:用于考勤信息的統計和分析。教務處和學生處可以查看和打印全校缺勤情況,并且處罰缺勤次數多的學生。
(5)請假管理:用于提交學生的請假申請。學生可以向任課教師提出請假申請,等待教師的回應。
(6)考勤填報管理:用于提交班長記錄的考勤數據。班長可以定期發送缺勤情況給領導,可查看領導審核結果。
(7)考勤審批管理:用于管理各級領導審批流程。如果某一級領導未批準班長請求,系統通知班長重新提交數據,再次進行審核。
2.2 系統框架設計
教學考勤系統根據業務處理流程和MVC分層設計總體框架。視圖是用戶向系統傳送要求的可視化窗口,它包含主頁面和七個內容不同的子頁面。用戶都可以瀏覽主頁面、登錄頁面、基本信息頁面和考勤查詢頁面,但是視圖會按照業務邏輯把不同的信息呈現給不同的用戶。
除了上述四個子頁面之外,其他頁面必須由指定用戶進行操作。請假申請頁面是只有學生能夠操作的界面,放置了學號、請假原因、請假時間等必填項目;考勤填報頁面是只有班長能夠操作的界面,放置了班級、缺勤原因、缺勤時間等必填項目;考勤審批頁面是只有教師能夠操作的界面,顯示了班長提交的缺勤情況;權限管理頁面是只有管理員能夠操作的界面,顯示了所有用戶的登錄身份。用戶登錄系統成功后,程序自動顯示主界面來指引用戶操作,然后控制器捕獲用戶動作和調用模型來訪問數據庫,最后視圖獲取控制器的數據,并且輸出相應的子頁面。在模型規劃過程中,根據業務處理流程創建了六個業務實體,這些實體的數據大多來自數據庫中的二維表。數據庫持久層相當于一個映射系統,它把業務實體和考勤數據庫連接起來,通過固定的映射規則建立一種制約關系。系統框架設計如圖3所示。
2.3 模型的實現
在MVC設計模式中,模型(Model)負責封裝業務實體、業務的處理流程與數據操作方法,按其功能可劃分為業務邏輯層和數據庫持久層。系統利用基于Entity Framework框架的代碼優先模式編寫簡單的類來創建業務實體,同時這些類沒有基類派生或者附加任何特性,數據庫持久層也不需要添加任何配置。除了定義類,EF框架默認創建派生自DbContext的數據上下文類來實現數據庫持久層獲取映射到數據庫的實體。部分數據模型在數據庫中對應的表格存在聯系,可以通過修改數據上下文類的方式創建關聯語句。模型建立完成后,如果遇到模型變更的情況,EF框架會自動啟動數據遷移功能,調整數據庫結構卻不影響數據庫中的數據。
2.4 控制器的實現
控制器(Controller)是溝通模型與視圖的橋梁,負責控制模型的執行以及支配視圖的呈現。系統運行過程中,網址路由通過解析HTTP請求得到URL數據,其數據與當前請求的上下文信息一起封裝為Request-Context對象。MvcHandler對象截獲RequestContext對象,并且通過控制器工廠接口創建具體的IController對象。Controller中有許多動作(Action),該動作用于接收HTTP請求與選擇應回傳的頁面。繼承自IController界面的Controller通過ExecuteCore()方法獲得執行Action的名稱,然后由ActionInvoker激發響應的Action。Action方法執行后返回ActionResult類別,該類別有多個功能不同的子類,其中應用廣泛的是ViewResult。最后,MvcHandler對象從控制器捕獲Action-Result的衍生類,并且將運行結果輸出到客戶端。
2.5 視圖的實現
視圖(View)負責將模型的數據顯示給客戶端,也可以依據用戶要求來通知模型更新。該系統使用Razor語法和HTML標簽來編寫Razor頁面,從而提高代碼的重用性,增強程序的可讀性。Razor頁面是視圖頁面的一種形式,并且它有確定的運行規律。程序會優先顯示被控制器找到的 Razor頁面,然后加載包含Layout屬性的主頁面,最后將具體內容呈現給用戶。主頁面是用戶瀏覽單一頁面的向導,可以存放登錄狀態、菜單欄、考勤信息鏈接、當前時間等共享內容。框架還提供了很多HTML輔助方法,可以協助開發者撰寫HTML語言,例如系統登錄界面使用強類型輔助方法生成表單域,其實現結果如圖4所示。
通過分析MVC設計模式的優勢,結合ASP.NET技術與MVC設計了一個性能良好的高效教學考勤系統。該系統是信息網絡化管理的一個實際應用,其解決了傳統人工考勤統計困難的問題,體現了信息管理的未來方向,滿足了高效統計考勤的需求,優化了教學資源結構,降低了教學考勤的漏報,保障了高校的教學質量。通過實際應用,系統能很好地為教務管理人員提供及時有效的教學情況數據,方便管理。同時,該系統具備較好的拓展性、易維護等優勢。
[1] Grimer T.10-networking,web forms and ASP.NET[M]// Student’s essential guide to net.Oxford:Butterworth-Heinemann,2004:263-298.
[2] Li Y S,Hong L F.Development of a non-pollution orange fruit expert system software based on ASP.NET[J].Agricultural Sciences in China,2011,10(5):805-812.
[3] Milroy S,Cox K,Safford D,et al.Chapter 3-learning ASP.NET [M]//NET mobile web developers guide.Rockland:Syngress,2002:99-172.
[4] 林 慶,朱翠苗,鄭廣成,等.基于ASP.NET的MVC設計模式的研究[J].計算機工程與設計,2008,29(1):167-169.
[5] 黃勝根,陳蜀宇.基于ASP.NET MVC框架的干教系統的設計與實現[J].計算機技術與發展,2010,20(2):190-193.
[6] Pop D P,Altar A.Designing an MVC model for rapid web application development[J].Procedia Engineering,2014,69: 1172-1179.
[7] 黎永良,崔杜武.MVC設計模式的改進與應用[J].計算機工程,2005,31(9):96-97.
[8] 任廣震,侯 進,王 獻.MVC模式在B/S結構政務系統的應用研究[J].計算機應用與軟件,2014,31(8):54-58.
[9] 李 園,陳世平.MVC設計模式在ASP.NET平臺中的應用[J].計算機工程與設計,2009,30(13):3180-3184.
[10]趙 偉,王志華,周 兵.基于.NET技術和MVC的新架構模式[J].計算機工程與設計,2012,33(7):2646-2651.
[11]劉 亮,霍劍青,郭玉剛,等.基于MVC的通用型模式的設計與實現[J].中國科學技術大學學報,2010,40(6):635-639.
[12]薛 峰,梁 鋒,徐書勛,等.基于Spring MVC框架的Web研究與應用[J].合肥工業大學學報:自然科學版,2012,35 (3):337-340.
[13]潘海蘭,吳翠紅,葛曉敏.XML及其在MVC模式中的應用[J].計算機技術與發展,2010,20(2):202-205.
[14]張曉麗,路 楊.基于MVC模式的Web OA系統的設計與實現[J].計算機技術與發展,2012,22(8):63-66.
Design and Implementation of Attendance Check System for Teaching Based on MVC
WANG Xu1,CHEN Xue-bin2,WANG Yan-yan3,WANG Shi2
(1.College of Information Engineering,North China University of Science and Technology,Tangshan 063009,China; 2.College of Science,North China University of Science and Technology,Tangshan 063009,China; 3.Academic Affairs Department,North China University of Science and Technology,Tangshan 063009,China)
In view of the defects of traditional attendance teaching management mode,the information processing for attendance data and convenient and quick statistics management is carried out,so as to improve the university informatization management and reduce the waste of teaching resources.In order to ensure the timely updating of the attendance data,the attendance check system for teaching is designed.The system uses the MVC mode,combined with ASP.NET,reducing the correlated level of the system and improving the operating efficiency.The system achieves the attendance reporting,attendance approval,leave management,information statistics,system maintenance and other functions.The application in the university shows that the system has a reasonable structure,with stable operation and high scalability,and realizes the college teaching attendance informatization.
MVC architecture;ASP.NET;attendance check system;informatization
TP311
:A
1673-629X(2016)09-0065-04
10.3969/j.issn.1673-629X.2016.09.015
2015-12-03
2016-04-18< class="emphasis_bold">網絡出版時間:
時間:2016-08-01
國家級大學生創新創業訓練計劃項目(201410081014)
王 絮(1993-),女,研究方向為計算機應用;陳學斌,博士,教授,碩士生導師,CCF高級會員,通訊作者,研究方向為計算機應用。
http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0907.046.html