《软件需求分析》需求验证PPT课件
合集下载
精品课堂《软件需求分析》ppt

金陵科技学院 软件工程学院
1.2 什么是需求?什么是需求工程?
• IEEE 1990对需求的定义: • (1)用户为了解决问题或达到某些目标所需要的条件或能力; • (2)系统或系统部件为了满足合同、标准、规范或其他正式文 档所规定的要求而需要具备的条件或能力; • (3)对上述两种情况(1)或(2)中的一个条件或一种能力的 一种文档化表述。
金陵科技学院 软件工程学院
什么是软件工程?
• IEEE关于软件工程的定义是:软件工程是:(1)将系统化的、严 格约束的、可量化的方法应用于软件的开发、运行和维护,即将 工程化应用于软件;(2)指在(1)中所述方法的研究。 • 目前比较认可的一种定义是:软件工程是研究和应用如何以系统 化、规范化、可定量的过程化方法去开发和维护软件,以及如何 把经过时间考验而证明正确的管理技术和当前能够得到的最好的 技术方法结合起来。
用户需求主要指用户使用产品必须要完成什么任务,怎么完成需求, 通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景 进行整理,从而建立从用户角度的需求。用户需求必须能够体现软件 系统将给用户带来的业务价值,或用户要求系统必须能完成的任务。 用户需求主要描述了用户使用系统能够做什么事情(即What)。通过 用户需求信息形成的文档为用例说明文档。 系统需求是用户对系统行为的期望,一系列的系统需求联系在一起, 帮助用户完成任务,达成用户需求,进而满足业务需求。系统需求可 以直接映射为系统行为,定义系统中需要实现的功能,描述开发人员 需要实现什么。它描述的是开发人员如何设计具体的解决方案来实现 这些需求(即How),是业务需求和用户需求最终实现的目标,其级 别比用户需求高一个数量级。系统需求信息都记录在需求规格说明文 档(Soft Requirments Specification即SRS)中,
软件需求-第8课-软件需求分析概述ppt课件

1 需求分析的根本任务 建立分析模型
建模的目的(为什么要建模?)
软件行业的复杂程度与例子中的行业比较,其复杂程度可以说是有过 之而无不及。
为什么要建模?通过建模可以更好地理解正在开发的系统。
原先,由于计算机应用还不算普及,因此软件系统的规模和复杂度都 相对较小。使用“数据结构+算法=程序”的模式就可以解决大部分问题。
软件的生存周期
计划时期 开发时期 运行时期
问题定义
可行性研究
产品:需求分析报告
需求分析
软件设计
编
码
测
试
维
护
5
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
1 需求分析的根本任务 需求分析根本任务:建立分析模型,创建解决方案。
1 需求分析的根本任务 4)基于数据的分解策略
目标系统
主题域1
。。。
主题域n
主题类1 主题类n
逻辑数据1 逻辑数据m
物理数据1 物理数据w
16
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
1 需求分析的根本任务 4)基于数据的分解策略
1 需求分析的根本任务
从实践角度考虑,需求分析不是分析如何实现用户的需求。 实际上,需求分析是以业务分析为导向,将用户零散的需求串联 起来,形成一个体系完成、组织合理、内容清晰的框架,为今后 的设计开发工作打下良好的基础。
What to do? Yes
How to do ? No
8
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
建模的目的(为什么要建模?)
软件行业的复杂程度与例子中的行业比较,其复杂程度可以说是有过 之而无不及。
为什么要建模?通过建模可以更好地理解正在开发的系统。
原先,由于计算机应用还不算普及,因此软件系统的规模和复杂度都 相对较小。使用“数据结构+算法=程序”的模式就可以解决大部分问题。
软件的生存周期
计划时期 开发时期 运行时期
问题定义
可行性研究
产品:需求分析报告
需求分析
软件设计
编
码
测
试
维
护
5
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
1 需求分析的根本任务 需求分析根本任务:建立分析模型,创建解决方案。
1 需求分析的根本任务 4)基于数据的分解策略
目标系统
主题域1
。。。
主题域n
主题类1 主题类n
逻辑数据1 逻辑数据m
物理数据1 物理数据w
16
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
1 需求分析的根本任务 4)基于数据的分解策略
1 需求分析的根本任务
从实践角度考虑,需求分析不是分析如何实现用户的需求。 实际上,需求分析是以业务分析为导向,将用户零散的需求串联 起来,形成一个体系完成、组织合理、内容清晰的框架,为今后 的设计开发工作打下良好的基础。
What to do? Yes
How to do ? No
8
第8章 软件需求分析概述 认识到了贫困户贫困的根本原因,才能开始对症下药,然后药到病除。近年来国家对扶贫工作高度重视,已经展开了“精准扶贫”项目
《软件需求分析》课件

关系定义
定义实体之间的关系,如 关联、依赖、聚合等。
实体关系图绘制
使用图形化工具绘制实体 关系图,展示实体之间的 关联关系。
Part
04
需求规格说明
需求规格说明编写
确定需求来源
明确软件需求来自哪些方面,如用户、市场、技术等 ,确保全面覆盖。
编写规范统一
遵循统一的编写规范,确保需求规格说明的清晰、准 确和一致性。
需求分析的过程
需求调研
通过与用户沟通、调查问 1
卷、现场观察等方式,了 解用户需求和业务场景。
需求确认
4
将分析出来的需求与用户 进行确认,确保双方对需 求的理解一致。
需求分析
2
对收集到的需求进行整理
、分类、抽象,形成系统
需求。
需求评审
3 对分析出来的需求进行审
查和评估,确保需求的正 确性和完整性。
访谈技巧
注意倾听、引导和追问,以获得深入的需求 信息。
记录和分析
详细记录访谈内容,并进行分析,提取关键 需求。
问卷调查
设计问卷
根据软件的功能和目标,设计合理的问卷。
选择调查对象
确保调查对象的代表性和广泛性。
发布和收集问卷
通过适当的渠道发布问卷,并确保问卷的完整性和准确性。
数据分析
对收集到的数据进行统计分析,提取关键需求。
详细描述
社交网络平台用户数量庞大,用户交互频 繁,对系统的可用性和响应速度要求极高 。同时,由于社交网络平台的功能更新频 繁,需求变化较快,需求分析需要关注系 统的可扩展性和灵活性。此外,社交网络 平台还需要考虑用户隐私和数据安全等问 题。
THANKS
感谢您的观看
非功能需求定义
第3章 软件需求分析PPT课件

使用原型系统的主要目的,是使用户通过实践获得关于未来的系统 将怎样为他们工作的概念,检验关键设计方案的正确性和检验系统是 否真正满足用户的需要,从而可以更准确地提出和确定他们的要求。 用户试用了原型系统以后,能够指出系统的哪些特性是他们喜欢的, 哪些是他们感到不能接受的,以及他们还需要哪些新的功能。根据经 过实践检验的用户需求而开发出来的系统,更可能真正满足用户的需 要。特别是当所开发的系统是全新的,用户没有使用类似系统的经验 时,更应该认真考虑开发原型系统的必要性和可能性。
8
3.2 软件需求分析的步骤
3.2.1 问题的分析
▪ 首先,系统分析员应该仔细研究可行性分析报告和软件项 目实施计划,确定软件的需求,并提出这些需求的实现条 件及应该达到的标准。
▪ 其次, 问题分析是建立分析所需要的通信途径,以保证 顺利地分析问题。
▪ 再次,在问题分析过程中还必须充分重视和使用数据流图、 数据字典和算法描述工具。
(6)设计的限制条件是现实的吗?
(7)开发的技术风险是什么?
(8)考虑过软件需求的其他方案吗?
(9)检验标准详细制定了吗?他们能否确认系统是成功的?
(10)有没有遗漏、重复或者不一致的地方?
(11)与用户或需求者的联系充分吗?
(12)用户复审了初步的用户手册吗?
(13)软件计划中的估算如何受到影响?
3.1 软件需求分析的任务
3.1.1 软件需求分析的目标
▪ 利用软件范围作为指南,软件需求分析试图实现如下几个 目标:
1) 揭示系统信息的流程与结构,为软件的开发打下基础。 2) 确定接口细节、深入描述软件功能、确定设计的约束、
规定软件的检验需求,以此来说明该软件。 3) 建立并保持与用户以及软件需求者的联系,以便实现上9Leabharlann 3.2 软件需求分析的步骤
8
3.2 软件需求分析的步骤
3.2.1 问题的分析
▪ 首先,系统分析员应该仔细研究可行性分析报告和软件项 目实施计划,确定软件的需求,并提出这些需求的实现条 件及应该达到的标准。
▪ 其次, 问题分析是建立分析所需要的通信途径,以保证 顺利地分析问题。
▪ 再次,在问题分析过程中还必须充分重视和使用数据流图、 数据字典和算法描述工具。
(6)设计的限制条件是现实的吗?
(7)开发的技术风险是什么?
(8)考虑过软件需求的其他方案吗?
(9)检验标准详细制定了吗?他们能否确认系统是成功的?
(10)有没有遗漏、重复或者不一致的地方?
(11)与用户或需求者的联系充分吗?
(12)用户复审了初步的用户手册吗?
(13)软件计划中的估算如何受到影响?
3.1 软件需求分析的任务
3.1.1 软件需求分析的目标
▪ 利用软件范围作为指南,软件需求分析试图实现如下几个 目标:
1) 揭示系统信息的流程与结构,为软件的开发打下基础。 2) 确定接口细节、深入描述软件功能、确定设计的约束、
规定软件的检验需求,以此来说明该软件。 3) 建立并保持与用户以及软件需求者的联系,以便实现上9Leabharlann 3.2 软件需求分析的步骤
《软件需求分析》PPT课件

请用户对上一个分析步骤中得出结果仔细地 进行复查。从输入端开始,借助数据流图以及数 据字典和简明的算法描述向用户解释输入数据是 怎样一步一步地转变成输出数据的。在分析过程 中必须充分重视和使用数据流图、数据字典和算 法描述工具。
分析过程中产生的问题依靠用户来回答,分 析员对系统的认识必须经过用户的检验和确认。 最后必须完成正式的用户复查文档说明书。
目前,需求分析的方法有面向数据流的方法(也 就是结构化的分析方法(SA),使用的工具有DFD+ RED等),以及面向对象的方法(使用的工具为用例 图等)。一般来说,可以使用DFD+ERD来描述那些功 能层次比较清晰的需求;而USE CASE则适于描述功能 结构复杂的需求。做需求分析的目的是为了建立需求 的模型,不同的子系统有可能使用不同的建模方法。
2021/7/11
22% 17% 14% 20% 19% 25% 16% 26%
金工 金工 动力 动力 金工 金工 动力 动力
李明 李明 赵杰 赵杰 李明 李明 赵杰 赵杰
29
上表W中的数据库存在严重缺点 :数据冗余大,增删改麻烦 采取第二范式来避免以上缺点。
※ 第二范式:满足第一范式条件,而且每个非关键字属性 都由整个关键字决定(也即每个非关键字属性都依赖于关键 字)。 方法:将上表W关系分解为W1和W2。如下表:
2021/7/11
17
3、细化数据流图
通过了用户复查以后,分析员就要把数据流图进行细化, 通过功能分解可以完成数据流图的细化。细化之后得到一组 新的数据流图。
随着分析过程的进展,经过问题和解答的反复循环,分 析员对目标系统越来越清楚,最终得到对系统数据和功能要 求的满意了解。
图 3-1 概括了上述分析的过程。 需要分解
分析过程中产生的问题依靠用户来回答,分 析员对系统的认识必须经过用户的检验和确认。 最后必须完成正式的用户复查文档说明书。
目前,需求分析的方法有面向数据流的方法(也 就是结构化的分析方法(SA),使用的工具有DFD+ RED等),以及面向对象的方法(使用的工具为用例 图等)。一般来说,可以使用DFD+ERD来描述那些功 能层次比较清晰的需求;而USE CASE则适于描述功能 结构复杂的需求。做需求分析的目的是为了建立需求 的模型,不同的子系统有可能使用不同的建模方法。
2021/7/11
22% 17% 14% 20% 19% 25% 16% 26%
金工 金工 动力 动力 金工 金工 动力 动力
李明 李明 赵杰 赵杰 李明 李明 赵杰 赵杰
29
上表W中的数据库存在严重缺点 :数据冗余大,增删改麻烦 采取第二范式来避免以上缺点。
※ 第二范式:满足第一范式条件,而且每个非关键字属性 都由整个关键字决定(也即每个非关键字属性都依赖于关键 字)。 方法:将上表W关系分解为W1和W2。如下表:
2021/7/11
17
3、细化数据流图
通过了用户复查以后,分析员就要把数据流图进行细化, 通过功能分解可以完成数据流图的细化。细化之后得到一组 新的数据流图。
随着分析过程的进展,经过问题和解答的反复循环,分 析员对目标系统越来越清楚,最终得到对系统数据和功能要 求的满意了解。
图 3-1 概括了上述分析的过程。 需要分解
04、软件需求分析学习课件.ppt

Boehm 给出软件需求的定义:研究一种无二义性 的表达工具,它能为用户和软件人员双方都接受 ,并能够把“需求”严格地、形式地表达出来。
“需求、设计、编程、测试四者究竟哪个环节最 重要?”
➢ 首先,每个环节都是很重要,任何一个环节出现问题 ,都会导致软件的质量问题。
➢ 但是,从管理的角度来看,需求是软件产品的起源, 因而是最重要的一个环节
依据功能需求,性能需求,运行环境需求等,剔 除其不合理的部分,增加其需要部分。最终综合 成系统的解决方案,给出目标系统的详细逻辑模 型。
需求分析是一项必须的软件工程活动。它 在系统需求分析和软件设计之间起到桥梁 的作用:
➢ 它使得软件开发人员在系统分析的基础上深入描述软 件的功能和性能、指明软件和其他系统元素的接口, 建立软件必须满足的约束条件。
➢ 它允许软件开发人员对关键问题进行细化,并构建相 应的分析模型:数据、功能和行为模型。
演示课件
19
4.7.6 用户需求说明书与 软件需求规格说明书的区别
前者主要采用自然语言来表达用户需求,其内容 相对于后者而言比较粗略,不够详细。
后者是前者的细化,更多地采用计算机语言和图 形符号来刻画需求,软件需求是软件系统设计的 直接依据。
两者之间可能并不存在一一影射关系,因为软件 开发商会根据产品发展战略、企业当前状况适当 地调整软件需求,例如用户需求可能被分配到软 件的数个版本中。软件开发人员应当依据《软件 需求规格说明书》来开发当前产品。
➢ 信息结构。
信息结构表示了各种数 据和控制项的内部组织
演示课件
11
4.6.2 功能及行为建模
功能模型:对进入软件的信息和数据进行变换和处理的 模块,它必须至少完成三个常见功能:输入、处理和输 出。
“需求、设计、编程、测试四者究竟哪个环节最 重要?”
➢ 首先,每个环节都是很重要,任何一个环节出现问题 ,都会导致软件的质量问题。
➢ 但是,从管理的角度来看,需求是软件产品的起源, 因而是最重要的一个环节
依据功能需求,性能需求,运行环境需求等,剔 除其不合理的部分,增加其需要部分。最终综合 成系统的解决方案,给出目标系统的详细逻辑模 型。
需求分析是一项必须的软件工程活动。它 在系统需求分析和软件设计之间起到桥梁 的作用:
➢ 它使得软件开发人员在系统分析的基础上深入描述软 件的功能和性能、指明软件和其他系统元素的接口, 建立软件必须满足的约束条件。
➢ 它允许软件开发人员对关键问题进行细化,并构建相 应的分析模型:数据、功能和行为模型。
演示课件
19
4.7.6 用户需求说明书与 软件需求规格说明书的区别
前者主要采用自然语言来表达用户需求,其内容 相对于后者而言比较粗略,不够详细。
后者是前者的细化,更多地采用计算机语言和图 形符号来刻画需求,软件需求是软件系统设计的 直接依据。
两者之间可能并不存在一一影射关系,因为软件 开发商会根据产品发展战略、企业当前状况适当 地调整软件需求,例如用户需求可能被分配到软 件的数个版本中。软件开发人员应当依据《软件 需求规格说明书》来开发当前产品。
➢ 信息结构。
信息结构表示了各种数 据和控制项的内部组织
演示课件
11
4.6.2 功能及行为建模
功能模型:对进入软件的信息和数据进行变换和处理的 模块,它必须至少完成三个常见功能:输入、处理和输 出。
软件需求分析PPT课件

原型设计工具
原型设计工具用于快速创建软件原型, 帮助团队更好地理解用户需求和设计 软件界面。
常见的原型设计工具包括Axure、 Sketch、Figma等,这些工具支持快 速设计和制作高保真原型,方便团队 成员进行讨论和评审。
需求分析建模工具
需求分析建模工具用于对软件需求进行分析、建模和规格编写,帮助团队更好地 理解和规范软件需求。
评审
组织专家或利益相关者对需求规格说 明进行评审,确保内容的准确性和完 整性。
修改
根据评审结果,对需求规格说明进行 修改和完善,确保满足利益相关者的 需求。
需求规格说明的发布与维护
发布
将需求规格说明正式发布给相关人员,确保利益相关者了解和遵循。
维护
在软件开发生命周期中,对需求规格说明进行维护和更新,确保其与实际需求保持一致。
定期对需求变更进行审查,确保变 更得到有效控制。
沟通与协调
及时向相关干系人报告变更情况, 确保信息一致性。
04
06 软件需求分析工具
需求管理工具
需求管理工具用于记录、跟踪和管理 软件需求,确保需求变更得到及时处 理和正确实施。
常见的需求管理工具包括Jira、 MantisBT等,这些工具提供了需求跟 踪、版本控制、变更管理等功能,帮 助团队更好地协作和管理需求。
需求分析的流程
需求整理
对收集到的需求进行分类、筛 选、合并、去重等处理。
需求规格说明
编写需求规格说明书,明确需 求的细节和验收标准。
需求收集
通过访谈、问卷调查、原型演 示等方式收集用户需求。
需求分析
对整理后的需求进行深入分析, 明确系统功能、性能等方面的 具体要求。
需求评审
组织专家或团队对需求规格说 明书进行评审,确保需求的准 确性和完整性。
软件工程PPT课件第3章 软件需求分析

5
理
D5 订单表
订单49
1. 数据流图的四个基本成分
2
或
2
数据处理(加工) 数据流(数据对象)
或
II
数据存储 (文件或数据库)
2
或
位于被建模系统之外的信息生 产者或消费者,称为外部项。 说明数据输入的源点(数据源) 或数据输出的汇点(数据池)
50
2. DFD各成分的作用和 命名注意事项
数据流
表示数据和数据流向
抽象出当前系统的逻辑模型
购 书 申 学请
购
生
审查 有效性
书 单
开发票
发 票
开领 书单
领 书 单 发书
书
学 生
学生购买教材的逻辑模型
35
需求分析过程示意
(3) 分析当前系统与目标系统的差别, 建立目标系统的逻辑模型
无效书单
学 购书单 审查并 发票 领书单 开领
生
开发票
书单
学 生
36
计算机售书系统的逻辑模型
28
(10) 软件成本消耗 与开发进度需求
开发有规定的时间表吗?
软硬件投资有无限制?
29
(11) 质量保证
系统的可靠性要求?
系统必须监测和隔离错误吗?
规定系统平均出错时间?
出错后,重启系统允许的时间? 系统变化如何反映到设计中? 维护是否包括对系统的改进? 系统的可移植性?
4
需求分析的任务和步骤
需求分析的任务
建立分析模型 编写需求说明
需求分析的步骤
问题分析
需求描述
需求验证(评审)
5
需求获取的常用方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求规格 说明文档
执行验证
问题、修 改建议
问题修正
.
7
主要内容
1. 验证与确认 2. 需求验证 3. 需求验证方法
1. 评审 2. 原型与模拟 3. 开发测试用例 4. 用户手册编制 5. 利用跟踪关系 6. 自动化分析
4. 问题修正 5. 需求验证的实践调查
.
8
3.1 评审
由作者之外的其他人来检查产品问题的方法 是主要的静态分析手段 原则上,每一条需求都应该进行评审
缺失需求
重新执行需求获取等一系列工作
需求冲突
协商解决
不切实际的期望
项目调整与需求协商
.
20
主要内容
1. 验证与确认 2. 需求验证 3. 需求验证方法 4. 问题修正 5. 需求验证的实践调查
.
21
5. 需求验证的实践调查
需求验证是重要的 需求验证是容易被忽视的 需求验证的方法是多样的
产品/部署
.
4
主要内容
1. 验证与确认 2. 需求验证 3. 需求验证方法 4. 问题修正 5. 需求验证的实践调查
.
5
2. 需求验证 ——概念
验证普遍存在
获得的用户需求是否正确和充分的支持业务需求?
建立的分析模型是否正确的反映了问题域特性和需求? 细化的系统需求是否充分和正确的支持用户需求?
.
17
3.6自动化分析
形式化语言描述 的需求
需求问题报告
需求分理器
需求分析器
需求集
.
18
主要内容
1. 验证与确认 2. 需求验证 3. 需求验证方法 4. 问题修正 5. 需求验证的实践调查
.
194. 问题修正来自需求澄清(Requirements Clarification)
理解偏差:重新进行分析工作 分析遗漏:重新分析和文档化这部分信息 表达不当:重新以合适的方式表达
全局性非功能性需求(Global Non-Functional Requirements)
例如可靠性、可用性等,对这些需求的测试往往都是大数据集 的处理
.
15
3.4 用户手册编制
验证功能需求
对软件系统功能和实现的描述
验证项目范围
对系统没有实现的功能的描述
验证异常流程需求
问题和故障的解决
第16章.需求验证
.
1
主要内容
1. 验证与确认 2. 需求验证 3. 需求验证方法 4. 问题修正 5. 需求验证的实践调查
.
2
1. 验证与确认 ——概念
需求验证:以正确的方式建立需求
需求集是正确的、完备的和一致的; 技术上是可解决的; 它们在现实世界中的满足是可行的和可验证的。
需求确认:建立的需求是正确的
验证环境与约束需求
系统的安装和启动
.
16
3.5利用跟踪关系
业务需求用户需求系统需求
如果业务需求和用户需求没有得到后项需求(用户 需求和系统需求)的充分支持,那么软件需求规格 说明文档就存在不完备的缺陷。
系统需求用户需求业务需求
如果不能依据跟踪关系找到一条系统需求的前项用 户需求和前项业务需求,那么该需求就属于非必要 的需求。
评审和原型最为广泛 客户对线索(Threads)和场景(Scenarios)表现
出了最大的兴趣 技术人员、领域专家、客户以及用户是最合适的评
审者
.
22
实例分析
需求虽然写好了也定稿了,但是并没有得到最终确认就开 始了软件开发工作。这种现象主要是由于业务小组和技术 小组沟通不全面造成的,在双方就某一问题产生分歧的情 况下,没有一个能出来拍板的人决定(有权利决定的领导 不参与开发和需求编写)。所以整个项目的开发是在业务 小组和技术小组的争论中走过的。经常出现业务小组提出 的方案技术小组难以落实,等到后期变通修改造成功能损 失的情况。因为需求得不到最终确认,一直在修改中,造 成技术小组不停的修改已经编写完毕的模块,有些改动甚 至涉及到公共基类的修改和各模块之间的关联,造成很大 的浪费。
每一条需求都是符合用户原意的
系统验证:正确的建立系统
系统能够在预期的环境中正确的执行设定的功能。
系统确认:建立的系统是正确的
建立的系统是符合系统需求和系统设计的
.
3
1. 验证与确认 ——软件工程的验证与确认
需求工程
体系结构设计
详细设计
静态分析 (验证与确认)
编码
测试
开发者测试 测试者测试
.
9
3.1 评审 ——参与人员
组长 领域专家
阅读人员
用户代表
技术人员
记录人员
观察员
作者
.
10
3.1 评审 ——过程
规划
总体部署
准备
审查会议 返工
.
跟踪
11
3.1 评审 ——检查方法
检查方法
描述
自由方法(Ad-hoc)
没有为检查人员提供系统化的引导
检查清单(Checklist-Based) 以通用的检查清单来引导检查过程
)
.
(走 查
Ad hoc Review Pass around
Peer Deskcheck
Walk through
Team Review (Inspection)
)
(小 组 评 审
)
最正式
3.1 评审 ——类型
审 查
3.2 原型与模拟
涉及到复杂的动态行为时 成本较高
规划
定义验证场景
执行原型场景
来引导检查过程。缺陷、功能点、视角都是场景方法
的一个特例。
逐步提升(Stepwise Abstraction)净室软件开发中的一种方法。阅读者描述一些独立代
码段的功能,然后将描述的范围逐步扩大,描述的功
能抽象逐步提高,直至阅读人员描述了整个评审物件
.
12
) 13
临 时 评 审 (
最不正式
)
同轮 级查 桌( 查 (
建立、评述或者扩展原型(模拟)系统
记录问题
.
14
3.3 开发测试用例
如果无法为某条需求定义完备的测试用例,那么 它可能就存在着模糊、信息遗漏、不正确等缺陷
例外
排斥性需求(Exclusive Requirements)
这种需求要求特定的行为绝对不会发生,例如需求可能会要求 系统故障不能导致数据库的崩溃
缺陷(Defect-Based)
用于需求文档,根据缺陷的分类来组织和检查场景
功能点(Function Point-Based) 按照功能点来组织和检查场景
视角(Perspective-Based)
按照不同涉众类型的视角来组织和检查场景
场景(Scenario-Based)
对每一个场景,都利用一系列的问题或者细节要求,
需求规格说明文档是否组织良好、书写正确?需求规格 说明文档内的需求是否充分和正确的反映了涉众的意图? 需求规格说明文档是否可以作为后续开发工作(设计、 实现、测试等等)的基础?
需求验证是专指在需求规格说明完成之后,对需 求规格说明文档进行的验证活动
.
6
2. 需求验证 ——活动
修改后的软件需求规格说明文档