文档介绍:第13章RUP统一软件过程
目录
当前流行的软件过程
统一软件过程(RUP)概述
RUP中的核心工作流
RUP裁剪
RUP的十大要素
第13章 RUP统一软件过程
软件工程的三个要素是:工具、方法和过程。软件过程是指开发软件所需要完成的活动构成的框架。在每个活动其间,都要通过一些工具,采用一些方法、技术构造工作产品(如,计划、文档、模型、代码、测试用例和手册等)。软件工程使用某些工具,采用某种方法,按照某种过程开发软件系统。下面是工具、方法和过程在开发软件时的关系。如图13-1所示。
工具层为软件过程和方法提供了自动或半自动的支持;方法层在技术上说明了需要如何去开发软件;软件过程提供一个活动框架,在这个框架下可以建立一个软件开发的综合计划。
图13-1工具、方法和过程
当前流行的软件过程
采用有效的软件过程,是实现软件成功开发的前提。当前流行的软件过程有:
Rational Unified Process(RUP)
OPEN Process
Object-Oriented Software Process(OOSP)
Extreme Programming(XP)
Catalysis
Dynamic System Development Method(DSDM)
其中,RUP既是一个软件过程,更是一个软件过程框架。他可以适合不同规模、各种类型的软件项目开发。在实际的应用过程中,可以根据自己的需要,对这个标准过程进行裁减。统一软件过程把UML建模语言有机的结合到一起,非常适合采用面向对象软件技术进行软件项目开发。
当前流行的软件过程
统一软件过程有三个突出的特点:用例驱动、以构架为中心、采用迭代和增量模型。下面分别介绍着三个特点。
(1)所有的软件开发都是用户需求驱动的。统一软件开发过程采用用例来描述用户需求,同时提供一套方法把用例转化为设计的类图,进一步变成最终的程序代码。在整个软件开发过程中,要求用例是可跟踪的,也就是说,无论是设计阶段还是实现阶段的产品,都可以找到相应的需求。用例还梢宰魑没Р馐院脱槭兆钪杖砑返谋曜肌
(2)构架是一个小的、皮包骨头的系统,它实现了用户的核心需求,包括了系统中最重要的静态和动态特征。构架刻画了系统的整体设计,它舍弃了细节部分,突出了系统的重要特征。统一软件过程提供了创建构架的相应方法和过程,可以帮助分析人员和设计人员很好地完成构架的设计。
(3)统一软件过程采用迭代和增量的开发方式,把一个软件产品划分成多个较小的部分,每一次完成一个部分,每次要迭代部分是产品的一个增量部分。每个增量部分的生产过程是受控的。
当前流行的软件过程
采用迭代过程的好处是:
·把一个复杂的系统分解成多个简单的系统。
·提高软件项目的可控性。
·降低软件开发的风险。
·有效地应对需求变更。
统一软件过程(RUP)概述
传统的瀑布开发模型是一个一维的模型,开发过程被划分为多个连续的阶段。
RUP(Rational Unified Process,统一软件开发过程)是一个面向对象且基于网络的程序开发方法论。根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针、模版以及事例支持。 RUP和类似的产品----例如,面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具---把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
统一软件过程(RUP)概述
对于RUP过程,其开发模型由软件生命周期(四个阶段)和RUP的核心工作流构成一个二维空间。横轴表示项目的时间维,包括四个阶段,纵轴表示工作流(活动)。RUP开发模型如图13-2所示。
图13-2 RUP开发模型
统一软件过程(RUP)概述
RUP有以下6个特点:
1、迭代式开发。在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。迭代式开发不仅可以降低项目的风险,而且每个迭代过程都可以执行版本结束,可以鼓舞开发人员。
统一软件过程(RUP)概述
2、管理需求。确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细的说明一个系统的真正需求。RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的