随着计算机科学技术的日渐成熟,人们已经深刻地认识到了计算机在各个领域中发挥的功能的强大,计算机已经进入到了人类社会发展的各个领域,并且发挥着十分重要的作用。目前危险品监管系统是一项系统而复杂的工作,它需要一个团队互相配合、分工协作。在该领域,传统的手工存取或者借助一些软件对危险品监管涉及到的信息进行管理方式常常不能对危险品监管系统管理各种信息进行实时跟踪与管理,为进一步完善软件危险品监管系统信息管理流程及资源的统一管理,更加全面、有效的服务于软件开发过程,更好的方便软件开发过程管理,故开发此危险品监管系统。
论文针对在危险品监管信息数据规模大,管理员人员和用户需要对危险品监管系统管理涉及到的信息进行管理的需求,设计了危险品监管系统的框架,给出了危险品监管系统的总体设计,并对危险品监管系统的架构及关键模块的实现过程进行了详细论述。采用Java语言和MySQL数据库技术,基于springboot框架实现了一个完整系统的设计,为使用者提供了良好的危险品监管系统。
关键词:危险品监管系统;Java;MySQL;springboot框架
Springboot Dangerous Goods Supervision System
Abstract
With the gradual maturity of computer science and technology, people have deeply realized the powerful functions that computers play in various fields. Computers have entered various fields of human social development and play a very important role. At present, the hazardous material supervision system is a systematic and complex task that requires a team to cooperate with each other and divide responsibilities. In this field, the traditional manual access or management of information related to hazardous materials supervision with some software often cannot track and manage all kinds of information managed by the hazardous materials supervision system in real time. In order to further improve the unified management of information management process and resources of the software hazardous materials supervision system, more comprehensively and effectively serve the software development process, and better facilitate the management of software development process, Therefore, this hazardous material supervision system has been developed.
The paper addresses the need for administrators and users to manage the information involved in the management of hazardous material supervision systems due to the large scale of hazardous material supervision information data. The framework of the hazardous material supervision system is designed, and the overall design of the hazardous material supervision system is provided. The architecture of the hazardous material supervision system and the implementation process of key modules are discussed in detail. Using Java language and MySQL database technology, a complete system design is implemented based on the spring boot framework, providing users with a good dangerous goods supervision system.
Keywords: Dangerous goods supervision system; Java; MySQL; Springboot framework
第1章 绪论
由于企业的危险品管理往往是复杂、繁琐的。所掌握的危险品种类众多,采购、出入库等管理的各有差异,各个企业之间的管理体制不尽相同,各类危险品计划报表繁多,因些危险品管理必须实现计算化,而且必须根据企业的具体情况制定相应的方案以便提高工作效率。以往企事业仓库管理员由于缺乏适当的软件而给其工作上如危险品的采购、出库、验收入库,根据企业各部门的需要来发送危险物品品,并随时按期时行库存盘点,根据企业领导和自身管理的需要进行统计分析,产生相应的不便,期间复杂,繁琐的业务让管理人员极不方便。因此设计一套基于java 技术的危险品监管系统十分重要,能够为企业用户提供充足的信息和快捷的查询手段。
大部分企业的危险品监管流程还是需要人工操作,这种流程因缺少安全的信息技术而存在一定缺陷,老旧的人工管理技术已经逐渐被快速安全的计算机危险品监管系统所取代,“危险品监管系统”是对于仓库内的人员、采购、出库、入库等信息。危险品监管系统解决了传统人工管理效率低下和数据不安全的问题,越来越多的企业正在普及和使用危险品监管系统。国内的WMS ( )和欧美国家相比还存在一定的差距,并且大多数企业虽然生产的产品种类繁多,但是这些企业的市场规模相对较少。相关数据显示,国内的企业部门多,协调性差,且企业的管理数量也较庞大。虽然当前企业的生产经验较为丰富,但是对于企业的仓储等物料的管理还在诸多不足之处。查阅相关文献资料发现,有关危险化学品的危险品监管系统很少,而且传统的C/S(Client/Server)模式危险品监管系统由于使用存在局限性也逐渐被B/S( BrowserlServer)模式替代。
1.3论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景,系统研究现状和本文的研究内容与主要工作。
第二章:系统需求分析。第二章主要从系统的用户、功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
2.1开发技术
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。
2.2 Java简介
Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。
Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。
2.3 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
2.5 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
2.6 SpringBoot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
第3章 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
3.1 可行性分析
经济可行性在此仅代表网站的运维成本,开发成本不在此考虑。
目前该模式下的危险品监管系统的数量日益增多,网上进行学生志愿相关信息的查询管理变得平民化普及化,用户人数呈上升趋势,当用户人数庞大了,运维成本可以由广告费进行填补,包括开发成本。
所以经济可行性没有问题。
(2)操作可行性:
此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
(3)技术可行性:
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的Java语言能够迎合所有电子商务系统的搭建,系统技术设备的可扩展性可以由springboot构架的资源优势予以促成。我采用了编译器eclipse+java+mysql用以运行整体程序。
综上所述技术可行性也没有问题。
(4)法律可行性:
从开发者角度来看,springboot框架是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。
从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。
综上所述法律可行性也没有问题。
3.2 系统流程分析
业务流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
3.2.1 数据增加流程
用户成功登入系统后就能够实现增加数据的操作,增加数据的编号是特定的,系统生成,用户不能随意填写,除了编号以外,其他增加信息用户自己填写,填写后的信息经过系统验证,验证合法通过就显示增加数据成功了,相反的话,就没有增加成功,图3-1显示的就是在增加数据时的流程。
图3-1 数据增加流程图
3.2.2 数据修改流程
数据修改时的流程和上面介绍的数据增加时的流程差不多,如图3-2所示。
图3-2 数据修改流程图
3.2.3 数据删除流程
如果系统里面存在一些没有用的数据的话,相关的管理人员还可以对这些数据进行删除,图3-3就是数据删除时的流程图。
图3-3 数据删除流程图
3.3 系统功能分析
3.3.1 功能性分析
按照危险品监管系统的角色,我划分为了普通管理模块,社长模块和管理员模块这两大部分。
仓库员工管理模块:
(1)仓库员工注册登录:想要实现危险品信息或出库记录等信息的查看,就必须有这个系统的账号,如果没有账号的话,可以注册成员工用户进行相关的操作,同时仓库员工还可以通过对个人信息以及密码进行修改操作。
(2)查看危险品监管系统的首页信息:危险品监管系统的首页信息包含了后台首页、危险品信息、采购记录、出库记录、事故信息、系统问题、保管知识等。
(3)危险品信息:仓库员工点击“危险品信息”这个菜单按钮,可查看危险品编号、危险品名、危险品分类、供应商、计量单位、单价、仓库号等详细信息,并可根据需要进行增删改查等操作。
(4)采购记录:仓库员工点击“采购记录”这个按钮,可查看采购数量、采购日期、采购备注、危险品编号、危险品名、危险品分类、供应商、计量单位等详细信息,并可根据需要进行增删改查等操作。
(5)出库记录:仓库员工点击“出库记录”这个按钮,可查看出库数量、出库日期、出库备注、危险品编号、危险品名、危险品分类、供应商、计量单位、等详细信息,并可根据需要进行增删改查等操作。
(6)事故信息:仓库员工点击“事故消息”这个按钮,可以查看事故名称、发生日期、事故地点、事故责任人、损失金额、损失详情、发生原因、改善措施等详细信息,并可根据需要进行增删改查等操作。
(7)系统问题:仓库员工点击“系统问题”这个按钮,可以查看管理员发布的系统问题详细信息。
(8)保管知识:仓库员工点击“保管知识”这个按钮,可以查看管理员发布的保管知识详情。
管理员管理模块:
(1)系统用户管理:管理员可以对危险品监管系统中的管理员以及仓库员工用户进行添加、查询、重置或删除操作。
(2)模块管理:在“模块管理”这一菜单下,可以对危险品分类+危险品信息+采购记录+出库记录+事故信息+系统问题+保管知识这七个子模块进行管控。
3.3.2 非功能性分析
危险品监管系统的非功能性需求比如危险品监管系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1危险品监管系统非功能需求表
安全性 | 主要指危险品监管系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指危险品监管系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响危险品监管系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着危险品监管系统的页面展示内容进行操作,就可以了。 |
可维护性 | 危险品监管系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
3.4 系统用例分析
通过3.3功能的分析,得出了本危险品监管系统的用例图:
图3-4就是仓库员工角色的用例展示。
图3-4 危险品监管系统仓库员工角色用例图
图3-5 就是管理员角色的用例展示。
图3-5危险品监管系统管理员角色用例图
3.5本章小结
本章主要通过对危险品监管系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个危险品监管系统要实现的功能。同时也为危险品监管系统的代码实现和测试提供了标准。
第4章 系统设计
本章主要讨论的内容包括危险品监管系统的功能模块设计、数据库系统设计。
4.1 系统架构设计
本危险品监管系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图4-1危险品监管系统系统架构设计图
表现层(UI):又称UI层,主要完成本危险品监管系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本危险品监管系统时的舒适度。UI的界面设计也要适应不同版本的危险品监管系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本危险品监管系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本危险品监管系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本危险品监管系统的数据存储和管理功能。
4.2 系统功能模块设计
4.2.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本危险品监管系统中的用例。那么接下来就要开始对本危险品监管系统的架构、主要功能和数据库开始进行设计。危险品监管系统根据前面章节的需求分析得出,其总体设计模块图如图4-2所示。
图4-2 危险品监管系统功能模块图
4.2.2用户模块设计
本系统的用户包括管理员系统和用户。两个用户模块的功能基本是相同的,用户比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,用户模块结构图为例进行分析,如下图:
图4-3用户模块结构图
4.2.3危险品信息管理模块设计
危险品监管系统是中需要存储不少危险品信息,其模块功能结构,具体的结构图如下:
图4-4危险品信息模块结构图
4.3 数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
4.3.1 数据库概念结构设计
下面是整个危险品监管系统中主要的数据库表总E-R实体关系图。
图4-6 危险品监管系统总E-R关系图
4.3.2 数据库逻辑结构设计
通过上一小节中危险品监管系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表accident_information (事故信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | accident_information_id | int | 10 | 0 | N | Y | 事故信息ID | |
2 | accident_name | varchar | 64 | 0 | Y | N | 事故名称 | |
3 | date_of_occurrence | date | 10 | 0 | Y | N | 发生日期 | |
4 | accident_location | varchar | 64 | 0 | Y | N | 事故地点 | |
5 | person_responsible_for_the_accident | varchar | 64 | 0 | Y | N | 事故责任人 | |
6 | amount_of_damages | int | 10 | 0 | Y | N | 0 | 损失金额 |
7 | loss_details | text | 65535 | 0 | Y | N | 损失详情 | |
8 | cause_of_occurrence | text | 65535 | 0 | Y | N | 发生原因 | |
9 | improvement_measures | text | 65535 | 0 | Y | N | 改善措施 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表custody_of_knowledge (保管知识)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | custody_of_knowledge_id | int | 10 | 0 | N | Y | 保管知识ID | |
2 | title | varchar | 64 | 0 | Y | N | 标题 | |
3 | applicable_items | varchar | 64 | 0 | Y | N | 适用物品 | |
4 | storage_requirements | text | 65535 | 0 | Y | N | 保管要求 | |
5 | storage_taboos | text | 65535 | 0 | Y | N | 保管禁忌 | |
6 | storage_conditions | text | 65535 | 0 | Y | N | 保管条件 | |
7 | operation_details | text | 65535 | 0 | Y | N | 操作详情 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hazardous_material_classification (危险品分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hazardous_material_classification_id | int | 10 | 0 | N | Y | 危险品分类ID | |
2 | classification_name | varchar | 64 | 0 | Y | N | 分类名称 | |
3 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
4 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hazardous_material_information (危险品信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hazardous_material_information_id | int | 10 | 0 | N | Y | 危险品信息ID | |
2 | dangerous_goods_number | varchar | 64 | 0 | N | N | 危险品编号 | |
3 | dangerous_product_name | varchar | 64 | 0 | Y | N | 危险品名 | |
4 | hazardous_material_classification | varchar | 64 | 0 | Y | N | 危险品分类 | |
5 | supplier | varchar | 64 | 0 | Y | N | 供应商 | |
6 | unit_of_measurement | varchar | 64 | 0 | Y | N | 计量单位 | |
7 | unit_price | int | 10 | 0 | Y | N | 0 | 单价 |
8 | warehouse_no | varchar | 64 | 0 | Y | N | 仓库号 | |
9 | inventory_quantity | int | 10 | 0 | Y | N | 0 | 库存数量 |
10 | inventory_remarks | text | 65535 | 0 | Y | N | 库存备注 | |
11 | storage_requirements | text | 65535 | 0 | Y | N | 保管要求 | |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表outbound_records (出库记录)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | outbound_records_id | int | 10 | 0 | N | Y | 出库记录ID | |
2 | dangerous_goods_number | varchar | 64 | 0 | Y | N | 危险品编号 | |
3 | dangerous_product_name | varchar | 64 | 0 | Y | N | 危险品名 | |
4 | hazardous_material_classification | varchar | 64 | 0 | Y | N | 危险品分类 | |
5 | supplier | varchar | 64 | 0 | Y | N | 供应商 | |
6 | unit_of_measurement | varchar | 64 | 0 | Y | N | 计量单位 | |
7 | outbound_quantity | int | 10 | 0 | Y | N | 0 | 出库数量 |
8 | delivery_date | date | 10 | 0 | Y | N | 出库日期 | |
9 | outbound_remarks | text | 65535 | 0 | Y | N | 出库备注 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表procurement_records (采购记录)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | procurement_records_id | int | 10 | 0 | N | Y | 采购记录ID | |
2 | dangerous_goods_number | varchar | 64 | 0 | Y | N | 危险品编号 | |
3 | dangerous_product_name | varchar | 64 | 0 | Y | N | 危险品名 | |
4 | hazardous_material_classification | varchar | 64 | 0 | Y | N | 危险品分类 | |
5 | supplier | varchar | 64 | 0 | Y | N | 供应商 | |
6 | unit_of_measurement | varchar | 64 | 0 | Y | N | 计量单位 | |
7 | purchase_quantity | int | 10 | 0 | Y | N | 0 | 采购数量 |
8 | purchase_date | date | 10 | 0 | Y | N | 采购日期 | |
9 | procurement_remarks | text | 65535 | 0 | Y | N | 采购备注 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表system_issues (系统问题)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | system_issues_id | int | 10 | 0 | N | Y | 系统问题ID | |
2 | application_status | varchar | 64 | 0 | Y | N | 应用现状 | |
3 | existing_problems | varchar | 64 | 0 | Y | N | 存在问题 | |
4 | required_technology | varchar | 64 | 0 | Y | N | 所需技术 | |
5 | is_it_resolved | varchar | 64 | 0 | Y | N | 是否解决 | |
6 | improvement_plan | text | 65535 | 0 | Y | N | 改进计划 | |
7 | improvement_results | text | 65535 | 0 | Y | N | 改善结果 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表warehouse_staff (仓库员工)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | warehouse_staff_id | int | 10 | 0 | N | Y | 仓库员工ID | |
2 | employee_name | varchar | 64 | 0 | N | N | 员工姓名 | |
3 | employee_no | varchar | 64 | 0 | Y | N | 员工工号 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
整个危险品监管系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
第5章 系统详细设计
危险品监管系统的详细设计与实现主要是根据前面的危险品监管系统的需求分析和危险品监管系统的总体设计来设计页面并实现业务逻辑。主要从危险品监管系统界面实现、业务逻辑实现这两部分进行介绍。
5.1仓库员工功能模块
5.1.1 仓库员工后台首页界面
当仓库员工进入危险品监管系统的时候,可以看到后台首页、模块管理(危险品信息、采购记录、出库记录、事故信息、系统问题、保管知识)个人信息等功模块,并且还可以对其进行相应的操作管理。其主界面展示如下图5-1所示。
图5-1 后台首页界面图
5.1.2 仓库员工登录界面
危险品监管系统中的仓库员工是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到危险品监管系统的首页中;否则将会提示相应错误信息,用户登录界面如下图5-2所示。
图5-2仓库员工登录界面图
5.1.3危险品信息界面
仓库员工点击“危险品信息”这个菜单按钮,可查看危险品编、危险品名、危险品分类、供应商、计量单位、单价、仓库号等详细信息,并可根据需要进行增删改查等操作。危险品信息界面如下图5-4所示。
图5-3添加危险品信息界面图
5.1.4采购记录界面
采购记录:仓库员工点击“采购记录”这个按钮,可查看采购数量、采购日期、采购备注、危险品编号、危险品名、危险品分类、供应商、计量单位等详细信息,并可根据需要进行增删改查等操作,采购记录界面如下图5-4所示。
图5-4添加采购记录界面图
5.1.5 出库记录详情界面
仓库员工点击“出库记录”这个按钮,可查看出库数量、出库日期、出库备注、危险品编号、危险品名、危险品分类、供应商、计量单位、等详细信息,并可根据需要进行增删改查等操作,出库记录界面如图5-5所示。
图5-5 添加出库记录界面图
仓库员工点击“事故信息”这个按钮,可以查看事故名称、发生日期、事故地点、事故责任人、损失金额、损失详情、发生原因、改善措施等详细信息,并可根据需要进行增删改查等操作。事故信息界面如图5-7 5-8所示。
图5-7 事故信息管理界面图
图5-8添加事故信息界面图
5.2管理员功能模块
5.3.1 管理登录界面
管理员登录,管理员通过输入界面上显示的信息然后点击登录就能登录到系统进行系统的使用了,登录界面如下图5-9所示。
5.3.2 管理员功能界面
管理员登录进入危险品监管系统之后,就可以对所有的信息进行查看,可以查看到后台首页、系统用户(管理员、仓库员工)模块管理(危险品分类、危险品信息、采购记录、出库记录、事故信息、系统问题、保管知识)、个人信息等,并且还可以对其进行相应的操作管理,界面如下图5-10所示。
图5-10管理员功能界面图
5.3.3系统用户管理界面
危险品监管系统中的管理人员在“系统用户管理”这一菜单是中可以对仓库员工用户以及管理员进行管控,这里以仓库员工管理为例。界面如下图5-11所示。
图5-11系统用户管理界面图
5.3.4 危险品分类管理界面
危险品监管系统中的管理人员在“模块管理”中的“危险分类”这一菜单下可以添加分类名称进行管理,其管理界面如下图5-12所示。
危险品监管系统中的管理人员在“模块管理”中的“系统问题”这一菜单下可以添加应用现状、存在问题、所需技术、是否解决、改进计划、改善结果等信息,并可根据需要进行增删改查等操作,其界面如图5-13所示。
危险品监管系统中的管理人员在“模块管理”中的“保管知识”这一菜单下可以添加标题、适用物品、保管要求、保管禁忌、保管条件、操作详情等信息,并可根据需要进行增删改查等操作,其界面如图5-14所示。
系统测试包括:用户登录功能测试、危险品信息展示功能测试、危险品信息添加、密码修改功能测试,如表6-1、6-2、6-3、6-4所示:
表6-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
危险品信息查看功能测试:
表6-2 危险品信息查看功能测试表
用例名称 | 危险品信息查看 |
目的 | 测试危险品信息查看功能 |
前提 | 用户登录 |
测试流程 | 点击危险品信息 |
预期结果 | 可以查看到所有危险品信息 |
实际结果 | 实际结果与预期结果一致 |
管理员添加危险品信息界面测试:
表6-3 管理员添加危险品信息界面测试表
用例名称 | 危险品信息添加测试用例 | ||
目的 | 测试危险品信息添加功能 | ||
前提 | 用户正常登录情况下 | ||
测试流程 | 1)管理员点击危险品信息,然后点击添加后并填写信息。 2)点击进行提交。 | ||
预期结果 | 提交以后,页面首页会显示新的危险品信息 | ||
实际结果 | 实际结果与预期结果一致 | ||
实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表6-4 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
6.2 系统测试结果
通过编写危险品监管系统的测试用例,已经检测完毕用户登录功能测试、危险品信息展示功能测试、危险品信息添加、密码修改功能测试,通过这4大模块为危险品监管系统的后期推广运营提供了强力的技术支撑。
在危险品监管系统开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性以及管理等方面进行了分析。总体上证明了系统实施的可行性。
本文总结了危险品监管系统实现背景与意义,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。
[1]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.DOI:10.19695/j.cnki.cn12-1369.2023.03.46.
[2]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.
[3]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.DOI:10.14004/j.cnki.ckt.2022.1517.
[4]贺斌.计算机软件开发中JAVA语言的应用研究[J].中国设备工程,2022(11):247-249.
[5]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0).
[6]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4).
[7]张彬彬,陈俊. 一种应用于企业的危险品管理方法及系统[P]. 重庆市:CN110909993A,2020-03-24.
[8]Margaretha Ohyver,Jurike V. Moniaga,Iwa Sungkawa,Bonifasius Edwin Subagyo,Ian Argus Chandra. The Comparison Firebase Realtime Database and MySQL Database Performance using Wilcoxon Signed-Rank Test[J]. Procedia Computer Science,2019,157(C).
[9]迟海鹏,张怀东,张京军,龚长华,邢希学. 一种用于实验室管理系统的危险品管理方法[P]. 北京:CN107784471A,2018-03-09.
[10]宁宇. 天津港危险品码头安全管理评价研究[D].大连海事大学,2017.
[11]王滨滨,陈阳,朱家俊.基于物联网的危险品监管系统[J].电子技术与软件工程,2017(08):18-19.
[12]吴海英. 航空货运隐含危险品的管理模式研究[D].华东师范大学,2016.
[13]陈实如. 一种危险品管理系统及方法[P]. 北京:CN105574700A,2016-05-11.
[14]韩飞. 海事危险品运输监管系统的设计与实现[D].大连海事大学,2015.
[15].杨传堂主持部安委会专题会议强调:全面系统改进危险品运输安全监管工作 完善制度健全监管有力的立体监督体系[J].交通企业管理,2015,30(09):13.
[16]王锦,周舟,李兴鳌.高校危险品仓库信息化管理系统研究[J].科技视界,2014(17):40-41.DOI:10.19694/j.cnki.issn2095-2457.2014.17.023.
[17]杨明,周汝胜,张同亮,韦俊.危险品网络化信息管理与服务系统探讨[J].物流科技,2014,37(02):74-77.DOI:10.13714/j.cnki.1002-3100.2014.02.024.
[18]孙国庆.内河水路危险品运输安全状况分析与对策[J].交通企业管理,2012,27(06):75-76.
[19]Thomas Barron. Hazardous materials management systems: P2 case studies from Washington State[J]. P2: Pollution Prevention Review,1998,8(4).
[20], 市经委1993年至1996年调研课题简介 北京市工业系统化学危险品管理的现状及对策. 李振兴 主编,北京工业年鉴,企业管理出版社,1997,566,年鉴.
逝者如斯夫,不舍昼夜。转眼间,大学生会员活便已经接近尾声,人面对着离别与结束,总是充满着不舍与茫然,我亦如此,仍记得那年秋天,我迫不及待的提前一天到了学校,面对学校巍峨的大门,我心里充满了期待:这里,就是我新生活的起点吗?那天,阳光明媚,学校的欢迎仪式很热烈,我面对着一个个对着我微笑的同学,仿佛一缕缕阳光透过胸口照进了我心里,同时,在那天我认识可爱的室友,我们携手共同度过了这难忘的两年。如今,我望着这篇论文的致谢,不禁又要问自己:现在,我们就要说再见了吗?
感慨莫名,不知所言。遥想当初刚来学校的时候,心里总是想着工科学校会过于板正,会缺乏一些柔情,当时心里甚至有一点点排斥,但是随着我对学校的慢慢认识与了解,我才认识到了她的美丽,她的柔情,并且慢慢的喜欢上了这个校园,但是时间太快了,快到我还没有好好体会她的美丽便要离开了,但是她带给我的回忆,永远不会离开我,也许真正离开那天我的眼里会满含泪水,我不是因为难过,我只是想将她的样子映在我的泪水里,刻在我的心里。最后,感谢我的老师们,是你们教授了我们知识与做人的道理;感谢我的室友们,是你们陪伴了我如此之久;感谢每位关心与支持我的人。
少年,追风赶月莫停留,平荒尽处是春山。