1.前言
本文主要对迭代开发的一种方法 统一过程(UP),进行概要说明,以作为《UML和模式应用》这本书的补充.
2. 统一过程概述
- 统一过程
统一过程(RUP/UP,Rational Unified Process)是一种以用例驱动、以体系结构为核心、迭代及增量的软件过程模型,由UML方法和工具支持,广泛应用于各类面向对象项目。
- RUP
. RUP 是 Rational 公司开发的一套软件过程框架
. RUP 本身支持可裁减性,可以应付各种领域软件和不同的项目规模
. RUP蕴含了大量优秀的实践方法,如:迭代式软件开发、需求管理、基于构件的构架应用、建立可视化的软件模型、软件质量验证、软件变更控制等
. RUP 把整个软件开发生命周期分为多个循环,每个循环由四个阶段组成,每个阶段完成确定的任务,结束前有一个里程碑评估本阶段的工作
3. 统一过程模型
图 RUP 统一过程模型
- RUP的二维结构
. 横轴按时间组织,显示RUP的动态特征,通过迭代式软件开发的周期、阶段、迭代和里程碑等动态信息表示;
. 纵轴按内容组织,显示RUP的静态特征,通过过程的构建、活动、工作流、产品和角色等静态概念来描述系统
注:其中每个工作流的高度体现随时间变化工作量的变化,早期的迭代趋向于更多的需求和设计,后期则减少这方面的工作
- RUP的静态结构
. 6个核心工作流:业务建模、需求、分析设计、实现、测试、部署
. 3个核心支持工作流:配置与变更管理、项目管理和环境
- RUP的工作流
工作流 | 制品 | 工作内容 |
业务建模 |
商业逻辑建模(USE CASE)(ROSE) 业务需求说明书(MS WORD) 专业词汇表(英汉对照)(MS WORD) 风险说明(MS WORD) 复审说明书 |
|
需求 | 用例图 |
了解目标组织的结构及机制 明确目标组织中当前存在的问题并确定改进的可能性 确保客户、最终用户、开发人员就目标组织达成一致 导出支持目标组织所需的系统需求 |
分析设计 |
将系统需求转化为未来系统的设计 逐步开放强壮的系统架构,使设计适合于实施环境,为提高性能而进行设计 |
|
实施 | 定义代码结构,以构件的方式实施类和对象,对已开发的构件按类和单元来测试,并且将结果集成到可执行的系统中 | |
测试 |
测试仅限于对各个类进行单元测试,测试工作流包括: 核实对象之间的交互 核实软件的所有构件是否正确集成 核实所有需求是否已经正确实施 确定缺陷,确保在部署软件之前将风险降到最低 |
表 RUP的工作流
注:其中业务建模、需求、设计、实施是《UML与模式应用》中重点关注的科目
- RUP的四个阶段
RUP阶段 | 工作内容 |
初始阶段 | 大体上的构想,业务案例,范围,和模糊评估。定义系统的业务模型,确定系统的范围。完成后建立目标里程碑 |
细化阶段 | 已精化的构想、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估。完成系统的体系结构设计,完成系统开发计划。建立结构里程碑 |
构建阶段 | 对遗留下的风险较低和比较简单的元素进行迭代实现,准备部署。构造产品,并继续演进需求、体系结构和计划,直到产品完成 |
移交阶段 | 进行系统部署,系统测试,最终移交给用户。最后建立发布里程碑 |
表 RUP的四个阶段
每个阶段都由一个或多个迭代组成。每个迭代都要针对不同的业务用例或系统用例进行细化和实现
4. 参考文档
[1] 论UP(统一过程方法)的应用
[2] 统一过程模型(RUP/UP)