Software Engineer

نمودار جریان داده DFD

  پیش از آنکه فناوری شیءگرا (Object Oriented) بر فرایندهای تحلیل و طراحی مسلط شود، طراحان و تحلیل‌گران سیستم از روشی به نام «تحلیل و طراحی ساخت‌یافته (SAD) استفاده می‌کردند و برای کار خود ابزارهایی در اختیار داشتند که یکی از آنها نمودار جریان داده است. نمودار جریان داده (Data Flow Diagram) یا (DFD) تلاش می‌کند تا جریان گذر داده‌ها در سیستم را به صورت یک نمودار تصویری نمایش دهد. منظور از جریان گذر داده (Data Flow) مسیری است که یک داده ورودی طی می‌کند تا به یک داده خروجی تبدیل شود. به عبارتی می‌توان گفت که پردازشهایی را که بر روی داده انجام میشود و مسیری که داده از یک پروسه به پروسه دیگر طی می‌کند را نمایش می‌دهد. نمودار جریان داده برای سیستمهایی که پردازشهای سنگین و پیچیده دارند مفید است و به طراح کمک می‌کند تا بدون در نظر گرفتن جزئیات پیاده سازی هریک از زیرفرایند‌ها (یا همان ایستگاههای میانی)، فرایند بزرگتر را به اجزای سازنده و مسیر بین آنها تجزیه کند. وی سپس می‌تواند هر یک از این «فرایند های میانی» را به صورت یک مسئله طراحی جدید حل کند. میزان جزیئات بیان شده در نمودار جریان داده را با سطح (Level) آن نمایش می‌دهند. نمودار سطح صفر تشکیل شده از یک یا چند منبع داده ورودی، یک (یا چند) مسیر داده خروجی و تنهایک تابع (یا همان فرایند) که آن را دایره و مسیر های ورودی و خروجی را با خط نمایش میدهند. نمودار سطح یک این تابع را به اجزای درونیش تفکیک می‌کند و مسیر داخلی داده را نمایش می‌دهد (که یک مرحله به حل مسئله اصلی نزدیک تر است) و فرایند همینگونه ادامه دارد تا انجایی که تابعهای ترسیم شده براحتی قابل نوشتن باشند.

تفاوت عمده نمودار جریان داده با فلوچارت این است که نمودار جریان داده کل مسئله را از زاویه دید دیگری می‌نگرد. هدف از رسم فلوچارت نمایش گرافیکی یک الگوریتم است که نسبت به یک تابع در نمودار جریان داده ها حوزه کارکردی کوچکتری دارد و هدف جزئی‌تری را دنبال می‌کند. نمودار جریان داده‌ها (بر خلاف فلوچارت) بر روی فرایند‌ هایی که «جریان های داده‌ها» می‌پیمایند تمرکز دارد در حالی که فلوچارت بدنبال ارائه دنباله‌ای از قدمهای ساده است که در پایان نتیجه‌ای را بدست میدهند. البته اگر که جریان داده‌ها را به اندازه کافی خرد کنیم در پایان به الگوریتم‌ها میرسیم و اگر کل سیستم را یک «ابر الگوریتم» در نظر بیاوریم (که براستی همینگونه هم هست) آنگاه الگوریتم به جریان داده‌ها بدل میشود. از نتایج مهم این تفاوت در دیدگاه‌ها آن است که جریان داده‌ها به «شرایطی» که باعث چند شاخه شدن مسیر خروجی توابع میشوند توجهی ندارد و تنها این مسیرها را (بدون ذکر علت) نمایش می‌دهد در حالی که مراحل شرطی و شاخه‌بندی مسیر اجرا توسط شرط‌هایکی از پایه‌های جدا نشدنی فلوچارت است.

نمودار جریان داده اطلاعات کلی در مورد محدوده اطلاعات  و محدوده عملکرد را در اختیار مهندس نرم افزار قرار می دهد.در ضمن پالایش به سطوح بالاتری از جزییات ،در حباب های جریان داده ،توابع سیستمی به طور کامل و مجزا مشخص می شوند.هر حباب معرف یک عملکرد و تابع،هر مربع معرف یک موجودیت خارجی و پیکان های برچسب دار نشان دهنده اشیاء داده یا سلسله مراتب هایی از نوع شی داده می باشد. 

 

 

 

DFD  سطح   ۲                                                              

 

 

                      

+ نوشته شده در  پنجشنبه 1389/03/20ساعت 10:31  توسط گروه   |