چکیده متن

همانطور که در مطالب گذشته گفته شد،  BPMN مجموعه ایی از نمودارهای ساخت‌یافته است که از عناصر گرافیکی تشکیل‌شده‌اند تا به راحتی قابل‌ درک برای طراحان فرآیند (Business Analysts) و توسعه‌دهندگان (Developers) باشد. همچنین به طور جداگانه به بررسی مزایا و کاربردهای BPMN پرداختیم. در مطلب سری قبل نیز چهار عنصر اصلی BPMN و هر یک از اجزای آن را معرفی نمودیم. در این مقاله و مقاله‌های آتی به تعریف و تفصیل هر یک خواهیم پرداخت.

اشتراک گذاری

آموزش گام به گام BPMN 2.0 – سری دوم


همانطور که در مطالب گذشته گفته شد،  BPMN مجموعه ایی از نمودارهای ساخت‌یافته است که از عناصر گرافیکی تشکیل‌شده‌اند تا به راحتی قابل‌ درک برای طراحان فرآیند (Business Analysts) و توسعه‌دهندگان (Developers) باشد. همچنین به طور جداگانه به بررسی مزایا و کاربردهای BPMN پرداختیم. در مطلب سری قبل نیز چهار عنصر اصلی BPMN و هر یک از اجزای آن را معرفی نمودیم. در این مقاله و مقاله‌های آتی به تعریف و تفصیل هر یک خواهیم پرداخت.

Event (رویداد)

پیشامدی که در طی یک فرآیند کسب و کار روی می‌دهد و بر جریان فرآیند تأثیر می‌گذارد. این رخدادها می‌تواند در ابتدا، انتها و یا در بین فرآیند باشد و منتج به نتایجی می‌شوند که می‌تواند باعث شروع یک فرآیند، خاتمه یا تغییر مسیر آن گردد.

با استفاده از برخی علائم و نشانه‌ها که در داخل این عناصر به نمایش در می آید امکان انتقال اطلاعات بیشتر فراهم می‌آید. به عنوان نمونه در داخل یک رخداد می‌توان از نشانه‌های پیغام، تایمر، قانون و … استفاده نمود تا وضعیت مربوطه را نشان داد.

بر حسب موقعیت فرآیند، به سه دسته Start، Intermediate  و End تقسیم می‌شوند. رخدادهای Start و اغلب رخدادهای  Intermediate دلیل یا محرک خاصی برای اجرا شدن دارند.

برای فرآیندهای پیچیده هم باید نقطه شروع و پایان داشت.

Eventها به شکل دایره هستند و نوع کناره آن، نوع آن را مشخص می کند. که در شکل زیر نمایش داده شده‌است.

Event ها خود شامل دو نوعcatching  و throwing می‌باشند.

۱- Catching event

رویدادهای دریافت‌کننده که منتظر راه‌انداز یا اتفاقی هستندCatching events . رویدادهایی هستند که وظیفه و هدف آن‌ها از پیش تعریف شده است. به عبارت دیگر، این رویدادها نقاطی هستند که نتیجه عملی که قبلا انجام شده است را دریافت نموده و از آن برای ادامه فرآیند و یا شروع فرآیند دیگری استفاده می‌کنند. در واقع این رویدادها در طول فرآیند تنها یکبار فعال می‎‌شوند و پس از آن از مدل کنار گذاشته می‌شوند. از آنجایی که این رویدادها می‌توانند به عنوان یک نقطه مهم در فرآیند بر روی کل مدل تاثیر بگذارند، از این رو دارای نقش مهمی در مدل‌های فرآیندی می‌باشند، به گونه‌ای که Catching events  می‌توانند منجر به :

  • شروع یک فرآیند شوند.
  • ادامه یک فرآیند و یا مسیری از یک فرآیند شوند.
  • اجرای یک فعالیت شوند و یا یک sub-process را لغو نمایند.
  • استفاده از مسیر دیگری در فرآیند شوند در حالیکه Task و sub-process در حال اجرا باشند.

۲- Throwing event

رویدادهای پرتاب‌کننده (تحریک‌کننده) که راه‌انداز رویدادهای Catching می باشند.  Throwing events رویدادهایی هستند که بر خلاف Catching events به عنوان نقاطی از فرآیندکه در آن یک محصول (خروجی) تولید شده و حال این محصول بایستی به قسمت دیگری از همان فرآیند و یا یک فرآیند دیگر ارسال شود، استفاده می‌شوند. در واقع Throwing events نقش ارسال‌کننده و Catching events  نقش دریافت‌کننده را در این پروسه بازی می‌کنند. در واقع می‌توان گفت این رویدادها تا زمانی فعال هستند که Catching events متناظر با آنها هنوز فعال نشده است و به محض فعال شدن Catching events  متناظرشان، این رویدادها غیر فعال می‌شوند Throwing events .می‌توانند به عنوان :

  • هدفی تحقق‌یافته در طول فرآیند استفاده شوند که نتیجه را برای قسمت دیگری ارسال می‌کنند.
  • هدفی تحقق یافته در پایان فرآیند استفاده شوند که در این حالت نیز نتیجه بدست آمده از اتمام فرآیند را برای قسمت و یا فرآیند دیگری ارسال می‌کنند.

انواع Event ها :

 

  • Message یا پیام

بیشتر فرآیندها نیاز به ارتباطات دارند که این ارتباطات در BPMN می‌تواند از طریق رویداد message نشان داده شود. شما می‌توانید این رویداد را از طریق پاکت کوچکی که درون آن گنجانده شده تشخیص دهید. معنی message  در BPMN تنها به چیزهایی مانند نامه، ایمیل و یا تماس محدود نمی‌شود بلکه هر اقدامی که به آدرس خاصی اشاره داشته‌باشد و یا حاوی اطلاعاتی برای یک آدرس خاص باشد message در نظر گرفته می‌شود.

 

  • Timer یا زمان‌سنج

رویدادی که بر اثر فرا رسیدن زمانی خاص فعال می‌شود. این رویداد با نماد ساعت نمایش داده می شود.

از آنجایی که زمان بدون توجه به این موضوع که ما و یا فرآیند قصد انجام چه کاری را داریم در گذر می‌باشد، از این رویدادهای timer تنها می‌توانند به عنوان) catching شروع) و یا intermediate event استفاده شوند. شما می‌توانید با ضمیمه کردن یک timer event به یک فعالیت خاصیتی شبیه شمارش معکوس در آن ایجاد نمایید که در مدل‌های BPMN از این خاصیت به مراتب استفاده می‌شود. در این حالت شما می‌توانید یک محدودیت زمانی برای حد بالای زمان اجرای فعالیت تعریف نمایید.

 

  • Error یا خطا

آیا فرآیندهای شما بطور کامل بدون خطا اجرا می‌شوند؟ اگر جواب شما به این سوال منفی باشد، شما می‌توانید خطاهای بالقوه در مدلتان را شناسایی کنید تا در جهت برطرف نمودن آنها قدم بردارید و یا به عنوان بخشی از پروسه تشدید مدل‌سازی بیشتر به آن توجه نمایید. در BPMN، رویدادهای error بوسیله نماد فلش نشان داده می‌شوند. خصوصیات BPMN مشخص نکرده‌است که یک error ممکن است چه چیزهایی را شامل شود؛ به همین دلیل شما به عنوان سازنده مدل، بایستی تصمیم بگیرید که در چه جاهایی از آن استفاده نمایید. رویداد error  یکی از مهمترین رویدادهای BPMN می‌باشد که اگر قرار باشد به عنوان یک رویداد catching استفاده شود (این جمله بدین معناست که اگر خطایی در طول اجرای یک فرآیند وجود داشته باشد)، رویداد error  بایستی آن را در همان حین اجرا کنترل و برطرف نماید؛ اما اگر قرار باشد به عنوان یک رویداد throwing  استفاده شود، در این حالت تنها می‌تواند در پایان مسیر مدل شود و این بدان معناست که اجرای فرآیند با شکست همراه شده‌است.

 

  • Conditional یا شرط

گاهی اوقات ما فقط می‌خواهیم یک فرآیند تحت شرایط خاصی شروع و یا ادامه پیدا کند. در اینجا هر چیزی می‌تواند به عنوان شرط درنظر گرفته‌شود و ماهیت شرایط مستقل از نوع فرآیند می‌باشد و این باعث می‌شود که رویداد condition نیز مانند رویداد timer تنها بتواند در قالب یک catching event استفاده شود. از این رو فرآیندی که خروجی‌اش باعث ادامه و یا شروع فرآیند دیگری می‌شود نمی‌تواند به یک رویداد condition ختم شود.

 

  • Signal یا سیگنال

رویداد Signal بسیار شبیه رویداد message می‌باشد و در جاهایی که رویداد message می‌تواند استفاده شود، این رویداد نیز بکار گرفته می‌شود که نماد این رویداد یک مثلث می‎‌باشد. در واقع تفاوت اصلی بین رویدادهای message و Signal این می‌باشد که message همیشه به یک گیرنده خاص آدرس داده می‌شود (برای مثال یک ایمیل آدرس دریافت‌کننده ایمیل را شامل می‌شود و یا یک تماس تلفنی با شماره‌گیری یک شماره خاص شروع می‌شود و مثال‌هایی از این قبیل). یک Signal بیشتر شبیه یک تبلیغ در روزنامه و یا یک تلویزیون تجاری است. در واقع Signal برای آدرس و یا نفر خاصی ارسال نمی‌شود و هرکسی می‌تواند دریافت‌کننده آن باشد و اگر بخواهد می‌تواند نسبت به آن واکنش نشان دهد.

 

  • Link یا پیوند

از بین رویدادهای بکار رفته شده در BPMN، رویداد link یکی از موارد خاص به شمار می رود و هیچ ارتباطی با محتوای فرآیند ندارد اما روند نمودار فرآیند را می تواند تسهیل ببخشد.

 

  • Compensation یا جبران خسارت

بعضی وقت‌ها ممکن است در فرآیند ما فعالیتی اجرا شود که گاهی اوقات نیاز به لغو آن تحت شرایط خاصی باشد.

در این رابطه می توان مثال هایی نظیر موارد زیر بیان نمود:

  • رزرو بلیط هواپیما یا قطار
  • رزرو کردن یک ماشین کرایه‌ای
  • شارژ کردن یک کارت اعتباری
  • راه‌اندازی یک ارائه دهنده خدمات

در رابطه با رویداد compensation قوانین خاصی وجود دارد که در ادامه به آنها اشاره شده‌است:

Throwing compensations ها به فرآیندهای خود ارجاع داده می شوند ، از این رو خود رویداد می‌تواند در درون Pool موثر باشد. این موضوع نشان می‌دهد که چگونه این نوع رویداد با throwing message event  متفاوت است.

یک رویداد compensation ضمیمه شده تنها در صورتی که فعالیتی که به آن ضمیمه شده به طور کامل و با موفقیت اجرا شده باشد و فرآیند منجر به اصلاح شود ، می‌تواند رخ دهد و این در حالیست که انواع رویدادهای ضمیمه شده دیگر تنها در صورتی می‌توانند رخ بدهند که فعالیتی که بر روی آن ضمیمه شده‌اند فعال شود.

رویدادهای compensation ضمیمه شده از طریق وابستگی‌های مجازی به compensation tasks متصل می‌شوند و برای این اتصال نیازی به جریان‌های توالی ندارند. به همین دلیل BPMN بر روی این موضوع کهcompensation ها قابلیت انجام کارهایی فراتر از یک جریان فرآیندی معمولی را دارند تاکید دارد.

 

  • Multiple یا چندگانه

ما می‌توانیم از رویدادهای Multiple به منظور خلاصه کردن چند رویداد جداگانه در یک نماد استفاده نماییم.

– Parallel

رویداد parallel به منظور تکمیل نمودن رویداد multiple در BPMN 2.0 اضافه شده است. در حالیکه یک رویداد catching multiple به محض وقوع یکی از رویدادهایی را که شامل می‌شود اتفاق می‌افتد اما رویداد parallel  تا زمانی که کل رویدادهای وارده به آن فعال نشوند رخ نمی‌دهد و در بیشتر مواقع به عنوان یک catching event  از آن استفاده می‌شود.

 

  • Escalation یا تشدید

در BPMN 2.0 رویدادی تحت عنوان escalation اضافه شده‌است که عمدتا روابط بین فرآیند اصلی و زیر فرآیندهای را نشان می‌دهد.

 

  • Cancel یا لغو

شما می توانید از رویداد cancel تنها در زمینه‌های تراکنشی استفاده نمایید.

 

در مطلب آتی به تعریف و تشریح هریک از Start ، Intermediate  و Endها خواهیم پرداخت.

 

تنظیم و گردآوری: دنیا برزگر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *