سازمانها همیشه در تلاش برای بهبود روشهای کاری خود هستند تا کارایی را افزایش دهند و خطاها را کاهش دهند. این نیاز به تحلیل و بهبود مستمر روشهای کاری آنها دارد که ممکن است شامل جریانهای کاری بسیار ساختار یافته در وضعیتهای قابل پیشبینیو همچنین پروتکلهایی برای پاسخ به وضعیتهای پویاوضعیتهایی که در آن تجویز یک فرآیند ثابت غیرممکن است.
CMMNیک نشانهگذاری گرافیکی است که برای ثبت روشهای کاری استفاده میشود که بر اساس مدیریت پروندهها و فعالیتهای مختلفی که ممکن است در یک ترتیب غیرقابل پیشبینی در پاسخ به وضعیتهای در حال تحولبا استفاده از یک رویکرد مبتنی بر رویداد و مفهوم پرونده، CMMN مرزهای آنچه را که میتوان با BPMNشامل تلاشهای کاری کمتر ساختار یافته و آنهایی که توسط کارگران دانش هدایت میشوند. استفاده از ترکیبی از BPMN و CMMN به کاربران این امکان را میدهد که دامنه وسیعتری از روشهای کاری را پوشش دهند.
در اینجا دلایلی وجود دارد که چرا به CMMN علاوه بر BPMN نیاز داریم:
- به طور سنتی، تحقیق و عمل در سیستمهای اطلاعات کسب و کار بر روی فرآیندهای تجاری به خوبی ساختار یافته متمرکز است. با این حال، بسیاری از فرآیندهای تجاری مدلسازی دشواری دارند.
- این به ویژه در مورد وظایف دانشمحور مانند مدیریت حوادث، مشاوره یا فروش صادق است. در واقع، بسیاری از فعالیتها به صورت موردی آغاز و انجام میشوند و نه به صورت برنامهریزی شده.
- این به ویژه در مورد فعالیتهای دانشمحور یا مبتنی بر پروژه صدق میکند که اغلب هستهای از شایستگیهای یک سازمان را نمایندگی میکنند.
فرآیند موردی
فرآیندهای موردی مجموعهای از فعالیتهای تجاری و آثار مربوطه (مانند اطلاعات، تصمیمات و محصولات) هستند که تنها میتوانند در سطح بالایی از تجمیع استاندارد شوند. انواع واقعی فعالیتها و ترتیب آنها از موردی به مورد دیگر متفاوت است.
در اینجا ویژگیهای فرآیند موردی آورده شده است:
- در حالی که برخی از فعالیتها قابل پیشبینی هستند، بخش زیادی از فرآیند نمیتواند در ابتدای کار به طور کامل مشخص شود، زیرا به اطلاعاتی نیاز دارد که تنها در طول پروژه در دسترس قرار میگیرد.
- اگر فرض کنیم که در زمینه فرآیندهای موردی، مرحله بعد هرگز تعیین نمیشود، اجرای آنها نمیتواند توسط سیستمهای اطلاعاتی مبتنی بر فرآیند کلاسیک کنترل شود، در بیشتر موارد، کارگران دانش کنترل فرآیند را در دست دارند.
- به نظر میرسد که فکر کردن به تمام امکانات برای یک فرآیند موردی در زمان طراحی غیرممکن است، چنین مدل فرآیندی پیچیده و دشوار برای مدیریت خواهد شد.
BPMN در مقابل CMMN
در دهههای اخیر، تمرکز بر مدلسازی و خودکارسازی فرآیندهای به خوبی ساختار یافته و روتین بوده است. BPMN بهترین استفاده را برای کارهای به خوبی ساختار یافته و بسیار قابل پیشبینی دارد که در آن کارگران دانش عمدتاً وظایف را اجرا میکنند، در حالی که CMMN بخش فرآیندهای کمتر قابل پیشبینی را با مشارکت فعال کارگران دانش در تصمیمگیری و برنامهریزی در زمان اجرا پوشش میدهد.
مدیریت پرونده (CM) به عنوان ابزاری برای کارگران دانش توسط وان در آلیست در سال 2005 معرفی شد. در مه 2014، OMG یک استاندارد برای مدیریت پرونده به نام مدل و نشانهگذاری مدیریت پرونده (CMMN) منتشر کردتمرکز آن بر حمایت از فرآیندهای غیرقابل پیشبینی، دانشمحور و ضعیف ساختار یافته است. مدیریت پرونده نوعی فناوری فرآیند تجاری است که از جریان کنترل برای توصیف فرآیند استفاده نمیکند.
مدیریت پرونده درباره توانمندسازی کارگران دانش با فراهم کردن دسترسی به تمام اطلاعات مربوط به پرونده و دادن اختیار و کنترل بر نحوه پیشرفت پرونده است. مدیریت پرونده درباره فرآیند نیست، بلکه درباره کارگران است. در مقابل فرآیندهای کلاسیک، یک هدف مشخص و فراهم کردن امکانات برای انتخاب از اهمیت بیشتری نسبت به نحوه دستیابی به خود هدف برخوردار است.
در اینجا تفاوتهای بین BPMN و CMMN آورده شده است:

نشانهگذاری اعلامیتلاش نمیکند تا جریان یک مشکل را مدلسازی کند؛ آنها نتایج مورد نظر را تعیین میکنند، یعنی مشخص میکنند که چه چیزی میخواهند اتفاق بیفتد اما نه اینکه چگونه باید اتفاق بیفتد. SQL یک مثال از برنامهنویسی اعلامی است زیرا تلاش نمیکند تا جریان یک برنامه را کنترل کند؛ بلکه به سادگی بیان میکند که چه چیزی میخواهد ظاهر شود اما نه اینکه چگونه انجام میشود.
نشانهگذاری دستوریاز طرف دیگر، تلاش میکنند تا جریان یک مشکل را مدلسازی کنند؛ به عنوان مثال، زبانهای برنامهنویسی دستوری مانند جاوا یا C++، دستورات را تعیین میکنند که به کامپایلر میگویند چگونه میخواهند کد اجرا شود اما به صراحت نمیگویند که چه چیزی میخواهند اتفاق بیفتد.
فرآیند ساختار یافته در مقابل پرونده در مقابل فرآیند موردی

زمان طراحی در مقابل زمان اجرا
مدل جریان توالی در CMMN وجود ندارد. اجرای یک وظیفه به رویدادها و شرایطی به نام نگهبانان بستگی دارد. یک نگهبان وقوع یک رویداد خاص یا تحقق یک شرط را در یک پرونده ثبت میکند. نگهبانان به عنوان معیارهای ورود و خروج استفاده میشوند. توجه داشته باشید که الماسهای سیاه و سفید نمایانگر معیارها هستند.
یک پرونده دارای دو مرحله متمایز است که شامل زمان طراحی و زمان اجرا میباشد که به شرح زیر است:
زمان طراحی
در طول مرحله زمان طراحی، تحلیلگران کسب و کار به مدلسازی مشغول میشوند که شامل تعریف وظایف (موارد برنامه) است که همیشه بخشی از بخشهای از پیش تعریف شده در مدل پرونده هستند و وظایف «اختیاری» که در دسترس کارگر پرونده قرار دارد و به صورت اختیاری بر اساس اختیار او اعمال میشود.
زمان اجرا
در مرحله زمان اجرا، کارگران پرونده برنامه را با انجام وظایف طبق برنامه اجرا میکنند و به صورت اختیاری وظایف اختیاری را به نمونه برنامه پرونده در زمان اجرا اضافه میکنند.

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

* استخراج شده از مشخصات مدل و نشانهگذاری مدیریت پرونده OMG
توجه
- مدل برنامه پرونده با استفاده از شکل «پوشه» نمایش داده میشود
- نام پرونده میتواند در مستطیل بالای سمت چپ قرار گیرد.
- عناصر مختلف یک مدل برنامه پرونده درون مرز شکل مدل برنامه پرونده نمایش داده میشوند.
- این نمودار یک مثال از مدل برنامه پرونده را نشان میدهد.
مفاهیم پایه CMMN
مدل رفتار کامل یک پرونده در یک مدل برنامه پرونده. برای یک مدل پرونده خاص، مدل برنامه پرونده شامل تمام عناصری است که نمایانگر برنامه اولیه پرونده هستند و تمام عناصری که از تکامل بیشتر برنامه از طریق برنامهریزی در زمان اجرا توسط کارگران پرونده پشتیبانی میکنند. چهار نوع مورد برنامه وجود دارد:

وظایف
یک وظیفه یک واحد کار است. سه نوع وظیفه وجود دارد:

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

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

نقطه عطف
یک نقطه عطف نمایانگر یک هدف قابل دستیابی است که برای ارزیابی پیشرفت پرونده تعریف شده است. هیچ کاری به طور مستقیم با یک نقطه عطف مرتبط نیست، اما تکمیل مجموعهای از وظایف یا در دسترس بودن تحویلهای کلیدی (اطلاعات در پرونده) معمولاً به دستیابی به یک نقطه عطف منجر میشود. یک نقطه عطف ممکن است دارای صفر یا بیشتر معیارهای ورودی باشد که شرایط دستیابی به نقطه عطف را تعریف میکند.

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

مرحله و مرحله اختیاری
- مرحله میتواند به عنوان یک «فاز» در یک پرونده در نظر گرفته شود و معمولاً تعدادی از وظایف را گروهبندی میکند.
- این یک ظرف از عناصری است که برنامه پرونده از آن ساخته میشود و میتواند بیشتر تکامل یابد.
- مراحل ممکن است به عنوان «قسمتها»ی یک پرونده در نظر گرفته شوند. آنها میتوانند به عنوان زیرپروندهها (مشابه زیرفرآیندها در BPMN) در نظر گرفته شوند و همچنین به صورت موازی اجرا شوند.
- مرحله با شکل مستطیل با گوشههای زاویهدار و یک علامت به شکل علامت «-» در یک جعبه کوچک در مرکز پایین آن نمایش داده میشود (علامت «-» مراحل گسترش یافته را مشخص میکند).
- مرحله اختیاری میتواند به صورت «اختیاری»، «ادهاک»، به برنامه اضافه شود به اختیار کاربر.
شکل زیر یک مرحله گسترش یافته با یک زیر مرحله و سه وظیفه را نشان میدهد.

معیارها
معیار به ما اجازه میدهد توصیف کنیم که یک کار، مرحله یا نقطه عطف چه زمانی باید برای اجرا در دسترس باشد (معیارهای ورودی) یا چه زمانی یک مورد (برنامه مورد)، مرحله یا کار باید به طور غیرعادی خاتمه یابد (معیارهای خروج). معیار دارای دو بخش اختیاری زیر است:
- یک یا چند رویداد محرک (که به آنها onParts گفته میشود). اینها رویدادهایی هستند که ارزیابی معیارهای ورودی یا خروجی را برآورده میکنند.
میتوانیم به معیارها به عنوان تشکیل یک جمله به صورت زیر فکر کنیم:
([ on < رویداد 1 >[, on < رویداد 2 >[, . . .]] ]) و ([ اگر < شرط بولی > ])
توجه داشته باشید که:
- که در آن براکتهای مربع ([ ]) بخشهای اختیاری جمله را نشان میدهند و براکتهای زاویهدار (< >) جایگذاریهایی هستند که باید جایگزین شوند.
- هم onPart و هم ifPart اختیاری هستنددر جمله، اما برای اینکه معنا داشته باشد، حداقل یکی از آنها باید وجود داشته باشد.
معیارهای ورودی
یک معیار ورودی شرایطی را توصیف میکند که باید برای در دسترس بودن مرحله، کار یا نقطه عطف برای اجرا برآورده شود. مراحل، کارها یا نقاط عطف بدون معیارهای ورودی به محض ایجاد در دسترس اجرا خواهند بود. معیارهای ورودی میتوانند در هر نقطهای از مرز مرحله، کار یا نقطه عطف قرار گیرند.
مثال
در مثال زیر، هر دو مرحله شکایات محصول و شکایات خدمات به یک معیار ورودی نیاز دارند، زیرا آنها تنها در صورتی اجرا میشوند که شکایت از نوع خودشان باشد. در بیشتر موارد، تنها یکی از دو مرحله اجرا خواهد شد، اگرچه در برخی موارد شکایات ممکن است شامل هر دو مرحله باشد.

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

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

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

لینکهای مرتبط
مقالات دیگر مدلسازی فرآیند کسب و کار
- BPMN چیست؟
- هماهنگی BPMN در مقابل رقص گروهی در مقابل همکاری
- انواع فعالیتهای BPMN توضیح داده شده است
- انواع زیر فرآیندها در BPMN
- چگونه یک نمودار بزرگ BPMN را تقسیمبندی و مدیریت کنیم؟
- یادگیری رویدادهای BPMN
- انواع دروازهها در BPMN
- مدلسازی فرآیند کسب و کار و تحلیل شکاف
- چگونه تحلیل شکاف را با BPMN انجام دهیم
- مروری بر نمادگذاری BPMN
- چگونه از اشیاء داده در BPMN استفاده کنیم
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.