瀑布模式分析

瀑布模式简介及分析

1.什么是瀑布模式?
瀑布模型将软件生命周期划分为问题定义、可行性分析、需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,故而形象地称为“瀑布模型”。
其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
瀑布模式分析_第1张图片
2.为什么会产生瀑布模式,或者瀑布模式有什么必要性?

任何行业都要经历一个从无到有的过程。对于软件开发这个行业,在一开始的一片混乱,工作人员工作的无序性,随意性和项目的返工率高等现象都表明这个行业缺少一个标准。而这个标准正是从规范工作,减少错误,加快效率这些方面制定,具体体现在以下几个方面:

a.阶段间的顺序性和依赖性
顺序性是指:在瀑布模型软件开发过程中必须等到前一阶段的工作完成以后,才能开始下一阶段的工作。
依赖性是指:前一阶段的输出文档就是后一阶段的输入文档。因此前一阶段文档的正确性是保证后一阶段工作的前提条件。

b.推迟实现的观点
采用瀑布模型会强制研发人员按照阶段步骤进行软件设计,避免了一开始就直接进行详细编码的错误做法。编码处于软件开发的中后期,强调了需求分析和系统设计的重要性,体现了推迟实现的观点。如果坚持阶段性的评审,采用瀑布模型可以避免后期大量返工的现象,还可以减少后期维护工作的人力和费用。

c.文档驱动推进研发进程
瀑布模型在每阶段要完成规定的文档。软件开发是许多人共同参加、分工合作的工作,完整而合格的文档是开发人员间联系的媒介,同时是维护时期的重要依据。所以没有完成文档,就被认为没有完成该阶段的工作。

3.就当时看,瀑布模式有什么优点?

a.瀑布模型提供了一个标准或者说是框架,使得软件软件开发可以在这个框架下有条不紊的进行,克服了软件开发的随意性。

b.推迟了编码测试等,强调了需求阶段和设计阶段的重要性,避免出现后期大量返工的现象,减少后期维护工作的人力和费用。

c.当前一阶段完成后,才开始要去关注下一阶段,以规定的时间点和规定的文档进行评审,以便尽早发现错误和改正错误,可以实现阶段性质量保证。

d.完整的软件配置文档,便于设计和后期维护。

4.就现在看,瀑布模式有什么缺点?

a.从客户角度考虑:只有在整个过程的后期才能见到产品,中间沟通较少,从而增加了客户对开发产品不满意的风险;对于软件需求不明确和变更追加需求的客户很不友好。

b.从流程角度考虑:线性模式过于刻板,在上一阶段未完成就进入不了下一阶段会导致项目组工作效率的降低。

c.从工作人员考虑:追求过多的文档导致工作人员很难集中在自己所工作的内容。

题外:其实就瀑布模式的文档来说,该如何定义它是优点还是缺点呢?按现在的标准,极大增加了工作人员的工作内容,肯定是不好的,但按照当时,通讯工具不够强大时,一个项目组那么多工作人员,大家如何能有条不紊的衔接好工作呢,只能依照阶段性的文档,所以放在当时一定必不可少的一环!而现在,通讯工具强大,多注重工作团队之间还有与客户需求之间的沟通,过多文档反而是个累赘。所以剖析视角看没有绝对的优点也没有绝对的缺点,结合时代和项目组的条件因地制宜才是王道。

你可能感兴趣的:(devops,敏捷开发)