به دلیل تنوع فعالیتها و قوانین مدلسازی اساسی در استاندارد BPMN، یک مدلساز ممکن است در مورد اینکه کدام نوع فعالیت باید در یک زمینه خاص استفاده گردد و همچنین زمان به کاربردن آن، دچار سردرگمی شود.
فعالیت ها چه هستند؟ استاندارد BPMN یک فعالیت را بدین صورت تعریف می نماید «کاری که یک شرکت یا سازمان با استفاده از فرآیندهای کسبوکار انجام میدهد».
یک فعالیت میتواند تجزیهناپذیر یا مرکب باشد. انواع فعالیتهای موجود در یک مدل فرایندی مبتنی بر BPMN عبارتنداز: فرایند، زیرفرآیند و وظیفه. یک فعالیت خاص «فعالیت صدازننده (call activity)» است که وجود وظایفی با قابلیت استفاده مجدد و زیرفرایندها را در یک دیاگرام ممکن میسازد. یک فعالیت به وسیله یک مستطیل با گوشههای گرد و نامگذاری شده طبق نوع کار موردنیاز، نمایش داده میشود.
وظایف و زیرفرایندها حالت نمایش گرافیکی خاص خود را دارند. این درحالی ست که یک فرایند با یک شی گرافیکی خاص مشخص نمی شود؛ چراکه خود، دربردارنده مجموعهای از اشیاء گرافیکی مختلف میباشد.
یک وظیفه یک فعالیت تجزیه ناپذیر است که در دل یک فرایند گنجانده می شود. یک وظیفه هنگامی مورد استفاده قرار می گیرد که کار موردنظر در داخل فرایند نمیتواند به سطح کوچکتری از جزئیات شکسته شود. معمولاً یک وظیفه توسط کاربر نهایی یا برنامه کاربردی یا هردو، انجام میپذیرد. یک زیرفرایند شکلی شبیه به یک وظیفه دارد، که همان مستطیل با گوشههای گرد است.
یک زیرفرایند، درحقیقت فرایندی است که در داخل یک فرایند دیگر گنجانده میشود. یک زیرفرایند میتواند به منظور نمایش یا عدم نمایش جزئیاتش در نمایی از فرایندی که آن را شامل می شود، باز یا بسته میشود.
تنوع در فعالیتها یک فرایند کسبوکار میتواند شامل انواع مختلفی از فعالیتها باشد. برای نمونه موارد زیر را در نظر بگیرید:
وظایف: میتوانند به صورت دستی با پشتیبانی سیستمهای IT یا به صورت کاملاً خودکار انجام شوند. وظایف یا زیرفرایندها: میتوانند یکبار یا بیشتر انجام شوند. زیرفرایندها: به صورت تراکنشها یا زیرفرایندهایی عمل میکنند که توالی فعالیتهای آنها به طور واضح مشخص نیست.
BPMN انواع مختلفی از فعالیتها را پشتیبانی میکند که با ویژگیهای استاندارد، مفهوم و رفتار خود را مشخص میکنند. تصویر بعدی، پیچیدگی فعالیتهای BPMN را با مثالی از یک «وظیفه جبران مبتنی بر سرویس با قابلیت تکرار (repeatable service-based compensation task)» نشان میدهد. بیایید تصویر را به مفاهیم تشکیل دهنده آن تجزیه کنیم:
وظیفه با برخی از انواع سرویسها از جمله وبسرویس یا یک برنامه خودکار عمل میکند. ویژگی حلقه (loop) استاندارد مشخص میکند که وظیفه تکرار میشود. در این مورد نیاز است معیارهای تکرار نیز تعریف شوند. ویژگی جبران (compensation) آن، وظیفهای را مشخص میکند که فقط میتواند به هنگام متوقف شدن یک فرآیند تراکنشی اجرا گردد.
به دلیل تنوع فعالیتها و قوانین مدلسازی اساسی در استاندارد BPMN، یک مدلساز ممکن است در مورد اینکه کدام نوع فعالیت باید در یک زمینه خاص استفاده گردد و همچنین زمان به کاربردن آن، دچار سردرگمی شود. در ادامه اغلب اشتباهات رایج و بهترین اقدام ممکن به هنگام استفاده از فعالیتها در یک مدل فرآیندی، بیان خواهد شد. اشتباه ۱: استفاده از زیرفرآیندها به جای وظیفهها مشکل. مدلسازهای BPMN اغلب ماهیت دو نوع فعالیت اصلی شامل زیرفرآیند و وظیفه را اشتباه متوجه میشوند. آنها یک وظیفه را به عنوان یک «واحد کاری ساده» و یک زیرفرآیند را به عنوان یک «واحد کاری پیچیدهتر» میشناسند. اگرچه این تصور تا حدی درست است، ولی بهتر است نگاهی به یک مثال نقض بیندازیم. در یک فرآیند کسبوکار واقعی، پیچیدگی مربوط به فعالیتها میتواند اندازهگیری شود. پیچیدگی، عاملی تصمیمگیر به هنگام انتخاب زیرفرآیند یا وظیفه در یک مدل فرآیندی نیست. مدلساز باید آگاه باشد که یک زیرفرآیند، زمانی استفاده میشود که جزئیاتش درقالب وظیفههای اساسی یا زیرفرآیندها قابلیت تعریف شدن داشته باشند. این بدین معناست که اگر فعالیتهای پیچیده دنیای واقعی نتوانند به اجزاء کوچکتری تجزیه گردند، باید به صورت یک وظیفه درنظرگرفته شوند. از طرف دیگر یک فعالیت ساده میتواند به صورت یک زیرفرآیند مدل شود اگر مدلساز تصمیم به تجزیه کردن آن بگیرد.
راهحل. از یک زیرفرآیند استفاده کنید، اگر تصمیم به تجزیه کردن آن به چند جزء را دارید. از یک وظیفه استفاده کنید، اگر قصد تعریف کردن اجزاء مختلف را ندارید.
اشتباه ۲: استفاده از حلقه تکرار به جای بکارگیری نمونههای متفاوت مشکل. معمولاً اینکه کدام نوع حلقه فعالیت باید مورد استفاده قرار گیرد، امری ناواضح است: حلقه استاندارد یا بکارگیری نمونههای متفاوت (multiple instance marker). علاوه بر این، BPMN۲.۰، فعالیتهایی که شامل نمونههای مختلف است را به فعالیتهای ترتیبی یا موازی تقسیم مینماید.
راه حل. از قوانین ذیل به هنگام مدلسازی حلقههای فعالیت استفاده نمایید: هنگامی که یک فعالیت ماهیت تکرارشوندگی دارد، از نشانه حلقه استاندارد (فلش خمیده) استفاده نمایید. این بدان معناست که عملیات مادامی که شرط اصلی برقرار است، تکرار میگردد. این شرط باید به ازای هر تکرار ارزیابی شده و ممکن است در ابتدا یا انتهای هر تکرار قرار گیرد. به علاوه، یک عدد میتواند به صورت اختیاری مشخص گردد. در این صورت، تعداد تکرارها نمیتواند از آن عدد تجاوز نماید. شرط تکرار حلقه میتواند به صراحت با یک رویداد شرطی میانی تعریف شود. هنگامی که چندین نمونه فعالیت موردنیاز است، از نشانه چند-نمونهای (سه خط عمودی یا افقی) استفاده کنید. این بدان معناست که یک فعالیت چندین بار با چندین مجموعه داده مختلف اجرا شده است. برای مثال، هنگامی که مدیر یک شرکت، گزارشهایی از کارمندان خود دریافت میکند، نیازمند این است که آنها را چندین بار با دادههای متفاوتی ارزیابی کند. این کار می تواند به صورت موازی انجام شود و نشانه فعالیت چند-نمونهای باید برای نمونههای موازی استفاده گردد (سه خط عمودی). درمقابل، درصورتی که یک کار صرفاً میتواند به صورت متوالی انجام شود، از نشانه فعالیت چند-نمونهای برای نمونههای متوالی میبایست استفاده گردد.
اشتباه ۳: Laneهای چندگانه مشکل. فعالیتها معمولاً به Laneهای مختلفی دستهبندی میشوند. این دستهبندی طبق این امر صورت میپذیرد که چه کسی قرار است آن را انجام دهد یا در قبال آن مسئول است. طبق این فرض، یک مدلساز ممکن است یک فرآیند کسبوکار را به صورت نادرست به طرق زیر مدل کند:
-وظیفه۱ توسط شخص ب انجام شده است، -وظیفه۲ توسط شخص الف انجام شده است، -وظیفه۳ توسط هردوی آنها انجام شده است.
این رویکرد، نادرست است. یک عنصر جریانی (flow) (فعالیت، دروازه و رویداد) صرفاً میتواند درون یک Lane و نه مابین آنها قرار گیرد.
راهحل. رایجترین راهکار در این مورد، ایجاد دو فعالیت از همان نوع است که در Laneهای جداگانهای قرار داده میشود. در این مورد، خروجی جریان از وظیفه قبل (وظیفه۲) به دو جریان تقسیم میشود که برای هردو شخص به وظیفه۳ منتهی میشوند. تقسیمبندی جریانها میتواند کنترل نشده باشد (در حالت نبود یک دروازه، همانطور که درتصویر زیر مشخص است) یا کنترل شده باشد (به وسیله یک دروازه موازی). توجه داشته باشید که برخی ابزارهای BPMN، اجازه نمیدهند که چند فعالیت نام یکسانی داشته باشند. در این مورد یک برچسب توضیحی میتواند به نام وظیفه اضافه شود (همچون وظیفه۳ مربوط به شخص الف)
نتیجه در این مطلب مفهوم فعالیتهای BPMN را معرفی نمودیم. این فعالیتها برای بازنمایی کارهایی که میبایست در یک فرایند کسبوکار انجام شود، مورد استفاده قرار میگیرند. BPMN اجازه ترکیب سلسله مراتبی فعالیتهای تجزیهناپذیر (وظایف) در فعالیتهای ترکیبی (زیرفرآیندها) را فراهم مینماید. علاوه بر آن، ویژگیها میتوانند به منظور خصوصیسازی مفاهیم و رفتارهایشان به فعالیتها منتسب شوند.
با وجود آن که انواع مختلفی از فعالیت ها وجود دارد، یک مدل ساز ممکن است یکی از انواع اشتباه را انتخاب نماید. این امر می تواند منجر به تفسیر اشتباه یا حتی اجرای نادرست مدل های فرآیندی گردد. در این مطلب، سه اشتباه رایج مربوط به استفاده ناصحیح از فعالیت های BPMN همراه با راه حل ارائه شد.