基于B/S的一卡通会议签到系统设计与实现
2018-06-14杨士卿
杨士卿
(天津师范大学,天津 300387)
0 引言
随着高校校园数字化不断建设,校园内互联网基本全面覆盖[1],校内一卡通也已经普及,目前一卡通已经应用于门禁、图书借阅等系统中。当前,高校组织的众多会议和活动中,往往采用传统的人工签到的方式进行统计,效率低下且不便统计[2]。笔者将研究基于B/S即浏览器/服务器结构的一卡通会议签到系统,实现使用一卡通数字化签到,提高系统签到和统计效率。
1 系统需求分析
1.1 需求分析
一卡通会议签到系统主要针对高校内会议、普通活动和预约类活动的签到,预约类活动是指活动过于热门参与者众多所以需要提前预约抢票的活动,这类活动发生时抢到票的同学优先进场,其他想参与的同学在抢到票的人员入场完毕后有余位再入场。方便起见,在本文中统称会议。本系统的主要目的,首先是将会议传统人工签到过程数字化,节省人力物力,二是精确记录会议召开时间、与会人员应到情况、与会人员实到情况、进场时间、场馆剩余座位情况、未预约人员入场情况等。根据上述需求,具体分析如下:
(1)用户端,包括正常签到和未预约活动入场签到,无需注册,由管理员在后台添加全校师生基本信息和参加本次会议的工号/学号;
(2)管理员端,包括登录、会议添加、查看、修改和删除,用户添加、查询、修改和删除,查看和导出会议签到和人员出席情况。
1.2 可行性分析
软件方面,本系统采用开源的PHP开发语言和MYSQL数据库,前端配合使用jQuery和ajax,能够开发分层清晰、稳定、扩展性强的系统。硬件方面,与本校一卡通管理部门沟通采购支持本校一卡通的经济性良好、灵活性好、出错率极低的非接触式智能读写器,目前该读写器已在图书馆图书借阅系统中使用,通过一卡通读写接口与会议签到系统连接。从技术层面和经济层面本系统开发具有可行性。
2 系统总体设计
2.1 系统结构
在系统需求分析的基础上,采用B/S结构进行系统构建,服务器端脚本语言选择PHP语言,使用轻量级MVC框架ThinkPHP来开发。B/S结构在网络系统开发中应用广泛[3],使用 B/S结构具有分布性强、可扩展性强、维护简单等优点,用户无需下载客户端,只要有网络和浏览器即可使用,扩展与更新维护等工作均在服务器端进行,用户在浏览器端刷新即可享用更新[4]。在 B/S结构的基础上,本系统采用MVC框架,MVC是模型、控制器、视图的缩写[5],其中视图表示用户界面,模型层定义业务规则,使得一种规则可以被多个视图重用,控制器层接受用户输入并调用其他两层完成用户指令[6]。分层使数据模型和界面层实现代码分离,便于维护,有利于开发分工和组件重用[7]。
技术实现方面,会议签到时页面内显示实时签到人数,使用Ajax局部刷新技术实现;数据导出功能使用第三方开发的PHP Excel插件实现。
2.2 系统设计与开发原则
(1)安全性:由于本系统内包含了全校师生的基本信息和系列会议签到信息,应保证系统的稳定性和保密性,同时应定时备份,防止用户数据丢失[8]。
(2)先进性:系统采用先进的、成熟的技术方法,便于后期维护[9]。
(3)可扩展性:系统应具有较高的可扩展性,能够支持将来功能模块的平滑扩充以及数据量的增长,兼容性、可移植性良好[10]。
2.3 系统功能模块图
本系统划分用户模块和管理员模块。用户模块包括正常签到和未预约签到。管理员模块则包括登录模块、会议管理模块、用户管理模块、签到情况查看与导出模块。系统功能模块图如图1所示。
图1 系统功能模块图Fig.1 Sy stem function module
2.4 系统整体流程
系统整理流程图如图2所示。
2.5 数据库设计
主要表包括活动信息表、需与会人员(或已预约活动人员)名单表、用户基本信息表、签到记录表。
其中,用户基本信息表将与学校相关部门的师生基本信息表对接,活动类已预约名单表和管理相关抢票活动的数据库表对接。
活动信息表主要包括会议编号、会议名称、会议地点、会议时间、可容纳人数、插入时间等。
需与会人员名单表主要包括预约编号、会议编号、学号/工号、是否签到等。
用户基本信息表包括学号/工号、姓名、学院等。
签到记录表包括签到编号、会议编号、学号/工号、签到时间、是否属于需与会人员或已预约活动的人员等。
3 系统实现与测试
会议管理界面和会议签到界面如图3所示。
管理员可以在会议管理界面直接添加会议、删除会议、查看会议详情、单击会议某项信息编辑保存。系统界面本着简洁明了的设计理念,将会议管理增删改查功能设置于同一页面中,通过使用Ajax技术在一个页面内提交请求并局部刷新实现增删改查。
会议签到界面如图4所示,签到成功和提示未预约同学稍后的弹框如图5和6所示。
图2 系统整体流程Fig.2 General process of the system
图3 会议管理界面Fig.3 Con ference management interface
图4 会议签到界面Fig.4 Conference sign in interface
在会议签到模块,首先,需要工作人员选择签到会议,优先进入需与会人员签到(已预约用户签到)界面,当用户拍下一卡通时,弹框提示用户基本信息。弹出基本信息包括:签到成功提示、用户姓名、用户真实头像、学院、签到时间。用户真实头像照片以学号/工号命名,读取照片的时候直接使用学号/工号调用,同时省去数据库存储头像地址的字段。测试过程中,为使系统支持不同用户连续拍卡连续弹出用户基本信息,因此弹出框不能使用Javascript自带的alert弹框,而是需要自己编写弹出层,弹出层在显示几秒后自动消失,如果不同用户连续签到则弹出框后签到的人员基本信息覆盖上一个人的基本信息,保证弹出信息的平稳运行。用户签到时,弹出框提示伴有提升音,如果属于与会人员或已经预约活动的人员,则提示正常提示声,如果非预约人员在正常签到窗口签到则提示错误提示音,弹出正常签到结束后如有空余座位则开启非预约人员签到模式,否则则关闭系统。
图5 签到成功提示Fig.5 Signing success reminder
图6 未预约提示Fig.6 No appointment reminder
经过多轮白盒测试和黑盒测试,一卡通签到系统平稳运行。随后上线应用至全校部分大型活动签到中。
4 结论
基于B/S结构的一卡通会议签到系统,初步实现了会议签到的数字化,与会人员可以通过一卡通拍卡签到,系统自动弹框提示签到人员基本信息,系统界面显示实时签到人数,管理员可以进行会议的增删改查、用户的增删改查、以及查看和导出会议签到情况。该系统节省了会议签到环节的人力物力,为数据统计和审查提供了便利。此外,系统具有较强的稳定性和可扩展性,未来希望和师生活动参与情况考核连接起来,为高校数字一体化建设做出贡献。
[1] 闫实, 付佳, 石莉. 大数据环境下基于智慧校园的教学改革[J]. 软件, 2018, 39(2): 208-211.
[2] 朱致远. IOS 平台上课堂实时反馈系统的设计与实现[J].软件, 2015, 36(2): 102-106.
[3] 肖坤峨, 虞泉. 基于WEB的智能答疑系统的研究与构建[J]. 软件, 2015, 36(6): 31-36.
[4] 胡智慧, 朱斐. 基于B/S架构的培训部课程管理系统的设计与实现[J]. 软件, 2015, 36(8): 79-83.
[5] 汤明伟, 郑柳娟. 基于 MVC 的响应式餐饮业工服供应链分销平台的设计与实现[J]. 软件, 2018, 39(3): 160-165.
[6] 韩凌波. 基于mvc 架构的普法考试系统设计与实现[J]. 软件, 2015, 36(3): 132-134.
[7] 葛管库. MVC模式下程序设计[J]. 软件, 2013, 34(02):49-51.
[8] 赵磊. 高校网站建设安全问题分析与对策[J].软件, 2015,36(9): 104-105.
[9] 董恒竞. 一种企业移动应用平台架构设计[J]. 软件, 2016,37(1): 136-138.
[10] 周超. 基于Web的预算项目管理系统设计与实现[J].软件,2017, 38(6): 128-131.