摘 要
科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用SSM框架建设物流管理系统。
本设计主要实现集人性化、高效率、便捷等优点于一身的物流管理系统,完成个人信息、用户管理、货物仓库、货物类型、入库信息、出库信息、运输信息等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。物流管理系统使用Java语言,采用基于Java的SSM框架进行开发,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介,配合前台HTML+CSS 技术完成系统的开发。本系统依据业务流程,通过各项功能构件的协同操作,解决了传统的系统功能单一,信息相互不能沟通的问题,实现了系统各项功能之间的协同操作,从而提高了物流管理的水平和效率,同时提高了物流管理系统的科学性。
关键词:物流管理,MVVM设计模式,SSM框架
ABSTRACT
The rapid development of technology has caused tremendous changes in people's daily lives, and the rapid development of electronic information technology has popularized and applied the application level of electronic information technology in various fields. The arrival of the information age has become an unstoppable fashion trend, and the history of human development is entering a new era. In practical applications, the working rules and development steps of the application software are used to construct a logistics management system using the SSM framework.
This design mainly implements a logistics management system that combines the advantages of humanization, efficiency, and convenience, completing functional modules such as personal information, user management, cargo warehouse, cargo type, inbound information, outbound information, and transportation information. The system communicates with the server through a browser to achieve data interaction and changes. This system improves work efficiency and reduces errors and omissions in data storage through scientific management and convenient services. The logistics management system uses Java language and adopts the SSM framework based on Java for development. In terms of data, Microsoft's MySQL relational database is mainly used as the data storage medium, and the system development is completed with the foreground HTML+CSS technology. This system, based on business processes and through the collaborative operation of various functional components, solves the problem of traditional system functions being single and information being unable to communicate with each other, achieving collaborative operation between various system functions, thereby improving the level and efficiency of logistics management and enhancing the scientific nature of the logistics management system.
Key words :Logistics management, MVVM design pattern, SSM framework
目 录
1 绪论
1.1 物流管理系统开发背景
1.2 物流管理系统研究现状
1.2.1 国外研究现状
1.2.2 国内研究现状
1.3 研究内容与意义
1.4 内容安排
2 相关技术
2.1 B/S体系工作原理
2.2 框架技术
2.2.1 SSM框架技术
2.2.2 ssm框架各层关系
2.3 MySQL数据库
2.4 本章小结
3 系统需求分析
3.1 业务需求分析
3.2 功能需求分析 9
3.2.1用户管理
3.2.2 货物仓库管理
3.2.3 入库信息管理
3.3 本章小结 12
4 系统功能与数据库设计 13
4.1 系统功能总体设计 13
4.2 系统功能详细设计 13
4.2.1 系统登录设计 14
4.2.2 系统功能设计 14
4.2.3 修改密码设计 15
4.3 数据库设计 16
4.3.1 数据库概念设计
4.3.2 数据库逻辑设计
4.4 本章小结
5 系统实现 18
5.1 用户登录管理 18
5.2 入库信息模块 20
5.3 出库信息模块 22
5.4 货物仓库管理模块 24
5.5 运输信息管理模块 25
5.6 本章小结 30
6 系统测试 32
6.1 测试概述 32
6.2 测试配置 32
6.3 测试用例 32
6.4 测试结果分析 33
7总结展望 34
7.1总结 34
7.2 展望 34
参考文献 35
致 谢 37
1 绪论
1.1 物流管理系统开发背景
伴随着信息的到来,人们生活水平不断提高,对于物质需求也越来越高。在这种情况下,传统物流业已不能满足市场需求了。随着电子商务和现代物流业发展步伐的加快,物流管理行业将迎来新的机遇与挑战,这对企业提出了更高要求,而传统的物流管理模式已经无法适应时代发展潮流了。因此,企业必须改变传统物流管理模式,构建高效的物流系统来应对这一问题。物流管理系统正是为解决此问题而设计的一个管理信息系统。它以现代化信息技术手段实现了快速、准确。低成本的运输服务以及科学的库存控制等功能,在提高企业竞争力方面发挥着重要作用。
1.2 物流管理系统研究现状
随着现代科学技术的迅猛发展,先进的通讯技术、信息技术、网络技术普遍被应用于物流业。在许多西方发达国家,现代物流不仅是一种成熟的理论,而且在实践中也得到了广泛的采用,为企业改造和提升物流技术服务。美国和日本已经走在物流系统发展领域的前列,欧洲的现代物流起步稍晚,但最近在政府部门与企业的重视下也得到了较大发展。
1.2.1 国外研究现状
在美国,普遍应用的信息系统包括交易、需求计划、管理控制及决策分析等方面,并且与配送渠道的其他成员连成一体。这可以减少延迟、错误、人员需求和降低仓储成本,从而提高服务效率,降低物流总成本。目前,美国物流业已建立了电子数据交换系统(EDD)、准时生产制(IT),开发了卫星定位技术GPS、地理信息系统(GSI)、射频标识技术(RF)等新信息技术,并将这些技术应用于物流管理信息系统中。例如,美国联邦快递公司(Federal Express Corporation.简称Fedex),致力于条形码扫描、司机个人电脑和全国无线通信网这三项以信息为基础的技术开发与应用。提供了快速和无差错的信息传输,并能够使托运人或收货人能直接拨通承运人的计算机,以确定某一票递送货物的状况[1][2]。
信息化程度与中国相当的法国通过大力发展现代物流应用软件技术,追求高起点的信息化建设水平,已经取得了显著成效。
1.2.2 国内研究现状
自1999年深圳平湖被评为“中国物流试验基地”及2001年“海尔物流”被有关部门评为“中国物流示范基地”以来,2002 年又有4家企业被评为示范基地和试验基地。其中,最为著名的是“海尔物流”。“海尔物流”负责了整个集团原材料的集中采购、原材料和成品的仓储和配送,可以说,高效率的现代物流系统就意味着企业内部运作的生命线海尔物流信息化的需求也很明确:就是要以订单信息流为中心,使供应链上的信息同步传递,能够实现以速度取胜。
但是,目前像“海尔物流”这样需求明确、系统先进的物流企业在国内目前还不到5%。特别是在珠江三角洲一些传统中小物流企业眼中,信息化如同灵丹妙药。他们认为信息系统可以使其快速变身为现代物流企业,甚至瞬间晋升时下最热门的第三方物流企业(3LP)的行列。于是,很多传统中小物流企业揭竿而起,物流信息化市场一下子涌现出了大批的“发烧友”企业[3][4]。
随着我国物流业快速发展,企业信息化正快速推动着企业竞争力。现代物流业融合了信息技术的成果,先进的高科技手段和科学完善的组织管理已经成为企业物流管理过程中的一个重要组成部分。信息化决策主要靠企业最高管理层。这表明中国企业信息化已经发展到战略层面和市场层面。
物流管理系统整体还存在功能单一、技术落后等是我国目前存在的主要问题。物流信息资源整合能力成为需求企业考查物流软件的主要因素,物流管理系统也正日益成为物流企业发展的“瓶颈”[5]。
1.3 研究内容与意义
物流管理系统研究内容与意义:本物流管理系统的主要包含个人信息、用户管理、货物信息、车辆管理、货物管理、运输管理、数据统计、系统管理等八大基本功能的设计及实现。同时对本系统的性能进行了白盒测试与黑盒测试,从而保障了本物流管理系统的功能正确性。
通过物流管理系统的设计与实现可以方便速达物流对自身的管理,同时可以对相关部门提供一定的帮助作用,并在一定程度上提升了企业的管理水平和工作效率,增强企业核心竞争力。本速达物流管理信息系统将为物流行业提供一种新的管理模式。也必将促进物流业向更高的水平迈进。相信随着该项目的顺利实施,将会产生良好的经济效益与社会效益。本课题具有较强的现实意义。
1.4 内容安排
本文主要分为七部分,每部分的具体内容如下:
第一章:绪论。主要对物流管理系统的研究背景、国内外研究现状和论文的研究内容及意义进行了阐述。
第二章:相关理论技术基础。本章主要对在系统开发过程中用到的系统理论和技术基础进行详细的介绍,从理论技术的层面对系统的开发设计与实现进行了描述。
第三章:需求分析。本章主要在对企业需求的基础上,对企业物流管理系统的业务需求、功能需求和非功能性需求等三个方面进行详细的描述与具体设计设计。
第四章:系统设计。本章在第三章系统需求分析的基础上对本物流管理系统的系统架构、功能架构、详细功能等进行了设计;同时,对本系统中需要用到的数据库进行了详细的设计。
第五章:系统实现。本章在以上分析设计的基础上对系统进行了具体的实现,并将部门功能进行了展示,为系统的后期测试打下基础。
第六章:系统测试。本章主要在系统设计与实现的基础上对系统的实用性进行了测试。
第七章:总结与展望。对本系统的分析、设计、实现过程以及系统的发展趋势进行了总结与展望。
2 相关理论与技术
2.1 B/S体系工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
2.2 框架技术
2.2.1 SSM框架技术
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。
1.1 Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。
1.2 SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
1.3 mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
2.2.2 ssm框架各层关系
DAO层、Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势。
Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。
2.3 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用方法等[12][13]。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理[14][15]。
2.5 本章小结
本章主要描述了在人力资源管理信息系统的构建过程中用到的技术路线。主要有系统采用的架构、系统用到的核心技术和在系统搭建过程中用的数据存储技术,对系统的后期搭建提供有力的技术支撑。
3 系统需求分析
3.1 业务需求分析
针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的电子病例管理系统。
本系统主要包含了、登录模块的实现、用户管理模块、货物仓库模块、入库信息模块、出库信息模块、运输信息模块等多个功能模块。下面分别简单阐述一下这几个功能模块需求。不同的权限对应相应的功能模块的需求,管理员权限的级别是最高的,所以所对应的需求是最多的,根据不同的权限分别简单阐述一下各个权限的需求。
总体业务流程:以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作 。
系统的业务流程如下图所示。
图3-1系统业务流程图
3.2 功能需求分析
物流管理系统的设计与实现是为了让企业的使用者更加方便的进行管理物流相关联的一些信息,同时也有利于用户通过网页系统查看运输管理的信息,进行车辆管理,查看货物信息,能够使得使用者查找某一信息时能节省大量的时间和精力,有效减少不必要的查找时间。
研究物流管理系统的设计与实现,是为了能够拥有界面简洁友好、操作简单以及运行稳定的智能化的一站式物流信息管理方式。系统的需求主要来自员工、客户和管理员。
3.2.1用户管理
用户管理的功能主要有审核用户信息、查看用户信息、更改用户信息和修改用户密码等几个基本的功能。用户管理的功能用例如图3-2所示,用例描述如表3-1所示。
(1)用户管理用例图
图3-2用户管理用例图
(2)用户管理用例描述
用户用例描述如下表所示。
表3-1 用户用例描述
用例名称 | 用户管理 |
参与者 | 管理员 |
描述 | 管理员提供更改密码、更改、查看、审核用户等功能 |
前置条件 |
|
后置条件 | 无 |
事件流 | (1)管理员查看修改用户 (2)管理员添加用户 (3)管理员删除用户 |
补充说明 | (a)新添加的用户不符合要求时会添加失败 (b)修改的用户不符合要求时会修改失败 |
3.2.2货物仓库管理
货物仓库管理的功能主要有修改货物仓库信息、添加货物仓库信息、删除货物仓库信息等几个基本的功能。货物仓库管理的功能用例如图3-2所示,用例描述如表3-2所示。
(1)货物仓库管理用例图
图3-2货物仓库管理用例图
(2)货物仓库管理用例描述
货物仓库用例描述如下表所示。
表3-2 货物仓库用例描述
用例名称 | 货物仓库管理 |
参与者 | 管理员 |
描述 | 管理员提供添加、修改、删除等功能 |
前置条件 |
|
后置条件 | 无 |
事件流 | (1)管理员查看修改货物仓库 (2)管理员添加货物仓库 (3)管理员删除货物仓库 |
补充说明 | (a)新添加的货物仓库不符合要求时会添加失败 (b)修改的货物仓库不符合要求时会修改失败 |
3.2.3入库信息管理
入库管理的功能主要有回复信息、删除货物信息等几个基本的功能。入库管理的功能用例如图3-3所示,用例描述如表3-3所示。
(1)入库管理用例图
图3-3入库管理用例图
(3)入库用例描述如下表所示。
表3-3 入库用例描述
用例名称 | 入库管理 |
参与者 | 管理员 |
描述 | 管理员提供回复、删除等功能 |
前置条件 |
|
后置条件 | 无 |
事件流 | (1)管理员查看修改入库 (2)管理员添加入库 (3)管理员删除入库 |
补充说明 | (a)新添加的入库不符合要求时会添加失败 (b)修改的入库不符合要求时会修改失败 |
3.3 本章小结
本章通过对物流管理系统的业务需求进行认真分析的基础上,画出了系统的主要业务流程图,然后对物流管理系统的功能进行了需求分析并给出了各个功能构件的用例图和用例描述,为后期系统的设计与实现打下坚实基础。
4 系统功能与数据库设计
根据需求分析的结果,需要对系统进行功能结构设计。本章主要是在系统需求分析的基础上实现了物流管理系统的功能性结构设计和后台数据库设计。
4.1 系统功能总体设计
对于本物流管理系统,依据业务需求分析,系统采用当前最为流行的Java+SSM框架技术进行了组合开发设计,系统在开发中主要通过B/S架构,并在系统结构设计中采用JSP技术和Ajax 技术相结合的综合应用,同时将数据挖掘技术运用到系统中,最终设计了系统的总体结构包图如图4-1所示。
图 4-1 系统总体结构包图
4.2 系统功能详细设计
根据系统的总体结构图对本系统的功能进行了详细设计,下面以一些典型的具体功能为例进行详细的描述。
4.2.1 系统登录设计
用户管理是系统的基本功能之一,主要是对系统的登录用户进行管理,系统用户在使用系统的时候需要输入用户的账号和密码进行登录,当用户输入账号和密码以后点击登录,这时系统会自动的将用户所输入的信息和后台的数据库中存储的数据进行对比,如果用户输入的数据经过数据的验证是合法的,则用户可以登录系统。登录后的页面主要是由系统的主界面所构成,在这里用户可以对系统的各种功能根据自己的权限进行有效的操作。而对于自己权限不足的功能则不能够进行操作。如果用户输入的信息和后台的数据库对比后不一致,在该用户则无权对系统进行操作,系统会提示用户重新输入账号和密码,如果输入的次数达到一定时,系统则会自动退出。用户登录系统的活动图如图4-2所示。
图 4-2系统登录活动图
4.2.2 系统功能设计
用户登录后,进入功能页面,可对自己的信息进行管理,包括个人信息、用户管理、货物信息、车辆管理、货物管理、运输管理、数据统计、系统管理。用户使用功能活动图如下图所示。
图4-3用户使用功能活动图
4.2.3修改密码
用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。如下图所示。
图4-4修改密码活动图
4.3 数据库设计
4.3.1 数据库概念设计
数据库是用来存放系统运行的数据信息的,本系统的数据库是通过对物流管理系统的需求分析与功能流程分析的基础上,设计出本系统数据库的主要实体有:个人信息、用户管理、商品信息等基本实体,他们彼此之间相互联系。其对应的实体分别为:
(1)用户实体:用户实体主要由用户的用户名、密码、性别、手机号、用户部门等部分组成。其实体图如图4-5所示。
图4-5用户实体图
- 货物仓库实体:货物仓库实体主要由货物仓库信息的货物名称、货物编号、类型、负责人、接收人、入库日期、入库数量等部分组成。其实体图如图4-6所示。
图4-6货物仓库实体图
- 运输信息实体:运输信息实体主要由货物名称、货物编号、货物类型、接收人、负责人、出库日期、出库数量、目的地、运输进程、签收人、运输详情等部分组成。其实体图如图4-7所示。
图4-7运输信息实体图
4.3.2 数据库逻辑设计
系统中难免会涉及到大量的信息存储,为了更好的对信息进行管理需要用到数据库,可以将数据存放到数据表中。根据数据库的实体图可以设计出物流管理系统的数据库逻辑结构。
表goods_warehouse (货物仓库)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | goods_warehouse_id | int | 10 | 0 | N | Y | 货物仓库ID | |
2 | name_of_goods | varchar | 64 | 0 | Y | N | 货物名称 | |
3 | goods_number | varchar | 64 | 0 | Y | N | 货物编号 | |
4 | type_of_goods | varchar | 64 | 0 | Y | N | 货物类型 | |
5 | inventory_of_goods | int | 10 | 0 | Y | N | 0 | 货物库存 |
6 | picture_of_goods | varchar | 255 | 0 | Y | N | 货物图片 | |
7 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
8 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
9 | cargo_details | 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 | 更新时间 |
表outbound_information (出库信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | outbound_information_id | int | 10 | 0 | N | Y | 出库信息ID | |
2 | name_of_goods | varchar | 64 | 0 | Y | N | 货物名称 | |
3 | goods_number | varchar | 64 | 0 | Y | N | 货物编号 | |
4 | type_of_goods | varchar | 64 | 0 | Y | N | 货物类型 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | delivery_date | date | 10 | 0 | Y | N | 出库日期 | |
7 | outbound_quantity | int | 10 | 0 | Y | N | 0 | 出库数量 |
8 | destination | varchar | 64 | 0 | Y | N | 目的地 | |
9 | transportation_status | varchar | 64 | 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 | 更新时间 |
表transportation_information (运输信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | transportation_information_id | int | 10 | 0 | N | Y | 运输信息ID | |
2 | name_of_goods | varchar | 64 | 0 | Y | N | 货物名称 | |
3 | goods_number | varchar | 64 | 0 | Y | N | 货物编号 | |
4 | type_of_goods | varchar | 64 | 0 | Y | N | 货物类型 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | delivery_date | varchar | 64 | 0 | Y | N | 出库日期 | |
7 | outbound_quantity | int | 10 | 0 | Y | N | 0 | 出库数量 |
8 | destination | varchar | 64 | 0 | Y | N | 目的地 | |
9 | transport_process | varchar | 64 | 0 | Y | N | 运输进程 | |
10 | signee | varchar | 64 | 0 | Y | N | 签收人 | |
11 | transportation_details | 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 | 更新时间 |
表type_of_goods (货物类型)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_of_goods_id | int | 10 | 0 | N | Y | 货物类型ID | |
2 | type_of_goods | 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 | 更新时间 |
表warehousing_information (入库信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | warehousing_information_id | int | 10 | 0 | N | Y | 入库信息ID | |
2 | name_of_goods | varchar | 64 | 0 | Y | N | 货物名称 | |
3 | goods_number | varchar | 64 | 0 | Y | N | 货物编号 | |
4 | type_of_goods | varchar | 64 | 0 | Y | N | 货物类型 | |
5 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人 | |
6 | recipient | varchar | 64 | 0 | Y | N | 接收人 | |
7 | warehousing_date | date | 10 | 0 | Y | N | 入库日期 | |
8 | receipt_quantity | int | 10 | 0 | Y | N | 0 | 入库数量 |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.4 本章小结
本章在前述业务流程的基础上对系统的功能进行了详细设计,并给出了部分功能的活动图,同时根据系统数据存储的要求对系统的数据库进行了详细的逻辑设计和物理设计,为系统的具体实现打下坚实的基础。
5 系统实现
本章采用Java+SSM技术,依据前几章所述的系统业务设计、系统功能设计和数据库设计等,实现物流管理系统,并将实现结果进行展示。
5.1 用户登录管理
在物流管理系统中,为了保证系统操作的安全性,设计了系统用户的后台登录(如图5-1所示)功能。用户在使用系统时需要首先输入预先分配好的账号和密码,点击“登录”按钮,这时系统会自动将用户的信息与后台数据库中的信息进行比较,如果用户输入的信息和后台数据库中的信息匹配的话则可以进入物流管理系统的主界面对系统进行操作,如果输入的信息和后台数据库中的数据不匹配则返回到登录界面,提醒用户重新输入账号和密码信息。通过该功能的实现可以尽可能的保证系统中数据的安全性和真实性。
图 5-1用户登录界面
登录成功后用户便进入到物流管理系统的主界面(如图5-2所示),在本界面中用户可以对系统的相应功能进行操作,本系统主要功能有用户管理、货物仓库、货物类型、入库信息、出库信息、运输信息等九个核心功能构件组成,不同的用户可以根据不同的权限操作不同的功能构件。
图5-2 物流管理系统主界面
5.2入库信息模块
添加入库信息时,输入必填字段后,表现层的YifangController接受传过来的入库信息参数,再调用YifangController类的addYifang方法,经过YifangService业务层到YifangMapper持久层的处理,完成对整个添加入库信息的操作。addYifang方法也和用户管理中的addUser方法类似,同时做添加和修改工作。
修改入库信息时,选择需要修改的入库进行修改,调用YifangController控制器的editYifang方法,拿到该入库原本的信息并显示到页面,管理员再对需要修改的入库信息字段进行修改,完成后调用addYifang方法,调用业务层的updateByKey方法,更新数据库的入库信息表的数据。
入库管理流程图如下所示。
图5-3入库管理流程图
入库添加界面如下图所示。
图5-4入库信息界面图
5.3出库信息模块
删除出库时,选择需要删除的出库进行删除,把主键的uId传到HetongController控制器,再调用控制器的deleteHetong方法,数据经过HetongService业务层解析和处理,请求HetongMapper持久层调用deleteByPrimaryKey方法操作数据库将出库数据从数据库中删除。
查找出库时,输入需要查找的出库车牌名,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。
出库添加界面如下图所示。
图5-5出库添加界面图
5.4货物仓库管理模块
管理员执行货物仓库管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击“添加货物仓库”,可以通过货物仓库添加界面添加详细信息。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击“提交”跳转重返到添加页面。添加成功后的信息会载入到货物仓库查询列表中,管理员可进行编辑以及修改。
货物仓库管理流程图如下所示。
图5-6 货物仓库管理流程图
货物仓库管理如下图所示。
图5-7货物仓库管理界面图
5.5运输信息管理模块
添加运输信息时,输入必填字段后,表现层的YifangController接受传过来的运输信息参数,再调用YifangController类的addYifang方法,经过YifangService业务层到YifangMapper持久层的处理,完成对整个添加运输信息的操作。addYifang方法也和用户管理中的addUser方法类似,同时做添加和修改工作。
修改运输信息时,选择需要修改的课程进行修改,调用YifangController控制器的editYifang方法,拿到该运输信息原本的信息并显示到页面,管理员再对需要修改的运输信息字段进行修改,完成后调用addYifang方法,调用业务层的updateByKey方法,更新数据库的运输信息表的数据。
运输信息管理流程图如下所示。
图5-8运输信息管理流程图
运输信息管理界面如下图所示。
图5-9运输信息管理流程图
5.7本章小结
在本章中主要对物流管理系统的功能实现进行了效果展示,该系统的主要功能有用户管理、货物仓库管理、入库信息管理、出库信息管理、运输信息管理等功能。在功能展示的基础上并采用Java+SSM技术对系统进行了实现,达到了设计的效果。
6 系统测试
6.1 测试概述
通过前面对系统的需求分析阶段、系统设计阶段和系统实现阶段的以后就要对开发实现的系统功能和性能进行测试。系统测试是在软件开发环节中必不可少的一个重要步骤,通过对系统的测试可以保证系统的质量和性能的可靠性。测试同时也是对软件在需求分析阶段、设计规格说明阶段和软件编码阶段的最终审核,通过对软件各个环节的审核可以有效的发现系统中存在的在分析方面、设计方面和系统实现方面存在的潜在的还有待解决的问题,并及时的加以解决,从而保障开发出的软件产品能够很好的满足用户的需求。因此,开发出的软件产品在交付给用户前必须对软件进行认真的测试。
6.2 测试配置
(1)测试环境
系统一旦开发完成以后就要对系统进行测试,在本测试过程中对系统的运行环境平台环境如表6-1所示.
表6-1 系统测试环境
环 境 | 配 置 | 备 注 |
Web服务器(硬件) | 联想 CPU:2.0*2 内存:8G 硬盘:300GB | 100/1000M局域网卡 |
数据库服务器(硬件) | 联想 CPU:2.0*2 内存:16G 硬盘:500GB | 100/1000M局域网卡 |
操作系统(软件) | Windows XP或Windows 7及以上操作系统 | |
Web服务器(软件) | JDK 7.0 Tomcat 8.0 | |
数据库服务器(软件) | SQL Server 2008 数据库 | |
客户机若干 | 联想家用电脑常规配置 | 满足基本的网络运行条件即可 |
(2)测试工具
在对本物流管理系统进行功能测试时采用了当前流行的测试工具WinRunner;对系统进行性能测试时采用用户信息管理软件dRunner。这两款软件性能优越,操作简单,是进行测试的必备工具软件。
(3)测试流程
本系统在进行功能测试的时候采取黑盒测试的方法,在系统进行测试时根据第三章的系统需求分析进行测试,用以检验系统的功能是否能够满足用户的基本需求,测试流程如图6-1所示。
6.3 测试用例
针对本物流管理系统的测试内容主要有:
(1)管理员登录系统,查看系统的各项功能界面是否能够清晰的显示出来。
(2)对管理员的权限功能判断是否能够进行操作,并能够正常的显示结果。
(3)系统能否进行协同操作。
(4)系统是否能够稳定运行。
在上述测试内容中的(1)、(2)项测试中,如果能够通过测试,则将结果显示。然后对系统进行协同操作,如果信息能够协同操作则最后进行系统的压力测试,判断系统是否稳定。具体测试情况如表6-2所示,在以上各项的测试结果均符合功能需求的情况下则认为系统通过测试。
用例 | 用户登录 | |||
功能描述 | 用户输入用户名和密码登录,用户名和密码输入正确,成功登录并提示登录成功信息,否则,给出出错提示信息 | |||
序号 | 操作步骤 | 测试数据 | 预期结果 | 实际结果 |
1 | 输入用户名和密码,点击“登录” | 用户名:asdfg 密码:123456 | 登录成功,显示提示信息“登录成功” | 与预期一致 |
2 | 用户名:asdfg 密码:12345 | 显示提示信息“密码不正确” | 与预期一致 | |
3 | 用户名:asdf 密码:123456 | 显示提示信息“用户名不存在” | 与预期一致 |
6.4 测试结果分析
通过对物流管理系统的测试,测试结果表明本系统能够完全的完成之前对系统的的功能需求分析,并能够对企业在实际环境中的物流信息进行协同管理。同时,本系统良好的操作界面和菜单功能设计能够给操作者提供良好的视觉效果,具备了简单、美观的界面设计效果,达到了系统设计的目的。
7 总结与展望
7.1总结
在本系统的设计开发与实现中,主要完成了以下工作:
(1)对物流管理的开发背景、物流管理系统的国内外研究现在进行了深入的研究;并对物流管理系统的研究内容和开发意义进行了详细的描述。对在物流管理系统中用到的基础知识和具体技术进行了简要介绍。
(2)对本系统开发中需要解决的问题进行了说明,对系统的业务流程、功能需求进行了分析描述,同时给出了系统具体功能的用例分析。在对系统的需求分析基础上对系统进行了功能设计,并根据功能画出了系统的功能活动图,并对系统在运行中的数据进行了数据库设计,给出了数据的实体图和E-R图,并对数据库的表进行了详细设计,建立了与物流管理系统相对应的数据库,为后期的系统开发打下坚实的基础。
(3)根据系统的需求分析和设计,实现了系统具体功能,最终的系统功能构件主要有用户管理、货物仓库、货物类型、入库信息、出库信息、运输信息等。通过各项功能的协同操作,解决了传统的系统功能单一,信息相互不能共享的问题,实现了系统的协同操作,提高了企业人力资源管理的水平和效率,同时提高了企业管理的科学性。
(4)对系统进行了后期的测试,进而保证系统运行的可靠性。
7.2 展望
在信息量爆炸的今天,物流管理系统早已在各个企业中得到了运用,成为了企业对物流进行管理的工作日常,充分显示了其管理的优越性与可用性。
从本系统的开发设计与实现看,目前速达物流管理还存在如下问题:
(1)如何将外部的物流管理信息更加科学合理的进行共享,如何将后台数据库中的数据进行自动的优化仍有待解决。
(2)如何对物流管理系统与大数据以及互联网相结合,实现信息的网络化和智能化仍需要研究。
在以后的工作学习中将对系统继续完善,对相应的问题进行优化、解决。
参考文献
[1]Wu Ruijie. Optimization Path and Design of Intelligent Logistics Management System Based on ROS Robot[J]. Journal of Robotics,2023,2023.
[2]肖丽.使用HTML5技术实现考生照片采集[J].电脑编程技巧与维护,2023(01):154-158.
[3]李苏,肖政宏,鲁清敏.基于OBE理念的HTML5课程教学设计[J].计算机教育,2023(01):167-171.
[4]张丽景,张文川.基于对比分析法的高职“MySQL数据库”课程设计——以兰州石化职业技术大学为例[J].现代信息科技,2022,6(21):188-191.
[5]杨一帆.服务于MySQL数据库的在线监测系统设计[J].自动化技术与应用,2022,41(10):179-182.
[6]林佳一.混合式教学在高职MySQL数据库课程的实践研究[J].电脑知识与技术,2022,18(26):133-135.
[7]黄人薇,朱冬玲,唐世文.课程目标达成度评价设计与实践的研究——以MySQL数据库基础与应用为例[J].电脑与电信,2022(09):34-38.
[8]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[9]李文斌.皮革企业智能化物流管理系统设计研究[J].中国皮革,2022,51(08):41-45.
[10]王凯,吴友红.医院物流管理系统应用在医用耗材管理中的价值研究[J].中国医疗器械信息,2022,28(12):160-162.
[11]邱敏.疫情防控常态化背景下MySQL数据库课程混合式教学模式探究[J].电脑知识与技术,2022,18(18):144-145+177.
[12]杨蕴琦. HTML5辅助下的生物学教学资源开发研究[D].四川师范大学,2022.
[13]朱雷.化工自动化仓储物流管理系统设计与实现[J].天津化工,2022,36(02):136-139.
[14]谷莉,韩志海,张柳丰,郑一畅,张杨冰.安钢铁前生产物流管理系统的设计与实现[J].河南冶金,2022,30(01):44-48.
致 谢
到此,整个物流管理系统就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的系统还存在许多的纰漏,但是我已经拼劲全力,给自己的大学四年画上了一个圆满的句号。
在这里我首先要感谢的就是大学四年来所有教导我的老师,是他们教会了我许多的专业知识以及做人的道理,从一进校门对对开发系统一窍不通到现在能自主开发一个管理系统,里面包含了前台框架、后台框架、业务流程、数据结构、操作系统等各种知识,只有把他们统一运用好,才能够完成整个系统,这都是老师的功劳;其次我要感谢我的指导老师,在开发这个系统的时候,我遇到了无数的问题,经常通过线上、线下的方式去请教导师,每次去请教导师,他从来没有不耐烦,都是细心的引导,告诉我怎么样实现这个功能,怎么样才能使得系统更加完善,然后通过自己查询相关资料解决问题,提高了自己自主解决问题的能力,授人以鱼不如授人以渔,指导老师的这种工作态度受益终生,我也会向老师不断靠拢,向他学习,在此我只想说一句:“老师,谢谢您,您辛苦了”!最后我还要感谢我的室友、同学,在一起学习这四年,他们不但学习上给了我很多建议,在生活上更加给了我帮助,正是有他们的帮助,我的大学生涯才如此完美。
最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~