教学评价系统的设计与实现_第1页
教学评价系统的设计与实现_第2页
教学评价系统的设计与实现_第3页
教学评价系统的设计与实现_第4页
教学评价系统的设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第27页共24页教学评价系统的设计与实现教学评价系统可以方便和全面地收集教师教学工作的数据,提供师生网上评教的评分结果,快速集中收集各方面的评教信息,使教务管理部门能够及时了解教学动态和师资情况,为教务老师提供相关决策支持,为职称评聘提供教学工作质量的科学依据,同时减轻了教务老师的工作量。系统用户分为三类,分别是学生、教师和管理员。学生可以在互联网上选课并对教师及其所教授的课程进行打分、留言,教师可以查看学生对自己的评教结果和留言以及对其同行的教学质量进行评估,管理者可以对学生以及教师同行评教的信息进行查询和统计,同时可以查看教师排行榜并打印。查询可根据查询条件的不同显示不同的查询结果,同时也可根据统计要求显示不同的结果。系统是基于Windows7操作系统,采用JSP开发,并使用MYSQL数据库来实现。关键词:教学;评教;数据库;统计;JSPDesignandImplementationofOnlineTeachingQualityEvaluationSystemAbstractTheonlineteachingqualityevaluationsystemcancollectthedataofteachingworkconvenientlyandcomprehensively,offerthescoreresultsofonlineteachingevaluationbyteachersandstudents,collecttheinformationofteachingenabletheadministrativedepartmenttofindoutaboutteachingdevelopmentandeducationaladministration,reducetheworkloadfortheteachersofeducationaladministrationatthesametime.Theusersofthissystemaredividedintothreekindsthatincludestudent,teacherandadministrator.Studentsmayselectthelessonandgiveascore,makecommentstotheteacheronInternet;theteachercanlookovertheresultsandcommentsoftheteachingevaluationandevaluateteachingqualityofotherteachers.Inquirethatcanbeshowingdifferentinquiryresultsaccordingtodifferentconditionofinquiring,atthesametime;itcanshowdifferentresultsaccordingtothestatisticsrequest.ThesystemisbasedonWindows7operationsystem,adoptJSPtodeveloplanguages,thedatabaseisMYSQL.keywords:teaching;evaluationofteaching;statistics;database;JSP

目录论文总页数:24页178861引言 3180901.1课题背景 3252821.2目的意义 169642系统分析 1212772.1开发工具简介 1126312.1.1mysql简介 1183642.1.2Tomcat简介 1267522.1.4JDBC简介 2135132.2开发技术简介 2299212.2.1JSP简介 2296162.2.2SQL简介 2287172.3运行环境 3116282.3.1软件准备 3177242.3.2环境变量的配置 361642.3.3测试默认服务器 3301822.3.4测试项目 3107073需求分析 4298403.1系统功能设计 4135003.2系统设计思想 4223353.3数据库分析 4148663.3.1数据库需求分析 461943.3.2数据库概念结构 5309733.3.3数据库逻辑结构设计 6307934系统总体设计 671124.1系统功能设计 6311864.2系统功能图 7164034.3系统功能流程图 8241655系统详细设计和实验 8147565.1系统页面主体设计 8104865.2数据操作类 9114565.3学生界面及其基本功能的实现 12279895.3.1学生登录 12174485.3.2个人信息显示 12165515.3.3网上选课 13102945.3.3网上评教 14313855.3.4更改密码和退出 15183495.4教师页面及基本功能的实现 16136735.4.1评分查看 16184875.4.2留言查看 17110005.5管理员页面及其基本功能的实现 18255126系统测试 20162416.1学生评教功能测试 20246996.2教师查看评分功能 20200616.3管理员统计功能测试 21小1835结 2113587参考文献 221引言1.1课题背景教学评估工作是教学行政部门对高等学校教学质量进行宏观监督的重要手段,目的是提高教育教学质量。教学评估是学校教学管理的一项重要内容,如何科学地、全面、客观公正地评估教师的师德水平和业务素质,是一项理论上和实践上都十分重要的工作。通过学校各层次人员对教学的教学质量进行民主评估,评测结果和分析报表可以帮助学校领导及时全面的掌握全校教师教学业务状况,帮助教师有针对性的改进工作方法、提高教学质量。教学质量评估方面,传统的成绩单或者家长手册已经远远不能满足对教学过程中大量有效信息的分析利用。随着现代教育技术和管理方法的发展以及教学系统化理念的实施研究,我们应该通过精细客观的评价来监督,促进老师的教与学生的学,活化了教学信息,增强对教学质量的分析和监控。1.2目的意义开发《教师教学质量评教系统》有两方面的好处:一是《教师教学质量评教系统》的实用性,一个好的《教师教学质量评教系统》会将一个庞大投票评优工作井井有条的管理起来,计算机与人的不同就在于,计算机是机械的,精确的,它不会使管理工作出现差错。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够大大减轻教工人员的工作量,提高办事效率;各一方面好处,设计《教师教学质量评教系统》只是一种手段,通过它使我可以更好的了解计算机的工作过程,掌握开发语言的使用方法,掌握开发各种项目的工作技能,适应迅猛发展的社会。2系统分析2.1开发工具简介2.1.1mysql简介数据库可以提供查询、插入、修改、删除、数据库能汇集各种信息以供查询、存储和检索。MYSQL是关系数据库管理系统,作为一个完备的数据库和数据分析包,MYSQL为快速开发新一代商业程序建立优势提供了便利的条件。目前,MYSQL作为做广泛使用的数据库之一,已经被无数用户证实其可靠性和优越性。所以,该系统采用MYSQL建立关系数据库。(敖富江,SQL入门经典)mysql做为一个数据库管理系统,采取了关系型数据库模式,利用它可以方便地实现对信息保存、维护、查询、统计,这些功能对一个一般用户而言已经足够了。2.1.2Tomcat简介Tomcat是一个免费的开源的Serlvet容器,最新的Servlet和Jsp规范总能在Tomcat中得到体现同时由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR按一定目录结构来组织:通常其根目录下包含有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会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。在Tomcat中,你还可以利用Servlet提供的事件监听器功能,来对你的应用或者Session实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持,这与那些J2EE应用服务器提供的是一致的。基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用普通的文本编辑器或者IDE,然后将其打包成WAR即可。2.1.3JDBC简介与数据库的交互是动态网站的一个重要组成部分。JSP中使用JDBC技术来实现与数据库的连接,它提供了JSP操作数据库的各种接口程序。通过使用JDBC,开发人员可以很方便地将SQL语句传送给数据库。简单的来说,JDBC实现3个功能:同一个数据库建立连接、向数据库发送SQL语句和处理数据库返回的结果。JDBC(JavaDataBaseConnectivity,java与数据库连接),是一种JavaAPI,用以为多种数据库提供统一访问,它由java语言编写的类和接口组成,使数据库开发人员可以编写数据库应用程序。通过JDBC,便可以使各种关系数据库的访问变成容易的事情。JDBC使得不同的平台可以共用接口,减少了平台相关带来的麻烦,使得Java语言“一次编写,处处运行”成为可能。2.2开发技术简介2.2.1JSP简介JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。2.2.2SQL简介用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言——SQL。

SQL的全称是StructuredQueryLanguage,即结构化查询语言。SQL语句可以从关系数据库中获得数据,也可以建立数据库、增加数据、修改数据。1986年ANSI采用SQL语言作为关系数据库系统的标准语言,后被国际化标准组织(ISO)采纳为国际标准。SQL语言使用方便、功能丰富、简洁易学,是操作数据库的工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。SQL语言可以完成许多功能,例如:

(1)查询数据

(2)在数据库表格中插入、修改和删除记录

(3)建立、修改和删除数据对象

(4)控制对数据和数据对象的存取

(5)确保数据库的一致性和完整性2.3运行环境2.3.1软件准备首先在官方网站下载了JDK1.6.0和Tomcat6.0、MYSQL5.0个人版,,然后把下载的压缩包根据安装向导安装到C盘下。2.3.2环境变量的配置在弹出菜单中选择"属性"→"系统特性"→"高级"→"环境变量",弹出环境变量对话框,就可以编辑系统的环境变量了。2.3.3测试默认服务器启动Tomcat后,打开浏览器,在地址栏中输入http://localhost:8080(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。2.3.4测试项目首先编写一个test.jsp文件,使其在页面显示“HelloWorld!”。然后把test.jsp放在C:\Tomcat5.0\webapps\ROOT目录下,在地址栏输入http://localhost:8080/test.jsp,如果浏览器显示“HelloWorld!”,则说明环境变量配置成功了。3需求分析3.1系统功能设计系统要求能够实现以下功能:(1)要求学生能够进行选课。(2)要求学生能够对教师进行教学质量评估及对其留言。(3)要求教师能够查看评教,以及对同行进行教学质量评估。(4)要求管理员能够对学生,教师信息进行插入,删除等操作(5)要求管理员能够对教学质量评估进行统计。3.2系统设计思想本系统存在3种用户:学生、教师、管理员。学生和教师用管理员给定的帐号、密码登陆页面进行操作。登陆判定上首次基于数据库验证,然后把用户信息写进session,然后其他页面采用session验证。系统结构上采用页面镶嵌程序和语句,工作原理如下图所示。操作请求,运用SQL语句操作数据库操作请求,运用SQL语句操作数据库返回查询结果集或操作结果MYSQL用户界面数据库存储层教师教学质量评估系统操作界面图1系统工作原理图在系统结构中,用户界面层通过统一的接口向数据库存储层发送请求,数据库存储层收到请求处理之后把数据返回到用户界面层。3.3数据库分析3.3.1数据库需求分析数据库需求分析就是要了解在这个系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对教师教学质量评估系统功能的需求,总结出如下需求信息。(1)用户分教师、学生和管理员。(2)教师担任一门或多门课程。(3)学生能选修一门或多门课程,学生选择的课程要有选课记录。(4)学生对自己所选择的课程相对应的教师进行教学评估(进行打分),并根据情况意愿留言。(5)教师根据自己所授课程查看学生对自己的评分,同时查看学生对自己的留言。经过需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构。(1)学生,包括数据项:学号、姓名、系名、班名、密码等。(2)教师,包括数据项:教师ID、姓名,所属院系、所授课程、所带班级、密码等。(3)管理员,包括数据项:管理员ID、密码等。(4)课程,包括数据项:课程编码、课程名称、授课教师等。(5)选课记录,包括数据项:课程编号、课程名称、学号。(6)学生分数记录表:包括数据项:学号、教师姓名、课程名称、分数。(7)教师分数记录表:包括数据项:教师ID、教师姓名、所属院系、所授课程、分数(8)留言,包括数据项:留言、编号、教师姓名等。3.3.2数据库概念结构得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息通过互相之间的作用形成数据流动。本系统根据上面的设计规划出的实体有:学生实体、教师实体、管理员实体、课程实体、选课实体、学生分数记录实体、教师分数记录实体、留言实体。实体之间的关系的E-R图如下所示。.11111pm课程选择学生教师n上课m分数记录记录教师实体E-R图如下:教师教师教师编号教师姓名性别所授课程职称密码所带班级所属院系图3教师实体E-R图其他实体的E-R图比较简单,这里就不详细介绍了。3.3.3数据库逻辑结构设计数据库概念结构设计完后,将数据概念结构转化为数据库系统所支持的实际数据模型,也就是数据库逻辑结构。教师教学质量评估系统中各个表设计如下:字段数据类型字段大小必填字段索引允许为空用户名密码权限文本文本文本505050是否是无有无否否否字段数据类型字段大小必填字段索引允许为空课程名文本4否有是教师姓名文本50是无否字段数据类型字段大小必填字段索引允许为空课程名课节数每周课数需要周数任课老师两节课累排课程分布所属班级文本数字数字数字文本文本文本文本5050长整型长整型50505050否否是是否否否否有无无有无无无无否是否否否否否否字段数据类型字段大小必填字段索引允许为空学生名学号班级性别学院联系方式课程分布所选课程文本数字数字数字文本文本文本文本5050长整型长整型50505050否否是是否否否否有无无有无无无无否是否否否否否否字段数据类型字段大小必填字段索引允许为空班级文本50是无否占用文本50否有否课程编号文本50是无否授课教师文本50否有否课程学分文本50是无否上课地点文本50否有否图4数据表示意图在设计表的过程中,由于每个表设计为独立的表,所以没有设计主键。系统处理数据库的数据,就根据表内字段的内容来进行查询,删除,更新,插入等。4总体总体设计4.1系统功能设计本系统分为学生操作界面、教师操作界面和管理员操作界面。学生界面能完成如下操作。(1)个人信息:通过该功能模块,学生能查看自己的学号和班级等信息。(2)网上教学:通过该功能模块,学生能进行选课,及其对已选课程的授课教师的评教。(3)其他:通过该功能模块,学生能修改密码,保证用户的安全性,以及能够退出系统。教师界面能完成如下操作:(1)个人信息:通过该功能模块,教师能查看自己的教师编号和所在院系等信息。(2)信息管理:通过该功能模块,教师能够查看学生对自己所授课程的评分和留言。(3)其他:通过该功能模块,教师能修改密码,以及能够退出系统。管理员界面能完成如下操作:(4)学生管理:通过该功能模块,管理员能够查看学生信息,以及对学生的添加、更新、删除。(5)教师管理:通过该功能模块,管理员能够查看教师信息,以及对教师的添加、更新、删除。(6)课程管理:通过该功能模块,管理员能够查看课程信息,以及对课程的添加、更新、删除。(7)统计:通过该功能模块,管理员能对学生及其教师同行的评分进行查看,以及被评教师在院系的得分排行榜。(8)其他:通过该功能模块,管理员能够对学生、教师、管理员的密码修改,以及能够退出系统。4.2系统功能图通过系统功能设计,画出系统功能图如下:图5系统功能图4.3系统功能流程图系统的功能流程如下图:统计结果统计结果开始开始选择用户登录查看个人得分身份认证管理员教师获得用户身份填写评估表填写意见学生填写评估表查看学生意见数据分析图6系统功能流程图5系统详细设计和实验5.1系统页面主体设计系统登陆登陆页面设计如图:图7登陆界面图学生页面设计如图:图8学生界面图5.2数据操作类基本的数据库操作都被封装到DB类,该类对数据库访问的方法包括了数据库的连接、查询、插入、删除、更新等操作。在开发过程中,涉及到数据库的操作时,可以直接调用DB的方法。这样可以提高开发人员的效率,充分体现了组件的重用性。类代码如下:packageJavabeans;importjava.sql.*;publicclassDB{publicConnectionconn=null; publicResultSetrs=null; privateStringDatabaseDriver="com.mysql.jdbc.Driver"; //DataSource锟斤拷锟皆达拷锟斤拷DSN privateStringDatabaseConnStr="jdbc:mysql://localhost:3306/jiaoxue?useUnicode=true&characterEncoding=gbk" +",root,root";publicDB(){}publicConnectiongetCon(){ try{ Class.forName(classname); } catch(ClassNotFoundExceptione){ e.printStackTrace(); } try{ con=DriverManager.getConnection(url,"sa",""); } catch(Exceptione){ e.printStackTrace(System.err); con=null; } returncon;}publicStatementgetStm(){ try{ con=getCon(); stm=con.createStatement(); }catch(Exceptione){e.printStackTrace(System.err);} returnstm; } publicStatementgetStmed(){ try{ con=getCon(); stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); }catch(Exceptione){e.printStackTrace(System.err);} returnstm;} publicResultSetsearch(Stringsql){if(sql==null)sql="";System.out.println("sql:"+sql); try{ stm=getStmed(); rs=stm.executeQuery(sql); } catch(Exceptione){e.printStackTrace();}returnrs; } publicintdosql(Stringsql){intnum=-1; if(sql==null)sql=""; try{ stm=getStmed(); num=stm.executeUpdate(sql); } catch(Exceptione){e.printStackTrace();num=-1;}returnnum; } publicvoidclosed(){ try{ if(rs!=null)rs.close(); } catch(Exceptione){e.printStackTrace();} try{ if(stm!=null)stm.close(); } catch(Exceptione){e.printStackTrace();} try{ if(con!=null)con.close(); } catch(Exceptione){e.printStackTrace();} }}5.3学生界面及其基本功能的实现5.3.1学生登录在使用本系统时均需要登录后,才可使用,登录时会让你输入用户名,及用户密码。用户名均是管理员分配给每位用户的且具有唯一性,用户自己不可更改,但是用户自己可以更改密码。在登录时,系统根据你输入的用户名和密码,给出不同的提示信息,如果用户名和密码正确,将会提示进入学生主页面进行操作,如果用户名和密码不正确,将会提示返回登陆主页面重新登陆。提示部分代码如下:<%intn=0; Stringsql="select*fromstudentwhere学号='"+username+"'and密码='"+userpassword+"'"; ResultSetrs=oo.search(sql); rs.last(); if(rs.getRow()==0){%><ahref="/netteaching/index.jsp"class="STYLE1">[返回]</a> <%} else{%> <ahref="index.html"class="STYLE1">[进入]</a> <%}%>其中username和userpassword是利用JSP中request对象的getParameter方法从表单中读取的值,同时在代码设计中将值传递给JSP中的session对象,方便在其他页面中使用。5.3.2个人信息显示学生登录后,查看个人信息,将会显示学生的学号,班级,班名等信息,此实现比较简单,就不重点阐述了。5.3.3网上选课学生选择一门要学习的课程,选择后将结果录入到选课记录表中,其中已经选择了的课程不能重复选择。实现过程中对数据库的操作是利用IN把course、teacher、student3个表联系起来进行查询将得到学生所需要学习的课程信息显示在页面上供学生进行选课,同时利用超链接传递课程编号、课程名称的值,以及利用session对象的getAttribute方法得到的学号一起录入到选课记录表中。关键代码如下:(1)课程的显示 Stringcourse_code=""; Stringcourse_name=""; Stringsql="select*fromcoursewhere课程名称in(select所授课程fromteacherwhere所带班级in(select班名fromstudentwhere学号='"+session.getAttribute("username")+"'))"; try{ ResultSetrs=mych.search(sql); while(rs.next()){ course_code=rs.getString("课程编号"); course_name=rs.getString("课程名称");(2)超链接<ahref="ch.jsp?course_code=<%=course_code%>&course_name=<%=course_name%>">(3)录入选课记录Stringc_code=request.getParameter("course_code");Stringc_name=request.getParameter("course_name");c_code=newString(c_code.getBytes("ISO-8859-1"),"gbk");c_name=newString(c_name.getBytes("ISO-8859-1"),"gbk");Stringsqlstr="select*fromrecordwhere学号='"+session.getAttribute("username")+"'and课程编号='"+c_code+"'and课程名称='"+c_name+"'";ResultSetrs=myst.search(sqlstr);rs.last();if(rs.getRow()==0){Stringsql="insertrecord(课程编号,课程名称,学号)values('"+c_code+"','"+c_name+"','"+session.getAttribute("username")+"')";intm=myst.dosql(sql);myst.closed();5.3.3网上评教网上评教分为打分和留言两部分。打分部分要求学生从准备情况、教学效果、教学内容、教学方法、教学育人与职业道德五个方面对任课教师进行评分。要求认真阅读每一条评价指标,并根据你的观察和感受认真,实事求是地对其打分。此部分为必选项,要求学生对所有评价指标打分,不要遗漏。留言部分,学生根据自己的自身情况和意愿来填写。在此部分的实现过程中,页面首先会显示学生正在学习的课程以及此课程的授课教师,然后学生开始对教师进行评教。一个学生对一个老师只能评教一次,不能对同一教师进行多次评教。学生在评教完成后,系统会把评教结果存入数据库。代码方面将会多次运用到JSP中的request对象和session对象,同时也会运用到超链接来完成对数据值的传递。关键代码如下:判断学生是否已经对教师已经评教Stringsql="select分数fromscorewhere学号='"+session.getAttribute("username")+"'and教师姓名='"+name+"'and课程名称='"+course+"'";ResultSetrs=dd.search(sql);rs.last();if(rs.getRow()==0){超链接<ahref="app.jsp?course=<%=course%>&name=<%=name%>"target="_top">request对象和session对象传递值的应用Stringname=request.getParameter("name");Stringcourse=request.getParameter("course");name=newString(name.getBytes("ISO-8859-1"),"gbk");course=newString(course.getBytes("ISO-8859-1"),"gbk");session.setAttribute("name",name);session.setAttribute("course",course);评分录入数据库Stringt1=request.getParameter("t1");…………//代码的省略Stringt20=request.getParameter("t20");intscore=0;ints1=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;intsun=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+s19+s20;Stringsql="insertscore(学号,教师姓名,课程名称,分数)values('"+session.getAttribute("username")+"','"+session.getAttribute("name")+"','"+session.getAttribute("course")+"',"+score+")";inti=myst.dosql(sql);myst.closed();留言录入数据库Stringbiaoshi="yes";if(request.getParameter("board")!=null){Stringbname=request.getParameter("board");Stringsql="insertliuyan(留言,教师姓名,标识)values('"+bname+"','"+session.getAttribute("name")+"','"+biaoshi+"')"5.3.4更改密码和退出出于安全考虑,用户登录后,可随时更改密码,以免帐号被别人盗取,进行非法操作,扰乱本系统,也影响用户正常使用。同时也建议用户经常更改个人密码。当用户完成操作后,能够点击退出安全的退出系统。关键代码如下:退出<%session.invalidate();response.sendRedirect("/netteaching/index.jsp");更改密码Stringopassword=request.getParameter("topassword"); Stringnpassword=request.getParameter("tnpassword"); Stringrenpassword=request.getParameter("trenpassword"); if(opassword==""||npassword==""||renpassword=="") out.println("信息添写不完整!"); elseif(!npassword.equals(renpassword)) out.println("确认新密码不正确!"); else { Stringsql="Select*FromstudentWhere密码='"+opassword+"'"; ResultSetRs=mymo.search(sql); try { Rs.last(); if(Rs.getRow()==0) out.println("旧密码不正确!"); else { sql="UpdatestudentSet密码='"+npassword+"'where密码='"+opassword+"'"; mymo.dosql(sql); out.println("密码修改成功!"); } } catch(SQLExceptione)5.4教师页面及基本功能的实现在上面的学生页面中具体介绍了学生模块的各个功能,教师模块部分功能与其大同小异,这里就不一一介绍了,重点介绍下几个关键的功能实现。5.4.1评分查看教师登陆进系统,点击链接,页面首先会显示此教师所授的课程信息以及所带班级信息,然后教师选择想查看的课程评分,评分表将会显示一个班级每个学生对此教师的评分以及班级总评分和平均分。在此部分的实现过程中,利用了超链接传递班级和课程信息。关键代码如下:(1)评分显示//班级每个学生的评分Stringcla=request.getParameter("cla");cla=newString(cla.getBytes("ISO-8859-1"),"gbk");Stringcourse=request.getParameter("course");course=newString(course.getBytes("ISO-8859-1"),"gbk");intcount=0;intsum=0;doubleavg=0;inti;Stringsql="select分数fromscorewhere学号in(select学号fromstudentwhere班名in(select所带班级fromteacherwhere所带班级='"+cla+"'))and课程名称='"+course+"'";try{ResultSetrs=my.search(sql);rs.last();count=rs.getRow();rs.beforeFirst();while(rs.next()){<%=rs.getInt("分数")%>}//总评分for(i=0;i<count;i++){while(rs.next()){sum=sum+rs.getInt("分数");}//平均分<%avg=(double)(sum/count);%>5.4.2留言查看教师查看学生对自己所授课程的评价留言,首先教师点击链接,查看是否有新留言,有新留言的话选择查看,此时会出现一个窗体,里面的内容即是留言信息。在此部分的实现过程中,判断是否有新留言,我在留言表中设置了个标识字段,当为yes的时候,此条留言为新留言,当教师查看后,标识变为no,表示已经查看的留言。关键代码如下:显示是否有新留言Stringbiaoshi="yes";Stringsql="select*fromliuyanwhere教师姓名in(select教师姓名fromteacherwhere教师ID='"+session.getAttribute("username")+"')and标识='"+biaoshi+"'";ResultSetrs=myt.search(sql);rs.last();inti=rs.getRow();rs.beforeFirst();留言信息//留言信息的显示Stringid=request.getParameter("id");id=newString(id.getBytes("ISO-8859-1"),"gbk");intlid=Integer.parseInt(id);Stringsql="select留言fromliuyanwhere编号='"+lid+"'";ResultSetrs=message.search(sql);//实现次留言为已查看留言if(rs.getString("留言")!=null){Stringbiaoshi="no";Stringsqlstr="updateliuyanset标识='"+biaoshi+"'where编号='"+lid+"'";message.dosql(sqlstr);5.5管理员页面及其基本功能的实现此页面管理员主要对学生,教师,课程信息进行查询,更改,录入等操作以及对统计结果的操作,对信息处理就不重点介绍了。下面就对评分结果统计重点介绍下。在统计功能中,管理员可以通过表单对教师及其所授课程的输入,查看学生对此教师的评分,同时计算出总分和平均分,管理员还可以根据具体情况对评分结果进行删除。为了更直观的查看评教情况,管理员还可以根据教师所属院系来查看教师排行榜。并能打印排行榜表。关键代码如下:(1)删除结果Stringsql="deletefromscorewhere教师姓名='"+request.getParameter("name0")+"'and课程名称='"+request.getParameter("name1")+"'"; intm=yy.dosql(sql); yy.closed();(2)教师排行榜(学生评分排行)注:教师评分排行设计大体一致这个功能的实现,重点是利用了SQL语言中的聚集函数AVG来计算平均分。<%if(request.getParameter("name0")!=null){ Stringcolloe=request.getParameter("name0"); inti=1; Stringsql="selectteacher.教师ID,teacher.教师姓名,teacher.性别,teacher.所属院系,teacher.所授课程,teacher.职称,teacher.所带班级,avg(score.分数)as分数fromteacher,scorewhereteacher.教师姓名=score.教师姓名andteacher.所授课程=score.课程名称andteacher.所属院系='"+colloe+"'groupbyteacher.教师ID,teacher.教师姓名,teacher.性别,teacher.所属院系,teacher.所授课程,teacher.职称,teacher.所带班级orderby8desc"; try{ ResultSetrs=yy.search(sql); rs.last(); intcount=rs.getRow(); rs.beforeFirst(); while(rs.next()){ %><%if(i<=count){%><%=i%>(4)打印此功能中是将WEB页面中的数据导出到Excel然后打印。设计过程中,主要是应用JAVASCRIPT的构造函数创建了一个EXCEL。Application对象的实例,并应用该实例的相关方法。<scriptlanguage="javascript">functionoutExcel(){vartable=document.all.pay;row=table.rows.length;column=table.rows(1).cells.length;varexcelapp=newActiveXObject("Excel.Application");excelapp.visible=true;objBook=excelapp.Workbooks.Add();varobjSheet=objBook.ActiveSheet;for(inti=0;i<row;i++){for(intj=0;j<column;j++){objSheet.Cells(i+1,j+1).value=table.rows(i).cells(j).innerHTML.replace(" ","");}}objBook.SaveAs("C:\payList.xls");excelapp.UserControl=true;}6系统测试系统的功能测试是在编码的过程中完成的。编写代码的过程中,在实现某个模块的某个功能的时候,根据需要新建测试项目,完成对程序各模块的功能测试。软件完成后,进行系统测试。下面对几个重要功能介绍下。6.1学生评教功能测试首先,学生通过用户名和帐号进入到学生界面,点击网上评教,进入评教页面,开始打分,如果学生对此教师有好的建议可以通过点击留言链接进行留言。实现功能如图:图9学生评教功能测试图6.2教师查看评分功能首先,教师通过用户名和密码进入教师界面,点击评分查看,页面将会显示出此教师的所授课程信息,教师根据自己情况选择所教课程查看学生对其的打分和留言。实现功能如图:图11教师所授课程测试功能图图12教师分数测试功能图6.3管理员统计功能测试管理员可以根据输入查询的条件对学生,教师的评论结果进行查看,同时还可以查看教师在院系的排行。实现功能如图:图14排行榜功能图小结本系统的中心任务是帮助教务管理部门及时了解教学动态和师资情况,调动广大教师教学、科研的积极性和提高教学质量。开发过程中,充分考虑用户的需求,使得本系统操作起来简单方便,具有高效的查询功能

温馨提示

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

评论

0/150

提交评论