软件工程模型
课程连接 --> [进入]
过程模型
- 过程模型为软件工程工作提供了特定的路线图,该路线图规定了所有活动的流程、动作、任务、迭代的程度、工作产品及要完成的工作应如何组织。
- 提出过程模型是为了改变软件开发的混乱状况,使软件开发更加有序。
过程模型分类
惯用的过程模型
- 瀑布模型
- V模型
- 增量过程模型
- 演化过程模型
- 原型开发
- 螺旋模型
- 并发开发模型
专用过程模型
- 基于构建的开发
- 形式化方法模型(变形方法:净室软件工程)
- 面向方面的软件开发
统一过程
4.1 惯用过程模型(传统的)
惯用过程模型:
- 规定了一套过程元素——框架活动、软件工程动作、任务、工作产品、质量保证以及每个项目的变更控制机制。
- 过程模型还定义了工作流,即过程元素之间相互关联的方式。
- 所有的软件过程模型都支持通用框架活动,但是每一个模型都对框架活动有不同的侧重,并且定义了不同的工作流如何以不同的方式执行每一个框架活动。
4.1.1 瀑布模型
瀑布模型(the waterfall model),又称为经典生命周期
它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持。
瀑布模型的基本思想
- 将软件开发过程划分为分析、设计、编码、测试等阶段。
- 软件开发要遵循过程规律,按次序进行。
- 每个阶段均有里程碑和提交物。
- 工作以线性方式进行,上一阶段的输出是下一阶段的输入。
瀑布模型的优点
- 简单、易懂、易用。
- 为项目提供了按阶段划分的检查点,项目管理比较规范。
- 每个阶段必须提供文档,而且要求每个阶段的所有产品必须进行正式、严格的技术审查。
运用瀑布模型遇到的问题
- 实际的项目很少遵守瀑布模型提出的顺序
- 客户通常难以清楚地描述所有的需求
- 客户必须要有耐心,只有在项目接近尾声的时候,他们才能得到可执行的程序。
瀑布模型的适用场合
- 需求相当稳定,客户需求被全面的了解。
- 开发团队对于这一应用领域非常熟悉。
- 外部环境的不可控因素很少。
- 小型清晰的项目或长周期的项目。
V模型(瀑布模型的辩题)
V模型提供了一种将验证和确认动作应用于早期软件工程工作的直观方法。