基于MVC架构的教学考勤系统设计与实现
2016-01-02陈学斌王艳彦
王 絮,陈学斌,王艳彦,王 师
(1.华北理工大学信息工程学院,河北唐山 063009; 2.华北理工大学理学院,河北唐山 063009; 3.华北理工大学教务处,河北唐山 063009)
基于MVC架构的教学考勤系统设计与实现
王 絮1,陈学斌2,王艳彦3,王 师2
(1.华北理工大学信息工程学院,河北唐山 063009; 2.华北理工大学理学院,河北唐山 063009; 3.华北理工大学教务处,河北唐山 063009)
针对传统人工考勤的低效率教学管理方式的不足,对考勤数据进行信息化处理,以及方便快捷的统计管理,以达到完善高校信息化管理和减少教学资源浪费的目的。为了确保考勤数据及时更新,设计了高校教学考勤系统。系统采用MVC模式,结合ASP.NET技术的优势,有效降低了系统各层的关联程度,从而提高了系统操作效率。该系统实现了考勤填报、考勤审批、请假管理、信息统计、系统维护等功能。实际应用表明,系统结构合理、运行稳定、扩展性强,实现了高校教学考勤信息化。
MVC架构;ASP.NET;考勤系统;信息化
0 引言
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]。
目前,各个高校仍然采用传统人工考勤的教学管理方式,这种方式存在教务人员管理难、学生请假审批手续繁琐、请假信息对任课教师不透明、教学工作效率低、数据更新速率慢等诸多弊端。针对这些问题,文中提出一个新兴网络信息化的教学考勤系统,结合计算机技术设计结构合理、操作高效、交互性能高的管理系统。所有操作和流通数据全通过互联网提交到考勤数据库中,规范教学考勤的各个方面,提高考勤的程序审批效率,更好地满足学校规范化管理的要求。
1MVC设计模式
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 系统设计与实现
高校传统人工考勤管理方式存在诸多不足,主要包括教学资源的浪费、工作量繁重、数据更新不及时和管理效率低等。教学资源的好坏是评判高校人才水平的重要标准。因此,以节省教学资源为主要目标设计系统的功能,进而减轻教务人员的工作量并提高管理效率,加快数据的更新速度,节省不必要的时间。
该系统操作简单,通俗易懂,能够满足用户的实际需求,可以大幅度提升用户的满意度。其具有良好的可伸缩性和可移植性,能与多个信息化系统实现数据共享和功能联合,减少数据的重复,促进系统间协同工作。
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所示。
3 结束语
通过分析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