一个组织要退推广软件工程,就一定要建立自己的软件生命周期模型。而且由于软件项目的复杂性,组织的软件生命周期模型往往不是唯一的。因此,组织还要给出一个软件生命周期模型的选择指南。
组织常见的软件生命周期模型通常包括瀑布模型、螺旋模型、迭代模型。而组织的软件生命周期模型的选择指南通常都是根据需求是否明确来选择的:需求明确的项目就选择瀑布模型,需求不明确的项目就选择螺旋模型或迭代模型。
软件生命周期模型的选择指南真的就是这样简单吗?项目选择什么生命周期模型就只看需求是否明确吗?
当然没有那么简单。
软件生命周期模型不只规定了软件的开发阶段以及每个阶段的工作任务,实际上模型当中还融合了软件开发的方法、工具以及实践。正因为这样,我们在定义项目过程的时候,只需要按照既定的生命周期模型,结合项目的实际情况来安排任务就行了,这个时候我们不用再去考虑项目适合的软件开发方法,因为软件开发方法已经完全融入软件生命周期模型当中了。因为软件生命周期模型融合了软件开发的方法、工具以及实践,我们的软件生命周期模型选择掼就没有那么简单了——我们必须要考虑项目是否适合这些软件开发方法、工具和实践。
当前可选择的软件开发方法可不只瀑布模型、螺旋模型,实际上它有17种之多,包括:
除此之外,还有一些开发方法只针对特定的阶段或活动,这些方法包括:
组织在建立自己的软件生命周期模型时,根据组织项目的特点,可以将以上27种方法都融合到软件生命周期模型当中。所以软件生命周期模型选择指南仅仅考虑需求是否明确是不够的,我们还应该考虑以下几方面内容:
规模大小不一样,适合的软件开发方法也不一样。像敏捷开发,比较适合小规模软件;而团队软件过程更适合大型系统。
对于不同的软件类型,比如嵌入式软件、系统软件、信息化系统、商业软件、军用软件、游戏这些类型,要考虑哪种软件开发方法更适应。
对于不同性质的软件,如新开发软件、软件功能增强还是老软件改造,也要考虑哪种软件开发方法更适应。
选择的软件生命周期模型应支持软件的重要属性。如果一个软件开发生命周期模型不包括质量控制和质量度量活动,那么这个软件生命周期模型就不适合军用软件这样的关键软件开发。
据统计,选择合适的软件生命周期模型的软件项目似乎不到10%。通常人们选择软件生命周期模型的时候并没有考虑它是不是适合软件项目,大约有60%的人采用常用的方法,大约30%的人采用流行的方法,如敏捷开发。
这在一方面也说明软件生命周期模型选择指南的重要性。
想不想,你的软件生命周期模型选择指南真的实用吗?
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!