feat: 根目录文档、脚本、gitignore

This commit is contained in:
2026-10-08 16:15:33 +08:00
commit e98660ce4e
284 changed files with 26838 additions and 0 deletions
@@ -0,0 +1,298 @@
# FRD 模板(pmassist-v3)
> **使用说明**:聚焦"可实现的功能规格"。需求条目使用 FR-xxx 编号,采用 WHEN/IF ... SHALL ... 语句。
> 每条 FR 需对应 `outputs/acceptance.md` 中的 AC-xxx 验收标准。
---
## 0. 文档信息
| 字段 | 内容 |
|---|---|
| 版本 | v1.0 |
| 状态 | 草稿 / 评审中 / 定稿 |
| 作者 | |
| 创建日期 | |
| 最后更新 | |
| 适用范围 | |
### 变更记录
| 版本 | 日期 | 变更编号 | 变更说明 | 影响 FR |
|---|---|---|---|---|
| v1.0 | | CHG-000 | 初稿 | 全部 |
---
## 1. 引言
### 1.1 目的
### 1.2 范围
### 1.3 术语与缩写
| 术语 | 说明 |
|---|---|
| | |
### 1.4 参考资料
> 引用 `materials_index.md` 中的 SRC-xxx
---
## 2. 总体描述
### 2.1 产品视角(系统边界)
```mermaid
graph LR
subgraph 本系统
A[模块A] --> B[模块B]
end
C[上游系统] --> A
B --> D[下游系统]
```
### 2.2 功能概览
| 模块 | 功能 | 优先级 | 依赖 |
|---|---|---|---|
| | | P0/P1/P2 | |
### 2.3 用户特征
| 用户角色 | 权限级别 | 典型操作 |
|---|---|---|
| | | |
### 2.4 约束条件
### 2.5 假设与依赖
---
## 3. 功能需求(核心)
> **编号规则**:主功能 FR-001;子场景 FR-001-1。每条 FR 须有对应 AC。
### 3.1 功能需求列表
| FR 编号 | 标题 | 优先级 | 状态 | AC 引用 |
|---|---|---|---|---|
| FR-001 | | P0 | 待确认 | AC-001-1, AC-001-2 |
| FR-002 | | P1 | 待确认 | |
### 3.2 功能需求详细说明
---
#### FR-001:{功能名称}
- **优先级**:P0 / P1 / P2
- **角色/主体**:
- **触发条件**:WHEN/IF {条件}
- **需求**:系统 SHALL {做什么}
- **业务规则**:
1. {规则1}
2. {规则2}
- **边界条件/异常**:
- WHEN {异常条件} → 系统 SHALL {处理方式}
- **优先级**:P0
- **依据/来源**:[SRC-001] / [CODEMAP:...] / [ASSUMPTION]
- **验收标准**:AC-001-1, AC-001-2
---
#### FR-002:{功能名称}
(同上格式)
---
## 4. 外部接口需求
### 4.1 用户界面
| 页面/组件 | 输入字段 | 输出/展示 | 规则 | FR 引用 |
|---|---|---|---|---|
| | | | | |
### 4.2 软件接口
| 接口名称 | 请求方法 | 说明 | FR 引用 | 证据 |
|---|---|---|---|---|
| POST /api/xxx | POST | | FR-001 | |
#### 接口详细说明
**接口:POST /api/{path}**
- **描述**:
- **请求参数**:
```json
{
"field1": "string, 说明",
"field2": 0,
"field3": true
}
```
- **响应**:
```json
{
"code": 200,
"msg": "success",
"data": {}
}
```
- **错误码**:
| 错误码 | 说明 |
|---|---|
| 400 | 参数校验失败 |
| 403 | 无权限 |
### 4.3 通信接口/协议
---
## 5. 数据需求
### 5.1 数据实体/字段定义
| 字段名 | 类型 | 必填 | 默认值 | 说明 | FR 引用 |
|---|---|---|---|---|---|
| | | | | | |
### 5.2 数据库 DDL
```sql
-- 新建表
CREATE TABLE `{表名}` (
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
`code` VARCHAR(64) NOT NULL COMMENT '编号,格式:前缀+yyyyMMdd+6位顺序号',
-- 业务字段...
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0=xxx,1=xxx,2=xxx',
`create_by` VARCHAR(64) COMMENT '创建人',
`create_time` DATETIME COMMENT '创建时间',
`update_by` VARCHAR(64) COMMENT '更新人',
`update_time` DATETIME COMMENT '更新时间',
`del_flag` CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0=存在,1=删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_code` (`code`),
KEY `idx_status` (`status`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='{表注释}';
-- 字段变更
ALTER TABLE `{表名}`
ADD COLUMN `{字段}` {类型} DEFAULT {值} COMMENT '{说明}' AFTER `{前一字段}`;
```
### 5.3 数据校验规则
| 字段 | 校验规则 | 错误提示 | FR 引用 |
|---|---|---|---|
| | | | |
### 5.4 存储与迁移要求
---
## 6. 非功能需求
### 6.1 性能
| 指标 | 要求 | 说明 |
|---|---|---|
| 响应时间 | < 200ms (P95) | |
| 并发 | | |
| 吞吐 | | |
### 6.2 安全与权限
| 功能/接口 | 权限代码 | 角色 | 说明 |
|---|---|---|---|
| | | | |
### 6.3 可靠性/可用性
### 6.4 可维护性/可扩展性
---
## 7. 追踪与验收
### 7.1 需求追踪矩阵
| FR 编号 | 设计文档 | 实现位置 | 测试用例/AC | 状态 |
|---|---|---|---|---|
| FR-001 | | | AC-001-1~3 | |
### 7.2 验收用例清单
> 详细 AC 见 `outputs/acceptance.md`
---
## 8. 风险与开放问题
| 风险/问题 | 类型 | 等级 | 应对措施 | 状态 |
|---|---|---|---|---|
| | 风险/待决问题 | 高/中/低 | | 开放/已关闭 |
---
## 9. 差异点清单
| 维度 | 现状 | 目标 | 影响 FR | 证据 |
|---|---|---|---|---|
| | | | | |
---
## 10. 证据映射表(强制)
| 章节 | 关键结论 | 证据 | 状态 |
|---|---|---|---|
| 功能需求 | | | |
| 接口需求 | | | |
| 数据需求 | | | |
| 非功能需求 | | | |
---
## 11. FR → AC 覆盖矩阵(强制)
| FR 编号 | FR 标题 | AC 数量 | AC 列表 | 覆盖状态 |
|---|---|---|---|---|
| FR-001 | | | AC-001-1, AC-001-2 | ✅ 已覆盖 |
| FR-002 | | 0 | — | ⚠️ 待补充 |
---
## 12. 系统资产引用(强制)
| 资产类型 | 路径 | 用途 |
|---|---|---|
| CodeMap | | |
| DomainMap | | |
| Runtime | | |
---
## 13. 参考资料与索引
- 引用 `materials_index.md` 的来源 ID
- CODEMAP/DOMAINMAP/RUNTIME 引用:见第 12 章
---
## 图表要求(强制检查)
- [ ] 至少 1 个 mermaid 图(系统边界/流程/时序任选)
- [ ] 至少 1 张表(需求条目清单/接口列表/字段定义等)
- [ ] FR→AC 覆盖矩阵已填写(第 11 章)