# 开发范式流程图 > 本文档定义 COBOL 迁移验证平台的开发工作流,用于展示团队的开发范式。 --- ## 一、开发流程概览 ```mermaid graph TD A[1. 需求分析] --> B[2. AI方案生成] B --> C{3. 人工审核} C -->|通过| D[4. AI编码实现] C -->|需要修改| B D --> E[5. 测试验证] E --> F{6. 质量评审} F -->|达标| G[7. 交付归档] F -->|未达标| D style A fill:#e1f5fe style B fill:#f3e5f5 style C fill:#fff3e0 style D fill:#f3e5f5 style E fill:#e8f5e8 style F fill:#fff3e0 style G fill:#e8f5e8 ``` ### 流程说明 | 步骤 | 名称 | 负责人 | 说明 | |:----:|------|:------:|------| | 1 | 需求分析 | 人工 | 分析COBOL源码结构,明确迁移目标和验收标准 | | 2 | AI方案生成 | AI | 利用AI分析代码,生成迁移方案和测试策略 | | 3 | 人工审核 | 人工 | 审核AI方案的可行性和完整性 | | 4 | AI编码实现 | AI | 根据方案生成代码、测试数据和配置 | | 5 | 测试验证 | 工具+人工 | 运行测试,验证功能和覆盖率 | | 6 | 质量评审 | 人工 | 评审测试结果,确认是否达标 | | 7 | 交付归档 | 人工 | 整理交付物,归档项目文档 | --- ## 二、各阶段详细说明 ### 1. 需求分析 **目标:** 理解COBOL程序的业务逻辑,明确迁移需求 **负责人:** 开发团队 **输入:** - COBOL源代码 - 业务需求文档 - 迁移规范要求 **输出:** - 需求分析报告 - 程序清单(含功能描述) - 验收标准文档 **质量标准:** - 需求覆盖率100% - 程序分类准确(33+2种类型) - 验收标准可量化 **活动:** 1. 阅读COBOL源码,理解业务逻辑 2. 识别程序类型(匹配系/键中断系/条件分支系等) 3. 分析数据流向和文件结构 4. 确定迁移目标和技术约束 5. 编写需求文档和验收标准 --- ### 2. AI方案生成 **目标:** 利用AI生成迁移方案和测试策略 **负责人:** AI(DeepSeek) **输入:** - 需求分析报告 - COBOL源代码 - 程序分类结果 **输出:** - 迁移方案文档 - 测试策略报告 - 技术选型建议 **质量标准:** - 方案完整性检查 - 技术可行性评估 - 测试覆盖率目标明确 **活动:** 1. AI分析COBOL程序结构 2. 生成迁移路径建议 3. 设计测试策略(分支覆盖/MC/DC) 4. 推荐技术方案和工具 5. 输出方案文档供人工审核 --- ### 3. 人工审核 **目标:** 确认AI方案的可行性和完整性 **负责人:** 开发团队 **输入:** - AI生成的迁移方案 - 测试策略报告 **输出:** - 审核意见(通过/修改建议) - 最终确认的方案 **质量标准:** - 技术可行性确认 - 风险识别完整 - 资源评估合理 **活动:** 1. 审核AI方案的技术合理性 2. 评估方案的可行性 3. 识别潜在风险和问题 4. 提出修改建议(如需要) 5. 确认最终方案 **决策点:** - 通过 → 进入步骤4(AI编码实现) - 需要修改 → 返回步骤2(AI方案生成) --- ### 4. AI编码实现 **目标:** 根据审核通过的方案生成代码和测试数据 **负责人:** AI(DeepSeek) **输入:** - 审核通过的迁移方案 - 需求文档 - COBOL源代码 **输出:** - 迁移代码(Python/Java) - 测试数据文件 - 配置文件 - 单元测试脚本 **质量标准:** - 代码规范检查通过 - 测试数据完整性验证 - 配置文件格式正确 **活动:** 1. AI根据方案生成代码 2. 创建测试数据和测试用例 3. 编写配置文件 4. 生成单元测试脚本 5. 输出代码供测试验证 --- ### 5. 测试验证 **目标:** 验证代码功能和测试覆盖率 **负责人:** 工具+人工 **输入:** - 迁移代码 - 测试数据 - 测试脚本 **输出:** - 测试报告(通过/失败) - 覆盖率报告(分支/语句) - 比对结果报告 **质量标准:** - 测试通过率≥95% - 分支覆盖率≥80% - 无严重缺陷 **活动:** 1. 运行单元测试(pytest) 2. 执行集成测试 3. 收集覆盖率数据(gcov) 4. 比对COBOL和Java输出 5. 生成测试报告 **工具:** - pytest(Python测试) - gcov(覆盖率收集) - 自定义比对脚本 --- ### 6. 质量评审 **目标:** 评审测试结果,确认是否达标 **负责人:** 开发团队 **输入:** - 测试报告 - 覆盖率报告 - 比对结果 **输出:** - 评审意见(达标/未达标) - 改进建议(如需要) **质量标准:** - 所有关键指标达标 - 无阻塞性问题 - 风险可控 **活动:** 1. 审查测试报告 2. 分析覆盖率数据 3. 确认比对结果 4. 识别未覆盖的分支 5. 做出质量决策 **决策点:** - 达标 → 进入步骤7(交付归档) - 未达标 → 返回步骤4(AI编码实现,反馈迭代) --- ### 7. 交付归档 **目标:** 整理交付物,归档项目文档 **负责人:** 开发团队 **输入:** - 测试报告 - 覆盖率报告 - 代码和配置文件 - 需求文档 **输出:** - 最终迁移报告 - 代码交付包 - 验证文档 - 项目归档 **质量标准:** - 文档完整 - 代码可追溯 - 归档规范 **活动:** 1. 整理最终报告 2. 打包代码和配置 3. 编写交付说明 4. 归档项目文档 5. 完成项目总结 --- ## 三、流程特点 ### 3.1 人机协作 | 阶段 | 人/AI | 说明 | |------|:-----:|------| | 需求分析 | 人工 | 人工理解业务逻辑 | | 方案生成 | AI | AI分析代码生成方案 | | 方案审核 | 人工 | 人工确认可行性 | | 编码实现 | AI | AI生成代码和测试 | | 测试验证 | 工具 | 自动化测试执行 | | 质量评审 | 人工 | 人工确认质量 | | 交付归档 | 人工 | 人工整理交付 | ### 3.2 质量门禁 | 检查点 | 位置 | 标准 | |--------|------|------| | 方案完整性 | 步骤2→3 | 方案包含所有必要内容 | | 技术可行性 | 步骤3 | 方案技术上可实现 | | 代码规范 | 步骤4 | 代码符合规范要求 | | 测试通过率 | 步骤5 | ≥95% | | 分支覆盖率 | 步骤5 | ≥80% | | 质量达标 | 步骤6 | 所有关键指标达标 | ### 3.3 反馈迭代 ``` 迭代循环: 步骤4 → 步骤5 → 步骤6 → 步骤4 (如未达标) 迭代次数: 通常 1-3 次 最多 5 次(超过需重新评估方案) ``` ### 3.4 可审计性 | 特性 | 说明 | |------|------| | **步骤可追溯** | 每个步骤有明确的输入输出 | | **角色可确认** | 每个步骤有明确的负责人 | | **时间可记录** | 每个步骤的开始和结束时间 | | **产出物可验证** | 每个步骤的产出物可检查 | --- ## 四、流程图(简化版) ``` 需求分析 ──→ AI方案生成 ──→ 人工审核 ──→ AI编码实现 ↑ │ │ │ │ │ │ │ │ ↓ │ ↓ │ (不通过) │ 测试验证 │ │ │ │ │ │ │ ↓ │ │ │ 质量评审 │ │ │ │ │ │ │ │ 达标 │ │ │ ↓ │ │ │ 交付归档 │ │ │ │ └──────────────┴──────────────┴──────────────┘ (未达标时反馈) ``` --- ## 五、与AI使用日志的关系 本流程图定义了开发范式的各个步骤。在实际执行过程中,每个步骤的执行记录会体现在 `_AI_USAGE_LOG.md` 中,包含: - 执行时间 - 执行步骤(对应本流程图的步骤名称) - 修改摘要 - 涉及文件 - 使用的AI模型