فلوچارت: ابزاری برای مستندسازی و برنامهنویسی
فلوچارت نموداری است که فرآیند، سیستم یا الگوریتم کامپیوتری را نشان میدهد.
روندنما یا فلوچارتها بهطور گسترده در زمینههای مختلف برای مستندسازی، مطالعه، برنامهریزی، بهبود و ارتباط فرآیندهای اغلب پیچیده در نمودارهای واضح و قابلفهم استفاده میشوند.کشیدن فلوچارت مربوط به قبل از شروع برنامهنویسی است و وابستگی به نوع زبان برنامهنویسی ندارد. فلوچارتها در تعیین روند اجرای دستورات و تعیین ورودی و خروجی برنامه نقش مهمی دارند.
فلوچارت به چه کاری میآید؟
فلوچارت در واقع نقشهای است که برنامهنویسان رایانه قبل از نوشتن برنامه به زبان برنامهنویسی اصلی آن را ترسیم میکنند. با مروری بر فلوچارت روند اجرای عملیات، مراحل و جزئیات برنامه و ورودی و خروجی هر مرحله از برنامه مشخص میشود. استفاده از فلوچارت جهت حل هر مسئلهای مفید است و بدون در نظر گرفتن زبان برنامهنویسی، نوشتن برنامه را سهولت میبخشد. علاوه بر این فلوچارت جزئی باارزش از مستندات هر برنامه میباشد که با کمک آن تفسیر برنامه، عیبیابی و استفاده توسط شخصی به جز برنامهنویس را آسان میکند.
تاریخچه فلوچارت
فلوچارتها برای اولین بار در دهه 1920 توسط هنری چارلز هانتر، مهندس آمریکایی، اختراع شدند. هانتر از فلوچارتها برای مستندسازی فرآیند تولید در کارخانههای فورد استفاده کرد.
فلوچارت های مرتبط با مستند سازی فرآیندهای تجاری (Document Business Processes)، از دهه های 20 و 30 میلادی مورد توجه و استفاده قرار گرفتند. در سال 1921 دو تن از مهندسین صنایع به نام های فرانک و لیلیان گیلبرت (Frank and Lillian Gilbreth)، “نمودار جریان فرآیند” (Flow Process Chart) را در انجمن مهندسین مکانیک آمریکا (ASME)، ارایه نمودند. در اوایل دهه ی 1930 میلادی یک مهندس صنایع به نام Allan H. Morgensen، از ابزار ابداع شده توسط Gilbreth برای ارایه ی کنفرانس هایی در رابطه با کارامدتر نمودن کارها برای افراد شاغل در کارخانه ی خود، استفاده نمود.
در دهه ی 1940 میلادی، دو تن از دانشجویان Morgensen به نام های Art Spinanger و Ben S. Graham، این روش ها را به صورت گسترده تری نشر دادند. Spinanger متدهای ساده سازی کار را برای شرکت Procter and Gamble ارایه نمود. Graham نیز که رییس کمپانی Standard Register Industrial بود، نمودار های فرایند جریان را به منظور پردازش اطلاعات، منطبق نمود. در سال 1947، انجمن مهندسین مکانیک آمریکا، ASME، یک سیستم نمادی (symbol system) را برای نمودارهای فرایند جریانی (Flow Process Charts)، که نشات گرفته از کار اصلی Gilbreths بود، سازگار نمود.
نمادهای مهم در رسم فلوچارت چیست؟
برای کشیدن فلوچارت از مجموعه شکلهای قراردادی استفاده میکنیم که هرکدام در نمایش دستورات مختلف یک برنامه نقش دارند.
چند نمونه از بارزترین نمادهای فلوچارت را در این بخش معرفی میکنیم:
- ترمیناتور (Terminator): که شروع و پایان فرایند را مشخص کرده و به شکل بیضی نشان داده میشود. هر فلوچارت یک ترمیناتور برای شروع و یکی برای پایان دارد.
- فرایند (Process): به شکل مستطیل که برای نمایش دستورات معمولی مانند دستورات محاسباتی و انتسابی استفاده میشود.
- تصمیم (Decision): تصمیمگیری برای برقراری شرط است و با لوزی نشان داده میشود. این مرحله دو خروجی متفاوت وابسته به پاسخ شرط دارد.
- ورودی (Data):ورودیها به شکل متوازی الاضلاع نشان داده میشوند.
- سند (Document): برای نمایش خروجی و گزارش نهایی از چهارضلعی منحنی استفاده میشود.
- ارجاع به درون برنامه (On-Page Reference): به شکل دایره که حرفی درون آن قرار گرفته نمایش داده میشود و به معنی پایان این مرحله در این فلوچارت و لزوم ادامه آن در فلوچارت دیگری است.
- تاخیر یا انتظار (Delay or wait): به شکل یک نیمه بیضی که به معنی انتظار و وقفه در انجام فرایند است.
انواع فلوچارت
انواع مختلفی از فلوچارت وجود دارد که هر کدام برای اهداف خاصی استفاده میشوند. برخی از انواع رایج فلوچارت عبارتند از:
- فلوچارت جریان داده (DFD): DFD فرآیندهای یک سیستم را به عنوان مجموعهای از جریان دادهها نشان میدهد.
- فلوچارت پردازش (PFD): PFD فرآیندهای یک سیستم را به عنوان مجموعهای از پردازشها نشان میدهد.
- فلوچارت رویداد (EFD): EFD فرآیندهای یک سیستم را به عنوان مجموعهای از رویدادهای آغازین، پردازشی و پایانی نشان میدهد.
- فلوچارت تصمیمگیری (DFD): DFD فرآیندهای یک سیستم را به عنوان مجموعهای از تصمیمگیریها نشان میدهد.
کاربردهای فلوچارت در برنامه نویسی
فلوچارتها کاربردهای زیادی در برنامه نویسی دارند. برخی از کاربردهای فلوچارت در برنامه نویسی عبارتند از:
- مستندسازی الگوریتمها: فلوچارتها میتوانند برای مستندسازی الگوریتمهای برنامه نویسی استفاده شوند. این امر میتواند به توسعهدهندگان کمک کند تا الگوریتمهای خود را بهتر درک کنند و آنها را به دیگران توضیح دهند.
- برنامهریزی کد: فلوچارتها میتوانند برای برنامهریزی کد استفاده شوند. این امر میتواند به توسعهدهندگان کمک کند تا جریان کلی کد خود را درک کنند و از خطاهای احتمالی جلوگیری کنند.
- تحلیل کد: فلوچارتها میتوانند برای تحلیل کد استفاده شوند. این امر میتواند به توسعهدهندگان کمک کند تا مشکلات احتمالی در کد خود را شناسایی کنند.
مزایا:
- مستندسازی الگوریتمها: فلوچارتها میتوانند به توسعهدهندگان کمک کنند تا الگوریتمهای خود را بهتر درک کنند و آنها را به دیگران توضیح دهند.
- برنامهریزی کد: فلوچارتها میتوانند به توسعهدهندگان کمک کنند تا جریان کلی کد خود را درک کنند و از خطاهای احتمالی جلوگیری کنند.
- تحلیل کد: فلوچارتها میتوانند به توسعهدهندگان کمک کنند تا مشکلات احتمالی در کد خود را شناسایی کنند.
- ارتباط بین افراد: فلوچارتها میتوانند به افراد مختلف در یک تیم کمک کنند تا یک فرآیند یا الگوریتم را به طور یکسان درک کنند.
- آموزش: فلوچارتها میتوانند به توسعهدهندگان تازهکار کمک کنند تا نحوه کار الگوریتمها را یاد بگیرند.
معایب :
- پیچیدگی: فلوچارتها برای الگوریتمهای پیچیده میتوانند پیچیده و گیجکننده باشند.
- زمانبر: ایجاد فلوچارت برای الگوریتمهای پیچیده میتواند زمانبر باشد.
- عدم انعطافپذیری: فلوچارتها ممکن است برای تغییر یا بهروزرسانی الگوریتمها انعطافپذیر نباشند.
نتیجه گیری
فلوچارتها ابزاری مفید برای مستندسازی، برنامهنویسی و تحلیل کد هستند. فلوچارتها میتوانند به توسعهدهندگان کمک کنند تا الگوریتمهای خود را بهتر درک کنند، کد خود را برنامهریزی کنند و مشکلات احتمالی در کد خود را شناسایی کنند.این ابزار برای مستندسازیاطلاعات پزشکی روزمره، میتواند به حفظ سلامتی و بهداشت افراد کمک کرده و در پزشکی در زندگی کاربرد دارد، مورد استفاده قرار میگیرد.