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

4.6 KiB
Raw Blame History

实施计划与任务跟踪

项目:反无人机仿真系统后端
文档版本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 实现 ScenarioManager5 步向导) 4h
6.5 实现 SimulationRunnerUpdate 驱动) 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 — 交付就绪

五、状态图例

符号 含义
未开始
🔄 进行中
已完成
⏸️ 阻塞
放弃