ASP+Web开发框架的物流信息系统构建V43.docx
- 文档编号:9776026
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:62
- 大小:936.71KB
ASP+Web开发框架的物流信息系统构建V43.docx
《ASP+Web开发框架的物流信息系统构建V43.docx》由会员分享,可在线阅读,更多相关《ASP+Web开发框架的物流信息系统构建V43.docx(62页珍藏版)》请在冰点文库上搜索。
ASP+Web开发框架的物流信息系统构建V43
目录
摘要III
AbstractIV
第一章引言1
1.1物流信息系统现状1
1.2物流信息系统开发存在的问题2
1.3本文主要内容3
1.4本文的章节结构4
第二章ASPWEB开发框架相关技术6
2.1设计模式6
2.2框架技术8
2.3ASPWEB开发框架10
第三章新怡公司物流信息系统系统分析14
3.1公司现状14
3.2公司组织结构15
3.3物流信息系统目标15
3.4物流信息系统需求分析16
3.4.1业务流程分析16
3.4.2功能分析22
3.4.3开发技术需求23
第四章新怡公司物流信息系统设计24
4.1物流信息系统总体结构24
4.2物流信息系统子系统设计24
4.2.1物料信息管理子系统24
4.2.2商业伙伴管理子系统25
4.2.3订单管理子系统25
4.2.4仓储管理子系统26
4.2.5客户服务子系统26
4.2.6财务管理子系统27
4.2.7权限管理子系统27
4.2.8系统设置子系统29
4.3物流信息系统技术方案选型30
4.3.1当前流行的Web开发框架30
4.3.2与ASPWeb开发框架比较31
4.4物流信息系统的体系结构设计32
4.4.1系统总体体系结构32
4.4.2消息文档的设计33
4.4.3控制器的设计35
4.4.4视图设计37
4.4.5模型的设计39
4.4.6异步通讯的设计41
4.4.7用户请求响应流程43
4.4.8体系架构设计小结44
4.5物流信息系统的实现46
4.5.1利用ASPWEB开发框架的步骤和流程46
4.5.2订单增加模块的实现46
4.6物流信息系统的部署47
4.7物流信息系统开发小结48
第五章结论50
5.1同类系统比较50
5.2不足与展望51
参考文献52
致谢54
引言
随着物流业的迅猛发展,建设适用的物流信息系统已成为物流企业增强企业核心竞争力的重要手段。
ASP技术平台作为轻量级的成熟开发技术,比较适合在中小型物流企业的信息系统中应用。
然而,传统ASPWeb应用的开发存在许多不足。
为此,在论文的开始部分,有必要简单介绍一下物流信息系统现状和开发中存在的问题,以充分了解ASPWeb开发框架应用于物流信息系统开发的意义。
物流信息系统现状
现代物流的基本目标是提高物流效率、降低物流成本、改进客户服务、提高企业竞争力,并且越来越呈现出信息化、网络化、自动化、智能化、标准化等发展趋势。
其中信息化是现代物流发展的必然要求和根本所在,是通过物流信息系统的建设,对传统物流业务进行优化整合,实现物流、资金流和信息流的有机统一,以达到降低成本、提高服务水平之目的。
所以,近年来物流信息系统成为软件商和物流企业投资的热点,特别是第三方物流企业,信息系统已经成为其核心竞争力之一。
有关调查统计表明,我国高达94.3%的物流企业内部使用了管理软件,81.4%的物流企业拥有自己的外部网站。
据CCID和CCW两大权威机构对物流管理软件市场的调查报告显示,我国物流管理软件市场规模将有望在未来几年内超过ERP而成为主流[1]。
在物流软件供应者中,有的是专业的ERP软件供应商,特别是一些国外厂商,如:
SAP、i2,他们在技术上成熟、功能相对完善和丰富,并且他们的物流信息系统比较容易和对应的企业管理系统对接。
也有专业从事物流软件开发的软件商,他们比较专注于第三方物流市场。
此外,还有相当部分的物流企业自行或定制开发物流信息系统,这其中不少是中小型物流企业。
从国内物流行业在物流信息系统方面的投资来看,最近几年始终处在加速增长的态势。
据权威机构调查,在2003年,中国物流行业IT产品应用的总体市场规模就达到了16.3亿元人民币,比2002年增长18.1。
而根据《2005年中国物流行业信息化建设及IT应用趋势报告》的估计,2005年国内物流行业IT投资总额为18.4亿元人民币,同比增长17.9%[2]。
总体来看,系统的软硬件投资比例也将逐渐均衡,其中,硬件投资比例将逐渐减少,而软件和信息服务投资比例相应增加[3]。
另外,从国内物流信息系统发展的趋势来看,集成与协同将成为物流信息系统建设的重点。
今后,大型物流企业主要以业务系统整合为主,大中型传统物流企业转型以管理流程再造为主,而中小型物流企业主要以硬件和通用软件为主[2]。
同时,在供应链管理环境下,要求能有效监控各种物流活动,实现相关信息的共享,促使物流活动高效、顺畅地运转。
而基于Web的应用系统,在信息共享、开发、维护、版本升级方面具有较低的总拥有成本,所以基于Web的物流信息系统得到了普遍的青睐。
应对物流信息系统的发展趋势,对软件开发商来说,需要转变角色,从软件产品制造者的角色转变为IT服务商,帮助客户利用信息技术获得效益。
而且,在物流这个特定的应用领域,共性的、基础性的软件服务功能将被整合,趋于标准化、规模化。
物流信息系统开发存在的问题
虽然随着我国物流业的快速发展,物流信息系统受到了普遍重视,但是从已有系统的实施和反馈来看,高达60%的企业用户评价为一般[4]。
说明国内的物流信息系统从开发到运行、维护还是存在不少不足之处,概括来说主要存在以下几方面的问题:
1、不能客观地把握用户现实需要
国内物流信息系统的开发和使用双方,在“供应链物流”概念的炒作下,往往会抱着“大而全、一步到位,多快好省”的思想,不能真正地从实际出发,有针对性地解决问题。
而且,现有的物流软件往往价格偏高,但在功能、流程上却不一定适用于国内企业。
在国内目前特定的市场环境和发展阶段,中小型物流企业信息化工作处于起步阶段,基础的信息化还是主流。
现实的做法应该是从自身业务实际出发,从基础做起,解决好信息系统与业务流程及企业战略目标的匹配问题。
此外,物流的基本功能是服务,对客户的管理和服务已经是物流企业生存发展的关键因数。
但是现有的系统往往不能很好地满足这方面的需求,忽视对客户物流信息服务的建设。
在中小型物流企业中,受管理水平和信息技术的制约,客户服务方面的矛盾尤为突出。
中小型物流企业更关注一些具备不多的基本功能,但投入较少、风险低、性价比高的信息系统的应用效果。
2、在Web开发上缺乏合适的技术选型
虽然中小型物流企业受资金、人力的限制,在信息系统方面的投入不可能很大,以解决基础问题为主。
但是,为适应竞争的需要,对系统开发周期、功能适用性、易用性、维护成本等方面要求并不低,具有“短、平、快”的特点。
而且为满足协同商务、供应链管理环境的需要,必然采用基于Web技术的物流信息系统。
而在Web开发领域,人们往往片面地追求最新的技术和热门的技术,而忽略技术先进性和易用性、功能和可维护性、开发效率和质量以及成本之间的平衡,选择了不太合适的技术平台。
在中小型物流企业的物流信息系统开发中,需要根据目标用户的特点和项目条件限制,选择技术难度低、开发周期短、环境要求低和维护方便的开发技术。
3、ASPWeb应用开发缺乏先进方法的运用
与一些重量级的开发技术相比较而言,简单易用、开发效率高、部署方便的ASP技术更适合中小型物流企业现实的IT基础状况。
使用ASP技术开发Web应用不需要非常高技能的专业人才,企业自己的IT人员也能根据业务发展和管理变革的需要,方便地进行程序维护和扩展。
但是,在ASPWeb开发中一直未能很好地运用设计模式,使数据表现和业务逻辑处理混杂在一起,造成网页设计人员和程序员的角色定义不清和职责分工不明,给Web开发管理和维护带来一系列的问题。
此外,ASPWeb开发也缺乏高层次的软件复用机制,一些好的经验和方法得不到保留和传播,很少实现目前Web应用开发领域流行的框架化开发。
因此,ASPWeb应用需要从软件复用技术和设计思想上进一步改进,特别是运用框架技术来改良基于ASP的Web应用开发。
4、ASPWeb应用对现有技术的运用不充分
ASPWeb开发中,除了可以使用传统的脚本语言,如:
JScript、VBScript,还可以使用COM/COM+组件技术、XML技术,以及Windows平台上丰富的组件对象库,如:
ADO、MSXML。
但是,实际中往往只利用这些技术分别实现特定的功能,或者仅满足某些设计的要求,而缺乏对这些技术运用的优化组合。
5、ASPWeb表现层实现手段多样,不利于维护
在ASPWeb开发中常存在多种技术方法去实现同一功能,特别是在表现层处理上,有多种数据表现方法,如:
传统的服务器代码块、JScript控制块、XSLT。
这些方法是在ASPWeb技术发展过程中陆续产生的,各有优劣和适用的场合。
但如果在同一系统中,针对同一类问题上采用多种处理手段,将不利于技术的管理、代码及设计的复用,不利于开发效率的提高,给系统的维护也来很多麻烦。
新怡物流公司是一家中型的第三方物流企业,其客户主要是一些实施VMI+JIT的制造业企业。
正如上文所述原因,在信息化建设方面有迫切的需求,但实际实施上却很滞后。
为改变信息化建设落后的现状,希望能在短期内快速开发一套符合其现阶段业务情况的物流信息系统,而且该系统必须能基于Web提供对外的信息服务。
采用的开发技术应该成熟、简单易学,便于掌握;能充分利用已有的常用技术手段;系统架构清晰、灵活,实现方法统一、便于维护,能够由其内部的维护人员在以后自行进行修改和扩展。
本文主要内容
针对目前中小型物流企业物流信息系统存在的问题,对于软件开发组织来说,除了采用新技术外,还需要充分利用现有技术和理论进行集成和整合,通过老技术新应用的方法,提高开发效率和质量,降低开发风险和维护成本。
目前,在主流的Web应用系统开发中,框架方法以其软件复用性强的特点受到了人们的青睐,采用框架开发应用系统已经是软件行业的共识。
因此,Web应用开发框架的发展非常迅速,已成为设计和开发Web应用程序的热门研究方向。
而对于复杂系统的开发来说,采用一个好的软件体系结构也是相当关键的,是决定软件质量的关键因素。
一个好的软件体系结构能使软件开发结构清晰,有章可循,缩短开发周期,并且能有效地改善软件系统的性能,大大提高软件的可维护性与可扩展性。
MVC(Model-View-Controller)作为一个经典的软件体系结构,在Web应用开发中已经得到广泛运用。
ASP技术作为较早出现的动态Web技术,由于其简便易用,开发和运行环境成熟稳定,对硬件设施要求也不高,所以在Web应用开发领域还是很流行的,特别是在中小型规模的系统中拥有大量的用户群。
不过,在ASP技术平台上采用框架这种大颗粒度的软件复用机制却相对较少,对已有技术手段的组合利用研究也不多。
因此,本文通过对面向对象软件开发中设计复用的关键技术——设计模式、框架进行深入的研究和探讨,在借鉴JavaWeb开发框架的成功经验基础上,结合ASP技术平台的特点,介绍一种基于ASP技术平台的Web应用开发框架。
该框架由于采用成熟的技术,具有稳定、轻量、易于掌握、便于测试和部署的特点,降低了系统开发的复杂度,有助于提高开发团队的协作效率和系统的灵活性,降低了开发成本。
在物流信息系统开发中,特别是针对中小型物流企业的信息系统开发,通过应用ASPWeb开发框架既可以充分利用开发团队已有的技术水平和技术成果,降低技术风险和开发、维护成本,又可以在较短时间内提高系统设计水平、开发效率和质量。
也能够复用设计,根据情况快速地调整和扩充物流信息系统功能,满足不同客户的个性化需求和物流信息协作的需要。
所以在相关技术介绍的基础上,本文结合一个具体的项目——新怡物流公司物流信息系统开发,通过对新怡物流公司实际需求的分析,进行系统的设计。
然后,经过比较,选择了ASPWeb开发框架作为该系统的技术解决方案。
最后,结合该实际应用系统的设计实现,详细介绍了ASPWeb开发框架的具体应用,分析了该框架各主要组成部分的设计及对实际开发的作用。
本文研究的理论意义在于试图通过对设计模式、软件框架技术的研究,运用新的框架设计思想对原有技术平台的开发过程和方法进行改进,挖掘相对过时技术的潜力。
通过对成熟、稳定的老技术重新组合,实现一种开放、伸缩性强、易于维护和扩展的ASPWeb开发框架。
从而,增强ASP技术平台上软件系统的可重用性、可适应性和易维护性,提高信息系统的开发效率与质量,降低维护成本,使其继续为合适的服务对象更好地发挥作用。
同时,证明“老酒装新瓶”也是提高软件开发水平的重要途径。
本文的章节结构
论文是在以软件设计模式、框架技术的研究为基础,以一个中小型物流企业信息系统的设计开发项目为背景,经过不断地探索与实践总结而完成。
本文共分为五个章节,文章具体结构安排如下:
第一章简要陈述了目前国内物流信息系统的现状及存在的问题,并对新怡物流公司实际需求作了简要阐述,然后介绍了本课题的研究内容和意义。
第二章介绍了ASPWeb开发框架相关的基础知识,重点介绍了设计模式、框架技术的特点和开发优点,以及两者有关的概念辨析。
在此基础上,介绍了ASPWeb开发框架的设计思想、总体结构、组成和特点。
同时简要介绍了实现ASPWeb开发框架的几种关键技术。
在前面章节知识的基础上,第三章分析了新怡公司的现状及其物流信息系统建设的目标,对新怡公司的业务流程和需要的系统功能进行详细的分析,并提出了对开发技术的需求。
第四章根据前面的系统分析结果,具体介绍了系统的总体结构和子系统设计,并比较了ASPWeb开发框架应用于本物流信息系统实施的相对优势。
然后,详细阐述了前文所述的ASPWeb开发框架在实际中的应用,分析了框架各主要组成部分的设计及对实际开发的作用。
另外,围绕系统的实现,还具体描述了订单增加模块的模型-视图实现过程和系统的部署方法,以体现应用该框架的核心工作。
第五章是对全文进行总结及后续工作的展望。
ASPWEB开发框架相关技术
在软件开发领域,设计模式为开发人员提供了使用专家设计经验的有效方法,而框架是软件开发过程中提取特定领域软件的共性部分形成的体系结构,是一种或多种设计模式和代码的混合体,两者共同致力于使人们的设计可以被重用。
ASPWeb开发框架就是在ASP技术平台上,主要运用MVC设计模式以及框架技术,通过对成熟技术的重新组合而形成的Web应用开发框架,为Web应用开发提供了基础的支持。
设计模式
设计模式实际上是面向对象软件的设计经验,应用设计模式可以更方便地复用既有的成功设计和体系结构,帮助软件开发人员更快速且高质量地完成系统设计。
1、设计模式的概念
设计模式的概念最初来自于城市建筑专家ChristopherAlexander对城市和建筑模式的定义:
“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。
这样,你就能一次又一次地使用该方案而不必做重复劳动”[5]。
这种建筑领域的思想同样适用于面向对象的设计模式。
设计模式的核心在于描述了在特定场景下一类反复出现的设计问题,并提供针对这些问题,且经过实践检验的一般解决方案。
一个设计模式命名、抽象和确定了一个通用设计结构的主要方面,这些设计结构能被用来构造可复用的面向对象设计。
设计模式确定了所包含的类和实例,他们的角色、协作方式以及职责分配。
每一个设计模式都集中在一个面向对象设计问题或设计要点,描述了什么时候使用他,在另一些设计约束条件下是否还能使用,以及使用的效果和如何取舍[5]。
2、运用设计模式的好处
设计模式对于软件设计的帮助是显而易见的,基本上可以归结为以下几点:
(1)直接提供可供考虑的问题解决方案,帮助解决应用程序设计阶段遇到的大多数常见问题,包括:
标识组件、组件内部结构及组件间的关系;确定组件粒度及适当交互;定义组件接口等,而不是从一片空白或从头开始。
(2)使代码具有一致性。
即使碰到同一个问题,使用相同的解决方案,也可以使代码易于理解。
这样既节约了开发时间,提高了软件质量,而且很容易扩展和复用。
(3)帮助确定支持复用的适当粒度。
通过选择组件的适当粒度可以限定所需的通信量,使应用程序性能更好,这在分布式应用中特别重要。
(4)提高设计灵活性,使设计更适于复用,更加健壮,更好的适应将来的改变。
3、MVC模式
MVC模式(Model-View-Controller,即模型-视图-控制器模式)是XeroxPARC在20世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,被用来构建用户界面,至今已被广泛使用,众多Web开发框架都基于MVC模式进行设计[5][6]。
在MVC设计模式中,MVC的主要关系是由Observer、Composite和Strategy三个设计模式给出的。
MVC强制性地把应用程序的输入、处理和输出分开。
应用程序被分成三个核心模块:
模型、视图、控制器,分别承担不同的任务。
图2.1显示了这三个模块各自的功能以及相互间的关系[6]。
图2.1MVC设计模式
4、MVC的处理过程
MVC的三个部分是这样工作的:
(1)控制器接收用户的请求,并决定应该调用那个模型来进行处理。
(2)模型根据用户请求进行相应的业务逻辑处理,并返回数据。
(3)控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
5、MVC的优点
在最初的动态网页中,数据操作代码(SQL语句)和HTML代码是混杂在一起的,虽然有经验的程序员会通过如组件技术这样的手段,将数据操作从表示层分离出来,但是要做到这样不是件容易的事情,需要精心地计划和不断地尝试。
而使用MVC则可以从根本上强制性地将他们分开,这给我们带来如下的好处:
(1)多个视图能共享一个模型,大大提高了代码的可复用性。
(2)模型是自包含的,与控制器和视图保持相对的独立,所以能方便地改变应用程序的数据层和业务规则。
(3)控制器提高了应用程序的灵活性和可配置性。
控制器可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。
框架技术
框架是一个应用的体系结构,它使得在新项目的开发过程中,不需要从头编写代码,只需要在框架的基础上进行一些开发和调整便可满足要求。
对于开发过程开说,这样做可以提高软件的质量,降低成本,缩短开发时间。
1、框架的定义
框架最早起源于Smalltalk环境,其中最著名的是Smalltalk-80用户环境框架MVC(Model-View-Controller)[7]。
目前,关于框架的定义存在着几种不同但相似的定义:
(1)Aframeworkisasetofcommonandprefabricatedsoftwarebuildingblocksthatprogrammerscanuse,extendorcustomizeforspecificcomputingsolutions.Withframeworksdevelopersdonothavetostartfromscratcheachtimetheywriteanapplication.Frameworksarebuiltfromcollectionofobjectssoboththedesignandcodeofframeworkmaybereused.[8]
(2)Askeletonofanapplicationintowhichdevelopersplugintheircodeandprovidesmostofthecommonfunctionality.[9]
(3)框架=模式+构件,是由开发人员定制的应用系统的骨架,是整个系统或子系统的可复用设计,由一组抽象类及它们实例间的交互方式组成[10]。
综合上述定义,可以看出框架是可被软件开发者定制的应用骨架,是由一组抽象类和具体类组成的,并且定义了构件之间的协作关系,由具体子类来实现相关的细节,构成对设计的不同实现。
在软件体系结构中,框架处于应用级和微架构之间[11]。
现有的框架可以从不同角度分为多种类型,如:
应用框架、支承框架和基础框架,横向框架和纵向框架,系统基础设施框架、中间层集成框架和企业应用程序框架,白盒框架和黑盒框架等[12][13][14][15]。
框架作为一种可复用的软件设计,在其实际应用于软件开发过程中,会涉及到框架的开发和使用两个方面的工作。
框架开发包含的内容不仅仅是产品(产品包括那些需要和框架一起交付的部分,例如框架的架构,框架的各个组成部分),还包括用于框架开发的过程(包括演进式迭代)、开发团队、开发的组织结构以及用户(包括框架支持的业务模型和业务流程)[16]。
框架开发的主要结果是为应用系统的开发提供解决特定问题的可复用的设计和实现,其中的一个主要活动是框架的进化和维护。
框架的使用是通过复用框架得到特定的应用系统。
在实际的应用系统开发过程中,开发人员首先识别出在框架中已实现的系统功能,然后通过扩展或定制框架生成目标系统特定部分的功能。
虽然我们通常看到的框架都是由某种面向对象语言实现的,框架中可能包含某种程序语言实现的具体类,但是框架着重于设计复用。
所以,从理论上来讲框架可以由非面向对象语言来实现。
2、框架的特征
框架内部使用了面向对象技术,因此,它除了继承面向对象技术的所有优点外,还拥有比面向对象技术更多的特点。
具体地说,框架主要拥有以下特征[17][18]:
(1)模块化(Modularity):
框架通过封装多变的实现细节于固定的接口之后,提高了软件的模块特性,最大限度地减少了开发人员需要开发的代码,减轻了代码调试和测试的工作量。
(2)可复用性(Reusability):
框架的可复用性,避免了后继开发人员针对该领域中的同一问题和需求做重复的劳动。
应用系统的开发不再是从头开始重写整个程序,而是从己有的框架基础上通过添加、改写或定制实现。
(3)可扩展性(Extensibility):
框架通过提供显式的钩子方法(HookMethods),允许应用程序来扩展其固定接口,这样就提高了框架的扩展性。
(4)反向控制特性(Inversionofcontrol):
框架是一种运行时体系结构,这种结构被称之为“反向控制”,它使得标准的应用程序过程能被可由框架派发机制激活的事件处理对象一步步地定制。
框架的这种特性使得应用的开发变得简单,因为开发人员可以从应用程序的细节纠缠中脱离出来,而专注于他们所熟悉的问题域,专心设计好具体的业务方法。
3、框架的组成要素
框架各组成要素及之间的关系如图2.2所示[19][20]。
图2.2框架各组成要素之间的关系
4、使用框架开发的优点
框架最大的益处在于复用设计和分析。
框架提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且构件都采用框架统一定义的接口,使构件间的通信简单。
接口的标准化使在已有的构件库基础上通过组装建立各种各样的应用系统成为可能。
对于新的构件只要符合接口定义标准,就能插入到框架中,从而重用构架的设计。
采用框架技术进行软件开发的主要益处包括[21]:
(1)领域内的软件结构一致性好,有利于在一个项目内多人协同工作;
(2)框架允许采用快速原型技术,建立更加开放的系统;
(3)重用代码大大增加,软件生产效率和质量也得到了提高;
(4)软件设计人员能专注于对应用领域的了解,使需求分析更充分;
(5)保存了经验,可以让那些经验丰富的人员去设计框架和领域构件,而不必限于低层编程;
(6)大粒度的重用使得平均开发费用降低,开发速度加快,开发人员减少,维护费用降低
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP Web 开发 框架 物流 信息系统 构建 V43