RUP
Rational Unified Process
目前阶段在学习UML,怎么会写RUP呢?学习UML是为了更好的把系统搭建好,RUP也是一样,为系统服务!
软件危机
美国国家总审计局,在1983年,对所有交付给政府的项目进行了研究发现,只有3%的项目可以按时交付!当时软件开发周期大大超过了规定日期,开发成本严重超标,并且软件质量难以保证!
最后经分析软件开发面临的问题
1,不能满足用户或商业的要求
2,不能很好的定位需求
3,模块难以集成
4,到最后才发现错误
5,对于终端用户来说质量较差
6,负载时性能差
7,没有协调团队的努力
8,不断的修改,发布问题
面对这样的问题,RUP公司开发和维护的过程产品,是目前影响较大的,面向对象的软件开发过程,RUP提供了在开发机构中分派任务和责任的纪律化方法,其目标是能够在预定的进度和预算中,提供高质量的满足最终用户需求的软件。
迭代式开发
此外,迭代式开发是RUP的一大重点!其优点在于:
1,降低风险
2,得到早起用户反馈
3,持续的测试和集成,
4,适应变更
5,提高复用性
详述:
- 迭代是一种技术,用来把系统功能传递到一系列连续的增量的完整版本
- 每个版本都在一个特定固定的时间段被开发,该时间段称之为迭代
- 迭代的成果是一个可执行产品的一个版本,是最终系统产品的一个子集
- 通过多次迭代连续增加和精华系统,在每个迭代过程中逐步增加信息、进行细化
- 每次迭代都选择目前对风险影响最大的使用实例进行,以分解和降低风险
RUP带来的观念变化,有可能影响到软件工程的许多基本概念,但还有待于观察,对软件开发过程的管理是为了更好的支持和促进软件开发,而不是制约软件开发,软件开发成功与否的标致,不只是开发出实现了用户需求的产品,而且还包含了时间、成本对维护与有效支持。