• 557.00 KB
  • 2022-04-29 14:10:56 发布

计算机科学与技术毕业论文物流平台设计与实现.doc

  • 40页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'本科生毕业论文(设计)题目:安徽万达物流平台设计与实现系部计算机科学与技术学科门类工科专业计算机科学与技术学号姓名指导教师 2013年4月10日安徽万达物流信息平台设计与实现摘要在高速发展的网络信息时代中,信息已经成为一个物流企业的生命线,信息资源已然是物流企业的一项重要财富。所以,如何让一个物流企业能够及时、准确、高效的获取相关物流信息,以及如何高效的对这些物流信息进行加工和处理,一直是一个物流企业所关注的问题,对于安徽万达物流公司也不例外。根据该公司的实际业务情况,本课题主要是关于安徽万达物流信息管理平台的设计与实现,本系统采用VisualStudio2008作为开发工具和SQLServer2005进行后台数据库管理,在WindowsXP平台下设计,不仅拥有基本的查询、处理功能,还应该拥有一些分析、后台监控功能的管理平台。主要功能包括用户管理、订单信息管理、业务线路的浏览、司机车辆信息管理、库存信息管理等,可以使得每个部门内部、部门之间、企业与外部客户的复杂的信息流畅通,方便实现对物流的有效控制和管理。最终达到降低物流企业运营成本,提高运营效率和提高客户服务水平的目的。关键词:物流管理系统ASP.NETSQLServer2005ADO.NET 目录第1章绪论61.1选题背景及意义61.2国内外物流的发展状况61.2.1国外物流的发展状况61.2.1国内物流的发展状况71.3课题研究内容、目标81.3.1研究内容81.3.2目标8第2章安徽万达物流管理平台需求分析92.1业务描述92.2系统功能需求102.3系统性能要求102.4可行性分析112.4.1技术的可行性112.4.2经济可行性122.4.3操作可行性12第3章系统总体设计133.1系统结构设计133.1.1开发工具、开发环境、开发技术133.1.1.1开发工具133.1.1.2开发环境13 3.1.1.3开发技术133.1.2B/S系统结构143.1.3三层结构原理143.2系统功能模块设计143.3数据库设计153.3.1数据库概述153.3.2数据E-R图163.3.3数据库逻辑结构设计173.4系统功能模块流程图203.4.1客户登录流程图203.4.2客户订单管理流程图213.4.3仓库管理流程图213.4.4仓库出货管理流程图223.4.5其他流程图22第4章系统的功能实现234.1系统代码设计框架234.2网站前台页面及相关代码设计244.2.1网站中业务受理界面及代码设计244.2.2网站业务线路查询页面设计284.3第三方物流管理系统后台功能设计294.3.1系统后台登录页面及代码设计294.3.2系统登录后首页30 4.4订单信息管理设计304.4.1订单信息审核及代码设计304.5仓库管理设计314.5.1入库安排界面及代码设计314.5.2确认入库界面及代码设计324.5.3库存调配界面及代码设计334.5.4出库安排的界面及代码设计344.5.5配送回单确认界面及代码设计344.6车辆信息管理设计344.6.1车辆信息查询修改的界面及代码设计344.7用户信息管理设计354.7.1用户信息查询修改的界面及代码设计35第5章结论375.1系统特点优势与不足375.1.1系统特色375.1.2系统不足37致谢38.参考文献39 第1章绪论1.1选题背景及意义物流是一个十分现代化的概念,由于它对商务活动的影响日益明显越来越引起人们的注意。同时经济全球化及现代物流业发展的系统化、信息化、仓储运输的现代化和综合等趋势,对我国物流业的发展提出了全方位的挑战。传统物流行业的操作模式已经不适应现代的物流行业,如何缩降低企业运营成本,提高运营效率和提高客户服务水平,这是所有物流企业所面对的问题。由于现代物流业囊括了运输、仓储等管理,其业务流程及管理较复杂,从客户下订单开始到客户的费用结算,各环节都需要得到准确的处理。拥有一个先进、高效、稳定而安全的物流管理系统是国内物流公司与国外物流企业在竞争上得以取胜和发展的重要基石。同时,随着物流企业的不断发展,其业务需求量的增加,以及跨区域需求的增多,需要一个系统来高效合理的管理相应物流信息。结合安徽万达物流公司的实际需求,本管理平台满足物流企业和用户之间的业务需求,方便企业对业务数据的加工处理,增强物流企业与客户间的互动性。工作人员劳动强度的降低,物流公司管理水平的提高,有助于增强物流公司的竞争力。最终达到降低企业运营成本,提高运营效率和提高客户服务水平的目的。1.2国内外物流的发展状况目前,随着物流行业的日渐成熟,物流管理信息系统在物流产业的作用也日益突出,已有许多国内外学者对如何更好的将计算机信息管理技术应用于物流行业做出了研究。1.2.1国外物流的发展状况由于物流产业在美、日以及一些欧洲国家发展较早,而且得到政府的相当重视,所以率先将一些高新技术如计算机技术融入到物流产业,实现了物流的高度集成化和信息化。美国,将应用于第二次世界大战中的“后勤供应” 方法推行到物流业的管理中,并且在公路、铁路、水路等运输业中广泛的使用信息技术手段。在现代物流管理中,最典型的应用是联邦快递在国家半导体公司位于新加坡仓储物流管理系统,该系统有效地减少存储量和节省时间。日本,20世纪80年代中期就有了5万多家物流企业,货运量多大34亿多吨。日本物流业不仅其专业化、自动化水平的发展十分快速,而且对物流信息的处理手段也极为重视。其物流信息化技术水平高形成了以信息技术为核心,以信息技术、运输技术、配送技术、装卸搬运技术、自动化仓储技术、库存控制技术、包装技术等专业技术为支撑的现代化物流装备技术格局。并且,物流设施现代化程度高物流领域均实现了高度的机械化、自动化和计算机化。欧洲,对“物流”概念引入较早,同时,也是较早将现代技术用于物流管理的先锋。欧洲物流发展的鲜明特点是服务范围的不断扩大,形成不同的物流发展阶段。具体如下:①工厂物流阶段(20世纪50-60年代);②综合物流阶段(70年代);③供应链物流阶段(80年代);④全球物流阶段(90年代);⑤现如今的电子物流阶段(90年代末-21世纪初)。在网络技术和电子商务的推动下从传统模式向现代模式转型,大大降低了物流成本,转而又推进了物流业的发展。同时,随着物流商们之间的竞争,使得物流运作管理信息化、物流运作流程智能化、物流技术装备自动化得到广泛运用。1.2.1国内物流的发展状况物流业在我国的起步较晚,随着外资企业的进入和市场竞争的加剧,企业对物流重要性的认识逐渐深化,将其视为“第三利润源泉”,对专业化、多功能的物流需求日渐增加。从目前相关企业提供的服务范围和功能来看,我国的物流企业以运输、仓储等基本物流业务为主,加工、配送、定制服务等增值服务功能处在发展完善阶段。像德邦、远洋等功能完善的物流企业为数不多,规模不是很大。我国物流业现状具有以下几方面的特征:①物流基础设施的能力大大提高,国际物流量快速增长。目前我国已经在交通运输、仓储设施、信息通讯、货物包装与搬运等物流基础设施和装备方面取得了长足的发展,为物流产业的发展奠定了必要的物质基础; ②物流质量有所提高,物流效率有待改善。物流质量主要由物流时间、物流费用和物流效率来衡量;③信息化程度低,目前国内的物流软件的集成度比较低,为物流软件企业提供的服务较为单一,主要以运输管理子系统、仓储管理子系统、订单管理子系统以及一些相应的应用接口软件为主。我国物流领域中现代信息技术应用和普及的程度还不高,发展也不平衡,中国物流管理软件及相应的管理平台开发起步较迟。1.3课题研究内容、目标1.3.1研究内容此次研究的系统平台主要是通过对B/S架构的认识及运用,以及对VisualStudio开发工具的使用,ADO.NET数据库连接技术的运用,设计和实现具有用户管理、订单信息管理、业务线路的浏览、司机车辆信息管理、库存信息管理等功能的管理平台,用户通过浏览器向分布在网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由WebServer完成。随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。该结构层次责任明确且独立,编码模块化,重用性好,开发和维护非常容易,系统的可扩展性也比较好,且软件还有着良好的跨平台操作性。虽然此次研究的系统还存在不足之处,但依靠其独特的优越性,这个方案会越来越多地应用于开发各种电子商务系统之中。1.3.2目标本课题对于提高物流企业的运作效率进行研究,需要实现物流管理系统的系统结构,软件模块的开发,满足物流公司和客户的业务需求,进一步提高万达物流企业对物流信息的加工处理效率。主要完成用户管理、订单信息管理、业务线路的浏览、司机车辆信息管理、库存信息管理等管理。 第2章安徽万达物流管理平台需求分析物流信息管理系统是典型的信息管理系统,其主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。对于前者要求建立资料一致性和完整性强、资料安全性好的库。而对于后者则要求应用程序功能完备,易使用的特点。物流信息管理系统的开发可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率。2.1业务描述(1).客户(普通客户、会员客户)登录物流公司的网站后,可以对公司的业务范围(受理的路线信息),公司的基本情况进行了解,客户可以在登录和非登录的状态下进行。(2).通过对公司相关信息的了解后,客户可以通过网络与物流公司进行业务往来。其实客户可以通过以下方式进行下订单的操作:网上下订单(注册用户和非注册用户都可以下单,只是前者更容易对自己的往来业务进行查询操作)。客户上门下单,订单管理人员在系统中填写订单内容。客户通过电话下单,订单管理员在系统中填写订单内容。(3).前台一般流程过去后,物流公司的操作人员(用户)一般日常工作中需要对订单信息进行统计。对于客户亲自上门或通过电话下单的可靠性较高,但对于网络订单则需要订单管理人员进行进一步信息确认,即对还没有审核的订单进行审核。经确认,如果订单情况不属实,则需要点单管理员删除该订单,或对订单信息进行修改(确认接货人、接货人联系方式、是否入库等信息。)(4).根据订单填写的信息情况,可以了解客户是否需要将所托货物寄存于物流公司一段时间。如果需要寄存,则会派生提货单和入库单,依货物实际情况,仓库信息,对货物的入口做相关安排,同时需要进行司机车辆的调配。(5).货物入库后,由仓管员对货物进行实时监测,向业务员及时反映库存货物状态信息。根据仓库管理员反映的信息,用户操作员可以及时对货物状态进行修改——主要包括库存信息的调配。 (6).在货物运输前,由调配员安排运输车辆及司机,根据客户填写的目的地派生配送单,及出库单,司机根据配送单将货物送往接货方。(7).带货物抵达目的地后,由接货方钦点核实货物,看是否有缺损遗漏之类的问题,根据相关规定,清算最后运费,并由配送员带回交与业务员,业务员将信息录入系统后,则宣布此次任务的结束。(8).在一个企业中不可不免的有人员流动等问题,为了方便高层管理员的操作,登录后具有该操作权限的人可以增加、修改、删除员工信息,最重要是还具有员工操作权限的修改。2.2系统功能需求物流信息管理系统是一个典型的数据库开发应用程序,由车辆信息管理模块、司机信息管理模块、仓储信息管理模块、订单管理模块等部分组成通过相关调查及信息收集,要求本系统具有以下功能:(1).客户可以访问物流公司的网站,以及能够在基于Internet的基础上与物流公司进行业务上的往来——拜托物流公司进行货物运输、存储(2).物流公司的操作人员可以进入后台实行对订单信息的管理操作,包括订单的审核,订单的查询,同时对订单进行统计,方便员工向上级反映情况。(3).仓储信息的管理,包括入库安排、入库确定、库存转移、出库安排、出库回单确认的操作。(4).车辆信息的管理,包括车辆相关信息的添加、查找、删除等。(5).司机信息的管理,包括司机相关信息的添加、查找、删除等。(6).用户信息的管理,包括用户相关信息的添加、查找、删除等。最主要的是在页面上有权限的设置,只有具有最高权限的操作员才具有才能操作该页面。2.3系统性能要求根据安徽万达物流管理平台的功能需求,该信息管理平台在实施后,应需有以下性能要求:①网站页面要求美观大方、功能全面、操作简单。②网站整体结构和操作流程要流畅。③有完善的基础信息设置。 ④对用户进行管理。⑤提供客户订单受理功能。⑥实现物流公司和客户的交流。⑦系统运行要稳定、安全可靠。2.4可行性分析可行性分析是根据系统的运行环境、资源等条件,判断所提出的项目是否有必要、有可能开展。需要实事求是的分析建立新系统的必要性和可能性,避免不必要的损失,通过分析系统需要的信息技术、可能发生的投资于费用、产生的效益,确定将要开发的物流信息管理平台成功的可能性。在物流管理平台的开发设计过程中进行可行性分析,可以尽量避免资源的浪费。2.4.1技术的可行性主要指在现有技术条件下,能否实现所提出的要求。本管理平台将使用.NET技术(ASP.NET、ADO.NET)进行开发,.NETFramework2.0框架是微软公司现在相对比较成熟的产品,目前有许多的企业及技术开发人员选择它作为开发平台。因此,在技术上.NET是完全可以胜任这个信息管理平台的开发。本系统采用基于B/S技术的三层架构模式,掌握.NET架构的三层设计思想,选择可行的方案、合理安排开发过程,用C#.NET做若干个Internet页面,作为与用户交互的界面,同时通过对SQLServer数据库的运用,储存用户数据信息,实现用户进入系统的身份验证的功能。本系统实现基于WEB的发布、查询的功能;由多个网站模块组成。每个模块由一组业面及相关程序组成,完成相对独立的任务。此外还涉及到数据库数据的访问,对数据库数据的操作等。从以往的系统开发事例可以发现用PHP技术可以实现以上各种功能。而ASP.NET技术具有以下特点:①ASP.NET页面是由服务器端控件组成的。②ASP.NET使用CLR语言(C#)编写的编译代码。③ASP.NET包含一种称为WEB服务的新技术。④ASP.NET包含了页面和数据缓存机制,使用它可以很容易地明显提高网站的性能架的一部分。⑤ASP.NET是Micsoft的.NET框。所以,在低投入的情况下可以建立一个稳定、安全的网络管理系统,系统在技术上是可行的。 2.4.2经济可行性经济可行性分析是根据技术可行性分析的结果,分析,是对开发软件的成本估算和成本效益分析,以确定其开发软件是否有开发的价值。在此课题的开发过程中,软件开发的成本不大,只需要一在Windows系统中和一些编程开发软件,而且已有了硬件和开发平台只需要投入时间和精力,投入较小,可行性很高,故本系统在经济上是可行的。通过计算机对物流企业的正常业务流程进行管理,可以为物流信息管理注入新的生机,为整个物流企业的运营节省了大量的人力、物力、财力和时间,提高物流信息的效率。为物流企业的发展奠定了一定的基础。随着物流公司业务的不断发展和计算机技术的发展,物流信息管理平台的综合管理远远超过了手工管理的效率。因此开发一个快递运输管理系统是一件很必要的事情。2.4.3操作可行性由于该信息管理平台分为前台和后台,使用前台的是一般的客户(即浏览器的使用者),使用后台的是物流公司的工作人员,对他们来说,操作本系统将会十分的简便。系统是基于Web的工作界面,管理人员无论通过局域网还是互联网,都能在浏览器中对物流信息进行有效的加工处理,随时可以为客户提供和工作人员相关物流信息,用户只需在自己的计算机上通过Web浏览器访问本系统,同时所有的操作都是基于Web的操作方式,如:按钮、链接、文本框等等。所有的操作通过浏览器完成,客户端不需要配置其他应用软件,用户不需培训,只要稍微提示一下即可。因此,在操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的 第3章系统总体设计3.1系统结构设计3.1.1开发工具、开发环境、开发技术3.1.1.1开发工具VsualStudio2008是一套完整的开发工具,相对于VisualStudio2005引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁i。VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。SQLServer2005是由微软公司开发的一个全面的、大型的关系数据库管理平台,为用户提供一个安全、可靠、易管理和高端的客户/服务器数据库平台。用户通过客户机的应用程序来访问服务器上的数据库,在被允许访问数据库之前,SQLServer首先对来访问的用户请求做安全验证,只有验证通过后才能够进行相关数据处理请求,SQLServer2005是当前比较流行的一个SQLServer版本。3.1.1.2开发环境.NETFramework是支持生成、运行下一代应用程序和XMLWebServers的内部Windows组件,主要包括公共语言运行库、.NET程序编译和通用类型系统三大核心。建立Web应用程序需用到Internet信息服务(IIS)。IIS是为了响应使用者的请求,将所要浏览的网友内容传输给使用者,管理和维护Web站点和FTP站点、SMTP虚拟服务器。3.1.1.3开发技术三层架构开发就是将系统的整个业务应用划分为表示层、业务逻辑层和数据访问层,有利于系统的开发、维护、部署和扩展。ASP.NET可以使用.NET 平台快速方便地部署三层架构,ASP.NET在网页上可以使用基于事件的处理、指定处理的后台代码文件,使用C#作为后台语言。母版页的主要功能是为了ASP.NET应用程序创建统一的用户界面和样式,提供共享的HTML、控件和代码,作为一个模板,供网站内所有页面使用,提升整个程序的开发效率。3.1.2B/S系统结构B/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或IE,服务器安装Oracle或SQLServer等数据库。浏览器通过WebServer同数据库进行数据交互。3.1.3三层结构原理B/S模式是以Web技术为基础的平台模式,将传统的C/S模式中的服务器分解为一个或多个服务器,形成三层体系。第一次为客户层(客户端与管理端),采用标准的浏览器,将HTML转换为网业,允许用户将信息提交给后台(即第二层),进行处理。第二层为应用层,依靠应用服务器来完成工作,在客户层提出请求后,应用层将响应相对应的进程,并生成HTML代码。若客户端提交的请求中有数据的存取,则需在第二层中与数据层建立交互来处理这一要求。第三层为数据层,主要负责数据的存取,响应。数据服务器响应客户的要求,并进行处理,最后将所处理的结果返回到应用层,再传到客户层,来完成整个要求过程。3.2系统功能模块设计经分析,将该信息管理平台分为车辆信息管理模块、司机信息管理模块、仓储信息管理模块、订单管理模块等部分,对物流行业的业务流程 进行管理,来满足物流公司与客户间的业务需求和物流企业内部物流信息的加工处理。系统功能模块结构如下所示。图3-1功能模块图3.3数据库设计数据库设计是在选定的SQLServer数据库管理系统基础上,根据安徽万达物流公司的需求分析而建立数据库的过程。本信息管理平台是为物流信息管理开发的Web应用程序,SQLServer2005作为目前常用的数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,且处理数据量大、效率高,对于这种中小型应用程序的使用非常适合。3.3.1数据库概述 计算机信息系统是以数据库为核心的,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工等操作。对于数据库应用开发来说,使信息流计算机化,对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户转化为有效的数据结构,使其易于实现用户要求的过程。数据库是以一定的组织方式存储在一起,为多个用户所共享,与应用程序彼此独立的相关联的数据集合。数据库系统是实现有组织的动态的存储大量关联数据,支持多用户访问的计算机软硬件资源与数据库管理员组成系统。3.3.2数据E-R图实体主要包括用户信息实体、客户信息实体(会员客户和普通客户)、司机信息实体、车辆信息实体、路线信息实体、货车司机组合实体、仓储信息实体等。以下给出几大主要实体的E-R图:(1).会员客户信息实体E-R图,如图3-2所示:图3-2会员客户信息实体图(2).车辆信息实体的E-R图,如图3-3所示图3-3车辆信息实体图(4).用户信息实体的E-R图,如图3-4所示: 图3-4用户信息实体图(5).各实体之间的关系图图3-5物流信息管理平台E-R图3.3.3数据库逻辑结构设计本系统使用SQLServer2005将数据主要分为出库配送表、司机车辆组合表、普通客户信息表、司机信息表、车辆信息表、货物信息表、会员客户信息表、订单信息表、路线信息表、库存信息表、仓库信息表、提货入库信息表、用户信息表。数据库名称:WuLiuManagerDB。下面将各表中的字段进行以下简单介绍:(1).此表主要用于记录出库配送、及回单确认后的信息,主要包括了订单编号、接货人签字、出库时间、到达时间等属性。其中CKPSBillId为主键,tb_CKPSBill。 表3-1序号列名数据类型长度小数位标识主键允许空默认值说明1CKPSBillIdvarchar500是否2orderIdvarchar500否3outStockTimedatetime83是4customerSignvarchar500是5customerPlateCardvarchar500是6arrivedTimevarchar500是7totalManeymoney84是8remarksvarchar1000是(2).此表主要用于记录物流公司向客户提货,打印提货单所储存的信息。其中THRKBillId为主键,tb_THRKBill。表3-2序号列名数据类型长度小数位标识主键允许空默认值说明1THRKBillIdvarchar500是否2orderIdvarchar500否6customerSignvarchar500是(3).此表记录了司机、车辆的调配组合信息。主要是为了避免tb_CKPSBill,tb_THRKBill两个表中出现一属性多值的出现,其中billId可以是THRKBillId,也可以是CKPSBillId.其中componentId为主键,tb_Component。表3-3序号列名数据类型长度小数位标识主键允许空默认值说明1componentIdvarchar500是否2driverIdvarchar500是3truckIdvarchar500是4deliverIdvarchar500是7billIdvarchar500是(4).此表用户对客户需要托运的货物信息进行存储,除了包括货物基本信息以外,还包含有isIntoStore、isOutStore两个属性,分别是判断需要入库的货物是否已经入库了,和已经入库的货物是否已经出库送往目的地了。其中orderId是对应于tb_Order表的外键。其中goodsId为主键,tb_Goods。 表3-4序号列名数据类型长度小数位标识主键允许空默认值说明1goodsIdvarchar500是否2goodsNamevarchar500否3totalNumint40是4perWeightfloat80否5perVolumnfloat80否6goodsTypevarchar500否7isIntoStoreint40是((0))8isOutStoreint40是((0))9orderIdvarchar500否(5).此表记录了已经注册为公司会员的客户的信息,当会员客户选择登录后在进行业务的受理,会相应的减少其填写内容,更方便。另外,还有一张普通客户信息表-tb_Customer,它们之间的主要区别在于tb_Member表中多了pwd属性。tb_Customer表中的customerId是不断生成的(只要进行一次业务往来,便会生成一个),并不会为客户永久记录。其中memberId为主键,表tb_Member。表3-5序号列名数据类型长度小数位标识主键允许空默认值说明1memberIdvarchar500是否2memberNamevarchar500否3pwdvarchar500否4identifyCardvarchar500是5sexchar20是("男")6telvarchar500是7msnvarchar500是8addressvarchar500是(6).这里的车辆信息表tb_Truck除了包含车辆的基本信息:车牌号、自重量、载重量等以外,还包含了货车状态信息,其属性值为0,表示一切正常;属性值为1,表示该车辆正在使用当中(提货或配送);若属性值为2,则表示该车辆出现问题正在维修当中。其实,司机信息表tb_DriverInfo也是同样的设置,除了司机基本的姓名、身份证号、驾驶证号等信息以外,还包括司机状态信息—— driverState,其属性值若为0,则表示一切正常;若属性值为1,则表示出车当中;属性值为2,则表示该司机休假或请假当中,不能被用户操作员所调配。状态为1、2两种情况下的司机和车辆,在用户操作员调配时都会自动过滤掉,这是该系统的一大特色。所以,将不再列出表tb_DriverInfode的图,表tb_Truck。表3-6序号列名数据类型长度小数位标识主键允许空默认值说明1truckIdvarchar500是否2truckNumPlatevarchar500否3weightfloat80是4truckStateint40否((0))5canTakeWeigtfloat80是6photovarchar500是(7).此表主要记录了下订单的客户的编号,此处customerId是外键对应于会员客户表tb_Member或普通客户表tb_Customer。另外还能储存下单日期、预计费用、接货人姓名、接货人联系号码等基本信息。此外,该表还有两个类型为int类型的属性分别是:isChecked(默认值为0表示未审核,为1时表示已审核通过)、isNeedtoStock(默认值为0表示不需要入库处理,为1时表示需要入库处理),用来判断该订单是否已经经过审核和该订单对应的货物是否需要入库处理,表tb_Order。表3-7序号列名数据类型长度小数位标识主键允许空默认值说明1orderIdvarchar500是否2customerIdvarchar500否3routeIdvarchar500否4orderDatevarchar500是5preCostfloat80是6receiverNamevarchar500是7receiverTelvarchar500是8isCheckedint40否((0))9isNeedtoStockint40否((0))10remarksvarchar1000是3.4系统功能模块流程图 根据物流信息管理平台的功能模块,将其E-R图转化为数据表,为系统的实现奠定基础。3.4.1客户登录流程图客户登录N检查此用户是否存在?Y进入用户信息页面图3-7客户登录流程图客户订单填写3.4.2客户订单管理流程图客户基本信息、货物基本信息订单信息入库,等待审核工作人员后台登录订单信息是否有效?NY信息删除信息入库图3-8客户订单管理流程图3.4.3仓库管理流程图 托运信息生成提货入库单货物是否已入库?Y确认入库单填写图3-9仓库接货管理流程图库存信息3.4.4仓库出货管理流程图生成提货出库单货物是否已到达客户手中?Y确认回执单填写Y图3-9仓库出货管理流程图3.4.5其他流程图其他管理模块的流程图只要根据以上信息和模块功能就可以类似地画出来,这里就不再一一画出。 第4章系统的功能实现在进行系统正式开发之前,需要对其做一个总体的规划,以确定内容的类型和所提供的功能。根据用户的需求,本系统分为以下5各功能模块:(1).网站的浏览(2).订单业务的操作(3).订单管理模块(4).库存信息管理模块(5).车辆信息管理模块(6).司机信息管理模块(7).用户信息管理模块其中每一个模块的实现都需要前台界面和后台数据库的支持,这些模块彼此之间的关系也是密不可分的,他们共同构成本系统的总体功能。4.1系统代码设计框架本系统应用三层架构模式,包括UI层(主要是表现层)、数据库访问层DAL(主要集中了sql语句)和业务逻辑层BLL,另外还用实体类层(Model)。DAL中包含了一个DbHelperSQL.cs,该类中主要集中了与数据库直接进行操作的几大方法,此处采用ADO.NET的数据库连接方式,操作方便。主要方法有以下几种:(1)///执行SQL语句,返回影响的记录数publicstaticintExecuteSql(stringSQLString)(2)///执行SQL语句,返回影响的记录数publicstaticintExecuteSql(stringSQLString,paramsSqlParameter[]cmdParms)(3)///执行查询语句,返回DataSetpublicstaticDataSetQuery(stringSQLString)(4)///执行查询语句,返回DataSetpublicstaticDataTableQueryTable(stringSQLString)(5)///返回值为Int类型的最大idpublicstaticintGetMaxID(stringid,stringtableName)(6)///根据用户或客户输入的信息判断真实性publicstaticstringGiveID(stringtbName,stringName,stringPassWord) 系统项目集如图:图4-1系统框架图UI层(界面层)就是系统的操作界面,和客户及用户直接交互的地方。业务逻辑层是执行业务逻辑的地方,也就是业务规则都在这一层体系。数据访问层是直接和数据库进行交互的地方,也是整个系统里唯一允许访问数据库的地方。4.2网站前台页面及相关代码设计4.2.1网站中业务受理界面及代码设计当用户只是普通客户时,业务受理的页面如下图(客户此时需要对自己的详细信息进行填写,方便物流公司与客户之间的联系。且页面加载时默认的是选中“不是会员客户,只是普通客户”的选项): 图4-2业务受理界面-普通客户如果是会员客户,可以选择“是会员客户选项”,此处运用了JavaScript技术,以便会显示登录对话框,让会员登录,同时将收起客户基本信息的填写,简化业务受理的复杂度。 图4-3业务受理界面-会员客户在业务受理单元,一个订单同时可以受理几个货物,但最多只可以受理三个货物。主要代码如下:(主要用于判断客户决定一单拖运多少货物,将客户填写的货物信息加入到一个ArrayList当中),如果发现货物信息填写不完善,则终止将货物实例对象加入ArrayList当中,且将之前添加的信息也移除。privateintSetInfo(refWuliuManageSystem.Model.GoodsgoodsModel1,refWuliuManageSystem.Model.GoodsgoodsModel2,refWuliuManageSystem.Model.GoodsgoodsModel3){一个货物信息是否输入完if((txtGoodsName1.Text=="")||(txtTotalNum1.Text=="")||(txtPerVolumn1.Text=="")||(txtPerWeight1.Text=="")){ClientScript.RegisterStartupScript(this.GetType(),"","");return0;}else{ goodsModel1=SetOrderInfo();goodsList.Add(goodsModel1);}//判断第二个货物信息是否输入完if((txtGoodsName2.Text!="")||(txtTotalNum2.Text!="")||(txtPerVolumn2.Text!="")||(txtPerWeight2.Text!="")){if((txtGoodsName2.Text=="")||(txtTotalNum2.Text=="")||(txtPerVolumn2.Text=="")||(txtPerWeight2.Text=="")){ClientScript.RegisterStartupScript(this.GetType(),"","");goodsList.Remove(goodsModel1);return0;}else{goodsModel2=newWuliuManageSystem.Model.Goods();goodsModel2.goodsId=goodsModel1.goodsId.Substring(0,14)+(Int32.Parse(goodsModel1.goodsId.Substring(14))+1).ToString();goodsModel2.goodsName=txtGoodsName2.Text.Trim();goodsModel2.totalNum=Int32.Parse(txtTotalNum2.Text.Trim());goodsModel2.perWeight=float.Parse(txtPerWeight2.Text.Trim());goodsModel2.perVolumn=float.Parse(txtPerVolumn2.Text.Trim());if(rbtGoodsType1.SelectedIndex==1)goodsModel2.goodsType=rbtGoodsType2.SelectedItem.Value;elsegoodsModel2.goodsType=rbtGoodsType2.SelectedItem.Value;goodsModel2.orderId=orderModel.orderId;goodsList.Add(goodsModel2);}}//判断第三个货物信息是否输入完if((txtGoodsName3.Text!="")||(txtTotalNum3.Text!="")||(txtPerVolumn3.Text!="")||(txtPerWeight3.Text!="")){if((txtGoodsName3.Text!="")||(txtTotalNum3.Text=="")||(txtPerVolumn3.Text=="")||(txtPerWeight3.Text=="")){ClientScript.RegisterStartupScript(this.GetType(),"","");goodsList.Remove(goodsModel1);goodsList.Remove(goodsModel2);return0; }else{goodsModel3=newWuliuManageSystem.Model.Goods();goodsModel3.goodsId=goodsModel2.goodsId.Substring(0,14)+(Int32.Parse(goodsModel2.goodsId.Substring(14))+1).ToString();goodsModel3.goodsName=txtGoodsName3.Text.Trim();goodsModel3.totalNum=Int32.Parse(txtTotalNum3.Text.Trim());goodsModel3.perWeight=float.Parse(txtPerWeight3.Text.Trim());goodsModel3.perVolumn=float.Parse(txtPerVolumn3.Text.Trim());if(rbtGoodsType1.SelectedIndex==1)goodsModel3.goodsType=rbtGoodsType3.SelectedItem.Value;elsegoodsModel3.goodsType=rbtGoodsType3.SelectedItem.Value;goodsModel3.orderId=orderModel.orderId;goodsList.Add(goodsModel3);}}return1;}4.2.2网站业务线路查询页面设计网站前台客户浏览的“业务线路”,会根据客户点击的目的地相应的显示不同的路线信息及价格信息。点击“六安市”后如下图所示:图4-4业务线路图 4.3第三方物流管理系统后台功能设计4.3.1系统后台登录页面及代码设计在后台登录的界面上,包括用户名和密码,为了加强安全性,添加了验证码的设置。当用户依次填入正确的用户名和密码,点击登录,将进入主界面,相反如果用户名或者密码输入不对,将提示错误,不能进入系统。(用户名:admin,密码:admin)图4-5系统后台登录图如果用户成功登录的话,会将用户的部分相关信息记录到session里,以便在接下来的页面里应用判断,根据角色处理。其实现代码如下://判断验证码是否相等if(ChNum==Session["CheckNum"].ToString()){//进行验证登陆stringUserID=DbHelperSQL.GiveID("tb_User","userName=""+userName+""","userPwd=""+pwd+""");if(UserID==null){ErrorLabel.Text="用户名或密码错误,请重新登录!";ErrorLabel.Visible=true;}else{SqlDataReaderMyR=DbHelperSQL.GetRead("tb_User","userId=""+UserID+""");while(MyR.Read()){Session["userId"]=UserID;Session["userName"]=MyR["userName"]; Session["userRight"]=MyR["userRight"];}if(Session["userRight"].ToString()=="0"||Session["userRight"].ToString()=="1"){Response.Redirect("Default.aspx");}else{Response.Redirect("Login.aspx");}}}4.3.2系统登录后首页只要是公司的业务操作人员就会有权限登录操作,登录后的首页会显示相关操作人员须知条列,以规范操作人员的职业准则,以及提示了该物流软件的相关操作。4.4订单信息管理设计4.4.1订单信息审核及代码设计本板块功能是对订单信息进行审核,首先,页面上会显示还未经过审核的订单的相关信息。 图4-6订单审核界面点击“选择”后会将更详细的订单信息、对应的货物信息、及客户信息显示在下方,此页面中也可以按“日期”或“订单号”进行查询。当详细信息显示在下放后,操作员会根据客户提供的联系方式与客户进行联系,主要用于确认货物是否需要入库。点击“修改”后,可以对接货人姓名、接货人联系号码等其他信息进行修改。若用户操作员发现订单信息不属实,点击“删除该订单”可以删除订单,及与订单相关的货物信息,若是普通客户下的订单,则该客户信息也一并删除。点击“确定”后,则会提示“订单审核”提示。4.5仓库管理设计4.5.1入库安排界面及代码设计本板块界面的内容主要用GrivdView呈现数据信息,用户操作员根据页面显示的信息选择订单,选择订单后会显示与订单对应的货物,再根据货物的特性类别数量选择运输车辆、司机,同时一并查看仓库信息,决定进入哪个仓库。图4-7入库安排界面击“打印预览提货单”,在按钮事件中将一些基本信息储存在application中,Application["Trucks"]=txtTruckIds.Text;Application["Drivers"]=txtDriverIds.Text;Application["Stores"]=txtStoreIds.Text;中,用此将信息传送到提货入库单的打印页面PrintTiHuoBill.aspx,在打印页面接受跨页面传送的数据。 4.5.2确认入库界面及代码设计图5-8入库确定界面该板块的主要功能是用户操作员根据返回的带有客户签字和仓库管理员签字的提货入库单将货物已经入库的这个信息写入到数据库中。在按提货入库单号进行查找的文本框中应用了Ajax的水印效果,达到提示作用。若输入的编号存在,则会在对应的地方显示订单编号、司机、货车。入库时间、客户签字、所入仓库编号、货物编号、对应入库数量、仓库管理员签字需要根据实际情况输入,另外,所入仓库编号、仓库管理员签字、货物编号、对应入库数量需要填写相同的个数。点击“确定”按钮的同时,需要将相关车辆、司机的状态转为“正常”,可供下一次任务的调配。同时将货物信息表中isIntoStore属性设为1。相关代码如下:thrkModel=thrkBill.GetModel("THRKBillId=""+txtSearch.Text.Trim()+""");thrkModel.customerSign=txtCustomerSign.Text.Trim();thrkBill.Update(thrkModel,"THRKBillId=""+txtSearch.Text.Trim()+""");comList=componentBll.GetModelList("billId=""+txtSearch.Text.Trim()+""");//获取组件的个数,更改货车、司机的状态for(intI=0;IInt32.Parse(ds.Tables[0].Rows[0]["stockNum"].ToString())){输出货物转存数量有误的提示ClientScript.RegisterStartupScript(this.GetType(),"","");}else{if(txtStoreMsign.Text!=""&&txtStoreMsign2.Text!=""){stockModel.stockId=ddlStocks.SelectedValue;stockModel.storeManagerSign=txtStoreMsign.Text;stockModel.goodsId=goodsId;stockModel.storeId=txtStoreHoseId.Text;stockModel.intoStockTime=txtIntoDate.Text;stockModel.THRKBillId=ds.Tables[0].Rows[0]["THRKBillId"].ToString(); stockModel.outStoreManagerSign=txtStoreMsign2.Text;stockModel.remark=ds.Tables[0].Rows[0]["remarks"].ToString();if(Int32.Parse(txtNum.Text)==Int32.Parse(ds.Tables[0].Rows[0]["stockNum"].ToString())){stockBll.Delete("stockId=""+stockModel.stockId+""");}stockModel.stockNum=Int32.Parse(txtNum.Text);stockBll.Add(stockModel);}}4.5.4出库安排的界面及代码设计出库安排界面和代码的设计与入库安排设计的页面差不多,代码也相差无几,所以这里不再作过多阐述。主要是在分配后,需要将司机、车辆的状态信息改为“配送货物中”即工作中。4.5.5配送回单确认界面及代码设计界面类似于入库确定界面,依然是根据出库配送单的编号查询与配送单相关的货物信息、用于配送的司机和车辆信息等其他信息。用户操作员可以在此页面录入货物出库时仓库管理员的签字、货物到达目的地时接货人的签字以及填入相关的费用信息和货物的缺损情况,以便用于日后的查看调用。在预备打印预览配送单的时候,需要将用于配送的车辆和司机的状态信息改为“待命工作中”。4.6车辆信息管理设计4.6.1车辆信息查询修改的界面及代码设计图4-10车辆信息查询界面图 该界面同样运用数据绑定的效果,可以按卡车编号来查询卡车信息,也可以通过在上面GrivdView上进行选择,将相应的车辆信息绑定到文本控件中,可以执行修改和删除操作。再点击修改前,文本框都是不可编辑状态,点击修改后,不仅文本框呈可编辑状态,还会显示FileUpload(fulTruckPic)控件,用于用户照片的上传。对于上传的照片通过后台代码可以存储到服务器的一个IMG图片文件夹中,同时将图片名保存到数据库中,经过处理图片名不会重复。处理代码如下:if(fulTruckPic.HasFile){stringpicName=Guid.NewGuid().ToString("D")+System.IO.Path.GetExtension(fulTruckPic.FileName);fulTruckPic.SaveAs(Server.MapPath("~")+"/img/"+picName);stringpicPath=fulTruckPic.PostedFile.FileName;stringpicExtend=picPath.Substring(picPath.LastIndexOf(".")+1);truckModel.photo=picName;}4.7用户信息管理设计4.7.1用户信息查询修改的界面及代码设计图5-11用户信息查询修改界面图 用户信息的管理操作不是任何人都可以进行的,必须是具有最高权限的人才可以进行此操作,在即数据库中对应的角色userRight为0的人。在页面加载时进行操作用户的权限判断,代码如下(由于在登录时已用Session[“userRight”]记录了用户角色,所以在该页面接受):if(Session["userRight"]!=null){//在判断用户权限不为空的情况下,进行角色验证if(Session["userRight"].ToString()!="0"){ClientScript.RegisterStartupScript(this.GetType(),"","");Response.Redirect("../Login.aspx");}}可以直接点击“编辑”对GrivdView中的数据进行修改,点击“删除”删除对应行的数据信息。也根据输入的用户编号获取用户信息,并将信息绑定到呈不可编辑的文本框上。点击“修改”后,文本框均可编辑,同时其他按钮变成不可编辑,用户可以在原信息的基础上进行修改,修改完成后返回点击修改前状态。点击“添加新用户”按钮后,文本框中的信息全部清空,可由用户依次录入数据。如果需要删除某个用户的信息,在输入用户编号后直接点击“删除”即可。 第5章结论5.1系统特点优势与不足5.1.1系统特色该系统具备了一个综合的物流管理系统所具备的基础功能,其他任何衍生的功能都是在此基础之上的拓展。此物流信息管理系统可以实现商家在线业务预定、商家在路线查看等功能。具体来说可以划分为几个模块:网站浏览模块(包括业务预定)、用户登录管理、订单信息管理、用户信息管理、车辆司机信息管理。每个模块都能实现强大的功能,为用户提供很大的方便。利用三层B/S体系结构,用ASP开发语言及数据库技术开发基于Web的物流管理信息系统,能适应各种平台,系统界面友好,操作方便,运行稳定,安全可靠。5.1.2系统不足该物流信息管理系统还有很多的不足之处,它不能实现在网上付款的功能以及付款方面不能做到很好,不能实现网上付款的形式。公共类设计的不够精炼,有些常用方法没有没有做到很好的集中处理,降低其代码的复用率,增加了系统维护的不方便;同时,所有数据操作都是基于SQL查询语句的,没有采用更安全的存储过程等方式;只考虑技术的实现,对美工考虑不足,页面间的逻辑关系有时不是很合理。 致谢在此次毕业论文的完成过程中,得到了老师和同学的许多帮助,在此表示衷心的感谢!尤其要感谢我的毕业论文指导老师钟锦老师,从课题的选择到相关资料的收集,以及管理平台的设计和实现,到最后论文的制作、修改和定稿等,都给了我无私的帮助和耐心的指导。老师深厚的理论水平,严谨的治学精神和认真负责的工作态度,使我收获颇多,在此表示我最诚挚的谢意。同时,也要感谢各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在论文中得以体现,顺利完成毕业论文。同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。愿我们以后的人生都可以充实、多彩与快乐!感谢同学们,给予我的热情帮助和论文完成期间的大力支持。 .参考文献[1].李永平,陈峰波ASP.NET(C#)基础教程[M]清华大学出版社2006年1月[2].岳国英SQLServer2005数据库技术[M]中国电力出版社2005年8月[3].罗仕监,朱上上,孙守迁人机界面设计[M]机械工业出版社2006年1月[4].朱晔ASP.NET第一步清华大学出版社[M]2008年1月[5].毛向荣基于ASP.NET和Web服务的物流仓储管理系统的设计与实现[J]中国学术期刊网2008(44)[6].吴晓艳,刘洋.  基于三层架构的物流管理系统的设计与实现[J].科技信息.2010(23)[7].王刚.  青岛经济开发区临港物流信息平台设计与实现[J].中国学术期刊网.2012(30)[8].王旭.  物流企业订单管理系统的设计与实现[J].中国学术期刊网.2011(29)[9].JohnGattorna.TheGowerHandbookofLogisticsandDistributionManagement.GowerPublishingCompany,2002,58-60[10].DavidE.Mulcahy.WarehouseDistribution&OperationsHandbook.McGraw-Hillinternationaleditions,2004,159-162[11].CarterCR.EllramLMReverseLogistics:aReviewoftheLiteratureandFrameworkforFutureInvestigation.JournalofBusinessLogistics,1998,19(1),pp85—10'