软件开发模型
一、软件开发模型简介
软件开发模型也称软件过程模型,它是软件开发全部过程、活动和任务的结构框架。
典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化模型等。
二、瀑布模型(Waterfall Model)
瀑布模型,简单来说就是开发过程像瀑布一样依次下落,按顺序进行。如图所示。
瀑布模型是以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,所以它是以文档作为驱动、适合软件需求很明确地软件项目的模型。
优点:容易理解,管理成本低,便于开发和维护,可以直接制定开发计划、组织开发力量、进行成本预算。
缺点:客户必须能够完整、正确和清晰地表达他们的需求;在开始的两个或3个阶段中,很难评估真正的进度状态;当接近项目结束时,出现了大量的集成和测试工作;需求或设计中的错误往往只有到了项目后期才能够被发现,对于项目风险控制能力较弱,从而导致项目常常延期完成,开发费用超出预算。
瀑布模型的一个变体是V模型,如图:
编码结束后,测试工作会推进每个结点逐步完善。