نمودار جریان داده چیست؟
یک نمودار جریان دادهیک نمایش گرافیکی از جریان داده در یک سیستم اطلاعاتی است. این میتواند جریانهای داده ورودی، جریانهای داده خروجی و دادههای ذخیره شده را توصیف کند. DFD به نحوه جریان دادهها در سیستم اشاره نمیکند.
این تکنیک DFDنمودار جریان داده سطح بالا را به مجموعهای از نمودارهای دقیقتر تجزیه میکند و نمای کلی از سیستم کامل را ارائه میدهد و همچنین تجزیه و تحلیل دقیقتری را فراهم میکند و در صورت لزوم، تجزیه و تحلیل و توصیف دقیقتری از فعالیتهای فردی برای تسهیل روشنسازی و درک ارائه میدهد.
در نتیجه، دامنه و مرزهای سیستم به وضوح در نمودار نشان داده شده است. نتیجه نهایی یک DFD به خوبی توسعه یافته، یک «تصویر کلی» است که نشان میدهد در هر سطح چه اتفاقی میافتد.
چرا DFD؟
نمودارهای جریان دادهیک نمایش گرافیکی از سیستم ارائه میدهند که هدف آن قابل دسترس بودن برای
کارشناسان کامپیوتر و کاربران غیر متخصص به یک اندازه.این یک نمایش گرافیکی است که بسیار آسان برای درک است زیرا به تجسم محتوا کمک میکند.
مدلها به مهندسان نرمافزار، مشتریان و کاربران این امکان را میدهند که در طول تحلیل و مشخص کردن نیازها به طور مؤثر همکاری کنند.
اگرچه این بدان معناست که مشتریان ما باید تکنیکها و ساختارهای مدلسازی را درک کنند، اما در مدلسازی جریان داده تنها مجموعه محدودی از ساختارها استفاده میشود و قوانین اعمال شده به گونهای طراحی شدهاند که ساده و آسان برای پیروی باشند.
در اینجا مزایای تکنیک DFD آورده شده است:
- این یک تکنیک گرافیکی ساده است که آسان برای درک است.
- این میتواند به راحتی توسط مخاطبان فنی و غیر فنی درک شود.
- این به توصیف مرزهای سیستم کمک میکند.
- این ارتباط دانش موجود سیستم را به کاربران نهایی تسهیل میکند.
- این یک نمایش دقیق از اجزای سیستم ارائه میدهد.
- این به عنوان بخشی از مستندات سیستم استفاده میشود.
DFD در مقابل فلوچارت
تفاوت قابل توجهی بین یک DFD و یک فلوچارت. اساساً، DFDها جریان داده را نشان میدهند؛ فلوچارتها جریان کنترل را نشان میدهند.
- یک فلوچارت جریان کنترل در یک ماژول برنامه را توصیف میکند و به تصویر کشیدن مراحل حل یک مشکل کمک میکند.
- یک DFD ورودیها، خروجیها، نحوه جریان دادهها در سیستم و جایی که دادهها ذخیره خواهند شد را نشان میدهد. این شامل هیچ عنصر کنترلی یا انشعابی نیست.
عناصر DFD
- موجودیتها – موجودیتها منبع و مقصد دادههای اطلاعاتی هستند. موجودیتها با
مستطیلها نمایش داده میشوند و نامهای خود را دارند.
- فرآیندها – فعالیتها و اقداماتی که بر روی دادهها انجام میشود با مستطیلهای دایرهای یا دایرهای نمایش داده میشوند.
- ذخیرهسازی داده – دو نوع ذخیرهسازی داده وجود دارد – میتواند به صورت – 1. به عنوان یک مستطیل بدون دو لبه کوچک نمایش داده شود، 2) یا به عنوان یک مستطیل باز با تنها یک لبه
یک مستطیل باز با لبههای گمشده.
- جریان داده – حرکت داده با فلشهای تیز نمایش داده میشود. حرکت داده به عنوان رفتن از پایین فلش به عنوان منبع آن به سر فلش به عنوان مقصد آن نشان داده میشود.
مثال جریان داده – بانکداری الکترونیکی
مدیر بانک جزئیات حساب جدید را به فرآیند حساب باز ارائه میدهد که منجر به نگهداری جزئیات مشتری در پایگاه داده مشتری و جزئیات حساب در پایگاه داده حساب میشود. اگرچه ما از کلمه «نتیجه» در تفسیر خود استفاده میکنیم، DFD به معنای علیت نیست؛ آنچه نشان میدهد این است که فرآیند افتتاح حساب میتواند دادهها را از رابط مدیر بانک بخواند بدون اینکه دادهها را به پایگاه داده مشتری و پایگاه داده حساب در یک ترتیب خاص بنویسد.
یک مشتری که از فرآیند ورود به بانکداری آنلاین استفاده میکند باید برخی دادهها، مانند نام کاربری و رمز عبور، را به صورت مجموعهای از اعتبارنامههای ورود ارائه دهد.
یک مشتری ممکن است مبلغی از یک برداشت دریافت کند یا مبلغی را به یک سپرده اضافه کند؛ در هر دو مورد، این منجر به بهروزرسانی موجودی حساب در پایگاه داده حساب میشود (اگرچه این علیت نمیتواند به طور صریح مدلسازی شود).
یک مشتری میتواند فرآیند انتقال وجه را آغاز کند و باید مقصد حساب و مبلغ وجه را ارائه دهد. فرآیند انتقال وجه میتواند مبلغ وجه را از طریق رابط بانک دیگر به بانک دیگری ارسال کند.
این مثال نمودار جریان داده را ویرایش کنید
این مثال DFD که در بالا نشان داده شده شامل پنج فرآیند، چهار رابط/نقش خارجی و دو ذخیرهسازی داده است. این به عنوان یک نمایش جامع از جریانهای داده در یک سیستم بانکی در نظر گرفته نشده است، اما به اندازه کافی جامع است تا حس ساخت یک DFD را به شما بدهد.
تکنیک تجزیه از بالا به پایین – DFDهای چند سطحی
یک مزیت عمده تکنیک مدلسازی جریان داده این است که از طریق تکنیکی به نام تجزیه از بالا به پایین (که به عنوان «سطحبندی» نیز شناخته میشود)، پیچیدگیهای دقیق سیستمهای دنیای واقعی میتواند در یک سلسله مراتب انتزاعی مدیریت و مدلسازی شود. سطحبندی با ترسیم یک سری DFDهای به طور فزاینده دقیقتر تا رسیدن به سطح مورد نظر از جزئیات انجام میشود.
برای پیچیدهتر کردن DFDها (یعنی نه خیلی زیاد فرآیند)، میتوانید DFDهای چند سطحی ایجاد کنید.
- نمودار زمینه شامل فرآیند سیستم کنترل (تجمعی) است.
- DFD سطح بالاتر کمتر دقیق است (DFD دقیقتر در سطح پایینتر توضیح داده میشود) که به آن فرآیند تجزیه از بالا به پایین گفته میشود.
- نمودار زمینه با شمارههای فرآیند شروع میشود (به عنوان مثال، فرآیند 1، فرآیند 2 و غیره).
- شمارهگذاری در سطح اول (DFD) ادامه مییابد. به عنوان مثال، فرآیند 1 در نمودار زمینه به سه فرآیند در DFD سطح یک تصفیه میشود و شمارهگذاری میشود 1.1، 1.2 و 1.3.
- به طور مشابه، فرآیندها در لایه دوم شمارهگذاری میشوند، به عنوان مثال 2.1.1، 2.1.2، 2.1.3 و 2.1.4. شمارهگذاری برای فرآیند در سلسله مراتب:
- (1، 2، 3، …);
- (1.1، 1.2، 1.3، …، 2.1، 2.2، 2.3، …);
- (1.1.1، 1.1.2، 1.1.3، …).
- تعداد لایهها به اندازه سیستم مدل بستگی دارد.
هنگام انجام تجزیه از بالا به پایین به یک DFD به DFDهای سطح پایینتر، ورودیها و خروجیها باید بین سطوح DFD حفظ شوند. به عنوان مثال، سطح n و n+1 باید ورودیها و خروجیهای یکسانی داشته باشند.
مثال DFD – سیستم سفارش غذا
نمودار زمینه (سطح 0 – DFD)
نمودار زمینه نمای کلی از سیستم و نحوه تعامل آن با سایر بخشهای «جهان» را نشان میدهد. نمودار زمینه یک نمودار جریان داده است که فقط سطح بالایی را نشان میدهد که به آن سطح 0 گفته میشود. در این سطح، تنها یک گره فرآیند قابل مشاهده وجود دارد که عملکرد یک سیستم کامل را نمایندگی میکند، یعنی نحوه تعامل آن با موجودیتهای خارجی. برخی از مزایای نمودار زمینه عبارتند از.
- نمای کلی از مرزهای یک سیستم را نشان میدهد
- با یادداشت سادهاش، نیاز به دانش فنی برای درک ندارد
- به دلیل یادداشت محدودش، آسان برای ترسیم، ویرایش و توضیح است
شکل زیر یک نمودار زمینه (نمودار جریان داده سطح بالا) را برای یک سیستم سفارش غذا نشان میدهد.
- این شامل یک فرآیند (شکل) است که مدل سیستم را نمایندگی میکند، در این مورد «سیستم سفارش غذا».
- این همچنین شرکتکنندگانی را که با سیستم تعامل خواهند داشت، به نام موجودیتهای خارجی نشان میدهد.
در این مثال، تأمینکننده، آشپزخانه، مدیر و مشتری موجودیتهایی هستند که با سیستم تعامل خواهند داشت.
بین فرآیند و موجودیتهای خارجی، جریانهای داده (اتصالات) وجود دارد که نشان میدهد تبادل اطلاعاتی بین موجودیتها و سیستم وجود دارد.
نمودار DFD زمینه نقطه ورود به مدل جریان داده است. این شامل یک و تنها یک فرآیند است و هیچ ذخیرهسازی دادهای را نشان نمیدهد.
DFD سطح 1
DFD سطح 1 نمای دقیقتری از سیستم نسبت به نمودار زمینه ارائه میدهد. با نشان دادن زیر فرآیندهای اصلی و ذخیرهسازی دادههایی که سیستم را تشکیل میدهند.
نمودار زیر DFD سطح 1 را نشان میدهد که تجزیه (یعنی تجزیه و تحلیل) فرآیندهای سیستم سفارش غذا را که در DFD زمینه نشان داده شده است، نشان میدهد. از طریق نمودار بخوانید و سپس برخی مفاهیم کلیدی را بر اساس آن معرفی خواهیم کرد.
این مثال نمودار جریان داده را ویرایش کنید
یک مثال از نمودار جریان داده سیستم سفارش غذا شامل سه فرآیند، چهار موجودیت خارجی و دو ذخیرهسازی داده است.
- طبق نمودار، ما میدانیم که یک مشتری میتواند یک سفارش ثبت کند. فرآیند سفارش غذا سفارش را دریافت میکند، آن را به آشپزخانه ارسال میکند، در ذخیرهسازی دادههای سفارش ذخیره میکند و جزئیات موجودی بهروزرسانی شده را در ذخیرهسازی دادههای موجودی ذخیره میکند. این فرآیند همچنین صورتحساب را به مشتری ارائه میدهد.
- مدیران میتوانند گزارشها را از طریق فرآیند تولید گزارش دریافت کنند که جزئیات موجودی و سفارشات را به عنوان ورودی به ذخیرهسازی دادههای موجودی و سفارشات میگیرد.
- مدیر همچنین میتواند فرآیند سفارش موجودی را با ارائه یک سفارش موجودی آغاز کند. این فرآیند سفارش موجودی را به تأمینکننده ارسال میکند و جزئیات موجودی بهروزرسانی شده را در ذخیرهسازی دادههای موجودی ذخیره میکند.
DFD منطقی در مقابل DFD فیزیکی
نمودارهای جریان داده به نمودارهای جریان داده منطقی و فیزیکی تقسیم میشوند. DFD منطقی بر روی کسب و کار و نحوه عملکرد آن تمرکز دارد. این رویدادهای تجاری که رخ میدهند و دادههای مورد نیاز و تولید شده برای هر رویداد را توصیف میکند. از طرف دیگر، یک DFD فیزیکی نشان میدهد که سیستم چگونه پیادهسازی خواهد شد. تفاوتهای اصلی بین یک DFD منطقی و یک DFD فیزیکی به شرح زیر است:
DFD منطقی
- DFD منطقی نشان میدهد که کسب و کار چگونه عمل میکند.
- فرآیندها فعالیتهای تجاری را نمایندگی میکنند.
- ذخیرهسازی دادهها مجموعهای از دادهها را نمایندگی میکند بدون توجه به اینکه دادهها چگونه ذخیره میشوند.
- این نحوه کنترل کسب و کار است.
DFD فیزیکی
-
- DFD فیزیکی نشان میدهد که سیستم چگونه پیادهسازی خواهد شد (یا سیستم فعلی چگونه عمل میکند).
- فرآیندها برنامهها، ماژولهای برنامه و رویههای دستی را نمایندگی میکنند.
- ذخیرهسازی دادهها فایلهای فیزیکی و پایگاههای داده، فایلهای دستی را نمایندگی میکنند.
- این کنترلهایی برای اعتبارسنجی دادههای ورودی، برای به دست آوردن یک رکورد، برای اطمینان از تکمیل موفق یک فرآیند و برای امنیت سیستم نشان میدهد.
- DFD فیزیکی جریان واقعی مستندات فیزیکی را مشخص میکند، در حالی که DFD منطقی تنها بر روی جریان اطلاعات در اصطلاح کسب و کار تمرکز دارد.
به عنوان مثال، DFD فیزیکی جریان واقعی مستندات فیزیکی را مشخص میکند، در حالی که DFD منطقی تنها بر روی جریان اطلاعات در اصطلاح کسب و کار تمرکز دارد.
علاوه بر این، یک DFD منطقی فرآیندهای فیزیکی را که فقط به فعالیتهای فیزیکی اشاره دارند و دادهها را تغییر نمیدهند، حذف میکند.
مثال DFD منطقی – فروشگاه مواد غذایی
DFD منطقی فرآیندهای درگیر را بدون ورود به جزئیات در مورد پیادهسازی فیزیکی فعالیتها نشان میدهد.
این مثال DFD منطقی را ویرایش کنید
مثال DFD فیزیکی – فروشگاه مواد غذایی
- DFD فیزیکی نشان میدهد که یک بارکد – کد قیمت UPC که در اکثر اقلام فروشگاههای مواد غذایی یافت میشود، استفاده میشود
- علاوه بر این، DFD فیزیکی به فرآیندهای دستی مانند اسکن اشاره میکند و توضیح میدهد که یک فایل موقت برای نگهداری زیرمجموعه اقلام استفاده میشود
- پرداخت میتواند به صورت نقدی، چک یا کارت دبیت انجام شود
در نهایت، به رسید با نام خود، رسید صندوق نقدی اشاره میکند
این مثال DFD فیزیکی را ویرایش کنید
نکات و یادداشتها در مورد نمودارهای جریان داده
- آن را خیلی پیچیده نکنید؛ معمولاً ۵-۷ نفر متوسط میتوانند فرآیندها را مدیریت کنند
- یک ذخیرهسازی دادهباید با حداقل یک فرآیند مرتبط باشد
- جریان داده نباید بین ۲ موجودیت خارجی بدون عبور از یک فرآیند وجود داشته باشد
- یک فرآیند با ورودی اما بدون خروجی به عنوان یک فرآیند سیاهچاله در نظر گرفته میشود.
- برچسبهای فرآیند باید عبارات فعلی باشند؛ ذخیرهسازی دادهها با اسمها نمایش داده میشوند.
- یک موجودیت خارجی باید با حداقل یک فرآیند مرتبط باشد
- DFDها غیرقطعی هستند – شمارهگذاری لزوماً نشاندهنده ترتیب نیست و برای شناسایی فرآیندها هنگام بحث با کاربران مفید است
- ذخیرهسازی داده نباید به یک موجودیت خارجی متصل باشد، در غیر این صورت به این معنی است که شما به یک موجودیت خارجی دسترسی مستقیم به فایل داده خود میدهید
منابع
- نمودار جریان داده (DFD) چیست؟
- چگونه نمودار جریان داده (DFD) ایجاد کنیم؟
- نرمافزار نمودار جریان داده (DFD)
- مثالهای نمودار جریان داده
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.