2023计算机毕业设计-基于springboot的疫情防控核酸检查管理系统-JAVA(论文+开题报告+运行)

本文介绍了一种基于B/S架构,使用SpringBoot、Freemarker和Jpa框架开发的核酸检测系统。系统采用MVC模式,分为View层、Controller层、Service层和DAO层,实现了核酸检测的自动化管理,包括用户管理、人员管理、地址管理和记录等功能。数据库设计包括概念设计和逻辑设计,提高了数据处理效率和系统运行效率。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述

摘 要

随着电脑的普及,现在的管理也提升了一个档次,逐渐实现了无纸化办公,即从原来的人工记录管理模式转变成为电脑一体化管理模式。而核酸检测记录依然处于人工处理阶段,属于纯手工管理,效率低,易出错,手续繁琐,而且耗费大量的人力,物力,财力。该系统针对上述问题,开发此核酸检测系统,以代替人工管理的不足。该系统的开发,能有效解决核酸检测记录的不科学,多次重复的问题,由过去人工方式转变成为计算机方式。该系统能够极大地提高效率,这也是核酸检测的科学化,正规化管理的重要条件。
本文研究了一个核酸检测系统,该系统基于B/S架构模式,使用SpringBoot框架开发设计而成。系统主要以Java语言作为开发基础,使用了Freemarker+SpringBoot等技术,采用Idea作为开发工具,以MySql作为数据库工具。本系统只有后台管理模块,后台管理模块实现用户管理、人员管理、地址管理、核酸检测记录等功能。本系统功能比较完善,界面友好,操作简单,方便核酸检测的统计工作。
利用现代信息技术手段实现的核酸检测的记录,更重要的是,管理员可以快捷的录入每一核酸检测的人员。

第四章 系统设计

系统设计是把用户需求转化为系统的最重要开发环节,解决了“应该怎么做系统”的问题。在本章节中,主要是在系统需求分析的基础上,对系统架构、系统功能模块设计、系统工作流程设计和系统数据库设计进行阐述。

4.1 系统架构

核酸检测系统采用SpringBoot+Freemarker+Jpa框架开发,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层。其中,Freemarker拿取数据进行展示数据,SpringBoot实现业务对象管理,Jpa作为数据对象的持久化引擎。整个系统架构运行流程如图4-1所示:
在这里插入图片描述
能模块结构图
图4-1 系统架构运行图
View层:与Controller层结合比较紧密,需要二者结合起来协同工发,主要负责前台Jsp页面的表示。
Controller层:控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。
Service层:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,它有接口还有接口的实现方法,在接口的实现方法中需要导入Dao层,Dao层是直接跟数据库打交道的,它也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。
Dao层:负责对数据向数据库增删改查的操作。在该注册的框架中,如果不使用SpringBoot的话,每个层之间的数据传递都需要new一个调用该层数据的类的实例。而使用了SpringBoot的话,需要做的就是把DAO层和BIZ层的每个类都写一个接口类,接口类里写实现类的方法,在调用的时候不new对象,直接用对象点(.)方法就可以,还需要对每个对象加上set/get方法。
持久层:使用了Jpa来将实体对象持久化到数据库中。不用再进行繁杂的Jdbc和sql语句。在Dao层使用Jpa语法可以直接使用想要进行的sql,或者可以直接加上@Query注解后面写要进行的sql语句

4.2 系统功能模块设计

实质上,核酸检测系统的综合性相对较强,复杂程度相对较高,可对现有软件进行充分利用,进行系统设计与规划。构建完善成熟的核酸检测系统,其中涉及到以下内容,即前台前台页面、处理程序、MySQL 后台数据库系统等,在网站页面中显示出以下内容,例如检测的数据、检测的小区、检测的人员等。处理程序其实也就是对用户提交表单与相关操作进行处理,存储在后台数据库的信息有检测人员数据、地址数据、数据等。
因此核酸检测系统需要具备前台游客和超级管理功能,其中,前台功能实现以下功能添加流动信息、查看流动和常住信息、添加和查看核酸检测记录。系统前台功能如图4-2所示:
在这里插入图片描述

图4-2 系统前台功
系统后台功能实现以下功能,地址管理、核酸检测记录、人员管理、个人信息和系统设置。系统后台功能如图4-3所示:
在这里插入图片描述

图4-3 系统后台功能模块结构图

4.3 系统工作流程设计

系统工作流程包含用户工作流程和管理员工作流程,如图4-4所示:

在这里插入图片描述

图4-4 系统工作流程图

4.4 数据库设计

数据库的设计关系到整个应用系统的运行效率,数据库设计得好,不仅有利于日常数据的维护更新,而且可以提高系统的运行效率,缩短数据查询响应周期,增加网站的流量[9]。合理的数据库设计可以使围绕它支持的Web页面的Java代码简单化,易于实现,并且可以提高数据存储的效率,保证数据的完整一致。校核酸检测系统采用MySQL作为后台数据库开发工具。

4.4.1 数据库概念设计

概念模型用于信息世界的建模,与具体的DBMS无关。为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型。人们常常首先将现实世界抽象为信息世界,然后再将信息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统和具体的DBMS,而是概念级的模型,然后再把模型转换为计算机上某一个DBMS支持的数据模型。实际上,概念模型是现实世界到机器世界的一个中间层次。
  信息世界中包含的基本概念有实体和联系。
  (1) 实体 (entity)
  客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个学生、一门课、一个供应商、一个部门、一本 书、一位读者等都是实体。
  (2) 联系 (relationship)
  在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是组成实体的各属性之间的联系。两个实体型之间的联系可以分为3类,一对一联系,(1:1);一对多联系(1 : n);多对多联系(m : n)。
概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示信息世界中的常用概念。概念模型的表示方法很多,其中最为常用的是P.P.S.Chen于1976年提出的实体,联系方法(Entity-Relationship Approach)简记为E-R表示法)。该方法用E-R图来描述现实世界的概念模型,称为实体-联系模型,简称E-R模型。根据数据流程分析,绘制核酸检测系统的全局E-R模型如图4-2所示。
在这里插入图片描述

图4-5 系统全局E-R图
根据系统分析的主要实体有:后台用户、外来人口、常住人口、社区、检测记录等实体。各个实体具体的描述属性图如下(实体属性在下图中并没有全部给出,因为属性过多的原因):

1.公有实体
在这里插入图片描述

4-6 公有实体图

  1. 菜单实体
    在这里插入图片描述

4-7 菜单实体图

3. 日志实体

在这里插入图片描述

4-8 日志实体图

  1. 订单验证日志实体
    在这里插入图片描述

4-9 订单验证日志实体图

  1. 社区实体
    在这里插入图片描述

4-10 社区实体图

  1. 流动人口实体
    在这里插入图片描述

4-11 流动人口实体图

  1. 常住人口实体
    在这里插入图片描述

4-12 常住人口实体图

  1. 角色实体
    在这里插入图片描述

4-13 角色实体图

4.4.2 数据库逻辑设计

数据库逻辑设计主要是把数据库概念设计时设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。它包括数据项、记录及记录间的联系、安全性和一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。
本系统数据库名称为db_qy,数据库中包括:
1)社区表(tb_community)
2)数据库备份表(tb_database_bak)
3)菜单表(tb_menu)
4)流动人口表(tb_migrant)
5)后台操作日志记录表(tb_operater_log)
6)订单验证日志记录表(tb_order_auth)
7)常驻人口(tb_resident)
8)角色表(tb_role)
9)权限表(tb_role_authorities)
10)检测记录(tb_test_record)
11)用户表(tb_user)。各表数据结构如下:

(1)社区表(tb_community),存储社区信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建时间
update_time datetime N N 更新时间
area varchar(255) N Y 区
city varchar(255) N Y 城市
name varchar(255) N Y 社区名称
province varchar(255) N Y 省份
street varchar(255) N Y 街道

(2)数据库备份表(tb_database_bak),存储数据库备份信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建
update_time datetime N N 更新时间
filename varchar(128) N N 备份的文件名
filepath varchar(128) N N 备份的文件路径

(3)菜单表(tb_menu),存储菜单信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建时间
update_time datetime N N 更新时间
name varchar(18) N N 菜单名称
url varchar(128) N Y 菜单路径
icon varchar(128) N Y 菜单图标
sort int(11) N N 菜单顺序,默认升序排列,默认0
parent_id bigint(20) N Y 菜单父分类
is_bitton bit(1) N N 是否按钮
is_show bit(1) N N 是否显示

(4)流动人口表(tb_migrant),存储流动人口信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建
update_time datetime N N 更新时间
address varchar(255) N Y 详细地址
card_img longtext N Y 两张身份证图片
card_number varchar(32) N Y 身份证号码
census_address varchar(255) N Y 户籍所在地
is_del int(11) N N 是否删除
name varchar(18) N Y 姓名
reasons varchar(255) N Y 未通过理由
sex int(11) N N 性别,默认女性
status int(11) N N 状态,默认通过
community_id bigint(20) N Y 所属社区

(5)后台操作日志记录表(tb_operater_log),存储后台操作日志记录信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建
update_time datetime N N 更新时间
content varchar(1024) N N 操作内容
operator varchar(18) N N 操作者

(6)订单验证日志记录表(tb_order_auth),存储订单验证日志记录信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建
update_time datetime N N 更新时间
mac varchar(32) N Y mac
order_sn varchar(18) N N 订单编号
phone varchar(12) N N 手机号

(7)常驻人口表(tb_resident),存储常驻人口信息
字段名称 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建
update_time datetime N N 更新时间
account_number int(11) N Y 户号
address varchar(255) N Y 本户地址
card_number varchar(32) N Y 身份证号码
is_del int(11) N N 受否删除
name varchar(18) N Y 姓名
relation varchar(255) N Y 与户主关系
sex int(11) N N 性别
type int(11) N Y 户口类型
community_id bigint(20) N Y 所属社区

(8)角色表(tb_role),存储角色信息
列名 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建时间
update_time datetime N N 更新时间
name varchar(18) N N 角色名称
remark varchar(128) N Y 角色备注
status int(11) N Y 角色状态,默认可用

(9)权限表(tb_role_authorities),存储权限信息
列名 数据类型 主键 是否空 说明
role_id bigint(20) N N 角色id
authorities_id bigint(20) N N 菜单id

(10)检测记录表(tb_test_record),存储检测记录信息
列名 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建时间
update_time datetime N N 更新时间
address varchar(255) N Y 地址
card_number varchar(32) N Y 身份证号
gather_address varchar(255) N Y 采集地点
gather_mobile varchar(12) N Y 采集人电话
gather_name varchar(255) N Y 采集人姓名
gather_number varchar(255) N Y 采集管号
gather_time datetime N Y 采集时间
img varchar(255) N Y 核酸图片
name varchar(18) N Y 姓名
reasons varchar(255) N Y 未通过理由
sex int(11) N N 性别,默认女性
status int(11) N N 审批状态,默认通过
community_id bigint(20) N Y 社区

(11)用户表(tb_user),存储角色信息
列名 数据类型 主键 是否空 说明
id bigint(20) Y N id
create_time datetime N N 创建时间
update_time datetime N N 更新时间
head_pic varchar(128) N Y 头像
password varchar(32) N N 密码
username varchar(18) N N 登录名
community_id bigint(20) N Y 普通管理员负责的社区
role_id bigint(20) N Y 所属角色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值