【《基于Java技术的心理咨询系统设计和实现》13000字(论文)】_第1页
【《基于Java技术的心理咨询系统设计和实现》13000字(论文)】_第2页
【《基于Java技术的心理咨询系统设计和实现》13000字(论文)】_第3页
【《基于Java技术的心理咨询系统设计和实现》13000字(论文)】_第4页
【《基于Java技术的心理咨询系统设计和实现》13000字(论文)】_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

系统设计4.1系统架构设计本心理咨询系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。系统架构如下图所示。图4.1系统架构4.2系统总体设计心理咨询系统总体分为前台用户模块和后台管理员模块。两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。综上所述,系统功能结构图如下图所示。图4.2系统功能结构图4.3系统功能设计登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。评价模块:评价模块促进用户对心理题目进行点评,查看某个心理题目已存在的评价,发表评价可以达到真实描述心理题目的效果。文章数据模块:可分为文章数据浏览、文章数据检索、文章数据维护三个模块,管理员对文章数据有维护的权限,发布新的文章数据、更新已有的文章数据等。心理题目管理模块:心理题目管理分为心理题目添加、修改和心理题目测试。心理题目信息由管理员进行修改、添加、删除操作;心理题目测试由普通用户来执行。教师管理模块:教师管理分为教师添加、修改和教师咨询。教师信息由管理员进行修改、添加、删除操作;教师咨询由普通用户来执行。4.4数据库设计4.4.1数据需求分析从前面可以分析到数据库中最重要的是心理题目信息,用户信息,测试信息,同时存在教师信息和咨询信息。分析可以得到如下数据描述:用户:用于记录用户的各种信息,包括学号、登录密码、学生姓名、性别、所属学院、班级、注册时间等数据项。管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。教师:存储各种教师信息。包括登录名、登录密码、教师姓名、联系电话、教师头像、教师简介、是否优质教师等数据项。心理题目测试:存储用户的心理题目测试信息。包括心理题目测试的测评名称、发布教师、题目等数据项。教师咨询。存储用户的教师咨询信息。包括教师咨询的问题类型、问题描述、回复状态、回复内容、提问学生、教师ID、提问时间等数据项。文章数据:存储平台内的文章数据内容。包括标题,文章数据内容,时间等数据项。4.4.2数据库概念设计根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。系统ER图如下图所示。图4.3系统ER图4.4.3数据库表设计心理咨询系统所拥有的数据表有以下:用户信息表,心理题目测试表,教师信息表,教师咨询表。由于数据表较多,只展示系统主要数据表,如下表所示。表4.1管理员(admin_info)字段英文名字段含义数据类型长度类型idIDint11主键name登录名varchar255表4.2教师(teacher)字段英文名字段含义数据类型长度类型idIDint11主键name登录名varchar255pass_word登录密码varchar255tname教师姓名varchar255cel_phone联系电话varchar255teacher_img教师头像varchar200teacher_intro教师简介varchar255表4.3用户(user_info)字段英文名字段含义数据类型长度类型idIDint11主键stu_no学号varchar255pass_word登录密码varchar255sname学生姓名varchar255sex性别int11college_id所属学院int11外键,外联表“学院”表class_name班级varchar255表4.4学院(college_info)字段英文名字段含义数据类型长度类型idIDint11主键表4.5文章(article_info)字段英文名字段含义数据类型长度类型idIDint11主键title文章标题varchar255content文章内容textcomment_num评论数量int11tid发布教师int11外键,外联表“教师”表表4.6心理问题分类(question_type_info)字段英文名字段含义数据类型长度类型idIDint11主键表4.7心理测评(test_info)字段英文名字段含义数据类型长度类型idIDint11主键test_name测评名varchar255表4.8测评评语设置(test_eval_setting)字段英文名字段含义数据类型长度类型idIDint11主键score1分数范围(最小值)int11score2分数范围(最大值)int11eval_content评语varchar255表4.9测评题目(test_item_info)字段英文名字段含义数据类型长度类型idIDint11主键title标题varchar255item_type题目类型int11aselA选项varchar255bselB选项varchar255cselC选项varchar255dselD选项varchar255single_answer单选题答案int11complex_answer多选题答案varchar255judge_answer判断题答案int11test_id所属测试int11外键,外联表“心理测评”表表4.10心理咨询(question_info)字段英文名字段含义数据类型长度类型idIDint11主键question_type_id问题类型int11外键,外联表“心理问题分类”表content问题描述varchar255is_reply回复状态int11reply_content回复内容varchar255stu_id提问学生int11外键,外联表“用户”表teacher_id教师IDint11外键,外联表“教师”表create_time提问时间varchar255表4.11专题辅导(psy_subject_info)字段英文名字段含义数据类型长度类型idIDint11主键simg宣传图varchar200title专题标题varchar255subject_id专题类型int11外键,外联表“心理问题分类”表content专题内容textteacher_id发布教师int11外键,外联表“教师”表表4.12文章评论(article_comment_info)字段英文名字段含义数据类型长度类型idIDint11主键content评论内容varchar255article_id评论文章int11外键,外联表“文章”表user_id评论用户int11外键,外联表“用户”表is_reply回复状态int11reply_content回复内容varchar255reply_time回复时间varchar255teacher_id教师IDint11外键,外联表“教师”表第5章系统测试5系统实现5.1数据库访问层的实现该系统是通过jdbc和Mysql达成连接的,新建一个perties文件来填写与数据库连接所需要的驱动和参数。jdbc.driverClass=com.Mysql.jdbc.Driverjdbc.url=jdbc:Mysql://localhost:3306/tsijdbc.username=rootjdbc.password=123第一个参数代表Mysql数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。5.2注册模块的实现用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。用户注册流程图如下图所示。图5-1用户注册流程图用户注册界面如下图所示。图5-2用户注册界面用户注册的关键代码如下。<%HashMapext=newHashMap();ext.put("issh","否");newCommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");%>5.3登录模块的实现主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布心理题目信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。登录流程图如下图所示。图5-4登录流程图用户登录界面如下图所示。图5-5用户登录界面用户登录的关键代码如下。if(ac.equals("adminlogin")){Stringusername=request.getParameter("username");Stringpassword=request.getParameter("pwd");Stringutype=request.getParameter("cx");Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");Stringrandom=(String)request.getSession().getAttribute("random");if(!pagerandom.equals(random)&&request.getParameter("a")!=null){request.setAttribute("random","");go("/login.jsp",request,response);}else{Stringsql1="select*fromalluserswhereusername='"+username+"'andpwd='"+password+"'";List<HashMap>userlist1=dao.select(sql1);if(userlist1.size()==1){request.getSession().setAttribute("username",userlist1.get(0).get("username"));request.getSession().setAttribute("cx",userlist1.get(0).get("cx"));gor("main.jsp",request,response);}else{request.setAttribute("error","");go("/login.jsp",request,response);}}}5.4用户资料修改模块的实现用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。5.5文章数据管理模块的实现如果文章数据的信息需要修改,管理员可以通过查询文章数据的基本信息来查询文章数据,查询文章数据是通过ajax技术来进行查询的,需要传递文章数据的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。文章数据展示界面如下图所示。图5-6文章数据展示界面文章数据管理界面如下图所示。图5-7文章数据管理界面文章数据发布的关键代码如下。<%Stringlb=request.getParameter("lb");HashMapext=newHashMap();newCommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);%>5.6评论模块的实现用户便可以对心理题目做出评论。点击按钮之后会跳转至评论填写页面,填写评论提交之后,后台通过PinglunController的publish方法将相关信息保存到数据库系统。评论添加流程图如下图所示。图5-10评论添加流程图评论添加界面如下图所示。图5-11评论添加界面评论管理界面如下图所示。图5-12评论管理界面评论添加关键代码如下。<%Stringid=request.getParameter("id");Stringbiao=request.getParameter("biao");HashMapext=newHashMap();newCommDAO().insert(request,response,"pinglun",ext,true,true,"");%>5.7测试心理题目模块的实现测试心理题目功能需要考虑高并发,防止出现心理题目重复测试、心理题目状态显示出错等情况,特对心理题目这一共享数据增加锁机制。在乐观锁、悲观锁以及线程锁中,综合考虑性能效率和错误的可接受性选择了乐观锁机制。乐观锁的实现方式是使用版本标识来确定读到的数据与提交时的数据是否一致,提交后修改版本标识,不一致时可以采取丢弃和再次尝试的策略。在数据库心理题目表(对应心理题目实体)设计中增加了version字段,每次数据提交时(更改心理题目状态)会判断version是否匹配,若不匹配停止本次提交,若匹配则提交成功并增加version的值。测试心理题目功能整体流程:用户浏览心理题目信息时,同时会显示心理题目的状态,系统会在其显示详细信息的页面时便会判断心理题目的状态,若心理题目状态为可测试,则会显示测试的链接按钮。在用户点击测试按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写测试信息的页面,填写好测试信息之后,点击提交按钮,测试成功之后返回提示信息,告知用户测试成功。心理题目测试流程图如下图所示。图5-12心理题目测试流程图心理题目测试界面如下图所示。图5-13心理题目测试界面测试管理界面如下图所示。图5-14测试管理界面心理题目测试关键代码如下。<%HashMapext=newHashMap();if(request.getParameter("f")!=null){ext.put("issh","否");newCommDAO().insert(request,response,"shujujilu",ext,true,false,"");}%>5.8咨询教师模块的实现咨询教师功能整体流程:用户浏览教师信息时,同时会显示教师的状态,系统会在其显示详细信息的页面时便会判断教师的状态,若教师状态为可咨询,则会显示咨询的链接按钮。在用户点击咨询按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写咨询信息的页面,填写好咨询信息之后,点击提交按钮,咨询成功之后返回提示信息,告知用户咨询成功。咨询教师流程图如下图所示。图5-12咨询教师流程图咨询教师界面如下图所示。图5-15咨询教师界面咨询管理界面如下图所示。图5-16咨询管理界面咨询添加关键代码如下。<%HashMapext=newHashMap();if(request.getParameter("f")!=null){ext.put("issh","否");newCommDAO().insert(request,response,"shujujilu",ext,true,false,"");}%>5.9心理题目管理模块的实现此页面的关键是编写心理题目信息,包括心理题目编号,名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的心理题目信息,例如,如果未写入心理题目编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit=“returncheckForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的onsubmit=”returncheckForm()来检查。管理员点击左侧菜单“心理题目信息管理”,页面跳转到心理题目信息管理外观,调用后台心理题目查询所有心理题目信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出心理题目信息,单击删除按钮完成心理题目信息的删除。心理题目管理流程图如下图所示。图5-17心理题目管理流程图心理题目添加界面如下图所示。图5-18心理题目添加界面心理题目管理界面如下图所示。图5-19心理题目管理界面心理题目发布的关键代码如下。<%Stringlb=request.getParameter("lb");HashMapext=newHashMap();newCommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);%>5.10教师管理模块的实现根据需求,需要对教师进行添加、删除或修改详情信息。删除或修改教师时,系统根据教师的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询教师状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。添加教师时,会给出数据填写的页面,该页面根据填写好的教师编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。教师管理流程图如下图所示。图5-20教师管理流程图教师添加页面设计效果如下图所示。图5-21教师添加界面教师管理页面效果如下图所示。图5-22教师管理界面教师发布的关键代码如下。<%Stringlb=request.getParameter("lb");HashMapext=newHashMap();newCommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);%>致谢6系统测试6.1测试目的对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。6.2功能测试下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。表6.1系统登录功能测试用例功能描述用于系统登录测试目的检测登录时的合法性检查测试数据以及操作预期结果实际结果输入的用户名和密码带有非法字符提示用户名或者密码错误与预期结果一致输入的用户名或者密码为空提示用户名或者密码错误与预期结果一致输入的用户名和密码不存在提示用户名或者密码错误与预期结果一致输入正确的用户名和密码登录成功与预期结果一致下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。表6.2注册功能测试用例功能描述用于用户注册测试目的检测用户注册时的合法性检查测试数据以及操作预期结果实际结果输入的手机号不合法提示请输入正确的手机号码与预期结果一致输入的字段为空提示必填项不能为空与预期结果一致输入的密码少于6位提示密码必须为6-12位与预期结果一致输入的密码大于12位提示密码必须为6-12位与预期结果一致下表是心理题目管理功能的测试用例,检测了心理题目管理中对心理题目信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。前置条件;用户登录系统。表6.3心理题目管理的测试用例功能描述用于心理题目管理测试目的检测心理题目管理时的各种操作的运行情况测试数据以及操作预期结果实际结果点击添加心理题目,必填项合法输入,点击保存提示添加成功与预期结果一致点击添加心理题目,必填项输入不合法,点击保存提示必填项不能为空与预期结果一致点击修改心理题目,必填项修改为空,点击保存提示必填项不能为空与预期结果一致点击修改心理题目,必填项输入不合法,点击保存提示必填项不能为空与预期结果一致点击删除心理题目,选择心理题目删除提示删除成功与预期结果一致点击搜索心理题目,输入存在的心理题目名查找出心理题目与预期结果一致点击搜索心理题目,输入不存在的心理题目名不显示心理题目与预期结果一致下表是教师管理功能的测试用例,检测了教师管理中对教师信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。前置条件;用户登录系统。表6.4教师管理的测试用例功能描述用于教师管理测试目的检测教师管理时的各种操作的运行情况测试数据以及操作预期结果实际结果点击添加教师,必填项合法输入,点击保存提示添加成功与预期结果一致点击添加教师,必填项输入不合法,点击保存提示必填项不能为空与预期结果一致点击修改教师,必填项修改为空,点击保存提示必填项不能为空与预期结果一致点击修改教师,必填项输入不合法,点击保存提示必填项不能为空与预期结果一致点击删除教师,选择教师删除提示删除成功与预期结果一致点击搜索教师,输入存在的教师名查找出教师与预期结果一致点击搜索教师,输入不存在的教师名不显示教师与预期结果一致6.3测试结论从上述内容来看,这一系统的测试结果都符合标准要求。这说明在后续的使用中可以较好的满足使用者的使用需求。这一系统有着数据全面、操作简便、易学易会等特点。系统在开发建设完成之后,最重要的就是考察其实际应用效果,所以在以下各个环节都要做出详细的测试操作,才能确保系统的稳定性效果。7总结与展望系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。本次论文设计,将我所学的所有计算机系统的知识内容都运用开来,把各个软件技术的使用充分的结合系统开发进行了大学生心理健康咨询管理系统的建设设计,这一软件的开发过程让我能够把书本中的内容运用到实际操作中来,彻底的完成了理论结合实际。同时在实际的开发过程中,我的动手能力和操作能力都得到了提升,在发现问题和解决问题方面的能力也进步不小。本次的系统研发让我的编程技术更上一层楼,是一次十分宝贵的经历。本次的毕业设计因为第一次设计一个完整的系统所以还有很多的不足的方面,主要有以下几点:1.时间把握不好,工作太拖拉,到后期很赶,使得功能和页面并不是很完善,内容也比较空洞。2.页面不够人性化,界面过于单一,没有变化,容易造成视觉上的疲劳。3.功能不够完善,有些功能并没有能够实现,对于被删除和修改的文件没有做到备份,所以一旦失误是无法找回的。4.关于密码找回,并没有想到合理的方式找回。改进措施:在添加后的用户,需得到管理员的审核才能够使用,避免了恶意添加或是恶意进入用户内部的举动,并且管理员据有最高权限,保证数据的安全。完成本次课程实际的同时,暴露出了自身的很多的不足,比如在开发系统的时候不够细心,导致出现了很多漏洞,在修补漏洞的过程中又浪费了更多时间,导致开发的效率不高。本此毕业设计将大学四年学到的专业知识进行了合理的运用运用,这短短3个月的时间学到非常多的知识,即使对以往所学过知识的整合,又学到了更多的新知识。纸上学来终觉浅,能够将所学到的知识运用到开发实践中,这是对知识的更深一层理解,即理论应用实践。在课程设计的完成过程中遇到了很多困难,我通过多种途径对这些困难加以解决,比如寻求同学的看法和见解,向老师寻求帮助,在网络上查找文献、搜寻解决方法等,极大得加强了我的自学能力,使我在日后的学习中能够以更高的效率来获取知识、完善自我。

参考文献[1]教育部.关于全面提高高等职业教育教学质量的若干意见.中国职业技术教育,2017(1):14-15.[2]罗漪.大学生网上评教体系优化的研究.江西师范大学,2015.[3]韩园园.大学生利用网络评价教师课堂教学的研究.南京师范大学,2016.[4]解建立,张倩.大学生网上评教问题研究——基于S市部分高校调查.河北企业,2015(6):130-131.[5]黄建军,黄继东,尹加帮,等.美国、加拿大和日本高校学生评教的特点与启示.医学教育探索,2015,09(5):621-625.[6]邢永富,常瑾.国外知名高校学生评教

温馨提示

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

评论

0/150

提交评论