资源描述
摘 要当下我国正处于信息迅猛发展的阶段,尤其是信息科学技术这一方面,我国的发展速度较快,许多行业都随着时代的发展,逐渐向自己的领域加入新鲜血液。那些利用计算机技术的行业尤为突出,从而也加速了计算机技术的进步。物流行业作为国内各个行业中不可或缺的一部分,也必须要顺应时代潮流的发展。所以一种新的物流管理系统的开发与实现,对于物流行业的需求,以及提高行业的业务效率方面是极其有意义的一项工作。此次的研究题目是电子商务物流配送系统的设计和实现,利用管理系统能够进行更为便捷的查询管理以及分类。关键词:物流;配送;管理;设计与实现第 27 页目 录一、绪论4(一)项目背景4(二)项目目的和意义4(三)国内外研究现状5二、可行性分析和关键技术介绍6(一)可行性分析61. 技术可行性62.操作可行性63.经济可行性6(二)开发语言6(三)开发平台7(四)JSP技术7(五)MySQL数据库7三、系统需求分析8(一)系统业务流程分析8(二)系统功能性需求分析9(三)系统可靠性分析9四、系统设计与实现10(一)系统设计目标10(二)系统总体设计10(三)功能模块设计11(四)数据库设计111.E-R图122. 数据表结构设计12五、系统功能模块实现14(一)用户登录模块14(二)修改密码模块16(三) 用户管理模块171. 菜单管理172.业务管理模块19(四)管理员模块201.个人信息管理模块202.订单信息管理模块22六、系统测试24(一)程序调试24(二)测试重要性24(三)测试流程24(四)用户登录模块测试24(五)权限管理模块测试25(六) 角色管理模块测试26结束语26致 谢27参考文献28一、绪论(一)项目背景在信息科学技术这一有环境中计算机技术得到了迅猛的发展,而且伴随着时间的增加,计算机技术也愈加成熟,大部分行业都将其广泛的使用。这也为其他的行业都带来了极大的方便,为这些行业带来新鲜的血液。本篇论文设计的小型的物流管理系统的开发项目,一方面可以完美的实现物流的智能化的各种各样的业务的管理,减少投入的人工成本,推进物流行业的发展,带来巨大的效益。(二)项目目的和意义当下我国正处于信息迅猛发展的阶段,尤其是信息科学技术这一方面,我国的发展速度较快,许多行业都随着时代的发展,逐渐向自己的领域加入新鲜血液。那些利用计算机技术的行业尤为突出,从而也加速了计算机技术的进步。物流行业作为国内各个行业中不可或缺的一部分。传统意义上的物流管理主要是通过纸质进行手工登记,这一方式具有诸多弊端,对于物流行业来说极其不利于其发展,并且这种人工管理的方法极易发生错误,使得管理效率不能够得到提升等诸多方面。所以,通过将计算机技术与物流行业相结合,把那些我要数据进行信息化管理对物流管理来说意义非凡。当下计算机技术已经相当成熟了,对于建立一种功能齐全而且强大的管理系统来说具备雄厚的基础,这也使得物流行业持续向前推进。就当下的情况来说,我国的物流管理在市场上不具备突出的优势,所以进行物流系统的开发,对于物流行业来说意义极其重大。(三)国内外研究现状物流交易早在20世纪90年代就已经发展起来,到目前为止,各种各样以物流运输的形式已经非常的深入到我们生活的各个方面,便于我们日常的生活,促进生活的发展。因此,随着我国的物流行业的不断的发展,物流的各种各样的业务的管理也变的非常的重要,在早前的物流管理系统中,管理人员利用人工方式进行物流管理是一种重要的方式。随着时代的发展与进步,许多规模较大的小公司开始利用计算机这一技术进行方便高效的管理。与此同时,用计算机技术进行的快捷,高效管理会使整个物流行业获得巨大的收益,这一方式会成为许多大型物流公司喜爱的方式。随着生活的不断的发展,小型物流公司在我们的生活中也渐渐存在,并且不断的增多,但是小型物流公司存在发展缓慢、管理方式落后的特点,所以,本文本次设计的物流管理系统,专门为小型物流公司进行设计和实现,帮助小型物流公司在管理方面带来巨大的便利性,推动小型物流公司的发展。二、可行性分析和关键技术介绍(一)可行性分析1. 技术可行性当下大多数物流管理配送系统都是以JSP技术为基础进行开发的,现如今,JSP技术已经是一个极其成熟的技术了。与此同时,这一技术也被许多开发者看好。而且,MyEclipse平台能够在技术层面上决定完成该物流管理系统的开发任务。所以开发这一系统在技术上是完全可行的。2.操作可行性物流管理系统是否能够得到大范围的推广与应用,这一系统的操作难易程度、受利程度具有决定性的作用。这些因素是开发者需要考虑进去的重要问题,这一系统必须要便于操作,便捷。在进行操作时,无需通过指导就能够进行自学,从操作这一角度来说,这一系统不具有任何繁杂性。所以,这一系统的操作极其简单易操作,非常具有可行性。3.经济可行性物流管理系统并不要大额的经费支出,而且其设计内容也不复杂,设计过程也不复杂,只需要普通的审计人员就能够完成,不具有高难度。另一方面,这一系统具有较高的价值,使得消费者无需经过复杂的造作,就能够让管理效率得到提升。此外,这一系统的设计也不具有较高的成本,但是其能够带来的收益远高于成本。所以,本论文的研究内容是经济可行性的。(二)开发语言我们通常情况下称Java不仅是能够面向对象而且是还能够跨平台编程的语言。我们都知道,Java语言其实是所有的计算机语言中非常关键的一门语言,它同时也是一种面向对象的比较简单且高级的编程语言,开发者在整体设计的过程中,能自由灵活的构建类,还能进行各种方法的重载,对不同的条件进行智能的选择运行。作为一种跨平台的语言,Java编写的代码无需经过修改,即可在Windows、Linux、MacOS等不同的操作系统下运行。(三)开发平台通常情况下,我们称MyEclipse是一种开源的、方便的、快捷的代码。eclipse是一个开发了源代码,使用起来非常便捷,非常适合java开发的新手使用。它最初是属于IBM公司的一个软件,后来IBM公司宣布将其开放源码。它的设计理念就是,一切都可以是插件。它是一个较为强大的集成环境,集成了cvs,junit,ant,maven等。现在很多学生和公司依然会选择它。(四)JSP技术据研究者调查,JSP技术是有Sun公司进行设计和发明的。JSP技术有许许多多的优势,利用JSP技术开发网页或者系统是开发者比较喜爱的事情,也在各个行业逐渐的盛行。JSP技术使用的是JAVA语言进行编写的,JAVA语言获得了计算机开发者的喜爱,也是当前开发人员比较常用的一门语言,因此使用便利,学习简单、易懂。本文采用JSP技术进行开发系统,对系统的可扩展性具有非常大的帮助。(五)MySQL数据库MySQL数据库是时下比较流行的一种数据库,与Oracle数据库同属于Oracle公司,因为其使用的是最常用的SQL查询语句对数据库进行管理,所以在使用上提供和很大的便利,不需要再单独学习相关的查询语句格式。对于中小型的项目来说,Mysql数据库可以满足设计者的大部分需求,加上其开源的特点,所以本次设计将采用Mysql数据库。三、系统需求分析(一)系统业务流程分析如图3-1所示是系统的业务流程图,详细说明如下:l 用户通过登录界面登录物流管理系统,如果密码不正确则需要重新进行登录;l 当用户成功登录系统之后,则可以在系统中对基本功能和系统管理等功能进行新增、修改、删除、查询等操作;l 当用户想要修改密码时,可以点击“修改密码”按钮进行操作;l 等用户处理完所有的事情,即可退出系统。图3-1 系统业务流程图(二)系统功能性需求分析正如大家所了解到的,系统的功能性需求是一个极其重要的环节,对于整个系统的分析过程来说非常关键。随着信息化时代的发展和到来,越来越多的东西开始步入信息化,人们对于信息化时代下各种高新技术的使用也有了更高的认同感。现在越来越多的人喜欢用计算机来处理各种复杂的事务,本系统开发是为了通过这个简单的系统的,使得物流配送更加方便快捷。(三)系统可靠性分析开发出来的软件系统的稳定与否决定着软件开发的成败。因此提高系统的稳定性是每一个开发人员的必修课。系统可能运行一个月没问题,半年没问题,但不代表一年也没有问题,很有可能会出内存溢出,服务器的崩溃等异常错误。因此在编写代码时要十分注意内存的管理,避免内存的非法访问,该释放的资源要及时的释放。本系统在设计之初就将内存管理,事务管理,对象管理进行了合理的设计,尽量避免此类问题的产生。系统的信息提示及时、处理准确性高。本系统中的任务提示信息,在一定时间内提醒用户有任务可处理,做到了消息及时提醒。系统考虑到以后会出现的数据量超大的问题,在数据的加载上使用了懒加载方式,减轻系统的压力,提高系统的响应速度,以更好的满足用户体验效果。四、系统设计与实现(一)系统设计目标本系统的设计目标构建适应于中等规模的物流管理系统,同时,设计出的系统应该要求系统安全性高、可靠性高、运行相对稳定、性能相对平稳。同时,物流管理系统需要具备一定的可扩展性,这样才能够适应各种各样的小型物流的进一步发展需要。(二)系统总体设计本系统总体设计图4-1。当用户成功的通过用户名和密码登录到系统之后,就可以进入到系统的主页,用户在主页中就可以进行各种各样的选择的操作。图4-1 系统总体设计图(三)功能模块设计本课题设计了一种管理系统的软件结构。设计的思想为自顶向下的方式,顶层模块根据需求给不同的下层模块发送不同的指令,各个模块相互协作,完成程序的所有功能,如图4-2所示。图4-2 系统功能模块图根据图4-2可以看出系统主要划分为业务管理模块、系统管理模块、管理员模块三大模块,而每一模块的具体功能如下:(1) 业务管理模块:主要实现的是站点信息管理、订单信息管理和统计管理,主要方便用户对物流相关信息进行查询;(2) 系统管理模块:该模块主要实现的是用户对菜单、人员、事件进行新增、修改、删除和查询操作,大大提高了物流的管理水平和运维速率;(3) 管理员模块:该模块主要是对网站的一个管理作用,是管理人员对网站进行合理的操作,方便用户的操作。(四)数据库设计物流管理系统主要是采用的MySQL数据库进行开发的。1.E-R图如下图4-3所示是展示的是实体的关系模型图。图4-3 E-R图2. 数据表结构设计我们根据需求可以对数据结构进行详细的分析,本系统数据表主要是包含用户信息表、基本功能表、信息中心信息表等几个比较主要的表格。本模型的数据库名:Logistics,其中每张数据表的结构如下所示。表4-1 用户信息表allusers序号列名长度小数位标识主键允许空备注1ID40是否编号2username500是姓名3pwd500是密码4near500是账号5tel500是手机号表4-2 业务管理信息表mainInfo序号列名数据类型长度小数位标识主键允许空备注1IDint40是否编号2minggchengvarchar500是优先级3nameintr500是状态4wenjianvarchar500是主题5shedingvarchar500是设定6textvarchar500是备注表4-3订单信息表academicactivities序号列名数据类型长度小数位标识主键允许空备注1IDint40是否编号2Projectthemevarchar500是名称3Activitytimevarchar500是关键字4Placeofactivityvarchar500是时间5Initiatorint500是备注表4-4 系统管理信息表Winning序号列名数据类型长度小数位标识主键允许空备注1IDint40是是否编号2prizevarchar500是名称3namevarcha160是关键字4Awardcategoriesvarcha230是时间5sdnsjvarcha200是说明6wiwohvarcha180是备注表4-5 管理员信息表hprojectg序号列名数据类型长度小数位标识主键允许空备注1IDint40是否编号2mingchengvarchar500是账户3nameintr500是密码五、系统功能模块实现(一)用户登录模块图4-5位用户登录模块的流程图,主要顺序为:1)用户输入用户名和密码进行登录;2)系统对比数据库中的账号和密码进行用户登录的验证;3)如果密码正确,用户登录成功,如果密码错误,用户需要重新输入密码。登录成功之后用户就可进入物流管理系统的主界面进行相关的操作。图5-1 用户登录流程图如图4-6和图4-7是用户的登录模块实现图和物流管理系统的主界面图,我们可以看出登录模块界面简单、快捷,方便用户快速登录,主界面有物流管理系统的相关功能,如基本功能、菜单管理和退出等等,操作简单、快捷。相关代码如下所示*<html><!-系统登陆页面-><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><%include file="/newrisk/jsp/common/taglibs.jsp" %><link rel="shortcut icon" href="$ctx /newrisk/images/title.jpg" type="/x-icon"/><title>物流管理系统</title><script type="text/javascript">$(function() $(':text').click(function(i) $(':text').nextAll('span').hide(); $(':password').nextAll('span').hide(); );/输入框"X"操作$(':text,:password').keydown(function()var _this = $(this);_this.nextAll('span').hide();if(!_this.parent().find('em').size() _this.parent().append('<em></em>');_this.nextAll('em').click(function()_this.val('');_this.nextAll('span').show();_this.focus();$(this).remove();););/input框失去焦点后的提示文字与"X"显示隐藏$(':text,:password').blur(function()$(':text,:password').each(function(i) if($(this).val() = '') $(this).nextAll('span').show(); );)(二)修改密码模块如图4-7所示,使用户的修改密码界面,首先输入旧密码,然后输入新密码,最后再确认输入一次新密码,就可对自己的密码进行合理的修改。图5-2 修改密码界面相关代码如下所示:<generatorConfiguration><!- <classPathEntry location="ojdbc14.jar" /> -><contextid="oracle_tables"targetRuntime="MyBatis3"><!- 为了防止生成的代码中有很多注释,比较难看,加入下面的配置控制 -><commentGenerator><propertyname="suppressAllComments"value="true" /><propertyname="suppressDate"value="true" /></commentGenerator><!- 注释控制完毕 -><javaTypeResolver><propertyname="forceBigDecimals"value="false" /></javaTypeResolver><!- 数据表对应的model 层 -><javaModelGeneratortargetPackage="config.yunhua_mode"targetProject="src"><propertyname="enableSubPackages"value="true" /><propertyname="trimStrings"value="true" /></javaModelGenerator></context></generatorConfiguration>(三) 用户管理模块1. 菜单管理如5-3是用户查询的操作界面和新增的操作界面,我们可以发现,这个界面设计是非常的简洁的,但是又能够完美的实现用户查询和新增的相关操作,在用户查询界面中,用户只需要输入姓名,就可对其相关的信息进行查询。如图是用户新增界面,我们可以发现,只需要输入用户的姓名、出生年月以及地址等相关信息,就可以完整的完成用户的新增。图5-3 用户管理新增操作界面相关代码如下所示<div class="left"> <a class="search active">搜索</a> </div> <div class="right"> <a href="javascript:closeDiv();" class="close"></a> <form id="queryForm" action="" method="post"> <ul> <li> <div> <label>姓名:</label> <span class="input_1"> <input id="name" name="jifenDto.name" type="text" /> </span> </div> </li> <li class="press_button" style="margin-top:-20px"> <a href="javascript:QueryT();" class="query">查 询</a> <a href="javascript:Reset();" class="reset">重 置</a </form></div>2.业务管理模块如图5-4是订单管理的流程图,主要流程如下:当用户点击订单管理,系统就会显示菜单的相关信息,主要展示的信息如名称、优先级、单位等等,同时用户还可以对菜单管理进行新增、修改、删除、查询等操作。图5-4 人员信息表流程图如图5-5是订单管理的实现图,从实现界面我们可以发现,菜单管理界面结构简单、功能齐全,非常方便用户进行操作,满足了系统的整体需求。图5-5菜单管理实现界面相关代码如下<!- sql mapper 映射配置文件 -><sqlMapGeneratortargetPackage="config.yunhua.mapper"targetProject="src"><propertyname="enableSubPackages"value="true" /></sqlMapGenerator><!- mapper接口 -><javaClientGeneratortype="XMLMAPPER"targetPackage="config.yunhua.inter"targetProject="src"><propertyname="enableSubPackages"value="true" /></javaClientGenerator><!- 要对那些数据表进行生成操作,必须要有一个. -><tabletableName="PRP_LOWESTCAPITALRATE"domainObjectName="Prp_lowestcapitalrate"></table>(四)管理员模块1.个人信息管理模块如图5-6是个人信息管理模块的流程图,主要流程有:当用户点击个人信息管理时,系统就会显示个人信息管理的相关信息,主要展示的信息如名称、编号、关键字等等,同时用户还可以对权限管理进行新增、修改、删除、查询等操作。图5-6 个人信息管理流程图如图5-7 是个人信息管理新增的实现界面,界面结构简单、功能齐全,非常方便用户进行操作,满足了系统的整体需求。图5-7 个人信息实现界面相关代码如下所示<div class="left"> <a class="search active">搜索</a> </div> <div class="right"> <a href="javascript:closeDiv();" class="close"></a> <form id="queryForm" action="" method="post"> <ul> <s:if test="#session.userLcode=000000"> <li> <label>关键字:</label> <div class="select select_1"> <span>请选择</span> <input id="comcode" name="searchDCode" value="<s:property value="session.userLcode" />" type="hidden"/> <dl id="comCode"> </dl> </div> </li> </s:if> <li> <label>名称:</label> <span class="input_1"> <input name="searchDto.departMentName" type="text" /> </span> </li2.订单信息管理模块 当用户点击订单信息界面的时候,就会弹出物流管理系统的订单的相关的信息,用户可以对其实现新增、修改、删除和查询等等的操作。图5-8 订单信息界面相关代码如下:<?xml version="1.0" encoding="UTF-8" ?><!- Copyright 2009-2012 The MyBatis Team Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.-><!DOCTYPE configuration PUBLIC "-/mybatis.org/DTD Config 3.0/EN" "http:/mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <settings> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading" value="true"/> </settings> </configuration>六、系统测试(一)程序调试在系统设计过程中,出现一些错误是不可避免的。对于一些语法上的错误,在程序运行时系统会自动提示,并且要求立即改正,否则程序无法正常运行,因此,这样的错误都比较容易发现和改正。(二)测试重要性测试工作对于整个系统的质量起到了至关重要的作用,测试开始的越早,测试的系统方面越全面,整个系统的质量就越有保障。越早发现的系统中存在的问题,修复的难度也越小,在模块集成之前把一些问题提前解决,可以保证项目后期的顺利运行,否则将会消耗更大的时间去修复系统的功能。(三)测试流程(1)用户成功登入系统以后,点击修改密码的按钮,进入密码修改的界面。(2)在该页面中分别输入正确和错误的信息。(3)点击确定按钮。(4)系统返回修改的结果。(四)用户登录模块测试用户名为admin,密码为admin的系统管理员成功登录到该系统。如下表5-1所示是测试用例的结果表。用例编号测试用例预期结果实际结果是否通过ep_01原始密码:admin新密码:admin123确认密码:admin123修改成功修改成功通过ep_02原始密码:adman新密码:admin123确认密码:admin123在该页面弹出“原始密码错误”的提示在该页面弹出“原始密码错误”的提示通过ep_03原始密码:admin新密码:admin123确认密码:adman123在该页面弹出“新密码与确认密码不一致”的提示在该页面弹出“新密码与确认密码不一致”的提示通过ep_04原始密码:null新密码:admin123确认密码:admin123在该页面弹出“原始密码不能为空”的提示在该页面弹出“原始密码不能为空”的提示通过ep_05原始密码:admin新密码:null确认密码:admin123在该页面弹出“新密码不能为空”的提示在该页面弹出“新密码不能为空”的提示通过表6-1 物流管理系统修改密码测试用例1(五)权限管理模块测试测试用例2功能模块权限管理模块测试类型测试单元1、 测试目的:用户登录权限管理界面后,可对权限管理成功的进行操作。2、 步骤:首先用户点击“权限管理”按钮,然后用户权限管理进行查看、新增。修改、删除。3、 期望:用户成功的登录权限管理界面,成功的对相关人员的权限进行相关操作。表6-2 权限管理模块测试(六) 角色管理模块测试测试用例3功能模块角色管理模块测试类型测试单元4、 测试目的:用户登录系统管理界面后,可对角色管理成功的进行操作。5、 步骤:首先用户点击“角色管理”按钮,然后用户点击人员信息表进行查看、新增。修改、删除;6、 期望:用户成功的登录角色管理界面,成功的对相关信息进行相关操作。表6-3 角色管理模块测试 结束语本论文以系统需求分析、系统功能结构设计、系统详细设计和系统测试几个方面为重点对系统开发过程进行了详尽的讨论和描述,这个过程中,虽然学习知识耗费了很大精力,以及JAVA语言的掌握都付出了大量的精力。最终,初步掌握了JAVA语言语法结构、MySql数据库的Sql语句以及运行环境的搭建等内容。通过一个开发一个完整的系统,动手实践的过程中,真正的理解了学习的理论知识,关于系统界面的设计方面,还存在着一定缺陷,需要进一步完善前端界面的设计和布局,尽量做到美观、赏心悦目;再者,随着系统数据的不断积累和增多,应该在数据安全方面进一步的设计。因为能力和时间的问题,系统的功能不够全面,还有课扩展的空间,在以后的工作,将会加强功能的扩展和开发。致 谢经过这段时间的坚持不懈,终于完成了我的毕业论文,最先感谢指导我的老师,一直关心我论文的进展和选题,隔一段时间就会催促我,帮我盯着论文的进展,当遇到问题时,也是认真耐心的给予我帮助,在这里,真诚的感谢我的老师,感谢他的耐心、负责和亲切,帮助完成毕业设计。当然,在老师的批评声中,我也不断反思自己,在此,也要感谢一路以来帮助我的同学们,互帮互助,共同进步,能够在我困难的时候,伸出援手,在这里,感谢他们。参考文献1 蒋彦, 奚越. 数据库技术及应用(第3版)实验教程M. 电子工业出版社, 2016.2 王灏. 小型物流管理系统的设计与实现D. 北京工业大学, 2016.3 张亚泽. 物流管理信息系统的设计与实现D. 南开大学, 2015.4 赖勤诣. 基于SSH的物流管理系统设计与实现D. 电子科技大学, 2015.5 杨金花. JSP技术中文乱码的原因及解决方法J. 电子设计工程, 2011, 19(1):25-28.6 曹晋, 胡谷雨. 基于SSH的数据库查询分页显示J. 计算机技术与发展, 2007, 17(5):225-227.7 苏蕴. JSP技术在JSP数据库中的应用研究J. 电脑知识与技术:学术交流, 2010, 06(9X):7730-7731.8 解文明. 基于JSP技术的JSP数据库系统的研究与开发J. 电脑与信息技术, 2005, 13(4):41-43.9 杨金花. JSP中数据库的连接问题J. 电子设计工程, 2011, 19(8):47-50.10 何洪舟. Java程序中访问Oracle数据库的技术分析与实现J. 计算机应用与软件, 2007, 24(5):79-80.11 肖磊. 基于Oracle的物流管理系统设计与实现D. 厦门大学, 厦门大学, 2015.12 王振宇. 大型ORACLE数据库系统的优化设计方案J. 电子技术与软件工程, 2016(13):201-201.
展开阅读全文