摘 要
随着高等教育的发展,高校学生心理健康管理面临新挑战。针对此,开发一款基于PHP和MySQL的心理健康信息系统显得至关重要。该系统以B/S架构为基础,通过phpstorm开发工具实现,主要包括音乐类型、音乐信息、心理老师、学生咨询、学生咨询等功能模块。系统面向管理员、学生用户和老师用户,提供音乐类型和心理老师的资源管理,支持学生咨询和档案管理。此系统不仅提高了艺术类高校学生心理健康管理工作的效率和水平,也满足了当前心理健康教育信息化发展的需要。通过此系统,学生可以了解自己的心理状态,挖掘自身潜力,完善自我;老师和管理员则能更精确、高效地进行心理健康教育和管理工作。
关键词:PHP语言;心理健康 ;MySQL
Abstract
With the development of higher education, the management of mental health among college students is facing new challenges. It is crucial to develop a mental health information system based on PHP and MySQL in response to this. The system is based on the B/S architecture and implemented through the phpstrom development tool. It mainly includes functional modules such as music type, music information, psychological teacher, student consultation, and student consultation. The system is aimed at administrators, student users, and teacher users, providing resource management for music genres and psychological teachers, supporting student consultation and file management. This system not only improves the efficiency and level of mental health management for students in art universities, but also meets the needs of the current development of information technology in mental health education. Through this system, students can understand their psychological state, tap into their potential, and improve themselves; Teachers and administrators can provide more precise and efficient mental health education and management work.
Key words:PHP language; Psychological health; MySQL
目 录
1 绪论
随着社会的快速发展和教育改革的不断深化,学生心理健康问题日益受到广泛关注。学生作为社会的未来和希望,其心理健康状况直接关系到个体的成长、学业成就以及社会的和谐发展。然而,当前学生心理健康问题却面临着诸多挑战。
一方面,学生心理健康问题具有多样性和复杂性。不同年龄段、不同性别、不同家庭背景的学生可能面临不同的心理困扰,如学业压力、人际关系、自我认知等。这些问题不仅影响学生的日常生活和学习,还可能引发一系列心理问题,如抑郁、焦虑、自卑等。
另一方面,传统的心理健康教育方式已经无法满足当前的需求。传统的心理健康教育往往以课堂讲授为主,缺乏个性化和针对性。此外,学生心理健康问题的发现和干预也存在一定的滞后性,往往无法及时有效地解决学生的心理问题。
因此,建立学生心理健康信息系统显得尤为重要。该系统可以通过收集和分析学生的心理健康数据,为学生提供个性化的心理健康服务,帮助学生解决心理问题,提高心理健康水平。同时,该系统还可以为学校和教育部门提供数据支持,帮助他们更好地了解学生的心理健康状况,制定更有效的心理健康教育策略。
1.2国内外研究现状
在当今社会,学生心理健康问题日益受到重视,学生心理健康信息系统也应运而生。这一系统致力于通过科技手段,收集、分析和应用学生的心理健康数据,从而为他们提供更为精准和个性化的心理健康服务。
在国内,随着教育部门对学生心理健康的重视,越来越多的学校开始引入心理健康信息系统。这些系统不仅可以通过问卷调查、心理测试等方式收集学生的心理健康数据,还能通过数据分析,为每个学生提供个性化的心理健康建议。此外,一些高校和研究机构也在积极研究如何利用先进技术,进一步提升学生心理健康信息系统的效能。
与此同时,国外在学生心理健康信息系统方面的研究也取得了显著的进展。例如,一些国外的研究团队通过结合心理学、计算机科学等多个学科的知识,开发出了能够实时监测学生心理健康状态的系统。这些系统可以通过分析学生的社交媒体使用记录、在线行为等数据,及时发现学生的心理问题,并为他们提供及时的帮助。
总的来说,无论是国内还是国外,学生心理健康信息系统都已经成为了一个热门的研究领域。随着技术的不断进步和应用场景的不断拓展,相信未来这一领域还将会有更多的创新和突破。
1.3论文结构与章节安排
本文共分为六章,章节内容安排如下:
第一章为引言,此章节对所设计和实现的系统的背景、国内外研究现状进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章为相关技术介绍,本章节主要的工作是对系统进行了技术、框架进行分析;对系统实行了总体功能的需求、用例分析。
第三章为系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第四章为系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第五章就是对系统的实现,根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。
第六章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试
第七章:总结。
2相关技术介绍
2.1PHP编程语言
PHP(Hypertext Preprocessor)是一种流行的开源服务器端脚本语言,主要用于开发动态网页和Web应用程序。作为一种通用脚本语言,PHP可以嵌入HTML中,也可以与各种数据库配合使用,如MySQL、Oracle等,为开发人员提供了丰富的功能和灵活性。
PHP语言的语法类似于C语言和Perl,易于学习和理解。它支持多种平台,可以在Windows、Linux、Unix等操作系统上运行,极大地提高了跨平台开发的便利性。PHP还拥有强大的数据库支持能力,能够轻松地连接各种数据库,并进行数据操作和管理,为开发数据库驱动的Web应用提供了便捷的解决方案。
在PHP中,开发人员可以通过嵌入PHP代码来实现动态内容的生成,从而实现网页的个性化和交互性。PHP还支持面向对象编程,提供了丰富的类和函数库,方便开发人员快速构建复杂的Web应用程序。
除此之外,PHP还具有良好的安全性和稳定性,可以通过各种安全设置和机制来保护网站和用户数据的安全。同时,PHP社区庞大活跃,有大量的文档、教程和插件可供开发人员参考和使用,极大地提升了开发效率和质量。
总的来说,PHP作为一种强大而灵活的服务器端脚本语言,为Web开发提供了丰富的功能和工具,帮助开发人员快速构建高效、安全和功能丰富的Web应用。通过不断学习和实践,开发人员可以充分利用PHP的优势,实现更加强大和优秀的Web应用程序。
2.2css3 工作原理
CSS是一门用于描述网页信息的格式化和展示方式的语言,它定义了样式结构,如字体、颜色和位置等。CSS样式可直接保存在HTML网页中,也可保存在独立样式单文件中。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。对外使用时将样式单规则置于具有文件扩展名_css对外样式单文档。
样式规则就是可以对网页上的要素例如文本段落或者链接施加格式化指令。样式规则包括一种或多种样式属性和它们的数值。内部样式单会被直接存储在网页里,而外部样式单则被保存在一个独立的文档里,网页则是通过一个特定的标签与外部样式单进行链接。
在名称CSS中,“层叠(cascading)”是用来描述样式单规则在HTML文档元素中的应用方法。具体而言,CSS样式单的样式构成了层次结构,更为特定的样式涵盖了通用样式。样式规则优先级通过CSS按照该层次结构确定以达到级联效果。
2.3Mysql数据库
Mysql历经数次更新后,其功能层面已十分丰富完善,由Mysql4版至5版都有较大幅度更新,并在实际商业应用中获得良好实际应用。最新版Mysql在加密的情况下支持信息压缩可以很好地满足信息安全性要求。同时在对系统进行多次更新后,数据库本身镜像功能大大加强,操作流畅度、易用性等都有相当大提升,驱动使用、创建等效率更高、更快。最重大的改变仍然是对空间信息显示的优化,可以更容易地对应用地图中的坐标做出标记与操作。强大备份功能亦确保用户在使用过程中会更放心,而配套Office功能则支持用户自安装使用。在资料的展示形式方面也做了相当大的改进,新增了2个很有用途的展示区域,其中之一就是资料区域,将表格与文字分类处理后,界面展示更清爽、更具体。二是仪表中的信息控件可以在仪表信息区中显示信息,也可以将多种信息匹配起来,给用户实际应用带来极大方便。
对于本课题所设计学生选课系统进行实际实现时,之所以最后选用Mysql数据库,主要是因为企业应用系统运用和开发过程中会有大量数据库运行较为频繁,并且对数据安全要求较高。考虑到以上因素,本文最后选用安全性系数相对较好的Mysql作为学生选课系统后台数据存储操作。
2.3Vue.js 主要功能
Vue.js为一套渐进式的用户界面搭建框架。和其他重量级框架不一样,Vue使用了自底向上的增量开发设计。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js旨在用尽可能简单API将响应数据绑定,并将视图组件合并。
Vue.js本身并非万能的框架—仅关注视图层。因此,它的学习过程非常简单,并且可以轻松地与其他数据库或已存在的项目进行整合。另一方面,在与相关工具和支持库一起使用时,Vue.js也能驱动复杂的单页应用。
3 系统分析
系统需求分析是系统开发的关键环节,在系统设计和实现中起着承上启下的作用。系统需求分析是对一个系统进行需求挖掘的过程,如果分析得准确,则可以精确解决在实际应用过程中所碰到的种种问题。如果分析不恰当,就会影响到系统以后的执行。系统的优秀度需求分析也占据了相当大的比例,需求分析没有做好,之后的系统设计想要达到就会偏离导航。
3.1 可行性分析
分析用户需求和数据需求,得到一个方案,然后设定系统的开发方案,为每个功能模块设计出物理设计方案,开发本系统的是否可行?从技术,经济,操作等方面分析了该系统开发可行性分析。
3.1.1 技术可行性分析
该系统以windows 7为操作平台。我们选择了Mysql作为数据库开发平台,这个数据库管理系统在windows7和windows 8/10上都可以正常工作,它还支持数据库间的数据复制功能,从而替代了传统系统中单据数据的手动传递方式。
3.1.2 经济可行性分析
学生心理健康信息系统是个工具型系统,能为工作人员省去很多数据收集,方便又快捷,可大大提高工作效率,最大程度地减轻管理员工作量,尽可能地让管理变得简单,在推进音乐信息管理信息化和现代化的前提下,适时提供所需信息统计。由于整个系统使用了PHP加MySQL相结合的方式,这些软件均为免费开源,所以系统开发需要的成本相对较少,因为系统不是很复杂,它的操作和培训费用亦不占用大量经费,可预见该系统建成后能带来巨大经济效益。
3.1.3 操作可行性分析
该系统采用了现在比较流行的开发语言PHP技术。同时全部信息均以网页方式显示,对系统内信息可通过后台运行数据库实现数据更新。用户只要能对计算机进行基本操作或能上网,即可使用该系统。系统布局比较简单,功能操作也并不繁杂,完全满足现代市场的需求。
3.2 系统功能分析
3.2.1 功能性分析
学生心理健康信息系统我划分为了学生用户管理模块、老师用户管理模块和管理员模块这三大部分。
(1)注册登录:游客可以通过注册成为系统用户,使用账号密码可进行登录,使用系统功能。
(2)首页:可查看轮播图和系统其他功能。
(3)心理老师:可查所有心理老师信息,支持局部搜索和下拉(筛选、排序)搜索,点击可查看详情,进行咨询、收藏、点赞、评论操作。
(4)心理老师:点击“心理老师”,可查看所有心理老师,点击可查看详情,并进行收藏、点赞、评论操作。
(5)音乐信息:点击“音乐信息”,可查看音乐信息,可进行收藏、点赞、评论操作。
(6)通知公告:用户点击“通知公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看通知公告详情。
(7)心理资讯:用户点击“心理资讯”菜单显示所有的心理资讯信息,可以按照条件进行心理资讯的筛选或者输入关键词进行局部搜索,点击可以进入心理资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
(8)我的账户:对个人资料进行管理,包括修改密码和修改资料(头像、昵称、邮箱、用户姓名、用户性别)。
老师用户模块:
(1)音乐信息管理:老师可查看所有音乐信息,进行增改删查操作,支持歌曲名称、音乐类型进行搜索,可点击查看详情。
(2)学生咨询管理:可查看前台用户提交的学生咨询信息,进行查询、删除、重置操作,支持老师用户、老师姓名进行搜索,可点击查看详情。
管理员模块:
(1)登录:管理员账号密码由系统生成,可使用账号密码可进行登录,使用系统功能,并可对个人信息和密码进行管理。
(2)系统用户:可对学生用户、老师用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。
(3)音乐信息管理:可查看所有音乐信息,进行增改删查操作,支持歌曲名称、音乐类型进行搜索,可点击查看详情和查看评论。
(4)心理老师管理:可查看所有心理老师信息,进行添加、查询、删除、重置操作,支持老师用户、老师姓名进行搜索,可点击查看详情和查看评论。
(5)系统管理:可对首页的轮播图进行管理。查看添加的轮播图信息,进行增删改查操作,支持标题搜索,可点击查看详情。
(6)学生咨询管理:可查看所有学生咨询信息,进行删除、重置、查询操作,支持老师用户、老师姓名进行搜索,可点击查看详情。
(7)通知公告:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
(8)资源管理:管理员点击“资源管理”菜单能够对其下子菜单心理资讯、资讯分类以及和心理测评进行增删改查。
3.2.2 非功能性分析
学生心理健康信息系统的非功能性需求比如学生心理健康信息系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1学生心理健康信息系统非功能需求表
安全性 | 主要指学生心理健康信息系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指学生心理健康信息系统能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响学生心理健康信息系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着学生心理健康信息系统的页面展示内容进行操作,就可以了。 |
可维护性 | 学生心理健康信息系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.3 系统用例分析
学生心理健康信息系统的完整UML用例图分别是图3-1、图3-2和图3-3。
图3-1就是管理员角色的用例展示。
图3-1 学生心理健康信息系统管理员角色用例图
图3-2就是学生用户角色的用例展示。
图3-2 学生心理健康信息系统学生用户角色用例图
图3-3就是老师用户角色的用例展示。
图3-3 学生心理健康信息系统老师用户角色用例图
3.4 系统流程分析
开发学生心理健康信息系统最主要的一个目的就是实现学生对心理老师的在线咨询,图3-4就是系统的数据流图。
图3-4咨询心理老师操作展开图
(2)业务流程
分析完学生心理健康信息系统的数据流,那么接下来我们来看系统的业务流程,图3-5就是业务流程图:
4 系统设计
本章主要讨论的内容包括学生心理健康信息系统的功能模块设计、数据库系统设计。
4.1 系统功能模块设计
4.1.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并结合需求对该学生心理健康信息系统进行用例分析。然后下一步要着手本学生心理健康信息系统的结构,主要功能以及数据库着手设计。学生心理健康信息系统是在前几章的基础上,通过需求分析总结出来的,其总体设计模块图如图4-1所示。
图4-1 学生心理健康信息系统功能模块图
4.1.2界面设计
系统的首页反映了系统的整体功能,对首页的设计不仅影响到用户的使用体验,还涉及到其他页面的整体设计和功能管理策略。因此,利用Photoshop首先对首页的背景及页面布局做了设计。
登录页设计图,如下图所示。
图4-2登录页设计图
首页设计图,如下图所示。
图4-3首页设计图
4.2 数据库设计
数据库设计通常由需求分析,概念模型设计和数据库表的建立三个主要过程组成,在需求分析的前几章中已进行了详细的说明,概念模型的设计分为概念模型与逻辑结构设计。
4.2.1 数据库概念结构设计
设计数据库概念模型时,通常用E-R实体图来表示,实体图上可显示数据库表中所有字段名称,这个学生心理健康信息系统主要数据库E-R模型示意图见下图。
图4-4 学生用户信息E-R关系图
图4-5 学生咨询信息E-R关系图
图4-6 心理老师信息E-R关系图
图4-7 评论信息E-R关系图
图4-8音乐信息E-R关系图
图4-9老师用户信息E-R关系图
下面是整个学生心理健康信息系统中主要的数据库表总E-R实体关系图。
图4-10 学生心理健康信息系统总E-R关系图
4.3.2 数据库逻辑结构设计
通过上一小节中学生心理健康信息系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表exam (考试)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_id | mediumint | 8 | 0 | N | Y | 考试id | |
2 | name | varchar | 32 | 0 | N | N | 考试名称:[2,32] | |
3 | duration | int | 10 | 0 | Y | N | 答题时长 | |
4 | score | double | 9 | 2 | Y | N | 总分 | |
5 | status | varchar | 10 | 0 | Y | N | 状态:启用、禁用 | |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表exam_question (试题)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_question_id | mediumint | 8 | 0 | N | Y | ||
2 | type | varchar | 20 | 0 | Y | N | 类型 | |
3 | title | varchar | 255 | 0 | Y | N | 题目 | |
4 | question_item | varchar | 500 | 0 | Y | N | 选项 | |
5 | answer | varchar | 500 | 0 | Y | N | 参考答案 | |
6 | score | double | 9 | 2 | Y | N | 总分 | |
7 | question_order | int | 10 | 0 | Y | N | 排序 | |
8 | exam_id | mediumint | 7 | 0 | Y | N | 所属试卷 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表music_genre (音乐类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_genre_id | int | 10 | 0 | N | Y | 音乐类型ID | |
2 | music_genre | varchar | 64 | 0 | Y | N | 音乐类型 | |
3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表music_information (音乐信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | music_information_id | int | 10 | 0 | N | Y | 音乐信息ID | |
2 | song_title | varchar | 64 | 0 | Y | N | 歌曲名称 | |
3 | music_genre | varchar | 64 | 0 | Y | N | 音乐类型 | |
4 | singer_name | varchar | 64 | 0 | Y | N | 歌手姓名 | |
5 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
6 | upload_teacher | int | 10 | 0 | Y | N | 0 | 上传老师 |
7 | teachers_name | varchar | 64 | 0 | Y | N | 老师姓名 | |
8 | music_songs | varchar | 255 | 0 | Y | N | 音乐歌曲 | |
9 | music_introduction | text | 65535 | 0 | Y | N | 音乐简介 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表notice (公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表psychological_teacher (心理老师)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | psychological_teacher_id | int | 10 | 0 | N | Y | 心理老师ID | |
2 | teacher_user | int | 10 | 0 | Y | N | 0 | 老师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 老师姓名 | |
4 | teacher_gender | varchar | 64 | 0 | Y | N | 老师性别 | |
5 | proficient_in_areas_of_expertise | varchar | 64 | 0 | Y | N | 擅长领域 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | teacher_introduction | text | 65535 | 0 | Y | N | 老师简介 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表student_consultation (学生咨询)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_consultation_id | int | 10 | 0 | N | Y | 学生咨询ID | |
2 | teacher_user | int | 10 | 0 | Y | N | 0 | 老师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 老师姓名 | |
4 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | reply_status | varchar | 64 | 0 | Y | N | 回复状态 | |
7 | student_consultation | text | 65535 | 0 | Y | N | 学生咨询 | |
8 | teachers_reply | text | 65535 | 0 | Y | N | 老师回复 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表student_users (学生用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表teacher_user (老师用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_user_id | int | 10 | 0 | N | Y | 老师用户ID | |
2 | teachers_name | varchar | 64 | 0 | Y | N | 老师姓名 | |
3 | teacher_gender | varchar | 64 | 0 | Y | N | 老师性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表user_answer (用户答题)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_answer_id | mediumint | 8 | 0 | N | Y | ||
2 | user_id | mediumint | 7 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
3 | exam_id | mediumint | 7 | 0 | N | N | 0 | 考试id |
4 | score | double | 9 | 2 | Y | N | 0.00 | 分数 |
5 | answers | text | 65535 | 0 | Y | N | 答案 | |
6 | score_detail | text | 65535 | 0 | Y | N | 评分详情 | |
7 | objective_score | double | 9 | 2 | Y | N | 0.00 | 客观题得分 |
8 | subjective_score | double | 9 | 2 | Y | N | 0.00 | 主观题得分 |
9 | score_state | tinyint | 4 | 0 | Y | N | 0 | 评分状态 |
10 | nickname | varchar | 255 | 0 | Y | N | 提交人 | |
11 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
13 | comment_desc | varchar | 255 | 0 | Y | N | 评语 |
5 系统详细设计
学生心理健康信息系统的详细设计与实现主要是根据前文学生心理健康信息系统的需求分析和学生心理健康信息系统的总体设计进行网页的设计和业务逻辑的实现。重点阐述学生心理健康信息系统界面实现和业务逻辑实现两部分。
5.1用户功能模块
5.1.1 前台首页界面
当进入学生心理健康信息系统的时候,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,再往下是公告信息。
其主界面展示如下图所示。
图5-1 前台首页界面图
5.1.2 用户注册界面
可以通过注册成为学生用户,使用账号密码可进行登录,使用系统功能。
用户注册流程图如下所示。
图5-2用户注册流程图
用户注册页面设计如下图所示。
图5-3注册界面图
注册关键代码如下:
public function register()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->register($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function register($request=[],$table_name = ''){
$username = $request['username'];
$bol = $this->where(['username'=>$username])->find();
if (!$bol){
$result = self::allowField(true)->save($request);
if ($result) {
return ['result' => 1];
} else {
return ['error' => ['code' => 3000, 'message' => '注册失败']];
}
}else{
return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];
}
}
5.1.3用户登录界面
用户注册后可以使用账号密码可进行登录,使用系统功能;用户登录时按照要求输入用户名和密码,系统中函数在数据库中查询用户名和密码若有匹配的则进入系统学生用户页面,否则证明非该网站用户,跳回网站首页。
用户登录流程图如下所示。
图5-4用户登录流程图
用户登录页面设计如下图所示。
图5-5用户登录界面图
登录关键代码如下:
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
5.1.4 心理资讯详情界面
用户点击“心理资讯”菜单显示所有的心理资讯信息,可以按照条件进行心理资讯的筛选或者输入关键词进行局部搜索,点击可以进入心理资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
心理资讯详情页面设计如下图所示。
图5-6 心理资讯详情界面图
5.1.5音乐信息详情界面
当访客点击“音乐信息”后就可以看到所有的音乐信息,可以输入歌曲名称或者音乐类型进行搜索查询,选择你想要了解的音乐信息后将会进入该款音乐的详情界面,可以了解到该音乐的歌曲名称、音乐类型、歌手姓名、上传老师、老师姓名、音乐歌曲等,同时可以对点击下方的“点赞”、“收藏”进行相关操作,也可以在下方评论区输入想要评论的内容进行评论。
音乐信息页面设计如下图所示。
图5-7音乐信息详情界面图
5.1.6心理老师详情界面
用户点击“心理老师”可查看管理员发布的所有心理老师,支持局部搜索和下拉(筛选、排序)搜索,点击可查看详情,进行咨询、收藏、点赞、评论。
心理老师详情页面设计如下图所示。
图5-8心理老师详情界面图
学生用户可对个人首页、学生咨询、收藏等信息进行管控。点击“学生咨询”,可查看学生咨询信息,进行查询、重置操作,支持学生用户、学生姓名进行搜索,可点击查看详情;点击“收藏”,可管理所有收藏信息,进行查看和删除操作,可点击查看详情。
例如,个人中心学生咨询页面设计如下图所示。
图5-9个人中心界面图
5.2管理员功能模块
5.2.1系统用户管理界面
管理员可对学生用户、老师用户和管理员进行管控,包括进行增删改查操作,点击可查看详情。系统用户页面设计如下图所示。
图5-10系统用户管理界面图
系统用户管理关键代码如下:
public function add()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
if($this->table == 'user'){
$request['password'] = md5($request['password']);
}
$res = $this->add_before($request, $this->table, $this->table_id);
if($res['code'] == 200){
$result = $this->model->add($request, $this->table, $this->table_id);
$this->add_after($this->table);
$data = $result;
}else{
$data['error'] = $res;
}
}
} else {
$data['error']['code'] = 30000;
$data['error']['message'] = "field的值不能为空!";
}
return json_encode($data);
}
5.2.2音乐信息管理界面
老师用户和管理员可查看所有音乐信息,进行增改删查操作,支持歌曲名称进行搜索,可点击查看详情和查看评论。音乐信息管理页面设计如下图所示。
图5-11音乐信息管理界面图
音乐信息管理关键代码如下:
public function del()
{
$request = Request::param();
$result = $this->model->del_data($request, $this->table, $this->table_id);
$data = $result;
return json_encode($data);
}
5.2.3心理老师管理界面
管理员可查看所有心理老师信息,进行添加、重置、查询、删除操作,支持老师用户、老师姓名进行搜索,可点击查看详情和查看评论。心理老师管理页面设计如下图所示。
图5-12心理老师管理界面图
心理老师管理关键代码如下:
{
if (Request::isPost()) {
$get = Request::get();
$where = [];
foreach($get as $k => $g){
if($k != 'page' && $k != 'size'){
$where[$k] = $g;
}
}
$request = Request::post();
if($this->table != 'user'){
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
}
$result = $this->validate($request, $this->validate);
if (true !== $result) {
$data['error'] = 30000;
$data['message'] = $result;
} else {
$result = $this->model->set($request, $this->table, $this->table_id, $where);
$data = $result;
}
} else {
$data['error']['code'] = 30000;
$data['error']['message'] = "field的值不能为空!";
}
return json_encode($data);
}
5.2.4学生咨询管理界面
老师用户和管理员可查看前台用户提交的学生咨询,进行查询、删除、重置操作,支持老师用户、老师姓名进行搜索,可点击查看详情。学生咨询管理页面设计如下图所示。
图5-13学生咨询管理界面图
5.2.5通知公告管理界面
管理员点击“通知公告管理”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。通知公告管理页面设计如下图所示。
图5-14通知公告管理界面图
可对首页的轮播图进行管理。查看添加的轮播图信息,进行增删改查操作,支持标题搜索,可点击查看详情,系统管理页面设计如下图所示。
图5-14系统管理界面图
6系统测试
6.1 系统测试用例
(1)登录模块测试用例
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6-1 系统登录功能测试用例
测试用例编号 | YL_01 | |
测试用例名称 | 系统使用者登录 | |
测试用例描述 | 登录者输入用户名、密码和验证码 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入正确的用户名、密码和验证码 | 提示“登录成功”,并进入系统 | 预期结果 |
输入错误的用户名、密码和验证码 | 提示“登录失败”,并返回登录界面 | 预期结果 |
不输入用户名、密码和验证码 | 提示“请输入完整” | 预期结果 |
(2)注册模块测试用例
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6-2 注册功能测试用例
测试用例编号 | YL_02 | |
测试用例名称 | 系统使用者注册账号 | |
测试用例描述 | 使用者输入用户名、密码以及个人信息进行账号注册 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入系统不存在的用户名、密码和个人信息 | 提示“注册成功” | 预期结果 |
输入系统已存在的用户名 | 提示“注册失败”,并返回注册界面 | 预期结果 |
不输入用户名、密码和个人信息 | 提示“请输入完整” | 预期结果 |
(3)音乐信息添加模块测试用例
下表是音乐信息功能的测试用例,检测了对音乐信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;老师用户,管理员登录系统。
表6-3 音乐信息添加的测试用例
测试用例编号 | YL_03 | |
测试用例名称 | 系统使用者进行添加音乐信息 | |
测试用例描述 | 使用者输入歌曲名称 等信息 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整的歌曲名称 | 提示“添加成功”,并进入系统 | 预期结果 |
不输入的歌曲名称 | 提示“请输入完整” | 预期结果 |
(4)心理老师添加模块测试用例
下表是心理老师管理功能的测试用例,检测了心理老师管理中对心理老师管理的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员登录系统。
表6-4 心理老师添加的测试用例
测试用例编号 | YL_04 | |
测试用例名称 | 系统使用者进行添加心理老师 | |
测试用例描述 | 使用者输入信息老师用户等信息 | |
系统入口 | 浏览器 | |
步骤 | 预期结果 | 实际结果 |
输入完整的老师用户 | 提示“添加成功”,并进入系统 | 预期结果 |
不输入的老师姓名 | 提示“请输入完整” | 预期结果 |
6.2 系统测试结果
通过编写学生心理健康信息系统的测试用例,已经检测完毕包括但不限于用户登录、用户注册、音乐信息添加、心理老师添加等测试,为系统的后期推广运营提供了强力的技术支撑。在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。
此时项目差不多已经完成,这时工程已接近尾声,即时实施的时间也不太长,但在这一过程中要准备很长时间来研究系统设计和开发中真正达到的技术。我在研究过程中渐渐意识到获得自己的某些缺陷。对某些控制为必需的应用技能、能了解、全过程只是一种对常见性能与控制方法的把握,我认为相当简单。由这一体系,系统分析与设计调查数据,而且已历经数月,争取数月,这一体系已建成。明显的是,本系统还有许多不够成熟的地方,系统设计的过程中也存在不少技术上的缺陷。设计过程中还牵涉到许多自己解决不了的难题,主要是通过寻找专业网站解决问题,这对顺利完成本人毕业设计也是功不可没。系统的开发环境和配置都是可以自行安装的,系统使用PHP开发框架,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,按照技术语言建立数据库并结合需要加以修改和维护能够使系统运行更加稳定安全,以完成所实现的系统开发。
系统在投入使用后各项功能工作正常。该系统各接口操作均遵循常规逻辑,对于使用者而言操作方便且接口友好。系统整体各功能都设计得比较合理并体现出人性化。
参考文献
[1]王世强,房爱印,尹曦萌,等. MySQL数据库主从同步监控管理方法、系统、终端及介质[P]. 山东省: CN202410171068.X, 2024-04-16.
[2]闫娇娇. 基于Think PHP+Vue商城管理系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (34): 59-62.
[3]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[4]赵停停. 基于MySQL数据库技术的Web动态网页设计研究 [J]. 信息与电脑(理论版), 2023, 35 (17): 174-176.
[5]田娟. 基于PHP+MySQL员工信息管理系统后台设计与实现 [J]. 电脑知识与技术, 2023, 19 (23): 47-49.
[6]Karthik G ,Debashish M ,Jagoda C , et al. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):
[7]刘艳春,张宗霞. 基于PHP的动态网站设计与实现 [J]. 集成电路应用, 2023, 40 (07): 238-239.
[8]苏伯平. 一种基于PHP语言的微服务设计框架及底层[P]. 广东省: CN202211691041.0, 2023-05-23.
[9]Sunday O B ,Nduka O S . MySQL Database Server: Deploying Software Application to Enhance Visibility and Accountability [J]. Current Journal of Applied Science and Technology, 2023, 42 (4): 16-23.
[10]陈赵云. 基于PHP+MySQL的视频上传与删除功能实现 [J]. 现代信息科技, 2023, 7 (05): 21-23+29.
[11]赵泽桐. 高校大学生心理健康信息系统管理研究 [J]. 智库时代, 2019, (50): 82-83.
[12]鲁大林,吴斌,唐小燕. MySQL数据库应用与管理[M]. 机械工业出版社: 201904. 218.
[13]孟科. 艺术类高校学生心理健康信息系统的设计与实现[D]. 厦门大学, 201,9.
[14]任海龙. 大学生心理健康管理信息系统 [J]. 电脑知识与技术, 2019, 8 (01): 45-46+73.
致 谢
本设计用了两个月时间。在这毕业设计上,是不能离开指导教师来引导的,这样事情基本上就会顺利进行。指导老师不管是毕业设计经历时还是论文完成时,对我的帮助尤其巨大。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他那种兢兢业业,小心翼翼,教学育人的研究态度,也让我印象格外深刻。我向老师学了不少。无论从理论上还是从实践上都使自己的技巧有了格外显着的进步。在这里,我们谨向老师们致以衷心地感谢。
在本毕业设计整个研发完成后,本人在系统研发过程中历经需求分析、详细功能实现、最后测试维护等专项推进。使我对系统研发的了解更加深入。现在我独自应对怀疑的动手本领也得到了格外多的演习学习,这一次毕业设计是最棒的一次。
终于有一天,整个系统开发完成后,身边的学生朋友们都对我提出了许多建议,于是我迅速证实了这个系统所蕴含的商业思想。次次衷心地感谢他们。
点赞+收藏+关注 →私信领取本源代码、数据库
关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!