鼎味肉市DESIGN ATELIER
← 资料目录docs/design/prototypes/USER-STORY-template.md阅读原文

模块用户故事:stories.md

模块:{module} 当前真相:本文件维护模块完整故事集合;不创建 per-REQ/per-round 副本 关联原型:docs/design/prototypes/{module}/index.html + 当前 *.html 关联场景:scenario-model.json / cases.json / scenario-coverage.json / fixture-contract.json

使用方式

本文件按模块维护完整、当前且唯一的真实用户故事集合,而不是需求增量或 历史版本集合。一个故事描述“谁在什么情境下,为何要完成什么目标”;它可 关联一条或多条 PATH-*,并必须引用 scenario branch / CASE。REQ 只写入 source_refs,不出现在文件名或所有权字段中。

1. 故事目录

故事 ID 用户角色 触发场景 用户目标 CASE / PATH source_refs
S-001 {role} {real-world trigger} {goal} CASE-001 / PATH-001 REQ-{id}/FR-{id}
S-002 {role} {rejection or recovery trigger} {safe recovery goal} CASE-002 / PATH-002 REQ-{id}/FR-{id}

2. 用户和场景

<!-- 复制第 2 至 8 节,为故事目录中的每个故事补充必要内容。故事可共享 页面跳转和 UI/UX 审查结论;无须为了套模板重复相同背景。 -->
项 内容
故事 ID S-{id}
source_refs REQ-{id}/FR-{id}, decision/state/rule refs
用户角色 {role}
触发背景 {why this user starts the flow}
业务目标 {what success means}
前置条件 {permissions, data, state}
覆盖分支 BR-{id}-ALLOW, BR-{id}-REJECT
覆盖 CASE CASE-{id}

3. 功能设计背景

{为什么需要这个功能,当前业务问题是什么,页面或模块为什么这样组织。}

4. 页面跳转逻辑

起点 用户意图 动作 目标页面 / 状态 设计理由 原型区域
{page/state} {intent} {action} {page/state} {why this transition exists} {prototype section}

5. 成功故事

{用自然语言描述用户从入口到完成目标的完整故事。}

6. 异常和边缘故事

场景 用户看到什么 系统如何恢复 覆盖条款
{empty/error/permission/cancel/retry} {visible state} {recovery} FR-{id} / NFR-{id}

7. UI/UX 审查问题

问题 影响 决策 状态
{navigation/layout/copy/accessibility concern} {impact} {decision or owner} open / closed

状态为 open 且影响用户理解、页面跳转、权限、数据含义或错误恢复时,不得进入 S3 合同锁定。

8. REQ 映射

source_ref 原型区域 用户价值 验收方式
REQ-{id}/FR-{id} {screen/section} {value} {evidence}

9. 与原型和动线的一致性

检查项 结果 证据
成功故事在当前 *.html 中可见 pass / fail {section/state}
异常和边缘故事在当前 *.html 中可见或明确 N/A pass / fail {section/state/N-A reason}
页面跳转均有 F-NNN / PATH-* 路径覆盖 pass / fail {PATH ids}
required allow/reject branch coverage = 100% pass / fail {scenario-coverage.json}
browser-required CASE 均绑定 module spec pass / fail web/e2e/{module}/
合同需要的字段、状态、错误、权限和副作用已标出 pass / fail {contract notes}