网上智能评教系统的开发-毕业设计论文_第1页
网上智能评教系统的开发-毕业设计论文_第2页
网上智能评教系统的开发-毕业设计论文_第3页
网上智能评教系统的开发-毕业设计论文_第4页
网上智能评教系统的开发-毕业设计论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网上智能评教系统的开发目录1绪论 1教评 1教评的研究及系统所实现的目标 11.2.1目前国内外的研究,主要集中在以下几个方面: 1 1 22系统需求分析 2 2 22.3系统配置 23总体设计过程 43.1功能模块设计 4 54详细设计 5 54.2系统功能分析与代码实现 8 8各类用户登录模块 9 9 11教评信息管理模块 11 14教评提交模块 15教评结果查看模块 185结论 196参考文献 191绪论关于教评所谓教评,就是在教学的过程中,通过学生在学习过程中的反馈信息,对教师的授课情况的一项调查,目的是为了及时的了解教师与学生之间在教与学的过程中所遇到的问题,有针对性的开展教学工作,提高教学质量。教育理论与教育实践如何统一是当前教育界亟待解决的问题。教育评价标准系统是教育理论和教育实践的中间环节,教育评价有助于教育理论与教育实践达到统一。教评的研究及系统所实现的目标目前国内外的研究,主要集中在以下几个方面:教评的主体,学生教评是否科学关于教评是大多数教学工作者都认可的一种提高教学质量的有效手段,但是由谁来评,怎样来评,说法不一。有很多人认为学生教评总体而言是最可靠、最公正的,基本上不受各种人际关系的影响。关键是要排除,有些教师故意迎合学生的心理,以获得较高的教评等级,可以与领导教评,教师之间教评相结合的方法来避免。②教评应该从哪些方面进行评价教评可以从教学内容、教学态度、教学方法、教学效果等方面来进行评价。系统所实现的目标目前,网上已经有一些类似的教评系统,通过对这些系统的观察以及对使用过这些系统的老师和同学们的了解,我们发现:这些系统只是简单的将评价内容以网页的形式展现出来,让同学们选择,然后将结果统一的保存提交到服务器。这样做有很大的弊端,教评内容难于更新;教评结果的可信度有待提高;同时有多个用户登录时,系统的运行状况不好等诸多问题。针对上述这些问题,我们的智能教评系统将得到很好的解决:①通过读取数据库的内容,按管理员的要求,智能生成教评内容,可以随着数据库内容的不同随时更新,甚至可以做到不同的学科,有不同的教评内容;②系统智能的判断出其中非法的评价结果(如:所有选项类同或具有某种规律性,这些都可以由管理员指定)进行区别处理,提高教评结果的可信度;③对每个参与教评的学生,只记录教评提交的结果,并不与学号相对应,做到保密;④智能列出所登录的学生的任课教师,确保每个学生只允许对自己的任课教师进行教评,而且对每个教师只能评一次,提高教评结果的可信度;⑤限制同时登录的用户的上限,或让所有用户分批登录,减轻服务器的压力,保证系统运行安全平稳。⑥教评结束后智能统计出没有参与教评的学生,依据教评结果对被评的教师打分,智能总结出优点和不足。系统主要使用C#语言来开发,C#语言的开发工具目前主要是微软的,该工具包含了.NET开发的各种语言。VisualStudio.NET从一开始就是为XMLWeb服务创建的开发环境。通过允许应用程序通过Internet沟通和共享数据,允许开发人员从新的和现有的代码汇编应用程序,而与平台、编程语言或对象模型无关。数据库的访问,使用微软.NET框架中的一种最新的数据访问技术ADO.NET来连接SQL数据库,整个数据库的配置运行均在SqlServer2000中来完成。2系统需求分析对于本系统来说,主要包括三类用户的需求:管理员需求,系统可以指定教评的对象,即学生信息;可以指定被教评的对象,即教师信息;指定教评的内容,即学生通过哪些方面对教师进行评价;对教评结果的查看,即查看所有教师的教评结果。教师需求,在教评结束后,通过登录,查看自己的教评结果。学生需求,在教评活动开始后,登录系统,对自己的任课教师评价。通过需求概述,可以设想到,系统至少要提供对三种不同身份用户登录的验证。当管理员登录时,可以对学生信息表、教师信息表以及教评表的修改、更新;可以对教评结果进行查询。学生登录,对教评表查询,做出某些判断,根据判断更新教评结果表,教师登录,查看教评结果表中对应自己的记录。2.3系统配置对于设计完成的系统,必须根据实际情况进行配置,否则就会容易造成资源浪费或系统运行不正常。①软件配置软件配置主要包括操作系统的选择和数据库的设计,对于我们的系统主要考虑在实际使用过程中用户对系统的稳定性、数据库的容量,用户的维护水平来确定的。●数据库的选择因为设计这个系统主要是供河南科技学院教务处使用,考虑到我们学院拥有教师1000多名,学生15000多人,数据库中需要存储相当多的记录,在教评高峰也会有很多的用户同时登录,为了保证系统的稳定性和良好的可维护性,本系统采用SQLServer数据库。这样可以使每秒数据库并发数据访问记录数达到5000~50000。另外,如果是一个规模比较小的学校,数据库可以选择使用Access;如果规模比较大,就要选择Oracle,当然并不是在任何情况下使用Oracle数据库都会最好,有时也会受到经费的限制,一定要根据实际情况做适中的选择。●操作系统选择在选择操作系统的时候,也要从用户的数量和系统的吞吐量等方面来考虑,结合我们学院的具体情况,本系统使用WindowsServer2003,这样会具有较好的维护水平。同样对于较小规模可以使用Windows2000,对于较大规模的还可以使用Unix,这也要根据实际情况决定。②硬件配置硬件配置主要包括服务器端和客户端硬件的选择。对于客户端没有太大的要求,一般的能够上网的机器都可以满足要求。对于服务器端较高的配置会使系统运行的更快,更安全。③网络配置可以选择的类型有以下几种单机模式:服务器端和客户端在一台机器上百兆模式:计算机网络速度为百兆千兆模式:计算机网络速度为千兆网络连接如下图所示,对于不同的模式只不过所选用的交换机不同交换机交换机用户终端2用户终端1服务器用户终端2用户终端1服务器图1系统的网络配置模型图3总体设计过程3.1功能模块设计网上智能教学网上智能教学教评系统各类用户登录模块学生信息管理模块教师信息管理模块教评信息管理模块非法数据设置模块学生教评提交模块教评结果查看模块各类用户登录模块:●管理员登录,主要是对系统进行后台设置,具体包括对教师和学生的信息进行设置,对教评的项目进行设置,对非法数据特征进行设置,查看所有被评的教师的教评结果。●学生登录,个人信息的修改,对自己的任课教师教评。●教师登录,查看自己的教评结果以及学生的留言。学生信息管理模块:添加、删除、修改学生信息。教师信息管理模块:添加、删除、修改教师信息。教评信息管理模块:添加、删除、修改教评信息。非法数据设置模块:对教评结果中有可能出现的非法数据的特征进行设置。学生教评提交模块:对教师进行教评,并把结果提交到服务器的数据库中。教评结果查看模块:查看所有的教师的教评结果。在这里给出了一些主要的数据库的建立语句,通过执行,可以很容易的生成系统所需要的数据库。教评类别表pjItem包括的字段:教评编号(pjNum)、教评类别(pj)CREATETABLE[pjItem]( [pjNum][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL, [pj][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, PRIMARYKEYCLUSTERED([pjNum])ON[PRIMARY])ON[PRIMARY]GO教评项目表pjDet包括的字段:教评编号(pjNum)、教评内容(pjItem)、教评选项(pj1-4)、教评所属类别(pjf)CREATETABLE[pjDet]( [pjNum][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL, [pjItem][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL, [pj1][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj2][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj3][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj4][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pjf][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL, CONSTRAINT[PK__pjDet__00551192]PRIMARYKEYCLUSTERED ( [pjNum])ON[PRIMARY])ON[PRIMARY]GO智能判断非法数据表pd包括字段:判断项(pdItem)CREATETABLE[pd]( [pdItem][varchar](50)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO智能统计出没有参与教评的学生名单flag学号(stuNum)、教师编号(teaNum)、标志(flag)CREATETABLE[flag]( [stuNum][varchar](8)COLLATEChinese_PRC_CI_ASNULL, [teaNum][varchar](4)COLLATEChinese_PRC_CI_ASNULL, [flag][varchar](2)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO4详细设计通过上述的需求分析和总体设计,我们已经大致了解了整个教评系统的流程,基本上可以概括为,管理员登录,对系统做具体设置,包括设置哪些人参与教评,通过哪些标准来教评,用这些标准对谁教评;接下来,参与教评的人对被教评的人依据教评标准教评;管理员查看所有的教评结果;被教评人查看自己的教评结果。这些只是给出了系统的大致流程,而要真正的实现这个系统,解决我们所列出的问题,还需要很多附加的设置与操作。下面我们给出了整个系统较为详细的页面流程图,在详细设计过程中,我们将逐步地给予详细的介绍,对实现智能性方面做重点介绍:否否否是否是非法系统登录判断用户类型test学生管理员教师Test数据库包含学生表、教师表、管理员表等列出任课教师注销StuTeapjDetpjItempd确定更改提交教评结果生成教评界面是否合法是否评完AB退出登录Flag查看结果按编号筛选是图3页面流程设计图图中数据库说明Stu学生信息表Tea教师信息表pjItem教评类别表pjDet教评项目表pd教评判断表A合法结果表B非法结果表Flag教评标志表4.2系统功能分析与代码实现根据系统的主要功能模块和页面流程的设计,我们可以得出系统所具备的功能:●其中最基本的功能是:①管理员登录,根据实际情况添加教师和学生的信息,添加或修改教评内容,开启教评系统,允许学生登录开始教评;②学生登录系统,根据教师上课的实际情况和所列出的教评内容,对自己的任课教师进行教评,系统对结果进行保存提交;③教师登录,当教评过程结束后,可以查看学生对自己的教评结果,从中找出自己的优点和不足。●智能完善的功能:①根据管理员对教评库的设置,智能生成教评界面,使教评项目更新方便;②根据学生的学号不同,自动列出对应的教师;点击对教师教评,甚至可以按照管理员的意愿,不同的学科,可以给出不同的评价内容;③根据管理员的设置,智能生成非法数据特征库,作为评价提交结果是否合法的依据;④对于非法的评价结果进行智能筛选,区别处理;⑤智能统计出没有参与教评的学生名单;⑥根据教评结果,对每个教师得出结论或者依据评分规则进行打分。各模块具体的设计类是面向对象语言中很有特色的一种程序设计思想。在这里,我们正是通过一个名字为DB的类,来完成对SQL数据库的连接,它包含在系统的页面中,具体实现代码为:usingSystem;usingSystem.Data.SqlClient;namespacepjtest{ ///<summary> ///DB的摘要说明。 ///</summary> publicclassDB {publicDB() {//TODO:在此处添加构造函数逻辑 } publicstaticSqlConnectioncreateCon() { SqlConnectioncon=newSqlConnection("server=.;database=test;uid=sa;pwd=sa"); returncon;//.代表本地主机;test为数据库名;sa为用户名和密码} }}各类用户登录模块此模块设计起来相对简单,是整个系统进入时第一个呈现给用户的页面,系统中命名为Index.aspx,系统使用下拉列表框控件来对三种不同的身份的用户的选择,然后用两个文本框分别接收用户输入的用户名和密码,通过一个登录按钮对输入进行确认并提交到服务器。图4系统登录界面截图系统根据选择用户的不同,到相应的数据库中进行检索,验证正在登录的用户的身份是否合法,具体的实现,是通过SQL的Select语句,把用户名和密码设置为要查询的条件,在数据库中执行,如果相应的数据库中有这一条记录,则认为此用户存在,被认为是合法的用户;对于合法的用户,根据用户类型的不同,跳转到不同的页面;对于非法的用户给出错误提示,要求重新输入,直到输入正确的信息才可以登录。该模块设计的关键保证合法用户正常登录,非法用户即使通过正确的地址也不能跳转,这主要是通过Session变量来判断,以保证系统的安全性。学生信息管理模块此模块的设计主要是对学生数据库的修改,该模块在系统中是通过页面来实现,页面中使用DataGrid控件和数据库中的学生信息表进行绑定,对其中记录的修改都将影响到学生数据库。包括对学生信息的添加、删除、修改等操作。添加学生的主要代码:privatevoidbtnADD_Click(objectsender,System.EventArgse){//此代码为学生信息管理页面的添加学生的单击事件try{//使用try语句,主要对于异常的处理 SqlConnectioncon=DB.createCon();//建立数据库连接 stringstuNum=this.txtNum.Text; stringstuName=this.txtName.Text; stringstuClass=this.txtClass.Text; stringstuPwd=this.txtPwd.Text; if(stuNum=="") {Response.Write("学号不能为空");//对错误的一般判断} else {//记录的插入语句SqlCommandcmd=newSqlCommand("insertintostuvalues('"+stuNum+"','"+stuName+"','"+stuClass+"','"+stuPwd+"')",con); con.Open(); cmd.ExecuteNonQuery();//执行数据库语句 this.BindToDataGrid();//对数据库向datagrid的绑定 con.Close(); Response.Write("添加学生成功"); }}catch {Response.Write("添加失败,请检查约束项!"); } }图5学生信息管理模块截图教师信息管理模块实现方式与学生信息管理模块相同,在系统中为mainTea.aspx页面。图6教师信息管理模块截图对教师库的更新语句privatevoiddgTea_UpdateCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse) { stringteaNum=this.dgTea.DataKeys[e.Item.ItemIndex].Toting(); stringteaName=((TextBox)(e.Item.Cells[1].Controls[0])).Text; stringteaPwd=((TextBox)(e.Item.Cells[2].Controls[0])).Text; stringteaItem=((TextBox)(e.Item.Cells[3].Controls[0])).Text; stringteaClass=((TextBox)(e.Item.Cells[4].Controls[0])).Text; SqlConnectioncon=DB.createCon(); SqlCommandcmd=newSqlCommand("updateteasetteaName='"+teaName+"',teaPwd='"+teaPwd+"',teaItem='"+teaItem+"',teaClass='"+teaClass+"'whereteaNum='"+teaNum+"'",con);//数据库更新语句 con.Open(); cmd.ExecuteNonQuery();this.BindToDataGrid(); con.Close();}//语句结束教评信息管理模块此模块为整个系统比较核心的模块,该模块只能由系统管理员来操作,通过该模块系统管理员可以很方便的设置教评选项,生成教评页面;对于已经生成的评选项目,还可以即时的修改,形成新的教评页面。下面将重点介绍该模块的实现过程:图7教评信息管理模块截图对于数据库中插入语句的删除privatevoiddgpjItem_DeleteCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse) { stringpjNum=this.dgpjItem.DataKeys[e.Item.ItemIndex].ToString(); SqlConnectioncon=DB.createCon(); SqlCommandcmd=newSqlCommand("deletefrompjItemwherepjNum='"+pjNum+"'",con); con.Open(); cmd.ExecuteNonQuery(); this.BindToDataGrid();con.Close(); this.BindToddlNum();}privatevoidBindToddlNum()//自定义函数 { SqlConnectioncon=DB.createCon(); con.Open(); SqlCommandcmd=newSqlCommand("select*frompjItem",con); SqlDataReadersdr=cmd.ExecuteReader(); this.ddlNum.DataSource=sdr; this.ddlNum.DataTextField="pj"; this.ddlNum.DataValueField="pjNum"; this.ddlNum.DataBind(); sdr.Close();con.Close(); }是是教评项目库教评类别库管理员登录验证身份Admin进入教评项目管理退出系统否pjItempjDet更改教评库读取库,形成新的教评界面管理员库注销管理员图8教评信息管理模块的具体实现流程图根据上面的流程图,我们从中分析:首先要判断登录的是否为合法的管理员,通过查询数据库判断的方法,前面已经说过,这里不再多说;主要是验证是否通过正确的途径跳转到本页面。在我们这个系统中,所有的跳转判断都是通过jug来实现,在的Page_Load事件中添加以下的代码:If(Session["flag"]==null){Response.Redirect("loginFail.aspx");}然后,在各个页面中只需要调用就可以了。进入该页面后,系统首先通过两个datagrid分别与评选类别表(pjDet)、评选项目表(pjItem)的绑定列出来;在datagrid中通过模板可以直接实现修改和删除的功能,由于表中的记录有可能过多,这里要考虑实现分页;在datagrid中实现添加的功能比较复杂,这里我们采用一种比较简单的方法,在页面上添加文本框,通过文本框的输入来添加到数据库中,这里还是使用SQL语句来实现的,当点击“确定”按钮后,更改将直接影响到数据库中的记录,在更改以后,教评界面将根据数据库的记录的不同重新生成,这样的设计可以使系统维护更加简单,大部分的工作都可以让系统智能处理,即使一点都不懂计算机语言的用户,也可以很容易生成新的教评页面。非法数据设置模块此模块为整个系统实现智能性的核心,它的设计原理类似于杀毒软件中的病毒库;当计算机中存在某些文件,它的运行的特征,在杀毒软件的病毒库中被认为是病毒,则就会把该文件视为病毒来处理;而在我们的系统中也是这样的,下面我们将详细介绍一下该模块的实现过程:图9非法数据设置模块截图在管理员登录该模块后,展现给用户的是一组由复选框组成的设置界面,在系统中为用户提供了一些常用的设置非法的选项,比如全部选择第一项、第二项、第三项、第四项以及选择的项目包含某种顺序规律都可以在这里指定。这里,我们假设管理员想要设置全部选择B、全部选择C以及全部选择D是不可信的教评数据,则管理员登录后,可以选中第二项、第三项、以及第四项,然后点击页面上的“提交”按钮,接下来系统先与判断表相连接,再开始从第一个复选框开始判断是否被选中,执行相应的操作;当判断第二项被选中后,系统将生成一个全为“B”的字符串,长度为教评项目表中项目的个数,然后再将该字符串插入到判断表中,接下来再判断下一个复选框是否被选中,如果被选中则会执行与前面相类似的操作;直到把所有的复选框判断完。这样即可按照管理员的意愿完成对非法数据模型的设置。当管理员选中某种顺序规律时,系统会组成一些常见的有顺序的选项排列,如ABCDA…DABCA…CBCDB…D等除此之外,为了使系统使用起来更加灵活,更大程度上的提高系统的智能性,系统还增加了用户自定义的功能,即用户可以自己设置一些除系统所列之外但也被认为是非法或不可信的模型,当选中了页面上的自定义复选框后,页面上会显示出一个文本框,在文本框里面用户可以填写非法模型。为了方便用户使用,这里并不需要用户把整个非法排列都写出来,而是只给出局部的排列,当点击“添加”按钮后系统自动的把它循环生成相应的字符串,然后在列表框中列出来,同时把文本框清空,可以继续添加第二个自定义;同理,可以把所有你认为非法的模型都添加进来,最后整体的提交到数据库中。举例:如果你自定义添加了“AB”,则会生成“ABABA…B”的字符串,并插入到数据库中。这里字符串的长度用户不需要考虑,完全由系统根据评选项目的个数自动生成。用户教评提交模块此模块为学生登录后,再选择自己的任课教师,然后展现给学生的页面,在系统中命名为,该模块为整个系统的核心模块,也是被浏览次数最多的页面,其它的所有模块的设计都是为该模块服务的,都要靠该模块来实现,所以这个模块设计的好坏,将直接影响到整个教评系统运行的好坏。以下代码为对教评界面的优化:Privatevoidclear()//去掉datagrid中前面相同的列 { stringpjNum=this.dgMainPj.Items[0].Cells[0].Text; stringpj=this.dgMainPj.Items[0].Cells[1].Text; for(inti=1;i<this.dgMainPj.Items.Count;i++) {if(pjNum==this.dgMainPj.Items[i].Cells[0].Text) {this.dgMainPj.Items[i].Cells[0].Text=""; this.dgMainPj.Items[i].Cells[1].Text=""; } else{pjNum=this.dgMainPj.Items[i].Cells[0].Text; pj=this.dgMainPj.Items[i].Cells[1].Text; } }}在用户进入该模块后,首选系统将检索数据库中的教评类别表和教评项目表,并按照类别将教评项目以表格的形式列出来;对于教评项目中的选项,将在选项的前面添加单选按钮,用来供用户选择。系统对教评类别和教评项目没有任何的限制,完全可以由管理员按照实际情况或自己的意愿来设置,只要是按照正常的方式添加的,都可以很好的生成美观的教评页面。(在这里,我们需要说明一点,如果还想增加系统的智能性,使系统更为合理。我们还可以在点击开始教评后,记录下来被教评的教师编号和课程编号,根据教师所属系的不同和所教课程的不同,连接不同的教评类别表和教评项目表,以便做到对不同学科的教师进行不同标准的教评,这样可以使得教评更为合理,教评结果更为真实可靠。)以下代码为实现学生教评结果的判断并向数据库提交:privatevoidbtnTj_Click(objectsender,System.EventArgse) { inta=0; stringb=""; boolflag=true; for(inti=0;i<this.dgMainPj.Items.Count;i++) {for(intj=1;j<=4;j++) {if(((RadioButton)(this.dgMainPj.Items[i].Cells[2+j].Controls[1])).Checked){a=j;break;} } if(a==0)flag=false;b=b+a.ToString(); a=0; } if(!flag) { Response.Write("其中包含没有选择的项目!请检查,确保每一项都选择"); } //产生教评结果,存在于字符串b中;stringteaNum=Request.QueryString["teaNum"].ToString();//接受传递过来的教师编号 stringstr; SqlConnectioncon=DB.createCon(); SqlCommandcmd=newSqlCommand("selectcount(*)frompdwherepdItem='"+b+"'",con); con.Open();//打开数据库连接 intcount=Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); if(count==0) {cmd.CommandText="insertintoresultAvalues('"+teaNum+"','"+b+"')"; str="你对该教师评选的结果,提交成功!";} elset="insertintoresultBvalues('"+teaNum+"','"+b+"')";str="由于您所评的结果,被管理员认为是非法的,但还是被提交,请珍惜你的权力!"; } con.Open(); cmd.ExecuteNonQuery();//执行数据库操作 Response.Write(str); con.Close();//关闭数据库连接 stringstuNum=Session["stuNum"].ToString();cmd.CommandText="updateflagsetflag='1'wherestuNum='"+stuNum+"'andteaNum='"+teaNum+"'"; con.Open(); cmd.ExecuteNonQuery(); con.Close(); this.LinkButton1.Visible=true; //显示返回按钮 this.btnTj.Enabled=false;//提交按钮不可用 }图10教评系统主界面截图当用户对教评项目选择完成后,点击提交按钮后,系统将准备把用户的选择结果保存到数据库中。在保存期间,系统首选会判断一下,是否每一个教评项目用户都做出了选择,对于没有完成所有选择的情况,系统将给出智能提示,让用户做出选择。直至所有的选项用户都做出了选择。然后,系统将把用户选择的结果与非法结果特征库相比较,以此来判断用户的选择是否可信。对于可信的结果,将给出提示,并写入合法结果数据库中,即resultA中;而对于不可信的结果,也将给出提示,告知用户要做出正确的选择,并写入非法的数据库中,即resultB中。对于可信的和不可信的教评结果系统都允许提交到数据库中,只不过所给的提示和所写入的数据库有所不同。当然也可以改为,对于不可信的教评结果不允许提交,只需对代码稍加更改即可以实现,在这里不再多说了。向数据库提交结果时,系统只将教师编号,课程编号,教评的结果这三项进行提交,而不把学生的学号提交,这样做是为了增加教评的可信度,从根本上杜绝每个学生的教评结果被泄漏。当结果提交成功后,页面上将显现出一个“返回”按钮,点击该按钮系统将回到选择教师开始教评的界面。在这里我们会发现系统非常智能,当一个学生对自己其中的一个任课教师完成教评回到这个界面后,系统将把已经评过教的教师隐藏起来,只把那些还没有评的教师列出来,非常方便学生的使用。这一点的实现技巧也很简单,只是在系统中增加了一个标志数据库,标志数据库是系统根据学生库和教师库的记录自动生成的,无需管理员的任何操作,随便学生库和教师库的不同,标志库也会自动的变化,随时满足系统的需要。在标志数据库中,只有学生编号,教师编号以及一个标志位,每一个学生编号都将对应他所有的任课教师的编号。在系统初始化的时候,所有的标志位都为0,每当一个学生对自己的某个任课教师完成教评后,对应的标志位就会改为1,用来标志此学生已经对该教师进行了教评。有了标志数据库的存在,在学生通过学号和密码登录到系统后,系统将会检索标志数据库,从中找出所有学号与登录学号相同的记录,并把其中标志位为0的记录列出来,当对一个教师完成教评后,点击“返回”按钮后,系统将重新执行上面的操作。由于标志位的变化,相应的被教评的教师列表也会发生适时的变化。另外,根据标志数据库,在教评活动结束后,系统也可以很轻松的列出没有按要求参与并完成教评的学生,方便管理员了解参与教评活动的学生的具体情况,更好的利用教评结果。对标志数据库的说明:随着教师和学生的人数的增多,标志数据库的记录会成倍的增长。在对数据库的检索的性能,可能会有所下将,但对系统整体性能的影响是微乎其微的。由于标志数据库的存在,可以很好的解决智能列出每个学生对应的教师、适时显示每个学生还未完成教评的教师,智能统计没有参与教评的学生名单等一系列的问题,所以它的存在还是很有意义的。教评结果查看模块本系统提供了两种不同方式的查询,管理员可以在教评的整个过程中,对所有教师的教评结果进行查询,实时掌握教评活动的最新进展,方便控制整个活动的进度;教师可以在整个教评活动结束后,查询教评的结果,但是只可以查看学生对自己的教评结果,不可以查看别的教师的教评结果。图11教评结果查看截图5结论本文用较为详细的文字,介绍了网上智能教评系统的设计与实现。系统除了具有普遍意义上的网上教评功能外,重点在系统的智能性、灵活性、提高教评结果的可信度等方面进行了深入的研究,取得了一定的成果。但是系统刚刚开发成功,还需要相当长时间的运行测试,系统的智能性还有待于进一步提高。6参考文献[1]DanielCazzulino等箸王晓娜译《C#Web应用程序》清华大学出版社[2]王华杰,李律松等《精通C#数据库开发》清华大学出版社[3]萨师煊,王珊《数据库系统概论》高等教育出版社[4]张海潘《软件工程导论》(第四版)清华大学出版社[5]蔡自兴,徐光祐《人工智能及其应用》清华大学出版社[6]曹承志,王楠《智能技术》清华大学出版社[7]刘本固《教育评价的理论与实践》浙江教育出版社2000年版网上智能评教系统的开发目录1绪论 1教评 1教评的研究及系统所实现的目标 11.2.1目前国内外的研究,主要集中在以下几个方面: 1 1 22系统需求分析 2 2 22.3系统配置 23总体设计过程 43.1功能模块设计 4 54详细设计 5 54.2系统功能分析与代码实现 8 8各类用户登录模块 9 9 11教评信息管理模块 11 14教评提交模块 15教评结果查看模块 185结论 196参考文献 191绪论关于教评所谓教评,就是在教学的过程中,通过学生在学习过程中的反馈信息,对教师的授课情况的一项调查,目的是为了及时的了解教师与学生之间在教与学的过程中所遇到的问题,有针对性的开展教学工作,提高教学质量。教育理论与教育实践如何统一是当前教育界亟待解决的问题。教育评价标准系统是教育理论和教育实践的中间环节,教育评价有助于教育理论与教育实践达到统一。教评的研究及系统所实现的目标目前国内外的研究,主要集中在以下几个方面:教评的主体,学生教评是否科学关于教评是大多数教学工作者都认可的一种提高教学质量的有效手段,但是由谁来评,怎样来评,说法不一。有很多人认为学生教评总体而言是最可靠、最公正的,基本上不受各种人际关系的影响。关键是要排除,有些教师故意迎合学生的心理,以获得较高的教评等级,可以与领导教评,教师之间教评相结合的方法来避免。②教评应该从哪些方面进行评价教评可以从教学内容、教学态度、教学方法、教学效果等方面来进行评价。系统所实现的目标目前,网上已经有一些类似的教评系统,通过对这些系统的观察以及对使用过这些系统的老师和同学们的了解,我们发现:这些系统只是简单的将评价内容以网页的形式展现出来,让同学们选择,然后将结果统一的保存提交到服务器。这样做有很大的弊端,教评内容难于更新;教评结果的可信度有待提高;同时有多个用户登录时,系统的运行状况不好等诸多问题。针对上述这些问题,我们的智能教评系统将得到很好的解决:①通过读取数据库的内容,按管理员的要求,智能生成教评内容,可以随着数据库内容的不同随时更新,甚至可以做到不同的学科,有不同的教评内容;②系统智能的判断出其中非法的评价结果(如:所有选项类同或具有某种规律性,这些都可以由管理员指定)进行区别处理,提高教评结果的可信度;③对每个参与教评的学生,只记录教评提交的结果,并不与学号相对应,做到保密;④智能列出所登录的学生的任课教师,确保每个学生只允许对自己的任课教师进行教评,而且对每个教师只能评一次,提高教评结果的可信度;⑤限制同时登录的用户的上限,或让所有用户分批登录,减轻服务器的压力,保证系统运行安全平稳。⑥教评结束后智能统计出没有参与教评的学生,依据教评结果对被评的教师打分,智能总结出优点和不足。系统主要使用C#语言来开发,C#语言的开发工具目前主要是微软的,该工具包含了.NET开发的各种语言。VisualStudio.NET从一开始就是为XMLWeb服务创建的开发环境。通过允许应用程序通过Internet沟通和共享数据,允许开发人员从新的和现有的代码汇编应用程序,而与平台、编程语言或对象模型无关。数据库的访问,使用微软.NET框架中的一种最新的数据访问技术ADO.NET来连接SQL数据库,整个数据库的配置运行均在SqlServer2000中来完成。2系统需求分析对于本系统来说,主要包括三类用户的需求:管理员需求,系统可以指定教评的对象,即学生信息;可以指定被教评的对象,即教师信息;指定教评的内容,即学生通过哪些方面对教师进行评价;对教评结果的查看,即查看所有教师的教评结果。教师需求,在教评结束后,通过登录,查看自己的教评结果。学生需求,在教评活动开始后,登录系统,对自己的任课教师评价。通过需求概述,可以设想到,系统至少要提供对三种不同身份用户登录的验证。当管理员登录时,可以对学生信息表、教师信息表以及教评表的修改、更新;可以对教评结果进行查询。学生登录,对教评表查询,做出某些判断,根据判断更新教评结果表,教师登录,查看教评结果表中对应自己的记录。2.3系统配置对于设计完成的系统,必须根据实际情况进行配置,否则就会容易造成资源浪费或系统运行不正常。①软件配置软件配置主要包括操作系统的选择和数据库的设计,对于我们的系统主要考虑在实际使用过程中用户对系统的稳定性、数据库的容量,用户的维护水平来确定的。●数据库的选择因为设计这个系统主要是供河南科技学院教务处使用,考虑到我们学院拥有教师1000多名,学生15000多人,数据库中需要存储相当多的记录,在教评高峰也会有很多的用户同时登录,为了保证系统的稳定性和良好的可维护性,本系统采用SQLServer数据库。这样可以使每秒数据库并发数据访问记录数达到5000~50000。另外,如果是一个规模比较小的学校,数据库可以选择使用Access;如果规模比较大,就要选择Oracle,当然并不是在任何情况下使用Oracle数据库都会最好,有时也会受到经费的限制,一定要根据实际情况做适中的选择。●操作系统选择在选择操作系统的时候,也要从用户的数量和系统的吞吐量等方面来考虑,结合我们学院的具体情况,本系统使用WindowsServer2003,这样会具有较好的维护水平。同样对于较小规模可以使用Windows2000,对于较大规模的还可以使用Unix,这也要根据实际情况决定。②硬件配置硬件配置主要包括服务器端和客户端硬件的选择。对于客户端没有太大的要求,一般的能够上网的机器都可以满足要求。对于服务器端较高的配置会使系统运行的更快,更安全。③网络配置可以选择的类型有以下几种单机模式:服务器端和客户端在一台机器上百兆模式:计算机网络速度为百兆千兆模式:计算机网络速度为千兆网络连接如下图所示,对于不同的模式只不过所选用的交换机不同交换机交换机用户终端2用户终端1服务器用户终端2用户终端1服务器图1系统的网络配置模型图3总体设计过程3.1功能模块设计网上智能教学网上智能教学教评系统各类用户登录模块学生信息管理模块教师信息管理模块教评信息管理模块非法数据设置模块学生教评提交模块教评结果查看模块各类用户登录模块:●管理员登录,主要是对系统进行后台设置,具体包括对教师和学生的信息进行设置,对教评的项目进行设置,对非法数据特征进行设置,查看所有被评的教师的教评结果。●学生登录,个人信息的修改,对自己的任课教师教评。●教师登录,查看自己的教评结果以及学生的留言。学生信息管理模块:添加、删除、修改学生信息。教师信息管理模块:添加、删除、修改教师信息。教评信息管理模块:添加、删除、修改教评信息。非法数据设置模块:对教评结果中有可能出现的非法数据的特征进行设置。学生教评提交模块:对教师进行教评,并把结果提交到服务器的数据库中。教评结果查看模块:查看所有的教师的教评结果。在这里给出了一些主要的数据库的建立语句,通过执行,可以很容易的生成系统所需要的数据库。教评类别表pjItem包括的字段:教评编号(pjNum)、教评类别(pj)CREATETABLE[pjItem]( [pjNum][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL, [pj][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, PRIMARYKEYCLUSTERED([pjNum])ON[PRIMARY])ON[PRIMARY]GO教评项目表pjDet包括的字段:教评编号(pjNum)、教评内容(pjItem)、教评选项(pj1-4)、教评所属类别(pjf)CREATETABLE[pjDet]( [pjNum][varchar](2)COLLATEChinese_PRC_CI_ASNOTNULL, [pjItem][varchar](100)COLLATEChinese_PRC_CI_ASNOTNULL, [pj1][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj2][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj3][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pj4][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [pjf][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL, CONSTRAINT[PK__pjDet__00551192]PRIMARYKEYCLUSTERED ( [pjNum])ON[PRIMARY])ON[PRIMARY]GO智能判断非法数据表pd包括字段:判断项(pdItem)CREATETABLE[pd]( [pdItem][varchar](50)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO智能统计出没有参与教评的学生名单flag学号(stuNum)、教师编号(teaNum)、标志(flag)CREATETABLE[flag]( [stuNum][varchar](8)COLLATEChinese_PRC_CI_ASNULL, [teaNum][varchar](4)COLLATEChinese_PRC_CI_ASNULL, [flag][varchar](2)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO4详细设计通过上述的需求分析和总体设计,我们已经大致了解了整个教评系统的流程,基本上可以概括为,管理员登录,对系统做具体设置,包括设置哪些人参与教评,通过哪些标准来教评,用这些标准对谁教评;接下来,参与教评的人对被教评的人依据教评标准教评;管理员查看所有的教评结果;被教评人查看自己的教评结果。这些只是给出了系统的大致流程,而要真正的实现这个系统,解决我们所列出的问题,还需要很多附加的设置与操作。下面我们给出了整个系统较为详细的页面流程图,在详细设计过程中,我们将逐步地给予详细的介绍,对实现智能性方面做重点介绍:否否否是否是非法系统登录判断用户类型test学生管理员教师Test数据库包含学生表、教师表、管理员表等列出任课教师注销StuTeapjDetpjItempd确定更改提交教评结果生成教评界面是否合法是否评完AB退出登录Flag查看结果按编号筛选是图3页面流程设计图图中数据库说明Stu学生信息表Tea教师信息表pjItem教评类别表pjDet教评项目表pd教评判断表A合法结果表B非法结果表Flag教评标志表4.2系统功能分析与代码实现根据系统的主要功能模块和页面流程的设计,我们可以得出系统所具备的功能:●其中最基本的功能是:①管理员登录,根据实际情况添加教师和学生的信息,添加或修改教评内容,开启教评系统,允许学生登录开始教评;②学生登录系统,根据教师上课的实际情况和所列出的教评内容,对自己的任课教师进行教评,系统对结果进行保存提交;③教师登录,当教评过程结束后,可以查看学生对自己的教评结果,从中找出自己的优点和不足。●智能完善的功能:①根据管理员对教评库的设置,智能生成教评界面,使教评项目更新方便;②根据学生的学号不同,自动列出对应的教师;点击对教师教评,甚至可以按照管理员的意愿,不同的学科,可以给出不同的评价内容;③根据管理员的设置,智能生成非法数据特征库,作为评价提交结果是否合法的依据;④对于非法的评价结果进行智能筛选,区别处理;⑤智能统计出没有参与教评的学生名单;⑥根据教评结果,对每个教师得出结论或者依据评分规则进行打分。各模块具体的设计类是面向对象语言中很有特色的一种程序设计思想。在这里,我们正是通过一个名字为DB的类,来完成对SQL数据库的连接,它包含在系统的页面中,具体实现代码为:usingSystem;usingSystem.Data.SqlClient;namespacepjtest{ ///<summary> ///DB的摘要说明。 ///</summary> publicclassDB {publicDB() {//TODO:在此处添加构造函数逻辑 } publicstaticSqlConnectioncreateCon() { SqlConnectioncon=newSqlConnection("server=.;database=test;uid=sa;pwd=sa"); returncon;//.代表本地主机;test为数据库名;sa为用户名和密码} }}各类用户登录模块此模块设计起来相对简单,是整个系统进入时第一个呈现给用户的页面,系统中命名为Index.aspx,系统使用下拉列表框控件来对三种不同的身份的用户的选择,然后用两个文本框分别接收用户输入的用户名和密码,通过一个登录按钮对输入进行确认并提交到服务器。图4系统登录界面截图系统根据选择用户的不同,到相应的数据库中进行检索,验证正在登录的用户的身份是否合法,具体的实现,是通过SQL的Select语句,把用户名和密码设置为要查询的条件,在数据库中执行,如果相应的数据库中有这一条记录,则认为此用户存在,被认为是合法的用户;对于合法的用户,根据用户类型的不同,跳转到不同的页面;对于非法的用户给出错误提示,要求重新输入,直到输入正确的信息才可以登录。该模块设计的关键保证合法用户正常登录,非法用户即使通过正确的地址也不能跳转,这主要是通过Session变量来判断,以保证系统的安全性。学生信息管理模块此模块的设计主要是对学生数据库的修改,该模块在系统中是通过页面来实现,页面中使用DataGrid控件和数据库中的学生信息表进行绑定,对其中记录的修改都将影响到学生数据库。包括对学生信息的添加、删除、修改等操作。添加学生的主要代码:privatevoidbtnADD_Click(objectsender,System.EventArgse){//此代码为学生信息管理页面的添加学生的单击事件try{//使用try语句,主要对于异常的处理 SqlConnectioncon=DB.createCon();//建立数据库连接 stringstuNum=this.txtNum.Text; stringstuName=this.txtName.Text; stringstuClass=this.txtClass.Text; stringstuPwd=this.txtPwd.Text; if(stuNum=="") {Response.Write("学号不能为空");//对错误的一般判断} else {//记录的插入语句SqlCommandcmd=newSqlCommand("insertintostuvalues('"+stuNum+"','"+stuName+"','"+stuClass+"','"+stuPwd+"')",con); con.Open(); cmd.ExecuteNonQuery();//执行数据库语句 this.BindToDataGrid();//对数据库向datagrid的绑定 con.Close(); Response.Write("添加学生成功"); }}catch {Response.Write("添加失败,请检查约束项!"); } }图5学生信息管理模块截图教师信息管理模块实现方式与学生信息管理模块相同,在系统中为mainTea.aspx页面。图6教师信息管理模块截图对教师库的更新语句privatevoiddgTea_UpdateCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse) { stringteaNum=this.dgTea.DataKeys[e.Item.ItemIndex].Toting(); stringteaName=((TextBox)(e.Item.Cells[1].Controls[0])).Text; stringteaPwd=((TextBox)(e.Item.Cells[2].Controls[0])).Text; stringteaItem=((TextBox)(e.Item.Cells[3].Controls[0])).Text; stringteaClass=((TextBox)(e.Item.Cells[4].Controls[0])).Text; SqlConnectioncon=DB.createCon(); SqlCommandcmd=newSqlCommand("updateteasetteaName='"+teaName+"',teaPwd='"+teaPwd+"',teaItem='"+teaItem+"',teaClass='"+teaClass+"'whereteaNum='"+teaNum+"'",con);//数据库更新语句 con.Open(); cmd.ExecuteNonQuery();this.BindToDataGrid(); con.Close();}//语句结束教评信息管理模块此模块为整个系统比较核心的模块,该模块只能由系统管理员来操作,通过该模块系统管理员可以很方便的设置教评选项,生成教评页面;对于已经生成的评选项目,还可以即时的修改,形成新的教评页面。下面将重点介绍该模块的实现过程:图7教评信息管理模块截图对于数据库中插入语句的删除privatevoiddgpjItem_DeleteCommand(objectsource,System.Web.UI.WebControls.DataGridCommandEventArgse) { stringpjNum=this.dgpjItem.DataKeys[e.Item.ItemIndex].ToString(); SqlConnectioncon=DB.createCon(); SqlCommandcmd=newSqlCommand("deletefrompjItemwherepjNum='"+pjNum+"'",con); con.Open(); cmd.ExecuteNonQuery(); this.BindToDataGrid();con.Close(); this.BindToddlNum();}privatevoidBindToddlNum()//自定义函数 { SqlConnectioncon=DB.createCon(); con.Open(); SqlCommandcmd=newSqlCommand("select*frompjItem",con); SqlDataReadersdr=cmd.ExecuteReader(); this.ddlNum.DataSource=sdr; this.ddlNum.DataTextField="pj"; this.ddlNum.DataValueField="pjNum"; this.ddlNum.DataBind(); sdr.Close();con.Close(); }是是教评项目库教评类别库管理员登录验证身份Admin进入教评项目管理退出系统否pjItempjDet更改教评库读取库,形成新的教评界面管理员库注销管理员图8教评信息管理模块的具体实现流程图根据上面的流程图,我们从中分析:首先要判断登录的是否为合法的管理员,通过查询数据库判断的方法,前面已经说过,这里不再多说;主要是验证是否通过正确的途径跳转到本页面。在我们这个系统中,所有的跳转判断都是通过jug来实现,在的Page_Load事件中添加以下的代码:If(Session["flag"]==null){Response.Redirect("loginFail.aspx");}然后,在各个页面中只需要调用就可以了。进入该页面后,系统首先通过两个datagrid分别与评选类别表(pjDet)、评选项目表(pjItem)的绑定列出来;在datagrid中通过模板可以直接实现修改和删除的功能,由于表中的记录有可能过多,这里要考虑实现分页;在datagrid中实现添加的功能比较复杂,这里我们采用一种比较简单的方法,在页面上添加文本框,通过文本框的输入来添加到数据库中,这里还是使用SQL语句来实现的,当点击“确定”按钮后,更改将直接影响到数据库中的记录,在更改以后,教评界面将根据数据库的记录的不同重新生成,这样的设计可以使系统维护更加简单,大部分的工作都可以让系统智能处理,即使一点都不懂计算机语言的用户,也可以很容易生成新的教评页面。非法数据设置模块此模块为整个系统实现智能性的核心,它的设计原理类似于杀毒软件中的病毒库;当计算机中存在某些文件,它的运行的特征,在杀毒软件的病毒库中被认为是病毒,则就会把该文件视为病毒来处理;而在我们的系统中也是这样的,下面我们将详细介绍一下该模块的实现过程:图9非法数据设置模块截图在管理员登录该模块后,展现给用户的是一组由复选框组成的设置界面,在系统中为用户提供了一些常用的设置非法的选项,比如全部选择第一项、第二项、第三项、第四项以及选择的项目包含某种顺序规律都可以在这里指定。这里,我们假设管理员想要设置全部选择B、全部选择C以及全部选择D是不可信的教评数据,则管理员登录后,可以选中第二项、第三项、以及第四项,然后点击页面上的“提交”按钮,接下来系统先与判断表相连接,再开始从第一个复选框开始判断是否被选中,执行相应的操作;当判断第二项被选中后,系统将生成一个全为“B”的字符串,长度为教评项目表中项目的个数,然后再将该字符串插入到判断表中,接下来再判断下一个复选框是否被选中,如果被选中则会执行与前面相类似的操作;直到把所有的复选框判断完。这样即可按照管理员的意愿完成对非法数据模型的设置。当管理员选中某种顺序规律时,系统会组成一些常见的有顺序的选项排列,如ABCDA…DABCA…CBCDB…D等除此之外,为了使系统使用起来更加灵活,更大程度上的提高系统的智能性,系统还增加了用户自定义的功能,即用户可以自己设置一些除系统所列之外但也被认为是非法或不可信的模型,当选中了页面上的自定义复选框后,页面上会显示出一个文本框,在文本框里面用户可以填写非法模型。为了方便用户使用,这里并不需要用户把整个非法排列都写出来,而是只给出局部的排列,当点击“添加”按钮后系统自动的把它循环生成相应的字符串,然后在列表框中列出来,同时把文本框清空,可以继续添加第二个自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论