【发布时间】:2021-08-02 11:43:41
【问题描述】:
如果我有一个从后端的 API 读取的前端应用程序,那么我会有这样的数据流程图,因为数据从后端流向前端:
但是,当我想强调这是一个只读API,并且前端无法写入后端时,我觉得必须把箭头转过来,说“前端从后端读取”:
但这会与数据流箭头冲突,因为箭头表示流的方向:
如何表示数据流图的读/写关系?
【问题讨论】:
标签: dataflow-diagram
如果我有一个从后端的 API 读取的前端应用程序,那么我会有这样的数据流程图,因为数据从后端流向前端:
但是,当我想强调这是一个只读API,并且前端无法写入后端时,我觉得必须把箭头转过来,说“前端从后端读取”:
但这会与数据流箭头冲突,因为箭头表示流的方向:
如何表示数据流图的读/写关系?
【问题讨论】:
标签: dataflow-diagram
数据流图使用箭头来显示数据流的方向。无论您使用Gane & Sarson 还是Yourdon & DeMarco),单向箭头表示单向流:
您的第一个图表意味着数据从后端流向前端,并且仅朝那个方向流动。不需要说它是只读的,因为流是单向的。
如果您希望前端从后端读取和写入数据,则需要在相反方向的第二个箭头。一种常见的做法是使用双向箭头(Yourdon 在几个示例中使用它,Gane 和 Sarson 甚至建议使用它来保持图表简单)。
如果您希望它是只读的,但指出用于查找相关数据的数据元素,您可以使用 Gane & Sarson 的“搜索参数规范”表示法(适用于数据存储而不是进程):
您的第二个图表会产生误导:它不仅会显示错误方向的流动,而且 DFD 约定是用流动的数据类型标记箭头:
应命名箭头以指示沿流移动的数据的含义,即名词。
带有动词名称的数据流表示已被省略的过程。必须以某种方式更改进出流程的数据流。
- 来源:Visual Paradigm tutorial
这个约定还解释了为什么双向箭头在实践中很少见,只要您标记流:返回流的名称会略有不同(例如更新的数据、更正的数据、验证的数据)。
您的图表中唯一不明确的是谁启动了流程:是前端读取还是后端写入?但这很正常:这种图表的目的不是要详细说明。您可以添加一个箭头“请求数据”以显示前端启动通信,但这会很快使您的图表过载,并且增加的精度会以牺牲可读性为代价。
【讨论】: