RUP(RATIONAL Unified Practices)
之前在博客的总结中呢简要的介绍了一下RUP,今天在这里详细的叙述一下。在介绍RUP之前呢先简单说一下软件软件危机的特征和开发所面临的的问题。
- 软件危机特征:
1.开发周期超过规定日期
2.开发成本严重超标
3.软件质量难于保证
- 软件开发面临的问题:
1.不能满足需求和定位需求
2.模块难于集成
3.到最后才发现错误
4.对于终端用于质量差
5.负载时性能差
6.没有协调团队的能力
7.不断修改,发布问题
RUP(统一过程)
是面向对象的软件开发过程,一个过程是指想要达到一个目标而采取的一组有序的步骤。
RUP适应于UML的生命周期方法,RUP提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基础进行软件开发。
- RUP所处理的问题
1.有缺陷的、无法预见结果的、高度依赖与个别“英雄”程序员的、不可重复的开发过程
2.软件不适应用户需求
3.不能很好的变更需求
4.需要单调乏味和昂贵的测试流程
5.项目中严重缺陷发现的太迟
一. RUP措施:
迭代式开发
管理需求
使用构件架构
可视化建模
检验质量
控制变更
- 瀑布模型的缺点:
延迟关键风险解决
延迟和集中系统的集成和测试
排除了早期部署
经常导致较大的无计划的反复
- 迭代开发详述:
1.每个版本都在固定时间被开发
2.迭代成果是一个可执行产品的一个版本,是最终产品的子集
3.通过多次迭代连续增加和精化系统,在每个迭代过程逐步增加信息、细化
4.每次迭代选择目前对风险影响最大的使用实例进行,来分解和降低风险。
- 迭代式开发的优点:
降低风险
得到早期用户反馈
持续的测试和集成
适应变更
提高复用性
- 风险分析
需求管理
下面这幅图就是一款软件所经历的各个阶段,从客户需求的描述到程序编码以及商业顾问的诠释。
我觉得很形象所以就保留下来了。
- 包括
1.提取、组织烯烃的功能约束,并将它们写成文档;
2.估计需求的变化并评估它们会产生的影响;
3.跟踪需求的实现
采用构件架构优势:
1.对体系结构可以自上而下设计、实现和测试
2.用系统化做法来定义好的体系结构
3.用定义明确的接口使变更有弹性
4.采用现成的和****得到的构件
5.由高级别的用例来驱动
6.易于直观上的理解
RUP的基本特征
1.迭代式增量开发
2.用例驱动
采用用例驱动软件的整个开发过程,保证需求的可跟踪性,确保系统所有功能均被实现。
3.以软件体系结构为中心
开发早起识别与软件体系结构紧密相关用例,形成体系结构框架后续细化最终实现整个系统。
RUP软件开发生命周期
- 周期开发过程四个阶段:
起始阶段:为项目监理一个业务案例
细化阶段:建立工程计划和合理的体系结构
构件阶段:建造系统
提交阶段:把系统提供给最终用户
RUP带来的观念变化:
1.有更强的预见性,每次迭代都要仔细规划。
2.坦然面对迭代过程中推倒再重来,迭代过程中的细化和响应工具的支持影响是可以控制的。
3.软件首位
4.尽早进行困难工作
5.确定迭代数量加强开发过程监控