آموزش BPMN2 به زبان ساده + مثالهای کاربردی
![آموزش BPMN2 به زبان ساده + مثالهای کاربردی](/uploads/images/posts/bpmn2-cover-post.jpg)
- نویسنده : برسا نوین رای
- تاریح انتشار : 1402-06-19
- دستهبندیها: مقالات سیستم ساز
- برچسبها:
آیا تا به حال خواستهاید روندها و فرایندهای پیچیدهای که روزانه با آنها سروکار دارید را به زبانی سادهتر و شفافتر بیان کنید؟ مدلسازی فرایندها دقیقاً به همین منظور به وجود آمده است؛ یک نقشه راه برای درک بهتر، بهبود و حتی خودکارسازی فرایندهای کاری.
در این مقاله، شما را با زبان مدلسازی استاندارد BPMN2 آشنا میکنیم، ابزاری که نه تنها به حرفهایها در حوزه مدیریت فرایند کمک میکند، بلکه برای کسانی که در این دنیا تازه وارد هستند نیز جذاب و کاربردی است. آمادهاید اولین گامهایتان را در مسیر مدلسازی فرایندها بردارید؟ بیایید شروع کنیم!
مدلسازی فرایند چیست؟
مدلسازی فرایند BPMN به عنوان جامعترین استاندارد مدلسازی فرایند در مجامع علمی، دانشگاهی و تجاری شناخته میشود. زبان مدلسازی BPMN2 که آخرین نسخه ارائه شده این زبان در دنیا است، با ایجاد ارتباط اصولی و موثر بین طراح سیستم و اجرا کننده، پیادهسازی فرایندهای طراحی شده را عملی و آسان میکند. با استفاده از این زبان مشترک میتوان به سادگی یک سیستم را مدلسازی کرده و با استفاده از نرم افزارهای BPMS، فرایندهای سازمان را به اجرا درآورد.
برای آشنایی بیشتر با مدلسازی فرایند، حتماً به مقاله "مدل سازی فرایندهای کسب و کار با BPMN" سر بزنید.
برای آموزش BPMN2 ابتدا باید با نمادهای بکار رفته در استاندارد BPMN2 توسط مدیران سازمان آشنا شوید. در ادامه میخواهیم به بررسی این نمادها بپردازیم:
نمادهای BPMN2
![نمادهای BPMN2](/uploads/images/posts/bpmn2-symbols.jpg)
4 دسته نماد اصلی در استاندارد BPMN2 وجود دارد که عبارتند از:
- خطوط شناوری یا مسیرهای جریان (Swim lanes)
- مصنوعات (Artifacts)
- اشیاء ارتباط دهنده (Connecting Objects)
- اشیاء جریان (Flow Objects)
لازم است بدانید که نمادهای اصلی استاندارد 2BPMN در واقع مربوط به دسته اشیاء جریان (Flow Objects) هستند. زیرا سایر دستهها پیچیده نیستند اما به دلیل تنوع انواع نمادها در دستهء «اشیاء جریان»، توضیحات مربوط به این دسته بیشتر است.
خطوط شناوری یا مسیرهای جریان (Swim lanes)
خطوط شناوری در استاندارد 2BPMN به دو بخش اصلی Pool و Lane تقسیم میشود:
پول Pool
یک Pool، نماینده یک مرز یا محدوده برای یک موجودیت سازمانی، نقش یا سیستم مستقل است که در فرایندهای کسب و کار مشارکت دارد. به عبارتی، هر Pool نشان دهنده یک "بازیکن" در جریان کلی فرایند است. Pool میتواند شامل جزئیات فرایند باشد (مثل فعالیتها و جریانها) یا فقط به عنوان یک محدوده خالی برای نمایش موجودیت عمل کند.
کاربرد Pool
جدا کردن شرکت کنندگان مستقل: تعاملات بین سازمانها، بخشها یا تیمهای مختلف را نمایش میدهد.
مشخص کردن مالکیت فرایندها: هر Pool مالک فرایندهای درون خود است.
ارتباطات بین Poolها: معمولاً ارتباطات بین Poolها از طریق پیامها (Message Flow) نشان داده میشود.
ظاهر و ویژگیهای Pool
هر Pool یک مستطیل بزرگ است که شامل خطوط و اجزای داخلی میشود. هر Pool معمولاً یک نام دارد که مشخص میکند چه موجودیتی را نشان میدهد (مثلاً "واحد فروش" یا "مشتری").
مثال
تصور کنید یک فرایند خرید آنلاین را مدل میکنید. در این حالت:
یک Pool میتواند "شرکت فروشنده" باشد که شامل فعالیتهایی مانند تأیید سفارش و ارسال کالا است.
Pool دیگر میتواند "مشتری" باشد که فعالیتهایی مانند ثبت سفارش و پرداخت را انجام میدهد.
این دو Pool با یکدیگر از طریق Message Flow برای تبادل اطلاعات در ارتباطاند.
به زبان ساده، Pool در BPMN مثل زمین بازی هر تیم است که محدوده عملکرد و نقشهایشان را مشخص میکند!
![pool در BPMN2](/uploads/images/posts/bpmn2-pool.jpg)
لین Lane
در BPMN2، مفهوم Lane به عنوان یکی از اجزای درون Pool استفاده میشود تا نقشها، مسئولیتها یا واحدهای مختلف در یک فرایند را به شکلی دقیقتر نمایش دهد. یک Lane زیرمجموعهای از یکPool است که برای تفکیک وظایف یا شخصیتها درون یک موجودیت سازمانی به کار میرود. به زبان ساده،Lane به شما کمک میکند فعالیتهای مربوط به بخشها، تیمها یا افراد مختلف را در یک Pool به صورت واضح و مرتب سازماندهی کنید.
کاربرد Lane
تفکیک نقشها: Laneها معمولاً برای نمایش نقشهای مختلف (مثل مدیر فروش یا کارشناس مالی) در یک فرایند استفاده میشوند.
مشخص کردن مسئولیتها: هر Lane نماینده یک بخش یا شخص خاص است و وظایفی که در آن Lane قرار دارند به همان نقش مرتبطاند.
وضوح در فرایندها: با استفاده از Lane، میتوان نشان داد که چه کسی یا کدام تیم مسئول اجرای هر فعالیت است.
ظاهر و ویژگیها
Laneشبیه به نوارهایی افقی یا عمودی درون یک Pool است.
هر Lane معمولاً یک نام دارد که نقش یا بخش مربوطه را مشخص میکند (مثل "بخش فروش" یا "واحد منابع انسانی").
Laneها میتوانند به تعداد دلخواه درون یک Pool قرار بگیرند.
مثال
فرض کنید در یک شرکت فرایند مدیریت پروژهای طراحی کردهاید:
Pool: نماینده کل شرکت است.
Lane اول: "مدیر پروژه"، وظایف مربوط به برنامهریزی و هماهنگی را نشان میدهد.
Lane دوم: "تیم توسعه"، شامل فعالیتهایی مانند کدنویسی و تست است.
Lane سوم: "بخش مالی"، مسئولیت بررسی بودجه و پرداختها را بر عهده دارد.
به زبان ساده،Lane در BPMN2 مثل خطوط مترویی است که مسیر هر تیم یا فرد را در نقشه کلان فرایندها مشخص میکند.
![lane در BPMN2](/uploads/images/posts/bpmn2-lane.jpg)
مصنوعات (Artifacts)
در BPMN2، مصنوعات (Artifacts) ابزارهایی هستند که برای افزودن جزئیات، توضیحات یا اطلاعات تکمیلی به مدلهای فرایند استفاده میشوند. این عناصر کمک میکنند تا مدلها قابل فهمتر و شفافتر باشند، بدون اینکه جریان اصلی فرایند تحت تأثیر قرار گیرد.
انواع مصنوعات در BPMN 2
سه نوع مصنوعات اصلی در bpmn2 وجود دارد:
-
Object Data یا شیء دادهای
-
تعریف: نمایانگر دادهها یا اطلاعاتی است که در طول فرایند تولید، استفاده یا تغییر میکنند. مثلاً: فرم درخواست، فایل گزارش یا سند پرداخت.
-
ظاهر: با نمادی شبیه به یک کاغذ (مستطیل با گوشههای خمیده) نشان داده میشود.
-
-
Group یا گروه H5
-
تعریف: برای دستهبندی یا گروهبندی مجموعهای از عناصر در یک فرایند بهکار میرود. هیچ تأثیری بر ترتیب یا جریان فرایند ندارد، بلکه فقط برای اهداف نمایشی یا تحلیلی استفاده میشود.
-
ظاهر: با یک مستطیل خطچین نمایش داده میشود.
-
-
Annotation یا یادداشت:
-
تعریف: توضیحات یا یادداشتهای متنی برای ارائه اطلاعات اضافی درباره یک فعالیت، رویداد یا کل فرایند.
-
ظاهر: این یادداشتها به کمک خطوط نقطهچین به عناصر متصل میشوند
-
کاربرد مصنوعات
-
افزایش وضوح: افزودن توضیحات یا جزئیات برای درک بهتر مدل.
-
مستندسازی: ارائه اطلاعات اضافی که ممکن است برای کاربران، تحلیلگران یا توسعهدهندگان مفید باشد.
-
گروهبندی منطقی: مرتبسازی عناصر مرتبط در دستههای معنادار.
-
نمایش دادهها: مشخص کردن اطلاعاتی که در فرایند تولید، اصلاح یا استفاده میشوند.
مثال
در یک فرایند درخواست مرخصی:
-
Object Data: سند "فرم درخواست مرخصی".
-
Group: گروهبندی فعالیتهای مرتبط با تأیید درخواست.
-
Annotation: یادداشتی که توضیح میدهد "مرخصی باید حداقل یک هفته قبل از تاریخ مورد نظر درخواست شود".
به زبان ساده، مصنوعات در BPMN مثل حاشیهنویسیها و ابزارهای کمکی در یک نقشه راه هستند که جزئیات و شفافیت بیشتری به مسیر اضافه میکنند.
اشیاء ارتباط دهنده (Connecting Objects)
![اشیاء ارتباط دهنده (Connecting Objects) در BPMN2](/uploads/images/posts/bpmn2-connecting-object.jpg)
در BPMN2، اشیاء ارتباط دهنده مثل پلهایی هستند که بخشهای مختلف یک فرایند را به هم وصل میکنند. این عناصر کمک میکنند جریان کار و ارتباطات بین اجزای مدل به صورت شفاف و مرتب نمایش داده شود. به کمک این ابزارها، میتوانید مسیر حرکت کارها و پیامها را در فرایندتان به سادگی دنبال کنید و مطمئن شوید همه چیز سر جای خودش قرار دارد!
انواع اشیاء ارتباط دهنده در BPMN2
-
Sequence Flow یا جریان ترتیبی:
تعریف: نمایش دهنده ترتیب اجرای فعالیتها یا رویدادها در یک فرایند است. مشخص میکند که پس از تکمیل یک فعالیت، کدام فعالیت بعدی اجرا خواهد شد.
-
ظاهر: یک خط پیوسته با یک فلش در انتها.
-
مثال: بعد از تأیید درخواست مرخصی، ارسال ایمیل به کارمند انجام میشود.
-
-
Message Flow یا جریان پیام:
-
تعریف: برای نشان دادن تبادل پیام بین دو Pool مختلف یا عناصر مستقل در یک فرایند استفاده میشود. مشخص میکند که اطلاعات یا پیامها چگونه و بین چه کسانی ردوبدل میشوند.
-
ظاهر: یک خط نقطه چین با فلش در انتها.
-
مثال: پیام ارسال سفارش از مشتری به فروشنده.
-
-
Association یا وابستگی:
-
تعریف: برای اتصال مصنوعات (Artifacts) به عناصر اصلی فرایند به کار میرود. ارتباط میان توضیحات، دادهها، یادداشتها با عناصر فرایند را مشخص میکند.
-
ظاهر: یک خط نقطهچین که میتواند فلش داشته باشد یا نداشته باشد.
-
مثال: یادداشت توضیحات را به یک فعالیت خاص متصل میکند.
-
مقایسه کلی انواع اشیاء ارتباطدهنده
-
Sequence Flow فقط در داخل یکPool استفاده میشود و نمیتواند بین دو Pool ارتباط برقرار کند.
-
Message Flow برای نمایش ارتباطات بیرونی (بین Poolها) طراحی شده است.
-
Association بیشتر برای مقاصد نمایشی و مستندسازی استفاده میشود و بر جریان فرایند تأثیر مستقیم ندارد.
مثال از انواع اشیاء ارتباطدهنده
فرض کنید یک فرایند خرید آنلاین را مدلسازی میکنید:
-
Sequence Flow : کاربر ابتدا سفارش را ثبت میکند، سپس پرداخت انجام میشود.
-
Message Flow : سیستم تأییدیه خرید را از فروشگاه به کاربر ارسال میکند.
-
Association : یک یادداشت توضیحی متصل به فعالیت "بررسی موجودی انبار" است.
اشیاء ارتباطدهنده در BPMN مثل جادهها و پلهایی هستند که مسیرها و ارتباطات بین اجزای مختلف فرایند را به هم وصل میکنند و جریان کار را شفافتر میسازند.
اشیاء جریان (Flow Objects)
در BPMN2، اشیاء جریان (Flow Objects) قلب یک مدل فرایند هستند. این عناصر نشان دهنده فعالیتها، رویدادها و تصمیمگیریهایی هستند که در طول یک فرایند کسب و کار اتفاق میافتد. به زبان ساده، این اشیاء بخشهایی از فرایند را نشان میدهند که واقعاً "اتفاق میافتند" یا کارهایی که باید انجام شوند.
انواع اشیاء جریان
-
Event یا رویداد:
-
تعریف: نشان دهنده اتفاقاتی است که در طول یک فرایند رخ میدهند.
-
انواع:
-
Start Event: شروع یک فرایند.
-
Intermediate Event: رویدادهایی که در میان فرایند رخ میدهند.
-
End Event: پایان فرایند.
-
-
ظاهر: دایرههایی با نمادهای مختلف (مثل فلش، ساعت، یا پیام).
-
رویداد شروع: با یک دایره با خط باریک نشان داده میشود.
-
رویداد میانی: دایرهای با دو خط باریک دور آن نمایش داده میشود.
-
رویداد پایانی: با یک دایره با خط پهن و توپر مشخص میشود.
-
-
مثال: دریافت یک ایمیل (Start Event)، انتظار برای پاسخ مشتری (Intermediate Event)، پایان تأیید درخواست (End Event)
-
-
Activity یا فعالیت:
در BPMN2، Activity یا فعالیت به کارها یا وظایفی اشاره دارد که در طول یک فرایند انجام میشوند. این فعالیتها به دو دسته اصلی تقسیم میشوند Task و Sub-Process که هر یک از این بخشها جزئیات و ویژگیهای خاص خود را دارند.
Task یا وظیفه:
Taskنمایانگر یک فعالیت ساده و مستقل است که به عنوان یک واحد کاری پایه در فرایند شناخته میشود. این فعالیت معمولاً در مدت زمان کوتاهی اجرا شده و نیازی به جزئیات پیچیده یا بخشبندی ندارد. تسکها یا وظایف انواع مختلفی دارند:
-
User Task: وظایفی که توسط یک کاربر انسانی انجام میشود (مثل پر کردن فرم).
-
Service Task: وظایفی که به صورت خودکار توسط سیستم انجام میشوند (مثل ارسال ایمیل اتوماتیک).
-
Manual Task: وظایفی که بدون سیستم و به صورت دستی انجام میشوند (مثل بستهبندی کالا).
-
Script Task: وظایفی که شامل اجرای یک اسکریپت خاص توسط سیستم هستند.
-
Business Rule Task: وظایفی که قوانین کسب و کار را اجرا میکنند
ظاهر: یک مستطیل با گوشههای گرد.
Sub-Process یا زیرفرایند:
Sub-Process یا زیرفرایند، نمایانگر مجموعهای از فعالیتهای مرتبط است که به عنوان یک فرایند کوچکتر در دل فرایند اصلی عمل میکند. این دسته زمانی استفاده میشود که فعالیتهای پیچیدهای وجود داشته باشد که نیاز به تجزیه به وظایف کوچکتر دارند. هر زیرفرآیند میتواند شامل رویدادها، وظایف و حتی Gatewayها باشد. Sub-Process یا زیرفرآیند میتواند دو نوع باشد:
-
Embedded Sub-Process: به عنوان بخشی از فرایند اصلی طراحی میشود و کاملاً به آن وابسته است.
-
Reusable Sub-Process: میتوان آن را در چندین فرایند مختلف استفاده کرد.
ظاهر: شبیه به یک Task است، اما با یک علامت کوچک (+) در پایین آن که نشان دهنده قابلیت گسترش است. در صورت لزوم میتوان محتوای آن را باز کرد و جزئیات داخلی را نمایش داد.
مثال: پردازش درخواستهای وام (شامل بررسی مدارک، تأیید اعتبار و تصمیمگیری).
مقایسه Task و Sub-Process
استفاده از Task یا Sub-Process بستگی به سطح جزئیاتی دارد که میخواهید در مدلسازی فرایند نشان دهید. اگر نیاز به توضیح ساده و سریع دارید، از Task استفاده کنید. اما برای نمایش بخشهای پیچیدهتر و منظمتر،Sub-Process گزینه بهتری است.
-
-
دروازه یا Gateway H5
در BPMN2، دروازهها (Gateways) نقاط تصمیمگیری یا انشعاب هستند که جریان فرایند را بر اساس شرایط مختلف هدایت میکنند. این عناصر به شما کمک میکنند تا جریان کار را کنترل کنید، مسیرهای مختلف را بررسی کنید یا فعالیتها را به طور موازی اجرا کنید. دروازهها انواع مختلفی دارند که هرکدام نقش خاصی در مدلسازی فرایند دارند.
Exclusive Gateway یا دروازه انحصاری
این نوع دروازه فقط یکی از مسیرهای موجود را انتخاب میکند. یعنی بر اساس شرط یا وضعیت، یک مسیر را انتخاب میکند و سایر مسیرها نادیده گرفته میشوند.
ظاهر: لوزی با یک علامت × در داخل.
مثال: آیا پرداخت موفقیتآمیز بود؟ (اگر بله، به مسیر "ارسال کالا" برو؛ اگر نه، به مسیر "اطلاع به مشتری" برو).
Parallel Gateway یا دروازه موازی
دروازه parallel برای شروع یا ادامه چند مسیر به طور همزمان استفاده میشود. تمام مسیرهای متصل به دروازه بهطور همزمان شروع میشوند. نیازی به شرط خاصی نیست.
ظاهر: لوزی با یک علامت + در داخل.
مثال: پس از ارسال کلا، به صورت همزمان سیستم انبارداری بهروزرسانی شود و به مشتری نیز اطلاع داده شود.
Inclusive Gateway یا دروازه شمولی
دروازه Inclusive میتواند یک یا چند مسیر را بر اساس شرایط انتخاب کند. چندین مسیر همزمان میتوانند فعال شوند. در صورت لزوم تمام مسیرهایی که شرایط آنها برقرار است، اجرا میشوند.
ظاهر: لوزی با دایرهای توخالی در داخل.
مثال: اگر کاربر درخواست هدیه داده باشد و موجودی کافی در انبار باشد، هم هدیه ارسال شود و هم ایمیل تشکر فرستاده شود.
Event-Based Gateway یا دروازه مبتنی بر رویداد
دروازه مبتنی بر رویداد، مسیر را بر اساس وقوع یک رویداد خاص هدایت میکند. تنها یک مسیر انتخاب میشود و آن مسیری است که رویداد مربوط به آن زودتر رخ دهد. معمولاً این دروازه پس از رویداد شروع Intermediate Event استفاده میشود.
ظاهر: لوزی با دایرهای کوچک در داخل و علامت پنج ضلعی
مثال: مشتری یا فرم تماس ارسال میکند یا با پشتیبانی تماس میگیرد؛ هرکدام زودتر رخ دهد، آن مسیر ادامه پیدا میکند.
Complex Gateway یا دروازه پیچیده
این دروازه برای شرایط پیچیدهتر استفاده میشود که نیازمند منطق ترکیبی هستند. دروازه پیچیده میتواند شامل ترکیبی از شرایط و رویدادها باشد. این نوع دروازه نیازمند تعریف دقیق قوانین یا اسکریپتهای منطقی است.
ظاهر: لوزی با ستاره در داخل.
مثال: اگر در آزمون رانندگی شرکت کنید، سه حالت ممکن است اتفاق بیفتد. اگر در آزمون آیین نامه قبول نشوید، باید مجدد در کلاسهای آیین نامه شرکت کنید و مجدد آزمون دهید. اگر در آزمون شهری قبول نشوید باید 1 جلسه دیگر کلاس رانندگی شهری را بگذرانید و مجدد آزمون دهید. در نهایت اگر هر دو آزمون را قبول شوید، گواهینامه خود را دریافت خواهید کرد.
جدول مقایسه انواع دروازهها
نکته
دروازهها بخش مهمی از مدلسازی فرایند هستند و به شما امکان میدهند جریانهای مختلف را دقیقاً بر اساس نیازهای کسب و کارتان طراحی و مدیریت کنید. استفاده صحیح از آنها، شفافیت و کارایی فرایند را تضمین میکند!
چرا اشیاء جریان مهماند؟
اشیاء جریان به شما امکان میدهند تا:
-
فرایندها را دقیقاً همانطور که اتفاق میافتند، مدلسازی کنید.
-
جریان کار را قابل درک و پیگیری کنید.
-
تصمیمگیریها و کارها را در مسیرهای مشخص قرار دهید.
به زبان ساده، اشیاء جریان مثل قهرمانهای داستان فرایند شما هستند که هر کدام وظیفهای دارند و با کمک هم مسیر کلی کار را به جلو میبرند.
سخن پایانی
مدلسازی فرایندها با BPMN2 ابزاری قدرتمند و استانداردی جهانی برای تجسم، درک و بهینهسازی فرایندهای کسب و کار است. این زبان مدلسازی با عناصر متنوع خود، از فعالیتها و رویدادها گرفته تا دروازهها و مصنوعات، به شما امکان میدهد تا پیچیدگیهای فرایند را به شکلی ساده و شفاف نمایش دهید.
در این مقاله، اجزای اصلی BPMN2 را بررسی کردیم. این اجزا در کنار هم، بستری فراهم میکنند تا نه تنها بتوانید فرایندهای موجود را مستند کنید، بلکه بتوانید نقاط ضعف و گلوگاههای احتمالی را شناسایی کرده و برای بهبود آنها اقدام کنید.
اگر چه BPMN2 در ابتدا ممکن است پیچیده به نظر برسد، اما با تمرین و استفاده مداوم، به ابزاری ارزشمند تبدیل میشود که هم تیمهای فنی و هم سایر تیمهای کسب و کار میتوانند به راحتی از آن بهره ببرند. حالا وقت آن است که دست به کار شوید و فرایندهای خود را به سطح بالاتری ارتقا دهید!