一、软件开发模型
软件开发模型大体上可分为两种类型,第一种是以软件需求完全确定为前提的瀑布模型。第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺旋模型等。实践中经常将几种模型组合使用以便充分利用各种模型的优点。
(1)瀑布模型瀑布模型也称软件生存周期模型,由W.Royce于1970年首先提出。
根据软件生存周期各个阶段的任务,瀑布模型从系统需求分析开始,逐步进行阶段性变换,直至通过验收测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻的两个阶段具有因果关系,紧密相联。
一个阶段工作的失误将蔓延到以后的各个阶段。为了保证软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该反馈到前面的有关阶段修正错误、弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段,这种形式的瀑布模型是带有反馈的瀑布模型,
模型中各个阶段的任务和软件开发活动如前所述。瀑布模型在软件工程中占有重要的地位,它提供了软件开发的基本框架,这比依靠“个人技艺”开发软件好得多。它有利于大型软件开发过程中人员的组织和管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。
瀑布模型的主要特点是:
阶段间的顺序性和依赖性,开发过程是一个严格的下导式过程,即前