完成时间:大三上
开源地址
https://github.com/MingLeaf/SoftwareEngineering.git
系统概述
本项目要开发一个故障失效分析 AI 助手,为机械故障分析师提供合适的解决方案,重点在对故障数据的检索。主要功能是故障的失效分析及解决方案的查询与阅览。预期结果是在制造过程中出现故障时,通过使用故障失效分析 AI 助手得到解决方案并实施,最终修复故障。性能方面要求准确率不低于 50%且越高越好,UI 页面简单便于使用。
设计策略
(1)“可复用”:在数据类型变更后,保持数据格式不变,系统可作为其他领域的 AI 分析助手。
(2)”采用分层架构 B/S 架构,采取浏览器请求,服务器响应的工作模式。
工作流程:
- 客户端发送请求: 用户在客户端【浏览器页面】提交表单操作,向服务器发送请求,等待服务器响应;
- 服务器端处理请求: 服务器端接收并处理请求,应用服务器端通常使用服务器端技
术,如 JSP 等,对请求进行数据处理,并产生响应; - 服务器端发送响应: 服务器端把用户请求的数据返回给浏览器。
- 浏览器解释执行 HTML 文件,呈现用户界面。
系统结构
模块结构:
设计约束
- Web 框架:Bootstrap(前端)、Spring(后端)
- 开发语言:JavaScript、Java、Python
- 开发工具:VSCode、IDea、PyCharm、Anaconda Navigator、Navicat 15 for MySQL
- 开发测试浏览器:Google Chrome
系统效率优化设计
在系统投入使用后,系统正常运行,所提供的解决方案准确率大于 50%,系统可以在后续通过学习(网络,用户反馈与录入)实现知识自增长,不断完善,提高准确率,在准确与速度方面达到一个平衡水平。
系统安全性设计
- 对数据库的密码信息进行 MD5 加密
- 设置过滤器防止用户通过修改 url 直接访问跳过登录
开发、运行环境设计
类别 | 配置名称 |
---|---|
硬件配置 | :品牌型号:华硕飞行堡垒 8 CPU:intel i7 内存:16GB |
操作系统及版本 | Windows11 |
开发工具及版本 | IDEA2022、MySQL8.0.28、Navicat 15 for MySQL |
其它软件及版本 | FireFox2022 |
UI设计
用户登录注册界面
用户注册:
用户登录:
管理员登录界面
用户查询故障界面
查询结果:
管理员新增故障分析方案界面
管理员删除错误方案界面
删除后:
用户报告故障
类设计(面向对象)
面向机器故障分析AI助手分四个类。分别为机器故障分析保障师(Operator)、故障信息(Faultinfo)、解决方案信息(Solutioninfo)、信息序列(Sequence)。其中Operator为使用者的信息以及操作;信息包括使用者名称与密码,操作有查询、提交、选择,分别为对故障信息查询解决方案、提交解决的情况、选择的解决方案。Faultinfo为寻找解决方案的故障的信息;Solutioninfo为解决方案的信息;Sequence为信息记录的序列版本号。
数据存储策略(数据库表结构设计
故障类列表:
字段 | 类型 | 长度 | 采集方式 |
---|---|---|---|
故障类别编号 | 文本 | 20 | 人工采集 |
故障类别名称 | 文本 | 20 | 人工采集 |
备注 | 文本 | 50 | 人工采集 |
用户信息表:
字段 | 类型 | 长度 | 采集方式 |
---|---|---|---|
用户编号 | 文本 | 20 | 人工采集 |
用户姓名 | 文本 | 10 | 人工采集 |
用户状态 | 文本 | 2 | 人工采集 |
注册日期 | 时间/日期 | / | 人工采集 |
提交故障次数 | 整型 | 10 | 人工采集 |
联系电话 | 文本 | 20 | 人工采集 |
用户密码 | 文本 | 15 | 人工采集 |
备注 | 文本 | 50 | 人工采集 |
故障信息表:
字段 | 类型 | 长度 | 采集方式 |
---|---|---|---|
故障编号 | 文本 | 20 | 人工采集 |
故障名称 | 文本 | 50 | 人工采集 |
故障原因 | 文本 | 20 | 人工采集 |
故障提交时间 | 时间/日期 | / | 人工采集 |
内容简介 | 整型 | 100 | 人工采集 |
备注 | 文本 | 50 | 人工采集 |