首页 > 代码库 > 软件工程(三)——开发模型

软件工程(三)——开发模型

    建模是软件工程中最常用的技术,是为了理解事物而对事物做的一种抽象。视频中讲了瀑布模型,快速原型模型,增量模型,螺旋模型等,下面先对这四种模型做一下简单总结。

一、罗列

1、瀑布模型:

    将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。

优点:
(1)阶段的顺序性和依赖性
(2)推迟实现的观点

(3)质量保证的观点

缺点:缺乏灵活性,无法解决软件需求不明确或不准确的问题

2、快速原型模型

    首先快速建立一个能够反映用户基本需求的原型系统,让用户试用,以判断哪些功能符合,哪些需要改进,开发人员按照用户意见快速修改,然后再让用户试用……反复改进,最终建立完全复合用户需求的新系统。
优点:增加了开发人员和用户对系统的理解,克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
缺点:增加了成本,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。

3、增量模型

    集合瀑布模型的顺序特征和快速原型的迭代特征,非整体开发,把软件产品作为一系列的增量构件来设计,编码,组装和测试。
优点:较大灵活性,适合软件要求不明确,设计方案有一定风险的软件项目。

4、螺旋模型

    风险驱动模型,使用圆形及其他方法来尽量降低风险,当项目按照顺时针方向沿螺旋移动时,每一个螺旋周期均包含了风险分析,可以看做是在每一个阶段之前都增加了风险分析的快速原型模型。
优点:加入风险分析,极大的降低了软件风险。

二、归纳总结


1、相同点

    都包含“计划”,“开发”,和“维护”三种活动,“What-How-Change”概括了这三类活动的主要特征,即计划时期要弄清软件“做什么”,开发时期集中解决让软件“怎么做”,维护时期对软件的“修改”。


2、不同点

(1)瀑布模型适合于需求明确的软件项目。
(2)快速原型适合于需求不明确的软件项目。
(3)增量模型适合于软件要求不明确,设计方案有一定风险的软件项目。
(4)螺旋模型适合于大规模高风险的软件项目。


三、总结

    刚开始看着这么多不知道有什么区别,当我把它们全部列出来的时候,我就发现了其中的相同与不同,这就是所谓的罗列吧,罗列完了就要归纳总结。归纳总结后,也没有什么深入的理解,只是大概知道了什么时候该用什么模型吧。所以,当以后不知道怎么总结的时候,先把所有的东西罗列出来,再看它们之间的相同与不同。

软件工程(三)——开发模型