摘 要
本物流管理系统是针对目前物流管理系统管理的实际需求,从实际工作出发,对过去的物流管理系统管理系统存在的问题进行分析,结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前jsp中最流行SSM框架和myeclipse编辑器、sqlserver数据库设计并实现的 。本物流管理系统管理系统主要包括系统用户管理模块、司机信息模块、车辆信息管理、货物库存管理、货物入库管理、登录模块、和退出模块等多个模块。它帮助物流管理系统管理实现了信息化、网络化,通过测试,实现了系统设计目标,相比传统的管理模式,本系统合理的利用了物流管理系统管理数据资源,有效的减少了物流管理系统管理的经济投入,大大提高了物流管理系统管理的效率。
关键词:物流管理系统管理;SSM框架;sqlserver数据库
第4章 系统设计
4.1系统结构设计
系统主要是分为管理员端设计与用户端设计。用户端模块主要是系统中普通用户在注册、登录系统可以看到自己的基本信息,维护自己的信息;管理员端模块主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,可对系统中的用户进行管理。
系统的功能结构图如下图所示。
图4-1系统功能结构图
4.2功能模块设计
- 注册模块:游客用户可以系统进行账号注册,账号注册需要输入的数据,有用户名、密码、确认密码、邮箱、qq等,提交注册信息后,系统通过js代码判断用户输入的注册数据是否符合规格,如果符合规格后,在系统数据库中新增一个用户记录,为了安全性,使用md5加密算法完成密码的加密,然后存储数据库。
- 登录模块:在用户登录过程中,包含用户名、密码和验证码,系统需要先对验证码进行正错判断,若用户登录使用了验证码,则用户登录时除了需要输入用户名和密码外,还要输入验证码。在判断验证码为正确后,判断用户名及密码,由于用户密码是用MD5加密过的,所以在对用户密码判断时应先对密码进行MD5转换后再进行判断,当用户名或密码不正确时,返回登录页面显示错误信息。
- 车辆信息管理模块:设计系统的车辆信息表,管理员对车辆信息数据的管理,如增加、删除、修改、查询等,管理员添加车辆信息时,输入车辆信息后,使用js函数判断输入格式是否正确,判断正确后,则往车辆信息表中插入车辆信息数据。
- 货物出库管理模块:设计系统的货物出库表,管理员对货物出库数据的管理,如增加、删除、修改、查询等,管理员添加货物出库时,输入货物出库后,使用js函数判断输入格式是否正确,判断正确后,则往货物出库表中插入货物出库数据。
- 货物入库管理模块:设计系统的货物入库表,管理员对货物入库数据的管理,如增加、删除、修改、查询等,管理员添加货物入库时,输入货物入库后,使用js函数判断输入格式是否正确,判断正确后,则往货物入库表中插入货物入库数据。
- 货物库存管理模块:货物库存管理模块包括货物库存录入、货物库存列表、货物库存搜索、货物库存修改、货物库存删除,都是通过sql语句来实现数据库操作,并将数据放置到html界面中。
- 系统管理模块:数据备份功能。
4.3数据库设计
4.3.1数据库设计概述
数据库的设计在这一套开发系统中扮演者非常重要的角色,完善的数据库建立可以让其更快的完成项目。整个数据库的创建是库存管理系统开发和创立的核心技术,概括的说,就是根据用户的需求创立起满足用户的需要的数据库。数据库的整体设计是在软件开发是其最主要的问题。
再考虑到数据库设计的时候,我们首先应该想到把这个系统的数据设计和处理设计密切结合起来,从而使得把整个库存信息管理系统相结合起来。
以前采用手工整理的方法来对信息结构复杂,应用环境多样的数据进行整理。使用这种过时方法与整个数据整理人员的水平是紧密相关的,经验多的人则失误少,反之,则出现的错误会多。数据库设计是被认为是一项技巧而不是他人眼中工程项目,缺少正确的理论知识和合适的解决方法的支持。因为在交付运行了一段时间之后总有些莫名其妙的问题发生,使这个软件系统的质量很难得到保障从而导致出现了很多的损失。以是只有采取新的数据库管理方式才能更好的解决这些根本性的问题。近些年来,人们不断的探索和挖掘数据库其中的奥妙,以便更快更好地运行整个系统。
4.3.1概念设计
一个完整的数据分析过程与这个数据库的逻辑结构和物理结构有十分密切的联系,我们需要一系列操作来完成对应用数据库所使用的信息进行确认、编纂、组织、挑选。我们可以采用特定的方法来获取有关用户的所有的有效信息,从而使这些有用信息可以直接成为数据库的重要数据。
我们在数据库分析中采用E-R图来建立相对应的关系,它有实体、关系、属性三种概念。实体可以说是一个用来维持和不断利用数据的大集合;属性可以说是这个物体的所具有的特点;关系很明显指的就是每个数据实体之间的种种联系,关系给各个实体之间建立起了相对应的模型。
根据系统各个实体的关系,得出系统的总体ER图。
4.3.2表设计
1. 建立最符合客户需求的数据库计划。
2. 对数据库进行规范化处理,避免一些不必要的错误。
3. 数据库完整性。
4. 每个用户权限的要求。
5. 应用程序的性能需求,设计数据库时必须利用sqlserver中的各个功能来维持运行。
6. 数据库定期的维护。
在服务器上建立名为ssmwlpthsg4406y3的数据库,其中包括以下表:
allusers表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
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 |
第5章 系统实现
5.1基本任务
系统实现阶段的根本目标在这个阶段的设计工作中精确地描述出目标系统,从而在编码阶段可以直接根据这个描述翻译成用程序语言编写的系统。
系统实现的基本任务有以下几个:
(1) 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2) 为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3) 对数据结构进行物理设计,即确定数据库的物理结构。
(4) 其他设计:根据软件系统的类型,可能还需要进行代码设计、输入/输出格式设计、人机对话设计。
(5) 编写系统实现说明书。
(6) 评审。对处理过程的算法和数据库的物理结构都要评审。
系统结构可分为src的jsp源代码,database文件夹为系统的数据库文件,webroot为系统的界面代码文件。Src文件夹里面包含control包、dao包、util包,dao包为逻辑层,是系统方法的底层包,包括各种数据增删改查的方法,control包是控制层,用来连接逻辑层和视图层,在逻辑层调用逻辑层,完成视图层需要的功能,视图层为系统的界面代码,完成界面的设计和数据的显示。
5.2登录模块的实现
5.2.1首页实现
经过用户登录后,页面跳转至后台首页,main.php,首页是由2个页面组成的,包括top、left和center等页面,通过@ Register引入,这里也是浏览者操作系统功能的入口,系统首页主要介绍系统的基本信息,包括当前用户、当前日期、当前访问浏览器的版本、服务器的端口数、当前用户的权限、当前电脑的ip、当前电脑的操作系统名称、本系统的开发日期、系统作者、指导教师、开发日期等,主页面如下图所示。
图5.1 首页页面图
5.2.2管理员后台登录
为了确保系统安全性,系统操作员只有在后台登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的后台管理界面。
用户登录流程图如下所示
图5-2用户登录流程图
登录界面如下图所示。
图5-3登录界面
5.3管理员模块的实现
5.31用户管理模块的实现
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。
用户管理界面如下图所示。
图5-11用户管理
5.3.2车辆信息管理模块的实现
车辆信息添加功能主要指对其车牌号、车辆型号等一些基本信息的添加、删除和修改。车辆信息查询能根据车牌号、车辆型号等多种条件对车辆信息进行查询。
车辆信息添加如下图所示:
图5-15车辆信息添加
车辆信息查询如下图所示:
图5-16车辆信息查询
5.3.3货物库存管理模块的实现
管理员发布新的货物库存,系统显示货物库存,货物库存添加功能主要指对其货物编号、货物名称等一些基本信息的添加、删除和修改。
货物库存添加如下图所示:
图5-18货物库存添加
5.3.4货物入库管理模块的实现
管理员发布新的货物入库,系统显示货物入库,货物入库添加功能主要指对其货物编号、货物名称等一些基本信息的添加、删除和修改。
图5-20货物入库管理流程图
货物入库添加如下图所示:
图5-21货物入库添加
5.3.5货物出库管理模块的实现
管理员发布新的货物出库,系统显示货物出库,货物出库添加功能主要指对其货物编号、货物名称等一些基本信息的添加、删除和修改。
货物出库添加页面,如下图所示。
图5.22 货物出库添加页面图
货物出库管理主要代码如下: