Files
cobol-java-v3/docs/development-paradigm.md
T

346 lines
7.9 KiB
Markdown
Raw 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.
# 开发范式流程图
> 本文档定义 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生成迁移方案和测试策略
**负责人:** AIDeepSeek
**输入:**
- 需求分析报告
- 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编码实现
**目标:** 根据审核通过的方案生成代码和测试数据
**负责人:** AIDeepSeek
**输入:**
- 审核通过的迁移方案
- 需求文档
- COBOL源代码
**输出:**
- 迁移代码(Python/Java
- 测试数据文件
- 配置文件
- 单元测试脚本
**质量标准:**
- 代码规范检查通过
- 测试数据完整性验证
- 配置文件格式正确
**活动:**
1. AI根据方案生成代码
2. 创建测试数据和测试用例
3. 编写配置文件
4. 生成单元测试脚本
5. 输出代码供测试验证
---
### 5. 测试验证
**目标:** 验证代码功能和测试覆盖率
**负责人:** 工具+人工
**输入:**
- 迁移代码
- 测试数据
- 测试脚本
**输出:**
- 测试报告(通过/失败)
- 覆盖率报告(分支/语句)
- 比对结果报告
**质量标准:**
- 测试通过率≥95%
- 分支覆盖率≥80%
- 无严重缺陷
**活动:**
1. 运行单元测试(pytest
2. 执行集成测试
3. 收集覆盖率数据(gcov
4. 比对COBOL和Java输出
5. 生成测试报告
**工具:**
- pytestPython测试)
- 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模型