你的软件生命周期模型选择指南真的实用吗?
一个组织要退推广软件工程,就一定要建立自己的软件生命周期模型。而且由于软件项目的复杂性,组织的软件生命周期模型往往不是唯一的。因此,组织还要给出一个软件生命周期模型的选择指南。
组织常见的软件生命周期模型通常包括瀑布模型、螺旋模型、迭代模型。而组织的软件生命周期模型的选择指南通常都是根据需求是否明确来选择的:需求明确的项目就选择瀑布模型,需求不明确的项目就选择螺旋模型或迭代模型。
软件生命周期模型的选择指南真的就是这样简单吗?项目选择什么生命周期模型就只看需求是否明确吗?
当然没有那么简单。
软件生命周期模型不只规定了软件的开发阶段以及每个阶段的工作任务,实际上模型当中还融合了软件开发的方法、工具以及实践。正因为这样,我们在定义项目过程的时候,只需要按照既定的生命周期模型,结合项目的实际情况来安排任务就行了,这个时候我们不用再去考虑项目适合的软件开发方法,因为软件开发方法已经完全融入软件生命周期模型当中了。因为软件生命周期模型融合了软件开发的方法、工具以及实践,我们的软件生命周期模型选择掼就没有那么简单了——我们必须要考虑项目是否适合这些软件开发方法、工具和实践。
当前可选择的软件开发方法可不只瀑布模型、螺旋模型,实际上它有17种之多,包括:
-
敏捷开发
-
净室开发
-
水晶开发
-
动态系统开发
-
极限编程
-
混合开发
-
迭代开发
-
面向对象开发
-
基于模型开发
-
个体软件过程
-
快速应用开发
-
RUP
-
螺旋式开发
-
结构化开发
-
团队软件过程
-
V模型开发
-
瀑布模型
除此之外,还有一些开发方法只针对特定的阶段或活动,这些方法包括:
-
代码审查
-
数据状态设计
-
设计审查
-
基于流的编程
-
联合应用设计
-
精益六西格玛
-
结对编程
-
质量功能展开
-
需求审查
-
软件六西格玛
组织在建立自己的软件生命周期模型时,根据组织项目的特点,可以将以上27种方法都融合到软件生命周期模型当中。所以软件生命周期模型选择指南仅仅考虑需求是否明确是不够的,我们还应该考虑以下几方面内容:
-
软件规模
规模大小不一样,适合的软件开发方法也不一样。像敏捷开发,比较适合小规模软件;而团队软件过程更适合大型系统。
-
软件类型
对于不同的软件类型,比如嵌入式软件、系统软件、信息化系统、商业软件、军用软件、游戏这些类型,要考虑哪种软件开发方法更适应。
-
软件性质
对于不同性质的软件,如新开发软件、软件功能增强还是老软件改造,也要考虑哪种软件开发方法更适应。
-
软件属性
选择的软件生命周期模型应支持软件的重要属性。如果一个软件开发生命周期模型不包括质量控制和质量度量活动,那么这个软件生命周期模型就不适合军用软件这样的关键软件开发。
据统计,选择合适的软件生命周期模型的软件项目似乎不到10%。通常人们选择软件生命周期模型的时候并没有考虑它是不是适合软件项目,大约有60%的人采用常用的方法,大约30%的人采用流行的方法,如敏捷开发。
这在一方面也说明软件生命周期模型选择指南的重要性。
想不想,你的软件生命周期模型选择指南真的实用吗?
参考书目:《软件工程最佳实践》
《你的软件生命周期模型选择指南真的实用吗?》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.bookhoes.com/4071.html