楊云海,章芬芬
(韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院,廣東韶關(guān)512005)
一種語音課堂考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
楊云海,章芬芬
(韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院,廣東韶關(guān)512005)
課堂考勤工作是教師必須開展的一項(xiàng)日常教學(xué)管理工作,傳統(tǒng)的考勤方式、登記辦法和統(tǒng)計(jì)方式都存在費(fèi)時(shí)費(fèi)力、效率不高的問題.使用信息技術(shù)開發(fā)一種語音課堂考勤系統(tǒng)輔助教師進(jìn)行課堂考勤以及記錄、統(tǒng)計(jì)等工作,可在一定程度上減輕教師在課堂考勤和考勤統(tǒng)計(jì)方面的工作量.
課堂;考勤;語音;數(shù)據(jù)庫(kù)
課堂考勤是教師的一項(xiàng)日常教學(xué)管理工作,是學(xué)校教學(xué)管理工作的重要組成部分[1].采用傳統(tǒng)的考勤辦法:教師點(diǎn)名、手工記錄缺勤情況的方式,不僅需要花費(fèi)較多的課堂時(shí)間,通過手工記錄得到的紙面的缺勤記錄材料也不方便查對(duì)和統(tǒng)計(jì).因此,采用傳統(tǒng)方法開展課堂考勤工作,效率不高.設(shè)計(jì)、開發(fā)一種語音課堂考勤系統(tǒng),使用計(jì)算機(jī)進(jìn)行播報(bào)學(xué)生名冊(cè)、登記缺勤記錄等工作,可以縮短課堂考勤所需要的時(shí)間,同時(shí),電子化的考勤記錄也更方便管理,對(duì)提高教師的考勤工作效率有一定的幫助[2].筆者根據(jù)教師在課堂考勤工作的需求,開發(fā)了一個(gè)簡(jiǎn)單易用的課堂考勤管理系統(tǒng).
作為一個(gè)簡(jiǎn)單易用的課堂考勤管理系統(tǒng),系統(tǒng)的功能比較簡(jiǎn)單.按軟件各部分實(shí)現(xiàn)的功能,可以劃分為幾個(gè)主要模塊(見圖1).
圖1 語音課堂考勤系統(tǒng)功能模塊的劃分
1.1 班級(jí)管理
教師在一個(gè)學(xué)期(或一段時(shí)間內(nèi))為多個(gè)班級(jí)授課的情況比較普遍,可以把多個(gè)班級(jí)的名單導(dǎo)入到系統(tǒng)中,當(dāng)要對(duì)特定的班級(jí)進(jìn)行考勤時(shí),可以通過查找、篩選得到該班級(jí)學(xué)生的名單,以便按名單進(jìn)行考勤.選定特定的班級(jí)后,系統(tǒng)還能自動(dòng)統(tǒng)計(jì)出班級(jí)人數(shù)(即要進(jìn)行考勤的人數(shù)).
1.2 考勤語音播報(bào)與同步顯示
計(jì)算機(jī)以語音的形式逐一播報(bào)學(xué)生名單,同時(shí),正在播報(bào)的學(xué)生姓名以較大的字體同步顯示在顯示器上(以方便接投影播放).如學(xué)生缺勤,教師通過點(diǎn)擊鼠標(biāo)登記學(xué)生的缺勤情況,此時(shí),系統(tǒng)對(duì)所登記的缺勤類型(如曠課、請(qǐng)假等)也進(jìn)行播報(bào).
1.3 缺勤記錄的統(tǒng)計(jì)與管理
缺勤記錄在考勤的過程中,就由教師通過點(diǎn)擊鼠標(biāo)的操作記錄在數(shù)據(jù)庫(kù)中.在完成當(dāng)天(或當(dāng)次)的考勤后,可以馬上翻查出登記的缺勤情況,方便核對(duì)信息和統(tǒng)計(jì)缺勤人員.另外,在學(xué)期末(或完成階段課程后),如需要對(duì)缺勤情況進(jìn)行匯總,可以根據(jù)登記的情況獲取每個(gè)學(xué)生的缺勤匯總數(shù)據(jù).
2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
2.1.1 數(shù)據(jù)庫(kù)管理系統(tǒng)的選擇
由于系統(tǒng)是單機(jī)單用戶的,并且要存儲(chǔ)、處理的數(shù)據(jù)量不大,可把選擇數(shù)據(jù)庫(kù)管理系統(tǒng)的原則定為:①較輕量,功能和性能要求都不需要太高,能實(shí)現(xiàn)基本的數(shù)據(jù)存儲(chǔ)和檢索即可;②安裝配置較為簡(jiǎn)便;③管理工具的功能較為完善.
微軟Access桌面數(shù)據(jù)庫(kù)管理系統(tǒng)的各方面特性都能很好地符合這些要求.Access數(shù)據(jù)庫(kù)不僅具有強(qiáng)大的數(shù)據(jù)管理功能,而且可以很方便地利用各種數(shù)據(jù)源生成窗體、查詢和報(bào)表,對(duì)于數(shù)據(jù)的查詢和管理都十分便捷[1],本系統(tǒng)也選用Access作為數(shù)據(jù)庫(kù)管理系統(tǒng).
圖2 語音課堂考勤系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)
2.1.2 數(shù)據(jù)表的設(shè)計(jì)
系統(tǒng)使用了5張表記錄所需要的信息.
學(xué)生基本信息使用了3張表,分別是:stu(學(xué)生表,主碼為:stu_id)、class(班級(jí)表,主碼為:class_id)、institute(學(xué)院表,主碼為:institute_id).
考勤記錄使用了2張表,分別是:check(缺勤記錄表,主碼為:check_id)、check_type(缺勤類型表,主碼為:check_type_id).
各表的字段名及完整性約束見圖2.各項(xiàng)完整性約束確保了數(shù)據(jù)的有效性和正確性.
2.2 語音播報(bào)的實(shí)現(xiàn)
要使計(jì)算機(jī)能播報(bào)學(xué)生名單,就要把文字轉(zhuǎn)化為語音,這就是需要使用TTS(Text-To-Speech,也稱Speech Synthesis,即語音合成)開發(fā)工具.微軟的TTS開發(fā)工具Speech SDK 5.1默認(rèn)提供了英文和中文兩種語音引擎,可以很方便地使用它來開發(fā)朗讀中文和英文的應(yīng)用程序[2],非常適合本系統(tǒng)的需求.Speech SDK 5.1的SAPI(Speech Application Programming Interface)5.1提供的組件對(duì)象模型(COM)SpVoice,是實(shí)現(xiàn)TTS程序的主要部件.
2.2.1 抽取待播報(bào)的文本
在播報(bào)學(xué)生名單時(shí),系統(tǒng)先從數(shù)據(jù)庫(kù)中讀取需要考勤學(xué)生數(shù)據(jù)的集合(一個(gè)班級(jí)、或多個(gè)班級(jí)),數(shù)據(jù)集合存放并顯示在系統(tǒng)主界面的ADODC控件中;移動(dòng)ADODC的游標(biāo)獲取每條學(xué)生記錄中的姓名(stu_name)字段,把學(xué)生姓名文本交由SpVoice對(duì)象進(jìn)行處理.
圖3 TTS數(shù)據(jù)處理流程
2.2.2 播報(bào)文本
在使用SpVoice對(duì)象時(shí),要遵循以下的步驟:①創(chuàng)建SpVoice對(duì)象;②設(shè)置SpVoice對(duì)象的屬性,如:使用的語音引擎(Voice)、語音流輸出的格式(Format)、語速(Rate)、音量(Volume),以及語音狀態(tài)位(Speak flags,可以使用不同的設(shè)置組合,使語音播報(bào)更能符合應(yīng)用場(chǎng)景的需求)等等,當(dāng)然也可以不指定而使用系統(tǒng)默認(rèn)的設(shè)置;③調(diào)用SpVoice對(duì)象的Speak方法,實(shí)現(xiàn)文本到語音的轉(zhuǎn)換.
使用VB實(shí)現(xiàn)這幾個(gè)步驟的代碼如下:
Set SPV=New SpVoice'創(chuàng)建SpVoice對(duì)象
Set SPV.Voice=語音引擎'按照所選擇的語音對(duì)語音對(duì)象進(jìn)行更改
SPV.Rate=語速'更改語速,范圍為-10至10
SPV.Volume=音量'更改音量,范圍為0至100
(其它設(shè)置,略)'由于SpVoice對(duì)象的可設(shè)置屬性很多,在此不一一列舉
SPV.Speak需要播報(bào)的文本'播報(bào)文本
2.3 開發(fā)環(huán)境的選擇
系統(tǒng)采用VB作為開發(fā)環(huán)境.VB技術(shù)雖然較為古老,但其可用組件豐富,擴(kuò)展性較強(qiáng),并且提供了較為直觀、易用的數(shù)據(jù)庫(kù)開發(fā)控件,可以快速開發(fā)出數(shù)據(jù)庫(kù)應(yīng)用程序[7].VB提供了Jet數(shù)據(jù)庫(kù)引擎,應(yīng)用程序通過Jet數(shù)據(jù)庫(kù)引擎可以直接建立和編輯Access數(shù)據(jù)庫(kù)并完成對(duì)數(shù)據(jù)庫(kù)的各種操作[8].另外,對(duì)于本系統(tǒng)所選用的語音開發(fā)工具SAPI 5.1,VB也有比較好的支持和豐富的范例.
2.4 考勤功能界面和操作
課堂考勤系統(tǒng)的界面以簡(jiǎn)潔風(fēng)格為主,打開軟件,選擇要進(jìn)行考勤的班級(jí)后,就可以開始考勤了,主要功能界面見圖4.
圖4 語音課堂考勤系統(tǒng)的主界面
在考勤的過程中,教師通過鼠標(biāo)點(diǎn)擊“上一位”或“下一位”按鈕,計(jì)算機(jī)按游標(biāo)的位置播報(bào)學(xué)生姓名,如果學(xué)生應(yīng)答不明確,則可點(diǎn)擊“重復(fù)”按鈕重新播報(bào)其姓名,如確定缺勤,則點(diǎn)擊相應(yīng)的缺勤類別按鈕進(jìn)行登記.除了可以對(duì)所列出的名單(全班)進(jìn)行全部考勤以外,還可以選擇從名單中的某個(gè)序號(hào)開始,對(duì)以上或以下的名單進(jìn)行考勤.在計(jì)算機(jī)逐一播報(bào)學(xué)生姓名的同時(shí),學(xué)生的姓名也同時(shí)以較大的字體顯示在顯示器上.
在完成當(dāng)前的考勤后,還可以把當(dāng)前缺勤的情況進(jìn)行匯總顯示(見圖5),可以在完成考勤后對(duì)缺勤人員的登記情況進(jìn)行核對(duì).
圖5 缺勤登記信息核對(duì)窗口
2.5 統(tǒng)計(jì)功能的實(shí)現(xiàn)
系統(tǒng)把每次的缺勤情況都以新增記錄的形式保存在數(shù)據(jù)庫(kù)中,如果要對(duì)缺勤情況進(jìn)行階段性的統(tǒng)計(jì)(如學(xué)期末統(tǒng)計(jì)等),只需要對(duì)所缺勤情況記錄進(jìn)行分類、匯總即可.系統(tǒng)使用了Access的交叉表查詢功能實(shí)現(xiàn)了一個(gè)既可以顯示缺勤記錄總計(jì)信息、又可以顯示缺勤記錄明細(xì)信息的表格,可謂是一目了然(見圖6),極大地方便了教師對(duì)信息的統(tǒng)計(jì)和查看.
圖6 缺勤信息統(tǒng)計(jì)表
實(shí)現(xiàn)這個(gè)交叉表查詢的SQL代碼如下:
TRANSFORM Count(考勤表.[check_type])AS check_type之計(jì)數(shù)
SELECT
考勤表.[stu_sno]AS[學(xué)號(hào)],考勤表.[stu_name]AS[姓名],
考勤表.[class_name]AS[班級(jí)],Count(考勤表.[check_type])AS[缺勤統(tǒng)計(jì)]
FROM考勤表GROUP BY考勤表.[stu_sno],考勤表.[stu_name],考勤表.[class_name]
PIVOT考勤表.[check_date];
在完成語音課堂考勤系統(tǒng)的開發(fā)后,經(jīng)過一段時(shí)間試用,系統(tǒng)的功能和穩(wěn)定性都能達(dá)到設(shè)計(jì)要求,在課堂考勤時(shí)能較大地提高工作效率,在考勤信息統(tǒng)計(jì)匯總時(shí)也發(fā)揮了作用,有效減輕了教師的工作負(fù)擔(dān).但是,本系統(tǒng)還存在一些不足,比如:語音播報(bào)未能做到十分自然,一些姓名中的多音字未能正解識(shí)別(這也是受限于所使用的語音引擎);系統(tǒng)的統(tǒng)計(jì)功能的界面不夠美觀、功能仍需補(bǔ)充和完善.另外,對(duì)于一款實(shí)用型語音課堂考勤軟件,集成一些必要的教師日程管理或教學(xué)管理的功能,也是很有必要的.今后,將繼續(xù)研究課堂考勤、登記和統(tǒng)計(jì)工作的需求,對(duì)系統(tǒng)功能作進(jìn)一步的改進(jìn)和完善,提高其可用性和實(shí)用性.
[1]胡開華,舒期梁,張玉靜.基于VB的課堂考勤系統(tǒng)[J].科技信息,2009(36):155-156.
[2]陳侃.校園考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(2):235-236.
[3]張洪波.Access在學(xué)生宿舍管理中的應(yīng)用[J].理論界,2005(3):176.
[4]童強(qiáng).利用SAPI5.1實(shí)現(xiàn)電腦語音朗讀應(yīng)用程序[J].微計(jì)算機(jī)信息,2006(5):257-258.
[5]尹惠玲,楊帆,于虹,等.基于COM的智能TTS系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(15):172-173.
[6]陳超越.基于VB和SAPI的語音合成的實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2010(18):42.
[7]夏慶梅,熊華鋼.VB訪問SQL Server的三種數(shù)據(jù)訪問接口的研究[J].計(jì)算機(jī)應(yīng)用研究,2001(12):44-45.
[8]吳文斗,周兵,吳興勇.Visual Basic程序設(shè)計(jì)教程[M].2版.長(zhǎng)沙:湖南教育出版社,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
(責(zé)任編輯:歐愷)
2016-11-02
2015年度韶關(guān)學(xué)院科研項(xiàng)目(S201501002).
楊云海(1978-),男,廣東廣州人,韶關(guān)學(xué)院信息科學(xué)與工程學(xué)院講師,碩士;研究方向:信息技術(shù)應(yīng)用.