数据流图与讲义需求分析建模案例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2.4 实例:医院病房监护系统
监视病情
产生 病情报告
经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
更新病历
例2 医院病房监护系统
系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
画各层DFD图时,“由外向内”。
先全局后局部, 分层
先整体后细节,
DFD 图
Xwenku.baidu.com
先抽象后具体.
0图
顶 层
3 12
中
间
1.2 1.3
1图
1.1 1.4
2.2
层
2.1
2图
1.1.1 1.1.2
2.1.3 2.1.2 2.1.1
2.2.1 2.2.3
2.2.2
底 层
1.1图
2.1图
2.2图
2.2.4 实例:医院病房监护系统
的定义通常是列出文件记录的组成数据流
例如某销售系统的订单文件:
订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期
C、 数据项条目
数据项条目给出某个数据单项的定义,通常是数据项的 值类型,允许的取值范围。
D. 加工条目
加工类条目就是“加工小说明”。一般应该单独列出 。
2.2.8 加工说明
对数据流图中每一个不能再分解的基本加工都必须有 一个小说明给出这个加工的精确描述。小说明中应精确地 描述加工的激发条件、加工逻辑、优先级、执行频率和出 错处理等。加工逻辑是其中最基本的部分,是指用户对这 个加工的逻辑要求。
① 简化加工之间的联系(加工间的数据流越少,独立性越 强,易理解性越好)。
② 改进分解的均匀性。 ③ 适当命名(各成分名称无二义性,准确、具体)。
2.2.7 数据词典(DD)
分层数据流图只是表达了系统的“分解”,为了完整 地描述这个系统,还需借助“数据词典”和“小说明” 对图中的每个数据和加工给出解释。
顶层:
病员
病症信号
病员监 护系统
病症报告
报警
护士
护士
要求报告
病员日志
第一层: 病员 护士
护士
医院病房监护系统顶层DFD图
病症信号
1
局部监视
病员数据
病员极限
生理信号
极限值
报警
病症报告
3
中央监视
格式化 病员数据
2
生成报告
日志数据
4
更新日志
要求报告
日志数据
病员日志
医院病房监护系统二层DFD图
第二层:加工“中央监视”分解
DFD图不是流程图,不表示软件的控制流程。
2.2.6 分层DFD图的改进
DFD图必须经过反复修改,才能获得最终的目标系统的 逻辑模型(目标系统的DFD图)。可从以下方面考虑DFD图 的改进: 1、检查数据流的正确性
① 数据守恒 ② 子图、父图的平衡 ③ 文件使用是否合理。特别注意输入/出文件的数据流。 2、改进DFD图的易理解性
图 2..16
2.2.5 画分层DFD图的基本原则
数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流。或者说一 个加工至少有一个输入数据流,一个输出数据流。
数据封闭是对整个系统而言。
加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几
3.1 开解信号 病员数据
脉搏
病员极限
护士
报警 病症报告
3 中央监视
格式化 病员数据
生理信号
体温 血压
3.2
计算超过 极限值否
极限值 血压、体温、
2
4
护士
生成报告 要求报告
日志数据
更新日志
3.3
产生 报警信息
超过极限值
脉搏 3.4
病员日志
报警
日期
格式化 病员数据
格式化
时钟 时间
病员数据
图 2..15
个部分; 分解度:一般每一个加工每次分解最多不要超过7个子
加工,分解应分解到基本加工为止。
2.2.5 画分层DFD图的基本原则
子图与父图的“平衡” 父图中某个加工的输入输出数据流应该同相应的子
图的输入输出相同(相对应),分层数据流图的这种特 点称为子图与父图“平衡”。 合理使用文件
当文件作为某些加工之间的交界面时,文件必须画 出来,一旦文件作为数据流图中的一个独立成份画出来 了,那么他同其他成份之间的联系也应同时表达出来。
对基本加工说明有三种描述方式:
结构化语言
判定表
判定树
一、 结构化语言
结构化语言是介于自然语言和形式语言之间的一种半形式 语言,它是自然语言的一个受限制的子集。一般分为两层结 构:外层语法较具体,为控制结构(顺序、选择、循环),内 层较灵活,表达“做什么”。
例如:外层可为以下结构: 1、顺序结构 2、选择结构
对数据流图中包含的所有元素的定义的集合构成了数 据词典。词典中可有以下四种类型的条目:
数据流 文件
数据项 加工
A、 数据流条目 给出某个数据流的定义,通常是列出该
数据流的各组成数据项。
例如: 报名单=姓名+单位名+年龄+性别+课程名
常用符号:=、+、[|]、{}、()、{...}
n m
B、文件条目 给出某个文件的定义,同数据流一样,文件
精品
数据流图与需求分析建模 案例
2.2.3 画分层DFD图的方法
“先全局后局部,先整体后细节,先抽象后具体”
通常可将这种分层的DFD图,分为顶层、中间层、底层。 具体步骤:
1。先确定系统范围,画出顶层的DFD图。 2。逐层分解顶层DFD图,获得若干中间层DFD图。 3。画出底层的DFD图。
顶层图说明了系统的边界,即系统的输入和输出数据流 ,顶层图只有一张。底层图由一些不能再分解的加工组 成,这些加工都已足够简单,称为基本加工。在顶层和 底层之间的是中间层。中间层的数据流图描述了某个加 工的分解,而它的组成部分又要进一步分解。
IF–THEN-ELSE; CASE-OF-ENDCASE; 3、循环结构
WHILE-DO; REPEAT-UNTIL
应用举例
例:一图书销售系统,其中一加工为“优惠处理”,条件是: 顾客的营业额大于1000元,同时必须信誉好,或者虽然信 誉不好,但是20年以上的老主顾。
3.1
病员数据 开解信号
脉搏
病员极限
血压 体温
3.2
计算超过 极限值否
超过极限值
生理信号 极限值
血压、体温 脉搏
3.3
产生 报警信息
报警
时钟
3.4
格式化 日期 病员数据
时间
格式化 病员数据
医院病房监护系统分层DFD图
第一层
1 局部监视
病员极限
第二层:加工“中央监视”分解
病员
病员
生理信号 极限值
数据
监视病情
产生 病情报告
经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
更新病历
例2 医院病房监护系统
系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
画各层DFD图时,“由外向内”。
先全局后局部, 分层
先整体后细节,
DFD 图
Xwenku.baidu.com
先抽象后具体.
0图
顶 层
3 12
中
间
1.2 1.3
1图
1.1 1.4
2.2
层
2.1
2图
1.1.1 1.1.2
2.1.3 2.1.2 2.1.1
2.2.1 2.2.3
2.2.2
底 层
1.1图
2.1图
2.2图
2.2.4 实例:医院病房监护系统
的定义通常是列出文件记录的组成数据流
例如某销售系统的订单文件:
订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期
C、 数据项条目
数据项条目给出某个数据单项的定义,通常是数据项的 值类型,允许的取值范围。
D. 加工条目
加工类条目就是“加工小说明”。一般应该单独列出 。
2.2.8 加工说明
对数据流图中每一个不能再分解的基本加工都必须有 一个小说明给出这个加工的精确描述。小说明中应精确地 描述加工的激发条件、加工逻辑、优先级、执行频率和出 错处理等。加工逻辑是其中最基本的部分,是指用户对这 个加工的逻辑要求。
① 简化加工之间的联系(加工间的数据流越少,独立性越 强,易理解性越好)。
② 改进分解的均匀性。 ③ 适当命名(各成分名称无二义性,准确、具体)。
2.2.7 数据词典(DD)
分层数据流图只是表达了系统的“分解”,为了完整 地描述这个系统,还需借助“数据词典”和“小说明” 对图中的每个数据和加工给出解释。
顶层:
病员
病症信号
病员监 护系统
病症报告
报警
护士
护士
要求报告
病员日志
第一层: 病员 护士
护士
医院病房监护系统顶层DFD图
病症信号
1
局部监视
病员数据
病员极限
生理信号
极限值
报警
病症报告
3
中央监视
格式化 病员数据
2
生成报告
日志数据
4
更新日志
要求报告
日志数据
病员日志
医院病房监护系统二层DFD图
第二层:加工“中央监视”分解
DFD图不是流程图,不表示软件的控制流程。
2.2.6 分层DFD图的改进
DFD图必须经过反复修改,才能获得最终的目标系统的 逻辑模型(目标系统的DFD图)。可从以下方面考虑DFD图 的改进: 1、检查数据流的正确性
① 数据守恒 ② 子图、父图的平衡 ③ 文件使用是否合理。特别注意输入/出文件的数据流。 2、改进DFD图的易理解性
图 2..16
2.2.5 画分层DFD图的基本原则
数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配,
即每一个加工既有输入数据流又有输出数据流。或者说一 个加工至少有一个输入数据流,一个输出数据流。
数据封闭是对整个系统而言。
加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几
3.1 开解信号 病员数据
脉搏
病员极限
护士
报警 病症报告
3 中央监视
格式化 病员数据
生理信号
体温 血压
3.2
计算超过 极限值否
极限值 血压、体温、
2
4
护士
生成报告 要求报告
日志数据
更新日志
3.3
产生 报警信息
超过极限值
脉搏 3.4
病员日志
报警
日期
格式化 病员数据
格式化
时钟 时间
病员数据
图 2..15
个部分; 分解度:一般每一个加工每次分解最多不要超过7个子
加工,分解应分解到基本加工为止。
2.2.5 画分层DFD图的基本原则
子图与父图的“平衡” 父图中某个加工的输入输出数据流应该同相应的子
图的输入输出相同(相对应),分层数据流图的这种特 点称为子图与父图“平衡”。 合理使用文件
当文件作为某些加工之间的交界面时,文件必须画 出来,一旦文件作为数据流图中的一个独立成份画出来 了,那么他同其他成份之间的联系也应同时表达出来。
对基本加工说明有三种描述方式:
结构化语言
判定表
判定树
一、 结构化语言
结构化语言是介于自然语言和形式语言之间的一种半形式 语言,它是自然语言的一个受限制的子集。一般分为两层结 构:外层语法较具体,为控制结构(顺序、选择、循环),内 层较灵活,表达“做什么”。
例如:外层可为以下结构: 1、顺序结构 2、选择结构
对数据流图中包含的所有元素的定义的集合构成了数 据词典。词典中可有以下四种类型的条目:
数据流 文件
数据项 加工
A、 数据流条目 给出某个数据流的定义,通常是列出该
数据流的各组成数据项。
例如: 报名单=姓名+单位名+年龄+性别+课程名
常用符号:=、+、[|]、{}、()、{...}
n m
B、文件条目 给出某个文件的定义,同数据流一样,文件
精品
数据流图与需求分析建模 案例
2.2.3 画分层DFD图的方法
“先全局后局部,先整体后细节,先抽象后具体”
通常可将这种分层的DFD图,分为顶层、中间层、底层。 具体步骤:
1。先确定系统范围,画出顶层的DFD图。 2。逐层分解顶层DFD图,获得若干中间层DFD图。 3。画出底层的DFD图。
顶层图说明了系统的边界,即系统的输入和输出数据流 ,顶层图只有一张。底层图由一些不能再分解的加工组 成,这些加工都已足够简单,称为基本加工。在顶层和 底层之间的是中间层。中间层的数据流图描述了某个加 工的分解,而它的组成部分又要进一步分解。
IF–THEN-ELSE; CASE-OF-ENDCASE; 3、循环结构
WHILE-DO; REPEAT-UNTIL
应用举例
例:一图书销售系统,其中一加工为“优惠处理”,条件是: 顾客的营业额大于1000元,同时必须信誉好,或者虽然信 誉不好,但是20年以上的老主顾。
3.1
病员数据 开解信号
脉搏
病员极限
血压 体温
3.2
计算超过 极限值否
超过极限值
生理信号 极限值
血压、体温 脉搏
3.3
产生 报警信息
报警
时钟
3.4
格式化 日期 病员数据
时间
格式化 病员数据
医院病房监护系统分层DFD图
第一层
1 局部监视
病员极限
第二层:加工“中央监视”分解
病员
病员
生理信号 极限值
数据