1、 在线教学质量评价系统的设计与实现 摘 要在线教学质量评价系统可以方便和全面地收集教师教学工作的数据,提供师生网上评教的评分结果,快速集中收集各方面的评教信息,使教务管理部门能够及时了解教学动态和师资情况,为教务老师提供相关决策支持,为职称评聘提供教学工作质量的科学依据,同时减轻了教务老师的工作量。系统用户分为三类,分别是学生、教师和管理员。学生可以在互联网上选课并对教师及其所教授的课程进行打分、留言,教师可以查看学生对自己的评教结果和留言以及对其同行的教学质量进行评估,管理者可以对学生以及教师同行评教的信息进行查询和统计,同时可以查看教师排行榜并打印。查询可根据查询条件的不同显示不同的查询结
2、果,同时也可根据统计要求显示不同的结果。系统是基于Windows XP操作系统,采用JSP开发,并使用SQL SERVER 2000数据库来实现。关键词:教学;评教;数据库;统计;JSP:Design and Implementation of Online Teaching Quality Evaluation SystemAbstractThe online teaching quality evaluation system can collect the data of teaching work conveniently and comprehensively, offer the
3、score results of online teaching evaluation by teachers and students, collect the information of teaching evaluation from different fields fast, enable the administrative department to find out about teaching development and teachers situation in time, offer relevant decision support to the teachers
4、 of educational administration, offer the scientific basis of teaching work quality for the thing that the professional title is commented and engaged , reduce the work load for the teachers of educational administration at the same time . The users of this system are divided into three kinds that i
5、nclude student, teacher and administrator. Students may select the lesson and give a score, make comments to the teacher on Internet; the teacher can look over the results and comments of the teaching evaluation and evaluate teaching quality of other teachers. The administrator can inquire the comme
6、nt information and look over teachers billboard and type the results at the same time. Inquire that can be showing different inquiry results according to different condition of inquiring, at the same time; it can show different results according to the statistics request. The system is based on Wind
7、ows XP operation system, adopt JSP to develop languages, the database is SQL SERVER 2000.key words: teaching;evaluation of teaching;statistics;database;JSP目 录 论文总页数:24页1 引 言11.1 课题背景11.2 目的意义12 开发工具、技术简介及运行环境12.1 开发工具简介12.1.1 sql server2000简介12.1.2 Tomcat 简介12.1.4 Microsoft SQL Server 2000 Driver fo
8、r JDBC简介22.2 开发技术简介22.2.1 JSP简介22.2.2 SQL简介32.3 运行环境32.3.1 软件准备32.3.2 环境变量的配置32.3.3 测试默认服务器42.3.4 测试项目43 需求分析43.1系统功能设计43.2 系统设计思想43.3 数据库分析53.3.1 数据库需求分析53.3.2 数据库概念结构53.3.3 数据库逻辑结构设计64总体设计74.1系统功能设计74.2 系统功能图74.3 系统功能流程图85 详细设计和实85.1 系统页面主体设计85.2 数据操作类95.3 学生界面及其基本功能的实现125.3.1 学生登录125.3.2 个人信息显示12
9、5.3.3 网上选课125.3.3 网上评教145.3.4 更改密码和退出155.4 教师页面及基本功能的实现165.4.1 评分查看165.4.2 留言查看175.5 管理员页面及其基本功能的实现186 系统测试196.1学生评教功能测试206.2教师查看评分和留言功能测试206.3 管理员统计功能测试21结 论22参考文献22致 谢23声 明241 引 言1.1 课题背景教学评估工作是教学行政部门对高等学校教学质量进行宏观监督的重要手段,目的是提高教育教学质量。教学评估是学校教学管理的一项重要内容,如何科学地、全面、客观公正地评估教师的师德水平和业务素质,是一项理论上和实践上都十分重要的工
10、作。通过学校各层次人员对教学的教学质量进行民主评估,评测结果和分析报表可以帮助学校领导及时全面的掌握全校教师教学业务状况,帮助教师有针对性的改进工作方法、提高教学质量。教学质量评估方面,传统的成绩单或者家长手册已经远远不能满足对教学过程中大量有效信息的分析利用。随着现代教育技术和管理方法的发展以及教学系统化理念的实施研究,我们应该通过精细客观的评价来监督,促进老师的教与学生的学,活化了教学信息,增强对教学质量的分析和监控。1.2 目的意义开发教师教学质量评教系统有两方面的好处:一是教师教学质量评教系统的实用性,一个好的教师教学质量评教系统会将一个庞大投票评优工作井井有条的管理起来,计算机与人的
11、不同就在于,计算机是机械的,精确的,它不会使管理工作出现差错。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够大大减轻教工人员的工作量,提高办事效率;各一方面好处,设计教师教学质量评教系统只是一种手段, 通过它使我可以更好的了解计算机的工作过程,掌握开发语言的使用方法,掌握开发各种项目的工作技能,适应迅猛发展的社会。2 开发工具、技术简介及运行环境2.1 开发工具简介2.1.1 sql server2000简介建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需
12、求、更好地满足用户的要求以及适应开发人员的习惯。在本系统中我选择了sql server2000数据库。sql server2000做为一个数据库管理系统,采取了关系型数据库模式,利用它可以方便地实现对信息保存、维护、查询、统计,这些功能对一个一般用户而言已经足够了。2.1.2 Tomcat 简介Tomcat是一个免费的开源的Serlvet容器,最新的Servlet和Jsp规范总能在Tomcat中得到体现 同时由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。 与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR按一定目录结构来组
13、织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。 在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会
14、自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。 在Tomcat中,你还可以利用Servlet提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。 基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。2.1.4
15、 Microsoft SQL Server 2000 Driver for JDBC简介与数据库的交互是动态网站的一个重要组成部分。JSP中使用JDBC技术来实现与数据库的连接,它提供了JSP操作数据库的各种接口程序。通过使用JDBC,开发人员可以很方便地将SQL语句传送给数据库。简单的来说,JDBC实现3个功能:同一个数据库建立连接、向数据库发送SQL语句和处理数据库返回的结果。微软推出的JDBC驱动程序Microsoft SQL Server 2000 Driver for JDBC可以实现直接与SQL server2000数据库的连接,从而方便了开发人员对数据库的操作。2.2 开发技术简
16、介2.2.1 JSP简介JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email
17、等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。2.2.2 SQL简介用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言SQL。 SQL 的全称是Structured Query Language,即结构化查询语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986年ANSI采用SQL语言作为关系数据
18、库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会
19、自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。SQL语言可以完成许多功能,例如:(1) 查询数据(2) 在数据库表格中插入、修改和删除记录(3) 建立、修改和删除数据对象(4) 控制对数据和数据对象的存取(5) 确保数据库的一致性和完整性2.3 运行环境2.3.1 软件准备首先在官方网站下载了JDK1.6.0和Tomcat5.0、SQL server 2000个人版,然后把下载的压缩包根据安装向导安装到C盘下。 2.3.2 环境变量的配置在弹出菜单中选择属性系统特性 高级 环境变量,弹出环境变量对话框,就可以编辑系统的环境变量了。2.3.3 测试默认服务器启动
20、Tomcat后,打开浏览器,在地址栏中输入http:/localhost:8080(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。 2.3.4 测试项目首先编写一个test.jsp文件,使其在页面显示“Hello World!”。然后把test.jsp放在C:Tomcat 5.0webappsROOT目录下,在地址栏输入http:/localhost:8080/test.jsp,如果浏览器显示“Hello World!”,则说明环境变量配置成功了。3 需求分析3.1系统功能设计系统要求能够实现以下功能:(1) 要求学生能够进行选课。(2)
21、 要求学生能够对教师进行教学质量评估及对其留言。(3) 要求教师能够查看评教,以及对同行进行教学质量评估。(4) 要求管理员能够对学生,教师信息进行插入,删除等操作(5) 要求管理员能够对教学质量评估进行统计。3.2 系统设计思想本系统存在3种用户:学生、教师、管理员。学生和教师用管理员给定的帐号、密码登陆页面进行操作。登陆判定上首次基于数据库验证,然后把用户信息写进session,然后其他页面采用session验证。 系统结构上采用页面镶嵌程序和语句,工作原理如下图所示。操作请求,运用SQL语句操作数据库返回查询结果集或操作结果SQL Server 2000用户界面数据库存储层教师教学质量评
22、估系统操作界面图1 系统工作原理图在系统结构中,用户界面层通过统一的接口向数据库存储层发送请求,数据库存储层收到请求处理之后把数据返回到用户界面层。3.3 数据库分析3.3.1 数据库需求分析数据库需求分析就是要了解在这个系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对教师教学质量评估系统功能的需求,总结出如下需求信息。(1) 用户分教师、学生和管理员。(2) 教师担任一门或多门课程。(3) 学生能选修一门或多门课程,学生选择的课程要有选课记录。(4) 学生对自己所选择的课程相对应的教师进行教学评估
23、(进行打分),并根据情况意愿留言。(5) 教师根据自己所授课程查看学生对自己的评分,同时查看学生对自己的留言。经过需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构。(1) 学生,包括数据项:学号、姓名、系名、班名、密码等。(2) 教师,包括数据项:教师ID、姓名,所属院系、所授课程、所带班级、密码等。(3) 管理员,包括数据项:管理员ID、密码等。(4) 课程,包括数据项:课程编码、课程名称、授课教师等。(5) 选课记录,包括数据项:课程编号、课程名称、学号。(6) 学生分数记录表:包括数据项:学号、教师姓名、课程名称、分数。(7) 教师分数记录表:包括数据项:教师ID、教师姓名、所
24、属院系、所授课程、分数(8) 留言, 包括数据项:留言、编号、教师姓名等。3.3.2 数据库概念结构得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息通过互相之间的作用形成数据流动。本系统根据上面的设计规划出的实体有:学生实体、教师实体、管理员实体、课程实体、选课实体、学生分数记录实体、教师分数记录实体、留言实体。实体之间的关系的E-R图如下所示。. 111pm课程选择学生教师n上课m分数记录记录图2 实体之间关系的E-R图教师实体E-R图如下: 教师教师编号教师姓名性别所授课程职称密码所带班级
25、所属院系图3 教师实体E-R图 其他实体的E-R图比较简单,这里就不详细介绍了。3.3.3 数据库逻辑结构设计数据库概念结构设计完后,将数据概念结构转化为数据库系统所支持的实际数据模型,也就是数据库逻辑结构。教师教学质量评估系统中各个表设计如下: 图4 数据表示意图在设计表的过程中,由于每个表设计为独立的表,所以没有设计主键。系统处理数据库的数据,就根据表内字段的内容来进行查询,删除,更新,插入等。4总体设计4.1系统功能设计本系统分为学生操作界面、教师操作界面和管理员操作界面。学生界面能完成如下操作。(1) 个人信息:通过该功能模块,学生能查看自己的学号和班级等信息。(2) 网上教学:通过该
26、功能模块,学生能进行选课,及其对已选课程的授课教师的评教。(3) 其他:通过该功能模块,学生能修改密码,保证用户的安全性,以及能够退出系统。教师界面能完成如下操作:(1) 个人信息:通过该功能模块,教师能查看自己的教师编号和所在院系等信息。(2) 信息管理:通过该功能模块,教师能够查看学生对自己所授课程的评分和留言。(3) 其他:通过该功能模块,教师能修改密码,以及能够退出系统。管理员界面能完成如下操作:(4) 学生管理:通过该功能模块,管理员能够查看学生信息,以及对学生的添加、更新、删除。(5) 教师管理:通过该功能模块,管理员能够查看教师信息,以及对教师的添加、更新、删除。(6) 课程管理
27、:通过该功能模块,管理员能够查看课程信息,以及对课程的添加、更新、删除。(7) 统计:通过该功能模块,管理员能对学生及其教师同行的评分进行查看,以及被评教师在院系的得分排行榜。(8) 其他:通过该功能模块,管理员能够对学生、教师、管理员的密码修改,以及能够退出系统。4.2 系统功能图通过系统功能设计,画出系统功能图如下:图5 系统功能图4.3 系统功能流程图系统的功能流程如下图:统计结果开始选择用户登录查看个人得分身份认证管理员教师获得用户身份填写评估表填写意见学生填写评估表查看学生意见数据分析图6系统功能流程图5 详细设计和实5.1 系统页面主体设计系统登陆页面设计如图:图7登陆界面图学生页
28、面设计如图:图8学生界面图5.2 数据操作类基本的数据库操作都被封装到DB类,该类对数据库访问的方法包括了数据库的连接、查询、插入、删除、更新等操作。在开发过程中,涉及到数据库的操作时,可以直接调用DB的方法。这样可以提高开发人员的效率,充分体现了组件的重用性。类代码如下: package Javabeans;import java.sql.*;public class DB private Connection con; private Statement stm; private ResultSet rs; private String classname=com.microsoft.jd
29、bc.sqlserver.SQLServerDriver; private String url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=教师教学质量评估系统; public DB() public Connection getCon() try Class.forName(classname); catch(ClassNotFoundException e) e.printStackTrace(); try con=DriverManager.getConnection(url,sa,); catch(Exception e
30、) e.printStackTrace(System.err); con=null; return con; public Statement getStm() try con=getCon(); stm=con.createStatement(); catch(Exception e)e.printStackTrace(System.err); return stm; public Statement getStmed() try con=getCon(); stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet
31、.CONCUR_READ_ONLY); catch(Exception e)e.printStackTrace(System.err); return stm; public ResultSet search(String sql) if(sql=null)sql=; System.out.println(sql:+sql); try stm=getStmed(); rs=stm.executeQuery(sql); catch(Exception e)e.printStackTrace(); return rs; public int dosql(String sql) int num=-1
32、; if(sql=null)sql=; try stm=getStmed(); num=stm.executeUpdate(sql); catch(Exception e)e.printStackTrace();num=-1; return num; public void closed() try if(rs!=null)rs.close(); catch(Exception e)e.printStackTrace(); try if(stm!=null)stm.close(); catch(Exception e)e.printStackTrace(); try if(con!=null)
33、con.close(); catch(Exception e)e.printStackTrace(); 5.3 学生界面及其基本功能的实现5.3.1 学生登录在使用本系统时均需要登录后,才可使用,登录时会让你输入用户名,及用户密码。用户名均是管理员分配给每位用户的且具有唯一性,用户自己不可更改,但是用户自己可以更改密码。在登录时,系统根据你输入的用户名和密码,给出不同的提示信息,如果用户名和密码正确,将会提示进入学生主页面进行操作,如果用户名和密码不正确,将会提示返回登陆主页面重新登陆。提示部分代码如下: 返回 进入 其中username和userpassword是利用JSP中request对
34、象的getParameter方法从表单中读取的值,同时在代码设计中将值传递给JSP中的session对象,方便在其他页面中使用。5.3.2 个人信息显示学生登录后,查看个人信息,将会显示学生的学号,班级,班名等信息,此实现比较简单,就不重点阐述了。5.3.3 网上选课学生选择一门要学习的课程,选择后将结果录入到选课记录表中,其中已经选择了的课程不能重复选择。实现过程中对数据库的操作是利用IN把course、teacher、student 3个表联系起来进行查询将得到学生所需要学习的课程信息显示在页面上供学生进行选课,同时利用超链接传递课程编号、课程名称的值,以及利用session对象的getA
35、ttribute方法得到的学号一起录入到选课记录表中。关键代码如下:(1) 课程的显示String course_code=;String course_name=;String sql=select * from course where 课程名称 in(select 所授课程 from teacher where 所带班级 in(select 班名 from student where 学号=+session.getAttribute(username)+); try ResultSet rs=mych.search(sql); while(rs.next() course_code=rs
36、.getString(课程编号); course_name=rs.getString(课程名称);(2)超链接a href=ch.jsp?course_code=&course_name=(3)录入选课记录String c_code=request.getParameter(course_code);String c_name=request.getParameter(course_name);c_code=new String(c_code.getBytes(ISO-8859-1),gbk);c_name=new String(c_name.getBytes(ISO-8859-1),gbk)
37、;String sqlstr=select * from record where 学号=+session.getAttribute(username)+ and 课程编号=+c_code+ and 课程名称=+c_name+;ResultSet rs=myst.search(sqlstr);rs.last();if(rs.getRow()=0)String sql=insert record(课程编号,课程名称,学号) values(+c_code+,+c_name+,+session.getAttribute(username)+);int m=myst.dosql(sql);myst.c
38、losed();5.3.3 网上评教网上评教分为打分和留言两部分。打分部分要求学生从准备情况、教学效果、教学内容、教学方法、教学育人与职业道德五个方面对任课教师进行评分。要求认真阅读每一条评价指标,并根据你的观察和感受认真,实事求是地对其打分。此部分为必选项,要求学生对所有评价指标打分,不要遗漏。留言部分,学生根据自己的自身情况和意愿来填写。在此部分的实现过程中,页面首先会显示学生正在学习的课程以及此课程的授课教师,然后学生开始对教师进行评教。一个学生对一个老师只能评教一次,不能对同一教师进行多次评教。学生在评教完成后,系统会把评教结果存入数据库。代码方面将会多次运用到JSP中的request
39、对象和session对象,同时也会运用到超链接来完成对数据值的传递。关键代码如下:(1) 判断学生是否已经对教师已经评教String sql=select分数 from score where 学号=+session.getAttribute(username)+ and 教师姓名=+name+ and 课程名称=+course+;ResultSet rs=dd.search(sql);rs.last();if(rs.getRow()=0)(2) 超链接 a href=app.jsp?course=&name= target=_top(3) request对象和session对象传递值的应用S
40、tring name=request.getParameter(name);String course=request.getParameter(course);name=new String(name.getBytes(ISO-8859-1),gbk);course=new String(course.getBytes(ISO-8859-1),gbk);session.setAttribute(name,name);session.setAttribute(course,course);(4) 评分录入数据库String t1=request.getParameter(t1); /代码的省略
41、String t20=request.getParameter(t20);int score=0;int s1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0,s9=0,s10=0,s11=0,s12=0,s13=0,s14=0,s15=0,s16=0,s17=0,s18=0,s19=0,s20=0;int sun=0;s1=Integer.parseInt(t1); /代码的剩略s20=Integer.parseInt(t20);score=s1+s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12+s13+s14+s15+s16+s17+s18+
42、s19+s20;String sql=insert score(学号,教师姓名,课程名称,分数) values(+session.getAttribute(username)+,+session.getAttribute(name)+,+session.getAttribute(course)+,+score+);int i=myst.dosql(sql);myst.closed();(5) 留言录入数据库 String biaoshi=yes;if(request.getParameter(board)!=null)String bname=request.getParameter(board);String sql=insert liuyan(留言,教师姓名,标识) values(+bname+,+session.getAttribute(name)+,+biaoshi+)5.3.4 更改密码和退出出于安全考虑,用户登录后,可随时更改密码,以免帐号被别人盗取,进行非法操作,扰乱本系统,也影响用户正常使用。同时也建议用户经常更改个人密码。当用户完成操作后,能够点击退出安全的退出系统。关键代码如下:(1) 退出 %session.invalidate();response.sendRedirect(/netteaching/index.jsp);