王 絮,陳學(xué)斌,王艷彥,王 師
(1.華北理工大學(xué)信息工程學(xué)院,河北唐山 063009; 2.華北理工大學(xué)理學(xué)院,河北唐山 063009; 3.華北理工大學(xué)教務(wù)處,河北唐山 063009)
基于MVC架構(gòu)的教學(xué)考勤系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王 絮1,陳學(xué)斌2,王艷彥3,王 師2
(1.華北理工大學(xué)信息工程學(xué)院,河北唐山 063009; 2.華北理工大學(xué)理學(xué)院,河北唐山 063009; 3.華北理工大學(xué)教務(wù)處,河北唐山 063009)
針對傳統(tǒng)人工考勤的低效率教學(xué)管理方式的不足,對考勤數(shù)據(jù)進(jìn)行信息化處理,以及方便快捷的統(tǒng)計(jì)管理,以達(dá)到完善高校信息化管理和減少教學(xué)資源浪費(fèi)的目的。為了確??记跀?shù)據(jù)及時(shí)更新,設(shè)計(jì)了高校教學(xué)考勤系統(tǒng)。系統(tǒng)采用MVC模式,結(jié)合ASP.NET技術(shù)的優(yōu)勢,有效降低了系統(tǒng)各層的關(guān)聯(lián)程度,從而提高了系統(tǒng)操作效率。該系統(tǒng)實(shí)現(xiàn)了考勤填報(bào)、考勤審批、請假管理、信息統(tǒng)計(jì)、系統(tǒng)維護(hù)等功能。實(shí)際應(yīng)用表明,系統(tǒng)結(jié)構(gòu)合理、運(yùn)行穩(wěn)定、擴(kuò)展性強(qiáng),實(shí)現(xiàn)了高校教學(xué)考勤信息化。
MVC架構(gòu);ASP.NET;考勤系統(tǒng);信息化
ASP.NET[1-3]是.NET框架的一部分,是Web應(yīng)用開發(fā)、部署、執(zhí)行的平臺,能夠支撐動(dòng)態(tài)網(wǎng)站和分布式應(yīng)用的研發(fā)。傳統(tǒng)簡單的.NET應(yīng)用開發(fā)存在擴(kuò)展性差、代碼量冗余、代碼復(fù)用差等缺點(diǎn),而引入MVC設(shè)計(jì)模式后可將邏輯控制、腳本、HTML等代碼有效分離,提高代碼的可讀性,獲得更好的代碼高可重用和系統(tǒng)高可擴(kuò)展的良好應(yīng)用效果,并且可以解決傳統(tǒng).NET應(yīng)用中出現(xiàn)的各種實(shí)際問題[4-6]。MVC(Model-View -Controller)是一個(gè)三層架構(gòu)的變體,實(shí)現(xiàn)控制器、數(shù)據(jù)模型和用戶界面的代碼設(shè)計(jì)分離,滿足一個(gè)程序可以有一個(gè)以上不同的顯示形式的要求,可有效降低系統(tǒng)各個(gè)模塊間的耦合度,提供一個(gè)可開發(fā)大型Web應(yīng)用的結(jié)構(gòu)化模型[7-9]。ASP.NET提供了一個(gè)類似于MVC設(shè)計(jì)模式的環(huán)境平臺,視圖是通過.aspx設(shè)計(jì)實(shí)現(xiàn),控制器則通過邏輯后臺代碼實(shí)現(xiàn),模型一般與相關(guān)應(yīng)用的業(yè)務(wù)邏輯和數(shù)據(jù)訪問對應(yīng)[10-12]。
目前,各個(gè)高校仍然采用傳統(tǒng)人工考勤的教學(xué)管理方式,這種方式存在教務(wù)人員管理難、學(xué)生請假審批手續(xù)繁瑣、請假信息對任課教師不透明、教學(xué)工作效率低、數(shù)據(jù)更新速率慢等諸多弊端。針對這些問題,文中提出一個(gè)新興網(wǎng)絡(luò)信息化的教學(xué)考勤系統(tǒng),結(jié)合計(jì)算機(jī)技術(shù)設(shè)計(jì)結(jié)構(gòu)合理、操作高效、交互性能高的管理系統(tǒng)。所有操作和流通數(shù)據(jù)全通過互聯(lián)網(wǎng)提交到考勤數(shù)據(jù)庫中,規(guī)范教學(xué)考勤的各個(gè)方面,提高考勤的程序?qū)徟?,更好地滿足學(xué)校規(guī)范化管理的要求。
MVC架構(gòu)完全體現(xiàn)出系統(tǒng)分層設(shè)計(jì)的優(yōu)勢,其將程序分成輸入、執(zhí)行和輸出三部分,并切割為表示層、控制層和模型層。這三層有明確的分工,并合理協(xié)調(diào)實(shí)現(xiàn)不同的功能,且層間互不影響,模塊更新不影響其他模塊的正常運(yùn)行[13-14]。
視圖是用戶的交互界面,其將界面展示層和業(yè)務(wù)處理層分離,負(fù)責(zé)處理用戶請求,并將業(yè)務(wù)處理提交給模型處理,同時(shí)與模型交互,接收模型處理結(jié)果并展示。
控制器是用戶請求的接收和發(fā)送中心,負(fù)責(zé)接收來自視圖的用戶請求和數(shù)據(jù),對業(yè)務(wù)數(shù)據(jù)不做處理,而是根據(jù)用戶的業(yè)務(wù)信息,有針對性地發(fā)送給相應(yīng)的模型處理,模型處理完成后,控制器再選擇相應(yīng)視圖展示給用戶。
模型是業(yè)務(wù)流的處理中心和MVC設(shè)計(jì)模式的核心,其封裝實(shí)現(xiàn)核心業(yè)務(wù)規(guī)則,負(fù)責(zé)接收來自視圖的數(shù)據(jù)和請求,并將數(shù)據(jù)處理結(jié)果返回給視圖,且處理過程對其他模塊封裝,僅通過接口訪問,從而實(shí)現(xiàn)模塊間的獨(dú)立性,提高系統(tǒng)的易維護(hù)性。
文中采用微軟提供的ASP.NET MVC框架實(shí)現(xiàn)MVC設(shè)計(jì)模式,利用 ASP.NET建立一個(gè)便于實(shí)現(xiàn)MVC框架的平臺,可以將模塊的功能約束指定范圍,降低模塊間的耦合度,提高開發(fā)效率,增強(qiáng)系統(tǒng)的可擴(kuò)展性。
ASP.NET MVC的運(yùn)行過程為客戶端將HTTP請求發(fā)送到服務(wù)器,同時(shí)路由解析模塊會(huì)把不同的URL請求委托給不同的HttpHandler類,其中MvcHandler類將URL參數(shù)映射到合適的路由規(guī)則,并且通過路由值選擇執(zhí)行控制器中的那個(gè)Action方法。當(dāng)Action運(yùn)行完畢時(shí),控制器可以調(diào)用一個(gè)視圖組件生成HTML頁面作為輸出結(jié)果,也能以業(yè)務(wù)實(shí)體和業(yè)務(wù)處理為載體調(diào)用模型數(shù)據(jù)和訪問數(shù)據(jù)對象,從而根據(jù)業(yè)務(wù)邏輯的結(jié)果呈現(xiàn)適當(dāng)?shù)腍TML頁面到瀏覽器。整個(gè)執(zhí)行流程如圖1所示。
高校傳統(tǒng)人工考勤管理方式存在諸多不足,主要包括教學(xué)資源的浪費(fèi)、工作量繁重、數(shù)據(jù)更新不及時(shí)和管理效率低等。教學(xué)資源的好壞是評判高校人才水平的重要標(biāo)準(zhǔn)。因此,以節(jié)省教學(xué)資源為主要目標(biāo)設(shè)計(jì)系統(tǒng)的功能,進(jìn)而減輕教務(wù)人員的工作量并提高管理效率,加快數(shù)據(jù)的更新速度,節(jié)省不必要的時(shí)間。
該系統(tǒng)操作簡單,通俗易懂,能夠滿足用戶的實(shí)際需求,可以大幅度提升用戶的滿意度。其具有良好的可伸縮性和可移植性,能與多個(gè)信息化系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)共享和功能聯(lián)合,減少數(shù)據(jù)的重復(fù),促進(jìn)系統(tǒng)間協(xié)同工作。
2.1 系統(tǒng)功能設(shè)計(jì)
高校教學(xué)考勤系統(tǒng)按照需求分析劃分為七個(gè)結(jié)構(gòu)獨(dú)立、成分單一的功能模塊。不同的用戶登錄權(quán)限不同,系統(tǒng)只顯示用戶權(quán)限以內(nèi)的相關(guān)界面。普通學(xué)生可以查詢個(gè)人考勤情況、管理個(gè)人資料、提交請假申請、查看審批結(jié)果。班長除上述權(quán)利外,負(fù)責(zé)每周提交本班考勤信息、查詢考勤信息審核結(jié)果。教師主要履行定時(shí)審批考勤信息的職責(zé),可以查詢和備份學(xué)生缺勤情況表。系統(tǒng)功能模塊設(shè)計(jì)如圖2所示。
其具體實(shí)現(xiàn)目標(biāo)如下:
(1)綜合信息管理:用于存儲(chǔ)用戶的基本信息和考勤信息。用戶可以增添和修改個(gè)人信息,還可以查詢指定時(shí)間內(nèi)的缺勤記錄。
(2)系統(tǒng)維護(hù):用于系統(tǒng)的備份和還原。
(3)權(quán)限管理:用于管理用戶的身份級別。管理員可以設(shè)置用戶的登錄身份,從而改變用戶的權(quán)限。
(4)信息統(tǒng)計(jì):用于考勤信息的統(tǒng)計(jì)和分析。教務(wù)處和學(xué)生處可以查看和打印全校缺勤情況,并且處罰缺勤次數(shù)多的學(xué)生。
(5)請假管理:用于提交學(xué)生的請假申請。學(xué)生可以向任課教師提出請假申請,等待教師的回應(yīng)。
(6)考勤填報(bào)管理:用于提交班長記錄的考勤數(shù)據(jù)。班長可以定期發(fā)送缺勤情況給領(lǐng)導(dǎo),可查看領(lǐng)導(dǎo)審核結(jié)果。
(7)考勤審批管理:用于管理各級領(lǐng)導(dǎo)審批流程。如果某一級領(lǐng)導(dǎo)未批準(zhǔn)班長請求,系統(tǒng)通知班長重新提交數(shù)據(jù),再次進(jìn)行審核。
2.2 系統(tǒng)框架設(shè)計(jì)
教學(xué)考勤系統(tǒng)根據(jù)業(yè)務(wù)處理流程和MVC分層設(shè)計(jì)總體框架。視圖是用戶向系統(tǒng)傳送要求的可視化窗口,它包含主頁面和七個(gè)內(nèi)容不同的子頁面。用戶都可以瀏覽主頁面、登錄頁面、基本信息頁面和考勤查詢頁面,但是視圖會(huì)按照業(yè)務(wù)邏輯把不同的信息呈現(xiàn)給不同的用戶。
除了上述四個(gè)子頁面之外,其他頁面必須由指定用戶進(jìn)行操作。請假申請頁面是只有學(xué)生能夠操作的界面,放置了學(xué)號、請假原因、請假時(shí)間等必填項(xiàng)目;考勤填報(bào)頁面是只有班長能夠操作的界面,放置了班級、缺勤原因、缺勤時(shí)間等必填項(xiàng)目;考勤審批頁面是只有教師能夠操作的界面,顯示了班長提交的缺勤情況;權(quán)限管理頁面是只有管理員能夠操作的界面,顯示了所有用戶的登錄身份。用戶登錄系統(tǒng)成功后,程序自動(dòng)顯示主界面來指引用戶操作,然后控制器捕獲用戶動(dòng)作和調(diào)用模型來訪問數(shù)據(jù)庫,最后視圖獲取控制器的數(shù)據(jù),并且輸出相應(yīng)的子頁面。在模型規(guī)劃過程中,根據(jù)業(yè)務(wù)處理流程創(chuàng)建了六個(gè)業(yè)務(wù)實(shí)體,這些實(shí)體的數(shù)據(jù)大多來自數(shù)據(jù)庫中的二維表。數(shù)據(jù)庫持久層相當(dāng)于一個(gè)映射系統(tǒng),它把業(yè)務(wù)實(shí)體和考勤數(shù)據(jù)庫連接起來,通過固定的映射規(guī)則建立一種制約關(guān)系。系統(tǒng)框架設(shè)計(jì)如圖3所示。
2.3 模型的實(shí)現(xiàn)
在MVC設(shè)計(jì)模式中,模型(Model)負(fù)責(zé)封裝業(yè)務(wù)實(shí)體、業(yè)務(wù)的處理流程與數(shù)據(jù)操作方法,按其功能可劃分為業(yè)務(wù)邏輯層和數(shù)據(jù)庫持久層。系統(tǒng)利用基于Entity Framework框架的代碼優(yōu)先模式編寫簡單的類來創(chuàng)建業(yè)務(wù)實(shí)體,同時(shí)這些類沒有基類派生或者附加任何特性,數(shù)據(jù)庫持久層也不需要添加任何配置。除了定義類,EF框架默認(rèn)創(chuàng)建派生自DbContext的數(shù)據(jù)上下文類來實(shí)現(xiàn)數(shù)據(jù)庫持久層獲取映射到數(shù)據(jù)庫的實(shí)體。部分?jǐn)?shù)據(jù)模型在數(shù)據(jù)庫中對應(yīng)的表格存在聯(lián)系,可以通過修改數(shù)據(jù)上下文類的方式創(chuàng)建關(guān)聯(lián)語句。模型建立完成后,如果遇到模型變更的情況,EF框架會(huì)自動(dòng)啟動(dòng)數(shù)據(jù)遷移功能,調(diào)整數(shù)據(jù)庫結(jié)構(gòu)卻不影響數(shù)據(jù)庫中的數(shù)據(jù)。
2.4 控制器的實(shí)現(xiàn)
控制器(Controller)是溝通模型與視圖的橋梁,負(fù)責(zé)控制模型的執(zhí)行以及支配視圖的呈現(xiàn)。系統(tǒng)運(yùn)行過程中,網(wǎng)址路由通過解析HTTP請求得到URL數(shù)據(jù),其數(shù)據(jù)與當(dāng)前請求的上下文信息一起封裝為Request-Context對象。MvcHandler對象截獲RequestContext對象,并且通過控制器工廠接口創(chuàng)建具體的IController對象。Controller中有許多動(dòng)作(Action),該動(dòng)作用于接收HTTP請求與選擇應(yīng)回傳的頁面。繼承自IController界面的Controller通過ExecuteCore()方法獲得執(zhí)行Action的名稱,然后由ActionInvoker激發(fā)響應(yīng)的Action。Action方法執(zhí)行后返回ActionResult類別,該類別有多個(gè)功能不同的子類,其中應(yīng)用廣泛的是ViewResult。最后,MvcHandler對象從控制器捕獲Action-Result的衍生類,并且將運(yùn)行結(jié)果輸出到客戶端。
2.5 視圖的實(shí)現(xiàn)
視圖(View)負(fù)責(zé)將模型的數(shù)據(jù)顯示給客戶端,也可以依據(jù)用戶要求來通知模型更新。該系統(tǒng)使用Razor語法和HTML標(biāo)簽來編寫Razor頁面,從而提高代碼的重用性,增強(qiáng)程序的可讀性。Razor頁面是視圖頁面的一種形式,并且它有確定的運(yùn)行規(guī)律。程序會(huì)優(yōu)先顯示被控制器找到的 Razor頁面,然后加載包含Layout屬性的主頁面,最后將具體內(nèi)容呈現(xiàn)給用戶。主頁面是用戶瀏覽單一頁面的向?qū)В梢源娣诺卿洜顟B(tài)、菜單欄、考勤信息鏈接、當(dāng)前時(shí)間等共享內(nèi)容??蚣苓€提供了很多HTML輔助方法,可以協(xié)助開發(fā)者撰寫HTML語言,例如系統(tǒng)登錄界面使用強(qiáng)類型輔助方法生成表單域,其實(shí)現(xiàn)結(jié)果如圖4所示。
通過分析MVC設(shè)計(jì)模式的優(yōu)勢,結(jié)合ASP.NET技術(shù)與MVC設(shè)計(jì)了一個(gè)性能良好的高效教學(xué)考勤系統(tǒng)。該系統(tǒng)是信息網(wǎng)絡(luò)化管理的一個(gè)實(shí)際應(yīng)用,其解決了傳統(tǒng)人工考勤統(tǒng)計(jì)困難的問題,體現(xiàn)了信息管理的未來方向,滿足了高效統(tǒng)計(jì)考勤的需求,優(yōu)化了教學(xué)資源結(jié)構(gòu),降低了教學(xué)考勤的漏報(bào),保障了高校的教學(xué)質(zhì)量。通過實(shí)際應(yīng)用,系統(tǒng)能很好地為教務(wù)管理人員提供及時(shí)有效的教學(xué)情況數(shù)據(jù),方便管理。同時(shí),該系統(tǒng)具備較好的拓展性、易維護(hù)等優(yōu)勢。
[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設(shè)計(jì)模式的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(1):167-169.
[5] 黃勝根,陳蜀宇.基于ASP.NET MVC框架的干教系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,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設(shè)計(jì)模式的改進(jìn)與應(yīng)用[J].計(jì)算機(jī)工程,2005,31(9):96-97.
[8] 任廣震,侯 進(jìn),王 獻(xiàn).MVC模式在B/S結(jié)構(gòu)政務(wù)系統(tǒng)的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(8):54-58.
[9] 李 園,陳世平.MVC設(shè)計(jì)模式在ASP.NET平臺中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(13):3180-3184.
[10]趙 偉,王志華,周 兵.基于.NET技術(shù)和MVC的新架構(gòu)模式[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(7):2646-2651.
[11]劉 亮,霍劍青,郭玉剛,等.基于MVC的通用型模式的設(shè)計(jì)與實(shí)現(xiàn)[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),2010,40(6):635-639.
[12]薛 峰,梁 鋒,徐書勛,等.基于Spring MVC框架的Web研究與應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2012,35 (3):337-340.
[13]潘海蘭,吳翠紅,葛曉敏.XML及其在MVC模式中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(2):202-205.
[14]張曉麗,路 楊.基于MVC模式的Web OA系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,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">網(wǎng)絡(luò)出版時(shí)間:
時(shí)間:2016-08-01
國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201410081014)
王 絮(1993-),女,研究方向?yàn)橛?jì)算機(jī)應(yīng)用;陳學(xué)斌,博士,教授,碩士生導(dǎo)師,CCF高級會(huì)員,通訊作者,研究方向?yàn)橛?jì)算機(jī)應(yīng)用。
http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0907.046.html