در این مطلب میخواهیم با دیاگرام فلوچارت(فلودیاگرام) و کاربرد آن در نرم افزار آشنا شویم. فلوچارت یک نوع دیاگرام است که گردش کاری(روند اجرا) در یک پردازش را نمایش میدهد. یعنی از زمان شروع یک فرآیند تا انتها، حالاتی که ممکن است اتفاق بیافتد و نتایجی که از این حالات بروز خواهد کرد، در دیاگرام فلوچارت نمایش داده میشود.
نمادهای فلوچارت
نمادهایی که در یک دیاگرام فلوچارت نمایش داده میشوند، هر کدام، قدمی از فرآیند را نشان میدهند. نمادهای معروفِ موجود در یک دیاگرام فلوچارت به قرار زیر است:
- Terminator: یا همان به پایان رساننده، نمادی است که برای نشان دادن وضعیت شروع یا پایان فرآیند مورد استفاده قرار میگیرد و به شکل بیضی است.
- Process: یا پردازش که یک نماد مستطیلی است و بیانگر انجام یک عملیات ساده مانند چاپ یک پیام، انجام یک عمل ریاضی یا مواردی از این دست است.
- Decision: که همان تصمیم است و نماد آن یک لوزی است که معمولا دو خروجی دارد. یکی برای حالتی که شرط مورد نظر برقرار باشد و دیگری بیانگر وضعیتی که شرط مربوطه برقرار نباشد.
- Connector: با نماد دایره نشان داده میشود و یک برچسب(به طور مثال A) دارد که بیانگر پرش به یک پردازش است.
- Data: یک متوازی الاضلاع است که بیانگر ورودی یا خروجی یک پردازش است.
- Document: برای نمایش یک پرونده یا گزارش مورد استفاده قرار میگیرد. نمونه ظاهری این نماد را در تصویر زیر میتوانید مشاهده کنید.
همانطور که در تصویر بالا مشاهده میکنید. نمادهای معروف دیاگرام فلوچارت مانند تصویر بالا رسم میشوند.
کاربرد فلوچارت
دیاگرام فلوچارت، همان طور که در ابتدای مطلب نیز عنوان شد، برای نمایش روند انجام یک فرآیند رسم میشود. از آنجا که در هنگام رسم این دیاگرام تمام حالات فرآیند بررسی میشوند، اولین مزیتی که یک دیاگرام فلوچارت دارد، این است که برای انجام فرآیند، شفافیت بوجود میآورد. یعنی میدانید فرآیند مورد نظرتان در چه حالاتی با موفقیت انجام میشود و در چه حالاتی با خطا روبرو خواهید شد. در نتیجه زمانی که میخواهید فرآیند مورد نظرتان را کدنویسی کنید، با مراجعه به این دیاگرام، تمام حالات را در نظر میگیرید و کدی که مینویسید برای تمام حالات ممکن جوابگو خواهد بود.
مزیت مهم دیگر نظم ذهنی شما برای پیادهسازی فرآیندهای پیچیده خواهد بود. فرض کنید میخواهید برنامهنویسی فرآیندی را انجام دهید که گامٔهای زیادی دارد. اگر برای این نوع فرآیند، دیاگرام فلوچارت نداشته باشید، ممکن است در پیادهسازی فرآیند دچار خطاهای متعددی شوید و اگر کم تجربه باشید، ممکن است برنامهنویسی فرآیند برای شما عذاب آور شود.
دیگر مزیت یک دیاگرام فلوچارت این است که وقتی فرآیند پیچیده باشد، با بهینه کردن این دیاگرام، میتوانید کدنویسی فرآیند را بهینه کنید. یعنی ممکن است با جابجایی تصمیمها یا پردازشها، حالاتی را بوجود بیاورید که با انجام قدمهای کمتری، به نتیجه برسید. در این حالت کدی که مینویسید، ارزشمندتر خواهد بود.
نمونه یک دیاگرام فلوچارت
نکاتی که در این مطلب مرور کردیم بسیار کاربردی هستند، اما تا زمانی که بصورت عملی یک دیاگرام فلوچارت را بررسی نکنیم، با نحوه رسم این دیاگرام آشنا نشدهایم. برای این منظور، در ادامه یک دیاگرام ساده فلوچارت را مورد بررسی قرار میدهیم تا کارکرد این دیاگرام را به خوبی فرا بگیریم.
تصویر زیر دیاگرام یک فرآیند است که طی آن دو عدد با هم جمع شده و نتیجه در خروجی نمایش داده میشود:
در تصویر بالا، فرآیند را از نقطه Start دنبال میکنیم تا به نقطه End برسیم. در گام نخست متغیر A و در گام بعد متغیر B که ورودیهای پردازش هستند مقدار دهی میشوند. همانطور که میدانیم این دو گام از نوع Data هستند. در گام سوم که یک پردازش است، حاصل جمع این دو متغیر محاسبه شده و در متغیری با نام Sum قرار میگیرد. در گام بعد که مجدد یک Process است، نتیجه چاپ میشود. پس از این گام، فرآیند به انتها رسیده و به نقطه End میرسیم.
دیاگرام حاوی شرط
مثال قبل بسیار ساده بود. در دیاگرام فوق گام شرطی وجود نداشت. به همین منظور در ادامه دیاگرامی حاوی شرط نیز مورد بررسی قرار میگیرد.
در مثال بالا میخواهیم سود یا زیان بدست آمده را محاسبه کنیم. مجدد از نقطه Start به سمت نقطه Endحرکت میکنیم. اینبار بعد از مقدار دهی متغیرهای درآمد(Income) و هزینه(Cost) به یک گام تصمیمگیری(شرطی) میرسیم. شرط این است که آیا درآمد بزرگتر یا مساوی با هزینه است؟ پاسخ این شرط دو حالت دارد. بله یا خیر. در صورتی که جواب شرط بله باشد، شاخه سمت راست دنبال میشود و سود بدست آمده محاسبه شده و نمایش داده میشود و در صورتی که جواب خیر باشد، شاخه سمت چپ دنبال شده و میزان ضرر محاسبه شده و نمایش داده میشود. در نهایت به نقطه End میرسیم و فرآیند پایان مییابد.
موفق و پیروز باشید.