跳到主要内容

用户故事(User Stories)

文档版本:1.0 最后更新:2026-04-22 维护者:Reflekt Health 产品团队 状态:正式交付稿

文档依据raw_requirements_context.mdfunctional_requirements.mdbusiness_architecture.mdtechnical_architecture.mddata_model_design.mdapi_specification.yamlthird_party_integrations.mdmeeting_notes.md

核心原则:所有功能设计均在 Safety(安全)、Independence(独立尊严)、Trust(信任) 之间取得平衡,致力于打造"可被信任的家庭 AI 助理"。


1. 故事索引与功能映射

类别序号用户故事名称主要参与用户涉及核心软件端优先级
1. 启动与账户管理US-01初次启动与隐私授权家属Family AppP0
US-02注册与登录家属Family AppP0
US-03忘记密码家属Family AppP0
US-04隐私授权撤回家属Family AppP0
2. 家庭与设备初始化US-05设备开箱绑定与家庭建立家属、老人Family App、Luma AppP0
US-06设备列表查看与管理家属Family AppP0
US-07家庭成员管理与紧急联系顺序家属Family AppP0
US-08家庭成员邀请与管理家属Family AppP0
3. 日常监测与风险响应US-09接收并处理紧急预警(如跌倒)家属Family App、后端P0
US-10查看健康数据趋势与周报家属Family AppP0/P1
US-11老人主动发起SOS呼叫老人、家属Luma App、Family App、后端P0
US-12运营后台监控与处理预警事件运营人员AdminP0
US-21设备离线监控与风险报警家属、运营Family App、AdminP0
US-22离线状态下的安全兜底老人Luma AppP0
4. 主动健康关怀与互动US-13创建与管理智能提醒家属Family App、Luma AppP1
US-14查看提醒执行与用药遵从情况家属Family AppP1
US-15发起应急通话家属Family AppP0
US-16老人日常与Luma互动(含仪式感与高龄化UI)老人Luma AppP0/P1
5. 系统设置与后台管理US-17个人化通知与偏好设置家属Family AppP0/P1
US-18后台用户与设备管理运营人员AdminP0
US-19后台系统配置管理管理员AdminP1
US-20数据合规操作(GDPR)客服/管理员AdminP1
US-23后台操作审计与合规管理管理员AdminP0
US-24试点运营数据监控运营人员AdminP1
6. 设备绑定与安装US-25雷达传感器绑定与自检家属Family AppP0
US-26安装证据包校验家属Family AppP0
7. 行为基线与数据US-27七天行为基线(Baseline)机制系统、家属后端、Family AppP0
8. 家庭互动与通讯US-28家庭留言互动家属、老人Family App、Luma AppP1
US-29实时语音/视频通话家属、老人Family App、Luma AppP1
9. 预警反馈优化US-30误报标记与原因选择家属Family AppP1

2. 用户故事详情


US-01:初次启动与隐私授权

故事描述

作为一个首次使用 App 的家属用户,我想要在首次启动 App 时阅读并同意隐私政策,以便完成合规授权并进入 App 核心功能

验收条件

Feature: 初次启动与隐私授权
Scenario: 首次启动,同意隐私政策
Given 用户首次下载并打开 App
And 隐私政策已更新或用户未同意
When 用户阅读隐私政策并点击同意按钮
Then 系统上传同意状态至后端
And 后端记录用户ID、同意时间、版本号、IP地址
And 跳转至 App 首页

Scenario: 首次启动,拒绝隐私政策
Given 用户首次打开 App
When 用户点击不同意按钮
Then App 弹出提示框:"抱歉,我们需要您的同意才能提供服务"
And 提供两个选项:重新阅读 / 退出App

Scenario: 已同意隐私政策(版本无更新)
Given 用户已同意隐私政策
And 隐私政策版本未更新
When 用户打开 App
Then 直接进入 App 首页

Scenario: 已同意隐私政策(版本已更新)
Given 用户已同意隐私政策
And 隐私政策版本已更新
When 用户打开 App
Then 弹出隐私政策更新提示,要求重新同意

业务流程图

实现逻辑要点

  • 强制触达:首次启动或首次进行设备绑定前必须强制弹出隐私政策弹窗,不可绕过——这是 HIPAA 合规底线。
  • 版本追踪:后端需记录用户同意的隐私政策版本号,政策更新时重新触发同意流程。
  • 拒绝处理:用户不同意时,友好提示并提供选择,不可直接强制退出。
  • 合规记录:同意操作需实时上报后端,记录用户ID、同意时间、版本号、IP地址。

技术实现约束

  • Family App 端必须实现隐私政策弹窗强制触达逻辑
  • 后端 D2 家属端服务必须实现同意记录存储
  • 关联表:consent_records(用户ID、版本号、同意时间戳、IP地址、撤回时间戳)

数据保存要求

  • consent_records:记录隐私政策同意状态,含版本号字段

前置流程依赖

  • 无(独立入口流程)

测试用例

{
"story_id": "US-01",
"test_cases": [
{
"id": "TC-US-01-01",
"name": "首次启动同意隐私政策",
"steps": ["首次打开App", "阅读隐私政策", "点击同意"],
"assertions": ["后端记录同意状态", "跳转至首页"]
},
{
"id": "TC-US-01-02",
"name": "拒绝隐私政策",
"steps": ["首次打开App", "点击不同意"],
"assertions": ["弹出提示框", "提供重新阅读和退出选项"]
},
{
"id": "TC-US-01-03",
"name": "版本更新后重新同意",
"steps": ["已同意用户打开App", "隐私政策版本已更新"],
"assertions": ["重新弹出隐私政策弹窗"]
}
]
}

US-02:注册与登录

故事描述

作为一个新用户或已有账户的家属,我想要通过手机号注册新账户或使用密码登录已有账户,以便进入 App 使用核心监护功能

验收条件

Feature: 注册与登录
Scenario: 新用户注册成功
Given 用户未注册
When 用户输入手机号并获取验证码
And 输入有效验证码和密码(≥8位含数字字母)
And 点击注册按钮
Then 后端创建账户并返回Token
And App安全存储Token并跳转至首页

Scenario: 验证码发送失败
Given 用户请求发送验证码
When 后端发送失败(频率限制或网络问题)
Then App显示发送失败,提示检查网络并显示重试按钮

Scenario: 已注册用户登录成功
Given 用户已注册账户
When 用户输入正确手机号和密码
And 点击登录
Then 后端验证通过并返回Token
And App安全存储Token并跳转至首页

Scenario: 密码错误
Given 用户尝试登录
When 输入正确手机号但密码错误
Then 提示"密码错误,您还有X次尝试机会"

Scenario: 忘记密码重置成功
Given 用户在登录页点击忘记密码
When 用户通过手机验证码验证身份
And 设置新密码(≥8位含数字字母)
Then 后端更新密码并使所有设备登录态失效
And 跳转至登录页

业务流程图

实现逻辑要点

  • Token 安全:Token 必须存储在 iOS Keychain 或 Android Keystore,后续所有请求 Header 携带 Token。
  • 自动续期:后端设计 Token 刷新机制,Token 即将过期时自动刷新。
  • 会话清理:密码重置后,使该账户在所有其他设备的登录态立即失效。
  • 验证码安全:限制同一手机号发送频率(1分钟内不重复),有效期 5 分钟。

技术实现约束

  • Family App 端使用 UniApp + Vue3 + TypeScript
  • 后端 D2 家属端服务实现 JWT Token 签发与验证(Sa-Token)
  • Token 有效期 2 小时,支持 refresh 机制

数据保存要求

  • users:手机号(AES-256加密存储)、密码哈希、创建时间
  • user_sessions:多端登录会话管理

前置流程依赖

  • US-01 隐私政策同意

测试用例

{
"story_id": "US-02",
"test_cases": [
{ "id": "TC-US-02-01", "name": "新用户注册成功", "steps": ["输入手机号", "获取验证码", "输入验证码和新密码", "注册"], "assertions": ["跳转首页", "本地存储Token"] },
{ "id": "TC-US-02-02", "name": "密码错误", "steps": ["输入正确手机号", "输入错误密码", "登录"], "assertions": ["提示密码错误"] },
{ "id": "TC-US-02-03", "name": "忘记密码重置", "steps": ["点击忘记密码", "验证手机号", "设置新密码", "确认重置"], "assertions": ["密码重置成功", "其他设备登录态失效"] }
]
}

US-03:忘记密码

故事描述

作为一个忘记密码的家属用户,我想要通过短信验证码重置密码,以便重新登录账户

验收条件

Feature: 忘记密码
Scenario: 正常重置密码
Given 用户已注册账户
When 用户通过手机号+短信验证码验证身份
And 设置新密码(≥8位含数字字母)
Then 后端更新密码
And 使该账户所有其他设备的登录态失效
And 跳转至登录页

Scenario: 验证码过期
Given 用户提交新密码
When 验证码已过期(>5分钟)
Then 提示验证码已过期,请重新获取

业务流程图

前置流程依赖

  • US-02 注册完成

测试用例

{
"story_id": "US-03",
"test_cases": [
{ "id": "TC-US-03-01", "name": "正常重置密码", "steps": ["点击忘记密码", "验证手机号", "设置新密码"], "assertions": ["密码重置成功", "其他设备会话失效"] }
]
}

US-04:隐私授权撤回

故事描述

作为一个已注册家属用户,我想要在设置页撤回隐私授权,以便停止数据收集并清除账户数据

验收条件

Feature: 隐私授权撤回
Scenario: 撤回隐私同意
Given 用户已同意隐私政策
When 用户在设置页点击"撤回同意"
Then 后端停止推送新数据
And 停止设备数据采集
And App端停止展示个人数据
And 撤回记录存入同意表

Scenario: 撤回后重新同意
Given 用户已撤回隐私同意
When 用户重新点击同意
Then 恢复数据采集和展示
And 更新同意记录版本号

前置流程依赖

  • US-02 登录成功

US-05:设备开箱绑定与家庭建立

故事描述

作为一个新购设备的家属用户,我想要完成 Luma 音箱和雷达传感器的配网、绑定、自检,并设置家庭信息,以便建立完整的守护关系并确保系统可用

验收条件

Feature: 设备开箱绑定与家庭建立
Scenario: Luma音箱绑定成功
Given 用户已登录App且雷达设备已通电
When 用户通过BLE配网将WiFi信息发送至Luma
And Luma完成自检(麦克风/喇叭/屏幕/雷达/心跳)
Then 音箱绑定成功并出现在设备列表

Scenario: BLE配网超时
Given 用户开启蓝牙搜索Luma设备
When 30秒内未发现设备
Then App提示未发现设备,引导检查设备电源并重新搜索

Scenario: WiFi密码错误
Given Luma尝试连接WiFi
When 密码错误导致连接失败
Then App显示连接失败,提示WiFi密码错误请重新输入

Scenario: 自检失败
Given Luma完成WiFi连接
When 自检程序检测到硬件故障
Then App显示具体失败项,提供解决方案或联系客服

Scenario: 雷达传感器绑定成功
Given 用户继续添加雷达设备
When 通过BLE配网将WiFi发送至每个雷达
And 雷达完成自检并上报结果
Then 所有雷达绑定成功,出现在设备列表

Scenario: SOS功能测试成功
Given 设备绑定完成
When 用户点击开始SOS测试
Then Luma播放SOS提示音
And 用户确认听到提示音
And App显示SOS功能测试成功

业务流程图

实现逻辑要点

  • 一体化向导:BLE配网→WiFi连接→自检→家庭档案设置→SOS测试串联为不间断流程。
  • 状态可视化:App实时轮询并显示绑定进度(连接中/自检中/成功)。
  • 失败可恢复:针对各种失败原因(网络问题/密码错误/设备故障)提供清晰可操作的解决方案。
  • P0验收指标:BLE配网成功率≥95%、WiFi连接成功率≥98%、自检通过率≥99%、SOS测试成功率=100%。

技术实现约束

  • Family App 端实现 BLE 协议(uni-app 的 uni.bluetooth API)
  • 后端 D1 设备接入服务实现设备状态轮询接口
  • D2 家属端服务实现家庭档案 CRUD

数据保存要求

  • devices:设备ID、类型(luma/radar/watch)、序列号、绑定状态、所属家庭ID
  • families:家庭ID、管理员ID、老人姓名/年龄、创建时间
  • device_binding_logs:绑定操作日志(用于审计)

前置流程依赖

  • US-02 登录成功

测试用例

{
"story_id": "US-05",
"test_cases": [
{ "id": "TC-US-05-01", "name": "Luma音箱完整绑定流程", "steps": ["添加设备-选择Luma", "BLE配网", "输入WiFi密码", "等待自检", "绑定成功"], "assertions": ["设备出现在设备列表", "状态显示在线"] },
{ "id": "TC-US-05-02", "name": "WiFi密码错误", "steps": ["输入错误WiFi密码", "提交配网"], "assertions": ["提示密码错误", "可重新输入"] },
{ "id": "TC-US-05-03", "name": "雷达设备绑定", "steps": ["添加雷达设备", "BLE配网", "选择房间位置", "绑定成功"], "assertions": ["雷达出现在设备列表"] },
{ "id": "TC-US-05-04", "name": "SOS测试", "steps": ["进入SOS测试页", "点击开始测试", "确认听到SOS提示音"], "assertions": ["测试通过"] }
]
}

US-06:设备列表查看与管理

故事描述

作为一个已绑定设备的家属用户,我想要查看设备列表及状态,以便了解各设备的在线情况和基本信息

验收条件

Feature: 设备列表查看与管理
Scenario: 查看设备列表
Given 用户已绑定多个设备
When 用户进入设备管理页面
Then 展示所有设备卡片,包含设备名称、类型图标、在线状态
And 在线设备显示绿色状态点,离线设备显示灰色状态点

Scenario: 查看设备详情
Given 用户在设备列表页
When 点击某个设备卡片
Then 进入设备详情页,展示设备类型/型号/序列号/绑定时间
And 提供联系客服解绑入口

Scenario: 设备离线提醒
Given 某设备已离线超过12小时
When 用户查看设备列表
Then 该设备卡片显示黄色警告标识
And 首页推送设备离线提醒

前置流程依赖

  • US-05 设备绑定完成

US-07:家庭成员管理与紧急联系顺序

故事描述

作为一个家庭管理员,我想要添加、删除家庭成员,并设置紧急联系顺序,以便在危险报警时按优先级依次通知家人

验收条件

Feature: 家庭成员管理与紧急联系顺序
Scenario: 添加家庭成员
Given 用户已是家庭管理员
When 用户输入成员手机号并选择权限(管理员/查看者)
And 点击保存
Then 系统向被邀请者发送短信/App通知

Scenario: 设置紧急联系顺序
Given 家庭已有多个成员
When 管理员拖拽调整紧急联系顺序
And 保存设置
Then 危险报警时按新顺序依次通知(第1→第2→第3→全部广播)

Scenario: 移除家庭成员
Given 管理员选择某个成员
When 点击移除并确认
Then 后端立即撤销其所有数据访问权限
And 从成员列表中移除

业务流程图

实现逻辑要点

  • 权限分级:管理员(Admin)= 家庭所有权限;查看者(Viewer)= 仅可查看数据。
  • 紧急联系顺序:决定告警升级链路中的通知优先级,第1优先级未确认则通知第2,以此类推。
  • 即时生效:移除成员必须立即在后端生效,确保隐私保护。

技术实现约束

  • 后端 D2 家属端服务实现成员 CRUD 和权限控制
  • 告警升级链路读取 caregivers.priority 字段决定通知顺序

数据保存要求

  • caregivers:成员ID、家庭ID、姓名、手机号(AES-256加密)、优先级(1/2/3)、角色(admin/member)

前置流程依赖

  • US-02 登录成功

US-08:家庭成员邀请与管理

故事描述

作为一个家庭管理员,我想要邀请其他家庭成员加入家庭,并管理其访问权限,以便实现多成员共同关注老人和协同照护

验收条件

Feature: 家庭成员邀请与管理
Scenario: 邀请新成员加入
Given 管理员已进入成员管理页
When 输入成员手机号并发送邀请
Then 被邀请者收到短信/App推送邀请确认
And 被邀请者点击接受后正式加入家庭

Scenario: 被邀请者已是其他家庭成员
Given 管理员邀请的手机号已属于其他家庭
Then 提示该用户已加入其他家庭,需先退出原家庭

Scenario: 移除成员立即生效
Given 管理员移除某成员
When 点击确认移除
Then 后端立即撤销其所有数据访问权限
And 该成员客户端立即无法访问任何家庭数据

Scenario: 同一用户只能属于一个家庭
Given 用户已是家庭A成员
When 家庭B邀请该用户
Then 系统拒绝,显示需先退出家庭A

业务流程图

前置流程依赖

  • US-02 登录成功且用户为家庭管理员

US-09:接收并处理紧急预警(如跌倒)

故事描述

作为一个家庭成员,我想要在发生跌倒等高风险事件时,通过电话和推送收到红色预警通知,并能够在 App 中查看预警详情和处理事件,以便及时了解老人状况并采取救助措施

验收条件

Feature: 跌倒告警闭环(Fall-to-Alert Loop)
Scenario: 跌倒检测与老人确认窗口
Given 雷达检测到跌倒事件
When Luma询问"Are you okay?"后30秒内未收到清晰正面回应
Then 系统生成红色紧急预警事件
And 按紧急联系顺序通知家属

Scenario: 老人应答安全
Given 雷达检测到跌倒
When 老人在30秒内语音回应" I'm okay"
Then Luma上报USER_OK
And 系统生成低级日志,不触发家属预警

Scenario: 红色预警T=30秒通知第1联系人
Given 触发红色预警
When T=30秒(首联系人未确认)
Then 同时触发:Twilio语音电话 + APNs/FCM强推送
And App收到红色告警卡片

Scenario: 第1联系人未ACK,T=50秒升级至第2联系人
Given T=30秒已通知第1联系人
When 第1联系人在20秒内未确认
Then T=50秒自动通知第2联系人

Scenario: 所有联系人均未ACK,T=90秒广播全部
Given T=70秒已通知第3联系人
When 所有单点联系人在20秒内均未确认
Then T=90秒向所有家庭成员广播

Scenario: 任意时间收到USER_OK立即中断升级
Given 升级链路执行中
When 任意时间收到老人USER_OK信号
Then 立即中断升级链路,标记事件为已解决

Scenario: 家属处理告警
Given 家属收到红色预警
When 家属查看详情后点击"标记为已处理"
Then 事件更新为已处理状态

Scenario: 家属标记误报
Given 家属收到红色预警
When 点击"标记为误报"并选择原因
Then 误报数据上报后端用于算法优化

业务流程图

实现逻辑要点

  • Safety底线:"雷达跌倒 + Luma询问无回应"是生成红色预警的决定性逻辑,任何MVP简化理由在此不成立。
  • Trust基石:红色预警必须同时触发语音电话和App强推送,穿透所有静默设置,规则写死不可配置。
  • 30秒确认窗口:T=0时Luma播放询问语音并开始监听,30秒内收到清晰正面回应则中断预警流程。
  • 20秒升级链:每个家庭成员升级间隔为20秒,升级顺序基于US-07设置的紧急联系顺序。
  • 证据链透明:预警详情页展示人类可读语言的事件时间线(如"10:12 — 客厅检测到跌倒事件")。

技术实现约束

  • D1 设备接入服务:接收雷达MQTT事件,转发至D4 AI大脑
  • D4 AI大脑服务:综合判断逻辑,TTS询问下发,USER_OK信号处理
  • D5 通知告警服务:Twilio语音直拨 + APNs/FCM强推送,升级链路定时器
  • Redis:存储升级链路状态,支持分布式环境下时间一致性

数据保存要求

  • alerts:告警ID、级别(red/amber/normal)、状态(firing/acknowledged/resolved/false_alarm)、证据包、触发时间
  • escalations:升级ID、告警ID、升级阶梯(1-4)、联系人ID、通道(push/sms/voice)、状态(pending/sent/delivered/acknowledged/timeout)
  • device_events:原始传感器事件,含跌倒置信度、心率等payload

前置流程依赖

  • US-05 设备绑定完成
  • US-07 紧急联系顺序设置
  • US-26 安装证据包校验通过

测试用例

{
"story_id": "US-09",
"test_cases": [
{ "id": "TC-US-09-01", "name": "跌倒检测+老人无应答→红色预警", "steps": ["雷达上报跌倒事件", "等待30秒", "Luma无回应"], "assertions": ["生成红色预警", "触发T=30s升级链"] },
{ "id": "TC-US-09-02", "name": "跌倒检测+老人应答I'm okay→无预警", "steps": ["雷达上报跌倒事件", "老人说I'm okay"], "assertions": ["生成低级日志", "不触发家属预警"] },
{ "id": "TC-US-09-03", "name": "USER_OK中断升级链", "steps": ["红色预警触发", "T=30s通知第1联系人", "老人说I'm okay"], "assertions": ["升级链立即中断"] },
{ "id": "TC-US-09-04", "name": "升级链T=30/50/70/90s准确", "steps": ["红色预警触发", "等待升级链执行"], "assertions": ["T=30s通知#1", "T=50s通知#2", "T=70s通知#3", "T=90s广播全部"] },
{ "id": "TC-US-09-05", "name": "家属标记误报", "steps": ["收到红色预警", "点击标记误报", "选择原因"], "assertions": ["误报数据上报"] }
]
}

US-10:查看健康数据趋势与周报

故事描述

作为一个家庭成员,我想要在 App 首页消息/时间轴中查看 AI 生成的健康日报和周报,以便快速了解老人的健康状况,获得非医疗化的关怀建议

验收条件

Feature: 健康数据趋势与周报
Scenario: 查看健康日报
Given 用户已进入App首页消息Tab
When 页面加载
Then 展示AI生成的健康日报卡片(整体状态+睡眠+运动+AI观察)
And 点击卡片可查看各指标趋势图(含个人基线灰带)

Scenario: 查看健康周报
Given 新的一周开始
When 用户查看首页消息Tab
Then 展示上周健康周报卡片
And 点击可查看本周各指标汇总及与上周对比

Scenario: 趋势图展示个人基线区间
Given 用户进入健康详情页
When 查看心率/血氧/睡眠等指标趋势图
Then 图表中展示基于该老人历史数据的基线区间(灰带)
And 波动在基线内标注为正常个人差异

Scenario: 数据收集中(Baseline未完成)
Given 7天Baseline学习期尚未完成
When 用户查看健康数据
Then 显示"数据收集中,请耐心等待"提示

业务流程图

实现逻辑要点

  • 非医疗化边界:严禁诊断性词汇("可能心律失常"),只用描述性语言("今天心率偏快")。
  • 个人基线:趋势图的基线灰带来自 US-27 的 Baseline 产出。
  • 数据来源:主要来自4G智能手表的生理指标监测。

技术实现约束

  • D2 家属端服务提供健康数据聚合查询 API
  • D4 AI大脑服务生成健康日报/周报文本(非医疗化模板)

数据保存要求

  • health_reports:日报/周报ID、老人ID、生成时间、报告内容JSON、AI观察摘要

前置流程依赖

  • US-05 设备绑定完成
  • US-27 Baseline 学习完成(7天)

测试用例

{
"story_id": "US-10",
"test_cases": [
{ "id": "TC-US-10-01", "name": "正常展示健康日报", "steps": ["进入首页消息Tab"], "assertions": ["展示日报卡片", "包含睡眠/运动/AI观察"] },
{ "id": "TC-US-10-02", "name": "趋势图展示基线灰带", "steps": ["点击日报卡片", "查看详情"], "assertions": ["趋势图含个人基线灰带"] },
{ "id": "TC-US-10-03", "name": "Baseline未完成时数据收集中", "steps": ["Baseline第3天查看健康数据"], "assertions": ["显示数据收集中提示"] }
]
}

US-11:老人主动发起 SOS 呼叫

故事描述

作为一个独居老人,我想要在需要帮助时通过语音或按键一键呼叫家属,以便在紧急情况下快速获得家人响应

验收条件

Feature: 老人主动发起SOS呼叫
Scenario: 语音触发SOS
Given 老人已绑定Luma
When 老人对Luma说"呼叫家属"或"帮帮我"
Then Luma播放提示音"正在联系您的家人"
And 后端创建红色SOS预警事件

Scenario: 按键触发SOS
Given 老人已绑定Luma
When 老人按下Luma的实体SOS按键
Then Luma播放提示音"正在联系您的家人"
And 后端创建红色SOS预警事件

Scenario: 设备离线时触发SOS
Given Luma检测到网络断开
When 老人触发SOS(语音或按键)
Then Luma立即播放"I'm offline. Please call 911 directly."
And 屏幕显示老人手机号供直接拨打

Scenario: SOS预警通知家属
Given 老人触发SOS且设备在线
When SOS预警事件生成
Then 同时通知所有家庭成员(电话+推送)
And App收到红色SOS预警卡片

业务流程图

实现逻辑要点

  • 多通道触发:同时支持语音和物理按键,确保老人在不同身体状态下都能使用。
  • 即时反馈:Luma需立即给出语音+视觉反馈,避免老人因不确定而重复触发。
  • 高优先级:SOS事件与"跌倒无回应"享受同等红色预警强触达待遇。
  • 离线兜底:网络断开时必须给出明确指引(拨打911),不可沉默或给出错误安全感。

技术实现约束

  • Luma App 端实现 ASR 关键词识别("呼叫家属"、"帮帮我")
  • D1 设备接入服务处理 SOS 事件上报
  • D5 通知告警服务执行与 US-09 相同的升级链路

数据保存要求

  • SOS 事件存储在 device_events 表(event_type = 'sos')
  • 对应告警记录存储在 alerts 表(level = 'red')

前置流程依赖

  • US-05 Luma 绑定完成

测试用例

{
"story_id": "US-11",
"test_cases": [
{ "id": "TC-US-11-01", "name": "语音触发SOS", "steps": ["老人说帮帮我"], "assertions": ["Luma播放提示音", "红色SOS事件生成"] },
{ "id": "TC-US-11-02", "name": "按键触发SOS", "steps": ["按下SOS按键"], "assertions": ["Luma播放提示音", "红色SOS事件生成"] },
{ "id": "TC-US-11-03", "name": "离线时触发SOS", "steps": ["设备离线", "触发SOS"], "assertions": ["Luma播放离线提示", "引导拨打911"] }
]
}

US-12:运营后台监控与处理预警事件

故事描述

作为一个运营人员,我想要在 Admin 后台监控所有预警事件,并在必要时人工介入处理,以便确保试点期间系统正常运行并及时响应异常

验收条件

Feature: 运营后台监控与处理预警事件
Scenario: 查看预警事件总览列表
Given 运营人员已登录Admin后台
When 进入预警事件模块
Then 展示所有预警事件列表,支持按时间/类型/状态筛选
And 红色告警置顶显示

Scenario: 查看事件详情与时间线
Given 运营人员查看某事件详情
When 进入事件详情页
Then 展示事件详情及前后30分钟时间线
And 聚合显示设备状态/指标数据/交互记录

Scenario: 运营人员处理事件
Given 运营人员查看事件详情
When 点击"标记为已处理"并填写备注
Then 事件状态更新为已处理
And 记录运营人员处理动作

前置流程依赖

  • US-09 告警事件生成

US-13:创建与管理智能提醒

故事描述

作为一个家属/监护人,我想要为老人创建个性化的用药、生活提醒,并通过 Luma 语音播报,以便帮助老人建立规律的生活习惯,同时让家属的关怀有回音

验收条件

Feature: 创建与管理智能提醒
Scenario: 创建用药提醒
Given 用户已登录且老人已绑定Luma
When 用户从模板库选择"该吃药了"模板
And 设置提醒时间和重复频率
And 保存提醒
Then 后端存储提醒计划并在指定时间触发播报
And Luma以温和语音播报提醒内容

Scenario: 自定义语音提醒
Given 用户创建提醒
When 选择录制语音而非文字输入
Then App上传语音文件至后端
And 在指定时间Luma播放该语音

Scenario: 老人确认提醒
Given Luma已播报提醒
When 老人语音说"好的"或点击屏幕确认按钮
Then 后端记录确认结果
And App端同步显示该提醒已确认

Scenario: 用药提醒未确认触发二次提醒
Given 用药提醒播报后老人未确认
When 5分钟后老人仍未确认
Then Luma进行二次提醒播报

业务流程图

实现逻辑要点

  • 行为提示边界:提醒内容严禁包含药物剂量、疗效说明或医疗建议,只能说"该吃药了"。
  • 模板库:约25项涵盖健康、安全、生活、社交的美式预制模板。
  • 非压力设计:未确认状态使用中性灰色视觉,不使用警示色,避免家属焦虑。

技术实现约束

  • 后端 D2 家属端服务管理提醒计划存储
  • D4 AI大脑服务生成播报内容(含TTS)
  • D1 设备接入服务下发至 Luma

数据保存要求

  • reminders:提醒ID、家庭ID、内容类型(text/voice)、Cron表达式、频率、是否需老人确认、状态
  • reminder_logs:执行ID、提醒ID、计划时间、播报时间、老人确认时间、确认结果

前置流程依赖

  • US-05 设备绑定完成

测试用例

{
"story_id": "US-13",
"test_cases": [
{ "id": "TC-US-13-01", "name": "创建文字提醒", "steps": ["选择模板", "设置时间", "保存"], "assertions": ["后端存储提醒计划"] },
{ "id": "TC-US-13-02", "name": "老人确认提醒", "steps": ["Luma播报", "老人点击确认"], "assertions": ["状态同步至App"] },
{ "id": "TC-US-13-03", "name": "用药提醒未确认二次提醒", "steps": ["播报用药提醒", "5分钟内无确认"], "assertions": ["触发二次提醒播报"] }
]
}

US-14:查看提醒执行与用药遵从情况

故事描述

作为一个家属用户,我想要查看每项提醒的执行记录,包括是否播报、老人是否确认,以便了解老人的日常规律遵从情况

验收条件

Feature: 查看提醒执行与用药遵从情况
Scenario: 查看提醒执行记录
Given 用户进入提醒列表页
When 查看某项提醒的历史记录
Then 展示每次提醒的播报时间和确认状态

Scenario: 查看用药遵从日志
Given 用户进入用药遵从页面
When 查看近7-14天用药情况
Then 以日历视图展示每日遵从状态
And 未确认日期显示灰色圆点(而非警示色)

前置流程依赖

  • US-13 提醒创建完成

US-15:发起应急通话

故事描述

作为一个家属用户,我想要在 App 中一键拨打老人电话,以便在需要时直接与老人通话确认情况

验收条件

Feature: 发起应急通话
Scenario: 一键呼叫老人
Given 用户在App多个页面(如预警详情/首页)
When 点击"呼叫老人"按钮
Then App跳转至系统电话应用
And 自动填充老人注册的手机号

Scenario: 老人未绑定手机号
Given 老人档案中未记录手机号
When 家属点击呼叫老人
Then 提示"未记录老人手机号,请手动拨打"

前置流程依赖

  • US-05 设备绑定完成(老人手机号在家庭档案中)

US-16:老人日常与 Luma 互动(含仪式感与高龄化 UI)

故事描述

作为一个独居老人,我想要通过自然语音与 Luma 交互,获得生活信息、情感陪伴和仪式感锚点,以便让日常生活更便捷,同时感受到科技陪伴的温暖

验收条件

Feature: 老人日常与Luma互动
Scenario: 老人语音查询天气
Given 老人已绑定Luma
When 老人问"今天天气怎么样"
Then Luma调用天气API并通过TTS播报答案

Scenario: 老人情感陪聊
Given 老人主动开启闲聊
When 老人与Luma对话
Then Luma调用GPT-4o生成关怀性闲聊回复
And 严格限制医疗诊断类问题回复为固定免责话术

Scenario: Magic Morning早安问候
Given 老人离床后
When Luma检测到起床事件
Then 播报组合信息:日期+天气+今日首要提醒+一句关怀语

Scenario: Weekly Check-in周总结
Given 每周日
When Luma定时触发
Then 播报上周亮点简述+鼓励语+本周安排

Scenario: 网络断开
Given Luma检测到断网
When 网络连接中断
Then 立即温和告知老人设备已离线
And 播放"I'm currently offline..."

Scenario: 医疗问题处理
Given 老人询问医疗问题
When Luma接收到医疗相关查询
Then 返回固定免责话术:"我不是医生,建议您咨询专业医疗人员"

业务流程图

实现逻辑要点

  • 安全边界:医疗诊断类问题必须返回固定免责话术,不可让LLM自由发挥。
  • 语音UX规范:语速比普通TTS慢15-20%,句间停顿500-800ms,每次播报1-3句。
  • 适老化UI硬规则:字号≥18pt、高对比度、每屏关键信息≤3个、触摸按钮≥44×44像素。
  • 冷静技术原则:界面设计应安静,不主动吸引注意力。

技术实现约束

  • D4 AI大脑服务:GPT-4o对话、TTS调度(OpenAI TTS)、Whisper语音识别
  • D1 设备接入服务:WebSocket长连接、TTS指令下发
  • TTS语音规范:禁用词 emergency/SOS/detected/abnormal

数据保存要求

  • conversation_logs:会话ID、老人ID、对话内容摘要、时间戳
  • health_baseline(US-27产出):wake_window、sleep_window、night_activity_baseline

前置流程依赖

  • US-05 Luma绑定完成

测试用例

{
"story_id": "US-16",
"test_cases": [
{ "id": "TC-US-16-01", "name": "老人查询天气", "steps": ["老人问今天天气"], "assertions": ["TTS播报天气信息"] },
{ "id": "TC-US-16-02", "name": "医疗问题返回免责", "steps": ["老人询问医疗问题"], "assertions": ["返回固定免责话术"] },
{ "id": "TC-US-16-03", "name": "Magic Morning问候", "steps": ["起床后"], "assertions": ["播报日期+天气+关怀语"] },
{ "id": "TC-US-16-04", "name": "网络断开温和告知", "steps": ["检测到断网"], "assertions": ["TTS播报离线提示"] }
]
}

US-17:个人化通知与偏好设置

故事描述

作为一个家属用户,我想要设置通知偏好和静默时段,以便在合适的时间接收提醒而不被打扰(红色预警除外)

验收条件

Feature: 个人化通知与偏好设置
Scenario: 设置静默时段
Given 用户在设置页
When 设置静默时段(如22:00-07:00)
Then 在该时段内App不响铃/震动(红色预警除外)
And 红色预警在静默时段仍强制触达

Scenario: 关闭普通消息通知
Given 用户关闭普通消息通知开关
When 运营后台推送普通消息
Then App不响铃/震动(仍可手动查看)

前置流程依赖

  • US-02 登录成功

US-18:后台用户与设备管理

故事描述

作为一个运营人员,我想要在 Admin 后台管理系统中的所有用户账号和设备,以便支撑试点期间的日常运营工作

验收条件

Feature: 后台用户与设备管理
Scenario: 查看家属用户列表
Given 运营人员已登录Admin后台
When 进入家属用户管理模块
Then 展示所有注册家属账号表格,支持按手机号搜索

Scenario: 查看设备列表
Given 运营人员查看设备管理
When 进入设备列表页
Then 展示所有设备:设备ID/类型/所属家庭/在线状态
And 支持搜索和筛选

Scenario: 强制解绑设备
Given 客服收到用户解绑请求
When 运营人员在后台执行强制解绑
Then 设备与家庭解绑并记录操作日志
And 执行二次确认

前置流程依赖

  • US-05 设备绑定完成

US-19:后台系统配置管理

故事描述

作为一个管理员,我想要在后台管理系统中配置关怀话术、提醒模板和生理阈值,以便运营团队可以灵活调整系统行为

验收条件

Feature: 后台系统配置管理
Scenario: 管理关怀话术模板
Given 管理员进入配置中心
When 对Magic Morning/Weekly Check-in内容进行增删改查
Then 新配置立即生效(或灰度下发至特定家庭)
And 保留版本历史

Scenario: 配置生理指标阈值
Given 管理员设置心率预警阈值
When 老人心率超出阈值
Then 触发对应级别预警事件

前置流程依赖

  • US-12 运营后台访问权限

US-20:数据合规操作

故事描述

作为一个客服/管理员,我想要根据用户线下请求导出或删除其家庭数据,以便满足 GDPR/CCPA 等数据隐私法规要求

验收条件

Feature: 数据合规操作(GDPR)
Scenario: 导出用户数据
Given 收到用户数据导出请求
When 客服输入家庭ID执行数据导出
Then 后端打包该家庭所有数据为文件
And 供客服线下发送给用户

Scenario: 删除用户数据
Given 收到用户数据删除请求
When 客服输入家庭ID执行逻辑删除
Then 该家庭所有数据标记为已删除
And 保留删除记录满足合规要求

前置流程依赖

  • US-12 运营后台访问权限

US-21:设备离线监控与风险报警

故事描述

作为一个后端系统,我想要实时监控所有设备(Luma、雷达、手表)在线状态,在异常离线时及时分级报警,以便防止系统"静默失效",确保老人安全始终被守护

验收条件

Feature: 设备离线监控与风险报警
Scenario: 设备在线正常
Given 设备已绑定且正常上报心跳
When 后端持续监控
Then 保持状态记录,无告警触发

Scenario: 设备离线超过12小时
Given 任一设备已超过12小时未上报心跳
When 后端检测到离线阈值触发
Then 生成黄色预警事件
And 通过APNs/FCM向家属App推送设备离线提醒
And 提醒中包含设备名称+离线时长+故障排查建议

Scenario: 设备离线超过48小时
Given 任一关键设备已超过48小时未上报
When 后端检测到高风险阈值触发
Then 生成红色预警事件
And 同时触发:Twilio电话 + APNs/FCM推送
And Admin后台自动标记该家庭为高风险
And 运营人员主动跟进联系家庭

Scenario: 手表4G独立工作
Given 家庭WiFi断开
When 手表仍通过4G网络工作
Then 手表数据仍可上报
And 手表SOS功能仍然可用

业务流程图

实现逻辑要点

  • 全设备监控:包括 Luma音箱、跌倒雷达L4P、睡眠雷达X1、智能手表共4类。
  • 分级报警:>12h黄色提醒家属检查设备;>48h红色预警+运营人工介入。
  • 防止误判:设备短暂断网又恢复需合理延迟判断(如连续超时才算离线)。
  • 手表独立工作:智能手表通过4G蜂窝网络独立工作,即使WiFi断开仍可上报数据。

技术实现约束

  • D1 设备接入服务:维护设备心跳Redis缓存,心跳超时检测
  • D5 通知告警服务:离线超时检测任务,黄色/红色预警生成
  • D3 运营管理服务:Admin后台高风险家庭标记

数据保存要求

  • devices.last_heartbeat:更新最后心跳时间
  • 离线事件存储在 alerts 表(level = 'amber'/'red')

前置流程依赖

  • US-05 设备绑定完成

测试用例

{
"story_id": "US-21",
"test_cases": [
{ "id": "TC-US-21-01", "name": "设备离线12小时触发黄色预警", "steps": ["设备停止心跳", "等待12小时"], "assertions": ["生成黄色预警", "推送至家属App"] },
{ "id": "TC-US-21-02", "name": "设备离线48小时触发红色预警", "steps": ["设备停止心跳", "等待48小时"], "assertions": ["生成红色预警", "电话+推送同时触发", "Admin标记高风险"] },
{ "id": "TC-US-21-03", "name": "手表4G独立上报", "steps": ["WiFi断开", "手表仍上报数据"], "assertions": ["手表数据正常入库"] }
]
}

US-22:离线状态下的安全兜底

故事描述

作为一个后端系统,我想要在网络中断时确保 Luma 设备仍能提供明确的安全指引,不误导用户,并在恢复后补报事件,以便在各种网络环境下都守护老人安全

验收条件

Feature: 离线状态下的安全兜底
Scenario: 检测到断网
Given Luma检测到网络连接中断
When 网络断开
Then Luma立即以温和语气播放"I'm currently offline, I'll be right back."
And 屏幕显示离线提示界面

Scenario: 离线SOS触发
Given Luma处于离线状态
When 老人按下SOS键
Then Luma立即本地播放"I'm offline. If this is an emergency, please call 911 directly."
And 屏幕显示老人手机号供直接拨打

Scenario: 网络恢复
Given Luma检测到网络恢复
When 连接重新建立
Then Luma播放"Connection restored. I'm back."
And 自动补发离线期间缓存的所有事件记录

Scenario: 离线本地录音补传(P1)
Given 离线期间老人触发SOS
When Luma本地录制了语音
And 网络恢复后
Then 自动将离线语音文件上传至后端
And 后端按正常SOS流程处理

业务流程图

实现逻辑要点

  • 透明沟通:断网时立即温和告知,防止老人因设备"沉默"产生恐慌或误解。
  • 安全第一:离线SOS时必须给出拨打911的无歧义指引,恪守"不假装有用"原则。
  • 数据完整性:离线事件必须可靠缓存并在网络恢复后补发,确保数据不丢失。

技术实现约束

  • Luma App 端:本地事件缓存队列(SQLite),网络恢复后自动补发
  • D1 设备接入服务:接收离线补发事件并重新路由至D4/D5

数据保存要求

  • 本地缓存表(SQLite):离线事件类型、时间戳、重试次数、上传状态

前置流程依赖

  • US-05 Luma绑定完成

测试用例

{
"story_id": "US-22",
"test_cases": [
{ "id": "TC-US-22-01", "name": "断网温和告知老人", "steps": ["模拟断网"], "assertions": ["TTS播放离线提示", "屏幕显示离线界面"] },
{ "id": "TC-US-22-02", "name": "离线SOS引导拨打911", "steps": ["设备离线", "老人触发SOS"], "assertions": ["播放911求助提示", "显示老人手机号"] },
{ "id": "TC-US-22-03", "name": "网络恢复后自动补发", "steps": ["离线缓存事件", "网络恢复"], "assertions": ["补发所有缓存事件"] }
]
}

US-23:后台操作审计与合规管理

故事描述

作为一个管理员,我想要记录所有敏感操作并支持查询,以便满足 HIPAA 合规要求并支持安全审计

验收条件

Feature: 后台操作审计与合规管理
Scenario: 敏感操作自动记录
Given 运营人员在后台执行敏感操作(设备解绑/权限变更/数据删除)
When 操作执行
Then 后端自动记录操作人/时间/IP/操作类型/对象ID/操作前后状态
And 日志存入独立审计表,保留≥12个月

Scenario: 查询审计日志
Given 管理员进入审计日志模块
When 按操作人/时间/操作类型筛选
Then 展示匹配的审计日志表格
And 支持导出CSV

Scenario: 防篡改保障
Given 审计日志已记录
When 业务代码尝试修改审计数据
Then 独立写保护机制阻止直接修改

业务流程图

实现逻辑要点

  • 全记录:所有涉及数据变更、权限变更、配置变更的操作必须记录。
  • 防篡改:审计日志存储在独立数据库/表,关闭写保护机制。
  • 长期保留:≥12个月保留期限,满足 HIPAA 合规要求。

技术实现约束

  • D3 运营管理服务:审计模块,AOP切面自动记录敏感操作
  • 审计表与业务表物理隔离

数据保存要求

  • audit_logs:日志ID、操作人ID、操作时间戳、IP地址、操作类型、对象ID、操作前状态(JSON)、操作后状态(JSON)

前置流程依赖

  • US-12 运营后台访问权限

测试用例

{
"story_id": "US-23",
"test_cases": [
{ "id": "TC-US-23-01", "name": "设备解绑自动记录审计日志", "steps": ["运营人员解绑设备"], "assertions": ["审计日志完整记录", "保留12个月以上"] },
{ "id": "TC-US-23-02", "name": "审计日志查询筛选", "steps": ["按操作人+时间筛选"], "assertions": ["返回匹配日志"] }
]
}

US-24:试点运营数据监控

故事描述

作为一个运营人员,我想要在 Admin 后台监控试点家庭的各项运营指标,以便评估试点效果并为正式上线提供数据支撑

验收条件

Feature: 试点运营数据监控
Scenario: 查看试点运营看板
Given 运营人员已登录Admin后台
When 进入试点运营模块
Then 展示各试点家庭聚合视图
And 包含在线率/跌倒数/误报率/Luma互动频次等关键指标

Scenario: 导出单户报告
Given 运营人员选择特定家庭
When 点击一键导出
Then 生成该家庭的完整运营报告PDF

前置流程依赖

  • US-12 运营后台访问权限

US-25:雷达传感器绑定与自检

故事描述

作为一个家属/监护人,我想要完成雷达传感器(L4P跌倒雷达、X1睡眠雷达)的配网、绑定和自检,以便确保跌倒监测和睡眠监测功能正常工作

验收条件

Feature: 雷达传感器绑定与自检
Scenario: 跌倒雷达L4P绑定成功
Given 雷达已通电
When 用户通过BLE配网将WiFi信息发送至L4P
And 雷达完成自检(覆盖范围/灵敏度)
Then 雷达绑定成功并出现在设备列表

Scenario: 睡眠雷达X1绑定成功
Given 睡眠雷达X1已通电
When 用户完成BLE配网和自检
Then X1绑定成功,显示在床/离床感知能力正常

Scenario: 多雷达覆盖多房间
Given 用户需覆盖多个房间(客厅/卧室/卫生间)
When 逐个绑定每个雷达并指定房间位置
Then 所有雷达正确绑定,确保监测无死角

Scenario: 雷达自检未通过
Given 雷达完成WiFi连接
When 自检检测到覆盖范围不足
Then App显示自检未通过,提供位置调整建议

业务流程图

实现逻辑要点

  • 房间位置绑定:每个雷达必须绑定具体房间(客厅/卧室/卫生间/床头),影响事件定位准确性。
  • 自检重要性:雷达自检是确保监测功能可用的关键步骤。
  • P0验收指标:BLE配网成功率≥95%、WiFi连接成功率≥98%、自检通过率≥99%。

技术实现约束

  • Family App 端:BLE协议对接雷达设备
  • D1 设备接入服务:MQTT消费雷达事件,雷达设备状态管理

数据保存要求

  • devices:device_type = 'radar_l4p' 或 'radar_x1',含安装位置字段

前置流程依赖

  • US-05 Luma绑定完成(雷达绑定在Luma之后进行)

测试用例

{
"story_id": "US-25",
"test_cases": [
{ "id": "TC-US-25-01", "name": "L4P跌倒雷达完整绑定", "steps": ["添加雷达-选择L4P", "选择客厅位置", "BLE配网", "等待自检", "绑定成功"], "assertions": ["雷达出现在设备列表", "在线状态正常"] },
{ "id": "TC-US-25-02", "name": "X1睡眠雷达绑定", "steps": ["添加雷达-选择X1", "选择床头位置", "绑定成功"], "assertions": ["X1在线"] },
{ "id": "TC-US-25-03", "name": "多雷达覆盖多房间", "steps": ["绑定客厅L4P", "绑定卧室L4P", "绑定卫生间L4P", "绑定床头X1"], "assertions": ["4个雷达均在线"] }
]
}

US-26:安装证据包校验

故事描述

作为一个后端系统,我想要在设备绑定完成后验证安装质量(证据包),以便在确认安装合格后才开启 Baseline 学习期,确保后续数据准确性

验收条件

Feature: 安装证据包校验
Scenario: 证据包校验通过
Given 设备绑定完成且所有设备在线
When 系统执行安装证据包校验(设备状态/信号强度/覆盖范围验证)
Then 校验通过,自动开启7天Baseline学习期
And FAP首页显示Baseline进度

Scenario: 证据包校验未通过
Given 设备绑定完成
When 证据包校验发现设备异常(信号弱/覆盖不全)
Then 提示具体问题并引导调整设备位置
And 暂不开启Baseline,等待重新校验

前置流程依赖

  • US-05 设备绑定完成(含Luma+雷达+手表)
  • US-25 雷达绑定完成

US-27:七天行为基线(Baseline)机制

故事描述

作为一个系统(自动执行),我想要通过7天学习期采集并分析老人的行为和健康数据,建立个人基线,以便为后续异常检测提供基准参考,显著减少误报

验收条件

Feature: 七天行为基线(Baseline)机制
Scenario: Baseline自动开启
Given 设备安装完成且证据包校验通过
When 系统状态为 BASELINE_ACTIVE
Then FAP首页显示行为基线建立中(第X/7天)
And 后端开始7天数据采集

Scenario: 每日数据融合采集
Given Baseline进行中(第1-7天)
When 雷达/手表/Luma每日上报数据
Then 后端融合多维度数据并分析个人习惯
And 分析wake_window/sleep_window/night_activity_baseline

Scenario: 设备离线延长学习期
Given Baseline进行中
When 任一关键设备离线超过24小时
Then 自动延长Baseline学习期
And 通知家属检查设备

Scenario: Baseline完成
Given 7天学习期结束
When 数据充足且质量合格
Then 系统状态更新为 BASELINE_COMPLETE
And FAP首页展示基线数据摘要
And 后续异常检测基于个人基线而非固定阈值

业务流程图

实现逻辑要点

  • 自动开启:证据包校验通过后自动开启,成功率必须=100%(P0硬规则)。
  • 三项核心产出:wake_window(起床时间范围)、sleep_window(入睡时间范围)、night_activity_baseline(夜间活动基线)。
  • 异常检测价值:基于个人基线的异常判断显著减少误报(误报率目标 <15%)。

技术实现约束

  • D4 AI大脑服务:Baseline数据分析引擎
  • D1 设备接入服务:多源数据融合

数据保存要求

  • health_baseline:老人ID、wake_window、sleep_window、night_activity_baseline、baseline_score、状态(active/complete)、完成时间

前置流程依赖

  • US-26 安装证据包校验通过

测试用例

{
"story_id": "US-27",
"test_cases": [
{ "id": "TC-US-27-01", "name": "Baseline自动开启", "steps": ["证据包校验通过"], "assertions": ["状态=BASELINE_ACTIVE", "App显示第1/7天"] },
{ "id": "TC-US-27-02", "name": "设备离线延长学习期", "steps": ["Baseline第3天设备离线>24h"], "assertions": ["自动延长学习期"] },
{ "id": "TC-US-27-03", "name": "Baseline完成产出三项基线", "steps": ["7天数据采集完成"], "assertions": ["状态=COMPLETE", "展示wake_window/sleep_window/night_activity"] }
]
}

US-28:家庭留言互动

故事描述

作为一个家属/监护人,我想要通过 App 向老人发送语音或文字留言,并通过 Luma 播报,以便实现远程关怀,让老人感受到家人的关心

验收条件

Feature: 家庭留言互动
Scenario: 家属发送文字留言
Given 用户已登录且老人已绑定Luma
When 用户输入文字内容并发送
Then Luma收到留言并在指定时间播报

Scenario: 家属录制语音留言
Given 用户选择录制语音
When 完成语音录制并发送
Then Luma播报该语音留言

Scenario: 老人收听留言
Given Luma有新留言
When 老人主动说"播放留言"或点击屏幕
Then Luma播报留言内容
And 播放后等待老人回复

Scenario: 老人语音回复
Given Luma播报留言完毕
When 老人语音回复
Then 后端将语音转文字并同步至App
And 家属可在App查看老人回复

前置流程依赖

  • US-05 设备绑定完成

US-29:实时语音/视频通话

故事描述

作为一个家属用户,我想要通过 App 发起与老人的实时语音或视频通话,以便在需要时与老人面对面或语音交流

验收条件

Feature: 实时语音/视频通话
Scenario: 家属发起语音通话
Given 用户在App中点击语音通话按钮
When 老人在Luma前
Then App与Luma建立语音通话连接
And 双方可实时通话
And 通话记录保存

Scenario: 家属发起视频通话
Given 用户在App中点击视频通话按钮
When 老人在Luma前
Then App与Luma建立视频通话连接
And 双方可实时视频+语音通话
And 通话记录保存

Scenario: 老人端无应答
Given 家属发起通话
When 老人在Luma前无应答(超时30秒)
Then App提示无应答,家属可选择留言或重试

前置流程依赖

  • US-05 设备绑定完成(Luma摄像头/麦克风可用)

US-30:误报标记与原因选择

故事描述

作为一个家属用户,我想要在收到误报预警时标记为误报并选择原因,以便帮助系统优化检测算法,同时维护老人尊严

验收条件

Feature: 误报标记与原因选择
Scenario: 家属标记误报
Given 家属收到红色预警
When 点击"标记为误报"按钮
Then 展示误报原因选择(捡东西/做操/宠物干扰/其他)
And 家属选择原因并提交
Then 误报数据(含原因)上报后端
And 用于AI检测算法迭代优化

Scenario: 误报原因分布统计
Given 后端积累大量误报数据
When 运营团队查看误报分析
Then 展示误报原因分布统计
And 为算法优化提供方向

前置流程依赖

  • US-09 红色预警接收

3. 用户故事依赖关系总览


4. P0 验收指标速查

指标目标值关联故事
BLE配网成功率≥ 95%US-05
WiFi连接成功率≥ 98%US-05, US-25
SOS测试成功率= 100%US-05
30秒确认窗口执行准确率= 100%US-09
20秒升级链触发时间准确率= 100%US-09
USER_OK中断成功率= 100%US-09
Red事件复盘完整率= 100%US-09
设备心跳上报成功率≥ 99.5%US-21
设备离线>12h黄色预警触发率= 100%US-21
设备离线>48h红色预警触发率= 100%US-21
Baseline自动开启成功率= 100%US-27
日报/周报生成成功率≥ 99%US-10
AI总结准确率≥ 95%US-10
详情页加载时间< 2sUS-10

本文档由 Reflekt Health 产品团队维护,最后更新于 2026-04-22。