第四章软件需求分析.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 需求分析是前面需求获取阶段的继续,通 过对所获取的信息进一步加工获得对系统 的更精确描述,成为转换成需求规格说明 的直接信息元。
• 但是否将需求分析作为独立的过程?
2020-11-9
感谢你的观看
4
需求分析的关键点
• 问题域的结构 • 问题域的数据 • 问题域的行为 • 问题域的事件 • 问题域的状态 • 派生需求
只是 针对问题域 吗?
2020-11-9
感谢你的观看
5
一.需求分析面临的困难
• 需求分析是一个项目的开端,也是项目建 设的基石。在失败的项目中,80%是由于 需求分析的不明确而造成的。因此一个项 目成功的关键因素之一,就是对需求分析 的把握程度。
• 由于软件项目的特殊性和行业覆盖的广阔 性,以及需求分析的高风险性,软件需求 分析的重要性是不言而喻的,同时需求分 析又面临着很多困难。
分解:把系统的复杂性 降低到可以掌握的程度, 把大问题分解成若干小 问题,然后分别解决。
抽象:即先考虑问题最 本质的属性,暂把细节 略去,以后再逐层添加 细节,直至涉及到最详
细的内容。
2020-11-9
感谢你的观看
图4 自顶向下逐层分解
12
数据流图
数据流图DFD • 描述系统逻辑模型
–信息在系统中的流动和处理
➢用户能够在某种程度上确认业务事件和任务列 表。
• 通过一致性检查确定列表是否完备。
2020-11-9
感谢你的观看
19
数据需求分析
——数据字典DD
• DFD中所有元素的定义的集合 • 内容
–数据流 –数据流分量 –数据存储 –处理(一般不用DD描述)
• 定义数据的方法
– 自顶向下分解数据
2020-11-9
感谢你的观看
14
数据流图
DFD练习—售书系统
学
购书单 教材 缺书单 书 库
购销
保管
生
系统
员
领书单
进书通知
图5 售书系统顶层数据流图
2020-11-9
感谢你的观看
15
数据流图
DFD练习—售书系统
F1教材存量表
学 购书单 1
生
销
领书单 售
进书通知
2
缺书单 书库 保管
采Biblioteka Baidu
员
购 进书通知
F2缺书登记表
2020-11-9
– E-R D - Entity Relationship Diagrams
• 面向对象建模
– 处理和数据相结合
– Object and Class 对象和类的技术
2020-11-9
感谢你的观看
11
需求分析基本方法
——结构化分析方法(SA)
• 结构化分析(Structured Analysis,简称SA法) 的基本思想:“分解”和“抽象”
明或数据流图等方法进行解释。 • 对复杂的功能采用数据流图、算法描述、
活动图、数学说明等进行解释。
2020-11-9
感谢你的观看
18
处理方法:事件列表与功能列表
• 事件及功能列表的优点
➢主要作为核对清单,以说明应开发什么。其中 对这些功能的详细说明构成了功能需求的主要 部分。
➢开发人员可以方便的检查产品是否实现每一个 功能。
感谢你的观看
20
数据需求分析
——数据字典DD
• 数据元素的组合方式
–顺序:A+B –选择:[A|B] –重复:1{A}5 –可选: (A)
• DD的用途
–分析阶段的交流工具 –包含控制信息 –数据库设计的基础
2020-11-9
感谢你的观看
21
E-R图
• 用于对复杂数据的数据分析和建模 • 实体、属性和关系 • 组成符号
0:1
2020-11-9
1:1
0:m
感谢你的观看
1:m
22
E-R图例子
电话机 生 产
使用
生产厂商 经销
用户
2020-11-9
感谢你的观看
7
分析方法
• 结构化分析 • 面向对象分析
2020-11-9
感谢你的观看
8
分析模型描述工具
• 结构化分析工具
–DFD、DD和PSPEC –CFD、CSPEC和STD –E-R图
• 面向对象分析工具
–用例图,类图,对象图 –对象-关系图 –对象-行为图
2020-11-9
感谢你的观看
9
需求分析建模工具
• 数据流图 • 实体关系图 • 状态转换图 • 对话图 • 类图 • Petri Net
2020-11-9
感谢你的观看
10
建模技术
• 面向处理技术
– Context diagram 上下文图
– Data flow diagram (DFD) 数据流图
– 流程图
• 面向数据结构技术
• 用途
–交流信息的工具 –结构化分析和设计的工具
2020-11-9
感谢你的观看
13
数据流图
数据流图DFD
• 组成符号
– 圆框代表加工
– 箭头代表数据流向
– 方框代表源点和终点
– 双杠表示数据文件或数据库
• 分层
– 从高层到低层
– 分解前后的数据流必须一致
• 命名
– 数据流
– 2020-11-9 处理
2020-11-9
感谢你的观看
6
二.需求分析基本方法和工具
需求分析包括:
需求工程
• 绘制关联图
• 创建用户界面和技术 原型
需求开发
需求管理 • 分析需求的可行性
• 确定需求的优先级
• 为需求建模
获取 分析 编写规约 确认
• 创建数据字典 • 将需求分解到子系统
• 应用质量功能调配
图1 软件需求工程的组成
第四章 软件需求分析
周立新 博士 北京大学软件与微电子学院
2020-11-9
感谢你的观看
1
课程提纲
1. 软件需求基本理论和概念 2. 软件需求工程过程 3. 软件需求获取 4. 软件需求分析 5. 软件需求规格说明 6. 软件需求验证 7. 软件需求管理 8. 软件需求实现 9. 软件需求工程新进展 10. 软件需求开发与需求管理工具
感谢你的观看
16
功能需求分析
——加工说明PSPEC
• 加工说明PSPEC
–说明DFD中的每个加工
• 描述工具
–结构化语言 –判定表 –判定树
2020-11-9
感谢你的观看
17
处理方法:事件列表与功能列表
• 事件就是要求系统执行某项功能的请求 • 业务事件与产品事件 • 对复杂的业务任务采用任务说明、用例说
2020-11-9
感谢你的观看
2
内容提要
• 需求分析面临的困难 • 需求分析基本方法和工具 • 数据需求分析 • 功能需求分析 • 非功能性需求分析 • 实时系统需求分析 • 基于USE CASE的需求分析 • 基于原型方法的分析
2020-11-9
感谢你的观看
3
需求分析
• 分析是指通过对问题域的研究,获得对该领 域特性及存在于其中的待解决的问题特性 的透彻理解并用文档说明。
• 但是否将需求分析作为独立的过程?
2020-11-9
感谢你的观看
4
需求分析的关键点
• 问题域的结构 • 问题域的数据 • 问题域的行为 • 问题域的事件 • 问题域的状态 • 派生需求
只是 针对问题域 吗?
2020-11-9
感谢你的观看
5
一.需求分析面临的困难
• 需求分析是一个项目的开端,也是项目建 设的基石。在失败的项目中,80%是由于 需求分析的不明确而造成的。因此一个项 目成功的关键因素之一,就是对需求分析 的把握程度。
• 由于软件项目的特殊性和行业覆盖的广阔 性,以及需求分析的高风险性,软件需求 分析的重要性是不言而喻的,同时需求分 析又面临着很多困难。
分解:把系统的复杂性 降低到可以掌握的程度, 把大问题分解成若干小 问题,然后分别解决。
抽象:即先考虑问题最 本质的属性,暂把细节 略去,以后再逐层添加 细节,直至涉及到最详
细的内容。
2020-11-9
感谢你的观看
图4 自顶向下逐层分解
12
数据流图
数据流图DFD • 描述系统逻辑模型
–信息在系统中的流动和处理
➢用户能够在某种程度上确认业务事件和任务列 表。
• 通过一致性检查确定列表是否完备。
2020-11-9
感谢你的观看
19
数据需求分析
——数据字典DD
• DFD中所有元素的定义的集合 • 内容
–数据流 –数据流分量 –数据存储 –处理(一般不用DD描述)
• 定义数据的方法
– 自顶向下分解数据
2020-11-9
感谢你的观看
14
数据流图
DFD练习—售书系统
学
购书单 教材 缺书单 书 库
购销
保管
生
系统
员
领书单
进书通知
图5 售书系统顶层数据流图
2020-11-9
感谢你的观看
15
数据流图
DFD练习—售书系统
F1教材存量表
学 购书单 1
生
销
领书单 售
进书通知
2
缺书单 书库 保管
采Biblioteka Baidu
员
购 进书通知
F2缺书登记表
2020-11-9
– E-R D - Entity Relationship Diagrams
• 面向对象建模
– 处理和数据相结合
– Object and Class 对象和类的技术
2020-11-9
感谢你的观看
11
需求分析基本方法
——结构化分析方法(SA)
• 结构化分析(Structured Analysis,简称SA法) 的基本思想:“分解”和“抽象”
明或数据流图等方法进行解释。 • 对复杂的功能采用数据流图、算法描述、
活动图、数学说明等进行解释。
2020-11-9
感谢你的观看
18
处理方法:事件列表与功能列表
• 事件及功能列表的优点
➢主要作为核对清单,以说明应开发什么。其中 对这些功能的详细说明构成了功能需求的主要 部分。
➢开发人员可以方便的检查产品是否实现每一个 功能。
感谢你的观看
20
数据需求分析
——数据字典DD
• 数据元素的组合方式
–顺序:A+B –选择:[A|B] –重复:1{A}5 –可选: (A)
• DD的用途
–分析阶段的交流工具 –包含控制信息 –数据库设计的基础
2020-11-9
感谢你的观看
21
E-R图
• 用于对复杂数据的数据分析和建模 • 实体、属性和关系 • 组成符号
0:1
2020-11-9
1:1
0:m
感谢你的观看
1:m
22
E-R图例子
电话机 生 产
使用
生产厂商 经销
用户
2020-11-9
感谢你的观看
7
分析方法
• 结构化分析 • 面向对象分析
2020-11-9
感谢你的观看
8
分析模型描述工具
• 结构化分析工具
–DFD、DD和PSPEC –CFD、CSPEC和STD –E-R图
• 面向对象分析工具
–用例图,类图,对象图 –对象-关系图 –对象-行为图
2020-11-9
感谢你的观看
9
需求分析建模工具
• 数据流图 • 实体关系图 • 状态转换图 • 对话图 • 类图 • Petri Net
2020-11-9
感谢你的观看
10
建模技术
• 面向处理技术
– Context diagram 上下文图
– Data flow diagram (DFD) 数据流图
– 流程图
• 面向数据结构技术
• 用途
–交流信息的工具 –结构化分析和设计的工具
2020-11-9
感谢你的观看
13
数据流图
数据流图DFD
• 组成符号
– 圆框代表加工
– 箭头代表数据流向
– 方框代表源点和终点
– 双杠表示数据文件或数据库
• 分层
– 从高层到低层
– 分解前后的数据流必须一致
• 命名
– 数据流
– 2020-11-9 处理
2020-11-9
感谢你的观看
6
二.需求分析基本方法和工具
需求分析包括:
需求工程
• 绘制关联图
• 创建用户界面和技术 原型
需求开发
需求管理 • 分析需求的可行性
• 确定需求的优先级
• 为需求建模
获取 分析 编写规约 确认
• 创建数据字典 • 将需求分解到子系统
• 应用质量功能调配
图1 软件需求工程的组成
第四章 软件需求分析
周立新 博士 北京大学软件与微电子学院
2020-11-9
感谢你的观看
1
课程提纲
1. 软件需求基本理论和概念 2. 软件需求工程过程 3. 软件需求获取 4. 软件需求分析 5. 软件需求规格说明 6. 软件需求验证 7. 软件需求管理 8. 软件需求实现 9. 软件需求工程新进展 10. 软件需求开发与需求管理工具
感谢你的观看
16
功能需求分析
——加工说明PSPEC
• 加工说明PSPEC
–说明DFD中的每个加工
• 描述工具
–结构化语言 –判定表 –判定树
2020-11-9
感谢你的观看
17
处理方法:事件列表与功能列表
• 事件就是要求系统执行某项功能的请求 • 业务事件与产品事件 • 对复杂的业务任务采用任务说明、用例说
2020-11-9
感谢你的观看
2
内容提要
• 需求分析面临的困难 • 需求分析基本方法和工具 • 数据需求分析 • 功能需求分析 • 非功能性需求分析 • 实时系统需求分析 • 基于USE CASE的需求分析 • 基于原型方法的分析
2020-11-9
感谢你的观看
3
需求分析
• 分析是指通过对问题域的研究,获得对该领 域特性及存在于其中的待解决的问题特性 的透彻理解并用文档说明。