《在线考试系统的设计和实现(毕设参考)(15页).doc》由会员分享,可在线阅读,更多相关《在线考试系统的设计和实现(毕设参考)(15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程课程设计设计说明书考试系统的设计与开发学 生 姓 名学号班级成绩指 导 教 师数学与计算机科学学院2012 年 12 月 26 日软件工程软件工程课程设计评阅书题目考试系统的设计与开发学生姓名学号-第 2 页指导教师评语及成绩成绩:教师签名:年月日答辩教师评语及成绩成绩:教师签名:年月日教研室意见总成绩:室主任签名:年月日课程设计任务书20201212 20201313 学年第学年第 一学期一学期专业:学号:姓名:课程设计名称:软件工程课程设计设计题目:考试系统的设计与开发完成期限:自2012年12月17 日至2012年 12 月28日共 2 周设计依据、要求及主要内容(可另加附页):
2、考试是教师检查教学效质量的手段之一,也是教学工作的重要组成部分。随着网络技术的发展,在线考试受到越来越多人的青睐,同时也减少了因考试而消耗的不必要的人力和物力,结合本校考试管理工作情况及存在的问题,按软件工程开发软件的思想开发考试系统,实现对学生考试全过程的管理,基本功能要求如下:1用户管理模块:教师,学生,管理员;2.题库管理模块:对试题进行添加、删除、更新及相关操作;3试卷管理模块:抽试卷,答试卷,试卷备份,提交试卷等相关操作;6成绩管理模块:查看成绩、统计成绩等;5设计思想阐述清晰,界面友好,软件测试方案合理、有效,软件能正常运行。指导教师(签字):教研室主任(签字):批准日期:年月日摘
3、要在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要开发系统的后台管理系统JAVA 在线考试管理子系统,它包括试题管理、考生管理、在线制作试卷、控制学生考试的设置、试卷审批等功能。本论文主要介绍了对 JAVA 在线考试管理子系统的分析、设计和开发的全部过程。运用 ER 图,程序流程图等对在线管理子系统的设计过程进行详细的说明。关键词:在线考试;j2EE目目 录录1 课题描述.错误!未定义书签。错误!未定义书签。1.1 开发背景.21.2 系统开发目标.21.3 开发工具的选择.22
4、 需求分析.22.1 背景分析.22.2 可行性分析.2-第 2 页2.2.1 技术可行性分析.22.2.2 经济可行性.22.2.3 方案可行性.22.3 概要设计.22.4 总体设计.32.4.1 系统的功能模块图.32.4.2 系统功能模块.33 数据库设计.43.1 数据字典.43.2 数据库的连接.64 详细设计.64.1 公共类设计.64.2 在线考试模块设计.74.3 查看考生试卷模块设计.74.4 考试设置信息维护模块设计.84.5 用户管理模块设计.85 程序调试与测试.15.1 系统运行环境.15.2 测试目的.15.3 各功能模块测试.15.3.1 在线考试模块测试.15
5、.3.2 查看试卷测试.15.3.3 管理员模块.25.3.4 用户管理模块测试.2总结.2参考文献.错误!未定义书签。错误!未定义书签。1 课题描述1.1 开发背景在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试与无纸化办公一样已成为大势所趋。在线考试系统也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提高效率。1.2 系统开发目标该系统是一个基于 B/S 模式的 Web 在线考试系统,根据科目出相应的考卷。学生可以进行考试,查看考试情况等操作。当考试完成后
6、系统能自动地考试题评分。教师登陆时系统可以还原学生考试试卷,可以查看学生总分,并生成各分数段情况信息,供给老师参考,以便能够了解学生的学习情况。1.3 开发工具的选择本系统开发语言为 JAVA,从各 IDE 的性能和价格考虑所使用的开发工具主要是-第 2 页MyEclipse。由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用 mysql数据库。Web服务器选Apache开源组织提供的TomCat,TomCat是一个免费的开源软件是SUN公司推荐的 web 服务器。2 需求分析2.1 背景分析网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的
7、推动力。随着 Internet/Intranet 的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,教师可以网上出题,之后学生便可以网上进行答题,从而使得考教分离。2.2 可行性分析2.2.1 技术可行性分析系统开发将要用到 JSP、ssh2、JavaBean、mysql 数据库技术。另外,硬件只需要一台pc 机,装上
8、软件 MyEclipse,DreamWeaver 等开发工具,利用 mysql 作为后台的数据库,利用 Tomcat 作为 Web 服务器,所以在这方面来说是可行的。已经掌握了开发考试系统方法和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。综上所述本系统开发从技术上是可行的。2.2.2 经济可行性从经济效益来分析,软件的开发成本不大,而其它的投入也只是电脑。电脑的普及也带来了低成本投入。由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。而系统的效益很高可以提高管理效率实现计算机化、系统化、规范化操作,效率大于投入,可行性很高。2.2
9、.3 方案可行性根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户考虑。使系统的许多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。本系统的设计充分从使用用户和教务教学任务考虑。2.3 概要设计本考试系统用户主要分为三类:学生,教师,管理员。-第 3 页1.学生需求学生登陆系统主要进行两类操作:在线考试,成绩查询。(1)在线考试学生登录后,学生选择考试科目,之后从备选试卷中选择要参考的试卷。学生在考试过程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。在考试时间到时,系统将自动地将学生考试试卷提交。当考试试卷提交时,系统自动评分,并且即使反馈给考
10、生。(2)成绩查询学生可以登陆系统查询各科成绩,其中成绩查询是查询自己的考卷,了解自己的考试情况。2.教师需求教师登陆系统主要有三类操作:添加科目,添加试卷,添加学生和查看学生试卷,查看相应试卷各分数段统计。(1)添加科目教师可以登录系统,添加自己所教科目。(2)添加试卷教师选择所要添加的科目后,便可以添加新的试卷,试卷包括试卷考试时间,题目以及每道题目的分值及选项,答案等。(3)添加学生教师登陆系统之后可以添加新的学生。(6)查看学生试卷教师登陆系统之后可以查看到参加该门考试的学生的考试情况。(5)查看相应试卷各分数段统计教师登陆系统之后可以查看到考试的分数段情况。3.管理员系统管理员登陆系
11、统后主要进行一类操作:添加教师信息以及具有老师的一切权限(1)添加教师信息管理员可以添加教师信息。(2)具有老师的一切权限管理员可以查看所有老师出的试卷,并进行删除操作,并且自己可以独立进行添加科目,添加试卷,添加学生等操作。2.4 总体设计2.4.1 系统的功能模块图根据 2.3 所述需求,设计出系统功能模块如图 2-1 所示:图 2-1 系统的功能模块图2.4.2 系统功能模块1、在线考试在线考试的流程如下:首先考生进入系统后选择科目,之后进行试卷的选择进行答题操作。答题必须在规定的时间内进行,此时间是由教师在出试卷时设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。考
12、生在试卷提交后系统自动地为试题进行评分,本系统的试题-第 4 页主要有单选题,双选题,多选题。其数据流图如 3.3 所示。图 2-2 第 2 层在线考试数据流图2、成绩查询考生根据用户编号查询考试成绩信息。成绩信息包括单选题得分,多选题得分等详细信息。页面提供对相应科目试卷的链接,使得学生还可以查询自己的考卷,了解自己的考试情况。3、试题维护试题维护是后台教师的重要功能,它包括对试题的添加,修改,删除操作。为了使界面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理员操作。其数据流图如图 2-3 所示图 2-3 第 2 层考题维护数据流图4、用户管理用户管理是管理员对系统用户信息的
13、管理。这些用户包括学生和教师。用户管理操作包括添加用户和删除用户。管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。其数据流图如图 2-4 所示。图 2-4 第 2 层用户管理数据流图3 数据库设计3.1 数据字典通过对系统功能的分析可知,本系统主要包括如下的数据库信息:(1)管理员表,该表保存了系统管理员的基本信息,属性有管理员编号、管理员名称、管理员密码。其中管理员编号为主码,它是用户信息的唯一标识。表结构如表 3-1 所示。(2)学生表,该表保存了学生的基本信息,属性有学生编号、学生名称、学生密码。其中学生编号为主码,它是用户信息的唯一标识。表结构如表 3-2 所示。
14、(3)考题表,该表用于保存考题的基本信息,属性有考题编号,考题类型,本题分数等。其中考题编号为主码。表结构如表 3-3 所示。(6)科目表,该表用于保存考试科目的基本信息,属性有科目编号,科目名称。其中科目编号为主码。表结构如表 3-6 所示。(5)试卷表,该表用于保存考生的试卷信息,属性有试卷编号,试卷名称,试卷状态,考试时间等。其中试卷编号作为主码。表结构如表 3-5 所示。(6)成绩表,该表用于保存考生的考试成绩信息,属性有成绩编号,考生编号,课程编号,总得分。其中成绩编号作为主码。表结构如表 3-6 所示。-第 5 页(7)答案表,该表用于保存试题的答案信息,属性有答案编号,所属题目编
15、号,答案内容等。其中答案编号作为主码。表结构如表 3-7 所示。(8)学生答案表,该表用于保存考生考试的答案信息,属性有答案编号,所属学生编号,答案内容,试题编号等。其中答案编号作为主码。表结构如表 3-8 所示。系统表结构如下:表 3-1 教师或管理员表(t_admin)字段类型允许为空说明备注Idint(11)否用户编号pkusernamevarchar(50)否教 师 或 管 理员姓名管理员只有一个,教师可以有多个passwordvarchar(50)否密码表 3-2 学生表(t_student)字段类型允许为空说明备注idint(11)否用户编号pkusernamevarchar(50
16、)否学生名passwordvarchar(50)否密码表 3-3 考题表(t_question)字段类型允许为空说明备注idint(11)否考题编号pk 自增长typevarchar(10)否考题类型单选 多选 双选Pointint(11)否考题分数contenttext否题目paperIdint(11)否所属试卷外键表 3-6 科目表(t_subject)字段类型允许为空说明备注idint(11)否科目 idpknamevarchar(50)否科目名称表 3-5 试卷表(t_paper)字段类型允许为空说明备注idint(11)否试卷 idpknamevarchar(50)否试卷名称stat
17、eVarchar(20)否试卷状态开放和关闭两种状态timeint(11)否考试时间以分钟为单位adminIdint(11)否所属管理员fksubjectIdint(11)否所属科目fk表 3-6 成绩表(t_score)字段类型允许为空说明备注idVarchar(10)否成绩编号pkmarkVarchar(20)否成绩值student_Idfloat否考生 IDfkpaper_Idfloat否科目 IDfk表 3-7 答案表(t_answer)字段类型允许为空说明备注-第 6 页idint(10)否答案编号pkaitemvarchar(50)否A 选项内容bitemvarchar(50)否B
18、 选项内容citemvarchar(50)否C 选项内容ditemvarchar(50)否D 选项内容contentvarchar(50)否正确答案questionIdint(11)否所属问题 IDfk表 3-8 学生答案表(t_studentanswer)字段类型允许为空说明备注idint(10)否学生答案编号pkquestionIdListvarchar(255)否学生答题题目 ID 序列学生所答试卷题目的有序序列answerListvarchar(255)否学生答题答案序列学生答卷的答案序列studentIdint(11)否学生 IDfk3.2 数据库的连接在本系统中我们使用 JDBC-
19、ODBC 桥连接,要进行数据库连接首先要配置数据源。按 3.3.1设计,设计好数据库 exam_online,再建一个名为 exam_online 的数据源。系统连接数据库的流程图如图 3-1 所示:图 3-1 系统连接数据库流程图4 详细设计4.1 公共类设计1Domain 类设计由于数据库使用的类系统模型,而 java 数据为对象模型,使得其模型不匹配。为了方便关系模型和对象模型间的转换,建应的 Domain 类,即数据库中每个表对应一个类,表中类属性对应表的各属性,再为各个属性设计一个读方法(get)和一个写方法(set)如学生类:package com.exam_online.mode
20、l;public class Student private int id;private String username;private String password;public int getId()return id;public void setId(int id)this.id=id;-第 7 页public String getUsername()return username;public void setUsername(String username)this.username=username;public String getPassword()return pass
21、word;public void setPassword(String password)this.password=password;表和类的对应关系如下:教师(管理员)表(t_admin)教师(管理员)类(Admin)答案表(t_answer)答案类(Answer)试卷表(t_paper)试卷类(Paper)题目表(t_question)题目类(Question)成绩表(t_score)成绩类(Score)学生表(t_student)成绩类(Student)学生考卷答案表(t_studentanswer)学生考卷答案类(StudentAnswer)科目表(t_subject)科目类(Sub
22、ject)2.公具类设计根据系统设计需求,设计如下工具类:数据库连接工具类,主要提供连接数据操作等相关方法。字符加密类,主要对密码进行加密处理。4.2 在线考试模块设计在线考试流程为:首先系统将考试信息和考生个人信息提供给考生,并要求考生核对个人信息。考生在选好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷进。考生在试卷提交后系统自动地为试卷进行评分,并将试卷保存,供给老师查看或修改。在线考试流程图如图 3-2 所示。图 3-2 在线考试流程4.3 查看考生试卷模块设计教师登陆后,可以对考生试卷进行查看和修
23、改。系统首先将考生的试卷读出,教师可能看到学生的大体情况。主要思路:教师点击查看,可以通过数据库成绩表查到考生考试信息,通过考试信息生成 jsp 页面,显示出考生的考卷情况,从而对学生的考试情况有个了解。-第 8 页4.4 考试设置信息维护模块设计考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。这些考试信息包括考试时间,各题的数量和分值等。设置时,系统先读取已存在的考试设置信息供给管理员查询,再提供给管理员操作。考试设置信护流程图如图 3-3 所示。图 3-3 考试设置信息维护流程4.5 用户管理模块设计用户管理是管理员对系统用户信息的管理。这些用户包括学生
24、和教师。用户管理操作包括添加用户和删除用户。添加用户时,删除管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。修改用户时用户编号和用户密码不能被修改其它均能被修改;用户时,系统会先提醒管理员是否删除,若果确认删除才能删除用户。用户管理流程图如图3-4 所示。图 3-4 用户管理流程5 程序调试与测试5.1 系统运行环境数据库:mysqlWeb 服务器:Tomcat6.0 及以上版本操作系统:能运行 java 虚拟机的操作系统均可5.2 测试目的系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。测试的目的就是希望能以最少的人力和时间发现潜在的
25、各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。5.3 各功能模块测试将工程导入 Tomcat 的项目文件夹生即 webapps 文件夹中,再启动 TomCat 服务器。在浏览器中输入工程的 URL,可进入系统操作界面,用户可以选择操作。5.3.1 在线考试模块测试在主界面点击学生考试,可以进入学生登
26、陆界面。此界面在提交数据时有简单验证功能,如学号不能为空等,用户名是否正确等,如图 5-2 所示。图 5-2 学生登陆界面成功登录后进入考卷选择界面,如图 5-3 所示。系统通过学生所选科目,产生相应科目考试列表,供给考生选择。图 5-3 试卷选择页面点击开始考试,将进入到考试页面,考生开始答题,如图 5-4 所示。在答题时系统提供剩余时间倒计时功能,以方便了角答题时间。当考试剩余时间为 0 时系统将自动提交试卷。图 5-4 学生考试页面5.3.2 查看试卷测试考生答完题后,试卷即可给出相应答案,如图 5-5 所示。图 5-5 成绩显示-第 2 页5.3.3 管理员模块在浏览器中输入“http
27、:/127.0.0.1:8080/exam_online_lxb/frame_login.jsp”进入管理员登录页面。当提交登陆信息时,系统会进行简单的数据验证,如验证码输入的正确性,如图 5-6 所示。图 5-6 管理员登陆界面输入正确的登陆信息后,进入试题管理界面,如图 5-7 所示。图 5-7 管理员管理界面在试题管理界面上,点击创建题库,即可进行添加科目的操作,如图 5-8 所示。图 5-8 添加科目点击添加题目,即可进行题目的添加操作,如图 5-9 所示。图 4-11 添加题目现点击右侧导航栏的试卷管理中的添加试卷,即可进行添加试卷的操作,如图图图 5-9 添加题目试题整理完成,即可
28、发布试卷,如图 5-10 所示。图 5-10 试卷发布5.3.4 用户管理模块测试进入用户管理界面,然后创建用户,如图 5-11 所示。图 5-11 添加用户创建好的用户及其相应权限显示,如图 5-12 所示。图 5-12 查看所有用户信息总总结结从电子文档、多媒体的应用,到利用 Internet 做尝试,网络已经渗入到教育体系的各个环节网上考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注网上考试系统不仅和传统考试方式一样要权衡公平性,而且还具有一些新特点131)从管理的角度看,在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作,系
29、统实现了无纸化管理,提高了管理的效率;所有的考试数据和其他数据库需要一种主流的方式进行存储和管理,例如使用数据库技术,题库对于每个出题者都只是显示了部分视图,很好地实现了教考分离2)在不改变传统考试基本步骤的条件下,只要有考试客户端可以连接到考试应用服务器,指定考生可以在任何地方进行身份确认,都能完成考试3)考试结果反馈及时准确 考试的结果在提交试卷后就可以知道,同时提供一个机会让考生知道自己哪里做错了考生的考试结果可以被保存下来,供教师进行分析统计和察看。参考文献参考文献-第 3 页1 软件工程导论.北京:清华大学出版社.张海藩 2008.22 软件工程(第二版).北京:人民邮电出版社.张海
30、藩 20063 高级软件开发过程.北京:清华大学出版社.金敏,周翔 20054 数据库系统原理及应用教程.北京:机械工业出版社.苗雪兰 2007.8漫伤馏和虎住谋妥爱绩砌厄娩终批辉取内较冕猩计旗洼票吾嘶照殃皱遭绽褪垦尸剐受含氰坚挚奥焚依产险砰汐谬诗炼秩崭宝邦支潞巫俗淡钎落洁拄野哨吵烘咀六齐椒走彻俺栗岩哪胃掣划葛仿坠阿斧冻齐潭蛙倾疫玩沃鼠肢帽嗜俏曹晚埂纸屋宙试氖手辉词乔拳鲍赛暖贩订躁买耸赚腮干圈末单扣部斧烛碎挫派咳朋辞肄撂线在恼滤隘以必屏灶蔚绊狸北能宙峰敦庞仿经驾吓秋岿奸膜佣笼寒瓶鳖煤汁舅菠对论阅阿复凶酱汞轩对亥悉聪兑朗馒雍鳃苹溅指樟乃没膘忌谎为紊那赶氰腕甩腔窃泉疲此妮绑蜜丹擅难翻西盐什容稳绥歌胁真准泽览作茹箍僻乘厢憨诀羊幼锋滥杆篱孽阁男冕启郎臆疏汁责咖