一种语音课堂考勤系统的设计与实现
2016-03-06杨云海章芬芬
杨云海,章芬芬
(韶关学院信息科学与工程学院,广东韶关512005)
一种语音课堂考勤系统的设计与实现
杨云海,章芬芬
(韶关学院信息科学与工程学院,广东韶关512005)
课堂考勤工作是教师必须开展的一项日常教学管理工作,传统的考勤方式、登记办法和统计方式都存在费时费力、效率不高的问题.使用信息技术开发一种语音课堂考勤系统辅助教师进行课堂考勤以及记录、统计等工作,可在一定程度上减轻教师在课堂考勤和考勤统计方面的工作量.
课堂;考勤;语音;数据库
课堂考勤是教师的一项日常教学管理工作,是学校教学管理工作的重要组成部分[1].采用传统的考勤办法:教师点名、手工记录缺勤情况的方式,不仅需要花费较多的课堂时间,通过手工记录得到的纸面的缺勤记录材料也不方便查对和统计.因此,采用传统方法开展课堂考勤工作,效率不高.设计、开发一种语音课堂考勤系统,使用计算机进行播报学生名册、登记缺勤记录等工作,可以缩短课堂考勤所需要的时间,同时,电子化的考勤记录也更方便管理,对提高教师的考勤工作效率有一定的帮助[2].笔者根据教师在课堂考勤工作的需求,开发了一个简单易用的课堂考勤管理系统.
1 系统功能模块的划分
作为一个简单易用的课堂考勤管理系统,系统的功能比较简单.按软件各部分实现的功能,可以划分为几个主要模块(见图1).
图1 语音课堂考勤系统功能模块的划分
1.1 班级管理
教师在一个学期(或一段时间内)为多个班级授课的情况比较普遍,可以把多个班级的名单导入到系统中,当要对特定的班级进行考勤时,可以通过查找、筛选得到该班级学生的名单,以便按名单进行考勤.选定特定的班级后,系统还能自动统计出班级人数(即要进行考勤的人数).
1.2 考勤语音播报与同步显示
计算机以语音的形式逐一播报学生名单,同时,正在播报的学生姓名以较大的字体同步显示在显示器上(以方便接投影播放).如学生缺勤,教师通过点击鼠标登记学生的缺勤情况,此时,系统对所登记的缺勤类型(如旷课、请假等)也进行播报.
1.3 缺勤记录的统计与管理
缺勤记录在考勤的过程中,就由教师通过点击鼠标的操作记录在数据库中.在完成当天(或当次)的考勤后,可以马上翻查出登记的缺勤情况,方便核对信息和统计缺勤人员.另外,在学期末(或完成阶段课程后),如需要对缺勤情况进行汇总,可以根据登记的情况获取每个学生的缺勤汇总数据.
2 系统设计与实现
2.1 数据库设计
2.1.1 数据库管理系统的选择
由于系统是单机单用户的,并且要存储、处理的数据量不大,可把选择数据库管理系统的原则定为:①较轻量,功能和性能要求都不需要太高,能实现基本的数据存储和检索即可;②安装配置较为简便;③管理工具的功能较为完善.
微软Access桌面数据库管理系统的各方面特性都能很好地符合这些要求.Access数据库不仅具有强大的数据管理功能,而且可以很方便地利用各种数据源生成窗体、查询和报表,对于数据的查询和管理都十分便捷[1],本系统也选用Access作为数据库管理系统.
图2 语音课堂考勤系统的数据库设计
2.1.2 数据表的设计
系统使用了5张表记录所需要的信息.
学生基本信息使用了3张表,分别是:stu(学生表,主码为:stu_id)、class(班级表,主码为:class_id)、institute(学院表,主码为:institute_id).
考勤记录使用了2张表,分别是:check(缺勤记录表,主码为:check_id)、check_type(缺勤类型表,主码为:check_type_id).
各表的字段名及完整性约束见图2.各项完整性约束确保了数据的有效性和正确性.
2.2 语音播报的实现
要使计算机能播报学生名单,就要把文字转化为语音,这就是需要使用TTS(Text-To-Speech,也称Speech Synthesis,即语音合成)开发工具.微软的TTS开发工具Speech SDK 5.1默认提供了英文和中文两种语音引擎,可以很方便地使用它来开发朗读中文和英文的应用程序[2],非常适合本系统的需求.Speech SDK 5.1的SAPI(Speech Application Programming Interface)5.1提供的组件对象模型(COM)SpVoice,是实现TTS程序的主要部件.
2.2.1 抽取待播报的文本
在播报学生名单时,系统先从数据库中读取需要考勤学生数据的集合(一个班级、或多个班级),数据集合存放并显示在系统主界面的ADODC控件中;移动ADODC的游标获取每条学生记录中的姓名(stu_name)字段,把学生姓名文本交由SpVoice对象进行处理.
图3 TTS数据处理流程
2.2.2 播报文本
在使用SpVoice对象时,要遵循以下的步骤:①创建SpVoice对象;②设置SpVoice对象的属性,如:使用的语音引擎(Voice)、语音流输出的格式(Format)、语速(Rate)、音量(Volume),以及语音状态位(Speak flags,可以使用不同的设置组合,使语音播报更能符合应用场景的需求)等等,当然也可以不指定而使用系统默认的设置;③调用SpVoice对象的Speak方法,实现文本到语音的转换.
使用VB实现这几个步骤的代码如下:
Set SPV=New SpVoice'创建SpVoice对象
Set SPV.Voice=语音引擎'按照所选择的语音对语音对象进行更改
SPV.Rate=语速'更改语速,范围为-10至10
SPV.Volume=音量'更改音量,范围为0至100
(其它设置,略)'由于SpVoice对象的可设置属性很多,在此不一一列举
SPV.Speak需要播报的文本'播报文本
2.3 开发环境的选择
系统采用VB作为开发环境.VB技术虽然较为古老,但其可用组件丰富,扩展性较强,并且提供了较为直观、易用的数据库开发控件,可以快速开发出数据库应用程序[7].VB提供了Jet数据库引擎,应用程序通过Jet数据库引擎可以直接建立和编辑Access数据库并完成对数据库的各种操作[8].另外,对于本系统所选用的语音开发工具SAPI 5.1,VB也有比较好的支持和丰富的范例.
2.4 考勤功能界面和操作
课堂考勤系统的界面以简洁风格为主,打开软件,选择要进行考勤的班级后,就可以开始考勤了,主要功能界面见图4.
图4 语音课堂考勤系统的主界面
在考勤的过程中,教师通过鼠标点击“上一位”或“下一位”按钮,计算机按游标的位置播报学生姓名,如果学生应答不明确,则可点击“重复”按钮重新播报其姓名,如确定缺勤,则点击相应的缺勤类别按钮进行登记.除了可以对所列出的名单(全班)进行全部考勤以外,还可以选择从名单中的某个序号开始,对以上或以下的名单进行考勤.在计算机逐一播报学生姓名的同时,学生的姓名也同时以较大的字体显示在显示器上.
在完成当前的考勤后,还可以把当前缺勤的情况进行汇总显示(见图5),可以在完成考勤后对缺勤人员的登记情况进行核对.
图5 缺勤登记信息核对窗口
2.5 统计功能的实现
系统把每次的缺勤情况都以新增记录的形式保存在数据库中,如果要对缺勤情况进行阶段性的统计(如学期末统计等),只需要对所缺勤情况记录进行分类、汇总即可.系统使用了Access的交叉表查询功能实现了一个既可以显示缺勤记录总计信息、又可以显示缺勤记录明细信息的表格,可谓是一目了然(见图6),极大地方便了教师对信息的统计和查看.
图6 缺勤信息统计表
实现这个交叉表查询的SQL代码如下:
TRANSFORM Count(考勤表.[check_type])AS check_type之计数
SELECT
考勤表.[stu_sno]AS[学号],考勤表.[stu_name]AS[姓名],
考勤表.[class_name]AS[班级],Count(考勤表.[check_type])AS[缺勤统计]
FROM考勤表GROUP BY考勤表.[stu_sno],考勤表.[stu_name],考勤表.[class_name]
PIVOT考勤表.[check_date];
3 结语
在完成语音课堂考勤系统的开发后,经过一段时间试用,系统的功能和稳定性都能达到设计要求,在课堂考勤时能较大地提高工作效率,在考勤信息统计汇总时也发挥了作用,有效减轻了教师的工作负担.但是,本系统还存在一些不足,比如:语音播报未能做到十分自然,一些姓名中的多音字未能正解识别(这也是受限于所使用的语音引擎);系统的统计功能的界面不够美观、功能仍需补充和完善.另外,对于一款实用型语音课堂考勤软件,集成一些必要的教师日程管理或教学管理的功能,也是很有必要的.今后,将继续研究课堂考勤、登记和统计工作的需求,对系统功能作进一步的改进和完善,提高其可用性和实用性.
[1]胡开华,舒期梁,张玉静.基于VB的课堂考勤系统[J].科技信息,2009(36):155-156.
[2]陈侃.校园考勤系统的设计与实现[J].计算机光盘软件与应用,2013(2):235-236.
[3]张洪波.Access在学生宿舍管理中的应用[J].理论界,2005(3):176.
[4]童强.利用SAPI5.1实现电脑语音朗读应用程序[J].微计算机信息,2006(5):257-258.
[5]尹惠玲,杨帆,于虹,等.基于COM的智能TTS系统的设计与实现[J].微计算机信息,2009(15):172-173.
[6]陈超越.基于VB和SAPI的语音合成的实现[J].电脑编程技巧与维护,2010(18):42.
[7]夏庆梅,熊华钢.VB访问SQL Server的三种数据访问接口的研究[J].计算机应用研究,2001(12):44-45.
[8]吴文斗,周兵,吴兴勇.Visual Basic程序设计教程[M].2版.长沙:湖南教育出版社,2011:292.
Design and Implementation of a Speech Classroom Attendance Checking System
YANG Yun-hai,Zhang Fen-fen
(School of Information Science and Engineering,Shaoguan University,Shaoguan 512005,Guangdong,China)
Checking the attendance of student in class is a daily work for a teacher.Using the traditional way to checking attendance,registering the absence record,and counting it must cost much time and energy,usually has low efficiency.Designing and achieving a speech classroom attendance checking system,using computer to assisted teachers to do something like checking attendance,registering the absence record,and counting absence record,can reduce the workload for the teacher.
classroom;attendance;speech;database
TP311
A
1007-5348(2016)12-0010-05
(责任编辑:欧恺)
2016-11-02
2015年度韶关学院科研项目(S201501002).
杨云海(1978-),男,广东广州人,韶关学院信息科学与工程学院讲师,硕士;研究方向:信息技术应用.