二维码教室课表系统设计与开发

2019-07-08 02:23李特孙大松
电脑知识与技术 2019年13期
关键词:二维码管理系统

李特 孙大松

摘要: 现有的纸质课表難以满足高校师生对教室信息的获取与管理的需求。设计一个基于二维码扫码技术、B/S结构,运用MVC设计模式,采取SSM框架设计实现的智能教室管理系统。实现了教室课表信息实时更新,提供了空闲教室查询、教室活动查询、教室预约、故障报修、教室管理等功能,解决了传统教室信息获取难这一问题,并就技术难点进行了探讨,系统良好实用性和创新性。

关键词:二维码;SSM框架;教室课表;管理系统

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2019)13-0097-04

Abstract: The existing paper curriculum is difficult to meet the needs of teachers and students in the acquisition and management of classroom information. Design a smart classroom management system based on QR code scanning code technology, B/S structure, MVC design pattern and SSM framework design. Realize the real-time update of classroom class information, provide free classroom query, classroom activity query, classroom appointment, fault repair, classroom management and other functions, solve the problem of difficult access to traditional classroom information, and discuss technical difficulties, the system is good Practical and innovative.

Key words: QR code; SSM framework; classroom schedule; management system

信息化高速发展的今天,手工管理系统的方式已被信息管理系统取代。信息化技术也早已在高校教务管理有了成熟的应用.但其中的教室管理在这方面建设仍有不足.如教室课表的展示,大多数高校仍使用纸质课表张贴在教室门上,导致了无法实时更新不适应课表调整,不能反映借用信息,不能查询教室活动等一系列问题,给师生的日常使用带来不便. 围绕这些问题,本文设计实现了一种整合教室资源信息并方便师生获取的信息服务系统。

1 问题背景

设计开发系统的初衷是本人与同学在大学生活中切身体会到现有的教室纸质课表的不便,主要体现在以下几个情境:

教室实际课表变更,但纸质课表难以更新,造成困扰。

提前选定自习的教室,但使用时发现教室被借用,造成不便。

教室门口张贴的纸质课表存在部分破损,更换时难以清除,造成不美观。

学校多姿多彩的学术、文娱活动,只能通过海报获取,无法直观地在教室上看到。

为了提高教室的利用率,整合教室资源,为师生提供便利的服务这就是开发智能教室管理系统的目的。

2 需求分析

系统预期的主要使用者有学生、教师、教务管理人员、教室维护人员和系统管理员。学生与教师的功能需求相似,为系统的普通用户,仅能使用系统中无需权限的基础功能并且无需登录;其余角色为系统的管理用户,除基础功能外登录后台管理系统后能够根据自身权限操作相应功能。以下将从角色的角度详细分析使用系统的功能需求。

2.1 学生与教师使用系统的功能需求

学生与教师无需登录即可使用系统的基础功能,包括查看教室课表,查询空闲教室、教室实际用途等功能。

学生与教师可对课程进行检索,根据课程名称或授课教师模糊查询。

学生与教师在教室课表页面可以查看由教务管理人员审批发布的教室借用信息与公告通知。

学生与教师可以预约借用教室,借用时段该教室需为空闲状态,最少提前三天申请,需要在申请网页提交相关材料。

学生与教师可以查询教室的基本信息。如座位数,多媒体设备,是否有空调等。

学生可以进行故障报修,选择预先定义的故障类型并输入说明即可。

2.2 教务管理人员使用系统的功能需求

教务管理人员需要登录后才能使用后台管理功能。

教务管理人员可以设置账户的个人信息,如联系方式与邮箱等。

教务管理人员可以修改自己的后台管理系统登录密码。

教务管理人员可以审批教室的预约借用申请。

2.3 教室维护人员使用系统的功能需求

教室维护人员需要登录后才能使用后台管理功能。

教室维护人员可以设置账户的个人信息,如联系方式与邮箱等。

教室维护人员可以修改自己的后台管理系统登录密码。

教室维护人员可以查看普通用户提交的故障报修信息,并指派维修人员进行维修。

2.4 系统管理员使用系统的功能需求

根据以上从角色角度分析的功能需求,设计系统用例图如下图1所示。

除以上按角色分析的功能需求外,系统为了在接收预约申请和故障报修时及时通知相关管理人员还需要实现消息推送功能;为了保证课程信息的及时有效还需要实现定时同步数据库功能(从学校教务系统数据库同步数据)。

3 系统设计

3.1技术选型及工具介绍

根据当今主流开发技术的发展,本系统选用Java为服务端开发语言,使用MySQL数据库,Tomcat作为服务端容器。系统具体开发时,采用SSM技术实现WEB框架,使用Spring Boot快速构建并配置系统,具有稳健易用的特点。

为了提升系统开发速度,提高组件可复用性,减少各层之间的耦合度与提升系统的稳健性,安全性,系统的服务端开发与前端开发选用了一些主流成熟框架. 服务端选用了Spring、SpringMVC、Mybatis、Mybatis等框架,前端采用了bootstrap、Vue.js、axios等框架。此外,为了管理系统的开发进度和依赖,使用了git版本控制工具和maven项目管理工具。

3.2系统架构

系统架构采用分层设计,自上而下分为前端UI、展示层、业务层、数据层、数据库、运行环境,如下图2所示。

展示层对外暴露模版引擎渲染后的网页与Restful接口.其中模板引擎主要负责渲染高频访问页面中的重复部分(如教室课表信息),这部分信息在短期内对所有用户是相同的。再结合页面静态化技术,可以提高网页访问速度,利于搜索引擎收录与SEO。而Restful接口提供JSON格式的数据,前端通过Ajax技术取得所需的数据即可更新局部页面数据而无须刷新整个页面,提高系统响应速度。

业务层在系统中的作用是处理业务相关部分的逻辑,包含了系统所需要的所有业务功能上的算法和计算过程,并与数据层和展示层进行数据交互。

数据层为业务层提供访问位于持久化容器中数据的接口,在分层设计中,所有从介质化读取数据或写入数据的工作都属于这一层的任务。

3.3 Web技术框架

前文介绍了系统的总体分层架构设计,其中服务端web技术框架具体结构则如图3所示。

控制器Controller处于web技术结构中最外层,负责接受并处理用户的请求,在这里使用了Spring MVC框架,它通过核心类DispatcherServlet分发请求。模板引擎渲染的情况下,控制器接收分发的请求后把用户请求的数据由业务逻辑层处理后封装到Model中,并返回到相应的视图进行显示。提供Restful接口的情况下,则返回由对象转换成的Json字符串。两种方式通过注解都可以方便地实现,前者通过@Controller注解标记类,后者则通过@RestController注解标记类(或在方法上标记@ResponseBody)。然后通过@RequestMapping注解可以定义Controller映射的URL请求,Spring MVC的Controller不直接依赖HttpServletRequest与HttpServletResponse对象但可以在方法参数中简便地获取。

3.4模块分析

按照需要实现的功能,系统分为前台与后台。前台功能服务普通用户,包含了查询展示、预约借用、故障报修模块;后台功能服务管理人员,包含了教室管理、用户管理、系统功能。模块具体模块设计如下图4所示。

4 功能实现

4.1教室课表查询功能

实时课表查询是本系统的基本功能,用户通过本功能可以查詢任意教室的实时课表信息,展示界面除了课程信息,教室借用、设备故障等情况也会有所反映。考虑到用户不同场景下使用的需求,本功能设计了多个查询入口。

4.1.1教室门牌

教室的门牌是学生与老师查询教室课表的主要途径,通过手机扫描门牌上的二维码即可访问该教室的课表页面。这样的教室门牌简洁美观,相比传统的教室课表门牌,更有助于提升形象面貌以及便于师生使用。同时,综合考虑成本及教室位置等因素,两种教室门牌方案可以提供更灵活自由的选择。见图5图6 。

4.1.2网站直接访问

用户查询教室课表的另一途径为访问网站首页,该途径使用频率可能没有扫描教室门牌二维码的频率那么高,但解决了用户查询教室课表的空间限制,即使用户不在教室旁边,也能够查询到教室的课表信息,填补了扫码途径的不足之处。首页如下图7。

3.2 教室课表展示

教室实时课表采用表格展现,具有自适应的特点,能够随显示设备的宽度自动调整,手机与电脑都能有较好的展示效果。头部显示教室名称,教室座位等信息,并提供空教室查询与故障报修的入口。标题包含了教学周次与教室名称,如:当前第 12 教学周德正楼Z3-101课表信息。具体效果如图8:

5 技术难点

5.1多数据库连接

由于功能需求,系统除了连接本地的MySQL数据库之外还需连接学校教务系统的ORACLE数据库。在Spring Boot集成Mybatis的环境下,实现多数据库连接的具体思路是为各个数据源编写数据源配置类,在类中层级依次地注入各级依赖:DateSource->SqlSessionFactory->DataSourceTransactionManager->SqlSessionTemplate。最后使用@MapperScan注解将SqlSessionTemplate交给对应的Mapper。在种情况下,不同数据源的Mapper接口与xml映射文件需要分开在不同的包下存放。其中数据源的配置信息则存储于应用全局配置文件application.yml中,如下图9所示。

5.2定时任务

系统具备定时执行任务的特点,该特点主要用于定时同步学校教务系统数据库到本地数据库。这也是保证系统所展示信息正确有效,及时更新的重要前提。为了实现定时任务功能,可以借助Spring框架内集成的Spring- scheduling功能。使用方法为在需要定时执行的方法头部添加@scheduled(cron表达式)注解。

5.3 批量教室门牌打印

扫描教室门牌二维码是使用本系统的主要入口,因此实现批量打印教室门牌的功能至关重要。在后台的教室管理页面,可以选择单张打印或批量打印。单张打印可在线打印,批量打印生成PDF文件供用户下载打印。后者实现难度较高,在此着重介绍。实现思路为:预先使用Google的zxing库生成所有教室的二维码并保存。接收到批量打印请求后首先遍历生成单张PDF页面,再将所有页面拼接为一个PDF文件。单张页面的实现思路为首先将html模板与model数据(教室名称,对应二维码文件路径),通过freemarker进行渲染,渲染后的html流使用Flying Saucer组件生成pdf页面,具体实现流程如下图10所示。

6 总结

教室是教学活动中师生最常用的场地,怎样挖掘在教室载体上的信息,推送给相关学生,一直是现代教务信息研究的重点和难点,本系统大大解决了学生获取空闲教室信息难的问题,同时也可对学校内部利用教室开展的活动信息,一目了然,更好参与学校相关的教学、科研、娱乐活动。进行了有效的教室信息资源整合并提供相关信息将有助于提高教室的使用率。同时方便师生享受快捷服务。接下来,系统将进行学生相关数据信息采集,进行大数据匹配,结合微信,自动推送相关复习教室、教室活动。

参考文献:

[1] 孙大松.基于SSH架构的毕业论文管理系统设计与研究[J].电脑编程技巧与维护,2014(19):54-56.

[2] 趙倩莹. 基于移动终端的高校多媒体教室管理系统设计分析[J]. 数字技术与应用,2017(1):149,151.

[3] 曹劲. 信息化建设下多媒体教室管理的新模式初探[J]. 知音励志,2016(15):104.

[4] 吴锦欢. 智能教室管理系统的研究与设计[D].广州:华侨大学,2016.

[5] 郭庆林. 基于实时数据采集的本科高校多媒体智能教室综合管理信息系统的分析与设计[J]. 电子测试,2016(11):145-146.

[6] 赵领杰,张振友. 基于SSH的教室信息管理系统设计与实现[J]. 电脑知识与技术,2016,12(11):15-16.

[7] 尤雨溪. Vue.js教程与API文档[EB/OL]. https://cn.vuejs.org/v2/guide/.

[8] 孙伟琴.Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2009.

[9] Williams H E.Learning MySQL[M].北京:北京大学出版社,2010.

[10] 唐汉明.深入浅出MySQL:数据库开发、优化与管理维护[M],北京:人民邮电出版社,2014.

[11] 王飞飞.MySQL数据库应用从入门到精通[M],北京:中国铁道出版社,2014.

[12] 孙华林.构建Web应用系统:基于JSP+Servlet+JavaBean[M],北京:机械工业出版社,2014.

[13] 菜鸟教程.Bootstrap3教程[EB/OL].http://www.runoob.com/bootstrap/bootstrap-tutorial.html.

[14] 郭正轩. 基于B/S的学校公共教学楼教室申请管理系统设计[J]. 现代职业教育,2017(24):70.

[15] 钱鹏.二维码技术在高校多媒体教学中的应用[J].实验室研究与探索,2014,33(4):255-259.

【通联编辑:王力】

猜你喜欢
二维码管理系统
二维码迷宫
二维码
基于LED联动显示的违停管理系统
停车场寻车管理系统
船舶压载水管理系统
海盾压载水管理系统
让严肃的二维码呆萌起来
二维码让政务公开更直接
二维码,别想一扫了之
基于RFID的仓储管理系统实现