瀑布模型
瀑布式软件开发模型采用的是阶段式软件开发方法,各个独立的阶段是逐级进行 的。例如,图 1-3 所示为,规划阶段之后,再进入设计阶段,而所有的设计结束之后,才进入开发阶段。该方法通常称作“大量预先设计”(BDUF),因为在最初的设计阶段,软件的最终形态就已经被充分预设,后续设计都要严格遵守设计理念。
图1-3 瀑布模型
多年以来,瀑布模型一直被看作“传统的”软件开发模式,但 21 世纪初敏捷
(Agile)软件开发模式的兴起,催生了一批新的软件开发人员,他们很幸运地没有被 呆板的瀑布模式浸染,因此,这一传统的模式也逐渐退出历史的舞台。瀑布开发模式经常受到抨击,因为它迫使客户要提前预测所有的商业需求,这降低了初期设计的灵活性 ;而且,软件产品也可能需要准时交付,但几周或几个月之后,客户的需求或目标可能早就已经转移了。因此,这就造成开发出的软件产品符合“预设的”需求,但无法满足“当前的”需要。
尽管当前的软件开发文献对瀑布模型进行了猛烈的抨击,但它仍有一个优点是SDLC 阶段分明,尽管各个阶段是强制进行的,但它的这个优点不可否认。例如,由于开发要以规划、设计为前提,所以软件开发人员只在充分考虑商业需求之后才编写软件,使软件能满足既定的目标。而且,由于所有的软件开发过程都在测试阶段之前完成,所以测试阶段能对照要求全面地审查软件的功能和性能。因此,尽管该模式比较呆板,但阶段分明的方法有利于控制SDLC 各个阶段的质量。