论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
课堂点名软件
目 录
一、绪 论 2
1.1.当代大学生出勤的现状 2
1.2.对大学课堂点名现状的分析 3
二、对课堂点名软件的分析 3
2.1 设计思想 3
2.1.1 系统的设计思想 3
2.1.2 系统的设计目标 4
2.1.3 系统的基本框架 4
2.1.3.1 总体模块结构 5
2.1.3.2 子模块结构 5
2.1.4 系统的实现环境 7
2.1.4.1 硬件环境 7
2.1.4.2 软件环境 7
2.2开发工具的选用及介绍 7
三、课堂点名软件的具体设计与实现 10
3.1数据表的设计与实现 10
3.2 课堂点名软件的软件部分设计 11
3.2.1 全体点名模块 12
3.2.2 部分抽点模块 21
3.2.2.1 随机抽点子模块 25
3.2.2.2 出勤抽点子模块 26
3.2.3 课堂答题抽点模块 29
3.2.4 出勤统计模块 33
四、系统的测试与运行 37
4.1 软件测试 37
4.2 测试小结 37
参考文献 38
一、绪 论
在电器化教学飞速发展的今天,计算机成为课堂辅助教学的重要工具。它在课堂教学的课件演示、课堂实验、课堂学生管理等各个方面发挥着重要的作用。目前课堂教学,尤其是大学课堂教学课件的演示主要是用计算机来实现的,很多的课堂实验也是用计算机模拟可以实现的。而学生管理等方面更是少不了计算机的应用,从一名大学生进入大学校园的那一天起他的档案资料就被录入了学校的计算机。为了更好的管理学生日常的学习、生活大学校园也实现了自动化办公和自动化教学。这种种自动化办公和自动化教学也是由各种功能的软件所支撑其来的。可见计算机软件管理在学生管理中起到了很大的作用。所以我想到了设计一个课堂点名软件来辅助课堂教学。本软件采用Microsoft Visual Studio 2005.NET的Visual C#进行编写。
关键字:课堂点名,点名,课堂,软件
您可以访问中国科教评价网(www.NsEac.com)查看更多相关的文章。
这是旨在了解同学在思想认识上是如何看待逃课现象的,他们在各自思想的指导下,表现为"逃课"或者"不逃课"的行为,与此相吻合的是,同学中有逃课经历的人数竟然站调查人数的66.7%.其中,逃课缺勤的课程选择上,"对其无兴趣的"占总人数的63.33%,"课程管理松的"占26.67%.(如表2)
表2缺勤较多的课程
专业课 基础课 课程管理松 无兴趣
人数 1 2 8 19
百分比 3.33% 6.67% 26.7% 63.33%
1.2.对大学课堂点名现状的分析
通过上述对当代大学生出勤现状的调查分析,我们得出一个结论当代大学生课堂出勤率持续低下以成普遍现象。目前大学期间学生获得知识增长才干的主要途径仍是课堂教学,但在如今低下得出勤率的情况下学生在课堂又能学到多少知识令人堪忧。由此大部分学校或任课教师为保证教学质量让更多的学生学到更多的知识,采用了课堂点名签到的办法提高出勤率。此方法确实起到了立竿见影的效果,很多课堂上又出现了座无虚席的景象。有保障的出勤率使得教学质量大大提高。
目前任课教师课堂点名一般采用两种方式,即逐个对全部学生点名和自己进行抽点。全部逐个点名的好处显而易见,它可以真实的记录和反映所有学生得出勤情况,具有很强的说服力。但是此方法的弱点也是显而易见的耗时多,教师点名工作量大占去课堂教学的大量时间。为此抽点则要实用的多,可以短时间完成点名减少教师点名工作量,从而减少因点名而占用的课堂时间。不过这种点名方式也有它的弊端,他带有教师强烈的主管情绪。做不到真正公平的随机抽点,也做不到按一定比例进行抽点。
2.1.3.1 总体模块结构
2.1.3.2 子模块结构
2.1.3.2.1 全体点名模块
2.1.3.2.2 部分抽点模块
2.1.3.2.3 答题点名模块
2.1.3.2.4 出勤统计
2.1.4 系统的实现环境
应用系统与其所处的系统环境密切相关,一个系统的功能及性能好坏,环境起着十分显著的作用。
2.1.4.1 硬件环境
系统的硬件配置如下:
PIII 800 CPU
256M 内存
15英寸显示器
30G 硬盘
2.1.4.2 软件环境
课堂点名软件要求安装在Windows 2000以上的系统里,并要求安装Microsoft .NET Framework 2.0。若要实现中文语音点名则还必须安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack。
2.2开发工具的选用及介绍
开发本软件开发工具主要用到了Microsoft Visual Studio 2005.NET和Microsoft Office 2003,以及Microsoft .NET Framework 2.0、Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack等平台的支持。 您可以访问中国科教评价网(www.NsEac.com)查看更多相关的文章。
Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。
Windows 窗体
Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。
.NET Framework 旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
.NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework 类库。公共语言运行库是 .NET Framework 的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web services)。 内容来自www.nseac.com
.NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
.NET Framework 环境
()
SAPI SDK(Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack)
SAPI SDK是微软公司免费提供的语音应用开发工具包,这个SDK中包含了语音应用设计接口(SAPI)、微软的连续语音识别引擎(MCSR)以及微软的语音合成(TTS)引擎等等。目前的5.1版本一共可以支持3种语言的识别 (英语,汉语和日语)以及2种语言的合成(英语和汉语)。SAPI中还包括对于低层控制和高度适应性的直接语音管理、训练向导、事件、语法编译、资源、语音识别(SR)管理以及TTS管理等强大的设计接口。其结构如图(1):
图(1)
语音引擎则通过DDI层(设备驱动接口)和SAPI(SpeechAPI)进行交互,应用程序通过API层和SAPI通信。通过使用这些API,用户可以快速开发在语音识别或语音合成方面应用程序。
()
三、课堂点名软件的具体设计与实现
3.1数据表的设计与实现
本系统使用Microsoft Office 2003 里的EXECL表作为数据库。这主要是介于目前学校实际网络情况而定的,如设计SQL Server 2000等数据库实现全校统一管理则需要良好的网络环境。通过实际了解本了教室的网络情况得出以下不利因素:
1.网络稳定性差
2.网络病毒流行
3.很多教室网络完全不通
为了能够更好的保障本系统的使用。所以,选择了基于本地数据库的设计方法。
其次,从了解得知任课教师从教务处获得的名单格式为Html的网页格式。具体请见下图:
名单为Html网页格式。介于对Html网页文件的操作安全性、数据存储性和可操作行方面考虑,所以放弃了直接将Html网页作数据库的设计。从而选择了操作更加简单,安全性更高的EXCEL表做数据库。
(转载自科教范文网http://fw.nseac.com)
3.2 课堂点名软件的软件部分设计
本系统主要为实现:
操作界面简单,容易操作。
实现课堂全部点名的功能和指定某人点名。
实现按人数比例对学生进行随机抽点和根据历史出勤情况进行智能抽点。
实现课堂答题的随机抽点功能。
实现语音化点名或无声点名。
实现对点名数据的统计分析功能。
具有点名名单的扩充性和灵活性。
为实现上述点名功能本系统由两个Winform窗体和四个的模块组成。两个Winform窗体分别为main主窗体和que答题点名窗体。main主窗体主要由全体点名模块、部分抽点模块和出勤统计模块组成,而que答题点名窗体主要由课堂答题抽点模块组成。具体架构如下所示:
3.2.1 全体点名模块
1.1 设计方法
本模块用于对全体学生进行点名,也可以指定对某人进行点名。需要实现无声点名和语音点名功能,并向数据库记录下点名记录。主要工作流程见下图:
1.2界面设计
打开Microsoft Visual Studio 2005,选择【文件】|【项目】|【Visual C#】|【Windows应用程序】命令,然后就可以新建项目,如图所示:
然后向tabpage1上添加控件,分别为八个button,;再填加一个checkBox、trackBar、comboBox和dataGridView;最后添加五个Label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
tabpage Tabpage1 全体点名
tabpage Tabpage2 部分点名
tabpage Tabpage3 答题点名
tabpage Tabpage4 出勤统计
button openfile 打开
button top 第一个
button tail 最后一个
button back 上一个
button next 下一个
button appeare 开始
button absent 缺勤
button red 重度
checkBox checkBox1 语音点名
trackBar trackBar1
comboBox time
dataGridView dataGridView1
Label Label1 第
Label Label2 次
Label Label10 (注:1表示已到,0表示缺席。)
Label tato
Label name
(注:向comboBox1的Itmes属性装入30个点名次数。例如:1,2,3...。再对trackBar1的maximum和minmum赋值分别为100和0。)
这样第一个功能模块的界面就设计好了,如图所示:
1.3主要程序说明
1 基本函数
//创建到excel数据库的连接
public OleDbConnection returnConn()
{
string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + address + ";Extended Properties=Excel 8.0";
System.Data.OleDb.OleDbConnection conn = new OleDbConnection(strConn);
return conn; (科教范文网 lw.nseaC.Com编辑发布)
}
//返回DataAdapter
public OleDbDataAdapter returnRa()
{
string strCmdText = "select * from [Sheet1$]";
OleDbDataAdapter od = new OleDbDataAdapter(strCmdText, returnConn());
return od;
}
//将数据装入到DataSet里面
DataSet ds;
public DataSet reutrnDs()
{
if (ds != null) //用于判断数据集是否为空,防治数据集的重读现象。
{
return ds;
}
else
{
ds = new DataSet();
returnRa().Fill(ds, "ds");
return ds;
}
}
//声明一个类,确定更改字段名。用于对数据的的修改添加。 (科教范文网 Lw.nsEAc.com编辑整理)
public string ReturnName(int i)
{
string[] AllName = new string[] { "序号", "姓 名", "学 号", "第1次", "第2次", "第3次", "第4次", "第5次", "第6次", "第7次", "第8次", "第9次", "第10次", "第11次", "第12次", "第13次", "第14次", "第15次", "第16次", "第17次", "第18次", "第19次", "第20次", "第21次", "第22次", "第23次", "第24次", "第25次", "第26次", "第27次", "第28次", "第29次", "第30次" };
if (i >= 0 && i < AllName.Length)
return AllName[i];
else
MessageBox.Show("值错误");
return "";
}
//打开文件
public void open()
{
this.openFileDialog1.ShowDialog();
string MyFileName = this.openFileDialog1.FileName;//获取文件地址
address = MyFileName.Trim();
if (address != "")
{
row = reutrnDs().Tables[0].Rows.Count;//获取名单的总行数
(转载自中国科教评价网http://www.nseac.com)
//显示文件到DataGridView1
void dis(DataGridView Dgv, Label lab, int i, int j)
{
returnConn();
returnRa();
Dgv.DataSource = reutrnDs().Tables[0].DefaultView;//将名单显示到dataGridView1里面
lab.Text = reutrnDs().Tables[0].Rows[i][j].ToString();//将人名显示到name里面
}
//用于修改数据库内的数据
public void BindToView(int UpValue, int whichUpdateRow, int whichUpdateCl)
{
DataSet ds = reutrnDs();
try
{
ds.Tables["ds"].Rows[whichUpdateRow][whichUpdateCl] = UpValue;
}
catch
{
MessageBox.Show("类型不匹配或者主键不可更改");
点击事件程序
首先编写了“打开”按键下的点击事件。用于选择要打开的excel数据库文件。并将其显示在dataGridView1、name和tato里面。dataGridView1用于显示选定的整个数据库的内容,name显示当前点名学生的姓名,tato用于显示数据库名称,一般可设为班级名称。 大学排名
private void openfile_Click(object sender, EventArgs e)
{
if (ds != null) //将数据集清空,以备用。
{
ds.Dispose();
}
open();
if (address != "")
{
i = 0; //数据的行控制
j = 1; //数据的列控制
hang = 0; //用于控制dataGridView1里面的光标移动
l = 1; //用于判断是否选择了名单
dis(dataGridView1, name, i, j);
dataGridView1.CurrentCell = dataGridView1.Rows[i].Cells[1];
}
tato.Text = openFileDialog1.FileName.Substring(openFileDialog1.FileName.LastIndexOf("\\") + 1);
appeare.Text = "开 始";
tot = 0; //用于记录点名总人数
sd = 0; //用于记录实到人数
dy= 0; //用于控制语音朗读
}
“上一个”按键主要程序 (转载自http://www.NSEAC.com中国科教评价网)
i -= 1;
dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.CurrentRow.Index + 1].Cells[1];
name.Text = reutrnDs().Tables[0].Rows[i][j].ToString();
“下一个”按键主要程序
i += 1;
dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.CurrentRow.Index + 1].Cells[1];
name.Text = reutrnDs().Tables[0].Rows[i][j].ToString();
“第一个”按键主要程序
i = 0;
dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[1];
name.Text = reutrnDs().Tables[0].Rows[i][1].ToString();
“最后一个”按键主要程序
i = row-1;
dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[1];
name.Text = reutrnDs().Tables[0].Rows[i][1].ToString();
“开始”按键主要程序
本按键主要用于朗读姓名和记录出勤。记录出勤主要调用到BindToView(1, i, int.Parse(time.Text) + 2)函数。
编写语音函数首先要安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack。然后在Visual Studio 2005.NET程序里添加引用中的COM里引用Microsoft Speech Object Library。
语音朗读部分程序:
Try //用于将语音函数实例化和初始化
{
svsf = new SpeechVoiceSpeakFlags();
svc = new SpVoiceClass();
sv