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