# AI赋能智慧养老系统项目需求分析与概要设计报告 | 文档属性 | 内容 | | --- | --- | | 文档版本 | V3.0 | | 文档类型 | 完整需求分析与概要设计报告 | | 适用场景 | JavaEE 应用开发实训与智慧养老机构照护管理 | | 系统形态 | 后台管理端 + 移动端 App + 家属服务端 | | 建设策略 | 一期核心落地,二期业务增强,三期 AI 规则预警 | | 编制日期 | 2026-07-01 | ## 一、项目概述 ### 1.1 建设背景 随着养老服务数字化程度不断提升,养老机构需要通过信息化系统对老人档案、入住退住、床位房间、健康照护、护理任务、应急事件、设备运维、家属沟通和运营数据进行统一管理。传统线下登记方式存在数据分散、查询低效、过程难追踪、异常响应滞后等问题,难以支撑精细化养老服务管理。 AI赋能智慧养老系统是一套面向养老机构照护场景的综合应用系统,包含后台管理端、移动端 App 和家属服务端。系统通过数字化流程优化养老服务管理,通过规则预警实现轻量级 AI 赋能,并以 JavaEE 应用开发为实训载体,训练学生完成需求分析、系统设计、数据库建模、接口设计、编码实现和测试验收的完整工程能力。 ### 1.2 项目目标 - 建立老人全生命周期管理能力,覆盖建档、入住、床位分配、照护、退住等过程。 - 建立健康照护、护理任务、安全应急、设备运维和家属沟通的一体化业务闭环。 - 建立基于规则的预警中心,对健康异常、用药逾期、护理任务逾期、设备故障和应急事件进行提醒。 - 建立运营数据看板,支撑床位占用、护理质量、健康异常、应急处理和服务满意度统计。 - 以 JavaEE 单体分层架构为基础,保证课程实训可实现、可测试、可验收。 ### 1.3 系统定位 系统定位为“机构照护管理型智慧养老系统”。一期目标是完成机构日常照护管理的核心闭环;二期补充运营服务、家属互动和课程活动能力;三期引入规则预警和风险识别能力,形成具有智能化特征的养老管理系统。 ### 1.4 设计原则 | 原则 | 设计要求 | | --- | --- | | KISS | 采用 JavaEE 单体分层架构,避免课程项目阶段引入不必要的分布式复杂度。 | | YAGNI | 一期只实现核心照护闭环,二期和三期作为明确规划,不混入一期验收。 | | DRY | 账号、权限、通知、日志、附件、分页、状态流转和预警规则统一抽象。 | | SOLID | 模块按业务职责拆分,Controller、Service、Repository、Entity 边界清晰。 | | 可追踪 | 需求、数据实体、接口、类图、流程图和验收标准之间保持对应关系。 | ## 二、建设分期与范围边界 ### 2.1 分期建设范围 | 分期 | 建设目标 | 功能范围 | 交付要求 | | --- | --- | --- | --- | | 一期:核心照护管理 | 建立机构日常照护业务闭环 | 老人档案、入住退住、床位房间、健康记录、护理计划、护理任务、紧急呼叫、设备运维、公告通知、账号权限、数据看板 | 必须可开发、可测试、可验收 | | 二期:运营服务增强 | 补齐家属服务、运营和活动服务能力 | 用药计划、用药提醒、探访预约、家属端、服务反馈、费用记录、活动课程、活动评价、实训评价 | 作为增强建设范围,可在一期稳定后迭代 | | 三期:AI 规则预警 | 建立轻量智能提醒能力 | 健康异常预警、用药逾期预警、护理任务逾期预警、设备故障预警、应急事件预警、风险老人识别 | 采用规则引擎和统计分析,不引入复杂模型训练 | ### 2.2 分期路线图 ```mermaid gantt title 智慧养老系统分期建设路线图 dateFormat YYYY-MM-DD axisFormat %m-%d section 一期核心照护管理 老人档案与入住床位 :a1, 2026-07-01, 10d 健康记录与护理任务 :a2, after a1, 12d 应急事件与设备运维 :a3, after a2, 10d 权限通知与数据看板 :a4, after a3, 8d section 二期运营服务增强 家属端与探访预约 :b1, after a4, 10d 用药提醒与费用记录 :b2, after b1, 10d 活动课程与服务反馈 :b3, after b2, 8d section 三期AI规则预警 预警规则中心 :c1, after b3, 8d 风险识别与统计分析 :c2, after c1, 8d ``` ### 2.3 范围边界 | 范围类型 | 内容 | | --- | --- | | 一期范围内 | 老人全生命周期、床位房间、健康记录、护理任务、应急事件、设备运维、公告通知、权限日志、基础看板。 | | 二期范围内 | 用药计划、家属端、探访预约、费用记录、服务反馈、活动课程、活动评价。 | | 三期范围内 | 规则预警、异常提醒、风险老人识别、预警统计。 | | 明确范围外 | 医保结算、在线支付、第三方硬件协议适配、复杂 AI 模型训练、多机构 SaaS、多租户计费平台。 | ## 三、用户角色与权限模型 ### 3.1 用户角色 | 角色 | 主要职责 | 核心诉求 | | --- | --- | --- | | 系统管理员 | 维护账号、角色、权限、字典、系统参数 | 权限边界清晰,操作可追踪 | | 机构管理人员 | 查看运营看板、审批入住退住、协调资源 | 快速掌握机构运营状态 | | 护理主管 | 制定护理计划、分配护理任务、检查任务完成情况 | 护理过程标准化、任务可追踪 | | 护理人员 | 执行护理任务、巡检打卡、提交护理记录和异常事件 | 移动端操作简单,任务提醒明确 | | 医护人员 | 维护健康记录、用药计划、健康异常处理建议 | 健康数据连续、异常提醒及时 | | 维修人员 | 处理设备报修、记录维修结果 | 工单状态清晰,设备位置明确 | | 老人 | 查看个人信息、活动通知、服务安排 | 信息易读,操作步骤少 | | 家属 | 查看老人动态、健康记录、护理记录、预约探访、提交反馈 | 及时了解老人状态并参与沟通 | | 教师/学生 | 基于系统开展 JavaEE 实训、设计和验收 | 业务边界明确,模块可拆分 | ### 3.2 角色权限图 ```mermaid flowchart LR Admin[系统管理员] --> P1[账号权限] Admin --> P2[系统配置] Manager[机构管理人员] --> P3[运营看板] Manager --> P4[入住退住审批] Supervisor[护理主管] --> P5[护理计划] Supervisor --> P6[任务派发] Nurse[护理人员] --> P7[护理任务执行] Nurse --> P8[巡检打卡] Doctor[医护人员] --> P9[健康记录] Doctor --> P10[用药计划] Repair[维修人员] --> P11[维修工单] Elder[老人] --> P12[个人信息查看] Family[家属] --> P13[家属端查看] Family --> P14[探访预约与反馈] Teacher[教师/学生] --> P15[实训评价] ``` ## 四、需求分析 ### 4.1 总体需求 系统应围绕“老人入住 -> 档案建档 -> 床位分配 -> 健康记录 -> 护理计划 -> 护理任务 -> 异常预警 -> 应急处理 -> 家属通知 -> 数据看板”的主线构建。后台管理端负责业务配置、数据维护、统计分析和审批处理;移动端 App 支持护理人员现场执行、老人查看信息和家属查看动态;规则预警中心负责对异常数据和逾期任务进行提醒。 ### 4.2 功能需求 | 编号 | 分期 | 模块 | 功能点 | 需求描述 | 验收要点 | | --- | --- | --- | --- | --- | --- | | FR-01 | 一期 | 老人全生命周期 | 老人档案管理 | 支持老人基础信息、健康摘要、联系人、入住状态维护。 | 档案可新增、编辑、查询,关键字段校验生效。 | | FR-02 | 一期 | 老人全生命周期 | 入住登记 | 支持登记入住时间、护理等级、床位、家属联系人。 | 入住后床位状态变为占用,生成入住记录。 | | FR-03 | 一期 | 老人全生命周期 | 退住办理 | 支持退住申请、退住确认、床位释放。 | 退住后老人状态更新,床位恢复可用。 | | FR-04 | 一期 | 床位房间管理 | 房间管理 | 支持楼栋、楼层、房间信息维护。 | 房间可按楼层和状态查询。 | | FR-05 | 一期 | 床位房间管理 | 床位管理 | 支持床位编号、所属房间、床位状态维护。 | 床位状态可在空闲、占用、维修间流转。 | | FR-06 | 一期 | 健康照护 | 健康记录 | 支持体温、血压、心率、血氧等生命体征记录。 | 健康记录可按老人和时间查询。 | | FR-07 | 一期 | 健康照护 | 健康档案 | 支持过敏史、慢病信息、健康摘要维护。 | 健康档案与老人档案关联。 | | FR-08 | 一期 | 护理服务 | 护理等级 | 支持为老人设置护理等级并关联服务标准。 | 护理等级变更有记录。 | | FR-09 | 一期 | 护理服务 | 护理计划 | 支持按护理等级创建护理计划。 | 护理计划可生成护理任务。 | | FR-10 | 一期 | 护理服务 | 护理任务 | 支持任务派发、接收、执行、完成和逾期标记。 | 任务状态流转正确,完成记录可追踪。 | | FR-11 | 一期 | 护理服务 | 巡检打卡 | 支持护理人员巡检打卡并记录异常说明。 | 巡检记录关联护理人员、老人和时间。 | | FR-12 | 一期 | 安全应急 | 紧急呼叫 | 支持老人或护理人员提交紧急呼叫。 | 呼叫生成应急事件并通知相关人员。 | | FR-13 | 一期 | 安全应急 | 应急事件处理 | 支持事件接警、派发、处理、完成、归档。 | 应急事件状态可追踪,处理结果可查看。 | | FR-14 | 一期 | 设备运维 | 设备台账 | 支持设备编号、类型、位置、状态、责任人维护。 | 设备编号唯一,状态变化有记录。 | | FR-15 | 一期 | 设备运维 | 设备报修 | 支持故障上报、派单、维修记录和完成确认。 | 工单完成后设备状态可恢复正常。 | | FR-16 | 一期 | 公告通知 | 公告发布 | 支持按角色和范围发布公告。 | 草稿不可见,发布后目标用户可见。 | | FR-17 | 一期 | 公告通知 | 消息阅读状态 | 支持未读、已读状态维护。 | 用户阅读后状态更新。 | | FR-18 | 一期 | 账号权限 | 账号角色管理 | 支持账号启停、角色分配、权限控制。 | 停用账号不可登录,角色菜单隔离。 | | FR-19 | 一期 | 数据可视化 | 基础运营看板 | 展示老人数量、床位占用、护理任务、应急事件、设备状态。 | 看板数据与业务记录一致。 | | FR-20 | 二期 | 用药管理 | 用药计划 | 支持维护药品名称、剂量、频次、用药时间。 | 用药计划与老人档案关联。 | | FR-21 | 二期 | 用药管理 | 用药提醒 | 支持按计划生成提醒并记录服药状态。 | 逾期未确认可生成提醒记录。 | | FR-22 | 二期 | 家属服务 | 家属端信息查看 | 家属可查看授权范围内的老人档案摘要、健康记录、护理记录。 | 家属只能查看绑定老人数据。 | | FR-23 | 二期 | 家属服务 | 探访预约 | 支持家属提交探访预约,工作人员审核。 | 预约状态可追踪。 | | FR-24 | 二期 | 家属服务 | 服务反馈 | 支持家属提交服务评价和反馈。 | 反馈可处理、回复和归档。 | | FR-25 | 二期 | 运营管理 | 费用记录 | 支持记录护理费、床位费、服务费等费用信息。 | 费用记录可按老人和周期查询。 | | FR-26 | 二期 | 活动课程 | 活动课程发布 | 支持活动课程创建、发布、报名和容量控制。 | 发布后授权用户可查看并报名。 | | FR-27 | 二期 | 活动课程 | 活动签到评价 | 支持签到、活动评价、参与统计。 | 签到和评价数据可统计。 | | FR-28 | 三期 | 规则预警 | 预警规则配置 | 支持健康阈值、任务逾期、设备故障等规则配置。 | 启用规则后可参与预警判断。 | | FR-29 | 三期 | 规则预警 | 预警记录 | 支持生成、确认、处理、关闭预警记录。 | 预警状态完整可追踪。 | | FR-30 | 三期 | 智能分析 | 风险老人识别 | 根据健康异常、应急事件、护理频次识别高风险老人。 | 风险列表可按规则结果生成。 | ### 4.3 非功能需求 | 编号 | 类别 | 需求说明 | | --- | --- | --- | | NFR-01 | 性能 | 常规列表查询 3 秒内返回;高频列表必须分页;看板统计应避免全表实时扫描。 | | NFR-02 | 安全 | 所有业务接口必须认证授权;老人健康、费用和家属数据仅授权角色可见。 | | NFR-03 | 可靠性 | 关键状态流转必须具备幂等或重复提交保护,避免任务、工单、预警重复处理。 | | NFR-04 | 可用性 | 后台菜单按业务域组织;移动端优先展示待办任务、提醒和老人关键信息。 | | NFR-05 | 可维护性 | 按业务域拆分 Service,状态枚举和规则判断集中管理,避免散落在控制层。 | | NFR-06 | 可审计 | 登录、档案修改、入住退住、护理任务、应急事件、费用变更必须记录操作日志。 | | NFR-07 | 数据备份 | 核心业务数据应支持定期备份和恢复验证。 | | NFR-08 | 可扩展 | 二期和三期功能通过新增模块扩展,不破坏一期核心数据结构。 | ## 五、系统建模 ### 5.1 系统上下文图 ```mermaid flowchart LR Admin[系统管理员] --> Web[后台管理端] Manager[机构管理人员] --> Web Supervisor[护理主管] --> Web Doctor[医护人员] --> Web Repair[维修人员] --> Web Nurse[护理人员] --> App[移动端 App] Elder[老人] --> App Family[家属] --> FamilyPortal[家属服务端] Teacher[教师/学生] --> Web Web --> Server[JavaEE 应用服务] App --> Server FamilyPortal --> Server Server --> DB[(关系型数据库)] Server --> FileStore[(附件与导出文件)] Server --> Alert[规则预警中心] Alert --> Notify[消息通知] ``` ### 5.2 用例图 ```mermaid flowchart TB Admin[系统管理员] Manager[机构管理人员] Supervisor[护理主管] Nurse[护理人员] Doctor[医护人员] Repair[维修人员] Elder[老人] Family[家属] Teacher[教师/学生] UC01[账号权限管理] UC02[老人档案管理] UC03[入住退住管理] UC04[床位房间管理] UC05[健康记录管理] UC06[用药计划管理] UC07[护理计划管理] UC08[护理任务执行] UC09[巡检打卡] UC10[紧急呼叫处理] UC11[设备台账维护] UC12[维修工单处理] UC13[公告通知管理] UC14[家属信息查看] UC15[探访预约] UC16[服务反馈] UC17[费用记录] UC18[活动课程管理] UC19[规则预警处理] UC20[运营数据看板] Admin --> UC01 Manager --> UC03 Manager --> UC04 Manager --> UC17 Manager --> UC20 Supervisor --> UC07 Supervisor --> UC19 Nurse --> UC08 Nurse --> UC09 Nurse --> UC10 Doctor --> UC05 Doctor --> UC06 Repair --> UC11 Repair --> UC12 Elder --> UC10 Elder --> UC18 Family --> UC14 Family --> UC15 Family --> UC16 Teacher --> UC18 Teacher --> UC20 ``` ### 5.3 业务领域划分图 ```mermaid mindmap root((智慧养老系统)) 核心照护 老人档案 入住退住 床位房间 健康记录 护理任务 应急事件 运营服务 家属端 探访预约 费用记录 服务反馈 活动课程 支撑能力 账号权限 公告通知 操作日志 数据看板 智能能力 规则配置 异常预警 风险识别 预警统计 ``` ### 5.4 总体业务流程图 ```mermaid flowchart TD Start([开始]) --> Register[老人档案建档] Register --> CheckIn[入住登记] CheckIn --> AssignBed[床位分配] AssignBed --> Health[健康档案与健康记录] Health --> CarePlan[制定护理计划] CarePlan --> CareTask[生成护理任务] CareTask --> Execute[护理执行与巡检打卡] Execute --> Abnormal{是否异常} Abnormal -- 否 --> Record[归档服务记录] Abnormal -- 是 --> Alert[生成预警或应急事件] Alert --> Handle[处理并通知相关人员] Record --> Dashboard[更新数据看板] Handle --> Dashboard Dashboard --> End([结束]) ``` ## 六、概要架构设计 ### 6.1 总体架构图 ```mermaid flowchart TB subgraph Client[客户端层] WebUI[后台管理端 Web] Mobile[移动端 App] FamilyUI[家属服务端] end subgraph Application[JavaEE 应用服务] Controller[Controller 表现层] Auth[认证授权与审计] Service[Service 业务服务层] Rule[规则预警组件] Repository[Repository 数据访问层] Common[通用组件] end subgraph Storage[数据存储层] DB[(关系型数据库)] Files[(附件与导出文件)] end WebUI --> Controller Mobile --> Controller FamilyUI --> Controller Controller --> Auth Controller --> Service Service --> Rule Service --> Repository Service --> Common Rule --> Repository Repository --> DB Common --> Files ``` ### 6.2 功能模块图 ```mermaid flowchart TD System[AI赋能智慧养老系统] System --> M1[老人全生命周期] System --> M2[床位房间管理] System --> M3[健康照护管理] System --> M4[护理服务管理] System --> M5[安全应急管理] System --> M6[设备运维管理] System --> M7[家属服务管理] System --> M8[运营服务管理] System --> M9[公告通知管理] System --> M10[规则预警中心] System --> M11[数据可视化] System --> M12[账号权限与日志] M1 --> M101[档案] M1 --> M102[入住] M1 --> M103[退住] M2 --> M201[房间] M2 --> M202[床位] M3 --> M301[健康记录] M3 --> M302[用药计划] M4 --> M401[护理计划] M4 --> M402[护理任务] M5 --> M501[紧急呼叫] M5 --> M502[应急事件] M7 --> M701[探访预约] M7 --> M702[服务反馈] M10 --> M1001[规则配置] M10 --> M1002[预警记录] ``` ### 6.3 模块职责表 | 模块 | 主要职责 | 分期 | | --- | --- | --- | | 老人全生命周期 | 档案、入住、退住、联系人、状态管理 | 一期 | | 床位房间管理 | 楼栋、楼层、房间、床位状态和占用关系 | 一期 | | 健康照护管理 | 健康档案、生命体征、用药计划和提醒 | 一期/二期 | | 护理服务管理 | 护理等级、护理计划、任务派发、执行、巡检 | 一期 | | 安全应急管理 | 紧急呼叫、应急事件、处理闭环、家属通知 | 一期 | | 设备运维管理 | 设备台账、故障报修、维修派单和归档 | 一期 | | 家属服务管理 | 家属端查看、探访预约、服务反馈 | 二期 | | 运营服务管理 | 费用记录、活动课程、评价统计 | 二期 | | 规则预警中心 | 规则配置、预警生成、确认、处理、关闭 | 三期 | | 数据可视化 | 床位、护理、健康、应急、设备、费用、活动指标 | 一期/二期/三期 | | 账号权限与日志 | 账号、角色、权限、审计日志 | 一期 | ## 七、数据库设计 ### 7.1 核心数据对象 | 数据对象 | 分期 | 关键字段 | 主要关系 | | --- | --- | --- | --- | | UserAccount | 一期 | user_id, username, password_hash, role_id, status | 关联角色、日志、通知阅读 | | Role | 一期 | role_id, role_name, permission_codes | 关联用户账号 | | Elder | 一期 | elder_id, name, gender, age, status, health_summary | 关联入住、床位、健康、护理、应急 | | FamilyMember | 二期 | family_id, elder_id, name, phone, relation | 关联老人和家属端账号 | | Room | 一期 | room_id, building, floor, room_no, status | 关联床位 | | Bed | 一期 | bed_id, room_id, bed_no, status | 关联入住记录 | | CheckInRecord | 一期 | checkin_id, elder_id, bed_id, checkin_at, checkout_at, status | 关联老人和床位 | | HealthRecord | 一期 | record_id, elder_id, temperature, blood_pressure, heart_rate, spo2, recorded_at | 关联老人和预警 | | MedicationPlan | 二期 | plan_id, elder_id, medicine_name, dosage, frequency, start_date, status | 关联用药提醒 | | MedicationReminder | 二期 | reminder_id, plan_id, remind_time, confirm_status | 关联用药计划 | | CareLevel | 一期 | level_id, level_name, service_standard | 关联老人和护理计划 | | CarePlan | 一期 | plan_id, elder_id, level_id, content, status | 生成护理任务 | | CareTask | 一期 | task_id, plan_id, assignee_id, due_time, status | 关联护理人员和巡检记录 | | PatrolRecord | 一期 | patrol_id, task_id, elder_id, staff_id, result, checked_at | 关联护理任务 | | EmergencyEvent | 一期 | event_id, elder_id, caller_id, status, level, result | 关联通知和预警 | | Device | 一期 | device_id, code, type, location, status, owner_id | 关联维修工单 | | RepairTicket | 一期 | ticket_id, device_id, reporter_id, assignee_id, status, result | 关联设备和员工 | | Notice | 一期 | notice_id, title, content, target_scope, publish_status | 关联阅读记录 | | NoticeRead | 一期 | read_id, notice_id, user_id, read_status, read_at | 关联通知和用户 | | VisitAppointment | 二期 | appointment_id, elder_id, family_id, visit_time, status | 关联家属和老人 | | Feedback | 二期 | feedback_id, elder_id, family_id, content, status, reply | 关联家属和处理人 | | FeeRecord | 二期 | fee_id, elder_id, fee_type, amount, period, status | 关联老人 | | CourseActivity | 二期 | course_id, title, time, location, capacity, status | 关联报名签到 | | Enrollment | 二期 | enrollment_id, course_id, elder_id, sign_status | 关联课程和老人 | | ScoreEvaluation | 二期 | score_id, course_id, elder_id, score, comment | 关联课程和评价 | | AlertRule | 三期 | rule_id, rule_type, condition_expr, level, enabled | 生成预警 | | AlertRecord | 三期 | alert_id, rule_id, elder_id, source_type, status, message | 关联老人和业务来源 | | AuditLog | 一期 | log_id, user_id, action, target_type, target_id, created_at | 记录关键操作 | ### 7.2 ER 图 ```mermaid erDiagram ROLE ||--o{ USER_ACCOUNT : grants USER_ACCOUNT ||--o{ AUDIT_LOG : writes ELDER ||--o{ FAMILY_MEMBER : has FAMILY_MEMBER ||--o| USER_ACCOUNT : binds ELDER ||--o{ CHECKIN_RECORD : has ROOM ||--o{ BED : contains BED ||--o{ CHECKIN_RECORD : assigned ELDER ||--o{ HEALTH_RECORD : owns ELDER ||--o{ MEDICATION_PLAN : owns MEDICATION_PLAN ||--o{ MEDICATION_REMINDER : generates CARE_LEVEL ||--o{ CARE_PLAN : defines ELDER ||--o{ CARE_PLAN : owns CARE_PLAN ||--o{ CARE_TASK : generates STAFF ||--o{ CARE_TASK : executes CARE_TASK ||--o{ PATROL_RECORD : records ELDER ||--o{ EMERGENCY_EVENT : triggers DEVICE ||--o{ REPAIR_TICKET : has STAFF ||--o{ REPAIR_TICKET : handles NOTICE ||--o{ NOTICE_READ : tracks USER_ACCOUNT ||--o{ NOTICE_READ : reads ELDER ||--o{ VISIT_APPOINTMENT : receives FAMILY_MEMBER ||--o{ VISIT_APPOINTMENT : books FAMILY_MEMBER ||--o{ FEEDBACK : submits ELDER ||--o{ FEE_RECORD : has COURSE_ACTIVITY ||--o{ ENROLLMENT : includes ELDER ||--o{ ENROLLMENT : joins COURSE_ACTIVITY ||--o{ SCORE_EVALUATION : evaluates ALERT_RULE ||--o{ ALERT_RECORD : creates ELDER ||--o{ ALERT_RECORD : receives ELDER { bigint elder_id PK string name string gender int age string status string health_summary } ROOM { bigint room_id PK string building string floor string room_no string status } BED { bigint bed_id PK bigint room_id FK string bed_no string status } CHECKIN_RECORD { bigint checkin_id PK bigint elder_id FK bigint bed_id FK datetime checkin_at datetime checkout_at string status } HEALTH_RECORD { bigint record_id PK bigint elder_id FK decimal temperature string blood_pressure int heart_rate int spo2 datetime recorded_at } CARE_TASK { bigint task_id PK bigint plan_id FK bigint assignee_id FK datetime due_time string status } EMERGENCY_EVENT { bigint event_id PK bigint elder_id FK bigint caller_id FK string level string status string result } ALERT_RECORD { bigint alert_id PK bigint rule_id FK bigint elder_id FK string source_type string level string status string message } ``` ## 八、核心类设计 ### 8.1 核心领域类图 ```mermaid classDiagram class Elder { +Long elderId +String name +String status +String healthSummary +checkIn(bed) +checkOut() } class Room { +Long roomId +String roomNo +String status } class Bed { +Long bedId +String bedNo +String status +occupy() +release() +repair() } class CheckInRecord { +Long checkinId +Date checkinAt +Date checkoutAt +String status } class HealthRecord { +Long recordId +BigDecimal temperature +String bloodPressure +Integer heartRate +Integer spo2 +isAbnormal() } class MedicationPlan { +Long planId +String medicineName +String dosage +String frequency +generateReminders() } class CarePlan { +Long planId +String content +String status +generateTasks() } class CareTask { +Long taskId +Date dueTime +String status +accept() +finish() +markOverdue() } class EmergencyEvent { +Long eventId +String level +String status +dispatch() +finish() } class AlertRule { +Long ruleId +String ruleType +String conditionExpr +Boolean enabled +match(source) } class AlertRecord { +Long alertId +String level +String status +confirm() +close() } Room "1" --> "0..*" Bed Elder "1" --> "0..*" CheckInRecord Bed "1" --> "0..*" CheckInRecord Elder "1" --> "0..*" HealthRecord Elder "1" --> "0..*" MedicationPlan Elder "1" --> "0..*" CarePlan CarePlan "1" --> "0..*" CareTask Elder "1" --> "0..*" EmergencyEvent AlertRule "1" --> "0..*" AlertRecord Elder "1" --> "0..*" AlertRecord ``` ### 8.2 服务层类图 ```mermaid classDiagram class AuthService { +login(username, password) +checkPermission(userId, permission) } class ElderService { +createElder(cmd) +updateElder(cmd) +checkIn(cmd) +checkOut(elderId) } class BedService { +assignBed(elderId, bedId) +releaseBed(bedId) +changeStatus(bedId, status) } class HealthService { +recordHealth(cmd) +queryTrend(elderId) } class CareService { +createPlan(cmd) +dispatchTask(cmd) +finishTask(taskId) } class EmergencyService { +createEvent(cmd) +dispatch(eventId) +finish(eventId) } class AlertService { +evaluate(source) +createAlert(rule, source) +close(alertId) } class DashboardService { +overview() +careStats() +riskStats() } ElderService --> BedService HealthService --> AlertService CareService --> AlertService EmergencyService --> AlertService DashboardService --> ElderService DashboardService --> CareService DashboardService --> EmergencyService ``` ## 九、接口设计 ### 9.1 核心接口族 | 接口族 | 方法与路径示例 | 主要用途 | 分期 | 权限要求 | | --- | --- | --- | --- | --- | | 认证接口 | POST /api/auth/login | 登录并获取会话信息 | 一期 | 所有用户 | | 老人档案接口 | GET/POST/PUT /api/elders | 老人档案维护 | 一期 | 管理员、工作人员 | | 入住退住接口 | POST /api/check-ins, PUT /api/check-ins/{id}/checkout | 入住登记与退住办理 | 一期 | 管理员、工作人员 | | 房间接口 | GET/POST/PUT /api/rooms | 房间维护 | 一期 | 管理员、工作人员 | | 床位接口 | GET/POST/PUT /api/beds | 床位维护和状态调整 | 一期 | 管理员、工作人员 | | 健康记录接口 | GET/POST /api/health-records | 生命体征记录和查询 | 一期 | 医护人员、护理人员 | | 护理等级接口 | GET/POST /api/care-levels | 护理等级维护 | 一期 | 护理主管 | | 护理计划接口 | GET/POST/PUT /api/care-plans | 护理计划维护 | 一期 | 护理主管 | | 护理任务接口 | GET/POST/PUT /api/care-tasks | 护理任务派发与执行 | 一期 | 护理主管、护理人员 | | 巡检接口 | POST /api/patrol-records | 巡检打卡记录 | 一期 | 护理人员 | | 应急事件接口 | GET/POST/PUT /api/emergency-events | 紧急呼叫和应急事件处理 | 一期 | 护理人员、管理人员 | | 设备接口 | GET/POST/PUT /api/devices | 设备台账维护 | 一期 | 管理员、维修人员 | | 工单接口 | GET/POST/PUT /api/repair-tickets | 设备报修处理 | 一期 | 护理人员、维修人员 | | 公告接口 | GET/POST/PUT /api/notices | 公告发布和阅读状态维护 | 一期 | 工作人员、老人、家属 | | 看板接口 | GET /api/dashboard/overview | 查询运营统计指标 | 一期 | 管理人员、教师 | | 用药计划接口 | GET/POST/PUT /api/medication-plans | 用药计划维护 | 二期 | 医护人员 | | 用药提醒接口 | GET/PUT /api/medication-reminders | 用药提醒和确认 | 二期 | 护理人员、家属 | | 家属端接口 | GET /api/family/elders/{id}/summary | 家属查看老人摘要 | 二期 | 家属 | | 探访预约接口 | GET/POST/PUT /api/visit-appointments | 探访预约与审核 | 二期 | 家属、工作人员 | | 服务反馈接口 | GET/POST/PUT /api/feedback | 服务评价、回复和归档 | 二期 | 家属、工作人员 | | 费用接口 | GET/POST /api/fee-records | 费用记录和查询 | 二期 | 管理人员、家属 | | 活动课程接口 | GET/POST/PUT /api/courses | 活动课程发布和维护 | 二期 | 工作人员、教师 | | 规则接口 | GET/POST/PUT /api/alert-rules | 预警规则配置 | 三期 | 管理员、护理主管 | | 预警接口 | GET/PUT /api/alerts | 预警确认、处理和关闭 | 三期 | 管理人员、护理人员 | ## 十、关键业务流程设计 ### 10.1 老人入住流程图 ```mermaid flowchart TD Start([开始]) --> Create[创建老人档案] Create --> Check[校验身份证明和联系人] Check --> ChooseBed[选择房间床位] ChooseBed --> Available{床位是否可用} Available -- 否 --> Rechoose[重新选择床位] Rechoose --> ChooseBed Available -- 是 --> SetCare[设置护理等级] SetCare --> Save[生成入住记录] Save --> Occupy[床位状态改为占用] Occupy --> Plan[生成初始护理计划] Plan --> End([完成入住]) ``` ### 10.2 护理任务流程图 ```mermaid flowchart TD Start([护理计划生效]) --> Generate[生成护理任务] Generate --> Dispatch[派发给护理人员] Dispatch --> Accept[护理人员接收] Accept --> Execute[执行护理] Execute --> Check{是否发现异常} Check -- 否 --> Finish[提交完成记录] Check -- 是 --> Abnormal[提交异常说明] Abnormal --> Alert[触发预警或应急事件] Finish --> Archive[归档护理记录] Alert --> Archive ``` ### 10.3 健康异常预警流程图 ```mermaid flowchart TD Start([录入健康记录]) --> LoadRule[加载健康阈值规则] LoadRule --> Match{是否命中异常规则} Match -- 否 --> Save[保存健康记录] Match -- 是 --> CreateAlert[生成健康预警] CreateAlert --> Notify[通知医护或护理主管] Notify --> Confirm[确认预警] Confirm --> Handle[处理并填写结果] Handle --> Close[关闭预警] Save --> End([结束]) Close --> End ``` ### 10.4 紧急呼叫处理流程图 ```mermaid flowchart TD Call([紧急呼叫]) --> Event[生成应急事件] Event --> Notify[通知护理人员和管理人员] Notify --> Dispatch[分派处理人] Dispatch --> Arrive[到场处理] Arrive --> NeedFamily{是否通知家属} NeedFamily -- 是 --> Family[推送家属通知] NeedFamily -- 否 --> Record[记录处理过程] Family --> Record Record --> Finish[完成事件] Finish --> Archive[事件归档] ``` ### 10.5 设备报修流程图 ```mermaid flowchart TD Fault[发现设备故障] --> Ticket[提交维修工单] Ticket --> Mark[设备状态改为故障] Mark --> Assign[分配维修人员] Assign --> Repair[维修处理] Repair --> Result{是否修复} Result -- 是 --> Normal[设备恢复正常] Result -- 否 --> Pending[继续维修或停用] Normal --> Archive[工单归档] Pending --> Archive ``` ### 10.6 家属探访预约流程图 ```mermaid flowchart TD Start([家属提交预约]) --> CheckTime[校验探访时间] CheckTime --> Review[工作人员审核] Review --> Pass{是否通过} Pass -- 否 --> Reject[驳回并说明原因] Pass -- 是 --> Confirm[生成预约记录] Confirm --> Notify[通知家属和护理人员] Notify --> Visit[到访签到] Visit --> Finish[预约完成] ``` ## 十一、状态设计 ### 11.1 床位状态图 ```mermaid stateDiagram-v2 [*] --> Available: 新增床位 Available --> Occupied: 入住分配 Occupied --> Available: 退住释放 Available --> Maintenance: 进入维修 Occupied --> Maintenance: 故障停用 Maintenance --> Available: 维修完成 ``` ### 11.2 护理任务状态图 ```mermaid stateDiagram-v2 [*] --> Pending: 生成任务 Pending --> Assigned: 派发 Assigned --> Accepted: 接收 Accepted --> Processing: 执行 Processing --> Completed: 完成 Assigned --> Overdue: 超时未处理 Accepted --> Overdue: 超时未完成 Overdue --> Completed: 补充完成 Completed --> [*] ``` ### 11.3 应急事件状态图 ```mermaid stateDiagram-v2 [*] --> Submitted: 呼叫或上报 Submitted --> Dispatched: 分派处理 Dispatched --> Processing: 到场处理 Processing --> Finished: 处理完成 Finished --> Archived: 归档 Submitted --> Cancelled: 误报关闭 Archived --> [*] Cancelled --> [*] ``` ### 11.4 预警状态图 ```mermaid stateDiagram-v2 [*] --> Generated: 规则命中 Generated --> Confirmed: 人工确认 Confirmed --> Processing: 处理中 Processing --> Closed: 处理完成 Generated --> Ignored: 判定无需处理 Closed --> [*] Ignored --> [*] ``` ## 十二、关键时序设计 ### 12.1 登录鉴权时序图 ```mermaid sequenceDiagram participant U as 用户 participant C as 客户端 participant A as AuthController participant S as AuthService participant R as UserRepository participant L as AuditLogService U->>C: 输入账号密码 C->>A: POST /api/auth/login A->>S: login(username, password) S->>R: findByUsername(username) R-->>S: 用户账号与角色 S->>S: 校验密码、状态和权限 S->>L: 记录登录日志 S-->>A: 返回会话与权限 A-->>C: 登录成功 ``` ### 12.2 护理任务执行时序图 ```mermaid sequenceDiagram participant Supervisor as 护理主管 participant API as CareTaskController participant S as CareService participant N as 护理人员 participant A as AlertService participant DB as Repository Supervisor->>API: 创建并派发护理任务 API->>S: dispatchTask(cmd) S->>DB: 保存任务状态为Assigned N->>API: 接收任务 API->>S: accept(taskId) S->>DB: 更新状态为Accepted N->>API: 提交完成记录 API->>S: finishTask(taskId, result) S->>A: evaluate(taskResult) A-->>S: 返回预警判断结果 S->>DB: 保存护理记录和任务状态 ``` ### 12.3 用药提醒预警时序图 ```mermaid sequenceDiagram participant Timer as 定时任务 participant M as MedicationService participant A as AlertService participant N as NoticeService participant DB as Repository Timer->>M: 扫描到期用药提醒 M->>DB: 查询未确认提醒 DB-->>M: 返回逾期提醒 M->>A: evaluate(medicationReminder) A->>DB: 生成用药逾期预警 A->>N: 推送提醒给护理人员或家属 N->>DB: 保存通知记录 ``` ### 12.4 紧急呼叫处理时序图 ```mermaid sequenceDiagram participant E as 老人/护理人员 participant C as 移动端 participant API as EmergencyController participant S as EmergencyService participant N as NoticeService participant A as AlertService participant DB as Repository E->>C: 发起紧急呼叫 C->>API: POST /api/emergency-events API->>S: createEvent(cmd) S->>DB: 保存应急事件 S->>A: createAlert(event) S->>N: 通知护理人员和管理人员 API-->>C: 返回事件编号和状态 C->>API: 提交处理结果 API->>S: finish(eventId, result) S->>DB: 更新事件状态并归档 ``` ## 十三、AI 规则预警设计 ### 13.1 规则预警范围 | 预警类型 | 数据来源 | 示例规则 | 处理对象 | | --- | --- | --- | --- | | 健康异常预警 | HealthRecord | 体温高于阈值、血压异常、血氧低于阈值 | 医护人员、护理主管 | | 用药逾期预警 | MedicationReminder | 到点后未确认服药 | 护理人员、家属 | | 护理任务逾期预警 | CareTask | 超过任务截止时间未完成 | 护理主管 | | 设备故障预警 | Device, RepairTicket | 设备故障未派单或超时未修复 | 维修人员、管理人员 | | 应急事件预警 | EmergencyEvent | 高等级应急事件未及时处理 | 管理人员、护理主管 | | 风险老人识别 | HealthRecord, EmergencyEvent, CareTask | 多次异常记录或频繁应急事件 | 医护人员、机构管理人员 | ### 13.2 规则引擎处理流程 ```mermaid flowchart TD Source[业务数据变化] --> Match[匹配启用规则] Match --> Hit{是否命中} Hit -- 否 --> End[结束] Hit -- 是 --> Create[生成预警记录] Create --> Level[计算预警等级] Level --> Notify[发送通知] Notify --> Confirm[人工确认] Confirm --> Handle[处理预警] Handle --> Close[关闭或忽略] ``` ## 十四、部署设计 ### 14.1 部署图 ```mermaid flowchart TB subgraph UserSide[用户侧] Browser[后台浏览器] MobileApp[移动端 App] FamilyBrowser[家属端浏览器或App] end subgraph ServerSide[服务器侧] WebServer[Web入口或静态资源服务] JavaApp[JavaEE应用服务] Scheduler[定时任务与规则扫描] Database[(关系型数据库)] FileStorage[(附件与导出文件目录)] end Browser --> WebServer FamilyBrowser --> WebServer MobileApp --> JavaApp WebServer --> JavaApp JavaApp --> Database JavaApp --> FileStorage Scheduler --> JavaApp Scheduler --> Database ``` ### 14.2 运行约束 | 项目 | 说明 | | --- | --- | | 应用形态 | JavaEE 单体应用,后台、移动端和家属端共用服务端能力。 | | 数据库 | 关系型数据库保存业务数据、账号权限、日志和统计基础数据。 | | 定时任务 | 用于扫描用药提醒、护理任务逾期和预警规则。 | | 安全边界 | 所有业务接口必须经过认证授权,家属端只能访问绑定老人数据。 | | 日志审计 | 登录、档案修改、入住退住、费用变更、应急事件和预警处理必须记录日志。 | ## 十五、测试与验收 ### 15.1 测试策略 | 测试类型 | 测试重点 | | --- | --- | | 单元测试 | Service 层业务规则,如床位状态、护理任务状态、应急事件状态、规则预警判断。 | | 接口测试 | 登录、档案、入住、床位、健康、护理、应急、设备、家属端、预警接口。 | | 集成测试 | 后台管理端、移动端、家属端、服务层、数据库之间的数据闭环。 | | 权限测试 | 不同角色访问菜单、接口和敏感数据时的授权边界。 | | 状态流转测试 | 床位、护理任务、应急事件、预警记录的状态转换合法性。 | | 验收测试 | 按功能需求编号逐项验证业务输出和流程闭环。 | ### 15.2 需求追踪矩阵 | 需求编号 | 对应模块 | 设计元素 | 验收场景 | | --- | --- | --- | --- | | FR-01 | 老人档案 | Elder, ElderService, /api/elders | 新增老人档案并按条件查询 | | FR-02 | 入住登记 | CheckInRecord, Bed, /api/check-ins | 入住后床位变为占用 | | FR-03 | 退住办理 | CheckInRecord, BedService | 退住后释放床位 | | FR-04 | 房间管理 | Room, /api/rooms | 按楼层查询房间 | | FR-05 | 床位管理 | Bed, BedService, /api/beds | 床位状态正确流转 | | FR-06 | 健康记录 | HealthRecord, HealthService | 录入生命体征并查询趋势 | | FR-07 | 健康档案 | Elder.healthSummary | 健康摘要与老人档案关联 | | FR-08 | 护理等级 | CareLevel | 护理等级变更有记录 | | FR-09 | 护理计划 | CarePlan, CareService | 护理计划生成任务 | | FR-10 | 护理任务 | CareTask, CareService | 任务派发、执行、完成 | | FR-11 | 巡检打卡 | PatrolRecord | 巡检记录关联老人和护理人员 | | FR-12 | 紧急呼叫 | EmergencyEvent | 呼叫后生成应急事件 | | FR-13 | 应急处理 | EmergencyService | 事件处理完成并归档 | | FR-14 | 设备台账 | Device, DeviceService | 设备编号唯一,状态可维护 | | FR-15 | 设备报修 | RepairTicket | 工单完成后设备恢复正常 | | FR-16 | 公告发布 | Notice | 发布后目标用户可见 | | FR-17 | 阅读状态 | NoticeRead | 阅读后状态更新 | | FR-18 | 账号权限 | UserAccount, Role, AuthService | 停用账号不可登录 | | FR-19 | 数据看板 | DashboardService | 看板指标与业务数据一致 | | FR-20 | 用药计划 | MedicationPlan | 用药计划关联老人 | | FR-21 | 用药提醒 | MedicationReminder, AlertService | 逾期未确认生成提醒 | | FR-22 | 家属查看 | FamilyMember, 家属端接口 | 家属只看绑定老人 | | FR-23 | 探访预约 | VisitAppointment | 预约审核状态可追踪 | | FR-24 | 服务反馈 | Feedback | 反馈可回复归档 | | FR-25 | 费用记录 | FeeRecord | 按老人和周期查询费用 | | FR-26 | 活动课程 | CourseActivity | 活动发布并支持报名 | | FR-27 | 活动评价 | Enrollment, ScoreEvaluation | 签到和评价可统计 | | FR-28 | 预警规则 | AlertRule | 启用规则参与判断 | | FR-29 | 预警记录 | AlertRecord | 预警确认、处理、关闭 | | FR-30 | 风险识别 | AlertService, DashboardService | 生成高风险老人列表 | | NFR-02 | 安全 | AuthService, 权限模型 | 未授权访问被拒绝 | | NFR-06 | 审计 | AuditLog | 关键操作记录日志 | ### 15.3 分期验收标准 | 分期 | 验收标准 | | --- | --- | | 一期 | 老人入住、床位分配、健康记录、护理任务、紧急呼叫、设备报修、公告通知、权限控制和基础看板形成闭环。 | | 二期 | 家属端、用药提醒、探访预约、服务反馈、费用记录、活动课程和评价统计可正常使用。 | | 三期 | 规则配置、预警生成、预警处理、风险老人识别和预警统计可追踪、可验证。 | ## 十六、项目价值与总结 AI赋能智慧养老系统通过后台管理端、移动端 App 和家属服务端协同,覆盖养老机构从入住建档、床位管理、健康照护、护理任务、安全应急、设备运维、家属互动到运营看板的关键业务链路。系统以一期核心照护闭环为基础,二期补齐运营服务能力,三期通过规则预警实现轻量智能化。 从软件工程角度看,本报告补充了系统上下文图、角色权限图、用例图、分期路线图、领域划分图、总体架构图、功能模块图、ER 图、领域类图、服务层类图、流程图、状态图、时序图、规则预警图和部署图,使需求、架构、数据、接口、测试和验收之间具备明确追踪关系。 从课程实训角度看,该项目仍保持 JavaEE 单体分层架构,避免复杂模型训练、硬件协议适配和商业 SaaS 能力带来的过度设计,适合作为完整的软件工程课程项目和 JavaEE 应用开发实训案例。