63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
# ODF 光纤配线单元管理系统
|
||
|
||
基于需求分析结果生成的 C++17 工程,提供 ODF 光纤配线单元的标准化数据建模、编码生成、兼容性校验、典型配置管理与项目排期跟踪功能。
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
├── CMakeLists.txt # CMake 构建配置(C++17,MSVC /utf-8 支持)
|
||
├── README.md
|
||
├── include/
|
||
│ └── app.hpp # 核心头文件:数据结构、枚举、ODFManager 类声明
|
||
├── src/
|
||
│ ├── app.cpp # ODFManager 业务逻辑实现
|
||
│ └── main.cpp # 命令行演示入口
|
||
└── tests/
|
||
└── basic_test.cpp # 单元测试(标准库 assert,无外部依赖)
|
||
```
|
||
|
||
## 构建与运行
|
||
|
||
### 前置要求
|
||
|
||
- CMake >= 3.10
|
||
- 支持 C++17 的编译器(GCC 8+, Clang 7+, MSVC 2019+)
|
||
|
||
### 编译步骤
|
||
|
||
```bash
|
||
cd codegen-runs/codegen_0aba9d8655fb4800802d9d53d920a8a4
|
||
mkdir -p build && cd build
|
||
cmake ..
|
||
cmake --build .
|
||
```
|
||
|
||
### 运行主程序
|
||
|
||
```bash
|
||
./odf_manager
|
||
```
|
||
|
||
主程序演示:编码生成、典型配置查询、兼容性校验、标签打印、里程碑排期导出。
|
||
|
||
### 运行单元测试
|
||
|
||
```bash
|
||
./basic_test
|
||
```
|
||
|
||
共 6 个测试用例覆盖:编码生成(含唯一性冲突处理)、适配器兼容性校验、单元注册(含容量约束与重复检测)、典型配置查询、标签与里程碑功能。
|
||
|
||
## 设计要点
|
||
|
||
| 需求 | 实现 |
|
||
|------|------|
|
||
| ODF 单元数据结构 | `ODFUnitInfo` 结构体,包含 ID、型号、位置、制造商、适配器列表 |
|
||
| 适配器接口规格 | `AdapterSpec` 结构体,含接口类型(LC/SC/MPO)、等级(OM1-OS2)、端面(UPC/APC)、插损/回损 |
|
||
| 命名编码规则 | `generate_naming_code()` 格式 `[site]-[cabinet]-[slot]`,长度 ≤ 64 字符,冲突自动去重 |
|
||
| 典型配置方案 | `TypicalConfig` 结构 + `register/get_typical_config` 接口 |
|
||
| 兼容性校验 | `validate_adapter_compatibility()` 按接口类型匹配,允许 UPC ↔ APC 混合 |
|
||
| 项目里程碑 | `Milestone` 结构 + `export_milestone_schedule()` 输出文本表格 |
|
||
| 标签打印 | `print_label()` 生成含文本 + 二维码占位符的标签内容 |
|
||
| 容量约束 | 注册时校验 `max_capacity_cores ≤ 288` |
|