【《心理测试管理系统设计与实现》13000字】_第1页
【《心理测试管理系统设计与实现》13000字】_第2页
【《心理测试管理系统设计与实现》13000字】_第3页
【《心理测试管理系统设计与实现》13000字】_第4页
【《心理测试管理系统设计与实现》13000字】_第5页
已阅读5页,还剩42页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

心理测试管理系统设计与实现摘要随着社会的不断发展,人们的生活水平有了极大的提高,但同时人们的心理健康的提高还没有达到相应的水平高度,越来越多的心理问题出现,因此,建立一个心理测试管理系统,用来预测人们的心理行为,检测心理健康问题显得非常重要。本文通过查阅相关资料,对测评系统的需求进行了详细的分析;对整个系统的架构进行了设计,通过SpringBoot框架和Mysql数据库完成整个系统的框架搭建和数据存储;同时SpringBoot,还简化了大量项目配置和maven依赖,更方便于业务开发;集成layui,基本涵盖了所有前端开发需求,对各个模块进行了详细的设计,主要包括用户管理模块、文章管理模块、公告管理模块、试题管理模块、测试成绩管理模块、留言管理、系统设置等功能。并对各个数据库进行了设计建立,对每个模块进行了一个具体的实现。一个高效的心理测试管理系统对于解决人们的心理问题还是非常有帮助的,能够通过心理的检测提前预测一些心理问题。通过这些功能模块的设计,基本上完成了心理测试与后台管理过程。关键字:心理测试管理系统;Mysql;B/S架构;layui目录TOC\o"1-2"\h\u4494第1章绪论 1238311.1选题背景 1230671.2目的意义 140661.3研究现状 2176691.4研究内容 319299第2章系统开发技术的介绍 429172.1Idea简介 4175932.2HTML/CSS简介 452812.3mysql数据库概念和特点 414701第3章系统分析 5135523.1功能需求分析 5200683.2业务流程分析 6166423.3数据流程分析 717251第4章系统设计 10102374.1系统设计思想 1019644.2系统总体设计 1036154.3系统功能模块设计 11246944.4数据库设计 12301584.5ER图 176235第5章系统实现 18127735.1管理员功能模块 1899615.2用户功能模块 28295455.3分页算法实现 3231219第6章系统测试 3656656.1测试目的 3657356.2界面测试 36109066.3测试用例 36290876.4测试结果 4023705第7章结论与展望 41236077.1结论 41267327.2展望 4131891参考文献 42第1章绪论1.1选题背景长久以来,随着互联网和信息技术的飞速发展,互联网的广泛普及在很多方面给我国人民带来了方便。像大多数学校都有自己的心理测评与管理系统,而且学校也从以前传统的测评模式转向了因特网,这时就有必要为学校建立一套自己的测评系统。那么如何实现心理学测评管理体系构建的功能与意义以及其中的一些重要性?解决了传统心理测量中主试工作量过大,测试结果不够精确等问题;同时可以利用网络的快速性和私密性,解决传统心理测量中的问题,大大缩短了时间和空间上的局限,使得心理健康工作更易于开展。通过网上心理测评系统,可以更加了解人们心理健康状况问题,同时也可以及时反馈人们的心理状况。心理咨询工作获得了巨大的成功和收效REF_Ref26788\w\h[1]。1.首先要提升一个学校的形象:该系统对一个学校而言好比成为一个无形的宣传广告。在现在这个信息化的时代,如果一所学校甚至连心理评估管理系统也没有什么事情办得到,往往会给学校留下深刻的印象,那么它就是一个紧紧地追赶着时代发展潮流的学校。2.加强学生服务:学生教师定期提供资料给学校,或者随时接受学校的建议。如果学校需要,可以通过搜索得知学校对学生教师的相关服务REF_Ref26873\w\h[2]。3.同时一个良好的体系也能把学校宣传方式和手段推向一个全新的舞台。系统的内容都可以随时进行更新,这点对于现代化学校而言也是很重要,但画册、产品手册等却无法做到。学校系统就是可以每天进行更新,随时反映您在学校的最近情况。心理测评管理系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的学生教师、学校了解和熟知学校服务等,不仅为学生教师提供了服务,而且也推广了自己,让更多的学生教师了解自己。1.2目的意义开发设计心理测评与管理系统,并在此基础上运用相应的管理手段和技术手段,保证管理系统的完善与准确;改善管理环境;保证心理测评与管理系统正常有序的运行,保证心理测评与管理系统的正常运行;提高监管与使用人员的意识,达到宣传与教育的目的。运用该系统能很好地改进和提高管理监督工作的便利性,管理系统的用户意识和资源利用的节约能力,维护的及时性。本次信息化体系的实施,使得管理业务提升了一个崭新的层次,跟上了社会经济发展的步伐。1.3研究现状自从1905年起世界上第一个儿童智力量表发表以来,心理测量的发展至今已有近百年的历史。近年来,心理测量的研究一方面以普通心理学、认知心理学等基础理论为基石,对心理品质、心理过程的理解逐步加深。另一方面,数理统计学的发展带动心理测量方法学的发展,人们对测量误差的控制和估计手段进一步提高,国际心理测量研究取得了前所未有的突破性进展。与此同时,国内心理测验工作也在长足发展,一个显著特征就是心理测验被广泛地应用到社会生活的许多领域,显示了旺盛的生命力和丰富的实用价值REF_Ref26942\w\h[3]。标准化的心理测试系统不仅仅是用于测试个人心理健康水平,还应包括一套完整的心理咨询系统。本系统以京师博仁公司的心理测评系统为例,结合了行业内众多专家的专业技术因素,为进一步开展心理测评REF_Ref26981\w\h[4]、心理咨询和心理健康辅导工作打下了良好的基础。就比如说Humanmetrics是在线性格测试和评估工具的领导者。哈曼米特里克于1996年由西蒙·克尔贝尔博士创立REF_Ref27010\w\h[5]。目现在,Humanmetrics提供的在线心理测验主要是为个人发展和自我提升、商务申请和职业发展、性格适应等方面服务。目前,仍有大量用户经常访问该网站,使用诸如theRiskAttitudesProfiler™,theRoleModelProfiler™theJungMarriageTest™,theSmallBusinessEntrepreneurProfiler™,theJungCareerIndicator™等测试工具来测试自身的性格。其中,JungTypologyTest™(荣格性格测试)是最典型和最常用的方法和工具。参加测试,在页面中点击Takethetest或Gototest。为参加测试;部分试题及提交,在页面中根据对应题目的问题,在“YES、yes、uncertain、no、NO”选择不同程度的答案,完成测试后点击页面中ScoreIt得到测试分数;页面根据您的分数给出相应的结果。目前国内使用的心理测试系统有北森心理风险评估、诺姆四达心理健康测评、医龙心理测评系统(多行业定制版)、诺和心理测评系统等。他们也有自己的在线测评系统。这些服务商的测评软件已经比较完善。操作方便;界面简洁。北森的心理健康测验有五年以上时间了,国内大量的企业使用北森的心理健康测验,用在招聘的筛选方面,大量的数据及每年的验证,保证测验的可靠。但北森主要是人才测评和管理,对于心理风险或心理健康方面自研的投入相对较少,北森自身也只是做心理测评的背景,没有心理咨询、心理服务等背景。如果想关注比如心理风险、心理健康,那么北森的产品就不一定合适了。总体来讲,我国目前采用的大多是成熟稳定的技术,但由于还在发展阶段,因此存在着很多业务缺陷,例如用户体验好,产品做的好的服务商都不关注心理健康的测评,大多都是在关注人才测评、人事管理等方面,对于心理健康测评方面研发投入较少,其大多数只是在传统心理健康测评工具上嵌套了系统平台,即使进行了整合,也大多是简单包装,没有经过优化。反观那些关注心理健康测评的,很多又只是在传统测评视角里,只是做出一个工具能帮助完成任务,真正做产品做用户体验的很少,对于很多B端客户来说就不能帮助他们解决好问题。由于心理测评系统是以科学、客观、规范的测评方法对人的具体素质进行测量、分析、评价的。所谓素质,是指在工作或活动中需要或与之有关的知觉、技能、能力、气质、性格、兴趣、动机等个人特点,在一定程度上反映出现阶段的心理健康状况和心理素质水平,这是开展学校心理辅导、咨询等工作的直接依据。因此,结合测评产品研发和心理健康领域经验来实现科学、规范、现代化的心理测试系统是必经之路。1.4研究内容1、通过SpringBoot框架、Mysql数据库完成整个系统的框架搭建和数据存储。2、设计并实现系统主要功能,包括①管理员功能模块中:用户登录、文章管理、公告管理、试题管理、测试成绩管理、留言管理以及密码修改;②用户功能模块中:在线心理测试、公告查询、文章查询、留言功能。实现用户测试,管理员对测试结果监控等功能。3、对系统的各类功能模块进行测试。第2章系统开发技术的介绍2.1Idea简介idea的中文全称叫intellijidea,是一种为java编程语言代码而开发的免费嵌入式软件集成应用环境(或许以后还能广泛应用于其他编程语言),目前软件行业已广泛接受intellij为java编程语言的最佳开发工具之一,尤其是在安卓智能手机上的代码开发助手、代码自动更新提示、重构、j2ee代码支持、ant、junit、cvs软件整合、代码库审查、创新库和gui软件设计等多个开发方法方面,intellijidea的开发能力令人叹为观止。2.2HTML/CSS简介html中文全称为英语hypertextmarkuplanguage,是一种基于超文本的信息标记链接语言或超文本链接传递语言,被广泛应用于用户制作万维网文本页面的简单版和超文本信息标记链接语言,计算机用户可以通过他们的标记语言软件来直接自动完成与基于互联网的文本数据库和文本信息库的共享,借助于网页浏览器在万维网中直接进行文本信息的链接传递,是一种非常普遍和广泛通用的网络标准标记语言2.3mysql数据库概念和特点现代的计算机中所需要存储的信息和数据已经呈现出迅速暴涨的发展趋势,工程师便为此设计了一套关于数据库和其他信息处理的工具以及它们来有效地帮助应用程序员们彻底解决问题,使用了数据库后,计算机中的存储信息和数据更加富有秩序,数据的复杂和冗余程度大大减少,数据的信息独立性也大大增强,程序员在网上操作时获取数据更加方便。mysqlserver本身采用了图形接口,使用方式一目了然。(1)mysqlServer是一款RelationalDatabaseManagementSystem(2)mysqlserver与dowindows是与操作系统的完美相互结合(3)mysqlserver对于电脑的软硬件环境和条件的要求较低(4)mysqlServer具有良好的可伸缩性(2)mysqlserver本机具有良好的自动使用和操作灵活性,它可以使我们设备能够很容易地自动适应各种不断变化的工作环境。第3章系统分析3.1功能需求分析根据调查结果可以得知用户的需要,从而对系统的各个功用进行了剖析,系统应该是包含了系统的用户信息管理、用户资料信息管理、线上测试信息管理等多个功能模块,其中以测评模块最为重要。表3-1功能需求列表编号功能名称功能描述输入内容输出内容用户登录保证用户通过身份验证进入系统进行操作REF_Ref27811\w\h[6]用户名、密码用户登录是否成功和用户登录状态测试题库添加管理员添加用户的测试题库要添加的测试题库内容测试题库列表和添加是否成功测试题库删除管理员对违规的测试题库内容进行删除要删除的测试题库删除是否成功和删除后的测试题库列表用户信息管理管理员对用户信息进行管理,包括删除、修改用户信息列表删除是否成功或者修改是否成功个人信息调整用户根据当前情况调整个人的信息要调整的信息提示调整的结果添加测试题库管理员添加测试题库测试题库的相关信息测试题库列表编辑测试题库管理员修改测试题库信息测试题库相关信息是否编辑成功删除测试题库管理员删除测试题库测试题库信息测试题库删除成功或失败添加试题管理员添加试题试题的相关信息试题列表编辑试题管理员修改试题信息试题相关信息是否修改成功删除试题管理员删除试题试题信息试题删除成功或失败需求用例图如下图3-1所示。图3-1系统用例图普通用户的用例有测试题库,测试成绩,成绩查询等;管理员的用例有信息增加管理,删除管理,修改管理,查询管理等。3.2业务流程分析业务流程图基本符号如下图3-1所示:图3-1业务流程图基本符号具体如下图3-2所示:图3-2总体业务流程图总体的系统业务流程:以管理注册系统用户的真实姓名名称为系统身份在管理系统用户登录管理页面直接进行输入系统注册会员帐号和系统密码,通过对系统数据库的系统认证,直接登录到系统管理页,认证成功后,可直接进入使用系统,管理操作系统等多种业务功能同时进行系统操作。在管理系统用户登录管理页面,以系统管理员的真实姓名作为系统身份直接输入系统注册会员帐号和系统密码,并通过系统数据库的系统认证,验证成功后直接进入登录管理系统主页,可以直接进入使用系统,管理操作系统等多种技能功并且同时会进行操作。3.3数据流程分析本次数据管理交流系统按照上一节所述的要求针对进行精心设计的各种数据业务管理流程图,采用了逐层绘制详尽和精细化的操作方法,绘制的每个组成部分各层次的数据管理交流流程图具体格式请详见下文:1.0层数据流图普通用户和管理员都可以通过登录系统的界面来进入系统REF_Ref27840\w\h[7],如下图3-3所示:图3-3数据流图系统仍然会根据注册用户每次登录时的数据,判断到底是该一个系统的注册用户信息扮演了哪种重要角色,仍然会跳转至一个用户相应的系统功能显示页面,系统的注册用户将有机会在整个系统内对其用户进行一个相关应的数据反馈操作,此时通过相关数据操作流的有效发送方式将相关数据操作流从系统的用户数据库业务管理控制中心直接发送并对其执行通过相应的相关数据流如mysql等语句,反馈的操作结果发送到所需要显示的功能页面上。2.多层数据流图多层是为了让管理员更方便地操作系统的后台数据流视频框图,管理员用户可以分别在后台通过手动添加、修改和自动删除等方式对整个系统的数据流进行管理,如下图3-4所示:图3-4多层数据流图多层的数据交换流图中,数据交换的实体主要包括管理员,数据交换的过程主要包括;数据流主要包括:增、删、改、查、浏览和显示信息、提示。

第4章系统设计4.1系统设计思想本次课题的研究目标是设计一款基于springboot的心理测评管理系统,实现对用户的信息管理,测试管理,测试题库,成绩查询等功能。本次系统选择b/s模式不但可以避免了用户必须通过设计专门的软件方法来进行自己的系统开发或访问系统的限制,而且使用起来也更为便利。本系统主要是在不需要改变和严重影响用户操作习惯的情况下,对有用数据进行记录。4.2系统总体设计根据系统开发的总体思路,有针对性地对整个系统进行了分解,主要从模块上划分为用户模块和管理模块两大部分。用户模块只要目的是为了让一个普通用户方便地使用,包括心理测评数据管理,文章模块、留言类数据管理等多种功能,管理员模块只要目的是为了让一个管理员方便地使用,包括对用户的信息管理、测试类数据管理、测试类数据管理、试卷查询等多种功能,可以对所有的数据进行添加、删除、修改及查询等操作。系统总体功能结构图如下图4-2所示。图4-2系统功能结构图4.3系统功能模块设计系统自动登录:系统的自动登录入口就是一个允许用户直接登录访问电脑系统的一个入口,设计者做出一个基于系统自动登录的用户界面,其中主要包含了真实用户名、密码和真实手机号等各种验证码,然后根据系统登录中自动输入的未到达系统网站上的普通用户自动给出判断其真实身份号码信息,判断他们能否是一个系统管理员的普通用户或者能否是一个系统普通用户。系统对每个用户的系统管理:无论是超级系统管理员还是普通管理员,都需要有一个自己认为需要的系统管理用户,这类用户需要包括一个普通管理员系统用户,包括一个普通管理员来添加、删除、修改、查询用户系统,修改超级管理员系统用户需要登录的系统密码,添加需要添加的超级管理员系统用户后直接进入系统登录自己的管理系统。普通用户的管理:网站管理员就是能够对整个网站系统的其他一些一般用户的注册账号进行实时管理,包括对新用户进行输入,对现有的一般用户进行删除,对现有的一般用户进行修改,并可以通过输入相应的关键字如用户名和真实姓名进行搜索。修改注册密码:网站管理员也同样可以在操作系统中随时修改其他一个普通用户的注册密码和进行重置。由管理员使用,对系统所有的测试题库信息进行回复、删除、修改、查询。模块主要实现对用户的测试题库进行清理,删除不需要的测试题库,使用户有足够的空间进行测试题库REF_Ref27869\w\h[8]。用户信息管理:管理员管理使用者资料,查询使用者资料记录,管理员能够对任意用户的信息进行增、删、改、查。文章管理:管理员发布文章,用户就能看到管理员发布的文章。测试题库:仅用户可以进行测试题库,用户须登录系统,然后输入测试题库内容即可实现测试题库功能。分页算法的功能设计:因后期数据量增长,全部一次性查出会导致服务器宕机,因此,需要设计一个稳定的分页算法进行分页查询数据。4.4数据库设计4.4.1数据库实体用户信息实体如下图4-3所示:图4-3用户信息实体图测评题目信息实体如下图4-4所示:图4-4测评题目信息实体图测评结果信息实体如下图4-5所示:图4-5测评结果信息实体图公告信息实体如下图4-6所示:图4-6公告信息实体图文章信息实体如下图4-7所示:图4-7公告信息实体图4.4.2数据库表设计在服务器上建立名为xinlidb的数据库,其中包括以下表:表4-1用户表序号字段类型长度允许为空名称idint11自增编号主键IDusernamevarchar50否用户名passwordvarchar50否密码emailvarchar50否邮箱namevarchar50否名字addressvarchar255否地址phonevarchar11否电话user_typevarchar255否角色类型tocheckint2否是否禁用表4-2测评题目表序号字段类型长度允许为空名称idint11自增编号主键IDtopic_contentvarchar1000否测评题目refer_answervarchar2000否题目答案topic_timedatetime0否创建时间user_opvarchar50否使用人表4-3测评结果表序号字段类型长度允许为空名称idint11自增编号主键IDpgtest_resultvarchar255否测评结果pgtest_scoreint5否测评分数pgtest_timedatetime0否测评时间user_opvarchar255否测评人表4-4公告表序号字段类型长度允许为空名称idint11自增编号主键IDlabelint11否类型titlevarchar255否题目contentvarchar10000否内容authorvarchar50否作者statusint2否状态create_timedatetime0否创建时间表4-5文章表序号字段类型长度允许为空名称idint11自增编号主键IDtitlevarchar500否题目contentvarchar2000否主要内容create_timedatetime0否创建时间user_opvarchar50否创建人4.4.3数据库连接设计由于系统采用Idea语言和mysql数据库,那么Idea如何连接mysql数据库,完成本系统的数据操作。1.

需要mysql的连接驱动jar包——mysqljdbc4.jar,因为本项目使用Maven管理,所以引入jar包的方式非常态简单,只需要在pom.xml里面添加Mysql的jar包的路径,项目将会自动引入

。2.

编写专门的数据库配置,实现对数据库的相互连接和运行操作:

spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.username=rootspring.datasource.password=123456spring.datasource.url=jdbc:mysql://localhost:3306/xinlidb?useUnicode=true&useSSL=false&characterEncoding=utf8spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.druid.initial-size=5spring.datasource.druid.min-idle=5spring.datasource.druid.max-active=20spring.datasource.druid.max-wait=60000spring.datasource.druid.time-between-eviction-runs-millis=60000spring.datasource.druid.min-evictable-idle-time-millis=300000spring.datasource.druid.validation-query=SELECT1FROMDUALspring.datasource.druid.test-on-borrow=falsespring.datasource.druid.test-while-idle=truespring.datasource.druid.test-on-return=falsespring.datasource.druid.pool-prepared-statements=truespring.datasource.druid.filters=stat,wall,log4jspring.datasource.druid.max-pool-prepared-statement-per-connection-size=20spring.datasource.druid.use-global-data-source-stat=truespring.datasource.druid.connect-properties.=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=50004.5ER图数据库的ER图如下图4-8所示:图4-8系统总体ER图

第5章系统实现5.1管理员功能模块5.1.1用户登录、管理用户管理注册信息登录和服务使用注册信息与网站管理员服务模块之间有着密切的相互关联,管理员也就是用户能够对自己的所有用户注册信息记录进行及时删除、修改。登录管理模块的操作流程图如图5-1所示。图5-1登录流程图随着整个系统规模的扩展和壮大,系统每天都在发布一些更新的数据库信息及对于普通用户数量的影响也将越来越大,只有一名管理员亲自负责整个系统的管理,管理员才能够对本公司系统的所有用户数据进行编辑或者删除的管理,其所谓的管理界面图设计如图5-2所示。图5-2管理员管理用户界面主要代码为:@ResponseBody@RequestMapping("/admin/user/tableList")publicServerLayResultuserList(@RequestParam(value="page",defaultValue="1")Integerpage,@RequestParam(value="limit",defaultValue="10")Integerlimit,@RequestParam(value="keyword",defaultValue="")Stringkeyword)if(keyword==null||keyword.equals(""))//封装Json数据对象ServerLayResultresult=newServerLayResult(0,"",userService.count(),userService.selectAll(page,limit));returnresult;elseif(keyword!=null){ServerLayResultresult=newServerLayResult(0,"",userService.selectByUsername(keyword,page,limit).size(),userService.selectByUsername(keyword,page,limit));returnresult;}returnnull;5.1.2文章管理文章管理主要是为方便用户查阅相关文章,管理员在list.html中可以进行对文章资料和信息的管理,list.##lr101-1通过可以查询到用户数据库列表中用户相关信息的表列示来找出所有关于用户文章的相关信息和所有相关用户信息,每条表中用户关于文章的相关信息分别与其对应一个可以删除信息按钮、一个以后可以重新查看的信息按钮和一个可以修改的信息按钮,当用户管理员再次重新点击需要删除这个按钮,直接将当前用户中的文章相关信息在用户数据库中进行删除,并将其重新滚动固定向当前的用户页面,当用户管理员在此基础上重新选择了用户点击进行修改,则用户即可直接进入主页list.form.html页面,进行对文章资料的修改。添加文章信息界面设计效果如图5-3所示。图5-3添加文章信息界面主要代码为:publicclassArticleController{privateLoggerlogger=LoggerFactory.getLogger(this.getClass());@AutowiredprivateArticleServicearticleService;@AutowiredprivateLabelServicelabelService;@RequestMapping("/articleUi")publicStringarticleListUi(){if(!LoginSession.getCurrentUser().getUsername().equals("admin")){return"client/html/index";}return"admin/article/list";}@RequestMapping("/articleUiAdd")publicStringarticleAddUi(){if(!LoginSession.getCurrentUser().getUsername().equals("admin")){return"client/html/index";}return"admin/article/listform";}管理文章页面效果如图5-4所示。图5-4文章信息管理界面主要代码为:@ResponseBody@RequestMapping("/admin/article/list")publicServerLayResult<Article>list(@RequestParam(value="page",defaultValue="1")Integerpage,@RequestParam(value="limit",defaultValue="10")Integerlimit,Stringkeyword1,Stringkeyword2,Stringkeyword3){if(keyword1!=null&&keyword2!=""||keyword2!=null&&keyword2!=""||keyword3!=null&&keyword3!=""){List<Article>articles=articleService.selectByKeyWord(page,limit,keyword1,keyword2,keyword3);ServerLayResultresult=newServerLayResult(0,"",articles.size(),articles);returnresult;}//封装数据ServerLayResultresult=newServerLayResult(0,"",articleService.count(),articleService.selectAll(page,limit));returnresult;}5.1.3公告信息管理公告信息管理主要是为了方便于用户查询到页面的最新公告。管理员对于公告信息进行添加是在用户点击一个新增公告信息按钮的情况下进行操作的,当网站页面已经跳转到noticeadd.html,添加成功后,管理员在noticelist.html中对其进行了公告信息的管理,noticelist.html可以通过查看数据库中的测试类别表来显示其中列出的所有测试公告信息,每条测试类别分别对应一个查看按钮、一个恢复按钮和一个删除按钮,当系统管理员再次点击恢复或删除按钮,直接将自己的查看到在数据库中删除的测试公告信息,并将其重新固定向当前的页面,当系统管理员再次选择点击恢复或删除按钮,则即可进入回复界面notice.html页面,进行对公告信息的返回。公告添加流程图如5-5所示,公告添加页面设计效果如图5-6所示。图5-5公告添加流程图图5-6公告添加界面主要代码为:@ResponseBody@RequestMapping("/admin/notice/save")publicMap<String,Object>saveNotice(@RequestBodyNoticenotice){Map<String,Object>dataMap=newHashMap<>();booleanisSuccess=noticeService.insert(notice);dataMap.put("success",isSuccess);returndataMap;}公告管理页面效果如下图5-7所示。图5-7公告管理界面主要代码为:@ResponseBody@RequestMapping("/admin/notice/list")publicServerLayResult<Notice>list(@RequestParam(value="page",defaultValue="1")Integerpage,@RequestParam(value="limit",defaultValue="10")Integerlimit,Stringkeyword1,Stringkeyword2){(""+keyword1+">"+keyword2);if(keyword1!=null&&keyword1!=""||keyword2!=null&&keyword2!=""){List<Notice>notices=noticeService.selectByKeyWord(page,limit,keyword1,keyword2);ServerLayResultresult=newServerLayResult(0,"",notices.size(),notices);returnresult;}//封装数据ServerLayResultresult=newServerLayResult(0,"",noticeService.count(),noticeService.selectAll(page,limit));returnresult;}5.1.4试题管理管理员对测试题库的信息进行修改是在用户点击修改该项目按钮的情况之后进行操作的,当网站页面中有一个跳转到topiclist.html,修改成功后,管理员将该项目放入topiclist.html进行测试题库管理,topiclist.html通过自动查询到整个数据库中的测试题库列表来显示所有关于测试题库的信息,每条测试题库都相对于一个被删除的按钮和一个被修改的按钮,当管理员再次点击被删除的按钮,直接将其恢复到当前的数据库中,然后将其重新设置为当前的页面,当管理员在其中选择后再点击被修改,则可以进入topiclist.html的页面,进行测试题仓储库信息修改。试题管理流程图如5-8所示。图5-8试题管理流程图试题修改页面设计效果如下图5-9所示。图5-9测试题库修改界面试题管理页面效果如下图5-10所示。图5-10测试题库管理界面5.1.5测试成绩管理管理员对测试成绩的信息进行添加时都是在用户点击这个添加按钮的必要条件和前提下进行操作的,通过自动查询到数据库中的测试成绩表来列出所有的测试成绩信息,每条测试成绩都会相应一个被删除的按钮,当管理员再次点击被删除的按钮,直接将测试成绩信息从数据库中删除,然后将其重新定向当前的页面。测试成绩管理页面REF_Ref27905\w\h[9]效果如下图5-11所示。图5-11测试成绩管理界面5.1.6留言管理留言管理主要是为了增加与用户的部分互动,用户提交留言后,管理员可在后台进行查看留言、回复留言、删除留言等操作。如图5-12所示:图5-12留言管理界面5.1.7密码修改管理员进入主界面,下拉系统设置,点击密码修改,进行修改密码操作,修改密码流程图如5-13所示。图5-13修改密码流程图修改密码界面如图5-14所示:图5-14密码修改界面主要代码:publicMap<String,Object>updatePwd(@RequestBodyJSONObjectjson){Map<String,Object>dataMap=newHashMap<>();booleanisSuccess=false;JSONObjectdata=JSON.parseObject(json.toJSONString());StringoldPassword=data.getString("oldPassword");Stringpassword=data.getString("password");Stringrepassword=data.getString("repassword");("====>"+oldPassword+"--"+password+"--"+repassword);//这里默认只能修改管理员密码UserbyUsername=userService.getByUsername(LoginSession.getCurrentUser().getUsername());(">"+byUsername);if(byUsername!=null){//校验旧密码是否正确if(!byUsername.getPassword().equals(DigestUtils.md5DigestAsHex(oldPassword.getBytes()))){dataMap.put("scueess",isSuccess);returndataMap;}if(!password.equals(repassword)){dataMap.put("scueess",isSuccess);returndataMap;}5.2用户功能模块5.2.1在线心理测试管理员为用户添加一个关于在线心理测试的信息都是在用户点击心理测评按钮的情况和前提下进行操作的,当网站页面自动跳转到pgtest.html,成功后,用户在pgtest.html进行在线心理测试,pgtest.html通过查询数据库的在线心理测试列表,将所有需要进行测试的问题信息列表,每条在线心理测试对应几个选择按钮,当用户点击一个按钮之后,将会记录下来,当全部题目选择完毕提交之后,将会返回测试信息并重定向当前页面。在线测试流程图如5-15,页面效果如下图5-16所示。图5-15在线测试流程图图5-16在线心理测试界面主要代码为:@ResponseBody@RequestMapping("/pgtest/add")publicMap<String,Object>addPgTest(@RequestParam("count")Integercount)Map<String,Object>mapData=newHashMap<>();PgTestpgTest=newPgTest();if(count>=90)pgTest.setPgtestResult("典型的外向性格");pgTest.setPgtestTime(newDate());//从session中获取pgTest.setUserOp(LoginSession.getCurrentUser().getUsername());pgTest.setPgtestScore(count);("");//插入数据库booleaninsert=pgTestService.insert(pgTest);mapData.put("status",insert);returnmapData;elseif(count>70&&count<90){pgTest.setPgtestResult("稍外向性格");pgTest.setPgtestTime(newDate());//从session中获取pgTest.setUserOp(LoginSession.getCurrentUser().getUsername());pgTest.setPgtestScore(count);("==========================================");//插入数据库booleaninsert=pgTestService.insert(pgTest);mapData.put("status",insert);returnmapData;}elseif(count>50&&count<70){pgTest.setPgtestResult("外内混合型性格");pgTest.setPgtestTime(newDate());//从session中获取pgTest.setUserOp("test");pgTest.setPgtestScore(count);("=================");//插入数据库booleaninsert=pgTestService.insert(pgTest);mapData.put("status",insert);returnmapData;}elseif(count>30&&count<50){pgTest.setPgtestResult("典型的内向性格");pgTest.setPgtestTime(newDate());//从session中获取pgTest.setUserOp(LoginSession.getCurrentUser().getUsername());pgTest.setPgtestScore(count);("+++++++++++++++++++++");//插入数据库booleaninsert=pgTestService.insert(pgTest);mapData.put("status",insert);returnmapData;}mapData.put("status",false);returnmapData;5.2.2公告查询用户进入主界面可以查看公告信息,如图5-17所示:图5-17公告查询界面5.2.3文章查询用户可以直接点击"文章",通过跳转页面来实时查看文章的相关信息。进入文章查询界面,进行文章查询操作,如图5-18所示图5-18文章查询操作5.2.4留言功能用户进入主界面单击留言按钮,进入留言界面,可进行留言操作,如图5-19所示:图5-19留言操作主要代码:/***用户留言**@paramdata*@return*/@ResponseBody@RequestMapping(value="/leacots/save",method=RequestMethod.POST)publicMap<String,Object>saveLeacot(@RequestBodyJSONObjectdata){Map<String,Object>mapData=newHashMap<>();booleanisSuccess=false;JSONObjectjson=JSON.parseObject(data.toJSONString());//获取用户的留言内容Stringdesc=json.getString("desc");//关联idintindexId=4;//生成一条默认的用户评论Replyreply=newReply();reply.setReplyContent("亲,管理员在快马加鞭的回复您!");reply.setReplyTime(newDate());reply.setReplyUser("管理员");reply.setId(indexId);booleaninsertReply=replyService.insert(reply);5.3分页算法实现在实际工作中,很进行列表查询的场景,我们往往都需要做两个步骤:查询所需页数对应数据;统计符合条件的数据总数。而这,又会导致我们必然至少要写2个Sql进行操作。这无形中增加了我们的工作量,另外,当发生需要变动时,我们又需要同时改动这两个Sql,否则必然导致结果的不一致。这个时候,一个适合的分页算法就很重要了。分页算法的原理为:以本项目使用Mybatis框架为例,在里面的核心代码pageHelper,首先,会解析各个位置的分页参数信息,然后对pageHelper实例进行初始化,然后调用方法进行是否分页,如果不需要,直接执行查询全部数据的Sql进行查询数据返回给前端,如果需要,则进行下一步是否需要进行查询整个数据条数记录的即Count,需要的则会实现一次,然后再查询分页结果,最后将查询出来的分页结果封装好返回给页面显示。分页流程图如下图5-20所示:图5-20分页算法流程图分页控制台数据语句效果图如图5-21:图5-21分页效果数据图如图5-21展示的为分页算法实现一次分页查询数据并返回给前端的效果数据,其中进行了分页检测查询以及分页查询和Count查询,最终将分页数据返回给前端显示,如下图5-22所示:图5-22分页前端效果图主要算法代码如下://com.github.pagehelper.PageHelper#skip@Overridepublicbooleanskip(MappedStatementms,ObjectparameterObject,RowBoundsrowBounds){if(ms.getId().endsWith(MSUtils.COUNT)){thrownewRuntimeException("在系统中发现了多个分页插件,请检查系统置!");}//如果page返回null,则不需要进行分页,即是否调用PageHelper.start(pageNo,pageSize)方法Pagepage=pageParams.getPage(parameterObject,rowBounds);if(page==null){returntrue;}else{//设置默认的count列if(StringUtil.isEmpty(page.getCountColumn())){page.setCountColumn(pageParams.getCountColumn());}autoDialect.initDelegateDialect(ms);returnfalse;}}//com.github.pagehelper.page.PageAutoDialect#initDelegateDialect//多数据动态获取时,每次需要初始化publicvoidinitDelegateDialect(MappedStatementms){if(delegate==null){if(autoDialect){//比如MySqlDialectthis.delegate=getDialect(ms);}else{dialectThreadLocal.set(getDialect(ms));}}}第6章系统测试6.1测试目的软件风险测试系统可以有效识别一个软件项目的潜在风险,为这个项目软件开发者和应用程序管理技术人员及时提供对这个软件进行测试的风险反馈分析结果,为项目风险评价工作提供必需的数据资料。再者,软件上线测试人员应当也要确保一个网站在软件上线日前就已经完全达到了有关网站软件上线的规定标准。包括对各个项目的质量持续进行跟踪和对各个项目的设计施工进度及对各个项目研究生产阶段的设备生产过程质量严格监督把关。本系统主要测试客户端的使用和后台服务器的使用。客户端主要是添加公告文章、用户登录、在线测评功能、页面是否进行跳转等功能是否实现。后端主要是测试的功能是否实现。6.2界面测试使用黑盒测试方法测试本系统的界面,测试界面是否正常、可用。用户界面测试检查表如下表。表6-1用户界面测试表检查项测试人测试结果窗口切换、移动、改变大小时正常吗?本人正常各种界面元素的文字正确吗REF_Ref27935\w\h[10]?(如标题、提示等)本人正常各种界面元素的状态正确吗?(如有效、无效、选中等状态)本人正常各种界面元素是否可以键盘操作?本人正常数据项能正确回显吗?本人正常执行有风险的操作时,是否有“确定”、“取消”等提示?本人正常各种界面元素的布局是否合理?且具有特点?本人正常6.3测试用例1.用户登录测试当一个用户以"admin"的身份注册登录,密码设置为"123456"时,提示窗口会自动显示"登入成功"图6-1用户登录测试界面当用户以“admin”身份登录,密码为“123456”时,提示框会提示“登入成功”图6-2用户登录测试界面2.文章信息管理测试对整个业务系统软件设计工作人员本身进行了一次系统功能检验测试,利用黑盒子算法的等效性检验方法和输入边界值的方法相互结合的功能测试设计手段,来准确检验整个系统的基本功能,比如对一些关键的业务数据在整个网络中进行输入的同时会再次出现与此有关的错误;之前处理好的业务常规导致某一组的数据已经大大超出了业务常规,比如在某个用户的工作年龄上面会输入一个负数的值或者可能是某区域值出现上溢等,测试结果报告图表见软件图5-11。表6-1用户信息管理测试功能A描述以管理员身份登录,添加、修改、查询文章信息用例目的是否能够正确修改信息前提条件用户安全登录系统界面输入/动作输入实际情况示例:文章标题…666666如果输入的测试数据无误,则添加用户成功,如下图6-3所示。图6-3录入文章信息成功界面图3.心理测评测试当一个用户直接进入系统页面,并点击心理测评的时候,会自动跳转到登录页面进行登录,因此,心理测评必须登录之后才能进行操作。登录之后,并抽取出需要测评的十个试题,当选择没有全部完成的时候点击提交,将会提示“您有未完成的题目”,如图6-4所示。只有当题目全部完成之后,才能提交成功。图6-4测评提交图4.部分功能测试依据黑盒测试的方法和步骤,对系统做了相关测试,部分测试实例如下表所示。表6-2部分测试用例表模块用例描述预期结果 备注密码修改在用户管理中修改密码,原始密码若输入不正确提示“原始密码错误”测试原始密码是否正确测试题目修改题目内容为空系统提示请输入必填项测试修改题目内容是否为空输入题目内容编号和参考详解系统将会提示更新成功测试修改题目是否成功心理测评用户未登录时,点击心理测评按钮系统提示请先登录并跳转登录界面测试是否能不用登录用户进行在线测评用户登录后,用户信息内容为空系统提示请先登录并跳转登录界面测试登录用户信息内容是否能为空添加公告用户未登录时,点击公告添加按钮系统提示请先登录并跳转登录界面测试是否能不用登录用户添加公告用户登录后,点击公告添加按钮跳转到添加公告输入界面测试添加公告功能是否可用用户注册输入完整规范用户信息注册成功测试注册是否成功用户登录输入用户名,不输入验证码登录失败,验证码不能为空测试登录时验证码是否为空测试题目添加题目内容为空系统提示请输入必填项测试添加题目是否成功测评管理用户登录后,点击测评管理跳转测评管理界面测试是否可查询测评结果查询文章点击文章查询按钮跳转到现有文章界面测试是否可以进行后续修改添加文章输入标题、发布人、内容,并设置标签添加成功测试文章是否添加成功留言列表用户登录后,点击留言列表跳转到留言列表界面,可查询留言测试是否可以查看并回复留言心理测评全部题目未作答并提交提示还有未完成题目测试题全部不作答是否可以通过提交作答一半题目并提交提示还有未完成题目测试含有未作答题目是否可以通过提交全部作答完毕并提交通过,并返回检测结果测试心理测评是否返回数据6.4测试结果心理评估管理系统通过测试和调查后,能够按所要求正常工作运行,基本上无任何错误,能够充分满足研究人员和用户的心理评估。在系统总体测试的过程中,系统的功能设计相对来说是比较简单,而且根据不同的数据资源进行了配置,这些都待进一步完善。结论与展望7.1结论心理测评管理系统是由测试管理、用户管理、试题管理等模块组成的,它是实现用户管理、测试管理、心理测试、试题添加等功能的测试管理系统。心理测试管理系统能够利用互联网的有利条件,实行心理测试及

温馨提示

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

评论

0/150

提交评论