4.6 KiB
4.6 KiB
实施计划与任务跟踪
项目:反无人机仿真系统后端
文档版本: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 6:Unity 集成 ⬜
目标:将 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 — 交付就绪 | ✅ |
五、状态图例
| 符号 | 含义 |
|---|---|
| ⬜ | 未开始 |
| 🔄 | 进行中 |
| ✅ | 已完成 |
| ⏸️ | 阻塞 |
| ❌ | 放弃 |