数据流图的符号
数据流图有四个基本符号。
程序
一个程序负责接收输入的数据,并产生具有不同内容或形式的输出。程序可以简单如将收集的数据保存在数据库,也或者复杂如将数据加以分析并生成报表。
每个程序都有一个名称来标识它所执行的功能。
名字由一个动词组成,后跟一个单数名词。
例子:
申请付款
计算佣金
验证订单
符号
圆角矩形
为了便于参考,程序都被赋予 ID
程序示例
数据流
数据流是数据从信息系统的一个部分移动到另一个部分的路径。数据流可以表示单个数据元素,例如客户 ID,或者一组数据元素 (或数据结构)。
例子:
Customer_info (姓氏,名字,SS#,电话号码等)
Order_info (OrderId,Item#,OrderDate,CustomerID 等)。
数据流示例
符号
带输入箭头的直线即为输入数据流
带输出箭头的直线即为输出数据流
注意:
由于每个程序都将数据从一种形态转换为另一种形态,故每个程序必须至少有一个输入数据流和一个输出数据流。
一些数据流的规则
数据流图的一大原则是数据不能自行转换成另一形态,数据必须经由某程序的处理才可被分发至系统的某个部份。通过这条规则,我们可以非常容易地识别出错误的画法并加以纠正。
错误
正确画法
原因
没有经由程序处理,故实体不能将数据传送至另一个实体。
数据不能直接从实体移动到数据存储而没有事先经由程序处理。
数据不能直接从数据存储移动至实体而没有事先经由程序处理。
数据不能直接从一个数据存储移动到另一个数据存储而没有事先经由程序处理。
其他常犯的错误
当一个程序步骤的输出与其输入不匹配时,会出现第二类错误,它们可以分类为:
黑洞 - 程序步骤可能有输入流,但没有输出流。
奇迹 - 一个程序步骤可能有输出流,但没有输入流。
灰孔 - 程序步骤的输出可能大于其输入的总和
数据存储
当系统必须保留数据以让一个或多个程序使用或存储数据,便可以数据存储来表达。
符号
将数据写入数据存储,数据流连结线以外出箭头表示。
从数据存储中读取数据,数据流连结线以输入箭头表示。
一些数据存储的例子:库存,应收账款,订单和每日付款。
数据存储示例
注意:
数据存储必须以数据流连接到程序。
每个数据存储必须至少有一个输入数据流和至少一个输出数据流(即使输出数据流是一个确认讯息)。
外部实体
外部实体是向系统提供数据或从系统接收输出的人、部门、外部组织或其他信息系统。外部实体是信息系统边界之外的组件,它们代表了信息系统如何与外界交互。
矩形
只提供或接收数据
不处理数据
符号
客户提交订单,然后从系统收到账单
供应商发出发票
外部实体示例
注意:
外部实体也被称为终止符,因为它们是数据的源头或目的地。
必须通过数据流将外部实体连接到程序。