面向对象的系统分析与设计统一软件过程课件_第1页
面向对象的系统分析与设计统一软件过程课件_第2页
面向对象的系统分析与设计统一软件过程课件_第3页
面向对象的系统分析与设计统一软件过程课件_第4页
面向对象的系统分析与设计统一软件过程课件_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、第11章 RUP统一软件过程第11章 RUP统一软件过程 成功的项目所需要具有的三个方面符号、过程和工具。 你可以学习一种符号,但是如果不知道如何 利用它(过程),你可能会失败。 你可能拥有强大的过程,但是如果不能沟通这些过程(符号),你也可能失败。 如果你不能记载自己的工作文档(工具), 你也可能失败。 RUP统一软件过程 成功的项目所需要具有的三个方面符号、过程和工具。 软件工程的三个要素是:工具、方法和过程。软件过程是指开发软件所需要完成的活动构成的框架。在每个活动期间,都要通过一些工具,采用一些方法、技术构造工作产品(如,计划、文档、模型、代码、测试用例和手册等)。 软件工程使用某些工

2、具,采用某种方法,按照某种过程开发软件系统。工具、方法和过程在开发软件时的关系 工具层为软件过程和方法提供了自动或半自动的支持;方法层在技术上说明了需要如何去开发软件;软件过程提供一个活动框架,在这个框架下可以建立一个软件开发的综合计划。3流程图、数据流图、UML图Waterfall、RUP、OOSP、XP需求分析、设计、编码、测试ISO9000、CMM 软件工程的三个要素是:工具、方法和过程。软件过程什么是软件开发过程 SDP(软件开发过程,Software Development Process),又称为SEP(软件工程过程,Software Engineering Process),是指

3、应用于软件开发和维护当中的阶段、方法、技术、实践和相关产物(计划、文档、模型、代码、测试用例和手册等)的集合。 有效的软件开发过程可以提高软件开发团队的生产效率,并能够提高软件质量、降低成本、减少开发风险。软件开发过程是开发高质量软件所需完成的任务的框架。 软件工程是一种层次化的技术,如图所示。什么是软件开发过程 SDP(软件开发过程,Softwa当前流行的软件过程Rational Unified Process(RUP)OPEN ProcessObject-Oriented Software Process(OOSP)Extreme Programming(XP)CatalysisDynam

4、ic System Development Method(DSDM) 当前流行的软件过程Rational Unified Proc传统的软件开发模型1. 瀑布模型(Waterfall Model)2. 螺旋模型传统的软件开发模型1. 瀑布模型(Waterfall Mo瀑布模型(Waterfall Model)瀑布模型是一种线性模型。瀑布模型将软件生存周期划分为6个阶段:需求分析设计实现测试运行维护瀑布模型最为突出的缺点是缺乏灵活性。 瀑布模型(Waterfall Model)瀑布模型是一种线性瀑布模型(Waterfall Model) 瀑布模型(Waterfall Model) 9Ration

5、al统一过程的结构传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。 瀑布模型的缺点: 1 需要在开始进行完整的需求分析 2 不适应软件开发的高变更率特点 3 早期的分析后期可能无用 4 容易导致软件失败各种规模软件项目的变更百分比9Rational统一过程的结构传统的瀑布开发模型是一个一维瀑布式定义的特性实际使用情况瀑布式定义的特性实际使用情况螺旋模型螺旋模型使用原型作为降低风险的机制。螺旋模型使开发者在产品演化的任意阶段均可使用原型方法。螺旋模型体现了RUP中迭代的思想。一个螺旋的周期一般包括四个阶段:确定目标,选择方案,选定完成目标的策略。风险分析。启动开发阶段。评审前

6、一阶段的工作,计划下一阶段工作。 螺旋模型螺旋模型使用原型作为降低风险的机制。螺旋模型螺旋模型13传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。 UML是一种可应用于软件开发的非常优秀的建模语言,但是UML本身并没有告诉人们怎样使用它,为了有效地使用UML,需要有一种方法应用于它。 当前最流行的使用UML的方法就是Rational的统一过程(Rational Unified Process,简称RUP)。RUP是软件开发过程的一种,它为有效地使用统一建模语言UML提供了指导。在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。横轴表示项目的时间维,纵轴

7、以内容来组织为自然的逻辑活动。13传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个什么是RUP 它是由Rational软件开发公司开发并维护的,它能够被看成是Rational软件开发公司的一款软件产品,并且和Rational软件开发公司开发的一系列软件开发工具进行了紧密集成,包括Rational Rose建模工具。 它是“统一”的。Rational 统一过程拥有自己的一套架构,并且这套架构是以一种大多数项目和开发组织都能够接受的形式存在,采用了现代软件工程开发的6项最佳实践。 Rational统一过程不管是如何解释,其最终仍然是一种软件开发过程,提供了如何对软件开发组织进行管理的方式,

8、并且拥有自己的目标和方法。什么是RUP 它是由Rational软件开发公司开什么是RUP 1、RUP是一个软件工程过程。 它为开发组织提供了如何在开发过程中对软件开发的任务进行严格分配、如何对参与开发的人员职责进行严格的划分等方法,它的目标是在可预见的日程和预算前提下开发出满足最终用户需求的高质量软件。 2、RUP是一个过程产品。 对项目进行明确的定义并且使用文档记录软件开发过程在软件的成败中起着很重要的作用。把软件的开发过程当成是一种软件产品来看待,像任何其他软件一样被人们设计、开发、交付和维护。什么是RUP 1、RUP是一个软件工程过程。2、RUP是什么是RUP3、Rational拥有一套

9、自己的过程框架。 它可以适合不同规模、各种类型的软件项目开发。在实际的应用过程中,可以根据自己的需要,通过改造和扩展这套框架,对这个标准过程进行裁剪。组成过程框架的基本元素被称为过程模型。一个模型描述了在软件开发过程中谁做、做什么、怎么做和什么时候做的问题。在RUP中应用了4种重要的模型元素,分别是角色、活动、产物和工作流,通过这些模型元素来回答相应的问题形成一套RUP的框架。 RUP用一种二维结构来表达架构,横轴代表了制订软件开发过程时的时间,显示了软件开发过程的生命周期安排,体现了Rational统一过程的动态结构。在这个坐标轴中使用的术语包括周期、阶段、迭代和里程碑等。纵轴代表了过程的静

10、态结构,显示了软件开发过程中的核心过程工作流。这些工作流按照相关内容进行逻辑分组。在这个坐标轴中,使用的术语包括活动、产物、角色和工作流等。什么是RUP3、Rational拥有一套自己的过程框架。 17什么是Rational统一过程(RUP)RUP以一种能够被大多数项目和开发组织适应的形式建立整个过程,包含6项最佳实践:迭代式软件开发;需求管理;基于构件的架构应用;建立可视化的软件模型;软件质量验证;软件变更控制;17什么是Rational统一过程(RUP)RUP以一种能够18迭代式软件开发软件系统在规模上、复杂性上、分布式以及重要性上的要求在不断的提高,采用线性的开发方式无法在开始就完成对系

11、统的完整定义;迭代式软件开发能够通过一系列细化和若干个渐进的反复过程形成有效解决方案;RUP专注于处理软件生命周期中每个阶段的最高风险,通过一系列的迭代过程和风险控制极大减少了项目的风险;18迭代式软件开发软件系统在规模上、复杂性上、分布式以及重要19需求管理通过一系列系统化的方式对各种软件密集型系统或应用程序的需求进行提出、组织、交流和管理;RUP描述如何提取、组织和文档化所需要的功能以及对这些功能的限制因素;能跟踪和文档化项目的解决方案并对项目做出决策,有时候需要对方案和决策进行折中;能够对商业需求进行捕获,并进行交流;19需求管理通过一系列系统化的方式对各种软件密集型系统或应用20基于构

12、件的架构应用RUP是以架构为中心的,该过程在开发之前,关注开发和产生健壮的可执行的体系结构的基线,描述如何设计灵活的、可容纳修改的、直观便于理解的并且促进有效软件重用的弹性结构;RUP还为架构提供一个设计、开发、验证的系统性方法,包括模板、架构风格、设计规则、设计规约、设计过程构件和管理过程等;20基于构件的架构应用RUP是以架构为中心的,该过程在开发之21建立可视化的软件模型RUP的可视化建模基础是UML;RUP指导如何有效地使用UML进行建模;RUP在开发过程中开发和维护模型,帮助理解和找到解决方案;21建立可视化的软件模型RUP的可视化建模基础是UML;22软件质量验证软件质量关注两方面

13、质量:产品质量和过程质量;软件产品的质量应关注于可靠性、功能性、应用和系统性能等方面并根据需求进行验证;RUP帮助开发人员计划、设计、实现、执行和评估,将软件产品质量评估内驾驭所有过程和活动中;RUP还针对如何验证和客观评价软件产品能否达到预期质量提出一系列的标准;22软件质量验证软件质量关注两方面质量:产品质量和过程质量;23软件变更控制RUP变更管理关注软件开发组织的需求变化,是针对需求、设计和实现中的变更产生进行管理的一种系统性方法;RUP变更管理能力确定每个修改是可接受的,并且能够跟踪。 RUP描述了如何控制、跟踪和监控修改确保成功的迭代开发。23软件变更控制RUP变更管理关注软件开发

14、组织的需求变化,是24RUP的演进历史Rational Unified Process(RUP,统一开发过程)是一套面向对象的软件工程过程。RUP说明了如何有效地使用成熟技术开发软件。24RUP的演进历史Rational Unified ProRUP的演进历史RUP的发展历史RUP的演进历史RUP的发展历史 在RUP中,软件开发生命周期根据时间和RUP的核心工作流划分为二维空间。 横轴表示项目的时间维,是对过程的动态描述,通过迭代式软件开发的周期、阶段、迭代和里程碑等动态信息表示; 纵轴以内容来组织为自然的逻辑活动,是对过程的静态描述,通过过程的构件、活动、工作流、产物和角色等静态概念来描述系

15、统; 在RUP中,软件开发生命周期根据时间和RUP的核心工272728图中的阴影部分描述了不同的工作流,在不同的时间段内工作量的不同。值得注意的是,几乎所有的工作流,在所有的时间段内均有工作量,只是大小不同而已。这与瀑布过程有明显的不同。10%50%30%10 %进度 10% 65 %20 %5 %工作量 交付构造细化初始28图中的阴影部分描述了不同的工作流,在不同的时间段内工作量时间维时间维空间是RUP随着时间的动态组织,RUP将软件生命周期划分为初始阶段、细化阶段、构建阶段和转换阶段4个阶段,每个阶段的结果都是一个里程碑(Milestones),都要达到特定的目标。初始阶段的任务、输出和评

16、价准则细化阶段的任务、输出和评价准则构建阶段的任务、输出和评价准则移交阶段的任务、输出和评价准则每个阶段都可以细分为迭代29时间维时间维空间是RUP随着时间的动态组织,RUP将软件生命面向对象的系统分析与设计统一软件过程课件面向对象的系统分析与设计统一软件过程课件面向对象的系统分析与设计统一软件过程课件面向对象的系统分析与设计统一软件过程课件面向对象的系统分析与设计统一软件过程课件RUP的静态结构RUP的静态结构是用工作人员、活动、制品和工作流等描述的工作人员(工作人员,Workers):代表“谁”来做?活动(Activities):代表“如何”去做?产品(Artifacts):代表要得到“什

17、么东西”?工作流(Workflows):代表“按照什么顺序”做?35RUP的静态结构RUP的静态结构是用工作人员、活动、制品和工RUP的结构1、RUP的静态结构:过程描述RUP的静态结构是通过对其模型元素的定义来进行描述的。(1)角色 角色定义了个人或由若干人所组成小组的行为和责任,它是统一过程的中心概念,很多事物和活动都是围绕角色进行的。 系统分析人员(System Analyst):系统分析人员在需求捕获阶段作为建模的领导者和协调者负责界定系统,确定参与者和用例,并确保用例模型是完整的、一致的。在需求捕获阶段,系统分析人员主要负责用例模型、参与者和术语表三个工作产品。 用例描述人员(Use

18、 Case Specifier):捕获需求是软件开发过程中极为重要的阶段,它直接影响到用户对最终的软件产品的满意度。这个过程一般需要多人共同完成,系统分析人员以及其他工作人员相互协助,来对一个或多个用例进行详细描述,这些工作人员称为用例描述人员。 用户界面设计人员(User Interface Designer):用户界面设计人员负责对用户界面进行可视化定型。 构架设计师(Architect):构架设计师在整个项目中领导和协调技术活动和产物。为每一个架构视图建立整体结构,即视图分解、元素分组以及在这些主要分组之间的接口。RUP的结构1、RUP的静态结构:过程描述(1)角色 RUP的结构(2)活

19、动 角色所执行的行为使用活动表示,每一个角色都与一组相关的活动相联系,活动定义了它们执行的工作。活动通常具有明确的目的,将在项目语境中产生有意义的结果,表现为一些产物,如模型、类、计划等。每个活动分派给特定的角色。计划一个迭代过程,对应角色:项目经理寻找用例和参与者,对应角色:系统分析员执行性能测试,对应角色:性能测试人员RUP的结构(2)活动计划一个迭代过程,对应角色:项目经理寻RUP的结构(3)产品 产品是被过程产生、修改或过程所使用的一段信息。产物是项目的有形产品,是项目最终产生的事物或者向最终产品迈进的过程中使用的事物。产物品的形式:-模型,如用例模型或设计模型-模型组成元素,如类、用

20、例或子系统等-文档,如商业案例或软件结构文档-源代码-可执行文件RUP的结构(3)产品产物品的形式:RUP的结构(4)工作流 仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述能产生若干有价值的有意义结果的活动序列,从而显示角色之间的交互作用,这就是工作流 RUP包含了9个核心过程工作流,代表了所有角色和活动的逻辑分组情况。其中,有6个核心工程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows) RUP的结构(4)工作流 RUP包含了9个核心过程工作工作流(Workflows)核心过程工作流(Core

21、Process Workflows)商业(业务)建模(Business Modeling)需求(Requirements)分析与设计(Analysis and Design)实现(Implementation)测试(Test)部署(Deployment)核心支持工作流(Core Supporting Workflows)项目管理(Project Management)配置和变更管理(Configuration and Change Management)环境(Environment)9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。40工作流(Workflows)核心过程

22、工作流(Core ProRUP的结构RUP的核心工程工作流:(1)商业建模(Business Modeling) 商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程、角色和责任。 RUP的结构RUP的核心工程工作流:(1)商业建模(Busi42 商业建模工作流42 商业建模工作流43商业建模工作流提供的文档与模型 商业逻辑建模(USE CASE)(ROSE) 业务需求说明书(MS WORD) 专业词汇表(英汉对照)(MS WORD) 风险说明(MS WORD) 复审说明书 43商业建模工作流提供的文档与模型 (2)需求(Require

23、ments) 1 了解目标组织(将要在其中部署系统的组织)的结构及机制。 2 了解目标组织中当前存在的问题并确定改进的可能性。 3 确保客户、最终用户和开发人员就目标组织达成共识。 4 导出支持目标组织所需的系统需求。 为实现这些目标,业务建模工作流程说明了如何拟定新目标组织的前景,并基于该前景来确定该组织在业务用例模型和业务对象模型中的流程、角色以及职责。 (2)需求(Requirements)RUP的结构 大部分需求工作集中在初始和细化阶段,在细化阶段后期,需求捕获的工作量大幅下降。 RUP的结构RUP的结构(3)分析和设计(Analysis & Design) 目的 将业务需求转换为未来

24、系统的设计。 逐步开发强壮的系统构架。 使设计适合于实施环境,为提高性能而进行设计。RUP的结构(3)分析和设计(Analysis & Desi 分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。 分析设计的结果是一个设计模型和一个可选的分析模型。 设计模型是源代码的抽象,由设计类和一些描述组成。 设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作,实现用例的功能。 设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视

25、图中省略了一些细节,使重要的特点体现得更加清晰。 体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。 分析和设计工作流将需求转化成未来系统的设计,为系统开RUP的结构分析工作流 分析的主要工作开始于初始阶段的结尾,与需求一样,分析工作主要集中在细化阶段,细化阶段的大部分活动是捕获需求,并进行需求分析,分析工作与需求捕获在很大程度上重叠。这两种活动是相辅相成的,在对系统进行需求捕获的同时往往会加入一些分析。RUP的结构分析工作流RUP的结构设计工作流 设计工作流的主要工作集中于细化阶段的最后部分和构造阶段的开始部分。就软件系统而言,最初的大量建模工作集中在需求和分

26、析工作流,在分析活动逐步完善后,建模工作大量集中在系统设计。设计工作流RUP的结构设计工作流设计工作流505051提供的文档与模型 系统总体设计报告(MS WORD) 系统领域模型DOMAIN MODEL(ROSE) 系统设计模型DESIGN MODEL (ROSE) 数据库设计模型 (POWER DESIGNER) 数据字典(MS WORD) 系统详细设计报告(MS WORD) 工作量化书(MS WORD)51提供的文档与模型 RUP的结构4实现(Implementation) 实现工作流的目的: 1 以层次化的子系统形式定义代码的组织结构; 2 以组件的形式(源文件、二进制文件、可执行文件

27、)实现类和对象; 3 将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。 从系统分析师或系统设计师的角度看,实现工作流的重点就是编写软件系统的可执行代码。 实现工作流是构造阶段的焦点。 RUP的结构4实现(Implementation)535354提供的文档与模型 实施总结书(MS WORD) 实施模型(ROSE) 系统集成书(MS WORD) 代码审核意见书(MS WORD) 源代码(MS WORD) 用户使用手册(MS WORD) 错误解决记录手册(MS WORD) 构件及其说明 54提供的文档与模型 RUP的结构 5测试(Test) 测试工作

28、流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现, 识别并确认缺陷在软件部署之前被提出并处理。 RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。 测试类似于三维模型,分别从可靠性、功能性和系统性能来进行。测试工作流贯穿于软件开发的整个过程。 从初始阶段开始,到细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与缺陷,而不能证明程序无错。RUP的结构 5测试(Test) RUP的结构6部署(Deployment) 部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描述了那些与确保

29、软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。RUP的结构6部署(Deployment) RUP的结构 3个核心支持工作流:1配置和变更管理(Configuration & Change Management) 配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时

30、间、人员保持审计记录。2项目管理(Project Management) 软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。3环境(Environment) 环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。RUP的结构 3个核心支持工作流:1配置和变更管理(ConRUP的结构2、RUP的动态结构:迭代开发 RUP

31、的动态结构是通过对迭代式软件开发过程的周期、阶段、迭代过程以及里程碑等的描述来进行表示。在RUP二维结构的水平坐标轴上,显示了统一过程的生命周期,将软件开发的各个阶段和迭代周期在这个水平时间轴上表达出来,反映了软件开发过程沿时间方向的动态组织结构。RUP的结构2、RUP的动态结构:迭代开发 RUP的动RUP的结构 传统的软件开发是瀑布开发模型(先定义整个问题,再设计整个解决方案,然后编制软件,最后进行软件测试)。它是一个一维的模型,开发过程被划分为多个连续的阶段。试图在编程之前(详细)定义所有或大部分需求,通常在编程之前创建出完整的设计;试图在开始前定义“可靠的”计划或时间表。RUP的结构 传

32、统的软件开发是瀑布开发RUP的结构 迭代开发过程通过不断地细化来逐渐加深对问题的理解,不断完善解决方案,从而最终形成有效的解决方案。采用迭代过程的好处是: 1 把一个复杂的系统分解成多个简单的系统。 2 提高软件项目的可控性。 3 降低软件开发的风险。 4 有效地应对需求变更。 RUP支持迭代的过程,通过将风险分散于每一次迭代,大大降低了项目的风险。由于每次迭代都产生一个可执行的版本,频繁的状态检查可以确保项目能按时进行。RUP的结构 迭代开发过程通过不断地细化来逐渐加深RUP的结构RUP中的迭代模型 在RUP过程中,可以把每个阶段的任务分成多个部分,采用多次迭代完成每个阶段的任务。每一次完整

33、的迭代包含所有工作流,迭代有可能只包含部分工作流。每一次迭代建立一个可执行的软件产品(版本),每次迭代产生的软件产品是最终产品的一个子集。 RUP的迭代模型RUP的结构RUP中的迭代模型RUP的迭代模型RUP的结构 对于RUP过程,其开发模型由软件生命周期(四个阶段)和RUP的核心工作流构成一个二维空间。横轴表示项目的时间维,包括四个阶段,纵轴表示工作流(活动)。RUP开发模型RUP的结构 对于RUP过程,其开发模型由软件生命RUP的结构RUP的四个阶段 使用RUP过程开发软件系统,软件的生命周期分为以下几个阶段:起始阶段;细化阶段;构造阶段;交付阶段。每个阶段结束于一个主要的里程碑(Majo

34、r Milestones),在每个阶段的结尾执行一次评估,以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。每个阶段本质上是两个里程碑之间的时间跨度。 (1)初始阶段 初始阶段也称为初始的目标,是“获得项目的基础”。初始阶段的主要人员是项目经理和系统设计师,他们所要完成的任务包括对系统的可行性分析,即软件系统的实现技术和经济方面的可行性;创建基本需求以有助于界定系统范围;识别软件系统的关键任务。 初始阶段的焦点是需求和分析工作流。RUP的结构RUP的四个阶段RUP的结构(2)细化阶段 细化阶段的主要目标是创建可执行构件基线;细化风险评估;定义质量属性;捕获

35、大部分的系统功能需求用例;为构造阶段创建详细计划。细化阶段并不是要创建真正可执行的系统,也不是要创建原型,这个阶段只需要展现用户所期望系统。细化是开发过程最重要的阶段,因为在以后的阶段是以细化的结果为基础的。 细化阶段的焦点是需求、分析和设计工作流。(3)构造阶段 构建阶段完成了所有需求、分析、设计和实现。所有的功能被详细测试。细化阶段的工作产品将演化为最终系统,构造的主要问题是维护系统框架的完整性。开发人员应该避免由于软件编码问题而造成最终系统低质量、高维护成本的情况发生。 构建阶段的焦点是实现工作流。RUP的结构(2)细化阶段RUP的结构(4)交付阶段 交付是将完整的系统部署到用户所处的环

36、境,交付阶段的重点是完成系统部署确保软件可用。交付阶段的目标包括修复系统缺陷;为用户环境准备新软件;如果出现不可预见问题则修改软件;创建用户使用手册和系统文档;提供用户咨询; 交付阶段的焦点是实现和测试工作流。RUP的结构(4)交付阶段RUP的结构初始阶段的主要目标是确定项目的范围和目标。1.了解要创建什么样的系统;2.确定系统的主要功能;3.确定至少一个可行的方案;4.了解与项目相关的成本、时间表和风险;5.确定遵循什么过程和使用哪些工具。这些目标没有优先、时间的顺序,开发人员要平行地完成这些目标。细化阶段的目标:1.要明确地认识需求;2.设计、实现、验证系统架构并建立架构基线;3.化解主要

37、风险,制定更精确的时间表和费用估算;4.细化开发案例并搭建开发环境。RUP的结构初始阶段的主要目标是确定项目的范围和目标。RUP的结构构造阶段的目标:1.降低开发成本并实现部分的并行开发;2.迭代开发准备交付给用户的完整产品。交付阶段的主要目标是确保软件完全满足用户需求。1.进行Beta测试以确保满足用户的期望;2.培训用户和维护人员来达到用户的自我依赖;3.准备交付环境并转换数据库系统;4.包装准备投放市场的产品;进行宣传并演示系统;交付销售力量;进行人员培训;5.通过得到的经验改进未来的项目。RUP的结构构造阶段的目标:RUP的结构 软件工程过程的目的并不是使开发人员生活在痛苦中,而是确保

38、软件开发组织在规定的日期和预算内顺利地开发并移交高质量的软件系统,并且可以最终满足用户的所有需求。 不同阶段定义了项目的不同状态,而这些状态又是由要化解的风险或要解决的问题决定的。 在初始阶段主要化解业务模型风险:这个项目从经济的角度看值得吗?它可行吗? 在细化阶段中,主要化解技术风险,检查架构风险,或许当更了解用户需求时,要重新定义系统边界。 在构造阶段中,主要化解“逻辑”风险,并完成绝大部分的工作。在这个阶段中,参与项目的人员规模达到最大程度。 在交付阶段中,要化解为用户发布产品的风险。RUP的结构 软件工程过程的目的并不是使开发RUP的结构 3、 统一软件过程的三个主要的概念 用例驱动、

39、以构架为中心、采用迭代和增量模型。 (1)所有的软件开发都是用户需求驱动的。统一软件开发过程采用用例来描述用户需求,同时提供一套方法把用例转化为设计的类图,进一步变成最终的程序代码。在整个软件开发过程中,要求用例是可跟踪的,也就是说,无论是设计阶段还是实现阶段的产品,都可以找到相应的需求。用例还可以作为用户测试和验收最终软件产品的标准。(2)构架是一个皮包骨头的系统,它实现了用户的核心需求,包括了系统中最重要的静态和动态特征。构架刻画了系统的整体设计,它舍弃了细节部分,突出了系统的重要特征。统一软件过程提供了创建构架的相应方法和过程,可以帮助分析人员和设计人员很好地完成构架的设计。(3)统一软

40、件过程采用迭代和增量的开发方式,把一个软件产品划分成多个较小的部分,每一次完成一个部分,每次要迭代部分是产品的一个增量部分。每个增量部分的生产过程是受控的。RUP的结构 3、 统一软件过程的三个主要的概念(1)所70RUP视图RUP采用5种视图来对构架进行描述:逻辑视图:用来设计对象的模型;过程视图:用来捕获设计的并发和同步特性;物理视图:用来描述软件到硬件的映射;部署视图:描述在开发环境中软件的静态组织结构;用例视图:描述其它视图如何工作;70RUP视图RUP采用5种视图来对构架进行描述:717172逻辑视图主要支持系统的功能性需求,是设计模型的抽象;逻辑视图采用面向对象的风格,主要设计准则

41、是试图在系统中保持单一的、一致的对象模型,避免各个场合或过程产生草率的类和机制的技术说明;逻辑视图的结果是:确定重要的设计包、子系统和类;72逻辑视图主要支持系统的功能性需求,是设计模型的抽象;73过程视图考虑非功能性需求,表现为系统运行时的一系列特性,用于解决系统运行时的并发性、分布性、系统完整性、系统容错性,及逻辑视图的主要抽象如何与系统进程结构配合在一起;在过程视图的设计中,应关注在架构上有意义的元素。73过程视图考虑非功能性需求,表现为系统运行时的一系列特性,74物理视图关注系统的非功能性需求,包括系统的可用性、可靠性、性能和可伸缩型;物理视图描述的是软件至硬件的映射,即展示不同的可执

42、行程序和其他运行时间内构件是如何映射到底层平台和处理节点上的;74物理视图关注系统的非功能性需求,包括系统的可用性、可靠性75部署视图描述系统的开发架构,关注软件开发环境中实际模块的组织情况,及系统的子系统是如何分解的。75部署视图描述系统的开发架构,关注软件开发环境中实际模块的76用例视图也被认为是场景,它综合了其余9种视图,9种视图的元素通过数量较少的一组重要场景或用例无缝协调工作;场景和用例是最重要的需求抽象;76用例视图也被认为是场景,它综合了其余9种视图,9种视图的在项目中应用RUP 最好在项目开始时就应用RUP,这样可以避免在项目中间从当前过程转化到RUP时导致的复杂问题。 在项目开始时引入RUP的5个步骤: 1.评价 评价开发小组以前遇到的问题及它们给业务带来的影响,以及在未来的实践中,哪些问题具有最高的商业价值。明确阐述期望的商业价值,最好通过商业案例的方式来表现。例:Mercury项目正处于开始阶段。在上一个项目中,开发小组遇到的主要问题是关于需求蔓延和架构结构方面的。这两个问题被认为是导致项目推迟3个月的主要原因。Mercury项目非常重要,时间因素是重中之重。如果像上一个项目那样推迟时间,将使公司损失20万美元,并且如果系统的性能不能达标,将使相关的部门每年损失将近

温馨提示

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

评论

0/150

提交评论