طراحان آینده

این وبلاگ جهت نمابش پروژه های درس مهندسی نرم افزار طراحی شده است.

نمودار جریان داده (DFD) و PSPEC

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

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

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

 

--------------------------

سطوح مختلف DFD

----------------------

1) DFD سطح صفر:  بهDFD  سطح صفر Contex Diagram گفته می شود و یک نمای کلی از سیستم را نشان می دهد . در این سطح موجودیت های داخلی و خارجی را به همراه ورودی و خروجی آورده و از قراردادن مکان ذخیره سازی اجتناب می کنیم

2) DFD سطح 1 : در این سطح می توان در صورت نیاز مکان ذخیره سازی را در دیاگرام رسم کرد. در این سطح سیستم به اجزای کوچکتری شکسته می شود.

 نکته: تعداد ورودی و خروجی ها در هر سطح باید با هم تطابق داشته باشد.

3) DFD سطح 2 : در این سطح خود زیرسیستم ها نیز به اجزای کوچکتر شکسته می شوند .

عمل شکستن را تا جایی ادامه می دهیم که منطق آن قابل فهم و قابل کدنویسی باشد .

------------------------------------

DFD سطح 0  ==> نرم افزار

------------------------------------

 

------------------------------------

DFD سطح 1 ==> نرم افزار

------------------------------------

---------------------------------

DFD سطح 2 ==> Login

---------------------------------

---------------------------------------------------------------

DFD سطح 2 ==> پردازش اطلاعات و زمانبندی

---------------------------------------------------------------

-------------------------------

DFD سطح 2 ==> پیام

-------------------------------

 

-----------------------------------------------

DFD سطح 2 ==> دریافت اطلاعات

-----------------------------------------------

 

---------------------------------------------

DFD سطح 2 ==> تولید Reminder

---------------------------------------------

 

--------------------------------------------

DFD سطح ۳ ==> تحلیل اطلاعات

--------------------------------------------

 

----------------------------------

مشخصه فرایند (PSPEC)

-----------------------------

 دکمه  Login: سیستم ابتدا user و Password را از کاربر دریافت کرده ، با مراجعه به بانک اطلاعاتی و خواندن اطلاعات مربوط به جدول profile، صحت user و Password کاربر را بررسی می کند. در صورت درستی، وارد به مرحله بعد می شود. در غیر این صورت پیغامی مبنی بر نادرست بودن user و Password نشان داده می شود.

دکمه Scheduler: با فشردن این دکمه، چک می شود که آیا اولین login این کاربر است و یا اینکه درخواست برنامه ریزی مجدد دارد؟! درصورتی که اولین login باشد ، باید ورود اطلاعات نمایش داده شود و کاربر، جداول را پر کند. درغیر این صورت فرم تغییر اطلاعات لود شده و پس از ثبت تغییرات، برنامه ریزی در قسمت های تغییر یافته، تغییر می کند و جدول زمانبندی به روز می شود.

دکمه Data Entry: با ردن این دکمه فرم ورود اطلاعات به کاربر نمایش داده می شود و کاربر جداول را پر می کند و در نهایت بانک به روز می شود

دکمه Show Message: با زدن این دکمه، تابع انتخاب پیام اجرا می شود و پیام انتخاب شده بر اساس اهداف اولویت دار به نمایش در می آید.

دکمه Show schedule: اطلاعات از جدول برنامه ریزی بانک اطلاعاتی خوانده شده و در قالب جدولی نمایش می یابد.

دکمه "ارزیابی": عملکرد کاربر را بر اساس نوع درخواست کاربر (روزانه – هفتگی – ماهانه) بررسی کرده و نمایش می دهد.

دکمه "خروج": خروج از سیستم را به همراه دارد.

 

+ نوشته شده در  ساعت   توسط الهام راسخ  |