در این مطلب به آموزش BPMN به مرور Subprocess میپردازیم. Subprocess یا زیرفرآیند، فعالیتهایی هستند که با شکستن آنها به اجزای کوچکتر میتوان سطوح جزئیتری از فرآیند را مشاهده کرد. به عبارت دیگر هر زیرفرآیند تشکیل شده از مجموعهای از وظایف (Task) که برای اجرای یک فرآیند کامل مورد استفاده قرار میگیرد.
Subprocess در BPMN، زیرمجموعهای از انواع وظایف معمول است که برای سادگی به صورت مجزا در نمودار فرآیند قرار گرفتهاند. وقتی طراح، فرآیندی را با نمودارهای کوچکتر یا همان Subprocess تقسیم میکند در واقع امکان درک فرآیند اصلی را برای ذینفعان افزایش میدهد. به زبان سادهتر فهم فرآیند راحتتر میشود.
هر نمودار فرآیند در BPMN نشاندهنده دنبالهای از فعالیتها (Activities) است. هنگامی که یک فرآیند، فعالیتهای زیادی را شامل میشود، بهتر است آن را به زیرفرآیندها تجزیه کرد. Subprocess سطوح بالایی نمودار را تشکیل میدهند و هسته اصلی فرآیند را نمایش میدهند. این روش به شما امکان میدهد بدون داشتن جزئیات بیش از حد، یک نمودار منطقی و خواندنی ایجاد کنید.
در تصویر زیر مثالی از فرآیند جذب نیرو که در سطح بالا ترسیم شده است را مشاهده میکنید. این نحوه ترسیم باعث میشود که ذینفعان فرآیند بدون آنکه درگیر جزئیات هر قسمت (گزینش نیرو، انعقاد قرارداد، آموزشهای بدو استخدام) شوند، درک درستی از فرآیند جذب نیرو داشته باشند.
دلایل استفاده از Subprocess در نمودارهای BPMN
- برای شکستن فرآیندها به اجزاء کوچکتر تا خوانایی و قابلیت درک فرآیندها افزایش پیدا کند.
- برای نمایش و توصیف بهتر از تکرار یک فرآیند. مانند استفاده از مارکر Loop برای نمایش تکرار یک زیرفرآیند.
انواع Subprocess در BPMN به نام Embedded و Reusable
– Embedded Sub-Process
این نوع زیرفرآیند به عنوان بخشی از یک فرآیند بزرگتر است. از آنجا که این زیرفرآیند کاملاً در داخل فرآیند اصلی تعریف میشود با عنوان Embedded نامگذاری میشود.
این نوع زیرفرآیند بخشی از فرآیند پدر است و بسته به نوع پیادهسازی آن توسط نرمافزارهای BPMS مستقیماً به دادههای فرآیند پدر دسترسی دارد. عنوان زیرفرآیند به صورت پیشفرض به زیرفرآیند Embedded اشاره دارد.
از زیرفرآیند Embedded زمانی استفاده میشود که بیش از یک وظیفه با هدف مشترک وجود داشته باشد که انجامدهندهی آنها (Swim Lane مربوط به آنها) یکی باشد. بنابراین Embedded Subprocess دارای Pool و Lane نیست و فقط در داخل Pool تعریف میشود.
نکته مهم در رابطه با این نوع زیرفرآیند این است که این زیرفرآیند همیشه با رخداد شروع None شروع میشوند. رخداد شروع آن نمیتواند از انواعی مثل Message و Timer باشد. همچنین از آنجایی که زیرفرآیند Embedded متعلق به فرآیند پدر خود است، به تنهایی قابل اجرا نمیباشد و قابل استفاده مجدد در فرآیندهای دیگر هم نیست.
برای نمایش Embedded Subprocess از همان نماد Task استفاده میشود.
درخواست دموی نرم افزار BPMS دیدگاه
– Collapsed Sub-Process
زیرفرآیندهایی که دارای علامت + باشند Collapsed Subprocess (زیرفرآیند بسته شده) نامیده میشود. جزئیات این زیرفرآیند قابل رویت نیست ولی با کلیک بر روی علامت + زیرفرآیند به Expanded Sub-Process (زیرفرآیند بازشده) تبدیل میشود. این زیرفرآیند با نماد زیر نمایش داده میشود.
Expanded Sub-Process: زیرفرآیندهایی که از نظر اندازه بزرگتر از فعالیتهای دیگر هستند و گاه دارای علامت – باشند، Expanded Subprocess (زیرفرآیند باز شده) نامیده میشوند. جزئیات داخلی این زیرفرآیند برای مخاطب نمایش داده میشود. در این حالت تغییرات اعمال شده در زیرفرآیند مستقیماً در مدل نمایش داده میشود. این زیرفرآیند با نماد زیر نمایش داده میشود.
در تصویر زیر نمونهای از استفاده از Subprocess در زبان مدلسازی BPMN را در ساده شده فرآیند جذب نیرو مشاهده میکنید.
Reusable Sub-Process: این نوع Subprocess تحت عناوین فرآیند قابل استفاده مجدد، فرآیند مستقل، فرآیند قابل فراخوانی یا Call Activity نیز نامگذاری میشوند. فرآیندهایی هستند که به صورت مجزا تعریف و مدلسازی میشوند و در فرآیندهای دیگر به عنوان زیرفرآیند فراخوانی میشوند. بنابراین این نوع از زیرفرآیند کاملاً مستقل از فرآیند پدر عمل میکنند.
Call Ativity یا Reusable Subprocess در BPMN قابلیت استفاده در سایر فرآیندها را دارند ولی به فرآیند خاصی تعلق ندارند. این فرآیندها میتوانند قابلیت استفاده مستقل در سازمان را داشته باشند و هم میتوانند همزمان در چندین فرآیند فراخوانی شوند.
Call Activity را به نماد ذیل نمایش میدهند.
فعالیت فراخوانی (Call Activity) در BPMN
فرآیند ساده شده درخواست وام از یک تعاونی را در نظر بگیرد. این فرایند با ثبت درخواست توسط کارمند شروع میشود. در صورتی که کارمند عضو تعاونی باشد درخواستش برای بررسی به تعاونی ارسال میشود. درخواست کارمند بررسی شده و در صورت عدم تأیید، نتیجه به اطلاع او رسیده میشود و در شرایطی که درخواستش تأیید شده باشد، تعاونی وام را به کارمند اختصاص میدهد. در شرایطی که کارمند درخواستکننده عضو تعاونی نباشد نیاز است مدارک ایشان در تعاونی تکمیل شود و پس از آن درخواستش برای بررسی به تعاونی ارسال شود.
در صورتی که این فرآیند ساده شده را به صورت BPMN ترسیم کند به شکل زیر خواهد بود.
همانطور که در تصویر مشاهده میشود فعالیت تکمیل مدارک تعاونی به صورت یک فعالیت فراخوانی (Call Activity) ترسیم شده است. این به آن معنا است که در این قسمت از فرآیند درخواست وام یک فرآیند مستقل دیگر اجرا میشود. برای مشاهده این فرآیند که قابلیت اجرا به صورت مجزا و مستقل را هم دارد، در نرمافزار BPMS دیدگاه که از Call Activity پشتیبانی کند، میتوان روی گزینه مشاهده در قسمت فرآیند مرتبط کلیک کرد تا زیرفرآیند مربوطه را مشاهده کرد که به صورت زیر ترسیم شده است.
مطالب مرتبط با معرفی نمادهای BPMN:
آموزش مفاهیم Send Task و Receive Task در BPMN
Script Task و Service Task در BPMN