در قسمت دوم آموزش شماتیک به بررسی بلوک دیاگرام و چگونگی رسم آن برای مدارهای الکترونیکی پرداختیم. در این قسمت، قصد داریم درباره فلوچارتها صحبت کنیم. پس تا پایان سیسوگ را همراهی کنید.
بلوک دیاگرام میتواند عملکرد مدارهای الکترونیکی را توصیف کند، اما در دنیای کامپیوتر، گاهی از یک شکل دیگر از رسم دیاگرام برای تصویرسازی عملکرد یک برنامه استفاده میشود. این سیستم با نام فلوچارتینگ شناخته میشود.
فلوچارتها (Flowcharts) بهعنوان ابزارهای بصری برای نمایش فرایندها، مراحل و جریان کار، تاریخچهای طولانی دارند که به اوایل قرن بیستم بازمیگردد. ایده اولیه فلوچارت به تلاش برای بهبود بهرهوری صنعتی و مدیریت فرایندهای پیچیده مربوط میشود. در دهه 1920، فرانک و لیلیان گیلبرت (Frank & Lillian Gilbreth) مهندسان صنعتی آمریکایی، از نمودارهایی برای تحلیل و بهینهسازی حرکات انسانی در تولید استفاده کردند. این روشها بعدها به طراحی فلوچارتها برای نمایش فرآیندها تکامل یافتند.
در سال 1947، انجمن ملی استانداردهای آمریکا (ANSI) اولین استانداردها را برای نمادهای فلوچارت معرفی کرد. این استانداردها با هدف یکپارچهسازی نحوه ترسیم و تفسیر فلوچارتها ارائه شدند. با توسعه علوم کامپیوتر در دهه 1950 و 1960، فلوچارتها به ابزار اصلی برای طراحی الگوریتمها و برنامههای رایانهای تبدیل شدند. برنامهنویسان از فلوچارت برای نمایش منطقی کدها و جریان دادهها در سیستمها بهره میبردند.
در دهههای بعدی، با ظهور نرمافزارهای رایانهای برای طراحی فلوچارت، استفاده از این ابزار گسترش بیشتری پیدا کرد. اکنون فلوچارتها نهتنها در برنامهنویسی، بلکه در مدیریت پروژهها، مهندسی سیستمها، آموزش و تحلیل فرایندهای کسبوکار به کار میروند. استانداردهای بینالمللی مانند BPMN (مدلسازی فرایند کسبوکار) و UML (مدلسازی یکپارچه) ابزارهای پیشرفتهتری را برای نمایش فرایندها فراهم کردهاند.
بهطورکلی، فلوچارتها به دلیل سادگی در نمایش جریانها و فرایندها، همچنان یکی از ابزارهای محبوب برای تحلیل و طراحی سیستمها و فرایندهای پیچیده در حوزههای مختلف به شمار میآیند.
فلوچارت یک بلوک دیاگرام را شبیهسازی میکند، به جز بخشهایی که شامل نمادهای یک برنامه کامپیوتری میباشند. همچنین، فلوچارتها را می توان شیوه ای ناملموس از نمایش یک سیستم دانست، در حالی که مدارهای الکترونیکی که روشی ملموس تر به حساب میآیند.
یک فلوچارت نمایش گرافیکی مسیرهای منطقی را که کامپیوتر در حین اجرای یک برنامه خاص طی میکند، نمایش می دهد. معمولاً فلوچارتها بر اساس ویژگیهای پایه یک سیستم طراحی میشوند و برای استفاده در سیستمهای کامپیوتری، تغییرات موردنیاز روی آنها اعمال میشود.
شکل 1 فلوچارت یک برنامه را نشان می دهد. همانطور که در این شکل مشاهده میکنید، فلوچارت ساختار گرافیکی برنامه و رابطه بین مراحل و مسیرها را نشان میدهد.
هنگامی که به دلیل بزرگ بودن سیستم، کنترل جریان در مسیرهای مختلف پیچیده میشود، یک فلوچارت خوب میتواند به برنامه نویس کمک کند تا همه چیز را مرتب کند. فلوچارت میتواند مانند یک ابزار تحلیلی عمل کند؛ یعنی مشکلات برنامه را شناسایی و به طراحی برنامه کمک کند. فلوچارتها برای افراد دیگری که در آینده میخواهند برنامه را بررسی و درک کنند، مفید می باشند.
رسم فلوچارت برای سیستم زمان و حوصلهی زیادی میطلبد. همچنین برای گاها برای ایجاد تغییر کوچکی در یک فلوچارت بایستی کل فلوچارت از اول نوشته شود. برخی از دوستان برنامه نویس به این دلایل معمولا از رسم فلوچارت فراری هستند! اما برای سایر افراد می تواند کمک شایانی به درک مدار کند. یک فلوچارت، میتواند کاربردهای زیادی داشته باشد.
برای اینکه بتوانیم برنامهها را بهتر درک کنیم، از فلوچارت ها استفاده میکنیم به همین دلیل فلوچارتها دارای علائم یکسانی هستند و در رسم آنها از نمادهای استانداردی استفاده میشود که رایجترینهای آنها در شکل 2 نشان داده شده اند.
در فلوچارتها، از نمادهای استاندارد برای نمایش مراحل مختلف یک فرایند استفاده میشود. در ادامه، هر یک از نمادهای رایج فلوچارت به همراه توضیح آورده شده است:
کاربرد:
این نماد برای نشاندادن نقطه شروع یا پایان یک فرایند استفاده میشود.
توضیح:
در ابتدای فرایند، معمولاً با کلمه “Start” یا “Begin” داخل آن مشخص میشود.
در پایان فرایند، با کلمه “End” یا “Stop” نمایش داده میشود.
کاربرد:
برای نمایش عملیاتها، وظایف یا اقدامات خاصی که در فرایند انجام میشود، به کار میرود.
توضیح:
بهعنوانمثال، محاسبه، تخصیص مقدار یا انجام یک عملیات خاص در این نماد نشان داده میشود.
متن داخل آن توضیحی مختصر درباره آن عملیات ارائه میدهد.
کاربرد:
برای نمایش نقاط تصمیمگیری در فرایندها استفاده میشود.
توضیح:
دارای دو یا چند مسیر خروجی است که پاسخهای بله (Yes) یا خیر (No) را نشان میدهند.
این مسیرها نشان میدهند که فرایند به کدام مرحله بعدی هدایت میشود.
کاربرد:
برای اتصال نمادها و نمایش مسیر جریان اطلاعات یا تصمیمها به کار میرود.
توضیح:
جهت فلش نشان میدهد که فرایند به چه ترتیبی پیش میرود.
فلشها در هدایت گرافیکی مسیرهای پیچیده بسیار مهم هستند.
کاربرد:
برای نمایش دادههای ورودی (Input) یا خروجی (Output) استفاده میشود.
توضیح:
ورودی میتواند شامل دریافت داده از کاربر یا سیستم باشد.
خروجی شامل نمایش نتایج یا چاپ دادهها است.
کاربرد:
در فرایندهای طولانی، اگر نیاز به اتصال بخشهای مختلف فلوچارت وجود داشته باشد، از این نماد استفاده میشود.
توضیح:
زمانی که فلوچارت به چند بخش تقسیم شود، این نماد بهعنوان راهنما برای ادامه مسیر عمل میکند.
نماد پنجضلعی (Pentagon) در فلوچارتها بهعنوان نقطه تأخیر یا تغییرات برنامه (Off-page Connection) شناخته میشود.
کاربرد:
برای نشاندادن ادامه فرایند در صفحهای دیگر یا انتقال به بخشی دیگر از فلوچارت که روی یک صفحه قرار ندارد، به کار میرود.
زمانی استفاده میشود که فلوچارت بسیار بزرگ باشد و نیاز به تقسیم به چند بخش یا صفحه داشته باشد.
توضیح:
در داخل این نماد، معمولاً یک شماره یا نام درج میشود تا با نماد مشابه در صفحه دیگر ارتباط داشته باشد.
این نماد برای سازماندهی بهتر فرایندهای طولانی و پیچیده به کار میرود و از بههمریختگی و پیچیدگی در طراحی جلوگیری میکند.
این نماد بهصورت یک ششضلعی افقی یا مستطیل با خطوط دوگانه در طرفین نمایش داده میشود.
کاربرد:
نشاندهنده بخشهایی از کد یا فرایند است که بهصورت جداگانه تعریف شدهاند و در قسمتهای مختلف برنامه یا فرایند قابل فراخوانی هستند.
برای بخشهایی که در چند نقطه از فرایند مورداستفاده قرار میگیرند (مانند یک تابع ریاضی یا یک گزارشگیری)، میتوان این نماد را به کار برد.
برای اشاره به الگوریتمها یا توابعی که قبلاً طراحی شدهاند و نیاز به توضیح مجدد ندارند.
توضیح:
درون این نماد معمولاً نام یا توضیحی کوتاه درباره فرایند یا زیرروال نوشته میشود.
زمانی که به این نماد میرسیم، جریان فرایند به بخش دیگری که حاوی توضیح دقیقتر این زیرروال است، ارجاع داده میشود.
در فلوچارتها، جهت انجام فرایندها از بالابهپایین و از چپ به راست میباشد. همچنین، نوک پیکان روی خطوط جهت جریان را نشان میدهد. در فلوچارتها فقط در صورتی میتوان فلشها را حذف کرد که جهت جریانها مشخص باشد. شکل 3 فلوچارت مربوط به یک برنامه را نشان می دهد که کارت های پانچ شده را کپی می کند و در همان لحظه دیتاها را روی هر کارت چاپ می کند.
قبلاً در دهه 1970 میلادی از این کارتهای پانچ شده برای واردکردن برنامهها استفاده میشد.
اکنون میخواهیم جریان برنامه را در شکل 3 بررسی کنیم. برنامه از باکس بیضی شکل “Start” که در بالا قرار دارد، شروع می شود و به سمت پایین ادامه پیدا می کند. در اولین باکس در پایین باکس Start، برنامه یک کارت را می خواند. سپس برنامه، محتویات کارت (دیتا) را پانچ می کند و دیتا را به پرینتر می فرستد. سپس برنامه در امتداد خط چین به سمت بالا باز می گردد و کارت بعدی را می خواند. دایره های علامت گذاری شده با حرف A نشان دهنده نقاط ورودی (inflow) و خروجی (outflow) هستند. در این مورد، آنها اضافی هستند، اما آنها در فلوچارت های پیچیده، می توانند مفید باشند.
در یک فلوچارت پیچیده، ممکن است چندین نماد دیگر به جز آنهایی که در شکل 2 آمده است، وجود داشته باشد.
بهطورکلی، باکسهای بیضیشکل، نقاط شروع و پایان برنامه را نشان میدهند و باکسهای مستطیلی شامل عملیاتهای محاسباتی هستند. دستورالعملهای ورودی و خروجی در قالب تراپزوئیدهای معکوس قرار میگیرند. اگر بخواهیم برنامهای را که کسی قبلاً نوشته است، در قالب یک فلوچارت بزرگتر نشان دهیم، لزوماً نیازی به رسم فلوچارت برای برنامه داخلی نداریم. بهجای آن، میتوانیم کل برنامه را بهعنوان یک ششضلعی فشرده نشان دهیم. در رسم فلوچارتها، باکسهای مربوط به تصمیمگیری، به شکل لوزی هستند.
باکس پنجضلعی بخشی از برنامه را نشان میدهد که خودش میتواند تغییر کند. همچنین، یک دایره کوچک نقطهی تقاطع پردازش را مشخص میکند. یک نقطه در برنامه می تواند به چندین مکان برود. یک باکس کوچک پنج ضلعی، نشان می دهد که یک صفحه از فلوچارت به کجا وصل می شود، البته اگر کل فلوچارت بیش از یک صفحه داشته باشد.
بین نقاط اتصال میانی و نقاط اتصال آف پیج با اعداد و حروف علامتگذاری شده است که به خوانندگان این امکان را میدهد تا متوجه شوند که همه نمادها با همان کاراکتر داخلشان به معنای متصلشدن به یکدیگر هستند. همچنین، فلشها جهت جریان را نشان میدهند.
شکل 3 بازگشت به فلوچارت برای کپی کارت های پانچ شده را نشان می دهد. فرض کنید می خواهید برنامه کارت پانچینگ را طوری تغییر دهید که کامپیوتر کارت های خالی را رد کند و فقط آن کارت هایی که دارای چند سوراخ هستند را کپی کند؛ زیرا کامپیوتر در مورد هر کارت تصمیم می گیرد و شما باید یک بلوک تصمیم را در فلوچارت قرار دهید. شکل 4 نتیجه را نشان می دهد.
شکل 4 فرآیند مشابهی با شکل 3 نشان می دهد، به جز باکس تصمیم. در این شکل، برنامه با باکس بیضی شکل “Start” از بالا شروع می شود و سپس به باکس بعدی یعنی “Read a card” می رود. سپس اگر برنامه به باکس تصمیم با نماد ” Card blank” برود، برنامه به اتصال خود ادامه می دهد و برای خواندن کارت بعدی باید به باکس بالایی که دارای علامت A است، برگردید.
اما اگر برنامه به باکس تصمیمگیری نرود، در دستورالعمل سختافزار (اجزای فیزیکی کامپیوتر)، برنامه دستور میدهد که یک کارت تکراری پانچ و محتویات آن پرینت شود. سپس برنامه به باکس دایرهایشکل با علامت A یعنی نقطه شروع باز میگردد.
شکل 4 یک فلوچارت ساده است که فرایندی را نشان می دهد که فقط از دستگاه های ورودی (inflow) و خروجی (outflow) استفاده می کند و هیچ گونه محاسباتی انجام نمی دهد. بیش تر برنامه ها و فلوچارت ها دارای فرایندهای پیچیده تری هستند.
در زمینه میکروکامپیوترها از انواع مختلفی از دیاگرامها استفاده میشود که با نرمافزار (سیستمعاملها و برنامهها) بیشتر از سختافزار (قطعات فیزیکی) سروکار دارند. از دیدگاه الکترونیک، در دنیای کامپیوتر دیاگرامهای عملکردی (دیاگرامهای فانکشنال) معمولاً بیشتر از دیاگرامهای شماتیک کاربرد دارند. همچنین، بلوک دیاگرامها میتوانند عملکرد دستگاهها را بهصورت کلی نشان دهند، اما روشهای نگهداری و تعمیرات سختافزار نیازمند نقشههای شماتیک دقیقی است.
کامپیوترها از جدیدترین پیشرفتهای حال حاضر در اجزای الکترونیکی بهره میبرند و از این نظر نسبتاً ساده هستند، بهخصوص اگر تمام کارهایی را که میتوانند انجام دهند در نظر بگیرید. هر چند، از نظر دیدگاه الکترونیک، تا آنجایی که به دیاگرامهای شماتیک مربوط میشود، محاسبات بسیار پیچیده هستند. حتی ابتداییترین کامپیوتر نیز به صفحات زیادی از شماتیک نیاز دارد.
بلوک دیاگرام میتواند به شما در درک کلی عملکرد مدارهای الکترونیکی کمک کند. ترسیم بلوک دیاگرام برای مدارهای الکترونیکی، کار راحتی است و فقط نیاز به تکهای کاغذ، یک ابزار علامتگذاری و یک استرِیت اج (Straight Edge) یا یک برنامه کامپیوتری گرافیکی دارد.
در مقابل، دیاگرامهای شماتیک به ابزارهای بیشتری نیاز دارند و در برخی موارد، رسم آنها ممکن است ها ساعت ها طول بکشد تا در نهایت بتوان دیاگرامی رسم کرد که افراد بتوانند به راحتی آن را بخوانند و تفسیر کنند.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.