در این مقاله به آموزش bpmn2 در سیستم ساز می پردازیم.

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

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

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

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

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

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

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

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

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

نوع نمودار: در این قسمت نوع نمودار فرآیند را می توانید از بین گزینه های دیاگرام فعالیت (نسخه 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) تا زمانی که فرآیند را ذخیره و مجددا آن را اجرا نکنیم نمی توان نقش تعریف شده را دید.

لینک های پیشنهادی