counters
MyProcess website header
 

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

در این بخش شما با نماد های BPMN 2.0 آشنا می شوید و می توانید در بخش نمایشگاه فرآیندها ، تعداد زیادی فرآیند از پیش طراحی شده را مشاهده کنید و با کلیک بر روی دکمه "خودتان امتحان کنید" وارد بخش کارگاه آنلاین BPMN شده و به صورت آنلاین آنها را تغییر داده و حتی فایل XML خروجی را دانلود نمایید تا در صورت نیاز در برنامه های دیگری که از این استاندارد استفاده می کنند همچون Bonita، JBPN، Camunda ، Process Maker، Oracel، Bizagi، MyProcess, Visual Paradigm و ... ایمپورت کنید.

خطوط شناوری: Swim Lane
Participants
Pool
Lane
فعالیت ها: Activities
دروازه: Gateway
اشیاء ارتباط دهنده: Connection Object
مصنوعات: Artifact
رویدادها: Event
Type شروع میانی پایانی
Normal Event Subprocess Event Subprocess
non-interrupt
catch boundary boundary
non-interrupt
throw
None
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Message
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Timer
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Conditional
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Link
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Signal
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Error
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Escalation
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Termination
Created with Raphaël 2.1.0
Compensation
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Cancel
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Multiple
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Multiple Parallel
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0
Created with Raphaël 2.1.0

مقدمه

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

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

اشیاء جریان (Flow Objects)

اشیاء ارتباط دهنده (Connecting Objects)

خطوط شناوری یا مسیرهای جریان(Swim lanes)

مصنوعات(Artifacts)

 

1.     Flow Object( اشیا جریان)

سه عنصر کلیدی و هسته‌ای در یک BPD وجود دارد که در زمره‌ی اشیاء جریان قرار می‌گیرند. این سه عنصر عبارتند از رخداد (Event)، فعالیت (Activity) و راه ورود و خروج یا دروازه(Gateway) .

1.1.                      Event

رویدادها می توانند فرآیند را شروع کنند، آنرا به تاخیر بیندازند، متوقف کرده و یا پایان دهند.

 

1.1.1.     شروع

نقطه آغاز برای هر فرایند است. هر کدام از رویدادها بر حسب نوع شان، دارای راه انداز (trigger) می باشند که به آن تحریک کننده نیز می گوییم.

 

1.1.1.1.        Normal

نقطه شروع فرآیند است .رویدادهای شروع نرمال را با یک دایره با خط نازک نمایش می دهیم. این رویدادها تنها از نوع دریافت گرا (Catching) هستند.

 

1.1.1.2.        Interrupting

رویدادها در Bpmn2 از لحاظ ایجاد وقفه به دو نوع تقسیم میشود:

      رویداد همراه با وقفه (Interrupting Event)

      رویداد بدون وقفه (Non-Interrupting Event)

اگر رویداد شروع با وقفه باشد، فعالیتهای درون فرآیند اصلی متوقف می شود و فعالیت های درون Sub Process ایجاد و اجرا می شود و پس از اتمام آن، اجرای فرایند ادامه پیدا خواهد کرد.

 

1.1.1.3.        Non-Interrupting

در Event Sub Process زمانی که رویداد شروع درون آن رخ می دهد، اگر از نوع بدون وقفه باشد، فعالیت های درون Sub Process به صورت موازی با فرآیند اصلی ادامه می یابد.

 

1.1.2.          میانی

رویدادهای میانی رویداد هایی هستند که در میانه راه فرآیند محقق می ‌گردند و بر روند فرآیند تاثیر می‌ گذارند. این رویدادها هم می‌ توانند دریافت گرا (Catching )و هم مخابره ای (Throwing) باشند.

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

رویدادها(تنها رویدادهای میانی) از لحاظ استقلال دو نوع هستند:

1.      به صورت یک نماد مستقل در روند فرآیند قرار بگیرد.

2.      بر روی مرز یک activity نشان داده می شود که در زمان اجرای آن فعالیت هر زمان که رویداد دریافت شد روند بعد از رویداد ادامه میابد .

 

 

1.1.2.1.        Boudary Catching

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

         شروع یک فرآیند شوند.

         ادامه یک فرآیند و یا مسیری از یک فرآیند شوند.

         اجرای یک فعالیت شوند و یا یک sub process را لغو نمایند.

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

 

1.1.2.2.        Boundary Interrpting

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

 

1.1.2.3.        Boundary Non-Interrupting

در این نوع رویداد های مرزی بدون وقفه ، فرایند به صورت همزمان کار خود را پیش می برد . به عبارت دیگر ، مسیر اصلی فرایند و مسیر وقفه به طور هم زمان و موازی اجرا خواهند شد.

1.1.2.4.        Throwing

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

این رویداد ها می توانند به عنوان :

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

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

علاوه بر مطالب بیان شده درباره Event ها، می توان intermediate event ها را به فعالیت‌ها ضمیمه کرد. این کار می تواند منجر به ایجاد وقفه در task ها و sub process ها شود. در این حالت ما intermediate event ها را بر روی لبه فعالیت‌ هایی قرار می دهیم که می خواهیم تحت شرایط خاصی در آن فعالیت وقفه ای ایجاد شود

فرض کنید در نمودار زیر با رسیدن به وظیفه 1، فرآیند آغاز شود.

         اگر در حین اجرای وظیفه 1، event 1 رخ دهد، task1 سریعاً متوقف شده و از مسیر دیگر به سمت وظیفه 3 حرکت می کنیم، به عبارت دیگر، اگر event 1 رخ ندهد، وظیفه 1 اجرا خواهد شد و در مرحله بعد به سمت وظیفه 2 خواهیم رفت.

         همچنین اگر event 1 بعد از اینکه وظیفه 1 به طور کامل اجرا شد رخ دهد، این رویداد تاثیری بر مدل نخواهد گذاشت و می توان آنرا نادیده گرفت.

در BPMN 1.2، به جز compensation event ها، سایر intermediate events قطعا باعث لغو شدن فعالیت ‌ها خواهند شد و این در حالیست که در BPMN 2.0 نمادهای جدیدی در نظر گرفته شده است که intermediate event می توانند بدون ایجاد وقفه در مدل اتفاق بیفتند. هر چند این موضوع بسیار پیچیده می باشد ولی می تواند مفید واقع شود.

برای درک بهتر موضوع بالا به مثال زیر توجه نمایید:

فرض کنید در نمودار بالا با رسیدن به وظیفه 1 فرآیند آغاز شود.

         اگر event 1 در حالیکه وظیفه 1 در حال اجراست اتفاق بیفتد، این event یک همزاد تولید می کند. در این حالت اجرای وظیفه 1 در حالی ادامه می یابد که همزاد event به سمت وظیفه 3 حرکت می کند که باعث اجرای آن می شود. این پروسه ممکن است بارها تکرار شود، به عبارت دیگر event می تواند بارها اتفاق بیفتد که هر بار رخداد آن، منجر به تولید یک همزاد دیگر می شود.

         اگر event 1 رخ ندهد، وظیفه 1 کامل اجرا خواهد شد و با توجه به نمودار به سمت وظیفه 2 حرکت خواهیم نمود.

         اما اگر event 1 بعد از اینکه وظیفه 1 کامل اجرا شد رخ دهد، همانند حالت قبل این رویداد تاثیری بر مدل نخواهد گذاشت و می‌توان آنرا نادیده گرفت.

 

1.1.3.          پایانی

 

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

 

1.2.            انواع Event

1.2.1.          None

این رویداد دستی است و هیچ راه اندازی برای آن تعریف نمی شود.

 

 

1.2.1.1.        . None Start Event

نمایش آغاز فرآیندی که نحوه شروع آن تعریف نشده باشد . همواره زیر فرایند ها با این نوع رویداد آغاز می شوند.

 

 

1.2.1.2.        Throwing Start Event

 

برای تغییر حالت در مسیر فرآیند طی جریان عادی از آن استفاده می شود.

 

 

1.2.1.3.        None End Event

پایان یک زیر فرآیند و بازگشت فرآیند به جریان اصلی است.

 

 

 

1.2.2.          Message

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

 

 

 

1.2.2.1.        Message Start Event Normal

نماد آن، یک پاکت نامه است و trigger آن، دریافت پیغام از فرآیندهای دیگر می باشد.

 

مثلا در فرآیند فروش، در صورتی که مشتری اعتبارسنجی نشده باشد، یک پیغام از فرآیند فروش به فرآیند اعتبار سنجی می رود و فرآیند اعتبار سنجی شروع می شود.

 

1.2.2.2.        Message Start Event Sub-Process Interrupting

رویداد پیام شروع زیر فرایند با وقفه است . تنها تفاوت آن این است که برای شروع زیر فرایند ها استفاده می شود و زمانی که از این رویداد استفاده میشود، باعث ایجاد وقفه در مسیر زیر فرایند خواهد شد .

 

1.2.2.3.        Message Start Event Sub-Process Non-Interrupting

 

رویداد شروع فرایند با پیام بدون وقفه است. به این معنا که این نماد بدون اینکه در فرایند وقفه ای ایجاد کند یک زیر فرایند را همزمان آغاز و اجرا می کند.

 

1.2.2.4.        Message Intermediate Catching

 

 

رویداد پیام دریافتی میانی که نماد داخلی آن یک پاکت نامه سفید رنگ است و برای دریافت یک پیام، منتظر می ماند و جریان فرآیند تا نرسیدن پیام ، ادامه نمی یابد.

 

 

Image result for message intermediate catching

 

1.2.2.5.        Message Intermediate Boundary interrupting

 

رویداد پیام میانی مرزی همراه با وقفه، برای زمانی که بخواهیم در یک فعالیت توسط یک پیام وقفه ای ایجاد کنیم از این نماد استفاده خواهیم کرد:

 

1.2.2.6.        Message Intermediate Boundary Non-interrupting

رویداد پیام میانی مرزی بدون وقفه، برای ارسال پیام در فرایند به نحوی که در روال اجرای فرایند وقفه ای صورت نپذیرد استفاده می شود.

 

1.2.2.7.        Message Intermediate Throwing

وقتی در فرآیند، منتظر دریافت یک پیام باشیم و در صورت دریافت آن، مسیر عادی فرآیند طی شود یا وقتی در فرآیند، منتظر دریافت یک پیام باشیم و در صورت دریافت آن، مسیر استثنا فرآیند طی شود.

 

 

 

1.2.2.8.        Message End

با استفاده از نماد پیام پایان ، فرایند ما با ارسال یک پیام خاتمه پیدا می کند.

 

1.2.3.          Timer

رویداد timer یکی دیگر از نمادهایBPMN است که در رسم فرایندها بسیار از آن می کنیم استفاده می شود چرا که این رویداد قابلیت انعطاف پذیری بالایی در فرآیندها دارد و با نماد ساعت نمایش داده می شود.

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

 

 

1.2.3.1.        Timer Start Event Normal

وقتی شروع فرآیند در زمان خاصی (مثلا هر روز ساعت 7 صبح) باشد می توان از این نماد استفاده کرد.

 

1.2.3.2.        Timer Start Event Sub-Process Interrupting

وقتی قرار باشد که در یک زیر فرایند مربوط به یک فرآیند، در زمان خاصی (مثلا 28 هر ماه) اتفاق خاصی رخ دهد، میتوان از رویداد زمانسنج زیرفرایند استفاده کرد.

Image result for Timer Start Event Sub-Process Interrupting

 

1.2.3.3.        Timer Start Event Sub-Process Non-Interrupting

در BPMN 2.0 این رویداد به تازگی اضافه شده و از آن میتوان برای تنظیم کردن زمانی خاص بدون اینکه در روال فرایند وقفه ای ایجاد شود استفاده کرد.

 

1.2.3.4.        Timer Intermediate Catching

رویداد میانی زمانسنج دریافت گرا برای مواقعی که میخواهیم مشخص کنیم اگر یک وظیفه بعد از گذشتن زمان مشخصی انجام نشود چه اتفاقی رخ بدهد میتوان از این رویداد استفاده کرد.

 

 

 

1.2.3.5.        Timer Intermediate Boundary Interrupting

رویداد زمانسنج مرزی همراه با وقفه، مشخص کردن وضعیت وظیفه بعد از سپری شدن زمان مشخصی است که البته با ایجاد وقفه همراه است، به این معنی که به اندازه زمان تعیین شده، فرایند می بایست در حالت انتظار قرار بگیرد.

 

1.2.3.6.        Timer Intermediate Boundary Non-Interrupting

رویداد زمان سنج میانی مرزی بدون اینکه در روال انجام فرایند وقفه ای ایجاد کند بعد از گذشت مدت زمان مشخص شده یک وظیفه را اجرا می کند.

 

 

1.2.4.          Conditional

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

از نماد کاغذ خط دار در شکل رویداد استفاده می شود . از این رویداد می توان به سه روش استفاده کرد :

1.      در جریان طبیعی فرآیند و فقط به عنوان دریافت کننده

2.      Attach شدن به بدنه فعالیت جهت متوقف کردن آن

3.      بعنوان قسمتی از یک دروازه مبتنی بر رویداد

در بیشتر موارد رویداد میانی مشروط به فعالیت Attach می شود. بطوریکه تغییر شرط منجر به توقف فعالیت می گردد.

 

1.2.4.1.        Conditional Start Normal

در صورت برقرار شدن شرایط، رویداد میتواند آغاز بشود. مثلا اگر شرط کنسل شدن اپلیکیشن برقرار شود در این صورت میتوان وارد وظیفه شد.

 

1.2.4.2.        Conditional Event Sub-Process Interrupting

زمانی که نیاز باشد یک شرط خاص را به صورت شروع شونده بر روی یک وظیفه خاص داشته باشیم، از یک رویداد شرط زیر فرایند وقفه دار استفاده می شود و ساختاری کاملا شبیه به شرط شروع نرمال دارد.

 

 

 

1.2.4.3.        Conditional Event Sub-Process Non-Interrupting

تنها تفاوت این شرط با موارد قبل این است که در صورت برقرار نشدن شرط، فرایند کار خود را ادامه خواهد داد و وقفه ای رخ نمیدهد.

 

 

 

 

1.2.4.4.        Conditional Intermediate Catching

رویداد شرطی میانی دریافت گرا است.

 

 

 

1.2.4.5.        Conditional Intermediate Boundary Interrupting

رویداد شرطی میانی مرزی با ایجاد وقفه است.

 

1.2.4.6.        Conditional Intermediate Boundary Non-Interrupting

رویداد شرطی میانی مرزی بدون ایجاد وقفه است.

1.2.5.          Link

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

رویدادهای Link می توانند بسیار مفید باشند اگر:

         شما مجبور باشید نمودار فرآیند را در بین چندین صفحه توزیع دهید. در این حالت Link ها خواننده را از یک صفحه به صفحه دیگر منتقل می کند.

         شما نمودارهای فرآیند جامعی را با جریان های توالی فراوان رسم کرده باشید. در این حالت Link ها به ما کمک می کنند تا از بوجود آمدن جریان های توالی نامنظم و به هم ریخته اجتناب کنیم.

نکته آخر اینکه رویدادهای Link تنها می توانند به عنوان رویدادهای میانی مورد استفاده قرار گیرند.

1.2.5.1.        Link Intermediate Catching

رویداد اتصال میانی مرزی دریافت گرا است و گیرنده یک فرایند ارسالی از poolدیگر یا فرایند دیگری است.

 

 

1.2.5.2.        Link Intermediate Throwing

رویداد اتصال میانی مرزی مخابره ای است و از طریق آن، فرآیند جاری به یک فرآیند دیگر یا یک Pool ارسال می شود.

 

 

1.2.6.          Signal

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

 

 

 

1.2.6.1.        Signal Start Normal

رویداد شروع سیگنال ، یک سیگنال را ارسال می کند و گیرندگان مربوط آن را دریافت خواهند کرد.

 

1.2.6.2.        Signal Event Sub Process Interrupting

رویداد سیگنال زیر فرایند با وقفه است.

 

 

1.2.6.3.        Signal Event Sub Process Non- Interrupting

رویداد سیگنال زیر فرایند بدون وقفه است.

 

1.2.6.4.        Signal Intermediate Catching

رویداد سیگنال میانی دریافت گرا است.

 

 

1.2.6.5.        Signal Intermediate Boundary Interrupting

رویداد سیگنال میانی مرزی با وقفه است.

 

 

1.2.6.6.        Signal Intermediate Boundary Non-Interrupting

رویداد سیگنال مرزی میانی بدون وقفه است.

 

 

1.2.6.7.        intermediate Throwing Signal

سیگنال میانی مخابره ای است .

 

 

1.2.6.8.        1.2.6.8Signal End

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

 

1.2.7.          Error

این نماد صرفا چسبیده به زیر فرآیند (Sub Process ) برای مدل سازی خطاها درون زیر فرآیند استفاده میشود. مثلا فرض کنید فرآیند بررسی مدارک درخواست کننده ی وام را به صورت زیر فرآیند (درون فرآیند اعطای وام) مدل کرده اید، حال اگر داخل زیر فرآیند مدرکی ناقص باشد، درون زیر فرآیند یک خطا رخ میدهد و برای مدل سازی این خطا از این نماد استفاده میکنیم. همچنین در صورت رخداد این خطا میخواهید به درخواست کننده وام در مورد تکمیل مدرک اطلاع دهید که گام بعد از خطا را اطلاع رسانی به کاربر قرار میدهید . توجه کنید که مسیر عادی فرآیند، پس از زیر فرآیند، مرحله بعدی اعطای وام (مثلا تایید اعطای وام) بوده است.

 

 

 

1.2.7.1.        Error start event sub-process interrupting

رویداد شروع خطا زیر فرایند دارای وقفه زمانی استفاده میشود که بخواهیم علاوه بر بیان کردن وجود خطا، وقفه هم ایجاد کنیم.

 

1.2.7.2.        Error Intermediate Boundary Interrupting

رویداد خطا مرزی دارای وقفه نیز برای بیان خطا ایجاد وقفه مورد استفاده قرار می گیرد.

 

 

1.2.7.3.        Error End

رویداد پایانی خطا، معمولا برای مواقعی کاربرد دارد که خطایی در اجرای روند فرآیند به وجود آید و رخ دادن خطا را به قسمت های دیگری از فرآیند که میتوانند آن را دریافت کنند، مخابره میکند. به عنوان مثال فرآیند خرید یک مشتری که میخواهد با کارت اعتباری مبلغ خرید را پرداخت کند را در نظر بگیرید، اگر شماره کارت وارده نا معتبر بود، جریان فرآیند به یک رویداد پایانی خطا خاتمه می یابد که علاوه بر خاتمه دادن به فرآیند، رخداد یک خطا را به شاخه دیگری از فرآیند ارسال کند که به کاربر در مورد نا معتبر بودن کارت بانکی هشداری نشان دهد.

 

1.2.8.          Escalation

رویداد تشدیدEscalation events) ) معمولا برای برقراری ارتباط بین یک Sub process و فرآیند بالاتر استفاده میشود. برخلاف رویداد خطا، یک رویداد تشدید غیر بحرانی است و فرآیند در همان محل ارسال رویداد تشدید، هم ادامه پیدا میکند.

این رویداد بیشتر برای پشتیبانی از حالتی که در ادامه روند نیاز به کمک شخص دیگری (مخصوصا یک سطح بالاتر) باشد استفاده میشود. به عنوان مثال در فرآیند اعطای وام در صورتی که مبلغ وام بالا باشد، نیاز است تا کارمند مدارک را به همراه مدیر خود بررسی کند. دقت کنید که

رویداد میانی و پایانی تشدید تنها در Sub processها استفاده میشود. در توالی یک جریان فقط رویداد تشدید در حالت ارسال میتواند استفاده شود. این بدین معنی است که رویداد تشدید تنها میتواند از درون یک زیر فرآیند (که دارای یک رویداد میانی تشدید دریافت روی مرز زیر فرآیند است) به فرآیند بالاتر ارسال شود.

 

 

1.2.8.1.        Escalation Start event Sub-Process

رویداد شروع تشدید تنها در Event Sub Process استفاده میشود. رویداد تشدید، اقدامات لازم را برای تسریع تکمیل پیاده سازی فرایند انجام می دهد و فعالیت باید در محدوده مشخص شده زمانی اجرای شود و یادآوری این زمان به وسیله نماد هشدار شروع (مانند یک مهلت زمانی مبتنی) انجام میگیرد.

 

 

 

1.2.8.2.        Escalation Start Event Sub-Process Non-Interrupting

رویداد هشدار زیر فرایند بدون ایجاد وقفه است.

 

 

 

1.2.8.3.        Escalation Intermediate boundary Interrupting

رویداد هشدار میانی مرزی با وقفه است.

 

1.2.8.4.        Escalation Intermediate Boundary Non-Interrupting

رویداد هشدار مرزی میانی بدون وقفه است.

1.2.8.5.        Escalation Intermediate Throwing

رویداد هشدار میانی مخابره ای است.

 

 

 

 

1.2.8.6.        Escalation End

رویداد هشدار پایانی است.

 

 

 

1.2.9.          Termination

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

 

1.2.9.1.        End Termination

این رویداد فقط دارای نوع پایانی است.

1.2.10.      Compensation

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

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

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

رویدادهای compensation ضمیمه شده از طریق وابستگی های مجازی به compensation tasks متصل می شوند و برای این اتصال نیازی به جریان های توالی ندارند.

 

1.2.10.1.    Compensation Start Event Sub-Process

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

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

         رزرو بلیط هواپیما یا قطار

         رزرو کردن یک ماشین کرایه ای

         شارژ کردن یک کارت اعتباری

         راه اندازی یک ارائه دهنده خدمات

در چنین شرایطی به راحتی می توان ازاین رویداد استفاده کرد.

1.2.10.2.    Compensation Intermediate Boundary Interrupting

رویداد جبران میانی مرزی با وقفه است.

 

 

1.2.10.3.    Compensation Intermediate Throwing

رویداد میانی جبران مخابره ای است.

 

 

1.2.10.4.    Compensation End

رویداد جبران پایانی است.

 

 

1.2.11.      Cancel

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

 

 

1.2.11.1.    Cancel Intermediate Boundary

این نماد صرفا با Transaction Sub process استفاده میشود و گام بعد از آن نشان دهنده مسیر جایگزین در صورت لغو sub process میباشد. زمانی که زیر فرآیند به علتی لغو شد این رویداد اجرا میشود.

1.2.11.2.    Cancel End

رویداد پایانی کنسل، تنها در درون یک Transaction Sub-process میتواند استفاده شود که اگر شرایط به گونه ای بود که فرآیند به آن برسد باعث کنسل شدن آن فرآیند میشود.

 

1.2.12.      Multiple

از نماد پنج گوش در شکل رویداد استفاده شده و به دو نوع پرتاب کننده و دریافت کننده مورد استفاده قرار میگیرند.

راه اندازهایی که برای این رویداد معتبر هستند: پیام، جبران و علامت.

نکته: رویدادهای میانی پیوند که نوع خاصی از رویدادهای (پرتاب کنندهدریافت کننده) هستند را نمی توان در رویدادهای چندگانه استفاده کرد

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

 

1.2.12.1.    Multiple Start Normal

رویداد چند گانه شروع عادی است.

 

 

1.2.12.2.    Multiple Start Event Sub-Process Interrupting

رویداد چند گانه زیر فرایند دارای وقفه است.

 

1.2.12.3.    Multiple Start Event Sub-Process Non-Interrupting

رویداد شروع چند گانه زیر فرایند بدون وقفه است.

 

1.2.12.4.    Multiple Intermediate Catching

رویداد چند گانه میانی دریافت کننده است.

 

1.2.12.5.    Multiple Intermediate Boundary Interrupting

رویداد چند گانه میانی مرزی دارای وقفه است.

 

1.2.12.6.    Multiple Intermediate Boundary Non-Interrupting

رویداد چند گانه میانی مرزی بدون وقفه است.

 

1.2.12.7.    Multiple Intermediate Throwing

رویداد چند گانه میانی مخابره ای است.

 

1.2.12.8.    Multiple End

رویداد چندگانه پایان، چند نتیجه از جمله (خطا، پیام، جبران و علامت) را مشخص می کند و تحریک کننده آنهاست.

 

 

1.2.13.      Multiple Parallel

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

 

 

1.2.13.1.    Multiple Parallel Start Normal

رویداد چند گانه موازی شروع است.

 

 

1.2.13.2.    Multiple Parallel Start Event Sub-Process Interrupting

رویداد چند گانه موازی زیر فرایند دارای وقفه است.

 

 

1.2.13.3.    Multiple Parallel Start Event Sub-Process Non-Interrupting

رویداد موازی چند گانه زیر فرایند بدون وقفه است.

 

1.2.13.4.    Multiple Parallel Intermediate Catching

رویداد چند گانه موازی میانی دریافت کننده است.

 

1.2.13.5.    Multiple Parallel Intermediate Boundary Interrupting

رویداد چند گانه موازی میانی مرزی دارای وقفه است.

 

1.2.13.6.    Multiple Parallel Intermediate Boundary Non-Interrupting

رویداد چند گانه موازی میانی مرزی بدون وقفه است.

 

 

1.3.            Activity

معمولا از مستطیل برای نشان دادن فعالیت(Activity )استفاده میشود. فعالیت نشان دهنده کاری است که در یک گام از اجرای فرآیند انجام میشود و میتواند به صورت تک واحدی Atomic) ) و یا مرکب Compound) ) باشد. فعالیتها میتواند یک بار اجرا شود و یا در یک حلقه تکرار شوند.

 

 

1.3.1.          Task

در استاندارد Bpmn2 چندین نوع وظیفه تعریف شده است، که دارای خواص، رفتار و مجریان گوناگونی است. نوع این وظایف با نمادهایی که درون مستطیل بالا سمت چپ استفاده میشود مشخص میشود.

درون مستطیل نزدیک ضلع پایین نیز میتوان از علامت هایی همانند حلقه normal looping ، موازی parallel multiple instance ، ترتیبی sequential multiple برای نشان دادن نوع رفتار تکراری Task، استفاده کرد.

متداولترین وظیفه Abstract Task است که نشان دهنده وظیفه ای بدون نوع و رفتار خاصی است و کاملا ساده است و در شکل نماد آن را مشاهده میکنید.

 

 

1.3.1.1.        User Task

یک User Taskنشان دهنده فعالیتی است که کاربر سیستم باید انجام دهد. وقتی اجرای فرآیند به این قسمت میرسد یک کار در کارتابل کاربر ایجاد میشود.

این فعالیت توسط کاربر درون یک برنامه کاربردی با در اختیار قرار دادن یک اینترفیس (مثل BPMSها) تکمیل میشود. این بدین معنی است که چرخه حیات کاربر توسط نرم افزار مدیریت میشود و در متن فرآیند درحال اجرا است. یک User Task نماد یک انسان را در بالا سمت چپ درون مستطیل دارد.

 

1.3.1.2.        Manual Task

یک Manual Task نشان دهنده فعالیتی است که نیازمند دخالت انسانی برای تکمیل آن است. برخلاف یک User Task، انتظار می رود که یک Manual Task بدون دخالت یک برنامه کاربردی و یا موتور فرآیند کار اجرا شود. یک Manual Task هیچ اینترفیسی برای اجرای وظیفه ارائه نمیکند، بنابراین به صورت ذاتی در یک BPMS قابل اجرا نمیباشد. نمونه مثال برای یک Manual Task در ادامه آمده است:

نصب یک تلفن در مکان مشتری توسط یک تکنسین تلفن

یک مشکل توسط پشتیبانی به صورت تلفنی حل میشود.

 

1.3.1.3.        Script Task

نوع دیگری از Task های اتوماتیک Script Task است. برخلاف Service Task، یک Script Task بوسیله موتور فرآیند کسب و کار قابل اجرا است. از لحاظ فنی، یک Script Task نشان دهنده یک کد است که میتواند درون موتور فرآیند اجرا شود. یک مدل کننده یک Script Task را در یک زبان قابل تفسیر برای موتور فرآیند تعریف میکند. هنگامی که یک فرآیند به یک Script Task رسید. موتور کد را اجرا کرده و زمانی که Script تکمیل شد، وظیفه کامل خواهد شد.

چندین مثال برای Script Task در ادامه آورده میشود:

دریافت یک مسئله برای پشتیبانی و ارسال آن به یک اپرا تور

جمع زدن مجموع هزینه ها بوسیله جمع هزینه های محصول و حمل و نقل

اضافه کردن یک ID منحصر به فرد برای پشتیبانی یک مورد

 

1.3.1.4.        Receive Message Task

نشان دهنده فعالیتی است که منتظر دریافت پیام از یک شرکت کننده خارجی (در یک Pool دیگر)

زمانی که پیام دریافت شد فعالیت تکمیل میشود.

جریان دریافت یک پیام با استفاده از Message Flow مشخص میشود.

موارد مورد استفاده از Receive Message Task

         انتظار برای تایید نویسنده برای ادامه فرآیند انتشار

         انتظار برای اطلاعات مشتری برای حل یک مشکل موجود

         شروع فرآیند تحویل کالا بعد از تایید آدرس ارسال

 

1.3.1.5.        Send Message Task

یک Send Message Task یک وظیفه ساده BPMN است که برای ارسال یک پیام به یک شرکت کننده خارجی (معمولا در Pool های دیگر (BPMN) طراحی شده است. هنگامی که پیام ارسال شد وظیفه کامل میشود. میتوان با استفاده از یک Message Flow شرکت کننده ای که پیام را ارسال میکند را مشخص کرد. این نماد با یک پاکت نامه سیاه رنگ و توپر درون یک مستطیل نمایش داده میشود.

مثال هایی برای Send Message Task را ادامه مشاهده میکنید:

اطلاع رسانی به همکار در مورد اتمام فرآیند

هنگامی که یک خرید کامل میشود و فاکتور برای مشتری ارسال میشود.

هنگامی که یک مقاله انتشار میابد به نویسنده خبر داده میشود.

 

1.3.1.6.        Rule Task

یک Rule Task، مکانیزمی را برای فرآیند فراهم میکند که با دادن یک ورودی، یک خروجی که حاصل محاسبات موتور قانون فرآیند (Business Rules Engine)است، را ارائه میکند. مثال هایی در این مورد را در ادامه میتوانید مشاهده کنید:

تعریف اولویت هایی برای موارد مورد پشتیبانی بر اساس کاربر

محاسبه هزینه بیمه با توجه به پروفایل کاربر

ارسال یک پیشنهاد محصول مناسب بر اساس رفتار کاربر

1.3.1.7.        Loop Task

یک Loop Task تا زمانی که شرایط تعریف شده صادق باشد و یا اینکه متوقف شود، تکرار می شود. برای مثال ممکن است ما غذاهای مختلفی را آنقدر به میهمانان پیشنهاد میدهیم تا در انتها یکی از آنها را انتخاب کنند و بعد از آنمیتوانیم غذاهای موردنیاز را آماده نماییم.


در این مثال ما Loop Task را برای یکبار اجرا میکنیم و پس از آن بررسی میکنیم تا در صورت نیاز Task را دوباره اجرا نماییم که برنامه نویسان برای انجام این کار از ساختار Do While استفاده می نمایند. همچنینمی توانیم از ساختار While Do نیز استفاده نماییم که در آن وظیفه قبل از اینکه اجرا شود چک می شود. هرچند که مورد دوم به ندرت پیش می آید اما در مواردی که Task قابل اجرا نیست این مورد رخ می دهد.

 

 

 

1.3.1.8.           Compassion Task

یک وظیفه جبران (Compensation Task) یک وظیفه خاصی است که زمانی که در مدلسازی فرآیند نیاز به خنثی کردن یک گام از فرآیند باشد، از این وظیفه استفاده می شود. در بعضی مواقع هنگام خنثی سازی نیاز به ثبت کارهای بازگشت خورده است، پس ما نیازمند یک گام جدا درون فرآیند هستیم. گاهی این فرآیند خنثی سازی پیچیده تر و فراتر از یک گام می شود که از زیر فرآیند جبران استفاده می شود.


در ادامه ی مثالهای ارائه شده در ز مینه عناصر BPMN، به مثالی جامع در زمینه تراکنش و تمام موارد مربوط به آن خواهیم پرداخت.

فرآیند درخواست مسافرت در یک سازمان را درنظر بگیرید. کارمند درخواست سفر را ثبت می کند، پس از آن کارهای مربوط به رزرو بلیط هواپیما، رزرو هتل، رزرو اتومبیل انجام می شود و سپس اطلاعات مربوط به رزرواسیون به کارمند اطلاع داده می شود.


این فرآیند به صورت زیر پیاده سازی می شود.

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

زیر فرآیند رزرواسیون را اگر ساده در نظر بگیریم به صورت 1 در می آید.

حال اگر به صورت دقیقتری به این فرآیند توجه شود، موارد دیگری هم میتوان در تحلیل و پیاده سازی این فرآیند لحاظ کرد. در صورت موفقیت آمیز نبودن هر یک از رزروها (اتومبیل، بلیط هواپیما، هتل) باید رزروهای دیگر لغو شود . برای پشتیبانی از این حالت ، نماد SubProcess در فرآیند اصلی باید تبدیل به تراکنش شود و فرآیند رزرواسیون باید به شکل 2 عوض شود. در این شکل ما از یک رویداد غرامت متصل به وظیفه ، بر روی هریک از فعالیت های مربوط به رزرو استفاده میکنیم . پس از اجرای (Trigger شدن) هر یک از این رویدادها، جریان استثنا دنبال می شود. که در این مثال، فعالیتی هایی است که باید برای برگرداندن وضعیت به حالت قبلی و جبران کارهای انجام شده و با دخالت انسان انجام می شود.

 



برای مثال اگر رزرو هتل و ماشین انجام شده باشد، ولی رزرو هواپیما انجام نشده باشد، رویداد کنسل اجرا می شود، که باعث می شود رویدادهای غرامت رزرو هتل و ماشین (متصل به کارهایی که به صورت کامل انجام شده اند) رخ دهد و جریان بعد از آن فعال می شود که فعالیت های لغو رزرو هتل و ماشین باید توسط واحد اداری انجام شود. این فعالیتها از نوع غرامت هستند یعنی جز جریان معمول فرآیند نیستند.

 

رزرواسیون را درنظر بگیرید، اگر تراکنش رزرواسیون موفقیت آمیز بود، نیاز است به شخص اطلاعات رزرو ارسال شود، ولی اگر این عملیات موفقیت آمیز نبود به کاربر در مورد عدم موفقیت رزرواسیون اطلاع رسانی شود. این قسمت از فرآیند باید خارج از تراکنش و در فرآیند اصلی مدلسازی شود ولی برای تشخیص موفقیت آمیز بودن یا نبودن تراکنش میتوان از نماد رویداد میانی کنسل بر روی تراکنش (Intermediate catching cancel Boundary Event) استفاده کنید. که اگر تراکنش با رویداد کنسل به اتمام رسید این رویداد، فعال می شود و مسیر بعد از آن (وظیفه اطلاع رسانی در مورد عدم موفقیت رزرواسیون) ادامه می یابد و مسیر معمول بعد از تراکنش اجرامی شود.

 

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


برای مدلسازی این روند، باید از رویداد دریافت خطای میانی متصل بر روی زیر فرآیند (Intermediate Catching Error Boundry Event ) استفاده شود. با استفاده از این رویداد اگر خطایی در زیرفرآیند رزرواسیون رخ دهد، مسیر بعد از رویداد خطا (وظیفه "اطلاع رسانی و انجام اقدامات موردنیاز برای رفع خطای سرویس")در فرآیند اصلی اجرا می شود

 

1.3.2.          Multiple Instance Task

در مدلسازی فرآیند از عنصر Multiple Instance Task ، زمانی استفاده می شود که نیاز باشد یک وظیفه خاص در چندین نمونه و کاملا مستقل اجرا شود. توجه داشته باشید قبل از اجرای این وظیفه ما از تعداد نمونه هایی که از این وظیفه باید ایجاد شود، مطلع هستیم.

1.3.2.1.           Multi Instance Parallel

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

 

 

1.3.2.2.           Multi Instance Sequential

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

 


به عنوان مثال فرآیند ایجاد یک داکیومنت را در نظر بگیرید در این فرآیند ابتدا نسخه اولیه از داکیومنت موردنظر، تهیه می شود و این داکیومنت نیاز دارد که به بررسی و تایید چندین داور برسد. این بررسی و تایید میتواند به صورت موازی انجام شود و نظرات داوران از یکدیگر مستقل هستند. برای مدلسازی چنین وضعیتی، نیازمند استفاده از Multiple Instance Task هستیم که باعث می شود زمانی که روند فرآیند به این نقطه برسد به ازای هر داور یک وظیفه مستقل از دومین وظیفه (بررسی داکیومنت) ایجاد شود و سپس میتوان پس از دریافت نظرات تمام داوران یک داکیومنت نهایی تدوین کرد.

تفاوت Loop و Multi Instance

هدف یک زیرفرآیند Multi-instance تکرار مجموعه ای از فعالیت ها (به صورت موازی و یا سری ) به تعداد مشخص است ولی در Loop بعد از اجرای هر چرخه فعالیت، باید شرط تکرار حلقه بررسی شود اگر شرط صحیح بود چرخه باز هم تکرار می شود.

 

1.3.3.          Sub-Process

زیر فرآیند (Sub Process ) فعالیتی است که خود شامل فعالیتهای دیگر است و در آنها از Sub Process، Task ، Event، Gateway و ... استفاده میشود. آنها می توانند به صورتی مجزا تعریف شده که امکان فراخوانی در فرآیندهای دیگر نیز باشد و یا کامل درون یک فرآیند برای ایجاد سادگی و سهولت در درک فرآیند مدل شود.

استفاده از Sub processها در فرآیند,، علاوه بر نمایش جزئیات Sub process در یک نمودار فرآیند جداگانه، باعث سهولت توسعه مدل فرآیندی می شود، که با کلیک بر روی + می توانید جزئیات را مشاهده کنید و این عملکرد شما را قادر می سازد تا علاوه بر توسعه مدل، بتوانید تغییرات توسعه داده شده را مستقیما در مدل نمایش دهید و یا آنها را مخفی نمایید.

 

1.3.3.1.        Parallel Sub-Process

نشانگر Multi Instance نشان دهنده یک زیر فرآیند است که چندین بار (که تعداد آن مشخص شده است) تکرار می شود.

در حالت موازی(Parallel) نمونه های زیر فرآیند به صورت هم زمان شروع می شوند.

 

1.3.3.2.        Sequential Sub-Process

نشانگر Multi Instance نشان دهنده یک زیر فرآیند است که چندین بار (که تعداد آن مشخص شده است) تکرار می شود.

در حالت سری نمونه های فرایند (instance) پشت سرهم و بعد از تمام شدن یک نمونه، نمونه ای دیگر آغاز می شود.

 

1.3.3.3.        Loop Sub-Process

نشانگر حلقه همراه با Sub process نشان دهنده زیر فرآیندی است که تا زمانی که شرط تعریف شده برای حلقه صحیح باشد، کل زیر فرآیند دوباره تکرار می شود. توجه داشته باشید که در هر بار تکرار وضعیت شرط بررسی و ارزیابی می گردد، (در انتها یا ابتدای هر تکرار). نشانگر حلقه می تواند به صورت ترکیبی با نشانگرهای ad-hoc و compensation استفاده شود.

 

1.3.3.4.        Ad-Hoc Sub-Process

یک زیر فرآیند از نوع Adhoc گروهی از وظایف است که هدف آن تکمیل قسمتی از فرآیند است. الزامی برای اجرا فعالیت های درون یک زیر فرآیند Adhoc وجود ندارد و تعداد اجرا و توالی آن مشخص نیست و توسط انجام دهندگان رقم خواهد خورد. در هر وظیفه شخص انجام دهنده تصمیم می گیرد که کار را چگونه انجام دهد و در چه زمانی انجام دهد.

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

 

1.3.3.5.        Compensation Sub-Process

یک زیر فرآیند جبران (Compensation Sub process) دنباله ای از فعالیت ها است که برای خنثی سازی نتایج فعالیتی ( Activity) که انجام شده است ولی به دلایلی باید تمام اثرات ایجاد شده و نتایج آن به حالت قبل از اجرای آن فعالیت برگردانده شود، اجرا می شود.

 

1.3.4.          Event Sub-Process

ماژول Event Sub process درون یک فرآیند و یا Sub process دیگر قرار می گیرد و هیچ ورودی و خروجی ( Sequence Flow) به/از آن وارد/خارج نمی شود، به شرط اینکه فرآیندی که Event Sub Process درون آن قرار گرفته است درحال اجرا باشد، یک رویداد شروع، یک Event Sub process را می تواند به راه اندازی کند..

این ماژول دارای دو نوع است:

1. همراه با وقفه (Interrupting): که با خط ممتد نمایش داده می‌ شوند و با شروع آن تمام فعالیتهای فرآیند اصلی terminate می شود.

2. بدون وقفه(Non-Interrupting) : که با خط ‌چین نمایش داده می‌ شوند که به طور همزمان با فرآیند اصلی اجرا خواهد شد.

انواع رویداد هایی که می‌ توانند Event Sub process های Interrupting و Non-Interrupting را راه بیندازند عبارتند از:

         پیام (Message)

         زمان (Timer)

         تشدید (Escalation)

         شرط (Conditional)

         سیگنال (Signal)

         چند گانه(Multiple)

         چند گانه موازی (Multiple parallel)

و دو نوع دیگر از این رویدادها وجود دارد که تنها برای Interrupting وجود دارد:

         خطا (error)

         جبران (Compensation)

 

1.3.5.          Call Activity

استاندارد BPMN2 بین Call Activity و Sub Process تمایز قائل شده است. از نقطه نظر مفهومی ، زمانی که یک فرآیند به هر دوی این نمادها می رسد، یک زیر فرآیند اجرا می شود ، ولی تفاوت در اینجا است که Call Activity یک فرآیند خارج از فرآیند جاری است، در حالی که Sub Process ها به صورت تعبیه شده در زیر فرآیند (Embedded Sub process) وجود دارد. این تفاوت بیشتر در مدل سازی BPMS ها معنا پیدا می کند.

1.3.6.          Transaction

نوعی از زیر فرآیند است که تضمین می کند یا اجرای گروهی از فعالیت ها موفق اجرا شود و یا در صورتی که یکی از آن ها ناموفق اجرا شود، همه فعالیت های آن به وضعیت قبلی بازگردانده شود، گویی که هیچ کدام اجرا نشده اند .

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

 

1.4.            Gateway

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

دروازه ها( Gateway) به صورت لوزی نمایش داده می شود و با توجه به نوع رفتار دروازه، درون لوزی نماد خاصی قرار میگیرد.

 

1.4.1.          Exclusive Gateway

دروازه انحصاری که دروازه XOR نیز نامیده می ‌شود و یا از نظر فنی در اکثر موارد، دروازه مبتنی بر داده ‌های منحصر به ‌فرد نام‌ گذاری شده است.

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

 

یک دروازه انحصاری همگرا هر توکنی که به آن میرسد را بدون هماهنگ سازی( without synchronization) عبور می دهد. به صورت ذاتی این دروازه اغلب بعد از یک دروازه واگرای انحصاری استفاده می شود که در آن فقط یکی از مسیرهای بعد از دروازه واگرا قابل اجرا است.

 

1.4.2.          Parallel Gateway

دروازه موازی که به آن دروازه "هم‌ زمانی" نیز گفته می ‌شود، ساده ‌ترین نوع از دروازه‌ های BPMN به شمار می ‌رود که امکان ایجاد همزمان چندین انشعاب در یک فرآیند را ممکن می ‌سازد.

زمانی که در یک فرآیند از دروازه موازی واگرا استفاده شده باشد، کار در تمامی مسیر هایی که از دروازه موازی خارج ‌شده ‌اند، به صورت همزمان اجرا خواهد شد. به عنوان مثال در شکل زمانی که وظیفه 1 انجام شود هر سه وظیفه 2و3و4 همزمان اجرا میشود.

و زمانی که از دروازه همگرا موازی در یک فرآیند استفاده شود، باید تمام کارهایی که به دروازه وارد شده اند کامل شود تا مسیر بعد از دروازه در فرآیند ادامه یابد. به عنوان مثال وظیفه 5 در صورتی اجرا خواهد شد که وظایف 2و 3و 4 همگی کامل شده باشند.

 

1.4.3.          Inclusive Gateway

دروازه جامع ترکیبی خاص از دروازه‌ های انحصاری و موازی است

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

یک دروازه جامع همگرا، منتظر رسیدن همه توکن ها برای ادغام و همگام سازی جریان می ماند. زمانی که از یک دروازه جامع همگرا استفاده می شود نیاز است باید قبل از آن، در جریان فرآیند از یک دروازه واگرا وابسته نیز استفاده کنیم که مسیرهای فعال موجود را شناسایی کند.

به عنوان مثال در شکل زیر شرط Condition1 بررسی می شود اگر صحیح بود Task2 اجرا می شود . همچنین شرط Condition2 بررسی می شود اگر صحیح بود Task3 اجرا می شود اگر هیچ کدام از شروط صحیح نبود مسیر پیش فرض که به Task3 منتهی می شود اجرا می شود.

 

1.4.4.          Event-Base Gateway

دروازه مبتنی بر رویداد رفتاری همانند دروازه انحصاری (Exclusive) دارد، با این تفاوت که به جای قرارگیری شروط بر روی مسیرها ، از رویدادهای مختلف استفاده می‌ شود و منتظر فراخوانی یکی از این رویدادها برای طی شدن مسیر مناسب می ‌ماند و اولین رویدادی فراخوانی شده ، تنها مسیر انتخابی این دروازه است و مسیرهای دیگر طی نمی ‌شوند.

در استفاده از دروازه مبتنی بر رویداد باید به نکات زیر توجه داشت:

         یک دروازه مبتنی بر رویداد باید دو و یا بیش از دو جریان خروجی داشته باشد.

         یک دروازه مبتنی بر رویداد می تواند فقط به اجزایی از نوع Intermediate Catch Event و یا وظیفه از نوع دریافت پیام متصل شده باشد.

         یک Intermediate Catch Event متصل شده به یک دروازه مبتنی بر فرآیند باید یک جریان تک رشته ‌ای ورودی داشته باشد.

به طور مثال در شکل، بعد از رسیدن به دروازه مبتنی بر رویداد، فرآیند منتظر فراخوانی یکی از رویدادها می شود، اگر قبل از سر رسید رویداد زمان ، پیام یا سیگنال مربوطه دریافت شود مسیر اول یا دوم ادامه پیدا می کند و در غیر اینصورت مسیر سوم پس از گذشت 3روز ادامه می یابد.

 

1.4.5.          Event-Base Gateway To Start a Process

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

در اینجا دو نوع Start Event Gateway وجود دارد:

در نوع انحصاری ( Exclusive) بقیه ی رویدادهای متصل بهStart Event Gateway ، به محض فراخوانی، یکی از رویدادها غیرفعال می شود و در آن Instance دیگر اجرا نخواهد شد.

ولی در نوع موازی (Parallel) رویدادهای دیگر درون Instance ایجاد شده، فعال باقی می مانند و تا اتمام فرآیند، رویدادهای متصل دیگر نیز قابلیت فراخوانی و اجرای مسیر بعد از آنها وجود دارد.

توجه داشته باشید در نوع موازی، Start Event Gatewayمنتظر رسیدن همه رویدادها نمی ماند بلکه با فراخوانی یکی از رویدادها، یک Instance ساخته می شود و این نماد هیچگونه همگام سازی بر روی رویدادها انجام نمی دهد.

نماد Parallel Start Event Gateway از لوزی که نشان دهنده دروازه و یک دایره که نشان دهنده رویداد آغازین و یک علامت + به معنای موازی بودن تشکیل شده است

نماد Exclusive Start Event Gateway از لوزی که نشان دهنده دروازه و یک دایره که نشان دهنده رویداد آغازین و یک علامت 5ضلعی تشکیل شده است.

1.4.6.          Complex Gateway

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

1.4.7.          Parallel Event-Base Gateway

این دروازه ها می توانند یک نمونه جدید را در فرایند شروع کنند.

2.     Connection Object ( اشیا ارتباط دهنده)

اشیاء ارتباط دهنده برای پیوند دادن Flow Object ها یا اشیاء جریان در یک BPD بکار می‌روند تا ساختار شماتیک فرآیند کسب و کار را نمایش دهند. سه نوع شئ پیوند‌دهنده عبارتند از (Sequence Flow)جریان توالی،) Message Flow (جریان پیغام و (Association)پیوند که در جدول بعدی تشریح شده‌اند.

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

 

 

2.1.            Sequence Flow

از این عنصر برای اتصال اجزای جریان فرآیند به یکدیگر و نمایش ترتیب اجرای فرآیند استفاده می شود و نشان دهنده جریان اطلاعات در فرآیند می باشد.

دقت کنید که از واژه Control Flow در BPMN استفاده نمی ‏شود.

2.2.            Default Sequence Flow

جهت نمایش مسیر پیش فرض فرآیند از این نماد استفاده می کنیم.

 

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

2.3.            Conditional Sequence Flow

این عنصر نیز برای نمایش مسیر فرآیند استفاده می شود، با این تفاوت که ادامه مسیر وابسته به شرط است و در صورت صحیح بودن شرط، مسیر ادامه پیدا می کند.

 

 

 

 

2.4.            Message Flow

از این عنصر عموما برای نمایش جریان یک پیام، بین دو participantsکه قادر به ارسال و یا دریافت پیام هستند، استفاده می شود.

در BPMN دو Pool جدا در یک دیاگرام Collaboration نشان دهنده دو موجودیت هستند.

 

2.5.            Association

یک خط نقطه چین که برای اتصال Artifact و Text ها به سایر نمادهای BPMN استفاده می شود.

Association دارای دو نوع است: جهت دار و بدون جهت.

در جهت دار اگر فلش به سمت Artifact باشد به معنای نشان دادن نتیجه است، و اگر از Artifact فلش خارج شده است به معنای یک ورودی است، و اگر دوطرفه باشد به معنای خواندن و آپدیت کردن اطلاعات است.

از نوع بدون جهت برای اتصال یک Artifact یا Text به یک جریان پیام sequence or message flow استفاده می شود.

 

3.     Swim Lane

بسياري از متدولوژي‌هاي مدلسازي موجود از مفهوم Swim lanes براي سازمان‌دهي فعاليت‌ها در گروه‌ها استفاده مي‌کنند. اين نشان گرافيکي براي جداکردن مسئوليت‌ها يا توانايي‌هاي کارکردي مختلف مورد استفاده قرار مي‌گيرد. در يک BPD خطوط شناوري به دو صورت مختلف قابل ارائه هستند: Pool و Lane (خط سير).

 

3.1.            Pool

یک Pool ، عنصری اصلی در BPMN است که مرزهای یک فرآیند کسب وکار را مشخص می کند. یک Pool شامل حداکثر یک فرآیند خواهد بود و این بدین معنی است که دو فرآیند مجزا بایستی در دو Pool مختلف مدلسازی شوند. یک Pool ممکن است جزئیات داخلی قابل مشاهده ای را به صورت فرآیندی که اجرا خواهد شد، داشته باشد (به آن یک White-box Pool گفته می شود) و یا می تواند جزئیات داخلی قابل مشاهده ای را شامل نگردد (به آن یک Black-box Pool گفته می شود). نوع Pool ی که مورد استفاده قرار می گیرد، بستگی به سطح جزئیات مورد نیاز و محتوای خاص دارد.


یک Pool نشان دهنده شرکت کنندگان درون یک فرآیند کسب و کار است. Poolها می توانند در فرآیندها موراد مختلفی را نشان دهند یا به عنوان افراد انجام دهنده فرایند (همانند تا مین کننده و تولیدکننده و یا خریدار) و یا به صورت کلی تر برای مدلسازی یک کسب و کار منفرد بدون وابستگی خارجی (همانند یک سازمان یا شرکت خاص) استفاده بشوند.

مثال:

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


دقیقا Pool شبیه یک استخر است Lane شبیه خطوطی است که شناگران در آن شنا می کنند.

در نمودار زیر مشاهده می شود به محض اینکه وظیفه 1 توسط رابرت تکمیل می شود، وظیفه 2 در Lane فالکو شروع می شود. همانطور که در نمودار مشاهده می شود، وظایف هر بخش به صورت جداگانه در هر Lane تکمیل شده و درنهایت همه این وظایف منجر به انجام کل فعالیت در Pool فرآیند ارتباطی می شود.

در مثال قبلی برای تشریح Pool، وظایف هر بخش، به صورت جداگانه در هر Lane تکمیل شده و درنهایت اجرای همه این وظایف، منجر به انجام کل فعالیت در Pool فرآیند ارتباطی می شود. بسیاری از مدلسازان با تجربه، با این طرز تفکر مشکل دارند. آنها ترجیح می دهند تا مجموعه فرآیند در مثال قبلی را به شکل زیر مدل نمایند، با این فرض که هیچ ارتباط دهنده ای در بین بخشهای مختلف شرکت وجود ندارد و بخش های مختلف به ناچار بایستی هماهنگی و همکاری بین بخشها را خود ایجاد نمایند.



در BPMN به هر Participant یک Pool اختصاص داده می شود و برای تعریف همکاری و هماهنگی بین بخشهای مختلف یک Pool نیازی به انجام کار خاصی نیست و به خودی خود این همکاری و یا انتقال وظایف درون یک Pool با تعریف Connector ها ایجاد می شود، ولی برای ایجاد ارتباط بین Pool ها از ارسال Message استفاده می شود.

 

3.2.            Lane

یک Lane یک زیر بخش در Pool است و برای سازماندهی و گروه بندی فعالیت های یک فرآیند استفاده می شود. عمومأ، یک Lane یک نقش سازمانی را نمایش می دهد (به عنوان مثال توسعه دهنده، تحلیل گر و مدیر)، همچنین Lane ها ممکن است برای اهداف دیگری نیز مورد استفاده قرار گیرند (به عنوان مثال فاز اول، فاز دوم و فاز سوم)

 

مثال:

در BPMN توضیح اینکه چه کسی مسئول انجام هر کار است را Lane ها بر عهده دارند.


در نمودار زیر نشان می دهد که وظایف در فرآیند نمونه ما به افرادی خاص، اختصاص داده شده است. با توجه به نمودار می توان نتیجه گرفت که روال کاری فرآیند به شرح زیر می باشد.



اگر کریستین گرسنه باشد، یک غذا انتخاب میکند. با توجه به آنکه انتخاب کریستین چه چیزی بوده است دو حالت پیش می آید:

در حالت اول کریستین ماکارونی میپزد و

در حالت دوم کریستین میتواند از همکارانش کمک بگیرد که در این حالت فالکو وظیفه پختن استیک و رابرت وظیفه آماده کردن سالاد را بر عهده دارد.

در پایان کریستین غذار را سرو می کند در این مثال 3 lane با نامهای کریستین و فالکو و رابرت در قالب یک Pool واحد تحت عنوان فرآیند رفع گرسنگی قرار گرفته اند.


در اینجا سوالی پیش می آید آیا بایستی به هر Lane یک نفر را نسبت داد؟؟؟

در مثال ذکر شده، Lane به افراد نسبت داده شد اما در BPMN این موضوع کلیت ندارد و شما می توانید Lane ها را تحت عناوین مختلف طراحی نموده و نسبت دهید. در عمل Lane ها اغلب برای تخصیص عناوین زیر نسبت داده می شوند:


پوزیشنهای شغلی در سازمانها نظیر حسابداری

نقشهای سازمانی در سازمانها همانند افسر حفاظت اطلاعات

نقشهای کلی مانند مشتری

بخشها همانند بخش فروش

برنامه های فناوری اطلاعات همانند سیستم CRM

 

4.     Artifact

در مدل سازی فرآیند از مصنوعات(Artifact )برای ارائه اطلاعات بیشتر در مورد نحوه انجام فرآیند استفاده می شود.

انواع مختلفی از مصنوعات مختلف در مدل سازی فرآیند کسب و کار وجود دارد. مصنوعات اجازه می دهد که شما به صورت تصویری خروجی و یا ورودی یک فرآیند واقعی را ارائه کنید. همچنین مصنوعات میتوانند نشان دهنده داده و یا یادداشت باشند که جزئیات فرآیند را ارائه می کنند.

. نسخه فعلي BPMN سه نوع از مصنوعات را از پيش تعريف نموده است که شامل:

         اشیا داده(data objects)

         حاشیه نویسی ها (annotations)

         گروه (groups)

 

مدلسازان مي‌توانند انواع مصنوعات را براي انتقال جزئيات بيشتر در مورد نحوه‌ي انجام فرآيند (غالباً براي نمايش ورودي‌ و خروجي‌ فعاليت‌ها) ايجاد کنند؛ با اين وجود ساختار ابتدايي فرآيند در نمودار (به همان صورتي که با Activity ها، Gatewayها، و Sequence Flow ها تعريف شده است) تغييري نخواهد کرد.

شکل زیر مثال خوبی برای نمایش کاربرد مصنوعات است:

 

 

4.1.            Data Object

برای نمایش چگونگی درخواست یا تولید شدن داده ‏ها و اطلاعات توسط فعالیت ‏ها بکار می ‏رود و با Association به فعالیت ‏ها پیوند داده می ‏شود.

 

4.2.            Data Input

وظایف، اغلب به داده هایی وابسته هستند. داده های ورودی(Input Data Object) نشان دهنده داده هایی است که در فرآیند کسب و کار به آن نیاز داریم.

 

4.3.            Data Output

اگر یک فرآیند داده ای تولید کند، یک داده خروجی (data output) در نمودار گردش کار، ارائه دهنده اطلاعات تولید شده به عنوان نتیجه است.

 

4.4.            Collection Data Object

به صورت عمومی ،علامت ||| در استاندارBPMN نشان دهنده تعدد(multiplicity )است. به عنوان مثال این علامت در Data Objectها می تواند به معنای چندین داکیومنت یا مجموعه ای از داده ها باشد. در دنیای کامپیوتر ، مجموعه ای از داده ها در آرایه نماد سازی می شود.

4.5.            Dta Store

یک data store ارتباط فرآیند را با پایگاه داده نشان می دهد و مکانیزمی برای فعالیت ها ارائه می دهد که اطلاعات ذخیره شده در حوزه فرآیند را بازیابی و آپدیت می کند. این اشیا می تواند برای نشان دادن ارتباط بین دو فرآیند استفاده شوند.

4.6.            Group

با استفاده از نماد گروه (Groups )می توان وظایف و یا اجزای فرآیند را برای درک و فهم ساده تر، گروه بندی کرد.

 

4.7.            Text Annotation

از عنصرText Annotation برای ارائه جزئیات بیشتر و تکمیلی درمورد فرآیند استفاده می شود. این عنصر هیچگونه تاثیری در جریان روند فرآیند به صورت عملی ندارد.

 

4.8.            Message

یک پیام برای نشان دادن محتویات بین دو ارتباط استفاده می شود.