系統 上下文圖 (也稱為 0 級 DFD)是數據流圖中的最高層,僅包含一個表示整個系統的進程,該進程建立了要建模的系統的上下文和邊界。它識別系統與外部實體(即參與者)之間的信息流。
上下文圖通常包含在需求文檔中。它必須被所有利益相關者閱讀,因此應該用通俗易懂的語言編寫,以便利益相關者能夠理解項目。
這是銷售訂單系統的示例上下文圖:
系統上下文圖的目的
系統上下文圖的目標是將注意力集中在開發一組系統要求和約束時應考慮的外部因素和事件。系統上下文圖通常在項目早期用於確定調查範圍。
系統上下文圖表示可能與系統交互的所有外部實體。整個軟件系統看起來像一個單一的進程。這樣的圖描繪了一個位於中心的系統,沒有其內部結構的細節,被環境中的所有外部實體和交互系統包圍。
什麼是自頂向下分解?
在自上而下的設計中,設計了系統的概述,指定但不詳細說明任何級別的子系統。然後,對每個子系統進行更詳細的細化,例如,有時將其劃分為許多不同的子系統級別,從而將整個規範分解為基本元素。
自頂向下設計的主要目的是將系統分解為更小的部分,以便了解其子系統。一旦確定了這些基本元素,它們就可以更容易地構建到計算機模塊中。構建模塊後,您可以輕鬆地將它們組合在一起並從這些單獨的元素構建整個系統。
頂層上下文級圖
上下文圖提供了一個概述,它是數據流圖中的最高級別,僅包含一個代表整個系統的進程。應該將其拆分為提供更多細節的主要流程,並且每個主要流程可以進一步拆分以提供更多細節。
- 所有外部實體以及進出它們的主要數據流都顯示在上下文圖上。
- 該圖不包含任何數據存儲。
- 上下文級圖中的單個進程代表整個系統,可以分解為將系統的主要進程包含在下一級圖中,稱為圖 0。
1級DFD
圖 0 中的流程(帶有整數)可以進一步展開以表示處理活動的詳細信息。下面的示例顯示了流程爆炸的下一個級別((圖 1)。
注意:
雖然下面的level 1 DFD只有三個流程,但是從流程到外部實體的輸入和輸入相當多,最終可能在圖中出現幾條交叉線;為了避免這個問題,我們可以在 DFD 中使用(主視圖和輔助視圖)同一外部實體的多個視圖。
2級DFD
如果一個流程在幾個外部實體之間有大量數據流鏈接,我們可以先將該特定流程和關聯的外部實體提取到一個類似於上下文圖的單獨圖表中,然後再將流程細化為單獨的 DFD 級別;通過這種方式,您可以更輕鬆地確保它們之間的一致性。
層間DFD模型一致性
當對 DFD 執行自上而下的分解到較低級別的 DFD 時,輸入和輸出必須在 DFD 的級別之間保持不變。例如,級別 n 和 n+1 必須具有相同的輸入和輸出