使用逐步细化开发 DFD
數據流圖(DFDS) 表示通過系統的信息流。DFD 迅速成為可視化軟件系統流程中涉及的主要步驟和數據的流行方式。
數據流圖 (DFD) 是表示流程或系統(通常是信息系統)的數據流的一種方式,例如:
- 數據來自哪里
- 它去哪里
- 如何存儲
換句話說,它顯示了系統如何使用自上而下的分解技術(或稱為逐步細化)在輸入和輸出方面處理數據。
什么是逐步細化?
其中一個有效的方式來解決一個復雜的問題是把它分解成更簡單的子問題。您首先將整個任務分解為更簡單的部分。
逐步細化本質上是對系統進行分解,以深入了解構成系統的子系統,稱為自頂向下分解法。
例如,系統概述被開發為系統上下文圖,它指定但不指定子系統的任何級別。然后將這些子系統中的每一個細化為更詳細的內容(例如 DFD 中的級別 0、1、2 等),有時在許多其他子系統級別上進行細化,直到將整個規范簡化為基本元素。
通常,頭腦風暴產生的想法(實際上是我們待辦事項列表中的事情)處于不同“細節”級別?—?— 其中一些比其他的“低”,或者,我們可以說,一些包含其他。
讓我們按層次排列這些。換句話說,讓我們確定哪些步驟是另一個步驟的一部分。一種方法是將每個動作視為一組動作。
逐步細化示例
收拾屋子
{真空餐廳,整理客廳}廚師
{選擇食譜,購買食材,烤雞。做蔬菜}設置表
{找到桌布,取出盤子,取出玻璃器皿,取出銀器,餐巾}烤雞
{烤箱預熱至400 度,將雞肉放入鍋中,將雞肉放入400 度烤箱中90分鐘}做蔬菜
{切菜,煮菜}(*來源:自上而下的設計和逐步細化?—?— 維基書籍)
一旦確定了這些基本元素,我們就可以將它們構建到計算機模塊中。一旦它們建成,我們就可以把它們放在一起,用這些單獨的組件組成整個系統。
DFD中的自頂向下分解技術
在 DFD 中,自頂向下分解(也稱為調平或逐步細化)是一種用于在較低級別的 DFD 中顯示更多細節的技術。調平是通過繪制一系列越來越詳細的圖表來完成的,直到達到所需的詳細程度。如圖所示,DFD Leveling 首先將目標系統顯示為單個進程,然后顯示更多細節,直到所有進程都是功能原語。
?
- 處于較高級別的 DFD 不太詳細
- 高層次的 DFD 將分解為更詳細的較低層次的 DFD
- 上下文圖是層次結構中最高的(參見 DFD 創建規則)。所謂的零級后跟 DFD 0,從流程編號(EG、流程 1、流程 2)開始。
- 在下一步中,所謂的第一級?—?DFD 1?—?編號繼續。EG流程1分為DFD的前三個級別,分別編號為1.1、1.2和1.3。
- 同樣,第二級 (DFD 2) 中的進程編號為 EG 1.1.1、1.1.2、1.1.3 和 1.1.4。
- 層數取決于模型系統的大小。級別 0 中的每個過程可能不具有相同數量的分解級別。
DFD 示例?—?客戶服務系統示例
數據流圖是一個層次結構圖,包括:
上下文DFD
下圖顯示了為鐵路公司的客戶服務系統繪制的上下文數據流圖。它包含一個表示要建模的系統的過程(形狀),在本例中為“ CS 系統”。它還顯示將與系統交互的參與者,稱為外部實體。在此示例中,CS 助手和乘客是將與系統交互的兩個實體。在流程與外部實體之間,存在數據流(連接器),表明實體與系統之間存在信息交換。
?
編輯此 Yourdon 和 Coad DFD 示例
上下文 DFD 是數據流模型的入口。它只包含一個進程,不顯示任何數據存儲。
1 級?DFD
下圖為1級DFD,即上下文DFD所示的CS System流程的分解(即分解)。通讀該圖,然后我們將基于該圖介紹一些關鍵概念。
編輯此 Yourdon 和 Coad 圖示例
編輯此 Yourdon 和 Coad 圖示例
?
CS 系統數據流圖示例包含四個進程、兩個外部實體和四個數據存儲。盡管沒有管理數據流圖中形狀定位的設計指南,但我們傾向于將流程放在中間,將數據存儲和外部實體放在兩側,以便于理解。
根據該圖,我們知道乘客可以從Inquiry Transport Details過程接收運輸詳細信息,這些詳細信息由數據存儲Transport Details和Railway Live Statistic 提供。存儲在Transport Details中的數據是持久數據(由標簽“D”表示),而存儲在Rails Live Statistic中的數據是短暫保存的數據(由標簽“T”表示)。標注形狀用于列出乘客可以查詢的詳細信息類型。
CS Assistant可以啟動購買紀念品流程,這將導致將訂單詳細信息存儲在訂單數據存儲中。雖然客戶是購買紀念品的真實人,但訪問系統存儲訂單詳細信息的是CS助手。因此,我們讓數據從CS Assistant流向Buy Souvenir流程。
CS Assistant還可以通過提供訂單詳細信息來啟動買票流程,詳細信息將再次存儲在訂單數據存儲中。數據流圖是以高度抽象的方式繪制的高級圖。這里繪制的數據存儲Order,并不一定意味著真正的訂單數據庫或數據庫中的訂單表。訂單詳細信息的物理存儲方式將在稍后實施系統時決定。
最后,CS Assistant可以通過提供事件和物品詳細信息來啟動報告丟失過程,該信息將存儲在丟失物品數據庫中。
通過示例了解更多 DFD
?
- 證券交易平臺
?
- 點餐系統
?
?
- 客戶服務系統(鐵路公司)
- 超市應用
- 車輛維修站
總結
以上是生活随笔為你收集整理的使用逐步细化开发 DFD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MAPI错误0x80040107
- 下一篇: 计量经济学(三)--假设检验