1 绪论
1.1关于教评
所谓教评,就是在教学的过程中,通过学生在学习过程中的反馈信息,对教师的授课情况的一项调查,目的是为了及时的了解教师与学生之间在教与学的过程中所遇到的问题,有针对性的开展教学工作,提高教学质量。
教育理论与教育实践如何统一是当前教育界亟待解决的问题。教育评价标准系统是教育理论和教育实践的中间环节,教育评价有助于教育理论与教育实践达到统一。
1.2国内外关于教评的研究及系统所实现的目标
1.2.1目前国内外的研究,主要集中在以下几个方面:
- 教评的主体,学生教评是否科学
关于教评是大多数教学工作者都认可的一种提高教学质量的有效手段,但是由谁来评,怎样来评,说法不一。有很多人认为学生教评总体而言是最可靠、最公正的,基本上不受各种人际关系的影响。关键是要排除,有些教师故意迎合学生的心理,以获得较高的教评等级,可以与领导教评,教师之间教评相结合的方法来避免。
②教评应该从哪些方面进行评价
教评可以从教学内容、教学态度、教学方法、教学效果等方面来进行评价。
1.2.2系统所实现的目标
目前,网上已经有一些类似的教评系统,通过对这些系统的观察以及对使用过这些系统的老师和同学们的了解,我们发现:这些系统只是简单的将评价内容以网页的形式展现出来,让同学们选择,然后将结果统一的保存提交到服务器。这样做有很大的弊端,教评内容难于更新;教评结果的可信度有待提高;同时有多个用户登录时,系统的运行状况不好等诸多问题。
针对上述这些问题,我们的智能教评系统将得到很好的解决:
①通过读取数据库的内容,按管理员的要求,智能生成教评内容,可以随着数据库内容的不同随时更新,甚至可以做到不同的学科,有不同的教评内容;
②系统智能的判断出其中非法的评价结果(如:所有选项类同或具有某种规律性,这些都可以由管理员指定)进行区别处理,提高教评结果的可信度;
③对每个参与教评的学生,只记录教评提交的结果,并不与学号相对应,做到保密;
④智能列出所登录的学生的任课教师,确保每个学生只允许对自己的任课教师进行教评,而且对每个教师只能评一次,提高教评结果的可信度;
⑤限制同时登录的用户的上限,或让所有用户分批登录,减轻服务器的压力,保证系统运行安全平稳。
⑥教评结束后智能统计出没有参与教评的学生,依据教评结果对被评的教师打分,智能总结出优点和不足。
1.3系统的实现工具及开发环境
系统主要使用C#语言来开发,C#语言的开发工具目前主要是微软的Microsoft Visual Studio.NET,该工具包含了.NET开发的各种语言。Visual Studio.NET从一开始就是为XML Web 服务创建的开发环境。通过允许应用程序通过Internet沟通和共享数据,允许开发人员从新的和现有的代码汇编应用程序,而与平台、编程语言或对象模型无关。
数据库的访问,使用微软.NET框架中的一种最新的数据访问技术ADO.NET来连接SQL数据库,整个数据库的配置运行均在Sql Server 2000中来完成。
2 系统需求分析
2.1需求概述
对于本系统来说,主要包括三类用户的需求:
管理员需求,系统可以指定教评的对象,即学生信息;可以指定被教评的对象,即教师信息;指定教评的内容,即学生通过哪些方面对教师进行评价;对教评结果的查看,即查看所有教师的教评结果。
教师需求,在教评结束后,通过登录,查看自己的教评结果。
学生需求,在教评活动开始后,登录系统,对自己的任课教师评价。
2.2系统设想
通过需求概述,可以设想到,系统至少要提供对三种不同身份用户登录的验证。当管理员登录时,可以对学生信息表、教师信息表以及教评表的修改、更新;可以对教评结果进行查询。学生登录,对教评表查询,做出某些判断,根据判断更新教评结果表,教师登录,查看教评结果表中对应自己的记录。
2.3 系统配置
对于设计完成的系统,必须根据实际情况进行配置,否则就会容易造成资源浪费或系统运行不正常。
①软件配置
软件配置主要包括操作系统的选择和数据库的设计,对于我们的系统主要考虑在实际使用过程中用户对系统的稳定性、数据库的容量,用户的维护水平来确定的。
●数据库的选择
因为设计这个系统主要是供河南科技学院教务处使用,考虑到我们学院拥有教师1000多名,学生15000多人,数据库中需要存储相当多的记录,在教评高峰也会有很多的用户同时登录,为了保证系统的稳定性和良好的可维护性,本系统采用SQL Server数据库。这样可以使每秒数据库并发数据访问记录数达到5000~50000。
另外,如果是一个规模比较小的学校,数据库可以选择使用Access;如果规模比较大,就要选择Oracle,当然并不是在任何情况下使用Oracle数据库都会最好,有时也会受到经费的限制,一定要根据实际情况做适中的选择。
●操作系统选择
在选择操作系统的时候,也要从用户的数量和系统的吞吐量等方面来考虑,结合我们学院的具体情况,本系统使用Windows Server 2003,这样会具有较好的维护水平。
同样对于较小规模可以使用Windows 2000,对于较大规模的还可以使用Unix,这也要根据实际情况决定。
②硬件配置
硬件配置主要包括服务器端和客户端硬件的选择。
对于客户端没有太大的要求,一般的能够上网的机器都可以满足要求。
对于服务器端较高的配置会使系统运行的更快,更安全。
③网络配置
可以选择的类型有以下几种
单机模式:服务器端和客户端在一台机器上
百兆模式:计算机网络速度为百兆
千兆模式:计算机网络速度为千兆
网络连接如下图所示,对于不同的模式只不过所选用的交换机不同
图1 系统的网络配置模型图
3 总体设计过程
3.1 功能模块设计
图2系统主要功能模块
各类用户登录模块:
●管理员登录,主要是对系统进行后台设置,具体包括对教师和学生的信息进行设置,对教评的项目进行设置,对非法数据特征进行设置,查看所有被评的教师的教评结果。
●学生登录,个人信息的修改,对自己的任课教师教评。
●教师登录,查看自己的教评结果以及学生的留言。
学生信息管理模块:添加、删除、修改学生信息。
教师信息管理模块:添加、删除、修改教师信息。
教评信息管理模块:添加、删除、修改教评信息。
非法数据设置模块:对教评结果中有可能出现的非法数据的特征进行设置。
学生教评提交模块:对教师进行教评,并把结果提交到服务器的数据库中。
教评结果查看模块:查看所有的教师的教评结果。
3.2系统所需主要数据库设计
在这里给出了一些主要的数据库的建立语句,通过执行,可以很容易的生成系统所需要的数据库。
教评类别表 pjItem 包括的字段:教评编号(pjNum)、教评类别(pj)
CREATE TABLE [pjItem] (
[pjNum] [varchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[pj] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
PRIMARY KEY CLUSTERED ([pjNum]) ON [PRIMARY] ) ON [PRIMARY]
GO
教评项目表 pjDet 包括的字段:教评编号(pjNum)、教评内容(pjItem)、教评选项(pj1-4)、教评所属类别(pjf)
CREATE TABLE [pjDet] (
[pjNum] [varchar] (2) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[pjItem] [varchar] (100) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[pj1] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pj2] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pj3] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pj4] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pjf] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
CONSTRAINT [PK__pjDet__00551192] PRIMARY KEY CLUSTERED
( [pjNum] ) ON [PRIMARY] ) ON [PRIMARY]
GO
智能判断非法数据表 pd 包括字段:判断项(pdItem)
CREATE TABLE [pd] ( [pdItem] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
智能统计出没有参与教评的学生名单 flag 学号(stuNum)、教师编号(teaNum)、标志(flag)
CREATE TABLE [flag] (
[stuNum] [varchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[teaNum] [varchar] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[flag] [varchar] (2) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]
GO
4 详细设计
4.1页面设计流程图
通过上述的需求分析和总体设计,我们已经大致了解了整个教评系统的流程,基本上可以概括为,管理员登录,对系统做具体设置,包括设置哪些人参与教评,通过哪些标准来教评,用这些标准对谁教评;接下来,参与教评的人对被教评的人依据教评标准教评;管理员查看所有的教评结果;被教评人查看自己的教评结果。
这些只是给出了系统的大致流程,而要真正的实现这个系统,解决我们所列出的问题,还需要很多附加的设置与操作。
下面我们给出了整个系统较为详细的页面流程图,在详细设计过程中,我们将逐步地给予详细的介绍,对实现智能性方面做重点介绍:
4.2 系统功能分析与代码实现
根据系统的主要功能模块和页面流程的设计,我们可以得出系统所具备的功能:
●其中最基本的功能是:
①管理员登录,根据实际情况添加教师和学生的信息,添加或修改教评内容,开启教评系统,允许学生登录开始教评;
②学生登录系统,根据教师上课的实际情况和所列出的教评内容,对自己的任课教师进行教评,系统对结果进行保存提交;
③教师登录,当教评过程结束后,可以查看学生对自己的教评结果,从中找出自己的优点和不足。
●智能完善的功能:
①根据管理员对教评库的设置,智能生成教评界面,使教评项目更新方便;
②根据学生的学号不同,自动列出对应的教师;点击对教师教评,甚至可以按照管理员的意愿,不同的学科,可以给出不同的评价内容;
③根据管理员的设置,智能生成非法数据特征库,作为评价提交结果是否合法的依据;
④对于非法的评价结果进行智能筛选,区别处理;
⑤智能统计出没有参与教评的学生名单;
⑥根据教评结果,对每个教师得出结论或者依据评分规则进行打分。
4.3各模块具体的设计
类是面向对象语言中很有特色的一种程序设计思想。在这里,我们正是通过一个名字为DB的类,来完成对SQL数据库的连接,它包含在系统的DB.cs页面中,具体实现代码为:
using System;
using System.Data .SqlClient ;
namespace pjtest { /// <summary>
/// DB 的摘要说明。
/// </summary>
public class DB
{ public DB()
{// TODO: 在此处添加构造函数逻辑 }
public static SqlConnection createCon()
{ SqlConnection con=new
SqlConnection ("server=.;database=test;uid=sa;pwd=sa");
return con;//.代表本地主机;test为数据库名;sa为用户名和密码}
}
}
4.3.1各类用户登录模块
此模块设计起来相对简单,是整个系统进入时第一个呈现给用户的页面,系统中命名为Index.aspx,系统使用下拉列表框控件来对三种不同的身份的用户的选择,然后用两个文本框分别接收用户输入的用户名和密码,通过一个登录按钮对输入进行确认并提交到服务器。
图4系统登录界面截图
系统根据选择用户的不同,到相应的数据库中进行检索,验证正在登录的用户的身份是否合法,具体的实现,是通过SQL的Select 语句,把用户名和密码设置为要查询的条件,在数据库中执行,如果相应的数据库中有这一条记录,则认为此用户存在,被认为是合法的用户;对于合法的用户,根据用户类型的不同,跳转到不同的页面;对于非法的用户给出错误提示,要求重新输入,直到输入正确的信息才可以登录。该模块设计的关键保证合法用户正常登录,非法用户即使通过正确的地址也不能跳转,这主要是通过Session变量来判断,以保证系统的安全性。
4.3.2学生信息管理模块
此模块的设计主要是对学生数据库的修改,该模块在系统中是通过mainStu.aspx页面来实现,页面中使用DataGrid控件和数据库中的学生信息表进行绑定,对其中记录的修改都将影响到学生数据库。包括对学生信息的添加、删除、修改等操作。
添加学生的主要代码:
private void btnADD_Click(object sender, System.EventArgs e)
{//此代码为学生信息管理页面的添加学生的单击事件
try
{//使用try语句,主要对于异常的处理
SqlConnection con=DB.createCon ();//建立数据库连接
string stuNum=this.txtNum.Text ;
string stuName=this.txtName.Text ;
string stuClass=this.txtClass.Text ;
string stuPwd=this.txtPwd .Text ;
if (stuNum=="")
{ Response.Write ("学号不能为空");//对错误的一般判断 }
else
{//记录的插入语句
SqlCommand cmd=new SqlCommand ("insert into stu values('"+stuNum+"','"+stuName+"','"+stuClass+"','"+stuPwd+"')",con);
con.Open();
cmd.ExecuteNonQuery ();//执行数据库语句
this.BindToDataGrid ();//对数据库向datagrid的绑定
con.Close ();
Response.Write ("添加学生成功"); }
}
catch
{Response.Write ("添加失败,请检查约束项!"); }
}
图5学生信息管理模块截图
4.3.3教师信息管理模块
实现方式与学生信息管理模块相同,在系统中为mainTea.aspx页面。
图6教师信息管理模块截图
对教师库的更新语句
private void dgTea_UpdateCommand
(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{ string teaNum=this.dgTea .DataKeys [e.Item .ItemIndex ].Toting ();
string teaName= ((TextBox)(e.Item .Cells [1].Controls [0])).Text ;
string teaPwd= ((TextBox)(e.Item .Cells [2].Controls [0])).Text ;
string teaItem= ((TextBox)(e.Item .Cells [3].Controls [0])).Text ;
string teaClass=((TextBox)(e.Item .Cells [4].Controls [0])).Text ;
SqlConnection con=DB.createCon ();
SqlCommand cmd=new SqlCommand ("update tea set teaName='"+teaName+"',teaPwd='"+teaPwd+"',teaItem='"+teaItem+"',teaClass='"+teaClass+
"'where teaNum='"+teaNum+"'",con);//数据库更新语句
con.Open();
cmd.ExecuteNonQuery ();
this.BindToDataGrid ();
con.Close (); } //语句结束
4.3.4教评信息管理模块
此模块为整个系统比较核心的模块,该模块只能由系统管理员来操作,通过该模块系统管理员可以很方便的设置教评选项,生成教评页面;对于已经生成的评选项目,还可以即时的修改,形成新的教评页面。
下面将重点介绍该模块的实现过程:
图7教评信息管理模块截图