NavisworksTransport/doc/working/PROJECT_分层管理重构计划.md
2025-08-18 23:55:01 +08:00

9.2 KiB
Raw Blame History

NavisworksTransport 分层管理功能重构项目计划

项目概述

项目名称: 分层管理功能重构
版本目标: v2.4.0
开发周期: 4周2025年8月18日 - 2025年9月15日
主要目标: 将复杂的独立对话框模式简化为4个核心功能的页签集成模式

核心需求映射

1. 楼层分析功能 (Floor Analysis Module)

  • 需求描述: 检测模型是否具备层属性,评估按层分解的可行性
  • 技术组件: FloorDetector重构 + 新增分析评估算法
  • 用户界面: 检测结果展示 + 可行性评估报告

2. 设置层属性功能 (Attribute Assignment Module)

  • 需求描述: 为不具备层属性的模型手动设置层属性(支持选择树分支和子节点)
  • 技术组件: AttributeAssignmentService + 选择树交互
  • 用户界面: 树形视图 + 属性编辑器 + 批量分配

3. 分层保存功能 (Layer Export Module)

  • 需求描述: 按楼层或指定属性分层保存为独立nwd文件包含预览功能
  • 技术组件: ModelExportService重构 + PreviewGeneratorService
  • 用户界面: 楼层列表 + 预览面板 + 导出配置

4. 选中保存功能 (Selection Export Module)

  • 需求描述: 将选择树中当前选中内容保存为单独nwd文件
  • 技术组件: 快速导出服务 + 选择状态管理
  • 用户界面: 选择状态显示 + 一键保存按钮

架构设计原则

WPF页签集成策略

  • 集成到现有LogisticsControlPanel的页签系统
  • 采用MVVM模式确保数据绑定和命令模式的一致性
  • 重用现有的ElementHost集成模式

代码重用策略

  • 保留: ModelSplitterManager核心算法约60%代码重用)
  • 重构: FloorDetector轻量化移除复杂配置
  • 新建: AttributeAssignmentService统一属性管理
  • 简化: UI交互流程减少配置步骤

性能优化策略

  • 异步楼层检测避免UI阻塞
  • 增量预览生成,减少重复计算
  • 内存优化的模型导出流程

开发里程碑规划

第一阶段: 架构分析与设计 (第1周: 8月18日-8月24日)

里程碑1.1: 现有代码分析 (2天)

  • 任务: 分析ModelSplitterManager代码架构识别可重用核心算法
  • 交付物: 代码重用评估报告
  • 关键任务:
    • 梳理3500行代码的功能模块
    • 确定算法复用度和简化空间
    • 识别UI复杂度来源

里程碑1.2: 新架构设计 (3天)

  • 任务: 设计4个核心功能模块的WPF页签架构
  • 交付物: 技术架构设计文档 + UI原型
  • 关键任务:
    • MVVM模式的ViewModel层设计
    • 服务层接口定义
    • UI布局和交互流程设计

第二阶段: 核心服务层开发 (第2周: 8月25日-8月31日)

里程碑2.1: 楼层分析服务 (3天)

  • 任务: 重构FloorDetector为轻量级楼层分析服务
  • 交付物: FloorAnalysisService + 单元测试
  • 关键功能:
    • 快速楼层检测算法
    • 分层可行性评估
    • 检测结果数据结构

里程碑2.2: 属性分配服务 (2天)

  • 任务: 创建AttributeAssignmentService层属性分配服务
  • 交付物: AttributeAssignmentService + 集成测试
  • 关键功能:
    • 选择树节点属性批量设置
    • COM API持久化集成
    • 属性继承规则处理

里程碑2.3: 导出服务重构 (2天)

  • 任务: 重构ModelExportService为统一导出服务
  • 交付物: ModelExportService + PreviewGeneratorService
  • 关键功能:
    • 分层导出和选择导出统一接口
    • 预览缩略图生成
    • 进度回调和异常处理

第三阶段: MVVM层和UI开发 (第3周: 9月1日-9月7日)

里程碑3.1: ViewModel层开发 (4天)

  • 任务: 实现4个核心功能模块的ViewModel
  • 交付物: 5个ViewModel类 + 数据绑定测试
  • 关键组件:
    • LayerManagementViewModel (主协调器)
    • FloorAnalysisViewModel (楼层分析)
    • AttributeSettingViewModel (属性设置)
    • LayerSaveViewModel (分层保存)
    • SelectionSaveViewModel (选中保存)

里程碑3.2: WPF视图开发 (3天)

  • 任务: 创建页签式UI界面
  • 交付物: LayerManagementView + 子控件
  • 关键界面:
    • 楼层分析结果展示面板
    • 选择树属性设置界面
    • 分层预览和配置面板
    • 选中保存快捷操作区

第四阶段: 集成测试与优化 (第4周: 9月8日-9月15日)

里程碑4.1: 系统集成 (3天)

  • 任务: 集成到LogisticsControlPanel页签系统
  • 交付物: 完整集成版本
  • 关键任务:
    • 页签注册和生命周期管理
    • 与VisibilityManager协调机制
    • CategoryAttributeManager数据同步

里程碑4.2: 全面测试 (2天)

  • 任务: 功能测试和性能优化
  • 交付物: 测试报告 + 性能优化版本
  • 测试重点:
    • 复杂模型楼层检测准确性
    • 大型模型导出性能
    • UI响应性和稳定性

里程碑4.3: 发布准备 (2天)

  • 任务: 文档更新和版本发布
  • 交付物: v2.4.0正式版本
  • 发布内容:
    • CHANGELOG.md更新
    • VERSION.md版本升级
    • 用户文档更新

任务优先级矩阵

高优先级 (P0) - 核心功能实现

  1. 楼层分析服务重构 (影响所有后续功能)
  2. 导出服务统一化 (2个保存功能的基础)
  3. 主ViewModel架构 (UI开发基础)
  4. 页签集成机制 (用户体验核心)

中优先级 (P1) - 功能完善

  1. 属性分配服务 (手动设置层属性)
  2. 预览生成服务 (用户确认机制)
  3. 选择树UI组件 (属性设置界面)
  4. 分层配置UI (保存选项界面)

低优先级 (P2) - 优化增强

  1. 性能优化 (大型模型处理)
  2. 错误处理增强 (边界情况)
  3. UI细节优化 (用户体验提升)
  4. 文档完善 (维护支持)

风险评估与缓解策略

技术风险

风险1: ModelSplitterManager代码复杂度

  • 风险等级: 高
  • 影响: 重构工作量超预期,影响进度
  • 缓解策略:
    • 第一阶段充分分析现有代码
    • 采用增量重构而非全面重写
    • 保留关键算法逻辑不变

风险2: Navisworks API兼容性

  • 风险等级: 中
  • 影响: 新架构与现有API集成问题
  • 缓解策略:
    • 使用已验证的API调用模式
    • 保持与现有组件的接口一致性
    • 进行充分的集成测试

风险3: 大型模型性能

  • 风险等级: 中
  • 影响: 楼层分析和导出操作响应缓慢
  • 缓解策略:
    • 异步处理避免UI阻塞
    • 进度指示和可取消操作
    • 内存使用优化

项目风险

风险4: 用户需求变更

  • 风险等级: 中
  • 影响: 功能范围扩大,影响交付时间
  • 缓解策略:
    • 明确4个核心功能边界
    • 采用敏捷开发,支持小幅调整
    • 预留10%时间缓冲

风险5: 测试覆盖不足

  • 风险等级: 中
  • 影响: 发布后发现功能缺陷
  • 缓解策略:
    • 每个里程碑包含测试任务
    • 重点测试复杂模型场景
    • 建立回归测试套件

质量控制标准

代码质量标准

  • 代码复用率: ≥60% (基于现有ModelSplitterManager)
  • 单元测试覆盖: ≥80% (新开发的服务层)
  • 性能标准: 楼层检测≤5秒 (1000+构件模型)
  • 内存使用: 导出过程峰值内存≤2GB

用户体验标准

  • 界面响应: UI操作响应≤200ms
  • 操作简化: 核心流程≤3步完成
  • 错误处理: 友好的中文错误提示
  • 预览功能: 导出前必须提供预览确认

集成标准

  • 向后兼容: 不影响现有功能
  • 数据一致: 与CategoryAttributeManager数据同步
  • API稳定: 服务接口支持扩展

交付计划总结

里程碑 完成日期 主要交付物 完成度验收标准
1.1 8月20日 代码分析报告 识别可重用组件≥60%
1.2 8月24日 架构设计文档 UI原型和技术方案评审通过
2.1 8月27日 楼层分析服务 单元测试通过,性能达标
2.2 8月29日 属性分配服务 集成测试通过,数据持久化正常
2.3 8月31日 导出服务重构 功能测试通过,预览生成正常
3.1 9月4日 ViewModel层 数据绑定测试通过,命令响应正常
3.2 9月7日 WPF视图开发 UI功能完整交互流程顺畅
4.1 9月10日 系统集成 页签集成成功,协调机制正常
4.2 9月12日 全面测试 功能测试100%通过,性能达标
4.3 9月15日 v2.4.0发布 版本文档完整,可正式发布

成功指标

功能完整性

  • 4个核心功能模块100%实现
  • 楼层分析准确率≥95%
  • 属性设置成功率100%
  • 分层保存功能稳定运行
  • 选中保存操作便捷可靠

用户体验提升

  • 操作步骤减少≥50% (相比原独立对话框)
  • 界面集成度提升 (页签模式)
  • 预览功能提供直观确认
  • 错误提示清晰友好

技术指标

  • 代码重用率≥60%
  • 新增代码行数≤2000行
  • 内存使用优化≥30%
  • 响应时间提升≥40%

项目经理: Claude Code AI Assistant
技术负责: NavisworksTransport开发团队
文档版本: v1.0
最后更新: 2025年8月18日