精品毕业论文--基于jsp的网上考试系统设计与实现内容摘要:

教师 对题库中的题目按照一定分类标准存放,包括分类的添加、修改和删除操作等。 管理 模块 教师可以看到模式体分类的整体考试情况,考试 成绩分布情况 ,可以判断出题库中的题目难以水平,并可以在以后的维护中做出 适当调整。 管理 系统管理员可以对已经注册的考生进行删除 操作,对于未注册的考生进行增 加 操作。 系统管理员可以对 系统 已经 存在 的 教师 进行删除操作,对于未 在系统中存在的教师 进行增加操作。 模块 教师和考生可以在已经登录成功的页面点击修改密码,可以修改本人登录此考试系统的登录密码。 除了实现上述功能以外,在线考试系统还应该具有 简洁、易用的界面,安全性要高,稳定性要强。 根据以上的 需求 分析,画出本系统的 Use Case图,如图 : 图 在线考试系统的 Use Case 图 系统开发环境配置 1. 操作系统: Windows 7 2. 内存: 4G 3. CPU: 4. Java平台: JDK 5. Web服务器: 6. 数据库服务器: MySQL 7. 开发平台: 登 录 在线 考试 考 试 历史成 绩 绩 试题维护 考 试 试卷设置 考 试 历史成绩 管理 考生管理 考 试 教师管理 考 试 考生 教师 管理员 修改 密码 注 册 第三章 系统设计 数据库设计 在对网上考试系统数据库部分进行设 计的过程中,通过对系统功能进行需求分析得到系统的基本信息表, 详细设计过程如下介绍。 数据库需求分析 需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。 对于本系统而言,系统的角色分为管理员、教师、学生,这需要 3 个表,而考生考试,需要一个存放题库的表,考试的类别不同,也需要一个存放类别的表 ,考生考试完毕后,需要一个存放考试成绩的表。 综合以上分析,要实现上面的所有功能模块,数据 库共要设计六个表,它们分别是:试卷类别表、用户表、用户成绩表、教师表、管理员表、题库表。 数据库表设计 用户信息 表 , 用来存放考生信息, 如表 31所示 : 表 31 用户信息表 字段名 类型 长度 是否为主键 可否为空 说明 user_id int 11 是 否 用户的 id username varchar 20 否 否 登录用户名 password varchar 20 否 否 用户登录密码 realname varchar 20 否 否 用户真实姓名 教师信息表 ,存放教师信息, 如 表 32所示 : 表 32 教师信息表 字段名 类型 长度 是否为主键 可否为空 说明 teacher_id int 11 是 否 教师的 id teachername varchar 20 否 否 教师登录名 password varchar 20 否 否 教师登录密码 realname varchar 20 否 否 教师真实姓名 管理员信息表 ,存放管理员信息 ,如表 33所示 : 表 33 管理员信息表 字段名 类型 长度 是否为主键 可否为空 说明 adusername varchar 20 是 否 管理员登录名 password varchar 20 否 否 管理员登录密码 realname varchar 20 否 否 管理员真实姓名 题库信息表 ,存放考试题目以及答案等信息 ,如表 34所示 : 表 34 题库信息表 字段名 类型 长度 是否为主键 可否为空 说明 question_id int 10 是 否 试题编号 category_id int 10 否 否 试题分类编号 subject varchar 300 否 否 题目 choice_a varchar 100 否 否 选项 A choice_b varchar 100 否 否 选项 B choice_c varchar 100 否 否 选项 C choice_d varchar 100 否 否 选项 D answer char 10 否 否 正确答案 成绩表 ,存放考生考试时间以及成绩等信息 ,如表 35所示 表 35 成绩表 字段名 类型 长度 是否为主键 可否为空 说明 record_id int 10 是 否 考试记录编号 username varchar 20 否 否 考试用户名 category_id char 10 否 否 试题分类编号 test_time char 14 否 否 考试时间 test_result int 11 否 否 考试成绩 试卷类别表 ,存放试卷类别信息,包括试卷分类名称、试卷题目等 ,如表 36所示 表 36 试卷类别表 字段名 类型 长度 是否为主键 可否为空 说明 category_id int 11 是 否 试题分类编号 category_name varchar 20 否 否 试题分类名称 question_number int 10 否 否 试题数目 1. 关系 图 本 系统各表之间的 关系如下图 31示: 图 31 关系 图 2. 完整性设计 完整性要求用于描述各种信息之间的制约关系以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。 根据实际需要,采取一定的手段来满足用户的完整性需求。 域完整性约束要求属性值必须在域中。 实体完整性约束要求主键必须唯一且不能为空。 如用户信息 表中的用户名设置为主键,并且要求唯一且不能为空。 系统结构设计 网上考试系统是一个典型的数据库应用程序,主要 有 管理员、教师和学生三大模块组成,各模块功能如下: 管理员模块:该模块包含 2 个功能,一个为考生管理, 系统管理员可以对已经注册的考生进 行删除操作,对于未注册的考生进行增加 操作; 另 一个为教师管理, 系统管理员可以对 教师进行增加、删除操作。 教师模块: 该模块包含 4 个功能,分别为试卷设置、试题维护、历史成绩、修改密码。 教师 成功 登录该系统 后, 能够 进行 修改个人信息,添加、修改、删除试题 、 试卷类别 操作 ,也可 对 考 生的成绩进行 统计。 学生模块:该模块 包含 3 个功能, 分别为开始考试、历史成绩、修改密码。 学生成功 登录该系统 后,能够进行考试、 查询 成绩 、修改密码。 系统功能结构如图 32所示: 系统功能 学生模块 管理员 模块 教师模块 图 32 系统功能结构图 用户界面设计 页面上部采用一个 Logo图片和适当的标识,表明当前的系统名称。 接下来是帮助连接和退出系统的连接。 然后下部页面的主题分为左右两部分,左边是导航模块部分,其中放置迁移到不同功能模块的链接 按钮,右边是页 面的主要操作区域,不同页面的不同显示主要在此体现。 学生角色的模版页面如图 33所示 : 图 33 学生角色模版 每个模块都包含多个页面,再次挑选几个比较低型或者重要的页面进行详细描述。 其他的页面结构比较类似或者比较简单,不一一详述。 学生开始考试的时候,首先需要选择试卷类型,或者也可以叫做试题分类。 在此页面中采用下拉列表框的形式进行,如图 34所示 : 修改密码 试题维护 试卷设置 历史成绩 考生管理 教师管理 历史成绩 修改密码 在线考试系统 Logo 图片。 帮助 退出登录 欢迎您。 XXX 开始考试 历史成绩 修改密码 在线考试系统 Logo 图片。 开始考试 图 34 试题分类选择页面草图 选择试题分类以后,即 是学生答题页面。 答题页面的主体应该是试题和试题的选项。 考虑到本系统需要在题目结束以后立即知道考试结果,所以决定采用所有试题的形式都是 ABCD型的选择题,页面应该针对这些题目选项设置单选按钮。 在答题内容的上方,应该能够给考生信息,说明当前的题目是全部题目的第几道,以及总共有几道题,使得考生可以把握整个考试进度。 同时考虑到考生在时间允许的情况下,需要在题目间前后迁移,所以在题目的下方,还应该有前后翻页的按钮。 对应教师角色的模版略有不同,模块多了几个,而且页面顶端 的标识也有所区别。 对应的模版页面如图 35所 示。 帮助 退出登录 欢迎您。 XXX 开始考试 历史成绩 修改密码 请选择试题的分类: 会计基础 确定 在线考试系统(管理界面) Logo 图片。 帮助 退出登录 图 311 教师角色模版页面 图 35 管理员角色模版页面 欢迎您。 XXX 试题维护 试卷设置 成绩查询 修改密码 第四章 系统实现 本系统包括 3 个不同 的 角色,即学生、教师、管理员。 不同角色的功能有所不同, 学生 的功能包 括 :考试模块,修改密码,成绩查询模块。 教师 的功能 包 括 :试卷类别管理、试题管理、修改密码、成绩管理。 管理员 的功能 包 括 :教师管理和考生管理。 数据库连接 的实现方法 从系统功能模块划分中可以看出,各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时 也便于教师和学生的操作。 在介绍系统各模块的实现方法之前,首先介绍系统与 MySQL数据库的连接方法, 再介绍系统主要部分的实现方法。 创建与数据库的连接 : ①:首先要将 mysql的驱动包放在 tomcat/lib目录下; ②:利用语句进行对数据库的操作,以下仅是对用户表查询的语句: %@page contentType=text/html。 charset=gb2312 % %@page language=java import=.* % % //声明数据库连接对象 ,初始化为空 Connection conn = null。 Statement stmt = null。 ResultSet rs = null。 try { //载入 MySQL的 JDBC驱动类 ()。 //获得数据库连接 String sConn = jdbc: conn = ( sConn )。 //创建 Statement对象 stmt = ()。 //执行 SQL语句 String query = select * from user。 rs = ( query )。 % catch(Exception e) { //获得数据库连接出错 (error occured!!)。 } finally { //释放数据库连接 ()。 ()。 ()。 } % 登陆 注册 模块 登录模块 用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页面,在登录操作过程中,一般发生的错误有:用户输入了错误的用户名或密码、用户直接单击了登录按钮,对上述情况的判断就要通过 Servlet文件来实现。 当用户登录的时候,输入的帐号或者密码有其中一项为空时,会有提示框提示,提示您帐号或者密码不能为空。 实现这个功能的是 用 javascript。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。