专科院校教学质量实时测评系统设计_第1页
专科院校教学质量实时测评系统设计_第2页
专科院校教学质量实时测评系统设计_第3页
专科院校教学质量实时测评系统设计_第4页
专科院校教学质量实时测评系统设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

HYPERLINK专科院校教学质量实时测评系统设计与研究姓名:____________________专业:____________________学院:____________________指导老师:__________________完成日期:__________________教学质量实时测评系统可以方便和全面地收集教师教学工作的数据,提供师生网上评教的评分结果,快速集中收集各方面的评教信息,使教务管理部门能够及时了解教学动态和师资情况,为教务老师提供相关决策支持,为职称评聘提供教学工作质量的科学依据,同时减轻了教务老师的工作量。系统用户分为三类,分别是学生、教师和管理员。学生可以在互联网上选课并对教师及其所教授的课程进行打分、留言,教师可以查看学生对自己的评教结果和留言以及对其同行的教学质量进行评估,管理者可以对学生以及教师同行评教的信息进行查询和统计,同时可以查看教师排行榜并打印。查询可根据查询条件的不同显示不同的查询结果,同时也可根据统计要求显示不同的结果。系统是基于WindowsXP操作系统,采用JSP开发,并使用SQLSERVER2000数据库来实现。关键词:教学;评教;数据库;统计;JSP:

DesignandImplementationofOnlineTeachingQualityEvaluationSystemAbstractTheonlineteachingqualityevaluationsystemcancollectthedataofteachingworkconvenientlyandcomprehensively,offerthescoreresultsofonlineteachingevaluationbyteachersandstudents,collecttheinformationofteachingevaluationfromdifferentfieldsfast,enabletheadministrativedepartmenttofindoutaboutteachingdevelopmentandteachers'situationintime,offerrelevantdecisionsupporttotheteachersofeducationaladministration,offerthescientificbasisofteachingworkqualityforthethingthattheprofessionaltitleiscommentedandengaged,reducetheworkloadfortheteachersofeducationaladministrationatthesametime.Theusersofthissystemaredividedintothreekindsthatincludestudent,teacherandadministrator.Studentsmayselectthelessonandgiveascore,makecommentstotheteacheronInternet;theteachercanlookovertheresultsandcommentsoftheteachingevaluationandevaluateteachingqualityofotherteachers.Theadministratorcaninquirethecommentinformationandlookoverteacher'sbillboardandtypetheresultsatthesametime.Inquirethatcanbeshowingdifferentinquiryresultsaccordingtodifferentconditionofinquiring,atthesametime;itcanshowdifferentresultsaccordingtothestatisticsrequest.ThesystemisbasedonWindowsXPoperationsystem,adoptJSPtodeveloplanguages,thedatabaseisSQLSERVER2000.keywords:teaching;evaluationofteaching;statistics;database;JSP

目录1引言 11.1课题背景 11.2目的意义 12开发工具、技术简介及运行环境 12.1开发工具简介 12.1.1sqlserver2000简介 12.1.2Tomcat简介 12.1.4MicrosoftSQLServer2000DriverforJDBC简介 22.2开发技术简介 22.2.1JSP简介 22.2.2SQL简介 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个人信息显示 125.3.3网上选课 125.3.3网上评教 145.3.4更改密码和退出 155.4教师页面及基本功能的实现 165.4.1评分查看 185.4.2留言查看 205.5管理员页面及其基本功能的实现 226系统测试 246.1学生评教功能测试 246.2教师查看评分和留言功能测试 266.3管理员统计功能测试 28结论 30参考文献 32致谢 33声明 341引言1.1课题背景教学评估工作是教学行政部门对高等学校教学质量进行宏观监督的重要手段,目的是提高教育教学质量。教学评估是学校教学管理的一项重要内容,如何科学地、全面、客观公正地评估教师的师德水平和业务素质,是一项理论上和实践上都十分重要的工作。通过学校各层次人员对教学的教学质量进行民主评估,评测结果和分析报表可以帮助学校领导及时全面的掌握全校教师教学业务状况,帮助教师有针对性的改进工作方法、提高教学质量。教学质量评估方面,传统的成绩单或者家长手册已经远远不能满足对教学过程中大量有效信息的分析利用。随着现代教育技术和管理方法的发展以及教学系统化理念的实施研究,我们应该通过精细客观的评价来监督,促进老师的教与学生的学,活化了教学信息,增强对教学质量的分析和监控。1.2目的意义开发《教师教学质量评教系统》有两方面的好处:一是《教师教学质量评教系统》的实用性,一个好的《教师教学质量评教系统》会将一个庞大投票评优工作井井有条的管理起来,计算机与人的不同就在于,计算机是机械的,精确的,它不会使管理工作出现差错。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够大大减轻教工人员的工作量,提高办事效率;各一方面好处,设计《教师教学质量评教系统》只是一种手段,通过它使我可以更好的了解计算机的工作过程,掌握开发语言的使用方法,掌握开发各种项目的工作技能,适应迅猛发展的社会。2开发工具、技术简介及运行环境2.1开发工具简介2.1.1HYPERLINKsqlserver2000简介建立一个数据库我们有多种选择,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。在本系统中我选择了sqlserver2000数据库。sqlserver2000做为一个数据库管理系统,采取了关系型数据库模式,利用它可以方便地实现对信息保存、维护、查询、统计,这些功能对一个一般用户而言已经足够了。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.4MicrosoftSQLServer2000DriverforJDBC简介与数据库的交互是动态网站的一个重要组成部分。JSP中使用JDBC技术来实现与数据库的连接,它提供了JSP操作数据库的各种接口程序。通过使用JDBC,开发人员可以很方便地将SQL语句传送给数据库。简单的来说,JDBC实现3个功能:同一个数据库建立连接、向数据库发送SQL语句和处理数据库返回的结果。微软推出的JDBC驱动程序MicrosoftSQLServer2000DriverforJDBC可以实现直接与SQLserver2000数据库的连接,从而方便了开发人员对数据库的操作。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语言使用方便、功能丰富、简洁易学,是操作数据库的HYPERLINK工业标准语言,得到广泛地应用。例如关系数据库产品DB2、ORACLE等都实现了SQL语言。同时,其它数据库产品厂家也纷纷推出各自的支持SQL的软件或者与SQL的接口软件。这样SQL语言很快被整个计算机界认可。SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。SQL语言可以完成许多功能,例如:

(1)查询数据

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

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

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

(5)确保数据库的一致性和完整性2.3运行环境2.3.1软件准备首先在官方网站下载了JDK1.6.0和Tomcat5.0、SQLserver2000个人版,,然后把下载的压缩包根据安装向导安装到C盘下。2.3.2环境变量的配置在弹出菜单中选择"属性"→"系统特性"→"高级"→"环境变量",弹出环境变量对话框,就可以编辑系统的环境变量了。2.3.3测试默认服务器启动Tomcat后,打开浏览器,在地址栏中输入(Tomcat默认端口为8080),如果在浏览器中看到Tomcat的欢迎界面,表示Tomcat工作正常。2.3.4测试项目首先编写一个test.jsp文件,使其在页面显示“HelloWorld!”。然后把test.jsp放在C:\Tomcat5.0\webapps\ROOT目录下,在地址栏输入,如果浏览器显示“HelloWorld!”,则说明环境变量配置成功了。3需求分析3.1静态数据静态数据是系统内部有关的数据结构与操作规程.具体可包括:学生信息表格students_Info老师基本信息表teachers_Info查询基本信息表格select_Info选课信息表格corse_InfoStudent表列名数据类型可否为空描述备注IdVarchar(12)Notnull用户名passwordVarchar(12)Notnull密码nameVarchar(12)Notnull学生姓名Teacher表列名数据类型可否为空描述备注IdVarchar(12)Notnull用户名passwordVarchar(12)Notnull密码nameVarchar(12)Notnull教师姓名Select表列名数据类型可否为空描述备注S_idVarchar(12)Notnull学生idt_idVarchar(12)Notnull教师idC_idVarchar(12)Notnull选课号Course表列名数据类型可否为空描述备注C_idVarchar(12)Notnull选课号nameVarchar(12)Notnull对应课程名称3.2动态数据动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.可以用数据流图来描述如下:图(1-1)3.3数据库介绍本系统的实体有:教师实体,学生实体,选课实体,查询情况实体各个实体具体的描述E-R图如下教师教师姓名代课类别描述办公室电话教师实体E-R图.图(1-2)学生女工学生女工地址年龄系性别姓名学号学生实体E-R图图3-3选课学号选课学号课程号学期名称成绩备注选课实体E-R图图3-4 1 查询 1 查询 1 课程教师评估学生讲授查询选择实体之间关系E-R图.图3-63.4.功能需求3.4.1功能划分按照功能将其划分为大体的模块,为其以后的模块连接作出抽象的整体布局1)实现学生班级注册的功能2)实现教师数据管理的功能3)对评教信息的录入及统计功能3.4.2功能描述此软件系统实现对全校任课老师数据进行管理,包括录入、增加、删除、查询等;从教师授课的班级中选择半数学生组成学生评价小组,参加评教的班级进行注册;每个学生按照评价指标对教师作出评判,当评判的档次不明显时,给出提示,指示学生重新评判,以免无用的数据出现。对评教的数据进行处理,得出各个教师的综合评价成绩,并作记录,对该评价的数据和最终结果可以查询打印,并可打印综合成绩表。3.5.性能需求3.5.1数据精确度该软件的输入、输出数据精度的要求是要准确的评教结果不,不可出现含糊不清的评价,可能包括传输过程中的精度不能发生变化。输入输出数据的精度来源于用户业务流程中各种操作所涉及到的数据精度。3.5.2时间特性说明对于该软件的时间特性要求,如下:

a.响应时间:不能太慢,影响用户的使用,大约在4ms-8ms之间

b.更新处理时间:必须可以对所录入的数据快速的处理,得出评教的结果,基本处理更新时间不能延迟过多,最多1-3秒;

c.数据的转换和传送时间:对学生的注册以及教师评价结果的传诵和转化时间可以进行合理的设置,使其不影响用户的使用,满足用户的需要为关键;

d.解题时间:对录入的评价结果要可以在短时间内产生评教结果和相关的查询3.5.3适应性说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:

a.操作方式上的变化:可以灵活的对所录入的数据进行更改;

b.运行环境的变化:运行环境需要支持WIN2000以上的运行机器环境,对于更高级的操作系统,软件可作进一步的维护以实现其稳定性;

c.同其他软件的接口的变化:借口流量不能过小,与其他软件可进行快速的信息交换和处理;

d.精度和有效时限的变化:大约在3-5年时间可以应用;

e.计划的变化或改进:随后会对软件进行一系列的更新维护,使其更加完善。3.6.运行需求用户界面可只管形象的体现其功能,要求操作简单,适合基本用户使用硬件接口a.与各种外部存储设备可以进行直接的数据交换b.与系统特殊外设的接口,如打印机,必须可以迅速执行打印命令c.与中间件的接口,如接口规范、入口参数、出口参数、传输频率等软件接口a.与学校的监控系统、控制系统、财务系统、等接口要吻合,数据流量有一定的限制,但不可过小b.与系统特殊外设的接口,如打印机,必须可以迅速执行打印命令c.与中间件的接口,如接口规范、入口参数、出口参数、传输频率等故障处理有可能出现一些软件功能实现不迅速或响应时间较慢,对次需要以后对起作更全面的维护。加速其运行的速度。3.7数据库分析3.7.1数据库需求分析数据库需求分析就是要了解在这个系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对教师教学质量评估系统功能的需求,总结出如下需求信息。(1)用户分教师、学生和管理员。(2)教师担任一门或多门课程。(3)学生能选修一门或多门课程,学生选择的课程要有选课记录。(4)学生对自己所选择的课程相对应的教师进行教学评估(进行打分),并根据情况意愿留言。(5)教师根据自己所授课程查看学生对自己的评分,同时查看学生对自己的留言。经过需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构。(1)学生,包括数据项:学号、姓名、系名、班名、密码等。(2)教师,包括数据项:教师ID、姓名,所属院系、所授课程、所带班级、密码等。(3)管理员,包括数据项:管理员ID、密码等。(4)课程,包括数据项:课程编码、课程名称、授课教师等。(5)选课记录,包括数据项:课程编号、课程名称、学号。(6)学生分数记录表:包括数据项:学号、教师姓名、课程名称、分数。(7)教师分数记录表:包括数据项:教师ID、教师姓名、所属院系、所授课程、分数(8)留言,包括数据项:留言、编号、教师姓名等。3.7.2数据库概念结构得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息通过互相之间的作用形成数据流动。本系统根据上面的设计规划出的实体有:学生实体、教师实体、管理员实体、课程实体、选课实体、学生分数记录实体、教师分数记录实体、留言实体。实体之间的关系的E-R图如下所示。.11111pm课程选择学生教师n上课m分数记录记录教师实体E-R图如下:教师教师教师编号教师姓名性别所授课程职称密码所带班级所属院系图3教师实体E-R图其他实体的E-R图比较简单,这里就不详细介绍了。3.7.3数据库逻辑结构设计数据库概念结构设计完后,将数据概念结构转化为数据库系统所支持的实际数据模型,也就是数据库逻辑结构。教师教学质量评估系统中各个表设计如下:图4数据表示意图在设计表的过程中,由于每个表设计为独立的表,所以没有设计主键。系统处理数据库的数据,就根据表内字段的内容来进行查询,删除,更新,插入等。4.整体模块划分:该模块包括两个要素:1.确定每个学生对应的任课老师。2.系统形成该老师对应的调查表。下面是具体的流程。模块说明:学生初次登陆,以学号为初始用户名,身份证号码为初始密码,验证成功方可通过,进行评分,学生可以在第一次登陆之后跟改密码,分为两种登陆方式:别名登陆(即使可以用身份证号登陆),实名登陆(用修改过的第二密码)。学生登陆后,看到任课老师名单,点击进入进行评分,如下图。

每个学生一次只可以选一个老师,调出调查表。并且对每一位老师只可评估一次,即评估完之后,老师前的选项进行限制,不可再选。每位学生必须对老师评估,如果有学生在规定时间内未对老师进行评估,则系统自动进行催促。每次评估时间,由班长提醒学生在一定时限内(例如10天)登陆系统进行评分,经过一定时间(如7天)系统自动按年级,班级统计没有参加评估的同学名单,由辅导员(年级长)通知各班班长再次催请。未参评者可以给予德育考评惩罚(事先言明)。该模块基本已完成,但在将学生评估表提交数据库这一环节上出现了问题。4.1评估计算模块表单提交后的一系列后台处理。是按照一定方法对老师所得各项分数的统计。根据学生评分结果表进行统计分析WorknumCourseidScore1-10TotalScore教师工作号课程号各单项得分总得分采用一定的统计方法,暂定如下TotalScore=Score1*Power1+……+Score10*Power10;Poweri为第i个评测项目的得分权值。评估项目以及权数表应该在评估进行前研究决定,得到广大教师支持后公开发布。经过计算后,结果存入教师得分表中。WorknumTeachernameSdepartCoursenamefinalScore教师工作号教师姓名任教系(班)别课程名最终得分由于未能形成学生评分结果表,这个模块只做了算法设计,没有进行页面实现。4.2查询模块教师可查询本人的总得分、各分项得分及所在院(系)的平均分,也可以查看全院老师的整体排名。并可通过数据库的历史记录对以往的得分进行同样的操作。模块说明:一开始本教学评估系统整合了留言功能,所以需要分配老师权限。若为普通教师权限登录,能查看考核分数和学生对自己的留言,如果有最新的学生留言,系统会弹出对话框提示,但留言是匿名的。如果是高级权限,即领导查询,可以查看某个教师的评估结果和学生留言,也可以选择查看所有教师评估和学生留言。而且学生留言学生的姓名,id是可见的。而且领导查询可以查看最近的所有留言,如最近的100条留言。4.3意见反馈模块模块说明:学生成功登陆后可以点击教师的姓名,然后出来一个留言的选项,如果学生希望用文字的形式给教试题供意见的话,可以写下来,然后提交,如果提交成功的话,留言则已经形成,教师如果登陆的话将会显示有最新留言需要阅读。留言不是每个学生必须的选项,只是除了选项之外,给老师和学生提供更具有自由度交流的平台,所以同样教师可以根据留言进行自我测评,给学生以反馈信息。由于进度关系,最终的数据库表设计、代码实现大都没加入留言功能,这就只能作为项目将来的扩展了。4.4管理员模块主要是根据实际情况对教师、学生、课程的各项数据进行日常维护管理。导出最终数据打印成现实文件。这个模块我们已经顺利完成,所有功能都已实现。1.后台管理之添加课表2.后台管理之学生管理4.5系统功能设计本系统分为学生操作界面、教师操作界面和管理员操作界面。学生界面能完成如下操作。(1)个人信息:通过该功能模块,学生能查看自己的学号和班级等信息。(2)网上教学:通过该功能模块,学生能进行选课,及其对已选课程的授课教师的评教。(3)其他:通过该功能模块,学生能修改密码,保证用户的安全性,以及能够退出系统。教师界面能完成如下操作:(1)个人信息:通过该功能模块,教师能查看自己的教师编号和所在院系等信息。(2)信息管理:通过该功能模块,教师能够查看学生对自己所授课程的评分和留言。(3)其他:通过该功能模块,教师能修改密码,以及能够退出系统。管理员界面能完成如下操作:(4)学生管理:通过该功能模块,管理员能够查看学生信息,以及对学生的添加、更新、删除。(5)教师管理:通过该功能模块,管理员能够查看教师信息,以及对教师的添加、更新、删除。(6)课程管理:通过该功能模块,管理员能够查看课程信息,以及对课程的添加、更新、删除。(7)统计:通过该功能模块,管理员能对学生及其教师同行的评分进行查看,以及被评教师在院系的得分排行榜。(8)其他:通过该功能模块,管理员能够对学生、教师、管理员的密码修改,以及能够退出系统。4.6系统设计思想本系统存在3种用户:学生、教师、管理员。学生和教师用管理员给定的帐号、密码登陆页面进行操作。登陆判定上首次基于数据库验证,然后把用户信息写进session,然后其他页面采用session验证。系统结构上采用页面镶嵌程序和语句,工作原理如下图所示。操作请求,运用SQL语句操作数据库操作请求,运用SQL语句操作数据库返回查询结果集或操作结果SQLServer2000用户界面数据库存储层教师教学质量评估系统操作界面图1系统工作原理图在系统结构中,用户界面层通过统一的接口向数据库存储层发送请求,数据库存储层收到请求处理之后把数据返回到用户界面层。4.7系统功能图通过系统功能设计,画出系统功能图如下:图5系统功能图4.8系统功能流程图系统的功能流程如下图:统计结果统计结果开始开始选择用户登录查看个人得分身份认证管理员教师获得用户身份填写评估表填写意见学生填写评估表查看学生意见数据分析图6系统功能流程图5详细设计和实5.1系统页面主体设计系统登陆页面设计如图:图7登陆界面图学生页面设计如图:图8学生界面图5.2数据操作类基本的数据库操作都被封装到DB类,该类对数据库访问的方法包括了数据库的连接、查询、插入、删除、更新等操作。在开发过程中,涉及到数据库的操作时,可以直接调用DB的方法。这样可以提高开发人员的效率,充分体现了组件的重用性。类代码如下:packageJavabeans;importjava.sql.*;publicclassDB{privateConnectioncon;privateStatementstm;privateResultSetrs;privateStringclassname="com.microsoft.jdbc.sqlserver.SQLServerDriver";privateStringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=教师教学质量评估系统";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学生评教功能测试图图10留言功能6.2教师查看评分和留言功能测试首先,教师通过用户名和密码进入教师界面,点击评分查看,页面将会显示出此教师的所授课程信息,教师根据自己情况选择所教课程查看学生对其的打分和留言。实现功能如图:图11教师所授课程测试功能图图12教师分数测试功能图图13查看留言信息图6.3管理员统计功能测试管理员可以根据输入查询的条件对学生,教师的评论结果进行查看,同时还可以查看教师在院系的排行。实现功能如图:图14排行榜功能图结论本系统的中心任务是帮助教务管理部门及时了解教学动态和师资情况,调动广大教师教学、科研的积极性和提高教学质量。开发过程中,充分考虑用户的需求,使得本系统操作起来简单方便,具有高效的查询功能,同时安全、灵活的权限管理机制可以方便地对每个用户分配系统各个功能的使用权限,最终本系统完成了需求分析所要求的学生对教师评教,教师对教师评教以及管理员对结果进行统计等功能。由于自身技术水平和经验的欠缺,没有把业务逻辑封装到JAVABEAN中,所以数据库的安全性和程序的扩展性不是很好,希望通过在以后的日子不断学习,能够解决问题。做毕业设计的这段时间来说,其实也不是很长,由于时间仓促,以及我掌握知识的不全面,我的毕业设计中存在这样或那样的不足,给我即将结束的大学生活留下了小小的一点遗憾。参考文献[1]王毅.JSP程序开发范例宝典[M].人民邮电出版社,2007[2]程志艳张亮马建红.JSP实用简明教程[M].清华大学出版社,2005[3]周家地.DREAMWEAVERMA入门与提高[M].清华大学出版社,2006[4]李国涛.SQLSERVER2000数据库开发[M].机械工业出版社,2004[5]GaryJ.Bronson.JavaforEngineersandScientists[M].清华大学出版社[6]王庆忠.JSP运行原理及其Windows下环境的实现[M].中国科技信,2005[7]杨清.JavaScript快速入门[M].新时代出版社,2000[8]陈冬亮;;排课的数学模型和算法在教务管理系统中的应用研究[J];电脑知识与技术;2006年17期[10]毛丹;基于Web的高校学生收费管理系统的设计与实现[D];电子科技大学;2007年[11]叶青;夏利民;潘泽强;;基于Web的教材选购与管理系统的设计与实现[J];江西师范大学学报(自然科学版);2006年02期[12]王谦;陈放;;加强电子政务信息安全保障体系建设[J];安防科技;2006年03期[13]LiuJun;YangXiaohua;HuangJie;;componenttechnologybasedon.NETcourseselectionmanagementsystemdesign[J];developmentandapplication;in200602issue[14]LiGuojin,XiaoHuiWei,RenXiaokui;ASP.NETbaseddesignandimplementationofonlineansweringsystem[J];LiaoningShihuaUniversity;200401period[15]ZhengHuisheng;SongXiuqin;HaoChangsheng;;networkbasedontheASPstudentinformationmanagementsystem[J];LiaoningTechnicalUniversity;200602period[16];HuangLu;LiXueming;Windowsstrongauthenticationsystemdesignandimplementation[A];2006Beijingareacollegesanduniversitiesgraduateacademicexchanges--communicationandInformationTechnologyConferenceProceedings(below)in2006[C];[17]Li-feng;adulthighereducationexaminationsystemresearchandimplementation[D];GuangdongUniversityofTechnology;2004[18]DuanZhu;parentsandschoolininteractivedigitalteachingplatformdesignandimplementation[D];NorthwesternUniversity;2004[19]ZhangDong;aGSMbasedresidentialwater,electricity,gas,remotemeterreadingandmanagementinformationsystemdesign[D];ShandongUniversity;2005[20]HuXiaobing,LuHongwei;basedonthefuzzyexpertsystemforcoursearrangementsystemkeytechnologyresearch[J];ChangshaUniversityofelectricpower(NATURALSCIENCEEDITION)200104;[21]ChenYi,TaviaYe

温馨提示

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

评论

0/150

提交评论