【《基于Android的在线考试APP设计》18000字】_第1页
【《基于Android的在线考试APP设计》18000字】_第2页
【《基于Android的在线考试APP设计》18000字】_第3页
【《基于Android的在线考试APP设计》18000字】_第4页
【《基于Android的在线考试APP设计》18000字】_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要传统考试的组织方式往往需要一名老师专门负责组织编写考试试卷、然后到打印室打印考生试卷、教务处负责考生考试时间安排、考场安排、监考安排、考完试后监考老师收取所有考生所考试卷、然后组织专业老师进行集中阅卷并通过考试成绩的数据分析此次考试的情况。这显然是一个漫长而复杂传统教育考试模式,并且,目前疫情尚未完全结束,跨地域的线下考试很难进行,传统的线下笔试考试的模式已经越来越不适应现代教育教学考试的需要了,因此,对线上考试需求也在逐步提高。笔者针对目前的现实设计和实现了基于JavaEE和Android客户端的在线考试系统APP,该在线考试系统app架构是由一个通过浏览器访问服务器的B/S架构的后台管理系统和一个通过移动设备访问服务器的C/S架构的Android客户端组合而成的[1]。后台管理系统采用JavaEE最新整合框架(SSM)(SpringMVC、Spring、Mybatis),该框架能偶使得系统的控制层、系统的业务层、系统的展示层以及数据持久层四层结构得到很好的分离,这样以来,一方面能降低该在线考试系统各层之间的耦合度,另一方面还能提高该系统的可维护性与可扩展性;本次开发在移动客户端使用JAVA语言和AndroidSDK开发,服务器软件使用Tomcat,并使用MySQL数据库服务器进行数据存储。本论文首先介绍该系统的开发背景及意义,详细分析了国内外同类系统的现状情况。接着介绍了开发该系统需要的研发技术及环境配置,然后根据在网上做的调研对该在线考试系统app做出了需求分析,并做了相应的可行性研究,主要包括经济可行性、技术可行性、环境可行性;然后又在需求分析的基础上对该在线考试系统APP先是进行了总体设计,主要包括:详细讨论了系统数据流的设计情况、还有数据库设计(包括E-R图、数据流图等),并分别对客户端及后台管理系统各功能做了详细的分析设计,然后又根据系统设计的情况逐步实现它,接着对该系统各功能做了测试,最后完成了整个在线考试系统[2]。关键词:在线考试;Android;C/S架构;JavaEE;SSM第1章绪论1.1研究背景和意义1.1.1研究背景去年疫情期间,由于全国高校都开不了学,学生到不了校,全国高校都采用线上的方式上课教学、线上的方式考试,所以想以此为课题,开发一款专门用于线上考试的app。教师登录后台管理系统可以创建考试题库,学生登录客户端系统会根据相应的算法,从题库里随机抽题自动组合成一张具有选择题、填空题、判断题、简答题的完整试卷,然后进行答题。该系统可以保证同学之间的试卷都不一样,这样技能为大家提供方便提高效率,也能保证考试的公平、公正性[3]。1.1.2研究意义当今时代是互联网时代,传统的线下笔试已经不能适应所有的考试,比如在疫情严重的地区,出行都不方便也不安全,如果要参加跨地域的线下考试,可能需要隔离做检测,这样一来,既浪费了时间精力,也可能会耽误了考试。由此,在线考试的优势就能体现出来了:首先,考生可以不用到现场只要有互联网和移动设备就能登录到考试系统中参加考试,节省了考生行程的费用的同时,也让考生不用为跨地域参加考试而浪费不必要的时间精力。其次,考试组织方不用印刷纸质试卷,节省了组织考试的费用,计算机判题也能减轻教师判题的负担,节省了考试方的人力、物力和财力;最后,在互联网时代,在线考试的方式充分发挥了计算机在信息处理方面能力强大的优势,比如教师登录后台可以建立海量的考试题库供未来的考试使用,考生在客户端使用用户名和密码登录系统,试卷由系统的设置自动从题库中随机抽题组合而成,两两考生之间试卷完全相同的概率几乎为0,考试结束后,客观题可由计算机自动判卷,这样能提高教师阅卷的效率,并且由计算机对试卷结果进行统计分析并生成成绩报表,提供给老师查看考试情况。所以,设计并开发一个能实现网络化、跨地域的在线考试系统app,对现代教育的信息化建设有着深远的使用价值和现实意义。1.2研究状况1.2.1国外研究现状网络考试模式是起源于现代美国,目前在国外也已经得到了普遍的广泛应用。西方国家还有很多专门的企业招聘人员考试考核机制,使用各种计算机面试辅助招聘测试系统来准确评估所有能够参与面试考核的应聘人员。著名的国际人力资源管理考试专业机构主要包括有一家美国思而文学习系统股份有限公司,它在美国国内长期致力于为教育事业和大学电子信息行业,其中还包括计算机技能考试的专业服务,这家公司遍布在全球六大洲,其中包括了一百四十多个国家和地区,在这些地区一共开设了二千二百多个考试服务中心,该公司用二十五种语言提供了大约一百个不同种类型的一千多场考试,世界上最大的综合考试管理机构之一美国高等教育综合考试教学服务管理中心于1993年起就已经正式开始对GRE(硕士研究生入学基本考试)实行了自动适应综合考试的模式,并且也逐渐逐步减少了以考试纸质卷笔试类型的考试。2000起,TOEFL考试管理模型在中国正式推出,并且全部采取了自适应分级考核的模式进行。1.2.2国内研究现状我国在网络考试这一领域相对比较落后,目前主要还是计算机专业类这一小部分的考试使用了计算机作为辅助考试的工具。例如中学时期的计算机信息技术会考考试,大学时间的计算机等级水平考试等等。目前国内大学英语四六级都采用先在数据库中出题,然后计算机根据相应的算法随机从数据库中抽题组卷进行难度的测试[4],测试成功难度指数正常后才正式当考试真题出考题。此外,国家目前正在在中小学教育中建立相应的试题数据库,并在不断地更新和完善题库的内容。Internet的诞生后,人们将注意力集中到了一种基于web的互联网网络在线考试系统上。相对来说现阶段国外领先一步,国外目前已有许多成功在线考试案例,如GRE、TOEFL考试等等。对于国内而言,北京学习通教育科技有限公司开发的超星学习通,目前几乎全国高校都在使用该app,该软件主要功能是一款专门针对移动智能手机、平板电脑等各种新型移动网络终端的新型商业移动网络学习应用综合性强和专业化的学习平台,用户随时都已经可以在超星移动学习通上随时进行自助和本地查询完成对学校图书馆的电子藏品查询借阅信息查询,学习本地的高等学校网络课程和随时参加学校网络教学测试、考核,为广大高校用户随时提供了方便快捷的新型移动网络学习应用服务。1.3本文的组织结构本文从实际需求出发,着重于开发在线考试系统APP。本文首先介绍与APP开发有关的基础技术,开发环境。然后根据在网上做的调研对该在线考试系统app做出了需求分析,并做了相应的可行性研究,主要包括经济可行性、技术可行性、环境可行性;然后又在需求分析的基础上对该在线考试系统APP先是进行了总体设计,主要包括:详细讨论了系统数据流的设计情况、还有数据库设计(包括E-R图、数据流图等),然后根据总体设计对各功能进行编码实现,接着对系统做综合测试,最后做出了总结。论文共分为7章,总体结构安排如下:第1章主要介绍了该系统的的研究背景及研究意义,并详细分析了当前国内外在线考试系统APP的发展现状。第2章主要阐述了本在线考试系统APP所涉及到的主要技术知识点,包括对Android做了简单介绍,分析了Android软件的结构层次,然后分别介绍了客户端和后台管理系统的开发环境,以及Tomcat服务器、MySQL数据库服务器的相关介绍。第3章可行性研究与需求分析,给出了总体方案,对该项目进行了需求分析,分别列出了该系统客户端学生用户需求,后台管理系统教师和管理员需求,并做了可行性分析,包括经济可行性、技术可行性、环境可行性;还介绍了系统开发的原则。第4章首先给出了系统设计所要遵循的原则,接着对系统总体架构进行了分析与设计,包括Android手机客户端与服务器采用C/S架构,后台管理系统与服务器采用B/S架构;然后给出了系统数据流设计图分析了该系统的数据流设计;详细设计包括后台管理系统和客户端各功能各模块的分析与设计;最后是设计数据库,给出了全局E-R图,还有各数据表的详细设计。第5章首先介绍了开发该系统所需要开发环境和开发工具,包括客户端、后台管理系统的开发环境和开发语言;紧接着对该系统总体实现做出了概述总结,给出了系统总体实现图;然后介绍了后台管理系统各功能的实现,包括用户注册登录、用户权限控制管理、考试管理等等;客户端各功能实现包括主页查看个人信息、课程及考试查询、在线考试功能等等。第6章首先介绍了系统测试的目的与目标,给出了AndroidAPP基本测试的流程图,然后分别对客户端和后台管理系统各功能做实验测试,并分析该APP的功能,最后给出测试结论。第7章首先总结了本文的主要做的工作及存在不足的之处、然后又针对本在线考试系统APP的不足之处提出了改进方案并做出了展望。第2章相关技术知识介绍2.1Android介绍2.1.1Android简介Android是一个移动设备的平台,它的软件结构层次包括以下四个方面:一是操作系统(OS),Android使用Linux2.6作为它的操作系统;第二是中间件(MiddleWare),中间件由各种库和Android运行环境组成,第三是应用程序框架(ApplicationFramework),它为应用程序层的开发者提供APIs,第四是应用程序(Application),其主要是用户界面(UserInterface)方面的,通常以JAVA程序语言编写的,Android软件层次结构图如图2.1所示。图2.1Android软件层次结构2.2开发环境2.2.1客户端开发环境AndroidSDK开发包sdk是softwaredevelopmentkit的英文缩写,它也是一个适用于各种应用程序和软件开发的工具集。而androidsdk则是指google专门针对android开发人员量身定制的一个软件开发工具包。笔者所研究设计的主要是基于android软件应用系统层次上软件程序的设计开发,基于adsdk的开发android应用软件开发课程只能只是局限于自己一人来设计开发一个android应用系统的软件应用程序,其实也只能就是自己一人来设计开发一个android应用系统中最上层的软件应用程序。主要功能是通过借助微软官方一些简单的设计方法与对capil的接口适配来对其进行一些相关的数据逻辑结构设计,并且通过一些接口适配器把整个数据库的表现显示出来后并放置连接到由ccxml脚本编程语言所自行编写的一个布局式数据文件中。android每个新的版本中也都会同时附带一个与编号api相同或对应的编号api[9],目前最新的一个版本编号为api29(Android10.0Nougat)。6.0以上的系统权限等级管理没有重大的功能改变,权限等级管理功能不会在系统重新安装时一次性地再赋予其他用户一个下属的授权,权限被重新划分成更为危险的权限等级,危险级的权限将在一个用户自己决定使用一个app的系统过程中被再次动态地赋予让其他用户自己自由去进行选择或者决定是否可以认可它的授权[10]。这样的管理机制可以在一定范围内有效地控制恶意软件、病毒和网络攻击在手机系统中的传播和扩散,保障了手机用户的切身利益和个人资料安全。AndroidStudio开发环境在前期的英文android序列系统设计开发中,开发者通常都认为只能自由选择直接使用数字eclipseadt数字进行系统开发,其中数字adt可能是英文androiddevelopmenttools的一个英语英文缩写,是一种android系统开发工具。但是oeclipse不是为使用android开发系统的软件开发人员提供专属的环境设计,在实际运用android开发系统软件开发的工作过程中,常常我们会碰巧地偶然遇到很多在开发软件上的问题bug,不仅往往困扰着这些问题难以及时得到有效的根本解决、还往往会严重耽误着系统开发的工作进度,所以aogoogle两个公司便彻底摒弃了针对环境adt两个插件的技术开发和系统维护,同时也或许正是因为这些技术问题,他们才开始出于自身是从技术和产业发展的不同角度进行考虑,研发并推出了一个新的基于android插件开发的系统环境版本androidstudio(以下具体情况简称环境as),如今该环境版本已迭换一代更新至2.2,开发环境用户操作体验良好,越来越少更多的开发用户直接转入到了as新的开发环境android。但是由于目前as的基础编译安装工具都主要是基于grade-regrade-regrade没有编译过的环境,对于使用as的很多新人用户来说,as的这个基础编译环境下的配置安装工作显然是一个十分麻烦的一个过程,要对于sbuildtools新的版本等都非常需要严格的进行下载和安装部署[11]。所以当我们的基础设施和环境都配置好后,开发过程速度很快,并且具有很强的自动搜索,在这个插件市场上也是有各类第三方免费的高级插件,让我们的开发人员比较容易地完成。2.2.2后台管理系统Eclipse开发环境Eclipse主要用于JAVA开发,该工具功能非常强大,有丰富的快捷键,详细的提示信息,超强的自动补全功能。它不仅仅是一个IDE,更是一个框架加一组服务。它支持各种插件的安装,从而能够实现丰富多彩的功能,Eclipse一直是JAVA开发人员最常用的工具,深受JAVA开发人员的喜欢。Tomcat服务器tomcat应用服务器本身本来就是一个重量级、免费、开源、广泛应用的该程序也是开发者和企业用户普遍深受青睐的一个web应用服务器,它主要用于支持serlet和jsp,tomcat本身就是一套属于整个apache公司的一套系列应用软件,可以直接用来承载整个javaweb应用程序。MySQL数据库mysql系统是一种通用关系式企业数据库信息管理分析系统,其主要特点之一是系统体积小、速度快、对于企业个人和其他企业系统用户来说完全免费、容易于用户学习、可移植性强、提供了丰富的软件接口、支持数据查询多种语言,数据管理分析和信息共享系统工作效率高、所有的需要数据占有的存储空间小、安装简便。2.3本章小结本章主要阐述了本在线考试系统APP所涉及到的主要技术知识点,包括对Android做了简单介绍,分析了Android软件的结构层次,然后分别介绍了客户端和后台管理系统的开发环境,以及Tomcat服务器、MySQL数据库服务器的相关介绍。第三章可行性研究与需求分析3.1可行性研究对于一些应用程序软件开发的领域来说,对其进行可行性的分析和研究就变得十分重要,客观地证明了开发的必要性,它也是一种权衡开发者所设计的程序软件是否有价值的标准。下面主要针对笔者自己设计和开发android在线网络考试管理系统的课题做了一个可行性的分析,主要涉及以下三个基本因素:经济上的可行性、技术上的可行性、环境上的可行性。3.1.1经济可行性软件的市场经济性主要可以表现为,在没有充分考虑了开发成本的必要前提下,所有对需要进行开发的一个软件产品能否直接获得一定的社会市场经济价值,通过对其产品进行商业运营和市场推广,使其是否直接获得了经济利益等的。根据当下的市场情况我们进行了市场调查,基于android客户端的在线考试软件虽然已经完全能够直接有效实现在线考试的实际效果,但在国内各个高校中实际应用几乎都基本为零,这种现象就充分说明了该软件产品在未来的市场上可以说具有很好的实际应用效果和广阔的市场发展空间。根据此类应用软件产品在专业技术上的应用层次,再对它们的升级产品进行了大量的研发和投入,争取将该类应用软件在功能上设计拓展得更为丰富多彩,用户界面美观大方,操作简便方便,从而能够不断地提高广大用户的操作体验,该类应用软件的市场经济发展和实际应用前景也一定会发展得非常好,具有很高的潜在经济、商业应用价值。3.1.2技术可行性任何一个应用软件都是在技术上进行研究的,首先我们需要考虑的应该是在进行开发和设计一个应用软件之前,所处的技术环境是否够满足支撑一个应用软件的总体可靠性和整体实现,从而就需要综合地分析一个软件的技术能力和硬件设施的可靠性。其次在进行设计和开发一个软件时,需要详细地分析一个软件是否有能够实现它的核心功能、如何实现它的整体功能,也就是需求说明中的要求。在软件设计方面,无论是软件编译过程中必须使用的eclipse工具和其他插件,还是平台上必须使用的计算机编程语言,都已经完全具备了对于实现这个课题的应用能力。在硬件设施方面,计算机等操作系统以及软件后台针对数据信息进行保存的mysql数据库,都足够支撑整个软件开发和设计。3.1.3环境可行性在当今互联网信息时代的热潮下,应用软件已经出现在每台移动智能设备当中,加上如今以Android为主要操作系统的移动智能设备也得到了飞速发展,所以这些两者融合的应用软件在当前的市场中都是拥有非常大的需求。对于我们开发者而言,设计一款基于安卓平台的软件,它就自然地迎合了当前环境下的需求。另一方面来看,国内大多数高等院校对于这些运行在移动设备上的考试软件实际运用得比较少,并且由于在校生的课余时间还是比较丰富的,应用这些考试软件产品能够让我们这些在校大学生更好地利用这些碎片化的时间,不必再需要特别刻意地将上课的时间空下来留给考试,从而为我们节省了许多的人力、财力和物力。3.2需求分析3.2.1功能需求功能需求通常来说是根据用户的实际需要,产品经理通过与技术人员对接,把实际需求转化为在软件功能上的需求[12],然后由开发人员实现的这些具体功能,开发人员开发完成后,就可以让用户进行基本的操作,这样满足了用户在业务上的功能需求。下面就根据用户的实际需求对该在线考试系统APP进行需求描述与分析。3.2.2需求描述根据该在线考试系统APP的功能需求,该软件系统的用户中包括管理员用户、教师用户和学生用户。学生用户登录该在线考试APP客户端可以完成以下操作:查询个人信息,查看自己课程信息和考试信息;老师发布考试命令后可以查看考试信息并参加考试;考完试后可以查询考试成绩。教师用户主要完成:管理自己的教学课程和学生,包括对课程和课程所对应的学生进行增加、删除、修改、查询操作,可以管理考试题库、对考试题库做增加、删除、修改、查询操作;发布考试信息;学生答题结束后,可以查看各学生、各题的答题情况,还可以查看考试结果成绩统计图,对考试情况做分析。管理员用户可以完成以下功能:管理学生、教师及课程信息,包括对学生、教师、课程、题库做增加、删除、修改、查询等基本操作操作,可以管理角色权限,给不同角色的用户赋予不同权限,可以通过查看系统日志,维护和管理系统的安全稳定性。系统功能模块如图3.1所示。图3.1系统功能模块图下面就主要对管理员用户、学生用户和教师用户的需求进行阐述:3.2.3客户端——学生用户需求1.学生用户最主要的需求是在线考试,其中也包含注册、登录、查询个人信息、查询课程信息、查询考试信息等,学生用户例图如图3.2所示:(1)注册:学生用户可以使用用户名和密码注册新用户(2)登录:学生用户使用已注册的用户名和密码在客户端登录系统,如果登录成功则跳转到主界面,否则系统将提示登录失败,用户需要重新登录。(3)学生用户可以查看自己课程信息和考试信息。(4)学生用户在教师发布考试后可以通过客户端进入该系统参加考试,系统会根据教师对各题型设置的数量从题库中随机抽题组合成试卷,并分配给学生,保证了两两同学之间试卷不相同。(5)学生用户可以查询各科考试成绩。(6)学生用户可以查看和修改个人的基本信息,如修改用户名和密码等。图3.2学生用户例图3.2.4后台管理系统教师用户需求2.教师用户在该系统中主要完成对课程的操作、学生的管理及考试的发布,教师用户例如图3.3所示。(1)注册:教师用户可以使用工号注册新用户(2)登录:教师用户可以使用注册的用户名和密码在后台管理系统登录(3)教师可以对自己所教学的课程信息、及该课程对应的学生信息进行增加、删除、修改和查询操作。(4)教师可以查询自己所教学课程的考试信息和发布考试信息。(5)教师可以增加、删除、修改、查询自己所教学的考试题库。(6)教师在发布考试信息时,可以设置各类型题目的数量及分数,(7)教师用户登录后台管理系统,可以批改试卷的主观题部分。(8)试卷管理:对试卷进行管理,可以对学生考过的试卷做查询、删除操作。(9)教师修改完试卷以后,系统自动将成绩汇总,绘制成折线图,提供给老师查看,提供给教师查看学生的考试情况。(10)答题管理:可以查看各考生所答的各题的具体情况。(11)教师登录后台管理系统之后也可以对个人信息进行查询和修改。图3.3教师用户例图3.2.5后台管理系统管理员用户需求3.管理员登录后台管理系统可以管理系统一切内容,包括管理学生、教师、课程、题库、考试、用户权限、系统等,下面主要介绍角色管理、权限管理、日志管理、系统设置。图3.4为管理员用例图。(1)角色管理:管理员可以新增角色,并且对新增的角色分配相应的权限来管理该系统。(2)权限管理:管理员可以为不同的角色分配不同权限[14],从而不同的角色用户登录系统有不同的功能。(3)日志管理:管理员可以通过查看日志信息来看各人员登录系统的情况和做出的各操作。(4)系统设置:可以进行一些基本的系统设置。图3.4管理员用户例图3.4本章小结本章主要主要进行了可行性研究与需求分析,给出了总体方案,对该项目进行了需求分析,分别列出了该系统客户端学生用户需求,后台管理系统教师和管理员需求,并做了可行性分析,包括经济可行性、技术可行性、环境可行性;还介绍了系统开发的原则。第4章在线考试APP的设计4.1系统设计原则在系统设计过程中,要遵循以下原则:1.作为开发人员,我们必须充分考虑到智能移动设备的性质[15],移动手机是我们随身携带着的东西,手机由于屏幕尺寸大小的原因,APP应用界面在展示方面会受到很多的约束,存在一定的局限性,因此在做UI界面设计时务必要做到简单大方,朴素精简。2.系统的整体运行稳定度和性能总体要求良好,在系统的整体设计前期就是一定要将其作为整体的系统框架结构性能进行设计考量全面,做到高强度内聚、低强度耦合,避免了这种牵一发而动全身的尴尬复杂局面。3.该系统的实用性比较高,符合现代化的业务应用场景,而且接口友好,操作便捷。4.系统的可扩展性比较好,能够很好地适应未来的业务需要"变化"。4.2总体架构设计本系统总体设计采用Android手机客户端与服务器的C/S结构和后台管理系统通过浏览器访问服务器的B/S结构相结合的架构方案。整个系统由Android手机客户端[16]、JavaEE服务器、数据库服务器等组成。JavaEE服务器采用Tomcat8.5,后台管理系统框架采用SSM框架,数据库服务器采用Mysql8.0版本。整个系统的设计如图4.1所示。图4.1系统总体设计4.3系统数据流设计该在线考试系统数据流设计如图4.2所示。图4.2系统数据流设计4.4后台管理系统设计教师用户和管理用户可以登录该后台管理系统,其中教师用户主要负责的是管理考试方面的内容,主要有以下几个方面:管理自己的教学课程和学生,包括对课程和课程所对应的学生进行增加、删除、修改、查询操作;管理考试题库、对考试题库做增加、删除、修改、查询操作;发布考试信息;学生答题结束后,可以查看各学生、各题的答题情况,还可以查看考试结果成绩统计图,对考试情况做分析。管理员用户主要负责所有信息的管理,具体未:管理学生、教师及课程信息,包括对学生、教师、课程、题库做增加、删除、修改、查询等基本操作操作,可以管理角色权限,给不同角色的用户赋予不同权限,可以通过查看系统日志,维护和管理系统的安全稳定性。该在线系统APP的后台管理系统功能如图4.3所示:图4.3系统管理员功能模块结构图4.4.1后台管理系统的各功能介绍首先介绍教师用户登录该系统可以完成的功能。(1)注册:教师用户可以使用工号注册新用户(2)登录:教师用户可以使用注册的用户名和密码在后台管理系统登录(3)教师可以对自己所教学的课程信息、及该课程对应的学生信息进行增加、删除、修改和查询操作。(4)教师可以查询自己所教学课程的考试信息和发布考试信息。(5)教师可以增加、删除、修改、查询自己所教学的考试题库。(6)教师在发布考试信息时,可以设置各类型题目的数量及分数,(7)教师用户登录后台管理系统,可以批改试卷的主观题部分。(8)试卷管理:对试卷进行管理,可以对学生考过的试卷做查询、删除操作。(9)教师修改完试卷以后,系统自动将成绩汇总,绘制成折线图,提供给老师查看,提供给教师查看学生的考试情况。(10)答题管理:可以查看各考生所答的各题的具体情况。(11)教师登录后台管理系统之后也可以对个人信息进行查询和修改。其次介绍管理员用户登录该系统可以完成的功能,其中教师所有的功能管理员都有。(1)角色管理:管理员可以新增角色,并且对新增的角色分配相应的权限来管理该系统。(2)权限管理:管理员可以为不同的角色分配不同权限[14],从而不同的角色用户登录系统有不同的功能。(3)日志管理:管理员可以通过查看日志信息来看各人员登录系统的情况和做出的各操作。(4)系统设置:可以进行一些基本的系统设置。4.5客户端系统设计客户端系统主要具备以下几项基本功能:您的个人信息管理,课程资料,考试资料,在线测评,成绩查询,如图4.4所示。图4.4客户端系统平台设计4.5.1注册模块该模块主要是为了完成对新用户的注册,当一个客户端向其发出一个注册申请后,接收到一个用户的注册申请信息,检验其所有注册申请信息的内容是否正确或者用户帐号信息是否被认为已经注册,最后对新用户完成了相应的注册申请并再次返回一个执行的结果,注册成功后,客户端就会自动跳回一个登录的界面。用户只需要输入自己的用户名和帐号以及密码,点击登录的按钮之后,客户端就会向服务器发出一个验证的请求,如果这个信息被验证成功,客户端就会自动跳转出来进入主管理界面;如果验证错误,则系统需要再次进行登录,注册流程如图4.5所示。图4.5注册流程4.5.2用户登录功能在系统在使用时首先要输入用户名和密码,系统会根据用户名进行验证[20],验证没有成功则返回登录页面,并提示用户重新登录。验证成功则根据用户名分配相应权限,进入界面。用户登录功能如图4.6所示。图4.6用户登录功能流程图4.5.3信息查询与管理功能该功能主要包括个人信息、课程信息、考试信息的查询与管理,当客户端通过Http协议向服务器发送查询信息的请求时,服务器根据客户端发送的请求类型参数,从数据库中读出相关信息,并将数据以JASON格式发送给客户端。查询信息流程如图4.7所示。图4.7查询信息流程图4.5.4在线考试模块在线考试功能可以说时本在线考试系统的核心功能,对于考生通过身份认证并选择“在线考试”功能便启动该模块。首先进入“考试说明”页面,等待考生准备好,便开始抽题,系统会根据教师用户的设定自动随机地从题库读取试题并生成考试试卷。考生在答题过程中要注意考试的时间,在考试结束之前交卷,否则考试结束时系统会自动交卷。在交卷后,考生答卷会通过网络被提交到数据库服务器的试卷表(exampaper)中,接下来进入自动判题的环节,判题以后学生可以查询到已考科目的成绩及试卷。在线考试流程4.8所示。图4.8在线考试流程4.6数据库设计4.6.1数据库概念设计概念模型就是对整个信息技术世界体系进行一种建模,因此概念模型在进行设计时我们应该首先做到的是能够简单、准确地给出代表关于信息技术世界的各种常用基本概念。概念化代数模型的主要代价在于表示法的形式可以有许多,其中最常见的表示形式之一就是E-R的表示法。该种模型设计基本方法就是采用E-R结构图的一种形式应用来明确描述一个基于现实虚拟世界实体中的网络概念化关联模型,称为真正的虚拟实体-网络关联关系模型,简称实体E-R关联模型。按照对应的数据处理流程分析进行综合分析,绘制了一个完全网络化的企业在线质量测试数据系统以及全局化的E-R数据模型如图4.9所示。图4.9系统全局E-R图4.6.2数据库逻辑设计数据库的逻辑结构设计,主要理念指的就是将在需要进行各种数据库设计理念化产品设计的时候,同时已经进行设计良好的数据E-R结构图,并将其转换成与所需要选择的的DBMS三类产品中所支持的数据模型完全基本相符的一种逻辑化设计结构。它由记录数据项、记录和其他数据记载之间的相互关系、安全性以及数据一致性的因素约束等。本在线考试系统APP的数据库名称为onlineExam_db,该系统数据库中主要有以下数据表:管理员表、学生信息表、学科专业表、考试表、试题卷、试卷答题表、日志表。各个表的数据框架结构如下表所示:表4.1管理员表(user)字段名称主键数据类型允许空值字段大小说明id是int否20管理员IDusername否varchar否30用户名password否varchar否30密码age否int否3年龄roleId否int否11角色IDsex否int否2性别address否varchar是100地址photo否varchar是100头像图片表4.2学生信息表(student)字段名称主键数据类型允许空值字段大小说明id是int否20学生IDname否varchar否30登录名password否varchar否30登录密码tel否varchar是20手机号码trueName否varchar是30姓名subjectId否int否20学科IDcreateTime否datetime是0创建时间表4.3学科专业表(subject)字段名称主键数据类型允许空值字段大小说明id是int否20学科IDname否varchar否50学科名称remark否varchar是200学科备注表4.4考试表(exam)字段名称主键数据类型允许空值字段大小说明id是int否20考试IDname否varchar否300考试名称subject否int否20所属学科IDtotalScore否int否10总分questionNum否int否10试题总数passScore否int否10及格分数startTime否datetime否0考试时间avaliableTime否int否10考试所需时间endTime否datetime否0结束时间chargeQuestionNum否int否10判断题数量singleQuestionNum否int否10单选题数量muiltQuestionNum否int否10多选题数量examedNum否int否10已考人数createTime否datetime是0添加时间paperNum否int否10试卷数量passNum否int否10及格人数表4.5试题表(question)字段名称主键数据类型允许空值字段大小说明id是int否10试卷IDsubjectId否int否10学科IDquestionType否int否3试题类型score否int否10分数title否varchar否200题目attrA否varchar否200选项AattrB否varchar否200选项BattrC否varchar是200选项CattrD否varchar是200选项Danswer否varchar否200答案createTime否datetime是0添加时间表4.6试卷表(exampaper)字段名称主键数据类型允许空值字段大小说明id是int否10试卷IDstudentId否int否10所属学生IDexamId否int否10所属考试IDtotalScore否int否10总分score否int否10得分status否int否10试卷状态useTime否int是10考试用时createTime否datetime是0添加时间startExamTime否datetime是0开始时间endExamTime否datetime是0结束时间表4.7试卷答题表(exampaperanswer)字段名称主键数据类型允许空值字段大小说明id是int否10答卷IDquestionId否int否10所属试题IDexamPaperId否int否10所属试卷IDstudentId否int否10所属学生IDexamId否int否10所属考试IDanswer否varchar是40提交答案isCorrect否int否2是否正确表4.8日志表(log)字段名称主键数据类型允许空值字段大小说明id是int否10日志IDcontent否varchar否200日志内容createTime否datetime是0创建时间4.7本章小结本章首先给出了系统设计所要遵循的原则,接着对系统总体架构进行了分析与设计,包括Android手机客户端与服务器采用C/S架构,后台管理系统与服务器采用B/S架构;然后给出了系统数据流设计图分析了该系统的数据流设计;详细设计包括后台管理系统和客户端各功能各模块的分析与设计;最后是设计数据库,给出了全局E-R图,还有各数据表的详细设计。第5章在线考试APP的实现5.1开发环境与工具5.1.1在线考试系统app硬件环境表5.1硬件环境表指标项配置参数系统型号X550VQCPU型号IntelCorei7-6700HQ2.6GHzCPU数量4显卡IntelHDGraphics内存SATA600GB*45.1.1在线考试系统app软件环境表5.2软件环境表名称版本操作系统Windows10家庭版64位开发工具Eclipse、AndroidStudio数据库Mysql8.0Web服务器Tomcat8.5软件开工工具包JDK1.85.2总体实现该在线考试系统app架构是由一个通过浏览器访问服务器的B/S架构的后台管理系统和一个通过移动设备访问服务器的C/S架构的客户端组合而成的,客户端主要由学生登录,提供的功能有:“注册账号”、“登录”、“课程信息”、“考试信息”、“在线考试”、“成绩查询”、“个人中心”等。后台管理系统由教师和管理员登录,教师用户主要的工作是组织管理考试,包括了:“学科管理”、“考试管理”、“试卷管理”、“答题管理”、“成绩统计”等功能。管理员负责管理该系统的一切内容,包括“角色管理”、“权限管理”、“日志管理”、“系统设置”等。根据需求分析及总体设计方案,现将总体实现图设计成如图5.1所示。图5.1总体实现图5.3后台管理系统实现在线上对考试的数据后台进行管理数据系统主要分析是对于tandroidp等客户端后台进行数据管理所所必需的海量数据,本文对于考试后台进行管理的数据系统主要分析是通过使用ssm+jquery+bootstrap等多种数据组合管理框架方式来对其进行设计实现,整个组合框架由一个数据表示层、控制数据管理层、业务数据管理层以及一个动态数据持久管理层四个大部分进行组成,如图5.2所示。图5.2SSM+JQuery+BootStrap集成框架5.3.1登录、注册、修改密码功能实现本系统中,教师用户可以注册用户名和密码,然后管理员为教师用户授予相应的权限,这样教师用户就可以登录后台管理系统进行相关操作。本系统的注册、登录、修改密码界面如图5.3所示。图5.3注册、登录、修改密码图5.3.2角色管理功能实现管理员可以修改角色信息、添加新的角色名称,还可以给不同的角色名称授予不同的操作权限,角色管理如图5.4所示。图5.4角色管理图5.3.3用户管理功能实现管理员拥有添加、查询和删除用户等基本操作的功能,管理员还可以给用户设置不同的角色,例如老师用户是一个角色,教务处管理员也是一个角色,不同的角色拥有不同的权限,共同参与管理系统。用户管理如图5.5所示。图5.5用户管理图5.3.4学科专业管理学科管理一般由教师用户负责,教师用户可以新增加专业学科、删除学科,还能修改学科的描述信息,同时也提供了搜索功能进行模糊查询,输入学科名称搜索学科信息,如图5.6所示。图5.6学科管理图5.3.5考生管理考生管理是该系统的基础功能之一,主要由教师用户进行负责,教师用户可以添加考生信息、修改考生信息、搜索查看考生信息和删除考生信息,如图5.7所示。图5.7考生管理图5.3.6试题管理试题管理功能主要是提供给教师用户编写题库用的,教师登录后台管理系统可以在试题库里添加各学科的考试试题,学生在参加考试的时候系统会随机在该题库中抽题组合成试卷提供给学生。如图5.8所示。图5.8试题管理图5.3.7考试管理考试管理是该系统最重要的功能之一,教师用户在功能里发布考试信息,主要包括设置考试的科目、考试开始时间和结束时间、及格分数线、各题型数量和及格分数线,教师用户可以增加、删除、修改、查询考试信息。后台添加考试信息后[25],客户端会查询到考试时间、科目等相关信息,如下图5.9所示。图5.9考试管理图5.3.8试卷管理学生在客户端考完试后,后台管理系统会查询到已考课程的信息,教师用户可以搜索和删除已结束的考试。如图5.10所示。图5.10试卷管理图5.3.9答题管理学生考试结束后,教师用户登录后台管理系统可以查看各考试科目、各考生、各题的答题情况,能够更清楚地掌握考生对试题知识的掌握情况,如图5.11所示。图5.11答题管理图5.3.10成绩统计教师用户登录后台管理系统可以查看学生成绩统计折线图,系统提供搜索功能可以模糊查看不同考试科目的考试情况。如图5.12所示。图5.12成绩统计图5.3.11日志管理后台管理系统提供系统日志记录,主要记录相关登录和其它操作的信息,如图5.13所示。图5.13日志管理图5.4客户端系统功能的实现该系统在客户端上实现的较为简单实用,主要设计以下几个功能:学生“注册账号”、“登录”、“课程信息”、“考试信息”、“在线考试”、“成绩查询”、“个人中心”等。5.4.1注册和登录功能所以在开启应用程序的时候,首先进入的是注册和登录页面,用户可以通过填写相关个人信息进行注册,注册完成后跳转到登录页面,当用户输入手机号和密码后,软件会自行验证,验证通过后进入软件首页。注册、登录页面如图5.14所示。图5.14注册登录图5.4.2主页面及个人信息查看主页面中,用户可以点击两个Button组件,分别是进入首页按钮以及个人信息按钮。在Main类中对这两个控件进行监听设置,当用户点击后页面会根据用户的点击对象进行界面的跳转。主页面如图5.15所示。图5.15主页及个人信息图5.4.3在线考试“首页信息”中可以查询课程信息、考试信息和成绩查询,若教师已发布考试信息,则学生可点击“开始考试”进行考试。在线考试页面如图5.16所示。图5.16在线考试图5.4.4成绩查询考试结束后,学生可以回顾试卷,查看本次考试各题的对错情况、答案解析和此次考试的总成绩。如图所5.17示。图5.17成绩查询图5.5本章小结本章首先介绍了开发该系统所需要开发环境和开发工具,包括客户端、后台管理系统的开发环境和开发语言;紧接着对该系统总体实现做出了概述总结,给出了系统总体实现图;然后展示系统各功能运行的界面,包括后台管理系统各功能的实现图,包括用户注册登录、用户权限控制管理、考试管理等等;客户端各功能实现包括主页查看个人信息、课程及考试查询、在线考试功能等等。第6章系统测试6.1测试的目的与目标软件测试是软件开发中必不可少的步骤,软件的好坏可以通过测试来进行检验。软件测试的目的就是不断的找出程序的漏洞,提前做好整改与维护,保证软件开发出来给用户之前性能较完善。6.2测试方法6.2.1AndroidApp测试概述AndroidApp基本测试流程如图6.1所示:图6.1AndroidApp基本测试流程图一般把基于app的终端测试体验手段大致划分四类为终端接口协议体验测试、易用性体验测试、功能体验测试、终端网络适配性体验测试、性能体验测试、互联网应用测试。6.3系统测试与分析系统上线之前需要执行全流程,全分支覆盖的测试,因此我们要按照原始需求以及需求分析的内容去编写测试用例,保证测试点不被遗漏。6.3.1客户端在线考试测试表6.1客户端在线考试测试表功能说明学生用户在客户端参加在线考试操作流程1.测试人员登录客户端点击考试信息,教师用户发布考试后,学生点击“开始考试”便会进入到考试界面,系统根据教师对考试时间的设置,页面右上方显示考试时间倒计时,测试人员依次答题,完成后点击提交结束考试;2.测试人员只答少部分题,不要把题全部答完,等到系统倒计时结束,自动交卷。初始状态说明学生用户成功登录在线学习系统,并具备在线学习的权限测试结果1.测试人员在规定时间内完成考试,然后系统自动判卷,并且能够返回考试成绩。2.在规定时间内未完成全部考题,系统会自动提交试卷,自动判卷后返回考试成绩。测试结论通过6.3.2后台管理系统考试管理测试表6.2后台管理系统考试管理测试表功能说明教师用户在后台管理系统进行考试信息的管理操作流程1.在试题管理栏目里,点击添加按钮,填好试题信息后点击确定。2.在考试管理栏目里,点击添加按钮,然后编辑相关信息,点击确定,之后选中该记录,点击删除按钮。3.分别点击试卷管理、答题管理、成绩统计按钮。初始状态说明教师用户成功登录后台管理系统,并具备相应的权限测试结果1.系统显示添加试题成功2.首先成功发布了一条考试信息,再点击删除后,改考试信息被删除。3.依次显示考试试卷信息、答题详情、成绩统计折线图。测试结论通过6.4测试结论测试和排错常常被我们说成只会是一个阶段,实际上这些事情根本就不会发生同一件事。简单来说,排错就是在你已经明白了程序存在问题之后要做什么事。而这次测试就是在你已经知道了程序可以继续工作时要做的事情。而这次测试是在你认为一个程序可以继续工作的前提下,为想方设法地击败它所需要做的一整套必须确定并且具有系统性的测试。6.5本章小结本章首先介绍了系统测试的目的与目标,给出了AndroidAPP基本测试的流程图,然后分别对客户端和后台管理系统各功能做实验测试,并分析该APP的功能,最后给出测试结论。第7章总结与展望7.1总结本文设计和实现了基于JavaEE和Android的考试系统,该系统由基于JavaEE的后台管理系统和基于Android的客户端系统组成。客户端实现了学生用户注册、登录系统、个人信息查询与管理、课程信息查询、考试信息查询、在线考试、成绩查询等基本功能,通过客户端可以为用户提供良好的体验和服务。后台管理系统采用JavaEE最新整合框架SpringMVC+Spring+Mybatis+Bootstrap+JQuery实现了注册登录、用户管理、学科管理、考生管理、考试管理、试卷管理、试题管理、答题管理、成绩统计、系统日志、系统设置等功能,在WebUI设计上采用Bootstrap技术使得Web页面不仅能有效适配PC端,而且能适配手机以及平板电脑,再结合Ajax框架JQuery,使得动态数据异步刷新处理变得非常容易,提高了Web端的开发效率,增强了用户使用体验。本文是从可行性研究与需求分析、在线考试系统APP的设计、在线考试APP系统的实现及在线考试系统APP的测试等几个方面进行分析和研究的,具体流程为:首先介绍该系统的开发背景及意义,详细分析了国内外同类系统的现状情况。接着介绍了开发该系统需要的研发技术及环境配置,然后根据在网上做的调研对该在线考试系统app做出了需求分析,并做了相应的可行性研究,主要包括经济可行性、技术可行性、环境可行性;然后又在需求分析的基础上对该在线考试系统APP先是进行了总体设计,主要包括:详细讨论了系统数据流的设计情况、还有数据库设计(包括E-R图、数据流图等),并分别对客户端及后台管理系统各功能做了详细的分析设计,然后又根据系统设计的情况逐步实现它,接着对该系统各功能做了测试,最后完成了整个在线考试系统。7.2系统不足与改进方案7.2.1系统存在的不足本次设计知识实现了在线考试系统的基本功能,为了是系统趋于完善和成熟,仍有许多不足之处:首先,在一个请求客户端中由于同时使用了大量的异步收发请求,异步申请要求一般是基于多线程方式来自动实现的,因此在每当一个异步申请要求中的数据包被发送过来时会同时自动开启多个线程,占用了操作系统给每个请求客户端所有的需要同时分配的一定数据空间和系统资源,这样就很容易有可能间接导致或者直接降低了整个客户端的系统性能。其次,系统中所采用的数据库因为为保证整个系统的工作正确性,存在着一定的数据冗余,这就需要进一步的优化,提高整个系统的反馈和响应速度。7.2.2系统的改进方案根据以上分析的系统中的不足,本系统可以进行如下改进。首先,在客户端要求数据时尽量减少异步请求的发生次数和总计计算数量,进一步合理地优化用户界面和请求数据分配的方法,将所有可能被整合的异步请求都整合到一个客户端中,减小了资源的浪费,提升了客户端的性能。其次,对于数据库的管理方式进行了精简与优化,在能够保证系统正常工作的前提下,去除了冗余的数据。并根据企业现有的情况,简化了数据库的结构,将所有内容与相关性程度较高以及需要加强整理的各类数据库全部进行了合并,使得数据库的查询速度更快、也变得更稳定。7.3展望如今即将迎接到来的便是一个行业快节奏的工业高新技术发展时代,也将迎接到来的也便是一个移动大数据的新时代,在未来的一个行业主流发展方向中也便是其中包括了移动人工智能和移动线上远程教育。因此对于中国线下的绩效考核管理体系而言,对未来将可能会更加具有良好的线下市场前景。另外由于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论