一.软件生存期模型
1.瀑布模型
带有反馈环,其中实线代表开发过程,虚线代表维护过程
特点:
(1)顺序性和依赖性,前后顺序要求严格
(2)编码前会进行分析和设计,在这两个阶段只考虑系统的逻辑模型,不涉及物理实现。
(3)每个阶段必须完成规定的文档,在每个阶段结束前,必须对文档进行评审,以便尽早发现问题。
缺点:
(1)瀑布模型几乎完全依赖于书面的规格说明,如果用户需求和规格说明有差异,就有可能出现最终开发出的软件产品不能完全满足用户的需求。
(2)只适用于项目开始时需求已确定的情况
2.快速原型模型
先快速建立起一个具有部分功能的可以运行的程序
优点:
(1)有助于满足用户的具体需求
(2)原型系统已经得到用户的验证,据此产生的规格说明已经能正确的描述用户需求。因此后续不会因为规格说明的错误而进行较大的返工。
(3)开发人员在建立模型时已经进行了学习和了解,所以在编码阶段出现错误的的可能性也比较小。
(4)原型的作用主要为更好的了解用户需求,因此当需求确定了,原型可以舍弃,也可以在原型基础上继续开发。
3.增量模型
将软件产品作为一系列的增量构件来设计、编码、集成和测试。每个增量构件实现某种系统功能。
优点:
(1)从第一个构件交付之时,用户就可以做一些有用的工作。
(2)逐步增加产品的功能,相比一个全新的软件,用户更容易学习和适应。
(3)项目失败的风险较低
(4)优先级最高的服务优先交付,因此最重要的系统服务需要接受最多的测试。
要注意的问题:
(1)加入新的构件时,不能破