毕业论文—基于B_S架构的在线考试系统.doc

上传人:小飞机 文档编号:4266033 上传时间:2023-04-12 格式:DOC 页数:22 大小:294.50KB
返回 下载 相关 举报
毕业论文—基于B_S架构的在线考试系统.doc_第1页
第1页 / 共22页
毕业论文—基于B_S架构的在线考试系统.doc_第2页
第2页 / 共22页
毕业论文—基于B_S架构的在线考试系统.doc_第3页
第3页 / 共22页
毕业论文—基于B_S架构的在线考试系统.doc_第4页
第4页 / 共22页
毕业论文—基于B_S架构的在线考试系统.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《毕业论文—基于B_S架构的在线考试系统.doc》由会员分享,可在线阅读,更多相关《毕业论文—基于B_S架构的在线考试系统.doc(22页珍藏版)》请在三一办公上搜索。

1、编号: 南阳师范学院2014届毕业生毕业论文(设计) 题 目: 基于B/S架构的在线考试系统 完 成 人: 班 级: 2010-16 学 制: 4年 专 业: 软件工程 指导教师: 程新党 完成日期: 2014-04-11 目 录0 引言(1)1 系统分析(2)1.1系统概述(2)1.2系统可行性研究(2)1.2.1技术可行性(2)1.2.2经济可行性(2)1.2.3操作可行性(3)1.3系统需求分析(3)1.4系统功能分析(3)2 系统设计(4)2.1系统体系架构(4)2.2系统总体设计(4)2.2.1系统总体流程图(4)2.2.2 系统功能结构图(5)3数据库设计(6)4 系统实现(7)4

2、.1系统登录页面的实现(7)4.2老师模块(8)5界面设计(11)5.1系统登录页面(11)5.2欢迎界面(12)5.3录入试题页面(12)5.4查看试题页面(12)5.5管理试题页面(13)6总结(13)参考文献(14)ABSTRACT.(15)基于B/S架构的在线考试系统作 者:指导教师:程新党摘要:在线考试系统主要研究的是实现教学与考试分离,为学生平时学习和自测、大规模考试测验提供一个良好的平台。同时,减轻教务人员的负担,使得教学工作更加轻松、高效。本系统采用B/S结构,即客户端和服务器结构,用户使用本系统时,需要下载客户端,然后进入系统,即可进行在线考试。关键词:系统设计;在线考试;J

3、avaEE;B/S体系0 引言 随着计算机技术和互联网的快速发展,人类已经进入了信息时代,也有人认为进入了数字化时代。在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习。各个阶段的学生希望能够得到系统科学评价,任课教师也希望尽快改进现有的传统考试形式,一方面提高考试效率,另一方面给学生公平平等的考试机会;以高等院校为代表的大众化教育体制机构希望能够给远程教育的学生提供考核形式更全面、考核方法更灵活的新型服务,从而达到对学生全面准确地跟踪与评论。网络在线考核系统目的就是迎合目前改进单一考核形式的需求而进行开发设计,它的目的是实现以计算机互联网络为硬件基础的新型考试模式。应用这

4、种网络化的全新考试模式来为高等院校创造一种新型考试环境,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时随地通过网络进行考试1。在线考试系统提高了考试的可靠性、有效性和工作效率,降低了考试成本,顺应了社会的网络应用化大趋势,必将成为不可或缺的考试考核形式。本论文研究目的是开发易于管理和维护的面向教学的考试系统,具有良好的通用性,能够满足多门课程的考试与考核要求,同时为教师开展平时考核和期末考核提供通用考试考核平台。1 系统分析1.1系统概述 在线考试系统是一个在线考试平台,目标是方便学生和老师进行考试检验。该考试平台包含了教师(学生)登陆、学生管理、录入试题、管理试题、查看成绩等

5、多个功能,主要注重过程控制的管理。定位于节省考试过程中的成本,方便老师对考试工作的管理。其B/S的模式使之更容易部署推广及方便的使用。1.2系统可行性研究1.2.1技术可行性 本软件的开发是在Windows 7 操作系统的开发平台上,利用Myeclipse作前台页面开发,Mysql作后台数据库开发,安全可靠,可移植性强。此次项目的开发语言java是一种面向对象语言,它具有更高的效率与安全性,同时消除大量的程序错误。利用Myeclipse我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率2。他是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测

6、试和发布功能,完整支持HTML、JSP、CSS、Javascript、SQL、Hibernate3。Mysql是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统。它使用“客户/服务器”模式,还支持SQL,这是一种结构化查询语言,是大多数现代数据库在处理数据和进行管理是使用的标准语言。另外Mysql是开放源码的,任何人可以免费下载使用它。Mysql数据库服务程序速度非常快、运行可靠并且易于使用。Mysql的连接性、高速度和安全性让Mysql服务程序非常适合在互联网上访问数据库4。1.2.2经济可行性 现在web的开发工具都可以从互联网上免费下载,并且技术上也不存在什么难题。

7、利用现有的开发工具就可以对本系统进行开发。系统本身简单适用,却解决了传统线下调查产生的一系列问题,无疑经济上是可行的。1.2.3操作可行性 本系统对软件配置、硬件配置、网络配置等要求都不高,使用起来方便简单,无需对使用者进行专业培训,并配有相关使用说明文档,只要接触过计算机的人都可操作,具有操作可行性。该系统具有较强实用性。1.3系统需求分析 根据具体的需求,可以知道该在线考试系统中具有两种用户,分别是老师和学生。学生进入在线考试系统后,就是进行答题。试题应该是不固定的,要随机产生。学生提交试卷或者考试时间到后,要能够看到考试的成绩,并且能够看到正确答案5。老师进入在线考试系统后,首先要做的就

8、是录入试题,并且能够对已经录入的试题进行管理。老师还可以看到学生的考试成绩和一个班级的考试成绩。1.4系统功能分析 老师进入考试系统后,要完成的功能是比较多的,我们根据管理的内容可以分为老师管理试题模块和老师管理学生模块。在老师管理试题模块中,要能够完成如下功能:1) 录入试题2) 对已经录入的试题进行管理,包括查看、修改和删除3) 查询已经录入的试题在老师管理学生模块中,要能够完成如下功能:1) 查询指定学生的成绩2) 查询某一个班中所有学生的成绩2 系统设计2.1系统体系架构 由于在线考试系统的多用户、跨平台等特性,所以系统的实现是基于Java语言的B/S结构WEB应用之上,并且使用目前主

9、流的、相对比较先进的、技术相对成熟稳定的开源STRUTS实现表现层MVC架构。并且应用了对象持久化技术,即Hibernate结构,从而更好的保证了数据的移植性,提高了系统的可用性。对于系统不同的需求分别对不同的子系统进行了封装,这样以来有利于在系统开发完成后的系统整合6。2.2系统总体设计2.2.1系统总体流程图 本系统首先需要对用户进行身份验证,验证时判断用户是学生还是老师。如果是老师,则跳转到试题管理页面;如果是学生,则跳转到考试页面。 管理子系统为:试题管理主界面和前台考试主界面,试题管理主界面包括录入试题、修改试题、删除试题和查询试题,前台考试主界面包括获得随机试题、提交试卷答案、查看

10、考试成绩、查看正确答案和查看试题分析7。系统流程图如图所示。身份识别录入试题退出是否合法老师学生试题管理主界面前台考试主界面修改试题删除试题查询试题获得随机试题提交试卷答案查看考试成绩查看正确答案查看试题分析否图1 系统总体流程图2.2.2 系统功能结构图通过系统功能模块的设计,系统功能结构图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。顶层是一个单独的矩形框,代表完整的数据结构,下面的各层矩形框代表各个数据的子集。随着结构的精细化,对数据结构也描绘得越来越详细,从对顶层信息的分类开始,沿图中每条路径反复细化,直到确定数据结构的全部细节时为止。系统功能结构图反映的是系统中模块的调用关系

11、和层次关系,谁调用谁,有一个先后次序(时序)关系。所以系统结构图既不同于数据流图,也不同于程序流程图。在系统结构图中的有向线段表示调用时程序的控制从调用模块移到被调用模块,并隐含了当调用结束时控制将交回给调用模块。身份识别试题管理界面前台考试主界面录入 试题修改 试题删除 试题查询 试题获得随机试题提交试卷答案查看考试成绩查看正确答案查看试题分析图2 系统功能结构图3数据库设计在本系统中用到的数据表主要有3个表8,分别是:老师信息表、学生信息表和试题信息表。 (1)老师信息表:老师编号(teacherID),老师登录密码(password):表1 老师信息表字段名数据类型是否主键描述teach

12、erID文本(verchar)是老师编号password文本(verchar)否老师登录密码(2)学生信息表:学生编号(studentID),学生登录密码(password),学生姓名(studentName),考试成绩(result),所属班级(sclass):表2 学生信息表字段名数据类型是否主键描述studentID文本(verchar)是学生编号password文本(verchar)否学生登录密码studentName文本(verchar)否学生姓名result整数(int)否考试成绩sclass文本(verchar)否所属班级(3)试题信息表:试题编号(subjectID),试题题目

13、(subjectTitle),A选项(subjectOptionA),B选项(subjectOptionB),C选项(subjectOptionC),D选项(subjectOptionD),正确答案(subjectAnswer),试题分析(subjectParse):表3 试题信息表字段名数据类型是否主键描述subjected整型(int)是试题编号subjectTitle文本(verchar)否试题题目subjectOptionA文本(verchar)否A选项subjectOptionB文本(verchar)否B选项subjectOptionC文本(verchar)否C选项subjectOp

14、tionD文本(verchar)否D选项subjectAnswer文本(verchar)否正确答案subjectParse文本(text)否试题分析4 系统实现4.1系统登录页面的实现在线考试系统基本功能主要是老师录入试题和学生在线考试。输入正确用户名密码即可进行基本功能9。对用户身份验证的代码如下:public String execute() throws Exception if(student.equals(role) /如果以学生身份登录if(studentService.allowLogin(id, password) Student studentInfo = studentSe

15、rvice.getStudentInfo(id);/保存学生记录到session范围Map session = ActionContext.getContext().getSession();session.put(studentInfo, studentInfo);return studentSuccess;else addActionError(该学生编号不存在,或者密码不正确!);return this.INPUT;else if(teacherService.allowLogin(id, password) return teacherSuccess;else addActionErr

16、or(该教师编号不存在,或者密码不正确!);return this.INPUT;4.2老师模块(1)老师管理试题的具体实现代码如下:public String execute() throws Exception Subject subject = new Subject();subject.setSubjectTitle(subjectTitle);subject.setSubjectOptionA(subjectOptionA);subject.setSubjectOptionB(subjectOptionB);subject.setSubjectOptionC(subjectOption

17、C);subject.setSubjectOptionD(subjectOptionD);subject.setSubjectAnswer(subjectAnswer);subject.setSubjectParse(subjectParse);if(subjectService.saveSubject(subject) return SUCCESS;else this.addActionError(该试题已经添加过了,请不要重复添加!);return INPUT;public String execute() throws Exception subjectService.deleteSub

18、ject(subjectID);return SUCCESS;(2)老师管理学生的具体实现代码如下:public Student getStudentInfo(String studentID) return studentDAO.findByStudentID(studentID);public void setStudentResult(String studentID, int result) Student student = studentDAO.findByStudentID(studentID);/根据ID查找到该学生student.setResult(result);/设置其成

19、绩studentDAO.updateStudent(student);/更新学生信息public List getStudentByName(String studentName) return studentDAO.findByStudentName(studentName);public List getStudentByClass(String sclass) return studentDAO.findByStudentClass(sclass);public class SubmitExamAction extends ActionSupportprivate List subjec

20、tID;/学生考试的题目private SubjectService subjectService = new SubjectServiceImpl();private StudentService studentService = new StudentServiceImpl();public List getSubjectID() return subjectID;public void setSubjectID(List subjectID) this.subjectID = subjectID;public String execute() throws Exception HttpS

21、ervletRequest request = ServletActionContext.getRequest();List studentAnswers = new ArrayList();for(int i = 0; i 20; i+) String answer = request.getParameter(subjectAnswer+i);studentAnswers.add(answer);int GeneralPoint = subjectService.accountResult(subjectID, studentAnswers);/设置成绩到学生信息中Map session

22、= ActionContext.getContext().getSession();Student student = (Student)session.get(studentInfo);String studentID = student.getStudentID();studentService.setStudentResult(studentID, GeneralPoint);request.setAttribute(studentName, student.getStudentName();/保存学生姓名和总分数request.setAttribute(GeneralPoint, Ge

23、neralPoint);session.put(subjectIDs, subjectID);/将考试题目保存到session,方便后面显示答案使用return SUCCESS;(3)试题更新代码如下:public String execute() throws Exception Subject subject = new Subject();subject.setSubjectID(subjectID);subject.setSubjectTitle(subjectTitle);subject.setSubjectOptionA(subjectOptionA);subject.setSub

24、jectOptionB(subjectOptionB);subject.setSubjectOptionC(subjectOptionC);subject.setSubjectOptionD(subjectOptionD);subject.setSubjectAnswer(subjectAnswer);subject.setSubjectParse(subjectParse);subjectService.updateSubject(subject);/更新ServletActionContext.getRequest().setAttribute(subject, subject);this

25、.addActionMessage(更新成功!);return SUCCESS;public class SubjectUpdateBefore extends ActionSupport private int subjectID;private SubjectService subjectService = new SubjectServiceImpl();public int getSubjectID() return subjectID;public void setSubjectID(int subjectID) this.subjectID = subjectID;public S

26、tring execute() throws Exception Subject subject = subjectService.showSubjectParticular(subjectID);ServletActionContext.getRequest().setAttribute(subject, subject);return SUCCESS;5界面设计5.1系统登录界面在线考试系统基本功能主要是老师录入试题和学生在线考试。输入正确用户名密码即可进行基本功能。图3 系统登录界面图5.2欢迎界面图4 欢迎界面图5.3录入试题页面图5 录入试题界面图5.4查看试题页面图6 查看试题界面

27、图5.5管理试题页面图7 管理试题页面图6总结 在线考试系统的目的在于实现考试的无纸化管理,对一些科目的考试可以通过互联网或局域网进行实施,同时方便学校的考试事务管理,也方便了考生,尤其适合考生分布地域广阔,不易集中的远程教育,本文主要开发系统前台学生考试和后台管理系统在线考试系统的设计与实现,它包括试题管理、考生管理、在线生成试卷、学生考试设置等基本功能。本文主要通过针对基于JavaEE开发技术的在线考试系统进行分析、设计和开发,同时实施关系数据库中的E-R实体关系模型图、系统程序流程图等相关工具来进行在线管理系统的设计过程进行说明。本文阐述的在线考试系统使用MyEclipse 8.5进行网

28、页程序编写,以数据库管理系统Mysql作为系统后台的数据库管理系统。过去的传统教学模式中,执行考试的过程需要老师制卷、印刷试卷、安排考试、实施监考、收卷、评卷、评估试卷,各个环节都是繁琐的过程,每个环节都需要安排相关人力、物力,这种传统形式已经不能迎合学校现代化、信息化和现有教学模式的需要。特别是在远程教学体系中,学生的分布面积大,不容易集中当面考试。这样的情况就给学校和相关学生带来众多不便。在线考试系统恰恰是信息化实施的有效产物,网络考试是传统意义上考试的拓展。总之,经过本在线考试系统的软件开发过程,软件的基本功能已经开发完成,其功能基本符合需求,能够完成一般的考试功能和后台管理功能10。参

29、 考 文 献1 陈冰. 基于C/S框架的部队院校考试系统的设计与实现D. 成都:电子科技大学, 软件工程,2011. 2 郑阿奇. Java EE基础实用教程M. 北京:电子工业出版社,2009.3 王小宁,张广彬等. JSP课程设计案例精编(第二版)M. 北京:清华大学出版社,2011.4 丁革媛,宋扬,袁中臣,魏宝武. 利用SQL Server存储过程提高在线考试系统的性能J. 微型机与应用,2011(22): 7-9.5 张以文, 王德胜, 金莹, 王爱平. 网络考试系统的设计与实现J. 计算机教育, 2009, (13):211-214,202.6 吴天. 基于B/S的网上考试系统的设

30、计与实现D. 黑龙江:东北石油大学, 计算机技术,2011.7 陆垂伟,周松林,李芳. 基于J2EE的网络考试系统设计与实现J. 计算机应用与软件,2006,(10):139-149.8 王珊,萨师煊. 数据库系统概论(第4版)M. 北京:高等教育出版社,2006.9 朱少民. 软件测试方法和技术(第二版)M. 北京:清华大学出版社,2011.10 康金辉,殷永红. 基于BS模式的电力安规考试系统的设计J 陕西理工学院学报(自然科学版),2008,24(1):107-233.Design and Implementation Of Online Examination System ZHAO

31、WeiAbstract: The main research online examination system is to achieve separation of teaching and examinations, students usually learn and self-test, large-scale examination tests provide a good platform. At the same time, reduce the burden on the academic staff, making teaching easier and more efficient. The system uses B / S structure, namely the client and server architecture, users use the system, you need to download the client, and then enter the system, and you can conduct online exams.Keywords: system design; online examinations; Java EE; B / S system资料仅供参考!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号