Group2在线考试系统方案设计书和开发.doc
封 面作者:Pan Hongliang仅供个人学习基于JSP技术的在线考试系统的设计与实现 -高成珍071202006摘要:随着Internet的迅速发展和广泛普及,数字化教学作为新型的办学模式已逐步走进了高校,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。基于Web网络考试与无纸化办公一样已成为大势所趋。本文在分析了考试系统的各个环节后,利用当今流行的程序开发集成工具MyEclipse 开发基于JSP技术的在线考试系统。该考试系统采用JSP + Servlet + JDBC +SqlServer2000方式实现。关键词:JSP JDBC 在线考试 登录系统 MVC模式一、引言传统的考试方式是教师出题,学生在指定的时间和地点答题,然后教师改卷的模式,教师负担重,考试成本高。随着Internet技术的发展使得考试的手段和方式发生了根本性的变化。Internet的开放性和分布性的特点以及基于Internet的巨大计算能力使得考试突破了时间和空间的限制,它不仅为老师减轻了评卷,监考之苦,也为学生提供了轻松的考试环境,便于学生发挥出最佳的水平并通过网上评卷能及时反馈学生的掌握情况。二、需求分析网络考试系统是以网络为载体,为学生提供考试服务,并能自动判卷为老师提供考试成绩作为教学参考的软件系统。本考试系统设计为在高校中使用,系统主要针对教学秘书(管理员)、任课教师及学生,能结合高校的院系、专业科目等考试属性进行管理。主要包含三种登录角色即管理员、教师和学生。1、管理员可以进行系统维护,主要用来设置系统的一些初始化信息,如添加课程,教师,学生,班级,为老师分配课程等。维护包括添加、删除、修改三种基本的操作。管理员还兼有老师和学生的功能,可以查询有关学生和老师的相关信息是最大权限的用户,拥有系统的所有功能的权限。 2、教师教师登录系统后,教师可以从自己所教课程中选择一门进行考试试题录入,并可以对自己录入的试题进行修改和删除等操作,但不能修改其他老师关于同一门课程的相关试题。并可以添加所教课程的学生和查询自己所教班级学生的考试成绩信息。3、学生学生登录后可以参加考试,选择一门课程后,系统会自动的抽出一套试题,开始考试后,系统进行倒计时,在规定的时间内考生如果没有交卷,系统会自动帮他交卷,并在考试结束、自动评卷后,学生能及时的查看到自己的考试成绩和答题情况,并可以查询自己以往的考试成绩信息。二、总体设计目前,用于生成动态网页较为流行的技术有Microsoft的ASP、Text的PHP和Sun 公司的JSP。ASP只能工作在微软的IIS和PWS服务器上,一些天生的缺陷使得它们的使用受到了一定的制约,PHP没有提供统一的数据库连接的接口标准而且它的运行环境相对复杂,同时PHP支持的平台也非常有限。而JSP是一种完全与平台无关的新技术,它集极高的运行效率,较短的开发周期,超强的扩展能力,完全开放的技术标准等众多特性于一身,同时它能实现WEB 的动态内容与显示相分离。故本考试系统采用了JSP + Servlet + JDBC +SqlServer2000的方式实现,即MVC模式(Model+View+Controller)。其中SqlServer2000 用于数据存储, JDBC用于连接数据库并对数据库实现各种操作, Servlet作为控制器用于处理过程控制, JSP作为界面层用于页面显示部分。相对于传统的C/S(Client/Server客户端/服务器)模式的考试系统,B/S(Browser/Server浏览器/服务器)模式具有更高的安全性和便捷性,Web网络考试即可以在本地进行,也可以在异地进行,因此本系统采用B /S模式。主要采用了如下的开发工具:Web服务器中间件:Apache-Tomcat6.0Java JDK: J2SDK 1.5数据库:SqlServer2000集成开发工具:MyEclipse 7.0网页制作工具:DreamWeaver CS4浏览器:Internet Explore7.0其总体软件体系结构如下图所示: Internet ExplorerJavaBeanServletDBConnJSPSqlServer 2000 客户端 中间层 数据层 在线考试系统的软件体系结构图客户端通过浏览器向Tomcat服务器发送请求,无论是JSP,还是JavaBean、Servlet,当需要访问数据库时,都通过一个统一的接口组件DBConn来访问。这样的结构程序层次性比较清晰,比用纯JSP实现的程序可读性和可复用性都会更好。在线考试系统教师修改密码试题管理查询系统学生管理学生修改密码查询系统在线考试网上评卷各角色的功能图如下: 管理员教师管理课程管理学生管理查询系统为教师分配课程为班级开设课程班级管理修改密码在线考试系统各角色功能图虽然各个角色都有查询系统功能,但不同的角色的人查询的权限不同!当然各系统都有登陆模块四、详细设计41数据库设计41.1 ER图在线考试系统ER图具体分析如下图所示:试题教师课程教师教师教师管理员教师 班级教师学生教师在线考试系统ER图ER图中几点说明:一个教师可以较多门课程,一门课程也可以由多位老师来教,课程和老师之间是多对多的关系;同一专业不同方向的学生所在班级不同,所开设的课程也有所不同;一个老师可以教多个班级,一个班级由多位老师来教;一个班级每学期开设多门课程,一门课程可由多个班级来上,因此课程和班级之间也存在存在多对多的关系;41 2 数据库中表的设计:数据库逻辑结构设计中ER模型向关系模型转换的规则:一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。1、 一个1:1联系可以转化为一个独立的关系模式,也可以与联系的任意一端实体所对应的关系模式合并。2、 一个1:n联系可以转换为一个独立的关系模式,也可以与联系的n端实体所对应的关系模式合并。3、 一个n:m联系转化为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。根据上述转换规则,可得到如下数据表:管理员表(Adminstrator)字段名类型说明备注AIDINT管理员ID号主键,自增,非空A_NameVARCHAR管理员姓名A_PsdVARCHAR管理员密码教师表(Teacher)字段名类型说明备注T_NOVARCHAR教工号主键,非空T_NameVARCHAR教师姓名T_PsdVARCHAR教师密码T_MajorVARCHAR教师专业课程表(Course)字段名类型说明备注C_NOVARCHAR课程号主键,非空C_NameVARCHAR课程名教师课程关系表(Course_Teacher)字段名类型说明备注T_NOVARCHAE教工号外键,非空C_NOVARCHAE课程号外键,非空班级表(Class)字段名类型说明备注Class_NOVARCHAR班级号主键,非空Class_NameVARCHAR班级名Class_MajorVARCHAR所属专业班级课程表(Class_Course)字段名类型说明备注Class_NOVARCHAR班级号外键,非空C_NOVARCHAR课程号外键,非空试题表(Test01)(以选择题为例)字段名类型说明备注Test01_NOINT题号主键,递增,非空Test01_ContentVARCHAR题干Test01_PointVARCHAR知识点Test01_ScoreVARCHAR分值Option_AVARCHAR选项AOption_BVARCHAR选项BOption_CVARCHAR选项COption_DVARCHAR选项DTest01_AnswerVARCHAR答案C_NOVARCHAR所属课程号说明:为了使系统评卷方便,准确,快速,本系统所包含的试题类型仅为单选,判断,填空。由于不同题型的试题选项个数不同,因此,将不同类型的试题放在不同的表中。学生表字段名类型说明备注S_NOVARCHAR学号主键,非空S_NameVARCHAR学生姓名S_PsdVARCHAR学生密码S_MajorVARCHAR学生专业S_ClassVARCHAR学生班级学生成绩表(Student_Score)字段名类型说明备注S_NOVARCHAR学号外键,非空C_NOVARCHAR课程号外键,非空MarkFLOAT成绩4.2 模块算法4.2.1登陆模块该模块包括index.jsp文件。如果用户要使用为注册用户提供的功能,用户只要输入用户名、密码、学者登陆类型(管理员、教师、学生)就可以了。若用户输入的以上两项与数据库中相应表保存的相符,则表明用户登录成功,可以开放全部前相应的模块;如果不符,则登录失败。模块执行流程如下图4-2-1所示。原代码参见附录B。YesYesNoNoNo按照用户名查询NoYes提示密码错误登录信息录入接收登录信息用户名、密码为空?提示用户不存在已 登 录用户已存在吗口令正确吗?图4-2-1 用户登录模块执行流程提示用户名或密码不能为空注:在录入登陆信息是可以登陆类型,有教师。4.2.2 在线考试模块(学生使用) 该模块模块在以学生方式登陆后跳转:在此模块中包含查询成绩、考试、自动判卷等模块。进入在线考试系统。在线考试试是有时间限定的,学生要先登入自己的用户,用户可以查询成绩、修改密码,再进行在线考试。一旦开始在线考试后,系统就自动开始计时。时间到会自动交卷,然后进入判卷系统。考试过程中学生可以不按题目顺序答题。具体流程如4-2-2所示返回NoNoYesNo学生登录进入考场自动交卷时间结束?考试退出考场自动阅卷显示成绩交卷?交卷?图4-2-2在线考试流程图查询成绩4.2.3 出题模块(教师使用)1试卷管理模块 教师登陆后,可以进行,学生管理,查询所有参考学生成绩,教师用户密码试卷管理模块主要是对试卷进行添加、删除、修改。添加了试卷后可以从题库中加入各种题型。1试卷管理功能模块图试 卷 管 理添 加 试 卷删 除 试 卷修 改 试 卷2、题库管理模块2.1题库管理功能模块图题库管理包括判断题管理、填空题管理、选择题管理。授课教师可以通过题库管理对各种类型的试题进行添加、删除、修改以及查询。题库管理功能模块图如图4-2所示,由于各种类型试题的管理功能均类似,这里仅以判断题管理为例进行介绍。判断题管理模块包括的操作有:添加判断题、删除判断题、修改判断题和查找判断题,有关判断题管理模块操作的主要源代码参见附录C。判断题管理多选题管理填空题管理题库管理图4-2-3-1 题库管理功能模块图2判断题管理模块页面流程(图4-2-3-2)返回图4-2-3-2判断题管理页面流程typ.asp type_1.aspType-1-dell.aspPtype1.asp查找判断题4、 学生信息管理模块学生管理模块主要是对学生进行查询、删除,可以对学生的成绩情况进行查看。1 学生信息管理模块图4.2.4 系统维护模块(管理员模块)五、界面和代码设计由于时间关系,这一部分还未开发,在此省略。六、论文总结在线考试系统是网络教育的重要组成部分,随着Internet的迅速发展,基于Web的网络考试系统将是今后考试系统设计的必然趋势,本系统是基于JSP+Servlet+JDBC+SqlServer2000技术,采用B/S模式开发的网络考试系统,基本满足了在线考试的需求,可以充分发挥网络的优势,建立大型、安全、共享的题库和实现随时随地地考试,从而减轻教师的负担,提高课堂教学质量,具有较好的扩展性,跨平台性和可重用性。但是在本文所设计的考试系统中,对部分题型能很好地实现,比如选择题、填空题、判断题,但是对其他题型还有所欠缺,无法覆盖所有题型。总之,需要改进的地方可能在使用过程中会显露更多,需要进一步努力完善。参考文献 1 吴其庆. JSP编程思想与实践M . 北京:冶金工业出版社, 2003 2 邓子云.张赐. JSP网路编程从基础到实践M . 北京:电子工业出版社, 2006 3 飞思科技产品研发中心. JSP应用开发详解M . 北京:电子工业出版社, 2000 4 刘晓华.陈亚强等编著.J2EE 应用开发详解.电子版.2000 年8 月. 5胡文生.基于JSP技术的在线考试系统的设计和实现 D 贵州商业高等专科学校2008 6张爱文。.基于JSP的在线考试系统的设计和实现 D 黑龙江工程学院2009.5 7萨师煊。王珊。数据库系统概论 M 黑龙江工程学院2009.5版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人所有This article includes some parts, including text, pictures, and design. Copyright is Pan Hongliang's personal ownership.用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。Users may use the contents or services of this article for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.