针对RUP相关内容整理如下:(持续更新补充)
目录
定义
RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。
核心概念
角色
- RUP预先定义了许多角色,角色描述了在项目开发中,一个人或者一个开发团队的工作职能与任务。
活动
- 它是一个有明确功能的独立模块,反映了系统的某个功能。
工件
- 它是在活动进行过程中产生、创建或修改的一段信息,同时也是项目开发的文档资料。
其他相关,检查点、模板、工作指南、报告、工具指南等
三大特点
一,软件开发是一个迭代过程
- 初始 ( Inception ) :目标是为系统建立商业案例并确定项目的边界
- 细化 ( Elaboration ):目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
- 构造 ( Construction ):所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
- 交付 ( Transition ):确保软件对最终用户是可用的。
二,软件开发是由Use Case驱动的
用例贯穿整个软件开发的生命周期。在需求分析中,客户或用户对用例进行描述,在系统分布和系统设计过程中,设计师对用例进行分析,在开发实现过程中,开发编程人员对用例进行实现,在测试过程中,测试人员对用例进行检验。
三,软件开发是以架构设计(Architectural Design)为中心的。
- 基础框架( Framework)
- 公共组件的设计 (审计( Auditing)系统、日志(Iog)系统、错误处理(Exception Handling)系统、安全(Security)系统等)
- 可扩展性( Extensibility)
- 安全性(Security)
- 可维护性( Maintainability)
- 可延拓性(Scalability)
- 可重用性(Reusability)
- 运行速度(Performance)
核心工作流
- 商业建模 (过程)
- 需求 (过程)
- 分析和设计 (过程)
- 实现 (过程)
- 测试 (过程)
- 部署 (过程)
- 配置和变更管理 (支持)
- 项目管理 (支持)
- 环境 (支持)
十大要素
1. 开发前景
- 前景作为验证将来决策的方式之一
- 回答:关键术语是什么?(词汇表) 我们尝试解决的问题是什么?(问题陈述) 涉众是谁?用户是谁?他们各自的需求是什么? 产品的特性是什么? 功能性需求是什么?(Use Cases) 非功能性需求是什么? 设计约束是什么?
2. 达成计划
3. 标识和减小风险
- 项目早期就标识并处理最大的风险。
- 项目组标识的每一个风险都应该有一个相应的缓解或解决计划。
4. 分配和跟踪任务
- 定期的项目状态评估提供了讲述、交流和解决管理问题、技术问题以及项目风险的机制。
- 团队一旦发现了这些障碍物(篱笆),他们就把所有这些问题都指定一个负责人,并指定解决日期。
5. 检查商业理由
- 决定一个项目是否值得投资, ROI
6. 设计组件构架
7. 构建和测试
8. 验证和评价结果
- 越早发现问题,就越没有问题。(原文:The sooner you fall behind,the more time you will have to catch up.)
9. 管理和控制变化
10. 提供用户支持
相关观点
- RUP是一个流程定义平台,是一个【流程框架】。
- 风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。
- RUP所规定出的流程,进行客户化定制,定制出适合自己组织的实用的软件流程。
- 迭代式开发大大降低了项目开发的风险,提高了软件开发的效率。
- 每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
- RUP细化阶段的主要目的构造出一个可运行的架构原型。