一、基本概念
- 1.软件过程模型也称为软件开发模型,是软件开发全部过程、活动和任务的结构框架。
- 2.典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式化方法模型。
- 3.软件过程:活动的一个集合。
- 4.活动:任务的一个集合。
- 5.任务:一个输入变为输出的操作。
二、瀑布模型
2.1 说明
- 1.瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。
- 2.将整个开发过程分解为一系列的顺序阶段过程。
- 3.如果发现问题则会返回上一阶段进行修改。
- 4.如果正常则到下一个阶段,和瀑布一样。
- 5.适用于需求比较稳定、很少需要变更的项目。
- 6.核心思想:按工序将问题简化,将功能实现和设计分开,采用结构化的分析与设计方法将逻辑实现与物理实现分开。
- 7.按软件生命周期划分为 制定计划、需求分析、软件设计、程序编写、软件测试和软件运维6个基本活动。
- 8.规定了6个活动自上而下、相互衔接的固定次序。
- 9.为软件的开发和运维提供了一种有效的管理模式,根据这一模式制定开发计划,进行成本预算,组织开发力量,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导。
- 10.是以文档作为驱动、适合于软件需求很明确的软件项目的模型。
- 11.一个待开发的系统需求是完整的、简明的、一致的,可以先于设计和实现完成之前产生。
2.2 瀑布模型图
![](https://i-blog.csdnimg.cn/blog_migrate/595ff0e3789f7803018fd5aa288b989d.png)
2.3 V模型
- 1.是瀑布模型的变种,测试活动是如何与分析和设计联系的。
- 2.V模型描述了质量保证活动和沟通、建模相关活动以及早期构建相关的活动之间的关系。
- 3.软件团队工作沿着V模型左侧步骤向下推进,基本问题需求逐步细化,形成问题及解决方案的技术描述。
- 4.编码结束,团队工作沿着V模型右侧的步骤向上推进,执行一系列测试,验证V模型左侧步骤向下推进过程中产生的每个模型。
- 5.V模型提供了一种验证确认活动应用于早期软件工程工作中的方法。
- 6.V模型图。
![](https://i-blog.csdnimg.cn/blog_migrate/efb008353eb260d044740bd57b54578b.png)
2.4 优点
- 1.容易理解、管理成本低。
- 2.强调开发的阶段性早期计划及需求调查和产品测试。
2.5 缺点
- 1.客户必须能够完整、正确和清晰地表达他们的需要。
- 2.在开始的两个或三个阶段中,很难评估真正的进度状态。
- 3.接近项目结束时,出现大量的集成和测试工作。
- 4.直到项目结束前都不能演示系统的能力。
- 5.需求和设计的错误往往只有到了项目后期才能发现,对于项目风险的控制能力较弱,从而导致项目常常延期完成,开发费用超出预算。