(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf_第1页
(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf_第2页
(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf_第3页
(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf_第4页
(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)客户关系管理软件体系结构的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京航空航天大学硕士学位论文 摘要 本文以面向电子商务的集成供应链管理系统( e ci s c m ) 开发为背景,重点研 究基于集成供应链管理的客户关系管理( c r m ) 软件构架,以及e ci s c m 软件过程 模型和面向构件的软件开发方法,并将e ci s c m 软件过程模型用于指导基于集成供 应链管理的c r m 软件开发。 首先回顾了面向对象方法学,以阐明面向构件方法学的渊源;进而详细论述了面 向构件的软件开发方法和构件化方法的一般过程模型,并结合统一软件开法过程 ( r u p ) 给出了e ci s c m 的软件过程模型;然后讨论了客户关系管理理念在管理学 中的形成与发展,在对传统的c r m 软件框架总结研究的基础上提出了基于集成供应 链的c r m 软件需求框架;最后以z c j s c m 软件过程模型为指导建立领域分析模型 和领域设计模型,得到c r m 的软件构架,并将其映射到e ci s c m 软件平台,完成 系统构架和构件的实现。 通过工程实践,完成了客户关系管理子系统的分析、设计和开发工作,使本人对 于客户关系管理理论、供应链管理理论和软件开发方法学都有了一定的理解和掌握, 软件过程模型和建模方法和在工程中得到了验证,做到了理论和实践相结合。 关键词:客户关系管理领域工程软件体系结构软件过程模型u m la c m e 客户关系管理软件体系结构的研究与实现 a b s t r a c t b a s e do nt h er & d p r o c e s so fi n t e g r a t e ds u p p l yc h a i nm a n a g e m e n t ( i s c m ) s y s t e m ,t h i sp a p e r f o c r i s e so nt h es o f t w a r ea r c h i t e c t u r ec o n s t r u c t i o no fi ti nw h i c ht h es o f t w a r ed e v e l o pp r o c e s s m o d e lo fe cf s c m r u pa n dc o m p o n e n to r i e n t e dm e t h o da r ei n v o l v e d t h e n t h e s o f t w a r ed e v e l o pp r o c e s sm o d e lo fe ci s c mi s a p p l i e dj nt h ew h o l er & dp r o c e s so f c r m s y s t e mb a s e do ni s c m f i r s t l y , t h ea u t h o rr e s e a r c h e st h eo om e t h o di no r d e rt ou n d e r s t a n dt h eo r i g i no f c o m p o n e n tm e t h o da n dt h e n ,t h ec o m p o n e n to r i e n t e dm e t h o da n di t ss o f t w a r ep r o c e s s m o d e la r ed i s c u s s e di nd e t a i l s e c o n d l y , t h ea u t h o rn a r r a t e st h ev a r i a t i o no f t h ec o n c e p to fc r ma n ds u m m a r i z e st h e t r a d i t i o n a ls o f t w a r ea r c h i t e c t u r e so fc r m f u r t h e rm o r e ,t h ea l l t h o rb r i n g sf o r w a r dt h e s o f t w a r ed e m a n df r a m e w o r ko fe ci s c mb a s e do nt h ec o m b i n a t i o no ft h el a t e s tc r m c o n c c :p ta n d t h er e s e a r c ho nt r a d i t i o n a ls o f t w a r ea r c h i t e c t b r eo fc r m f i n a l l y , t h ea u t h o ru s e st h es o f t w a r ep r o c e s sm o d e lt ob u i l dt h ed o m a i na n a l y s i s m o d e la n dd o m a i n d e s i g nm o d e l a sar e s u l tt h es o f t w a r ea r c h i t e c t u r eo f c r m i so b t a i n e da n d m a p p e d t oe c j s c ms o f t w a r ep l a t f o r ms oa st or e a l i z et h ea r c h i t e c t u r ea n d c o m p o n e n t so f c r m t r o u g h t h ep r a c t i c eo f t h ee ci s c m p r o j e c t ,ih a v ef i n i s h e dt h ec r ms u b s y s t e mn o t o n l yh a v ei l e a r n e dv e r ym u c ho ft h ec r ma n ds c m t h e o r ya n ds o f t w a r em e t h o d o l o g y b u ta l s om a s t e r e dt h et e c h n o l o g yo fs o f t w a r ed e v e l o pm a n a g e m e n ta n dg a i n e dm u c h p r o j e c te x p e r i e n c e s o ic o m b i n e dt h e t h e o r ya n d t h ep r a c t i c ei nw o r da n dd e e d k e yw o r d s :c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ( c r m ) ,d o m a i ne n g i n e e r i n g ,s o f t w a r e p r o c e s sm o d e l ,s o f t w a r e a r c h i t e c t u r e ,u m l ,a c m e 南京航空航天大学硕士学位论文 1 1 课题研究背景 第一章绪论 提高软件生产率,保证软件质量一直是软件界追求的目标。6 0 年代,软件规模 比较小,其成功主要依靠编程人员之间的合作,因此编程技术至关重要;为提高软件 生产率和软件产品质量而出现的高级语言和结构化编程方法成为当时软件技术最突 出的成就。7 0 年代以后,软件行业的发展表现出软件项目复杂化,生产技术集成化, 开发组织协作化和管理力度深层化。面对高度复杂的软件项目,如何组织、协调、控 制和管理软件系统的开发是一个综合性的问题。各种生命周期范型,如瀑布模型、螺 旋模型等被人们用来指导项目的开发过程,c a s e 工具被广泛采用以辅助人们的分析 与设计活动。 软件开发过程的质量在很大的程度上决定了所产生的软件产品的质量年| :i 软件生 产率,因此软件过程模型或称软件过程范型十分重要,软件过程模型是一个包含过程、 方法和工具三方面以及定义、开发和维护三阶段的软件开发策略。软件过程模型的选 择应基于项目和具体应用的特点、软件开发采用的方法和工具以及需要交付的产品。 使用先进的软件开发方法是提高软件开发效率,增强软件可复用性、可维护性的 有效途径。软件体系结构技术是当今软件开发方法研究领域的主流技术。体系结构是 对系统的一种宏观描述,它反映了组成系统的构件、构件间的连接、规则和约束,是 对系统结构的一种高层次把握。利用体系结构技术有利于开发人员间相互的交流,有 利于指导系统的开发和系统的维护。 以网络经济、知识经济和电子商务为特征的新经济迅猛发展,使企业发展的趋势 发生了,巨大的变化。信息技术和网络技术的日新月异,不但为加强企业管理提供了必 要的条件和基础,而且也给企业的生存与发展带来了新的挑战和机遇。全球市场竞争 趋势已由原来的企业与企业之间的竞争转变为供应链与供应链之间的竞争,协同商 务、协同竞争和双赢原则成为供应链管理的基本运作模式,供应链的竞争优势主要取 决于创新能力和核心能力的竞争。一些大的企业集团跨国界组成新的跨国战略联盟, 发展成为经济全球化的动力和主体力量。另一方面,到客户信息是企业的主要资源已 达成了共识。在这样的背景下,供应链管理s c m ( s u p p l y c h a i n m a n a g e m e n t ) 、企 业资源计划e r p ( e n t e r p r i s e r e s o u r c e s p l a n n i n g ) 和客户关系管理c r m ( c u s t o m e r r e l a t j o n s h i pm a n a g e m e n t ) 作为现代企业管理的思想和方法,越来越得到企业的重视。 客户关系管理的原理是采用先进的数据库和其它信息技术来获取顾客数据,分析 顾客行为和偏好特性,积累和共享顾客知识,有针对性地为顾客提供产品或服务,发 展和管理顾客关系,培养顾客长期的忠诚度,以实现顾客价值最大化和企业收益最大 客户关系管理软件体系结构的研究与实现 化之间的平衡。 2 1 世纪是挑战和机遇并存的世纪,这个世纪的经济总特征体现在知识经济上。 信息技术产业化是知识经济发展的前提,信息产业已成为知识经济发展的核心产业。 基于以上认识,南京航空航天大学信息科学与技术学院电子商务工程研究中心以基于 i n t r a n e t i n t e r a c t e x t r a n e t 网络应用模式的电子商务软件产品开发为突破口,率先开 发供应链产品s c m ( s u p p l y c h a i n m a n a g e m e n t ) 。目前,已经存在了一些供应链的产 品,然而,本工程中心所开发的未来产品将具有一定的创新优势:s c m 软件总体功 能设计突破了国外所谓的供应链理论模型的约束,并且与e r p ( e n t e r p r i s er e s o u r c e p l a n ) 软件模型之间形成准确的功能分割关系:s c m 软件开发过程将使用u m l ( u n i f i e d m o d e ll a n g u a g e ) 面向对象建模工具来指导系统的整个开发过程,同时与而 向构件的软件开发方法相结合。所以,将工程中心的s c m 产品定位为集成供应链管 理软件,即i s c m ( i n t e g r a t e ds u p p l yc h m nm a n a g e m e n t ) 。i s c m 软件产品的设计模式 可以描述为: i s c m :2 e c s + s c m + e r p j i 即集成供应链管理软件以基本s c m 框架为核心,以e c s ( e l e c l r o n i cc o m m e n c e s y s t e m ) 技术来覆盖s c m 的前端处理,并提供与e r p 软件的接口。这就是s c m 产品开发的核心思想。 本人作为电子商务工程研究中心的一员,主要负责客户关系管理子系统的分析、 设计和实现,而本篇论文就是在这样一个工程项目研发背景下产生的。 1 2 主要研究内容 本文以e c i s c m 软件开发为工程背景。e c _ i s c m ( 基于电子商务的集成供应链管 理) 系统集成了工业与商业应用模式、它的软件总体设计与e r p ( e n t e r p r i s e r e s o u r c e p l a n ) 软件模型之间形成准确的功能分割,具有鲜明的技术特色。 本文研究的重点是基于集成供应链管理的客户关系管理( c r m ) 软件构架,以 及e ci s c m 软件过程模型和面向构件的软件开发方法,以及将e ci s c m 软件过程 模型指导基于集成供应链管理的c r m 软件开发。 论文从结构上看,共分为六章: 第一章:绪论。介绍本次研究背景,本论文的具体研究内容和章节安排以及工作 量评估。 第二章;面向构件的软件方法及建模工具。探讨r u p 的原理和剪裁方法,提出 了e ci s c m 软件过程模型,回顾总结了面向对象方法学的思想和建模技术,结合构 件化开发方法的一般过程,对r u p 进行剪裁提出了e ci s c m 软件过程模裂。 第三章:c r m 领域框架描述。从关系营销理论、电子商务理论和网络营销理论 等方面探讨了客户关系管理理念在管理学方面的形成与发展。总结了传统的c r m 软 , 南京航空航天大学硕士学位论文 件的功能框架,并以此为参照提出了基于集成供应链的客户关系管理领域需求框架。 第四章:c r m 领域分析和设计。采用领域工程的思想来进行领域需求抽象,建 立领域需求模型;通过领域分析来建立领域分析模型:用例模型、活动模型、信息模 型和基本类模型。在领域设计阶段,运用u m l 的顺序图来描述对象间的消息通信作 用,用状态图来描述单个对象的状态变化及控制,得到了细化类模型中的对象属性集 和对象操作集;然后根据三层体系结构的思想对细化类模型进行三层分解,形成精化 类模型。 第五章:基于w i n d o w sd n a 的c r m 软件实现。在领域设计的基础上,建立构 件图和配置图,并把它们映射到基于c s 集成体系结构模式的软件架构平台,然后 参考相应的用户界面设计模式和代码设计模式完成了系统构件构架的开发。 第六章:结束语。阐述了本研究工作的创新见解和收效,以及今后的研究方向。 1 3 论文工作情况 本文的工作从e ci s c m 工程实施开始,经过了开题报告、资料收集、文献阅读、 应用设计开发总结以及论文写作等几个阶段,历时一年半。 在一年半中我阅读了中英文著作、文献六十余篇:对软件体系结构、软件过程模 型、面向构件的软件开发方法学等软件开发方法学做了一定的研究;对客户关系管理 理论和集成供应链管理理论作了系统研究,在对c r m 领域需求提炼的基础上提出了 基于集成供应链的c r m 软件模型;同时采用面向构件的开发方法及u m l 建模语言 设计和实现了e ci s c m 软件的客户关系管理予系统。 最后,在总结e c j s c m 系统工程经验和理论研究的基础上完成了4 万多字的毕 设论文。 客户关系管理软件体系结构的研究与实现 第二章面向构件的软件开发方法及建模工具 2 1 基于u m l 的e c i s c m 软件过程模型 2 i 1r u p 的基本思想和剪裁原理 r u p ( r a t i o n a lu n i f i e dp r o c e s s ) 是一个软件开发过程,又是一个通用的软件过程 韵框架。与早期的瀑布式开发模型相比,r u p 具有用例驱动过程、以软件体系结构 为核心和迭代式的增量开发三个特点,适用于开发复杂、技术难度大、需求多变、高 风险的项目。r u p 是可裁剪的软件开发过程框架,各组织可以根据自身及项目特点 对r u p 进行裁减。r u p 吸收了多种开发模型的优点,并得到了多种c a s e 工具的支 持,越来越多的组织以它作为软件开发模型框架。 1 r u p 的基本模型元素 r u p 采用角色、活动、产品和工作流等四个基本模型元素组织和构造系统开发 过程。 角色:描述某个人或一个小组的行为与职责。一个开发人员可以同时是几个角色, 一个角色也可以由多个开发人员共同承担。r u p 预先定义了很多角色并对每个角色 的工作和职责都作了详尽的说明。 活动:是一个有明确目的的独立工作单元。 产品:是活动生成、创建或修改的段信息。产品的存在形式有模型、源代码、 可执行文件、文档等。r u p 的很大一部分工作就是设计和维护一系列的模型,所有 的模型都以u m l 描述,模型应尽可能地在c a s e 工具中创建和修改并为版本管理工 具跟踪和维护,它们在整个软件开发周期中动态地增加和修改。 工作流:描述了一个有意义的连续的行为序列,每个工作流产生一些有价值的产 品,并显示了角色之间的关系。r u p 主要提供两种组织工作流的方式:核心工作流 ( c o r ew o & f l o w ) 和迭代工作流( i t e r a t i o nw o f k f l o w ) 。核心工作流从逻辑上把相关 角色和行为划分为组,以描述r u p 的逻辑组成部件,迭代工作流是r u p 的一个具体 的实现过程,核心工作流中的行为在软件开发周期中,一遍遍地在迭代工作流中得以 细化。 2 迭代式的开发过程 r u p 从时间维上把软件开发的整个过程划分为周期( c y c l e s ) ,每个周期生成一个 产品的新版本。每个周期都由连续的四个阶段( p h a s e ) 组成,每个阶段都应完成确 定的任务。各阶段任务如下: 起始阶段( i n c e p t i o n ) :定义最终产品视图、商业模型并确定系统范围。 4 南京航空航天大学硕士学位论文 演化阶段( e v a l u a t i o n ) :设计及确定系统的体系结构,制定工作计划及资源要求。 构造阶段( c o n s t r u c h o n ) :构造产品并继续演进需求、体系结构、计划直至产品 提交。 提交阶段( t r a n s i t i o n ) :把产品提交给用户使用。 每一个阶段都由一个或多个连续的迭代组成,每一个迭代都是一个完整的开发过 程。在每个阶段结束前都应有一个里程碑( m i l e s t o n e ) 评估该阶段的工作。如果未能 通过该里程碑的评估,则决策者应该做出决定是应取消该项目,还是继续做该阶段的 工作。项目计划中制定了项目迭代的次数、每次迭代的时间以及目标。在每一个迭代 的起始阶段都制定详细的迭代计划以及具体的迭代工作流。每次迭代过程都生成一个 版本, 作为下次迭代的基础。在迭代结束前需仔细评估该迭代过程,为下一次迭代 做准备。迭代并不是重复地做相同的事,而是针对不同u s ec a s e 的细化和实现。 迭代式开发是个不断减小消除风险的过程,每一次的迭代过程都选择最关键、 风险最大的u s e c a s e s 执行,因此风险在迭代过程中不断地被发现、消除。迭代式开 发方法能够更容易地管理需求的变化,整个开发过程由一次次的独立的迭代所组成, 项目经理能够比较容易地调整迭代过程,使最终产品实现变化的需求。 3 用例驱动过程 用例模型是需求分析工作流的结果,从用户的角度描述该系统的功能。用例模型 描述了系统功能与所有与本系统有交互的外部系统。用例模型是分析与设计工作流的 输入,是实现分析与设计模型的基础。在测试工作流中,用例模型组成测试实例。用 例模型是用户手册的基础、并驱动整个迭代开发过程的运作。 4 以构架为中心 构架使开发人员及用户能够更好地理解系统的功能、逻辑结构和物理结构,也使 系统能够更加容易修改及扩充。p u p 采用u m l 语言来描述软件的体系结构。分析与 设计工作流是以构架为核心。r u p 的早期的迭代工作,特别是演化阶段的重点就是 确定和校验软件的构架。以用例驱动、以构架为中心使开发人员比较容易地控制整个 系统的开发过程,管理它的复杂性、维护它的完整性。体系结构中定义清晰、功能明 确的组件为基于组件式的开发、大规模的软件复用提供有力的支持,并是项目管理中 计划与人员安排的依据。 5 r u p 的剪裁方法 ( 1 ) 明确项目环境与目标:项目环境包括软件类型、软件规模、软件重要程度、 开发人员素质、合作单位素质等,这些因素都会影响到将来软件过程的制定。信息的 来源包括用户、开发人员、合同确定者和投标者等。将采集到的信息整理成文档。 ( 2 ) 确定本软件过程需要的工作流:根据项目规模的大小确定需要哪些r u p 的 核心工作流,确定每个工作流的产品,除了r u p 的标准视图文档,很多项目会有一 些传统文档和辅助性的其他文档。 ( 3 ) 确定每个阶段的任务:确定每个阶段要执行哪几个工作流和每个工作流产 客户关系管理软件体系结构的研究与实现 出的产品,产品的完成程度。 ( 4 ) 规划工作流内部结构:决定本软件过程要设立的角色,给出关于工作流的 角色、活动和工件的详细描述。 ( 5 ) 确定阶段内的迭代计划:迭代可以降低开发风险,在r u p 的四大阶段中, 决定是否采用迭代开发及每次迭代开发的内容。 2 1 2 e c - i s c m 软件过程模型 2 1 2 1u m l 模型图 标准建模语言u m l 是面向对象技术的主流建模工具,支持系统分析、设计和实 现等软件开发全过程,因此e ci s c m 软件过程模型采用u m l 作为建模工具。u m l 定义了五类共十种模型图,用于提供静态建模机制和动态建模机制。 静态模型包括:用例图;类图,对象图,包图;构件图,配置图。 动态模型包括:行为图( 活动图,状态图) ;交互图( 顺序图,合作图) 。 用例图:描述应用领域需求与功能,以及事务( 用例) 之间的逻辑关系。 类图:描述系统中的抽象对象( 类) 及其联系( 泛化,聚集,依赖) 。 类名 属性 操作 一对象( 模块) 封装 一数据结构( 主键+ 属性表) 一数据操作( 关键操作+ 基本操作) 对象属性表:= 对象名f 属性值列表 对象操作表:= 对象名( 操作列表) 对象图:类的实例图。 包图:提供类图的分组优化机制。 行为国: f 1 活动图:描述多用例和多对象的复杂行为及活动间的约束关系,或说,描 述复杂行为中的活动及其执行顺序。 b 状态图:描述单个对象的所有可能的状态及状态转移的条件。 交互图:描述单个用例中多个对象协同工作行为 a 顺序图:描述对象间消息传递的时序关系 b 合作图:描述对象间消息传递的连接关系 实现图: a 。构件图:描述软构件及相互间的依赖( 及调用关系) :包括源文件,二进 6 南京航空航天大学硕士学位沦文 制文件,可执行文件 c 配置图:描述构件运行环境及系统软硬件体系结构 2 1 2 2e ci s c m 软件过程模型 e ci s c m 系统借鉴了r u p 的思想。根据23 1 节论述的r u p 剪裁方法,制定 e ci s c m 软件开发过程规范的首要任务是明确项目目标与项目环境。 1e ci s c m 系统的项目目标与环境 e ci s c m 系统研究的目标可从四个方面展开:核心产品开发,多平台支持:产 品功能升级,系统集成支持。指导思想是:面向主体用户群的基本需求,以“工程一 产品一产业”一体化战略为依据,按照“总体规划,分步实施,重点突破,协同发展的 基本原则来组织各个研究开发项目的具体实施。在技术方向上,注意采用标准技术和 规范技术,贯彻缩小化、分布化和开放体系结构的产品设计思想和平台选型思想,与 国际主流应用趋势保持一致。 考虑到我国企业信息化工程尚处在应用普及阶段,在平台选择等涉及软件成本与 价格的问题,首先应注重适应国内用户中主流投资群体的需要,包括投资能力不强的 大型企业和一般的中小型企业;进而推广高投资高附加值产品。 系统的功能应高度抽象化,能基本适应多变的应用需求,并具有领域知识覆盖能 力。同时,也具有柔性,能够吸纳新的管理思想和先进的应用模式,因而需要具备功 能扩展与版本升级能力。升级的趋势是由单一应用领域过渡到多应用领域,实现工业 企业、商业企业和政府部门等多领域应用的功能集成,能实现离散型企业与流程型企 业之间的混合工作流模式集成,提供模块可加载与软件体系结构可重组能力。 系统应实现跨平台的应用互操作,增强平台对应用的适应能力 2 e ci s c m 软件过程阶段划分 e si s c m 软件过程主要分“分析、设计、编码实现、测试”四大阶段。系统完 成后应提交给用户方试运行,开发人员根据试运行的结果进行修改和完善,然后正式 提交给用户。四大阶段的划分体现了线性顺序模型的主要思想。 为了使系统持久的满足用户的需要,软件提交后开发人员还需要对软件进行维护 工作。每一项维护任务都就经历了提出维护要求、分析维护要求、提出和审批维护方 案、修改软件设计、修改程序、测试程序、复查验收等一系列步骤,是又次“分析、 设计、编码实现、测试”的迭代过程,因此维护迭代开发也体现了增量模型和螺旋 模型的主要思想。 3e ci s c m 软件过程描述 借鉴r u p 的思想,e ci s c m 软件过程应决定需设立的角色,给出关于工作流的 角色、活动和产品的详细描述。e ci s c m 中角色的设立根据子系统的分割情况而定, 一般是每个人负责一个子系统的分析、设计和开发,单元测试工作。另外根据用例捕 获、对象识别和数据库设计的需要,本过程特别设计了数据载体分析表等辅助文档。 客户关系管理软件体系结构的研究与实现 在e ci s c m 软件过程中,并发开发模型思想体现的各个阶段的开发流程中,这些阶 段都可以并发进行。 e ci s c m 软件过程描述如下: 第一分析阶段 第一步:通过领域工程方法进行领域需求抽象,建立领域需求模型和领域用例模 型;通过理论研究,总结出相关的理论模型体系。 企业的领域需求可以抽象为目标,组织,流程,资源,环境五大类,岔毗的组织 之间分工协作完成企业的目标,因此可以把目标及其任务分解到组织和流程中。研究 单个企业的组织结构,分析组织的职能,得到企业的需求模型。依据需求模型建立用 例模型。总结领域内多个企业的需求,得到领域需求模型和领域用例模型。 第二步:研究企业的业务流程,分析组成流程的活动和活动之间的关系,再参照 企业的用铡模型,建立活动模型。总结领域内企业的活动模型,得到领域活动模型。 第三步:收集和分析总结多个企业的同类信息载体,得到领域信息载体分析表。 企业资源类的需求分为人员、资金、物料、信息和时间等,这些因素的变化都可 以通过信息载体反映。企业的信息载体能够反映企业主要活动和运转情况。围绕一系 列信息载体的处理、转换、收集、统计、实施等工作,企业完成其运转的过程,因此 分析企业的信息载体的数据、处理方法和格式,可以为识别对象、分析企业业务流程 和设计对象界面提供依据。 第四步:根据系统用例划分建立系统包图模型,从用例中识别类对象,根据活 动模型抽取系统的基本类模型,即抽取概念构架,指导思想是用业务流程组织类框架。 构架描述是对系统模型的适当抽取,即系统模型的一个子集,只展示对构架最为 重要的元素,系统构架的建立是反复迭代数次得到的,应首先建立一个能满足关键需 求、克服关键风险和解决开发中主要问题的核心构架,然后逐步细化构架以指导进一 步的开发。 第二设计阶段 第一步:依据基本类图和数据载体分析表建立对象属性表。依据类图和活动图建 立顺序图合作图和状态图,提取对象的基本操作和关键操作,建立对象操作表。 第二步:利用对象行为模型完善类图,根据需要添加、修改、合并对象类,并 从控制流和数据流两方面检查对象间关联的合理性。 第三步:参照三层构架设计模式和构件设计模式对基本类图进行三层划分和重设 计,建立精化类模型,即逻辑构件。具体做法:在原有业务对象的基础上,依据数据 载体格式和人机交互需要分解出界面对象,依据业务处理逻辑分解出事务对象,依据 数据库设计方案从业务对象中分解出数据对象,同时把原有业务对象中的属性和操作 分配给界面对象、事务对象和数据对象,势相应增加新的属性和操作。 在r u p 中,在细化阶段结束时应得到成熟可靠的构架;在e ci s c m 开发过程 中,在设计阶段结束时得到系统构架的迭代结束,得到稳定的构架描述。 r 南京航空航天大学硕士学位论文 第三编码实现阶段: 由精化类模型抽象出构件图,并结合企业软硬件环境和应用节点分布建立配置 图,即建立物理构架;依据不同的构件类型,分别采用相应的开发工具实现。 ( 1 ) 界面构件:参照用户界面设计模式、代码设计模式和原始数据格式,采用 客户端开发工具编程实现; ( 2 ) 事务构件和连接件:参照代码设计模式,采用中间件开发工具编程实现; ( 3 ) 数据构件:根据不同的数据库采用相应的实现策略,关系数据库实现或面 向对象数据库实现。其中,在采用关系数据库实现时,先要进行o r 映射,即把对 象内部的属性表映射到关系数据库的二维表,而后才能建立数据库。 第四测试阶段 本阶段的关键任务是通过各种类型的测试及调试使软件达到预定的要求。开发人 员首先应仔细测试每个自己开发的模块,然后提交测试人员进行综合测试。 第一步是测试前的准备工作,开发人员提交测试要点,就程序安装、启动和使用 方法测试人员进行现场演示,对测试人员进行说明。测试人员核对被测模块是否是要 求测试的模块,如不一致,要求开发人员纠正。 第二步:由测试验收人员参考开发人员提交的测试要点,选择合适的测试用例, 制订测试提纲。 第三步:单元测试以自盒法为主,测试项目有局部数据结构测试、运算路径测试、 错误处理测试和边界条件测试。综合测试以黑盒测试为主,测试项目包括功能测试, 程序模块外观测试、界面与报表格式检查、正确性测试、可靠性测试、多用户功能测 试和运行效率测试。 测试应按照测试提纲逐项进行,测试人填写测试验收表,记录故障现象、原因分 析、解决方法、时间、排除后运行情况等内容。测试中发现一般性问题仅作记录;若 发现较大问题,测试人员可以要求开发人员到场,共同分析原因并由开发人员负责尽 快排除;若在完整程序的测试中发现重大问题,测试人员除保留现场做好记录外应立 即向部门领导汇报,组织分析,尽快排除。 e ci s c m 软件过程模型如图2 3 所示。 客户关系管理软件体系结构的研究与实现 副塔驰捌芒铎=uh u n 圃 0 南京航空航天大学硕士学位论文 2 2 面向对象的软件开发方法 2 2 1 面向对象方法学阐述 2 2 1 1 面向对象方法学和传统方法学的比较 i 结构化方法学阐述 软件工程的传统途径是生命周期方法学。人们对复杂问题往往是采取“化整为零、 各个击破”的方法,生命周期方法学也体现了这种策略。生命周期方法学把软件开发 的周期依时间先后划分为多个阶段,每个阶段都有相对独立的任务,前个阶段任务 的完成是后一个阶段开始的前提和基础,后一阶段的任务通常是对前一阶段的成果的 进一步具体化。每一个阶段的开始和结束都有严格的标准,每个阶段结束之前都必须 进行正式严格的技术审查和管理审查。将软件周期划分若干个阶段,每个阶段的任务 相对独立,降低了每个阶段任务的复杂度,另外引入分阶段评审也保证了软件开发的 质量。生命周期方法学使用的基本技术是结构分析和结构设计,自顶向下不断把复杂 处理分解为子处理,直到分解得到的子处理可以简便的实现为止。 生命周期方法学可以用瀑布模型来模拟,因此软件开发周期各阶段中存在着严格 的顺序性和依赖性。生命周期方法学要求在具体的开发工作开始之前,必须完成全部 的需求分析工作并“冻结”软件需求。但是这种预先定义的需求往往不能做到完整、 一致和有效。第一:在了解需求时,用户描述的需求的通常只是用户自己熟悉的一部 分,而且对于一个尚未建立起来的、不熟悉的系统,用户很难清晰描述自己的全部需 要;另一方面,系统分析人员和用户之间存在知识结构的差异,不易做到完全沟通, 因此对于大多数软件来说,需求难以在开始的时候完全确定。第二、软件需求规格说 明书是静态的文档,仅仅通过难以深刻理解一个动态的软件系统。第三、对于一个要 历时数年开发的大型软件,需求可能是不稳定的,在中途就发生了变化,而这种变化 在早期往往不能预见。而按照生命周期方法学,在开发后期修改需求要付出很高的代 价。 生命周期方法学采用的结构分析和结构设计技术的本质是功能分解,围绕实现处 理功能的过程来构造系统。用户需求的变化主要体现为功能的变化,因此,用这种方 法设计出的软件结构不稳定,易受到需求变化的影响,难以修改和补充,难以重用。 为了提高软件系统的稳定性,可修改性和复用性,人们逐渐创造出了面向对象的 方法学。 2 面向对象方法学的原理 面向对象方法学( 0 0 方法) 的出发点和基本原则是使描述问题的问题空间( 问 题域) 与实现解法的解空间( 求解域) 在结构上尽可能一致,并让开发软件的方法与 i l 客户关系管理软件体系结构的研究与实现 过程与人类认识世界解决问题的方法与过程一致。 客观世界的事物由客观世界中的实体和实体问的相互作用构成,客观世界中的实 体既有静态的属性,又有动态的行为,实体之间的相互作用从一个角度体现了实体之 间的关系。 面向对象方法提供了“对象”的概念,将对象作为由数据和可以施加在这些数据 上的操作的统一体,将程序作为是相互协作而又彼此独立的对象的集合。每个对象都 有自己的功能。软件使用计算机解决问题,对计算机中的实体加以处理,并用处理结 果去映射解,因此计算机中的实体被作为解空间对象。面向对象的方法学使用“对象” 将数据和处理结合起来,因此可以直接模拟问题空间的对象,对象之间通过传递消息 相互联系,模拟问题域中不同事物之间的联系,解空间和问题空间的结构也相近或相 同。 对象是软件系统中抽象数据类型的实例,抽象数据类型是对现实世界的抽象,提 供了良好的数据抽象机制和过程抽象机制( 体现为抽象数据类型的方法) 。面向对象 方法学普遍进行的对象分类过程,支持从特殊到一般的归纳思维过程;面向对象方法 学通过建立类等级而获得的继承特性,支持从一般到特殊的演绎思维过程。因此,面 向对象的软件开发技术提供了随着开发者对系统认识的深入和完善,而逐步设计和实 现该系统的可能性,这样的过程符合人们认识客观世界解决复杂问题时逐步深化的渐 进过程。 面向对象方法与传统的面向过程方法的本质区别在于它强调现实世界的概念而 非算法。传统的软件开发方法以算法为核心,开发过程基于功能分解,建立起来的软 件体系结构紧密依赖于功能。当功能需求改变时,将引起软件结构的整体修改。面向 对象方法以对象为中心构造软件系统,以对象模拟问题领域中的实体,以对象之间的 联系刻画实体之间的联系,因此面向对象的软件体系结构是根据问题领域的模型建立 起来的,当系统的功能需求变化时并不会引起软件结构的整体变化,往往仅仅需要做 局部的修改,例如增加从现有类派生出新的子类实现功能扩充或修改,增加或删除新 的对象等等,因此它的软件体系比较稳定。 结构分析技术和结构设计技术是建立在软件生命周期概念基础上的,因此这种技 术与瀑布模型紧密的结合在一起。面向对象的软件技术并不基于某种软件开发模式, 可以根据需要应用于瀑布模型、螺旋模式或者渐增模式。面向对象方法各阶段之间没 有明显的界限,很容易实现开发步骤的多次反复迭代,降低了出错可能性。 2 2 1 20 0 基本概念 1 对象( o b j e c t ) 目前,对象的定义并不完全统一,人们从不同的角度给对象不同的定义,以下给 出一个形式化的定义: o b j e c t := ( ) ,d s ,m s , ) 南京航空航天大学硕士学位论文 其中,d 指对象标识,是实现属性及操作封装的对象名; d s 指数据结构,是对象的属性集合,状态描述; m s 指操作集,是对象中的操作集合; m i 指对象受理的消息名集合,即对外接口 对象是封装了数据结构及可施加在这些数据结构上的操作的封装体,封装体有唯 一的标识,向外界提供一组服务( 即公有操作) 。对象中的数据表示该对象的状态, 并且只能通过该对象内部的操作来改变。其他对象通过发消息到目的对象来请求改变 目的对象的状态,目的对象接收到消息时,按照消息模式找出与之匹配的方法,并执 行该方法。 2 类( c l a s s ) 类:= ( 类标识,继承描述,属性集,操作集,接口协议) 继承描述:= 类与子类之间的泛化特化关系抽象 类是对具有相同属性和行为的一个或多个对象的描述 3 属性( a t t r i b u t e s ) 属性即类中定义的数据。对象的状态用对象的属性值集合来表达。属性的u m l 描述方法如下: 可见性属性名:类型= 缺省值 约束特性 4 操作( o p e r a t i o n ) 操作包括数据操作方法,如检索( 查询,索引,选择) 和更新( 插入,删除,修 改) ,消息通信方法即对象收到消息时所执行的处理功能,也是对象对外提供的服务。 u m l 语法描述: 可见性操作名( 参数表) :【返回类型表达式】 约束特性) 5 消息( m e s s a g e ) 消息是用来请求对象执行某一操作的指令要求,是控制对象从一种状态转移到另 一种状态的事件驱动方式。消息传递通过过程或者函数调用来实现,消息模式的一般 定义是: 消息:= ( 接受者,请求方法,参数表) ,或 消息:= 对象名消息名( 参数表) 6 关联( a s s o c i a t i o n ) 关联是不同对象间具有规律的关系抽象,用于定义对象结构。o o 系统中的关联 模式包括泛化和聚集两大类,及一些派生形式。 ( 1 ) 泛化关系:指抽象对象间的一般特殊关系,是类与子类的关系。在层次 化的分类结构中,高层抽象是低层抽象的泛化,低层抽象是高层抽象的特化。因此, 泛化关系可用于构成分类结构,继承是实现泛化关系的机制。 ( 2 ) 聚集关系:是具体对象间的整体部分关系,可用于定义组装结构。在u m l 中区分聚集关系和组成关系,后者是前者的特例,表示部分和整体共存的一种关系, 1 3 客户关系管理软件体系结构的研究与实现 整体拥有部分。 ( 3 ) 依赖关系:是相关对象间的变化影响关系,包含使用提供关系。 2 2 2 面向对象的建模方法 10 0 建模的三个子模型: 用面向对象的方法开发软件,通常需要建立三种模型:描述系统数据结构的对象 结构模型,描述系统控制结构的对象行为模型和描述系统功能的功能模型。对象结构 模型刻画了系统的静态结构,是对模拟客观世界实体的对象以及对象彼此之间关系的 映射。对象行为模型刻画了系统行为的,控制方面性质,规定了对象结构模型中的对 象的状态的合法变化序列。功能模型表示系统的功能,反映了用户对系统的需求。这 三种模型都涉及到数据、控制和操作等共同的概念,但侧重点不同。一个典型的软件 系统组合了上述三方面内容,它使用数据结构,执行操作,并且完成数据值的变化, 而这分别是对象结构模型、对象行为模型和功能模型表现的内容。 2 o o 模型的抽象层次: ( 1 ) 横向:主题层结构层对象层属性层操作层 划分抽象层次控制了对模型的可见性,每一层表达相同抽象层次的元素。划分主 题将模型分为几个概念范畴,使系统易于理解,主题层和结构层是对系统较高层次的 抽象,是初步设计的结果,体现系统的总体风貌;对象层、属性层和操作层是对系统 更为具体的描述。 ( 2 ) 纵向:大多数系统的面向对象模型在逻辑上都由问题域模型、人机交互模 型、任务管理模型和数据管理模型四大部分组成,每部分对应组成目标系统的一个子 系统,分剐是问题域子系统、入一机交互子系统,任务管理子系统和数据管理子系统。 30 0 建模过程: 0 0 建模是抽取和整理用户需求,建立问题域精确模型的过程。采用u m l 技术 建模时,首先建立功能模型,然后建立对象结构模型,最后建立对象行为模型。后建 立的模型以先建立的模型为依据,反过来,前者是对后者的验证,是后者进行调整的 依据。三个模型的之间互相影响,在调整中逐步完善。 采用u m l 技术0 0 建模的大致步骤如下: ( 1 ) 根据系统需求,建立功能模型。 ( 2 ) 从功能模型中识别类与对象,分析并定义对象结构,标识对象之间的联系, 定义类分组,在定义对象结构和类分组的过程中,调整已有的对象,方法是根据需要 是分割或合并的对象、调整对象继承层次等等。 ( 3 ) 标识对象的属性和操作,当对象的属性定义完毕后,对象结构模型完整的 建立起来,而识别和定义对象的操作就是建立对象行为模型的过程。 建模的过程不一定严格的按照上述步骤执行,往往需要多次回溯、调整的过程 1 4 南京航空航天大学硕士学位论文 才可以构造完成。面向对象方法本质上与需要反复多次“试用一反馈一修改”过程的 快速原型法是相互补充和相互促进的,分析阶段和设计阶段之间不像结构化方法样 有十分明显的界限。 2 3 面向构件的软件开发方法 2 3 1 构件化开发方法的一般过程模型 计算机硬件工业飞速发展的两大关键原因是集成芯片( i c ) 、总线的出现以及 p c 机体系结构的公开。为了实现软件开发的工程化和自动化,借鉴硬件工业发展的 经验,构件化软件开发技术蓬勃发展,国际上出现了像c o r b a ,c o m d c o m , r m i ,o p e nd o c ,o l e 等构件软件的标准和技术,出现了支持构件软件的开发工具 如p o w e r b u i l d e r ,d e l p h i 等。 1 构件和构架 构件( c o m p o n e n t ) 是指组封装的、规范的、可重用的软件模块,是组织系统的 基本单位。构件可以用一个四元组来表示: 构件:= 构件名,对象集,行为代理;接口) 3 c 构件模型是学术界普遍认同的一个具有指导性作用的构件模型。该模型从概 念( c o n c e p t ) 、内容( c o n t e n t ) 和语境( c o n t e x t ) 三个不同方面来描述构件。概念是 关于“构件做什么的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约 和语义描述两个部分;内容是概念的具体实现,描述构件如何完成概念所刻画的功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论