软件工程五大模型
软件工程五大模型
1.瀑布模型(最重要的,以下模型基本上以瀑布模型为基础)
瀑布模型将软件生命周期分为三个阶段:定义阶段,开发阶段,运行和维护阶段
1)思想:制作时间上按工序把问题化简
将功能实现与制作分开便于分工协作
2)优点:奠定了软件工程方法的基础
流水依赖,便于分工协作
推迟物理实现,易于修改文档,有复审质量保证
3)不足:与用户见面晚,成功率低,一般为25%,
4)适用范围:
适用于系统要求明确的系统
各种应用软件的开发均可使用
5)开发方法:明确规定每个阶段的任务,不同阶段的任务有不同级别的软件人员承担
6)开发特点: 时间的顺序性,依赖性
推迟实现的观点
质量保证的观点
2.快速原型模型
结构优点:在结构上看,快速原型模型是不带反馈环的,使得采用这种模型的软件产品的开发基本上是线性顺序的。只有在产品发布运行之后才需要再来维护。
重心:快速原型模型的重点是建立“快速原型”。
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
3.渐增模型
1)思想: 从部分需求出发,先建立一个不全面的系统,通过测试这个系统,进一步是系统扩充和完善
2)优点: 开发人员和用户始终共同参与,有问题随时更改,很好的满足用户需求
3)使用范围:知识型软件的开发
4)特点:
整体上不如瀑布模型清晰
软件的文档不如瀑布型划分严格
周期长,成本高
与用户见面快,开发效率高
4.螺旋模型
5.喷泉模型
变换型:
1)思想:
从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终结果
2)特点:
有严格的数学理论和形式化的技术支持,单目前研究和实验阶段,不能实用
3)喷泉型:认为软件的各个周期是相互重叠的和多次反复的
4)螺旋型:多次原型反复并增加风险评估的开发模型。