Files
lhl becd3e1f57 chore(assets): 参赛提交规范红线修复(ASCII 化 + 相对路径)
按《参赛成果物提交规范·赛道一》§6 红线:
- samples/ 目录改名 sample/(git mv,保留历史)
- 10 个中日文样本文件 + docs 参赛手册 PDF 重命名为 ASCII
  (requirements_*/template_*/rules_*/contestant-handbook.pdf)
- tests/test_zh_template.py 硬编码绝对路径 D:\00_project\Genesis 改为相对路径
- 全局更新 21 个活动文件引用;历史日志/审查文档不改(追加说明记录)
全量 pytest 431 passed / 99.15%
2026-08-26 14:15:52 +08:00

130 lines
7.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 样本数据规格(sample/
> 版本: v1.0 | 日期: 2026-07-30 | 状态: 初版
>
> 本文档定义 `sample/` 目录下**脱敏样本数据**的规格。样本用于:
> 1. 开发期单元/集成测试(implementation-plan §2.9 / §5.9 / §9.3
> 2. 端到端演示与验收(implementation-plan §9「3 个实样本正常动作」)
>
> 样本全部为 **AI 虚构业务数据**(以「员工管理系统」为示例业务),不含任何真实客户信息。
---
## 1. 样本集文件清单
| 文件 | 格式 | 对应输入类型(design §3.3 | 用途 |
|------|------|---------------------------|------|
| `requirements_newdev.xlsx` | .xlsx | 要件定义(表格型) | 新规开发场景 |
| `requirements_enhancement.xlsx` | .xlsx | 要件定义(混合型:表格+取消线+变更区分) | 追加改修场景 |
| `requirements_freetext.xlsx` | .xlsx | 要件定义(自由记述型) | LLM 结构化场景 |
| `template_design_ja.docx` | .docx | 概要设计模板 | 输出结构/样式 |
| `rules_design_ja.docx` | .docx | 做成说明书 | 各章作成指引 |
| `rules_entry_ja.docx` | .docx | 记入规则 | 写法规范 |
| `rules_diagram_ja.xlsx` | .xlsx | 图表规则 | 图表书写规范 |
---
## 2. 脱敏原则
- 业务领域选用通用虚构主题「**员工管理系统**」(社員管理システム),不使用任何真实公司/产品/人名
- ID 编号虚构(EMP001 / SC001 / TB001 等)
- 不得包含真实地址、电话、邮箱、金额以外的敏感信息(金额亦为虚构)
- 文件内部元数据(作者/公司名)清空或使用虚构值
---
## 3. 要件定义规格(3 类型)
### 3.1 通用 Sheet 约定
- Sheet 名:機能一覧 / 画面一覧 / 帳票一覧 / DB定義 / IF定義 / バッチ一覧(对应 `SheetType`FUNCTION / SCREEN / REPORT / DATABASE / INTERFACE / BATCH
- 表头行:第 1 行为大标题(Sheet 名),第 2 行起为列头(合并单元格层级表头仅用于验证合并单元格解析,见 3.4)
- 每个单元格需可产生 Provenance 定位(design §9.4.5`file.xlsx#SheetName!CellRef`
### 3.2 类型 A:新规开发型(表格型 / テーブル型)
全 Sheet 为规则表格,无自由记述。Sheet 与列头如下:
| SheetSheetType | 列头 |
|------|------|
| 機能一覧(FUNCTION | 機能ID / 機能名 / 概要 / 利用画面 / 参照DB / 更新DB |
| 画面一覧(SCREEN) | 画面ID / 画面名 / 遷移元 / 遷移先 / 対応機能 / 備考 |
| 帳票一覧(REPORT) | 帳票ID / 帳票名 / 出力媒体 / 出力条件 / 対応機能 / 備考 |
| DB定義(DATABASE | テーブルID / テーブル名 / 列名 / 型 / PK / 備考 |
| IF定義(INTERFACE | IF_ID / IF名 / 相手先 / 電文形式 / 送受信 / 備考 |
| バッチ一覧(BATCH) | バッチID / バッチ名 / 起動条件 / 処理概要 / 備考 |
**数据量**:機能 8 件、画面 6 件、帳票 4 件、DB テーブル 5 件(各 3-6 列)、IF 2 件、バッチ 2 件。
### 3.3 类型 B:追加改修型(混合型)
在类型 A 基础上:
- **变更区分列**:機能一覧 / 画面一覧 追加「変更区分」列(`新規` / `変更` / `削除`
- **取消线单元格**:被「删除/削除」的要素,其行首单元格(如機能ID)设置取消线(strikethrough
- 局部混合:DB定義 之后插入一个「改修ポイント」自由记述块(文本段落,说明改修要点)
- 用于验证:`FormattingDetector`(取消线检测)、`FreeTextParser`(自由记述块)、`Impact Agent` 追加改修场景(implementation-plan §5.9
### 3.4 类型 C:自由记述型(自由記述型)
- 全部 Sheet 为**文本段落式**记述(非表格),例如:
- Sheet「機能要件」:每行为一段自然语言需求(「新入社員を登録できる。氏名・所属・入社日を入力する…」)
- Sheet「画面要件」:画面要件描述
- 用于验证:Sheet 性质判定(表格型 vs 自由记述型 vs 混合型,design §3.5.2)、`FreeTextParser` LLM 结构化(ExtractionMethod.LLM_FROM_FREE_TEXT
- 若需验证合并单元格,可在类型 A 的「DB定義」中加入**纵向合并单元格**的列头(例:テーブルID 合并 2 行)
---
## 4. 模板 / 说明书 / 规则文档规格
### 4.1 概要设计书模板(docx
- 章结构(Heading 层级,与 `ChapterMarker` 对应):
- H1 `1. はじめに``2. 機能一覧``3. 画面一覧``4. 帳票一覧``5. DB設計``6. IF定義``7. バッチ一覧`
- H2 各章下设节(例:`3.1 画面遷移図``5.1 テーブル一覧``5.2 ER図`
- **占位符**:使用 docxtpl 语法 `{{section:xxx}}`(design §6.6)插入章节内容位置;封面含 `{{doc_title}}` / `{{version}}` / `{{created_at}}`
- **样式**:定义 Normal / Heading 1-3 / Table Grid / List Bullet 样式(供渲染器 style_map 引用)
- 包含至少 1 个书签(bookmark)验证锚点注入
### 4.2 做成说明书(docx
- 纯文本 + 标题结构(解析难度 ★☆☆)
- 按章给出作成指引:每章「目的 / 输入情報 / 記載内容 / 記載例」小节
- 内容与模板章结构一一对应
### 4.3 记入规则(docx
- 标题层级清晰(H1/H2),章节按「章ごとの書き方ルール」组织
- 包含可被 RAG 检索的规则条目,例如:
- 「機能一覧の書き方」:機能ID は F001 から連番 / 省略記号禁止
- 「画面遷移図の書き方」:状態遷移表との整合性
- 「用語の統一」:略語は初出時に正式名称と併記
- 供 RAG 层测试:`rules_entry_ja.docx # 章タイトル` 检索命中(rag-layer §5.2
### 4.4 图表规则(xlsx
- Excel 表格型规则(ExcelChunker 按「表头+数据行组」切分)
- Sheet「図表書き方」:列头 `項目 / 規則 / 適用対象`
- 规则条目例如:表ヘッダーは太字のみ(下線なし)/ テーブルには枠線を付ける / ER図の表記法
- 供 RAG 冲突测试(rag-layer §7.1):图表规则与记入规则对「表ヘッダー」的表述可构造为冲突对
---
## 5. 与实现计划的对应关系
| implementation-plan 任务 | 对应样本 |
|-------------------------|---------|
| §2.9 ExcelParser 統合テスト(テーブル型/自由記述型/混合型/取消線/結合セル) | 3.1-3.4 全部 |
| §5.9 Impact 統合テスト(新規開発/追加改修/自由記述型) | 类型 A / B / C |
| §9.3 性能テスト(1000 行以上 Excel) | 类型 A 扩展(需另行生成大数据样本,不在本集内)|
| §9 验收「3 个实样本正常动作」 | 类型 A / B / C |
| RAG 检索测试 | §4.3 / §4.4 |
| Writer 章节生成测试 | §4.1 模板 + 要件定义 |
---
## 6. 造样方法
- 造样脚本使用 `openpyxl`xlsx)与 `python-docx`(docx)编程生成,**不手工编辑**
- 脚本执行后产物落盘 `sample/`;脚本本身为一次性开发工具,不纳入版本库(如后续需重建,按本文档规格重新编写即可)
- 生成后校验:打开所有 xlsx 确认 Sheet 名/单元格可读;打开所有 docx 确认标题层级与占位符完整