APP下载

基于ASP.NET MVC的教材征订管理系统设计与实现

2020-11-23刘元浩曾晗鲁庆东

科技风 2020年31期

刘元浩 曾晗 鲁庆东

摘 要:教材管理信息化是高职院校教学改革和管理的重要组成部分,创新教材管理信息化有利于推进学校管理质量和教学水平。虽然目前高职院校大多教务系统自带有教材征订管理功能,但并非为高职院校定制,一般操作复杂,大而无用的功能居多,不能很好的满足学校教材征订管理的实际需求。本文研究采用微软ASP.NET MVC和Entity Framework技术,设计并实现了一个契合高职院校实际的简单易用的教材征订管理系统。

关键词:ASP.NET MVC;教材征订管理;简单易用

1 绪论

随着高职院校办学规模不断扩大,学生人数越来越多,学生所使用的教材数量和种类越来越多,教材管理工作任务日益繁重。高职教育专业教学计划更贴近社会需要,教材更新、改版的速度越来越快,由于教材信息的不透明和不准确,错订、漏订现象普遍存在。高职院校学生转专业、退学、休学、新生人数不确定等原因,给高职院校教材管理工作也带来了一定的难度。另外一个角度,一些出版社及教材推销人员向任课教师推销指定的教材,可能存在着利益输送和滋生腐败。由于缺乏有效的监控、审查机制,教材选用和订购往往是高校腐败多发地。通过信息化手段,能很好地从技术和制度上避免腐败发生,确保优秀教材能进课堂。

2 需求分析

由于现存的教务系统的教材征订管理并非为高职学校定制,操作复杂,大而无用的功能居多。因此,需要设计一个操作简单、界面友好、易学易用,满足学校教材征订管理的实际需求的教材征订系统。该系统支持在线征订、在线审核、自动统计、报表打印等功能。

系统需要有四个角色,分别是教材管理员、系统管理员、二级院系征订人员、二级院系审核人员。

教材管理员一般由教务处负责教材工作的教材管理员担任。主要是执行二级院系、专业、年级、班级及人数、学期课程信息、选课人数等与教务系统的数据同步功能;发布教材征订的公告,指定当前征订的学期和当次征订时间,征订开关的打开和关闭;指定二级院系专业课、全院公共课和思政课的教材征订人员;对教材书目信息的管理和维护,只有通过学院教材委员会审核通过的教材,才能进行征订;执行统计功能和各种类型的报表打印。

系统管理员与教材管理员基本相似,增加了对教材管理员的管理和数据备份功能。

教材征订人员一般由教研室主任担任。征订人员包括负责征订专业课的二级院系的专业教研室主任,负责征订语文、数学、英语等公共基础课程教材基础部教研室主任,负责思政课程教材征订的马院教研室主任。主要完成对学期开设课程及专业选课人数的核对;个人信息的管理及密码重置;查看教材管理员发布的征订公告;在规定的时间内从教材库中选择相应的教材并提交;教材征订结束执行统计后,查看系统自动生成的班级订单。

二级院系的审核人员由各二级院系的教学主任担任。审核人员主要查看教材管理员发布的征订公告;批量审核由本院系征订人员征订的教材;查看本院系征订的教材订单;个人信息管理及密码重置。

3 系统的设计

3.1 采用的关键技术

ASP.NET MVC是微软公司发布的一个成熟的Web开发框架,MVC强制将应用程序划分成Model(模型)、View(视图)、Controller(控制器)三个不同的组件。三个组件各司其职,模型负责业务逻辑,视图负责界面显示,控制器负责处理用户请求。

Entity Framework(实体框架,简称EF)是微軟以ADO.NET为基础所发展起来的对象关系映射框架(Object-Relational Mapping ORM)。用以解决C#、VB.NET等面向对象编程语言与主流的关系数据库间“阻抗失配”的问题[2]。使开发人员使用面向对象的编程思维来操作和访问关系数据库。

3.2 系统的功能模块设计

根据需求分析和征订的业务流程。本系统划分为用户及权限管理模块、基础数据管理模块、教材信息管理模块、教材征订和审核模块、数据统计及报表打印模块5大模块。

用户及权限管理模块:对系统用户的增删改查、登录注销功能。系统默认设置了4个角色,教材管理员、系统管理员、二级学院教材征订人员和审核人员。可以为用户指定角色从而获得相应的身份。使用微软Identity2.0对用户和角色进行管理。使用ASP.NET MVC的授权过滤器实现对用户和角色的权限管理。

基础数据管理模块:通过数据同步功能将教务系统的学期,部门,专业、年级、班级和学期课程同步到教材管理系统。这样,可以保证各个专业所开设的课程及选课人数与教务系统一致,特别是针对选修课人数不为专业人数的情况。既保证了学生教材征订数量的准确性,又保证了教师征订教材操作的简单。

教材信息管理模块:教材的信息包括教材名称、出版社名称、主编、ISBN号、出版日期、版次、定价、教材类别等信息。教材类别包括“十二五”国家规划教材、行业教材、企业教材、学校公开出版教材、教师自选教材、自编讲义等。所有的教材必须经学校教材委员会审定通过后,方可进入系统教材目录中,只有在教材库中设置为有效的教材才能征订,保证了优秀教材进课堂,也避免潜在的利益输送。

教材征订和审核模块:教材征订和审核模块的设计尽量使征订和审核操作简单。教材征订人员只需要选择学期课程,确认需要征订还是不需要征订。如果选择需要征订,则弹出教材选用模态框,在查找教材栏输入书名或者主编姓名或ISBN号,即可快速查找教材,选择教材,而不必输入征订本数。教材征订和审核都可以批量进行处理,增加易用性。

统计及报表打印模块:教材征订审核完毕后,选择相应的学期执行统计,可以生成按照不同类别统计的订单。可以生成学生教材班级订单和教师用书订单,方便各院系查看各个行政班级的订书情况和教师用书的征订情况,也为教材管理员进行教材发放提供了便利。可以生成书商订单和校内印刷订单,将需要校外采购的教材信息及数量提供给教材中标商,将需要由校内印刷的教材(讲义,内部自编教材)名称及数量提供给学校印刷厂,为教材的采购和印刷提供了便利。

4 系统的实现

本系统使用Visual Studio2017集成开发环境进行开发,服务端采用C#7.0编程语言,开发数据库使用MS Local DB,部署数据库为MS SQL Server 2012。本系统使用微软ASP.NET MVC 5框架,结合Entity Framework 6(实体框架)数据访问技术,采用Code First(代码优先)方式进行构建,利用Identity2.0对用户和角色进行管理。使用Bootstrap前端框架和jQuery、JavaScript以及HTML 5、CSS 3构建前端页面。

4.1 模型(Model)的实现

首先,定义与业务逻辑相关的数据模型(Model)。在ASP.NET MVC应用程序中,模型代表应用程序数据的实体类,由若干POCO(Plain-Old CLR Objects)类构成,它们通过实体框架Entity Framework进行持久化。通过模型类的数据注解来施加业务规则,继而实现客户端验证和服务端验证。本系统涉及的模型类有ApplicationUser(用户)、ApplicationRole(角色)、Semester(学期)、Department(部门)、Major(专业)、Grade(年级)、SchoolClass(班级)、Notice(通知)、SemesterCourse(学期课程)、BookType(教材类型)、Book(教材)、Booksubscription(原始订单)、SchoolClassBookOrder(班级订单)、TeacherBookOrder(教师用书订单)、BookSellerOrder(书商订单)、SelfPrintingOrder(自印订单)等。

数据库上下文类是ASP.NET MVC应用程序中关键的一个类,它派生自DbContext,用于协调给定数据模型的Entity Framework功能。该类负责模型与数据库之间的交互,并提供查询、跟踪实体数据库状态、回写数据库等操作[3]。本系统定义的数据库上下文类TeachingMaterialDbContext类派生自IdentityDbContext类,从而可以使用ASP.NET Identity 2.0来提供对用户、角色及其权限的管理。然后,在其内定义各实体集作为属性,建立各实体之间的关联关系(一对一,一对多,多对多关系)完成对象关系映射工作。TeachingMaterialDbContext类的方法签名如下:

public class TeachingMaterialDbContext:IdentityDbContext

4.2 控制器(Controller)的實现

其次,定义用于处理浏览器请求的控制器(Controller)类。本系统的控制器类包括:AccountController(用户控制器)、RoleController(角色控制器)、SemesterController(学期控制器)、DepartmentController(部门控制器)、MajorController(专业控制器)、Grade(Controller(年级控制器)、SchoolClassController(班级控制器)、NoticeController(通知控制器)、SemesterCourseController(学期课程控制器)、BookOrder(教材征订控制器)、GenerateOrder(统计控制器)、HomeController(主控制器)等。通过在控制器或操作方法上加入Authorize(授权过滤器)属性,实现不同用户和角色所能执行不同的操作。如果用户或角色没有被授权,则返回登录页面要求重新登录。

4.3 视图(View)的实现

最后,编写用于呈现用户界面的视图(View)。在ASP.NET MVC应用程序中,视图仅用于显示控制器返回的数据,不能在其内定义参与业务逻辑处理的代码,比如访问数据库。本征订系统的视图使用Bootstrap 3前端框架,从而构建响应式的布局页面。使用Bootstrap 3全局的CSS样式、优美的字形图标和Bootstrap 3组件保证了页面的美观。各个视图引用相同的布局页(Layout),保证了整体页面风格保持一致。使用jQuery以及Ajax技术将请求异步提交给控制器,从而改善用户交互体验。使用Html或Url辅助方法生成表单及链接,尽可能采用强类形(Strong-Typed)的视图。最终生成了基于Razor视图引擎的普通视图和分部视图(Partial View)的.cshtml文件。

5 结语

本文使用微软ASP.NET MVC技术设计并实现了一个教材征订管理系统,该系统支持在线征订、在线审核、自动统计、报表打印等功能,具有操作简单、界面友好,易学易用的特点。事实上,该系统开发完成后,已将其部署在学校内网服务器上,已连续完成4学期的教材征订工作。从实际使用的情况来看,该系统运行稳定,使得教材征订准确、快速,提高了教材征订工作的效率,大大降低了教材管理人员的工作负担。配合系统教材目录“教材委员会”审查制度,有效地杜绝了教材管理环节腐败事件的发生。总之,该系统能够很好的满足我院教材征订管理的实际需求,同时也为同类院校教材信息化管理提供了一个借鉴。

参考文献:

[1]黄哲,徐志凯.高校教材征订管理系统分析与设计[J].软件工程,2019,22(1):37-39.

[2]Serget Barskiy.Code-First Development with Entity Framework[M].PACKT publishing.2015.

[3]David Cochran,Ian Whitley.Bootstrap 实战[M].李松峰译.人民邮电出版社,2015.

作者简介:刘元浩(1982—),男,汉族,四川南部人,硕士,宜宾职业技术学院讲师,研究方向为管理信息系统、教学管理的信息化;曾晗(1987—),男,汉族,四川富顺人,本科,宜宾职业技术学院讲师,研究方向为机电一体化技术、教学信息化改革;鲁庆东(1983—),男,汉族,云南鲁甸人,硕士,宜宾职业技术学院讲师,研究方向为自动控制、教学信息化改革。