⓵软考-数据流图DataFlowDiagram总结
数据流图(DataFlowDiagram,简称DFD)是结构化系统分析方法中的重要工具,用于描绘系统的逻辑功能、数据在系统中的逻辑流向和逻辑变换过程,形成系统的功能模型。 DFD采用图形方式表示,主要由实体、过程、数据存储和数据流四个基本组件构成。
实体(Entity)是数据的来源或目标,可为数据提供方(称为源)或数据接收方(称为汇)。 实体通常以矩形表示,其右下角的斜线表明实体在DFD中的位置。 实体亦可称为代理、终止者或源/汇。
过程(Process)涉及数据的转换、计算、逻辑决策或根据业务规则指导数据流。 过程接收输入并生成输出,通常以简单动词和数据流名称命名,如“提交付款”或“获取发票”。 过程在DFD中用圆圈或分段矩形表示,并包含过程名称和编号。
数据存储(DataStore)是过程之间存储数据的地方,供同一过程或另一过程检索。 文件和表格为数据存储。 数据存储名称简单且具有意义,如“客户”、“订单”、“产品”。 数据存储在DFD中通常以矩形表示,右侧缺失并标注为存储区域的名称。
数据流(DataFlow)是数据在实体、过程和数据存储之间的流动。 它代表了DFD组件之间的接口。 数据流名称反映数据的性质,且在特定DFD中应具有唯一性。 数据流通过箭表示,箭注释为数据名称。
DFD分为顶层、中间层和底层数据流图。 顶层数据流图包含一个加工表示整个系统,输出数据流和输入数据流为系统的输入数据和输出数据,显示系统范围及其与外部环境的数据交换关系。 中间层数据流图细化父层数据流图中的某个加工,可再次细化形成子图,层次取决于系统复杂度。 底层数据流图表示无法进一步分解的加工,称为“原子加工”。
DFD与流程图的主要区别在于:流程图展示完成过程的步骤,而DFD展示数据流。 流程图不涉及外部源的输入或输出,DFD描述数据从外部源到内部存储或反之的路径。 流程图显示流程的时序和顺序,DFD则不描述流程的并行执行或按顺序执行。 DFD定义系统功能,而流程图展示如何使系统运行。 流程图用于设计过程,而DFD用于描述完成过程的数据路径。
DFD在系统分析的初步阶段用于理解现有系统并表示所需系统。 它们在对象导向设计和分析中特别有用,有助于结构化步骤,并且DFD和对象技术共享相同的语法结构,因此适用于对象域。 DFD作为信息开发形式,提供关键信息转换的洞察,作为系统流程的依据。 从功能规格开发DFD并能够解释它们是技术通信域内增加价值的技能。