基于Struts2结构的在线考试系统设计与实现
- 格式:doc
- 大小:15.50 KB
- 文档页数:4
基于J2EE S2SH架构的在线考试系统详细设计说明书1.1.1引言1、编写目的本文档是对“蓝梦教育集团”整个教育系统下的在线考试评价子系统(产品质量度量管理系统)的一个总体的把握,以便在下一步的开发设计中更好的控制开发,并且对其他教育系统有良好的接口。
本文档根据用户的需求对系统加以描述,同时建立特定领域模型。
它说明了本系统的各项功能需求、性能需求和数据需求,明确标识出各功能的实现过程,为进行后面的详细设计和实现做准备。
2、本文档的预期读者(1)系统分析人员(2)软件设计人员(3)软件实现人员(4)软件测试人员3、术语与缩略语(1)用户泛指本系统的具有系统操作权限的使用者。
(2)系统管理员对本系统进行技术支持、维护管理的具有特定权限的用户,其工作内容包括对系统参数配置、权限管理、系统软/硬件维护管理。
(3)功能权限系统对各个功能进行了定义,用户只有具有相应功能的权限,才能使用该功能,目前系统中展现的功能菜单受功能权限控制,即如果用户未被授予该项功能权限,相关的功能菜单不可见。
(4)数据权限用户能够对哪些数据具有访问权限,即用户可访问的数据范围的定义。
4、参考资料(1)J2EE项目实训Hibernate框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(2)J2EE项目实训Spring框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(3)J2EE项目实训UML及设计模式(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(4)J2EE项目实训Struts框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社2008 年10月(5)《精通Struts设计与开发》孙卫琴编著电子工业出版社(6)《Spring从入门到精通》郭锋编著清华大学出版社(7)《Hibernate开发技术祥解》孙卫琴编著电子工业出版社(8)《J2EE应用开发技术祥解》刘晓华编著电子工业出版社(9)《设计模式》Erich Gamma 等编著机械工业出版社1.1.2系统程序模块设计说明1、登录模块(1)程序描述验证登录到系统的管理员的身份。
基于Struts2结构的在线考试系统设计与实现作者:唐晔来源:《软件导刊》2013年第06期摘要:基于Struts2和J2EE技术框架,结合MySQL数据库,设计并实现了一个基于B/ S 架构的在线考试系统,重点阐述了用户答题模块的设计,并提出了一种系统随机出题的方法。
关键词:在线考试系统;Struts2技术;J2EE;随机出题中图分类号:TP319文献标识码:A文章编号:1672-7800(2013)006-0071-02作者简介:唐晔(1973-),男,遵义师范学院计算机科学与技术系副教授,研究方向为计算机网络。
0引言根据市场需求,网站的开发需要高效,同时考虑到网站的盈利性,则需要降低人力成本和资源成本。
目前,大部分基于Java开发的网站都采用了Struts2的框架结构,并结合MySQL 数据进行开发,以降低开发成本和提高开发效率。
Struts2是基于MVC模式的开发,Struts2框架为程序员的开发带了极大方便,同时也更好地满足了用户的多样化需求。
本系统是基于Struts2开发的一个在线考试系统,同时采用了J2EE技术,结合Mysql数据库,设计并实现了一个基于B/S架构的网上考试系统,并提出了一种系统随机出题的方法。
1系统总体设计使用在线考试系统的用户必须是注册用户,使用时要先登录。
当用户选择某种测试后,系统会自动给出题目进行考试。
考试开始时,系统自动计时,用户必须在规定的时间内完成考试,否则时间到了则不能答题。
用户答完题后可以直接提交,系统会在用户自主提交或时间超时的情况下对用户所做的题进行评分。
用户信息和试题维护由管理员进行管理,当管理员进入管理时,也需要有一个登录验证功能来验证是否有权限进入管理页面。
管理员可以完成录入、修改、添加、删除等功能,还可以把已保存在文本文件里的数据导入到数据库中。
本系统总体结构如图1所示。
2系统设计2.1数据表设计根据系统功能要求,构建如下数据表,其中有下划线的是主键:用户表(用户标号、登录名、密码、邮箱、登录状态):建立用户的基本情况,主要用于登录网络考试系统;管理员表(管理员标号、登录名、密码、登录状态):建立管理员的基本情况,主要用于登录数据库管理;选择题表(编号、题干、选项1、选项2、选项3、选项4):提供考试题中的选择题,其中“选项1”为正确答案;填空题表(编号、题干、答案):提供考试题中的填空题;套题记录表(编号、题目类型、年号、月号):用于记录套题包含的选择题和填空题,该表信息在录入试题时由系统自动填写;成绩表(用户标号、考试时间、成绩):记录用户考试成绩。
【关键词】Struts2;信息系统;系统设计;系统实现0 引言21世纪是一个信息时代,谁拥有信息,谁就拥有优势。
想要提高信息管理水平,最大限度发挥信息资源优势,以获得最大经济效益目标,离不开对信息管理系统的应用。
信息管理系统是利用现代管理思想和方法,以电子计算机为载体,采用计算机软件和网络通讯技术,对各种信息进行收集、处理、存储、分析、管理的系统。
基于Struts2的信息管理系统结构研究,能够实现信息资源采编、交流、维护、发布、管理等功能的一体化,能够有效提高信息发布的时效性、准确性,更有利于信息资源管理和开发,目前已广泛应用到了各个领域,研究Struts2的信息管理系统设计与实现具有重要意义。
1 信息管理系统信息管理系统是随着信息技术、计算机技术、网络技术的普及发展起来的新型产物。
通过信息管理系统便能够对相关信息进行收集、加工、处理、传递、储存、共享、利用、交流、管理。
以当代处理信息方法为依据,附加进电子计算机技术,来进行进一步的信息分析。
信息管理系统的应用能够充分利用信息资源获得最大信息资源利用率。
该系统涉及经济学、管理学、计算机科学等很多学科,具有辅助决策功能。
信息管理系统作为一种新型的信息集成中心而存在,它不仅可以提供当前信息的分析与处理,还可以对未来一段时间内的信息进行合理性预测。
这样的系统可以作为企业信息的核心来工作,并在企业发展中起到非常重要的作用。
在信息化的时代,企业需要这种信息系统来为企业的运行指引方向,同时信息管理系统也可以在企业的竞争当中起到至关重要的积极作用。
目前在医疗、教育以及企业等方面,信息管理系统已经得到广泛应用。
不同类型的信息管理系统设计思路不同,系统结构不同,功能不同,特征不同,所以适用范围也不同。
目前市面上常见的信息管理系统绝大多数是从社会活动需要和将来发展战略角度出发进行设计,以提高系统的针对性和科学性。
如企业信息管理系统,往往针对企业实际情况而设计,无法应用于医院管理或校园管理当中。
基于J2EE的在线学习考试系统的设计与实现的开题报告一、选题的背景和意义随着科技的不断进步,互联网的普及,网络学习和在线考试已经成为一种趋势。
考试是学校教育中必不可少的一个环节,而在线考试能够解决传统考试中面临的许多问题,例如时间和空间限制、后期管理等。
本项目旨在实现一个基于J2EE的在线学习考试系统,建立一个统一的考试平台,可以让学生随时随地进行在线学习和考试,同时可以帮助老师进行考试管理、题库维护等工作。
这样的系统不仅有利于提高学生自主学习的能力,而且也可以提高考试的公平性和科学性,能够帮助提高学校教育质量和学生学习水平,具有重要的现实意义。
二、研究的目的和内容本项目旨在设计和实现一个基于J2EE的在线学习考试系统,包括以下几个方面的内容:1、需求分析:进行对在线学习考试系统的需求分析,明确系统所需的功能和性能要求,确定系统的主要模块和进行模块设计。
2、系统设计:进行系统的总体设计和详细设计,采用J2EE技术进行设计,并使用UML进行建模分析。
3、系统实现:使用Java语言和J2EE技术实现系统的各个模块,进行代码编写和单元测试。
4、系统测试:对系统进行全面测试,包括功能测试、性能测试和安全测试等。
5、系统部署:将系统部署到服务器上,并进行网络测试和系统维护。
三、技术路线和预期成果本项目将采用J2EE技术进行设计和实现,在具体实现中涉及的技术有:1、Spring框架:用于实现系统的业务逻辑层和控制层,提供事务管理和依赖注入等功能。
2、Struts2框架:用于实现系统的MVC框架,提供模型层和视图层。
3、Hibernate框架:用于实现系统的数据持久层,提供对象关系映射和数据访问等功能。
4、MySQL数据库:用于保存系统的数据。
5、HTML、CSS和JavaScript:用于实现系统的前端页面和交互效果。
本项目的预期成果是:实现一个基于J2EE技术的在线学习考试系统,包含学生登录、考试、练习、成绩查询等功能,同时有管理员管理学生信息、试题、课程等功能。
基于J2EE S2SH架构的在线考试系统单元测试报告说明书1.1.1引言1、编写目的编写本单元测试报告的目的在于:(1)对单元测试结果进行整理和汇总,形成正式的测试文档;(2)为软件单元的评审验收提供依据;(3)纳入软件产品配置管理库。
2、本文档的预期读者(1)软件设计人员(2)软件实现人员3、测试说明测试环境与实际运行环境之间可能存在的差异:数据库的大小。
测试时只是调用相对较小的数据库,而实际应用中将会使用较大的数据库;差异对测试结果的影响:数据库大小并不影响数据库操作的实现,可能在性能上有所差异,但是功能实现是相同的。
4、参考资料(1)J2EE项目实训Hibernate框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(2)J2EE项目实训Spring框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(3)J2EE项目实训UML及设计模式(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(4)J2EE项目实训Struts框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社2008 年10月(5)《精通Struts设计与开发》作者:孙卫琴电子工业出版社(6)《Spring从入门到精通》作者:郭锋清华大学出版社(7)《Hibernate开发技术祥解》作者:孙卫琴电子工业出版社(8)《J2EE应用开发技术祥解》作者:刘晓华电子工业出版社(9)《设计模式》作者:Erich Gamma等机械工业出版社1.1.2软件单元描述管理员功能, 教师功能, 学生功能。
1.1.3测试结果1、代码审查结果在表格中列出代码审查中查出的问题,下面为代码审查结果表:2、测试用例统计——测试用例执行结果统计表。
基于J2EE在线考试系统的设计与实现作者:韩高峰,张健来源:《电脑知识与技术》2010年第20期摘要:随着计算机技术和通信技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。
该文设计开发的在线考试系统也是其中重要的一个方面。
本系统以减轻教师工作负担、提高工作效率、防止试题泄露、优化考试流程为目的,采用J2EE平台三层架构开发模式,采用一种新的工作流模型设计并实现在线考试系统功能,开发出具有跨平台、功能完善、安全稳定的网上在线考试系统,从而使系统具有较高的运行效率、良好的可扩展性和可维护性。
本系统分为两大模块:后台管理模块和考试功能模块。
其中后台管理模块是对考生信息、试题、试卷和考务进行管理。
考试功能模块是考生对自己的基本信息的修改、登录、考试和成绩查询进行操作。
关键词:J2EE;Struts+JavaBean;在线考试系统中图分类号:TP313文献标识码:A文章编号:1009-3044(2010)20-5472-02随着信息技术的发展,电子政务[8]应用也得到迅速发展,针对当前高校考试繁重的工作任务、纸质的试卷不安全等问题,为了解决高校繁重的考试工作任务;为了提高工作效率,本系统采用J2EE平台三层架构开发模式,并结合工作流技术,采用一种新的工作流模型设计并实现在线考试系统功能,开发出具有跨平台、功能完善、安全稳定的网上在线考试系统,从而使系统具有较高的运行效率、良好的可扩展性和可维护性。
1 相关技术1.1 J2EEJ2EE[2] 既Java2平台企业版(Java 2 Platform,Enterprise Edition),是一种利用Java2平台简化与企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
基于Struts2结构的在线考试系统设计与实现
唐晔
【期刊名称】《软件导刊》
【年(卷),期】2013(012)006
【摘要】基于Struts2和J2EE技术框架,结合MySQL数据库,设计并实现了一个基于B/S架构的在线考试系统,重点阐述了用户答题模块的设计,并提出了一种系统随机出题的方法.
【总页数】2页(P71-72)
【作者】唐晔
【作者单位】遵义师范学院计算机科学与技术系,贵州遵义563002
【正文语种】中文
【中图分类】TP319
【相关文献】
1.基于B/S结构模式的在线考试系统的设计与实现 [J], 芦海燕
2.基于Authorware的《数据结构》在线考试系统的设计与实现 [J], 雷小朋;王长清
3.基于Struts2结构的在线考试系统设计与实现 [J], 唐晔;
4.基于B/S结构在线考试系统的设计与实现 [J], 刘莉莉
5.基于B/S结构的在线考试系统的设计与实现 [J], 李果;胡彩明
因版权原因,仅展示原文概要,查看原文内容请购买。
《J2EE系统架构和程序设计》课程设计实训项目——基于Struts +Hibernate架构的在线考试系统详细设计说明书1.1.1在线考试系统中的表示层的设计1、在线考试系统表示层功能在在线考试系统中的表示层使用Struts框架,该层所负责的主要功能如下:1)管理用户的请求,做出相应的响应2)提供一个流程控制器,委派调用业务逻辑和其他上层处理3)处理异常4)为显示提供一个数据模型5)用户界面的验证以下内容,不该在Struts表示层中出现,因为它们应该是与表示层无关的。
1)与数据库直接通信2)与应用程序相关联的业务逻辑及校验3)事务处理因为,如果我们在表示层引入这些功能的实现代码,将会给系统带来高耦合和难以维护的后果。
2、在线考试系统表示层主要组成在线考试系统表示层由UI(User Interface)和UI控制逻辑组成:(1)UI(User Interface)主要由JSP页面来体现,UI是客户端的用户界面,负责从用户方接收命令,请求,数据,传递给业务层处理,然后将结果呈现出来。
(2)UI控制逻辑主要由JavaBean来实现,UI控制逻辑负责处理UI和业务层之间的数据交互,UI之间状态流程的控制,同时负责简单的数据验证和格式化等功能,在线考试系统表示层采用Struts框架,为了更好的实现实现表示和业务的分离分层原则,JSP实现尽可应该做到:1)利用标签技术标准的做法是尽可能的使用struts标签,一方面即可以使用Struts中所提供的各个标签库的标签,同时页根据项目的实际需要定制了自己的标签库的标签,只有这样一来,提高了系统设计的规范性和代码的可重用性,为后期升级提供方便。
2)利用View Help组件(JavaBean)实现业务逻辑标准的做法是尽可能的使用Java Bean,这样可以完成将某些复杂数据格式化或者数据转换的功能,才能够把业务逻辑和页面表示彻底分开,符合MVC设计原则和方法。
下图为在线考试系统表示层架构图:在线考试系统中的表示层中的用户登陆组件类的类图以及它们之间的关系的图示如下图所示:3、在线考试系统表示层用主要技术——客户端的JavaScript脚本的应用(1)应用JavaScript时的要点在Struts的应用中,一般是不再鼓励使用客户端的校验技术,而改用服务器端的校验技术以提高项目的安全性和更好的兼容性。
基于Struts2结构的在线考试系统设计与实现
作者:唐晔
来源:《软件导刊》2013年第06期
摘要:基于Struts2和J2EE技术框架,结合MySQL数据库,设计并实现了一个基于B/ S 架构的在线考试系统,重点阐述了用户答题模块的设计,并提出了一种系统随机出题的方法。
关键词:在线考试系统;Struts2技术;J2EE;随机出题
中图分类号:TP319文献标识码:A文章编号:1672-7800(2013)006-0071-02
作者简介:唐晔(1973-),男,遵义师范学院计算机科学与技术系副教授,研究方向为计算机网络。
0引言
根据市场需求,网站的开发需要高效,同时考虑到网站的盈利性,则需要降低人力成本和资源成本。
目前,大部分基于Java开发的网站都采用了Struts2的框架结构,并结合MySQL 数据进行开发,以降低开发成本和提高开发效率。
Struts2是基于MVC模式的开发,Struts2框架为程序员的开发带了极大方便,同时也更好地满足了用户的多样化需求。
本系统是基于Struts2开发的一个在线考试系统,同时采用了J2EE技术,结合Mysql数据库,设计并实现了一个基于B/S架构的网上考试系统,并提出了一种系统随机出题的方法。
1系统总体设计
使用在线考试系统的用户必须是注册用户,使用时要先登录。
当用户选择某种测试后,系统会自动给出题目进行考试。
考试开始时,系统自动计时,用户必须在规定的时间内完成考试,否则时间到了则不能答题。
用户答完题后可以直接提交,系统会在用户自主提交或时间超时的情况下对用户所做的题进行评分。
用户信息和试题维护由管理员进行管理,当管理员进入管理时,也需要有一个登录验证功能来验证是否有权限进入管理页面。
管理员可以完成录入、修改、添加、删除等功能,还可以把已保存在文本文件里的数据导入到数据库中。
本系统总体结构如图1所示。
2系统设计
2.1数据表设计
根据系统功能要求,构建如下数据表,其中有下划线的是主键:
用户表(用户标号、登录名、密码、邮箱、登录状态):建立用户的基本情况,主要用于登录网络考试系统;
管理员表(管理员标号、登录名、密码、登录状态):建立管理员的基本情况,主要用于登录数据库管理;
选择题表(编号、题干、选项1、选项2、选项3、选项4):提供考试题中的选择题,其中“选项1”为正确答案;
填空题表(编号、题干、答案):提供考试题中的填空题;
套题记录表(编号、题目类型、年号、月号):用于记录套题包含的选择题和填空题,该表信息在录入试题时由系统自动填写;
成绩表(用户标号、考试时间、成绩):记录用户考试成绩。
2.2在线考试模块程序流程
在线考试模块流程如图2所示。
2.3系统页面
整个系统由模块构成,对应的页面如表1所示。
3关键技术处理
3.1选择题选项随机出现算法
选择题选项随机出现可以有效防止考试作弊的发生,维护考试的公平性。
为了让选择题选项随机出现,需要有一个产生随机排列的函数,同时要建立一个临时的随机表。
系统将值“1、2、3、4”与选项“A、B、C、D”建立一一映射,由随机排列函数对每一道题的值“1、2、3、4”进行重新排序,然后存储到临时的随机表。
随机排列函数是没有参数但有返回类型的函数,返回类型为整型数组,该数组中存储排好序的数字。
系统中定义了两个大小为4的整型一维数组a和b,a数组初始赋值为{1,2,3,4},是数据库中原选择题的选项,b数组用来存放重排后的数字。
每次从a中随机选一数字(选项),并在a中将该数字删除,然后存入b,循环4次后b中就是重排的顺序,然后将b 放入临时的随机表。
C#实现随机排列函数的代码如下:
static protected int[] RandomIntArray(){
int[] a = new int[4] { 1, 2, 3, 4 };
int[] b = new int[4];
Random random = new Random();
for (int j = 3, n = 0; j >= 0; j--, n++) {
int i;
i = random.Next(0, j + 1);
b[n] = a[i];
for (; i < j; i++) {
a[i] = a[i + 1]; }
}
return b;}
3.2抽题不重复性
为了避免系统在一套考题中抽题出现重复现象,系统采用排除法进行抽题:将所有备选试题号n存放在数组Topic中,随机生成抽取的序号m,1≤m≤n,选出试题号Topic(m);然后将Topic(m)与Topic(n)交换,再从备选试题号n-1中抽题,这时随机生成抽取的序号m,1≤m≤n-1;重复以上操作,直到抽题数量达到要求。
4结语
随着网络技术的飞速发展,无纸化的在线考试突破时间和空间的限制,成为当今考试的发展方向。
本文探讨了在线考试系统的设计与实现,并提出了一种系统随机出题的方法,具有一定的应用价值。
参考文献:
[1]H M DEITLEL,P J DEITEL.Java大学基础教程[M].刘晓莉,周璐,钱方,等,译.北京:电子工业出版社,2007.
[2]DONALD BROWN,CHAD MICHAEL DAVIS,SCOTT STANLICK. Struts2实战[M]北京:人民邮电出版社,2010.
[3]迪布瓦.MySQL cookbook:中文版[M].北京:电子工业出版社,2008.
[4]VIVEK CHOPRA,SING LI,JEFF GENENDER.Apache tomcat6高级编程[M].北京:人民邮电出版社,2009.。