摘 要
目前社会对于孕期健康管理越来越重视,但是传统的孕期服务模式存在着信息分散、医患沟通方式单一、个性化健康指导缺乏等状况,孕妇很难得到系统的、连续的健康支持。创建一个把健康管理同知识传播结合起来的在线平台,成了改善孕期服务品质的重要途径。本课题使用Spring Boot框架和MySQL数据库,前端用Vue技术,在IntelliJ IDEA集成开发环境里完成孕妇健康管理、健康知识普及系统的设计与实现。系统以孕期用户、医护用户和管理员为对象,创建起知识科普、健康跟踪和医患交流一体化服务系统。孕期用户在系统中获取孕期知识、健康信息、通知,自行管理孕期信息,发起在线咨询或留言申请,收藏并点赞自己感兴趣的事情。医护人员按照权限可以查看孕妇健康档案、管理随访任务,进行在线交流提供指导,也可以参与知识内容的互动。管理员对系统基础数据进行全权管理,包括用户权限、知识分类、资讯内容、公告发布等各方面的管理,并使用操作日志审计系统的运行情况。系统运行结果表明,各个模块的功能齐全,界面操作流畅,很好地实现了孕妇和医护人员之间的信息交流,提高了孕期信息传递的效率,对提高健康知识的可及性和孕期管理的连续性起到了一定的作用。
关键词:孕妇健康管理;SpringBoot;Vue;在线沟通;知识普及
Abstract
With more stress placed on managing mothers’health, there are problems with old services, they give out pieces of info, have few ways to talk and can’t tailor advice well so expectant mums don’t get complete support that keeps going. A good online platform integrating health management and knowledge dissemination is necessary to enhance the level of maternal care. For my project I have made use of Maternal Health Managemnt and Dissemination of knowledge using SpringBoot frameworkmysql backend where all the queries are being executed. Frontend of it has been done through Vue in InteliJ Idea. The system is made up of three parts: Pregnant Users,Medical StaffAndAdministrators which will have a system involved in Health education,Health Tracking and Patient to Doctor Interaction. Pregnant users get pregnant stuff, health info, and notices; they manage their pregnancy record; start online Q&As and follow-ups; and grab or hit content they like. Medical workers look at maternal health records based on their permission, take care of follow-up tasks, give advice online, and communicate with knowledge materials. Administrator is responsible for system basics data and users & permissions of Knowledge and ContentsByCategory, anouncements etc. All kind of logs done in the system. System operation results show that all modules have been functioning well, interfaces are also connected smoothly; it can connect pregnant women and doctors, improve information dissemination speed, make it easier for people to obtain health knowledge about pregnancy and continuous pregnancy care.
Key words:Maternal health management;SpringBoot;Vue;Online communication;Knowledge dissemination
第一章 绪论
1.1 研究背景与意义
孕妇群体在传统孕期管理模式下高度依赖医院产检、纸质记录册与电话咨询,信息传递呈现单向滞后特征,产检数据散落于不同科室系统,居家监测指标无法及时反馈给医护方,医患之间形成明显的信息壁垒[1]。随着移动互联网普及与医疗信息化建设推进,部分医院开始提供在线预约、报告查询等基础服务,孕产类论坛与资讯网站也相继出现,信息获取速度有所提升,但内容碎片化、缺乏个性化指导、优质知识难以沉淀、互动渠道单一等问题依然突出,现有服务形态难以支撑孕妇对即时反馈、持续追踪、深度参与的健康管理诉求[2]。开发一个包含健康数据记录和专业知识普及的系统,把孕妇居家信息同医护端指导连贯起来,削减人工记录和沟通时的信息偏差,促使孕期服务由间断式的产检转向持续性的健康管理,也为垂直领域医患协同平台创建赋予了可行的技术方案和实现途径。
1.2 国内外研究现状
国内孕妇健康管理与知识普及相关平台的发展经历了从单一资讯服务到多角色协同交互的演进过程。早期阶段主要依托门户网站妇幼频道与综合医疗平台,以编辑发布式内容为主,用户仅能被动浏览科普文章与产检提醒,互动性较弱[3]。随着垂直母婴社区兴起,如宝宝树、妈妈网等平台逐步引入论坛交流与专家问答模块,用户生成内容开始沉淀,但健康数据记录功能仍较为简单,难以形成连续的健康档案[4]。近年来移动医疗应用大量涌现,部分妇幼保健院推出官方App,支持产检预约、报告查询、在线问诊等基础功能,但不同平台间数据孤立,且针对孕期个体差异的健康指导仍不够精细[5]。一些研究尝试结合微信平台开展系统化健康教育,证实了移动端干预在提升孕产妇健康知识掌握度方面的有效性,但此类模式多依赖于人工推送与社群维护,系统化程度有限[6]。以家庭支持为导向的个体化营养管理方案被应用于妊娠期糖尿病孕妇群体,其结果表明针对性健康干预能够改善孕妇自我管理能力,但此类方案往往局限于特定疾病人群,普适性平台仍较为缺乏[7]。国外在孕产妇健康管理领域起步较早,其系统建设呈现出从社交媒体属性向数据驱动实时交互转变的鲜明特征。以Bleacher Report为代表的体育健康延伸平台较早引入用户健康数据追踪功能,但其核心聚焦于运动人群,未专门针对孕妇群体进行深度优化[8]。SofaScore与Onefootball等应用以实时数据反馈见长,其数据可视化与即时提醒机制为孕妇健康监测提供了技术借鉴,但缺乏医疗专业人员的主动介入与随访管理[9]。欧洲部分豪门俱乐部官方App尝试将健康管理模块嵌入球迷服务体系,但其用户覆盖仍以体育爱好者为主,医疗资源对接不够充分[10]。Fantasy Premier League类平台通过游戏化机制提升用户参与度,为孕妇健康管理中的用户留存设计提供了参考,但其核心业务与医疗健康关联度不高[11]。一些医疗系统开始探索专门针对孕妇人群的健康管理应用,如部分医学中心通过整合远程监测与医护随访模块,初步形成了医患协同的管理闭环,但在知识普及内容的系统化构建与个性化推荐方面仍有待加强[12]。
1.3 主要研究内容
本课题以孕妇健康管理及健康知识普及需求为出发点,利用Spring Boot框架和Vue前端技术开发出一套信息化系统,采用前后端分离架构以及B/S模式,使用MySQL做数据持久化。系统面向孕期用户、医护用户、管理员三个角色,包含孕期信息管理、在线交流、孕期随访、知识库分类管理、资讯发布、权限控制和操作日志审计等功能模块,主要解决孕妇居家健康数据和医生端随访信息相脱离、健康知识获取途径分散、医患互动缺少持续性的记录等问题,用规范的软件工程流程来完成从需求分析到系统测试的全部开发。
第二章 相关技术介绍
2.1 Spring Boot框架
Spring Boot框架是基于Spring生态系统创建的,用自动配置机制和起步依赖来简化传统的Spring应用繁琐的配置过程。该框架使用约定优于配置的思想,开发人员只需要在项目中添加对应的场景starter依赖,框架就会自动加载默认配置,并且注入相关组件,从而大幅度简化项目的搭建过程。从运行机制上来说,Spring Boot内置了Tomcat、Jetty这些Servlet容器,将应用打包成可执行的JAR文件后可以直接运行,不需要额外把WAR包部署到外部服务器上,这样就使得开发和测试环境一致了。框架的核心容器管理着应用中的所有的Bean对象,使用IoC机制将对象的创建和依赖关系交给容器来处理,开发人员只需要用注解声明组件之间的依赖,容器在启动的时候就会自动完成装配。AOP模块给系统提供了一个横切关注点的统一处理能力,把日志记录、权限校验这些通用的逻辑从业务代码中分离出来。本系统采用Spring Boot作为后端基础框架,利用其自动配置特性快速搭建项目骨架,通过内嵌服务器实现独立运行,使开发过程聚焦于业务逻辑实现,同时借助框架提供的拦截器与监听器机制处理请求校验与操作审计,为系统稳定运行奠定了坚实基础[13]。
2.2 Vue.js框架
Vue.js是创建用户界面的一种渐进式JavaScript框架,它的核心库只负责视图层,使用声明式的渲染方式和组件化开发模式,把页面拆分成一个个可以独立使用的组件单元。该框架响应式数据绑定机制使用Object.defineProperty来实现,数据对象发生改变的时候,框架可以准确地追踪到依赖的关系,并且可以异步地更新对应的DOM节点,从而避免了传统DOM操作造成的性能损失。虚拟DOM技术的使用使得框架在数据发生变化的时候先在内存中计算出差异,然后把最小化的更新批量地应用到真实的DOM上,从而大大提高了页面的渲染速度。组件系统可以将页面的功能封装成独立的模块,每个组件都有自己的模板、样式和逻辑,组件之间使用props传递数据、自定义事件进行通信,这样设计出来的代码更加清晰。本系统前端采用Vue框架构建,利用组件化思想将知识展示、信息表单、沟通面板等界面元素封装为独立组件,通过响应式数据绑定实现用户操作与界面状态的即时联动,虚拟DOM机制保障了页面在大量数据交互场景下的流畅体验[14]。
2.3 MySQL数据库技术
MySQL数据库属于关系型数据库管理系统的典型代表,它采取客户端/服务器架构模式,用结构化查询语言来完成数据的定义、操作和管理。该数据库的存储引擎就是它的主要特点,InnoDB引擎是默认的存储引擎,支持事务处理、行级锁、外键约束,可以在并发操作的情况下保证数据的一致性。MySQL用B+树索引来组织数据页,索引的叶子节点存储完整的行数据或者主键值,这样的索引结构使得范围查询和等值查询都可以得到较好的检索效率。事务的ACID特性用重做日志和回滚日志来实现,写操作先写入日志再修改数据页,即使系统出现异常重启,也可以通过日志恢复到一致的状态。本系统选用MySQL作为数据持久化方案,利用其事务特性保障孕期信息更新、随访记录写入等关键操作的原子性,通过合理设计索引结构提升知识库查询与用户信息检索的响应速度,InnoDB引擎的行级锁机制在多用户并发访问场景下有效避免了锁冲突造成的响应延迟[15]。
2.4 前后端分离架构
前后端分离架构是把用户界面层和业务逻辑层解耦的一种系统组织方式,前端主要完成界面渲染、用户交互等工作,后端主要是对业务进行处理、数据访问等,两者之间用标准接口进行数据交互。核心就是明确职责边界,前端独立部署在浏览器中,通过异步请求向后端发送数据操作指令,后端用RESTful风格暴露统一资源接口,用JSON格式传递响应数据,前端接收到数据之后完成视图更新,前后端开发可以同时进行。用户操作引起前端发出HTTP请求,请求经过网关层到达后端控制器,控制器解析请求参数之后调用服务层执行业务处理,最后把结果封装成统一响应结构返回给前端,前端依照响应状态码和数据内容来决定界面反馈的方式。因此,系统具有较好的横向扩展性,在访问量大的时候,可以把前端的静态资源放在内容分发网络上,把后端服务部署成集群并进行负载均衡,从而分摊请求的负担。本系统采用前后端分离架构组织整体结构,前端Vue应用与后端Spring Boot服务独立开发与部署,通过预先约定接口规范实现协同,后端仅关注孕期信息管理、随访任务处理、权限校验等核心业务逻辑,前端专注界面交互与用户体验优化,架构的松耦合特性使后续功能迭代与维护工作互不干扰[16]。
第三章 系统分析
3.1 功能需求分析
孕期用户在系统前端完成各项操作。孕期用户登录后可浏览孕期知识文章,查看系统发布的健康资讯与最新公告,根据自身情况录入并管理孕期体重、血压、血糖、胎动等健康数据,通过在线沟通模块与医护用户进行实时交流,提交孕期随访请求并查看医护反馈,对感兴趣的知识或资讯内容进行收藏与点赞记录管理。孕期用户用例图如图3-1所示。

图3-1孕期用户用例图
医护用户登录系统后访问前台功能页面。医护用户可查看孕期用户提交的健康信息记录,对分配的随访任务进行管理与反馈,通过在线沟通渠道与孕期用户交流指导,浏览孕期知识、健康资讯及最新公告内容,对优质内容进行收藏与点赞记录操作。医护用户用例图如图3-2所示。

图3-2医护用户用例图
管理员通过后台管理模块完成系统配置与数据维护。管理员负责孕期用户与医护用户提交的孕期信息审核与管理,维护知识类型分类与孕期知识内容发布,对孕期随访任务进行统筹管理,发布最新公告与健康资讯,分配不同角色的操作权限,查看系统操作日志以审计运行状态。管理员用例图如图3-3所示。

图3-3管理员用例图
3.2 可行性分析
3.2.1 技术可行性
系统使用前后端分离架构,前端用Vue框架搭建用户界面,后端用SpringBoot框架进行业务逻辑处理,MySQL数据库做数据持久化存储。Vue框架在国内已经有大量的项目实践,它的组件化开发模式以及响应式机制也已经得到了长时间的验证。Spring Boot框架用自动配置、内嵌容器简化了项目的搭建和部署过程,开发者只关注业务代码的编写。MySQL数据库的事务机制和索引结构可以达到多用户并发情况下数据一致性的要求。开发者前期已经掌握了Java编程语言、Spring框架基础以及数据库操作技能,可以独自完成系统的各个模块的开发。系统部署在本地服务器上,用常规的权限校验和输入过滤来防止常见的安全问题。因此,系统在技术方面是可行的。
3.2.2 操作可行性
孕期用户日常使用移动设备和电脑浏览器获取信息、记录数据的习惯已经形成,系统界面采用卡片式布局和功能导航,用户登录后可以在首页快速找到知识浏览、数据录入、沟通交流等主要入口。医护用户主要对患者的病历查询、随访任务处理等进行操作,系统把相关功能集成到一个面板里,减少在各个页面之间切换的次数。系统上线之后,原有的以电话、门诊为主导的随访方式得以保留,系统只是作为补充渠道来提供数据记录和沟通服务,并没有对原有的工作流程的主体结构产生影响。之后的维护工作由管理员在后台进行内容更新和权限调整,操作人员只需要经过简单的培训就可以完成。因此,系统在操作方面是可行的。
3.2.3 经济可行性
系统开发投入主要依靠人力成本,开发人员使用现有的计算机设备和开源开发环境来完成编码和测试工作,不需要额外购买硬件或者商业软件。前端Vue框架、后端Spring Boot框架、MySQL数据库都是开源技术,不需要支付授权费用。系统部署到本地服务器上,在运行的过程中只消耗基本的电力和网络资源,不会产生持续的高额费用。系统上线之后为孕妇群体提供免费的健康管理服务,给医护人员提供高效的随访工具,投入成本和预期的应用价值相匹配。。因此,系统在经济方面是可行的。
第四章 系统设计
4.1 系统架构设计
系统采用前后端分离的模块化设计,将用户界面、业务处理与数据存储三层明确划分。前端基于Vue框架构建交互界面,用户通过浏览器发起请求,Axios组件以异步方式将请求数据封装为JSON格式发送至后端。后端基于Spring Boot框架构建RESTful风格接口,控制器层接收请求后调用服务层执行具体业务逻辑,服务层通过数据访问对象与MySQL数据库进行交互。数据库负责存储孕期用户信息、健康数据、知识内容及随访记录等核心数据,通过事务机制保障多表操作的一致性。这种分层架构使各模块职责清晰,前端专注于界面渲染与用户交互,后端聚焦业务处理与数据管理,前后端通过标准化接口协同工作,降低了模块间的耦合程度,便于后续功能扩展与维护[17]。系统整体架构如图4-1所示。
图4-1系统架构图
4.2 系统结构功能设计
系统围绕孕期用户、医护用户与管理员三类角色构建功能体系。孕期用户可执行孕期知识查看、健康资讯获取、最新公告查阅、孕期信息管理、在线沟通、孕期随访、收藏记录与点赞记录操作。医护用户具备孕期信息查看、孕期随访管理、在线沟通、收藏记录、点赞记录、孕期知识查看、健康资讯获取、最新公告查阅权限。管理员负责孕期信息管理、知识类型维护、孕期知识发布、孕期随访管理、最新公告发布、健康资讯管理、权限分配与操作日志审计。该系统功能结构如图4-2所示。
图4-2系统功能结构图
4.3 系统流程设计
4.3.1 总体业务流程设计
系统从用户登录入口开始,依据用户身份区分操作权限。孕期用户登录后进入前台界面,可浏览知识内容、管理个人健康数据、发起随访请求或与医护交流。医护用户登录后查看所负责的孕期用户信息,处理随访任务并提供指导。管理员登录后台系统,对内容、用户权限及系统日志进行统一管理。各类用户操作结束后退出系统,完成完整业务流程。系统总体业务流程如图4-3所示。
图4-3系统总体业务流程图
4.3.2 孕期知识浏览流程设计
孕期用户进入知识模块后,系统加载知识分类列表与热门知识推荐。用户可按分类筛选知识内容,或通过搜索框输入关键词查询。系统根据用户选择返回对应知识列表,用户点击任一知识条目进入详情页面,查看完整知识内容、护理要点及评论区。用户在详情页可执行收藏或点赞操作,系统记录用户行为并更新相应计数。孕期知识浏览流程如图4-4所示。
图4-4孕期知识浏览流程图
4.3.3 孕期信息管理流程设计
孕期用户进入信息管理界面后,系统展示用户已录入的健康数据列表。用户可点击添加按钮进入表单页面,填写孕期体重、血压、血糖、胎动记录等指标,上传产检报告文件后提交。系统对输入数据进行格式校验,校验通过后保存至数据库并返回列表页展示新增记录。用户还可对已录入数据进行修改或删除操作,系统同步更新数据库内容。孕期信息管理流程如图4-5所示。

图4-5孕期信息管理流程图
4.3.4 孕期随访管理流程设计
医护用户进入随访管理模块后,系统展示分配给该医护的随访任务列表。医护用户选择任一任务查看孕期用户近期健康数据与历史随访记录。医护根据用户情况填写随访详情与备注,提交随访反馈。系统保存随访记录后更新任务状态,并将随访结果推送给对应孕期用户。孕期用户登录后可查看医护反馈内容,完成随访闭环。孕期随访管理流程如图4-6所示。

图4-6孕期随访管理流程图
4.3.5 在线沟通流程设计
用户进入在线沟通模块后,系统加载好友列表与群聊列表。用户选择沟通对象后进入聊天界面,输入文本消息并点击发送。系统将消息封装后通过WebSocket连接推送至接收方,接收方在线时实时接收消息,离线时消息暂存待下次登录推送。用户可查看历史聊天记录,支持发送图片与文件附件。在线沟通流程如图4-7所示。

图4-7在线沟通流程图
4.4 数据库设计
数据库设计遵循关系型模型的三范式原则,通过合理拆分数据表减少冗余存储。系统采用MySQL作为数据库管理系统,利用其事务机制保障孕期信息、随访记录、知识内容等核心数据的操作原子性。在表结构设计阶段,依据业务需求确定实体及其属性,为每个实体建立主键以唯一标识记录,通过外键约束维护实体间的参照完整性。索引策略针对高频查询字段进行优化,提升数据检索效率。规范化设计有效降低了数据更新时的异常风险,为系统稳定运行提供数据层支撑[18]。
4.4.1 E-R图设计
孕期用户实体主要包括孕期用户id、用户姓名、用户手机、审核状态等。实体属性图如图4-8所示。
图4-8孕期用户实体属性图
孕期信息实体主要包括孕期信息id、孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、用户姓名、用户手机、添加日期等。实体属性图如图4-9所示。
图4-9孕期信息实体属性图
孕期随访实体主要包括孕期随访id、孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、随访日期、随访详情等。实体属性图如图4-10所示。
图4-10孕期随访实体属性图
孕期知识实体主要包括孕期知识id、知识标题、知识类型、相关图片、发布时间、知识简介、知识内容等。实体属性图如图4-11所示。
图4-11孕期知识实体属性图
知识类型实体主要包括知识类型id、知识类型等。实体属性图如图4-12所示。

图4-12知识类型实体属性图
健康资讯实体主要包括资讯id、标题、文章分类、封面图、正文、点击数、点赞数等。实体属性图如图4-13所示。
图4-13健康资讯实体属性图
最新公告实体主要包括公告id、标题、正文等。实体属性图如图4-14所示。
图4-14最新公告实体属性图
医护人员实体主要包括医护人员id、医护姓名、医护电话、审核状态等。实体属性图如图4-15所示。
图4-15医护人员实体属性图
用户账户实体主要包括用户id、用户名、昵称、密码、手机号码、用户组等。实体属性图如图4-16所示。
图4-16用户账户实体属性图
系统E-R图如图4-17所示。
图4-17系统E-R图
4.4.2 数据库表设计
孕期用户表主要是用来存储孕妇的基本信息。主要包括用户姓名、用户手机、审核状态、用户账户关联标识等字段。如表4-1所示。
表4-1孕期用户表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 孕期用户id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 用户姓名 | varchar | 64 | 否 | 否 | 孕妇姓名 |
| 3 | 用户手机 | varchar | 16 | 否 | 否 | 联系方式 |
| 4 | 审核状态 | varchar | 16 | 是 | 否 | 账户审核状态 |
孕期信息表主要是用来记录孕妇日常健康监测数据。主要包括孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、用户姓名、用户手机、添加日期等字段。如表4-2所示。
表4-2孕期信息表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 孕期信息id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 孕期体重 | varchar | 64 | 否 | 否 | 体重数值 |
| 3 | 孕期血压 | varchar | 64 | 否 | 否 | 血压读数 |
| 4 | 空腹血糖 | varchar | 64 | 否 | 否 | 血糖值 |
孕期随访表主要是用来存储医护对孕妇的随访记录。主要包括孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、随访日期、随访详情等字段。如表4-3所示。
表4-3孕期随访表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 孕期随访id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 孕期体重 | varchar | 64 | 否 | 否 | 体重数值 |
| 3 | 孕期血压 | varchar | 64 | 否 | 否 | 血压读数 |
| 4 | 随访日期 | date | - | 否 | 否 | 随访时间 |
孕期知识表主要是用来存储健康科普文章内容。主要包括知识标题、知识类型、相关图片、发布时间、知识简介、知识内容等字段。如表4-4所示。
表4-4孕期知识表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 孕期知识id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 知识标题 | varchar | 64 | 否 | 否 | 文章标题 |
| 3 | 知识类型 | varchar | 64 | 否 | 否 | 分类归属 |
| 4 | 发布时间 | date | - | 否 | 否 | 发布日期 |
知识类型表主要是用来对孕期知识进行分类管理。主要包括知识类型等字段。如表4-5所示。
表4-5知识类型表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 知识类型id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 知识类型 | varchar | 64 | 否 | 否 | 分类名称 |
健康资讯表主要是用来存储健康资讯内容。主要包括标题、文章分类、封面图、正文、点击数、点赞数等字段。如表4-6所示。
表4-6健康资讯表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 资讯id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 标题 | varchar | 125 | 是 | 是 | 资讯标题 |
| 3 | 文章分类 | varchar | 64 | 是 | 否 | 分类归属 |
| 4 | 正文 | longtext | 4294967295 | 否 | 否 | 资讯内容 |
最新公告表主要是用来存储系统通知与公告信息。主要包括标题、正文等字段。如表4-7所示。
表4-7最新公告表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 公告id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 标题 | varchar | 125 | 是 | 否 | 公告标题 |
| 3 | 正文 | longtext | 4294967295 | 否 | 否 | 公告内容 |
医护人员表主要是用来存储医护工作人员的基本信息。主要包括医护姓名、医护电话、审核状态、用户账户关联标识等字段。如表4-8所示。
表4-8医护人员表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 医护人员id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 医护姓名 | varchar | 64 | 否 | 否 | 医生姓名 |
| 3 | 医护电话 | varchar | 16 | 否 | 否 | 联系方式 |
| 4 | 审核状态 | varchar | 16 | 是 | 否 | 账户审核状态 |
用户账户表主要是用来存储系统登录账户信息。主要包括用户名、昵称、密码、手机号码、用户组等字段。如表4-9所示。
表4-9用户账户表
| 序号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 用户id | int | 11 | 是 | 是 | 唯一标识 |
| 2 | 用户名 | varchar | 16 | 是 | 否 | 登录账号 |
| 3 | 密码 | varchar | 64 | 是 | 否 | 加密存储 |
| 4 | 用户组 | varchar | 32 | 否 | 否 | 角色归属 |
第五章 系统实现
5.1 孕期用户功能实现
5.1.1 孕期知识查看功能实现
孕期用户通过知识浏览模块获取科普内容。前端发起请求后,KnowledgeOfPregnancyController调用getList方法,该方法从数据库查询知识列表并返回分页数据,支持按知识类型筛选与关键词搜索。系统根据用户请求参数动态构建查询条件,将符合条件的知识条目以JSON格式返回前端渲染。孕期知识查看界面如图5-1所示。
图5-1孕期知识查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.1.2 健康资讯查看功能实现
健康资讯查看功能由ArticleController提供。前端调用get_list接口,控制器接收请求后解析查询参数,调用服务层select方法执行数据库检索。系统根据资讯分类、发布时间等条件筛选数据,将文章标题、封面图、正文摘要等信息封装后返回。用户点击任意资讯条目时,系统记录点击量并展示完整内容。健康资讯查看界面如图5-2所示。
图5-2健康资讯查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.1.3 最新公告查看功能实现
最新公告查看由NoticeController处理。前端请求get_list接口获取公告列表,系统按发布时间倒序排列,返回公告标题、正文及发布信息。用户进入公告详情页时,控制器依据公告id查询单条记录并返回完整内容。该模块采用分页机制控制单次返回数据量,避免前端加载过多内容。最新公告查看界面如图5-3所示。
图5-3最新公告查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.1.4 孕期信息管理功能实现
孕期信息管理由PregnancyInformationController实现。用户通过add方法提交健康数据,控制器接收请求参数后构建实体对象,调用addEntity方法完成数据入库。set方法用于修改已有记录,系统根据查询条件定位目标数据并更新字段。孕期信息管理界面如图5-4所示。
图5-4孕期信息管理界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap =service.readBody(request.getReader());
PregnancyInformation pregnancy_information = newPregnancyInformation();
pregnancy_information.setPregnancy_weight(paramMap.get("pregnancy_weight")==null?null:String.valueOf(paramMap.get("pregnancy_weight")));
this.addEntity(pregnancy_information);
returnsuccess(1);
}
5.1.5 在线沟通功能实现
在线沟通由UserChatFriendController与UserChatGroupController协同实现。用户通过get_friend_list获取好友列表,通过add_friend添加沟通对象。消息发送通过WebSocket实时推送,未读消息通过get_read_list接口查询。系统维护用户间好友关系与群聊关系,确保消息能够准确送达。在线沟通界面如图5-5所示。
图5-5在线沟通界面
核心代码实现如下:
@GetMapping("get_friend_list")
public Map<String, Object>getFriendList(HttpServletRequest request) {
Map<String,String> query =service.readQuery(request);
Integer userId = Integer.parseInt(query.get("user_id"));
map.put("list",service.selectUserChatFriend(userId));
return success(map);
}
5.1.6 孕期随访功能实现
孕期随访由PregnancyFollowUpController处理。用户通过add方法发起随访请求,系统记录孕期体重、血压、血糖等指标及随访详情。随访记录与孕期用户关联,用户可查看历史随访反馈。系统在提交时校验必填字段,确保数据完整性。孕期随访界面如图5-6所示。
图5-6孕期随访界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap =service.readBody(request.getReader());
PregnancyFollowUp pregnancy_follow_up = newPregnancyFollowUp();
pregnancy_follow_up.setPregnancy_weight(paramMap.get("pregnancy_weight")==null?null:String.valueOf(paramMap.get("pregnancy_weight")));
this.addEntity(pregnancy_follow_up);
returnsuccess(1);
}
5.1.7 收藏记录管理功能实现
收藏记录由CollectController管理。用户添加收藏时,系统将内容来源表、来源id与用户id存入collect表。get_list接口返回当前用户的收藏列表,支持按内容类型筛选。用户可取消收藏,系统根据收藏id删除对应记录。收藏记录管理界面如图5-7所示。
图5-7收藏记录管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.1.8 点赞记录管理功能实现
点赞记录由PraiseController处理。用户点赞时系统记录点赞人、内容来源及点赞状态,取消点赞时更新状态字段。get_list接口返回用户已点赞内容列表,支持按内容类型筛选。系统在知识详情页同步展示点赞状态与计数。点赞记录管理界面如图5-8所示。
图5-8点赞记录管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2 医护用户功能实现
5.2.1 孕期信息查看功能实现
医护用户通过PregnancyInformationController的get_list接口查看所负责孕期用户的健康数据。系统根据医护用户id关联查询其负责的孕期用户列表,返回孕期体重、血压、血糖等指标记录。支持按用户姓名、手机号筛选,便于医护快速定位目标用户。孕期信息查看界面如图5-9所示。
图5-9孕期信息查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2.2 孕期随访管理功能实现
医护用户通过PregnancyFollowUpController的set方法更新随访记录。系统根据随访id定位记录,医护填写随访详情与备注后提交,系统更新随访状态并将结果推送至对应孕期用户。随访任务列表按优先级排序,确保重要任务优先处理。孕期随访管理界面如图5-10所示。
图5-10孕期随访管理界面
核心代码实现如下:
@PostMapping("/set")
@Transactional
public Map<String, Object>set(HttpServletRequest request) throws IOException {
Map<String,String> queryMap =service.readQuery(request);
Map<String,Object> paramMap =service.readBody(request.getReader());
PregnancyFollowUp pregnancy_follow_up = newPregnancyFollowUp();
pregnancy_follow_up.setFollow_up_specificss(paramMap.get("follow_up_specificss")==null?null:String.valueOf(paramMap.get("follow_up_specificss")));
this.setEntity(queryMap,configMap,pregnancy_follow_up);
returnsuccess(1);
}
5.2.3 在线沟通功能实现
医护用户在线沟通功能与孕期用户共用同一套接口。医护通过get_friend_list获取已沟通用户列表,通过get_read_list查询未读消息。系统维护医护与孕期用户之间的好友关系,确保沟通记录双向可查。医护可向多个孕期用户发送随访提醒与健康指导。在线沟通界面如图5-11所示。
图5-11在线沟通界面
核心代码实现如下:
@GetMapping("get_friend_list")
public Map<String, Object>getFriendList(HttpServletRequest request) {
Map<String,String> query =service.readQuery(request);
Integer userId = Integer.parseInt(query.get("user_id"));
map.put("list",service.selectUserChatFriend(userId));
return success(map);
}
5.2.4 收藏记录管理功能实现
医护用户的收藏记录管理功能由CollectController提供,接口与孕期用户相同。医护可收藏感兴趣的孕期知识或健康资讯,便于后续查阅。收藏列表按创建时间倒序排列,支持按内容类型筛选与取消收藏。收藏记录管理界面如图5-12所示。
图5-12收藏记录管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2.5 点赞记录管理功能实现
医护用户点赞记录由PraiseController处理,功能逻辑与孕期用户一致。医护可对知识内容点赞,系统记录点赞状态并更新内容点赞计数。点赞列表支持按内容类型筛选,便于医护回顾已关注内容。点赞记录管理界面如图5-13所示。
图5-13点赞记录管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2.6 孕期知识查看功能实现
医护用户孕期知识查看功能与孕期用户共用KnowledgeOfPregnancyController接口。系统返回知识列表时不区分用户身份,所有注册用户均可浏览。该模块支持按知识类型分类展示,便于医护查阅专业内容用于指导用户。孕期知识查看界面如图5-14所示。
图5-14孕期知识查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2.7 健康资讯查看功能实现
医护用户健康资讯查看功能由ArticleController实现,与孕期用户共用接口。系统返回资讯列表时展示标题、封面图与发布时间,用户点击后进入详情页查看正文。资讯内容支持分类筛选与关键词搜索。健康资讯查看界面如图5-15所示。
图5-15健康资讯查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.2.8 最新公告查看功能实现
医护用户最新公告查看功能由NoticeController实现,与孕期用户共用接口。系统返回公告列表时按发布时间倒序排列,用户可查看公告详情。该模块无需身份区分,所有用户均可获取系统通知。最新公告查看界面如图5-16所示。
图5-16最新公告查看界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.3 管理员功能实现
5.3.1 孕期信息管理功能实现
管理员通过PregnancyInformationController管理所有孕期用户的健康数据。get_list接口支持按用户姓名、手机号筛选,返回完整数据列表。管理员可对异常数据进行修改或删除操作,确保数据准确性。该模块提供分页查询与批量操作功能。孕期信息管理界面如图5-17所示。
图5-17孕期信息管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.3.2 知识类型管理功能实现
知识类型管理由TypeOfKnowledgeController实现。管理员通过add方法新增知识分类,通过set方法修改分类名称,通过del方法删除无效分类。系统在删除分类前检查是否有知识内容归属该分类,避免数据关联异常。知识类型管理界面如图5-18所示。
图5-18知识类型管理界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap =service.readBody(request.getReader());
TypeOfKnowledge type_of_knowledge = newTypeOfKnowledge();
type_of_knowledge.setType_of_knowledge(paramMap.get("type_of_knowledge")==null?null:String.valueOf(paramMap.get("type_of_knowledge")));
this.addEntity(type_of_knowledge);
returnsuccess(1);
}
5.3.3 孕期知识管理功能实现
孕期知识管理由KnowledgeOfPregnancyController实现。管理员通过add方法发布新知识,通过set方法修改已有知识内容,通过del方法删除知识。系统支持知识审核流程,通过update_examine_state接口更新审核状态。孕期知识管理界面如图5-19所示。
图5-19孕期知识管理界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap =service.readBody(request.getReader());
KnowledgeOfPregnancy knowledge_of_pregnancy = newKnowledgeOfPregnancy();
knowledge_of_pregnancy.setKnowledge_title(paramMap.get("knowledge_title")==null?null:String.valueOf(paramMap.get("knowledge_title")));
this.addEntity(knowledge_of_pregnancy);
returnsuccess(1);
}
5.3.4 孕期随访管理功能实现
孕期随访管理由PregnancyFollowUpController实现。管理员可查看所有随访记录,对异常随访进行修改或删除。系统支持按孕期用户姓名、随访日期筛选,便于管理员统计随访工作完成情况。孕期随访管理界面如图5-20所示。
图5-20孕期随访管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.3.5 最新公告管理功能实现
最新公告管理由NoticeController实现。管理员通过add方法发布公告,通过set方法修改已发布公告,通过del方法删除公告。公告按创建时间倒序排列,支持置顶功能。最新公告管理界面如图5-21所示。
图5-21最新公告管理界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String, Object> addMap =service.readBody(request.getReader());
this.service.insert(addMap);
returnsuccess(1);
}
5.3.6 健康资讯管理功能实现
健康资讯管理由ArticleController实现。管理员通过add方法发布资讯,通过set方法修改资讯内容,通过del方法删除资讯。系统支持资讯分类管理,管理员可为资讯设置分类标签便于用户筛选。健康资讯管理界面如图5-22所示。
图5-22健康资讯管理界面
核心代码实现如下:
@PostMapping("/add")
@Transactional
public Map<String, Object>add(HttpServletRequest request) throws IOException {
Map<String, Object> addMap =service.readBody(request.getReader());
this.service.insert(addMap);
returnsuccess(1);
}
5.3.7 权限管理功能实现
权限管理由AuthController与UserGroupController共同实现。管理员通过权限分配接口配置不同用户组的操作权限,包括增加、删除、修改、查询权限。系统根据用户组标识在登录时加载对应权限菜单。权限管理界面如图5-23所示。
图5-23权限管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
5.3.8 操作日志管理功能实现
操作日志管理由OperationLogController实现。系统自动记录管理员的关键操作,包括操作人、操作模块、操作时间等信息。管理员通过get_list接口查询日志记录,支持按操作人、操作模块筛选,便于审计系统使用情况。操作日志管理界面如图5-24所示。
图5-24操作日志管理界面
核心代码实现如下:
@RequestMapping("/get_list")
public Map<String, Object>getList(HttpServletRequest request) {
Map<String, String> query =service.readQuery(request);
Map<String, String> config =service.readConfig(request);
List list =this.service.selectBaseList(this.service.select(query, config));
map.put("list",list);
map.put("count",this.service.selectBaseCount(this.service.count(query,config)));
return success(map);
}
第六章 系统测试
6.1 测试目的
系统测试旨在验证系统功能是否满足需求分析阶段确定的各项要求。通过执行测试用例检查孕期用户、医护用户、管理员三类角色的操作流程是否完整流畅,确认数据在新增、修改、删除、查询等操作中保持一致性与完整性。测试过程关注前端交互与后端响应的匹配程度,检验接口在边界条件下的处理能力。通过发现并修复潜在缺陷,确保系统运行稳定可靠,为后续实际部署与用户使用提供质量保障[19]。
6.2 测试方法
系统测试使用黑盒测试和白盒测试两种方法结合的方式进行。黑盒测试侧重于对功能实现的完整性进行检验,根据需求文档来创建测试用例,保证各个模块在正常输入和异常输入时所产生出来的结果是符合预期的。白盒测试对核心业务逻辑进行检测,查看代码分支覆盖度,保证重要的路径得到充分的执行。测试时采用本地开发环境模拟多用户并发访问,测试系统在进行同时操作的时候保证数据的一致性。测试工具使用Postman进行接口调试与自动化测试,通过浏览器开发者工具监控前端请求响应状态,记录异常信息并定位问题根源[20]。
6.3 测试内容
孕期信息管理模块测试旨在验证孕期用户录入日常健康数据的完整性与准确性。测试重点关注数据新增、修改、删除操作是否符合业务规则,检查系统对异常输入的处理能力。孕期信息管理测试如表6-1所示。
表6-1孕期信息管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 孕期数据录入 | 验证用户能否成功提交健康数据 | 填写孕期体重、血压、血糖等信息后提交 | 数据保存成功,列表展示新增记录 | 符合预期 |
| 孕期数据修改 | 验证已录入数据的修改功能 | 选择已有记录修改指标数值后保存 | 修改后数据正确更新至列表 | 符合预期 |
| 孕期数据删除 | 验证数据删除操作的执行效果 | 选择目标记录执行删除操作 | 记录从列表中移除 | 符合预期 |
孕期随访管理模块测试针对医护用户处理随访任务的全过程。测试验证随访记录生成、随访反馈提交、随访状态更新等环节的逻辑正确性,确保医护与孕期用户之间的随访闭环能够完整执行。孕期随访管理测试如表6-2所示。
表6-2孕期随访管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 随访记录添加 | 验证医护能否为孕期用户创建随访记录 | 选择孕期用户填写随访详情后提交 | 随访记录保存成功 | 符合预期 |
| 随访反馈提交 | 验证医护提交随访反馈的功能 | 针对已有随访填写反馈内容 | 反馈内容保存并推送至孕期用户 | 符合预期 |
| 随访历史查看 | 验证医护查看历史随访记录的功能 | 进入随访管理模块浏览记录 | 历史随访记录完整展示 | 符合预期 |
孕期知识管理模块测试针对管理员发布与管理知识内容的完整性。测试验证知识增删改查操作的执行效果,检查知识分类关联是否正确,确认知识审核流程能够正常流转。孕期知识管理测试如表6-3所示。
表6-3孕期知识管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 知识内容发布 | 验证管理员发布新知识的功能 | 填写知识标题、类型、内容后提交 | 知识保存成功并在前端展示 | 符合预期 |
| 知识内容修改 | 验证已发布知识的修改功能 | 选择目标知识修改内容后保存 | 修改后内容更新展示 | 符合预期 |
| 知识审核发布 | 验证知识审核流程的执行效果 | 对未审核知识执行通过操作 | 知识状态变更为已通过 | 符合预期 |
健康资讯管理模块测试针对管理员发布健康资讯的功能。测试验证资讯增删改查操作的准确性,检查资讯分类标签的关联关系,确保前端能够正确获取并展示最新资讯内容。健康资讯管理测试如表6-4所示。
表6-4健康资讯管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 资讯内容发布 | 验证管理员发布健康资讯的功能 | 填写资讯标题、分类、正文后提交 | 资讯保存成功并在前端展示 | 符合预期 |
| 资讯分类管理 | 验证资讯分类的维护功能 | 为资讯选择或添加分类标签 | 分类正确关联至资讯 | 符合预期 |
| 资讯内容修改 | 验证已发布资讯的修改功能 | 选择目标资讯修改内容后保存 | 修改后内容更新展示 | 符合预期 |
在线沟通模块测试针对孕期用户与医护用户之间的消息交互。测试验证消息发送与接收的实时性,检查未读消息记录与历史消息查询的准确性,确认沟通双方能够获取完整的聊天记录。在线沟通测试如表6-5所示。
表6-5在线沟通测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 消息发送 | 验证用户能否成功发送消息 | 进入聊天界面输入内容并发送 | 消息出现在聊天记录中 | 符合预期 |
| 消息接收 | 验证接收方能否实时收到消息 | 一方发送消息后观察接收方界面 | 消息实时展示于接收方界面 | 符合预期 |
| 历史记录查询 | 验证聊天记录的保存与查询功能 | 进入聊天界面查看历史消息 | 历史消息完整展示 | 符合预期 |
权限管理模块测试针对管理员配置用户组权限的功能。测试验证权限分配后不同角色的菜单展示是否正确,检查权限控制的精确性,确保用户只能访问被授权的功能模块。权限管理测试如表6-6所示。
表6-6权限管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 权限分配 | 验证管理员为用户组分配权限的功能 | 选择用户组配置操作权限后保存 | 权限配置保存成功 | 符合预期 |
| 权限生效验证 | 验证权限分配后用户访问控制的有效性 | 使用被分配权限的账户登录系统 | 菜单显示与分配权限一致 | 符合预期 |
| 权限修改 | 验证已分配权限的修改功能 | 调整用户组权限配置后重新登录 | 权限变更立即生效 | 符合预期 |
操作日志管理模块测试针对系统操作记录的完整性与可追溯性。测试验证管理员操作是否被正确记录,检查日志查询与筛选功能的有效性,确保日志信息能够满足审计需求。操作日志管理测试如表6-7所示。
表6-7操作日志管理测试用例表
| 测试项 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|
| 操作记录 | 验证管理员操作是否被记录 | 执行各类管理操作后查看日志 | 操作记录正确保存 | 符合预期 |
| 日志查询 | 验证日志查询功能的准确性 | 按操作人、操作模块筛选日志 | 筛选结果符合查询条件 | 符合预期 |
| 日志导出 | 验证日志导出功能的执行效果 | 执行日志导出操作 | 日志文件正确生成 | 符合预期 |
测试结论
系统功能测试包含孕期信息管理、孕期随访管理、孕期知识管理、健康资讯管理、在线沟通、权限管理、操作日志管理这七个主要模块。孕期信息管理模块中数据录入、修改、删除操作都正常执行,异常输入可以得到有效的拦截。孕期随访管理模块中,随访记录创建和反馈提交功能运行正常,随访信息可以被医护人员和患者之间准确传递。孕期知识管理及健康资讯管理模块中内容发布、修改、审核的全部流程是完整的,并且前端展示的数据和后端存储的数据保持一致。在线沟通模块的消息发送、接收以及历史记录查询均可以正常使用。权限管理模块权限分配和生效验证完成之后,用户访问控制正确。操作日志管理模块的记录保存、查询功能满足审计的要求。所有的测试用例都通过了,实际结果和预期结果一致。
总结
孕期健康管理包含知识获取、数据监测、医患沟通等各个部分,传统的模式存在着信息零散、互动途径单一、个性化指导欠缺等状况。本课题以孕妇健康管理及健康知识普及的需求为出发点,创建并完成了一个基于Spring Boot和Vue的信息化系统,把健康数据记载,知识内容推送以及在线随访服务融合到同一个平台上。系统达到预期的设计目的,较好地实现了孕妇和医护人员之间的信息传递,提高了孕期信息传递的效率,为提高健康知识可及性、孕期管理连续性提供技术支持。
系统开发按照软件工程规范流程,从需求分析开始确定孕期用户、医护用户、管理员三个角色的功能边界,完成系统的架构设计、功能模块划分、数据库结构设计、前后端编码实现以及功能测试。技术上采用前后端分离架构,后端使用Spring Boot处理业务逻辑,前端使用Vue创建用户界面,MySQL数据库做数据持久化存储。孕期用户可以浏览知识资讯、管理健康数据、提出随访请求并同医护沟通,医护用户可以查看孕妇健康档案、安排随访任务并给予指导,管理员对内容的发布进行管控,对用户的权限进行设置,并对操作日志进行审计。各个模块的功能齐全,界面操作顺畅,测试结果符合预期。
由于开发时间以及个人能力所限,该系统还存在着一些不足。健康数据录入依靠用户手动输入,没有智能穿戴设备进行自动采集。在线沟通模块只支持文本、图片的传输,没有语音和视频通话的功能。知识内容推送策略比较单一,没有根据用户的健康指标来实现个性化的推荐。系统部署在本地服务器上,并没有对大规模并发访问进行专门的优化。
后续工作可以从以下方面进行改进。依靠物联网技术完成智能设备数据的自动同步,缩减用户手动输入的工作负担。增加语音、视频通信功能,丰富医患互动方式。根据用户健康档案和行为数据来建立个性化的推荐算法,提高知识推送的准确性。优化系统部署方案,为实际推广应用打下基础。该系统对于孕期健康管理垂直领域的应用具有较好的前景,可以为类似的医患协同平台的创建提供借鉴。
参考文献
[1] 赵倩,吕丽红,杨凯,等.基于全外显子组测序的无创产前筛查在罕见单基因病诊断中的临床应用及效能评估[J].临床医学, 2026, 46(3): 72-76.
[2] 田一凡,秦金璐.基于系统设计理论的特殊人群智能药盒包装设计——以孕妇群体为例[J].上海包装, 2025(10): 6-9.
[3] 洪锦秀,李琼兰.基于潜在剖面分析的孕妇健康促进行为状况及影响因素研究[J].海峡预防医学杂志, 2024, 30(6): 90-93.
[4] 陈淑红.基于微信平台结合系统性健康教育在孕产妇健康管理中的应用效果[J].医药前沿, 2024, 14(33): 110-112.
[5] 张浩洋,陈晔昕.全国巾帼文明岗江门市妇幼保健院健康管理中心:巾帼绽芳华服务暖侨乡[N].江门日报, 2026-03-11(A03).
[6] 徐若兰.基于家庭支持的个体化医学营养治疗对妊娠期糖尿病孕妇自我管理能力的影响[D].南宁:广西中医药大学, 2024.
[7] 朱启坤,王承玲,李仁兰,等.基于Meleis过渡理论的移动健康管理方案在妊娠期糖尿病孕妇分娩准备中的应用[J].重庆医学, 2026, 55(5): 678-685.
[8] Naveed M, Gienger E, Locklear T, et al. Severe Obesity Management in a Large Academic Health System: A Retrospective Evaluation of Metabolic Bariatric Surgery Counselling Practices[J]. Clinical Obesity, 2026, 16(2): e70077.
[9] Viana J, Morgan A, Alemañy M G, et al. WCN26-5806 Prescribing Physical Activity and Exercise in CKD: A Training Program for Exercise and Health Care Professionals by the Global Renal Exercise Network[J]. Kidney International Reports, 2026, 11(4S): 106084.
[10] Clark C, Friedland R, Becker P, et al. WCN26-6293 CO-DESIGNING A MOBILE HEALTH APPLICATION TO IMPROVE ENGAGEMENT AND OUTCOMES IN DIALYSIS CARE: A MULTI-SITE EVALUATION IN SOUTH AFRICA[J]. Kidney International Reports, 2026, 11(4S): 106028.
[11] MEDINA E, ALARCON M. WCN26-7381 NEPHROLOGICAL EVALUATION OF PREGNANT WOMEN REFERRED BY GYNECOLOGY: A CASE SERIES FROM A TERTIARY CARE HOSPITAL[J]. Kidney International Reports, 2026, 11(4S): 105434.
[12] Soriano R D, Alemany M G, Wilund R K, et al. WCN26-8478 KNOWLEDGE AND PRACTICES ON EXERCISE PRESCRIPTION FOR PATIENTS WITH CHRONIC KIDNEY DISEASE AMONG HEALTHCARE PROFESSIONALS IN MEXICO[J]. Kidney International Reports, 2026, 11(4S): 106093.
[13] 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.
[14] 古凌岚,肖蓉,袁宜英.Vue.js前端开发基础及项目化应用[M].北京:人民邮电出版社,2024:556.
[15] 方玲玲.MySQL数据库应用技术[M].北京:人民邮电出版社,2024:204.
[16] 王慧芳,陈玉.项目驱动制在Java EE框架开发课程中的应用研究[J].现代信息科技,2024,8(3):195-198.
[17] 皇甫大恩.基于微服务架构的JavaWeb开发实践[J].开封大学学报,2023,37(2):93-96.
[18] 柯妍,孙佳留,朱士飞,等.基于MySQL的煤质信息数据库设计[J].资源信息与工程,2024,39(3):117-121.
[19] 林育蓓,汤德佑,汤娜.数据库技术及应用[M].北京:机械工业出版社,2024:302.
[20] 刘雄华.软件测试技术[M].武汉:华中科技大学出版社,2023:243.
致谢
本论文得以顺利完成,离不开师长、亲友的关心与帮助,在此谨表谢忱。
诚挚感谢我的指导教师。从选题、开题,到论文撰写与多次修改,直至最终定稿,老师始终以严谨的学术精神和高度的责任心,给予我悉心指导。老师治学严谨、诲人不倦,使我受益良多。同时,感谢导师在技术实践方面提供的专业指导,为研究的工程应用提供了有力支撑。
毕业设计的创作过程,对我而言是一次宝贵的历练。从初期的茫然无措,到中期面对理论难点与瓶颈时的反复摸索,再到后期的豁然贯通,这一过程让我深刻体会到学术研究的艰辛与乐趣。回顾四年大学生活,我顺利完成专业知识体系的构建,此番成长,得之不易,亦倍感珍惜。
感谢学院全体老师与辅导员的辛勤栽培与悉心关怀,为我的求学之路奠定了坚实基础。感谢同窗好友与实验室伙伴,在日常学习与生活中的互助与陪伴,让这段时光格外充实而温暖。
最后,感谢我的家人,你们始终是我最坚强的后盾。养育之恩,无以为报,唯有以不懈努力,回馈社会,不负所望。
1059



被折叠的 条评论
为什么被折叠?



