Appearance
非功能需求
NFR-01 可用性与易用性
- Dashboard 操作不超过 3 次点击完成核心流程(选择场景/策略 -> Start -> 查看曲线)
- 运行状态清晰可见(Running/Stopped/Failed),失败有明确原因与重试提示
NFR-02 响应性与实时性
- 关键操作(Start/Stop)1s 内有可见反馈
- 指标刷新周期建议 ≤ 1s(WS 推送或轮询)
NFR-03 可视化能力
- 至少 4 条实时曲线:吞吐、时延 p95、丢包率、sync_error
- 至少 1 个拓扑/节点状态视图(可先用 2D 简化)
NFR-04 可复现性
- 同一场景 + 同一 seed + 同一策略参数,重复运行结果一致(或方差可解释)
- 每次 run 必须落盘
versions.json,记录可复现所需信息
NFR-05 可维护性与扩展性
- UNET 相关逻辑隔离在
UnetAdapter;调度策略以插件化接口扩展 - 数据落盘格式稳定(CSV/JSON),便于后续接入数据库或替换前端
NFR-06 环境与依赖
- 开发环境:Windows 10/11;Python 3.10+;Node.js 18+;Git
- 部署环境(建议):Linux(Ubuntu 20.04+);CPU >= 2 核;内存 >= 4GB;磁盘 >= 50GB
NFR-07 日志与可观测性
- 关键阶段必须有结构化日志:run 创建/启动/停止、step 进度、调度决策、异常
- traces/metrics 生成失败时需给出原因与最小诊断信息