基于微信的教务信息系统设计和开发
2018-05-16蒋俊华赵高峰
蒋俊华,赵高峰
(河南大学 物理与电子学院,河南 开封 475002)
0 引 言
随着无线网络与智能手机的普及,高校的教务管理工作基本实现了网络化和无纸化.完善的教务网络信息平台可以为用户提供各种通知及信息,极大地提升了教务管理工作的效率[1-2].但是目前主流的教务信息系统大多还是面向计算机端的,用户只有通过登录PC端的浏览器才能访问.随着移动互联网的成熟普及,高校内移动设备的拥有率远远超过PC的拥有率,移动办公和随时随地的获取信息成为一种新的趋势和要求[3].移动终端之间存在兼容性的问题,因此需要借助通用平台来实现这一设计方案,而不是针对不同移动终端来设计APP.就目前常用的通用信息平台而言,首推腾讯推出的微信公众平台.因此基于微信平台进行上述方案的开发和设计切实可行.微信在广大师生中广泛使用,基于不同的定位和面向对象不同有多种不同类型的微信平台.现在高校微信平台存在的问题有:
(1)平台的发展太过于局限,信息传送不及时,不定时.
(2)功能太过于单一,不能满足广大师生.
(3)很多开发者没有掌握微信平台相应的后台开发技术,校园微信平台的推送多数以图文为主的模式,太过于普遍和乏味.
本文开发了基于微信公众平台的教务信息系统,解决了以上问题.本文所提方案基于微信公众平台,利用Html5技术和网络爬虫技术,将PC端教务信息系统中的内容和服务资源以适当的交互方式和技术手段进行转化,通过移动设备服务于本院师生,能够改善高校中现有教务信息系统的封闭特性,特别是增强了系统和用户的有效交互,提升内容和服务资源的利用率[5-6].
1 系统的功能
本文所提系统主要实现以下功能:
(1)关注公众号用户可以随时通过公众号菜单点击查看学院概况、师资介绍、科学研究、学科建设、教学计划、课程安排等基本信息;
(2)可以接收查看学院相关教务新闻、通知公告、讲座及报告信息、校园生活信息等;
(3)学生可以进行网上评教和网上选课等;
(4)推送校内信息和招生、求职信息等.
根据系统功能需求分析,确定系统设计的总体目标,考虑到应用的便捷性,在进行系统设计时,分为3个一级栏目:学院教学、学院资讯和学生查询.系统最终整体功能及栏目设计如图1所示:
图1 系统功能及栏目结构图
2 系统的设计与实现
2.1 系统结构设计
系统主要由腾讯微信公众号云平台、数据库服务器、微信和Web服务器等实现,每个服务器对于系统都是不可或缺的,承担着不同的任务.
图2 系统网络结构图
微信公众号云平台:提供一个公众号,并实现和特定群体的文字、图片、语音的全方位沟通、互动.
数据库服务器:主要运行MySQL数据库[7],用来存储数据和管理数据.
微信和Web服务器:接收和发送微信信息,它将腾讯微信公众号云平台发送来的XML信息进行解析后,再发送给后台的数据库服务器和应用程序服务器进行处理,或者将数据库服务器和应用程序服务器发来的响应信息封装后发送给腾讯微信公众号云平台.
应用程序服务器:运行webService服务程序,将Web服务器发送过来的数据,进行逻辑处理,然后再反馈给Web服务器.
该系统具有:信息推送、教学资源信息查询、学生教务系统查询.其中教务信息查询是其核心功能.教务信息系统查询主要由用户、腾讯微信服务器、中间接口服务器和一些接口信息系统(例如学校教务系统)等4部分组成,该教务信息查询系统如图3所示:
图3 系统信息查询业务流程图
图4 系统平台结构框架图
2.2 系统框架设计
该系统框架设计包含用户层(学生)、接入层(微信公众平台)、业务逻辑层和数据收集层等4层.其框架设计及工作流程如图4所示:
(1)在用户层,用户只需用手机上的微信关注该微信公众号,就能登录系统初始页面,学生可以输入自己的学号在系统上进行绑定.
(2)接入层的主要作用是对来自服务器和用户之间的数据解析并且发送给对方.
(3)业务逻辑层是该系统的核心层,主要是进行教务信息查询和学校消息咨询.业务逻辑层的几大功能都是建立在数据收集层之上的.
(4)数据收集层主要包括高校的教务信息管理系统.
2.3 系统的爬虫技术
在实现成绩查询、课表查询、教室查询这些功能时,需要访问学校教务系统数据库,但是现有的教务系统没有开放API接口,无法通过该接口发送POST请求并附带相关密钥获取用户的信息.因此只能通过数据爬虫,自动识别验证码模拟登录系统,从而获取教务系统数据信息.但是数据爬虫的识别速度以及准确度直接关系到系统的响应时间[7],为了提高系统响应速度,采取将用户数据保存进本地数据库的解决方案,同时系统后台自动定时更新用户数据.在代码实现时采取Jquery框架,先在网页载入时将隐藏的一部分内容显示出来,然后初始化验证码,请求官方系统登陆入口的验证码图片,并且保存在本地缓存文件,然后将教务系统上相关信息提取出来.代码实现流程图如下:
图5 程序流程图
2.4 系统的Mysql数据库
基于MySQL体积小、查询速度快等特点,在本系统中采取了MySQL作为数据库的解决方案.本地数据库可以看作是一个表,表里包含行与列.首先创建database,然后在dababase里创建table,主要是对表的属性进行设计,包括名称,字长,类型.为了提高查询的性能,还需要设置基本约束,设置列是否可以为null,通过SQL语句读取表信息,对表进行修改,每一条信息入库的时候,都要和数据库里ID属性相比较,如果新抓取的ID和原来库里一致的话,就更新此条ID信息,否则就新增加一条ID.这样就保证从学校教务系统里提取的数据最新.
2.5 系统的实现
本系统采用Linux作为服务器端操作系统,选择MySQL数据库做为WEB服务器的数据库,前端采用Html5技术,后台用PHP语言进行开发.所设计系统已经成功应用于某理工学院.
公众号导航栏目菜单的实现:
用户关注并进入微信公众号主界面时,将看到三个一级栏目菜单;当用户点击一级栏目“学院教学”菜单后,弹出对应的二级子菜单,共有5个子菜单,可以了解学院概况,科研以及教学等基本情况;假如用户需要了解学院概况方面内容时,只需要点击二级子菜单中的“学院概况”栏目,就可以弹出对应内容页面.通过学院资讯菜单,可以了解学院的招生、就业、学术等信息.
菜单的实现原理是通过后台服务器进行菜单栏目名称和对应内容的灵活配置,并将配置信息生成json数据发送给微信公众号云平台来实现配置信息与用户的访问信息自动同步;当前菜单配置的json数据为:
该系统提供的信息主要是面向于本院师生,通过学术查询菜单可以进行课表查询、成绩查询以及匿名评教.网上评教和课表查询模块和学校教务管理系统相关联,需要输入学号和密码才能进入查询.用户第一次使用进入登陆绑定页面,输入学号和密码之后,点击绑定,实现一次绑定不需要输入密码就可以查询.
(1)查询课表:当学生打开微信公众平台,点击自定义菜单首次进入这一页面,则会出现系统提示:请将学号与教务系统绑定.绑定后只需输入查询第几周星期几的课表,系统会根据关键字判断马上将指定日期的课表发过来.与此同时,此课表中还包含以下信息:时间、地点以及教师等相关信息.这样方便了同学们随时随地查询课表,将纸质课表变为电子课表,方便学生对自己的时间进行安排.
(2)查询成绩:学生只需输入用户名、密码,提交,进入成绩管理,选择全部成绩浏览,即可查询所有成绩和学分,并以表格方式展示.通过标签卡可以选择性查看不同年级不同学期的各科成绩,同样用表格方式展示.
(3)网上评教:本页面可以显示该生本学期所修课程,可在规定的时间内对老师的授课情况按照十分制进行评教.系统可对评价的数据进行统计,供教师本人、教务管理人员参考,具体的页面.
3 结束语
本系统利用微信公众平台实现在移动设备上进行教务查询,以新一代移动网络技术为基础,借助学校教务系统的数据库信息,将多重教务管理业务整合延伸到移动无线终端,用先进的技术手段、丰富的信息内容、个性化的信息服务,形成实时、动态的查询平台,为师生提供一个方便快捷的信息通道.从系统的实际使用情况来看,针对使用院系的一些精品课程、创新创业项目管理、毕业论文等内容还需要做进一步的增添和改进.
参考文献:
[1]倪志宏.基于微信公众平台的掌上高校网络信息服务系统研究[J].合作经济与科技,2013(14):127-128.
[2]黄丹丹.微信公众平台在高校教务管理中的应用探析[J].中国管理信息化,2017(2):206-208.
[3]曲广强,关晓辉,王建元,等.基于微信公众平台的教务信息查询系统设计与实现[J].东北电力大学学报,2015(12):100-105.
[4]王翠英.基于手机的教务管理系统的设计与实现[J].计算机光盘软件与应用,2013(4):147-149.
[5]王明亮,闵新力,姬江涛,等.基于微信的移动外勤管理系统设计与实现[J].计算机应用与软件,2015,32(7):82-85.
[6]赵展浩,基于微信公众平台的智能校园信息平台设计与实现[J].计算机时代,2016(5):38-44.
[7]徐建华.基于ECShop系统的电子商务网站设计与实现[J].软件导刊,2014,13(1):104-106.