تعریف Pool در زبان مدلسازی BPMN
استفاده از Laneها در مدلسازی فرایند با وجود نمادهای مدلسازی فرایند BPMN2.0 چندان موضوع پیچیدهای نیست. اما دقیقا به دلیل همین سادگی و عدم شناخت کافی از دو مفهوم Pool و Lane است که برخی کاربران هنگام مدلسازی فرایند با استفاده از نمادهای BPMN2.0 دچار اشتباه میشوند.
در این یادداشت ابهامات و اشتباهات رایج در مورد Poolها و Laneها در دو سطح تحلیلی و اجرایی بررسی شده و به نگارش درآمده است.
قبل از پرداختن به اصل مطلب لازم است یادآوری شود که از Poolها برای گروهبندی مجموعهای از Laneها استفاده میشود. نامگذاری این دو عنصر از زبان مدلسازی BPMN به شکلی استعاری انجام شده و هر دو همان معنای خودشان در عالم واقع را دارند. «حوزه کاری» (با ترجمه لفظی استخر) یا همان Pool مجموعهای بزرگ است که در خود «نقشکاری» یا همان Laneها را جای داده است.
شاید نامگذاری pool یا همان محدود کاری بیدلیل با معنی تحت الفظی آن «استخر» نباشد، چرا که از منظر بالا، تمام استخر به مثابه یک pool و خطوط جداکننده برای مسابقات شنا معرف laneها یا نقشهای کاری میباشند. (برای مشاهده فیلم روی عکس کلیک فرمایید)
- Laneها در زبان مدلسازی BPMN2.0
از Laneها یا نقشهای کاری برای دستهبندی وظایف تعریف شده در یک فرایند با توجه به آنکه واحد سازمانی (به طور مثال مدیریت مالی) یا پست سازمانی (به طور مثال جمعدار اموال) و یا نقشی (به طور مثال کارشناسان حسابداری) که آن وظایف را انجام میدهد، استفاده میشود.
یکی از اشتباهات رایج که معمولا در کسب و کارهای کوچک دیده میشود نامگذاری Laneها به نام فردی (User) است که در فرایند ایفای نقش (Role) میکند. در حالیکه نام یک Lane در BPMN همیشه باید به نقش افرادی (یا واحد سازمانی یا پست سازمانی) که در فرایند مسئول انجام کاری هستند اشاره کند. نمونه مدلسازی اشتباه و مدلسازی صحیح به ترتیب در دو شکل زیر نمایش داده شده است.
لازم است به این نکته توجه شود که Lane نماینده یک نقش (یا پست سازمانی یا واحد سازمانی) به خصوص در فرایند است لزوما به این معنی نیست که نماینده یک فرد باشد.
یک «نقش کاری» میتواند نماینده یک پست سازمانی، گروهی از افراد و یا حتی یک سیستم باشد.
- Pool در زبان مدلسازی BPMN2.0
استفاده Pool در زبان مدلسازی BPMN
معمولا در سطح تحلیلی از یک محدوده کاری (Pool) بنا به دقت مدلسازی برای نشان دادن یک مشارکتکننده مشخص مانند سازمان مورد بحث یا مشارکتکنندههای بیرونی مانند مشتری، پیمانکار و غیره استفاده میشود. (همچنین میتوان واحد سازمانی جزیتر را به عنوان یک محدوده کاری استفاده کرد.)
به عنوان مثال در فرایند فروش یا ارائه خدمات (در سطح تحلیلی) مرسوم این است که مشتریان و تامینکنندگان را در Poolهای مجزایی نسبت به فرایندهای داخلی قرار داده شود. این ایده از آنجا میآید که اصولا فعالیتهای مرتبط به بخش مشتری و یا وظایف تامینکنندگان به عنوان فعالیتهای بیرون سازمانی در نظر گرفته میشوند. البته همانطور که در ابتدا اشاره شد، تمامی توضیحات ارائه شده با فرض تحلیلی بودن سطح نمودار میباشد.
یک اشتباه رایج دیگر در سطح اجرایی فرایندها (نه در سطح تحلیلی) این است که از یک Pool در زبان مدلسازی برای نشان دادن بیش از یک فرایند استفاده میشود. باید به خاطر داشت که در اجرای فرایندها در BPMS از هر pool باید تنها برای نمایش یک فرایند استفاده شود. پس برخلاف سطح تحلیلی ایفاکنندگان نقشهای مانند مشتری، پیمانکار و موارد دیگر نیز به همراه واحدهای سازمانی ایفا کننده نقش در همان فرایند در یک pool ترسیم میشوند.
عامل مهم دیگری که باید به آن توجه کرد این است که در هنگام اجرای فرایندها و ایجاد نمونه فرایند (Instance)، هر نمونه فرایند فقط به یک فرایند تعلق داشته باشد. لذا برای ایجاد هر نمونه فرایند باید از یک Pool متفاوت استفاده شود.
یکی از خطاهای رایج دیگر این است که در فرایندهایی مانند شکل زیر، مشتری نمونهای بسازد که از میان دو Pool عبور کند. این یک تصمیم و اشتباه جدی در مدلسازی است. در این موارد، مدلسازی باید به گونهای باشد که هنگامی که چنین جریان فرایندی اجرا شود؛ دو نمونه فرایند تولید شود. همانگونه که در شکل زیر نمایش داده شده است یک نمونه در Poolسفارش مشتری تولید میشود و سپس با ارسال سفارش به قسمت داخلی شرکت، نمونه دیگری در Pool فرایند فروش داخل سازمان ایجاد میشود. این دو نمونه فرایند هر کدام فقط به فرایند خود تعلق دارند.
هر دو این نمونهها از طریق عناصر تبادل پیام در BPMN2.0 با یکدیگر مرتبط هستند. در اینگونه موارد باید عنصر اتصال دهنده را به صورت یک خط ارتباطی نقطهچین (message flow) ترسیم شود.
از لحاظ اجرایی در مورد فوق آنچه اتفاق میافتد تنها تبادل پیام بین دو نمونه فرایند است و نه برقراری یک مسیر بین دو pool.
- مفهوم Black Box Pool
در آخر مفهوم Black Box Pool مورد بررسی قرار گرفته است. برای درک این مفهوم، یک مکانیک را تصور کنید که ماشینی را در نمایندگی خودرو مورد بررسی قرار میدهد. از میان تمام وظایفی که دارد یکی از آنها اتصال نرمافزار تشخیص عیبسازنده خودرو به موتور است. (دیاگ) سپس مشغول بررسی دادهها و نتایجی میشود که به صورت خودکار تولید شدهاند. در این شرایط آیا نیاز است مکانیک دانش دقیقی نسبت به فرایندی که در داخل کامپیوتر متصل به ماشین اتفاق میافتد داشته باشد؟ مسلما پاسخ خیر است؛ این همان Black Box Pool یا محدوده کاری جعبه سیاه است؛ که در آن یک فرایند جداگانه رخ میدهد که نیازی به دانستن وظایف محولهی در آن فرایند وجود ندارد.