数据流程图案例分析及画法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、数据流图的图符 四种基本图形符号: 数据流 加 工
数据流名
还有一些辅助的图例:
箭头
A C T B T A C T
A
*
加工名 圆或椭圆 A B
*
C
C
+
B
B T C
A
B A
数据存储 数据源点 或终点
单或双杠
文件名 实体名
+
+
B
T
T
C
+
矩形框
* 与
+或
+ 互斥
2.2.3 画分层DFD图的方法 “先全局后局部,先整体后细节,先抽象后具体”
监视病情
产生 病情报告
经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
更新病历
例2 医院病房监护系统
系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。 顶层: 病员
2.3.2 快速原型开发模型
细化的原型化模型
快速分析,确定初步规格说明 构造原型
运行/评价原型
修 正 改 进 原 型 N 原型完成否 Y 要细部说明否 Y 严格说明细部 N 效果满意否 Y 整理原型提供文档 N
快速建立系统原型进行系统的 分析和构造有如下优点:
1、增进软件开发人员和用户 对系统需求的理解。便于将用户 模糊的功能需求明确化。 2、为用户提供了一种强有力 的学习手段。
DFD图的例子
图书目录文件 出版社档案文件 出版社 订单
顾 客
订单
验证 订单
正确 订单
一批 订单 待处理订单文件
汇总 订单
出 版 社
顾客档案 编号
加工名
订货存根文件
编号
加工名
文件名
文件名
例1:图书预定系统(顶层DFD图)
图书目录文件 出版社档案文件
顾 客
订单
验证 订单
正确 订单
一批 订单
汇总 订单
先全局后局部, 先整体后细节, 先抽象后具体.
分层 DFD 图
X
0图
顶 层
中 间
1
3 2
1.2 1.3
1图
1.1 1.4
2.1
2.2
2图

1.1.1
1.1.2
2.1.1
2.1.2
2.1.3
2.2.1
2.2.3
2.2.2
底 层
1.1图
2.1图
2.2图
2.2.4 实例:医院病房监护系统
2.2.4 实例:医院病房监护系统
一、 结构化语言
结构化语言是介于自然语言和形式语言之间的一种半形 式语言,它是自然语言的一个受限制的子集。一般分为两层 结构:外层语法较具体,为控制结构(顺序、选择、循环), 内层较灵活,表达“做什么”。
例如:外层可为以下结构:
1、顺序结构 2、选择结构 IF–THEN-ELSE; CASE-OF-ENDCASE; 3、循环结构 WHILE-DO; REPEAT-UNTIL
病症信号 病症报告
病员监
护士
护系统
护士
报警
要求报告
病员日志
医院病房监护系统顶层DFD图
第一层:
1
局部监视 病症信号
病员极限
生理信号
病员
病员数据 报警
极限值
3
中央监视
格式化 病员数据
护士
病症报告
2
生成报告
日志数据 护士 要求报告
4
更新日志
日志数据
病员日志
医院病房监护系统二层DFD图
第二层:加工“中央监视”分解
分解度:一般每一个加工每次分解最多不要超过7个子
加工,分解应分解到基本加工为止。
2.2.5 画分层DFD图的基本原则
子图与父图的“平衡”
父图中某个加工的输入输出数据流应该同相应的
子图的输入输出相同(相对应),分层数据流图的这种 特点称为子图与父图“平衡”。
合理使用文件
当文件作为某些加工之间的交界面时,文件必须画 出来,一旦文件作为数据流图中的一个独立成份画出来
通常可将这种分层的DFD图,分为顶层、中间层、底层。 具体步骤: 1。先确定系统范围,画出顶层的DFD图。 2。逐层分解顶层DFD图,获得若干中间层DFD图。 3。画出底层的DFD图。
顶层图说明了系统的边界,即系统的输入和输出数据 流,顶层图只有一张。底层图由一些不能再分解的加工 组成,这些加工都已足够简单,称为基本加工。在顶层 和底层之间的是中间层。中间层的数据流图描述了某个 加工的分解,而它的组成部分又要进一步分解。 画各层DFD图时,“由外向内”。
了,那么他同其他成份之间的联系也应同时表达出来。
DFD图不是流程图,不表示软件的控制流程。
2.2.6 分层DFD图的改进
DFD图必须经过反复修改,才能获得最终的目标系统的 逻辑模型(目标系统的DFD图)。可从以下方面考虑DFD图 的改进: 1、检查数据流的正确性 ① 数据守恒 ② 子图、父图的平衡 ③ 文件使用是否合理。特别注意输入/出文件的数据流。 2、改进DFD图的易理解性 ① 简化加工之间的联系(加工间的数据流越少,独立性 越强,易理解性越好)。 ② 改进分解的均匀性。 ③ 适当命名(各成分名称无二义性,准确、具体)。
2.2.1 SA法的概述
2.2.1 SA法概述
一、SA法的基本思想
结构化分析方法的基本思想是“分解”和“抽象”。
x
分解:对于一个复杂的系统, 为了将复杂性降低到可以掌握的 程度,可以把大问题分解成若干 小问题,然后分别解决(如右 图)。
1 2
3
1.1 1.2 1.3
2.1 2.3 2.2
1.1 1.3
病员
病员 数据 3 中央监视 病症报告
病员数据
脉搏
病员极限 生理信号 极限值
护士
格式化 病员数据
血压
体温
3.2 计算超过 极限值否
超过极限值 日期 时钟 时间 3.4
2 护士 生成报告 日志数据
4 更新日志
3.3 产生 报警信息
病员日志
报警
格式化 病员数据
格式化 病员数据
图 2..15
图 2..16
2.2.5 画分层DFD图的基本原则
数据守恒与数据封闭原则 所谓数据守恒是指加工的输入输出数据流是否匹配, 即每一个加工既有输入数据流又有输出数据流。或者说一 个加工至少有一个输入数据流,一个输出数据流。 数据封闭是对整个系统而言。 加工分解的原则 自然性:概念上合理、清晰; 均匀性:理想的分解是将一个问题分解成大小均匀的几 个部分;
抽象:分解可以分层进行,即先考虑问题最本质的属性, 暂把细节略去,以后再逐层添加细节,直至涉及到最详细的 内容,这种用最本质的属性表示一个系统的方法就是“抽 象”。
基本思想与步骤 2.2.1 SA法的概念
二、SA法的步骤 1、建立当前系统的“具体模型”。 2、抽象出当前系统的逻辑模型。 3、建立目标系统的逻辑模型。 4、为了对目标系统做完整的描述,还需要考虑人机界面和 其他一些问题。 三、SA法的描述方法 1、分层的数据流图 2、数据词典 3、描述加工逻辑的结构化语言、判定表及判定树
3、易于确定系统的性能,是 理解和确认软件需求规格说明的 工具。
4、按照RCP 法建立的原型即 为最终的产品。
快速原型化开发过程
需求工程小结
需求工程小结
最初,需求工程仅仅是软件工程的一个组成部分,是软件 生命周期的第一个阶段。 在传统软件工程生命周期中,涉及需求的阶段称作需求分 析。一般来说,需求分析的作用是: ● 系统工程师说明软件的功能和性能,指明软件和其他 系统成分的接口,并定义软件必须满足的约束; ● 软件工程师求精软件的配置,建立数据模型、功能模 型和行为模型; ● 为软件设计者提供可用于转换为数据设计、体系结构 设计、界面设计和过程设计的模型; ● 提供开发人员和客户需求规格说明,用于作为评估软 件质量的依据。
2.1.2 需求分析过程
2.1.2 需求工程过程
可行性研究
需求导出 和分析 需求描述
问题识别
可行性报告 系统模型
分析与综合
需求有效性 验证
编写文档
用户需求和 系统需求 需求文挡
分析评审
2.2 结构化分析方法
结构化开发方法(Structured Developing Method) 是现有的软件开发方法中最成熟,应用最广泛的方法,主 要特点是快速,自然和方便。 结构化方法总的指导思想自顶向下、逐步求精。它的基本 原则是功能的分解与抽象。 结构化开发方法的组成 70年代初 结构化程序设计方法 SP法(Structured Program) 70年代中 结构化设计方法 SD法(Structured Design) 70年代末 结构化分析方法 SA法(Structured Analysis) SA,SD,SP 法相互衔接,形成了一整套开发方法。若将 SA , SD 法 结 合 起 来 , 又 称 为 结 构 化 分 析 与 设 计 技 术 (SADT 技术)。
3.1 开解信号
病员数据
病员极限
脉搏 生理信号 极限值
血压
体温
3.2
超过极限值
计算超过 极限值否
血压、体温 脉搏 3.4 日期
产生
报警信息
报警
3.3
格式化 病员来自百度文库据
格式化 病员数据
时钟
时间
医院病房监护系统分层DFD图
第一层
1
局部监视
病员极限 生理信号 极限值
第二层:加工“中央监视”分解
3.1 开解信号
出版社 订单
出 版 社
待处理订单文件
顾客档案
订货存根文件
画图步骤 : 1、确定外部实体及输入、输出数据流。 2、确定分解顶层的加工。 3、确定使用的文件。 4、用数据流将各部分连接起来,形成数据封闭。 注意:标注各加工框及数据流名称。
2.2.2 分层的数据流图
2.2.2 数据流图
数据流图(Data Flow Diagram,DFD)是描述系统中数据流程 的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻 辑输入转换为逻辑输出所需的加工处理。
需求工程小结
需求工程是系统工程和软件工程的一个交叉分支,涉及到 软件系统的目标、软件系统提供的服务、软件系统的约束和软 件系统运行的环境。它还涉及这些因素和系统的精确规格说明 以及系统进化之间的关系。它也提供现实需要和软件能力之间 的桥梁。 需求工程的基本活动包括:
● 抽取需求; ● 模拟和分析需求; ● 传递需求; ● 认可需求; ● 进化需求。
相关文档
最新文档