邮政物流配送系统的设计毕业论文

更新时间:2023-12-14 01:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕 业 设 计

题 目: 邮政物流配送系统的设计

学院: 计算机与通信学院 专业:计算机科学与技术 班级:0701 学号:200703010110 学生姓名: 鲁军龙 导师姓名: 张铁楠 完成日期: 2011年6月3日

诚 信 声 明

本人声明:

1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;

2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;

3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。

作者签名: 日期:

毕业设计(论文)任务书

题目: 邮政物流配送系统的设计 姓名 鲁军龙 学院 计算机与通信学院 专业 计算机科学与技术 班级 0701学号200703010110 指导老师 张铁楠 职称 讲师 教研室主任 1.设计任务特点及分析

邮政企业作为传统物流的重要承担者之一,如何在新形势下充分利用己有优势,进一步整合、优化和充实现有实物、信息、金融三大网络资源,向社会提供适应客户需求的优质、经济、高效的物流服务,是一个亟待解决的重要课题。邮政物流配送系统的核心问题是调度问题,要求设计相关的调度算法,采用软件工程的思想对系统进行设计和实现。 2.系统主要功能概述: (1)业务受理子系统:包括一体化物流业务和快货业务的受理,包括委托单接收、 订单审核、订单分派、查询统计、回执单处理、订单变更、日结处理。

(2)仓储管理:包括入库管理、出库管理、库存管理、基础资料管理和统计分析五 个部分的业务功能模块。

(3)运输管理: 主要包括运输作业(运输任务单接收、车辆配载、路单制作及交接、客户签收)、运输调度(路由管理、班次管理、车辆实时监控、异常作业处理)、统计分析等功能。 (4)配送管理子系统:包括配送任务接收、配送调度、信息反馈、回执处理、查询、统计功能。

3.主要任务与要求:

(1)熟悉邮政物流管理的业务流程和struts、spring、hibernate三大框架知识; (2)结合数据库基本理论,利用MySQL数据库技术设计后台数据库;

(3)实现上述模块功能,利用脚本语言完成前台网页界面的设计,做到界面完美,操作简单。软件经过上机调试,运行;

(4)规划、设计并配置网络;

(5)根据《湖南工程学院毕业设计论文规范》独立设计和编辑毕业论文;

(6)熟悉自己完成的任务和采用的技术与方法,能顺利通过答辩委员会提出的问题。 (7)提交论文、源程序、开题报告等电子文档。

4. 进度安排及完成时间:

第1周 老师集中指导,分析并明确课题任务与要求,学习资料收集检索方法,并 搜索收集所需中英文资料 第2~3周 阅读资料、书籍,学习所需知识,撰写文献综述。 第4~5周 毕业实习、完成毕业实习报告撰写。 第6周 建立毕业设计实验环境;初步拟订设计方案;完成开题报告。 第7周 完成总体设计。 第8~13周 具体设计、调试、修改、实现。 第14~15周 撰写毕业论文(说明书)、完成毕业答辩资格审查。 第16周 毕业答辩准备

第17周 毕业答辩

目 录

目 录 .............................................................................................................................................. 1 摘 要: ............................................................................................................................................ 1 ABSTRACT: ................................................................................................................................... 2 前 言 ................................................................................................................................................ 3 第1章 绪 论 .................................................................................................................................. 4

1.1 课题研究背景 ................................................................................................................... 4 1.2 课题研究现状 ................................................................................................................... 4 1.3 课题研究意义 ................................................................................................................... 5 1.4 系统设计思想 ................................................................................................................... 5 第2章 相关知识介绍 .................................................................................................................... 7

2.1 JSP简介 ............................................................................................................................ 7 2.2 B/S模式 ............................................................................................................................ 9 2.3 关于JSP的对象 ............................................................................................................. 10 2.4 关于AJAX简介 ............................................................................................................ 11 2.5 MYSQL数据库 .............................................................................................................. 12 第3章 可行性研究 .................................................................................................................... 13

3.1 市场可行性分析 .............................................................................................................. 13 3.2 经济可行性分析 .............................................................................................................. 13 3.3 技术可行性 ...................................................................................................................... 13 3.4 运行可行性 ...................................................................................................................... 14 第4章系统分析 ............................................................................................................................ 15

4.1系统业务分析 ................................................................................................................... 15 4.2需求分析 ........................................................................................................................... 15 4.2.1 功能分析 ....................................................................................................................................... 15 4.2.2 系统数据流图 ............................................................................................................................ 16 4.2.3系统数据处理 ............................................................................................................................... 17 4.3性能分析 ........................................................................................................................... 18 第5章系统概要设计 .................................................................................................................... 19

湖南工程学院毕业设计(论文)

前 言

基于B/S模式的物流配送系统,是目前流行的物流企业的管理手段。本系统充分利用了SSH三大框架及JSP技术在应用程序和开发上具有灵活和高效率的特点,有针对性地对系统进行设计。

通过该邮政物流配送系统,工作人员可通过业务受理模块对客户订单进行受理及管理;通过仓储管理模块管理仓库及对客户邮寄的物品进行入库和出库管理;通过运输模块管理车辆及班次;也可通过配送管理子系统查询本系统中所有处理的信息,还可以跟踪邮件实时动态。

本文从系统分析、详细设计、软件测试等章节阐述了系统的设计过程,并且从各个角度讲述了各个模块的功能以及其实现的原理。

在文章的附录为系统的关键程序源代码,该软件系统中的所有源代码均为个人自己编写出来的,由于时间仓促,加之水平及经验有限,论文及软件系统中的缺点和不足之处在所难免,敬请谅解。

3

邮政物流配送系统的设计与实现

第1章 绪 论

1.1 课题研究背景

随着21世纪的到来,科学技术的不断进步,互联网、IT、电子商务等被全世界更多的人们所认识,实现更快的信息传输速度,灵活便捷的传输方式,能使信息更有效的利用,从而极大地提高了各行各业的业务能力。中国邮政作为一个有百年发展史的行业,一直保持着传统的经营方式,固定的客户群,模式化的服务。然而,随着信息技术的发展,电话、传真、手机、网络等高科技信息产品的兴起,直接冲击着邮政包括中国邮政的发展,使得邮政盈利水平锐减。伴随着物流业的发展,各国邮政都开展了邮政物流,盈利水平有了好转,中国邮政也设立了许多地方邮政物流服务公司,跟随着物流发展趋势,参与一些产品、产业物流配送。但是,由于没有很好的战略规划、市场定位,使得中国邮政没有能够很好的与国内外物流公司分享各类产品在中国城市配送这块大蛋糕。随着经济全球化、贸易自由化浪潮的不断涌起,邮政内外环境发生了很大的变化。现代第三方物流作为一个现代产业,得到了高速的发展,并且引起了广大企业界和理论界的极大关注。在网络经济时代,中国邮政把发展现代第三方物流业务既是作为巩固中国邮政生存空间,也是开拓更长远、更广阔发展空间的需要。

1.2 课题研究现状

我国正处于全面推进信息化的进程之中,所以物流领域的信息化既带有一般信息化的共性,也有其特性。目前对物流配送的研究文献相当多,概括起来主要有几个方面:

(1)物流配送中心的选址研究:配送中心的规模与位置的问题的解决有许多方法,如重心法、线性规划法等,这些方法主要是从物流费用出发来考虑,而对实际生活中的交通环境因素、自然条件、相关法律、城市规划、经济发展趋势等关键因素考虑较少。

(2)物流配送路线的研究:主要是类似于“推销员问题”或“邮递员问题”。邮递员问题主要采用奇偶点图上作业法进行求解,且较成熟;推销员问题则主要采取启发式方法,它分为线路构造法和综合法。在线路构造法中主要是节约算法、最邻近法和最小生成树法等,其中节约算法最具代表性;而综合法则是依据问题的具体情况,将几种方法综合起来应用,通常是先用线路构造法得到初始解,再用线路改进法对初始解进行改进。

(3)物流配送计划的研究:配送计划是配送中心根据客户订单的需求制定一个货物运装、车辆选择与路线选择的具体方案。当前配送中心的配送计划成本主要是由有经验的配送员制定,计划的优劣,很大程度上取决于配闭塞员的经验。但是由于配送计划

4

湖南工程学院毕业设计(论文)

的复杂性和涉及范围的广泛性,要获得一个全方位的解决方案,还有一定的难度。如节约法公从路线考虑,并没有考虑到不同货物、配送时间表的需求、运输资源的利用与限制等;对满载车辆优化高度、基于时间窗的车辆优化调度等问题的研究较少,目前主要是采用遗传算法,但将这种方法直接应用于货运组织的日常调度作业还有一段距离,实际应用较少,主要停留在理论研究阶段。

(4)物流配送信息系统:物流信息的系统化是必不可少的条件。计算机化的物流信息具有以下作用:及时处理库存情况;取代人工管理,减少差错,提高准确度;加快信息处理速度,提高顾客服务水平等。现代化的物流系统离不开计算机信息技术。

1.3 课题研究意义

现代物流不仅单纯的考虑从生产者到消费者的货物配送问题,而且还考虑从供应商到生产者对原材料的采购,以及生产者本身在产品制造过程中的运输、保管和信息等各个方面,全面地、综合性地提高经济效益和效率的问题。

我国的市场经济正在迅速的发展,信息和效率是企业获胜的必要条件。纵观中国邮政现状,不难看出存在着信息传输效率低,可靠、安全、保密性差,缺少全系统统一的数据资源和规范的商务文件运行手段(拟稿、审核、执行记录、存档以及统计分析等),许多信息分散随意存放,缺少一致性、易于丢失、不易重复使用。其信息化和现代化程度普遍较低的阶段,集团与分公司之间没有实现网络互连,使得信息流的交换非常缓慢。建立一个规范、高效、安全可靠的企业进销存信息管理系统,中国邮政把发展现代第三方物流业务既是作为巩固中国邮政生存空间,也是开拓更长远、更广阔发展空间的需要。而邮政物流配送管理系统的建立是有必要的,提高信息传输效率就是本设计的目的与意义所在。

1.4 系统设计思想

一个优秀的应用系统,必须有一个正确的设计思想,通过合理地选择数据结构、操作系统以及开发环境,构成一个完善的体系结构,才能充分发挥计算机应用的优势。根据用户的实际需求,本系统的设计按照下述原则进行。

1.实用性

系统以用户需求为目标,以方便用户为原则,同时融入先进的设计思想。根据用户实际的需求情况,量身制作一个功能齐全、操作简单、实用性强,充分满足用户的需求,真正成为为用户提供快捷、方便的工具。

2.先进性

5

邮政物流配送系统的设计与实现

本系统将充分应用现有成熟的计算机技术、软件开发技术,为用户提供高性能的系统,可以方便的实现用户的需要。

3.高可靠性

一个实用的系统同时必须是可靠的,本系统通过合理而先进的结构设计以及软、硬件的优化选型,可保证系统的可靠性与容错性。

4.可维护性

系统的设计要求方便维护(浏览、查找等)。 5.可扩展性及灵活性

系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的浏览,充分保护系统的投资。用户可以根据自己的需要,灵活的浏览页面,查找所需的信息。

6.智能性

智能化是这个系统软件的一大特色。系统在设计时,充分考虑后台的管理,方便的将商品添加到前台,每一个系统考虑得很周密。

6

湖南工程学院毕业设计(论文)

第2章 相关知识介绍

2.1 JSP简介

JavaServer Pages:“动态服务器网页”,一般简称为“JSP”,JSP之所以能受到大家的重视与使用的原因,主要在于所产生的执行结果都是标准的html格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如ie 或netscape)都可以正确地获得JSP的“执行”结果,并且将这JSP执行的结果直接在浏览器中“浏览”,不像vbscript或 javascript是在客户端(client)的浏览器上执行,若使用vbscript来设计程序,客户端(client)在IE浏览器中可以显示程序执行的结果,可是,客户端(client)若使用netscape浏览器就无法显示vbscript的执行结果。

JSP(Java Server Pages)是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

7

邮政物流配送系统的设计与实现

1. JSP技术的强势

(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2. JSP技术的弱势

(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。

3. 隐密安全性高

如果在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的JSP程序代码是看不到的!这是因为JSP程序先于网站服务(WEB server)端执行后,将结果转换成标准HTML文件,再传送到客户端(client)的浏览器上,因此撰写的JSP程序并不会轻易地被看见进而被盗用。

4. 易于操控数据库

Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。

此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。

8

湖南工程学院毕业设计(论文)

2.2 B/S模式

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。目前我院内网(Intranet)、外网(Internet)和北京东方清大公司“案件、办公管理软件”就是B/S 结构管理软件,干警在局域网各工作站通过WWW浏览器就能实现工作业务。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

B/S架构软件的优势与劣势: 1. 维护和升级方式简单。

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

2. 成本降低,选择更多。

大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操

9

邮政物流配送系统的设计与实现

作系统是免费的以外,数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

2.3 关于JSP的对象

JSP页面中包含9个内置对象,这9个内置对象都是Servlet API的类或者接口的实例,只是JSP规范将它们完成了默认初始化,即它们已经是对象,可以直接使用。这 9个内置对象依次如下。

Application: javax.servlet.ServletContext的实例,该实例代表JSP所属的 Web应用本身,可用于 JSP 页面,或者 Servlet 之间交换信息。常用的方法有getAttribute(String attNarne) , setAttribute(String attNarne , String attValue)和getInitPararneter(String paramNarne)等。

Config: javax.servlet.ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有 getInitPararneter(StringparamNarne)及 getInitPararneternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

Exception: java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的 isErrorPage属性为 true 时,该对象才可以使用。常用的方法有getMessageO和 printStackTraceO等。

Out: javax.servlet.jsp.JspWriter的实例,该实例代表JSP 页面的输出流,用于输出内容,形成HTML 页面。

Page: 代表该页面本身,通常没有太大用处。也就是Servlet中的this,其类型就是生成的 Serlet 。

PageContext:javax.servlet.jsp.PageContext的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextO和getServletConfigO等。

Request: javax.servlet.http:HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里。这是一个常用的对象,获取客户端请求参数必须使用该对象。常用的方法有getPararneter(StringparamNarne), getPararneter

Values(String paramName), setAttribute(String atttibuteName,Object attributeValue), getAttribute(String attributeName)和 setCharacterEncoding(Stringenv)等。

Response: javax.servlet.http.HttpServletResponse的实例,代表服务器对客户端的响

10

湖南工程学院毕业设计(论文)

应。通常,也很少使用该对象直接响应,输出响应使用out 对象,而 response 对象常用于重定向。常用的方法有sendRedirect(java.lang.Stringlocation)等。

Session: javax.servlet.http.HttpSession的实例,该对象代表一次会话。从客户端浏览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话。常用的方法有:getAttribute(StringattName),setAttribute(StringattName,String attValue)等。

2.4 关于AJAX简介

Ajax(AsynchronousJavaScript+XML)不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。

传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。

这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。

很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢?

Ajax如何不同凡响,通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。

不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏Frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。

通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。

11

邮政物流配送系统的设计与实现

2.5 MySQL数据库

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySql数据库有如下特性:

1、使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 2、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统

3、为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

4、支持多线程,充分利用CPU资源

5、优化的SQL查询算法,有效地提高查询速度

6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名

7、提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8、提供用于管理、检查、优化数据库操作的管理工具 9、可以处理拥有上千万条记录的大型数据

12

湖南工程学院毕业设计(论文)

第3章 可行性研究

本系统采用MVC设计模式,在前台用JSP进行页面开发和管理用户界面,提示信息完善,界面友好,具有较强的亲和力,后台采用MYSQL数据开发和管理数据库,对数据库操作采用事务处理机制,具有强大的错误处理功能。本系统的开发环境是使用现在非常流行的开源开发工具MyEclipse和Tomcat服务器。本系统在技术方面可行,系统的目标确定后,可以从市场可行性、经济可行性、技术可行性和运行可行性等几个方面对能否实现新系统目标进行可行性分析。

3.1 市场可行性分析

项目是否可以实施,主要应该看该项目是否有潜在市场,以及市场的变化对项目的开发结果会有哪些影响。一个项目的市场需求是推动技术进步的主要动力,有时市场的需求,决定了某项技术的产生。有的时候,我们即使没有技术,没有经济实力,只要找对市场,我们也会通过其他渠道来达到项目的经济等方面的要求来开发项目,所以说,市场需求是项目可行性的根本。

本系统是邮政物流配送系统,是邮政公司员工处理物流的必备工具。只要针对大众对软件的喜好,使系统功能齐全,操作简单,界面美观大方,就一定会有市场潜力。

3.2 经济可行性分析

项目的经济可行性,除资金方面的需要外,还有经济风险的承受程度。因为项目的启动需要资金的支持,资金的多少以及未来的风险,都会给投资方带来一定的经济风险。对现有系统的分析,包括现有系统的缺陷,项目的主要特点,与现有系统的区别,以及该项目将要带来的经济效益等,都将有助于降低项目的风险。

系统的初期投资,投入大量时间和人力。

当然,考虑到开发本系统将为以后带来的利益,需要时间来进行网站维护与更完善的开发,是绝对必要的。

经过以上分析,开发邮政物流配送系统在经济方面是可行的。

3.3 技术可行性

1.硬件:计算机的存储量大,运算速度快,外部设备的功能好、效率高、可靠性高,通信设备的能力、质量都满足要求。

2.系统软件:

13

邮政物流配送系统的设计与实现

(1) 操作系统Windows XP/2000接口能力强,数据库管理系统的功能足够。 (2) Java语言是一种优秀的编程语言。“The San Francisco product is written almost entirely in java and is believed to be one of the largest java development efforts at this time[6].”从这可以看出Java的发展是很快的。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译[7]。

(3) 除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C++语言更容易写出“无错代码”。

3.有专用的开发应用软件:

(1) MySql,主要针对数据库的建立。 (2) MyEclipse,主要针对J2EE开发的制作。

3.4 运行可行性

运行可行性研究内容包括新系统规定的运行方式是否可行。如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。

计算机技术的发展,带来了计算机在现代企业、家庭中的普及,使得应用计算机成为现代人生活中非常重要的一部分。计算机技术的成熟,带来了软硬件优越配置及性能,越来越能被大众所接受的价格。于是,计算机的应用者在计算机的配置方面不断更新,以满足自己越来越高的需求。本系统对计算机软硬件的要求不高,所以系统在运行方面是可行的。

14

湖南工程学院毕业设计(论文)

第4章系统分析

采用软件工程的思想对邮政物流配送管理系统进行软件需求分析,包括业务分析、用户需求和功能需求。在系统分析时,采用面向对象的分析与设计方法(OOAD)描述和构造软件系统。进行系统总体设计。

4.1系统业务分析

邮政企业作为传统物流的重要承担者之一,邮政物流业务正逐步发展成为邮政的主营业务,而中邮精益物流业务更是邮政企业最新推出的集实物传递和信息跟踪为一体的现代化物流服务项目,可实现物品揽收、运输、配送、信息查询等功能,并可根据用户需求提供一体化、个性化、多样化的物流服务。如何在新形势下充分利用己有优势,进一步整合、优化和充实现有实物、信息、金融三大网络资源,向社会提供适应客户需求的优质、经济、高效的物流服务,是一个亟待解决的重要课题。邮政物流配送系统的核心问题是调度问题。而我们急需一个依托邮政综合计算机网,提高物流配送的运行和管理效率,以信息化推动现代邮政物流业务的发展。因此,建立一个高效可靠的物流管理系统,还可以更及时、准确、有效的提供各种数据,供相关部门作科学的管理决策,在提高邮政物流配送效率的同时也提高了服务质量。使得客户能更加方便快捷地进行货物的投递。

系统应包含业务受理,仓库管理,运输管理,配送管理子系统等业务。

4.2需求分析

4.2.1 功能分析

邮政物流配送管理系统是对货物流通过程中所须要到的资源进行管理的,公司员工或客户应用该管理系统的业务受理子系统把客户对须配送货物的要求输入系统中。仓库管理员应用仓库管理子系统对仓库进行管理。系统管理员应用运输管理子系统生成路单和货单。公司员工应用配送管理子系统调配、揽收投递任务。详细功能如下:

(1)业务受理功能:包括一体化物流业务和快货业务的受理,包括订单受理、订单增加、订单删除、订单修改。

(2)仓储管理:包括仓库信息的管理(增、删、改、查)、入库处理、出库处理几个部分的业务功能模块。

(3)运输管理:根据高度单和配送商品的重量、容积,结合运送车辆数量、吨位对车辆进行动态调度;科学合理管理、调配资源,对车辆的出车时间、运输能力进行管

15

邮政物流配送系统的设计与实现

理,生成货单和路单。主要包括车辆管理、班次管理、生成货单、生成路线单、客户签收等功能。

(4)配送管理子系统:根据员工的送递路线、使用工具、工作时间、技能与素质抢救无效调配揽收、投递任务,同时反馈揽收、投递信息。优化运输路线及投递路线、及时反馈、跟踪车辆运输的信息,方便客户及配送部门及时了解运输过程涉及到的各个环节。包括查询统计、跟踪订单状态等功能。

4.2.2 系统数据流图

按照需求分析,整个物流配送系统由客户、公司员工和管理员三个角色对象组成。其中公司员工根据所属不同的部门有可以分为不同角色,他们有各自不同的操作。如仓库管理员可对仓库的出库、入库和库存进行操作。

具体流程如下图所示。

业务操作员 仓库管理员 订单 仓库信息

车辆信息、订单信息 工 入库、出库信息 订单状态信息 配送系统 邮政物流

配送管理员 路线信息 业务操作员 图4.1顶层数据流图

16

湖南工程学院毕业设计(论文)

车辆管理 车辆信息 生成路单 生成路线单 订单信息 邮政物流管理 跟踪订单 订单管理 货物 仓库信息

订单受理 邮路文件 入库、出库处理 仓库信息管理

订单信息文件 仓储信息文件

图4.2 邮政物流管理系统数据流图

4.2.3系统数据处理

系统对数据处理分为两种:一是系统的前台进行查询、操作和维护,其中包括委托单接收、入库管理、出库管理、库存管理等。二是系统管理员对系统后台进行操作的功能有:仓库基础资料管理、车辆管理、员工管理和修改信息。根据总体设计思路制定以下总体设计原则:

(1)模块化:系统设计采用模块化设计原则,便于根据业务发展需要进行、逐步扩充和改进系统。

(2)可扩展性和可移植性:系统应提供良好的数据接口,并具有很好的可扩展性和可移植性;系统的数据库、操作系统、应用软件、开发工具、硬件、网络等产品应易于扩展,满足物流配送业务和技术日益发展的需要。

(3)安全性和可靠性:为保证数据不被篡改、窃取,确保各系统数据的安全交换、运作,系统应提供安全、可靠的数据交换通道;对客户身份进行有效认证;对数据存储进行有效认证。

(4)实用性:系统应具有广泛的实用性,能够充分适应业务开展的需要,便于操作和维护。

(5)标准化:为使系统具有良好的开放性和适用性,在可能条件下系统应尽量标准化,为此宜做到技术规范统一、数据库统一、处理流程统一、业务拓展规则统一。

(6)物流配送一般情况下是以客户下订单为起始点以客户签收为终点。其中涉及

17

湖南工程学院毕业设计(论文)

出库单,包括数据项有:出库单ID,订单条码,货物名称,仓库名称,货架编号,出库时间,出库操作员,出库状态。

车辆信息

car(cr_id,cr_code,cr_capacity,cr_driver,cr_type,cr_flag,cr_time,cr_operator) 车辆信息,包括数据项有:车辆ID,车辆编号,车辆容量,司机,车辆类型 车辆状态,车辆信息处理时间,车辆信息操作员。 班次信息

banci(bc_id,cr_code,chuche_time,daoda_time,chuche_address,daoda_address, bc_operator)

班次信息,包括数据项有:班次ID,班次编号,出车时间,到达时间,出车地址,到达地址,班次信息操作员。

23

邮政物流配送系统的设计与实现

5.2.2 数据库E-R图

订单ID 员工ID 订单描述 收货人 n 审核 地仓库 管理员ID 填写 n 委托订单 名称 数量 是否已有 1 管理员信息 层 1 钱 货物 订单 地址 1 描述 n 仓库信息 n 生产厂家 钱 出货时间 分派 n 订单信息 单价 姓名 电话 详细地址 密 码 职位 入库时间 1 路单 n 路由管理 班次管理 路单信息 n 详情 1 签收 日期 签名 n 1 包含 车辆管理 线路管理 价格 图4.2 物流配送管理系统数据库E-R图

5.2.3 数据库的逻辑设计

系统集操作员登录、订单受理,订单增删改查、仓储管理,配送管理子系统,查询订单状态等几个模块;首先先介绍管理员登录的数据库设计,软件的设计都是从需求开始,其他的数据库设计也不例外;下面一个一个来慢慢介绍。

24

湖南工程学院毕业设计(论文)

1)操作员登录数据库的设计

这个模块主要是操作员登录信息验证,所以在个模块应该设计有ID,密码和管理员的基本信息(这里只列出了name),直接将操作员的ID设为该表记录的ID;然后保存并命名为tuser,设计如下表:

表4.3 用户表

2)订单受理数据库的设计

这个模块主要是订单基本信息的保存,所以这个模块应包括所有与订单有关的信息。设计如下表:

表4.4 dingdan表

3)仓库信息表

该表用于下订单时可以快速的找到仓库信息,所以应包括所有与仓库有关的一切信息。设计如下表:

25

邮政物流配送系统的设计与实现

表4.5cangku表

4)入库单表

该表用于入库管理,包括了入库单的详细信息。设计如下表:

表4.6 rukudan表

5)出库单表

该表用于存储出库信息,用于对出库的统计与分析。设计如表:

表4.7 chukudan表

6)车辆信息表

此表用于存储车辆信息,用于对车辆的纺计及管理。设计如表:

表4.8 car表

26

湖南工程学院毕业设计(论文)

第6章 系统详细设计

6.1 系统的设计与开发

系统是按照系统的概要设计来设计的,在下文为各个模块的详细设计,其中还将讲述了各个模块实现的关键代码,从技术的观点详细的阐述了本系统的设计和开发过程。

6.2 操作员登录模块

做为物流配送管理系统的登录模块,它寻在的目的是防止未经授权的人擅自改动别人的信息,保证了身份的验证要求,登录界面为

图6.1 登录界面

在登录初始化页面中,页面以列表的形式显示从系统中查询到的所有部门信息,用户从中选取自己所在的部门,在用户名输入框中输入自己的用户名,在密码输入框中输入密码;点击重置按钮,系统自动清空所填信息,点击登录按钮,系统会通过验证数据库中的信息与所输入的用户名和密码及选择的部门是否匹配,若不匹配,则返回登录页面,若匹配,则验证成功,进入系统控制主页面。

27

邮政物流配送系统的设计与实现

流程图如下:

部门、用户名、密码与数据库中信 息匹配 点击登录按钮 输入密码 输入用户名 选择部门 开始 N Y 进入主页面

图6.2 登录模块流程图

结束 28

湖南工程学院毕业设计(论文)

6.3 订单受理模块

有客户来下订单就必须对其进行登记,也就是所谓的订单受理,就是输入订单的基本信息,如:收寄人姓名、电话等。操作员根据客户自身的信息相应地填入订单受理框,然后点击提交,系统就会把所填信息存入数据库中,并且在提交后自动显示系统处理时间,生成唯一订单条码,此订单条码将会作为后面很多查询信息的标识。当然,系统最后也会显示一个页面,提示用户此次订单的详细信息。

订单受理输入框页面如下图:

图6.3 订单受理界面

流程图如下:

结束 显示订单信息 自动生成条形码 提交 输入订单信息 开始 图6.4 订单受理流程图

29

邮政物流配送系统的设计与实现

6.4 订单管理模块

该模块是对订单进行管理.操作页面如下图

图6.5 订单管理

当进入订单管理模块时,页面会显示从数据库中查询到的所有订单的基本信息,在每条信息的后面会有删除、修改的相关操作链接,在某条订单信息后面点击修改操作后,会转移到一个显示了该条订单信息的页面,用户可修改其中的数据,然后提交到数据库,即修改了该条订单信息;在某条订单信息后面点击了删除操作,系统会自动删除该条订单信息,并局部刷新。

流程图如下:

结束 显示修改好的订单信息 修改订单信息 删除该条订单信息 点击修改按钮 点击删除按钮 开始 图6.6订单管理流程图

30

湖南工程学院毕业设计(论文)

6.5 入库管理模块

该模块对货物进行入库处理,界面如下:

图6.7入库管理模块

根据上面的订单信息,输入其中的货物名称、订单条码信息,其中订单条码必须是已存条码,否则系统在提交后将提示订单条码不存在,无法入库;然后从已有仓库信息中选取某个空余仓库及其货架编号等信息,在提交成功后显示成功提交提示信息,这样,就对货物进行了入库操作。

流程图如下:

开始 输入入库信息 提交 显示入库信息 结束

图6.8入库流程图

31

邮政物流配送系统的设计与实现

6.6出库管理模块

该模块对货物进行出库处理,界面如下:

图6.9出库管理模块

根据上面的订单信息,输入其中的货物名称、订单条码信息,其中订单条码必须是已存条码,否则系统在提交后将提示订单条码不存在,无法出库;然后选取某个空余仓库及其货架编号等信息,在提交成功后显示成功出库提示信息,这样,就对货物进行了出库操作。

流程图如下:

图6.10 出库流程图

结束 显示出库信息 输入条形码 开始

32

湖南工程学院毕业设计(论文)

第7章 安全性设计

当前软件管理系统已在各单位得到普遍应用,随着软件开发技术的不断发展,以往纯粹的jsp+servlet开发模式已不能适应软件开发人员的开发需求,也由于jsp+servlet开发方式的局限性,较难开发出非常大型的软件系统,因此本系统采用struts+spring+hibernate三大框架技术开发,另用到MySql数据库。经过实际使用和维护体会到该物流配送系统存在如下的安全隐患。

7.1 身份验证的安全性

7.1.1 身份验证的安全性隐患

一个软件系统,如果没有身份验证,那么任何人都可以进入系统,都可以对其进行操作,这样的话,那么这个软件系统是很不安全的,里面的数据信息,任何人都可以得到。

7.1.2本系统中的身份验证

上面说到了身份验证的安全隐患,那么本邮政物流配送系统就充分考虑到了这一问题,该系统共有种登录的人员,即业务操作员、仓库管理员、配送管理员、订单状态查询员、系统管理员,系统给这些不同的操作人员都分配了不同的权限,如业务操作员只能进行业务操作方面的操作,但系统管理员就能进行很多功能的操作。操作员在登录页面登录的时候,就被系统控测到了其操作员的类型,从而了为其设置了相应的权限,这样,就充分的进行了身份验证,也很好地解决了这个安全隐患。

7.2 hibernate框架的安全性

7.2.1 hibernate 的安全性隐患

Hibernate 框架作为一种主要实现持久层相关的功能的技术,相对于其它的开发技术,在程序员手动编写代码时,可以由系统提供很多帮助,myeclipse中有自动生成dao,javabean,以及其建立与数据库对应关系的配置文件,如car.hbm.xml等。而正是由于这种系统自动生成的功能,而带来了一定的安全隐患。

在生成的hbm.xml文件时,由于其是由数据库中的表自动生成的,而这框架技术中有一定的缺陷,自动生成的这些文件,并不能很好地将数据库中的表之间的级联关系很好的体现出来。所谓级联关系,简单的说,就是在插入、修改数据库表时,各个表之间的相互关联。正是由于这级联关系不能很好地体现出来,因此,由hibernate自动生成的

33

邮政物流配送系统的设计与实现

文件,在以后的软件运行、使用过程中会有一定的安全隐患,如在插入数据时,本来它是应该设置级联关系的,如果另一表中没有与这数据相关的一些属性,这条数据就不能插入,但由于这框架的一些小问题,而导致了软件无形中丧失了这样一种很重要的功能。

7.2.2提高hibernate框架的安全性

上面说到了hibernate的安全隐患,主要在于生成配置文件时,级联关系不能很好的生成。所以,我们要想提高它的安全性,就得从这级联关系着手。软件开发人员在系统自动生成了这些配置文件的基础上,开发人员可以自己手动增加这级联反转代码,在增加这些代码时,要特别注意级联反转的问题,哪个表作为正方,哪个表作为反转的一方,这是极其重要的问题。一般来说,可以将级联反转到那对象会相当来说较多的一方,这样是比较好的,通过这些方法,就可以很好地提高hibernater框架的安全性了。

7.3 数据库的安全性

MySQL是Microsoft公司推出的数据库管理系统。 与前面几个版本相比, MySQL通过数据库加密、 高级安全配置、 密码政策和细化许可控制等安全策略,为数据提供最高级别的安全性。 所谓数据库系统安全性包含四层方面的含义,参见图1。 其中第一层和第二层是系统运行的安全性。 系统运行安全是指数据库受到网络入侵,致使系统无法正常运行;第三层和第四层是系统信息安全。 数据库系统受到的非法入侵导致的信息篡改和泄漏。以下着重就从第三四两层分析MySQL版本在安全性上采取的安全策略和相应的配置。

图 6.1 数据库系统安全示意图

7.3.1 数据库安全隐患的危害

由于MySQL的默认配置中存在着密码为空的 sa 用户, sa 用户是系统默认的安全模块成员——即它拥有系统管理员的超级权限, 可以任意地执行系统指令, 从而得到操作系统的管理权限. 流程如图2

34

湖南工程学院毕业设计(论文)

图6.2 远程获取系统超级用户权限流程

首先, 入侵者通过某种扫描工具获悉网络数据库服务器存在密码为空的 sa 用户, 然后, 利用MySQL的客户端(Clien t) , 通过数据库服务器的1443 端口, 以 “sa” 的身份登录, 使用扩展常驻程序X p cmdshell . 该程序允许 MySQL服务器的用户运行任何系统指令。入侵者通过执行系统指令可得到系统的控制管理权限, 直接威胁服务器操作系统的安全, 甚至让整个服务器和局域网完全处于瘫痪状态, 使其无法进行正常工作。

7.3.2 数据库安全隐患的产生原因

首先, 由于对数据库所采取的安全检查措施的级别还远低于操作系统和网络的安全检查措施的级别, 并且系统维护本身安全的复杂程度不够全面、密码的安全性较差、误配置或者存在的未被察觉的系统后门等操作系统方面的安全问题, 以及人们长期以来形成的关于数据库方面的安全概念不太完善,自适应网络安全” 的理念——将安全问题看作持续不断的 “工作进程” , 而不是一次性的检查——并未被大多数数据库管理者所接受。都使得数据库服务器存在着很大的安全隐患.

其次, 数据库本身是个极为复杂的系统, 很难进行正常的配置和安全维护MySQL等数据库系统都涉及很多方面: 帐号及密码的设置、校验系统、 数据库资料的各种权限分配、 具体的操作语言(通常为MySQL 的特殊衍生语)、 配置时的网络协议、 各种补丁和服务包、 数据库系统和开发时所使用的开发工具等, 掌握起来非常困难. 许多数据库管理人员都忙于管理复杂的信息系统, 所以很可能没有检查出严重的安全隐患和不当的配置, 甚至根本没有进行检测. 同时对数据库以外相关知识(网络、 硬件等)的欠缺理解也是导致数据库服务器安全隐患的一大因素。

7.3.3提高数据库的安全性的策略

1.数据完整性策略

数据的完整性策略是通过健全物理与逻辑规则和手段以保证数据在应用环境中语义的完整, 从而达到保证数据安全。在实现上可分为两种:

(1 ) 物理数据的完整性

通过建立硬件级别的冗余, 如硬盘RAID结构设置,确保数据库系统出现硬件故障、电力故障等灾害发生后, 仍然能够恢复数据库。

( 2 ) 逻辑数据的完整性

35

邮政物流配送系统的设计与实现

通过建立数据库的完整性约束机制, 当数据被执行误操作时, 触发保护数据的动作, 或者, 触发保证数据完整的操作, 使数据语义上的正确性与完整性不变。

2 备份和恢复策略

计算机硬件故障、 软件错误、 操作员的失误总是不可避免的。这些故障轻则造成运行事务非正常中断, 影响数据的正确性, 重则破坏数据库, 使部分数据甚至全部数据丢失。为保证数据库中的数据都能从错误状态恢复到某种逻辑一致的状态, 数据库管理系统中必须有恢复系统。在制定备份策略时, 应考虑以下因数:( 1 )选择备份内容和方式

( 2 ) 确定备份频率( 3 ) 选择备份介质 备份与恢复策略具体实施

MySQL能在系统发生故障后利用已有的数据备份,恢复到原状,并保持数据的完整性和一致性。 MySQL可以创建镜像备份,在线恢复和部分备份。镜像备份允许将备份文件创建两个或四个同样的拷贝,以防其中某个集合损坏的情况。在线恢复允许在保持数据库在线的情况下恢复离线的文件组。部分备份是将所有的文件组,除了那些标记为只读的文件组之外(除非是指定的),进行备份。

3 杜绝非法用户入侵策略

MySQL服务器安全配置涉及: 用户账号及密码、 审计系统、 优先级模型和控制数据库目录的特别许可、内置式命令、 脚本和编程语言、 网络协议、补丁和服务包、数据库管理实用程序和开发工具。根据安全中的 “木桶” 原理, 安全取决于数据库安全防护中最薄弱的环节。一旦这个环节有误, 就会给攻击者有机可乘。因此, 应该对数据库安全作出一个全面的配置, 将攻击者彻底阻止。

( 1 ) 身份验证

数据库的安全性不仅要防止敏感数据被窥探, 而且要防止用户进行任何干扰数据库的操作。 数据库系统安全管理的第一步就是在用户进入信息系统时的

用户身份验证。MySQL 提供相应安全认证机制, 可创建数据库帐户, 任何用户向数据库提出的操作都必须强制通过系统的安全检查。

①??

令管理

破解口令的攻击方法是选择一个高效的口令字典,每次登录时, 从口令字典里取一个口令, 不断登录数据库, 直到破解口令。因此, 数据库管理员必须采取账户锁定策略, 当特定的用户登录失败超过指定次数时, 服务器自动锁定该账户, 以最大限度地防止口令被破解。另外, 定期改变口令也可以减少口令被破解的危险。通过设置一定的口令生存周期, 可以降低口令被破的风险。 一个口令使用时间越长, 它在攻击、 监听下被破就越容易。MySQL并不提供口令过期审计机制, 用户可以有意识地定期去改变 D B A口

36

湖南工程学院毕业设计(论文)

令。另外,也可以通过数据库扫描器利用比较每次扫描口令哈希密文的办法来检测口令的使用时间。

鉴于以上情况, 我们必须对一些数据库系统内置的口令做一个全面的评估,以加强口令的强壮性, 对口令的文件进行保护;尽量减少将口令存于注册表,同时, 限制注册表中该项的读取权限; 限制过多的以数据库管理员账号登录数据库服务器连接, 这样就可以降低口令被攻击的机会; 再者, 可以在客户机/ 服务器和服务器/ 服务器的连接配置间使用加密的口令。这样就能充分保证口令的安全, 减少被攻击的机会。

身份验证与安全密码策略具体实施

密码安全策略是数据库系统安全最关键的一步。 MySQL身份验证(SQL Server Authentication)方式和Windows身份验证(Windows Authentication)方式。 在使用MySQL的sa安全认证中,不能让sa账号和密码写在应用程序或者脚本之中,负责会导致注入式攻击。 MySQL在安装的时候假如使用混合模式,需要输入sa密码,这比以前的版本有所改进。 同时管理员要培养定期修改密码的习惯,并定期检查是否存在不符合密码要求的账号。

②角色管理

角色是一组系统级或对象级权限的集合。 用户可以给角色赋予指定的权限, 然后将角色赋予相应的用户。用户与角色的设置由系统管理员统一管理, 在添加用户时输入该用户自身信息后, 确定该用户的操作权限。具体操作权限的设置由存取控制来完成。

权限分配策略具体实施

MySQL支持创建用户定义的数据库角色,然后分配权限。 用户可以创建一些名字与全局组名字配套的角色,如Ac-counting Data Entry Operators、 Account-ing Data Entry Managers之类的角色。创建好角色后可以分配权限。 在权限分配中,要注意将DENY权限优先于所有其他权限。

( 2 ) 存储过程管理

存储过程是级别更高的应用程序, 它是在服务器上运行的例行程序及过程, 用户调用存储过程可直接访问未授权的表或视图。由于存储过程具有许多优点, 目前商业数据库都使用存储过程。MySQL数据库提供了许多系统存储过程, 它们用于系统管理、 用户登录管理、 权限设置、 数据库对象管理等操作。同时还有扩展的存储过程, 它们是用特定的编程语言编写的外部程序,以动态链接库( ( D L L ) 的形式存在于服务器上, 当执行一些操作时, 数据库可以动态装载并执行它们。另外, 用户也可以根据需要自定义存储过程。存储过程给应用带来方便的同时, 也存在安全风险。如果存储过程使用不当, 会给数据库攻击者留下攻击 “后门” 。要堵住 “后门” , 首先要避免重要的存储过

37

邮政物流配送系统的设计与实现

程被一般用户调用, 如限制 s p _ a d d l o g i n, s p _ p a s s -w o r d等存储过程以及扩展存储过程被滥用; 其次, 对于自定义的重要的存储过程进行加密, 以防止未授权用户通过 s p _ h e l p t e x t , s p _ X X X查看过程代码, 防止重要信息外泄。

( 3 ) 隔离控制

隔离控制技术在数据库中是一项很重要的安全技术。 通过中间机制, 将用户与存取对象隔离。 用户不能直接对存取对象进行操作, 而是通过中间机构间接进行。MySQL提供视图和存储过程两种中间机构实现隔离控制。

4 数据库审计与日志管理策略

审计是对计算机特权使用的一种记录。 审计本身并不能加强系统的安全性, 但通过审计我们可以对有关数据库操作的信息做详细了解, 并发现安全隐患。通常在审计前要制定审计的目标与审计策略。

审计的目标包括两个方面:①信息目的, 使用审计获取特定的历史信息;②可疑行为, 通过审计踪迹来调查数据库中发生的可疑活动。应当根据具体情况来确定审计目标。目前, 许多数据库系统都设置了审计和日志查看功能, 通过特定的事件日志查看器查看发生的一些操作。譬如: MySQL 中可以设置是否对 “登录成功” 、“登录失败” 进行审计, 以发现安全隐患。

日志记录策略具体实施

数据可审计功能会自动跟踪记录用户对数据库的所有操作,并且保存在审计日志中。 管理员以利用审计信息重现导致数据库现状的一系列事件,提供分析攻击线索的依据。 MySQL每次启动都会审核数据库登录事件,在系统日志中会详细记录所有账号登录的事件。 管理员要定期查看SQL Server日志,检查是否有可疑登录事件。 MySQL数据库审计分为语句审计、 特权审计、 模式对象审计和资源审计[1]。 语句审计是监视特定用户所提交的SQL

语句;特权审计是指监视特定用户使用的系统特权;模式对象审计是指监视对象发生的行为;资源审计是指监视分配给每个用户的系统资源。在选择审计粒度和审计对象时,需要权衡系统效率与存储空间消耗的矛盾问题。 为了达到审计目的,一般需要将审计到对数据库记录与字段一级的访问,但这种小粒度的审计需要消耗大量的存储空间,同时降低系统的响应速度,管理员必须根据实际环境权衡好两者关系。

5 数据加密策略

从实用和效率方面考虑, 许多大型的数据库管理系统数据库文件本身无加密功能, MySQL也不例外。在开发教学网站时通常设置用户口令、 存取权限来加强数据库的安全保护措施。 但对这样的系统生成的数据库文件,也可通过数据库管理系统( D B MS )

38

湖南工程学院毕业设计(论文)

直接操作, 使数据缺乏真正的保密与安全; 可增加相应的数据加密机制, 各用户的数据只能由用户用自己的密钥加密, 数据库管理员获得的信息无法进行正常脱密, 从而保证了用户信息的安全。

协议加密策略具体实施

MySQL集成密钥管理架构,使用Tabular Data Stream协议进行网络数据交换[1],并可以结合SSL来加密协议,从而保证数据安全的可靠性和真实性。 SQLServer 2005支持三种加密类型,每种类型使用不同密钥,并具有多重加密算法和密钥强度。

(1)对称加密: MySQL支持RC4、RC2、 DES和AES系列加密算法。

(2)非对称加密: MySQL支持RSA加密算法,可选择的密钥长度有512位、1024位和2048位。

(3)证书。 MySQL支持 “因特网工程工作组” (IETF)X.509版本3(X.509v3)规范[2],一个组织可以使用外部生成的证书,或者可以使用MySQL生成证书。

启用安全策略后,可以让MySQL本身具备足够的安全防范能力。主管人员在建设与部署数据库系统时, 都应该注意数据库的安全问题, 跟踪数据库最新的安全动态和发展方向, 对数据库服务器做出全面的评估,修正数据库服务器存在的弱点和漏洞, 而且还需要法律、管理、社会因素的配合。因此, 除了以上提到的解决方案外, 还应加强机房的管理和有关人员的法制意识和道德观念教育,并制定一系列的管理制度, 最终达到数据库安全的目的。

39

邮政物流配送系统的设计与实现

第8章 系统测试

软件测试就是在软件投入运行前,对软件需求分析、设计规格说明书和编码的最终复审,是软件质量保证的关键步骤。确切的说,软件测试最终的目的就是为了发现错误,针对错误逐一进行排除,以便完善系统的性能;通过测试发现将程序中隐藏的问题,通过测试,把这个网站制作的更加完善,通过最后阶段的测试也让我们学到许多知识的空漏点。下面介绍了该系统的详细测试过程以和结果,以及出错和解决错误的过程,该系统测试采用的是黑合子测试方法,也称为功能测试法,其中具体操作如下:

8.1 软件测试基础

8.1.1 软件测试的意义

由于人们对于软件质量的重视程度越来越高,就导致了测试在软件开发中的地位越来越重要。随着软件危机的频频出现,以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试是目前用来验证软件是否能够完成所期望的功能的惟一有效的方法。

测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行越频繁,所带来的整个软件开发成本的下降就会越多。极限编程(Extreme Programming,即XP)更是把测试推到了极限的位置,一切软件开发活动都要首先从编写测试代码开始。

8.1.2 本系统开发过程中的软件测试

软件测试的方法很多,主要归结起来分为,静态测试、动态测试,黑盒测试和白盒测试。在测试中严格按如下原则来进行:

1.在整个开发过程中要尽早地和不断的进行软件测试。 2.在开始测试时,不应默认程序中不存在的错误。 3.设计测试用例时,要给出测试的预测结果。

4.测试工作应避免由系统开发人员或开发机构本身来承担 5.对合理的和不合理的输入数据都要进行测试 6.重点测试错误群集团的程序区段

7.除检查程序功能是否完备外,还要检查程序功能是否有多余的。 8. 完整保留所有测试文件,直至该软件产品被废弃为止。

40

湖南工程学院毕业设计(论文)

8.1.3 系统测试平台简介

表8.1 系统测试平台表 硬件平台 CPU 主板 内存 硬盘 显卡 显示器 Intel(R) Core(TM) 2 Duo Intel 850芯片组的GA-8TX-C 2G内存 西捷酷鱼7200.7 300G 爱尔沙 518 PHILIPS S5,17寸纯平显示器 软件环境 操作系统 办公软件 显卡驱动 Microsoft WindowsXP简体中文专业版 Microsoft Officevb6.0 nVIDIA ForceWare驱动56.72版For Win2000/XP 8.2 单元测试

8.2.1 主页登录测试

表8.2 主界面登录测试表

测试项目 登录主页面 测试内容 在互联网主页登录栏部门列表框选择自己部门,并输入操作员的用户名和密码点击登录。

测试结果 通过验证,登录成功 8.2.2 订单受理测试

表8.3 订单受理测试表

测试项目 订单受理 测试内容 操作员登录,点击订单受理,输入订单的基本信息,点击提交 测试结果 测试成功,显示订单受理的全部订单信息 8.2.3订单管理测试

表8.4 订单管理测试表

41

邮政物流配送系统的设计与实现

测试项目 增加订单 测试内容 点击订单管理页面中的增加链测试结果 测试成功,转到订单受理信息示此次订单的全部信息 接,然后输入订单信息,提交 页面,并在输入信息提交后显修改订单 点击订单管理页面中的修改链测试成功,转到订单修改页面,的全部信息 删除订单

点击订单管理页面中的删除链接 测试成功,直接删除了该条订单信息,并局部刷新 接,然后修改订单信息,提交 并在修改提交后显示此次订单8.2.4仓库信息管理测试

表8.4 仓库信息管理测试表

测试项目 增加仓库信息 测试内容 点击仓库管理页面中的增加链测试结果 测试成功,转到仓库信息增加示此次提交的仓库的全部信息 修改仓库信息 点击仓库管理页面中的修改链测试成功,转到仓库修改页面,的仓库的全部信息 删除仓库信息 点击仓库管理页面中的删除链接 测试成功,直接删除了该条仓库信息,并局部刷新 接,然后修改仓库信息,提交 并在修改提交后显示此次提交接,然后输入仓库信息,提交 页面,并在输入信息提交后显8.2.5 入库处理测试

表8.3 订单受理测试表

测试项目 入库处理 测试内容 点击入库处理,输入入库的基本信息,点击提交 测试结果 测试成功,显示入库处理的全部入库信息 8.2.6出库处理测试

表8.3 订单受理测试表

测试项目 测试内容 测试结果 42

本文来源:https://www.bwwdw.com/article/6445.html

Top