آموزش BPMN2

معرفی فرآیند BPMN 2 سیستم‌ساز

فصل اول – معرفی و آشنایی با مفاهیم و المان‌های فرآیند سیستم‌ساز

نحوه تعریف فرآیند

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

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

با این کار پنجره‌ای مشابه شکل زیر باز می‌شود.

در اینجا بر روی دکمه "جدید" کلیک کرده و فرم زیر اجرا می‌گردد. و فیلدهای زیر را دارد:

عنوان: نام فرآیند را در این فیلد می‌نویسیم.

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

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

نوع نمودار: در این قسمت نوع نمودار فرآیند را می‌توانید از بین گزینه‌های دیاگرام فعالیت (نسخه BPMN 1 سیستم‌ساز) یا دیاگرام BPMN 2 (نسخه جدید فرآیند BPMN 2) انتخاب کنید.

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

نکته: فرآیند از نوع دیاگرام فعالیت قابل تبدیل به نسخه BPMN 2 است اما برعکس آن امکان‌پذیر نیست، پس در انتخاب آن دقت کنید.

توجه: اگر فرآیند از نوع دیاگرام فعالیت را به نوع BPMN 2 تغییر دهید دیگر قابلیت برگشت به حالت قبل را ندارد.

رنگ فرم‌ها: باعث می‌شود رنگ نوار ابزار فرم‌هایی که در درون فرآیند اجرا می‌شوند به رنگ انتخاب شده تغییر کند.

نکته: این تنظیم در ویندوز اثر ندارد و فقط در وب قابل مشاهده است. همچنین همه رنگ‌ها قابل اعمال نیستند.

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

نمایش دستورات در نوار ابزار: این امکان را می‌دهند که دستورات فرم‌های فرآیند که به‌طور پیش‌فرض در پایین فرم نمایش داده می‌شوند در نوار ابزار نمایش داده شوند.

امکان ثبت یادداشت: این تنظیم امکان ثبت یادداشت را فرآیندهای پیشرفته به کاربران فرآیند می‌دهد. به عبارت دیگر کاربران یادداشت‌هایی وارد می‌کنند کاربران مراحل بعدی آن را مشاهده می‌کنند.

توضیحات: این فیلد متنی را جهت توضیح درباره فرآیند در اختیار توسعه دهنده و طراح قرار می‌دهد.

در صورتی که بخواهیم پس از ایجاد فرآیند مجددا این فرم را مشاهده و تنظیم کنیم از مسیرهای زیر به آن می‌رسیم:

دیاگرام فعالیت:

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

فرآیند BPMN 2:

در این نوع فرآیند از 2 روش می‌توان به فرم فوق دسترسی داشت:

روش اول: در فرم ویرایش فرآیند گزینه "تنظیمات فرآیند" را مطابق شکل زیر، انتخاب می‌کنیم.

روش دوم: در فرآیند المانی به نام pool یا فرآیند داریم که برای فرآیند دامنه عوامل را مشخص می‌کند. با دوبار کلیک بر روی آن یا کلیک راست و انتخاب گزینه "مشخصات" می‌توانیم به تنظیمات آن برسیم.

معرفی محیط فرم ویرایشگر فرآیند BPMN 2

یکی از تغییرات اساسی نسخه جدید فرآیندهای سیستم‌ساز در فرم ویرایش آن است. بخش‌های مختلف آن را در شکل زیر مشاهده می‌کنید.

نوار ابزار
نمایشگر فرآیند
 
  

زیرسیستم "فرآیند پیشرفته 2"

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

معرفی المان‌های فرآیند

مقدمه

در مفاهیم و تعاریف BPMN 2 المان‌های بسیار زیادی تعریف شده است اما سیستم‌هایی که پیاده‌سازی و اجرای فرآیند را پشتیبانی می‌کنند (برخلاف مدل‌سازها)، با توجه به نیازمندی‌های خود المان‌ها را تعریف و پیاده‌سازی می‌کنند.

در سیستم‌ساز نیز که از فرآیندهای BPMN 2 پشتیبانی می‌کند برخی از این المان‌ها پیاده‌سازی شده‌اند و ممکن است در آینده و با توجه به نیازمندهایی که از جانب مشتری‌ها مطرح می‌شود سایر المان‌ها نیز پیاده‌سازی شود.

توجه: برخی از المان‌هایی که در مفاهیم BPMN 2 ارائه شده‌اند می‌توانند به صورت ترکیبی از المان‌های دیگر و یا با تنظیمات آن‌ها ایجاد شوند.

در حال حاضر سیستم‌ساز از المان‌هایی که با رنگ سبز مشخص شده‌اند پشتیبانی می‌کند.

در زیرسیستم "فرآیند پیشرفته 2" در صفحه "نوع شکل"، گروه "1" و گزارش "نوع شکل"

در ادامه به معرفی این المان‌ها می‌پردازیم.

فرآیند (Pool)

در تعاریف مفاهیم BPMN 2 المانی به نام Pool وجود دارد که معادل فارسی مناسبی که بتواند مفهوم آن را به درستی بیان کند وجود ندارد و بهتر است که عملکرد و موارد استفاده آن فهمیده شود.

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

در سیستم‌ساز تنظیمات Pool همان تنظیمات پایه فرآیند است. به عبارت دیگر فرم تنظیمات آن همان فیلدهای فرم ایجاد و ویرایش فرآیند را دارد.

این تنظیمات قبلا بررسی و در صورت نیاز می‌توانید به بخش "نحوه تعریف فرآیند" مراجعه نمایید.ی ایعوععتتتت

المان نقش

تعریف

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

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

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

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

نحوه تعریف

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

سپس با کشیدن و رها کردن آن بر روی فرآیند یک نقش ایجاد می‌کنیم.

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

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

با این کار شکل نمودار به صورت زیر تغییر می‌کند.

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

فرم تنظیمات نقش

با دبل کلیک بر روی عنوان نقش یا انتخاب گزینه "مشخصات" از منوی کلیک راست بر روی آن فرم تنظیمات آن باز می‌شود که به شکل زیر است:

در این فرم فیلدهای زیر را داریم:

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

شرح: توضیحاتی را در مورد این نقش ارائه می‌دهد.

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

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

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

با این تنظیم هر کاربری که در نقش انتخاب شده تعریف شده باشد می‌تواند عامل انجام فعالیت‌های فرآیند باشد.

توجه: در این حالت فقط امکان انتخاب سمت‌ها وجود دارد و خود ساختار سازمانی (واحدها) را نمی‌توان انتخاب نمود.

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

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

  • (سمت/کاربر) انتخاب گروه امنیت: این گزینه عامل منتسب به نقش را از بین گروه‌های امنیت تعریف شده در اطلاعات پایه سیستم انتخاب می‌کند. با انتخاب این گزینه فیلد "گروه امنیت" فعال شده که در آن لیست گروه‌های امنیت تعریف شده نمایش داده می‌شود.

با این تنظیم هر کاربر و نقشی که در گروه امنیت انتخاب شده تعریف شده باشد می‌تواند عامل انجام فعالیت‌های فرآیند باشد.

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

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

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

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

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

نکته: در منوی "قاعده بدست آوردن سمت مرتبط" موارد؟؟؟

  • (سمت/کاربر) فیلد فرم: در این حالت می‌توان کاربر منتسب به نقش را براساس یکی از فیلدهای موجود در فرم بازشده در فرآیند که از نوع کاربر، سمت یا ارجاعی به جداول آن‌ها (SplUser, SplWorkCenter) در پایگاه‌داده است انتخاب شود.
  • (سمت/ کاربر) گزارش: در این حالت عامل منتسب به نقش، کاربر یا سمتی است که براساس یک گزارش بدست می‌آید.

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

فیلد نحوه بدست آوردن انجام‌دهنده دو گزینه در اختیار ما می‌گذارد:

  • رکورد نتیجه گزارش: مشخص می‌کند که کاربر/سمت یا کاربران/سمت‌های مورد نظر در اولین رکورد گزارش تعریف شده قرار دارد.
  • اولین ستون نتیجه گزارش: اولین ستون گزارش تعریف شده را به عنوان فهرست کاربران یا سمت‌های مورد نظر در گزارش را درنظر می‌گیرد.
  • (سمت/کاربر) فرمول محاسبه: کاربر یا سمت مورد نظر را با کدنویسی بدست می‌آورد.

فرم فرآیند فرمی را مشخص می‌کند که می‌خواهیم کدنویسی را بر روی فیلدهای موجود در آن انجام دهیم.

دکمه تست: با فشردن این دکمه درصورت امکان وضعیت نقش انتخاب شده بررسی می‌شود.

زمان مقداردهی:

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

نحوه توزیع کار: ؟؟؟

فصل دوم – ایجاد اولین فرآیند در سیستم‌ساز

اهداف فصل

  • نحوه تعریف و اجرای فرآیند
  • نحوه تعریف نقش‌‌های درگیر در فرآیند
  • معرفی المان‌های رویداد آغاز و پایان

مقدمه

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

تعریف مسئله – درخواست مرخصی

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

تنظیمات اولیه

اطلاعات پایه

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

کاربران:

ساختار سازمانی

زیرسیستم

برای پیاده‌سازی این سناریو ابتدا زیرسیستمی به نام "حضور و غیاب" ایجاد می‌کنیم. سپس به تمامی کاربران تعریف شده دسترسی به این زیرسیستم را می‌دهیم.

موجودیت

فیلدها

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

نام فیلدنوع دادهتوضیحات
تاریخ درخواست مرخصیزمان ایجادزمان ثبت درخواست را به‌طور خودکار ثبت می‌کند
پرسنلایجاد کنندهکاربر درخواست‌دهنده را به‌طور خودکار ثبت می‌کند
وضعیت مرخصیچندمقداری

وضعیت درخواست را با مقادیر: درحال بررسی، تایید شده و رد شده مشخص می‌کند

همچنین این فیلد باید غیرقابل ویرایش بوده و به طور پیش‌فرض درحال بررسی باشد.

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

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

{ساعت پايان مرخصي} - {ساعت شروع مرخصي}

ساعت شروع مرخصیتاریخ و زمانساعت شروع مرخصی ساعتی را مشخص می‌کند
ساعت پایان مرخصیتاریخ و زمانساعت پایان مرخصی ساعتی را مشخص می‌کند
تاریخ پایان مرخصیتاریخ و زمانتاریخ پایان مرخصی روزانه را مشخص می‌کند
میزان مرخصیعدد

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

({تاريخ پايان مرخصي} - {تاريخ شروع مرخصي}).Days

دستورات

در این موجودیت 2 دستور "تایید درخواست" و "رد درخواست" داریم که باید فقط برای فردی که قرار است درخواست را بررسی کند نمایش داده می‌شود.

کدهای این دو دستور عبارت‌اند از:

دستور تائید درخواست:

var frm = new Form_مرخصي (sender);

frm.Value.وضعيت_مرخصي = 2;

frm.SetFieldValue ("وضعيت مرخصي", 2);

frm.Value.CRUD();

دستور رد درخواست:

var frm = new Form_مرخصي (sender);

frm.Value.وضعيت_مرخصي = 3;

frm.SetFieldValue ("وضعيت مرخصي", 3);

frm.Value.CRUD();

تعریف نماها

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

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

نمای اصلی غیرقابل ویرایش: همان نمای اصلی است با این تفاوت که فقط فیلد توضیحات آن قابل ویرایش است.

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

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

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

قواعد کاری

برای این سناریو قاعده کاری زیر را داریم:

قاعده نوع مرخصی: نمای موجودیت را با توجه به نوع مرخصی تعیین می‌کند.

گزارش‌ها

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

توجه: کاربر می‌تواند گزارش‌ها و گروه‌های دیگری هم وجود داشته باشد اما این موارد ضروری است.

به عبارت دیگر اگر کاربر مدیر نباشد لیست گزارش‌های وی به شکل زیر است:

و اگر کاربر مدیر باشد لیست گزارش‌ها به شکل زیر است:

معرفی المان‌های مورد نیاز برای فرآیند

المان رویداد

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

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

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

رویداد آغاز

تعریف

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

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

رویداد آغاز استاندارد

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

نحوه تعریف

برای ایجاد این رویداد همانند سایر المان‌ها با کشیدن و رها کردن در محل مورد نظر آن را ایجاد می‌کنیم.

فرم تنظیمات رویداد آغاز استاندارد

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار زیر المان نمایش داده می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع المان را مشخص می‌کند.

زبانه انتساب اولیه فرم‌ها

در این قسمت مشخص می‌کنید که با اجرای این رویداد چه عملیاتی انجام شود. در اینجا 2 حالت داریم:

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

زبانه انتساب اولیه نقش‌ها

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

رویداد پایان

تعریف

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

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

رویداد پایان استاندارد

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

نحوه تعریف

برای ایجاد این رویداد در آخرین المانی که می‌خواهیم به این رویداد ختم شود کلیک کرده و با انتخاب این المان و کشیدن و رها کردن آن را ایجاد می‌کنیم. با این کار همزمان خط بین دو المان نیز ایجاد می‌گردد.

نکته: با اینکه می‌توان المان‌ها را به طور مستقل هم ایجاد نمود اما در آن حالت خط ارتباطی بین آن‌ها ایجاد نمی‌شود (البته این شرایط برای زمانی است که این مستند نوشته شده است)

  
  
  
  

فرم تنظیمات رویداد پایان استاندارد

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

برای این المان تنظیم خاصی وجود ندارد زیرا فقط نقطه اتمام فرآیند را مشخص می‌کند. فرم تنظیمات فقط فیلدهای مشترک بین تمام المان‌ها را دارد:

عنوان: مقدار نام المان و همچنین نامی که در نمودار زیر المان نمایش داده می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع المان را مشخص می‌کند.

المان فعالیت

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

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

فعالیت انجام فرم

تعریف

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

نحوه تعریف

این المان نیز مثل رویداد پایان با کشیدن از روی المان قبلی ایجاد می‌گردد.

فرم تنظیمات فعالیت انجام فرم

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار فرآیند درون المان نمایش داده می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد. این متن، زمانی که فرم موجودیت درون فرآیند باز می‌شود مشابه مثال زیر، به عنوان توضیح در بالای فرم نمایش داده می‌شود.

مدل: نوع المان را مشخص می‌کند.

فرم: موجودیتی که قرار است فرم آن نمایش داده شود را در این فیلد مشخص می‌کنیم.

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

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

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

نمایش فرم (در صورتی که انجام دهنده داخل سیستم باشد): ؟؟؟

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

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

تأیید خودکار درصورت یکسان بودن کاربر نقش با کاربر انجام دهنده مرحله قبل: ؟؟؟

امکان عودت: فرم را برای کاربر فرستنده آن در فرآیند ارسال می‌کند. به عبارت دیگر این فرم مجددا به کاربر درخواست‌دهنده می‌رسد.

المان دروازه

تعریف

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

در BPMN 2 5 نوع مختلف از این المان‌ها وجود دارد که هر کدام حالت ادغام یا تفکیک جریان را دارند. در سیستم‌ساز متناسب با نیازمندی‌های موجود انواع مختلف آن تعریف شده است. در این فصل با توجه به نیازمندی سناریو، دروازه "شرط" که معادل دروازه انحصاری[2] در BPMN است معرفی می‌‌شود.

دروازه شرط

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

نحوه تعریف

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

فرم تنظیمات دروازه شرط

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار فرآیند در زیر المان نوشته می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع المان را مشخص می‌کند.

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

المان‌های اتصال

تعریف

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

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

نحوه تعریف

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

نکته: کاربر در تعیین مدل اتصال نقشی نداشته و هنگامی که المان بعدی را مشخص می‌کند سیستم به‌طور خودکار مدل اتصال را مشخص می‌کند.

اتصال استاندارد

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

فرم تنظیمات اتصال استاندارد

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار فرآیند در بالای المان نوشته می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع اتصال را مشخص می‌کند.

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

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

اتصال شرط

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

فرم تنظیمات اتصال شرط

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار فرآیند در بالای المان نوشته می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع اتصال را مشخص می‌کند.

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

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

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

فضای ویرایش‌گر شرط: در این بخش می‌توان شرط مورد نظر برای انتخاب تعیین صحت این مسیر را مشخص می‌کنیم.

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

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

اتصال فرم

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

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

فرم تنظیمات اتصال فرم

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

در این فرم فیلدهای زیر را داریم:

عنوان: مقدار نام المان و همچنین نامی که در نمودار فرآیند در بالای المان نوشته می‌شود را مشخص می‌کند.

شرح: توضیحاتی را در مورد این رویداد ارائه می‌دهد.

مدل: نوع اتصال را مشخص می‌کند.

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

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

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

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

  • نمایش پیغام: پیغامی را مشخص می‌کند که زمانی که کاربر دکمه مورد نظر را بر فرم کلیک می‌کند به کاربر نمایش می‌دهد و در آن از کاربر ادامه یا عدم ادامه فرآیند را سوال می‌کند.

برای فعال نمودن این تنظیم ابتدا باید نمایش تاییدیه را انتخاب و سپس نمایش پیغام را فعال نماییم.

با این تنظیم در صورت فشردن دکمه پیغامی مشابه زیر نمایش داده می‌شود:

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

  • نمایش دریافت کننده بعدی: با فعال نمودن این گزینه فرم به شکل زیر تغییر می‌کند:

با این تنظیم امکان انتخاب کاربر یا نقش بعدی در فرآیند را به کاربر می‌دهیم.

در صورتی که همزمان تنظیم نمایش پیغام هم فعال باشد فرم پیغام به شکل زیر نمایش داده می‌شود.

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

  • نقش دریافت‌کننده بعدی: در اینجا نقشی را مشخص می‌کند که کاربر اعمال‌شده به آن به‌عنوان دریافت کننده بعدی فرآیند انتخاب می‌شود.
  • گزارش دریافت کننده بعدی: گزارشی را بر روی موجودیت SplUser ایجاد می‌کند که برای انتخاب کاربر انجام دهنده مرحله بعدی فرآیند استفاده می‌شود. نتیجه این گزارش در لیست بازشونده "انجام‌دهنده بعدی" در فرم تایید انجام مرحله نمایش داده می‌شود.
  • امکان پرکردن یادداشت: ؟؟؟

فرم مرتبط: موجودیت پشت فرم فرآیند را به ما نمایش می‌دهد.

نکته: این قسمت قابل تغییر نمی‌باشد.

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

فرآیند سناریو درخواست مرخصی

تعریف

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

برای پیاده‌سازی این فرآیند مراحل زیر را طی می‌کنیم:

  • تعریف یک فرآیند جدید به نام درخواست مرخصی از مسیر زیر:

زبانه "منطق کاری" ß دکمه "طراحی فرآیند" ß دکمه "جدید"

تنظیمات فرم تعریف فرآیند به شکل زیر می‌باشد:

با این کار یک فرآیند ایجاد می‌شود.

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

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

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

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

مدیر مستقیم: این نقش نیز به طور خودکار کاربری را مشخص می‌کند که نقش مدیر کاربر درخواست‌دهنده مرخصی را دارد و قرار است وضعیت درخواست مرخصی را تایید یا رد کند.

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

بعد از انجام تنظیمات فوق نمودار فرآیند به شکل زیر می‌شود:

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

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

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

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

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

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

نکته: چون قرار است تکمیل‌کننده فرم خودِ کاربر درخواست‌دهنده باشد باید این المان درون محدوده همان نقش ایجاد گردد.

در فرم تنظیمات فعالیت، عنوان آن را "تکمیل فرم"، فرم را "مرخصی" و نمای فرم را "نمای اصلی" اصلی در نظر می‌گیریم و در صورت نیاز توضیحاتی را در بخش شرح می‌نویسیم.

نکته: در اینجا انتخاب گزینه "با انصراف فرم، فرآیند و اشیاء مرتبط با آن حذف شوند" الزامی‌است زیرا درصورتی که کاربر منصرف از ایجاد درخواست شود باید رکورد ایجاد شده برای وی حذف گردد.

تا اینجای کار نمودار به شکل زیر می‌شود:

نکته: اتصال بین دو المان به‌طور خودکار ایجاد می‌شود و از نوع "اتصال" (استاندارد) است.

  • با تکمیل فرم توسط کاربر باید آن را جهت تایید برای مدیر متناظر ارسال کنیم. به همین منظور با کلیک بر روی المان تکمیل فرم و انتخاب المان "فعالیت" آن را کشیده و در محدوده نقش "مدیر مستقیم" رها می‌کنیم.

تنظیمات فعالیت عبارت‌اند از عنوان: بررسی درخواست. فرم: مرخصی. نمای فرم: نمای تایید

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

پیشنهادات

  • استفاده از متن توضیحات (شرح) نوشته شده در تنظیمات المان‌ها برای نمایش بر روی المان‌ها زمانی که نشانگر موس روی آن قرار می‌گیرد.
  • نام‌گذاری المان آغاز None به آغاز استاندارد

خطاها

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