摘 要
本物流管理系统是针对目前物流管理系统管理的实际需求,从实际工作出发,对过去的物流管理系统管理系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前jsp中最流行SSM框架和myeclipse编辑器、sqlserver数据库设计并实现的 。本物流管理系统管理系统主要包括系统用户管理模块、司机信息模块、车辆信息管理、货物库存管理、货物入库管理、登录模块、和退出模块等多个模块。它帮助物流管理系统管理实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了物流管理系统管理数据资源,有效的减少了物流管理系统管理的经济投入,大大提高了物流管理系统管理的效率。
关键词:物流管理系统管理;SSM框架;sqlserver数据库
ABSTRACT
The wage management system of the enterprise is aimed at the actual needs of the current wage management of the enterprise. From the actual work, the problems existing in the past wage management system of the enterprise are analyzed, and the structure, concept, model, principle, and method of the computer system are combined. Under the various advantages of computers, it is designed and implemented using the most popular SSM framework and myeclipse editor and SQLServer database in JSP. The enterprise salary management system mainly includes system user management module, department information module, position information management, employee information management, salary information management, login module, and exit module. It has helped enterprises in wage management to realize informatization and networking, and has achieved the goal of system design through testing. Compared with the traditional management model, the system has reasonably used the data resources of wage management in enterprises and effectively reduced the economic investment in wage management in enterprises. Has greatly improved the efficiency of enterprise wage management.
【key words】:Enterprise wage management; SSM framework; Sqlserver database
目 录
物流管理系统设计与实现I
摘 要I
ABSTRACTI
目 录III
第1章 绪论1
1.1开发背景1
1.2开发意义1
1.3研究内容1
第2章 主要技术和工具介绍1
2.1 SSM 框架1
2.1.1. Spring 框架1
2.1.2 SpringMVC1
2.1.3 MyBatis2
2.2 sqlserver数据库2
2.3 jsp技术2
第3章 系统分析5
3.1可行性分析5
3.1.1经济可行性5
3.1.2技术可行性5
3.1.3操作可行性5
3.2需求分析5
3.3货物入库流程分析6
3.4数据流程分析7
第4章 系统设计9
4.1系统结构设计9
4.2功能模块设计9
4.3数据库设计10
4.3.1数据库设计概述10
4.3.1概念设计10
4.3.2表设计11
第5章 系统实现14
5.1基本任务14
5.2登录模块的实现14
5.2.1首页实现14
5.2.2管理员后台登录15
5.3管理员模块的实现18
5.31用户管理模块的实现18
5.3.2车辆信息管理模块的实现20
5.3.3货物库存管理模块的实现22
5.3.4货物入库管理模块的实现24
5.3.5货物出库管理模块的实现25
第6章 系统测试28
6.1测试目的28
6.2测试概述28
6.3单元测试28
6.3.1添加测试28
6.3.2登录测试29
6.4集成测试30
第7章 总结31
致 谢32
参考文献32
第1章 绪论
1.1开发背景
上个世纪末期,网络技术逐渐开始流行起来,互联网发展进入了起步阶段。到了新世纪初期,信息化技术开始逐渐发展,计算机应用技术逐渐体现出优势来。接着,大量的电脑进入了千家万户,企事业单位、高校、机关等部门。信息化时代逐渐来临,物流管理系统管理成为互联网时代下媒体管理的核心内容。物流管理系统管理是媒体中非常重要的一部分,然而由于其性质也致使它难以被实时衡量。长期来看,管理十分不便利,存在误差,查询难的现象,一旦数据过多,人工管理方式就很难维持。随着信息技术的应用拓展,逐渐引用了信息化技术管理,逐渐取代了人工管理模式,采用计算机系统来管理学校信息,带来的好处是查询便利,信息准确率高,节省了开资,提高了工作的效率。本次系统开发,主要以物流管理系统管理为对象,根据需求来完成功能设计[1][2]。
1.2开发意义
随着现代企业的快速发展,可以说物流管理系统管理已经逐渐成为现代企业管理过程中最为重要的部分之一。但是一直以来我国传统的物流管理系统管理并没有建立一套完善的行之有效的物流管理系统管理系统,传统的物流管理系统管理已经无法适应高速发展,无论是从效率还是从效果来看都远远的和预计相差甚多,可以断言,传统的物流管理系统管理模式已经不再适应,甚至已经拖累了发展。因此,需要一个操作方便,高效的管理体系。
系统设计的主要意义在于,一方面,对于公司来讲,系统上线后可以带来很大的便利性,物流管理系统管理属于非常细致的管理模式,要求数据量大,计算机管理可以提高精确性,更为便利的就是信息的查询,大大的提高了工作效率,改善了管理质量;另一方面,通过系统的设计,自己对软件设计有了更加深入的了解,并且产生了浓厚的学习兴趣,在对问题分析方面有了独特的方式,是进入社会之前一次很好的锻炼机会[3][4]。
1.3研究内容
- 不同用户的登录问题:根据用户的类别(超级管理员、普通用户)实现用户操作权限的区分并显示不同的操作界面。
- 数据库的连接问题:数据库连接为系统中的关键技术。
- 数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的用户对数据进行操作并且定期对数据库进行备份。
- 界面开发:系统界面的设计很重要,要使界面具有亲和力。
- 分析学校信息化现状;
- 研究物流管理系统管理系统的现状及存在的问题;
- 研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
- 研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;
- 进行物流管理系统的功能设计。
第2章 主要技术和工具介绍
2.1 SSM 框架
SSM 框架整合即为 Spring、SpringMVC、Hibernate 三个开源框架的整合。主要是采用 Spring,Hibernate 进行 SSM 整合。
2.1.1. Spring 框架
Spring是独立的MVC模式框架,通过IoC技术,降低各组件之间的依赖,而Spring提供的面向切面编程(Aspect Oriented Programming,AOP)技术,在系统上具有独特优势。Spring框架不仅能有效地服务中间层对象,而且易于同其他层框架进行无缝集成,使各层之间相互独立,实现了在架构上各框架间的低耦合性。
Spring 还有一个很重要的特性,就是可以方便集成各种优秀的框架。本系统主要集成了 Dubbo服务框架、Redis 缓存服务、Solr 搜索服务、ActiveMQ 消息队列服务。Spring 集成系统要用到的第三方框架后,就可以通过简单的配置调用第三方框架提供的 API,实现系统的货物入库服务。具体整合及特性如下:
1) 在系统 SOA 货物入库服务层集成了分布式的 Dubbo 服务框架,例如使用 Dubbo 实现分布式服务框架来提供相关货物出库的展示、货物出库搜索等服务时,只需在提供这些服务的 web 程序的 SSM 配置文件上加上Dubbo 的关键配置<dubbo:service interface="提供货物出库相关服务的接口"ref="货物出库相关服务的实现类的 bean 的 id"/><bean id="货物出库相关服务的实现类的 bean 的 id" class="货物出库相关服务的实现类"/>这样就可以把货物出库服务注册到服务中心,当要使用这些货物出库服务的 web 程序,如系统主页,就可以透明化的远程方法调用,就像调用本地方法一样调用远程方法。
2) 在系统的系统服务层整合了用来做缓存的 Redis 缓存库和用来提供搜索服务的 Solr 集群,使得整个系统数据库的负载大大降低,提高运行速度。数据库则整合了 MyBatis,下面详述。
3) Spring 系统中我们还内嵌了 ActiveMQ,ActiveMQ 是强劲的消息总线,不论是在海量系统分布式开发过程中还是在运维上都扮演着重要的角色,ActiveMQ 的特点主要是,可以建立网络通信的通道,进行数据的可靠传送。在传输中保证了数据传输的完整性,而且能够跨平台传输。
2.1.2 SpringMVC
SpringMVC 属于 Spring 框架的衍生模块,SpringMVC 通过 DispatcherServlet 这个前端控制器(也叫中央调度器,笔者认为中央调度器更能体现其作用),来调用 MVC 的三大件:Controller、Model、View。这样就保证 MVC 的每一个组件只与 DispatcherServlet 耦合,而彼此之间独立运行,大大降低了程序的耦合性。使得海天系统的设计复合程序的开发之道,高内聚底耦合的设计原则。
2.1.3 MyBatis
MyBatis作为一个优秀的持久化工具,通过对象关系映射(Object Relational Mapping,ORM)架起了jsp对象与关系数据库间的桥梁,很好的协调对象与数据库的交互,提供数据查询和恢复机制,实现了与底层数据库的分离。
技术的可行性是指在当今所拥有的技术条件之下,计算机软件和硬件的发展能否够满足发展的要求。由于本系统开发基于jsp语言,在一般的计算机上就能够满足开发本系统所需要的软硬件条件;因为它占用的内存本来就相对较少,我们用Mysql数据对软件的开发以及设计在理论上没有问题的原因是:它占用的内存实在是太少了[8]。
2.2 sqlserver数据库
目前在国际上比较流行的数据库管理系统当中,主要有ORACLE、SQL、SYBASE、SQL、DB2等。sqlserver2008版本具有SQL Server 7.0版本的所有优点,并在此基础上添加很多更先进的功能,从而更加方便使用、更好的伸缩性,集成度高。由于是微软的产品,因此SQL Server 2008在兼容性可以与微软的其他相关产品进行很好的适应和结合,可以跨越Microsoft Windows 2008到Microsoft Windows 98等多种平台。
Sqlserver的T-SQL支持ANSI SQL-92标准,是结构化查询语言SQL的一种。SQL Server在身份验证上主要采用以下方式:登录验证、数据库用户帐号许可验证、二级安全验证等等。且在同一时间支持SQL Server验证和Windows NT验证两种模式。
微软的SQL Server是较为完善的C/S系统。SQL Server需要Windows NT平台,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平台,它使SQL Server具备非常完美的功能。
SQL Server 2008中具有失败转移集群和数据库镜像技术,失败转移集群和数据库镜像技术可以确保企业向员工、客户和合作伙伴提交的应用系统高度可靠和可用。微软的SQL Server 2008在设计的时候引入了一套集成管理工具和管理应用编程接口(APIs),对企业提供易用性、可管理性和对大型SQL Server配置的支持。由于采用了数据库加密、相比以前版本更加安全的默认设置、对密码政策和安全模型进行了加强以及实行了许可化控制的细化,使得企业在运用SQL Server 2008对数据进行管理时能提供安全级别非常高的功能。
2.3 jsp技术
web 的服务平台jsp是由Microsoft创建的。这个平台最主要的功能就是可以把信息、人和设备用一种规范的,具有个性化的方法连接起来。
对于微软来说,jsp技术是它的一个终极梦想,可以用这个技术实现以前完全完成不了的功能,这是一次跃进。今后,无论什么时刻,任意地点我们都可以在任何设备上进行互联信息交互网。在以后会在世界形成一个巨大的全球互联网的终端设备和服务中心,将会随时成为每个人的智能型助手。到那时哪怕你没有闲暇的时间去处理信息分析访问,或者说不需要访问的信息分析,一旦它得到指令,就会自主的查找相关知识智能化集成处理,更高效的处理我们交代的“使命”[9][10]。
(1)JSP Framework的两个组件
JSP框架具有两个不同的元素:包以及框架的软件开发包(SDK)。
当然若是要单纯的要运行jsp程序,我们完全没必要开发jsp应用程序。我们只要在安装发型包组件这里下功夫。因为jsp Framework在发行包上没有进行过编译,所以最后它只能编译JSP应用程序。
(2)框架的特点
JSP框架的两个主要特点:跨平台和语言。
(a)跨平台
JSP框架程序能够随意跨越操作系统平台和硬件环境,不管在哪台电脑上只会编写一遍。
(b)跨语言
. JSP框架里面一种共同的语言系统(CommonLanguageSystem ,称为CLS)。规定了许多标准化的jsp Framework数据种类。
Web应用程序可以用JSP研发出来。现在已然变成了互联网全新一代Web应用程序开发工具之一,一般的编程代码的人员已经慢慢的开始接受、使用它了。
(3)JSP概述
JSP由微软于1996年11月推出的Web应用技术的发展。不单单可以看作是一个全新的框架,并且我们在工作当中能采纳任何产品的制备和应用程序代码,生成高效、动态、交互的vbscript、jspscript应用镶嵌到HTML当中。
(4)JSP的特点
(a)代码逻辑和显示页面分离
JSP包含程序和美工两个部分,文件从头到尾html标签和<%%>代码交错。通常,编程员按照以前所计划的开始编写代码,接着是美工按照设计页面和编程员讨论该用哪种布局页面最为合适,最后编程员把设计镶嵌进程序。
(b)编译运行
我们采用了一种虚构的编程框架,把VBScript和jspScript作为编程语言,如果发现操作系统挪用了JSP源代码一次,那么我们肯定正在访问某个页面。
(c)缓存
由于JSP的缓存基本上没有,通常只能修改数据库来提高性能。并介绍了缓存的概念,一个高速缓存页的一页当中,对一些参数的控制和缓存的页缓存,缓存里的数据可以在最大水平上,帮助我们克服这个难题。
(d)代码隐藏
编码后生成的代码更易于编写,具有更直观的布局,大大削减了开发和维护系统的困难性以及制作成本 。
(5)JSP的关键技术
(a)WebForm
Form(表单)是一个包含不同类型和种类的容器控件,控件必需直接或间接地连接。
(b)Web Service
Web Service是Web服务调用其他Web服务方法。简而言之,是你的网站可以利用其他网站的资源[11][12]。
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | username | 150 | 255 | |||
3 | pwd | 150 | 255 | |||
4 | cx | 150 | 255 | |||
5 | addtime | DateTime | 8 | 19 |
cangkuxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | cangkumingcheng | 150 | 255 | |||
3 | addtime | DateTime | 8 | 19 |
cheliangxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | cheliangbianhao | 150 | 255 | |||
3 | cheliangmingcheng | 150 | 255 | |||
4 | chepaihao | 150 | 255 | |||
5 | tupian | 150 | 255 | |||
6 | zhuangtai | 150 | 255 | |||
7 | addtime | DateTime | 8 | 19 |
chuku表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | huowubianhao | 150 | 255 | |||
3 | huowumingcheng | 150 | 255 | |||
4 | kucun | 150 | 255 | |||
5 | chukuriqi | 150 | 255 | |||
6 | chukushuliang | 150 | 255 | |||
7 | addtime | DateTime | 8 | 19 |
dinggou表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | dingdanbianhao | 150 | 255 | |||
3 | huowubianhao | 150 | 255 | |||
4 | huowumingcheng | 150 | 255 | |||
5 | kucun | 150 | 255 | |||
6 | jiage | 150 | 255 | |||
7 | goumaishuliang | 150 | 255 | |||
8 | goumaijine | 150 | 255 | |||
9 | yonghuming | 150 | 255 | |||
10 | xingming | 150 | 255 | |||
11 | dizhi | 150 | 255 | |||
12 | dianhua | 150 | 255 | |||
13 | yundangenzong | 150 | 255 | |||
14 | addtime | DateTime | 8 | 19 |
huowuxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | huowubianhao | 150 | 255 | |||
3 | huowumingcheng | 150 | 255 | |||
4 | jiage | 150 | 255 | |||
5 | kucun | Int | 4 | 10 | ||
6 | tupian | 150 | 255 | |||
7 | addtime | DateTime | 8 | 19 |
peisongsiji表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | sijibianhao | 150 | 255 | |||
3 | sijimingzi | 150 | 255 | |||
4 | xingbie | 150 | 255 | |||
5 | ruzhishijian | DateTime | 8 | 19 | ||
6 | dianhua | 150 | 255 | |||
7 | dizhi | 150 | 255 | |||
8 | zhuangtai | 150 | 255 | |||
9 | addtime | DateTime | 8 | 19 |
ruku表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | huowubianhao | 150 | 255 | |||
3 | huowumingcheng | 150 | 255 | |||
4 | kucun | 150 | 255 | |||
5 | rukuriqi | DateTime | 8 | 19 | ||
6 | rukushuliang | 150 | 255 | |||
7 | addtime | DateTime | 8 | 19 |
wuliugongsi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | zhanghao | 150 | 255 | |||
3 | mima | 150 | 255 | |||
4 | gongsimingcheng | 150 | 255 | |||
5 | dianhua | 150 | 255 | |||
6 | dizhi | 150 | 255 | |||
7 | addtime | DateTime | 8 | 19 |
yonghufankui表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | fankuimingcheng | 150 | 255 | |||
3 | fankuineirong | 150 | 255 | |||
4 | fankuiren | 150 | 255 | |||
5 | addtime | DateTime | 8 | 19 |
yonghuxinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | yonghuming | 150 | 255 | |||
3 | mima | 150 | 255 | |||
4 | xingming | 150 | 255 | |||
5 | xingbie | 150 | 255 | |||
6 | dianhua | 150 | 255 | |||
7 | dizhi | 150 | 255 | |||
8 | addtime | DateTime | 8 | 19 |