1.瀑布模型
瀑布模型也称软件生存周期模型或线性顺序过程模型,由W.Royce于1970年首先提出的,提供软件开发的系统化的和顺序的方法。它是将软件生存周期各活动规定为线性顺序连接的若干阶段的模型,包括问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试和维护。瀑布模型从需求分析开始,逐渐进行,直至通过测试并得到用户确认的软件产品为止。瀑布模型的上一阶段的输出结果是下一阶段的输入,如同瀑布流水,逐级下落。
1.瀑布模型表示瀑布模型表示如图1.1所示。该模型说明整个软件看法过程是按图中五个阶段进行的。每个阶段的任务完成之后,产生相应的文档,经过确认后的文档表明该阶段的工作完成了,可以进行下一阶段的工作。每个阶段均以上一阶段的文档作为开发的基础,如果某阶段的文档出问题,则可能需要追溯到前一些阶段,必要时还要修改前面已经完成的文档。
2.瀑布模型的优点①它提供了一个模板,模板使得分析、设计、编码、测试和维护的方法可以在该模板下有一个共同的指导。②虽然有不少缺陷,但比在软件开发中随意的状态要好得多。
3.瀑布模型的缺点①实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。②在通常情况下,用户难以表达真正的需求,而这种模式却要求如此,这种模型是不欢迎具有二义性问题存在的。③用户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时若发现大的错误,可能引起用户的惊慌,而后果也可能是灾难性的。④采用这种线性模型,经常在过程的开始和结束时,要等待其他成员完成后,才能进行下去,有可能花在等待的时间比开发的时间要长。我们称之为“堵塞状态”。
2.快速原型模型
1.原型模型原型就是可以逐步改进成运行系统的模型。开发者在初步了解用户需求的基础上,凭借自己对用户需求的理解,通过强有力的软件环境支持,利用软件快速开发工具,构成﹑设计和开发一个实