需求工程-需求分析、定义和验证
| 项目 | 内容 |
|---|---|
| 来源 | 录播 |
| 章节 | 第十一章-软件工程 |
| 标签 | 讲义 |
| 页数 | 8 |
| 总字数 | 1341 |
| 原始课件 | 基础录播课/第十一章-软件工程/需求工程-需求分析、定义和验证.pdf |
本文由课件自动整理,页内文字按原始讲义阅读顺序还原;
[图]表示该位置存在图示,图示内容请对照原始课件查看。
目录
- 第 1 页 · 需求获取
- 第 2 页 · 需求分析-结构化的需求分析
- 第 3 页 · 需求分析-数据流图
- 第 4 页 · 需求分析
- 第 5 页 · 需求分析-分层数据流图
- 第 6 页 · 需求分析-数据字典DD
- 第 7 页 · 需求定义
- 第 8 页 · 需求验证
第 1 页 · 需求获取
需求分析:一个好的需求应该具有无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、
必要性等特性,因此,需要分析人员把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的
工作。
常见的需求分析任务包括:
•
绘制系统上下文范围关系图(数据流图)
•
创建用户界面原型
•
分析需求的可行性
•
确定需求的优先级
•
为需求建立模型
•
创建数据字典
•
使用QFD(QFD:质量功能部署,把需求和QFD进行关联)
第 2 页 · 需求分析-结构化的需求分析
结构化特点:自顶向下,逐步分解,面向数据。
三大模型:功能模型(数据流图)、行为模型(状态转换图)、数据模型(E-R图)以及数据字典。
[图]
第 3 页 · 需求分析-数据流图
数据流图DFD基本图形元素:外部实体、加工、数据存储、数据流。
[图]
第 4 页 · 需求分析
数据流:由一组固定成分的数据组成,表示数据的流向。在
DFD中,数据流的流向必须经过加工。
[图]
加工:描述了输入数据流到输出数据流之间的变换,数据流图
中常见的三种错误如图所示:
•
加工3.1 .2有输入但是没有输出,称之为“黑洞”
•
加工3.1 .3有输出但没有输入。称之为“奇迹”。
•
加工3.1 .1中输入不足以产生输出,我们称之为“灰洞”。
数据存储:用来存储数据。
外部实体(外部主体):是指存在于软件系统之外的人员或组织,
它指出系统所需数据的发源地(源)和系统所产生的数据的归宿地
(宿)。
第 5 页 · 需求分析-分层数据流图
提示:本页以图示为主,下列文本为图中标注文字。
[图]
[图]
第 6 页 · 需求分析-数据字典DD
数据流图描述了系统的分解,但没有对图中各成分进行说明。数据字典就是为数据流图中的每个数据流、
文件、加工,以及组成数据流或文件的数据项做出说明,即为了描述数据流图的。
数据字典有以下4类条目:数据流、数据项、数据存储和基本加工。(注意这里没有描述外部实体,因
为外部实体不是系统内部的内容)
加工逻辑也称为“小说明”。常用的加工逻辑描述方法有结构化语言、判定表和判定树3种。
[图]
第 7 页 · 需求定义
需求定义(软件需求规格说明书SRS):是需求开发活动的产物,编制该文档的目的是使项目干系
人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。SRS是软件
开发过程中最重要的文档之一,对于任何规模和性质的软件项目都不应该缺少。
需求定义方法
•
严格定义也称为预先定义(结构化定义),需求的严格定义建立在以下的基本假设之上:所有需求都能
够被预先定义。开发人员与用户之间能够准确而清晰地交流。采用图形(或文字)可以充分体现最终系统,
适合需求明确的情况。
•
原型方法,迭代的循环型开发方式,需要注意的问题:并非所有的需求都能在系统开发前被准确地说明。
项目干系人之间通常都存在交流上的困难,原型提供了克该服困难的一个手段。特点:需要实际的、可
供用户参与的系统模型。有合适的系统开发环境。反复是完全需要和值得提倡的,需求一旦确定,就应
遵从严格的方法。
第 8 页 · 需求验证
需求验证:也称为需求确认,目的是与用户一起确认需求无误,对需求规格说明书SRS进行评审
和测试,包括两个步骤:
•
需求评审:正式评审和非正式评审。
•
需求测试:设计概念测试用例,设计场景来测试需求,没有代码。
需求验证通过后,要请用户签字确认,作为验收标准之一,此时,这个需求规格说明书就是需求
基线,不可以再随意更新,如果需要更改必须走需求变更流程。