30 lines
17 KiB
JSON
30 lines
17 KiB
JSON
{
|
||
"projectId": 83,
|
||
"generationId": "codegen_6d86f8e27b034f19a3c48454544db10c",
|
||
"language": "C++",
|
||
"status": "completed",
|
||
"fileIds": [
|
||
1226
|
||
],
|
||
"outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_6d86f8e27b034f19a3c48454544db10c",
|
||
"relativeOutputDir": "codegen-runs/codegen_6d86f8e27b034f19a3c48454544db10c",
|
||
"generatedFiles": [
|
||
"CMakeLists.txt",
|
||
"README.md",
|
||
"events.ndjson",
|
||
"include/app.hpp",
|
||
"src/app.cpp",
|
||
"src/main.cpp",
|
||
"tests/basic_test.cpp"
|
||
],
|
||
"analysisSummary": "好的,作为需求分析助手,我已根据您提供的《软件设计说明书》文档,提炼出代码工程生成所需的关键信息。以下为结构化分析结果。\n\n### 业务目标\n\n设计并实现一个“总线网络测试验证软件 (BNTVS_SW)”,作为“机载总线网络测试验证系统”的核心控制与数据处理软件。该软件运行在总线节点计算机和存储服务计算机上,旨在通过统一的用户界面,提供对机载通信总线(以太网、RS422、CAN、模拟量/离散量)的实时监听、协议解析、数据存储、故障诊断、故障注入、性能测试及数据管理与回放等功能,用于在地面环境中验证机载通信设备的功能、性能、可靠性及兼容性。\n\n### 功能清单\n\n根据文档第5章“CSCI详细设计”,软件包含以下9个核心功能单元:\n\n1. **基础通用通信单元 (SU-COM)**:实现以太网、RS422、CAN、模拟量和离散量的多总线并发基础通信,支持帧解析、ID过滤、波特率适配、错误帧处理、睡眠唤醒及总线负载监控。\n2. **协议兼容单元 (SU-PROT)**:实现CAN2.0与CANFD协议的自动识别、切换适配,以及标准帧/扩展帧的格式兼容转换,确保数据转发一致性。\n3. **数据存储单元 (SU-STOR)**:根据用户策略,将总线通信数据按时间顺序持久化存储到文件系统,支持自动分段存储,监控磁盘容量并在满时触发告警及覆盖最旧数据。\n4. **数据管理与回放单元 (SU-REPLAY)**:提供历史数据的检索、删除、导出等管理功能,并能按原始时序、可调速度将存储数据回放到总线分析单元。\n5. **总线路由单元 (SU-ROUTE)**:实现以太网与CAN网络间的数据转发交换和路由寻址(支持静态/动态路由),以及以太网-CAN协议的转换适配。\n6. **总线分析单元 (SU-ANALY)**:提供总线实时监听、协议解析(CANFD/CAN2.0)、故障诊断(位错误、CRC错误等)、网络状态监视(刷新率≥1Hz)及数据统计回放等功能。\n7. **故障注入单元 (SU-FAULT)**:支持向目标总线注入短路/断路、电磁干扰、错误帧、节点离线/异常接入及波特率异常波动等故障,以测试系统容错能力。\n8. **信号转换单元 (SU-CONV)**:将离散量和模拟量信号进行数字化处理,并转换为网络总线、RS422或CAN总线信号,支持接口扩展。\n9. **总线测试分析单元 (SU-TEST)**:执行40m内及40m以上总线的传输延迟、吞吐量、丢包率等性能测试,以及长时间满负荷(≥24小时)的稳定性测试,并生成报告。\n\n### 数据结构\n\n**业务数据存储方案**:使用MySQL关系数据库管理结构化业务数据,采用对象存储系统管理非结构化文件数据。\n\n**核心数据库表设计**:\n\n1. **总线数据记录表 (业务流程)**:\n - 记录ID (record_id): BIGINT, Private\n - 总线类型 (bus_type): VARCHAR(20), Private\n - 时间戳 (timestamp): DATETIME(6), Private\n - 帧ID (frame_id): INT, Private\n - 数据长度 (data_length): INT, Private\n - 数据内容 (data_content): BLOB, Private\n - 协议类型 (protocol_type): VARCHAR(20), Private\n - 采集节点 (node_id): VARCHAR(50), Private\n - 创建时间 (create_time): DATETIME, Private\n\n2. **路由表 (总线路由单元)**:\n - 路由ID (route_id): INT, Private\n - 目标网络 (dest_network): VARCHAR(20), Private\n - 子网掩码 (netmask): VARCHAR(20), Private\n - 下一跳地址 (next_hop): VARCHAR(20), Private\n - 出接口 (out_interface): VARCHAR(20), Private\n - 路由优先级 (priority): INT, Private\n - 路由类型 (route_type): VARCHAR(10), Private\n\n**文件数据存储目录结构**:\n- 一级 `/data/`\n- 二级 `/YYYYMMDD/`\n- 三级 `/BUS_TYPE/`\n- 文件 `/HHMMSS_SEQ.bin`\n\n### 接口或命令\n\n**外部接口**:\n\n- **IFC-ETH-001 (以太网接口)**:与以太网设备通信,使用TCP/IP、UDP协议,全双工,千兆速率,支持IEEE 802.3标准。\n- **IFC-RS422-001 (RS422接口)**:与RS422设备通信,使用RS422异步串行协议,全双工,波特率自适应。\n- **IFC-CAN-001 (CAN接口)**:与CAN总线设备通信,使用CAN2.0B/CANFD协议,半双工,波特率5K~1Mbps可调。\n- **IFC-AN-DI-001 (信号采集接口)**:与模拟量/离散量设备交互,模拟量0~10V,12位精度;离散量0/5V TTL电平,支持48路I/O。\n- **IFC-COM-STOR-001 (数据通信接口)**:与存储服务计算机通信,使用以太网TCP/IP,全双工,千兆速率。\n- **IFC-GUI-001 (图形用户界面接口)**:与用户交互,遵循Windows/Linux窗口系统协议,事件驱动。\n\n**内部命令/接口**(数据流/控制流):\n\n- 各单元间通过内部接口传递数据或命令,如 `IFC-DATA-OUT`(基础通用通信单元输出)、`IFC-LISTEN-CMD`(启动/停止监听命令)、`IFC-INJECT-CMD`(故障注入指令)、`IFC-REQ-QUERY`(查询条件)、`IFC-REQ-REPLAY`(回放指令)等。\n\n### 约束\n\n1. **运行环境**:部署在Windows 11 Pro和Ubuntu 20.04 LTS双系统上,硬件要求≥Intel Core i7-14700K CPU、≥64GB DDR5 4800MHz内存、≥2TB NVMe SSD + 8TB HDD存储、NVIDIA RTX5070显卡。存储服务计算机配置相同。\n2. **性能约束**:\n - 基础通用通信:多总线并发处理延迟 ≤ 1ms。\n - 协议转换:总线路由协议转换时延 ≤ 1μs。\n - 以太网交换容量:千兆,≥24口,全线速无阻塞转发。\n - CAN接口:≥8路CANFD接口。\n - 网络状态监视刷新率 ≥ 1Hz。\n - 信号转换延迟 ≤ 1ms。\n - 长时间满负荷测试时长 ≥ 24h。\n3. **安全性约束**:遵循纵深防御原则,实施身份认证、基于角色的访问控制、输入数据格式校验、会话管理(超时自动注销)。\n4. **质量约束**:需满足可靠性(故障隔离、参数校验、错误日志)、维护性(模块化、统一编码规范、日志记录、健康检查)、测试性(内置测试模式、模块测试接口、硬件在环测试支持)和环境适应性(抗高温/低温/震动/腐蚀/粉尘)要求。\n5. **技术标准**:遵循GJB438C-2021《军用软件开发文档通用要求》及ARINC825等规范。\n\n### 测试建议\n\n根据文档第3.5节“软件性能设计决策”和第3.6.4节“测试性设计决策”,测试建议如下:\n\n- **测试方向**:聚焦于多总线并发处理能力、数据存储与回放性能、总线监听捕获速率、路由转发性能、故障注入响应时间、长时间满负荷运行稳定性。\n- **测试场景**:\n - **单元测试**:对每个软件单元(SU-COM至SU-TEST)进行独立测试,通过模块测试接口输入预设数据,验证输出结果的正确性。\n - **集成测试**:测试单元间接口(如基础通信单元与协议兼容单元、数据存储单元的交互)和数据流是否正确。\n - **系统测试**:\n - 性能测试:使用LoadRunner或Apache JMeter模拟高并发场景,验证性能指标是否达标。\n - 压力测试:进行长时间(≥24小时)满负荷运行,观察系统稳定性。\n - 安全测试:验证身份认证、权限验证、输入校验等安全机制是否生效。\n - 故障注入测试:利用系统自身的故障注入单元或外部设备,模拟各种总线故障,验证系统的容错和告警能力。\n- **测试工具**:推荐使用LoadRunner(企业级负载测试)或Apache JMeter(开源接口/稳定性测试)。\n- **测试性设计配合**:利用系统内置的“测试模式”,通过序列化接口获取详细日志和中间结果,辅助问题定位。\n\n---\n\n### 需求可追踪性明细\n\n以下为严格依据文档“表23 软件设计说明–软件需求规格说明追踪表”提取的需求追踪信息,确保每个需求标识均取自“CSCI需求标识(SRS-F-…)”列。\n\n| 需求标识 | 需求名称 | 需求描述 | 来源文档 | 建议实现/验证层 |\n| :--- | :--- | :--- | :--- | :--- |\n| **SRS-F-01-001** | 基础通用通讯功能 | 实现以太网、RS422、CAN、模拟量、离散量的基本通讯。 | 文档 1226:软件设计说明书.docx | 系统集成/系统测试 |\n| **SRS-F-01-002** | 协议兼容功能 | 实现CAN2.0与CANFD协议兼容、切换和转发一致性。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-01-003** | CPU配置要求 | 总线节点计算机CPU配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-004** | 内存配置要求 | 总线节点计算机内存配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-005** | 硬盘配置要求 | 总线节点计算机硬盘配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-006** | 显卡配置要求 | 总线节点计算机显卡配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-007** | 接口配置要求 | 总线节点计算机接口配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-008** | 显示器配置要求 | 总线节点计算机显示器配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-01-009** | 系统部署要求 | 总线节点计算机系统部署要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-001** | 数据存储功能 | 实现通信数据的持久化存储和管理。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-02-002** | 数据管理与数据回放功能 | 支持历史数据的检索、管理和按需回放。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-02-003** | CPU配置要求(存储服务) | 存储服务计算机CPU配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-004** | 内存配置要求(存储服务) | 存储服务计算机内存配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-005** | 硬盘配置要求(存储服务) | 存储服务计算机硬盘配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-006** | 显卡配置要求(存储服务) | 存储服务计算机显卡配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-007** | 接口配置要求(存储服务) | 存储服务计算机接口配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-008** | 显示器配置要求(存储服务) | 存储服务计算机显示器配置要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-02-009** | 系统部署要求(存储服务) | 存储服务计算机系统部署要求。 | 文档 1226:软件设计说明书.docx | 系统部署/验证 |\n| **SRS-F-06-001** | 信号转换功能 | 将离散量和模拟量信号转换为总线信号。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-06-002** | 离散量接入数量要求 | 离散量接入数量要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-003** | 模拟量接入数量要求 | 模拟量接入数量要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-004** | 总线接口数量要求 | 总线接口数量要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-06-005** | 模拟量离散量转总线信号功能 | 实现模拟量/离散量向总线信号的转换。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-06-006** | 接口扩展功能 | 支持未来更多接口的需求扩展。 | 文档 1226:软件设计说明书.docx | 设计评审 |\n| **SRS-F-07-001** | 数据转发交换功能 | 实现数据转发交换功能。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-002** | 路由寻址功能 | 实现路由寻址功能。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-003** | 以太网-CAN协议转换适配功能 | 实现以太网与CAN协议间的转换适配。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-004** | 以太网交换容量要求 | 以太网交换容量要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-005** | 网络端口速率要求 | 网络端口速率要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-006** | CAN接口要求 | CAN接口要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-07-007** | 路由功能要求 | 支持静态路由和动态路由协议。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-07-008** | 转发时延要求 | 协议转换时延要求。 | 文档 1226:软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-09-001** | 总线实时监听功能 | 实现总线实时监听。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-002** | 协议解析解码功能 | 实现协议解析解码。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-003** | 故障诊断分析功能 | 实现故障诊断分析。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-004** | 波形与时序分析功能 | 实现波形与时序分析。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-005** | 数据统计回放功能 | 实现数据统计回放。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-006** | 网络状态监视功能 | 实现网络状态监视。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-007** | 支持协议要求 | 支持CANFD和CAN2.0协议。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-008** | 波特率范围要求 | 支持的波特率范围要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-009** | 采样精度要求 | 采样精度要求。 | 文档 1226:软件设计说明书.docx | 系统验证 |\n| **SRS-F-09-010** | 报文捕获速率要求 | 报文捕获速率要求。 | 文档 1226:软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-09-011** | 错误帧识别要求 | 要求识别位错误、CRC错误等。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-09-012** | 数据回放精度要求 | 数据回放精度要求。 | 文档 1226:软件设计说明书.docx | 系统测试/验证 |\n| **SRS-F-10-001** | 40m内总线测试分析功能 | 实现40m内总线传输性能测试分析。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-10-002** | 40m以上总线测试分析功能 | 实现40m以上含中继总线的测试分析。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-10-003** | 长时间满负荷测试分析功能 | 实现长时间满负荷运行、重复启停等测试分析。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-001** | 总线短路/断路注入 | 实现总线短路、断路故障注入。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-002** | 电磁干扰注入 | 实现电磁干扰故障注入。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-003** | 错误帧注入 | 实现错误帧故障注入。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-004** | 节点离线/异常接入 | 实现节点离线、异常接入故障注入。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |\n| **SRS-F-12-005** | 波特率异常波动注入 | 实现波特率异常波动故障注入。 | 文档 1226:软件设计说明书.docx | 单元/集成/系统测试 |",
|
||
"eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_6d86f8e27b034f19a3c48454544db10c\\events.ndjson",
|
||
"repoSettings": {
|
||
"username": "root",
|
||
"password": "pAssW0rd",
|
||
"repoUrl": "http://47.108.255.216:3000/root/document_generate.git",
|
||
"branch": "main"
|
||
},
|
||
"repoUrl": "http://47.108.255.216:3000/root/document_generate.git",
|
||
"branch": "main"
|
||
} |