基于SpringBoot的易家养牛管理系统的设计与实现 2文档格式.docx
《基于SpringBoot的易家养牛管理系统的设计与实现 2文档格式.docx》由会员分享,可在线阅读,更多相关《基于SpringBoot的易家养牛管理系统的设计与实现 2文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
加速与现代化养殖管理水平接轨的脚步。
围绕上述目标,课题所做的主要技术工作如下:
(1)走访养殖户对信息进行采集与分析。
(2)基于SpringBoot+Mybatis的系统研发。
(3)采用MySQL数据库对各个模块的信息进行存储与交互。
第2章系统开发相关技术概述
本系统基于现在大型网站常用的Java语言进行开发,因为Java语言学习的周期比较短,还有丰富的开源框架可供选择,学习资源也比较丰富。
它学习起来很容易并且它在功能上非常强大,尤其是和别的的开发的语言相比较,比如VB、Java,Java在跨平台性上更胜一筹。
2.1MVC开发模式
本系统根据功能的不同,系统架构采用MVC的软件设计模型[]。
这种架构比较成熟稳定、其有关的学习资源也很丰富。
MVC,是一种常见的软件架构模式,从结构上看它分为三个层次[]。
Model则代表的是模型部分,View代表的是视图部分,Controller代表的是控制器部分。
MVC模式将视图部分与业务部分分离,当修改其中某一部分时不会影响其他部分。
并且数据部分的分离也使采用MVC模式的系统更好的达到系统的合理复用。
并且当选择使用MVC开发模式,还可以使得代码的编写更为直观、整洁,在以后的维护和扩展时会提供很大的便利条件。
2.2SpringBoot开发框架
Spring框架是当前JavaWeb项目开发中最常使用框架之一。
并且随着越来越多开发者的使用,Spring从以前的单一框架变成了一个庞大的开源框架,人们在充分享受它带来便利的同时,也遇到了一些问题[]。
本系统使用的是Spring系中的SpringBoot框架,Spring是Java语言最常用的框架。
相比以前常用的Struts的框架,SpringBoot的优势很多,采用“约定大于配置”的思想[]。
其中包括简化了配置,使用了注解去替代了原来使用的XML格式。
简化了部署,有丰富的内置容器可供选择并且可以快速的支持使用,
2.3MySQL数据库
本系统选用的是MySQL数据库,MySQL轻量,学习起来简单,MySQL数据库由于对目标数据进行了分割式存储,不但增强了数据访问的灵活性,而且提高了数据访问的效率[]。
而数据库的可视化工具采用的是目前市面上最流行的Navicat,数据库的连接框架采用的是Mybatis。
MyBatis对JDBC做了轻量级的封装,极大的简化了数据访问层繁琐重复性的代码,可以让程序开发人员以面向对象的思想来操纵数据库[]。
MyBatit操作数据库更简单和灵活[],其魅力在于映射器(Mapper)中的XML文件[]。
2.4Tomcat服务器
本系统的运行和开发的环境选择的是现在非常常用的win10系统。
系统的运行时服务器选择的是Tomcat,Tomcat是如今非常流行的Java运行时服务器,它自身的体积小,学习成本很低,学习资源丰富。
并且当Tomcat运行的时候,它占用的系统资源非常小,并且免费。
是SpringBoot常用的运行时服务器。
第3章系统分析与总体设计
3.1开发目的
易家养牛管理系统希望通过计算机技术、管理信息系统的思维,开发出符合实际生产要求的管理系统。
使乡镇的中小型养殖场可以更加准确的统计养殖过程中的数据,规范养殖流程,节约时间。
并且可以养殖重点分层次管理。
使得养殖得以系统化。
3.2系统分析
3.2.1可行性分析
易家养牛管理系统是为乡镇的中小型养牛场服务,而我国的肉牛养殖规模巨大,数量巨大。
目前大部分中小型养牛场还在采用人工统计管理方式。
应用范围很广。
并且本系统选择的技术工具都是免费并且开源的技术工具,技术相关的学习资源也非常丰富,所以本系统的开发在技术方面以及经济方面来说皆是可行的。
并且系统完全是个人研发,采用的相关技术及其框架也都是免费的,所以本养牛管理系统的开发没有版权的争议,因此符合相关法律法规的要求。
3.2.2需求分析
需求分析就是通过与用户的广泛交流,得到未来系统必须具备的功能,即提前知道自己的系统要怎么做,要有什么样的性能和解决哪些必要问题。
它是系统研发的人制定计划、以及其测试和最后好坏的验收依据[]。
而本系统就是为养殖场的工作人员而设计,设计的时候要充分考虑到养殖场的工作人员的实际需求。
不可盲目的进行设计和开发,与实际应用场景偏离。
养牛系统主要视为了养牛场的工作人员使用而开发,但是由于工作人员普遍计算机基础能力较为弱,所以养牛场管理系统需要有非常易于使用的功能,简洁的可视化界面,系统功能必须简单易懂。
在养牛场里,养牛场的相关管理人员拥有本系统的最高权限,最高权限不仅可以填写,修改、删除员工的信息还可以精确的控制普通工作人员的使用权限,管理员还需要更多的了解明确养牛场的财务情况、员工的薪资发放情况等等。
而普通员工的工作是需要对养牛场的牲畜牛进行登记录入,包括牲畜牛成长相关的指数,发情的日期以及母牛产子的日期,员工同时也要对牲畜牛需要接种的疫苗信息最登记记录,控制失效期,同时在饲养过程中最必不可少的饲料信息以及数量也同样可以尽数掌握,做到饲养、防疫、物资的信息透明化。
根据需求得出易家养牛管理系统的系统用例图如图3-1所示。
图3-1系统用例图
3.3系统架构设计
本系统基于SpringBoot,采用的是基于MVC模式的三层体系结构。
本系统的软件架构如图3-2所示。
在此模式下提供了一个分层的架构模式,这其中的每一层结构都对其他层进行了抽象,其中“M”意为model实体层,代表的是模型层的结构,是系统开发的基础数据类。
而”V”代表额含义是视图层,为用户提供可视化的系统交互页面,易于用户使用,并且易于管理人员维护定位问题。
”C”代表的是逻辑控制层,是在系统开发中处理各种逻辑控制的结构层次。
逻辑控制层处理系统的业务逻辑结构,由实体层传输到视图层展示给系统的用户展示。
图3-2系统体系结构
3.4系统功能设计
经过充分业务需求调查与系统的功能分析,得出养牛场的工作有下列几大类别。
(1)员工信息管理,工技能主要包括养殖场员工的个人基本信息管理,以及本系统的各项操作权限控制与处理。
牲畜信息的处理,牲畜的防疫相关信息的管理,牲畜使用的饲料的相关信息的管理,养殖场内的财务情况管理共五大功能。
其中养牛场的员工权限包括管理与普通员工权限两种,为了保障系统的安全性,养牛管理系统只能由管理员对员工的数据信息进行操作,其中操作内容包括员工信息的添加,删除,修改等。
修改项包括养殖场员工的登陆用户名,名字,密码,畜牧地址等等。
(2)牲畜管理包括牲畜牛的具体情况,包括牛的编号、品种、性别、畜牧品质、是否接种过疫苗,牲畜牛的品质状况,牲畜牛的生产日期和发情日志等等。
养牛场的工作人员可对这些信息进行添加,修改以及注销删除。
(3)牲畜的防疫管理可以对牛需要接种的疫苗的相关药品信息进行登记处理。
包括药品信息的药品名称、药品类型以及失效时间进行添加。
还可以跟根据药品的属性进行筛选查询。
(4)牲畜的饲料管理可以对牛食用的饲料进行管理,其中包括饲料信息的登记入库,饲料的使用等信息进行登记记录。
使养牛场的工作人员可以精确的了解当前饲料的库存情况,便于使用,并且可以方便养牛场的工作人员及时采购饲料。
(5)养牛场的财务管理可对过往时间的财务信息进行登记录入,还可以对现有员工的工资情况进行登记录入,其中包括财务的收入、财务的支出、财务信息的具体查询、养牛场员工的工资发放等等。
根据系统功能的总体分析,易家养牛管理系统的功能结构图如图3.3所示。
图3-3系统功能结构
3.5系统数据库设计
数据库的设计在养牛管理系统的开发中是非常重要的一个环节,良好的数据库设计不仅可以准确、高效的表达系统的相关功能,而且可以准确的表达展示数据,还可以利于后期的数据拓展与分析。
大数据时代数据即是价值,无论是对开发者还是系统使用人员,都可以对一些看似无意义的数据进行分析从而得到一些有价值的数据和结论[]。
数据库逻辑设计就是将E-R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。
其转换规则为:
首先每个实体应转化为一个关系,有属性的联系也应转化为一个关系,然后需要给出每个关系的一个主关键字,根据上述规则给出以下关系[]。
因此根据预先分析的养牛场管理系统的功能、以及业务流程分析,利用MySQL创建如下数据库。
(1)用户表的设计
养牛管理系统的用户表(users)中主要有如下字段:
id:
表示整个users表的主键,作为主键,它具有唯一性,不可重复,等特点。
在本系统中,采用的是自增长id的处理方式。
所以在添加用户数据时不需要去手动添加该字段。
username:
表示用户的名字字段。
password:
表示用户的账户的密码。
在0登录校验时根据输入的密码与数据库中存储的密码进行对比校验。
role:
表示用户的角色,比如管理员,代表整个系统的管理员,拥有管理权限。
addtime:
此记录的添加时间,方便登记记录并且可以追溯数据。
用户表内的参数如表3-1所示。
表3-1用户表
字段名称
数据类型
长度
约束
字段描述
id
bigint
20
非空
唯一标识
username
varchar
用户名
password
10
密码
role
用户角色
addtime
timestamp
新增时间
(2)员工信息表的设计
员工信息表(yonghuxinxi)主要存储的是养牛场的员工信息,此表主要有如下字段:
每条员工信息记录对应一个id,为本表的主键,不可重复,由系统生成,自增。
此员工信息的添加时间。
yonghuming:
员工信息的用户名,也是登录时使用的账号。
mima:
表示员工信息的账户的密码,登录校验时根据输入的密码与数据库中存储的密码进行对比校验。
xingming:
表示员工的真实姓名,中文名字。
xingbie:
表示员工的性别。
nianling:
表示员工的真实年龄。
lianxidianhua:
表示员工的联系电话。
dianziyouxiang:
表示员工的联系有效邮箱。
shenfenzhenghao:
表示员工的身份证号。
gerenzhaopian:
表示员工的个人照片。
chumudizhi:
表示员工的畜牧地址,该员工所负则的畜牧辖区。
xiangqingbeizhu:
记录员工的一些额外信息。
员工信息表内的参数如表3-2所示。
表3-2员工信息表
添加时间
yonghuming
员工用户名
mima
员工账号密码
xingming
员工中文名
xingbie
2
员工性别
nianling
int
11
员工年龄
lianxidianhua
员工电话号
dianziyouxiang
255
员工电子邮箱
shenfenzhenghao
员工身份证号
gerenzhaopian
4000
员工照片
chumudizhi
员工畜牧辖区
xiangqingbeizhu
员工额外信息
(3)员工薪资表的设计
员工薪资表(yuangongxinzi)主要储存记录的是员工的薪资情况,员工薪资表有如下字段:
每条养牛场的员工薪资记录对应一个id,为本表的主键,不可重复,由系统生成,自增。
每条员工薪资记录的添加时间。
zhanghao:
员工本次薪资记录的员工账号。
员工本次薪资记录的中文名字。
nianfen:
员工本次薪资记录的所属年份。
yuefen:
员工本次薪资记录的所属月份。
jibengongzi:
员工本次薪资记录的基础薪资数额。
jianglibuzhu:
员工本次薪资记录的奖励补助数额。
quanqinjiangli:
员工本次薪资记录的全勤奖励数额。
koukuanshixiang:
员工本次薪资记录的扣款事项,扣款原因。
koukuanjine:
员工本次薪资记录的扣款金额。
shifagongzi:
员工本次薪资记录的实发工资金额。
dengjiriqi:
管理员录入本次薪资记录的具体时间,方便追溯数据。
员工薪资表内的参数如表3-3所示。
表3-3员工薪资表
日期长度
zhanghao
员工账号
nianfen
4
所属年份
yuefen
所属月份
jibengongzi
double
数据长度
基本工资
jianglibuzhu
奖励补助
quanqinjiangli
全勤补助
koukuanshixiang
扣款事项
koukuanjine
扣款金额
shifagongzi
实发工资
dengjiriqi
登记时间
(4)财务信息表的设计
财务信息表(caiwuxinxi)主要储存记录的是养牛场的财务情况,包括支出和收入,财务信息表有如下字段:
每条财务信息记录对应一个id,为本表的主键,不可重复,由系统生成。
每条财务信息记录的添加时间。
添加财务记录的操作人的用户名。
添加财务记录的操作人的中文名字。
caiwubiaoti:
财务标题,简要描述此条财务记录的基本情况信息。
caiwuleixing:
财务类型,主要有收入和支出这两大类。
此条财务记录产生的所在年份。
此条财务记录锁产生的所在月份。
jine:
此条财务记录所产生的具体金额。
员工添加此条信息的登记时间。
此条财务信息记录的额外信息记录。
财务信息表内的参数如表3-4所示。
表3-4财务信息表
操作人的用户名
操作人的中文名字
caiwubiaoti
财务标题
caiwuleixing
财务类型
jine
金额
登记日期
额外信息
(5)畜牧信息表的设计
畜牧信息表(chumuxinxi),主要登记记录的是牲畜牛的具体信息,有如下字段:
每条畜牧牛信息记录对应一个id,为本表的主键,不可重复,由系统生成,自增。
每条畜牧牛信息记录的添加时间。
此条信息记录的用户名。
记录每头牛的具体畜牧地址。
niudebianhao:
记录每头牛的具体标号信息。
记录每头牛的具体性别,如公牛还是母牛。
pinzhong:
记录每头牛的具体品种,肉用还是乳用等。
jiezhongyimiao,记录每头牛的接种疫苗情况,是否接种过疫苗。
chumuzhuangkuang:
记录每头牛的畜牧状况,优良品质等。
niudezhaopian:
记录每头牛的照片。
faqingriqi:
记录每头牛的发情日期。
chanziriqi:
记录每头牛的产子日期。
teshubeizhu:
记录关于每头牛的特殊情况备注。
畜牧信息表内的参数如表3-5所示。
表3-5畜牧信息表
畜牧地址
niudebianhao
牛的编号
牛的性别
pinzhong
牛的品种
jiezhongyimiao
接种疫苗
chumuzhuangkuang
畜牧品质
niudezhaopian
牛的照片
faqingriqi
发情日期
chanziriqi
产仔日期
teshubeizhu
特殊情况备注
(6)药品入库信息表的设计
药品入库信息表(yaopinruku),主要登记记录的是牛需要接种疫苗的药品的具体信息,有如下字段:
每条药品信息记录对应一个id,为本表的主键,不可重复,由系统生成,自增。
每条药品信息记录的添加时间。
yaopinmingcheng:
药品信息的具体名称。
yaopinleixing:
药品信息的类型。
shifoushixiao:
药品是否失效。
yaopinkucun:
药品的库存数量。
药品信息记录登记录入的具体日期。
药品入库信息表内的参数如表3-6所示。
表3-6药品入库信息表
yaopinmingcheng
药品名称
yaopinleixing