互联网信息化咨询/技术开发/整合营销
请通过以下方式免费咨询
提交
瀑布式开发
瀑布式开发是一种相对传统的计算机软件开发方法,1970年,著名的“瀑布模型”由Winston Royce明确提出,一直到八十年代还被人们广泛采用。
瀑布模型将软件的生命周期划分为六个阶段:制定计划、需求分析、软件设计、程序编写、软件测试、运行维护。并且规定它们的顺序是自上而下、相互衔接的,如同瀑布流水一般,“飞流直下三千尺”,快速达成客户的期望。
在这种模型中,软件开发的各种活动需严格按照线性的方式来进行,各项活动需要根据上一个活动的工作结果,实施完成所需的工作内容。当前活动在完成工作内容后,将结果进行验证,若验证通过,再将工作结果输入给下一项活动,然后继续下一项活动的工作内容,否则返回修改。
那么重点来了
瀑布式开发的优点是软件开发严格按照预先计划进行,需求明确,工作量可控。
随着时代的发展,瀑布式开发模式已经不适合现代软件开发,主要是因为以下几点:
1.各阶段划分明确,但阶段之间产生大量文档,加重了工作量。
2.由于计划严格按照线性方式进行,用户只有在软件开发末期才能看到成果,开发风险较高。
3.早期出现错误不能及时发现,可能导致严重后果。
4.各个阶段衔接过程时间成本较高,团队人员沟通交流困难。
边做边改模型
现实中许多小公司采用的都是这种开发模式中,在“边做边改”开发模式中,没有严格的规格说明,产品也没有经过精心的设计,只是根据客户的需求一次又一次地修改。
软件开发人员拿到项目后,立即根据客户的需求编写程序,调试成功后生成软件的第一个版本。将其提供给客户,如果程序发生错误或客户有新的需求,技术人员再修改程序代码,直到通过测试并且让客户满意。
那么重点来了
这样的开发方式前期出成效快,但只适合一些对于编写逻辑不太严谨的小程序等,对于正常规模的开发来说,是不太适用的,主要原因在于:
1.缺乏设计和规划等重要环节,使得软件的结构混乱,导致最终无法修改。
2.开发过程忽略软件测试和程序的可维护性,也没有具体的文档,维护起来十分困难。
快速原型
快速原型模型首先要创建一个快速原型,实现客户或者未来用户与系统的交互,根据客户或用户对软件原型的评价,来进一步明确待开发软件的需求。软件开发人员先了解客户的真实需求,然后不断调整原型,使其满足客户的要求,其次则在模型的基础上开发客户所需的软件。
快速原型可以降低瀑布式开发模式中由于需求不明确带来的风险。而快速原型的关键在于尽快建造出软件模型,原型系统的内部结构并不重要,一旦确定了客户需求,原有模型将不再需要而将其迅速修改。
那么重点来了
快速原型开发模式生命周期短,并且有点整合“边做边改模式”和“瀑布式开发模式”的意味,但这种模式可能会导致系统设计差和难以维护等问题。
迭代开发
迭代模型也可称为迭代进化式开发或迭代增量式开发,是一种可以弥补瀑布式模式缺点的软件开发过程,它具有更高的生产率以及成功率。
在迭代开发模式中,整个开发工作可分为一系列固定长度的、短小的小项目,被称为一系列的迭代。每一次的迭代过程都包括了需求分析、软件设计和软件测试等基本活动,采用这种开发模式,软件开发项目可以在客户需求完全确定之前启动,并在每一次迭代中完成系统的一部分功能和业务逻辑的开发工作。然后再根据客户的反馈来进一步细化需求,并开始新一轮的迭代过程。
那么重点来了
这种开发模式的优点有:
1.降低在一个增量上的开支风险
2.提早发现问题,降低产品不能按照预期进入市场的风险。
3.明确问题焦点,提高工作效率,加快工作进度。
4.迭代过程适应需求变化,复用性高。
螺旋式开发
螺旋模型是一种演化软件定制开发过程的模型,它既具有快速原型的迭代特征,又有瀑布式开发的系统化。它引入了其他开发模式所不具备的风险分析,使软件在面临风险时能及时停止,减少损失,非常适合大型复杂的软件应用开发。
螺旋模型沿着螺线进行若干次迭代,活动的过程可分为四个阶段。第一阶段:制定计划。确定软件开发的方案和目标,弄清限制条件。第二阶段:风险分析。分析评估所选方案,考虑如何规避风险。第三阶段:计划实施。进行软件开发和验证等。第四阶段:客户评价。评价开发工作,提出反馈或修改建议,进行下一步工作。
在螺旋模型中,第一个发布的模型可能是没有任何产出的,也许只是纸上谈兵的一个目标,但随着一次又一次的交付,每一个版本都会朝着同一个方向迈进,最终将得到一个更加完善的版本。可以说它是一个由风险驱动的方法体系,因为在每个阶段进行之前,都要先进行风险评估。