多功能抢答器设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能抢答器设计与实现
摘要:采用计算机网络技术和软件技术来实现抢答与成绩显示程序。
系统构建环境友好,经济适用,通用性比较好,在不同场合采用模块组合方式能更好地适应客户需求。
关键词:多功能抢答器;程序设计;软件工程
0引言
在各种竞赛活动中,经常有抢答和成绩显示的需求,很多采用数码管显示设备,这种设备的好处是显示简洁直观,但这种设备通常是三位显示,专用性强,适应性不好。
笔者经过研究,认为采用计算机软件技术来实现一套抢答成绩显示及其它控制软件是可能的,也是比较经济适用的。
1功能需求分析
一般竞赛有主持方和各组参赛选手。
从控制流和信息流来看,系统的第一个主要功能是主持方控制抢答的开始时间来释放抢答权,各组选手操作抢答器来获取抢答权,如果选手在主持方未释放抢答权就行抢答,是为违规;在主持方释放抢答权后,选手获取抢答权是有效的;第二个功能是显示各组选手的成绩及答题的内容和规定时间。
选手的实时成绩通过显示器显示。
显示出选手正在回答问题的内容以及规定答题时间,答题时间以倒计时方式进行。
通过对多功能抢答器系统的需求分析,我们规划系统运行在TCP/IP局域网环境,系统架构是C/S结构,即选手组和主持方均为
客户端,选手的成绩加减通过服务器端来控制,题型题库都存储在服务器端,通过服务器来设置竞赛所选用的题型和题库。
主持方客户端向服务器发送一个释放抢答权指令后,服务器会记录时间,并进行语音提示抢答,各选手通过客户端进行抢答并向服务器发送一个抢答指令,服务器会根据每个客户端发送过来指令时间先后顺序和是否违规情况,综合判断哪个选手抢答成功。
系统可以分为以下5个主要功能模块:①网络通信模块;②显示模块;③成绩控制模块;④题型题库管理模块;⑤语言模块。
系统的总体功能结构如图1所示。
2系统设计
2.1系统运行平台选择
系统采用C/S模式构建,网络环境是基于TCP/IP协议局域网。
系统开发基于.NET技术,开发工具采用Microsoft Visual Studio 2008,编程语言采用C++。
数据库管理系统采用Microsoft SQL Server 2000,数据访问技术采用。
2.2数据库结构设计
抢答器软件的数据库设计主要有系统操作用户、选手信息和题库信息等。
通过详细分析后,数据库的表设计主要有系统用户表、选手数据表、题型题库表。
系统用户表主要存放控制用户信息,控制用户可以设置数据库连接等信息;选手数据表主要存放每个选手组的选手数据,题库表主要存放各种类型的题目,系统设置支持4种类型的题目,即文本、图文、音频和视频。
2.3程序模块设计及功能分配
根据程序模块化设计,系统共设计11个程序模块。
系统的功能模块与系统的程序模块之间的关系见图2。
2.4系统功能模块设计
2.4.1显示模块
该模块主要分成3大部分,一部分是显示选手的分数,以3位或4位阿拉伯数字显示,通过控制模块可以事先设置显示成绩的位数;一部分显示选手是否抢到答题权,通过特定的颜色闪烁显示选手抢到答题权;还有一小部分显示选手答题倒计时时间变化,正常以3位阿拉伯数字显示,计时精度为秒。
综合考虑,采用双显示器模式,一个显示器显示选手成绩,而且全屏显示,该显示器面朝观众;另一个显示器也显示选手成绩,成绩显示占用显示器窗口的一小块区域,主要让选手知道自己目前的成绩,窗体另一个小区域显示答题的时限,窗体主要区域是选手所要回答问题的内容,该显示器主要朝向选手。
主持方的显示器显示当前题目的内容以及该题目的规定时限,在选手获取抢答权后,该显示器上按规定时限进行倒计时运行,在选手回答问题后,显示选手答题的对错情况以及正确答案,该显示器的内容也可以通过投影机设备大屏幕显示给台下观众。
2.4.2控制模块
控制模块是抢答器软件的核心模块。
每个客户端向控制端提交抢答申请,控制端向每个客户端发出成绩、答题计时器、是否开始答题等一系列控制指令动作。
客户端在收到控制端发来的指令后进行相应的操作。
控制端会显示每个客户端的在线情况、是否正在执行指令以
及是否完成指令等情况。
控制端可以查询每个客户端完成所有指令列表。
2.4.3网络通信模块
网络通信模块主要负责客户端与控制端之间的链接以及显示模块、控制模块与题库管理模块之间的通信。
该模块采用TCP/IP协议,实时显示网络联通状态。
为了使系统更具有稳定性,采用了心跳包技术,当客户端检测系统检测到与控制端断开连接后,控制端释放当前连接,等待客户端自动重新连接。
客户端与控制端通过TCP三次握手达成连接。
该模块在客户端与控制端之间传送各种控制指令。
如加分、减分、获取答题权、开始计时等各种指令。
2.4.4题库管理模块
该模块主要功能是对题库进行管理,以及给控制模块和显示模块提供调用接口。
题库的数据主要存储在数据库中,在本系统中,题目类型主要分为以下几类:一是文本类型;二是图文类型;三是音频类型;四是视频类型。
一种方式是直接通过用户操作界面向系统数据库输入每一道题目;另一种方式是用Word或者Excel等来导入题库数据。
2.4.5语音模块
该模块主要控制各种提示语音输入。
如提示哪组选手抢答成功,回答问题是否正确等声音。
所有语音数据主要是以wav为后缀的文件放在一个文件夹中,用户可以通过系统操作界面进行各种语音修
改,选择自己想要的声音提示内容,语音文件需用户自己制作,系统只是提供常用的几种语音提示声音。
3结语
本文软件系统经过多次运行测试,已在笔者所在的单位运行使用。
系统运行环境为9台微机组建的一个局域网。
其中8台为选手进行抢答操作的客户端,1台为控制端。
系统运行稳定、功能丰富、操作简单,得到使用人员的好评。
参考文献:
[1]王利.计算机网络实用教程[M].北京:清华大学出版社,1999.
[2]张海藩.软件工程[M].北京:人民邮电出版社,2001.
[3]CHRISTIAN NAGEL,BILL EVJEN.C# 高级编程[M].北京:清华大学出版社,2006.
[4]SIMON ROBINSON. Professional C# (Second Edition)[M].北京:清华大学出版社,2002.
[5]周兆确,陈冀康.SQL Server 2000应用程序开发[M].北京:人民邮电出版社,2001.
[6]微软公司.Microsoft SQL Server 2000 database[M].北京:清华大学出版社,2001.。