文章目录
- 软件过程模型
- 瀑布模型
- 模型图
- 特点
- 优缺点
- 改进后的瀑布模型
- 快速原型模型
- 模型图
- 优缺点
- 增量模型(迭代-递增模型)
- 原型图
- 与瀑布和快速原型的区别
- 优缺点
- 风险更大的增量模型
- 螺旋模型
- 简介
- 模型图
- 优缺点
- 喷泉模型
- 模型图
- 优缺点
- 编码修补模型
- 敏捷过程优缺点
- Rational统一过程
- 优点
- 微软公司软件开发过程*
软件过程模型
瀑布模型
模型图
特点
1、阶段具有顺序性和依赖性
前一阶段结束,后一阶段开始,前一个阶段的输出文档是后一个阶段的输入文档。
2、推迟实现观点
编码前设置系统分析、系统设计,推迟程序物理实现,保证前期工作扎实。
3、质量保证
每阶段坚持两个做法:一、每阶段必须完成完整、准确的文档。二、每阶段结束前对文档评审。
优缺点
1、优点
提高软件质量,降低维护成本,缓解软件危机
2、
缺乏灵活性,无法解决需求不明确问题、用户不经过实践提出完整需求不切实际。
改进后的瀑布模型
快速原型模型
模型图
优缺点
优点:
1、确定需求上优于瀑布模型,通过原型与用户交互
2、提供学习手段,通过开发原型和演示原型对开发者和使用者了解系统都有积极作用
3、有的原型最后会成为最终产品的一部分
缺点:
快速建立的系统结构加连续修改可能导致产品质量低下,原型系统的内部的结构可能不好
增量模型(迭代-递增模型)
又称渐增模型
原型图
与瀑布和快速原型的区别
瀑布和快速模型是一次满足所有需求产品提交给用户
增量模型是分批向用户提交产品
优缺点
优点:
1、较短时间向用户提交可完成有用工作产品
2、用户有充裕时间学习适应产品
3、软件架构开放,方便向现有产品加入新构件
缺点:
第三点不容易做到
风险更大的增量模型
普通的增量模型在实现构件前完成总体的需求分析、规格说明和概要设计,相对风险较小
后面这种:确定用户需求后,各构件集并行构建
螺旋模型
简介
主要适用于内部开发的大规模软件项目
模型图
优缺点
优点:
大型软件开发项目有较好的风险控制
缺点:
1、需要风险评估的经验
2、契约开发通常需要事先指定过程模型和发布产品
3、普及不如前述模型
喷泉模型
模型图
优缺点
优点:
无缝,可同步开发,提高开发效率,节省开发时间,适应面向对象软件
缺点:
可能随时加各种信息、需求和资料,需严格管理文档,审核的难度加大
编码修补模型
当一个如软件在没有规格说明或主要设计的情况下被开发时,开发者往往不得不重新对产品编码多次直到得到正确稳定的产品
优点:
适用于不需要任何维护的小程序
缺点:
不适合重要程序
敏捷过程优缺点
把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态
优点:具有对变化和不确定的更敏捷,更快捷的反应特性,在快速的同时仍然能保持开发速度
缺点:由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难
适用于商业竞争环境下对小型项目提出的有限资源,有限开发时间的约束
Rational统一过程
优点
优点:他是不断的迭代来完成一个软件开发的,不断的版本发布成为一种团队的日常工作的真正驱动力,将发现问题,制定方案和解决过程集成到下一次迭代。迭代开发降低风险