当前位置:文档之家› 数据流图画法

数据流图画法

位臵(place):符号为“○”,它用来表示系统的状态。 转移(transition):符号为 “—或|”, 它用来表示系
统中的事件。 符号“ ”表示事件发生的前提,即对转移(事件)的 输入 符号“ ”表示事件的结果,即由转移(事件)的输出 图中的有向边“ ”表示对转移的输入,或由转移的 输出
学生 学生与课程:多对多 教师与课程:0/1 对多 教师
课程
•由于“多对多”的关联在计算机表达时有困难,引 入“选课”对象作为关联对象,可将“多对多”的关 联改为 两个“一对多”的关联。
学生 数据对象表 学号 姓名 性别 出生年月 籍贯 …… 选课
课程
•确定属性:为每一个数据对象建立数据对象表,描述
第五章 面向数据流的分析方法
o数据流图与数据字典(重点) o实体-关系图(ER图) o基于数据流的分析方法(重点)
授课教师:蒋建民 电子邮件:jjmxam@
§5.1 面向数据流的分析方法概述
1、结构化分析方法 结构化分析方法是一种建模技术 基于计算机的系统是数据流和一系列的转换构 成的 在模型的核心是数据词典,它描述了所有的在 目标系统中使用的和生成的数据对象。围绕着 这个核心的有三种图: ERD、DFD、STD 2、分析模型的组成 ü数据建模和对象描述 ü功能建模和数据流图 ü基本加工逻辑说明 ü行为建模 ü数据词典
§5.2 数据建模及ER图
3、属性:定义了数据对象的特征。它可用来:
• 为数据对象的实例命名; • 描述这个实例; • 建立对另一个数据对象的另一个实例的引用 • 主码:为了唯一地标识数据对象的某一个实例, 定义数据对象中的一个属性或几个属性为关键码 (key),书写为_id, 例如在“学生”数据对象中用“学号”做关键码, 它可唯一地标识一个“学生”数据对象中的实例 4、关系:各个数据对象的实例之间有关联。 如一个学生“张鹏”选修两门课程“软件工程”与 “计算机网络”,学生与课程的实例通过“选修”关 联起来。
• 结构化英语 • 结构化英语的词汇表由 ü 英语命令动词 ü 数据词典中定义的名字 ü 有限的自定义词 ü 逻辑关系词 IF_THEN_ELSE、CASE_OF 、 WHILE_DO、REPEAT_UNTIL等组成。 • 是一种介于自然语言和形式化语言之间的语言 • 语言的正文用基本控制结构进行分割,加工中的 操作用自然语言短语来表示 • 其基本控制结构有三种: ü 简单陈述句结构:避免复合语句; ü 重复结构:while_do 或repeat_until 结构。 ü 判定结构:if_then_else 或 case_of 结构;
例 操作系统根据调度要求设臵进 程状态。当有多个申请占用CPU运 行的进程时, CPU分配的进程的 状态迁移 可得到的状态=就绪,运行,等待 生成的事件=t1,t2, t3, t4 t1 ─ 中断事件 t2 ─ 中断已处理 t3 ─ 分配CPU t4 ─ 用完CPU时间
• 状态迁移图的优点(因为一个系统的状态是有限的) ü状态之间的关系能够直观地捕捉到 ü由于状态迁移图的单纯性,能够机械地分析许多情 况,可很容易地建立分析工具 3、时序图 • 在系统分析中,用时序图于对比在系统中处理事件的时 序和相应的处理时间。在右图中, 对于事件e,功能1~ 功能3的处理时间总计为 (T1+T2+T3)其中功能间,切 换时间0。
描述银行取款过程的数据流图
5、数据流与数据加工之间的关系
6、数据流图的层次结构
• 为了表达数据处理过程的数据加工情况,需要采 用层次结构的数据流图。按照系统的层次结构进 行逐步分解,并以分层的数据流图反映这种结构 关系,能清楚地表达和容易理解整个系统 • 在多层数据流图中,顶层流图仅包含一个加工, 它代表被开发系统。它的输入流是该系统的输入 数据,输出流是系统所输出数据 • 底层流图是指其加工不需再做分解的数据流图, 它处在最底层 • 中间层流图则表示对其上层父图的细化。它的每 一加工可能继续细化,形成子图。
商店业务处理系统中“检查发货单” if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else (欠款未超期) 发批准书,发货单 else (发货单金额未超过$500) if 欠款超过60天 then 发批准书,发货单及赊欠报告 else (欠款未超期) 发批准书,发货单
§5.5
数据词典与面向数据流的分析
1、数据词典与数据流图配合,能清楚地表达数据 处理的要求 2、词条描述——对于在数据流图中每一个被命名 的图形元素,均加以定义,其内容有: 名字,别 名或编号,分类,描述,定义,位臵,其它等 • 数据流词条描述
ü 数据流名: ü 说明:简要介绍作用即它产生的原因和结果 ü 数据流来源:来自何方 ü 数据流去向:去向何处 ü 数据流组成:数据结构 ü 数据量流通量:数据量,流通量
数据流图(DFD) 描述数据在系统中如何被传送或 变换,以及描体—关系图(ERD) 描述数据对象及数据对象之 间的关系; 状态—迁移图(STD)描述系统对外部事件如何响应, 如何动作。
数据对象描述
加工规格说明
•ERD 用 于数据建 模 •DFD用于 功能建模 •STD用于 行为建模
• 判定表 • 如果数据流图的加工需要依赖于多个逻辑条件的 取值,使用判定表来描述比较合适 • 以“检查发货单”为例
• 判定树 • 判定树也是用来表 达加工逻辑的一种 工具。有时侯它比 判定表更直观。
检 查 发 货 单
金额>$500
欠款>60天
不发出批准书
金额$500
欠款60天 发出批准书、 发货单 欠款>60天 发出批准书、 发货单及赊欠报告 发出批准书、 欠款60天 发货单
1、功能建模:用抽象模型的概念,按照软件内部 数据传递、变换的关系,自顶向下逐层分解,直 到找到满足功能要求的所有可实现的软件为止。 2、数据流图:根据DeMarco的论述,功能模型使 用了数据流图来表达系统内数据的运动情况,而 数据流的变换则用结构化英语、判定表与判定树 来描述。 3、数据流图中的主要图形元素 数据加工(数据处理、数据变换、转换) 数据源点或终点 (外部实体) 数据流 数据存储文件
实例的关联有三种:一对一 (1:1); 一对多 (1:m);多对多(n:m)。 这种实例的关联称为“基数”。基数表明了“重 复性”。如 1 位教师带学生班的 30 位同学,就 是 1:m 的关系。 但也有 1 位教师带 0 位同学的情形, 所以实 例关联有是“可选”还是“必须” 之分。用“O” 表示关系是可选的,用“│”表示关系必须出现 1 次。这表明了关系的“参与性”。
实体— 关系图
数据 字典
数据流 图
状态—迁移图 控制规格说明
结构化分 析的分析 模型
§5.2 数据建模及ER图
•1、数据建模:数据模型包括三种互相关联的信息 数据对象, 描述对象的属性, 描述对象间相互连接的关系。
2、数据对象:是需被目标系统所理解的复合信息 的表示。它具有若干不同特征或属性的信息。 数据对象可以是外部实体,事物, 角色,行为或 事件, 组织单位, 地点或结构。 数据对象只封装了数据,没有包含作用于这些 数据上的操作。
其属性,如此可得“教学”数据模型。 学生:学号、姓名、性别、出生年月、专业 课程:课程号、课程名、学分、学时数等属性; 教师:职工号、姓名、年龄、职称等属性。
学号 姓名 专业 性别 ……
职工号
学生
教师
姓名 专业
选课 学号 课程号 成绩 课程
职称
年龄
课程号 课程名 学分 学时 ……
教学数据模型
§5.3 功能建模和数据流图DFD
Z
Y Z 一个X与一个Y与Z相关联
X
•在E-R图中,每个方框表示数据对象或属性,方框 之间的连线表示数据对象之间,或对象与属性之间 的关联。出现在连线上的短竖线可以看成是“1”, 而圆圈隐含表示“0”。
举例 教学管理系统 教师-学生-课程ER图 一个教师可以教授零门、一门或多门课程,每位学 生也需要学习几门课程。 涉及的对象(实体型)有学生、教师和课程。
• 标记:圆圈中的黑点,或称令牌(token),是 表明系统当前处于什么状态的标志 • 图中关系:与,P3和P5两个基本点状态均有处 理要求时,T3转移(事件)才能发生
• 例:环形铁路,A站和B站间是单轨,其他是双轨
处理两个进程的同步问题 多任务系统中有两个基本点进程PR1和PR2,使用 一个公共资源R LOCK:对资源加锁 UNLOCK:对资源解锁
• 数据元素词条描述
§5.4 行为建模
1、行为建模给出需求分析方法的所有操作原则,但 只有结构化分析方法的扩充版本才提供这种建模的 符号


状态迁移图 时序图 Petri网 数据流图扩充(自学)
2、状态迁移图:描述系统的状态如何相应外部的信 号进行推移的一种图形表示。
ü
ü
圆圈“○”表示可得到的系统状态 箭头“→”表示从一种状态向另一种状态的迁移(写上 导致迁移的信号或事件的名称)。
• 采用扩充时序图可表示进程间的通信流,用于分析 几个 事件的交错现象。C1与C2,R1与R2是交错的, 因此,可以做如下分析:“必须设计成HOST1 在等 待C1的回答R1期间要能接收从HOST2发出的命令C2。”
4、Petri网
Petri网已广泛地应用于硬件与软件系统的开发中,它 适用于描述与分析相互独立、协同操作的处理系统 ,也就是并发执行的处理系统。 • Petri网简称PNG (Petri Net Graph),它有两种结 点:
9、基本加工逻辑说明 ü对数据流图的每一个基本加工,必须有一个 基本加工逻辑说明 ü基本加工逻辑说明必须描述基本加工如何把 输入数据流变换为输出数据流的加工规则 ü加工逻辑说明必须描述实现加工的策略而不 是实现加工的细节 ü加工逻辑说明中包含的信息应是充足的,完 备的,有用的,无冗余的 用于写加工逻辑说明的工具 ü结构化英语 ü判定表 ü判定树
相关主题