实验室管理现代化:Spring Boot技术方案

ops/2024/11/25 21:52:22/

4系统概要设计
4.1概述
本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:
在这里插入图片描述

图4-1系统工作原理图
4.2系统结构
本系统是基于B/S架构的网站系统,设计的功能结构图如下图所示:
在这里插入图片描述

图4-2功能结构图

4.3.数据库设计
4.3.1数据库实体
概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。
概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映学生信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:
(1)管理员信息的实体属性图如下:
在这里插入图片描述
在这里插入图片描述

图4.12 管理员信息实体属性图
(2)学生信息实体属性图如图4.13所示:
在这里插入图片描述

图4.13 学生信息实体属性图
(3)教师信息实体属性图如图4.14所示:
在这里插入图片描述

图4.14 教师信息实体属性图
4.3.2数据库设计表
实验室管理系统需要后台数据库,下面介绍数据库中的各个表的详细信息:

表4.1 采购记录
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shebeibianhao varchar(200) 是 NULL 设备编号
shebeimingcheng varchar(200) 是 NULL 设备名称
xinghao varchar(200) 是 NULL 型号
caigoushuliang int(11) 否 采购数量
caigoujiage int(11) 否 采购价格
caigougongsi varchar(200) 否 采购公司
caigouriqi date 是 NULL 采购日期
beizhu longtext 是 NULL 备注
表4.2 公告信息评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.3 实验课程评论表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
refid bigint(20) 否 关联表id
userid bigint(20) 否 用户id
nickname varchar(200) 是 NULL 用户名
content longtext 否 评论内容
reply longtext 是 NULL 回复内容
表4.4 公告信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
biaoti varchar(200) 否 标题
leixing varchar(200) 否 类型
tupian varchar(200) 是 NULL 图片
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
gonggaoneirong longtext 是 NULL 公告内容
faburiqi date 是 NULL 发布日期
表4.5 教师
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
gonghao varchar(200) 否 工号
mima varchar(200) 否 密码
jiaoshixingming varchar(200) 是 NULL 教师姓名
xingbie varchar(200) 是 NULL 性别
touxiang varchar(200) 是 NULL 头像
xueyuan varchar(200) 是 NULL 学院
zhicheng varchar(200) 是 NULL 职称
dianhua varchar(200) 是 NULL 电话
表4.6 实验课程
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
kechengmingcheng varchar(200) 否 课程名称
tupian varchar(200) 是 NULL 图片
shiyanriqi date 是 NULL 实验日期
shiyanshihao varchar(200) 否 实验室号
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
shiyanneirong longtext 是 NULL 实验内容
shiyanyaoqiu longtext 是 NULL 实验要求
userid bigint(20) 是 NULL 用户id
表4.7 实验设备
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shebeibianhao varchar(200) 否 设备编号
shebeimingcheng varchar(200) 否 设备名称
xinghao varchar(200) 否 型号
danwei varchar(200) 是 NULL 单位
tupian varchar(200) 是 NULL 图片
shebeishuliang int(11) 否 设备数量
shiyongfangfa longtext 是 NULL 使用方法
shebeizhuangtai varchar(200) 是 NULL 设备状态
表4.8 实验室信息
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shiyanshibianhao varchar(200) 否 实验室编号
shiyanshimingcheng varchar(200) 否 实验室名称
shiyanshiguimo varchar(200) 否 实验室规模
shiyanshitupian varchar(200) 是 NULL 实验室图片
shiyanshiweizhi varchar(200) 是 NULL 实验室位置
keyueshijian varchar(200) 是 NULL 可约时间
shiyanshixiangqing longtext 是 NULL 实验室详情
shiyanshizhuangtai varchar(200) 否 实验室状态
表4.9 实验室预约
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shiyanshimingcheng varchar(200) 是 NULL 实验室名称
yuyueneirong varchar(200) 是 NULL 预约内容
yuyueshijian varchar(200) 是 NULL 预约时间
xuehao varchar(200) 是 NULL 学号
xueshengxingming varchar(200) 是 NULL 学生姓名
banji varchar(200) 是 NULL 班级
shouji varchar(200) 是 NULL 手机
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.10 收藏表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
userid bigint(20) 否 用户id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名称
picture varchar(200) 否 收藏图片
表4.11 管理员表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.12 维修记录
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shebeibianhao varchar(200) 是 NULL 设备编号
shebeimingcheng varchar(200) 是 NULL 设备名称
xinghao varchar(200) 是 NULL 型号
weixiushuliang int(11) 否 维修数量
weixiuriqi date 是 NULL 维修日期
weixiujieguo longtext 是 NULL 维修结果
表4.13 学生
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
xuehao varchar(200) 否 学号
mima varchar(200) 否 密码
xueshengxingming varchar(200) 否 学生姓名
xingbie varchar(200) 是 NULL 性别
touxiang varchar(200) 是 NULL 头像
banji varchar(200) 是 NULL 班级
shouji varchar(200) 是 NULL 手机
表4.14 知识库
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
mingcheng varchar(200) 否 名称
banji varchar(200) 否 班级
tupian varchar(200) 是 NULL 图片
wenjian varchar(200) 否 文件
gonghao varchar(200) 是 NULL 工号
jiaoshixingming varchar(200) 是 NULL 教师姓名
faburiqi date 是 NULL 发布日期
xiangqing longtext 是 NULL 详情
6系统测试
6.1概念和意义
测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为:
目的:发现程序的错误;
任务:通过在计算机上执行程序,暴露程序中潜在的错误。
另一个预测是相关的术语叫纠错(Debugging)。它的目的与任务可以规定为:
目的:定位和纠正错误;
任务:消除软件故障,保证程序的可靠运行。测试与纠错的关系,可以用图6-1的数据流图来说明。图中表明,每一次测试都要准备好若干必要的测试数据,与被测试程序一道送入计算机执行。通常把一次程序执行需要的测试数据,称为一个“测试用例(Test Case)。每一个测试用例产生一个相应的“测试结果”。如果它与“期望结果”不想符合,便说明程序中存在错误,需要用纠错来改正。
在这里插入图片描述

图6.1测试与纠错信息流程
6.2特性
(1)挑剔性
测试是为了证明程序有错,而不是证明程序无错。因此,对于被测程序就是要“纯毛求疵”,就是要“鸡蛋里挑骨头”。
(2)复杂性
测试仪程序则比较容易,这其实是一个误区。设计测试用力是一项需要细致和高度技巧的高能工作,稍有不慎就会顾此失彼,发生不应用得数楼。
(3)不彻底性
实际测试都是不彻底的,当然不能够保证测试后的程序不存在遗漏的错误。
(4)经济性
通场这种测试称为“选择测试(Selective Testing)”。为了降低测试成本,选择测试用力是应注意遵守“经济性”的原则。
6.3重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
6.4测试方法
首先我们来说界面测试,界面测试是为了使程序在不同的的操作平台上能够运行界面,并且能够保持原来的风格。我把完整程序拷贝到Windows 7环境下,似的程序运行正常,运行界面上的字体图片等设置都能够保持得非常好。不出现字体变形等情况!
其次进行功能测试。该系统测试采用的是单元测试,集成测试,完善性测试等多种方式进行测试。
经过测试,所有功能都能得以实现,没有任何变形。至此,在功能的测试上也已经比较圆满的完成了。
由于经验不足,写代码时出现了一些考虑不周的系统缺陷,写代码的时候会出现与设想不一致,比如说代码不规范导致接口与接口之间出现问题,功能与客户的要求不符合,这样导致产品不能过关,无法交付。所以产品在上线前必须反复测试,经过反复测试,修改,再测试,再修改,产品才能够不断完善。在整个系统测试中,根据需求文档和设计文档,逐一对功能进行检测并写好测试用例,有效避免残片缺陷,因为产品出现缺陷不仅影响功能,而且可以导致数据的不准确,导致产品质量的降低,经过测试,才能使得产品的稳定性和成熟度得到极大的提升,产品质量也才有保证。
6.5 功能测试
功能测试主要包括五项内容:适用性、准确性、可操作性、依从性、安全性。
本系统功能测试如表6.1所示:
表6.1 系统功能测试
测试内容 测试结果
适用性 好
准确性 好
可操作性 好
依从性 好
安全性 好
6.6可用性测试
可用性测试用于检测系统的可操作性、可理解性、可学习性等方面内容。具体测试方面如表6.2所示。
表6.2 系统可用性测试
测试项 测试人员的评价
窗口移动、大小改变、关闭等操作是否正常 是
操作模块是否友好 是
模块、提示内容等文字描述是否正确 是
模块布局是否协调、合理 是
模块的状态是否正确(对选中项能否发生对应切换) 是
鼠标、键盘操作是否支持 是
所需数据项是否正确显示 是
操作流程是否合理 是
是否提供帮助信息 是
6.7性能测试
性能测试主要通过模拟系统运行环境,测试系统性能是否符合客户需求。性能测试的重要技术指标就是:系统运行速度、网络响应时间和支持并发节点数。
1)系统运行速度:通过在不同计算机上试运行本系统,没有发现有任何迟滞、停顿现象。
2)网络响应时间:网络响应时间主要包括网络最小响应时间、平均响应时间、最大响应时间三个参数。经过测试,在网络运营良好状态下,NBA局域网内响应时间三参数为:1/2/6s,NBA外网响应时间三参数为3/7/12s,符合客户需求,属于用户心理可承受范围。
3)支持并发节点数:经过模拟环境测试,本系统在并发节点达46个时,网络运营速度会发生较大波动,延迟时间10秒左右,符合客户需求。
6.8测试分析
本网站设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了用户能够方便操作。系统的主要特点和优点归纳如下:
(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给客户带来了极大的方便。
(2)该完整内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。
6.9测试结果分析
经过对上述测试结果分析,本系统符合用户需求。所有基本功能点实现,操作简单,操作流程简单合理,产品运行性能良好,是一款值得推广的实验室管理系统。


http://www.ppmy.cn/ops/136676.html

相关文章

selinux及防火墙

selinux说明 SELinux 是 Security-Enhanced Linux 的缩写,意思是安全强化的 linux 。 SELinux 主要由美国国家安全局( NSA )开发,当初开发的目的是为了避免资源的误用。 httpd进程标签(/usr/share/nginx/html &#…

Oracle SQL优化③——表的连接方式

前言 表(结果集)与表(结果集)之间的连接方式非常重要,如果CBO选择了错误的连接方式,本来几秒就能出结果的SQL可能执行一天都执行不完。如果想要快速定位超大型SQL性能问题,就必须深入理解表连接…

Mysql的加锁情况详解

最近在复习mysql的知识点,像索引、优化、主从复制这些很容易就激活了脑海里尘封的知识,但是在mysql锁的这一块真的是忘的一干二净,一点映像都没有,感觉也有点太难理解了,但是还是想把这块给啃下来,于是想通…

【LeetCode热题100】队列+宽搜

这篇博客是关于队列宽搜的几道题&#xff0c;主要包括N叉树的层序遍历、二叉树的锯齿形层序遍历、二叉树最大宽度、在每个数行中找最大值。 class Solution { public:vector<vector<int>> levelOrder(Node* root) {vector<vector<int>> ret;if(!root) …

服务器数据恢复—DS5300存储硬盘指示灯亮黄灯的数据恢复案例

服务器存储数据恢复环境&#xff1a; 某单位一台某品牌型号为DS5300的服务器存储&#xff0c;1个机头4个扩展柜&#xff0c;底层是2组分别由数十块硬盘组建的RAID5阵列。存储系统上层一共分了11个卷。 服务器存储故障&分析&#xff1a; 存储设备上一组raid5阵列上的2块磁盘…

计算机网络(14)ip地址超详解

先看图&#xff1a; 注意看第三列蓝色标注的点不会改变&#xff0c;A类地址第一个比特只会是0&#xff0c;B类是10&#xff0c;C类是110&#xff0c;D类是1110&#xff0c;E类是1111. IPv4地址根据其用途和网络规模的不同&#xff0c;分为五个主要类别&#xff08;A、B、C、D、…

IT人员面试重点底层逻辑概念

arrayList的底层原理 ArrayList是个动态数组&#xff0c;实现List接口&#xff0c;主要用来存储数据&#xff0c;如果存储基本类型的数据&#xff0c;如int&#xff0c;long&#xff0c;boolean&#xff0c;short&#xff0c;byte&#xff0c;那只存储它们对应的包装类。 它的…

嵌入式学习-C嘎嘎-Day06

嵌入式学习-C嘎嘎-Day06 1. 什么是异常&#xff1f; 2. 抛出异常 3. 捕获异常 4. 标准异常族 5. 异常捕获技巧 5.1 捕获基类异常 5.2 多重捕获 1. 什么是异常&#xff1f; 异常是程序在运行期间产生的问题&#xff0c;即没有语法错误&#xff0c;出现的是逻辑错误&#xff0c;C…