RUP过程与UML模型驱动开发应用实例PPT推荐.ppt

上传人:b****2 文档编号:15132548 上传时间:2022-10-28 格式:PPT 页数:77 大小:1.55MB
下载 相关 举报
RUP过程与UML模型驱动开发应用实例PPT推荐.ppt_第1页
第1页 / 共77页
RUP过程与UML模型驱动开发应用实例PPT推荐.ppt_第2页
第2页 / 共77页
RUP过程与UML模型驱动开发应用实例PPT推荐.ppt_第3页
第3页 / 共77页
RUP过程与UML模型驱动开发应用实例PPT推荐.ppt_第4页
第4页 / 共77页
RUP过程与UML模型驱动开发应用实例PPT推荐.ppt_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

RUP过程与UML模型驱动开发应用实例PPT推荐.ppt

《RUP过程与UML模型驱动开发应用实例PPT推荐.ppt》由会员分享,可在线阅读,更多相关《RUP过程与UML模型驱动开发应用实例PPT推荐.ppt(77页珍藏版)》请在冰豆网上搜索。

RUP过程与UML模型驱动开发应用实例PPT推荐.ppt

RUP过程与过程与UML模型驱动开发方法模型驱动开发方法在证券研发项目中的应用实践在证券研发项目中的应用实践新思维金融软件研发中心新思维金融软件研发中心软件构架师胡协刚内容提要n软件开发没有银弹n统一通道平台开发项目简介n项目的开发目录结构与RUP核心工件n贯穿全局的统一UML模型n用前景文档定义目标系统n软件构架文档与4+1视图n契约式开发与单元测试n自动化构建与持续集成n迭代开发模式软软件件开开发发没没有有银银弹弹软件项目复杂、不确定和高风险n软件因其固有的复杂、不确定和高风险等属性,使得其开发活动非常难以控制n软件产品用于解决一个或多个领域的现实问题,不仅与其开发者本身直接相关,还牵涉到客户、最终用户、第三方伙伴等众多涉众,所谓众口难调,但一个成功的软件必须能满足多方面的需求n软件所依赖的核心技术、项目的开发方法、软件过程、项目管理和团队协作等,都是事关项目成败的关键因素CMMI与RUPn根据CMMI的定义,软件过程要达到第三成熟度等级,需要实施十八个关键过程域;@#@普通团队虽然不一定向此标准看齐,但实际上仍然涉及到这十八个关键过程域所涵盖的近百项活动,只不过可能实施的力度较小、质量不高、或者忽略了活动本身的含义而已nRUP与CMMI第三成熟度等级相对应,定义了九个核心准则(Discipline),和几百项活动n这还仅仅只是软件过程的范畴,项目中人的管理、沟通以及具体的关键技术等等,其牵涉面将更广软件开发没有银弹n诸多因素分属不同的范畴,针对不同的问题,需要应用不同的技术、技能和方法,要求项目成员拥有不同的知识、素质与背景n没有一种方法或途径能够解决软件项目中所有的问题,即所谓“没有银弹”,所以不要迷信存在所谓的一劳永逸的终极解决方案成功意味着多方面的艰苦努力n软件项目适用于“木桶原理”,要获得成功,必须由所有成员在多个方面都付出艰苦的努力,包括完成一些繁琐与枯燥的工作,并保证任何一个环节都不出重大问题n在下面介绍的一个实际项目中,将会看到我们是如何通过裁减RUP过程来主导项目的开发活动,使用统一的UML模型来表达和沟通设计,利用共享的产品目录结构来协同开发,并通过加强团队建设,扬长避短,发挥各成员的长处等总之从多个方面来努力,方才最终达成项目成功的过程实实例例项项目目简简介介证券统一通道平台项目n项目的目标系统(统一通道平台)是在证券公司总部和所有营业部网点统一部署的、适应不同网络拓扑结构的、支持内外网段物理安全隔离的、基于消息的通讯中间件平台系统,用以支持热自助、电话委托等各类外围客户端系统,集中经纪业务系统、传统营业部柜台系统等核心服务系统,以及银行端银证业务系统等第三方系统的透明接入UUCCSS辐辐射射型型拓拓扑扑部部署署结结构构项目开发过程概貌n项目采用RUP的迭代开发生命周期模型,总计经历了六次迭代,持续约八个月,项目组成员36人,耗费共计685个工作人日,最终有效代码30,471行,千行代码集成缺陷率低于1n使用ClearcaseUCM实施配置管理,并基于此组织项目的产品目录结构,囊括了RUP定义的主要核心工件n使用Rose开发了统一的UML模型,从上下文分析、功能用例模型、到设计模型、进程模型、部署模型等,涵盖了项目大部分分析、设计成果,利用了Rose的正向工程生成大部分代码框架n目标系统的分析、设计、编码完全实现面向对象项目开发过程概貌continuen项目以软件构架文档为中心,配合Rose模型、详细设计文档,使得产品的设计比较到位n项目引入了契约式编程方法,编码语言为标准c+,使用CppUnit测试框架进行较为广泛的单元测试,对产品的质量改进帮助很大n使用Ant+Cpptasks工具初步实现了自动化构建与集成n项目本身系公司的过程改进试点项目,集中了部门最优秀的人员,大家都表现了良好的团队协作精神,建立了密切的私人关系n作为试点项目,其成果,已经作为模板工程在公司大力推广项项目目的的开开发发目目录录结结构构开发(产品)目录结构n开发(产品)目录结构的规划原则:

@#@满足不同角色,在不同的项目阶段,对不同类型工件进行访问的多种场景需求nClearCaseStream(流)的划分:

@#@-PCHL_V1_Integration整个项目所有工件的最终整合场所,用于项目级基线构建、进行集成和确认集成测试-PCHL_V1_Working需求、设计、管理、过程等工作场所-PCHL_V1_Dev项目所有构件的开发场所-PCHL_V1_Testing测试组的测试场所-PCHL_V1_Release发布演示场所UUCCMM工工程程示示例例项目的开发目录结构continuen项目目录参照RUP的工件集来组织nClearcaseVOB的划分:

@#@Infrastructures内部开发的相对独立、复用度强的基础应用包,针对第三方产品进行封装的调用接口等Libraries从组织外部获取的源码库、开发组件等,主要来自于开放源码;@#@PCHL_Components项目组针对目标系统开发的构建于底层开发包、基础设施之上的所有构件PCHL_SubSystems构建于底层开发包、基础设施与所有构件之上的可执行子系统(或系统),通常是目标系统的最终交付实体PCHL_System项目目标系统主体工件目录,包含需求、设计、集成、测试等PCHL_Management项目的管理工件目录PCHL_Supports项目的过程、环境、标准等支持工件目录开开发发目目录录结结构构示示例例项目产出的主要文档n证券统一通道平台前景文档n证券统一通道平台补充规约n证券统一通道平台软件构架文档nXXXX详细设计文档n软件开发计划n测试计划n系统性能测试报告n系统安装与配置手册n外围服务协议API应用开发手册统统一一的的UML模模型型OMG的模型驱动架构nOMG主导的MDA(ModelDrivenArchitecture)正在成为下一代软件开发的主流模式n基本的模型转换关系:

@#@ComputationIndependentModel(CIM)-PlatformIndependentModel(PIM)-PlatformSpecificModel(PSM)-Implementation贯穿全局的统一UML模型n使用一个统一的可视化模型来表达项目的分析、设计思想,进而通过标准的语言(UML)来进行成员间的沟通,以减低传递过程中信息丢失和错误理解的风险n利用建模工具(Rose)对双向工程(RoundTripEngineering)的支持,初步实现MDA中平台相关的模型到实施代码框架的转换(PSM-Implementation)统统一一的的RRoossee模模型型示示例例上上下下文文分分析析模模型型示示例例需需求求模模型型示示例例层层次次结结构构模模型型示示例例详详细细设设计计模模型型示示例例用用例例实实现现模模型型示示例例实实施施(构构件件)模模型型示示例例部部署署模模型型示示例例前前景景文文档档与与目目标标系系统统边边界界用前景文档定义目标系统n根据软件应用的上下文(或业务建模),将要解决的领域问题,涉众(特别是最终用户)对产品的要求,相关的限制条件等,确定目标系统的定义n确定系统的范围,用特性来定义系统,并给出相关的优先级顺序n功能性特性将映射到系统用例产品定位n确定目标系统的市场背景n列明系统将要解决的重大问题n系统的概括定义涉众/用户及其需要n标识目标系统的最终用户与其他涉众,以确定需求收集的来源n分析用户与涉众的基本特点,以帮助获取与辨别系统的需求n列明用户与涉众针对目标系统的各类需要(needs),它们决定了最终系统需求产品概述n明确地定义目标系统n勾画目标系统的上下文环境与边界n列明目标系统的主要(能力)特性及其提供给客户的利益n明示目标系统当前所做的假定和其依赖的条件,它们将可能是未来引起需求变更的重要因素产品特性n以特性(Feature)的方式定义目标系统的高层需求n特性表达了目标系统为了实现用户利益而必须具备的能力(Capability)n特性是一种对外的服务,通常要求用户提供一系列输入以得到响应的结果其它高层需求n设计约束限定了目标系统设计乃至实现方案的选择范围n接口需求n质量范围概略描绘了目标系统的重要质量需求n适用标准、硬件需求及环境需求等优先级n目标系统的产品特性优先级大致可以分为:

@#@关键、重要和有用n特性优先级为项目开发顺序的选择提供了原始依据(当然目标系统各构件间的依赖关系对开发顺序的影响更大)n特性优先级是用于实施需求管理的重要内容用例规约与补充规约n用例详述是对功能性特性的细化n系统用例的整体结构适于用UML的UseCase模型表达n在UML模型中使用序列图描述所有的系统用例是一种有效的表达方式n补充规约是对公共功能性需求和质量等非功能性需求的细化软软件件构构架架文文档档与与4+1视视图图软件构架表述构架描述(构架文档)的用途n表达(软件)系统及其演化n用于系统涉众之间的交流n以一致的方式来评估与比较软件构架n用来计划、管理与执行系统开发的各项活动n表达系统的固有特性与支撑原则,以引导可接受的变更n验证系统的实现符合构架描述n充实软件密集系统的构架知识库(参考构架)4+1视图n软件系统本身包含的内容太丰富且复杂,就像建筑一样,人们无法同时从一个角度看到其全貌,因此需要使用多个视图(View)来表达系统的构架n视图是视点(Viewpoint)的实例,并拥有一个或多个模型(Model)n4+1视图分别从外部功能,静态结构,动态行为,运行时刻形态和物理部署拓扑等方面来描述目标软件的构架构架设计目标与约束n构架设计的目标首先要满足目标系统的关键功能需求n目标系统的质量需求、接口要求等对构架往往产生决定性的影响n项目开发策略,例如第三方构件的选用等是展开构架设计的重要基础n变更案例(ChangeCase)要求构架必须具备相应的可扩展性和适应性n设计约束等则限定了构架方案选择的范围用例视图n用例视图从用户使用的角度描述系统构架的基本外部行为特性,通常包含业务用例模型与系统用例模型。

@#@n通常应选取用例模型中对系统构架的内容产生重大影响的应用场景与用例集合,这些用例代表了系统主要的核心功能,往往决定了系统构架的基本组成元素。

@#@系统概念模型n描述目标系统的关键构架机制与概念,主要表达系统为了满足主要软件需求,而采用的相关构架模式、以及引用的重要概念n标准的RUP构架文档模板中没有这一部分,但是为了方便涉众理解构架,可以增设此节逻辑视图n逻辑视图从系统内在逻辑结构的角度描述系统的基本结构与动态行为,通常包括分析模型(AnalysisModel)、设计模型(DesignModel)以及数据模型(DataModel)等。

@#@n设计模型说明了系统的组成元素、组织架构和关系,并描述了各组成元素的协作以及状态转换关系等(通过用例实现UseCaseRealization予以表达)。

@#@进程视图n进程视图从系统运行时刻的角度,描述系统划分为进程、线程的结构,及其动态关系。

@#@n模型主要说明进程、线程的分类,系统构架敏感的主要边界类、控制类对象等在进程、线程中的分布,以及它们之间的创建、交互与消息通讯关系等部署视图n部署视图从系统软硬件物理配置的角度,描述系统的网络逻辑拓扑结构。

@#@n模型包括各个物理节点的硬件与软件配置,网络的逻辑拓扑结构,节点间的交互与通讯关系等。

@#@同时还表达了进程视图中的各个进程具体分配到物理节点的映射关系实施视图n实施视图从软件编译与构建的角度,描述系统实施构件的组织结构与依赖关系(主要是编译依赖)。

@#@n模型包括实施子系统和构件结构,及其依赖关系。

@#@同时还表达了逻辑视图中各个包和类分配到实施视图中的子系统和构件的映射关系契契约约式式开开发发与与单单元元测测试试契约无所不在n软件系统的本质特征是由表及里、至顶而下的一种层次结构,其构成是所有相对独立的构件或元素n而将所有构件或元素组织成为一个有机整体的正是无所不在的契约n在最表层,即系统与外部环境之间,是最终用户与系统整体进行交互的契约(通常可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1