博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于JavaWeb的物流管理系统的设计与实现
阅读量:2109 次
发布时间:2019-04-29

本文共 9728 字,大约阅读时间需要 32 分钟。

源码下载  http://www.byamd.xyz/hui-zong-1/

摘 要

物流作为中国经济发展迅速的代表行业之一,在当今时代,它在我们身边无处不在,我们几乎可以随时随地看到它们的身影,为什么我们能在网上买的东西能在几天时间里送到我们手中,都是因为有许许多多的物流企业存在,然而随着社会经济的发展,我们的购买能力的提升,物流企业信息管理面临着巨大的压力,如果还是照以前采用纸笔管理信息的方式,企业信息管理通常比较繁杂,企业工作的效率实在是太低,此时采用计算机来管理企业信息成为了一种趋势,计算机相比人为操作有更高的效率,更安全,也给企业工作人员降低了工作压力,工作管理人员只需要通过操作电脑,就可以管理企业的信息,但是我们如何通过计算机来管理企业信息呢,这时开发一个物流管系统成为了众多中小型物流企业的第一任务,它对于很多企业是发展中必不可少的一部。

在本文中,我将介绍用Java语言实现物流管理系统的基本过程,以及各种使用的技术。在物流管理系统中,主要任务是简化企业信息的增删改查操作,通过一系列的开发,本系统基本实现了物流企业所需要的功能,基本达到了数据的一致性和安全性,为了达到企业内部管理的要求,本系统对人事信息和客户信息进行管理,使物流管理系统更加完善

关键词:物流;企业管理;Java

绪论

1.1设计背景

随着中国物流业的高速发展,物流管理的重要性不言而喻。而物流管理的效率更是各个物流企业最看重的地方。近些年来,我国计算机互联网技术高速发展,很多公司和企业都实现了自动化办公及信息管理,这样的管理方式更加高效率,工作人员只需要在电脑前动动手指,就可完成繁琐的管理操作,极大程度上减轻了工作人员的工作量。

我通过在网络上对中小型物流企业的问卷调查,了解到仍有很多中小型企业对物流信息管理仍处于纸笔操作的阶段,我认为这种工作方式效率实在太低,这浪费了太多的人力物力,我认为我们应该采用计算机来管理物流企业信息将传统手工式的物流管理方式改变为以数据流驱动的信息化管理方式,实现信息化仓储,运输,车辆调度的管理系统,人机结合办公,大幅提高工作效率,为企业创造更好的效益,这也将会是现代物流管理的主流方式。

1.2设计意义

人们生活工作与通信,目前都与信息密切相关,但很多国内企业的仓库作业没有达到信息化,因此为实现信息数字化,开发中小型物流管理系统正是最好的方式,利用现有的信息基础设施,实现计算机管理物流企业信息对社会有着重要的价值和意义。

1.3设计思路

第1章为绪论部分。介绍了本系统的设计背景及意义,明确了设计目标,阐述了本系统的特色与创新之处。

第2章为需求分析部分。对所要开发的系统进行了详细的可行性分析和对系统的综合要求进行了分析,并介绍了数据库的逻辑模型。

第3章为系统设计部分,阐述了系统的总体设计,包括系统架构设计、模块设计

数据设计。

第4章为产品实现部分,对产品实现的过程及个模块功能做出了详细的说明。

第5章为产品测试部分,对产品测试的过程及测试方法进行了详细的分析与说明。

第6章为结论部分,总结毕业设计的成果,详细说明此次设计的特点及使用价值,指出不足之处或者遗留的未解决的问题。

2. 需求分析

2.1 需求描述

由于本系统只对企业内部人员开放,所以用户就是本企业管理层员工,用户可以通过自己的工作编号注册账号登录本系统进行业务操作,主要业务包括员工信息管理、货物信息管理、运输信息管理、订单信息管理等几个方面。

2.2 用例建模

用户具有登录后,可以进行货物信息管理、人事信息管理、车辆信息管理、订单信息管理的增删改查操作。如图:

图2.1 系统用例模型

2.2.1人事信息管理

人事信息管理主要包括员工信息管理和客户信息管理俩个模块,如下图。

2.2.2货物信息管理

货物信息管理主要包括客户订单管理,货物出入库,库存等几个功能。如下图

2.2.3订单信息管理

订单信息管理主要包括订单基本信息管理、已处理订单信息管理、在途订单信息管理

如下图

2.3 用例描述

2.3.1 用户管理用例描述

表2.1 员工管理用例描述

用例编号 CASE01
用例名称 员工管理
用例描述 系统管理员对员工的信息进行CRUD操作
前置条件 系统管理员成功登录系统
后置条件 系统管理员在系统中新增了员工或修改了员工信息或删除了系统中已经存在的员工或查看某个员工的信息
活动步骤 1-系统管理员登录系统 2-系统以分页模式显示员工信息列表(每页10条) 3-系统管理点击【新增】按钮,弹出新建员工界面,系统管理员输入员工信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的员工列表。 4-系统管理员在用户列表中选择某个员工,点击【修改】,弹出员工信息修改界面,显示员工的当前信息,管理员更改员工信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的用户列表。 5-系统管理员在用户列表中选择某个用户,点击【删除】,弹出删除提示框,当用户确定删除后,系统将当前用户信息删除,并返回到用户列表,显示删除后的用户列表。 6-系统管理员也可以在左侧菜单查看自己信息,并根据自己需求可更改自己的密码。
扩展点 如果管理员没有没登录,则提示“请先登录”并返回至登录页面。 修改时,工作编号是不能修改的。

2.3.2 客户用例描述

表2.2 客户管理用例描述

用例编号 CASE02
用例名称 客户信息管理
用例描述 系统管理员对客户的信息进行CRUD操作
前置条件 系统管理员成功登录系统
后置条件 系统管理员在系统中新增了客户或修改了客户信息或删除了系统中已经存在的客户或查看某个客户的信息
活动步骤 -系统管理员登录系统 2-系统以分页模式显示员工信息列表(每页10条) 3-系统管理点击【新增】按钮,弹出添加客户信息界面,系统管理员输入客户信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的员工列表。 4-系统管理员在用户列表中选择某个客户,点击【修改】,弹出员工信息修改界面,显示客户的当前信息,管理员更改客户信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的客户列表。 5-系统管理员在客户列表中选择某个客户,点击【删除】,弹出删除提示框,当用户确定删除后,系统将当前用户信息删除,并返回到客户列表,显示删除后的客户列表。
扩展点

2.3.3 订单用例描述

表2.3 订单管理用例描述

用例编号 CASE03
用例名称 订单信息管理
用例描述 系统管理员对订单的信息进行CRUD操作
前置条件 系统管理员成功登录系统
后置条件 系统管理员在系统中新增了订单或修改了订单信息或删除了系统中已经存在的订单或查看某个订单的信息
活动步骤 -系统管理员登录系统 2-系统以分页模式显示订单信息列表(每页10条) 3-系统管理点击【新增】按钮,弹出添加订单信息界面,系统管理员输入订单信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的订单列表。 4-系统管理员在用户列表中选择某个订单,点击【修改】,弹出订单信息修改界面,显示订单的当前信息,管理员更改订单信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的订单列表。 5-系统管理员在客户列表中选择某个订单,点击【删除】,弹出删除提示框,当用户确定删除后,系统将当前用户信息删除,并返回到客户列表,显示删除后的客户列表。 6-系统管理员还可以查看哪些订单已经完成,哪些订单正在途中。
扩展点 添加订单时,订单信息里的客户编号在客户信息表里必须存在此客户否则添加失败。

2.3.4 费用统计用例描述

表2.4 订单费用管理用例描述

用例编号 CASE04
用例名称 订单费用信息管理
用例描述 系统管理员对订单费用的信息进行CRU操作
前置条件 系统管理员成功登录系统
后置条件 系统管理员在系统中新增了订单的费用信息或修改了订单的费用信息或查看某个订单的费用信息
活动步骤 -系统管理员登录系统 2-系统以分页模式显示订单的费用信息列表(每页10条) 3-系统管理点击【新增】按钮,弹出添加订单的费用信息界面,系统管理员输入订单的费用信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的订单的费用信息列表。 4-系统管理员在用户列表中选择某个订单的费用信息,点击【修改】,弹出订单的费用信息修改界面,显示订单的当前信息,管理员更改订单的费用信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的订单的费用信息。
扩展点 添加订单的费用信息时,订单信息表里必须存在你所要添加的订单,否则添加失败。

2.3.5 货物统计用例描述

表2.5 货物统计管理用例描述

用例编号 CASE05
用例名称 货物统计管理
用例描述 系统管理员对订单费用的信息进行CRUD操作
前置条件 系统管理员成功登录系统
后置条件 系统管理员在系统中新增了货物信息或修改了货物信息或查看某个订单的货物信息,或者删除某个订单的货物信息
活动步骤 -系统管理员登录系统 2-系统以分页模式显示订单的货物信息列表(每页10条) 3-系统管理点击【新增】按钮,弹出添加订单的货物信息界面,系统管理员输入订单的货物信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示新增后的订单的货物信息列表。 4-系统管理员在用户列表中选择某个订单的货物信息,点击【修改】,弹出订单的货物信息修改界面,显示订单的货物信息,管理员更改订单的货物信息,点击【submit】按钮,系统对输入的信息进行验证,将合法的信息保存,然后显示修改后的订单的货物信息。 5-系统管理员在客户列表中选择某条货物信息,点击【删除】,弹出删除提示框,当用户确定删除后,系统将当前用户信息删除,并返回到货物信息列表,显示删除后的货物信息列表。
扩展点 添加订单的货物信息时,订单信息表里必须存在你所要添加的订单,否则添加失败。

3. 系统设计

本系统的主要功能:当客户有货物运输的需求时,系统管理员会询问客户的需求并进行分析,对客户提供的信息进行填写,首先填写客户信息,其中包含了客户的一些基本信息,比如说客户的名称,地址,电话等等,当客户所填写的信息提交后,可根据客户的需求为其生成订单,从而进行一系列的订单操作,最后完成订单。

3.1 数据库设计

在数据库设计方面上,我使用的是微软公司的SQL Server数据库管理系统,SQL

Server是当今比较流行的关系型数据库管理系统,可跨越多种平台使用,其功能也是十分强大,作为一个全面的数据库平台,其为企业提供了非常安全和可靠的存储数据功能。

3.1.1 概念模型

图3.1 物流管理系统概念模型

3.1.2 逻辑模型

图3.2 物流管理系统逻辑模型

3.1.3 物理模型

图3.3 物流管理系统物理模型

3.1.4 数据库脚本

| create database LogisticsMg go use LogisticsMg go --用户表 create table T_user( user_id int not null primary key identity, user_name varchar(20) not null, user_pwd varchar(20) not null, emp_worknum int not null) go --员工信息表 create table T_emp( emp_worknum int not null primary key identity, emp_name varchar(20) not null, emp_sex char(2) not null, emp_brithday date , emp_cardno varchar(60) not null, emp_address varchar(60), emp_tel varchar(40) , dept_name varchar(40) not null,) go --部门表 create table T_dept( dept_num int not null identity, dept_name varchar(40) primary key not null) go --客户信息表 create table T_client( client_num int not null primary key identity, client_name varchar(40) not null, client_add varchar(60) not null, client_tel varchar(40) not null, client_email varchar(40), ) go --客户订单表 create table T_clientorder( order_num int not null primary key identity, client_num int not null , tri_type varchar(20) not null, yufashijian date , yudaodashijian date, ordercreatetime date , order_whetherSend char(2) not null, con_name varchar(20) not null, con_tel varchar(40) not null, arrive varchar(60) not null, order_whetherReceive char(2), remake text, goodsName varchar(50), goodsNum varchar(50)) go --库存信息表 create table repertory( input_num int not null, order_num int not null, goods_type varchar(20) , goods_name varchar(20) not null, goods_cilent varchar(20) not null, goods_num int not null, goods_boxnum int not null, goods_counts int not null, unit varchar(20) not null, input_time date, remake text) go create Table T_cost( order_id int not null, freight float not null, porerage float not null, stowage float not null, orderTime date, ) alter table t_emp add Constraint fk_emp_dept foreign key( dept_name) references t_dept (dept_name) go alter table t_user add Constraint fk_user_emp foreign key( emp_worknum) references t_emp(emp_worknum) go ALTER TABLE t_user ADD CONSTRAINT unique_username UNIQUE (user_name) go alter table t_clientorder add Constraint fk_order_client foreign key( client_num) references t_client(client_num) go insert into T_dept values(‘财务部’) go insert into T_dept values(‘销售部’) go insert into T_dept values(‘操作管理部’) go insert into T_dept values(‘客服部’) go insert into T_dept values(‘质量管理部’) |

3.2 系统架构设计

本系统采用MVC设计模式:jsp页面为视图层,Entity包里所放的实体类为模型层,而action,service,dao组成控制层。Action存放所有页面请求的操作方法,Service存放业务逻辑接口,Dao存放对底层数据经行操作的接口,Entity

存放实体类。

图3.4 权限管理系统架构图

3.3 模块设计

3.3.1用户管理类图

本系统使用了struts2框架进行设计,将实体类直接封装进Action作为数据模型对数据库进行操作,之后将结果返还给页面

图3.5 员工管理类图

图3.5 客户管理类图

图3.5 订单管理类图

3.3.2 用户管理操作流程

图3.6 员工管理时序图

图3.6 客户管理时序图

图3.6 订单管理时序图

图3.6 费用统计管理时序图

3.3.3 角色管理操作流程

图3.8 角色管理时序图

4. 产品实现

4.1 系统管理模块实现

4.1.1 界面设计

图4.1 系统登陆界面

图4.2 系统管理界面

图4.3 员工信息管理界面

图4.4 客户信息管理界面

图4.5 订单信息管理界面

4.1.2 功能实现

本系统运用了Struts2框架进行设计,在Action模块使用模型驱动封装处理数据,详细代码如下:

模型驱动封装.png

Service层主要是将Action与Dao之间关联在一起的中间桥梁,详细代码如下:

service.png

service2.png

Dao是数据处理层,使用jdbc接口连接sqlserver数据库连接主要代码如下:

DBCon.png

DbDeal.png

5. 产品测试

5.1 测试方法与策略

本系统采用了单元测试法,这是一种比较传统的测试方法,将每一段功能代码都一一测试,尽量减少代码的bug。单元测试法具有许许多多的多优点,首先因为通过对程序的一步一步编写和测试,如果每一段功能都可以保证其正确性,那么程序本身就不会存在太多问题,即使到了开发后期,我们也可以根据项目的需求,轻轻松松的增加自己所需要的功能,我们也不用担心这会破坏程序的核心,因为经过从程序开始的一步步验证,我们可以确保程序的核心不被破坏;其次,在写单元测试的同时我们也会从使用者的角度去想问题,将用户在实际中所遇到的所有问题都考虑在内一一测试,将每个单元功能分开测试,降低程序的耦合度。

测试包括以下几个模块:程序功能性测试模块;程序界面测试模块;程序性能测试模块;程序安全性测试模块;程序兼容性测试模块

程序功能性测试模块:

  • 调试程序中的各个功能,按键,测试每个提交的数据是否合理,页面能否正确跳转。

  • 数据显示测试,数据能否在界面上正确显示。

程序界面测试模块:

  • 各个HTML页面是否完善,美观,风格一致。

  • 页面中的重点内容和热点内容是否在页面中突出。

  • 页面控件是否正常显示。

  • 页面中文字、图片检查。

程序安全性测试:

  • 登陆功能是否安全,是否保证不被恶意登陆系统。

  • 数据是否存在溢出故障,导致数据丢失。

程序兼容性测试:

  • 浏览器的兼容性;

  • 操作系统的兼容性;

  • 数据库的兼容性

5.2系统管理模块测试

经过种种测试,系统原本设想的功能已基本实现,功能测试上,未发现异常,界面上并没有发现存在空页面和无效页面,有不正确的出错信息返回,各个提交按钮也能正常工作,页面风格统一,美观,布局合理,重点内容突出,控件正常使用。以下为系统正常运行时截图:

系统登陆界面.png

订单信息管理界面.png

6. 结论

6.1毕业设计成果特点

此次毕业设计将中小型物流企业比较复杂繁多难以集中的信息,用计算机来管理,解决了中小型企业管理不便的问题,大幅度提高了企业管理效率,而这符合现代企业制度的主流,在当今信息化高度发展的社会中,无论是什么类型的企业,都会采用信息化管理制度,通过计算机互联网管理企业信息,不仅更加容易,且更加安全,不容易丢失。

6.2设计成果的实用价值或应用前景

此次毕业设计的初心就是为了给中小型物流企业带来方便,而系统中的各个功能也基本满足了中小型物流企业的种种需求,为企业管理带了方便,我相信在以后的企业管理中,无论什么类型的企业都会采用计算机来管理信息,随着以后计算机技术越加发达,系统功能越到,将大大的为人类带来便利,其潜力也将是不可限量的。

6.3不足之处或遗留未予解决的问题

在设计和实现该系统的过程中,由于系统的功能有限,因此并不能真正的投产于一个企业内部使用,一个项目又开始进行功能需求,到最终的实现是需要非常多的时间的,并且项目的开发过程并不是一个人能完成的,因此此系统只是大概模拟了现代物流的基本内容。但是通过此次毕业设计,我受益匪浅,通过对物流管理系统需求分析,不仅了解到了小型物流企业的基本工作流程,更重要的是真正体会到了软件开发流程中需求分析的重要性。本系统也将会在今后的应用中逐步完善,做到尽善尽美。

参考文献

  1. 刘京华 等. 《Java Web整合开发王者归来》[M]. 清华大学出版社, 2010年01月.

  2. 萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月.

  3. 张峋, 杨三成.《关键技术:JSP与JDBC应用详解》[M].中国铁道出版社, 2010年11月.

  4. 徐玥. 《非平均访存集群中负载平衡零碎的设计与完成》[D]. 哈尔滨工业大学 2014

  5. 黄大勇.《面向不同优先级网格作业资源重分配成绩的专业技术支持》[D].哈尔滨工业大学

    2011

  6. 刘振英. 《在媒介交融中不时开展 再创辉煌》[J]. 中国播送. 2011(03)

  7. 刘宴兵,胡文平,杜江. 《基于物联网的网络信息平安体系》[J]. 中兴通讯技术.

    2011(01)

  8. 周鹏飞. 《国际有关SNS网站的研讨综述》[J]. 古代情报. 2010(07)

  9. 何晓佑 《产品程序设计与方法》中国轻工业出版社,2003

  10. 吴宏森,宋顺林. 《MVC架构在工程项目管理零碎中的使用》[J]. 微计算机信息.

    2006(22)

  11. 林锐.《软件工程与项目管理解析》[M].北京:电子工业出版社,2003.

  12. 赵源.《使用JAVA语言编写计算器的设计研究》[J].今日科苑,2015.

  13. 赵亚娟.计算机软件JAVA编程特点及其技术研究[J].数字技术与应用,2016.

  14. 贾东.《基于java的文件监控程序设计与实现》[J].信息技术与信息化,2016.

  15. 衣鹏,阎新芳,吴帅杰.《Java设计模式在数据库编程中的应用研究》[J].信息通信,2014.

致谢

时光荏苒,大学三年的学习时光已接近尾声,在此想对我的学校,老师和同学们表达我由衷的感谢,感谢大家对我大学阶段学习的默默支持;感谢我的母校长沙民政学院给我在学校深造的机会;感谢学校的老师们几年来的关心和鼓励,同学们在学习中的认真积极,生活上的主动上心,这些都让我的大学生活充满了感动。这次毕业设计我得到了很多老师和同学的帮助,其中我的专业导师谢老师对我的关心和支持尤为重要,每次预到难题,他都会不管忙与闲的耐心地将给我们听。谢老师平日里工作繁重,但我做毕业设计的每个阶段,从选题到查阅资料,到各个步骤的完成,都给予了悉心的指导,在此谨向谢老师致以诚挚的谢意和崇高的敬意,同时感谢在整个毕业设计期间和我交流过的同学们,和曾在各个方面给予我帮助的伙伴们,在此,我再一次真诚的向老师和同学们表示感谢!

转载地址:http://zydef.baihongyu.com/

你可能感兴趣的文章
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>
PAT1090 Highest Price in Supply Chain 树DFS
查看>>
(PAT 1096) Consecutive Factors (质因子分解)
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>
(PAT 1080) Graduate Admission (排序)
查看>>
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
【UML】《Theach yourself uml in 24hours》——hour4
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【深度学习】GRU的结构图及公式
查看>>
【python】re模块常用方法
查看>>