2010年12月9日,年度收官技术盛宴SD2.0大会在上海光大会展中心国际大酒店隆重开幕。这是自2007年成功举办首届以来,由CSDN和《程序员》杂志主办的连续第四届SD2.0(软件开发2.0)大会。来自IBM、微软、盛大、FaceBook、阿里巴巴等众多企业的技术领袖全部汇聚,共同剖析当前IT技术发展大势,分享在各自领域的技术成就与成功秘诀。
Parasoft China 技术总监伍宏益,在软件工程分论坛做了题为《打开SDLC的黑盒子》的主题演讲。
软件生命周期(SDLC)是一个黑盒子,软件项目的整个开发过程包含很多的阶段,在这之中项目开发团队可能会发现软件项目的进度拖延、预算超支、软件性能下降或者各个功能不能按照预期值正常运转等各种各样的隐性问题及不可控的风险,这让开发团队很难去控制整个过程,伍宏益认为只有整个过程可视化,才能有效的进行的控管,达到可预测性。
伍宏益首先谈到了什么是软件的开发生命周期。在做一个项目的时候可能分为几个阶段,包括项目计划、系统分析、系统设计、编码实施、整合测试、发布安装以及后期维护。这样的一个过程是连续不断的,我们让它透明化,从而就能掌握整个项目的发展。
而整个软件生命周期又有多个不同的模型,包括:瀑布式模型,迭代式增量软件开发模型,快速原形模型,螺旋模型。
伍宏益说,瀑布型模型比较偏向我给客户做完这个需求沟通,我们把这样一个设计的内容跟信息记录下来,形成一个文档,若要继续下一个阶段的开发,就必须等前一个阶段的需求完成以后才可以进行下一步。这个也是比较早的软件开发公司常常使用的模型,当然这个模型的坏处是太浪费时间,虽然它是比较严谨的过程,每个阶段都要搞的很清楚以后才能进行下一步的动作,那么这个模型当然就会造成你这个开发的过程会变的比较冗长一点。在这个基础上进化就有了迭代式的软件开发模型。它的意思是我们每一次迭代就代表我可以发布一种版本,等到这些迭代完成的时候就可以完成一个版本,这个版本可以让用户去使用。快速原形模型,这是一个大多数企业都在使用的模型,这种模型的好处是可以比较快速的反应一些需求,快速实现一些需求。至于螺旋模型,它的观念是结合瀑布模型的严谨,然后又结合了迭代型的灵活。
既然在软件开发过程中会运用这些模型,那么就有必要去探讨一下它们的优劣。简而言之,其优点有:可控性、利于管理大型项目、步骤详细、可评估性、文档化、可维护性、设计与开发标准化流程;缺点有:延长开发时间、增加开发成本、系统必须事先设定好、难以估算成本、刻板化。
在接下来的演讲中,伍宏益例通过具体的软件开发实例,从项目概况、迭代概况、项目细节以及策略细节等方面演示了管理和改进软件开发生命周期的闭环流程。
网友评论