CounterDroneBackend/docs/implementation/tasks/实施计划与任务跟踪.md

167 lines
4.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# 实施计划与任务跟踪
> **项目**:反无人机仿真系统后端
> **文档版本**V1.1
> **更新日期**2026-06-11
---
## 一、阶段总览
```
Phase 1 ✅ 核心基础
Phase 2 ✅ 想定管理
Phase 3 ✅ 算法层
Phase 4 ✅ 仿真引擎
Phase 5 ✅ 报告生成
Phase 6 ⬜ Unity 集成(需 Unity 22.3.62
Phase 7 ✅ 打磨收尾
────────────────────────
已完成 P1-P5 + P7
```
---
## 二、各阶段详情
### Phase 1核心基础 ✅
**目标**:搭建项目骨架,数据层可读写,单元测试全绿。
**测试**27 个
| # | 任务 | 状态 |
|---|------|------|
| 1.1-1.12 | 项目骨架、枚举、数据模型、Repository、ModelService/GroupService、单元测试 | ✅ |
---
### Phase 2想定管理 ✅
**目标**:仿真任务的完整 CRUD + 5 步配置保存/加载 + 搜索分页。
**测试**20 个
| # | 任务 | 状态 |
|---|------|------|
| 2.1-2.14 | 8 个 Repository、ScenarioService、搜索分页、输入校验、单元测试 | ✅ |
---
### Phase 3算法层 ✅
**目标**:高斯烟团扩散模型、三种毁伤模型、防御推荐算法全部实现。
**测试**26 个
| # | 任务 | 状态 |
|---|------|------|
| 3.1-3.12 | GaussianPuffDispersion、InertGas/ActiveMaterial/ActiveFuel 毁伤模型、DefaultDefenseAdvisor、AlgorithmFactory | ✅ |
**关键设计变更**
- 推荐算法由弹药规格驱动,查库选型
- 计算多轮次云团CloudSalvo确保覆盖率
- 输入校验:无目标/无航路/弹药缺失时返回失败原因
- Kinematics 工具类:抛物线弹道、风矢量、多边形判定
---
### Phase 4仿真引擎 ✅
**目标**:完整仿真引擎 + 集成测试。
**测试**11 个
| # | 任务 | 状态 |
|---|------|------|
| 4.1-4.16 | 6 个实体类、FireSchedule 发射计划、FrameDataStore 分库、Pause/Resume/Stop、集成测试 | ✅ |
**关键设计变更**
- 引擎重构为纯执行器:`SetFireSchedule()` 接收计划,不包含任何决策
- `TimeScale` 属性支持加速仿真(集成测试 4 倍速)
- 弹道飞行时间用 `Kinematics` 真实计算
- 集成测试4 个端到端场景全通过NoDefense/ZoneIntrusion/Piston/Jet
---
### Phase 5报告生成 ✅
**目标**:仿真结束后自动生成 Markdown 报告并导出文件。
**测试**7 个
| # | 任务 | 状态 |
|---|------|------|
| 5.1-5.8 | ReportGenerator、ReportService、ExportToFile、搜索分页、单元测试 | ✅ |
**注**PDF/Word 导出暂以 Markdown 替代,后续可扩展。
---
### Phase 6Unity 集成 ⬜
**目标**:将 Core.dll 集成到 Unity实现完整运行链路。
**前置条件**:安装 Unity Hub + Editor 22.3.62
| # | 任务 | 预估 | 状态 |
|---|------|------|------|
| 6.1 | 创建 Unity 项目,导入 Core.dll | 1h | ⬜ |
| 6.2 | 实现 `UnityPathProvider` | 1h | ⬜ |
| 6.3 | 实现 `ModelManager` | 3h | ⬜ |
| 6.4 | 实现 `ScenarioManager`5 步向导) | 4h | ⬜ |
| 6.5 | 实现 `SimulationRunner`Update 驱动) | 3h | ⬜ |
| 6.6 | 实现 `ReplayController`(协程回放) | 3h | ⬜ |
| 6.7 | 实现 `ReportManager` | 2h | ⬜ |
| 6.8 | 3D 实体可视化 | 4h | ⬜ |
| 6.9 | 粒子系统参数传递 | 3h | ⬜ |
| 6.10 | 端到端联调 | 6h | ⬜ |
---
### Phase 7打磨收尾 ✅
| # | 任务 | 状态 |
|---|------|------|
| 7.1 | 性能优化 | ⬜(非关键,实体少时自然 < 5ms |
| 7.2 | TTL 清理FrameDataStore.CleanupExpired + 测试 | |
| 7.3 | 边界测试空部署/强风/超长航路/空基弹药 | |
| 7.4 | 错误处理加固 | ⬜(基本校验已有 |
| 7.5 | 测试覆盖率 | 95.4% / 80.5% 分支 |
| 7.6 | README + API XML 文档 | |
| | 死代码清理DetectionEntity, EventQueue | |
| | 代码格式化.editorconfig + dotnet format | |
---
## 三、最终指标
| 指标 | |
|------|------|
| 测试总数 | **128** |
| 行覆盖率 | **95.4%** |
| 分支覆盖率 | **80.5%** |
| 执行时间 | ~9 |
| 项目文件 | `CounterDrone.Core.dll` (.NET Standard 2.1) |
| Unity 依赖 | 可脱离 Unity 独立运行和测试 |
---
## 四、里程碑
| 里程碑 | 状态 |
|------|------|
| M1 数据层就绪 | |
| M2 想定可配置 | |
| M3 算法可计算 | |
| M4 仿真可运行 | |
| M5 报告可生成 | |
| M6 Unity 可演示 | |
| M7 交付就绪 | |
---
## 五、状态图例
| 符号 | 含义 |
|------|------|
| | 未开始 |
| 🔄 | 进行中 |
| | 已完成 |
| | 阻塞 |
| | 放弃 |