基于ssm的疫情物质管理系统论文

摘 要

进入信息时代以来,很多数据都需要配套软件协助处理,这样可以解决传统方式带来的管理困扰。比如耗时长,成本高,维护数据困难,数据易丢失等缺点。本次使用数据库工具MySQL和编程技术SSM开发的疫情物资管理系统,可以实现目标用户群需要的功能,包括物资信息管理,物资出入库管理,物资申领管理,物资采购管理,财务报销管理等功能。
总之,疫情物资管理系统是基于计算机进行数据的处理,则可以短时间内批量完成数据的管理,就连基本的数据录入,更改错误的数据,统计数据等操作要求都可以轻松完成,这样的系统的运用可以减少很多繁琐的工作量,让数据的管理人员提升效率,节省数据处理投入的资金和时间。同时,疫情物资管理系统本身就有配套的数据库,用于保存系统的后台数据,对于数据保存的容量则是传统模式不能相比的,在数据安全性上,也有相应的加密技术提供保护,所以数据泄露和被人窃取都不是易事。

关键词:疫情物资管理系统;物资信息管理;物资申领;物资采购

Abstract
Since entering the information age, a lot of data needs supporting software to assist in processing, which can solve the management problems caused by traditional methods. For example, it is time-consuming, costly, difficult to maintain data, and easy to lose data. The epidemic material management system developed by the database tool MySQL and programming technology SSM this time can realize the functions required by the target user group, including material information management, material storage management, material application management, material procurement management, financial reimbursement management and other functions .
In short, the epidemic material management system is based on computer-based data processing, and data management can be completed in batches in a short time. Even basic data entry, modification of wrong data, statistical data and other operational requirements can be easily completed. Such a system The application can reduce a lot of tedious workload, allow data managers to improve efficiency, and save money and time invested in data processing. At the same time, the epidemic material management system itself has a supporting database for storing the background data of the system. The data storage capacity is incomparable with the traditional model. In terms of data security, there is also corresponding encryption technology to provide protection, so Neither data leakage nor being stolen is easy.
Key Words:Epidemic material management system; material information management; material application; material procurement

目 录

第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 JSP技术 3
2.2 MySQL数据库 3
2.3 Java语言 4
2.4 SSM框架 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1运行可行性分析 5
3.1.2经济可行性分析 5
3.1.3技术可行性分析 6
3.2系统流程分析 6
3.3 系统性能分析 8
3.3.1系统安全性 8
3.3.2系统可扩展性 9
3.3.3系统易维护性 9
3.4系统功能分析 9
第四章 系统设计 13
4.1布局设计原则 13
4.2功能模块设计 14
4.3数据库设计 17
4.3.1数据库E-R图 17
4.3.2 数据库表结构 20
第五章 系统实现 25
5.1 管理员功能实现 25
5.1.1 采购员管理 25
5.1.2 后勤人员管理 25
5.1.3 财务人员管理 26
5.2 采购员功能实现 26
5.2.1 查询物资信息 26
5.2.2 物资采购管理 27
5.3 后勤人员功能实现 27
5.3.1 物资信息管理 27
5.3.2 出库信息统计 28
5.3.3 申领物资管理 28
5.3.4 申领物资统计 29
5.4 财务人员功能实现 29
5.4.1 查询物资采购 29
5.4.2 财务报销管理 30
第六章 系统测试 31
6.1 系统测试的实施 31
6.2 系统测试用例 31
6.2.1 登录功能测试 31
6.2.2 添加部门功能测试 32
6.3 测试的结果 32
结 论 33
参考文献 34
致 谢 35

第一章 绪论

1.1 研究背景
时代总是在进步的,自从进入了信息时代,面对大量的不同种类的数据,仅仅依靠有限的人力去处理,显然是不行的,毕竟人工处理大量的数据会耗费较长时间,而且数据的错误率也会提升,另外,在对数据进行检索时,也是一件既耗费体力,又耗费时间的事情。因此,引进当前的信息技术开发的系统去解决传统管理模式带来的各种困扰成为一种趋势。本次打算开发疫情物资管理系统,让疫情物资信息的管理完全依赖于计算机,包括录入信息,维护信息等都在计算机上操作,简单方便,在优化信息管理流程的基础上,进一步实现信息管理的规范化和系统化。也让疫情物资信息的管理人员从之前的繁琐工作中解脱出来,让他们提升自身素质,提高自身管理能力,把疫情物资管理系统的作用发挥到最大,从而产生更大的效益。
1.2 研究意义
疫情物资管理系统的出现,可以解决传统模式带来的问题,比如传统模式不能批量处理数据,处理效率低,耗时长,浪费大量人力和物力,数据易出错等问题。疫情物资管理系统是基于计算机进行数据的处理,则可以短时间内批量完成数据的管理,就连基本的数据录入,更改错误的数据,统计数据等操作要求都可以轻松完成,这样的系统的运用可以减少很多繁琐的工作量,让数据的管理人员提升效率,节省数据处理投入的资金和时间。同时,疫情物资管理系统本身就有配套的数据库,用于保存系统的后台数据,对于数据保存的容量则是传统模式不能相比的,在数据安全性上,也有相应的加密技术提供保护,所以数据泄露和被人窃取都不是易事。另外,疫情物资管理系统对操作人员录入的数据进行实时检验,可以及时反馈错误信息,使录入数据的准确率得到提高,也充分保证了系统数据的可靠性。总之,疫情物资管理系统值得信赖,可以完成数据的高效率处理工作。
1.3 研究内容
本文对疫情物资管理系统的描述,将按照如下章节进行。
第一章:根据前期的调研,和对参考资料的分析总结,明确系统研究背景意义;
第二章:通过对当前开发技术的分析,选定开发本系统的开发语言和工具;
第三章:在用户需求的基础上,结合相似系统的功能,分析并确定本系统的功能,分析本系统开发可行性问题;
第四章:在第三章的基础上,进一步细分系统功能,要设计出系统各个模块的功能,同时,对配套数据库进行设计;
第五章:在第四章基础上,要运用编程技术,全面实现疫情物资管理系统的功能;
第六章:检测制作的疫情物资管理系统功能是否运行正常,性能是否达标;

第二章 开发环境与技术

疫情物资管理系统作为一款应用软件,其开发是需要搭建的一定的编程环境,对使用的工具和技术都有相应要求,接下来就介绍本系统中运用到的工具和技术。
2.1 JSP技术
JSP技术是有一定的规则的,首先JSP里可以用Java语言写在标记内,可以混合HTML语言以及XHTML语言代码进行混合编辑,并且进行书写Java语句或者用其他标签,用标签的话都需要用特殊的符号进行描述,编写Java语言的代码需要用特殊符号标记起来,用<%作为开始,中间书写Java语句,以%>作为结束标签,必须是有开头和结尾的,不然会编译出错的,必须是成对出现也必须有闭合的。JSP可以处理表单数据,因为JSP也算是一种Servlet,也可以把数据提交给Servlet处理也是可以的。其实对用户来讲,实现动态数据的网页就可以了,但是后台也是需要对数据进行一些加工的,JSP技术正好也是可以做到数据加工的。JSP可以直接通过JDBC来操作数据库,对数据进行页面展示,也可以记录用户的访问的信息和选择信息等,并且可以使用JavaBean组件,还可以通过Session在不同的网页上传递信息和共享相关的信息。动态网页有很多规范和标准,比如CGI规范或者ISAPI规范这些。标准是固定的,但是JSP技术是比CGI规范更加强壮。比如JSP性能对比上超过CGI,更优秀,原因是因为可以在一个JSP文件里嵌入很多元素,如果元素一样多的话,用CGI就变成了需要很多文件,而受制于硬盘读写效率的影响,用时少就是优秀,能耗少就是强劲。JSP是完整的应用平台Java EE 中不可缺少的一部分。
2.2 MySQL数据库
自从学习了关系型数据库的语法之后,也逐渐的了解了一些属于关系型数据库范畴的几个常见的数据库。比如Oracle数据库和MySQL数据库,以及Microsoft SQL Server数据库和DB2数据库这几种。在这几个关系型数据库之中,对MySQL数据库印象最好。首先MySQL数据库有各种平台的服务器版本,这样就能实现跨平台运行以及移植。其次,MySQL数据库可以进行网络连接,这样可以对本地账户和应用程序账户进行有效的区分,这样在数据库的安全性上面也有很好的保证。再次,MySQL数据库在中小数据量的运行效率上面比其他数据库占用服务器资源最少,所以很多企业都选择了MySQL数据库作为首选。在开发上面,各种图形界面管理工具也是层出不穷,并且还比较好用,从各个方面综合考虑对比的情况下,选择了MySQL数据库作为应用程序所选的数据库软件。
2.3 Java语言
Java语言发展有25年多了,在互联网行业经过这么多年的发展,还依然在市场的占有率上有半壁江山,依然受到很多程序员的喜爱,好多从业人员进行学习,随着互联网从业人员的增加,并没有降低Java语言的江湖地位,算是一个常青藤。Java语言学习很简单,当然这是针对于前辈C++来讲的,C++语言相当的强悍。Java取消了很多C++特征,比如go to这些语句,还有取消了主文件,让所有的文件都是类,类里都是数组和各种对象,还让Java自己处理各种对象的引用和回收,让开发人员只需要创建对象,使用对象,编辑代码逻辑,不需要关注性能方面,让数据的各种存储交给Java自己处理,可以花更多的时间研究应用程序之间的关系,让开发变得更专注,就像赛车的驾驶员一样,只需要了解各种车辆的性能,并且进行操作,不需要研究轱辘如何制造,这样让程序开发更加的细化。
2.4 SSM框架
SSM框架是三个框架的合称,分别是Spring框架和SpringMVC框架以及MyBatis框架。三个框架随着时间的发展,越来越变成了当今Java语言的开发主流,帮助程序开发人员专注于业务逻辑以及配置相关操作,能自动生成的都支持自动生成,避免了很多耦合性出错,通过控制反转和依赖注入,让程序开发变成配置文件开发,简单明了,让创建的Java对象都能通过自身来进行创建。面向切面的操作让程序开发也变成了部门协同,公共事务都交给了SpringAOP来操作,让程序开发变得更加专注。MyBatis越来越智能,可以用配置文件和SQL语句混合开发,可以像操作Java语言一样操作数据库。

第三章 系统分析

通常,对于系统的开发并不是一朝一夕就可以完成的,它需要经历很多的步骤,其中系统分析就是其中的一个,接下来还会有系统的设计和实现,最后一个步骤是系统测试。
3.1可行性分析
一个系统能不能完成开发,以及该系统是否可以带来收益等,都是需要提前分析的。而可行性研究就是分析这些问题,并得出结论,这个环节对项目是否开展起着重要作用。
3.1.1运行可行性分析
首先本系统的运行环境都是当前使用率比较高的软件,通过网络可以下载安装,其次本系统对于运行设备的要求比较低,满足4个G的内存的电脑都可以使用。而当下硬件设备的升级,几乎大部分电脑都是内存8个G,所以运行设备也符合要求。最后,本系统不用于处理繁多的类似商业软件的信息内容,占用的空间比较小。一般的电脑都可以运行。
3.1.2经济可行性分析
任何一个项目在开发前,其在经济上的可行性问题是值得研究的,本项目疫情物资管理系统,其在数据的处理上要求比较简单,并且其管理的数据量比较小,因此,该项目的开发周期并不会耽误很长时间,项目的开发需要支出的费用也不高。加上该项目需要管理的数据量较少,对于性能条件一般的计算机都可以满足项目的运行要求,从后期管理成本上来看,需要投入该项目的管理费用也不高。但是该项目一旦投入使用,会给使用者带来一定的收益,也能节省信息管理成本,如此,这样一个低成本投入,但能够带来大量收益的项目疫情物资管理系统在经济上是可行的。
3.1.3技术可行性分析
互联网的发展非常迅速,跟互联网挂钩的程序也逐渐被广泛关注,尤其是当下被大众熟知的B/S结构的程序,加上SSM技术的发展与成熟,如今可以很快速的使用模块化的代码开发一个基于B/S结构的项目程序。
通过系统运行,经济和技术上的可行性分析,对疫情物资管理系统的开发确实具有必要性,让管理的信息都计算机化,可以缩短在数据处理上消耗的时间,提高工作效率。
3.2系统流程分析
本系统在完成数据的处理时,其内部都设置了相应的处理流程,比如注册时,数据的最终去向以及对每项数据的判断等,这些都是提前进行了分析的,然后在编码时,把这种判断逻辑写入了系统中。让系统在面对同样的事务处理需求时,执行对应的逻辑处理规则。
在本系统的数据库中,所有用户的资料都会单独保存在一张数据表里面,也就意味着这张用户数据表里面的用户名和密码都是可以进行本系统的登录功能的,其登录流程如下。用户提交的登录信息都是必填项,不能漏掉,数据格式和内容都要准确才可以进入功能操作区。

在这里插入图片描述

图3.2 用户登录流程图
本系统中保存的数据都是具有参考价值的,所以在录入数据时,要确保数据的准确性,其录入数据的流程见下图。这些数据都是经过检验合格之后才会被数据库保存。
在这里插入图片描述

图3.3 信息添加流程图
本系统中设置了修改密码功能,修改密码的流程见下图。密码修改成功之后,下次登录系统就需要使用新密码替换原来的密码。
在这里插入图片描述

图3.3修改密码流程图
3.3 系统性能分析
在进行系统分析期间,有一个很重要的环节,就是需要对系统的性能进行分析。可以说系统的性能跟系统的质量是成正比关系,也就是说系统性能也好,系统质量越可靠,系统性能不好,就代表着系统的质量不行,也就意味着系统在实际中的使用中,会出现中途崩溃,或者系统的数据容易泄露等风险。所以,提前进行系统性能的分析,就可以在系统设计实现中,避免出现上述风险问题。
描述系统性能的特征有可扩展性,易维护性,安全性等。
3.3.1系统安全性
一个系统是否安全,直接影响用户的使用。系统安全体现在数据上的保密性。通常,很多系统都设置了登录功能,或针对游客设置的注册功能等,无论是登录中需要使用的账号密码,还是用户注册产生的私密数据等都是系统中的宝贵资源,一旦数据泄露,一些非法人员就会从中谋取利益,或通过用户注册留下的电话骚扰用户,给用户带来身心上的伤害。所以一般针对此类关键数据,通常会直接进行加密保存。让数据始终保持安全状态。
3.3.2系统可扩展性
面对当前用户的使用需求设计的系统并不一定适用于未来。所以需要使用前瞻性的眼光来看待系统,提前预留好空间,方便在今后对系统进行升级,或者扩充系统功能。因此,系统需要具备可扩展性的特性。
3.3.3系统易维护性
系统在保持长时间使用中,难免会出现一些问题。所以在处理这些问题时,可能会对系统进行部分改动。而系统改动的难易程度就体现出系统是否具备易维护性,通常一个易于维护的系统,在面对系统改动时,将会很容易,而且也会节省时间和资金。
3.4系统功能分析
本系统的功能不会像市场上的商业程序一样具备复杂的功能,其提供的功能只能满足目标用户的一般的系统内容浏览和简单的信息处理功能。
本系统确定设置管理员权限,采购员权限,后勤人员权限和财务人员权限。
设置的管理员功能可以见下图用例图。管理员管理物资申领,物资出入库,物资采购,财务报销。
在这里插入图片描述

图3.4 管理员用例图
设置的采购员功能可以见下图用例图。采购员查询物资和财务报销,管理物资采购。
在这里插入图片描述

图3.5 采购员用例图
设置的后勤人员功能可以见下图用例图。后勤人员对物资进行出入库操作,统计物资出入库的数据,审核并统计物资申领信息。
在这里插入图片描述

图3.6 后勤人员用例图
设置的财务人员功能可以见下图用例图。财务人员查询物资采购,审核财务报销信息。
在这里插入图片描述

图3.7 财务人员用例图

第四章 系统设计

设计时,通常把用户需求作为对系统功能和数据库的设计重点,殊不知,系统设计时,注重用户体验也是比较关键的设计内容。比如一个系统已经实现了用户需要的功能,但是其界面布局比较混乱,同时界面中各个元素的搭配也不合理,这样一旦访问者访问系统,在短时间内无法找到需要的信息,就容易产生视觉疲劳,直接影响用户对系统的使用。所以,系统设计时,也需要关注用户的使用体验。由于用户之间的差别,比如教育程度,职业,地区等因素的不同,用户产生的行为也会存在差异,所以设计人员既要考虑用户之间的行为差异,也要考虑他们之间的共性。在尊重用户习惯的基础上,进行页面设计布局。达到用户可以多次访问系统的目的。
4.1布局设计原则
进行页面的布局,就要划分系统的各个模块,然后根据这些模块的重要程度进行布局,也需要关注用户比较在意的关键信息,利用合理的布局方式,传达出系统想要表达的信息内容,也让用户快速高效地获取需要的信息。布局虽然是页面设计的核心,但是也要讲究页面内容的协调性,统一性和均衡性。
布局设计也要考虑基本原则,接下来的内容就对此进行阐述。
第一点:参考系统需求,把系统的内容进行划分,按照重要程度的不同进行布局,并把相似或相近的信息内容集中展示在同一个区域,让访问者可以更流畅的阅读信息;
第二点:页面中比较重要的区域是靠上靠左的位置,所以这部分区域应该放置系统中比较重要的模块,毕竟这部分区域可以吸引用户眼球,让用户进入页面中,就可以发现需要的信息。对于一些次要的模块,则可以放置在页面中靠下和靠右的位置。如此设计安排,才可以发挥出页面设计实用性的特点;
第三点:根据用户习惯设计页面,虽然大部分用户具有操作上的共性特征,但他们之间还是存在区别,常见的影响用户操作习惯的因素有:年龄,学历,职业,性别等。所以设计时在考虑用户的共性特征时,也需要尽量尊重用户的不同习惯。
4.2功能模块设计
下图为管理员的功能设计,管理员管理物资申领,物资出入库,物资采购,财务报销。
在这里插入图片描述

图4.1 管理员功能结构图
下图为采购员的功能设计,采购员查询物资和财务报销,管理物资采购。
在这里插入图片描述

图4.2 采购员功能结构图
下图为后勤人员的功能设计,后勤人员对物资进行出入库操作,统计物资出入库的数据,审核并统计物资申领信息。

在这里插入图片描述

图4.3 后勤人员功能结构图
下图为财务人员的功能设计,财务人员查询物资采购,审核财务报销信息。

在这里插入图片描述

图4.4 财务人员功能结构图
4.3数据库设计
疫情物资管理系统选用关系数据库作为程序的后台支持,之所以选择关系数据库主要还是因为它易于使用,而且也方便进行数据维护,尤其是提供强大的SQL查询语言。还有就是关系数据库采用的二维表模型,跟现实生活中的逻辑非常贴近,与网状模型,层次模型相比较,可以发现还是关系模型更容易被接受。
4.3.1数据库E-R图
这部分内容需要根据用户需求当中的数据信息,进行拆分,并仔细分析,要从这些数据中标识出E-R模型需要使用的数据,其中有实体,有实体具备的属性,有基于实体间的关系。在获取了这些数据之后,就可以使用认可度比较高的Visio工具来完成E-R模型的建模。建模期间,只要注意Visio工具中,绘制E-R模型的各个符号代表的含义,并能够正确把实体,属性还有关系等数据完整表示就可以了。使用这样的方法可以节省数据库设计的时间,而且还可以直观表达设计的内容,以及它们之间存在的联系。
(1)设计的出库信息实体,其具备的属性如下图。
在这里插入图片描述

图4.4 出库信息实体属性图
(2)设计的物资实体,其具备的属性如下图。
在这里插入图片描述

图4.5 物资实体属性图
(3)设计的入库信息实体,其具备的属性如下图。
在这里插入图片描述

图4.6 入库信息实体属性图
(4)设计的管理员实体,其具备的属性如下图。
在这里插入图片描述

图4.7 管理员实体属性图
(8)设计的实体间关系如下图。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库表结构
程序编码基本都是参照设计的方案进行的,包括设计的数据库也是对后面的编码有着一定的影响。通常来说,数据库就是保存数据,不管其设计得好坏,都不会丧失它本身的数据保存功能。设计数据库的好坏,其区别在于,对数据存取的效率。设计比较好的数据库,在数据查询,存储以及更新上,可以快速做出响应。设计不好的数据库,很多时候不仅会延长数据的处理时间,还会容易出错。因此,设计数据库也是程序开发中很关键的环节。
针对本系统设计的数据库,按照数据库设计的原则,即设计数据库的三大范式进行。各个数据表的结构都是根据E-R模型进行的物理转化,对于一些细节问题,包括表的命名,字段的命名,字段类型和长度的设计等都比较规范化,这样做的目的也是方便后期系统编程。
表4.1 采购员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
caigouyuangonghao varchar(200) 否 采购员工号
mima varchar(200) 否 密码
caigouyuanxingming varchar(200) 是 NULL 采购员姓名
bumen varchar(200) 是 NULL 部门
zhiwu varchar(200) 是 NULL 职务
touxiang varchar(200) 是 NULL 头像
表4.2 财务报销信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
baoxiaoneirong longtext 是 NULL 报销内容
baoxiaozongjine varchar(200) 是 NULL 报销总金额
shenqingren varchar(200) 是 NULL 申请人
fuzeren varchar(200) 是 NULL 负责人
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.3 财务人员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
caiwurenyuangonghao varchar(200) 否 财务人员工号
mima varchar(200) 否 密码
caiwurenyuanxingming varchar(200) 是 NULL 财务人员姓名
bumen varchar(200) 是 NULL 部门
zhiwu varchar(200) 是 NULL 职务
touxiang varchar(200) 是 NULL 头像
表4.4 出库信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wuzimingcheng varchar(200) 是 NULL 物资名称
wuzileibie varchar(200) 是 NULL 物资类别
guige varchar(200) 是 NULL 规格
kucun int(11) 是 NULL 库存
chukushijian datetime 是 NULL 出库时间
beizhu longtext 是 NULL 备注
fuzeren varchar(200) 是 NULL 负责人
表4.5 后勤人员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
houqinrenyuangonghao varchar(200) 否 后勤人员工号
mima varchar(200) 否 密码
houqinrenyuanxingming varchar(200) 是 NULL 后勤人员姓名
bumen varchar(200) 是 NULL 部门
zhiwu varchar(200) 是 NULL 职务
touxiang varchar(200) 是 NULL 头像
表4.6 入库信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wuzimingcheng varchar(200) 是 NULL 物资名称
wuzileibie varchar(200) 是 NULL 物资类别
guige varchar(200) 是 NULL 规格
kucun int(11) 是 NULL 库存
rukushijian datetime 是 NULL 入库时间
beizhu longtext 是 NULL 备注
fuzeren varchar(200) 是 NULL 负责人
表4.7 申领物资信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
shenqingren varchar(200) 是 NULL 申请人
wuzimingcheng varchar(200) 是 NULL 物资名称
guige varchar(200) 是 NULL 规格
shenqingshuliang int(11) 是 NULL 申请数量
wuziliuxiang longtext 是 NULL 物资流向
shenqingshijian datetime 是 NULL 申请时间
lingqushijian datetime 是 NULL 领取时间
fuzeren varchar(200) 是 NULL 负责人
sfsh varchar(200) 是 否 是否审核
shhf longtext 是 NULL 审核回复
表4.8 管理员信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
username varchar(100) 否 用户名
password varchar(100) 否 密码
role varchar(100) 是 管理员 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增时间
表4.9 物资采购信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
daibanshixiang longtext 是 NULL 待办事项
caigouzhuangtai varchar(200) 是 NULL 采购状态
caigoudewuzi longtext 是 NULL 采购的物资
leibie varchar(200) 是 NULL 类别
shijian datetime 是 NULL 时间
caigouyuangonghao varchar(200) 是 NULL 采购员工号
caigouyuanxingming varchar(200) 是 NULL 采购员姓名
表4.10 物资信息表
字段 类型 空 默认 注释
id (主键) bigint(20) 否 主键
addtime timestamp 否 CURRENT_TIMESTAMP 创建时间
wuzitupian varchar(200) 是 NULL 物资图片
wuzimingcheng varchar(200) 是 NULL 物资名称
wuzileibie varchar(200) 是 NULL 物资类别
guige varchar(200) 是 NULL 规格
kucun int(11) 是 NULL 库存
shengchanriqi date 是 NULL 生产日期
beizhu longtext 是 NULL 备注

第五章 系统实现

这部分工作主要由程序编制人员完成。通常在面对一个大型的系统时,这些程序编制人员就会明确分工,每个人都完成不同的功能模块,在用代码实现功能的基础上,提前预留好接口,最后才将他们已完成的功能模块通过接口进行组合。
5.1 管理员功能实现
5.1.1 采购员管理
管理采购员是管理员的功能。其运行效果图如下。采购员信息是由采购员姓名,部门,职务等组成,管理员提交采购员的姓名可以获取采购员信息,管理员可以在本页面修改采购员资料。
在这里插入图片描述

图5.1 采购员管理页面
5.1.2 后勤人员管理
管理后勤人员是管理员的功能。其运行效果图如下。后勤人员是本系统的一个角色,管理员可以修改,查询,删除后勤人员信息。
在这里插入图片描述

图5.2 后勤人员管理页面
5.1.3 财务人员管理
管理财务人员是管理员的功能。其运行效果图如下。本模块主要让管理员增删改查财务人员信息。
在这里插入图片描述

图5.3 财务人员管理页面
5.2 采购员功能实现
5.2.1 查询物资信息
查询物资信息是采购员的功能。其运行效果图如下。查询物资信息可以选择根据物资类别查询,也能根据物资名称查询。
在这里插入图片描述

图5.4 查询物资信息页面
5.2.2 物资采购管理
管理物资采购是采购员的功能。其运行效果图如下。物资采购信息包括待办事项,采购状态,采购的物资等,采购员可以新增采购,删除或修改本页面的物资采购信息。
在这里插入图片描述

图5.5 物资采购管理页面
5.3 后勤人员功能实现
5.3.1 物资信息管理
管理物资信息是后勤人员的功能。其运行效果图如下。后勤人员查询物资,对物资进行出库,对物资进行入库操作。
在这里插入图片描述

图5.6 物资信息管理页面
5.3.2 出库信息统计
统计出库信息是后勤人员的功能。其运行效果图如下。后勤人员查看出库信息统计报表,查看各种物资出库数量信息。
在这里插入图片描述

图5.7 出库信息统计页面
5.3.3 申领物资管理
管理申领物资信息是后勤人员的功能。其运行效果图如下。后勤人员需要审核申领物资信息,可以通过负责人或申请人信息查询物资申领信息。
在这里插入图片描述

图5.8 申领物资管理页面

5.3.4 申领物资统计
统计申领物资信息是后勤人员的功能。其运行效果图如下。后勤人员通过统计报表查看各种物资的申领数量信息。
在这里插入图片描述

图5.9 申领物资统计页面
5.4 财务人员功能实现
5.4.1 查询物资采购
查询物资采购是财务人员的功能。其运行效果图如下。财务人员根据采购状态,或根据采购的物资查询物资采购信息。
在这里插入图片描述

图5.10 查询物资采购页面
5.4.2 财务报销管理
管理财务报销信息是财务人员的功能。其运行效果图如下。财务人员审核财务报销信息,修改财务报销信息,查询财务报销信息。
在这里插入图片描述

图5.11 财务报销管理页面

第六章 系统测试

面对制作完成的系统,接下来需要开展的工作是对其进行测试。这个环节需要利用各种方式,去发现目标系统中存在的问题,并及时分析和解决,让目标系统最终可以被用户验收。
6.1 系统测试的实施
接下来进行的测试内容,包括确认测试和验收测试等。
确认测试:这个环节的主要任务就是对制作的系统的有效性进行确认,所以它也有另外一个名字,就是有效性测试。测试人员通过复审目标系统的功能还有其运行环境的配置,来检验目标系统跟前面分析设计的用户需求说明书是否匹配。
验收测试:在实际中,通常需要开发员,质量保证人员以及系统面向的用户参与到这个环节。让用户在系统的操作界面上通过设计的用例进行数据录入,检测系统的输出结果。
回归测试:主要用于测试变更的软件。在保证改动的系统不会产生其他错误的情况下,对系统修改的部分进行正确性验证。
6.2 系统测试用例
很多时候,需要对系统中的指定功能进行数据检验,检验不同数据的录入,其产生的结果或反馈的信息跟预定的需求是否有差别。
6.2.1 登录功能测试
作为疫情物资管理系统的入门门槛,其登录功能扮演着相当重要的作用,可以把非条件用户置之门外保护系统安全,同时还能引导不同用户进入不同的操作区。本系统的登录功能测试表如下。每当有不同形式的数据进行录入时,该系统会对每条数据进行判断。准确录入的数据才会让访问者登录进入功能操作区。
表6.1 登录功能测试表
测试内容 录入的数据 预期结果 最终结果

输入用户表的账号和密码 账号:user
密码:user 登录成功 登录成功
随意输入账号和密码 账号:uuu
密码:uuu 提示信息错误 提示信息错误
输入用户表的账号,密码随意输入 账号:user
密码:uuu 提示账号密码不匹配 提示账号密码不匹配
随意输入账号,输入用户表的密码 账号:uuu
密码:user 提示账号密码不匹配 提示账号密码不匹配
6.2.2 添加部门功能测试
部门信息表里面存放了很多部门名称信息,且这些部门名称都不一致,管理员在登记部门信息时,如果登记了部门表里面的部门名称,则不会成功添加部门,相反,管理员就可以成功添加部门。
表6.2 添加部门功能测试表
测试内容 录入的数据 预期结果 最终结果
输入部门表的部门名称 部门名称:财务部 操作失败 操作失败
输入部门表没有的部门名称 部门名称:行政部 操作成功 操作成功
6.3 测试的结果
在对疫情物资管理系统进行测试后,发现本系统具有的统一界面和清楚的导航设计让系统具备了易操作性的特点,在与用户需求进行比较后,发现本系统具备的功能比较完善,在运行环境中可以正常使用,这里运行环境与本系统的生产环境相似。总之,疫情物资管理系统测试合格。

结 论

为了完成疫情物资管理系统的设计实现,我重新回顾了以往的专业知识,并重点学习了编程技术,其中有JAVA语言的学习,也学习了MySQL数据库的运用,还有界面布局等方面的知识。有了这些知识的填充,并依靠导师的帮助,我才能够独立设计制作本系统。
系统在开发前,先要确定使用用户是谁,以及确定程序的适用范围等,如此才可以对系统定位。只有准确定位系统,才可以节省开发时间,并省去一些不必要的麻烦。系统的功能是对使用用户进行调研获取,当然,系统的功能也采取了历来的一些相似系统的功能。而系统设计则是基于功能需求分析,这也是比较重要的环节,需要认真对待。因为此设计方案对后期的编码起着重要的作用,不仅可以降低编码期间的出错率,还可以提高编码速度,毕竟系统的实现部分,基本都是参照系统设计的方案进展的。当系统编码完成,也会进行最后的测试环节,当开发的系统检验合格之后,系统开发才能够结束。本系统的开发也是遵循这样的流程,即分析功能,设计系统模块,设计数据库,实现系统功能,测试系统等。
本系统具有较完善的功能,使用者基本可以使用本系统去处理相关数据,而且系统可以较长时间进行工作。对于系统的操作,使用者也易于上手,毕竟本系统在设计时,就对页面中的导航模块进行重点设计,把页面中的重点区域用来展示系统的导航功能,让使用者进入系统界面,可以第一时间发现系统的导航,并使用系统的导航功能找到需要的内容。对于系统的安全性,本系统在保存用户账号密码数据时,也是用当下流行的MD5加密技术来保障数据安全,也在系统的登录模块设置了安全验证规则,引导符合条件的用户进入系统指定页面。
本系统具备一定的优势的同时,它也会暴露出自身的缺陷,比如,本系统在编码过程中,对使用的变量的命名不方便记忆,并且也不规范,代码编写也不规范,缺少关键代码的注释等,还有系统的目录规划不合理等问题。
综上所述,本系统还需要时间来完善,本人也需要加强技术知识的学习与实践,在今后的工作中,我也需要注重个人能力的培养,及时吸收编程技术知识,然后运用先进成熟的技术去重构本系统,让系统日益完善。

参考文献

[1]李启玲.物资管理系统在供水单位物资管理中的应用[J].农业科技与信息,2021(02):118-120.
[2]郭保亮.电力施工企业物资管理系统对项目采购的管理[J].中国物流与采购,2020(18):58.
[3]李青.基于电子互联网的物资管理系统设计[J].价值工程,2020,39(20):119-120.
[4]张明亮.JSP技术在互联网软件中的应用优势研究[J].软件工程,2019,22(10):19-21+6.
[5]赵晓丹.网页开发中的JSP技术分析[J].南方农机,2019,50(20):247-248.
[6]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2015,42(11):5-7.
[7]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.
[8]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2016,21(13):47-49.
[9]秦超,潘猛,张鹏.处理MySQL的典型问题[J].网络安全和信息化,2018(04):70-72.
[10]李仕伟,周坤,刘新蕊,李宝林.MySQL数据库优化技术[J].信息与电脑(理论版),2016(12):173-174.
[11]张云健.计算机软件Java编程特点及其技术应用[J].信息与电脑(理论版),2019(13):97-98.
[12]刘星淇.Java编程语言的特点与应用分析[J].通讯世界,2019,26(09):149-150.
[13]岳青玲.Java面向对象编程的三大特性[J].电子技术与软件工程,2019(24):239-240.
[14]谢懿.计算机软件JAVA编程特点及其技术分析[J].农家参谋,2020(01):166.
[15]乔岚.基于MyBatis和Spring的JavaEE数据持久层的研究与应用[J].信息与电脑(理论版),2017(08):73-76.
[16]邹红霆.基于SSM框架的Web系统研究与应用[J].湖南理工学院学报(自然科学版),2017,30(01):39-43.
[17]于万波.网站开发与应用案例教程[M].清华大学出版社,2015.
[18]Xuan Yin, Wei Zheng, Ming Zhang, Jing Zhang, G. Zhuang, T. Ding. A modularized operator interface framework for Tokamak based on MVC design pattern[J]. Fusion Engineering and Design, 2018.
[19]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea. Efficient runtime aspect weaving for Java applications[J]. Information and Software Technology,2018,100.

致 谢

自从来到了这个校园,我觉得我改变了很多,我的性格也变得开朗,我的知识也得到了增长,还有我对社会的认知也得到了改变。因为,处于这个校园中,有来自五湖四海的同学们,我们都可以在一起学习,课后还可以互相攀谈,感觉这样的生活真的很有趣,还有校园的老师们,他们都具备较高的学历,拥有丰富的专业知识,而且他们一直都很认真的教授我们知识。
到现在为止,我都不后悔来到这个学校,因为大学校园跟高中时所处的环境不一样,大学校园的时间节点是碎片化的,可以根据自身情况综合利用,可以用来学习知识,也可以用来去社会上实践,增长社会见识,为毕业后的工作打下基础等。然而,这一切都即将结束,因为毕业了就要离开校园,真正步入社会进行生活。
在这最后的时间里,我想对身边的人表示感谢。首先是导师,他陪伴着我度过了毕业设计制作的这段时间,还提供给我各种帮助,其中有系统选题方面的建议,功能分析上的意见,编程技术的指导等,还时不时关怀我,让我不要焦躁,设计制作的每个环节都督促我认真完成,遇到问题后,先尝试自行解决,没有思路时,导师就会帮助我,并提供解决问题的办法。所以,我能上交项目程序,导师功不可没。其次是班上的同学,虽然在这几年的朝夕相处中,我们彼此互相关怀,遇到问题,相互帮助,这些同学丰富了我的校园生活。最后是校园的老师们,他们辛苦教学,传授知识给我们,才让我们能够成长,我们也学到了本事,面对学习中或生活中的问题,我们也有能力去解决。
总之,面临毕业,我希望我的老师们可以心想事成,班上的同学都能找到好工作,我的母校前景更辉煌!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全能数据分析软件Tableau Desktop 2019 mac功能亮点

Tableau Desktop 2019 mac是一款专业的全能数据分析工具&#xff0c;可以让用户将海量数据导入并记性汇总&#xff0c;并且支持多种数据类型&#xff0c;比如像是编程常用的键值对、哈希MAP、JSON类型数据等&#xff0c;因此用户可以将很多常用数据库文件直接导入Tableau Deskt…

光栅化渲染:优化技巧

我们在前面的章节中介绍的所有技术都是光栅化算法的基础。 不过&#xff0c;我们只是以非常基本的方式实现了这些技术。 GPU 渲染管道和其他基于光栅化的生产渲染器使用相同的概念&#xff0c;但它们使用这些算法的高度优化版本。 展示用于加速算法的所有不同技巧远远超出了介绍…

富时中国a50指数期货:探寻涨跌脉络

富时中国A50指数期货是衡量中国大陆50家最具代表性上市公司的指数。作为衍生品交易市场的重要一环&#xff0c;A50指数期货是投资者关注的焦点之一。其涨跌走势直接反映了中国大陆股市的整体表现和投资者情绪。 A50指数期货简介 富时中国A50指数期货由新加坡交易所&#xff0…

免费且好用的 MySQL 客户端

DBeaver 支持 Mac、Windows、Linux&#xff0c;提供 Eclipse 插件。社区版免费&#xff0c;支持主流的关系型数据库 官网地址&#xff1a;DBeaver Community | Free Universal Database Tool MySQL WorkBench MySQL WorkBench 是官方出品的客户端&#xff0c;支持 Mac、Windo…

AntDB数据库参加ACDU中国行杭州站,分享数据库运维实践与经验

关于ACDU与中国行&#xff1a; ACDU是由墨天轮社区举办的中国数据库联盟的品牌活动之一&#xff0c;在线下汇集数据库领域的行业知名人士&#xff0c;共同探讨数据库前沿技术及其应用&#xff0c;促进行业发展和创新的平台&#xff0c;也为开发者们提供友好交流的机会。 AntD…

SpringCloud微服务(简略笔记二)

Docker 概念 docker和虚拟机的差异 * docker是一个系统进程&#xff1b;虚拟机是在操作系统中的操作系统 * docker体积小&#xff0c;启动速度&#xff0c;性能好&#xff0c;虚拟机体积大&#xff0c;启动速度慢&#xff0c;性能一般 镜像和容器 镜像&#xff08;image&…

使用 Python 实现简单的爬虫框架

爬虫是一种自动获取网页内容的程序&#xff0c;它可以帮助我们从网络上快速收集大量信息。在本文中&#xff0c;我们将学习如何使用 Python 编写一个简单的爬虫框架。 一、请求网页 首先&#xff0c;我们需要请求网页内容。我们可以使用 Python 的 requests 库来发送 HTTP 请…

【STM32F103】ADC 模拟数字转换器

ADC ADC&#xff08;Analog-to-Digital Converter&#xff09;&#xff0c;模拟-数字转换器&#xff0c;也叫模数转换器&#xff0c;可以将连续变化的模拟信号转换为离散的数字信号。 我们可以外接上将采集信号转为模拟信号的模块&#xff0c;如光敏电阻传感器&#xff0c;热…

仓库拣货应用案例

多个订单的光挑选 PTL用于WIP&#xff08;正在工作&#xff09;机架 首先&#xff0c;我们的过程。 制造工厂很大&#xff0c;有大量的制造工具&#xff0c;非常密集&#xff0c;而且大量的高设备可能会阻碍无线电 晶片储存在一个密封的载体中&#xff0c;它们从一台机器运输…

Windows CMD cd命令无法使用,路径无法更改解决方法

故障表现&#xff1a; 1.cmd使用命令cd更改路径后&#xff0c;路径仍然显示为初始路径 解决方法&#xff1a; 1.先更改至指定盘符&#xff0c;再使用cd命令 2.使用cd命令后&#xff0c;再更改至指定盘符

[C++进阶]---AVL树模拟实现

目录 1.AVL树的概念2.AVL树模拟实现2.1AVL树节点的定义2.2AVL的插入2.3AVL树的旋转2.3.1左单旋2.3.2右单旋2.3.3右左双旋2.3.3.1旋转情况分析2.3.3.2平衡因子更新分析 2.3.4右左双旋2.3.4.1旋转情况分析2.3.4.2平衡因子更新分析 2.3.5AVL树的验证 3.AVL模拟实现源码4.总结 1.AV…

jetpack compose 学习(2)

jetpack compose 学习(1) 学会了如何创建一个compose项目,并成功run了起来 今天学习run起来的界面配置 找启动界面,当然是先找到界面的配置文件: androidManifest.xml 这个文件,然后通过启动项找到主界面, 第二步 按住ctrl 鼠标指向MainActivity 即可跳转主界面 进入后的界面…

_try_finally原理探究

无论try结构体中是什么代码&#xff0c;都会执行finally里面的代码 局部展开 当try里面没有异常&#xff0c;而是return、continue、break等语句时&#xff0c;就不会走_except_handle3这个函数&#xff0c;而是调用_local_unwind2进行展开 然后调用[ebx esi*4 8] 跟进去就到…

MySQL低版本中:字符串中的数字、英文字符、汉字提取

我们如何提醒一个字段中的汉字和数字呢 高版本指mysql8.0以上 使用sql语句 SELECT REGEXP_REPLACE(column_name, [^\\p{Han}], ) AS chinese_characters FROM table_name;其中 column_name指名称列&#xff0c;table_name是表名 2.低版本使用 需要新建函数 DELIMITER $$DR…

Java调用百度翻译API和调用有道翻译API进行翻译

目录 界面编写 调用百度API 调用有道API 源代码 界面编写 我们首先需要设计出这个翻译程序的GUI界面&#xff0c;我们写一个类继承自JFrame类&#xff0c;用来展示程序的主窗口&#xff0c;设置好窗口的名称和大小&#xff0c;设置在关闭窗口时终止程序&#xff0c;为了界…

高效数组处理的Numpy入门总结

NumPy是Python中一个重要的数学库&#xff0c;它提供了高效的数组操作和数学函数&#xff0c;是数据科学、机器学习、科学计算等领域的重要工具。下面是一个简单的NumPy学习教程&#xff0c;介绍了NumPy的基本用法和常用函数。 安装NumPy 在使用NumPy之前&#xff0c;需要先安…

删除Tencent files

QQ或者TIM卸载后,它还会残留在电脑上.要修改会说需要权限,修改权限又会重新变回去.这时候可以把整个文档放到其它盘,然后就可以删除Tencent files 方法是右键文档 选中属性–位置 然后就可以改掉了

【后端学前端】第三天 css动画 动态搜索框(定位、动态设置宽度)

1、学习信息 视频地址&#xff1a;css动画 动态搜索框&#xff08;定位、动态设置宽度&#xff09;_哔哩哔哩_bilibili 2、源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>test3</title>…

14:00面试,14:08就出来了,问的问题有点变态。。。。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

Flutter的BuildContext简介

文章目录 BuildContext 简介BuildContext的主要作用 BuildContext 简介 BuildContext是Flutter中的一个重要概念&#xff0c;表示当前Widget在树中的位置上下文。它是一个对Widget树的一个位置的引用&#xff0c;用于查找、访问和操作该位置上的相关信息。每个Widget都有一个关…