5-结构化分析建模方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、找外部实体,找到外部实体即可确定系统与外部世界的 关系,也就可确定数据流源点和终(汇)点; 2、找出外部实体的输入和输出数据流; 3、画出外部实体; 4、从外部实体的输出流(源)出发,按照系统的逻辑需要, 逐步画出一系列逻辑加工框,直至数据终点; 5、按照一般原则进行检查和修改; 6、按上述步骤画出所需的子图。
system
Page 8
Process
A data transformer (changes input to output)
Examples: compute taxes, determine area, format report, display graph
Data must always be processed in some way to achieve system function
Page 14
读入 卡片
卡片数据 卡片
检验
读下张卡片数据
合法卡片信息
含控制流的例子
货物价格
记帐
货物
含实物的例子
Page 15
提货单
5.2.2分层数据流图
复杂的实际问题,在数据流图上常常出现十几个甚至 几十个加工。
画数据流图的基本步骤概括地说,就是自外向内,自 顶向下,逐层细化,完善求精。
Page 18
分层图编号
F
F
1.1
1.2 1.3
DFD/L2.1
F
S
F
DFD/L0
顶层
123
F
1层
DFD/L1
2.1 2.3 2.2 2.4 DFD/L2.2
3.1
3.2 3.3 F 2层
DFD/L2.3
Page 20
父图和子图的平衡
父 图
A
1B
M
N
3
2C S
子 图
N
X
3.1
3.2
P M 3.3
领书单
1.2售书
到货书单
Page 33
教材采购与销售管理系统二层数据流图 L2.2
F2 缺书登记表
F6 教材一览表
缺书通知
2.1 按书号 汇总缺书
2.2 按出版社 统计缺书
F1 教材存量表
F5 待购教材表
缺书单
2.3
书
销 售
进书通知
修改 教材库存
进书单
库 保
和待购量
管
员
Page 34
Leabharlann Baidu 例3
Page 35
Page 25
例1
1. 假设一家工厂的采购部(采购人员)每天需要 一张定货报表,报表按零件编号排序,表中列 出所有需要再次定货的零件。对于每个需要再 次定货的零件应该列出下述数据:零件编号, 零件名称,定货数量,目前价格,主要供应者, 次要供应者。
2. 零件入库或出库称为事务,仓库管理员通过放 在仓库中的CRT终端把事务报告给定货系统。 当某种零件的库存数量少于库存量临界值时就 应该再次定货。
5 结构化分析(SA)建模
结构化分析方法是一种面向数据流的系统建模 技术;适合分析大型的数据处理系统。
SA帮助分析者理解系统的功能,并采用模型与 用户进行交流;
不同的模型从不同的角度对系统进行描述。
Page 1
结构化分析建模
结构化分析方法建立的分析模型结构如下图:
数据对象描述
实体— 关系图
器
Page 37
DFD--- 1 level
Page 38
控制面 板显示
DFD--- 2 level精化“检测传感器”
Page 39
5.2.3数据词典
数据词典用于精确、严格地定义每一个与系统相 关的数据元素(包括加工、数据流、数据存储、外 部实体和数据项),并以字典式顺序将它们组织起 来,使得用户和分析员有共同的理解。 在数据词典的每一个词条中应包含以下信息:
sensor data
Page 11
例:教材采购与销售管理系统数据流图
F1教材存量表
学
购书单 1
销
生
售
领书单
缺书通知
购书通知
书
2 缺书单 库
采
保
购
进书单
管 员
F2缺书登记表
Page 12
多个数据流与加工之间关系的符号
Page 13
有关数据流
(1)数据流是一组成分已知的数据。可以是一个数据,也可以是一 组数据。
① 名称:名字。 ② 别名或编号。 ③ 分类 ④ 描述:描述内容或数据结构等。 ⑤ 何处使用:用途。 ⑥ 注释:数据量,峰值,限制,组织方式等
Page 40
数据字典中的分类(条目)包括5种形式:
1、数据项:数据处理中基本的不可分割的逻辑单位(如学号等) 。 2、数据流:定义数据流图中的数据流,包括名字、编号、来源去向、 数据组成等。 3、数据存储:说明存储文件的名称、编号、组成、记录数等。 4、加工:说明加工的名称、编号、激活条件、加工逻辑概括描述等。 5、外部实体:说明外部实体的名称、编号,输入/输出数据流等。但 由于源点和汇点不在系统之内,可以不描述。
状态—迁移图(STD)描述系统对外部事件如何响应,如 何动作。
因此,ERD用于数据建模,DFD用于功能建模, STD用于行为建模。
Page 3
5.1数据建模与实体—关系图(ERD)
数据模型包括三种互相关联的信息:
数据对象 描述对象的属性 描述对象间相互连接的关系 (具体绘制方法同数据库原理ER模型画法)
例如,x=3{a}8,表示x中a出现3到8次。 例如,x=(a),表示a可在x中出现,也可不出现
(2)两个加工之间可以有多个数据流。 (3)同一数据流可流向不同加工,不同加工也可流出相同的数据流。
(合并与分解)。 (4)数据流不能是实物,不能把现实环境中的实物名作为数据流名,
软件只能处理数据,不能处理实物。 (5)数据流不能是控制流。数据流反映了处理的对象,控制流是一
种选择或用来影响加工的性质。
按照系统的层次结构进行逐步分解,并以分层的数据 流图反映复杂的结构关系,能清楚地表达和容易理解 整个系统。
Page 16
有关数据流分层
结构化控制复杂性的方法是采用分层技术,用一套分层 DFD来分解复杂性。分层体现了抽象和信息隐藏。
一套分层DFD图包括顶层DFD 、中间层DFD和底层 DFD组成。
Page 9
Data Flow
Data flows through a system, beginning as input and be transformed into output.
base height
compute triangle
area
area
Data must always originate somewhere and must always be sent to something
Q
S
3.4
S
Page 21
局部文件
父 图
A 1B M
N3
2C S
子 图
N
3.1
P
M
R
3.3
X
3.2
OQ
S
3.4
S
Page 22
File 返回
画分层数据流图的注意事项
数据流图要具有可读性、一致性、正确性。
① 数据流图上所有图形符号只限于前述四种基本图形元素。 ② 顶层数据流图上的数据流必须封闭在外部实体之间。 ③ 数据应通过加工流动,避免从一个数据存储直接流向另一个
Page 4
5.2 功能建模和数据流图
功能建模的思想就是用抽象模型的概念,按照软 件内部数据传递、变换的关系,自顶向下逐层分 解,直到找到满足要求的所有可实现的软件功能 为止。
数据流图将系统看成是由数据流联系起来的各种 功能的组合。数据流图可以方便的描述那些通过 数据流的流动所联系起来的各种功能。通过各种 功能的输入/输出结果,表现系统的功能。
语法分析: 动词是SafeHome处理(加工),它们最终将被表 示为DFD中的泡泡; 名词是外部实体(方框)、数据流(箭头)、数据 存储(双横线)。
通过对任何DFD层次中某个泡泡的处理叙述文字进 行语法分析,可以产生许多关于如何精化到下一个 层次的有用信息。
Page 36
DFD--- 0 level
Page 23
画分层数据流图的注意事项
⑦ 图上每个元素都必须有名字。数据流和数据文件的名字 应当是“名词”或“名词性短语”,表明流动的数据是 什么。加工的名字应当是“名词+宾语”,表明做什么 事情。
⑧ 数据流图中不可夹带控制流。 ⑨初画时可以忽略琐碎的细节,以集中精力于主要数据流。
Page 24
数据流图的步骤:
数据 词典
数据流图
加工规格说明
状态—迁移图
控制规格说明
Page 2
结构化分析建模
结构化分析模型的核心是数据词典,它描述了所有 的在目标系统中使用的和生成的数据对象。
围绕着这个核心的有三种图:
实体—关系图(ERD)描述数据对象及数据对象之间的关 系;
数据流图(DFD)描述数据在系统中如何被传送或变换, 以及描述如何对数据流进行变换的功能(子功能);
Page 5
5.2.1 数据流图的画法
数据流图中的常用图元有以下四种:
表示外部实体,是数据的提供方或需求方,代表数
据源和数据池(终点)。
表示加工,代表接收输入,经过变换,继而产生输
出的处理过程。
表示数据流,代表数据的流向和路径。
表示数据存储,代表系统加工的数据所存储的地方。
Page 6
Flow Modeling Notation
external entity process data flow data store
Page 7
External Entity
A producer or consumer of data Examples: a person, a device, a sensor Another example: computer-based
数据存储。 ④ 每个加工至少有一个输入数据流和一个输出数据流,且输入
与输出数据流要平衡。有输入,无使用及输出为“黑洞”, 无输入和产生而有输出为“奇迹”。 ⑤ 在数据流图中,需按层给加工框编号。编号表明该加工处在 哪一层,以及上下层的父图与子图的对应关系。 ⑥ 规定任何一个数据流子图必须与它上一层的一个加工对应, 两者的输入数据流和输出数据流必须一致。此即父图与子图 的平衡。
(1)父图和子图,分层图编号 如果一张数据流图中的某个加工分解成另一张数据流 图时,则上层图为父图,直接下层图为子图。子图及 其所有的加工都应对应父图进行编号。 (2)父图和子图的平衡性 子图的输入输出数据流同父图相应加工的输入输出数 据流必须一致,此即父图与子图的平衡。
Page 17
(3)局部文件 当某层数据流图中的数据存储不是父图中相应加工的 外部接口,而只是本图中某些加工之间的数据接口, 则称这些数据存储为局部数据存储。 (4)分解度 注意合理分解,要把一个加工分解成几个功能相对独 立的子加工,这样可以减少加工之间输入、输出数据 流的数目,增加数据流图的可理解性。
2、根据缺书登记补充采购所缺的教材 ① 将缺书登记表汇总为缺书单,由管理员采购; ② 管理员采购的每一批图书都有进货单,系统根据进货单更新教 材存量并更新缺书登记。
Page 30
例:教材采购与销售管理系统零层数据 流图 L0
购书单
学
生 领书单
教材 购销 系统
缺书单 进书单
书 库 管 理
员
Page 31
教材采购与销售管理系统一层数据流图 L1
F1教材存量表
学
购书单 1
销
生
售
领书单
缺书通知
购书通知
书
2 缺书单 库
采
保
购
进书单
管 员
F2缺书登记表
Page 32
教材采购与销售管理系统二层数据流图 L2.1
F2缺书登记表
购书单
1.1查库存
学
生
F1教材存量表
购书单
缺书列表
1.3申请采购
缺书通知 进书通知
Page 41
数据词典中的符号
符号
= + [...|...] { ... } m{...}n (...)
“...” ..
含义 被定义为 与 或 重复 重复 可选
基本数据元素 连结符
解
释
例如,x=a+b,表示x由a和b组成。
例如,x=[a|b],表示x由a或由b组成。 例如,x={a},表示x由0个或多个a组成。
描述订货系统的分层数据流图
Page 26
顶层数据流图
Page 27
Page 28
答案不唯一
产生 订货 信息
Page 29
例2请分层画出数据流图。
教学购销系统是某高校早期使用过的一个教材管理系统,主 要用于对计划供应教材的控制销售与补充采购。该系统主要 具有以下功能。
1、根据学校的教学计划,向选课的学生供应所需教材 ① 根据学生(个人或班级)的购书单发售教材,并更新教材存量; ② 对属于计划供应但暂时缺货的教材进行缺书登记。 ③ 缺货教材补充后,以领书单的方式及时通知学生补购。
Page 10
Data Stores
Data is often stored for later use.
sensor # report required
look-up sensor
data
sensor number
sensor #, type, location, age
type, location, age
system
Page 8
Process
A data transformer (changes input to output)
Examples: compute taxes, determine area, format report, display graph
Data must always be processed in some way to achieve system function
Page 14
读入 卡片
卡片数据 卡片
检验
读下张卡片数据
合法卡片信息
含控制流的例子
货物价格
记帐
货物
含实物的例子
Page 15
提货单
5.2.2分层数据流图
复杂的实际问题,在数据流图上常常出现十几个甚至 几十个加工。
画数据流图的基本步骤概括地说,就是自外向内,自 顶向下,逐层细化,完善求精。
Page 18
分层图编号
F
F
1.1
1.2 1.3
DFD/L2.1
F
S
F
DFD/L0
顶层
123
F
1层
DFD/L1
2.1 2.3 2.2 2.4 DFD/L2.2
3.1
3.2 3.3 F 2层
DFD/L2.3
Page 20
父图和子图的平衡
父 图
A
1B
M
N
3
2C S
子 图
N
X
3.1
3.2
P M 3.3
领书单
1.2售书
到货书单
Page 33
教材采购与销售管理系统二层数据流图 L2.2
F2 缺书登记表
F6 教材一览表
缺书通知
2.1 按书号 汇总缺书
2.2 按出版社 统计缺书
F1 教材存量表
F5 待购教材表
缺书单
2.3
书
销 售
进书通知
修改 教材库存
进书单
库 保
和待购量
管
员
Page 34
Leabharlann Baidu 例3
Page 35
Page 25
例1
1. 假设一家工厂的采购部(采购人员)每天需要 一张定货报表,报表按零件编号排序,表中列 出所有需要再次定货的零件。对于每个需要再 次定货的零件应该列出下述数据:零件编号, 零件名称,定货数量,目前价格,主要供应者, 次要供应者。
2. 零件入库或出库称为事务,仓库管理员通过放 在仓库中的CRT终端把事务报告给定货系统。 当某种零件的库存数量少于库存量临界值时就 应该再次定货。
5 结构化分析(SA)建模
结构化分析方法是一种面向数据流的系统建模 技术;适合分析大型的数据处理系统。
SA帮助分析者理解系统的功能,并采用模型与 用户进行交流;
不同的模型从不同的角度对系统进行描述。
Page 1
结构化分析建模
结构化分析方法建立的分析模型结构如下图:
数据对象描述
实体— 关系图
器
Page 37
DFD--- 1 level
Page 38
控制面 板显示
DFD--- 2 level精化“检测传感器”
Page 39
5.2.3数据词典
数据词典用于精确、严格地定义每一个与系统相 关的数据元素(包括加工、数据流、数据存储、外 部实体和数据项),并以字典式顺序将它们组织起 来,使得用户和分析员有共同的理解。 在数据词典的每一个词条中应包含以下信息:
sensor data
Page 11
例:教材采购与销售管理系统数据流图
F1教材存量表
学
购书单 1
销
生
售
领书单
缺书通知
购书通知
书
2 缺书单 库
采
保
购
进书单
管 员
F2缺书登记表
Page 12
多个数据流与加工之间关系的符号
Page 13
有关数据流
(1)数据流是一组成分已知的数据。可以是一个数据,也可以是一 组数据。
① 名称:名字。 ② 别名或编号。 ③ 分类 ④ 描述:描述内容或数据结构等。 ⑤ 何处使用:用途。 ⑥ 注释:数据量,峰值,限制,组织方式等
Page 40
数据字典中的分类(条目)包括5种形式:
1、数据项:数据处理中基本的不可分割的逻辑单位(如学号等) 。 2、数据流:定义数据流图中的数据流,包括名字、编号、来源去向、 数据组成等。 3、数据存储:说明存储文件的名称、编号、组成、记录数等。 4、加工:说明加工的名称、编号、激活条件、加工逻辑概括描述等。 5、外部实体:说明外部实体的名称、编号,输入/输出数据流等。但 由于源点和汇点不在系统之内,可以不描述。
状态—迁移图(STD)描述系统对外部事件如何响应,如 何动作。
因此,ERD用于数据建模,DFD用于功能建模, STD用于行为建模。
Page 3
5.1数据建模与实体—关系图(ERD)
数据模型包括三种互相关联的信息:
数据对象 描述对象的属性 描述对象间相互连接的关系 (具体绘制方法同数据库原理ER模型画法)
例如,x=3{a}8,表示x中a出现3到8次。 例如,x=(a),表示a可在x中出现,也可不出现
(2)两个加工之间可以有多个数据流。 (3)同一数据流可流向不同加工,不同加工也可流出相同的数据流。
(合并与分解)。 (4)数据流不能是实物,不能把现实环境中的实物名作为数据流名,
软件只能处理数据,不能处理实物。 (5)数据流不能是控制流。数据流反映了处理的对象,控制流是一
种选择或用来影响加工的性质。
按照系统的层次结构进行逐步分解,并以分层的数据 流图反映复杂的结构关系,能清楚地表达和容易理解 整个系统。
Page 16
有关数据流分层
结构化控制复杂性的方法是采用分层技术,用一套分层 DFD来分解复杂性。分层体现了抽象和信息隐藏。
一套分层DFD图包括顶层DFD 、中间层DFD和底层 DFD组成。
Page 9
Data Flow
Data flows through a system, beginning as input and be transformed into output.
base height
compute triangle
area
area
Data must always originate somewhere and must always be sent to something
Q
S
3.4
S
Page 21
局部文件
父 图
A 1B M
N3
2C S
子 图
N
3.1
P
M
R
3.3
X
3.2
OQ
S
3.4
S
Page 22
File 返回
画分层数据流图的注意事项
数据流图要具有可读性、一致性、正确性。
① 数据流图上所有图形符号只限于前述四种基本图形元素。 ② 顶层数据流图上的数据流必须封闭在外部实体之间。 ③ 数据应通过加工流动,避免从一个数据存储直接流向另一个
Page 4
5.2 功能建模和数据流图
功能建模的思想就是用抽象模型的概念,按照软 件内部数据传递、变换的关系,自顶向下逐层分 解,直到找到满足要求的所有可实现的软件功能 为止。
数据流图将系统看成是由数据流联系起来的各种 功能的组合。数据流图可以方便的描述那些通过 数据流的流动所联系起来的各种功能。通过各种 功能的输入/输出结果,表现系统的功能。
语法分析: 动词是SafeHome处理(加工),它们最终将被表 示为DFD中的泡泡; 名词是外部实体(方框)、数据流(箭头)、数据 存储(双横线)。
通过对任何DFD层次中某个泡泡的处理叙述文字进 行语法分析,可以产生许多关于如何精化到下一个 层次的有用信息。
Page 36
DFD--- 0 level
Page 23
画分层数据流图的注意事项
⑦ 图上每个元素都必须有名字。数据流和数据文件的名字 应当是“名词”或“名词性短语”,表明流动的数据是 什么。加工的名字应当是“名词+宾语”,表明做什么 事情。
⑧ 数据流图中不可夹带控制流。 ⑨初画时可以忽略琐碎的细节,以集中精力于主要数据流。
Page 24
数据流图的步骤:
数据 词典
数据流图
加工规格说明
状态—迁移图
控制规格说明
Page 2
结构化分析建模
结构化分析模型的核心是数据词典,它描述了所有 的在目标系统中使用的和生成的数据对象。
围绕着这个核心的有三种图:
实体—关系图(ERD)描述数据对象及数据对象之间的关 系;
数据流图(DFD)描述数据在系统中如何被传送或变换, 以及描述如何对数据流进行变换的功能(子功能);
Page 5
5.2.1 数据流图的画法
数据流图中的常用图元有以下四种:
表示外部实体,是数据的提供方或需求方,代表数
据源和数据池(终点)。
表示加工,代表接收输入,经过变换,继而产生输
出的处理过程。
表示数据流,代表数据的流向和路径。
表示数据存储,代表系统加工的数据所存储的地方。
Page 6
Flow Modeling Notation
external entity process data flow data store
Page 7
External Entity
A producer or consumer of data Examples: a person, a device, a sensor Another example: computer-based
数据存储。 ④ 每个加工至少有一个输入数据流和一个输出数据流,且输入
与输出数据流要平衡。有输入,无使用及输出为“黑洞”, 无输入和产生而有输出为“奇迹”。 ⑤ 在数据流图中,需按层给加工框编号。编号表明该加工处在 哪一层,以及上下层的父图与子图的对应关系。 ⑥ 规定任何一个数据流子图必须与它上一层的一个加工对应, 两者的输入数据流和输出数据流必须一致。此即父图与子图 的平衡。
(1)父图和子图,分层图编号 如果一张数据流图中的某个加工分解成另一张数据流 图时,则上层图为父图,直接下层图为子图。子图及 其所有的加工都应对应父图进行编号。 (2)父图和子图的平衡性 子图的输入输出数据流同父图相应加工的输入输出数 据流必须一致,此即父图与子图的平衡。
Page 17
(3)局部文件 当某层数据流图中的数据存储不是父图中相应加工的 外部接口,而只是本图中某些加工之间的数据接口, 则称这些数据存储为局部数据存储。 (4)分解度 注意合理分解,要把一个加工分解成几个功能相对独 立的子加工,这样可以减少加工之间输入、输出数据 流的数目,增加数据流图的可理解性。
2、根据缺书登记补充采购所缺的教材 ① 将缺书登记表汇总为缺书单,由管理员采购; ② 管理员采购的每一批图书都有进货单,系统根据进货单更新教 材存量并更新缺书登记。
Page 30
例:教材采购与销售管理系统零层数据 流图 L0
购书单
学
生 领书单
教材 购销 系统
缺书单 进书单
书 库 管 理
员
Page 31
教材采购与销售管理系统一层数据流图 L1
F1教材存量表
学
购书单 1
销
生
售
领书单
缺书通知
购书通知
书
2 缺书单 库
采
保
购
进书单
管 员
F2缺书登记表
Page 32
教材采购与销售管理系统二层数据流图 L2.1
F2缺书登记表
购书单
1.1查库存
学
生
F1教材存量表
购书单
缺书列表
1.3申请采购
缺书通知 进书通知
Page 41
数据词典中的符号
符号
= + [...|...] { ... } m{...}n (...)
“...” ..
含义 被定义为 与 或 重复 重复 可选
基本数据元素 连结符
解
释
例如,x=a+b,表示x由a和b组成。
例如,x=[a|b],表示x由a或由b组成。 例如,x={a},表示x由0个或多个a组成。
描述订货系统的分层数据流图
Page 26
顶层数据流图
Page 27
Page 28
答案不唯一
产生 订货 信息
Page 29
例2请分层画出数据流图。
教学购销系统是某高校早期使用过的一个教材管理系统,主 要用于对计划供应教材的控制销售与补充采购。该系统主要 具有以下功能。
1、根据学校的教学计划,向选课的学生供应所需教材 ① 根据学生(个人或班级)的购书单发售教材,并更新教材存量; ② 对属于计划供应但暂时缺货的教材进行缺书登记。 ③ 缺货教材补充后,以领书单的方式及时通知学生补购。
Page 10
Data Stores
Data is often stored for later use.
sensor # report required
look-up sensor
data
sensor number
sensor #, type, location, age
type, location, age