7.9 KiB
7.9 KiB
开发范式流程图
本文档定义 COBOL 迁移验证平台的开发工作流,用于展示团队的开发范式。
一、开发流程概览
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种类型)
- 验收标准可量化
活动:
- 阅读COBOL源码,理解业务逻辑
- 识别程序类型(匹配系/键中断系/条件分支系等)
- 分析数据流向和文件结构
- 确定迁移目标和技术约束
- 编写需求文档和验收标准
2. AI方案生成
目标: 利用AI生成迁移方案和测试策略
负责人: AI(DeepSeek)
输入:
- 需求分析报告
- COBOL源代码
- 程序分类结果
输出:
- 迁移方案文档
- 测试策略报告
- 技术选型建议
质量标准:
- 方案完整性检查
- 技术可行性评估
- 测试覆盖率目标明确
活动:
- AI分析COBOL程序结构
- 生成迁移路径建议
- 设计测试策略(分支覆盖/MC/DC)
- 推荐技术方案和工具
- 输出方案文档供人工审核
3. 人工审核
目标: 确认AI方案的可行性和完整性
负责人: 开发团队
输入:
- AI生成的迁移方案
- 测试策略报告
输出:
- 审核意见(通过/修改建议)
- 最终确认的方案
质量标准:
- 技术可行性确认
- 风险识别完整
- 资源评估合理
活动:
- 审核AI方案的技术合理性
- 评估方案的可行性
- 识别潜在风险和问题
- 提出修改建议(如需要)
- 确认最终方案
决策点:
- 通过 → 进入步骤4(AI编码实现)
- 需要修改 → 返回步骤2(AI方案生成)
4. AI编码实现
目标: 根据审核通过的方案生成代码和测试数据
负责人: AI(DeepSeek)
输入:
- 审核通过的迁移方案
- 需求文档
- COBOL源代码
输出:
- 迁移代码(Python/Java)
- 测试数据文件
- 配置文件
- 单元测试脚本
质量标准:
- 代码规范检查通过
- 测试数据完整性验证
- 配置文件格式正确
活动:
- AI根据方案生成代码
- 创建测试数据和测试用例
- 编写配置文件
- 生成单元测试脚本
- 输出代码供测试验证
5. 测试验证
目标: 验证代码功能和测试覆盖率
负责人: 工具+人工
输入:
- 迁移代码
- 测试数据
- 测试脚本
输出:
- 测试报告(通过/失败)
- 覆盖率报告(分支/语句)
- 比对结果报告
质量标准:
- 测试通过率≥95%
- 分支覆盖率≥80%
- 无严重缺陷
活动:
- 运行单元测试(pytest)
- 执行集成测试
- 收集覆盖率数据(gcov)
- 比对COBOL和Java输出
- 生成测试报告
工具:
- pytest(Python测试)
- gcov(覆盖率收集)
- 自定义比对脚本
6. 质量评审
目标: 评审测试结果,确认是否达标
负责人: 开发团队
输入:
- 测试报告
- 覆盖率报告
- 比对结果
输出:
- 评审意见(达标/未达标)
- 改进建议(如需要)
质量标准:
- 所有关键指标达标
- 无阻塞性问题
- 风险可控
活动:
- 审查测试报告
- 分析覆盖率数据
- 确认比对结果
- 识别未覆盖的分支
- 做出质量决策
决策点:
- 达标 → 进入步骤7(交付归档)
- 未达标 → 返回步骤4(AI编码实现,反馈迭代)
7. 交付归档
目标: 整理交付物,归档项目文档
负责人: 开发团队
输入:
- 测试报告
- 覆盖率报告
- 代码和配置文件
- 需求文档
输出:
- 最终迁移报告
- 代码交付包
- 验证文档
- 项目归档
质量标准:
- 文档完整
- 代码可追溯
- 归档规范
活动:
- 整理最终报告
- 打包代码和配置
- 编写交付说明
- 归档项目文档
- 完成项目总结
三、流程特点
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模型