物流管理系统 毕业论文 :佳 木 物 流 管 理 信 息 系 统.doc
荆州职业技术学院毕业论文题 目 佳木物流 姓 名 XXX 所 属 系 计算机 专 业 软件技术 班 级 XXX 指导教师 XXX 2010年1月29日目录摘要2一 引言1二 概述22.1开发背景22.2开发目标2三. 开发环境的介绍33.2开发环境33.2开发工具33.3开发项目思想5四. 业务介绍64.1总体业务概述64.2物流信息系统功能架构84.3功能模块分析9五. 可行性分析105.1可行性分析的目的115.2技术可行性115.2经济可行性11六. 系统整体页面设计126.1 系统登陆界面设计126.2系统框架设计146.3系统模块详细设计16七. 部分功能的测试217.1用户窗体的测试217.2文本框的测试21八. 总结228.1收获228.2问题22九. 参考文献23十致谢23佳 木 物 流 管 理 信 息 系 统 摘要随着科技的发展、时代的进步,市场经济的竞争也越来越激烈与残酷。在市场经济竞争如此激烈的环境之下,企业要想立于不败之地,就必须使自己的企业更加的现代化,跟上时代的步伐,与现代的科学文明,信息技术同进退。用企业高品质的产品、优质的服务、良好的信誉树立企业在客户心目中的良好形象;并以客户需求为己任,不断的创新与发展自身的产品,以满足客户的新需求,并规范企业内部的客户资源的管理方式、提升企业的客户服务质量。相比传统物流,现代物流更多借助于信息流的控制作用,它不再把建立基础设施作为最主要手段,而是通过信息技术,利用现有的各种基础设施,将企业的运输信息和运输需求予以共享并快速传递。 现代物流的核心是信息技术,因为正是信息技术,将物流之中原先割裂的各个环节整合在一起,从而表现出现代物流的整合化特征借助于信息技术,最大限度地将原先在实现物资空间位移中所进行的运输、仓储、包装、装卸、加工以及配送等多个环节整合一起,以一个整体面对社会的物流需求。 本论文正是以物流管理系统的开发过程为例,从需求分析、设计方案、系统设计、详细设计等方面来对该系统进行全面的阐述和总结。【关键词】:物流管理系统;运输;系统设计 一 引言佳木物流信息管理系统是针对佳木物流管理公司大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。它是一个企业单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,它能够为用户提供充足真实有效的信息和快捷便利全面的查询手段。能有效的帮助公司人员迅速掌握客户和货物的信息,并未客户提供方便的货物查询。随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现物流信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对物流信息进行管理,具有着传统手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、成本低、便于打印等。这些优点能够极大地提高物流信息管理的效率,也是公司科学化、正规化管理,与世界接轨的重要条件。用计算机制作的物流信息管理系统还可以通过功能强大的Internet网及时的向客户传递货物的最新信息,有助于公司与客户的信息互动,为更好地把握企业管理起到了一定的促进作用!因此,开发这样一套管理软件成为很有必要的事情。 二 概述2.1开发背景佳木物流从传统的运输行业起步,拥有丰富的车辆资源,客户资源,以及强大的运营网络资源,为了充分利用这些优势资源,便于日后管理日渐庞大的公司,物流管理系统在这里起到了举足轻重的作用。2.2开发目标佳木物流为了配合其业务发展战略和实际运作的需要,为客户提供更好的服务质量,开发了一套先进的物流管理软件系统。使公司的管理人员能够很直观和方便的管理本公司的业务,也能够在第一时间了解到货物的相关信息。三. 开发环境的介绍3.2开发环境此次项目的开发环境是:windows XP,JDK,Tocomat。3.2开发工具本系统是基于JavaEE技术的企业管理系统,并基于MVC设计模式, B/S(Browser/Server)架构。其中开发工具是Eclipse6.0,后台数据库是SQL Server2005,同时,网页的制作采用了拥有可视化界面的Macromedia DreamWeaver8软件,以下对这几种主要技术和软件进行简要介绍。3.2.1 JavaEE技术JavaEE是第一套成功的企业应用程序开发框架,适用于创建服务器应用程序和服务的Java EE平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版。J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持3.2.2 SQL ServerAccess 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。3.2.3 DreamWeaver8Macromedia DreamWeaver8 是建立 Web 站点和应用程序的专业工具。它将可视化布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建网站和应用程序。从对基于 CSS样式设计的领先支持到手工编码功能,DreamWeaver8 提供了专业人员在一个集成、高效的开发环境。开发人员可以使用 DreamWeaver8 及所选择的服务器技术来创建功能强大的 Internet 应用程序,从而使用户能连接到数据库、Web 服务和旧式系统。3.2.4 HTML语言 HTML(Hypertext Markup Language)是一种专门用于Web网页制作的编程语言,用来描述超文本各个部分的内容,告诉浏览器如何显示文本,怎样生成文本或图像的链接点。3.2.5 JavaScript脚本语言 JavaScript是一种嵌入HTML文件中的脚本语言,它是基于对象和事件驱动的,能对诸如鼠标单击、表单输入、页面浏览等用户事件做出反应并进行处理。JavaScript一般作为客户端脚本语言。JavaScript是一种简化了的编程语言,也是基于对象的,它允许用户自定义对象,同时浏览器还提供了大量的内建对象,使编程者可以将浏览器中不同的元素均作为对象来处理,体现了现代面向对象程序设计的基本思想。JavaScript脚本程序可移植性好,可以在大多数浏览器上运行。3.2.6 XML XML(Extensible Markup Language): XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案3.3开发项目思想此项目是以面向对象的思想为核心,充分体现了面向对象的思想:封装,继承,多态。对象是对现实世界的正确抽象,它是由描述内部状态表示静态属性的数据以及可以对这些数据施加的操作(表示对象的行为)封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物之间的联系。四. 业务介绍4.1总体业务概述佳木物流以零担运输为主的业务模式图:该运作模式中,业务操作主要可分为四个环节:4.1.1 收货主要完成发货方将货物交接到佳木物流各网点的过程,可以是客户直接受理,也可以是接到客户电话后上面提货。因此收货的过程主要涵盖了提货信息记录,提货安排,订单受理等过程。4.1.2 发货主要完成货物从始发地装车出发,运至目的地或者中转地的过程。发货过程主要包括了制定配货计划,装车,车辆信息跟踪等内容。长途发车方式很灵活,可能直接由始发网点装货直接出发,也可能多点装货再出发;可能单点卸货,也可能多点卸货后再上货。4.1.3 到货到货主要包括车辆到达,货物到达后的货物入库,货物分单。到货有几种情况:可能是货物到达了目的地,也可能是货物只到达中转地,还要继续发货。4.1.4 送货 送货过程完成了货物到达目的地后的末端配送,主要包括送货通知,客户自提,送货上门,费用结算等环节。当货物到达目的地,通常要通知收货方何时提货(或送货)。客户自提时与物流公司结算相关费用后,验收费用即可提货。也可以由配送中心安排短途配送车辆直接送货上门,由配送司机代为结算。4.2物流信息系统功能架构佳木物流运营管理信息系统主要分为四个模块:1 业务运营模块2 公司运营模块3 系统管理模块4 其他模块总体的架构图如下:4.3功能模块分析 4.3.1 系统管理模块 系统管理模块主要是用来实现对整个系统的一些设置和管理,其中又分为了几个小的模块,即权限管理、角色管理、用户管理、密码管理和数据备份与恢复还有日志管理等七个小模块。用户管理也就是对本系统的用户进行管理,用于登陆本系统,它记录了系统用户的信息,包括用户名、密码等,在这个模块中可以对系统用户信息进行查询、修改、删除以及添加新的用户操作;权限管理是用来设计系统用户的权限,对不同的用户分配不同的权限;角色管理就是设置系统的使用角色。日志管理就是记录操作人员的系统的每一项操作。4.3.2 公司管理模块 公司管理平台式对公司内部的一些基础信息,车队,还有公司的财务进行管理。维护系统的基础信息,实现信息的一次录入多次使用,基础信息包括的功能有很多:² 客户资料维护² 同行信息维护² 价格体系维护² 组织机构² 运输路线的维护² 仓库信息设置² 装卸组信息² 货物包装定义² 货物名称定义² 财务科目维护车队管理就是对车队的资料,司机资料,车队合同,还有车队的运输成本的一些操作管理。还有就是核销管理,这一块就是对财务的管理。如:运费核销,月结客户结算,车辆运费结算,都是对业务的一些结算操作。也是整个项目中比较核心的部分,因为任何一家公司企业都是以盈利为目的的。4.3.3 业务运营模块业务运营模块就关系到整个业务的流程,也就是上面总体业务概述中的四个业务:提货,发货,到货,送货。还要就是仓库管理,仓库管理这块也是非常重要的,因为货物发货之前是存储的仓库里的,而货物到货后,在客户还没有来把货物提走前,货物也是存储在仓库里的。然后就是系统提醒,系统提醒就是对一些到了某一时间应该做某事,却还没有做的事情做出一些提醒,如月结提醒:就是对于超过月结日期但还没有月结的运单,系统给予提醒。五. 可行性分析5.1可行性分析的目的进行可行性分析是为了用最小的代价在尽可能很短的时间里,来确定我们所面对的问题是否可以解决,其目的不是为了来解决问题,而是为了来确定问题是不是可以被我们解决,从而为以后的工作起一个决定性的作用。在可行性分析阶段我们要搞清问题的定义,能清楚的列举出目标系统存在的一些约束和限制,从而对技术可行性以及经济可行性和操作可行性三个方面进行分析研究。5.2技术可行性进行本系统的开发需要用到的知识技术有:1、Java程序开发语言以及Jsp和Servlet开发技术。2、HTML网页制作知识和Dreamweaver软件工具的使用。3、SQL Server数据库开发知识。4、Web开发知识,并能使用Tomcat服务器进行开发。以上的这些知识技术是开发本系统所需要用到的,而我现在已经较好的把这些知识点和技术掌握了,在教员的精心指导之下我可以对该系统进行开发了。5.2经济可行性经济可行性研究的是对开发软件的成本估算和成本效益分析,以确定待开发软件是否有开发的价值。对于本系统的开发,能帮助公司对客户的信息管提高工作效率,并且能非常方便的对其进行一系列的管理和维护,是以前的手工管理不能做到的。而且如今的信息化管理显得尤为重要,公司要想更好的发展就得花费一定的资金来购买此系统产品,而开发此系统并不需要投入多大的人力和物力,只需掌握相关的知识和技术就能很快的得以实现,因此在经济上是可行的。六. 系统整体页面设计6.1 系统登陆界面设计经过需求分析和系统设计之后,我们就可以对系统的界面进行详细的设计。首先我们应该设计好系统界面布局的整体框架,不错,要想进入本客户资源管理系统,前提条件你必须是该系统的用户,进入系统前必须经过系统用户登陆界面进行验证之后才可进入,进入系统后就可以看到系统的整体框架了。系统登陆界面别如图5-1,如果是业务员登陆,进入系统后的显示界面如图5-2所示:图5-1:系统登录界面登陆页面需填写正确的用户名和密码,验证码要一致。图5-2业务员登录界面可以看到业务员登陆后,页面的右下角显示了一个小的提示框,这就是上面所说的系统提醒,当点击上面的超链接时,会跳转到此链接的页面。登陆进系统后可清晰的看到,整个系统界面由框架分为了三个部分,其功能说明如表5-3示: 区 域名 称说 明对应文件1网站头部主要起一个辅助和显示美化的作用top.jsp2导航显示主要用于显示导航模块中的功能left.jsp3内容显示主要用于显示系统各功能模块中的内容main.jsp表5-3系统首页界面说明整个网站的布局使用到的是HTML中的一个框架,框架内容分别由top、left和main这3个jsp页面组成,最后再由HTML代码在index.jsp页面中组合起来。/*index.jsp页面*/<% page language="java" import="java.util.*" pageEncoding="GBK"%><html> <head> </head> <FRAMESET frameSpacing=0 rows=80,* frameBorder=0><FRAME name=top src="./frame/top.jsp" frameBorder=0 noResize scrolling=no><FRAMESET frameSpacing=0 frameBorder=0 cols=220,*><FRAME name=menu src="./frame/left.jsp" frameBorder=0 noResize><FRAME name=dmMain src="./frame/main.jspframeBorder=0></FRAMESET><NOFRAMES> </NOFRAMES> </FRAMESET></html>6.2系统框架设计由于本系统是在Java语言的基础上使用MVC设计模式的开发,对其相应的环境和配置进行设置。同时我们也要把网站中可能使用到的文件夹创建出来,放到整个系统的相应路径之下,这样可以方便以后的开发工作,规范网站的整体架构。本系统在MyEclipse中开发的项目名称为:G4BalanceManage,在MyEclipse中的系统项目结构如图5-4:图5-4系统框架设计1、在src路径下存放的是系统开发的所有程序代码。ut:基础公共类(如过滤器,自定义分页等)biz:业务层接口bizimpl:业务层接口实现类contr:servlet类dao:连接数据库的dao类daoImpl:dao类的实现类dbBase:实现数据连接entity:实体类2、在WebRoot路径下中存放的是系统开发的整个界面文件及配置文件等。css文件夹:存放页面的css样式文件;images文件夹:存放系统需要用到的所有图片文件;js文件夹:存放的所有js文件其他文件夹都是相对应的业务页面。6.3系统模块详细设计6.3.1 系统模块详细设计概要由前面的系统分析和系统设计我们已知,本系统是围绕以货物为中心来对信息进行有效的管理,而所有的这些管理操作其实都是在对相应的数据进行操作,基本上实现的也就是对数据的增加、查询、修改和删除这四项操作。所以在此所谓的系统模块详细设计就是指的对这四项功能模块实现的设计。因为系统的每个模块几乎都要进行反复的增、删、改、查操作,所以设计好这四项操作功能模块就显得尤为重要了。6.3.2录入模块功能录入模块的功能主要就是对一系列基本信息的录入,如要添加客户、运单时把其相关信息录入到系统中。在设计录入操作时,我们要求数据能够正确的保存到数据库中,因此就要对录入的数据进行有效验证,在此分为两个步骤:首先在页面由JS脚本程序对数据进行验证;若页面验证通过则再到数据库中进行一次验证,看录入信息是否与数据库中的信息发生冲突,若没有冲突则可正确的录入。录入模块功能开 始输入数据内容输入是否有效保存输入内容结 束错误提示6.3.3详细录入模块进入系统后,根据具体的需要,在左边的功能模块导航栏中,用鼠标单击相关的超级链接就可在内容显示区中显示出相关的页面。如业务员要根据运单录入此运单的运费核销信息,单击左边的“运费核销”超链接就会在内容区显示与否核销页面,如图5-5所示,只需要填写实收运费,因为其他的都是通过运单查询出啦的,填写完实收运费后单击“提交给财务人员”按钮,通过验证若信息无误后就可以把所填写的信息提交到财务人员那里,如图5-6,如果确认无误,财务人员录入审核时间后,单击“审核”后,就会把此条运费核销信息保存到后台数据库中。如果财务人员认为此条信息有误,或不合理,还可批推回业务员,让业务员重新录入实收费用,这样体现了此系统的灵活性。图:5-5运费核销页面图:5-6财务人员审核页面6.3.4查询模块详细 查询模块功能查询模块的功能主要就是对保存在数据库中的相关信息进行查找,然后把查找出来的信息通过页面显示出来供用户查看和维护,上面的录入信息页面已有查询的功能,就是录入运费核销时的运单信息都是通过下列列表框中的运单编号查询出来的,在这就不再做过多的解释。查询模块流程开 始输入查询内容点击查询按钮查询是否成功显示查询内容结 束未成功提示6.3.5详细删除模块删除模块的功能就是对系统中无效的信息从数据库中给删除掉。该功能模块较为复杂,有的是把信息从数据库中删除,有的是改变数据库中的状态,因为这些都是有用数据,所以不能删除,只能改变状态,当然要依情况而定。如果是可以从数据库中删除的信息,我们需在相关信息栏的操作字段下单击“删除”链接,然后弹出一个确认框,单击“确定”按钮则会从数据库中删除该条数据信息,单击“取消”按钮则会返回原界面。删除模块流程开 始单击“删除”链接确定是否删除删除该信息结 束取消删除6.3.3详细修改模块在上面的删除模块中,有的数据时有用数据,即使单击“删除”,也并不是把数据从数据库中删除掉,而是改变它的状态,这也就等于是修改,与删除大体相似,就不在这过多的说明了。七. 部分功能的测试7.1用户窗体的测试整个项目中,所有窗体的大小,布局,样式要一致。窗体大小:大小要合适,控件布局合理。缩放窗体:窗体上的控件应随窗体的大小变化而变化。显示分辨率:必须在不同的分辨率的情况下测试程序的显示是否正常。经过测试,发现系统用户界面窗体的大小在大部分台式机和笔记本电脑显示器上效果不一。后经分析发现,开发使用的笔记本电脑系宽屏设计,因此造成了一般尺寸的台式机显示器显示不正常的现象。及时修改页面大小可以修正此问题。7.2文本框的测试输入正常的字母或数字;输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多25个字符,尝试输入 26个字符,检查程序能否正确处理;输入默认值,空白,空格;若只允许输入字母,尝试输入数字;反之;尝试输入字母;利用复制,粘贴等操作强制输入程序不允许的输入数据;输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示;经过测试,系统在文本框输入功能中表现正常,在出现异常输入时能够及时报错并提醒用户重新输入。八. 总结8.1收获在这次系统开发过程中对我来说,确实是很幸苦的,因为你得学解决问题,去查找知识和技术,但是通过自己实实在在的去做完系统后,我的收获却是很大的。我从中学到了以下几点:学会自己去解决问题,寻求问题的答案,即自我学习能力和解决问题的能力;做事一定要仔细,不可粗枝大叶;做事之前一定要周密的思考,全面分析你要去面对的事情,不可走一步做一步;在做项目之前不可盲目的马上动手就做,而是要把业务分析清楚了在做,不然当你做到后面时,会越做越觉得自己前面做的有问题,然后又会花大量的时间去改前面的,这样就浪费了许多的时间与精力,遇到问题时不可浮躁,要有耐心,从而最终解决问题;学习之后要善于对其进行总结分析,这样才能真正的不断进步。在整个系统的开发过程中,它让我把以往的知识很好的回顾了一遍,同时也让我学到了一些新的知识和技术。在开发中让我感受颇深的那就是在调试程序的时候了,当我写完一个功能代码后,一调试结果不是报404错误就是报500错误,并且全是英文显示,着实让我头痛了一阵,特别是在有的时候一个小小的大意就会导致你找半天的错,最可恶的是程序出现了异常却根本不给你报任何错误,那你就得学会耐心去仔细的查找了。不过在我不断的学习总结,上网查找资料,这让我对系统的开发变得越来越熟悉,从而也使自己分析问题和解决问题的能力有了一定的提高。8.2问题由于个人能力和技术有限,还要许多的功能都未很好的完善,而且还有一些模块也没有完成,同时,对于DreamWeaver8软件,我的掌握程度尚浅,本系统中并没有能够完全发挥出它的强大功能,把图形化界面做到美轮美奂。这次的项目也让自己认识到自己不足的地方还要很多很多。以后一定努力改进。九. 参考文献1 王克宏、郝建文. Java技术教程 M . 北京:清华大学出版社.2002年.2 萨师煊、王珊. 数据库系统概论(第三版) M. 北京:高等教育出版社.2005年.3 周竞涛、赵寒. Eclipse完全手册 M. 北京:电子工业出版社,2006年.4 李舒亮主编网页设计与制作实用教程,机械工业出版社2006年3月第一版.5 吉根林、崔海源 主编,顾韵华、吴军华、郑玉 编著WEB程序设计(第2版),电子工业出版社2008年4月第8次印刷.6 徐成志,申丁组建中小型电子商务网站的研究泰山学院学报,20047 余杰ASP动态网站建设国防工业出版社,2002.8 计算机软件产品开发文件编制指南9工程应用软件开发技术唐任仲 编著 化学工业出版社 1999.5十致谢在论文即将完成的时刻,我的心情无法平静,在本项目的开发设计中,我得到了老师和同学们的帮助,感谢陈义峰老师在具体设计过程中给予的悉心指导;感谢同学们在环境上与时间上的支持;特别是感谢父母在生活上和精神上给予的支持,这是我能够坚持下来的源动力。再次向所有在我设计过程中给予过帮助与关怀的所有朋友表示深深的感谢!我依然还有很多地方需要去不断的努力学习提高,我相信,只要坚持的努力下去,朝着自己的目标永不放弃,成功一定会青睐于我。