知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

大一java课程设计模板

发表时间:2022-03-25来源:网络

**

JAVA EE项目开发及应用实训

**

题 目: 网上考试系统
系 别:
专 业:
学生姓名:
学 号:
指导教师:

题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 •应用研究

2019年12月8日

摘 要

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开始开设了远程教育。但是,远程教育的软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好。更完善的软件系统到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
远程教育包括很多环节。例如,教学系统、考试系统和答疑系统等等。其中一个很重要的环节是在线考试系统,同时,它也是最难实现的环节。在我国,远程教育已蓬勃发展起来。但目前学校和社会上的各种考试大都采用传统的考试方法,在此方式下,组织一次考试,要经过五个步骤,即人工出题、考生考生、人工阅卷。成绩评估和试卷分析。
显然随着考试类型的不断增加和考试要求的不断提高,教师的工作量也越来越大,可以说传统的考试方法已经不能适用于现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切需要这些技术来进行在线考试,以减轻教师的工作负担以及提高工作效率,与此同时提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。
本系统结合实际的考试情况,经过需求分析,采用功能强大的MyEclipse和MySQL数据库作为开发工具而开发出来的网上考试系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,可以满足网上考试的基本需要。
关键词:网上;在线;考试

目 录

1 系统分析 3
1.1 需求分析 3
1.2 功能分析 3
2 系统设计 3
2.1 绘制用例图设计系统功能 3
2.2 绘制系统流程图 5
3 详细设计 5
3.1 老师管理试题模块 5
3.1.1 录入试题 5
3.1.2 管理试题 6
3.1.3 查询试题 9
3.2 老师管理学生模块 9
3.2.1 查询学生成绩 9
3.2.2 查询班级成绩 10
3.3 学生考试模块 10
3.3.1 随机获取试题 10
3.3.2 获取考试成绩 11
3.3.3 查看答案 11
4 数据库设计 12
4.1 数据库概念设计 12
4.2 数据库逻辑结构设计 13
4.3 公共类设计 14
5 结论 15
参考文献 16

1 系统分析
1.1 需求分析
根据需求,可以知道此网上考试系统中有两种用户,分别是老师和学生。学生进入网上考试系统后,就是进行答题。试题应该是不固定的,要随机产生。学生提交试卷或者考试时间到后,要能够看到考试的成绩,并且能够看到正确答案。
老师进入网上考试系统后,首先要做的就是录入试题,并且能够对已经录入的试题进行管理。老师还可以看到学生的考试成绩和一个班级的考试成绩。
1.2 功能分析
根据需求分析,我们可以分析出网上考试系统中应该具有哪些功能。首先整个网上考试系统中具有两种权限的用户,学生的功能是比较少的,所以可以单独定义成一个学生考试模块。学生进入考试系统后,要能够完成如下功能:
 从数据库中随机获取一张试卷
 进行考试,在考卷中填写自己的答案,并提交答案
 查看考试成绩
 查看自己试卷的正确答案和解析

老师进入考试系统后,要完成的功能是比较多的,我们根据管理的内容可以分为老师管理试题模块和老师管理学生模块。在老师管理试题模块中,要能够完成如下功能:
 录入试题
 对已经录入的试题进行管理,包括查看、修改和删除
 查询已经录入的试题
在老师管理学生模块中,要能够完成如下功能:
 查询指定学生的成绩
 查询某一个班中所有学生的成绩

2 系统设计
2.1 绘制用例图设计系统功能
网上考试系统共包含两种权限的用户角色, 分别是学生和老师。下面是这两种角色所对应的用例图。
老师可以录入试题,对已录入的试题进行查看、修改和删除,还可以根据试题题目查询试题。老师还可以查询指定学生成绩,查询一个班级中所有学生的成绩,其用例图如图2-1所示

图2-1 老师用例图

学生可以随机获取一套试卷、对试卷进行答题、查看考试成绩以及查看自己试卷的正确答案和解析,其用例图如图2-2所示

图2-2 学生用例图
2.2 绘制系统流程图
本系统首先需要对用户进行身份验证,验证时判断用户是学生还是老师。如果是老师,则跳转到试题管理页面;如果是学生,则跳转到考试页面。系统流程图如图2-3所示。

图2-3 前台系统流程图

3 详细设计
3.1 老师管理试题模块
3.1.1 录入试题
老师执行录入试题操作时,在数据访问层中要首先判断试题是否已经录入过,如果没有录入过,则执行录入操作。

判断是否已经录入

执行录入

当老师输入各种试题信息后,系统会将这些信息设置到试题类对象中,并且将该对象传递给数据访问层,从而将该对象的信息保存到数据库中。

3.1.2 管理试题
3) 查看试题
在管理试题页面的某一道试题的后面,单击“查看”超链接,就会进行查看试题操作,在数据访问层中定义了查看试题的方法。

更新试题
在管理试题页面中试题的后面,单击“更新”超链接,就会进入更新试题页面。在更新试题页面中,会首先将原信息显示在页面中,单击“更新”按钮就会执行更新操作。

删除试题
在管理试题页面中的试题后面,单击“删除”超链接,就会将该试题删除。

3.1.3 查询试题
在查询试题页面中,可以在文本框中输入要查询试题的关键字,然后单击“查询”按钮,进行试题查询。

3.2 老师管理学生模块
3.2.1 查询学生成绩
在查询学生成绩页面中,老师输入学生名称,根据学生名称就能获取该学生的全部信息。

3.2.2 查询班级成绩
在查询班级成绩页面中,老师填写班级信息后,就会查询到该班级所有学生的成绩。

3.3 学生考试模块
3.3.1 随机获取试题
学生在登录页面中输入正确的编号和密码后,会进行跳转从而执行随机获取试题操作。

3.3.2 获取考试成绩
在考试试卷页面中,学生单击“提交答卷”按钮,或者时间到都会将学生的答案提交,然后立刻计算出学生的成绩。

3.3.3 查看答案
在获取考试成绩页面中,有一个“查看答案”超链接,单击该链接,就会提交到查看答案页面。

4 数据库设计
4.1 数据库概念设计
本系统共设计规划出3个实体类,分别是老师实体类、学生信息实体类以及试题信息实体类。
只有老师才可以使用后台试题管理,所以需要在数据库中建立一个老师信息表,用来保存老师的编号和登录密码。老师信息实体E-R图如图4-1所示。

图4-1 老师信息实体E-R图

只有学生才可以进行考试,所以需要在数据库中建立一个学生信息表,用来保存学生编号、登录密码、学生姓名、学生成绩以及所属班级信息。学生信息实体E-R图如图4-2所示

图4-2 学生信息实体E-R图

试题信息表用来保存试题编号、试题题目、各选项答案、正确答案以及试题解析。试题信息实体E-R图如图4-3所示

图4-3 试题信息实体E-R图

4.2 数据库逻辑结构设计
根据设计好的各实体E-R图创建数据库的逻辑结构,数据库各表的结构如下。

老师表用来存储网上考试系统中进行录入试题和进行管理人员的基本信息,包括老师ID和老师登录密码,该表的逻辑结构如表所示。
表4-1 老师信息表
字段名 数据类型 是否主键 描述
teacherID varchar(20) 是 老师编号
password varchar(20) 否 老师登录密码

学生表用来存储网上考试系统中进行考试的学生的基本信息,包括学生ID、学生登录密码、学生名称、学生成绩和所属班级,该表的逻辑结构如表所示。
表4-2 学生信息表
字段名 数据类型 是否主键 描述
studentID varchar(20) 是 学生编号
password varchar(20) 否 学生登录密码
studentName varchar(20) 否 学生姓名
result int(11) 否 考试成绩
sclass varchar(20) 否 所属班级

试题表用来存储网上考试系统中试题的基本信息,包括试题ID、试题题目、试题的4个选项、试题答案和试题解析,该表的逻辑结构如表所示。
表4-3 试题信息表
字段名 数据类型 是否主键 描述
subjectID int(11) 是 试题编号
subjectTitle varchar(255) 否 试题题目
subjectOptionA varchar(50) 否 A选项
subjectOptionB varchar(50) 否 B选项
subjectOptionC varchar(50) 否 C选项
subjectOptionD varchar(50) 否 D选项
subjectAnswer varchar(50) 否 正确答案
subjectParse text 否 试题解析

4.3 公共类设计
在网上考试系统中,采用的是Hibernate技术操作数据库,并没有使用JDBC,所有公共类中也就不存在封装数据库操作类,而是换成了Hibernate会话工厂类。在进行数据访问时要用到3种实体类,分别是老师类、学生类和实体类。在进行试题管理时,由于试题比较多,是要用到分页技术的,所以要使用分页公共类。
Hibernate配置文件
使用Hibernate技术进行数据库操作时,用到了Hibernate.cfg.xml文件,在其中对数据库的基本信息进行设置,例如驱动串、url、用户名和密码等。
以下代码是对数据库的基本信息进行配置的文件:

5 结论
通过此次为期三周的课程设计实训,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但是也学到了不少的知识。实训刚开始时头脑混乱,不知道要从哪里下手,我便去从书中寻找方向,去图书馆查了很多资料,之后一步步分析并确定了网上考试系统的大致模板,接下来就是从细节入手,把界面做的美观一些,整体让人一眼就能看懂。在实训过程中,有的时候会为了解决一个错误反反复复花上很多时间。也会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,不过这样的错误多了,在不知不觉中对一些自己不熟悉的语句分外的熟悉了起来,并且自身的排错能力也得到很大的提高。实训让我把书中的理论和实际操作结合在一起,这很锻炼我的实践能力。当然在这个过程中也遇到不少的问题,也正是因为这些问题引发的思考给我带了收获。在编程中我发现了自己对有些知识点不是很清楚,于是便对那方面多加练习,然后慢慢的就不会出太大问题。
这次实训为我以后的学习和工作也打下了基础。要自己去摸索,只有带着问题反复实践,才能熟练地掌握和运用。

参考文献
[1] 沈泽刚.Java Web编程技术(第3版)[M].北京:清华大学出版社,2019
[2] 李兆锋,张得生.Java Web项目开发案例精粹[M].北京:电子工业出版社,2010.6
[3] 李刚.经典Java EE企业应用实践[M].北京:电子工业出版社,2010.8

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜