大学生心理健康管理系统
本次实验主要围绕“大学生心理健康管理系统”展开,旨在通过设计部分重点描述了学生端和管理端的功能实现,包括身份验证、信息查询、在线答题等模块,并通过随机生成题目和选项的方式模拟考试场景。实验小结中提到,本次实验不仅提升了对需求分析和系统设计的理解,还学会了在代码实现前进行需求分析和设计的重要性。
目录
一、实验内容... 4
1.1题目... 4
1.2问题定义... 4
二、需求分析... 4
2.1需求规格说明.. 4
2.1.1数据流图... 5
2.1.2数据字典... 5
2.1.3 E—R图... 7
2.2数据分析与建模.. 7
2.2.1数据分析... 7
2.2.2建模... 7
三、总体设计... 9
3.1模块结构图... 9
3.2管理端相关说明(后端).. 10
3.2.1学生管理... 10
3.2.2教师管理... 11
3.2.3更新题库... 11
3.3学生端相关说明.. 11
3.3.1查看个人信息.. 11
3.3.2查看考试记录.. 11
3.3.3查看教师留言.. 11
3.3.4在线答题... 11
四、详细设计... 12
4.1具体设计的内容(学生端为主)... 12
4.1.1身份验证... 12
4.1.2身份锁定... 12
4.1.3功能详述... 12
4.1.4功能实现的具体方法... 12
4.1.5管理端... 12
4.2 PAD图表示... 13
五、实验小结... 13
5.1收获... 14
5.2心得体会... 14
5.3存在的问题... 14
5.4解决问题的方法.. 14
5.5建议... 14
20 20****~****20 21****学年******第**** __二 学期2018级计算机科学与技术 __******专业
一、实验内容
1.1题目
大学生心理健康管理系统
1.2问题定义
首先对软件进行定位分析,确定其主要服务对象为高校在校学生群体。通过该平台,学生可以便捷地使用现有功能(如发布心灵鸡汤、管理心理辅导师、学生日常管理、心理健康评测、素质培养指导、在线咨询服务、学习效果跟踪等),完成合理的在线心理评估流程。教师则可以通过分析学生对试题的解答行为,结合试卷分析工具,全面了解学生心理健康状况。现将程序运行的基本要求进行说明:
功能:基于编程语言和数据库等构建大学生心理健康管理系统,主要功能包括心灵鸡汤发布、心理辅导师管理、学生管理、心理评测、心理素质培养、在线咨询、跟踪辅导等功能。其中,提供心灵鸡汤发布功能,建立心理辅导师管理模块,负责管理学生信息,设置心理评测指标,培养系统化的心理素质,提供在线咨询服务,并对辅导效果进行持续跟踪和反馈。
管理员可通过系统登录界面完成信息的新增、删除及修改等更新操作;心理辅导师具备对学生心理状态进行评估、在线交流回复以及进行跟踪辅导的能力;学生可通过网络平台查阅心灵鸡汤文章、提交心理评估试卷以及参与在线咨询。
二、需求分析
2.1需求规格说明
需求分析是软件工程设计的核心环节,它在撰写需求规格说明书的过程中扮演着至关重要的角色。通过对同学间的深入了解以及在互联网上相关信息的系统性分析,可以清晰地认识到,在当下“内卷化”的社会背景下,大学生的心理压力显著增加,这导致了一些不健康的心理状态的产生。通过现状的深入研究,可以发现心理健康系统的研发和实验不仅符合时代发展的潮流,而且具有重要的现实意义。该系统主要采用网络答题策略,通过分析答题者的心理状态,侧面评估其心理素质水平,从而满足了系统设计的基本要求。在完成这些基本需求后,接下来将开展一系列详细的需求分析和设计工作,具体包括以下几个方面:一是需求背景的深入研究;二是功能模块的详细规划;三是系统实现方案的制定。
2.1.1数据流图
数据流图能够直观地展示系统中程序的数据流动情况,通过制作数据流图可以明确地体现数据之间的交互关系,从而理顺数据流动方向。其主要优势体现在以下几个方面:首先,数据流图通过图形化的方式将系统的数据处理逻辑清晰呈现,便于不同角色人员的理解与沟通;其次,它能够有效识别数据处理过程中的关键节点与潜在问题,为系统优化提供科学依据;最后,数据流图作为系统设计与分析的重要工具,有助于提升开发效率和产品质量。
- 数据流图能够直观地呈现用户的功能需求、数据需求及其之间的联系;
- 有助于不同角色人员共同理解现有系统与规划系统之间的架构;
- 能够明确地描述数据流的具体情况;
- 有助于建立系统的数学模型。
基于数据流图具有诸多优势,特别是在需求分析阶段,提供必要的程序流程图是至关重要的。下面展示该系统的数据流图,如图所示:由于数据流图含有以上种种优点,特别是在需求分析阶段,提供必要的程序流程图是至关重要的。下面展示该系统的数据流图,如图所示:

2.1.2数据字典
| 名字:账号信息 别名: 描述:用于传输账号信息来验证账号和密码是否匹配 定义:账号信息=账号+密码+账号类别 位置:学生端进行身份验证 |
|---|
| 名字:个人信息表 别名: 描述:该表存放学生个人信息,用于学生查看 定义:个人信息表=学号+姓名+性别+出生日期+年级+专业+电话 位置:学生端的查看个人信息功能,管理端的学生管理功能 |
|---|
| 名字:考试记录表 别名: 描述:该表存放学生考试信息,用于学生查看 定义:考试记录表=日期+考试编号+题目+作答情况+正确答案+得分+教师评估 位置:学生端的查看考试记录功能,教师端的心理评估功能 |
|---|
| 名字:对话表 别名: 描述:该表存放教师与学生的交流记录 定义:对话表=学号+工号+日期+对话编号+对话内容 位置:学生端的查看教师留言功能,教师端的查看学生留言功能 |
|---|
| 名字:答题表 别名: 描述:该表存题库内的题目,用于学生作答 定义:答题表=20{题目编号+题目+选项+正确答案}20 位置:学生端的答题表 |
|---|
| 名字:心理鸡汤表 别名: 描述:该表存题教师的心灵鸡汤,用于学生阅读 定义:心灵鸡汤表=工号+日期+文章编号+内容 位置:学生端面板右侧 |
|---|
2.1.3 E—R图
E—R图包括三个核心部分:实体、属性和关系。其中,实体以长方形表示,属性以椭圆形呈现,关系则以菱形形式体现。实体是系统中实例的体现,属性是实例伴随的属性,关系则是连接两个实体的桥梁。
绘制E-R图的核心目标是准确地将现实中的数据转换为关系数据库中的数据模型/模式的图形化表示方式。其重要性体现在它是构建关系数据库的重要工具。基于对学生心理系统的理解,绘制E-R图相对容易。整体结构如下:

2.2数据分析与建模
2.2.1数据分析
在绘制了这三种图表后,基本掌握了所需的数据信息。在与客户进行需求确认时,确保所获得的一系列数据结果不会出现重大错误,并且,及时发现错误能够显著降低纠正成本。
2.2.2建模
在以上过程均正确,且数据分析无误的情况下开始建模。此建模过程主要聚焦于数据库表结构的构建,具体表结构如下所示:
学生(学号,姓名,性别,出生日期,院系,专业,电话号码,密码)

教师(工号,姓名,性别,生日,年级,电话号码,密码)

对话(学号,工号,标识符,内容,时间)

试卷信息(答题时间,学号,成绩,试卷内容,教师评估)

心灵鸡汤(工号,时间,内容)

试题库(试卷id,题目,选项A,选项B,选项C,选项D,答案)

上述就是整个数据库的建模
三、总体设计
3.1模块结构图
根据学生端以及管理端对应的功能绘制出模块结构图如下:

上图主要描述了本人实现的部分,下边给出完整的模块结构图:

3.2管理端相关说明(后端)
3.2.1学生管理
前端接收指定数据后,锁定关键字段,对对应表的指定信息进行增删改查操作。需要注意的是,学号修改可能会导致主键发生变化。在修改主键值时,先删除原主键,再重新添加新的主键值。
3.2.2教师管理
其增删改查的基本流程与学生信息大致相同,但需要特别注意的是,修改年级可能会产生一系列连锁反应。
3.2.3更新题库
直接增删改查即可,删除题目时要按注意题号的变化。
3.3学生端相关说明
3.3.1查看个人信息
前端:在最高层面板上采用网格布局管理器,实现对获取信息的管理,每个信息单独占据一行,从而实现对个人信息的展示。
在登录系统时,通过后端Java文件设置为不可编辑状态,以锁定个人id。访问主界面后,点击个人资料查看模块,随后通过搜索框定位所需数据进行查找。
3.3.2查看考试记录
前端:采用嵌入式网格布局结构,将每个试卷记录配置为占据一个网格单元。在每个网格单元中,配置一个查看按钮,点击按钮后将弹出一个包含文本字段的交互窗口,用于显示详细的试卷信息。
后端:首先通过SQL server进行统计计算,得出具体数值后,确定网格的列数(具有下限,单个面板的最大容量为该下限),考虑到需要快速定位特定版本的试卷,建议采用游标机制来优化查询效率。
3.3.3查看教师留言
前端:类似于pc端QQ界面的简化版,通过下方输入框输入消息后,发送至对方端口,从而实现留言与对方端的聊天功能。
后端:每条对话信息会被存储到数据库中,并记录其标识符。每当有对话信息被写入数据库时,系统会立即发送出去,并仅在预设用户端展示,以实现聊天留言功能。
3.3.4在线答题
前端:题目+选项显示到一个对话框中,显示20题。
后端:通过调用随机数生成函数,生成20个互不重复的随机数字,并将这些数字存储起来。随后,遍历该数组,从而从数据库中取出相应的记录。
四、详细设计
4.1具体设计的内容(学生端为主)
4.1.1身份验证
确保系统稳定运行的基础是身份验证。首先,根据用户选择的账户类别锁定对应的数据库表。然后,使用SQL语句扫描数据库中的所有用户信息进行比对。若比对成功,则判定用户能够登录系统。
4.1.2身份锁定
在身份验证操作完成并成功通过认证流程之后,系统将自动锁定该用户及其关联的教师工号。通过锁定的学号和教师工号,系统将进行后续的用户操作。
4.1.3功能详述
4.1.3.1查看个人信息和心灵鸡汤
该功能旨在展示用户的基本信息和情感抒发内容。在个人信息展示时,将密码相关数据进行隐藏,仅用于管理端的密码操作。对于密码管理相关的操作权限,仅限于管理员进行处理。
4.1.3.2查看考试记录
查看考试记录的面板是新建弹出面板,在点击查询按钮时,根据输入的筛选条件进行筛选。
4.1.3.3查看教师留言
在界面设计中,我们采用了弹出式新建面板的形式,该面板由两个主要文本域构成,上部为不可编辑的显示区域,用于展示教师和学生的对话内容,下部为输入框,用于接收和处理聊天信息。在显示过程中,通过对话表中的标识位来判断信息的发送者和接收者。
4.1.3.4在线答题
继续采用以弹出新对话框的形式展示,只需随机抽取题目即可,随后根据题目(文本域)和选项a、b、c、d(单选框)进行对应的选择。完成之后提交至系统后,系统将自动完成评卷,并根据结果展示此次试卷的成绩,随后提交对应教师端进行心理评估等信息的获取。
4.1.4功能实现的具体方法
上述功能的实现主要通过数据库访问获取,依赖于sql语句,可以便捷地获取各种所需的数据集,最后只需执行相应的操作即可。
4.1.5管理端
管理端的显示方式为表格形式,利用jtable列出数据库中的所有元素。点击某元素后,其所有值自动复制到对应可编辑框中,实现删除和修改功能。在页面顶端可输入查询信息进行查询,通过数据库LIKE语句实现模糊查询。增加功能为单独按钮,在添加数据时对新增内容进行一系列限制,确保数据库写入不会失败。
4.2 PAD图表示

五、实验小结
5.1收获
在本次实验中,初次体验到撰写文档的挑战,但正是这些挑战让我掌握了撰写文档的知识和基本操作。此外,还深入理解了大量专业性知识,包括数据流图的绘制和设计、E-R图的设计与分析以及数据字典的构建等。基于对这些基础知识的深入理解,让我认识到需求分析的重要性,也深刻理解了以往工作中存在偏差的现象——即过于注重代码编写而忽视了需求分析和设计环节。通过逐渐形成了在进行代码开发前先进行需求分析和规划的思维模式,这种做法让我受益匪浅。
5.2心得体会
在本次实验中,遇到的困难较多,但通过自己的努力,解决了很多问题。其中,还有一些问题则需要同学的帮助和与合作伙伴共同讨论才能得到答案。例如,在建立数据库模型时,就会遇到一系列的问题,包括表结构以及内部结构的属性设置等等。这些复杂的参数设置和细节问题,自己一个人难以全面考虑。而在与合作伙伴的协作过程中,我们对程序进行了整体上的设计和分析,最终成功建立了所需的数据库模型,并为工程的进一步发展提供了有力支持。
5.3存在的问题
- 绘制数据流图的过程。
- 绘制E-R图的过程。
- 详细设计数据库表的结构和属性。
- 需要考虑用户增删改查操作所带来的连锁反应。
5.4解决问题的方法
- 从简单入手,先绘制0层,再按照逐层分解的思路对每个操作进行适当的分解。
- 首先确定实体,接着确定联系。在确定联系后,需考察联系是否会产生属性,最后需充实各实体的属性及其对应关系。
- 主要通过讨论,确定表结构内部的属性值。
- 程序中的细节处理,可在需要考虑的部位进行特殊标识。
5.5建议
加强在理论课期间的基础知识习题量,多让学生绘制图形。
