软件工程-软件生存周期模型

软件工程-软件生存周期模型

软件工程-软件测试
软件工程-软件测试-测试方法

概念

同任何事物一样,一个软件产品或软件系统也要经过孕育、诞生、成长、成熟、衰亡的许多阶段,一般称为软件生存周期。
软件的生命周期包括可行性分析与项目开发计划、需求分析、总体设计、详细设计、编码和单元测试、综合测试及维护阶段。

软件生存周期模型

概念

软件生存周期模型是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止。

模型

瀑布模型

概念

瀑布模型是将软件生存周期各个活动规定为先行顺序连接的若干阶段。

特点

1.快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的;
2.快速原型的本质是“快速”。应该尽可能快地建造出原型系统,以加速软件开发过程,节约成本。

优缺点

快速原型优点
1.克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险;
2.适合预先不能确切定义需求的软件系统的开发。
快速原型缺点
1.所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;
2.使用前提是要有一个展示性的产品原型,一定程度上可能会限制开发人员的创新。

适用于

无完整的需求说明,只有一些基本要求、用于及早向用户提交一个原型系统

增量模型

概念

增量模型把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
(瀑布模型+原型)

优缺点

演化模型的优点
任何功能一经开发就能进入测试,以便验证是否符合产品需求,可以帮助引导出高质量的产品要求。
演化模型的缺点
如果不加控制地让用户接触开发中尚未稳定的功能,可能对开发人员及用户都会产生负面影响。

适用于

需求不清楚、小型或中小型系统、开发周期短

螺旋模型

概念

螺旋模型的基本思想:使用原型及其他方法来尽量降低风险。把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。
(快速原型+瀑布模型)+风险分析

特点
优缺点

螺旋模型的优点:
1.主要优势在于它是风险驱动的。
2.对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;
3.减少了过多测试或测试不足所带来的风险;
4.维护只是模型的另一个周期,维护和开发之间没有本质区别。
螺旋模型的缺点:
1.采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
2.过多的迭代次数会增加开发成本,延迟提交时间。

适用于

1.特别适用于庞大、复杂并具有高风险的系统。
2.适用于内部开发的大规模软件项目。

喷泉模型

概念

喷泉模型:是典型的面向对象生命周期模型。 “喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。为避免使用喷泉模型开发软件时开发过程过分无序,应该把一个线性过程(例如,快速原型模型或图中的中心垂线)作为总目标。

软件工程-软件生存周期模型
优缺点
适用于

适用于面向对象的软件开发过程。

敏捷过程与极限编程

敏捷过程
敏捷软件开发宣言(价值观声明):
1.个体和交互胜过过程和工具;
2.可以工作的软件胜过面面俱到的文档;
3.客户合作胜过合同谈判;
4.响应变化胜过遵循计划;
根据上述价值观声明提出的软件过程统称为敏捷过程。
极限编程(eXtreme Programming, XP):
1.敏捷过程中最富盛名的一个;
2.广泛适用于需求模糊且经常改变的场合;
3.使得敏捷过程能够较好地适应商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月14日
下一篇 2020年7月14日

相关推荐