文/钟雨萍 陈万琨 李永鑫
课堂考勤系统主要由Android手机客户端、PC软件和服务器程序组成,Android手机客户端只要用于学生考勤信息的获取和其它信息的发送。教师使用PC软件查询学生的当前课程出勤情况和汇总某个课号的出勤情况。服务器响应Android手机客户端和PC软件发出的请求。根据不同的处理请求对Mysql数据库中的数据进行修改。
Android手机客户端使用Eclipse For Android IDE集成开发环境利用Java语言进行开发,主要的功能是完成学生用户信息的的注册,学生用户登陆,学生用户提交考勤信息和向服务器发送其它消息。用户使用时必须要连接到指定的路由器,否则无法通过验证,导致通讯失败。Android手机客户端通过WIFI进行联网,通过调用org.apache.http.legacy.jar中的HttpClient向服务器发送HTTP请求。服务器根据不同的请求进行处理并且向Android手机客户端返回相应的响应。Android客户端在根据服务器返回的信息进行处理显示页面。
PC软件设计使用Html完成静态页面,再通过css进行静态页面的美化。而此时页面还不具备与用户交互的功能,不能及时与用户进行交互,需要与设计好的数据库进行连接。本设计依托于Node.js框架因此与数据库连接交互的操作也使用Node.js的数据库模块与MySql数据库进行连接。要使本设计成为一个桌面应用需要使用electron,NW.js等工具。经过多方面的因素综合考虑最终选择了electron。electron是基于Node.js和Chromium做的一个工具。electron可以使用前端技术实现桌面开发,并且支持多平台运行。Electron可以使用纯JavaScript调用丰富的原生(操作系统)APIs来创造桌面应用,但本设计中使用Web页面作为应用的GUI,这样做可以使页面设计更灵活操作更便捷。
本客户端主要功能:为教师用户登陆,教师用户登陆后发布课堂测试题目,此功能中客户端会根据教师登陆时记录的教师id列出本学期该位教师负责的课号,教师点击提交后本客户端会将教师提交的内容按照设计人员的约定格式存储在数据库中,教师用户登陆后选取本学期课程列表的某一课号查询该课号考勤情况,若查询时为某一课号的上课时间还可查询该节课的考勤情况。
服务器程序的设计按不同的功能模块设计,每个模块完成客户端一个请求,尽量避免不同的功能模块之间的相互耦合,服务器负责处理Android手机或PC软件发送的请求,客户端使用标准的HTTP协议进行访问服务器。服务器自身采用定时器任务去完成学生的数据库考勤生成表,服务器根据不同客户端的不同请求进行处理,对数据库进行不同的操作,更新学生的考勤状态,查询考勤信息。服务器提供的功能为用户的登陆验证,所有用户进行登录进行验证,如果不是在数据库中存在的用户,
则无法登陆使用。学生考勤记录的生成,服务器由定时器任务更新每天的学生考勤信息。同时服务器也提供其它的服务,比如课堂练习的功能、消息的传送和管理功能。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,一般中小型网站的开发都选择MySQL作为网站数据库。
课堂管理系统需要提供各种信息的查询、保存、更新和删除等功能,这就要求数据库能充分满足各种数据的输入和输出。以下是需求信息:
(1)一位老师只有一个id。
(2)一位学生只有一个id。
(3)一位老师可以负责多个课号。
(4)一位学生可以参与多个课号。
(5)一个课号可以有多个上课时间和上课教室。
(6)一个课号只有一位负责老师。
(7)一个教室只有一个编号但是可以有多个路由MAC地址。
(8)一个教室同一个时间段最多只有一个课号。
(9)一个课号可以有多个测试题目。
整个系统设计完成后,经过一定的测试,基本满足了系统的设计最初目标,比使用传统方式使用纸张做考勤记录更加高效,主要是在记录的形式和后期的统计更加方便。服务器在很多用户同时访问是需要服务器的处理能力比较强。数据结果的显示只有数据,没有使用图形化显示,这个可以在后期进行改进。
传统的考勤方式比较繁琐,现在Android手机的越来越普及,这使得我们我们借助Android手机来实现考勤提供了有利的条件。使用服务器和其它设备组成考勤系统,可以减少对数据的统计过程,同时可以对考勤信息记录更加规范。同时可以提高高校的信息化水平。
参考文献
[1]杨少波.J2EE Web核心技术:Web组件与框架开发技术[M].北京:清华大学出版社,2011.
[2]尹继平,聂庆亮.跟我学Java Web[M].北京:清华大学出版社,2010.