# Requirements 模板

## 需求信息

- **需求名称**: [需求名称]
- **需求类型**: [功能需求 | 非功能需求 | 数据需求 | 接口需求 | 其他]
- **需求编号**: REQ-XXX
- **创建日期**: YYYY-MM-DD
- **需求版本**: vX.X.X
- **需求提出人**: [提出人姓名]
- **需求状态**: [待审核 | 已批准 | 已拒绝 | 已实施 | 已验证]

## 输入引用

引用相关的 docs 文档链接：

- [其他需求文档](XXX.md) - 相关需求描述
- [架构决策](../decisions/adr/XXX.md) - 相关架构决策
- [设计文档](../design/XXX.md) - 相关设计说明

## Context Maps

强制列出本次需求依赖的 Canvas 文件：

- [Authentication.canvas](../Authentication.canvas) - 项目架构视觉化展示
- **相关节点**: [节点名称](路径) - 描述

## 需求目标

明确描述此需求的目标和预期效果，包括要解决的问题、实现的功能或达成的结果。

## 需求描述

### 概述

简要描述需求的整体内容和范围。

### 详细需求

#### 1. [需求项 1]

- **需求描述**: 详细说明需求项的具体内容
- **优先级**: [高 | 中 | 低]
- **验收标准**: 描述验证需求是否满足的标准
- **依赖关系**: 列出与其他需求的依赖关系
- **实现建议**: 提供实现该需求的建议方案

#### 2. [需求项 2]

- **需求描述**: 详细说明需求项的具体内容
- **优先级**: [高 | 中 | 低]
- **验收标准**: 描述验证需求是否满足的标准
- **依赖关系**: 列出与其他需求的依赖关系
- **实现建议**: 提供实现该需求的建议方案

## 约束

列出需求实现时的约束条件，例如：
- 技术栈限制
- 性能要求
- 安全性要求
- 兼容性要求
- 时间限制
- 预算限制
- 其他约束

## Rule Set

"请严格参考 @Authentication.canvas 中的状态机转移逻辑，不要自行发挥。"

**具体规则**：
- 必须使用 Canvas 中定义的类名和方法名
- 必须遵循 Canvas 中定义的调用关系
- 必须参考 Canvas 中的流程图逻辑

## 验收标准

定义验证需求是否满足的具体标准，例如：
- 功能完整性
- 性能指标
- 安全性要求
- 用户体验
- 其他验收标准

## 风险

识别需求可能带来的风险，例如：
- 技术实现风险
- 时间风险
- 成本风险
- 质量风险
- 其他潜在风险

## 需求变更记录

| 日期 | 变更内容 | 变更原因 | 变更人 | 审核人 | 状态 |
|------|---------|---------|--------|--------|------|
| YYYY-MM-DD | 变更描述 | 变更原因 | 变更人姓名 | 审核人姓名 | [已批准 | 待审核 | 已拒绝] |

## 相关人员

- **需求提出人**: [姓名] - 联系方式
- **需求负责人**: [姓名] - 联系方式
- **技术负责人**: [姓名] - 联系方式
- **测试负责人**: [姓名] - 联系方式
- **其他相关人员**: [姓名] - 联系方式

## 评审信息

- **评审日期**: YYYY-MM-DD
- **评审人员**: [评审人员姓名]
- **评审结果**: [通过 | 未通过 | 待修改]
- **评审意见**: [评审意见内容]
- **修改建议**: [修改建议内容]
