本节书摘来自华章出版社《软件工程方法与实践》一 书中的第3章,第3.5节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.5 小结
软件过程模型是对软件开发的复杂过程的抽象描述,建立各种各样的过程模型,如早期的瀑布模型、螺旋模型、增量模型,以及后来发展流行的统一过程模型等。软件过程模型是在软件生存周期模型的基础发展起来的。
瀑布模型是最早的软件过程模型,也是应用比较广泛的模型之一,其是对软件生存周期模型的概括,将软件划分为6个阶段并严格进行。瀑布模型是一种文档驱动的模型,通过文档审查保证软件的质量。瀑布模型适合需求稳定的中小型项目。
增量模型是将一个大型项目分解成一个个的增量来进行开发的模型,分为增量构造模型和增量提交模型两种。二者的区别是,增量构造模型是总体分析与设计,然后增量构造每一个小的增量;增量提交模型是对每一个增量采用瀑布模型进行分析设计与构造。增量模型降低了软件开发的风险,缩短了软件响应市场的时间。
螺旋模型是一种风险驱动的模型,其是瀑布模型、原型模型的结合和强调风险管理的循环开发模型。螺旋模型适合于中大规模或者风险较大的项目。
构件集成模型是一种能够快速集成已有的成熟的构件进行快速软件开发的模型,大大提高响应市场的速度。随着软件构件技术的成熟和第三方提供的大量构件,这种模型得到一些公司的青睐。
统一过程模型是一种面向对象的软件开发模型,是风险驱动的、基于用例技术的、以架构为中心的、迭代的、可配置的软件开发流程,包括初始、细化、构造和移交4个阶段,每个阶段包含需求、分析、设计、实现和测试5个核心工作流。统一过程模型作为近年来发展起来的软件过程模型,已经得到了软件业的广泛喜爱和使用。
习题
1.什么是软件过程模型?请说说一些常见的软件过程模型的特点。
2.什么是瀑布模型?它的主要特点是什么?
5.螺旋模型有什么特征?并说明它的优缺点。
6.统一过程模型的有哪几个阶段?每个阶段的任务是什么?统一过程模型有哪些核心工作流?它们与传统的生存周期阶段有什么区别?
7.请简述构件集成模型的优点。
8.请说明选择软件过程模型的依据。