فلوچارت
| شناسنامه | |
|---|---|
| نامهای دیگر | نمودار جریان، روندنما، نمودار گردشی، نمودار جریان کار |
| حوزه | علوم رایانه، برنامهنویسی رایانه، طراحی الگوریتم، مهندسی نرمافزار، مهندسی صنایع، مدیریت فرایندهای کسبوکار |
| خاستگاه | مهندسی صنایع، مطالعهٔ حرکت و زمان، مدیریت فرایندها و طراحی سامانههای محاسباتی |
| اندیشه و تاریخ | |
| مفاهیم کلیدی | آغاز و پایان، فرایند، ورودی و خروجی، تصمیم، شرط، تکرار، پیکان جریان، اتصالدهنده، زیرروال و مسیر اجرا |
| جریانهای مرتبط | برنامهنویسی ساختیافته، طراحی الگوریتم، مدلسازی فرایند، تحلیل سامانهها، UML و BPMN |
| تأثیرپذیرفته از | منطق، ریاضیات، مهندسی صنایع، نظریهٔ الگوریتم و روشهای تحلیل سامانه |
| تأثیرگذار بر | آموزش برنامهنویسی، مهندسی نرمافزار، طراحی فرایندهای سازمانی، کنترل کیفیت و مستندسازی سامانهها |
| نقد و ارزیابی | |
فلوچارت (به انگلیسی: Flowchart)، که در فارسی با عنوانهای نمودار جریان، روندنما و گاه نمودار گردشی شناخته میشود، روشی گرافیکی برای نمایش مراحل اجرای یک الگوریتم، فرایند، فعالیت یا سامانه است. در این روش، عملیات و تصمیمها با استفاده از شکلهای هندسی قراردادی نمایش داده میشوند و پیکانها ترتیب اجرا و مسیر حرکت از یک مرحله به مرحلهٔ دیگر را مشخص میکنند.
فلوچارت از ابزارهای شناختهشده در علوم رایانه، برنامهنویسی رایانه، مهندسی نرمافزار، مهندسی صنایع و مدیریت فرایندهای سازمانی است. این ابزار به طراحان، برنامهنویسان، مدیران و پژوهشگران کمک میکند تا ساختار یک مسئله یا فرایند را پیش از اجرا بررسی کنند، مراحل آن را بهصورت روشن نمایش دهند و خطاها یا پیچیدگیهای احتمالی را شناسایی کنند.
در سادهترین شکل، یک فلوچارت از نماد آغاز، چند نماد عملیات، پیکانهای جهتدار و نماد پایان تشکیل میشود. در فرایندهای پیچیدهتر، نمادهای تصمیم، ورودی و خروجی، اتصالدهنده و زیرروال نیز به کار میروند.
برای مثال، در فلوچارت یک سامانهٔ ثبتنام، ابتدا اطلاعات کاربر دریافت میشود؛ سپس سامانه اعتبار اطلاعات را بررسی میکند. اگر اطلاعات معتبر باشند، ثبتنام انجام میشود و در غیر این صورت، پیام خطا نمایش داده میشود. این دو مسیر با استفاده از نماد تصمیم و پیکانهای جداگانه مشخص میشوند.
یکی از مهمترین ویژگیهای فلوچارت، تبدیل توصیف متنی یک فرایند به ساختاری بصری است. این ویژگی میتواند فهم روابط میان مراحل را آسانتر کند و امکان بررسی ترتیب عملیات و تصمیمها را فراهم آورد.
بااینحال، فلوچارت جایگزین کامل شبهکد، زبان برنامهنویسی یا مستندات فنی نیست. در سامانههای بزرگ، نمودارهای بسیار مفصل ممکن است خوانایی خود را از دست بدهند و نگهداری آنها دشوار شود.[۱]
تعریف و ماهیت فلوچارت
فلوچارت نوعی نمودار جهتدار است که مراحل یک فرایند را با نمادهای مشخص نمایش میدهد.
هر نماد معمولاً نشاندهندهٔ یک عملیات، تصمیم، ورودی، خروجی یا نقطهٔ اتصال است و پیکانها ارتباط منطقی یا ترتیب اجرای مراحل را مشخص میکنند.
در طراحی الگوریتم، فلوچارت نشان میدهد که برنامه از کجا آغاز میشود، چه عملیاتی انجام میدهد، تحت چه شرایطی مسیر اجرا تغییر میکند و چه زمانی پایان مییابد.
در مدیریت سازمانی نیز فلوچارت میتواند مسیر گردش اسناد، رسیدگی به درخواستها یا انجام فعالیتهای اداری را نمایش دهد.
بنابراین، فلوچارت محدود به برنامهنویسی نیست و در هر حوزهای که توالی عملیات و تصمیمها اهمیت داشته باشد، کاربرد دارد.
واژهشناسی
واژهٔ انگلیسی Flowchart از دو جزء Flow به معنای جریان و Chart به معنای نمودار تشکیل شده است.
معادل «نمودار جریان» ترجمهای مستقیم از این اصطلاح است.
در متون فارسی، واژهٔ «فلوچارت» نیز بهصورت گسترده در آموزش برنامهنویسی و مهندسی استفاده میشود.
اصطلاح «روندنما» بر نمایش روند انجام فعالیتها تأکید دارد.
در برخی متون، «نمودار جریان کار» برای نمایش فرایندهای اداری و سازمانی به کار میرود؛ هرچند نمودار جریان کار و فلوچارت الگوریتمی در کاربرد تخصصی کاملاً یکسان نیستند.
تاریخچهٔ فلوچارت
پیشینهٔ نمایش گرافیکی فرایندها
استفاده از تصویر و نمودار برای نمایش مراحل فعالیتهای انسانی پیشینهای طولانی دارد.
در مهندسی و مدیریت، تلاش برای توصیف نظاممند فعالیتها با گسترش کارخانهها و سازمانهای صنعتی اهمیت بیشتری یافت.
در اواخر سدهٔ نوزدهم و اوایل سدهٔ بیستم، پژوهشگران مدیریت علمی و مهندسی صنایع به بررسی ترتیب فعالیتها، زمان انجام کار و روشهای کاهش اتلاف منابع پرداختند.
این پژوهشها زمینهٔ توسعهٔ نمودارهای فرایند را فراهم کردند.
نقش فرانک و لیلیان گیلبرت
فرانک گیلبرت و لیلیان گیلبرت از پیشگامان مطالعهٔ حرکت و زمان در مهندسی صنایع بودند.
آنها برای بررسی فعالیتهای کاری و شناسایی مراحل غیرضروری، از روشهای تصویری و نموداری استفاده کردند.
در سال ۱۹۲۱، اثری با عنوان «نمودارهای فرایند؛ نخستین گامها در یافتن بهترین روش انجام کار» در ارتباط با فعالیتهای آنان ارائه شد.
این اثر از پیشینههای مهم نمودارهای فرایند به شمار میرود.
البته نمودارهای اولیهٔ مهندسی صنایع با همهٔ قراردادهای فلوچارتهای رایانهای امروزی یکسان نبودند.
ورود فلوچارت به محاسبات رایانهای
در دهههای ۱۹۴۰ و ۱۹۵۰، با توسعهٔ رایانههای الکترونیکی، نیاز به نمایش مراحل محاسبات افزایش یافت.
پژوهشگران و مهندسان برای طراحی برنامهها و توصیف توالی عملیات رایانهای از نمودارهای جریان استفاده کردند.
جان فون نویمان و هرمان گلدستاین از چهرههای مهم تاریخ محاسبات اولیه بودند که آثارشان با شیوههای توصیف و سازماندهی برنامههای رایانهای ارتباط داشت.
در این دوره، فلوچارت به ابزاری برای طراحی برنامه پیش از تبدیل آن به دستورهای قابل اجرای ماشین تبدیل شد.
گسترش فلوچارت در دهههای ۱۹۵۰ و ۱۹۶۰
با گسترش رایانهها در سازمانهای دولتی، دانشگاهها و شرکتها، فلوچارت در آموزش و مستندسازی برنامهها رواج یافت.
در این دوره، برنامهنویسان برای نمایش ترتیب دستورها، تصمیمهای شرطی و حلقههای تکرار از نمودارهای جریان استفاده میکردند.
فلوچارت همچنین به ارتباط میان تحلیلگران سامانه و برنامهنویسان کمک میکرد.
استانداردسازی نمادها
با افزایش کاربرد نمودارهای جریان، ضرورت یکسانسازی نمادها مطرح شد.
استانداردهای مختلفی برای نمایش عملیات پردازش اطلاعات تدوین شدند.
استاندارد ISO 5807 با عنوان «پردازش اطلاعات ـ نمادهای مستندسازی و قراردادهای نمودارهای جریان داده، برنامه و سامانه» از مراجع شناختهشده در این حوزه است.
این استاندارد برای نمادها و قراردادهای نمایش فرایندهای پردازش اطلاعات چارچوبی ارائه میکند.
فلوچارت و برنامهنویسی ساختیافته
در دهههای ۱۹۶۰ و ۱۹۷۰، گسترش برنامهنویسی ساختیافته بر شیوهٔ طراحی و مستندسازی الگوریتمها تأثیر گذاشت.
پژوهشگرانی مانند ادسخر دایکسترا بر ضرورت کنترل پیچیدگی برنامهها و استفاده از ساختارهای روشن تأکید کردند.
در برنامهنویسی ساختیافته، توالی، انتخاب و تکرار از ساختارهای بنیادی کنترل جریان به شمار میروند.
این تحول موجب شد در آموزش و طراحی برنامهها، بر فلوچارتهایی با مسیرهای منطقی روشن و قابل پیگیری تأکید بیشتری شود.
فلوچارت در عصر نرمافزارهای گرافیکی
با توسعهٔ رایانههای شخصی و نرمافزارهای ترسیم نمودار، ایجاد و ویرایش فلوچارت آسانتر شد.
نرمافزارهایی مانند Microsoft Visio و ابزارهای تحت وب امکان ترسیم، جابهجایی و اتصال نمادها را فراهم کردند.
در دهههای اخیر، ابزارهای مشارکتی نیز امکان طراحی و اصلاح همزمان نمودارها را در اختیار گروههای کاری قرار دادهاند.
اهداف فلوچارت
هدف اصلی فلوچارت، نمایش روشن و قابل پیگیری مراحل یک فرایند است.
این هدف میتواند شامل طراحی الگوریتم، بررسی ترتیب عملیات، شناسایی تصمیمها، مستندسازی سامانه و آموزش مفاهیم محاسباتی باشد.
فلوچارت همچنین به شناسایی مسیرهای ناقص، عملیات تکراری و نقاط احتمالی بروز خطا کمک میکند.
در فعالیتهای سازمانی، نمایش بصری فرایند میتواند امکان گفتوگو دربارهٔ اصلاح روش انجام کار را فراهم سازد.
اجزای اصلی فلوچارت
فلوچارت از نمادهای هندسی و ارتباطات جهتدار تشکیل میشود.
هر نماد برای نمایش نوع مشخصی از فعالیت یا وضعیت به کار میرود.
اگرچه در ابزارها و استانداردهای مختلف تفاوتهایی وجود دارد، برخی نمادها بهصورت گسترده شناخته شدهاند.[۲]
نماد آغاز و پایان
نماد آغاز و پایان (Terminator) معمولاً بهشکل بیضی یا مستطیل با گوشههای کاملاً گرد نمایش داده میشود.
این نماد نقطهٔ شروع یا خاتمهٔ فرایند را مشخص میکند.
در یک فلوچارت ساده، معمولاً یک نقطهٔ آغاز وجود دارد؛ اما ممکن است فرایند چند مسیر پایان داشته باشد.
برای مثال، یک برنامه ممکن است در صورت دریافت دادهٔ نامعتبر خاتمه یابد یا پس از اجرای موفق عملیات به پایان برسد.
نماد فرایند
نماد فرایند (Process) معمولاً بهشکل مستطیل نمایش داده میشود.
این نماد نشاندهندهٔ انجام یک عملیات یا مرحلهٔ پردازشی است.
محاسبهٔ مجموع دو عدد، ثبت اطلاعات و تغییر مقدار یک متغیر از نمونههای عملیات فرایندی هستند.
برای مثال، عبارت «مجموع = عدد اول + عدد دوم» میتواند داخل یک مستطیل قرار گیرد.
نماد ورودی و خروجی
نماد ورودی و خروجی (Input/Output) معمولاً بهشکل متوازیالاضلاع نمایش داده میشود.
این نماد برای دریافت داده یا نمایش نتیجه به کار میرود.
برای مثال، «دریافت سن کاربر» یک عملیات ورودی و «نمایش پیام» یک عملیات خروجی است.
در فلوچارتهای الگوریتمی، تفکیک ورودی و خروجی از عملیات محاسباتی به فهم بهتر ساختار برنامه کمک میکند.
نماد تصمیم
نماد تصمیم (Decision) معمولاً بهشکل لوزی نمایش داده میشود.
این نماد برای بررسی یک شرط و انتخاب مسیر بعدی استفاده میشود.
برای مثال، شرط «آیا عدد بزرگتر از صفر است؟» میتواند در یک لوزی قرار گیرد.
در حالت معمول، دو مسیر با عنوانهای «بله» و «خیر» یا «درست» و «نادرست» از این نماد خارج میشوند.
برخی تصمیمها ممکن است بیش از دو حالت داشته باشند؛ در این صورت باید برچسب مسیرها بهگونهای باشد که نتیجهٔ هر حالت روشن شود.
پیکان جریان
پیکان جریان (Flowline) مسیر حرکت از یک مرحله به مرحلهٔ دیگر را نشان میدهد.
جهت پیکان مشخص میکند پس از اجرای یک عملیات، کدام مرحله دنبال میشود.
در بسیاری از نمودارها، جهت کلی جریان از بالا به پایین یا از چپ به راست است.
بااینحال، این جهتها قراردادهای رایج ترسیم هستند و الزام منطقی همهٔ نمودارها محسوب نمیشوند.
نماد اتصالدهنده
اتصالدهنده (Connector) برای ارتباط میان بخشهای جدا از هم در یک فلوچارت استفاده میشود.
این نماد میتواند از کشیدهشدن خطوط طولانی یا تقاطعهای متعدد جلوگیری کند.
اتصالدهندههای داخل صفحه معمولاً با شکل دایرهٔ کوچک نمایش داده میشوند.
برای ارتباط میان صفحههای مختلف نیز ممکن است از نمادهای متفاوت استفاده شود.
نماد زیرروال
زیرروال یا فرایند ازپیشتعریفشده (Predefined Process) معمولاً با مستطیلی دارای خطوط عمودی اضافی در دو طرف نمایش داده میشود.
این نماد نشان میدهد که یک فعالیت از مجموعهای از مراحل تشکیل شده است که جزئیات آن در جای دیگری تعریف شدهاند.
در برنامهنویسی، فراخوانی یک تابع یا زیرروال میتواند با این نماد نمایش داده شود.
نماد سند
نماد سند (Document) برای نمایش سند یا خروجی مستند به کار میرود.
این نماد معمولاً مستطیلی است که لبهٔ پایینی آن حالت موجدار دارد.
در فلوچارتهای اداری و سازمانی، این نماد میتواند نشاندهندهٔ تولید یا دریافت یک سند باشد.
نماد ذخیرهسازی داده
در برخی فلوچارتها، نماد استوانه برای نمایش پایگاه داده یا محل ذخیرهسازی اطلاعات استفاده میشود.
این نماد در نمودارهای سامانهای و برخی نمودارهای جریان کار رایج است.
باید توجه داشت که شکل دقیق نمادها ممکن است با توجه به استاندارد و نوع نمودار متفاوت باشد.
جدول نمادهای اصلی فلوچارت
نمادهای پرکاربرد فلوچارت را میتوان بهصورت زیر خلاصه کرد:
| نماد | شکل هندسی رایج | کاربرد |
|---|---|---|
| آغاز و پایان | بیضی یا مستطیل با گوشههای گرد | مشخصکردن شروع و خاتمهٔ فرایند |
| فرایند | مستطیل | نمایش عملیات و محاسبات |
| ورودی و خروجی | متوازیالاضلاع | دریافت داده یا نمایش نتیجه |
| تصمیم | لوزی | بررسی شرط و انتخاب مسیر |
| جریان | خط پیکاندار | نمایش ترتیب و جهت اجرا |
| اتصالدهنده | دایرهٔ کوچک | ارتباط میان بخشهای نمودار |
| زیرروال | مستطیل با دو خط عمودی اضافی | نمایش فرایند ازپیشتعریفشده |
| سند | مستطیل با لبهٔ پایینی موجدار | نمایش سند یا خروجی مستند |
| ذخیرهسازی داده | استوانه | نمایش پایگاه داده یا مخزن اطلاعات |
اصول ترسیم فلوچارت
ترسیم فلوچارت نیازمند رعایت قواعدی برای حفظ وضوح و خوانایی است.
این قواعد ممکن است در استانداردهای مختلف جزئیات متفاوتی داشته باشند، اما برخی اصول عمومی در بیشتر کاربردها مشترکاند.
تعیین نقطهٔ آغاز و پایان
پیش از ترسیم نمودار باید مشخص شود فرایند از چه مرحلهای آغاز میشود و در چه شرایطی پایان مییابد.
نبود نقطهٔ پایان روشن ممکن است بررسی رفتار الگوریتم را دشوار کند.
تعیین ترتیب عملیات
مراحل باید بر اساس ترتیب منطقی اجرا سازماندهی شوند.
برای مثال، در الگوریتم محاسبهٔ میانگین، دریافت دادهها باید پیش از انجام محاسبه قرار گیرد.
مشخصکردن تصمیمها
هر شرط باید بهصورت روشن بیان شود.
مسیرهای خروجی از نماد تصمیم نیز باید برچسب مناسب داشته باشند.
برای مثال، اگر شرط «آیا سن دستکم ۱۸ سال است؟» بررسی میشود، مسیرهای «بله» و «خیر» باید به مراحل مرتبط متصل شوند.
جلوگیری از تقاطعهای غیرضروری
وجود خطوط متقاطع فراوان میتواند خوانایی نمودار را کاهش دهد.
در چنین شرایطی میتوان ترتیب نمادها را تغییر داد یا از اتصالدهنده استفاده کرد.
پرهیز از جزئیات بیشازحد
فلوچارت باید متناسب با هدف طراحی شود.
اگر نمودار برای معرفی کلی یک سامانه تهیه میشود، نمایش همهٔ دستورهای جزئی برنامه ضروری نیست.
در مقابل، فلوچارت آموزشی یک الگوریتم ممکن است به نمایش دقیقتر مراحل محاسبات نیاز داشته باشد.
استفاده از نامگذاری روشن
متن داخل نمادها باید کوتاه، دقیق و قابل فهم باشد.
عبارتهایی مانند «بررسی اعتبار رمز عبور» یا «محاسبهٔ مجموع» معمولاً از عنوانهای مبهم مناسبتر هستند.
ساختارهای بنیادی کنترل جریان
در طراحی الگوریتم، سه ساختار بنیادی توالی، انتخاب و تکرار اهمیت دارند.
این ساختارها در فلوچارت با ترکیب نمادهای عملیات، تصمیم و پیکان نمایش داده میشوند.
ساختار توالی
توالی (Sequence) به اجرای عملیات بهترتیب مشخص اشاره دارد.
برای مثال، الگوریتمی ممکن است ابتدا دو عدد را دریافت کند، سپس مجموع آنها را محاسبه کند و در پایان نتیجه را نمایش دهد.
در فلوچارت، این مراحل با پیکانهای متوالی به یکدیگر متصل میشوند.
ساختار انتخاب
انتخاب (Selection) زمانی به کار میرود که مسیر اجرای الگوریتم به نتیجهٔ یک شرط بستگی داشته باشد.
ساختارهای شرطی مانند if و if-else در برنامهنویسی از نمونههای آن هستند.
در فلوچارت، شرط با نماد لوزی نمایش داده میشود.
ساختار تکرار
تکرار (Iteration) به اجرای چندبارهٔ مجموعهای از عملیات اشاره دارد.
حلقههای for و while از ساختارهای رایج تکرار در زبانهای برنامهنویسی هستند.
در فلوچارت، تکرار معمولاً با نماد تصمیم و پیکانی نمایش داده میشود که جریان اجرا را به مرحلهای پیشین بازمیگرداند.
فلوچارت محاسبهٔ مجموع دو عدد
یکی از مثالهای سادهٔ آموزشی، الگوریتم محاسبهٔ مجموع دو عدد است.
در این الگوریتم، ابتدا دو مقدار از کاربر دریافت میشوند.
سپس مجموع آنها محاسبه و نتیجه نمایش داده میشود.
نمایش متنی مراحل فلوچارت چنین است:
[آغاز] ↓ [دریافت عدد اول و عدد دوم] ↓ [مجموع = عدد اول + عدد دوم] ↓ [نمایش مجموع] ↓ [پایان]
در ترسیم استاندارد، آغاز و پایان با نماد مربوط، دریافت و نمایش داده با متوازیالاضلاع و عملیات جمع با مستطیل نشان داده میشوند.
فلوچارت تشخیص زوج یا فرد بودن عدد
برای تشخیص زوج یا فرد بودن یک عدد صحیح میتوان از باقیماندهٔ تقسیم آن بر عدد ۲ استفاده کرد.
اگر باقیمانده صفر باشد، عدد زوج است و در غیر این صورت فرد است.
نمایش متنی مسیرهای الگوریتم بهصورت زیر است:
آغاز ↓ دریافت عدد صحیح ↓ آیا باقیماندهٔ تقسیم عدد بر ۲ صفر است؟ ├── بله ← نمایش «عدد زوج است» └── خیر ← نمایش «عدد فرد است» ↓ پایان
در این مثال، نماد تصمیم موجب ایجاد دو مسیر اجرایی میشود که پس از نمایش نتیجه به پایان میرسند.
فلوچارت محاسبهٔ میانگین
در الگوریتم محاسبهٔ میانگین چند عدد، ابتدا تعداد دادهها مشخص میشود.
سپس مقدارها دریافت و مجموع آنها محاسبه میشود.
در پایان، مجموع بر تعداد دادهها تقسیم میشود.
اگر تعداد دادهها صفر باشد، تقسیم معتبر نیست و الگوریتم باید این وضعیت را مدیریت کند.
این مثال نشان میدهد که فلوچارت میتواند علاوه بر مسیر اصلی، شرایط خطا را نیز نمایش دهد.
فلوچارت یافتن بزرگترین عدد
برای یافتن بزرگترین عدد در یک مجموعه، میتوان ابتدا یکی از مقدارها را بهعنوان بزرگترین مقدار موقت در نظر گرفت.
سپس سایر مقدارها بهترتیب بررسی میشوند.
اگر مقدار جدید بزرگتر باشد، مقدار موقت بهروزرسانی میشود.
این فرایند تا پایان مجموعه ادامه پیدا میکند.
در فلوچارت، این الگوریتم با ترکیب ساختارهای تصمیم و تکرار نمایش داده میشود.
فلوچارت در طراحی الگوریتم
طراحی الگوریتم فرایند تعیین مراحل منطقی حل یک مسئله است.
فلوچارت میتواند پیش از نوشتن کد، ساختار الگوریتم را نمایش دهد.
این روش بهویژه در آموزش مقدماتی برنامهنویسی کاربرد دارد؛ زیرا دانشجو میتواند بدون وابستگی به دستورهای یک زبان خاص، منطق حل مسئله را بررسی کند.
برای مثال، الگوریتم مرتبسازی، جستوجو یا محاسبهٔ یک رابطهٔ ریاضی را میتوان ابتدا بهصورت فلوچارت توصیف کرد.
فلوچارت و برنامهنویسی
در برنامهنویسی رایانه، فلوچارت برای نمایش ترتیب اجرای دستورها و مسیرهای کنترلی استفاده میشود.
یک برنامه ممکن است شامل عملیات محاسباتی، شرطها، حلقهها و فراخوانی تابع باشد.
فلوچارت میتواند ارتباط میان این بخشها را نمایش دهد.
بااینحال، همهٔ جزئیات یک برنامهٔ پیچیده، از جمله مدیریت حافظه، همزمانی و رفتار رویدادمحور، بهسادگی در یک فلوچارت عمومی قابل نمایش نیستند.
فلوچارت و شبهکد
شبهکد (Pseudocode) روشی متنی برای توصیف مراحل یک الگوریتم است.
شبهکد معمولاً از عبارتهایی نزدیک به زبان طبیعی و ساختارهای رایج برنامهنویسی استفاده میکند.
در مقابل، فلوچارت از نمادهای گرافیکی و پیکانها بهره میبرد.
هر دو ابزار میتوانند مستقل از زبان برنامهنویسی مشخصی استفاده شوند.
فلوچارت برای مشاهدهٔ کلی مسیرهای اجرا مناسب است، درحالیکه شبهکد معمولاً برای بیان دقیقتر مراحل و ساختارهای تو در تو انعطاف بیشتری دارد.
فلوچارت و کد برنامه
کد برنامه مجموعهای از دستورهاست که بر اساس قواعد یک زبان برنامهنویسی نوشته میشود.
فلوچارت توصیفی بصری از منطق اجراست و بهخودیخود لزوماً قابل اجرای مستقیم نیست.
برخی ابزارهای آموزشی امکان تبدیل نمودارهای محدود و ساختیافته به کد را فراهم میکنند، اما این قابلیت به قواعد و امکانات همان ابزار بستگی دارد.
فلوچارت و نمودار جریان کنترل
نمودار جریان کنترل (Control Flow Graph) ساختاری در تحلیل برنامههاست که مسیرهای احتمالی انتقال کنترل میان بخشهای برنامه را نمایش میدهد.
این نمودار از نظر مفهوم با فلوچارت ارتباط دارد، اما معمولاً در تحلیل کامپایلر، آزمون نرمافزار و بررسی ساختار برنامه کاربرد تخصصیتری دارد.
در نمودار جریان کنترل، گرهها ممکن است نمایندهٔ بلوکهای پایهٔ برنامه باشند و یالها انتقال احتمالی کنترل را نشان دهند.
فلوچارت و نمودار جریان داده
نمودار جریان داده (Data Flow Diagram یا DFD) برای نمایش حرکت و تبدیل اطلاعات میان فرایندها، مخازن داده و موجودیتهای بیرونی استفاده میشود.
تفاوت اصلی آن با فلوچارت الگوریتمی در موضوع نمایش است.
فلوچارت معمولاً بر ترتیب اجرای عملیات و تصمیمها تأکید دارد.
در مقابل، نمودار جریان داده بر انتقال و پردازش اطلاعات تمرکز میکند و الزاماً ترتیب زمانی اجرای همهٔ مراحل را نمایش نمیدهد.
فلوچارت و UML
زبان مدلسازی یکپارچه (Unified Modeling Language یا UML) مجموعهای از قراردادهای مدلسازی برای توصیف ساختار و رفتار سامانههاست.
در UML، نمودار فعالیت (Activity Diagram) میتواند برای نمایش جریان فعالیتها و تصمیمها استفاده شود.
نمودار فعالیت با فلوچارت شباهتهایی دارد، اما از مجموعهای گستردهتر از مفاهیم و قواعد مدلسازی پشتیبانی میکند.
برای مثال، نمایش برخی فعالیتهای موازی و هماهنگی میان آنها در نمودار فعالیت بهصورت تخصصیتری تعریف شده است.[۳]
فلوچارت و BPMN
مدل و نمادگذاری فرایند کسبوکار (Business Process Model and Notation یا BPMN) استانداردی برای نمایش فرایندهای کسبوکار است.
BPMN از نمادهایی برای نمایش رویدادها، فعالیتها، دروازههای تصمیم، جریان پیام و نقشهای سازمانی استفاده میکند.
این استاندارد برای مدلسازی فرایندهای پیچیدهٔ سازمانی امکاناتی فراتر از فلوچارت ساده فراهم میکند.
مشخصات رسمی BPMN توسط Object Management Group منتشر شده است.[۴]
انواع فلوچارت
فلوچارتها را میتوان بر اساس هدف و موضوع به گروههای مختلفی تقسیم کرد.
این تقسیمبندیها در منابع آموزشی و حرفهای ممکن است متفاوت باشند.
فلوچارت برنامه
فلوچارت برنامه (Program Flowchart) مسیر اجرای عملیات یک برنامهٔ رایانهای را نمایش میدهد.
این نمودار معمولاً شامل ورودی، خروجی، محاسبه، تصمیم و تکرار است.
فلوچارت فرایند
فلوچارت فرایند (Process Flowchart) مراحل انجام یک فعالیت یا فرایند را نمایش میدهد.
این نوع نمودار در مهندسی صنایع، کنترل کیفیت و مدیریت عملیات کاربرد دارد.
فلوچارت سامانه
فلوچارت سامانه (System Flowchart) ارتباط میان بخشهای یک سامانه و جریان کلی عملیات یا اطلاعات را نمایش میدهد.
این نمودار ممکن است اجزایی مانند ورودی، پردازش، ذخیرهسازی و خروجی را نشان دهد.
فلوچارت گردش کار
فلوچارت گردش کار (Workflow Flowchart) مراحل انجام فعالیتها و انتقال مسئولیت میان اشخاص یا واحدهای سازمانی را نمایش میدهد.
برای مثال، مسیر بررسی، تأیید و بایگانی یک درخواست اداری را میتوان با این نوع نمودار نشان داد.
فلوچارت چندمسئولیتی
در برخی نمودارهای جریان کار، فعالیتها در بخشهایی جداگانه قرار میگیرند که هر بخش نمایندهٔ یک واحد یا مسئول است.
این نمودارها با عنوان نمودار مسیر شنا (Swimlane Diagram) نیز شناخته میشوند.
چنین ساختاری میتواند مسئولیت هر مرحله را روشن کند.
کاربرد فلوچارت در آموزش
فلوچارت در آموزش الگوریتم و برنامهنویسی از ابزارهای متداول است.
دانشجویان میتوانند با استفاده از نمادهای ساده، مفاهیمی مانند توالی، شرط و حلقه را بیاموزند.
این روش به تفکیک منطق مسئله از قواعد نحوی زبان برنامهنویسی کمک میکند.
بااینحال، آموزش فلوچارت باید با تمرین حل مسئله و درک دقیق رفتار الگوریتم همراه باشد.
کاربرد فلوچارت در مهندسی نرمافزار
در مهندسی نرمافزار، فلوچارت میتواند برای طراحی اولیهٔ فرایندها، توضیح منطق برنامه و مستندسازی بخشهایی از سامانه استفاده شود.
همچنین در بررسی خطاها و ارتباط میان اعضای گروه توسعه کاربرد دارد.
در پروژههای بزرگ، فلوچارت معمولاً در کنار ابزارهایی مانند نمودارهای UML، مستندات معماری و آزمونهای نرمافزاری به کار میرود.
کاربرد فلوچارت در تحلیل سامانهها
تحلیل سامانهها به بررسی نیازها، اجزا و روابط یک سامانه میپردازد.
فلوچارت میتواند برای نمایش مسیر انجام فعالیتها و شناسایی نقاط تصمیمگیری استفاده شود.
تحلیلگران ممکن است ابتدا فرایند موجود را ترسیم کنند و سپس نموداری از فرایند پیشنهادی تهیه کنند.
مقایسهٔ این دو نمودار میتواند به شناسایی مراحل غیرضروری یا تکراری کمک کند.
کاربرد فلوچارت در مهندسی صنایع
در مهندسی صنایع، فلوچارت برای بررسی مراحل تولید، انتقال مواد، کنترل کیفیت و سازماندهی فعالیتها کاربرد دارد.
نمایش توالی عملیات میتواند به شناسایی تأخیرها و نقاط ناکارآمدی کمک کند.
بااینحال، فلوچارت بهتنهایی اطلاعات کمی دربارهٔ زمان، هزینه یا ظرفیت هر مرحله ارائه نمیدهد؛ مگر آنکه این دادهها به نمودار افزوده شوند.
کاربرد فلوچارت در مدیریت سازمانی
در مدیریت سازمانی، فلوچارت برای نمایش گردش کار و فرایندهای تصمیمگیری استفاده میشود.
برای مثال، مراحل بررسی درخواست استخدام، تصویب بودجه یا رسیدگی به شکایت را میتوان در قالب نمودار جریان نمایش داد.
این نمودارها میتوانند به روشنشدن مسئولیتها و شناسایی مراحل تکراری کمک کنند.
کاربرد فلوچارت در کنترل کیفیت
در کنترل کیفیت، فلوچارت برای بررسی مراحل تولید یا ارائهٔ خدمت به کار میرود.
نمایش مراحل میتواند به شناسایی نقاطی کمک کند که احتمال خطا یا انحراف از معیار در آنها بیشتر است.
در برخی روشهای بهبود فرایند، فلوچارت در کنار ابزارهای آماری و نمودارهای علت و معلول استفاده میشود.
کاربرد فلوچارت در پزشکی
در پزشکی و مدیریت خدمات درمانی، نمودارهای جریان میتوانند مسیرهای تصمیمگیری یا مراحل ارائهٔ خدمت را نمایش دهند.
برای مثال، یک نمودار ممکن است مراحل پذیرش بیمار، ارزیابی اولیه و ارجاع به بخشهای درمانی را مشخص کند.
بااینحال، استفادهٔ بالینی از الگوریتمهای تصمیمگیری نیازمند اعتبار علمی، بهروزرسانی و تأیید تخصصی است.
سادگی ظاهری نمودار نباید موجب نادیدهگرفتن پیچیدگی تصمیمهای پزشکی شود.
کاربرد فلوچارت در آموزش و پژوهش
در فعالیتهای آموزشی و پژوهشی، فلوچارت میتواند مراحل اجرای یک مطالعه یا آزمایش را نمایش دهد.
برای مثال، مراحل انتخاب نمونه، گردآوری داده، پاکسازی اطلاعات و تحلیل آماری ممکن است در قالب نمودار جریان ارائه شوند.
این روش میتواند به شفافیت روش تحقیق و فهم بهتر ترتیب مراحل کمک کند.
کاربرد فلوچارت در تحلیل داده
در تحلیل داده، فلوچارت برای نمایش مراحل آمادهسازی و پردازش اطلاعات استفاده میشود.
یک فرایند تحلیلی ممکن است شامل دریافت داده، بررسی کیفیت، حذف خطاها، تبدیل متغیرها، اجرای تحلیل و ارائهٔ نتیجه باشد.
نمایش این مراحل بهصورت فلوچارت میتواند به مستندسازی و بازبینی فرایند کمک کند.
کاربرد فلوچارت در علم داده
در علم داده، فلوچارت میتواند چرخهٔ انجام پروژه را نمایش دهد.
این چرخه ممکن است شامل تعریف مسئله، گردآوری داده، آمادهسازی اطلاعات، مدلسازی، ارزیابی و ارائهٔ نتایج باشد.
در پروژههای پیچیده، فلوچارت معمولاً برای نمایش کلی فرایند مناسبتر از توصیف همهٔ جزئیات محاسباتی است.
کاربرد فلوچارت در هوش مصنوعی
در هوش مصنوعی، فلوچارت میتواند برای نمایش منطق تصمیمگیری، مسیر پردازش داده یا مراحل اجرای یک سامانه استفاده شود.
برای مثال، مراحل دریافت ورودی، پیشپردازش، اجرای مدل و بررسی خروجی را میتوان در قالب نمودار جریان نمایش داد.
اما فلوچارت ساده معمولاً قادر نیست همهٔ محاسبات داخلی یک شبکه عصبی مصنوعی را با جزئیات مناسب نمایش دهد.
کاربرد فلوچارت در پایگاه داده
در سامانههای مبتنی بر پایگاه داده، فلوچارت میتواند مراحل دریافت درخواست، اعتبارسنجی، اجرای عملیات و نمایش نتیجه را نشان دهد.
برای مثال، مسیر ثبت اطلاعات یک کاربر ممکن است شامل بررسی تکرارینبودن شناسه و سپس ذخیرهٔ رکورد باشد.
فلوچارت در این کاربرد منطق عملیات را نمایش میدهد و جایگزین مدلسازی ساختار پایگاه داده نیست.
فلوچارت و وبگاههای دانشنامهای
در سامانههای مدیریت محتوای دانشنامهای، فلوچارت میتواند برای نمایش مراحل ایجاد و انتشار مقاله استفاده شود.
برای مثال، فرایند انتشار یک مقاله ممکن است شامل آمادهسازی متن، بررسی منابع، ویراستاری، کنترل پیوندهای داخلی و انتشار باشد.
در یک نمودار جریان میتوان مسیر بازگشت مقاله برای اصلاح را نیز نمایش داد.
این روش به روشنشدن ترتیب مراحل و مسئولیتهای مربوط کمک میکند.
فلوچارت در مدیاویکی
مدیاویکی نرمافزاری برای ایجاد و مدیریت وبگاههای مشارکتی است.
در فعالیتهای مرتبط با مدیاویکی، فلوچارت میتواند برای مستندسازی فرایندهایی مانند ایجاد صفحه، بررسی ویرایش، مدیریت ردهها و رسیدگی به خطاهای فنی استفاده شود.
همچنین میتوان مسیر تصمیمگیری دربارهٔ یک تغییر فنی را با استفاده از نمادهای شرطی نمایش داد.
فلوچارت در این کاربرد ابزار مستندسازی و تحلیل است و جزء الزامی ساختار پایگاه دادهٔ مدیاویکی محسوب نمیشود.
کاربرد فلوچارت در ایرانپدیا
در دانشنامهٔ ایرانپدیا، فلوچارت میتواند برای مستندسازی مراحل نگارش، بررسی و انتشار مقالهها به کار رود.
برای مثال، فرایند پیشنهادی آمادهسازی یک مقالهٔ دانشنامهای میتواند شامل تعیین موضوع، گردآوری منابع، نگارش متن، بررسی اعتبار ارجاعها، افزودن جعبه اطلاعات، ایجاد پیوندهای داخلی و ردهبندی باشد.
اگر مقاله در مرحلهٔ بررسی منابع دارای نقص باشد، مسیر تصمیم میتواند آن را به مرحلهٔ اصلاح بازگرداند.
چنین نموداری میتواند به هماهنگی فعالیت نویسندگان و ویراستاران کمک کند.
این توضیح ناظر به کاربرد احتمالی فلوچارت در مدیریت فرایندهای دانشنامه است و به معنای وجود یک سامانهٔ رسمی فلوچارت در ایرانپدیا نیست.
ابزارهای ترسیم فلوچارت
فلوچارت را میتوان بهصورت دستی یا با استفاده از نرمافزارهای گرافیکی ترسیم کرد.
ابزارهای دیجیتال معمولاً امکاناتی مانند افزودن نماد، اتصال خودکار شکلها، تنظیم چیدمان و خروجی تصویری فراهم میکنند.
برخی ابزارها از همکاری گروهی و ذخیرهٔ نمودار در قالبهای قابل ویرایش نیز پشتیبانی میکنند.
Microsoft Visio
Microsoft Visio نرمافزاری برای ترسیم نمودارهای حرفهای است.
این نرمافزار از انواع نمودارهای جریان، نمودارهای سازمانی و برخی نمودارهای فنی پشتیبانی میکند.
diagrams.net
diagrams.net که با نام پیشین draw.io نیز شناخته میشود، ابزاری برای طراحی نمودارهای گوناگون از جمله فلوچارت است.
این ابزار امکان ایجاد و ویرایش نمودارهای جریان را فراهم میکند.
Lucidchart
Lucidchart ابزاری تحت وب برای ترسیم نمودار و همکاری گروهی است.
این ابزار از فلوچارت و گونههای مختلف نمودارهای سازمانی و فنی پشتیبانی میکند.[۲]
Mermaid
Mermaid ابزاری برای تعریف نمودارها با استفاده از توصیف متنی است.
در این روش، ساختار نمودار بهصورت دستورهای متنی نوشته میشود و سپس به نمایش گرافیکی تبدیل میشود.
این رویکرد در مستندسازی نرمافزار و برخی محیطهای توسعه کاربرد دارد.[۵]
Graphviz
Graphviz مجموعهای از ابزارهای ترسیم گراف است که امکان تولید نمودار از توصیف متنی را فراهم میکند.
این فناوری برای نمایش ساختارهای گرافی و برخی نمودارهای جریان قابل استفاده است.
فلوچارت و نمودارهای تولیدشده با متن
در برخی محیطهای نرمافزاری، نمودارها بهجای طراحی مستقیم با ماوس، از طریق متن تولید میشوند.
این روش میتواند برای نگهداری نمودارها در سامانههای کنترل نسخه و بررسی تغییرات مفید باشد.
بااینحال، پیچیدگی نمودار و محدودیتهای ابزار ممکن است بر کیفیت چیدمان خودکار تأثیر بگذارد.
مزایای فلوچارت
یکی از مهمترین مزایای فلوچارت، نمایش بصری مراحل یک فرایند است.
این روش میتواند فهم ترتیب عملیات و نقاط تصمیمگیری را آسانتر کند.
همچنین فلوچارت به ارتباط میان افراد با تخصصهای متفاوت کمک میکند؛ زیرا در بسیاری از موارد، خواندن یک نمودار ساده به آشنایی با زبان برنامهنویسی خاصی نیاز ندارد.
فلوچارت میتواند برای آموزش، طراحی اولیه، مستندسازی و بررسی خطاهای منطقی مفید باشد.
محدودیتهای فلوچارت
فلوچارت در نمایش فرایندهای بسیار بزرگ و پیچیده با محدودیت روبهروست.
افزایش تعداد نمادها و مسیرها ممکن است موجب دشواری خواندن نمودار شود.
همچنین نمایش جزئیات مربوط به پردازش همزمان، رفتار ناهمزمان، مدیریت استثناها و ساختارهای پیچیدهٔ داده در فلوچارت ساده دشوار است.
در چنین شرایطی، استفاده از نمودارهای تخصصی یا تقسیم فرایند به چند نمودار کوچکتر میتواند مناسبتر باشد.
مسئلهٔ پیچیدگی بصری
اگر تعداد زیادی از مسیرها در یک نمودار قرار گیرند، تشخیص ارتباط میان مراحل دشوار میشود.
این وضعیت ممکن است موجب شود فلوچارت بهجای سادهسازی مسئله، خود به منبع پیچیدگی تبدیل شود.
استفاده از زیرروالها و تقسیم نمودار به بخشهای منطقی میتواند به کاهش این مشکل کمک کند.
مسئلهٔ نگهداری و بهروزرسانی
در پروژههای نرمافزاری، منطق برنامه ممکن است بهطور مداوم تغییر کند.
اگر فلوچارت همزمان با تغییر برنامه اصلاح نشود، مستندات با رفتار واقعی سامانه ناسازگار خواهند شد.
ازاینرو، استفاده از فلوچارت در پروژههای عملی نیازمند تعیین روش نگهداری و بهروزرسانی آن است.
فلوچارت و آزمون نرمافزار
در آزمون نرمافزار، فلوچارت میتواند برای شناسایی مسیرهای مختلف اجرای برنامه استفاده شود.
برای مثال، یک شرط ممکن است دو مسیر متفاوت ایجاد کند که هر دو باید بررسی شوند.
در برنامههای پیچیدهتر، ترکیب شرطها و حلقهها تعداد مسیرهای ممکن را افزایش میدهد.
فلوچارت میتواند به طراحی آزمونها کمک کند، اما بهتنهایی اثباتکنندهٔ درستی برنامه نیست.
فلوچارت و اشکالزدایی
اشکالزدایی (Debugging) فرایند شناسایی و اصلاح خطاهای برنامه است.
در برخی موارد، مقایسهٔ مسیر اجرای واقعی با فلوچارت مورد انتظار میتواند به یافتن خطا کمک کند.
برای مثال، اگر برنامه در شرایط خاص وارد حلقهای بیپایان شود، بررسی مسیر بازگشت در نمودار ممکن است منشأ مشکل را روشن کند.
فلوچارت و اثبات درستی الگوریتم
درستی یک الگوریتم به این معناست که برای ورودیهای مجاز، مطابق شرایط تعریفشده عمل کند.
فلوچارت میتواند ساختار الگوریتم را نمایش دهد، اما صرف وجود نمودار به معنای اثبات درستی آن نیست.
برای بررسی رسمی درستی ممکن است از روشهایی مانند ناورداهای حلقه، استدلال منطقی و آزمونهای نظاممند استفاده شود.
فلوچارت و پیچیدگی الگوریتم
پیچیدگی الگوریتم به بررسی منابع موردنیاز برای اجرای الگوریتم، مانند زمان و حافظه، اشاره دارد.
فلوچارت میتواند وجود حلقهها و مسیرهای تصمیم را آشکار کند.
بااینحال، تعیین پیچیدگی زمانی یا فضایی معمولاً نیازمند تحلیل دقیق تعداد عملیات و رفتار الگوریتم نسبت به اندازهٔ ورودی است.
بنابراین، شکل ظاهری فلوچارت بهتنهایی معیار قابل اعتمادی برای تعیین کارایی الگوریتم نیست.
فلوچارت و دسترسپذیری اطلاعات
نمودارهای جریان به دلیل ماهیت بصری خود ممکن است برای برخی کاربران، از جمله افراد دارای محدودیت بینایی، بهسادگی قابل استفاده نباشند.
برای افزایش دسترسپذیری میتوان توضیح متنی مراحل، برچسبهای روشن و ساختارهای جایگزین ارائه کرد.
در محیطهای آموزشی و وب، ترکیب نمودار با توصیف متنی میتواند دسترسی به محتوا را بهبود بخشد.
فلوچارت و تصمیمگیری انسانی
فلوچارت میتواند مسیرهای تصمیمگیری را روشن کند، اما همهٔ تصمیمهای انسانی به شرطهای سادهٔ بله یا خیر محدود نمیشوند.
در حوزههایی مانند مدیریت، پزشکی و حقوق، تصمیمگیری ممکن است به تفسیر، قضاوت تخصصی و بررسی شرایط پیچیده نیاز داشته باشد.
بنابراین، فلوچارت باید متناسب با ماهیت مسئله استفاده شود و نباید پیچیدگیهای واقعی را بهطور گمراهکننده سادهسازی کند.
فلوچارت و شفافیت سازمانی
نمایش مراحل یک فرایند اداری در قالب فلوچارت میتواند به روشنشدن ترتیب تصمیمها و مسئولیتها کمک کند.
این روش ممکن است برای شناسایی مراحل غیرضروری و نقاط تأخیر مفید باشد.
بااینحال، شفافیت واقعی فقط با ترسیم نمودار حاصل نمیشود و به دسترسی به اطلاعات معتبر، اجرای قواعد و پاسخگویی مسئولان نیز وابسته است.
فلوچارت در عصر هوش مصنوعی
با گسترش ابزارهای هوش مصنوعی مولد، امکان تولید پیشنویس نمودارهای جریان از توصیف متنی افزایش یافته است.
چنین ابزارهایی میتوانند به تهیهٔ نمودار اولیه کمک کنند.
اما نمودار تولیدشده ممکن است دارای مسیرهای ناقص، شرطهای نادرست یا برداشت اشتباه از فرایند باشد.
ازاینرو، بررسی انسانی و اعتبارسنجی منطق نمودار همچنان ضروری است.
آیندهٔ فلوچارت
فلوچارت با وجود توسعهٔ زبانهای برنامهنویسی و ابزارهای پیشرفتهٔ مدلسازی، همچنان در آموزش و مستندسازی جایگاه دارد.
گسترش ابزارهای مشارکتی، نمودارهای مبتنی بر متن و سامانههای تولید خودکار نمودار میتواند شیوهٔ استفاده از آن را تغییر دهد.
درعینحال، سادگی، خوانایی و توانایی نمایش بصری تصمیمها از ویژگیهایی است که کاربرد فلوچارت را حفظ کرده است.
احتمالاً در آینده نیز فلوچارت در کنار روشهای تخصصیتر مدلسازی برای توضیح فرایندها و الگوریتمها استفاده خواهد شد.
جمعبندی
فلوچارت یا نمودار جریان، ابزاری گرافیکی برای نمایش مراحل یک الگوریتم، فرایند یا سامانه است.
این روش با استفاده از نمادهای قراردادی و پیکانهای جهتدار، ترتیب عملیات، نقاط تصمیمگیری و مسیرهای احتمالی اجرا را مشخص میکند.
پیشینهٔ فلوچارت با توسعهٔ نمودارهای فرایند در مهندسی صنایع ارتباط دارد و در نیمهٔ دوم سدهٔ بیستم با گسترش رایانهها به یکی از ابزارهای مهم آموزش و طراحی برنامه تبدیل شد.
نمادهای آغاز و پایان، فرایند، ورودی و خروجی، تصمیم و پیکان جریان از اجزای اصلی آن هستند.
فلوچارت در طراحی الگوریتم، برنامهنویسی، مهندسی نرمافزار، تحلیل سامانهها، مدیریت سازمانی، کنترل کیفیت، آموزش و پژوهش کاربرد دارد.
این ابزار میتواند به روشنشدن منطق فعالیتها و شناسایی خطاهای احتمالی کمک کند، اما در نمایش سامانههای بسیار پیچیده محدودیتهایی دارد.
در مجموع، فلوچارت یکی از روشهای بنیادی بازنمایی بصری فرایندهاست که با وجود تحول فناوریهای نرمافزاری، همچنان برای آموزش، ارتباط فنی و مستندسازی کاربرد دارد.
جستارهای وابسته
- علوم رایانه
- الگوریتم
- طراحی الگوریتم
- برنامهنویسی رایانه
- شبهکد
- ساختار داده
- مهندسی نرمافزار
- تحلیل سامانهها
- برنامهنویسی ساختیافته
- منطق ریاضی
- نمودار جریان داده
- زبان مدلسازی یکپارچه
- مهندسی صنایع
- مدیریت فرایندهای کسبوکار
- آزمون نرمافزار
- اشکالزدایی
- پیچیدگی الگوریتم
- پایگاه داده
- تحلیل داده
- علم داده
- هوش مصنوعی
- هوش مصنوعی مولد
- مدیاویکی
منابع
- ↑ IBM، «فلوچارت چیست؟»، معرفی نمودار جریان، نمادها و کاربردهای آن.
- ↑ ۲٫۰ ۲٫۱ Lucidchart، «راهنمای فلوچارت»، معرفی نمادهای رایج و اصول ترسیم نمودار جریان.
- ↑ Object Management Group، مشخصات رسمی UML، نسخهٔ ۲٫۵٫۱.
- ↑ Object Management Group، مشخصات رسمی BPMN، نسخهٔ ۲٫۰٫۲.
- ↑ مستندات رسمی Mermaid، «دستور زبان فلوچارت».
```