RUP的十大要素
预备知识:
一、经典的软件工程思想将软件开发分成以下5个阶段:
1需求分析(Requirements Capture)阶段、
2系统分析与设计(System Analysis and Design)阶段、
3系统实现(Implementation)阶段、
4测试(Testing)阶段
5维护(Maintenance)阶段。
二、UML中有5种静态图:用例图、类图、对象图、组件图和配置图。
有4种动态图,分别是:时序图、协作图、状态图和活动图。
三、RUP(Rational Unified Process)是一套软件工程方法。同时,它又是文档化的软件工程产品,所有RUP /的实施细节及方法导引均以WEB文档的方式集成在一张光盘上,由Rational公司开发、维护并销售,当前版本是5.0.RUP,是一套软件工程方法的框架,各个组织可根据自身的实际情况,以及项目规模对RUP进行裁剪和修改,以制定出合乎需要的软件工程过程。
RUP吸收了多种开发模型的优点,具有很好的可操作性和实用性。从它一推出市场,迅速得到业界广泛的认同,越来越多的组织以它作为软件开发模型框架。
四、 RUP可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构;纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构。
正式开始
RUP的十大要素
1. 开发一个前景
有一个清晰的前景是开发一个满足真正需求的产品的关键。
前景抓住了RUP需求流程的要点:分析问题,理解需求,定义系统,当需求变化时的管理需求。
2. 达成计划
“产品的质量只会和产品的计划一样好。”
在RUP中,软件开发计划(SDP)综合了管理项目所需的各种信息,也许会包括一些在先启阶段开发的单独的内容。SDP必须在整个项目中被维护和更新。
SDP定义了项目时间表(包括项目计划和迭代计划)和资源需求(资源和工具),可以根据项目进度表来跟踪项目进展。同时也指导了其他过程内容(process components)的计划:项目组织、需求管理计划、配置管理计划、问题解决计划、QA计划、测试计划、评估计划以及产品验收计划。
3. 标识和减小风险
RUP的要点之一是在项目早期就标识并处理最大的风险。项目组标识的每一个风险都应该有一个相应的缓解或解决计划。风险列表应该既作为项目活动的计划工具,又作为确定迭代的基础。
4. 分配和跟踪任务
有一点在任何项目中都是重要的,即连续的分析来源于正在进行的活动和进化的产品的客观数据。在RUP中,定期的项目状态评估提供了讲述、交流和解决管理问题、技术问题以及项目风险的机制。团队一旦发现了这些障碍物,他们就把所有这些问题都指定一个负责人,并指定解决日期。进度应该定期跟踪,如有必要,更新应该被发布。
这些项目“快照”突出了需要引起管理注意的问题。随着时间的变化/虽然周期可能会变化,定期的评估使经理能捕获项目的历史,并且消除任何限制进度的障碍或瓶颈。
5. 检查商业理由
商业理由从商业的角度提供了必要的信息,以决定一个项目是否值得投资。商业理由还可以帮助开发一个实现项目前景所需的经济计划。它提供了进行项目的理由,并建立经济约束。当项目继续时,分析人员用商业理由来正确的估算投资回报率(ROI,即Return on Investment)。
6. 设计组件构架
在RUP中,软件系统的构架是指一个系统关键部件的组织或结构,部件之间通过接口交互,而部件是由一些更小的部件和接口组成的。即主要的部分是什么?它们又是怎样结合在一起的?
RUP提供了一种设计、开发、验证构架的系统的方法。在分析和设计流程中包括以下步骤:定义候选构架、精化构架、分析行为(用例分析)、设计组件。
7. 对产品进行增量式的构建和测试
在RUP中实现和测试流程的要点是在整个项目生命周期中增量的编码、构建、测试系统组件,在先启之后每个迭代结束时生成可执行版本。在精化阶段后期,已经有了一个可用于评估的构架原型;如有必要,它可以包括一个用户界面原型。然后,在构建阶段的每次迭代中,组件不断的被集成到可执行、经过测试的版本中,不断地向最终产品进化。动态及时的配置管理和复审活动也是这个基本过程元素的关键。
8. 验证和评价结果
顾名思义,RUP的迭代评估捕获了迭代的结果。评估决定了迭代满足评价标准的程度,还包括学到的教训和实施的过程改进。
根据项目的规模和风险以及迭代的特点,评估可以是对演示及其结果的一条简单的纪录,也可能是一个完整的、正式的测试复审记录。
这儿的关键是既关注过程问题又关注产品问题。越早发现问题,就越没有问题。
9. 管理和控制变化
RUP的配置和变更管理流程的要点是当变化发生时管理和控制项目的规模,并且贯穿整个生命周期。其目的是考虑所有的用户需求,尽可能的满足,同时仍能及时的交付合格的产品。
10. 提供用户支持
在RUP中,部署流程的要点是包装和交付产品,同时交付有助于最终用户学习、使用和维护产品的任何必要的材料。
项目组至少要给用户提供一个用户指南(也许是通过联机帮助的方式提供),可能还有一个安装指南和版本发布说明。
根据产品的复杂度,用户也许还需要相应的培训材料。最后,通过一个材料清单(BOM表,即Bill of Materials)清楚地记录应该和产品一起交付哪些材料。
开发过程中的几个核心工作流:
1需求捕获工作流
2分析工作流
3实现工作流
4测试工作流