系统 上下文图 (也称为 0 级 DFD)是数据流图中的最高层,仅包含一个表示整个系统的进程,该进程建立了要建模的系统的上下文和边界。它识别系统与外部实体(即参与者)之间的信息流。
上下文图通常包含在需求文档中。它必须被所有利益相关者阅读,因此应该用通俗易懂的语言编写,以便利益相关者能够理解项目。
这是销售订单系统的示例上下文图:
系统上下文图的目的
系统上下文图的目标是将注意力集中在开发一组系统要求和约束时应考虑的外部因素和事件。系统上下文图通常在项目早期用于确定调查范围。
系统上下文图表示可能与系统交互的所有外部实体。整个软件系统看起来像一个单一的进程。这样的图描绘了一个位于中心的系统,没有其内部结构的细节,被环境中的所有外部实体和交互系统包围。
什么是自顶向下分解?
在自上而下的设计中,设计了系统的概述,指定但不详细说明任何级别的子系统。然后,对每个子系统进行更详细的细化,例如,有时将其划分为许多不同的子系统级别,从而将整个规范分解为基本元素。
自顶向下设计的主要目的是将系统分解为更小的部分,以便了解其子系统。一旦确定了这些基本元素,它们就可以更容易地构建到计算机模块中。构建模块后,您可以轻松地将它们组合在一起并从这些单独的元素构建整个系统。
顶层上下文级图
上下文图提供了一个概述,它是数据流图中的最高级别,仅包含一个代表整个系统的进程。应该将其拆分为提供更多细节的主要流程,并且每个主要流程可以进一步拆分以提供更多细节。
- 所有外部实体以及进出它们的主要数据流都显示在上下文图上。
- 该图不包含任何数据存储。
- 上下文级图中的单个进程,代表整个系统,可以分解为将系统的主要进程包含在下一级图中,称为图 0。
1级DFD
图 0 中的流程(带有整数)可以进一步展开以表示处理活动的详细信息。下面的示例显示了流程爆炸的下一个级别((图 1)。
注意:
虽然下面的level 1 DFD只有三个流程,但是从流程到外部实体的输入和输入相当多,最终可能在图中出现几条交叉线;为了避免这个问题,我们可以在 DFD 中使用(主视图和辅助视图)同一外部实体的多个视图。
2级DFD
如果一个流程在几个外部实体之间有大量数据流链接,我们可以先将该特定流程和关联的外部实体提取到一个类似于上下文图的单独图表中,然后再将流程细化为单独的 DFD 级别;通过这种方式,您可以更轻松地确保它们之间的一致性。
层间DFD模型一致性
当对 DFD 执行自上而下的分解到较低级别的 DFD 时,输入和输出必须在 DFD 的级别之间保持不变。例如,级别 n 和 n+1 必须具有相同的输入和输出