نمودارهای جریان داده(DFDها) جریان اطلاعات را در سیستم نشان میدهند. DFDها به سرعت به یک روش محبوب برای تجسم مراحل اصلی و دادههای مربوط به فرآیندهای سیستم نرمافزاری تبدیل شدند.
نمودار جریان داده (DFD) روشی برای نمایش جریان داده یک فرآیند یا سیستم (معمولاً یک سیستم اطلاعاتی) است، به عنوان مثال:
- داده از کجا میآید؟
- به کجا میرود؟
- چگونه ذخیره میشود؟
به عبارت دیگر، نشان میدهد که چگونه دادهها توسط یک سیستم در قالب ورودیها و خروجیها با استفاده از تکنیکهای تجزیه از بالا به پایین پردازش میشوند (که به عنوان اصلاح تدریجی شناخته میشود).
اصلاح تدریجی چیست؟
یکی از روشهای مؤثر برای حل یک مشکل پیچیده این است که آن را به زیرمسائل سادهتر تقسیم کنید. شما با تقسیم کل کار به بخشهای سادهتر شروع میکنید.
اصلاح گام به گام اساساً یک تجزیه از سیستم است تا بینش بیشتری به زیرسیستمهایی که سیستم را تشکیل میدهند، به دست آورید که به عنوان روش تجزیه از بالا به پایین شناخته میشود.
به عنوان مثال، یک نمای کلی از سیستم به عنواننمودار زمینه سیستمکه مشخص میکند، اما هیچ سطحی از زیرسیستم را مشخص نمیکند. هر یک از این زیرسیستمها سپس به جزئیات بیشتری اصلاح میشوند (مانند سطوح 0، 1، 2 و غیره در DFD)، گاهی در بسیاری از سطوح زیرسیستم اضافی، تا اینکه کل مشخصات به عناصر پایه کاهش یابد.
همانطور که معمول است، طوفان فکری منجر به ایدههایی شده است (در واقع، چیزهایی برای لیست کارهای ما) که در سطوح مختلف «جزئیات» قرار دارند – برخی از آنها «پایینتر» از دیگران هستند، یا میتوانیم بگوییم، برخی شامل دیگران هستند.
بیایید اینها را به صورت سلسلهمراتبی مرتب کنیم. به عبارت دیگر، بیایید شناسایی کنیم که کدام مراحل بخشی از یک مرحله دیگر هستند. یکی از راههای انجام این کار این است که هر عمل را به عنوان یک مجموعه از عملها در نظر بگیریم.
مثال اصلاح تدریجی

خانه را تمیز کن
{جاروبرقی اتاق غذاخوری ، مرتب کردن اتاق نشیمن}
پخت و پز
{انتخاب دستور پخت ، خرید مواد اولیه ، کباب کردن مرغ . سبزیجات را آماده کن}
چیدن میز
پیدا کردن رومیزی ، درآوردن بشقابها ، گذاشتن ظروف شیشهای ، گذاشتن قاشق و چنگال ، دستمالها
مرغ کبابی
{فر را از قبل گرم کنید به400 , مرغ را در تابه بگذارید ، مرغ را در400 فر به مدت90 دقیقه}
سبزیجات را آماده کن
خرد کردن سبزیجات ، پختن سبزیجات
(*منبع: طراحی از بالا به پایین و اصلاح تدریجی — کتابهای ویکی)
پس از شناسایی این عناصر پایه، میتوانیم آنها را به ماژولهای کامپیوتری تبدیل کنیم. پس از ساخت آنها، میتوانیم آنها را کنار هم قرار دهیم و کل سیستم را از این اجزای فردی بسازیم.
تکنیک تجزیه از بالا به پایین در DFD
در DFD،تجزیه از بالا به پایین(که به آن سطحبندی یا اصلاح تدریجی نیز گفته میشود) تکنیکی است که برای نشان دادن جزئیات بیشتر در DFDهای سطح پایینتر استفاده میشود. سطحبندی با ترسیم یک سری نمودارهای به طور فزایندهای دقیق انجام میشود تا زمانی که درجه مطلوب جزئیات به دست آید. همانطور که در شکل نشان داده شده است، سطحبندی DFD ابتدا سیستم هدف را به عنوان یک فرآیند واحد نمایش میدهد و سپس جزئیات بیشتری را نشان میدهد تا زمانی که تمام فرآیندها به صورت اجزای عملکردی باشند.

- DFDهایی که در سطح بالاتری هستند، جزئیات کمتری دارند
- DFDهای سطح بالا باید به DFDهای دقیقتر در سطوح پایینتر تجزیه شوند
- نمودار زمینه بالاترین سطح در سلسلهمراتب است (به قوانین ایجاد DFD مراجعه کنید). سطح صفر به DFD 0 دنبال میشود، که با شمارهگذاری فرآیند شروع میشود (به عنوان مثال، فرآیند 1، فرآیند 2).
- در مرحله بعد، به اصطلاح سطح اول — DFD 1 — شمارهگذاری ادامه مییابد. به عنوان مثال، فرآیند 1 به سه سطح اول DFD تقسیم میشود که شمارهگذاری شدهاند 1.1، 1.2 و 1.3.
- به طور مشابه، فرآیندها در سطح دوم (DFD 2) شمارهگذاری میشوند، به عنوان مثال 1.1.1، 1.1.2، 1.1.3 و 1.1.4.
- تعداد سطوح به اندازه سیستم مدل بستگی دارد. هر یک از فرآیندها در سطح 0 ممکن است تعداد یکسانی از سطوح تجزیه نداشته باشند.
مثالهای DFD — مثال سیستم خدمات مشتری
نمودار جریان داده یک سلسلهمراتب از نمودار است که شامل:
- نمودار زمینه (از نظر مفهومی سطح صفر)
- DFD سطح 1
- و DFD سطح 2 ممکن و سطوح بیشتر تجزیه عملکردی بسته به پیچیدگی سیستم شما
DFD زمینه
شکل زیر یک نمودار جریان داده زمینه را نشان میدهد که برای سیستم خدمات مشتری یک شرکت راهآهن ترسیم شده است. این شامل یک فرآیند (شکل) است که نمایانگر سیستمی است که باید مدلسازی شود، در این مورد، “سیستم CS“. همچنین شرکتکنندگانی را نشان میدهد که با سیستم تعامل خواهند داشت، که به آنها موجودیتهای خارجی گفته میشود. در این مثال، دستیار CS و مسافر دو موجودیتی هستند که با سیستم تعامل خواهند داشت. در بین فرآیند و موجودیتهای خارجی، جریان داده (اتصالات) وجود دارد که نشاندهنده وجود تبادل اطلاعات بین موجودیتها و سیستم است.

این مثال DFD یوردون و کاد را ویرایش کنید
DFD زمینه ورودی یک مدل جریان داده است. این شامل یک و تنها یک فرآیند است و هیچ انبار دادهای را نشان نمیدهد.
DFD سطح 1
شکل زیر DFD سطح 1 را نشان میدهد که تجزیه (یعنی شکستن) فرآیند سیستم CS را که در DFD زمینه نشان داده شده است، نشان میدهد. از طریق نمودار بخوانید و سپس برخی از مفاهیم کلیدی را بر اساس این نمودار معرفی خواهیم کرد.

این مثال نمودار یوردون و کاد را ویرایش کنید
مثال نمودار جریان داده سیستم CS شامل چهار فرآیند، دو موجودیت خارجی و چهار انبار داده است. اگرچه هیچ دستورالعمل طراحی وجود ندارد که موقعیت اشکال را در یک نمودار جریان داده تعیین کند، ما تمایل داریم فرآیندها را در وسط و انبارهای داده و موجودیتهای خارجی را در کنارهها قرار دهیم تا درک آن آسانتر شود.
بر اساس نمودار، میدانیم که یک مسافر میتواند دریافت کند جزئیات حمل و نقل از فرآیند استعلام جزئیات حمل و نقل فرآیند، و جزئیات توسط انبارهای داده جزئیات حمل و نقل و آمار زنده راهآهن. در حالی که دادههای ذخیره شده در جزئیات حمل و نقل دادههای پایدار هستند (که با برچسب “D” نشان داده شدهاند)، دادههای ذخیره شده در آمار زنده راهآهن دادههای گذرا هستند که برای مدت کوتاهی نگهداری میشوند (که با برچسب “T” نشان داده شدهاند). یک شکل فراخوانی برای فهرست کردن نوع جزئیاتی که میتواند توسط یک مسافر استعلام شود، استفاده میشود.
دستیار CS میتواند فرآیند خرید سوغاتی را آغاز کند، که منجر به داشتن جزئیات سفارش ذخیره شده در سفارش انبار داده است. اگرچه مشتری شخص واقعی است که سوغاتی میخرد، این دستیار CS است که به سیستم دسترسی دارد تا جزئیات سفارش را ذخیره کند. بنابراین، ما جریان داده را از دستیار CS به خرید سوغاتی فرآیند.
دستیار CS همچنین میتواند فرآیند را آغاز کند خرید بلیط فرآیند را با ارائه جزئیات سفارش و جزئیات دوباره در سفارش انبار داده. نمودار جریان داده یک نمودار سطح بالا است که با درجه بالایی از انتزاع ترسیم میشود. انبار داده سفارش که در اینجا ترسیم شده است لزوماً به یک پایگاه داده واقعی سفارش یا جدول سفارش در یک پایگاه داده اشاره ندارد. نحوه ذخیرهسازی فیزیکی جزئیات سفارش بعداً هنگام پیادهسازی سیستم تعیین خواهد شد.
سرانجام، دستیار CS میتواند فرآیند را آغاز کند گزارش گم شدن فرآیند را با ارائه جزئیات حادثه و مورد و اطلاعات در مورد گمشده پایگاه داده.
با مثالها بیشتر درباره DFD بیاموزید





This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.