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