中国知网查重 高校在线论文查重入口

立即检测
  • 58 元/篇
    系统说明: 知网职称论文检测AMLC/SMLC是杂志社专用系统,针对投稿论文、评审论文、学校、单位职称论文的学术不端重复率检测系统。
  • 298 元/篇
    系统说明: 知网本科论文检测PMLC是最权威的大学生毕业论文检测系统,含“大学生论文联合对比库”,国内95%以上高校使用。检测结果和学校一致!
  • 498 元/篇
    系统说明: 此系统不支持验证!可用作研究生初稿检测,相比知网VIP5.3缺少“学术论文联合对比库”,检测结果有5%左右的误差!(论文中若参考往届研究生论文,重复率误差会较大)
  • 128 元/篇
    系统说明: 大分解论文检测系统,对于想检测学术不端文献检测系统,而又价格便宜的同学可以选择,限每篇2.9万字符,结果与大学生PMLC、硕博VIP定稿系统有出入!
  • 68 元/篇
    系统说明: 知网论文小分解检测系统,适合中国知网初稿查重,数据库和定稿查重不同。结果与本科PMLC,研究生VIP5.3有出入,限每篇1.4万字符!
  • 3 元/千字
    系统说明: 学术家论文重复率检测系统,支持学位论文、毕业论文、投稿论文、职称评审论文,提供全文对照,word标红报告,性价比超高!
论文案例分享-在线考试系统的设计与实现
时间:2021-03-30 14:06:11

  计算机管理信息系统的出现,使得各行各业的管理效率都得到了传统的提升。其中在高校中就有很多管理系统,比如学生信息管理系统、学生上课考勤系统、食堂管理系统、学校新闻管理系统、考试系统等等。这些系统的使用,极大的提升了学校的信息化水平和管理效率。本文所设计并开发的就是基JAVA的在线考试系统,本系统采用B/S设计模式,基于现实中的考试需求进行设计并实现。不仅方便了学生考试以及教师批阅的效率,而且提升了学校的管理效率和信息化进程。

  科技时代最大的标志就是智能化,智能化手机、智能化电器、智能化汽车等等,在这样的大背景下,学校这样机构如果想要在众多竞争者中出类拔萃,那么就不能不建立自己的智能化考试系统。拥有一套高效的考试管理系统不仅可以提高老师的办公效率,还是学校自身综合实力的体现。考试系统相较于传统的考试方式,优势数不胜数。首先就是效率高,比传统方式效率高出了数倍之多,其次就是安全性高,数据都是存储在云端,不会造成试卷信息丢失、损坏。

  1.1.2研究现状

  就目前我国的学校考试系统的发展来说,基本上跟着学校的发展脚步,可以满足学校的要求,得到效果也是非常不错的。不过,有些细节还是需要改进,而且有很大的进步空间。计算机技术和互联网技术在国外兴起的是比较早的,所以国外的考试系统对于技术的运用比我国要有很大的优势,他们那里的学校对于考试系统的研究更加深入,功能更加完善。而国外的学校也是投入了大量的资金和人力来对考试系统持续的进行更新和升级。相较于国内而言,国外的考试系统在稳定性、设备的先进性、技术的成熟性方面有着很大的优势,还是很值得我们去研究、借鉴和学习的。

  1.2研究意义

  开发考试系统,从宏观来说是提升学校自身的综合实力,从微观来说是对学生个体的负责。通过学校的考试系统,学校可以清楚的了解到每个专业的每个学生的真实学习水平,在实现规范化管理学校考试流程的同时,还能为学生提供一个便捷的学习平台,是一件非常有意义的事情。归类其研究意义有以下几点:

  (1)有助于学校的信息化建设,完善学校的网络教育系统,提升学校的管理效率。

  (2)帮助老师更加快速的批阅试卷,节约时间放在学生的知识教育上面。

  (3)摆脱传统考试模式的弊端,加强学校的信息化管理。

  1.3研究思路

  本文的研究思路是在开发系统之前,先要充分的了解互联网的背景,系统开发的目的与意义是什么,然后对开发所使用到的结构模式、开发语言等做详细的学习和练习,通过分析系统的开发需求,做好技术知识的储备,详细的分析本系统的使用人群,通过分析得到数据针对性的进行系统功能的设计,功能设计完成之后在理论上分析程序的功能模块之间的衔接是否符合逻辑,分析完成之后,准备好所需要的软件和硬件,各种数据包进行程序具体的开发工作,系统开发完成之后一定要做系统的测试,通过测试找出系统中存在的BUG并进行针对性的修复,并做好相关记录,确保系统的稳定正常的运行。

  1.4研究方法

  本文的研究方法主要有:

  (1)调查法

  首先对本系统的现状进行调查和分析,分别针对不同工作的人群进行问卷调查,整理和归纳问卷调查的信息,了解不同身份对于网站的需求点,为本系统的功能模块做理论依据,使得本文研发的本系统能更好的为用户服务。

  (2)文献法

  整理和总结有关本系统的论文和资料,了解开发本系统所需要的语言和工具,掌握本系统开发需要的方法,为解决本系统问题提供夯实的理论依据。同时,通过阅读相关的文献资料,为后期撰写论文打下基础。

  (3)分析对比法

  通过前期的资料查询,分析目前已有的本系统,总结出它们的各自特点以及优劣势,从而扬长避短,取其精华,为本系统的设计目标和设计需求提供依据。同时分析目前本系统所存在的不足之处,提出相应本本系统设计方案,通过信息化方式制定管理模式。

  2开发技术介绍

  2.1B/S模式

  随着互联网的发着,WEB技术得到了广泛的应用,人们使用的计算机程序逐渐由客户端的模式逐渐转变到了网页端的模式,也就是C/S模式转到了B/S模式,并且得到了广泛的应用和用户的喜欢,相较于C/S模式,B/S模式对系统运行环境的要求更加的低,运行速度更快,不受时间地点的限制,因为它的信息主要存储在云端服务器,对设备的运行环境要求不高,人们使用手机和电脑,打开网页就能访问。所以备受人们的青睐。

  2.2JSP简介

  JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  2.3MySql数据库

  MySQL数据库被非常多的编程人员使用,MySql数据库适用于中小型程序的数据存储,可以和JSP技术进行很好的搭配使用。MySql数据库非常适合刚学习编程的人进行学习,首先从下载上来说,直接到官方网站或者百度上搜索就能搜索到MySql的下载地址,下载完成之后直接点击安装文件,傻瓜式一键安装完成就可以正常使用了,非常的简单。MySql语句也是通俗易懂,都有固定的语句格式,建数据库、建表、删除表、添加、修改、删除、查询等语句直接套用格式就可以正常使用。最重要的是JSP等目前主流的编程语言,都支持和MySql数据库的连接,这对于程序中各种数据的相互传输以及存储有很大的帮助。Mysql数据库非常重视对于数据安全的保护,可以给予程序中的运行的大量数据充分的安全保证。

  2.4MyEclispe

  MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。据官方介绍,诸如三星、IBM、戴尔、惠普、花旗集团、西门子、斯坦福大学、波音公司等知名机构均使用MyEclipse进行Java、JavaEE开发,80%以上的全球财富100强企业均是MyEclipse的用户。

  MyEclipse提供了对UML、Ajax、Web、WebServices、J2EE、JSP、XML、Struts、JSF、JavaPersistence、EJB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。

  MyEclipse全面支持Eclipse开源平台的所有功能特性,如果你熟悉Eclipse,那么你能够轻松地上手MyEclipse,包括熟悉的Eclipse快捷键,而且使用MyEclipse完成某项任务往往要比使用Eclipse更加快速、简单。

  3需求分析

  3.1功能需求分析

  本系统所设计的目的就是为了方便学生考试,因此本系统在功能需求上需要满足如下几点:

  教师:

  (1)教师可以对学生的基本信息进行增删改查操作。

  (2)教师可以进行题目的新增和修改等。

  (3)教师可以进行学生成绩的管理。

  (4)教师可以进行学习资料的增删改查等。

  学生:

  (1)学生可以进行在线考试,这也是本系统的核心功能。

  (2)学生可以查看自己的考试成绩。

  (3)学生可以管理自己的基本信息。

  3.2性能需求分析

  1)系统易操作性

  系统一定要容易上手,界面友好,不需要花费时间来学习,最好支持一键操作。

  2)系统具有可维护性

  由于在线考试系统中储存着大量的试题和学生等信息,这些信息学校非常重要,所以系统一定要运行稳定,不要出现崩溃数据丢失等情况,所以系统一定要具有可维护性。

  3)系统具有无限制操作软件

  系统的运行环境不要太苛刻,要支持普通的电脑或者手机设备,对于操作软件的要求要极低。

  3.3系统可行性分析

  3.3.1经济可行性分析

  本系统采用的B/S结构进行开发的,B/S结构是一种轻型结构,对于开发的硬件要求不高,系统用WIN7/WIN10就可以很好的满足。而且本系统的开发无需耗费太多的人力,基本上只需一位技术扎实一点的程序员就可以完成,除了之后程序的发布以及推广费用之外,几乎在无任何其他投入,因此在经济上是非常可行的。

  3.3.2技术可行性分析

  本网站开发使用的JAVA技术,数据库用的MySQL数据库,这些都是学校里所教授的课程,本人经过四年的学习和研究,对于这些技术已经较为了解,开发本系统的功能足够可以应对,而且现在网上资料非常多,如果遇到某一个功能的实现有些困难,也可以通过网络来进行学习和处理,所以在技术上是可以行的。

  3.3.3操作可行性分析

  从开发的角度说,本系统的开发只需要一台可以联网的普通办公电脑即可,在电脑中安装好开发所需要的软件就可以进行。而且目前网络在我国已经得到了比较深入的普及,人们对于各种互联网设备的应用已经再熟悉不过了,再加上本系统的功能模块设计都是采用的一键式操作,功能模块的名称都可以充分的反映模块的功能,使人们一看就懂,一看就会,所以在操作可行性方面是完全可行的。

  4系统设计与实现

  4.1功能设计

  基于上面的需求分析,最后确定了本系统的主要功能模块如下:

  教师:

  (1)录入试题:教师可以进行试题的录入。

  (2)试题管理:教师可以进行试题信息的管理。

  (3)新增学生:教师可以添加新学生的信息。

  (4)新增学习资料:教师可以添加新的学习资料。

  (5)学生信息管理:教师可以管理学生信息。

  学生:

  (1)在线考试:学生可以在线进行考试。

  (2)成绩查询:学生可以在线进行成绩查询。

  (3)学习管理:学生可以查看自己学习的课程情况。

  本系统功能结构图如图4-1所示。

  图4-1系统功能结构图

  4.2数据库设计

  根据系统的功能,进行了数据库表的设计,本系统的数据库表包括tb_course(课程表)、tb_examine(考试表)、tb_res(成绩表)、tb_role(角色表)等。

  表4-2-1tb_course

  字段名 类型 长度 是否为空

  courseId int 11 否

  courseName varchar 50 是

  createTime varchar 50 是

  expTime varchar 50 是

  grade varchar 50 是

  modify_Time varchar 50 是

  state varchar 50 是

  表4-2-2tb_examine

  字段名 类型 长度 是否为空

  id int 11 否

  examineName varchar 11 是

  grade varchar 255 是

  startTime varchar 100 是

  courseId varchar 100 是

  表4-2-3tb_res

  字段名 类型 长度 是否为空

  resId int 11 否

  createTime varchar 255 是

  resLvl varchar 255 是

  resName varchar 255 是

  resType varchar 255 是

  resUrl varchar 255 是

  serial varchar 255 是

  表4-2-4tb_role

  字段名 类型 长度 是否为空

  roleId int 11 否

  createTime varchar 50 是

  roleName varchar 50 是

  state varchar 50 是

  4.3功能实现

  4.3.1教师功能

  (1)录入试题

  教师可以在此界面进行试题的添加,内容包括科目名、试题类型、试题题目、选项ABCD设置、正确答案设置,试题解析等内容。如图4-1所示。

  图4-1录入试题

  关键代码实现:

  代码1:录入试题功能

  publicStringadd(){

   try{

   subjectService.add(subject);

   this.addActionMessage("新增试题成功!");

   }catch(Exceptione){

   e.printStackTrace();

   this.addActionMessage("新增试题失败:"+e.getMessage());

   }

   return"input";

   }

  (2)试题管理

  教师可以对试题进行管理。包括试题编号、试题标题、正确答案、试题类型、还有查看、修改、删除等操作。如图4-2所示。

  图4-2试题管理

  关键代码实现:

  代码2:试题管理功能

  publicStringinput(){

   Listexam=exam.getAll();

   getRequest().setAttribute("exam",exam);

   return"input";

   }

  (3)新增学生

  教师可以对学生进行新增,信息内容包括账号、用户名称、密码、确认密码、手机号码、年级、用户类型等。如图4-3所示。

  图4-3新增学生

  关键代码实现:

  代码3:新增学生功能

  publicStringinput(){

   return"input";

   }

   publicStringadd(){

   try{

   userService.add(user);

   this.addActionMessage("新增用户成功!");

   }catch(Exceptione){

   e.printStackTrace();

   this.addActionMessage("新增用户失败:"+e.getMessage());

   }

   return"input";

   }

  (4)新增学习资料

  教师可以通过此模块进行学习资料的添加,内容包括科目名称、资料名称、张杰、资料内容、序号等。如图4-4所示。

  图4-4新增学习资料

  关键代码实现:

  代码4:新增学习资料功能

  publicStringadd(){

   try{

   studyService.add(study);

   this.addActionMessage("新增学习资料成功!");

   }catch(Exceptione){

   e.printStackTrace();

   this.addActionMessage("新增学习资料失败:"+e.getMessage());

   }

   return"input";

   }

  (5)学生基本信息管理

  教师可以对学生的基本信息进行管理,内容包括学生账号、学生姓名、年级、手机号码。可以进行查询和新增操作。如图4-5所示。

  图4-5学生基本信息管理

  关键代码实现:

  代码5:学生基本信息管理功能

  publicStringstudentList(){

   UsersysUser=(User)getSession().getAttribute("session_user_key");

   Pagepage=newPage();

   page.setEveryPage(10);//每页显示10条记录

   page.setCurrentPage(currentPage);//设置当前页

   user.setUserType("1");

   PageResultpageResult=userService.queryUserByPage(page,user,sysUser);

   getRequest().setAttribute("pageResult",pageResult);

   getRequest().setAttribute("name",user.getName());

   getRequest().setAttribute("account",user.getAccount());

   return"studentList";

   }

  4.3.3学生功能

  (1)在线考试

  学生可以通过在线考试界面进行在线考试,学生点击在线考试,自动进入考试页面,学生可以进行答题。如图4-6所示。

  图4-6在线考试

  关键代码实现:

  代码6:在线考试功能

  publicStringedit(){

   subject=subjectService.getById(id);

   Listcourses=courseService.getAll();

   getRequest().setAttribute("courses",courses);

   getRequest().setAttribute("subject",subject);

   return"edit";

   }

  (2)成绩查询

  学生可以进行考试成绩的查询,点击考试成绩按钮可以进入成绩查询页面,查看自己的成绩信息。如图4-7所示。

  图4-7成绩查询

  关键代码实现:

  代码7:成绩查询功能

  publicPageResultqueryScoreByPage(Pagepage,Scorescore,UsersysUser){

   Mapmap=newHashMap();

   Stringhql="fromScoreawhere1=1";

   if(score.getUser()!=null&&StringUtils.isNotBlank(score.getUser().getName())){

   hql+="anda.user.namelike:name";

   map.put("name","%"+score.getUser().getName()+"%");

   }

   if("1".equals(sysUser.getUserType())){

   hql+="anda.user.userId=:userId";

   map.put("userId",sysUser.getUserId());

   }

  (3)学习管理

  学生可以对自己的学习课程情况进行管理,内容包括课程名称、资料名称、创建时间、详情操作等。如图4-8所示。

  图4-8学习管理

  关键代码实现:

  代码8:学习管理功能

  publicListgetSubject(StringsubjectType,Stringid){

   Mapvalues=newHashMap();

   values.put("subjectType",subjectType);

   values.put("courseId",id);

   Stringhql="fromSubjectawherea.subjectType=:subjectTypeanda.course.courseId=:courseIdorderbyrand()";

   Queryquery=subjectDao.createQuery(hql,values);

   query.setMaxResults(10);

   returnquery.list();

  5系统测试

  5.1测试目的

  程序测试可以说是程序开发中相当重要的一个环节了。是程序上线的必经之路。通常在写程序的过程中被程序要所忽略的错误都会在程序测试中暴露出来。程序员通过这些问题对程序进行进一步的调试,确保程序的稳定运行。在测试过程中,程序员可以让用户进行体验,然后通过总结用户的使用体验来对程序功能进行完善。是程序更加符合用户的需求。这样开发出来的程序在市场竞争中可以取得很大的优势。

  5.2测试内容

  这次主要对程序的功能和性能进行测试,包括软件是否可以正常运行,运行中是否出现问题,在一定的压力之下,系统的运行速度以及运行状态如何等等。对系统的各个功能模块进行详细的测试,模拟操作系统上线后用户的操作行为,查看各个功能模块是否可以正常使用。

  5.3性能测试

  性能测试是测试环节中最重要的一节,因为一个系统能否被用户喜欢,那么他的整体性能的好坏起着关键性的作用。谁也不愿意去上一个用起来一卡一卡的网站。大家都喜欢使用运行流畅的。除了网站的流畅性之外,我们还要测试网站是否可以承受大量用户同时访问,查看是否会出现用户过载而崩溃的情况。保证系统运行的稳定。我们会让网站在一段时间内不间断的工作,然后快速的点击各个功能模块,查看是否可以快速响应,查看网站的最长工作时间。

  5.4压力测试

  本系统采用了WAST工具对系统进行压力测试,在系统正式运行之前,采用此工具可以模拟大量用户进入可以查看系统的响应时间以及运行的状态,通过测试结果得知硬件是否可以在有大量用户进入该系统时承载,该工具有以下特点:

  (1)免费使用,由微软设计的提供开发者进行系统测试。

  (2)简单易懂,可以快速的了解软件的使用方法。测试的界面图,如图5-1所示。

  图5-1测试界面图

  测试最重要的目的是为了查看随着用户数的增长,系统的响应时间、CPU占用率以及内存使用率的具体情况。压力测试表,如表5-1所示。

  表5-1压力测试表

  编号 当前用户数 内存使用率 CPU占用率 响应时间

  1 200 2.68% 3.78% 24ms

  2 400 7.32% 28.64% 87ms

  3 600 9.04% 33.64% 132ms

  4 800 9.62% 51.25% 146ms

  5 1000 11.63% 86.67% 196ms

  6 2000 15.32% 93.43% 298ms

  上述测试表得出的结果可以看出该系统是可以满足用户的需求的,不会存在用户数过多而无法运行的情况。

  5.5测试用例

  系统正式运行上线前需要尽量避免各种问题的出现,正式上线后不能随意修改程序,避免带来不良影响和灾难性后果,因此在上线前需要我们进行测试,现针对系统功能模块进行上线前测试得到如表5-2所示。

  表5-2项目测试案例表

  项目名称 在线考试系统 程序版本 1.0

  测试环境 硬件环境:笔记本电脑

   软件环境:windows系统

  功能模块 录入试题

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 点击录入试题,输入试题内容,点击录入按钮 试题信息 录入成功 与预期相符

  2 点击录入试题,输入错误的试题信息,点击录入按钮 错误试题信息 提示内容错误 与预期相符

  功能模块 试题管理

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 进入试题管理页面,对试题信息进行增、改、查操作 试题信息 操作成功 与预期相符

  2 进入试题管理页面,对试题信息进行删除操作 无 删除成功 与预期相符

  功能模块 新增学生

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 点击新增学生,输入学生信息,点击新增按钮 学生信息 新增成功 与预期相符

  2 点击新增学生,输入错误的学生信息,点击新增按钮 错误的学生信息 提示内容错误 与预期相符

  功能模块 新增学习资料

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 点击新增学习资料,输入学习资料信息,点击新增 学习资料信息 新增成功 与预期相符

  2 点击新增学习资料,输入错误的学习资料信息,点击新增 错误的学习资料信息 提示内容错误 与预期相符

  功能模块 在线考试

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 点击在线考试,进入考试页面,进行答题,然后提交 考试信息 考试成功 与预期相符

  2 点击在线考试,进入考试页面,不答题直接提交 无 提示请答题 与预期相符

  功能模块 成绩查询

  用例编号 测试步骤 输入数据 预期结果 测试结果

  1 点击成绩查询,查看成绩信息 成绩信息 查询成功 与预期相符

  2 输入学号,点击成绩查询 学号 查询成功 与预期相符

  5.6测试结果

  能够达到预期目标,但是由于技术的原因,有些功能虽然能实现,但是并不是最理想状态。系统界面只是粗略设计,并不完善;查看信息功能,在刚进入信息界面时,有小几率不能获取到已经有的信息,这点有待完善;因为整个系统在设计和测试阶段,用户体验并不好,因为技术不足,此处并未实现。

  结论

  互联网时代的到来,使人们的生活变得简单和方便,在各个领域中,有各种各样的系统为人们带来方便,其中学校的在线考试系统就是其中之一,本文这次所开发的这个系统就是一个在线考试系统,之所以选择设计这个系统主要是在学校的考试中,看到学校每次因为考试发很多纸质的试卷以及老师进行试卷的批改而浪费很多纸张和时间,因此突然有了灵感,开发了这个系统作为毕业设计。本系统开发所使用的技术是JAVA技术,JAVA技术是目前非常流行的系统开发技术,而且简单易学,本人就是在大学期间学习的,因此对这项技术的使用非常熟练,完全可以应对此次系统的开发,数据库方面选择的MySql,MySql数据库可以和JAVA技术进行非常完美的衔接,有固定的链接语句,非常方便,而且MySql数据库的功能也是非常强大,对于本系统数据的交互和保护是非常有利的。通过使用这两样我比较熟练的技术,才得以是本系统的开发如此顺利,如今,经过测试,系统已经可以正常运行,满足用户的需要,也满足毕业设计的需求。