学习软件工程,软件开发模型是很重要的一部分,下面就来为大家介绍几种基本的软件开发模型:
一、瀑布模型:
本篇博客采用图文结合的方式来为大家讲解,模型的特点讲解都放在了图上,下面几张图依然一样。
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
瀑布模型是最早的开发模型,到现在几乎已经被淘汰了,但是它清晰的层次性思想,依然被人们所沿用。
二、b模型:
这也是一种迭代思想的体现。
三、快速原型法:
首先制出样品以表达设计构想,快速获取产品设计的反馈信息,并对产品设计的可行性作出评估、论证。这种快速原型的思想还是比较为用户考虑的,这一点非常赞同。
四、渐增模型:
渐增模型是典型的先整体后部分,先实现部分功能,然后逐渐完善。
五、螺旋模型:
这是一种演化软件开发过程模型,兼顾了快速原型的迭代的特征以及瀑布模型的层次化与严格审查性。最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
缺点:建设周期长,很可能开发出来的时候,软件已经过时了。
六、喷泉模型:
优点:不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点:喷泉模型的缺点也很明显,由于在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
最后来和大家探讨一下原型思想(原型也是增量模型的另一种体现形式):
思想:允许从部分需求出发,先建立一个不全面的系统,通过测试系统,逐步扩充、完善。
优点:开发过程中开发人员和客户共同参与,有问题可以随时修改,很好的满足用户需求。
缺点:周期长,成本高,整体结构、软件文档不如瀑布模型划分严格。