اشتباهات رایج در مدلسازی BPMN: فعالیت ها

فعالیت ها چه هستند؟

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

 

                                         

 

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

 

                                         

 

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

     

 

تنوع در فعالیت ها

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

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

BPMN انواع مختلفی از فعالیت ها را پشتیبانی می کند که با ویژگی های استاندارد، مفهوم و رفتار خود را مشخص می کنند. تصویر بعدی پیچیدگی فعالیت های BPMN را با یک مثال از یک "وظیفه جبران مبتنی بر سرویس با قابلیت تکرار (repeatable service-based compensation task) " نشان می دهد. بیایید تصویر را به مفاهیم تشکیل دهنده ی آن تجزیه کنیم:

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

      

 

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

 

اشتباه ۱: استفاده از زیرفرآیندها به جای وظیفه ها 

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

 

 

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

 

اشتباه 2: استفاده از حلقه تکرار به جای بکارگیری نمونه های متفاوت

مشکل. معمولا اینکه کدام نوع حلقه فعالیت باید مورد استفاده قرار گیرد امری ناواضح است: حلقه استاندارد یا بکارگیری نمونه های متفاوت (multiple instance marker). علاوه بر این، BPMN2.0، فعالیت هایی که شامل نمونه های مختلف است را به فعالیت های ترتیبی یا موازی تقسیم می کند.

 

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

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

 

اشتباه 3: Lane های چندگانه

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

  • وظیفه1 توسط شخص ب انجام شده است،
  • وظیفه2 توسط شخص الف انجام شده است،
  • وظیفه3 توسط هردوی آن ها انجام شده است.

این رویکرد نادرست است. یک عنصر جریانی (flow) (فعالیت، دروازه و رویداد) فقط می تواند درون یک Lane و نه مابین آنها قرار گیرد.

 

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

 

نتیجه گیری:

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

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


نویسنده: Gregor Polancic

منبع: Common BPMN modeling mistakes: Activities

ترجمه: پروانه سلیمانی


 

درباره رایورز

شرکت مهندسی نرم‌افزار رایورز در اوایل سال 1368 توسط جمعی‌از فعالین حرفه نرم‌افزار تأسیس گردید...

بیشتر بدانید

ارتباط با ما

  • تهران، خيابان ولی عصر، نرسيده به توانير، خيابان احتشام، شماره 5
  • 89326000

  • BPMS@rayvarz.com

خبرنامه پایگاه دانش BPM