BPMN خلاصه Business Process Model and Notation یک نمایش گرافیکی برای ترسیم فرایندهای کسب و کار در قالب مدل فرآیندی میباشد.
BPMN در ابتدا توسط BPMI ( مخفف Business Process Management Initiative) توسعه پیدا کرد و از سال 2005 توسط Object Management Group (OMG) نگهداری میشود. در حقیقت بعد از ادغام BPMI در OMG این جابجایی مسئولیت اتفاق افتاد.
BPMN 2.0 در سال 2011 منتشر شد و BPMN 2.0.2 در سال 2014 توسط OMG منتشر شد و از آن زمان تا کنون نسخه جدیدی از این زبان مدلسازی فرایند کسب و کار منتشر نشده است.
بررسی اجمالی BPMN
BPMN استانداردی برای مدلسازی فرایندهای کسب و کار است و در واقع یک زبان گرافیکی برای نمایش فرایندهای کسب و کار در مدلهای کسب و کار است. برخی آن را شبیه نمودارهای فعالیت در UML میدانند اما باید بدانیم که خیلی با هم فرق دارند. BPMN هم برای مخاطبان فنی و هم برای متخصصان کسب و کار طراحی شده است. یعنی در عین اینکه میتواند فرایندها را به نحوی مدل کند که کارشناسان کسب و کار از آن سر در بیاورند، این قابلیت را دارد که متخصصان فنی هم بتوانند با استفاده از این زبان مدلسازی فرایندهای بسیار پیچیده را مدلسازی کنند.
BPMN بر اساس فناوری اطلاعات توسعه پیدا کرده است و این قابلیت را دارد که توسط زیرساختها و ابزارهای فناوری اطلاعات اجرا شوند. یعنی این قابلیت است که فرایندی که توسط BPMN ترسیم شده است را با ابزارهای فناوری اطلاعات مانند BPMS به صورت اجرایی و مکانیزه درآورد. Business Process Execution Language (BPEL) یکی از اصلیترین ابزار فناوری برای اجرای مد های BPMN میباشد.
استانداری برای همه
BPMN با این رویکرد طراحی شده است که برای همه ذینفعان یک کسب و کار، از جمله تحلیلگران کسب و کار (Business Analysts)، متخصصان فنی حوزههای مختلف و مدیران کسب و کار قابل درک باشد. بنابراین BPMN یک زبان مشترک است تا افراد مختلف در یک کسب و کار را برای رسیدن به یک مقصد و معنای مشترک کمک کند و از شکافهای ارتباطی و سوء برداشتهای مختلف در بررسی فرایندهای کسب و کار جلوگیری کند.
BPMN یکی از چند استاندارد و زبان مدلسازی است که شما میتوانید در منابع مختلف به آن رجوع کنید. هر چند این تنوع میتواند گزینههای روی میز را برای انتخاب ابزار کار زیاد کند اما افرادی هم هستند که ترجیحشان این است که یک زبان مدلسازی که نقاط قوت همه گزینهها را داشته باشد و نقاط ضعفش از همه کمتر باشد را انتخاب کنند. BPMN گزینه انتخابی این گروه است.
محدوده BPMN
BPMN قرار است که از مفاهیم فرایندهای قابل اجرا در سازمانها و کسب و کارها پشتیبانی کند. حوزههای غیر فرایندی خارج از محدوده توانایی BPMN است. از BPMN نمیتوان انتظار داشت که در طراحی ساختار سازمانی، شکست فعالیتهای یک پروژه، طراحی مدل دادهای به شما کمک کند.
باید بدانیم باوجود اینکه BPMN از پیام (Message) و ارتباطات و مصنوعات داده (Data Artifacts) پشتیبانی میکند، اما قرار نیست که یک نمودارد جریان داده (Data Flow Diagram) باشد.
عناصر BPMN
مدلهای BPMN از تعدادی نماد ساخته شدهاند که درک آنها برای متخصصان حوزه کسب و کار و توسعهدهندگان فناوری اطلاعات ساده میباشد. درواقع BPMN از چهار دسته عنصر اصلی شناخته شده است.
عناصر جریان (Flow objects)
رویدادها (Events)، فعالیتها (Activities) و درگاهها (Gateways)
عناصر جریان (Connecting objects)
جریان توالی (Sequence Flow)، جریان پیام (Message Flow)، ارتباط (Association)
Swim lanes
استخر (Pool) و مسیر (lane)
مصنوعات (Artifacts)
Data object, Group, Annotation
این چهار دسته نماد این امکان را فراهم می کند که مدلهای ساده فرایندهای کسب و کار را ترسیم کنید. همچنین این چهار دسته انواع جزئیتری دارند که هم باعث میشوند که نمودارها قابل درکتر شوند و هم اینکه مدلهای پیچیدهتری از فرایندهای کسب و کار ترسیم کرد.
رویداد (Event) در BPMN
رویدادها با یک دایره نشان داده میشود و نشان دهنده چیزی است که اتفاق میافتد. نمادهای درون دایره، نوع رویداد را نشان میدهد. به عنوان مثال پاکت نامه نشان دهندهی پیام، ساعت نشان دهنده زمان میباشد.همچنین رویدادها از یک نگاه دیگر بر دو نوع هستند. یک نوع دریافت کننده (Catching) مانند رویدادی که پیام را دریافت میکند. یک نوع پرتاب کننده (Throwing) مانند رویدادی که یک پیام را ارسال میکند.
شروع رویداد (Start Event)
به عنوان یک محرک برای شروع فرایند عمل میکند. با یک دایره با یک حاشیه باریک نشان داده میشود و فقط میتواند از نوع دریافت کننده (Catch) باشد.
رویداد میانی (Intermediate Event)
نشان دهنده اتفاقی است که در میانه فرایند یعنی بین رویدادهای شروع و پایان اتفاق میافتد. با یک دایره با حاشیه دوتایی نشان داده میشود و میتواند از نوع پرتاب کننده (Throwing) یا دریافت کننده (Catching) باشد. ارسال و دریافت پیام مثال خوبی از این این نوع رویداد میانی است.
رویداد پایانی (End Event)
رویداد پایانی، انتهای یک فرایند یا نتیجه آن را نشان میدهد. با یک دایره با حاشیه ضخیم یا پررنگ نشان داده میشود و فقط می تواند پرتاب کننده (Throwing) باشد.
فعالیت (Activity) در BPMN
یک فعالیت با یک مستطیل گوشه گرد نشان داده میشود و نوع کاری که باید انجام شود را توصیف میکند. فعالیت یک اصطلاح عمومی برای کاری است که در یک فرایند اتفاق میافتد. فعالیتها در BPMN انواع مختلفی دارد که به آنها اشاره میکنیم
وظیفه (Task)
یک Task در زبان مدلسازی BPMN نشان دهنده یک واحد کاری است که قابل شکستن به اجزاء کوچکتری نیست. یعنی اگر هم تقسیم شود آن اجزاء کوچکتر به تنهایی معنا و ارزشی برای فرایند تولید نمیکنند. وظیفه در واقع یک فعالیت اتمی است. یک وظیفه پایینترین سطح فعالیت است که در نمودار فرایند نشان داده میشود.
زیرفرایند (Sub-process)
زیرفرایند در BPMN مجموعهای از Task است که در یک فرایند برای پنهان کردن یا نمایش سطوح جزئیات یک فرایند استفاده میشود.این مجموعه وظایف یک هدف مشخص و مرتبط در یک فرایند دارند. نحوه نمایش زیرفرایند به این صورت است که اگر قرار باشد جزئیات درون آن پنهان باشد مانند یک وظیفه به شکل یک مستطیل، اما به همراه یک علامت جمع (+) در قسمت پایین نمایش داده میشود. در حالتی که قرار است جزئیات درون آن نمایش داده شود، زیرفرایند تبدیل به یک مستطیل بزرگ میشود. آنقدر که همه اجزاء درون آن قابل نمایش باشند.
زیرفرایندهای BPMN انواع دیگر هم دارند:
زیرفرایند مبتنی بر رخداد (Event Base Sub-process )
زیرفرایند تراکنشی (Transaction Sub-process)
فعالیت فراخوانی (Call Activity)
درگاه (Gateway) در BPMN
یک درگاه در BPMN با شکل لوزی نشان داده میشود و بسته به شرایط استفاده میتواند باعث شود که فرایند در مسیرهای مختلف جریان یابد، یا مسیرهای مختلف فرایند را ادغام کند. در واقع BPMN با استفاده از رفتار درگاه مسیر فرایند را مشخص میکند.
درگاه انحصاری (Exclusive Gateway)
این درگاه در BPMN با یک علامت لوزی که درون آن یک علامت ضربدر است نمایش داده میشود. البته بعضی از منابع و ابزارها از علامت لوزی توخالی هم برای نمایش درگاه انحصاری استفاده میکنند.
وقتی فرایند به یک درگاه انحصاری میرسد، بر اساس اطلاعات فرایند مسیر حرکت خود را مشخص میکند. در واقع از هردرگاه انحصاری چند مسیر خارج شده است که هر کدام توسط یک شرط کنترل میشود. شرطها روی اطلاعات فرایند تعریف میشوند. به همین دلیل است که به این نوع درگاه، درگاه انحصاری مبتنی بر اطلاعات (Data Base Exclusive Gateway) هم گفته میشود. نکته مهم در این درگاه این است که فرایند فقط و فقط از یک مسیر پس از درگاه عبور میکند.
تمام موارد بالا برای شرایطی بود که درگاه انحصاری در حالت واگرا استفاده شده بود. یعنی یک ورودی و چند خروجی. اگر از همین درگاه در حالت همگرا استفاده شود، یعنی چند ورودی و یک خروجی، این درگاه هیچ رفتار خاصی انجام نمیدهد و فقط مسیر فرایند را هدایت میکند.
پس چرا از درگاه انحصاری در حالت همگرا استفاده میشود؟
درگاه موازی (Parallel Gateway)
درگاه موازی در BPMN با یک علامت لوزی که درون آن یک علامت جمع است، نمایش داده میشود. در حالت واگرا، از این درگاه برای ایجاد مسیرهای موازی استفاده میشود. این مسیرها بدون کنترل و ارزیابی هیچ شریطی بوجود میآیند. فرایند وقتی به یک درگاه موازی واگرا میرسد به تعداد خروجیهای درگاه، مسیر موازی ایجاد میکند.
اگر درگاه موازی به صورت همگرا مورد استفاده قرار بگیرد، به این صورت رفتار میکند که به ازاء تمام مسیرهای ورودی منتظر توکن میماند. پس از دریافت همه آن توکنها مسیر پس از درگاه فعال میشود.
درگاه جامع (Inclusive Gateway)
این درگاه در BPMN با یک علامت لوزی که درون آن یک علامت دایره است نمایش داده میشود. این درگاه رفتاری مانند درگاه انحصاری دارد با این تفاوت که ممکن است چند شرط و درنتیجه چند خروجی از این درگاه فعال شود.
در حالت واگرا، درگاه جامع منتظر تما توکنها فعال میماند. پس از دریافت همه آن توکنها مسیر پس از درگاه فعال میشود.
درگاه انحصاری مبتنی بر رخداد (Exclusive Event Based Gateway)
این درگاه در BPMN رفتاری شبیه انتظار برای یک رخداد را دارد. بعد از این درگاه چند رویداد از نوع دریافت کننده وجود دارد. وقتی فرایند به این درگاه میرسد، منتظر به وقوع پیوستن یکی از این رخداد میماند. پس از فعال شدن یکی از این رخدادها، فرایند از مسیر رخداد فعال شده ادامه مییابد.
درگاه پیچیده (Complex Gateway)
در BPMN برای مدلسازی رفتارهای پیچیده در درگاهها از این نوع درگاه استفاده میشد.
ارتباطات (Connections) در BPMN
المانهای BPMN در یک مدل با استفاده از ارتباطات به هم متصل میشوند سه نوع ارتباط در مدلهای BPMN وجود دارد.
جریان توالی (Sequence Flow)
یک Sequence Flow در مدلهای BPMN با یک خط ثابت و نوک پیکان نشان داده میشود و نشان میدهد که فعالیتها به چه ترتیبی انجام میشوند. جریان توالی ممکن است در شروع خود یک نماد لوزی نیز داشته باشد، که نشاندهنده یک جراین شرطی میباشد. اگر بعد از درگاه روی یک جریان یک خط مورب باشد به این معنا است که اگر هیچ شرط درگاه محقق نشد، فرایند از این مسیر پیشفرض حرکت کند.
جریان پیام (Message Flow)
BPMN برای نمایش یک جریان پیام از یک خط چین، یک دایره باز در ابتدا و یک نوک پیکان باز در انتها استفاده میکند. این ارتباط به ما میگوید که یک پیام از یک فرایند به یک فرایند دیگر منتقل میشود. یک جریان پیام هرگز نمیتواند برای اتصال فعالیتها یا رویدادها در یک فرایند استفاده شود.
Association
یک Association در زبان مدلسازی BPMN با یک خط نقطه چین نشان داده میشد. از این نوع ارتبا برای مرتبط کردن یک مصنوع (Artifact) یا متن به یک شیء جریان استفاده میشود و میتواند با استفاده از یک پیکان باز (به سمت مصنوع برای نمایش یک نتیجه، از مصنوع برای نشان دادن یک ورودی، و هر دو برای نشان دادن خوانده شدن و بهروزرسانی آن) جهت را نشان دهد.
Swim lanes
استخر (Pool)
در BPMN برای نمایش یک فرایند، محدوده یک سازمان از Pool استفاده میشود. یک Pool شامل یک یا چند مسیر (lane) است (مانند یک استخر واقعی). استفاده از Pool میتوان به این صورت باشد که جزئیات داخل آن نمایش داده شود یا اینکه جزئیات آن از دید مخاطب پنهان باشد.
مسیر (Lane)
Lane در BPMN برای سازماندهی و طبقهبندی فعالیتهای درون یک استخر بر اساس عملکرد یا نقش استفاده میشود و بهصورت مستطیلی که عرض یا ارتفاع استخر را تشکیل میدهد به تصویر میآید.