❝BPMN مخفف عبارت Business Process Model & Notation است به معنی مجموعهای از علائم و استانداردها برای مدلسازی فرآیندهای کسب و کار اطلاق میشود که با استفاده از این زبان نمادین مدلسازی می توانید فرآیندهای کسب و کار خود را مدلسازی کنیم. این فرایندهای مدلسازی شده می توانند توسط ابزارهای BPMS به منظور تحلیل،شبیه سازی، اجرا و … بکارگرفته شوند.
BPMN استانداردی برای مدلسازی و نمایش فرآیندهای کسب و کار است و ابزار اصلی در تکنولوژی مدیریت فعالیت کسب و کار محسوب میشود. در واقع میتوان گفت مزیت اصلی استفاده از تکنولوژی BPM، وجود زبان استانداردی به نام BPMN است. هدف اصلی در شکلگیری BPMN ، طراحی نمادهایی است که قابلدرک برای تمامی کابران فرایند (از تحلیلگران فرایند کاری (Business Analysts) تا کاربران فنی (Technical Developers) و حتی کاربرانی که پایش و کنترل فرایند را بر عهدهدارند) باشد. در حقیقت BPMN مانند پلی، فاصله بین طراحی فرایند و عملیاتی (اجرایی شدن) فرایند را از میان برمیدارد.
مدیریت فرآیندهای کسب و کار مستلزم توصیف دقیق فرایندها و مستندسازی آنها است. روشهای متفاوتی برای انجام این کار وجود دارد که راحتترین آنها استفاده از متن و جدول برای توصیف فرایندها و بیان ویژگیهای آنها است. از نمودارهای گرافیکی نیز برای نمایش یک فرایند استفاده میشود . این نمودارها غالباً از اشکال هندسی و پیکان برای ترسیم جریان فرایند استفاده میکنند ولی توصیف مشخص و دقیقی از جزئیات فرایند ارائه نمیدهند. برای همین نمادهای مشخصی برای فرایندها تعریف شد، نمادهایی که قادر به توصیف وجوه مختلف فرایند هستند. این نمادها (Notation) زبان استاندارد توصیف فرایندها هستند و هر کسی با این زبان استاندارد آشنایی داشته باشد میتواند به راحتی مدل طراحیشده توسط هر فرد دیگری را درک و تفسیر نماید، ممکن است فرایندها بر مبنای این مدلها، مکانیزه (سیستماتیک) شوند و یا رفتار هر بخش از فرایند بر روی این مدلها شبیهسازی شود. برخی از این مدلها بستری را برای متخصصان سیستم فراهم میکنند تا بر آن اساس فرایندها را اجرایی و پشتیبانی نمایند. این مدل ها میبایست حاوی ساختار استاندارد، دقیق و ارائهدهنده اطلاعات اساسی فرایند برای توسعهدهندگان سیستم باشد. امروزه متداولترین سیستم ها برای مکانیزه کردن فرایندها هستند. این سیستم ها در درون خود موتوری (Process Engine) دارند که مستقیماً جریان کاری را کنترل و مدیریت میکند. این موتور بر اساس مدل های جریان کار استاندارد طراحیشده، عمل میکند. برای همین چارچوب این مدلها دقیق و ساختار یافته است زیرا توسط خود ماشین مستقیماً اجرا میشود (بر خلاف بقیه مدلها که برنامهنویس (رابط انسانی) آن را به زبان ماشین ترجمه میکند).
تا کنون نمادهای متفاوتی برای توصیف فرایندها ابداع شده است که هر کدام مورد استفادهی ابزارهای طراحی فرایند یا سیستم های جریان کار خاصی قرارگرفتهاند از آن جمله میتوان به موارد زیر اشاره نمود:
- استاندارد XPDL: XML Process Definition Language ارائهشده توسطWorkflow Management Coalition در سال 2008
- استانداردBPEL: Business Process Execution Language ارائهشده توسط OASIS در سال 2007
این استانداردها در برنامههای زیادی در جهت اجرایی کردن فرایندها بکار میروند ولی فاقد اِلِمانهای گرافیکی هستند.
یکی از نمادهای معروف دیگر EPC یا Event-driven Process Chain است که برای مدلسازی فرایندهای کسبوکار در پروژههای پیادهسازی شدهی SAP و ARIS مورد استفاده قرار میگیرد. با این حال EPC یک زبان مدلسازی استاندارد نیست و تعداد محدودی از ابزارهای مدلسازی مبتنی بر آن عمل میکنند.
مابقی استانداردهای معروف نظیرUML یا Unified Modeling Language با استفاده از نمودارهای فعالیت (UML Activity Diagrams - ADs) قادر به مدلسازی فرایندهای کاری میباشند، با این حال توفیق چندانی در عملیاتی کردن این زبان در ابزارهای مدلسازی فرایندی (در مقایسه با BPMN) به دست نمیآید. از مزیتهای BPMN در برابر UML می توان به موارد زیر اشاره کرد:
- دقیقاً مشخص است که چه کسی و در کجا ، چه کاری را انجام میدهد (نماد های Lane و Pool)
- قابلیت نمایش انواع رخدادها، تأخیرها، اعلانها و ... وجود دارد (که قبل و یا بعد از فعالیتها رخ میدهند)
- نفوذ به عمق فرایند (Drill down of sub process) و مشخص کردن ریزترین جزییات وظایف.
- امکان اضافه کردن ساختارهای اضافی به فرایند و امکان ثبت مستندات برای هر جزء از فرایند
- ارائه خروجی قابلاجرا (Executable Output)
به نظر میرسد استاندارد BPMN یا Business Process Modeling Notation مشهورترین و پذیرفته ترین استاندارد در راستای مدلسازی فرایندها است.
تاریخچه:
BPMN برای اولین بار توسط BPMI (Business Process Management Initiative) توسعه داده شد.در ابتدا هدف معرفی نمادهای گرافیکی بود که به عنوان زبان مدلسازی فرایندهای کسبوکارBPML ارائه شود و در مقایسه با BPEL، قابلیت اجرایی شدن توسط BPMSها را داشته باشد. (هرچند با توجه به محبوبیت زیاد BPEL، BPML فرصت چندانی برای توسعه پیدا نکرد و بخش اجرایی آن را بهBPEL واگذار نمود).
اولین نگارش BPMN توسط یک تیم به رهبری استیفن وایت در شرکت IBM توسعه داده شد و در سال 2004 ارائه گردید. در ضمن BPMI نیز به OMG (ارائهدهنده استانداردهای مدلسازی نظیر UML) ملحق گردید و در سال 2006 ورژن 1 آن به عنوان استاندارد مدلسازی توسط این سازمان پذیرفته شد. به دنبال آن ورژن 1.1 ارائه شد که شامل تغییراتی در المانهای گرافیکی بود. در سال 2010 نسخه دو BPMN ارائه گردید که محدودیتها و نواقص نگارشهای پیشین را پوشش میداد.
معرفی عناصر BPMN:
BPMN مجموعه ایی از نمودارهای ساخت یافته است که از عناصر گرافیکی تشکیلشدهاند تا به راحتی قابلدرک برای طراحان فرایند (Business Analysts) و توسعهدهندگان (Developers) باشد.
چهار طبقهبندی اصلی عناصر BPMN به شرح زیر است :
- نماد رخداد (event):
رخداد، سیگنالهایی است که در طی اجرای فرایند اتفاق میافتد، این رخدادها میتواند در ابتدا، انتها و یا در بین فرایند باشد، و منتج به نتایجی میشوند که میتواند باعث شروع یک فرایند، خاتمه یا تغییر مسیر آن گردد. بنابراین به سه دسته کلی :
- Start event
- Intermediate event
- End event
تقسیم میشوند . نماد دایره برای نمایش انواع رخدادها در فرایند استفاده میشود.
- نماد فعالیت(Activity):
آیتمی برای نمایش دادن وظایف در سازمان است. در استاندارد BPMN2 این نماد توسعه پیداکرده و اشکال متنوعی را در بر میگیرد. با این حال رایجترین اشکال آن نماد زیر فرایند و وظیفه است.
- دروازه ها یا نقاط تصمیم گیری (Gateway):
Gateway واگرایی یا همگرایی را در طی فرایند کنترل میکند. دروازهها که با نماد لوزی در فرایند ترسیم میشوند شامل قوانینی است که شرایط ورود و خروج شاخههای انشعاب فرایند را مشخص میکند. Gateway ها با توجه به شرایطی که اعمال میکنند به انواع مختلفی تقسیم میشوند که از مهمترین آنها میتوان به موارد زیر اشاره نمود:
- Exclusive Gateways
- Inclusive Gateways
- Parallel Gateways
- نماد جریان توالی (Sequence Flow):
برای نمایش توالی انجام وظایف بکار میرود و معمولاً با نماد یک پیکان (که جهت حرکت فرایند را نشان میدهد) در بین Flow objectها به نمایش در میآید.
- نماد جریان پیام (Message Flow):
این نماد برای نمایش پیامهای رد و بدل شده بین شرکتکنندگان فرایند به کار میرود.
- نماد جریان وابستگی (Association Flow):
از این نماد برای پیوند برقرار کردن بین artifactها (یا swimlane) با Flow objectها استفاده میشود.
- نماد Pool:
برای نمایش دادن شرکای فرایند از این نماد استفاده میشود. این شرکا میتوانند دو سازمان مستقل و یا برنامههای کاربردی مستقل و ... باشد. باید توجه داشت فعالیتهایی که در درون Pool های جداگانه رسم میشود، فرآیندهای مستقل محسوب میشوند. لذا خطوط Sequence Flow، مرز یک Pool را قطع نمیکند. درعینحال Message Flow به عنوان روشی برای نمایش ارتباط بین شرکا میباشد و در نتیجه برای برقراری ارتباط بین دو Pool مورد استفاده قرار میگیرد.
- نماد Lane:
از این نماد برای جدا کردن نقشهای فرایندی استفاده میشود و معمولاً برای نمایش دادن نقشهای درون یک سازمان بکار میروند برای همین این نماد درون Pool ها قرار میگیرد. Sequence Flow میتواند مرز بین Lane های درون یک Pool را قطع کند، لیکن Message Flow نمیتواند بین اشیاء جریان درون Lane های موجود در یک Pool مورد استفاده قرار گیرد.
- نماد شی داده (Data Object):
برای نمایش چگونگی درخواست شدن یا تولید شدن دادهها و اطلاعات توسط فعالیتها بکار میرود و با Association به فعالیتها پیوند داده میشود. در واقع نشاندهنده این است که چگونه دادهها، اطلاعات و اسناد در فرآیند استفاده میشود.
- نماد گروه (Group):
گروهبندی میتواند برای اهداف تجزیه و تحلیل و یا مستندسازی مورد استفاده قرار گیرد و برای دستهبندی کردن اجزای فرآیند یا بخشهای عمده یک دیاگرام استفاده میشود، علیرغم این که تأثیری بر توالی جریان فرآیند نخواهد داشت و به آن چیزی اضافه یا از آن کم نمیکند.
- نماد حاشیه نویسی (Annotation):
نمادی است که با استفاده از آن میتوان اطلاعات متنی اضافه ای به نمودار اضافه کرد.