《软件工程概论》郑人杰版课件 第2章 软件生存期模型
第2章软件生命周期模型PPT课件
➢ 这种按时间分程的思想方法是软件工程中的一 种思想原则,即按部就班、逐步推进,每个阶 段都要有定义、工作、审查、形成文档以供交 流或备查,以提高软件的质量。
2020/11/23
2
软件生命周期各阶段的主要任务:
(1) 可行性分析和项目开发计划 ➢ “要解决的问题是什么”
➢ 该问题有行得通的解决办法吗?
➢ 若有解决问题的办法,则需要多少费用?需要 多少资源?需要多少时间?
(2) 需求分析
需求分析阶段的任务不是具体地解决问题,而 是准确地确定“软件系统必须做什么?”确定 软件系统必须具备哪些功能。
2020/11/23
3
(3) 概要设计
在概要设计阶段,开发人员要把确定的各项功 能需求转换成需要的体系结构,概要设计就是 设计软件的结构,该结构由哪些模块组成,这 些模块的层次结构是怎样的,这些模块的调用 关系是怎样的,每个模块的功能是什么。
2020/11/23
11
(4)缺点:
➢ 缺乏灵活性,不能适应用户需求的改变。
➢ 开始阶段的小错误被逐级放大,可能导致软 件产品报废。
➢ 返回上一级的开发需要十分高昂的代价。
➢ 随着软件规模和复杂性的增加,软件产品成 功的机率大幅下降。
2020/11/23
12
2.3 原型模型
原型模型(Prototype Model)在初步需求分析之 后,马上向客户展示一个软件产品原型,对客 户进行培训,让客户试用,在试用中收集客户 意见,根据客户意见立刻修改原型,之后再让 客户试用,反复循环几次,直到客户确认为止。
2020/11/23
13
停止
软件工程第二章PPT第2章
编制模块的详细规格说明
9
编码
选择一种程序设计语言; 写出正确的容易理解、容易维护的源程序模块; 产生可执行的目标程序。
10
测试-----保证软件质量的重要手段
任务
保证输出与要求的一致; 发现错误。
快速适应变化的需求),导致返工甚至推倒重来 无法预测新引入模块的影响 最终的形式难以预料 不适合需求模糊的系统
19
2.2.2 快速原型模型
快速原型模型的第一步是快速建立一个能反映用户 主要需求的原型系统,让用户在计算机上试用它,通 过实践来了解目标系统的概貌。 用户试用原型系统之后会提出许多修改意见,开发 人员按照用户的意见快速地修改原型系统,然后再次 请用户试用……。 一旦用户认为这个原型系统确实能做他们所需要的 工作,开发人员便可据此书写规格说明文档,根据这 份文档开发出可以满足用户的真实需求的软件
划分阶段的意义:简化每一步的工作内容,使因软件规 模增大而大大增加的软件复杂性变得 易于控制和管理。
2
问题定义 (要解决的问题是什么)
软件定义 可行性研究
(系统分析)
(该问题是否有行得通的解决办法)
需求分析 (目标系统必须做什么)
概要设计 (怎样实现目标系统)
软件生 命周期
系统设计 软件开发
详细设计 (应该怎样具体地实现这个系统)
形式化开发模型
转换模型(transformational model) 净室模型(cleanroommodel)
1
2.1 软件生存周期
定义
一个软件从开始计划起,到废弃不用止,称为软 件的生存周期。
包括计划、开发与运行三个时期。 计划时期:问题定义、可行性研究 开发时期:需求分析、系统设计、编码和测试 运行时期:系统维护阶段
《软件工程》第2课 软件生存周期与软件过程PPT幻灯片
6.软件可行性研究
• 目的
–研究项目是否可能实现和值得进行。
• 研究的内容
–经济可行性 –技术可行性 –运行可行性 –法律可行性
可行性研究的步骤
• 对当前系统进行调查和研究
– 弄清当前系统 – 导出新系统逻辑模型
• 导出新系统的解决方案
– 设计不同的解决方案
• 提出推荐的方案
– 本项目的开发价值 – 推荐这个方案的理由
形式化开发记录 变换n
形式化 规格说明
系统需求
变换2 变换1
测试 目标系统
净室模型
• 净室思想
–在分析和设计阶段消除错误。 –在“洁净”状态下实现软件制作。
• 增量模型
–把软件看成一系列的增量。
• 形式化
–每一个增量用形式化表示—盒,表示分析和 设计。
–正确性验证。
净室模型
盒结构 形式化 正确性 代码生成
• 编写可行性论证报告
– 系统概述 – 可行性分析 – 结论意见
软件风险分析
• 软件开发存在风险。 • 风险识别
–项目风险(进度、人力、资源、客户) –技术风险(设计、实现、接口、维护) –商业风险(市场、策略、推销)
• 建立风险项目检测表
–产品规模 –商业影响 –客户关系 –人员 –技术
例:人员配备风险检测表
5. 统一过程和敏捷过程
• 统一过程
–Rational Unified Process(RUP)描述了软 件开发中各个环节应该做什么、怎么做、什么 时候做以及为什么要做,描述了一组以某种顺 序完成的活动。
• 敏捷过程
–Agile Development是一种以人为核心、迭 代、循序渐进的开发方法,其软件开发过程称 为“敏捷过程”。
软件工程 第2章 软件生存周期与软件过程 CUMT 110726PPT课件
该模型是计划驱动的,理论上,在开始工 作之前,必须对所有的过程活动制定计划并给 出进度安排。
计算机网络》课件 制作人:谢希
仁
15
计划 时期
开发 时期
运行 时期
2.2.2瀑布模型
问题定义
可行性研究
需求分析
概要设计
详细设计
编码
测试
维护
计算机网络》课件 制作人:谢希
各阶段结束前都要对所完成的文档进 行评审,以便及时发现问题,改正错 误。
计算机网络》课件 制作人:谢希
仁
20
瀑布模型的缺点
(1) 各个阶段的划分完全固定,阶段之间产 生大量的文档,极大地增加了工作量。
(2) 由于开发模型ቤተ መጻሕፍቲ ባይዱ线性的,用户只有等到 整个过程的末期才能见到开发成果,从而增 加了开发的风险。
计算机网络》课件 制作人:谢希
仁
18
2.推迟实现
实践表明,编码开始得越早完成开发工作所 需要的时间反而越长。
这是因为,前期阶段的工作没完全做好,就 急于考虑程序实现,其结果导致大量返工, 有时甚至产生无法弥补的问题,带来严重后 果。
计算机网络》课件 制作人:谢希
仁
19
3.质量保证
各阶段都必须完成规定的文档。完整、 正确、合格的文档不仅是软件开发时 期各类人员之间相互通信的媒介,也 是软件维护的重要依据。
求,系统定义。 2.可行性研究 估计可利用的资源(计算机硬件,软件,人力
等)、成本、效益、开发进度。 制定出完成开发任务的实施计划和解决方案,
可行性研究报告。
计算机网络》课件 制作人:谢希
仁
6
2.1.2开发时期
《软件工程》课件 第二章-软件生存周期及模型
模型适合的项目:
项目开始,明确了需求的大部分,但是需
求可能会发生变化
对于市场和用户把握不是很准,需要逐步
了解
对于有庞大和复杂功能的系统进行功能改
进,就需要一步一步实施的。
银行业务系统的生存期实例
项目规划
.银行业务需求 .原形系统源代码 业务需求分析 产品阶段1设计 项目规划
产品阶段n设计
加工原型 客户评价原型
建造原型
原型开发过程
▲快速分析:分析人员与用户配合,迅速确定系统的基 本要求。要根据原型所要体现的特征,描述基本需求。 关键是要注意分析描述内容的选取。 ▲构造原型:在软件工具支持下尽快实现一个可运行的 系统。 ▲运行原型:是发现问题、消除误解、开发者与用户充 分协调的一个步骤。 ▲评价原型:评价原型的特性,纠正误解与错误,增添 新要求或提出要求变动,提出全面的修改意见。 ▲修改:原型开发的循环。
确认系统
把软件产品分解成一系列的增量构件,在增量开发迭代 中逐步加入。
每个构件由多个相互作用的模块构成,并且能够完成特
定的功能。 增量开发方法的新演进版本叫做 “极限程序设计 (eXtreme Programming)”。
增量模型
第一增量 第二增量 第三增量
……
核心功能
核心功能
核心功能
1
1
2
V模型:瀑布模型的细化--对测试的展开
适合的项目
项目的需求在项目开始前很明确
解决方案在项目开始前也很明确
对系统的性能安全很严格的项目 类似的项目如:
航天飞机等 公司的财务系统
2.增量模型
定义 基本需求
将需求赋予 增量构件
软件工程第2章_软件生存周期及其模型
基本任务:为保证软件的质量, 在设计测试用例的基础上检验 软件的各个组成部分,是否达 到预定要求。
结束标准:软件合格,能交付 用户使用。
典型的软件生存周期包括以下阶段:
5. 编码 6. 测试 7. 软件维护
基本任务:通过各种必要的维 护活动使系统持久地满足用户 需要,是软件生存周期中时间 最长的阶段。
结束标准:以某种程序设计语 言表示的源程序清单。
技术审查和管理复审
• 技术审查是从技术角度进行审查,是保证软件质量和 降低软件成本的重要措施。
• 技术审查通常由专家组成的审查小组来承担审查工作。
• 管理复审的主要任务实在软件生存周期的每个重要里 程碑,对工程项目的成本、实际花费的经费、投资回 收的前景、项目的进度等经济因素从管理角度进行审 查。
面向对象开发方法的组成
OOSD由三部分组成: OOA(Object-Oriented Analysis)面向对象的分析 OOD(Object-Oriented Design)面向对象的设计 OOP (Object-Oriented Program)面向对象的程序设计
软件工程过程
(Software engineering process)
是指在软件工具的支持下,所进行的一系列软 件开发和进化的活动。
通常包括以下四类基本过程: 1、软件规格说明:规定软件的功能及其运行环境。 2、软件开发:产生满足规格说明的软件。 3、软件确认:确认软件能够完成客户提出的要求。 4、软件演进:为满足客户的变更要求,软件必须在 使用的过程中演进。
2.2 软件生存周期模型
• 软件生存周期模型是描述软件开发过程中各种活 动如何执行的模型。
• 软件生存周期模型的选择受软件规模、种类、开 发方式、开发环境以及开发使用的方法等因素影 响。
软件工程(郑人杰版)复习资料
软件工程复习第一章:软件危机与软件工程一.软件危机概念,软件危机产生的原因,解决软件危机的方法二.软件工程概念,软件工程原理,软件工程途径三.生命周期各阶段及其基本任务四.软件开发模型如:瀑布模型,演化模型,螺旋模型几种模型的形式与特征第二章:可行性研究一.可行性研究的任务,可行性研究的步骤,二.辅助工具如:数据流图,数据字典的画法及其在分析中的作用三.成本/效益分析第三章:需求分析一.需求分析的任务,需求分析的步骤,ER模型,二.辅助工具三.验证软件需求第四章:总体设计一.总体设计的任务和过程二.软件设计原理及概念模块化,抽象化,信息隐蔽,模块独立性(耦合与内聚)三.启发式规则(模块的作用域与控制域)四.辅助工具五.面向数据流的方法变换型分析与设计事务型分析与设计(结构化分析方法建立模型---变换设计与事务设计)第五章:详细设计一.结构化程序设计二.详细设计工具(程序流程图与盒图,PAD图之间的转化)三.JACKSON程序设计方法四.程序复杂度的定量度量(McCabe方法)第六章:编码设计一.选择程序设计语言二.程序的编码风格三.程序设计途径第七章:测试一.测试的有关概念二.软件测试的目的三.软件测试的策略四.软件测试用例设计两种常用的测试方法白盒测试中逻辑覆盖的各种测试方法(给定程序建立相应的控制流程图,设计测试用例,实现逻辑覆盖)黑盒测试的各种测试方法(等价类划分、边界值分析等)五.调试第八章:维护一.维护的方法二.维护的特点三.维护的过程四.可维护性第九章:面向对象的有关概念与特性面向对象、对象、消息、类和实例、继承、重载、多态第十章:面向对象方法的开发过程一.软件开发模型二.基于复用的面向对象开发过程的几个阶段三.面向对象应用生存期与面向过程的软件生存期四.类生存期、类的开发方法第十一章:面向对象分析与模型化一.对象模型、动态模型、功能模型的功能描述二.面向对象分析方法建立对象—关系模型三.面向对象分析方法建立动态模型《软件工程》期末复习第一章第一章软件工程概述一、一、重点掌握的内容:软件和软件工程的基本概念二、二、一般掌握内容:软件生存周期及软件开发的各种模型。
《软件工程概论》郑人杰版课件 第1章 软件与软件工程介绍
1.4 软件生存期
➢ 概要设计 – 概括地回答“怎样实现目标系统?”。 – 设计程序的体系结构,也就是确定程序由哪些 模块组成以及模块间的关系。 – 提交的文档是概要设计说明书。
➢ 详细设计 – 回答“应该怎样具体地实现这个系统”。 – 详细地设计每个模块,确定实现模块功能所需 要的算法和数据结构。 – 提交的文档是软件的详细设计说明书。
(4) 质量特性:目前还无法得到完全没有缺陷的软 件产品 。
1.1 软件的概念、特性和分类
(5) 生产特性:与硬件或传统的制造业产品的生产完 全不同,软件一旦设计开发出来,如果需要提供 多个用户,它的复制十分简单,其成本也极为有 限。
(6) 管理特性:由于上述的几个特点,使得软件的 开发管理显得更为重要,也更为独特 。
(9) 废弃特性: 与硬件不同,软件并不是由于被“用 坏”而被废弃的 。
(10) 应用特性:软件的应用极为广泛,如今它已渗 入国民经济和国防的各个领域,现已成为信息产 业、先进制造业和现代服务业的核心,占据了无 可取代的地位。
1.1 软件的概念、特性和分类
• 软件的分类
(1) 系统软件
• 操作系统 • 数据库管理系统 • 设备驱动程序 • 通信和网络处理程序等
1.4 软件生存期
• 软件定义时期
确定总目标和可行性; 导出策略和系统功能; 估计资源和成本; 制定工程进度表
分为三个阶段
➢ 问题定义 ➢ 可行性研究 ➢ 需求分析
1.4 软件生存期
• 问题定义
关键问题是:“要解决的问题是什么”。 提交的内容为关于问题性质、工程目标和工程 规模的书面报告。
• 可行性研究
算机资源的有效性; • 可维护性是指当环境改变或软件运行发生故障时,为了使
软件工程第二章
2.2 瀑布模型
定义:瀑布模型(Waterfall Model)又称流水 式过程模型,它将软件开发过程模仿旅游景 点的阶梯瀑布,由上向下一个阶梯一个阶梯 地倾泻下来,最后进入一个风平浪尽的大湖, 这个大湖就是软件企业的产品库。 模型的缺点:可维护性差,表现在 (1)由于逆转性很差,所以返工会造成重 大损失。 (2)错误的传递,会采取发散扩大的方式。
2.5
原型模型
定义:以某个软件原型为参照模型的开发 方法,叫做原型法。 本意:在初步需求分析之后,马上向客户 展示一个软件产品原型,对客户进行培训, 让客户试用,在试用中收集客户意见,修 改原型,再让客户试用,反复循环几次, 直到客户确认为止。 模型的缺点: 因为事先有一个展示性的产品原型,所 以在一定程度上,不利于开发人员的创新。
第2章 软件生命周期及开发模型
1.了解: (1) 生存周期概念 (2) 生命周期模型概念 (3) 生存周期模型裁剪指南 2.理解: (1) 迭代模型的具体迭代过程 (2) 迭代模型与瀑布模型的关系 3.掌握: (1) 瀑布模型的本意、特点、选用条件 (2) 增量 模型的本意、特点、选用条件(3) 原型模型的本 意、特点、选用条件 (4) 迭代模型的本意、特点、 选用条件(5) 其他模型的本意、特点、选用条件
快速原型法(没有原型的原型法)
基本思路:采用以面向数据为主的方法,在需求 分析的基础上,利用Power Designer等数据库分 析和设计工具,快速建立信息系统的概念数据模 型CDM和物理数据模型PDM,然后利用面向对象的 编程工具,在软件企业强大的类库、构件库的支 撑下,快速地实现需求分析中确认的流程、功能、 性能和接口,然后交付给用户试用,反复循环几 次,直到客户确认满意为止。 选择条件:项目组中有数据库分析和设计的专家, 有面向对象编程的专家,文档制作有成熟的模板, 而且系统或项目又不是非常大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在开发过程的后续阶段不会因为发现规格说明文 档的错误而进行较大的返工。
2.2 快速原型模型
• 快速原型模型的优点
(5)开发人员通过建立原型系统已经学到了许多东西, 因此,在设计和编码阶段发生错误的可能性也比 较小,这自然减少了在后续阶段需要改正前面阶 段所犯错误的可能性。
(3)开发与验证——评价风险之后选择系统开发模型。 (4)计划——评价开发工作,确定是否继续进行螺线的下一个
循环。如果确定要继续,则计划项目的下一个阶段的工作。
2.4 螺旋模型
• 螺旋模型的优点
➢ 对可选方案和约束条件的强调有利于已有软件的 重用,也有助于把软件质量作为软件开发的一个 重要目标。
➢ 减少了过多测试或测试不足所带来的风险。 ➢ 在螺旋模型中维护只是模型的另一个周期,因而
第2章 软件生存期模型
• 瀑布模型 • 快速原型模型 • 增量模型 • 螺旋模型 • 喷泉模型 • 统一过程 • 基于构件的开发模型 • 敏捷过程
2.1 瀑布模型
➢ 在20世纪80年代之前,瀑 布模型一直是唯一被广泛 采用的生命周期模型。
➢ 传统的瀑布模型如图所示。
2.1 瀑布模型
• 瀑布模型的特点
(2)逐步增加产品的功能可以使用户有较充裕的时间学习和适 应新产品,从而减少一个全新的软件可能给用户组织带来 的冲击。
(3)项目失败的风险较低,虽然在某些增量构件中可能遇到一 些问题,但其他增量构件将能够成功地交付给客户。
(4)优先级最高的服务首先交付,然后再将其他增量构件逐次 集成进来。因此,最重要的系统服务将接受最多的测试。
② 清楚地区分逻辑设计与物理设计,尽可能推迟程 序的物理实现,是按照瀑布模型开发软件的一条 重要的指导思想。
2.1 瀑布模型
• 瀑布模型的特点
➢ 质量保证的观点 ① 每个阶段都必须完成规定的文档,没有交出合格
的文档就是没有完成该阶段的任务。 ② 每个阶段结束前都要对所完成的文档进行评审,
以便尽早发现问题,改正错误。
2.7 基于构件的开发模型
➢ 当软件团队使用传统的需求获取技术确定了待开 发软件的系统需求时,该过程开始。
➢ 体系结构设计完成后,并不立即进行详细设计任 务,而是针对每一系统需求考虑以下问题:
(1)现有的商品化构件(commercial off-the-shelf, COTS)是否能够实现该需求?
2.4 螺旋模型
• 螺旋模型的4项活动
➢ 螺线上的每一个循环可划分为4个象限,分别表达了4个方 面的活动。
(1)目标设定——定义在该阶段的目标,弄清对过程和产品的 限制条件,制订详细的管理计划,识别项目风险,可能还 要计划与这些风险有关的对策。
(2)风险估计与弱化——针对每一个风险进行详细分析,设想 弱化风险的步骤。
(2)考虑构件集成的问题。 (3)设计软件架构以容纳这些构件。 (4)将构件集成到架构中。 (5)进行充分的测试以保证功能正常。
2.7 基于构件的开发模型
• 典型的构件模型
(1)OMG/CORBA。对象管理组织发布了公共对象请求代理 体系结构(OMG/CORBA),一个对象请求代理提供了 多种服务,使得可复用构件(对象)可以与其他构件通信。
档。 ② 需求工作流。目标是描述系统应该做什么,确保
开发人员构建正确的系统。为此,需明确系统的 功能需求和非功能需求(约束)。 ③ 分析和设计工作流。其目标是说明如何做。结果 是分析模型和设计模型。
2.6 统一过程
④ 实现工作流。用分层的方式组织代码的结构,用 构件的形式来实现类,对构件进行单元测试,将 构件集成到可执行的系统中。
(3) 从制订计划的角度来看,分析、设计、构建和测试并不像 我们所设想的那么容易预测。
2.8 敏捷过程
• 敏捷原则
(1)我们最优先要做的是通过尽早、持续交付有价值的软件来 使客户满意。
➢ 阶段间具有顺序性和依赖性。其中包含两重含义: ① 必须等前一阶段的工作完成之后,才能开始后一
阶段的工作; ② 前一阶段的输出文档就是后一阶段的输入文档。
2.1 瀑布模型
• 瀑布模型的特点
➢
① 瀑布模型在编码之前设置了系统分析和系统设计 的各个阶段,分析与设计阶段的基本任务规定, 在这两个阶段主要考虑目标系统的逻辑模型,不 涉及软件的物理实现。
➢ 瀑布模型只适用于项目开始时需求已确定的情况。
2.2 快速原型模型
➢ 快速原型是快速建立起来 的可以在计算机上运行的 程序,它所能完成的功能 往往是最终产品能完成的 功能的一个子集。
➢ 快速原型模型如图所示。
2.2 快速原型模型
• 快速原型模型的优点
(1)有助于满足用户的真实需求。 (2)原型系统已经通过与用户的交互而得到验证,据
② 细化阶段。细化阶段关心定义系统的总体框架, 其目标是:细化初始需求(用况)、细化体系结构、 监控风险并细化它们的优先级、细化业务案例以及 制订项目管理计划。
2.6 统一过程
• 统一过程的阶段
③ 构造阶段。构造阶段是建立系统,构造信息系统 的第1个具有操作质量的版本,以能够交付给客户 进行测试的版本结束,有时称为测试版本。
④ 移交阶段。移交阶段包含测试时期,以发布完 整的系统而终止,其目标是确保信息系统真正满 足客户的需求。
2.6 统一过程
• 主要工作产品
2.7 基于构件的开发模型
• 基于构件的软件工程(component-based software engineering,CBSE)是强调使用可 复用的软件“构件”来设计和构造基于计算机的 系统的过程。
(6) 快速原型的突出特点是“快速”。开发人员应 该尽可能快地建造出原型系统,以加速软件开发 过程,节约软件开发成本。
原型的用途是获知用户的真正需求,一旦需求确定 了,原型可以抛弃,当然也可以在原型的基础上 进行开发。
2.3 增量模型
➢ 增量模型也称为渐增模型,是Mills等于1980年 提出来的。
2.7 基于构件的开发模型
• Clements对CBSE给出了如下描述。 CBSE正在改变大型软件系统的开发方式。CBSE体 现了Frod Brooks和其他人支持的“购买,而非构 造”的思想。就如同早期的子程序将程序员从考虑 编程细节中解脱出来一样,CBSE将考虑的重点从 编码转移到组装软件系统。 考虑的焦点是“集成”,而不再是“实现”。 这样做的基础是假定在很多大型软件系统中存在足 够多的共性,使得开发可复用的构件来满足这些共 性是可行的。
2.3 增量模型
• 增量构件开发
➢ 每个增量构件应当实现某种系统功能,因此增量构件的开发 可以采用瀑布模型的方式,如图所示。
2.3 增量模型
• 采用增量模型需注意的问题
(1)在把每个新的增量构件集成到现有软件体系结构 中时,必须不破坏原来已经开发出的产品。
(2)软件体系结构必须是开放的,即向现有产品中加 入新构件的过程必须简单、方便。 因此,采用增量模型比采用瀑布模型和快速原型模 型更需要精心的设计。
在维护和开发之间并没有本质区别。
2.4 螺旋模型
• 螺旋模型的缺点
➢ 螺旋模型是风险驱动的,因此要求软件开发人员 必须具有丰富的风险评估经验和这方面的专门知 识,否则将出现真正的风险:当项目实际上正在 走向灾难时,开发人员可能还以为一切正常。
2.5 喷泉模型
• 喷泉模型是典型的面向 对象生命周期模型。
(2)Microsoft COM/DCOM/.NET。微软公司开发了构件 对象模型(COM),此模型提供了构件的规格说明,在 Windows操作系统,一个应用系统中可以使用不同厂商 生产的构件。
(3)Sun JavaBean构件。JavaBean构件系统是一个可移植 的、平台独立的、使用Java程序设计语言开发的CBSE基 础设施。
2.4 螺旋模型
• 完整的螺旋模型
2.4 螺旋模型
• 完整的螺旋模型
➢ 在螺旋模型中,软件过程表示成一个螺线,而不是像以往 的模型那样表示为一个具有回溯的活动序列。
➢ 在螺线上的每一个循环表示过程的一个阶段。 ➢ 每个阶段开始时的任务是确定该阶段的目标、为完成这些
目标选择方案及设定这些方案的约束条件。接下来的任务 是,从风险角度分析上一步的工作结果,努力排除各种潜 在的风险,通常用建造原型的方法来排除风险。如果成功 地排除了所有风险,则启动下一步开发步骤,在这个步骤 的工作过程相当于纯粹的瀑布模型。最后是评价该阶段的 工作成果并计划下一个阶段的工作。
⑤ 测试工作流。验证对象之间的交互、是否所有的 构件都集成了、是否正确实现了所有需求、查错 并改正。
⑥ 部署工作流。制作软件的外部版本、软件打包、 分发、为用户提供帮助和支持。
2.6 统一过程
• 统一过程的阶段
➢ 统一过程有4个阶段,分别是初始阶段、细化阶段、 构造阶段和移交阶段。
① 初始阶段。初始阶段主Байду номын сангаас关注项目计划和风险评 估,其目的是确定是否值得开发目标信息系统。
➢ 使用增量模型开发软件时,把软件产品作为一系 列的增量构件来设计、编码、集成和测试。
➢ 每个构件由多个相互作用的模块构成,并且能够 完成特定的功能。
2.3 增量模型
➢ 增量模型如图所示。
2.3 增量模型
• 增量模型的优点
(1)能在较短时间内向用户提交可完成一些有用的工作产品, 即从第1个构件交付之日起,用户就能做一些有用的工作。
2.1 瀑布模型
• 瀑布模型的优点
➢ 可强迫开发人员采用规范化的方法。 ➢ 严格地规定了每个阶段必须提交的文档。 ➢ 要求每个阶段交出的所有产品都必须是经过验证
的。
2.1 瀑布模型