Files
obsidian/软件需求分析/各章笔记/第11章-RUP统一过程.md

165 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第11章 Rational统一过程RUP
> **考试重要度**:★★★
> **核心内容**RUP的三大特点、四个阶段、九个核心工作流、六大最佳实践
---
## 📢 软件开发不只是写代码
💬 开发软件就像盖一座大楼——你不能上来就搬砖,得先画图纸、打地基、搭框架、装修……
**RUP** 就是一套完整的"盖楼流程指南",告诉你:什么人、在什么时候、做什么事、怎么做。
---
## 💡 一、RUP是什么
> **RUP (Rational Unified Process)** = 一套基于UML的软件开发过程框架。
🔑 **核心公式**RUP = **用例驱动** + **以体系结构为中心** + **迭代和增量开发**
### 三大特点
| 特点 | 含义 |
|------|------|
| **用例驱动** | 从用例出发,贯穿需求→设计→实现→测试全过程 |
| **以体系结构为中心** | 先搭建系统骨架,再逐步填充细节 |
| **迭代和增量开发** | 不是一口气做完,而是一轮一轮地完善 |
---
## 💡 二、RUP的二维结构
```
┌─────────────────────────────────────┐
纵轴 │ 工作流 │
(做 │ 业务建模 需求 分析设计 实现 测试 部署 │
什么) │ 配置管理 项目管理 环境 │
├─────────────────────────────────────┤
横轴 │ 初始 → 细化 → 构造 → 移交 │
(什么 │ ↑ ↑ ↑ ↑ │
时候) │ 里程碑 里程碑 里程碑 里程碑 │
└─────────────────────────────────────┘
```
---
## 💡 三、四个阶段(横轴)
| 阶段 | 核心任务 | 里程碑 |
|------|----------|--------|
| **初始 (Inception)** | 定义项目范围,评估可行性 | 生命周期目标里程碑 |
| **细化 (Elaboration)** | 设计体系结构,制定计划 | 生命周期体系结构里程碑 |
| **构造 (Construction)** | 大规模开发,完成所有功能 | 初始操作能力里程碑 |
| **移交 (Transition)** | 交付用户,培训,部署 | 产品发布里程碑 |
💬 **比喻**:初始=立项审批,细化=画施工图,构造=主体施工,移交=交房验收。
---
## 💡 四、九个核心工作流(纵轴)
### 六个过程工作流
| 工作流 | 做什么 | 主要产物 |
|--------|--------|----------|
| **业务建模** | 理解业务现状 | 业务用例模型、业务对象模型 |
| **需求** | 定义系统功能 | 用例模型、SRS |
| **分析与设计** | 设计系统结构 | 分析模型、设计模型、数据模型 |
| **实现** | 编写代码 | 源代码、可执行系统 |
| **测试** | 验证系统质量 | 测试计划、测试报告 |
| **部署** | 交付使用 | 安装包、用户手册、培训资料 |
### 三个支持工作流
| 工作流 | 做什么 |
|--------|--------|
| **配置与变更管理** | 控制制品版本和变更 |
| **项目管理** | 计划、分配、监控项目 |
| **环境** | 提供开发工具和过程支持 |
---
## 💡 五、4W概念
RUP回答了软件开发的四个基本问题
| 维度 | 问题 | RUP概念 |
|------|------|---------|
| **Who** | 谁来做? | 角色Role |
| **How** | 怎么做? | 活动Activity |
| **What** | 产出什么? | 制品Artifact |
| **When** | 什么时候做? | 工作流Workflow |
---
## 💡 六、六大最佳实践
🔑 **这是考试的常考点!**
| 最佳实践 | 含义 |
|----------|------|
| **① 迭代式开发** | 不是一次做完,而是多轮迭代,每轮都有一个可运行版本 |
| **② 管理需求** | 用用例来组织和管理需求,控制变更 |
| **③ 使用基于构件的体系结构** | 把系统设计成可替换的构件 |
| **④ 可视化软件建模** | 用UML图来描述系统结构和行为 |
| **⑤ 验证软件质量** | 把质量评估嵌入整个过程,不是事后检查 |
| **⑥ 控制软件变更** | 通过配置管理跟踪和控制每个修改 |
---
## 💡 七、迭代 vs 瀑布
| 维度 | 瀑布模型 | RUP迭代 |
|------|----------|---------|
| **节奏** | 需求→设计→编码→测试,一次性 | 多轮迭代,每轮都走完整流程 |
| **风险** | 到最后才发现问题 | 早期就能发现和解决风险 |
| **变更** | 不欢迎变更 | 每轮迭代可以调整方向 |
| **产出** | 最后才有可运行版本 | 每轮都有可运行版本 |
---
## ✍️ 边学边练
**题目**判断以下描述对应RUP的哪个阶段或工作流。
1. 项目经理制定本次迭代的计划
2. 测试人员编写测试用例并执行
3. 确定系统的技术架构是B/S还是C/S
4. 系统上线,培训用户使用
5. 绘制用例图,确定系统功能范围
**答案:**
1. **项目管理**(支持工作流)| 可在任何阶段
2. **测试**(过程工作流)| 主要在构造阶段
3. **细化阶段** — 设计体系结构
4. **移交阶段** — 交付给用户
5. **初始阶段****需求工作流** — 定义范围和功能
---
## 📝 章末自测
**1. 填空题**
- RUP的三大特点是 ___ ___ )、( ___ ___ )、( ___ ___
- RUP的四个阶段依次是 ___ ___ )、( ___ ___ )、( ___ ___ )、( ___ ___
- 九个核心工作流中6个是 ___ ___ 工作流3个是 ___ ___ )工作流
**2. 简答题**
- 简述RUP六大最佳实践。
- 迭代和增量开发相比瀑布模型有什么优势?
**答案:**
**填空题**
- 用例驱动、以体系结构为中心、迭代和增量开发
- 初始、细化、构造、移交
- 过程、支持
**简答题**
- ①迭代式开发 ②管理需求 ③使用基于构件的体系结构 ④可视化软件建模 ⑤验证软件质量 ⑥控制软件变更
- 迭代开发可以早期发现风险、更容易容纳需求变更、每轮都有可运行的版本(增强信心)、可以根据反馈及时调整方向。
---
> 🔗 上一篇:[第9章 数据建模](第09章-数据建模.md)