版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学校代码:10246学号:073053281硕士学位论文(专业学位)基于Struts框架的现代物流信息系统的构建院系:软件学院专业:软件工程姓名:指导教师:完成日期:2017年1月23日目录摘要 1ABSTRACT 2第一章绪论 11.1论文背景 11.2论文的内容与意义 21.2.1论文的内容 21.2.2论文的意义 31.3论文结构 4第2章物流信息系统概述和Struts框架简介 52.1物流信息系统概述 52.1.1物流基本概念 52.1.2我国物流发展状况 52.1.3现代物流的发展趋势 72.2MVC模式 112.2.1软件开发模式 112.2.2MVC概述 122.2.3MVC在Web上的应用 132.2.4MVC的好处 132.3J2EE平台与Struts框架 142.3.1J2EE平台 142.3.2Struts框架 172.4Ibatis工具 202.4.1Ibatis简介 202.4.2Ibatis优势 21第3章系统总体设计 223.1需求分析 223.1.1系统概述与目标 223.1.2系统功能性需求 233.1.3系统非功能性需求 243.2系统功能分析 253.3数据库设计 263.3.1数据库需求分析 263.3.2数据表结构设计 283.4系统技术架构设计 303.4.1系统逻辑结构设计 303.4.2技术方案实现 31第4章系统详细设计与实现 354.1系统文件结构 354.2系统通用功能 374.2.1实现数据持久化 374.2.2编写获取系统时间操作类 384.2.3编写分页Bean 384.3管理员登录模块 384.3.1管理员登录验证 384.3.2管理员编辑密码 404.4发货客户信息管理 414.4.1发货客户信息增加 414.4.2发货客户信息删除 424.4.3发货客户信息查询 424.5车辆信息管理模块 434.5.1车辆信息查询 434.5.2车辆信息增加 444.5.3车辆信息编辑 464.5.4车辆信息删除 474.6发货单管理模块 474.6.1建立发货单 494.6.2发货单回执确认 504.6.3查看发货单 514.6.4删除发货单 51第五章结束语 535.1总结 535.2展望 53参考文献 55致谢 58摘要随着世界经济的持续发展和科学技术的突飞猛进,现代物流作为现代经济的重要组成部分和工业化进程中最为经济合理的综合服务模式,正在全球范围内得以迅速发展。要成为具有竞争力的市场主体,就必须用信息化技术塑造先进的物流服务形态。通过对现代物流管理的需求分析,采用Struts框架技术,从系统逻辑结构设计和技术方案实现两方面,对系统进行了总体设计,并对系统各个模块进行了详细设计,构建了现代物流信息系统。该物流信息系统功能包括管理员登录、修改管理员密码、车源信息管理(车源的添加、车源的修改、车源的删除、车源的查询)、物流配货过程(车源信息查询、填写发货单、回执发货单确认)、发货单管理(发货单查询、发货单删除)、发货客户管理(发货客户的添加、发货客户的删除、发货客户的查询)。每一功能模块的设计,分为持久层(Persistence层)、业务逻辑层(BusinessLogic层)、控制层(Controller层)、表示层(View层)等四层来实现,简化了系统开发的难度和工作量,改善了系统的易管理性。本系统的特色在于采用Struts框架分层设计、Ibatis持久层设计、通用模块的设计以及与现代物流管理相吻合的业务流程设计。在进行Ibatis持久层设计时,利用延迟加载,提升系统运行性能。从管理方式上讲,物流管理人员不论在何时何地,都能够通过网络快捷地查找车辆信息、客户订单以及客户信息,能够对物流进行全程跟踪,掌握货物的托运情况,保证托运人以及收货人对货物进行及时的处理,也能够使物流企业根据实际情况,做好运营过程中的各项准备工作,并对突发事件做出及时准确的处置。关键词MVC,J2EE,Struts,Ibatis,物流管理ABSTRACTAstheworld'ssustainedeconomicdevelopmentandscientificandtechnologicaladvances,modernlogisticsasamoderneconomyandanimportantpartoftheprocessofindustrializationinthemosteconomicalandrationalmodelofcomprehensiveservicestoaglobalscaleisdevelopingrapidly.Tobecomecompetitivemarketplayers,itisnecessarytouseinformationtechnologytoshapetheformofadvancedlogisticsservices.Adoptionofmodernlogisticsmanagementneedsanalysis,usingStrutsframeworktechnology,logicalstructurefromthesystemdesignandtechnologyprogramstoachievethetwoaspectsofsystemdesign,eachmoduleofthesystemcarriedoutadetaileddesign,tobuildamodernlogisticsinformationsystem.Thelogisticsinformationsystemfunctionsincluderegistryadministrator,modifytheadministratorpassword,car-sourceinformationmanagement(carsourceadded,modifiedcarsources,vehiclessourcedeleted,carssourcequery),thelogisticsdistributionprocess(carsourceinformationfillininvoice,receiptconfirmationinvoice),invoicemanagement(invoiceinquiries,invoicedeleted),shippingcustomermanagement(shippingcustomerstoadd,deleteshippercustomers,shippingcustomersinquiries).Eachfunctionmoduledesign,dividedintoPersistenceLayer(PersistenceLayer),BusinessLogicTier(BusinessLogicLayer),controllayer(Controllerlayer),indicatingthatthelayer(Viewlayer)andsoontoachievefourtosimplifythedifficultyofsystemdevelopmentandworkloadandimprovedthesystemmanageability.CharacteristicsofthissystemliesinusingStrutsframeworkforhierarchicaldesign,Ibatispersistencelayerdesign,thedesignofgenericmodules,aswellaswithmodernlogisticsmanagementcoincidewiththedesignofbusinessprocesses.Ibatispersistencelayerindesign,uselazyloadingtoimprovesystemperformance.Speakingfromthemanagement,logisticsmanagementpersonnelregardlessofwhenandwheretheyareabletoquicklysearchthroughthenetworktrafficinformation,customerordersandcustomerinformation,totrackthelogisticstomasterthesituationconsignmentofgoodstoensurethattheshipperandtheresumptionShippersofgoodstimelyprocessing,logisticsenterprisescanalsomakeaccordingtotheactualsituationintheprocessofdoingagoodjoboperatingallthepreparatorywork,andmaketimelyandaccurateemergencydisposal.KeywordsMVC,J2EE,Struts,Ibatis,LogisticsManagement第一章绪论1.1论文背景实施物流管理的目的就是要在尽可能最低的总成本条件下实现既定的客户服务水平,寻求服务优势和成本优势的一种动态平衡,由此创造企业在竞争中的战略优势。根据这个目标,物流管理要解决的基本问题,就是把合适的产品以合适的数量和合适的价格在合适的时间和合适的地点提供给客户。物流管理贯穿企业生产和经营的全过程,对企业物流环节的任何改善都会对企业管理水平的提高起促进作用。因此,物流合理化被称为“企业脚下的金矿”,当前企业“最重要的竞争领域”。传统的物流服务主要以手工作业为主,增值业务难以开展。为了进一步提高公司的管理和服务水平,完成在全公司范围内全面实施信息化管理,实现整个公司内部信息共享、资源共享。因为缺乏信息化的服务手段,就会丧失客户、丧失市场。因此,在所有的改造中,信息化改造必须要先行,其他的改造可以视企业的发展需要来定。当前,世界经济正处于深刻变革的重大转折时期,世界范围内进行的经济结构调整、科学技术突飞猛进和跨国公司的影响日益增大,日益成为世界经济主流。其中,出现了与IT技术相结合和实行现代管理的新兴产业,现代物流作为一种先进的组织方式和管理技术,被世界各国广泛采用,并形成一种新兴产业,在国民经济发展中发挥着重要作用。每笔成功的交易都须具备三个基本的要素:即物流、信息流和资金流,其中,物流是基础,在信息化高度发展的网络营销时代,物流与信息的相互配合变得越来越重要,在供应链管理中必然要用到越来越多的现代物流技术。只有商品或服务真正转移到消费者手中,即只有通过物流过程,商务活动才得以终结。网络营销的核心是信息化,这个信息化不仅体现在选择商品及电子支付上,也充分体现在物流的整个过程中。随着世界经济的持续发展和科学技术的突飞猛进,现代物流作为现代经济的重要组成部分和工业化进程中最为经济合理的综合服务模式,正在全球范围内得以迅速发展。现代物流已被广泛认为是企业在降低物质消耗、提高劳动生产率以外创造利润的重要源泉,也是企业降低生产经营成本,提高产品竞争力的重要环节。目前的经济形势需要发展现代物流,加快国有企业改革和发展需要发展现代物流,中国经济的持续发展需要发展现代物流,经过改革开放30年的洗礼,我国政府有关部门和广大企业越来越深刻地认识到现代物流对于经济发展的促进作用。建立物流信息系统的条件已经具备。物流基础设施建设也具有一定规模和档次,建成了与港口、航空、公路和铁路等相关联的综合运输网络体系,高速、宽带、大容量的信息网络平台已基本建成。尤其随着网络技术的发展,企业间的竞争已突破了地域的限制,竞争的中心逐步转移为物流服务的竞争。目前许多大型制造业、零售业的跨国公司,为争夺全球市场,把物流服务作为自己的竞争优势。同时,他们也从高效率、优质的顾客服务中获得巨额利润。在日益激烈的市场竞争环境下,如何提升和确定企业的物流服务水平,保证企业长期竞争优势,已成为企业需要关注的重大课题。从商品的存在状态来看,商品流通过程就是商品在地理位置上的移动过程,商品借助运输工具发生位移的起点和终点就是物流体系的节点。它们之间不仅应该通过运输线路简单地连接起来,还应该通过信息高速公路连接起来,既要保证这些物流资源能够有效利用,又要保证这些资源不出现供给不足,否则整个物流网络系统就不可能高效率的运行。物流服务形态需改进。相当多的物流企业主要靠自己组织,这是造成整个物流总体运行效率低下的重要原因。虽然已有较多的物流公司开展了物流资源共享与合作,但这种合作只是为了缓解短时期内的物流资源不足,而非抱着持续改进,降本增效的目的。因此要成为具有竞争力的市场主体,就必须用信息化、智能化、服务综合化及个性化塑造先进的物流服务形态。为了谋求物流服务的高效率与高质量,利用电子化、网络化手段完成物流全过程的协调、控制,实现从网络前端到终端客户的所有中间过程服务。专业物流企业利用信息网络和结点网络,加快订单处理速度,缩短从订货到交货的时间,实现货物的快速交付,提高顾客满意度。同时,通过其先进的信息和通讯技术,加强对在途货物的监控,及时发现、处理配送过程中的意外事件,保证货物及时、安全送达到目的地。因此,建设现代物流信息系统具有十分重要的经济意义和现实意义。1.2论文的内容与意义1.2.1论文的内容首先,介绍现代物流信息系统开发背景和国内外开发应用现状,阐明现代物流信息系统对于企业的重要性。其次,对物流信息系统和Struts框架进行简介。第一,从物流基本概念、我国物流发展状况及现代物流的发展趋势三方面,概述了物流信息系统。第二,从软件开发模式、MVC概述、MVC在Web上的应用及MVC的好处等几方面,简述了MVC模式。第三,介绍了J2EE平台、Struts框架及Ibatis工具。对于J2EE平台,从J2EE概念和J2EE体系架构两方面,进行了概述;对于Struts框架,则从Struts实现MVC的机制、Struts工作流程、Struts优缺点及为什么要使用Struts框架进行了阐述;对Ibatis工具,从Ibatis简介、Ibatis优势等两方面进行了简介。再次,根据系统需求分析和功能分析,进行数据库设计和系统技术架构设计。第一,从系统概述与目标、系统功能性需求、系统非功能性需求等三方面,进行了系统需求分析,并从系统功能模块划分以及系统流程等两方面,进行了系统功能分析。第二,结合系统需求分析和系统功能分析,从数据库需求分析、数据表结构设计等两方面,进行了数据库设计。第四,从逻辑结构设计、技术方案实现等方面,进行系统技术架构设计。在进行系统逻辑结构设计时,从逻辑结构分析、表示层设计、控制层设计、业务层设计、持久层设计等五个方面,进行了探讨;在阐述技术方案时,从配置Web.xml文件、配置struts-config.xml文件、ActionForm的编写过程、Action的编写过程、业务逻辑编写过程、持久层设计以及视图层开发技术等七个方面,进行了介绍。然后,详细设计管理员登录模块、客户信息管理模块、车辆信息管理模块和发货单管理模块。其中,管理员登录模块包括管理员登录验证、管理员修改密码等功能;客户信息管理模块包括客户信息查询、客户信息增加、客户信息删除等功能;车辆信息管理模块包括车辆信息查询、车辆信息增加、车辆信息编辑、车辆信息删除等功能;发货单管理模块包括建立发货单、发货单回执确认、查看发货单、删除发货单等功能。进行模块设计时,采用J2EE开发规范以及struts框架,分为Controller(控制器)、Model(模型)、View(视图)三层。其中,Controller(控制器)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端;Model(模型)层实现业务逻辑;View(视图)层是应用程序中用户界面相关的部分,向用户显示数据,并能接收用户的输入数据。最后,对该现代物流信息系统设计进行了总结,并对该现代物流信息系统应用前景进行了展望。1.2.2论文的意义该现代物流信息系统不但能使物流企业走上科学化、网络化管理的道路,而且能够为企业带来巨大的经济效益和管理方式上飞速的发展。从经济性上讲,该现代物流信息系统的流程,从客户提交订单开始,中间依次经过管理员登录、车辆查询、车辆确认、填写发货单、货物发出、货物到达、到达确认、回执单确认,业务流程规范、科学,界面友好,操作环境便捷,将为企业带来更多的客户资源,树立企业的品牌形象,提高企业的经济效益。从管理方式上讲,系统采用B/S模式部署,网络化的管理方法,物流管理人员在操作过程中能够快捷地查找车辆信息、客户订单以及客户信息;能够对货物进行全程跟踪,了解货物的托运情况,从而使企业能够根据实际情况,做好运营过程中的各项准备工作,并对突发事件做出及时准确的调整;能够保证托运人以及收货人对货物进行及时的处理。首先,从系统页面文件结构和类文件结构等两方面,设计了系统文件结构。其次,从编写数据库持久化类、编写获取系统时间操作类、编写分页Bean等三方面,设计了通用功能。然后,从管理员登录验证、管理员修改密码等两方面,设计了管理员登录模块;从发货客户信息添加、发货客户信息删除、发货客户信息查询等三方面,设计了发货客户管理模块;从车辆信息查询、车辆信息增加、车辆信息编辑、车辆信息删除等四方面,设计了车辆信息管理模块;从建立发货单、回执发货单确认、发货单查询等三方面,设计了发货单管理模块。从开发技术上讲,该现代物流信息系统采用Struts框架,分层设计,将复杂的应用分为表示层、控制层、业务逻辑层、数据逻辑层等四层,系统层次结构清晰,简化了系统开发的难度和工作量,改善了软件的易管理性;通用模块的设计,提高了系统可扩展性和模块可复用性。该现代物流信息系统功能切合物流管理流程的特征和分层设计的理念,可供相关行业借鉴,具有较好的研究、推广价值。1.3论文结构论文分为五个章节。第一章简述论文背景以及论文的内容和意义。第二章阐述物流信息系统和Struts框架相关知识。第三章内容为该现代物流信息系统总体设计。第四章详细设计了管理员登录模块、发货客户管理模块、车辆信息管理模块以及发货单管理模块。第五章对该现代物流信息系统设计进行了总结,并对该系统应用前景进行了展望。第2章物流信息系统概述和Struts框架简介2.1物流信息系统概述2.1.1物流基本概念物流是为满足消费者需求而进行的对原材料、中间库存、最终产品及相关信息从起始点到消费地的有效流动,以及为实现这一流动而进行的计划、管理和控制过程。物流信息化,是指物流企业运用现代信息技术对物流过程中产生的全部或部分信息进行采集、分类、传递、汇总、查询等一系列处理活动,以实现对货物流动过程的控制,从而降低成本,提高效益。物流企业信息化的目的是通过建设物流信息系统,提高信息流转效率,降低物流运作成本。[1]2.1.2我国物流发展状况我国物流有了一定的发展,目前还没有形成一个比较完整的体系,从总体来说,我国的物流的发展仍处于起步阶段,主要表现在:1.部分省市开始重视现代物流的发展近几年来,我国部分省市政府已开始认识到物流对于推动经济发展、改善投资环境,以及提高地区经济和工商企业在国内外市场竞争能力的重要性,把发展现代物流作为一项涉及经济全局的战略性问题来抓,以天津、上海、深圳、山东三市一省为例,为了使地区经济持续高速发展,“三市一省”都从战略高度出发,把发展现代物流作为经济腾飞的重要措施和支撑点之一。2.一些工商企业开始重视物流管理我国一些工商企业已开始认识到物流是企业降低物资消耗、提高劳动生产率之外,能够使企业增加效益和增强竞争能力的“第三利润源”,强化企业的物流管理,取得了明显的收效。如海尔集团,把物流能力摆在企业核心竞争力的位置;实施企业流程管理再造工程,将集团的采购、仓储、配送和运输等物流活动统一集中管理,成立了物流管理部门,下设采购事业部、配送事业部和储运事业部,对物流业务和物流资源进行优化重组,从而获得了巨大的经济效益。3.运输、仓储及货代企业逐步向物流企业发展随着我国社会物流需求的增加,以及对物流认识的深化,我国在计划机制下形成的一大批运输、仓储及货代企业,为适应新形势下竞争的需要,正努力改变原有单一的仓储或运输服务方向,积极扩展经营范围,延伸物流服务项目。逐渐向多功能的现代物流方向发展。中远国际货运公司作为运输行业里的实力企业,在现代物流的新形势下,打出了“绿色服务”战略,即凡是由中货公司承接的货物,从订舱、制作单证、调箱、装运、报关、验货、装船、运输及信息追踪和资料信息的传送等一路绿灯。4.物流企业开始重视物流服务质量管理物流的本质是服务,物流服务质量是物流企业生命的保证,它直接关系到物流企业在激烈竞争中的成败。我国的一些物流企业开始把提高服务质量作为与国际接轨、进入国际物流领域的入门证。宝供物流第一个将美国食品和药物管理局颁布的“良好的制造管理实践”质量保证思想运用到物流运作中,确立了物流质量管理的10个关键要素,将每项要素的具体标准及要求汇编成《质量管理手册》。公司总部还专门设立了质量管理部具体落实贯彻《质量管理手册》,使每一项业务运作从作业开始就实施质量控制和跟踪,保证了业务运作质量稳定可靠。几年来,公司的铁路运输货物缺损率控制在万分之一左右,公路运输和仓储缺损率为零,铁路运输时间达标率在95%以上,公路运输达标率在98%以上,获得了客户的一致赞许。5.信息技术和通讯技术已逐步在物流业务中运用我国在上世纪90年代初期物流活动中开始应用了计算机网络技术。随着国际互联网在商业领域的应用,信息技术在物流领域有了突破性进展,促进了我国以网络物流为基础的物流业的迅速发展。中远率先在国内推出了计算机电子委托订舱业务,并在电子订舱的基础上;通过国际互联网向全球用户推出了具有网上订舱、中转查询和信息公告等多项业务操作功能的国际货运网上服务系统。此外,中远国际货运有限公司在系统内的50台车辆上安装了GPS系统终端,使中远公司成为国内首家运用卫星定位技术来组织管理车辆的国有运输企业。6.为电子商务提供服务的物流企业有了发展随着计算机网络的普及,电子商务将会迅速发展,必将需要完善的物流配送系统为之服务。为了适应这一要求目前我国已出现了为电子商务服务的以高科技信息技术为基础的第三方物流企业,它们充分利用互联网、无线通信、条形码等现代信息技术以代理的形式,对物流系列实行统一管理,建立了全国性的、快速的、以信息技术为基础的专门服务于电子商务的物流服务系统,如上海正广和网上购物有限公司,建成的85818物流配送体系将传统商业和电子商务有机结合,为客户提供不用出门的快速物流服务。7.物流研究和技术开发工作取得了一定进展随着我国物流的发展,从九十年代以来,我国物流理论界不仅将国外先进的物流理论和经验,向国内做了大量介绍,同时借鉴国外物流理论研究成果结合我国的实际,在物流系统建设、物流规划方法、物流企业的发展战略方面都取得了丰硕的成果,对我国物流发展起到了有益的作用。我国物流技术研究也取得了长足进步。如昆明船舶设备集团有限公司与红河卷烟厂,根据国家经贸委下达的研制自动化物流系统任务。联合研制的企业自动化物流系统,总体上已达到了世界先进水平,也是目前世界烟草行业综合功能最齐全的自动化物流系统。再如列入国家863计划、由海尔机器人有限公司整合国内外资源而建成的海尔国际物流中心,采用了世界上最先进的激光导引无人运输车系统、巷道堆垛机、机器人、穿梭车等技术,全部实现了现代物流的管理自动化和智能化。还有一些物流企业在研究开发物流信息技术和物流管理技术上取得了成果,如中外运的全程跟踪物流信息系统,宝供的快步物流系统,中海物流管理信息系统,中远的网上仓库管理信息系统和汽车调度信息系统,海尔的企业资源计划信息系统,上海大众的卫星定位系统,梅林正广和的85818配送物流系统等等。8.国外物流企业开始进入中国由于我国物流企业的经营规模、管理技术和管理水平相对落后,其服务质量还很难满足一些企业,特别是跨国公司对高质量物流服务的需求,因此,近年来国际上一些著名物流企业普遍看好我国物流市场,陆续进入我国,在我国许多地方开始建立物流网络及物流联盟。他们运用国际成功的物流服务经验,为客户提供完整的综合物流服务。如日通、铁行渣华、海陆、阿尔卑斯、美国总统轮船、近铁、瑞达、松下、GM、马士基、德国飞格等,在中国提供全方位综合物流服务,包括进出口货物的汽车运输、货物追踪、现代仓储以及流通过程中的相关增值服务。2.1.3现代物流的发展趋势随着经济全球化步伐的加快,科学技术尤其是信息技术、通讯技术的发展,跨国公司的出现所导致的本土化生产、全球采购、全球消费趋势的加强,现代物流的发展呈现出新的特点。1.电子物流的兴起基于网络的电子商务的迅速发展促使了电子物流(E-Logistics)的兴起。企业通过互联网加强了企业内部、企业与供应商、企业与消费者、企业与政府部门的联系和沟通,相互协调,相互合作。消费者可以直接在网上获取有关产品或服务信息,实现网上购物。这种网上的“直通方式”使企业能迅速、准确、全面地了解需求信息,实现基于顾客订货的生产模式(BuildToOrder-BTO)和物流服务。此外,电子物流可以在线追踪发出的货物,在线规划投递路线,在线进行物流调度,在线进行货运检查。可以说,电子物流是21世纪物流发展的大趋势。2.物流规模和物流活动的范围进一步扩大,物流企业将向集约化与协同化发展21世纪是一个物流全球化的时代,企业之间的竞争将十分激烈。要满足全球化或区域化的物流服务,企业规模必须扩大形成规模效益。规模的扩大可以是企业合并,也可以是企业间的合作与联盟,主要表现在两个方面:(1)物流园区的建设。物流园区是多种物流设施和不同类型的物流企业在空间上集中布局的场所,是具有一定规模和综合服务功能的物流集结点。物流园区的建设,有利于实现物流企业的专业化和规模化,发挥它们的整体优势和互补优势。(2)物流企业的兼并与合作。随着国际贸易的发展,美国和欧洲的一些大型物流企业跨越国境,展开连横合纵式的并购,大力拓展国际物流市场,以争取更大的市场份额。除此之外,另一种集约化方式是物流企业之间的合作与建立战略联盟。3.物流服务的优质化和全球化随着消费多样化、生产柔性化、流通高效化时代的到来,社会和客户对物流服务的要求越来越高,物流服务的优质化是物流今后发展的重要趋势。5个亮点“Right”的服务,即把好的产品(Therightporduct)在规定的时间(Attherighttime)、规定的地点(Intherightplace),以适当的数量(Intherightquantity)、合适的价格(AttherightPrice)提供给客户,将成为物流企业优质服务的共同标准。物流成本己不再是客户选择物流服务的唯一标准,人们更多的是注重物流服务的质量。物流服务的全球化是今后发展的又一重要趋势。目前许多大型制造部门正在朝着“扩展企业”的方向发展。这种所谓的“扩展企业”基本上包括了把全球供应链条上所有的服务商统一起来,并利用最新的计算机体系加以控制。同时,制造业已经实行“定做”服务理论,并不断加速其活动的全球化,对全球供应连锁服务业提出了一次性销售(即“一票到底”的直销)的需求。这种服务要求极其灵活机动的供应链,这也迫使物流服务商几乎采取了一种“一切为客户服务”的解决办法。4.电子商务物流步入发展快车道因为物流与电子商务密不可分,因此,下面探讨电子商务物流问题。近年来,我国电子商务经过不断探索和调整,步入了跨越式发展的轨道。自2002年以来,电子商务市场一直保持着稳定的发展势头,电子商务交易额持续高速增长。2007年上半年,中国电子商务市场的交易额就已超过13200亿元,明显高于2006年电子商务市场全年11000亿元的交易额。随着电子商务市场的迅速扩展,各种电子商务创新活动不断展开,B2B、B2C、C2C行业电子商务发展各具特色,极大地促进了物流的发展以及配送体系的建立,并刺激了移动与物流相结合。(1)电子商务总体规模增加,促进了物流的发展中国物流与采购联合会出版的《中国物流发展报告》指出,2007年是中国电子商务蓬勃发展的一年,B2B电子商务市场随着阿里巴巴的上市而成为业内瞩目的焦点。2006年,中国B2B电子商务交易规模为9957亿元,2007年增长率高达25.5%,交易规模达到12500亿元;2007年中国互联网B2C电子商务市场营收规模达到52.2亿元,较2006年增长33.5%;2007年中国C2C电子商务市场保持快速增长,交易规模为410.4亿元,较2006年增长90%。增长显著的总体销售规模自然而然地促进了物流的发展。其中,在中国的B2B电子商务市场中,以阿里巴巴为代表的第三方信息中心型市场B2B电子商务平台,近几年迅速崛起,顺应了中国制造业和服务业发展的趋势,成就了中国众多中小企业走向国际市场的梦想。2007年11月6日阿里巴巴挂牌上市,首日交易即冲至200亿美元的市值。以上海大宗钢铁电子交易中心为代表的交易中心型市场也迅速成长起来。从1992年建起的中国茧丝绸批发市场,随后的广西食糖、吉林玉米(资讯,行情)等进入此类市场,以及后来的中国食糖网、浙江余姚塑料网等建立发展起来。目前,国内这类大宗商品电子交易市场已有200余家,涉及石油、化工、钢材、塑料、糖、橡胶(资讯,行情)等诸多商品领域。在中国的B2C电子商务市场中,2007年垂直型B2C厂商发展迅速,衣服网、新蛋网、红孩子以及北斗手机网等垂直型B2C厂商在服装产品、IT产品、母婴用品、通信数码产品领域继续保持较快的增长速度。2007年中国C2C电子商务市场集中度高,竞争十分激烈。淘宝网在业务创新能力上处于前列,分别以74%、83%、85%的市场份额在2007年前三季度位居榜首。(2)物流服务等配套环境体系建设取得进展伴随着电子商务的快速发展,与之相关的法律法规、电子支付、信用与安全认证体系、物流服务以及人才培养等电子商务配套环境体系建设也取得了相应进展。2007年,国家陆续出台了《电子商务发展“十一五”规划》等一批规划、标准、条例与办法,各地方政府也出台了相应的规定,这为进一步推动、规范电子商务市场的发展起到了一定作用。在电子支付领域,2007年总体支付规模增长,企业间的合作加强,国家对电子支付体系的建设与发展更加重视。据统计数据显示,2007年前三季度,中国第三方电子支付市场交易额规模总计约为513亿元,支付宝、Chinapay和财付通位列交易额排名前三位。在现代物流配送体系的建立上,很多B2B电子交易市场都拥有自己独立的物流仓储配送体系。例如,中国太原煤炭交易中心就以三级物流配送体系为依托来发展自己的业务,随着业务规模的扩大,这些物流仓储设施也在不断增加与完善。一些大型B2C电子商务网站也拥有自己的物流体系,如当当网、卓越网。为了快速扩张,2007年当当网对原有的物流体系进行了大规模改造。然而大多数电子商务企业的物流配送职能还是依托第三方物流企业来实施。如支付宝在2005年6月与天津大田集团和宅急送结盟,成立我国第一个电子商务第三方物流联盟;同年11月又增加了亚风快递,在“全额赔付”制度的基础上,推出“推荐物流赔付制度”。2006年11月,阿里巴巴与中国邮政合作推出“电子商务快递”业务,并于2007年1月10日正式实施。阿里巴巴在不断探索适合电子商务发展的第三方物流模式方面走在了前列,也为众多电子商务企业在发展过程中如何突破物流瓶颈探索出一条新路。(3)物流信息化的新趋势——移动与物流的结合网络运营商为寻找新的业务增长点,纷纷将服务和竞争的触角伸向物流信息化应用市场。如中国联通(600050,股吧)推出了专业化服务品牌——“物流新时空”,中国移动推出了物流行业移动信息化解决方案,中国网通以供应链管理系统为核心,定制整合成物流行业解决方案,中国电信推出了“一站式”服务,利用信息技术改造传统物流。移动与物流的结合,显示了物流信息化的新趋势。移动电子商务是指手机、掌上电脑、笔记本电脑等移动通信设备与无线上网技术相结合所构成的一个电子商务体系。近年来,WAP、3G等移动通信技术的成熟以及便携式电脑、手机、PDA等移动终端的大量出现,促进了移动电子商务市场的发展。2007年,以用友软件(600588,股吧)开发出国内第一个大型移动商务平台“移动商街”,以及马云将旗下产品和企业的无线网址悉数注册,进军移动电子商务市场等事件为主线,移动电子商务在中国的发展初见端倪。与此同时,中国移动终端用户数量不断增长也为移动电子商务的发展打下了良好基础。到2007年底,中国包括小灵通在内的移动终端用户数已经超过6亿户,占世界30亿移动终端用户的五分之一。中国手机网民数与2006年相比增长167%,有28.9%的网民使用手机上网,这些人员都是移动电子商务的潜在客户。业内专家提出,我国移动电子商务市场空间巨大,发展前景广阔,但是受现阶段移动通信运营商、银行、商户和移动电子商务服务使用者自身条件等诸多方面的限制,中国移动电子商务的成熟还需要时间。显然,经过多年的发展,我国物流虽然存在不足,但是,建立现代物流信息系统的条件已经成熟。2.2MVC模式现阶段绝大部分企业应用软件,都是基于B/S(浏览器/服务器)架构的,其中的服务器就是Web服务器。可见,Web应用是目前广泛使用的应用模式,而Struts是一个具有很好的实用价值的WebMVC框架。为了下文更好地介绍J2EE平台和StrutsMVC框架,首先介绍软件开发模式,然后介绍MVC模式。2.2.1软件开发模式1.什么是开发模式软件开发模式是一个应用程序的半成品,开发模式提供了可在应用程序之间共享的、可复用的公共结构,开发者可以把模式融入自己的应用程序,并加以扩展,以满足特定的需要。2.为什么使用开发模式(1)实现重用开发模式的最大好处就是重用。重用代码的增加能够提高软件生产效率和软件质量。(2)节省开发时间成熟的模式不仅帮助开发人员完成一些基础工作,而且能够处理系统很多细节问题,比如事务处理、安全性、数据流控制,节省了开发时间,开发人员可以集中精力完成系统的业务逻辑设计。3.多层结构因为模式通常与多层结构有关,因此,这里介绍一下软件的多层结构。这里所说的多层结构是指三层结构。这三层的关系见图2-1三层结构图。下面简述这三层结构。(1)表现层主要是JSP和HTML页面,用于接受用户的请求,以及返回操作数据,是应用程序的入口。(2)业务逻辑层主要是对数据层的操作,对数据业务逻辑进行处理。如果说数据层是积木,那么业务逻辑层就是对这些积木的搭建。(3)数据访问层主要是对原始数据(数据库中的数据或者其它存放形式的数据)的操作层,具体为业务逻辑层或表现层提供数据服务。数据库表现层业务逻辑层数据访问层数据库数据访问包业务逻辑包用户界面包数据访问包业务逻辑包用户界面包图2-1三层结构图2.2.2MVC概述MVC是一种目前广泛流行的软件设计模式,M代表模型(Model),V代表视图(View),C代表控制器(Controller)。MVC设计模型即把一个应用的输入、处理、输出流程按照M-V-C的方式进行分离。MVC的目的是增加代码的重用率,减少数据表达、数据描述和应用操作的耦合度。同时,也使得软件的可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。MVC模式的结构如图2-2MVC结构图所示。图2-2MVC结构图模型(Model)负责业务流程/状态的处理以及业务网规则的制定,是从现实世界中挖掘出来的对象模型。模型封装了数据和对数据的操作,是实际进行数据处理和计算的地方。视图(View)是应用和模型之间的接口,它负责将应用显现给用户和显示模型的状态。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。控制器(Controller)负责视图和模型之间的交互。主要负责以下两方面的动作:1.把用户的请求分发到相应的模型2.将模型的改变及时反应到视图上控制器并不做任何的数据处理。例如,用户单击一个链接,控制器接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。2.2.3MVC在Web上的应用通常开发基于Web的应用系统时,View对象是由美工、HTML/JSP设计人员或者系统管理员来负责管理的;Controller对象由应用开发人员开发实施;Model对象(商业规则对象和商业数据对象)则由开发人员、领域专家和数据库管理员共同完成。显示逻辑在表现层或客户端控制,可以通过Servlet或JSP动态地生成HTML。1.View在Web系统中的应用View对象代表系统的显示,它完全存在于表现层,一般由JSP、JavaBean和自定义标签组成。JSP通过JavaBean来读取Model对象中的显示,Model对象和Controller对象则负责对JavaBean的数据更新。2.Model对象在Web系统中的应用Model对象代表了商业规则和商业数据,存在于表现层。有些数据需要存储在数据库中,如用户的账号信息、公司的数据等。系统也有一些数据不需要记录在数据库里,如某用户浏览的当前产品目录、用户的购物内容。3.Controller在Web系统中的应用Controller对象协调Model对象和View对象,把用户请求翻译成系统识别的事件。在表现层,一般有MainServlet(或Main.jsp)接受请求,它可以决定下一个调用的页面。2.2.4MVC的好处1.各施其职,互不干涉在MVC模式中,三个层各施其职,一旦哪一层的需求发生了变化,只需要更改相应层中的代码而不会影响到其它层中的代码。2.有利于开发中的分工在MVC模式中,由于按层把系统分开,那么就能更好地实现开发中的分工。网页设计人员可以开发视图层中的JSP页面,对业务熟悉的人员可以开发业务层,而其他开发人员可以开发控制层。3.有利于组件的重用分层后有利于组件的重用。例如控制层可独立成一个通用的组件,视图层也可做成通用的操作界面。2.3J2EE平台与Struts框架2.3.1J2EE平台1.什么是J2EEJ2EE是使用Java进行企业应用开发的一套扩展规范,它提供基于组件设计、开发、部署和管理企业应用的解决方案。J2EE规范基于J2SE平台,它不仅巩固了标准版中的许多优点,例如,“一次编译,随处运行”的跨平台特性、方便高效的数据库JDBC技术、能够在Internet应用中确保数据完整性的安全模式以及支持多线程技术等。J2EE为创建和实施可缩放的解决方案提供了最快捷的方式,同时它集成了用户界面生成、服务器编程以及跨数据库平台的多种技术,已经建立了一套能够使企业级应用开发者缩短软件产品开发周期的标准架构体系。事实上,J2EE已成为企业级开发的工业标准和主流平台。J2EE为建立具有高可用性、高可扩展性、易维护性的企业及系统提供了完美的机制和架构模型。在J2EE提供的统一开发平台下,可以大大降低开发开发多层应用的成本和复杂性,对于需要获得高可用性、高安全性以及高可扩充性软件服务而又缺乏资金的企业来说,J2EE的中间层集成框架完全可以胜任并满足其要求。同时,J2EE自身具备的完备的目录服务支持、高度的安全机制、高效的性能展现等众多优势技术,为企业平滑集成已有应用系统发挥了巨大作用。基于J2EE的企业级应用系统,不受任何特定操作系统、网络环境、硬件平台的约束。应用系统可开发并部署在异构的环境中,并确保系统的可移植性。因此,只要将符合J2EE规范的系统开发一次,即可部署到各种操作系统平台和网络平台上。J2EE作为长期的性能稳定的企业级应用系统平台,能保障7*24小时的不间断服务,以满足企业客户、合作伙伴的需要,是企业理想的运行平台,也是Internet全球化发展的客观必然要求。J2EE高伸缩性的特点,在如今随需而变的系统应用中做出了卓越的贡献。J2EE采用负载平衡策略,使系统软硬件资源利用率及性能表现最大化,消除了系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,在保存企业现有IT资产减少重复性投入的同时,也满足了未来商业应用的需要。2.J2EE体系架构概述J2EE使用多层的分布式架构模型,模型由组件组成,应用程序的逻辑根据功能划分被封装在各组件中。由于是采用分布式架构,J2EE应用中的大量组件部署在不同的机器中,通常这些机器具有不同的物理地址。J2EE体系一般分为4层:客户层、Web应用层、企业组件层(也称为业务层或服务层)、企业信息系统层。图2-3为J2EE体系架构图,描述了J2EE架构中典型的多层应用架构模型。图2-3J2EE体系架构图一个J2EE客户层可以是基于Web的,也可以是基于Application(应用)的。Web客户端由Web应用层的Web组件动态生成Web页面,主要是HTML文件和XML文件。客户端用户在使用J2EE服务时,无需安装多余软件,只要计算机上装有一个Web浏览器即可。基于应用程序的客户端,可以为用户展示比Web客户端更为丰富的人性化的图形界面。如果把图2-3J2EE体系架构图中客户端和企业信息系统抛开,单纯对系统中应用程序分层,Web应用层、企业组件层(业务层)可以细化为以下4层:表示层(View)、控制层(Controller)、服务层(Service)和数据持久层(DataPersistence)。其中:表示层(View):用于显示给用户的操作界面,接受输入数据。控制层(Controller):用于接受客户端的请求,再根据具体的请求,调用不同的事务逻辑,并将结果返回到合适的页面。服务层(Service):用于操作持久层。数据持久层(DataPersistence):表示数据库的持久内存储存对象。J2EE架构集成了先进的软件体系架构思想,具有采用多层分布式应用模型、基于组件并能重用组件、统一完全模型和灵活的事务处理控制等特点。在J2EE系统开发过程中,大致可以分为五大步骤:需求、分析、设计、编码、测试。而体系结构是软件的骨架,是最重要的基础。体系结构是涉及到每一步骤中。一般在获取需要的同时,就应该开始分析软件的体系结构。体系结构现在一般是各个大的功能模块组合成,然后描述各个部分的关系,J2EE平台已经为开发者提供了整个软件系统的体系结构。架构是体系结构中每个模块中相对细小的结构。如需要表示Web技术,就会用到MVC架构,而Web功能只是整个软件体系中的一个功能模块。每个架构可以有许多个实例,如用Java实现的MVC架构Struts。在架构之下就是设计模式,设计模式一般是应用于架构之中,也可以说是对架构的补充。架构只是提供了一个环境,需要开发者填入东西。无论是否应用了设计模式,都可以实现软件的功能,而正确应用设计模式,是对前人软件设计思想或实现方法的一种继承。J2EE系统采用MVC架构之后,其解决的主要问题无外乎以下几部分:(1)将Web页面中的输入元素封装为一个(请求)数据对象。(2)根据请求的不同,调度相应的逻辑处理单元,并将(请求)数据对象作为参数传入。(3)逻辑处理单元完成运算后,返回一个结果数据对象。(4)将结果数据对象中的数据与预先设计的表现层相融合,并展现给用户或将其持久化。这样,J2EE系统将具有下以几个优点:(1)多个视图能共享一个模型。在MVC架构中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。(2)模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务规则。由于MVC的三个模块相互独立,改变其中一个不会影响其它的两个,所以依据这种设计思想能构造良好的松耦合的构件。(3)控制器提高了应用程序的灵活性和可配置性。面对大量用户界面,业务逻辑复杂的大型应用程序,MVC将会使软件在健壮性、代码重用和结构方面上一个新的台阶,尤其是商业软件的高度可变性。由于MVC的三个模块相互独立,改变其中一个不会影响其它的两个,所以依据这种设计思想能构造良好的松耦合的构件。2.3.2Struts框架在J2EE平台下,Struts是比较流行的架构。实际上,Struts是将Model、View、Controller这些概念分别对应到了不同的Web应用组件,因此,可以说Struts是MVC设计模式的具体实现。1.Struts实现MVC的机制在Struts设计模型中,模型由实现业务逻辑的JavaBean组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件与Struts标签库构成。如图2-4Struts结构图所示,显示了Struts实现的MVC设计模式。(Struts配置文件)Struts-config.xml(模型)(Struts配置文件)Struts-config.xml(模型)JavaBean浏览器(控制器)(控制器)ActionServletJavaWeb服务器JavaWeb服务器ActionActionActionAction(视图)JSP或Struts标签库(视图)JSP或Struts标签库图2-4Struts结构图(1)视图Struts中的视图部分可以采用JSP来实现。在这些JSP文件中没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或客户化标签,如Struts标签库中的标签。当用户通过视图向Servlet发送数据时,使用了Struts中的ActionForm组件,该组件通常也归于视图。ActionForm的作用就是将用户提交的数据编译成Bean对象,除了基本的getXXX()和setXXX()方法外,它还提供了另外一些方法用于对用户提交的数据进行一些初始化以及验证。(2)模型模型表示应用程序的状态和业务逻辑。(4)控制器Struts提供了一个控制器组件ActionServlet,它继承自HttpServlet,并重用了HttpServlet的doGet()、doPost()方法,可以接受HTTP响应,并进行转发。同时还提供了使用XML进行转发Mapping(映射)的功能。(5)配置struts-config.xml用户请求是通过ActionServlet来处理和转发的。这需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中,这些配置映射信息都存储在特定的XML文件Struts-config.xml中。在该配置文件中,每一个Action的映射信息都通过一个<action>元素来配置。这些配置信息在系统启动的时候,被读入内存,供Struts在运行期间使用。在内存中,每一个<action>元素都对应一个ActionMapping类的实例。2.Struts工作流程如果在Web应用中采用Struts,应该在Web应用启动时就加载并初始化ActionServlet,ActionServlet从Struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中,例如Action的映射信息存放在ActionMapping对象中。当ActionServlet接收到一个客户请求时,将执行如下流程:(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的信息。(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3)根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的Validate()方法。(4)如果ActionForm的Validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功;如果ActionForm的Validate()方法返回一个包含一个或多个ActionMessage的ActionErrors对象,就表示表单验证失败,此时ActionServlet将直接把请求转发给包含用户提交表单的JSP组件,在这种情况下,不会再创建Action对象并调用Action的execute()方法。(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。(6)Action的execute()方法返回一个ActionForward对象,ActionServle再把客户请求转发给ActionForward对象指向的JSP组件。(7)ActionForward对象指向的JSP组件生成动态网页,返回给客户。3.Struts优缺点(1)优点Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts对后端数据操作方式没有限定、集合了ApacheJakarta项目组的优秀相关项目的精华,可谓是开发J2EE应用的佳品。Struts作为规范的J2EE架构中,应用数据的表示应该被限制在相应的层内,而不扩散到其它层,这样可以降低数据在应用层之间的耦合性,提高J2EE整体架构的可维护性和可扩展性。除此之外,Struts的优点主要集中体现在Taglib和页面导航两个方面。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。关于页面导航,Struts使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处,对团队合作开发,这种优势体现得很突出。(2)缺点Taglib是Struts的一大优势,但需要一个持续学习的过程,甚至还会打乱开发者网页编写的习惯;Struts将MVC的Controller分开,在获得结构更加清晰的同时,也增加了系统的复杂度;它对类和一些属性、参数的命名显得有些随意,给使用带来一些不便。4.为什么要使用Struts框架开发者自己也可以实现类似于Struts的框架,那为什么要使用Struts呢?首先,它是建立在MVC这种业界认可的模式上,Struts在M、V和C上都有涉及,但它主要是提供一个好的控制器和一套定制的标签库上,也就是说它的着力点在C和V上,因此,它天生就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;其次,它是开源项目,得到了包括它的发明者CraigR.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;最后,是它对其它技术和框架显示出很好的融合性。2.4Ibatis工具2.4.1Ibatis简介Ibatis一词来源于“internet”和“abatis”的组合,是一个由ClintonBegin组织在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。Ibatis提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)。相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,Ibatis是一种“半自动化”的ORM实现。所谓“半自动”,因为Hibernate和ApacheOJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate或者OJB提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握,Hibernate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。大多数情况下,这样的机制无往不利。但是,在一些特定的环境下,这种一站式的解决方案却未必妥当。在实际开发过程中,常有以下情况:(1)系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构不予公开。(2)开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(例如,工商银行、中国银行、交通银行等安全要求较高的部门,都在开发规范中严格指定)。(3)系统数据庞大,性能要求高,SQL语句(或存储过程)必须优化。面对这样的需求,Hibernate显得难以应付,再用老方法JDBC进行数据库操作实际上也是不错的选择,只是拖沓的数据库访问代码,乏味的字段读取操作令人厌烦。“半自动化”的Ibatis,却刚好解决了这个问题。这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。Ibatis的着力点,则在于POJO与SQL之间的映射关系。也就是说,Ibatis并不会为程序员在运行期自动生成SQL执行。具体的SQL需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。使用Ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而Ibatis则要求开发者编写具体的SQL语句。相对Hibernate等“全自动”ORM机制而言,Ibatis以SQL开发的工作量和数据库移植性上的让步,提供了更大的系统设计自由空间和运行速度。作为“全自动”ORM实现的一种有益补充,Ibatis的出现显得别具意义。2.4.2Ibatis优势这里的Ibatis优势,是与Hibernate进行比较而言。以下将Ibatis与Hibernate进行对比。1.易学性Ibatis入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验;Hibernate相对较复杂,学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。2.开发速度和易维护性Hibernate:开发速度快,不用关心SQL,加入自己开发的filter类,将告别SQL,全对象开发。Ibatis:开发速度和Hibernate开发速度一样,每一个接口,类似一个SQL语句,便于利用以往SQL使用经验,并且便于单元测试,也有利于运行期维护。如果系统属于二次开发,无法对数据库结构做到控制和修改,那么Ibatis的灵活性将比Hibernate更适合。二者都不需要手写SQL语句,因为有工具可以自动生成。Hibernate的工具特别多,Hbatis的工具有一个abator特别好用。3.开发灵活性Hibernate:开发灵活性不高,全封闭内核。Ibatis:开发灵活性高,例如,只提供了查询集合与对象的映射关系,具体操作数据库全开放。4.系统运行速度Hibernate:相对Ibatis比较慢,需要解析成SQL语句才能访问数据库。Ibatis:速度快,无需解析SQL,并且SQL都是预编译,执行速度加快。如果系统数据处理量巨大,性能要求极为苛刻,必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下Ibatis会有更好的可控性和表现。第3章系统总体设计3.1需求分析3.1.1系统概述与目标系统需求分析是整个设计过程的基础,是系统设计的起点。系统建设前首先必须准确了解与分析用户的知识需求。需求分析是否准确反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到交付的产品是否合理和实用。需求分析如果做得不好,甚至会导致整个系统设计的返工重做。需求分析的重点是调查、收集与分析用户在知识管理中的知识要求、处理要求、安全性与完整性要求。知识要求是指用户需要从系统中获得知识的内容与性质,根据用户的知识需求就可以确定在系统中要存储哪些知识;处理要求是指用户要求完成什么处理功能,还有对处理时间和处理方式的要求。系统必须能够满足用户的各类需求,需求分析的重点是明确系统的应用场景和环境。通过对一些典型的物流管理系统的考察、分析,要求本系统具有以下特点。(1)采用B/S结构,基于浏览器管理界面,无需专业人士维护;(2)功能符合物流管理实际要求,操作简单,扩展性强,稳定性高;(3)系统无操作系统限制,方便不同平台之间的移植。通过对物流企业和相关行业信息的调查,该现代物流信息系统具有以下功能:(1)全面展示企业的形象通过系统流程图,全面介绍企业的服务项目;(2)实现对车辆来源信息的管理;(3)实现对发货客户信息的管理;(4)实现对发货过程的管理,并能通过发货单编号,详细查询物流配货的详细信息;(5)具备易操作的界面;(6)当受到外界环境(停电、网络病毒)干拢时,系统可以自动保护原始数据的安全;(7)系统安全退出。一个易于维护的系统,就是复用率较高的系统;而一个复用较好的系统,就是一个易于维护的系统。也就是说一个系统的设计目标应该具有可扩展性、灵活性及可插入性。开发该系统的最终目的是为客户提交订单、为管理员管理订单提供方便,得到客户的及时反馈,从而提高公司的整体水平,提高公司效率。为了满足客户需要,本系统在设计时应实现以下几个目标。(1)系统界面力求人性化;(2)能够满足现代物流管理实际环节,能够对客户和车辆信息进行管理;(3)能够根据不断变化的需求进行功能上的扩充;(4)系统能够连续运行,满足7*24小时工作要求。3.1.2系统功能性需求(1)车辆管理该部分主要包括车辆信息的增加、编辑、删除及分页查询车辆信息的功能。(2)客户管理该部分主要包括对发货客户信息的增加、删除及分页查询客户信息的功能。(3)管理员登录管理该部分主要包括管理员登录验证和编辑密码的功能。(4)车辆信息查询能够快速查询车辆信息,主要包括对车辆的车牌号码、路线及车辆的使用情况进行查询。(5)填写发货单能够准确填写发货单,实现对普通的发货单及根据固定车辆生成的发货单进行进行填写的功能。(6)能够实现回单处理根据发货单的号码,查询发货单的信息,并实现回执发货单确认功能。(7)发货单查询实现对发货单的全部查询功能,如果该发货单已经被确认,则具有删除这个发货单的功能。图3-1为该现代物流信息系统UseCase图。编辑密码编辑密码浏览车辆信息浏览车辆信息编辑编辑车辆信息删除删除车辆信息增加车辆信息增加车辆信息查询发货客户查询发货客户删除发货客户增加发货客户删除发货客户增加发货客户删除发货单浏览发货单回执单确认建立发货单管理员删除发货单浏览发货单回执单确认建立发货单图3-1该现代物流信息系统UseCase图3.1.3系统非功能性需求结合目前网络上物流配送系统的设计方案,对客户做的调查结果以及企业的实际需求,本项目在设计时应该满足以下目标:(1)界面设计美观大方、操作简单;(2)功能完善、结构清晰;(3)能够及时、准确地对系统进行维护和更新;(4)良好的数据库系统支持;(5)最大限度地实现易安装性、易维护性和易操作性;(6)系统运行稳定,具备良好的安全措施。3.2系统功能分析该物流信息系统功能包括管理员登录、管理员编辑密码、浏览车辆信息、编辑车辆信息、删除车辆信息、增加车辆信息、建立发货单、回执发货单确认、浏览发货单、删除发货单、查询发货客户、增加发货客户、删除发货客户。图3-2为系统功能结构图。管理员修改密码管理员修改密码编辑车辆编辑车辆信息浏览车辆信息管理车辆信息删除车辆删除车辆信息现代物流信息系统首页增加车增加车辆信息管理员登录增加客户信息浏览客户信息管理客户信息增加客户信息浏览客户信息管理客户信息删除客户信息删除客户信息回执单确认删除发货单浏览发货单车辆选择建立发货单回执单确认删除发货单浏览发货单车辆选择建立发货单图3-2系统功能结构图系统流程:发货客户通过通讯等辅助手段,向物流公司提交订单;管理员登录系统后,根据客户提交的订单要求,进行车辆查询、车辆确认、填写发货单;管理员安排货物发出后,进行电话跟踪,货物到达后,收货人进行到达确认,管理员进行回执单确认。图3-3为系统流程图。车辆确认车辆查询管理员登录车辆确认车辆查询管理员登录回执单确认填写发货单回执单确认填写发货单货物到达,收货人收货电话等其它手段跟踪提交发货单,货物发出货物到达,收货人收货电话等其它手段跟踪提交发货单,货物发出图3-3系统流程图3.3数据库设计3.3.1数据库需求分析该物流信息管理系统的数据库访问量是比较大的,开发该系统使用的数据库不仅应能承载就巨大的数据量,而且还需要具有强大的稳定性和可靠性。SQLServer2000是一种客户/服务器模式的关系型数据库。它具有很强的数据完整性、可伸缩性、可管理性、可编程性,具有均衡与完备的功能,性价比较高。SQLServer2000数据库提供了复制服务、数据转换服务、报表服务,并支持XML语言。使用SQLServer2000数据库可以大容量地存储数据,并对数据进行合理的逻辑布局,应用数据库对象可以对数据进行复杂的操作。考虑到本系统的稳定性与可靠性以及开发程序与用户需求,因此,在设计该系统时选择SQLServer2000数据库来满足系统的需求。根据系统需求分析,系统有车辆信息、车辆日志、发货客户信息、发货单信息等5个实体,其中后四个实体之间的关系图如图3-4所示。Id int(10)pkId int(10)pkvehicle_idint(10)fkclient_id int(10)fkcargoes_idvarchar(255) cargoes_name varchar (255)cargoes_phonevarchar (255 )cargoes_abodevarchar (255)cargoes_affirmint(10) deliverynoteId int(10)pkId
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2020年10月17日上午云南省玉溪市公务员面试真题
- 2024年全新猎头公司合作合同
- 2024年民办幼儿园转让协议
- 2024年开店合作协议书
- 2024年信息化项目服务合同模板
- 内蒙古申论模拟48
- 2024年借款三方协议借条三方协议
- 2024年无抵押借款合同的模板
- 上海房地产买卖协议书2024年
- 2024年机械产品供销合同范文
- 2023年城市轨道交通运营与维护赛项-A卷-模块2- 评分标准-2023年全国职业院校技能大赛赛项正式赛卷
- 贝伐珠单抗抗血管机制课件
- 中国心血管病一级预防指南(2020年)解读
- 6SE70变频器使用手册
- 花生脱壳机结构设计
- FDA发布咀嚼片关键质量属性指导原则
- 泰国商务邀请函模板
- 机械制图(第3版)PPT完整全套教学课件
- 第10课辽夏金元的统治导学案-高中历史统编版(2019)必修中外历史纲要上册
- 2021食品安全问题调查报告
- 干法电极行业深度研究报告
评论
0/150
提交评论