项目 / Portfolio
SETB 智能电子测试台数据分析系统
EL2311 课程项目 · C# WinForms
一个面向工业电子设备的测试数据管理系统。支持批量导入 XML 格式的测试数据,自动判断故障状态并生成报告,提供双角色权限——操作员用于日常测试,管理员可执行自定义查询。
- 用户角色
- 2
- 故障预警规则
- 8
- 层 SQL 安全校验
- 2
- 触发锁定
- 5次
- 字体缩放
- 5级
做这个的原因
工业电子设备的测试场景里,传统的人工记录和人工分析方式应付不了批量测试数据。这个系统把导入、解析、存储、故障判断、报表生成整个流程走通,减少人工分析的工作量。
双角色权限
系统预设操作员和管理员两组固定账号,登录后跳转到各自的功能界面,实现权限隔离。针对暴力破解,连续登录失败 5 次后会锁定 30 秒,锁定状态写入本地文件持久化——即使重启程序也读取锁定记录,不能靠重启绕过限制。
数据导入与容错
导入 XML 前先校验文件格式;解析节点时用空值合并运算符处理缺失字段,避免单个节点缺失导致整个解析崩溃;单条数据解析失败时跳过并计数,不影响其余数据的导入。解析完成后通过事务批量写入 SQLite,保证写入的完整性和效率。
故障诊断
所有故障和预警的判断规则集中存放在一个静态配置类里,包含 6 条故障规则和 2 条预警规则。判断逻辑封装在数据模型的只读属性中,业务代码不需要重复编写判断逻辑,修改阈值只需要改配置类,不涉及业务代码。
并发状态与安全查询
系统能正确识别同一天内"正常→高温预警→过热与断电双重故障→恢复正常"这类复杂状态切换,时间线上分别标出故障和预警。管理员的自定义 SQL 查询做了两层校验——界面层先拦截包含 DELETE、DROP、UPDATE 等关键字的语句,数据库层再校验一次,即使绕过界面校验也会在数据库层被拦下,只允许只读查询。
架构设计
系统按表现层、服务层、数据模型层、工具层分层设计。核心类图展示了各层职责边界,以及类之间的继承、组合和依赖关系。
核心业务流程
三个核心场景的时序图:用户登录与权限校验、操作员导入数据生成报表、管理员执行只读查询。
其他细节
系统实现了统一的深色主题,递归遍历表单自动识别所有控件类型并应用对应样式,不需要逐个控件单独设置。同时支持报表和数据表格最多 5 级的字体缩放,提升视觉障碍用户的可访问性。
阈值设计依据
阈值判断基于设备物理特性设定:电压安全区间 3.0–5.5V,电流故障阈值 >2.0A,温度预警 70–80°C、故障 >80°C,功耗预警 >5.0W,电量 0% 直接判定故障,通信错误率 >0.15 判定故障。这些数值参考了主流 MCU 的标准逻辑电平和半导体器件的结温上限。