软件工程过程模型
软件工程-软件过程模型

软件工程-软件过程模型软件工程-软件过程模型什么是软件过程模型?软件过程模型(Software Process Model)是软件工程中用于描述和管理软件开发过程的一种抽象和理论模型。
它定义了软件开发的生命周期,规定了软件工程师在每个阶段所执行的活动和任务。
软件过程模型帮助软件开发团队组织工作、提高效率、降低风险并保证项目的顺利进行。
不同的软件过程模型适用于不同的项目需求和开发团队特点,,了解各种软件过程模型对于软件工程师来说非常重要。
常见的软件过程模型1. 瀑布模型瀑布模型(Waterfall Model)是最早出现的软件过程模型之一。
它将软件开发过程划分为一系列线性的阶段,每个阶段的结果作为下一阶段的输入。
这些阶段包括需求分析、系统设计、编码、和维护。
瀑布模型适用于需求稳定并且能够完全预先定义的项目。
优点是结构化、易于管理,但缺点是不适应需求的变化和迭代开发。
2. 增量模型增量模型(Incremental Model)是一种迭代的软件开发过程模型。
它通过将整个项目划分为若干个子系统或模块进行开发,逐步集成形成最终的系统。
增量模型适用于需求相对稳定但时间紧迫的项目。
优点是快速交付可用的部分系统,便于和反馈,缺点是对需求变更不够灵活。
3. 喷泉模型喷泉模型(Fountn Model)是一种灵活而适应性强的软件过程模型。
它假设需求会频繁变动,并通过迭代的方式不断演化和完善系统。
喷泉模型适用于需求不确定或频繁变动的项目。
优点是能够快速适应变化,缺点是需要团队具备较高的不确定性处理能力。
4. 螺旋模型螺旋模型(Spiral Model)是一种风险驱动的软件开发过程模型。
它结合了瀑布模型的线性流程和增量模型的迭代特点,在每个迭代中通过风险分析和评估决定下一步的方向。
螺旋模型适用于大型、复杂且风险较高的项目。
优点是具备风险管理和评估能力,缺点是需要投入更多的时间和资源。
如何选择合适的软件过程模型?选择合适的软件过程模型取决于项目的特点、需求的稳定性和团队的能力。
软件工程模型与开发过程

软件工程模型与开发过程软件工程是一门涵盖了软件开发全过程的学科,涉及到从需求分析到软件测试和维护的各个环节。
为了更加高效地进行软件开发,人们提出了各种各样的软件工程模型和开发过程。
本文将介绍几种常见的软件工程模型以及软件开发过程的核心流程。
一、瀑布模型瀑布模型是最早被提出并广泛应用的软件开发模型之一。
瀑布模型将软件开发过程划分为需求分析、系统设计、编码、测试和运维等连续的阶段,每个阶段的输出作为下一个阶段的输入。
这种线性的开发模型使得开发过程有序、清晰,易于管理和追踪。
瀑布模型的优点是在每个阶段需求明确,各个阶段之间有明确的输入和输出,容易控制开发进度。
但是,瀑布模型的缺点也比较明显,由于各个阶段之间的依赖性较强,一旦前面的阶段出现问题,后续阶段将受到较大的影响,导致整个开发过程延误。
二、迭代模型为了弥补瀑布模型的缺陷,迭代模型被提出并被广泛应用。
迭代模型将软件开发过程划分为多个迭代循环,每个迭代循环包含需求分析、设计、编码、测试和部署等基本阶段。
每个迭代循环的输出是一个可以交付的软件增量。
迭代模型的优点是每个迭代循环都可以进行反馈和调整,较容易适应需求变化,同时也较为灵活。
但是,迭代模型的缺点是每个迭代循环的时间和成本都是相对较高的,需要进行反复的测试和调整,特别是对于较大规模的软件项目,可能会导致开发周期过长。
三、敏捷开发敏捷开发是一种以迭代和增量为核心的软件开发方法论。
敏捷开发强调团队合作、持续交付和快速反馈,通过不断迭代和小规模增量交付来适应需求变化。
敏捷开发提倡面对面的沟通和自组织的团队,强调快速响应和持续改进。
敏捷开发的优点是能够快速适应变化的需求,及时反馈和交付可用的软件。
同时,敏捷开发也鼓励开发人员与用户紧密合作,更好地理解用户需求和期望。
然而,敏捷开发也需要团队成员具备较高的技术能力和良好的沟通协调能力,同时也需要在开发过程中不断进行测试和验证,以确保软件质量。
四、融合模型融合模型是将不同的软件工程模型进行有机的结合,形成适合具体项目的开发模型。
软件工程-软件过程模型

软件工程-软件过程模型
软件过程模型是指在软件开发过程中,按照一定的规则和步骤进行软件开发的方法。
常见的软件过程模型有瀑布模型、迭代模型、增量模型、螺旋模型等。
瀑布模型是最早被提出的软件过程模型之一,它将软件开发过程划分为需求分析、系统设计、编码、测试和维护等阶段,每个阶段依次执行,且每个阶段的输出作为下一个阶段的输入。
迭代模型是在瀑布模型的基础上发展起来的,它将开发过程分成多个迭代阶段,每个阶段都包括需求分析、设计、编码、测试和评审等步骤,每个迭代阶段都会一个可执行的软件版本,可以及时对软件进行测试和评审,以便及时发现和解决问题。
增量模型是一种开发方法,将软件开发分为多个小的增量部分,每个增量都包含了完整的软件功能,在每个增量完成后都会进行测试和评审,不断地向软件中添加新的功能。
螺旋模型是一种风险驱动的软件开发模型,它将软件开发过程划分为多个迭代阶段,每个迭代都包括风险分析、计划、开发和评审等步骤,每个迭代都会根据上一次的评审结果进行调整和改进,以减少软件开发过程中的风险。
不同的软件过程模型适用于不同的项目需求和开发环境,选择合适的软件过程模型可以提高软件开发效率和质量。
软件工程-软件过程模型

4 演化模型-螺旋模型
Evolutionary Model
螺旋模型的基本思想
每一个螺旋周期(Spiral model sectors)包 含四个部分: (1)确定目标,选择方案,设定约束条件, 选定完成本周期所定目标的策略。 (2)分析该策略可能存在的风险。 (3)在排除风险后,实现本螺旋周期的目标。 (4)评价前一步的结果,并且计划下一轮的 工作。
第二章 软件过程模型
软件生存周期 软件开发模型 瀑布模型 进化式模型 演化模型 形式化开发
第一节 软件生存周期
软件生存周期的概念: 一个软件从计划起,到废弃不用止。
软件生存周期包括:计划、开发、运行。
第二节 软件开发模型概念
软件开发模型的概念:
为整个软件生存期建立的模型。
交付客户
构件n
规格说明
设计
实现和集成
交付客户
增量模型的基本思想
每个增量提供系统功能的一个子集,一个增 量完成并交付,部分系统功能可以提前交付 使用。 对增量中服务的分配取决于服务优先次序。 最高优先权的服务首先被交付。 第一个增量往往是核心的产品。 开发者能通过对系统的经验帮助理解后面的 增量需求和目前增量后续版本的需求变更。
思考题
为以下各系统提出合适的软件过程模型,阐 述理由: (1) 汽车防锁死刹车控制系统 (2)一个支持软件维护的虚拟现实系统 (3)大学记账系统,准备替换一个已存在的 系统 (4)一个位于火车站的交互式火车车次查询 系统
建立原型系统的方法
原型系统仅包括未来系统的主要功能,以及 系统重要的接口。 开发原型系统尽可能使用能缩短开发周期的 语言和工具。
3 演化模型-增量模型
Evolutionary Model
软件工程流程模型解析

软件工程流程模型解析第一章:引言软件工程流程模型是指在软件开发过程中,为了提高软件开发效率和质量,将软件开发过程划分为不同的阶段,并按照一定的顺序进行管理和执行的方法论。
本章将介绍软件工程流程模型的背景和基本概念。
软件开发过程存在很多挑战,如项目范围的不确定性、需求变更的频繁性、人员协同的复杂性等。
软件工程流程模型的出现是为了解决这些挑战,并提供一种系统化的方法来组织软件开发过程。
第二章:瀑布模型瀑布模型是软件工程流程模型中最早出现的一种模型,它将软件开发过程划分为需求分析、设计、编码、测试和维护五个阶段,并要求每个阶段都需要完成后才能进入下一个阶段。
这种线性的顺序模型在某些情况下具有一定的优势,但也有其局限性。
本章将详细介绍瀑布模型的工作原理、优缺点以及适用场景,以及如何应对可能出现的问题。
第三章:迭代模型迭代模型是软件工程流程模型中较为灵活的一种模型,它将软件开发过程划分为多个迭代周期,每个迭代周期都包括需求分析、设计、编码、测试和维护等阶段,并在每个迭代周期结束后进行评审和反馈,以便调整和改进。
本章将介绍迭代模型的具体步骤、优势以及适用场景,并分析迭代模型相对于瀑布模型的改进之处。
第四章:螺旋模型螺旋模型是软件工程流程模型中注重风险管理的一种模型,它将软件开发过程划分为多个迭代,每个迭代都包括需求分析、风险分析、原型构建、评审和计划等阶段。
螺旋模型通过每个迭代周期中的风险分析和评审,及时调整开发计划和资源分配,以最小化项目风险。
本章将详细介绍螺旋模型的特点、优点以及适用场景,并提供一些实际案例来说明螺旋模型在软件开发中的应用。
第五章:敏捷模型敏捷模型是软件工程流程模型中反应灵活性最强的一种模型,它强调与客户的紧密合作、快速响应需求变更、持续交付和自组织团队等特点。
敏捷模型适用于需求变更频繁、项目规模相对较小、开发团队能够快速响应变化的情况。
本章将介绍敏捷模型的核心原则(如迭代开发、持续集成等)、敏捷开发方法(如Scrum、XP等),并结合实例说明敏捷模型在软件开发中的作用和优势。
软件工程--软件过程模型

软件工程--软件过程模型软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
通常使用生命周期模型简洁地描述软件过程。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。
常见的过程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型等。
1.瀑布模型这个特点有两重含义:1.必须等前一阶段的工作完成之后,才能开始后一阶段的工作;2.前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。
瀑布模型每个阶段都应坚持两个重要做法:1.每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
完整、准确的合格文档是软件开发时期各类人员之间相互通信的媒介,也是运行时期对软件进行维护的重要依据。
2.每个阶段结束前都要对所完成的文档进行评审,以便迟早发现问题,改正错误。
事实上越是早期阶段犯下的错误,暴露出来的时间就越晚,排除故障改正错误所需付出的代价也越高。
因此,及时审查,是保证软件质量,降低软件成本的重要措施。
可以说瀑布模型是由文档驱动的。
这个事实也是它的一个缺点,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。
瀑布模型历史悠久、广为人知的,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的产品可能并不是用户真正需要的。
(1)传统的瀑布模型:(2)实际的瀑布模型:2.快速原型模型所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
快速原型的本质是“快速”,开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。
原型的用作是获知用户的真正需求,一旦需求确定了,原型系统将被抛弃。
快速原型模型正是为了克服瀑布模型的缺点而提出来的。
它通过快速构建一个可在计算机上运行的原型系统,让用户试用原型系统并收集用户反馈意见的办法,获取用户的真实需求。
软件工程-软件过程模型

软件工程-软件过程模型软件工程-软件过程模型软件过程模型是在软件开发过程中使用的一种组织结构和指导原则。
它描述了从需求定义到软件交付的整个过程,并指导了开发团队如何在不同阶段进行工作和合作。
软件过程模型的选择对于项目的成功至关重要,因为它决定了项目的管理方式、时间表安排和团队的工作内容。
软件过程模型的选择通常基于项目的需求、规模和风险管理。
以下是几种常见的软件过程模型:1. 瀑布模型:瀑布模型是最传统和经典的软件过程模型。
它按照顺序执行软件开发过程的各个阶段,包括需求分析、系统设计、编码、和维护。
这种模型适用于需求稳定、项目规模小、时间周期长的项目。
2. 迭代和增量模型:迭代和增量模型将软件开发过程分为多个迭代阶段,每个阶段都是一个完整的开发循环。
每个迭代周期中的需求、设计、开发和都会被完成,项目会在每个迭代中逐步增加功能。
这种模型适用于需求变化频繁、项目规模大的项目。
3. 敏捷模型:敏捷模型是近年来非常流行的软件过程模型。
它强调团队合作、快速响应需求变化和持续交付价值。
敏捷开发基于迭代和增量的原则,通过短周期的开发迭代来快速响应用户反馈。
常见的敏捷方法包括Scrum和XP(极限编程)。
4. 螺旋模型:螺旋模型是一种风险驱动的软件过程模型。
它将软件开发过程分为多个循环,每个循环包括需求分析、风险评估、开发和评审。
每个循环都会根据之前循环的结果进行调整。
这种模型适用于需求不稳定、项目风险高的项目。
除了以上几种常见的软件过程模型,还有一些特定领域的模型,如嵌入式软件开发的V模型和安全软件开发的安全模型等。
在选择软件过程模型时,团队应根据项目的需求和约束条件进行评估和选择。
也可以根据项目的具体情况结合多种模型,采用混合的开发方法。
无论选择哪种模型,重要的是团队要能够灵活适应变化,并不断优化和改进开发过程,以提高软件质量和开发效率。
软件工程过程模型探究

二是 尚 未建立 及 时的更 新与 反馈体 制 。随着 开发 过程 的不 断深入 , 用户 需求也 不断变 化, 往往好 的想 法不 能运用 到实 处, 在早期 阶段 所发生 的错误 而 无法及 时发现 并改 正, 只有在 测试 的时候 问题 与弊端 才会进 发并暴 露, 需耗 费 大量 的 时 间与 人 力 来 更 正 、修 改 。 三是 生命 周期 的规划不 合理 。开发 人 员经常将 开发项 目的时间倾 向于 编 码 和测 试过程 , 最终导致 分析 系统及 设计 的时 间被 占用 , 不符 合现代 软件 开 这 发 中重 视 设计 和 分析 的思 想 。 开发大 型的复杂软 件系统 是一项大 工程, 需根据 工程学 的办法来组 织软件 的管 理 与 开 发 ,通 过 对 需 求 、 设 计 、分 析 、测 试 、 实现 、维 护 等 多 个 环 节的软 件生 命周 期阶 段 。现 代软 件 的开发 除 ,遵循 以上 多项 原则, 还应 选择 合适的开发 模型, 采取适 当的实 际方式, 同时确保 高质量 工程的支持 , 加强 对软 件 工程 过 程 开发 的 管理 ,开发 出效 率 高 、质 量 好 的软 件产 品 。
一
段, 该阶 段的 目标是 制出…‘ 可以达到 最终操 作 能力的系 统, 个 并且及 时发现错 误, 决缺 陷与 问题, 解 移交 系统 并且投 入 使用 。五是维 护阶 段, 要是反 馈系 主 统 的维 护 情 况 并 更新 信 息 。 在 阶段性 的划分 结束 后, 需要制 定一个 阶段计 划, 主要任 务包括 时间的分 配和约束条件 。 2 2迭 代和增 量开 发 软件系 统的开发 是一项 大任务, 是根 据 可管 理的步骤制 定开发 新软 件系统 的策 略, 每个 阶段将 系统 开发 工 作分为 细小 的各 部分 或者 项 目是可行 的方 在 案 。每个 细 分 出 的 小型 项 目都 是 一 次产 生 增 量 的迭 代过 程 。 迭代 实 际不是 一个 独立 的实体 , 在项 目阶段 中它只 是一个 细 化的段 。一 次迭代 的过 程 与传统 意义 的瀑 布模 型类 似, 处理相 应 的 内容 。在每 次迭 代结 束后 需进 行 一次 评估 , 以判 定 是否有 新 的需求 要提 出 、是否达 到 了预期 的效 果要求 , 然后继 续下 一个迭 代 的过 程, 这个 受控形 式 的迭代开 发是 一个具 备严 格 时 间规划 与详 细规 划 的过程 , 并不 是可 以随意 的 、无计划 的过 程 。通常 这 开发 人员 根据 实 际开发 情 况, 有规 划 、有秩 序 、有选 择地 开展 迭 代活 动, 从 而更 加 有效 地 指 导 开发 工 作 。 2 3 活 动及工 作制 品 每 一次 迭 代过 程 都包 含 需求 、设 计 、分析 、 实现 及测 试 五 个阶 段 , 每 个 阶段又 可以细化 出若干个 活动, 而其 中每一个 活动都 会产生一 个或者 多个工 作 制 品, 而且每 一个 活动都 有特定 的执 行者负 责, 以更 详细 、更 科学地 指导 开 发 人员 的工 作 。U L是 一种 可视 化 的描述 工具 , M 应用 于 软件 系统 的模 型绘制 可视的标准 化蓝 图或 图表 方式表现 的产品, 它不会对 开发过程 中 的活 动顺序 但 给 予指 导 。为 了获取标 准 的工具支 持, 于进行 交流和 开发 , 以使用 这种通 便 可 用 的 语 言来 定 义并 生 产 工作 制 品 。 由以上讨论 可知, 始与 实施阶 段所包括 的迭 代是 一个相对 简化 的过程, 初 初 始阶段 的迭代主 要包含 需求的工 作流, 根据 实际需要 也包含分 析及设计 工作 流 , 实施阶 段则 包括 实现 与预测 工 作流 。在维 护阶 段, 在 由于它 的特殊 性, 所 以不 包 括受 控 迭 代 的过 程 。 参 考文献 [] 董剑利 . 1 基于 产 品线体系 结构 的软件 工程 过程 模型研 究 [] 计算 机 J. 工 程与 设计. 0 8 i ) 2 0 (2. [ ] 樊学东 . 2 软件 工程 过程 模型及 其选 择 [ ] 西安外 事学 院学报 . 0 8 J. 2 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 软件工程过程模型
2.1 软件工程的技术基础 2.2 软件工程过程 2.3 软件过程模型 2.4 线性顺序模型 2.5 原型模型 2.6 快速应用开发模型 2.7 演化软件过程模型 2.8 软件过程技术 2.9 软件重用技术 2.10 小结
1
第2章 软件工程过程模型
2.1 软件工程的技术基础
提炼出一个工程开发策略,用以覆盖软件过程中的基本阶段, 确定所涉及的过程、方法、工具。这种策略常被称为“软件 工程过程模型”。
7
第2章 软件工程过程模型
2.3 软件过程模型
从宏观上来看,所有的软件开发过程都可以看成是一个循 环解决问题的过程。如图2.3所示。
问题定义
状态描述
技术开发
方案综述
图2.3 问题循环解决的各个阶段
瀑布模型、原型模型、快速应用开发模型、增量模型、螺旋 模型、形式化方法模型、RUP( Rational Unified Process )模型、 敏捷过程模型、构件组装模型、并发开发模型等等。
过程模型的共性:
一般都包含“定义(或计划)”、“开发”和“维护”3类活 动。定义活动主要弄清软件“做什么”;开发活动集中解决 让软件“怎么做”;维护活动则聚集于软件的“修改”,即 “What-How-Change”。
12
第2章 软件工程过程模型
2.4瀑布模型(Waterfall model)
13
图2.5 软件生存周期的瀑布模型
第2章 软件工程过程模型
2.4瀑布模型(Waterfall model)
瀑布模型软件开发具有以下几个特征: 1.阶段间的顺序性和依赖性
顺序性是指:只有等前一阶段的工作完成以后,后一 阶段的工作才能开始;前一阶段的输出文档,就是后一 阶段的输入文档。依赖性又同时表明了,只有前一阶段 有正确的输出时,后一阶段才可能有正确的结果。
(4) 软件演进:为满足客户的变更要求,软件必须在使用 的过程中演进,以求尽量延长软件的生命周期。
此外,在一个良好的软件过程中,还应当包括一些“保护 性”的活动。
第2章 软件工程过程模型
2.2 软件工程过程
在具体的工程过程中,可以根据实际需要,采用不同的过 程模型来实现上述的基本活动和保护活动。一个良好的软件 工程过程应当具备如下特点: (1) 易理解性。 (2) 可见性:每个过程活动都以得到明确的结果而告终,保证 过程的进展对外可见。 (3) 可支持性 :容易得到CASE工具的支持。 (4) 可接受性:比较容易被软件工程师接受和使用。 (5) 可靠性:不会出现过程错误,或者出现的过程错误能够在 产品出错之前被发现。 (6) 健壮性:不受意外发生问题的干扰。 (7) 可维护性:过程可以根据开发组织的需求的改变而改进。 (8) 高效率:从给出软件规格说明起,就能够较快地完成开发 而交付使用。
9
第2章 软件工程过程模型
2.3 软件过程模型
状态描述
状态 描述
问题 定义
方案 综述
技术 开发
状态 描述
问题 定义
方案 综述
技术 开发
状态 描述
问题 定义
方案 综述
技术 开发
10
图2.4 问题循环解决阶段中的阶段
第2章 软件工程过程模型
2.3 软件过程模型
在软件工程实践中,以下过程模型比较流行:
3、软件工程方法涵盖了需求分析、设计、编程、测试、维护 等各个环节,它给出了完成这些任务在技术上应当“如何做” 的方法。
4、工具层对过程和方法提供支持,使得工程活动、管理活动 得以自动、半自动的进行。例如,目前广为使用的数据库建 模工具Erwin、面向对象的建模工具Rationnal Rose、配置管 理工具等等。
8
第2章 软件工程过程模型
2.3 软件过程模型
上述的问题循环解决过程可以应用于软件工程的多个不 同开发级别(阶段)上,包括考虑整个系统开发的宏观阶段, 开发程序构件的中间阶段,甚至是代码编制阶段,因此可以 采用分级集合表示。可以定义一个模式,然后在连续的、更 小的规模上递归地应用它,这样来提供一个关于过程的理想 化的视图。问题循环解决过程的每一个阶段又包含一个相同 的问题循环解决过程,如图2.4所示。
软件工程是一种层次化的技术,如图:
工具层 方法层 过程层 质量焦点
图2.1 软件工程过程层次图
2
第2章 软件工程过程模型
2.1 软件工程的技术基础
1、对质量的关注构成了软件工程的根基。
2、过程层是软件工程的基层。 目前流行比较广泛的软件工程过程包括有RUP过程、极限
(XP)过程、敏捷软件过程(Agile S.P)等等。
14
第2章 软件工程过程模型
2.4瀑布模型(Waterfall model)
2.推迟实现的观点 过早地考虑程序的实现,常常导致大量返工,有时甚
至给开发人员带来灾难性的后果。 瀑布模型在编码以前安排了分析阶段和设计阶段,并
且明确宣布,这两个阶段都只考虑目标系统的逻辑模型, 不涉及软件的物理实现。
3
第2章 软件工程过程模型
2.2 软件工程过程
软件工程过程是开发或维护软件及其相关产品的一系列 活动。软件工程过程通常包括四种基本的过程活动:
(1) 软件规格说明:规定软件的功能、性能及其运行限制。
(2) 软件开发:产生满足规格说明的软件,包括设计与编 码等工作。
(3) 软件确认:确认软件能够满足客户提出的要求,对应 于软件测试。
5
第2章 软件工程过程模型
2.2 软件工程过程
一个软件过程可以表示成如图2.2所示的形式:
公共过程框架 框架活动 任务集合 工作任务
里程碑、交付物
SQA(软 件 质 量 保 证 )点
保护性辅助活动
6
图2.2 软件工程过
第2章 软件工程过程模型
2.3 软件过程模型
什么是软件工程过程模型? 在一个具体的实际工程活动中,软件工程师必须设计、
11
第2章 软件工程过程模型
2.4瀑布模型(Waterfall model)
瀑布模型(也称线性顺序模型或软件生存周期模型), 是W.Royce在1970年提出的。瀑布模型遵循软件生存期的 划分,明确规定各个阶段的任务,各个阶段的工作自上而 下、顺序展开,如同瀑布流水,逐级下落。
瀑布模型把软件生存周期划分为计划时期(或定义时 期)、开发时期和运行时期。这三个时期又分别细分为若 干个阶段。参看图2.5。