前言
为什么写这篇博客:软件工程是一门大学科,想学好必先理解总结归纳。
这篇文章说了什么:
介绍了常见的软件过程模型,介绍各个模型的特点,优缺点,以及适用场景
一、典型的过程模型
- 传统瀑布模型-1970年提出
从上面图片发现瀑布模型是有反馈环的:当在后面阶段发现前面阶段的错误时,需要沿反馈线返回前面的阶段 修正前面阶段的产品之后再回来继续完成后面阶段的任务
-
瀑布模型的优缺点
因为是要完全按照文档来开始,文档本身不规范,不经过一系列的分析的话,最后会造成寸步难行。 -
瀑布模型适用场景
- 需要稳定,变化小,且一次性能获得全部需求(这样就不会经常改文档了)
- 软件开发人员经验丰富,对领域十分熟悉(因为要严格按照文档来进行)
- 软件项目本身风险低
-
瀑布模型适用场景
瀑布模型要求严格,那肯定是要在那些功能,性能明确的项目上,而且项目没有变化需求。
2.快速原型
问:为什么要快速原型模型?
答:现实中有的项目对于需求是会经常改变的(当然也少不了不懂行的),比如那种操作系统,财务系统等等,这个时候使用快速模型就是一个非常好的选择了~~
-
快速原型模型
- 快速构建一个在计算机上运行的原型系统,让用户试用原型,收集用户反馈,获取用户需求
-
基本思想
- 系统的需求贯彻整个模型(逐步完善) ,比如:你开发了一个功能,用户觉得OK,那就留下,继续开发下一个,可以让用户很快的看见功能
-
与瀑布模型的比较
可以看见上面的图片瀑布模型每一层还要验证上面一层,看看是否符合规范,而快速模型直接验证通过就下一层了,大大节省了时间
-
原型的分类
-
废弃型(throw away):
也称为快速建立需求规格原型RSP法(Rapid Specific Protoyping)
当需求确认时废弃原型,按照瀑布模型规范进行。
-
追加型(add on):
也称为快速建立渐进原型RCP法(Rapid Cyclic Protoyping)
当模型创建好添加功能,需要的话还可以进行扩充,不废弃,最终成为原型模型(产品)
-
-
快速原型的开发过程
快速原型模型从流程图上来看,只要满意且符合立马做出,不符合也可以更快的很甲方沟通方便修正改进 -
快速原型法处理过程
客户全程在评,只要客户满意就OK~~ -
快速原型的特点
- 线性开发模型(不带“反馈环”)
- 减少开发的需求不确定性和盲目性
- 开发系统能满足需求,修改小(一次就搞好)
- 快速原型的适用范围
- 已有产品(原型)
- 简单而熟悉的领域
- 有快速原型的开发工具
- 进行升级和移植
-
快速原型的优缺点
缺点:
快速(功能不齐全就一个样子)
资源规划管理较为困难
对开发环境要求高优点:
处理模糊需求
用户参与
快速
3.增量模型(Incremental model)
基本思想:软件模块化,把软件产品作为一系列增量组件来设计编码
(先创建一个具备基本功子系统,然后对其完善)
-
特点
系统模块化和组件化 -
优点
系统模块化分批次的提交软件产品,使用户可及时的了解项目的进展
开发顺序灵活 -
缺点
要求待开发的软件系统可以被模块化 -
使用范围
项目分批次的交付
项目管理人员把握全局的水平较高
4.螺旋模型(Spiral model)
介绍:1988年 巴利玻姆,将瀑布模型和快速原型模型结合起来,强调风险分析
这个图是从内道到外道 风险分析-》软件需求-》需求确认...
- 优缺点
这个模型适合复杂的,高风险的大型项目(因为每个阶段有风险评估,而且细致)
5.喷泉模型(Fountain model)
喷泉模型以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发工程
-
特点
迭代无间隙 -
优点缺点
喷泉模型适用面向对象的软件开发
标签:需求,模型,瀑布,原型,UML,软件,快速 From: https://www.cnblogs.com/cxtd/p/16698121.html