این مقاله بخشی از فصل چهارم مدلسازی پیشرفته فرآیند از کتاب اصول «اصول مدیریت فرآیندهای کسب و کار» ترجمه شده توسط آرمین کشاورزی است. برای تهیه نسخه کامل این فصل به لینک (فصل ۴: مدلسازی پیشرفته فرآیند ها با BPMN) مراجعه نمایید.
زمانی که فرآیندهای کسب و کار را بررسی میکنیم، شاید مدل نتیجه شده برای درک بسیار بزرگ باشد. برای بهبود خوانایی، میتوان فرآیند را با پنهان کردن برخی از بخشهای خاص در یک زیر-فرآیند ساده کرد. یک زیر-فرآیند خود نیز در برگیرنده فعالیتهایی است که میتوان آن را به واحدهای کاریی کوچکتر تجزیه کرد. در نهایت، کوچکترین واحد کاریی که به آن فعالیت اتمی (atomic activity)، که به آن وظیفه (task) نیز میگویند، فعالیتی است که یک واحد کاریی بوده و نمیتوان آن را خردتر کرد.
برای آنکه از یک زیر-فرآیند استفاده کنیم، اول نیاز است تا گروهی از فعالیتهای مرتبط به هم را شناسایی کنیم، یعنی فعالیتهایی که همراه باهم به یک هدف بخصوص میرسند یا یک خروجی بخصوص در مدلسازی فرآیند تحت بررسی را تولید میکنند. در مثال تکمیل سفارش، میتوان فعالیتهای «بررسی موجود بودن مواد اولیه» و «خرید مواد اولیه از تامین کننده ۱ (۲)» را دید که منجر به بدست آوردن مواد اولیه میشوند. بنابراین این فعالیتها و دروازههای متصل به آنها را میتوان در یک زیر-فرآیند کپسوله کرد. به بیانی دیگر، میتوان به آنها به عنوان یکسری گامهای داخلی برای میکرو-فعالیت «بدست آوردن مواد اولیه» نگاه کرد. به طور مشابه، میتوان دو شاخه موازی ارسال و صدور فاکتور سفارش را در یک فعالیت زیر-فرآیندی دیگر با عنوان «ارسال و فاکتور» گروهبندی کرد. شکل ۴-۱ مدل نتیجه شده را به طوریکه فعالیتهای بالایی دو فعالیت زیر-فرآیندی کپسوله شدهاند، نمایش میدهد. چنین فعالیتهایی را با یک مستطیل بزرگ که گوشههای آن انحنا دارد و گامهای داخلی در آن فرار دارد، نشان میدهیم. همانطور که در شکل ۴-۱ میتواند دید، یک رویداد شروع و یک رویداد پایان در هر فعالیت زیر-فرآیندی اضافه شده است تا به طور شفاف نشان داده شود چه زمانی یک زیر-فرآیند شروع و چه زمانی پایان مییابد.
به یاد آورید که هدف اصلی ما ساده سازی یک مدل فرآیندی بود. بنابراین، زمانی که مرزهای یک زیر-فرآیند را شناسایی کردیم، میتوان مدل را با پنهان کردن محتوای زیر-فرآیندهای آن ساده کنیم، مانند آنچه که در شکل ۴-۲ نشان داده شده است. اینکار با تعویض یک ماکرو-فعالیت (فعالیت-بزرگ) که نشان دهنده زیر-فرآیند با اندازه معمول یک فعالیت است انجام میشود. درواقع داریم نشان میدهیم که این فعالیت یک زیر-فرآیند را در خود پنهان کرده و با قرار دادن یک علامت + در درون یک مربع کوچک آن را نشان میدهیم (انگار که میتوانیم با زدن بر روی این دکمه + این فعالیت را باز کرده و محتوای درون آن را مشاهده کنیم). این کار را فروپاشی (Collapsing) یک زیر-فرآیند میگویند. با فروپاشی کردن یک فرآیند ما تعداد فعالیتها را کاهش میدهیم (اکنون فرآیند تکمیل سفارش تنها شش فعالیت دارد)، بنابراین خوانایی مدل بهبود پیدا میکند. در BPMN یک زیر-فرآیند که گامهای درونی آن پنهان شده است را زیر-فرآیند فروپاشی شده (Collapsed sub-process) میگویند که مخالف زیر-فرآیند گسترده (Expanded sub-process) بوده که گامهای داخلی آن نمایش داده میشود (مانند شکل ۴-۱).
شکل ۴‑۱: شناسایی زیر-فرآیندها در فرآیند تکمیل سفارش مربوط به شکل ۳-۱۲ |
شکل ۴‑۲: نسخه سازی شده فرآیند تکمیل سفارش پس از پنهان سازی محتوای زیر-فرآیندهای آن |
فروپاشی یک زیر-فرآیند به معنی از بین بردن محتویات داخل آن نیست. زیر-فرآیند هنوز آنجا وجود دارد، تنها به صورت یک سطح خلاصه شده تعریف شده است. درواقع، ما میتوانیم زیر-فرآیندها را در سطوح مختلف در توی هم قرار دهیم، مانند تجزیه یک مدل فرآیندی به صورت سلسله مرابتی. یک مثال در شکل ۴-۳، که یک فرآیند کسب و کار را برای پرداخت وامهای خانه مدل کرده، نشان داده شده است. در سطح اول دو زیر-فرآیند را شناسایی کردیم: یکی برای بررسی صلاحیت درخواست دهنده، دیگری برای تخصیص وام. در سطح دوم، ما برنامه زمانبندی پرداخت وام را از فرآیند تخصیص وام در یک زیر-فرآیند جداگانه تجزیه کردیم.
شکل ۴‑۳ یک مدل فرآیندی برای پرداخت وامهای خانه که تا سه سطح سلسله مراتبی با استفاده از زیر-فرآیندها خرد شده است. |
همینطور که در ساختار سلسله مراتبی تجزیه یک مدل فرآیندی پایینتر میرویم، میتوانیم جزئیات بیشتری را اضافه کنیم. برای مثال، میتوان در سطح بالا برای راحتتر کردن آن تنها فعالیتهای اصلی کسب و کار را مدلسازی کرد، در سطح دوم نقاط تصمیم را اضافه میکنیم و به همین ترتیب در سطوح پایینتر استثناها و جزئیاتی که تنها به اتوماسیون سازی فرآیند مربوط میشوند را اضافه میکنیم.
سوال: چه زمانی یک مدل فرآیندی را به زیر-فرآیندها تجزیه میکنیم؟
باید از زیر-فرآیندها زمانی که مدل بسیار بزرگ میشود، به طوریکه درک آن سخت شده است استفاده کنیم. تعریف اینکه یک مدل چه زمانی «بسیار بزرگ» شده سخت است، اما نشان داده شده است که استفاده تقریباً بیشتر از ۳۰ شئی جریانی (مانند فعالیتها، رویدادها و دروازهها) منجر به وقوع اشتباهات احتمالی در یک مدل فرآیندی میشود (مثلاً وقوع مشکلات رفتاری). بنابراین، پیشنهاد میکنیم که به ازای هر سطح مدل فرآیندی تا جای ممکن عناصر کمی استفاده شود، بخصوص اگر مدل بیشتر از ۳۰ شئی در جریان داشته باشد آن را تجزیه کنید.
کاستن اندازه یک مدل فرآیند، مثلاً با فروپاشی زیر-فرآیندهای آن، یکی از موثرترین راهها برای بهبود خوانایی یک مدل فرآیندی است. دیگر ویژگیهایی که بر خوانایی تاثیرگذار هستند شامل چگالی اتصالات مدل فرآیندی، تعداد شاخههای موازی، طولانیترین مسیر از رویداد شروع تا رویداد پایان و همچنین ویژگیهای نمایشی شامل لایوت، شیوه نامگذاری (مثلاً سعی شود همیشه از شیوه فعل-اسم استفاده شود)، رنگبندی، ضخامت خطوط و غیره است. اطلاعات بیشتر راهنمای ایجاد مدلهای فرآیندی را میتوان در فصل ۵ دید.
نشان دادیم که میتوانیم یک مدل فرآیندی را ابتدا با شناسایی محتوای یک زیر-فرآیند و سپس با پنهان سازی این محتویات توسط فروپاشی زیر-فرآیند ساده سازی کرد. برخی اوقات، ممکن است بخواهیم در جهت عکس حرکت کنیم، یعنی در زمان مدلسازی یک فرآیند فعالیتهایی که میتوان آنها را به گامهای کوچکتر شکست را شناسایی کردهایم، اما میخواهیم عمداً محتویات آنها را نشان دهیم. به بیانی دیگر، نمیخواهیم فعالیت زیر-فرآیندی را به یک مدل فرآیندی در سطح پایینتر که حاوی محتویات آن است لینک کنیم (به این معنی که اگر بر روی علامت مثبت بزنیم اتفاقی رخ ندهد). دلیل اینکار این است که میخواهیم به خواننده بگویم که فعالیتهایی دارای زیر-گامهایی وجود هستند، اما نمایش جزئیات آنها مرتبط با ما نیست. این موضوع میتواند در مورد فعالیت «ارسال محصول» در مثال تکمیل سفارش صدق کند، به طوریکه مدلسازی تمایزات در گامهای داخلی بسته بندی و ارسال به فرآیند مرتبط نمیشود.
فهرست مطالب فصل چهارم: مدلسازی پیشرفته فرآیندها
۴-۱ تجزیه فرآیند
۴-۲ استفاده مجدد از فرآیند
۴-۳ موارد بیشتر در زمینه دوباره کاری و تکرار
۴-۳-۱ تکرار موازی
۴-۳-۲ تکرارهای کنترل نشده
۴-۴ کنترل کردن رویدادها
۴-۴-۱ رویدادهای پیام
۴-۴-۲ رویدادهای زمانی
۴-۴-۳ رویدادهای رقابتی
۴-۵ کنترل استثناء
۴-۵-۱ متوقف سازی فرآیند
۴-۵-۲ استثنائات داخلی
۴-۵-۳ استثنائات خارجی
۴-۵-۴ توقف طولانی فعالیت
۴-۵-۵ رویدادها غیر-اختلالی و استثنائات پیچیده
۴-۵-۶ ایستگاه: زیر-فرآیندهای رویدادی
۴-۵-۷ فعالیت جبرانی
۴-۶ فرآیندها و قواعد کسب و کار
۴-۷ رقص آرایی فرآیند
۴-۸ مرور
۴-۹ پاسخ به تمرینات
۴-۱۰ تمرینات بیشتر
۰ پاسخ به "فرآیند ها ، زیر فرآیندها و فعالیت ها در BPMN"