面向对象的系统分析与设计王海燕rup统一软件过程.ppt
《面向对象的系统分析与设计王海燕rup统一软件过程.ppt》由会员分享,可在线阅读,更多相关《面向对象的系统分析与设计王海燕rup统一软件过程.ppt(81页珍藏版)》请在三一办公上搜索。
1、第11章 RUP统一软件过程,成功的项目所需要具有的三个方面符号、过程和工具。你可以学习一种符号,但是如果不知道如何 利用它(过程),你可能会失败。你可能拥有强大的过程,但是如果不能沟通这些过程(符号),你也可能失败。如果你不能记载自己的工作文档(工具),你也可能失败。,RUP统一软件过程,软件工程的三个要素是:工具、方法和过程。软件过程是指开发软件所需要完成的活动构成的框架。在每个活动期间,都要通过一些工具,采用一些方法、技术构造工作产品(如,计划、文档、模型、代码、测试用例和手册等)。软件工程使用某些工具,采用某种方法,按照某种过程开发软件系统。,工具、方法和过程在开发软件时的关系,工具层
2、为软件过程和方法提供了自动或半自动的支持;方法层在技术上说明了需要如何去开发软件;软件过程提供一个活动框架,在这个框架下可以建立一个软件开发的综合计划。,3,流程图、数据流图、UML图,Waterfall、RUP、OOSP、XP,需求分析、设计、编码、测试,ISO9000、CMM,什么是软件开发过程,SDP(软件开发过程,Software Development Process),又称为SEP(软件工程过程,Software Engineering Process),是指应用于软件开发和维护当中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。有效的软件开发
3、过程可以提高软件开发团队的生产效率,并能够提高软件质量、降低成本、减少开发风险。软件开发过程是开发高质量软件所需完成的任务的框架。软件工程是一种层次化的技术,如图所示。,当前流行的软件过程,Rational Unified Process(RUP)OPEN ProcessObject-Oriented Software Process(OOSP)Extreme Programming(XP)CatalysisDynamic System Development Method(DSDM),传统的软件开发模型,1.瀑布模型(Waterfall Model)2.螺旋模型,瀑布模型(Waterfall
4、 Model),瀑布模型是一种线性模型。瀑布模型将软件生存周期划分为6个阶段:需求分析设计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性。,瀑布模型(Waterfall Model),9,Rational统一过程的结构,传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。,瀑布模型的缺点:1 需要在开始进行完整的需求分析 2 不适应软件开发的高变更率特点 3 早期的分析后期可能无用 4 容易导致软件失败,各种规模软件项目的变更百分比,瀑布式定义的特性实际使用情况,螺旋模型,螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现
5、了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前一阶段的工作,计划下一阶段工作。,螺旋模型,13,传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。UML是一种可应用于软件开发的非常优秀的建模语言,但是UML本身并没有告诉人们怎样使用它,为了有效地使用UML,需要有一种方法应用于它。当前最流行的使用UML的方法就是Rational的统一过程(Rational Unified Process,简称RUP)。RUP是软件开发过程的一种,它为有效地使用统一建模语言UML提供了指导。在RUP中,软件开发生命周
6、期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,纵轴以内容来组织为自然的逻辑活动。,什么是RUP,它是由Rational软件开发公司开发并维护的,它能够被看成是Rational软件开发公司的一款软件产品,并且和Rational软件开发公司开发的一系列软件开发工具进行了紧密集成,包括Rational Rose建模工具。,它是“统一”的。Rational 统一过程拥有自己的一套架构,并且这套架构是以一种大多数项目和开发组织都能够接受的形式存在,采用了现代软件工程开发的6项最佳实践。,Rational统一过程不管是如何解释,其最终仍然是一种软件开发过程,提供了如何对软件开发组织进
7、行管理的方式,并且拥有自己的目标和方法。,什么是RUP,1、RUP是一个软件工程过程。它为开发组织提供了如何在开发过程中对软件开发的任务进行严格分配、如何对参与开发的人员职责进行严格的划分等方法,它的目标是在可预见的日程和预算前提下开发出满足最终用户需求的高质量软件。,2、RUP是一个过程产品。对项目进行明确的定义并且使用文档记录软件开发过程在软件的成败中起着很重要的作用。把软件的开发过程当成是一种软件产品来看待,像任何其他软件一样被人们设计、开发、交付和维护。,什么是RUP,3、Rational拥有一套自己的过程框架。它可以适合不同规模、各种类型的软件项目开发。在实际的应用过程中,可以根据自
8、己的需要,通过改造和扩展这套框架,对这个标准过程进行裁剪。组成过程框架的基本元素被称为过程模型。一个模型描述了在软件开发过程中谁做、做什么、怎么做和什么时候做的问题。在RUP中应用了4种重要的模型元素,分别是角色、活动、产物和工作流,通过这些模型元素来回答相应的问题形成一套RUP的框架。,RUP用一种二维结构来表达架构,横轴代表了制订软件开发过程时的时间,显示了软件开发过程的生命周期安排,体现了Rational统一过程的动态结构。在这个坐标轴中使用的术语包括周期、阶段、迭代和里程碑等。纵轴代表了过程的静态结构,显示了软件开发过程中的核心过程工作流。这些工作流按照相关内容进行逻辑分组。在这个坐标
9、轴中,使用的术语包括活动、产物、角色和工作流等。,17,什么是Rational统一过程(RUP),RUP以一种能够被大多数项目和开发组织适应的形式建立整个过程,包含6项最佳实践:迭代式软件开发;需求管理;基于构件的架构应用;建立可视化的软件模型;软件质量验证;软件变更控制;,18,迭代式软件开发,软件系统在规模上、复杂性上、分布式以及重要性上的要求在不断的提高,采用线性的开发方式无法在开始就完成对系统的完整定义;迭代式软件开发能够通过一系列细化和若干个渐进的反复过程形成有效解决方案;RUP专注于处理软件生命周期中每个阶段的最高风险,通过一系列的迭代过程和风险控制极大减少了项目的风险;,19,需
10、求管理,通过一系列系统化的方式对各种软件密集型系统或应用程序的需求进行提出、组织、交流和管理;RUP描述如何提取、组织和文档化所需要的功能以及对这些功能的限制因素;能跟踪和文档化项目的解决方案并对项目做出决策,有时候需要对方案和决策进行折中;能够对商业需求进行捕获,并进行交流;,20,基于构件的架构应用,RUP是以架构为中心的,该过程在开发之前,关注开发和产生健壮的可执行的体系结构的基线,描述如何设计灵活的、可容纳修改的、直观便于理解的并且促进有效软件重用的弹性结构;RUP还为架构提供一个设计、开发、验证的系统性方法,包括模板、架构风格、设计规则、设计规约、设计过程构件和管理过程等;,21,建
11、立可视化的软件模型,RUP的可视化建模基础是UML;RUP指导如何有效地使用UML进行建模;RUP在开发过程中开发和维护模型,帮助理解和找到解决方案;,22,软件质量验证,软件质量关注两方面质量:产品质量和过程质量;软件产品的质量应关注于可靠性、功能性、应用和系统性能等方面并根据需求进行验证;RUP帮助开发人员计划、设计、实现、执行和评估,将软件产品质量评估内驾驭所有过程和活动中;RUP还针对如何验证和客观评价软件产品能否达到预期质量提出一系列的标准;,23,软件变更控制,RUP变更管理关注软件开发组织的需求变化,是针对需求、设计和实现中的变更产生进行管理的一种系统性方法;RUP变更管理能力确
12、定每个修改是可接受的,并且能够跟踪。RUP描述了如何控制、跟踪和监控修改确保成功的迭代开发。,24,RUP的演进历史,Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。,RUP的演进历史,RUP的发展历史,在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,是对过程的动态描述,通过迭代式软件开发的周期、阶段、迭代和里程碑等动态信息表示;纵轴以内容来组织为自然的逻辑活动,是对过程的静态描述,通过过程的构件、活动、工作流、产物和角色等静态概念来描述系统;,27,
13、28,图中的阴影部分描述了不同的工作流,在不同的时间段内工作量的不同。值得注意的是,几乎所有的工作流,在所有的时间段内均有工作量,只是大小不同而已。这与瀑布过程有明显的不同。,时间维,时间维空间是RUP随着时间的动态组织,RUP将软件生命周期划分为初始阶段、细化阶段、构建阶段和转换阶段4个阶段,每个阶段的结果都是一个里程碑(Milestones),都要达到特定的目标。初始阶段的任务、输出和评价准则细化阶段的任务、输出和评价准则构建阶段的任务、输出和评价准则移交阶段的任务、输出和评价准则每个阶段都可以细分为迭代,29,RUP的静态结构,RUP的静态结构是用工作人员、活动、制品和工作流等描述的工作
14、人员(工作人员,Workers):代表“谁”来做?活动(Activities):代表“如何”去做?产品(Artifacts):代表要得到“什么东西”?工作流(Workflows):代表“按照什么顺序”做?,35,RUP的结构,1、RUP的静态结构:过程描述RUP的静态结构是通过对其模型元素的定义来进行描述的。,(1)角色 角色定义了个人或由若干人所组成小组的行为和责任,它是统一过程的中心概念,很多事物和活动都是围绕角色进行的。,系统分析人员(System Analyst):系统分析人员在需求捕获阶段作为建模的领导者和协调者负责界定系统,确定参与者和用例,并确保用例模型是完整的、一致的。在需求捕
15、获阶段,系统分析人员主要负责用例模型、参与者和术语表三个工作产品。,用例描述人员(Use Case Specifier):捕获需求是软件开发过程中极为重要的阶段,它直接影响到用户对最终的软件产品的满意度。这个过程一般需要多人共同完成,系统分析人员以及其他工作人员相互协助,来对一个或多个用例进行详细描述,这些工作人员称为用例描述人员。,用户界面设计人员(User Interface Designer):用户界面设计人员负责对用户界面进行可视化定型。,构架设计师(Architect):构架设计师在整个项目中领导和协调技术活动和产物。为每一个架构视图建立整体结构,即视图分解、元素分组以及在这些主要分
16、组之间的接口。,RUP的结构,(2)活动 角色所执行的行为使用活动表示,每一个角色都与一组相关的活动相联系,活动定义了它们执行的工作。活动通常具有明确的目的,将在项目语境中产生有意义的结果,表现为一些产物,如模型、类、计划等。每个活动分派给特定的角色。,计划一个迭代过程,对应角色:项目经理,寻找用例和参与者,对应角色:系统分析员,执行性能测试,对应角色:性能测试人员,RUP的结构,(3)产品 产品是被过程产生、修改或过程所使用的一段信息。产物是项目的有形产品,是项目最终产生的事物或者向最终产品迈进的过程中使用的事物。,产物品的形式:-模型,如用例模型或设计模型-模型组成元素,如类、用例或子系统
17、等-文档,如商业案例或软件结构文档-源代码-可执行文件,RUP的结构,(4)工作流 仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述能产生若干有价值的有意义结果的活动序列,从而显示角色之间的交互作用,这就是工作流,RUP包含了9个核心过程工作流,代表了所有角色和活动的逻辑分组情况。其中,有6个核心工程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows),工作流(Workflows),核心过程工作流(Core Process Workflows)商业(业务)建模(Business Modeling)需求
18、(Requirements)分析与设计(Analysis and Design)实现(Implementation)测试(Test)部署(Deployment)核心支持工作流(Core Supporting Workflows)项目管理(Project Management)配置和变更管理(Configuration and Change Management)环境(Environment)9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。,40,RUP的结构,RUP的核心工程工作流:,(1)商业建模(Business Modeling)商业建模工作流描述了如何为新的目标
19、组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。,42,商业建模工作流,43,商业建模工作流,提供的文档与模型 商业逻辑建模(USE CASE)(ROSE)业务需求说明书(MS WORD)专业词汇表(英汉对照)(MS WORD)风险说明(MS WORD)复审说明书,(2)需求(Requirements)1 了解目标组织(将要在其中部署系统的组织)的结构及机制。2 了解目标组织中当前存在的问题并确定改进的可能性。3 确保客户、最终用户和开发人员就目标组织达成共识。4 导出支持目标组织所需的系统需求。为实现这些目标,业务建模工作流程说明了如何拟定新目标组织
20、的前景,并基于该前景来确定该组织在业务用例模型和业务对象模型中的流程、角色以及职责。,RUP的结构,大部分需求工作集中在初始和细化阶段,在细化阶段后期,需求捕获的工作量大幅下降。,RUP的结构,(3)分析和设计(Analysis&Design)目的 将业务需求转换为未来系统的设计。逐步开发强壮的系统构架。使设计适合于实施环境,为提高性能而进行设计。,分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 系统分析 设计 海燕 rup 统一 软件 过程
链接地址:https://www.31ppt.com/p-4751013.html