何时使用
当用户需要基于 [10][SRS] 软件需求规格说明-438C-2021.docx 模板生成或修改 GJB 438C-2021 软件需求规格说明(SRS)时使用本 Skill。
迁移关系
- 旧 GJB 438B
[08] 软件需求规格说明对应新版 GJB 438C-2021[5.10] 软件需求规格说明。 - 不再使用
[08]作为新版模板编号;遇到用户说“08/SRS”时,按新版[5.10] SRS处理。
约束
- 只处理
.docx模板,不处理.doc - 严格模式运行,不做兜底和回退;模板锚点、表格表头或章节原型不匹配时必须报错
- 目录通过 Word 域刷新,不直接改目录文本
- 只修改
content字段和rows数组,不得修改模板结构
目录结构
documents/[10][SRS] 软件需求规格说明-438C-2021.docx:新版 438C SRS 模板文档templates/config.json:封面与标识配置templates/project.json:章节内容、子章节和表格数据scripts/main.py:命令行入口(推荐)scripts/process.py:免参数入口
工作流
- 修改
templates/config.json中各字段的content,填写项目名称、版本、单位、日期等封面信息。 - 修改
templates/project.json中各章节内容:- 第 1 章(范围)使用
placeholders数组 - 第 2 章(引用文档)使用
tables - 第 3 章(需求)使用
placeholders,含subsections(动态章节)和tables(合格性、追踪表) - 第 4 章(合格性规定)使用
tables - 第 5 章(需求可追踪性)使用
tables - 第 6 章(注释)为静态章节
- 第 1 章(范围)使用
- 运行生成脚本(见“运行”章节)。
- 检查输出
.docx文件,首次在 Word 中打开时刷新目录。
JSON 规则
config.json
config.json 包含 project、document、content 三部分,所有字段只修改 content 值。
project.json
- 只修改
content字段和rows数组 - 不修改
id、name、type、columns、replacement_pattern、locator_rows等模板结构字段 subsections的 key 必须是有效章节编号(如"3.2.1")rows中每行的字段必须严格等于columns定义
locator_rows用于在模板 docx 中定位表格,必须与模板中的实际表头文本完全一致。
运行
安装依赖(首次):
pip install python-docx>=1.1.0
生成文档(推荐,使用命令行入口):
python scripts/main.py \
--template "documents/[10][SRS] 软件需求规格说明-438C-2021.docx" \
--config "templates/config.json" \
--project "templates/project.json" \
--output "output/[10][SRS] 软件需求规格说明-438C-2021-filled.docx"
或使用免参数入口:
cd scripts
python process.py