系统架构设计(十二):统一过程模型(RUP)
简介
RUP 是由 IBM Rational 公司提出的一种 面向对象的软件工程过程模型,以 UML 为建模语言,是一种 以用例为驱动、以架构为中心、迭代式、增量开发的过程模型。
三大特征
特征 | 说明 |
---|---|
以用例为驱动(Use Case Driven) | 需求分析和测试等以用例为核心展开。 |
以架构为中心(Architecture-Centric) | 强调早期构建稳定的软件架构,指导后续开发。 |
迭代增量开发(Iterative and Incremental) | 通过多次迭代逐步完善系统,每次迭代产生可运行子系统。 |
四个阶段(生命周期阶段)
RUP 将软件生命周期分为以下 四个阶段(Phases):
阶段 | 目标 | 主要成果 |
---|---|---|
初始阶段(Inception) | 明确项目范围、商业可行性,初步确定系统需求。 | 业务模型、初始用例模型、初始风险列表、项目计划、商业案例(Business Case) |
细化阶段(Elaboration) | 明确系统需求,建立基础架构,降低风险。 | 需求模型、架构基线、风险缓解方案、可执行架构原型 |
构建阶段(Construction) | 系统功能构建与实现,集成测试。 | 可运行的系统版本、开发说明文档、测试报告 |
移交阶段(Transition) | 系统部署到用户环境,用户培训和支持。 | 最终软件、用户文 |
六个核心工作流(工程流程)
RUP 的工作流(workflow)是开发活动的逻辑分组:
工程工作流 | 说明 |
---|---|
业务建模(Business Modeling) | 建立组织业务模型,识别业务流程与用例。 |
需求(Requirements) | 收集与分析用户需求,生成用例模型。 |
分析与设计(Analysis & Design) | 建立系统的逻辑视图和体系结构。 |
实现(Implementation) | 编码和构建组件,集成到系统中。 |
测试(Test) | 验证系统的功能和质量。 |
部署(Deployment) | 安装、配置系统,进行用户培训和技术支持。 |
支持性工作流
除了工程工作流,RUP 还定义了 三种支持性工作流:
支持性工作流 | 说明 |
---|---|
项目管理(Project Management) | 计划、监督和控制项目进度与风险。 |
配置与变更管理(Configuration & Change Management) | 控制版本、管理变更。 |
环境(Environment) | 提供工具、过程定制、培训支持。 |
迭代特征
每个阶段可包含一个或多个迭代,每次迭代都交付一个 可运行的子系统或原型,迭代包含:
- 需求分析
- 设计建模
- 实现编码
- 测试验证
迭代的好处:
- 降低风险
- 提前发现问题
- 提高灵活性
- 提升客户满意度
与其他模型的对比
比较项 | RUP | 瀑布模型 | 螺旋模型 |
---|---|---|---|
开发方式 | 迭代增量 | 顺序线性 | 迭代风险驱动 |
风险管理 | 强 | 弱 | 强 |
架构关注 | 强 | 一般 | 一般 |
适用项目 | 中大型、复杂 | 小型、需求稳定 | 高风险项目 |
考点总结
考点 | 说明 |
---|---|
RUP 的 4 个阶段及目标 | 初始、精化、构建、移交 |
RUP 的 9 大核心工作流 | 业务建模、需求、设计、实现、测试、部署、管理、配置、环境 |
RUP 的特性 | 用例驱动、架构中心、迭代增量 |
工件与角色的概念 | 工件是产出物,角色执行任务 |
RUP 与其他过程模型对比 | 特别是与螺旋模型和瀑布模型的比较 |