فهرست مطالب
استاندارد CMMN چیست؟
استاندارد CMMN مخفف عبارت Case Management Model and Notation است که میتوان آن را به «مدل و نشانگان مدیریت پرونده / مورد / کیس» تعبیر کرد.
سازمانها همیشه برای افزایش کارایی و کم کردن خطاها به دنبال بهبود شیوههای کاری خود هستند. و این امر مستلزم تحلیل و بهبود مستمر این روشهای کاری است. روشهایی که احتمالاً شامل گردشکارهای بسیار منظم و ساختارمند برای موقعیتهای قابل پیشبینی و همچنین شیوهنامههایی برای پاسخ به موقعیتهای پویا هستند، که در آنها تجویز یک فرایند ثابت برای پیش بردن کل کار غیرممکن است.
استاندارد CMMN مجموعه نمادهایی بصری و گرافیکی است که از آنها برای ثبت روشهای کاری استفاده میشود. این استاندارد مبتنی بر رسیدگی به پرونده (Case) یا کیسهایی کاری است که نیاز به فعالیتهای مختلفی دارند، که این فعالیتها ممکن است در پاسخ به موقعیتهای در حال تغییر، به یک ترتیب و توالی غیرقابل پیشبینی انجام شوند. استاندارد CMMN با استفاده از رویکرد رویداد محور و مفهوم کیس فایل یا فایل پرونده (Case File)، مرزهای استاندارد مدلسازی BPMN را گسترش میدهد. این گسترش به خصوص در موارد کاری کمتر ساختارمند و کارها و وظایفی که توسط دانشورزان (نیرویکاری که سرمایه اصلی وی، دانش و اطلاعات اوست) انجام میشود مشهود است. استفاده ترکیبی از BPMN و CMMN به کاربران این امکان را میدهد که طیف وسیعتری از شیوههای کاری را پوشش دهند.
در ادامه به دلایلی میپردازیم که به این سوال پاسخ میدهند که چرا علاوه بر BPMN به CMMN نیاز داریم؟
- به طور سنتی و از قدیم، تفحص و عملکرد سیستم های اطلاعاتی کسبوکارها بر فرایندهای کسبوکاری که به شکل درستی ساختار یافته باشند متمرکز بوده است. با این وجود اما مدلسازی بسیاری از فرایندهای کسبوکار دشوار است.
- دشواری مدلسازی فرایندها به خصوص برای وظایف دانشمحور مانند مدیریت حوادث، مشاوره یا فروش به وضوح دیده میشود. در واقع در این گونه وظایف، بسیاری از فعالیتها بهجای اینکه از قبل برنامهریزی شده باشند، بهصورت موقتی آغاز و انجام میشوند.
موضوع دشواری مدلسازی فرایند در مورد فعالیتهای دانش محور یا پروژه محور که اغلب منعکسکنندهٔ شایستگیهای اصلی یک سازمان هستند نیز صادق است.
فرایند Ad-Hoc یا فرایند موقت
فرایندهای Ad-hoc یا فرایندهای موقت به مجموعهای از فعالیتهای کسبوکار و مصنوعات (artifacts) مربوطه (مانند اطلاعات، تصمیمگیریها و محصولات) اطلاق میشود، که تنها میتوانند در سطح بالایی از تجمیع استاندارد شوند. در این فرایندها نوع واقعی فعالیتها و ترتیب آنها در هر مورد متفاوت است.
ویژگیهای فرایند Ad-hoc یا موقت به شرح زیر است:
- فعالیتهای خاصی از فرایند را میتوان پیشبینی کرد، اما در شروع نمیتوان بسیاری از جزئیات فرایند را به طور کامل مشخص کرد، زیرا به اطلاعاتی نیاز است که تنها در طول پروژه در دسترس قرار میگیرند.
- اگر فرض کنیم که در چارچوب فرایندهای ad-hoc مرحله بعدی هرگز تعیین نمیشود، اجرای آنها توسط سیستمهای اطلاعاتی کلاسیکِ مبتنی بر فرایند قابل کنترل نیست، و در بیشتر موارد، خودِ دانشورزان (Knowledge Workers) کنترل فرایند را در دست دارند.
- به نظر می رسد غیرممکن باشد که در زمان طراحی فرایندهای موقت یا Ad-hoc به همه احتمالات موجود برای آن فکر کنیم. و چنین مدل فرایندی پیچیده و مدیریت آن سخت خواهد شد.
مقایسه BPMN و CMMN
در دهههای اخیر، تمرکز بر مدلسازی و اتوماسیون فرایندهای ساختارمند و روتین کسبوکار بوده است. بر همین اساس استاندارد مدلسازی BPMN به بهترین وجه پاسخگوی مدل کردن فرایندهایی با ساختار خوب و کاملاً قابل پیشبینی بود که در آن دانشورزان عمدتاً تنها وظایف داخل فرایند را اجرا میکردند، اما استاندارد CMMN عمدتاً پوششدهندهٔ فرایندهای کمتر قابل پیشبینی است، که تصمیمگیری و برنامهریزی آنها در طول زمان اجرای فرایند با مشارکت فعال دانشورزان صورت میپذیرد.
مدیریت پرونده یا کیس منجمنت (Case Management – CM) به عنوان ابزاری برای استفادهٔ دانشورزان توسط ون در آلست (van der Aalst) در سال ۲۰۰۵ معرفی شد. در ماه می ۲۰۱۴، موسسه OMG (همان مرکزی که استاندارد BPMN را ارائه داد) استانداردی را برای مدیریت پرونده به نام مدل مدیریت پرونده و نشانهگذاری (CMMN) منتشر کرد. مدلی که تمرکز آن بر پشتیبانی و پوشش فرایندهای غیرقابل پیش بینی، دانش محور و کمتر ساختارمند است. مدیریت پرونده یا Case Management نوعی فناوری در فرایند کسب و کار است که از جریان کنترل (Control Flow) برای توصیف فرایند استفاده نمیکند.
مدیریت پرونده (Case Management) با هدف توانمندسازی دانشورزان، با فراهم کردن دسترسی آنها به تمام اطلاعات مربوط به پرونده / کیس و اعطای اختیار و کنترل در مورد چگونگی تکامل یک پرونده / کیس توسعه داده شد. باید توجه داشت که مدیریت پرونده در اصل مربوط به کارکنان است و نه فرایند. و در این مدل بر خلاف فرایندهای کلاسیک، هدف معین و فراهم کردن امکانات برای انتخاب، مهمتر از خود راه رسیدن به هدف است.
در ادامه به تفاوتهای BPMN و CMMN اشاره کردهایم:
اغلب نشانهها و نمادهای BPMN
- امری – Imperative
- فرایندمحور
- توالی ها مشخص هستند
- کارِ هدایت شده (کارکنان مطیع و غیرفعال)
- همه چیز در آن مدل میشود
نمادها و نشانههای CMMN
- اعلانی – Declarative
- دادهمحور
- در آن توالی از پیش تعریفشدهای وجود ندارد
- توانمندسازی کارکنان (دانشورزان)
- همهچیز در آن مدل نمیشود
نشانهگذاری اعلانی – Declarative Notation
نشانههای اعلانی یا Declarative Notation در استاندارد CMMN تلاشی برای مدلسازی جریان یک مساله نمیکنند. بلکه نتایج مطلوب را ایجاد میکنند؛ به شکلی که مشخص میسازند که میخواهند چه چیزی اتفاق بیفتد، نه اینکه چگونه اتفاق بیفتد. SQL نمونهای از برنامه نویسی اعلانی است چون در آن سعی در کنترل جریان یک برنامه وجود ندارد. بلکه به سادگی بیان میکند که میخواهد چه چیزی انجام شود، نه اینکه چگونه انجام شود.
نشانهگذاری امری – Imperative Notation
اما در دیگرسو نشانههای امری یا Imperative Notation سعی در مدلسازی جریان یک مساله دارند. به عنوان مثال، زبانهای برنامهنویسی امری مانند جاوا یا ++C دستوراتی را ایجاد میکنند که به کامپایلر میگویند که چگونه میخواهند کد اجرا شود، اما به صراحت نمیگویند که میخواهند چه اتفاقی بیفتد.
مقایسهٔ فرایند ساختارمند با مورد (Case) و با فرایند موقت (Ad-Hoc)
۱. فرایند ساختارمند Structured Process
- فعالیتهای گردش فرایند ساختاریافته از قبل مشخص هستند.
- حاوی بسیاری از عناصر تکراری است.
- آزادی عمل خاصی برای افراد در مورد گردش فرایند وجود ندارد.
- قابل مدل سازی است.
۲. پرونده / کیس Case
- گردش فرایند میتواند تا حدی ساختارمند باشد.
- فعالیتهای فرایند تا حدی از قبل مشخص هستند.
- حاوی برخی از عناصر تکراری است.
- با توجه به گردش فرایند درجاتی از آزادی برای افراد را داراست.
- قابل مدل سازی است
۳. فرایند موقت Ad-Hoc
گردش فرایند در آن را نمیتوان ساختارمند کرد. و وظایف در آن قابلپیشبینی نیستند.
- فعالیتها در آن تا حدی از قبل مشخص هستند.
- حاوی تعداد کمی از عناصر تکراری است.
- با توجه به ماهیت گردش فرایند درجه آزادی بسیار بالایی برای افراد وجود دارد.
- غیرقابل مدلسازی است
زمان طراحی در مقایسه با زمان اجرا
در استاندارد CMMN هیچ مدلی از جریان توالی (sequence flow) وجود ندارد. در این مدل اجرای یک وظیفه بستگی به رویدادها و شرایطی دارد که نگهبان (Senteries) نامیده میشوند. نگهبانها یا Sentryها به عنوان معیاری (Criteria) برای ورود و خروج استفاده میشوند. توجه داشته باشید که الماسهای سیاه و سفید مشخصکنندهٔ معیارها هستند.
یک پرونده یا کیس (Case) دارای دو مرحله مجزا است که عبارت است از زمان طراحی و زمان اجرا که به شرح زیر توضیح داده شده است:
زمان طراحی Design Time
طی مرحله طراحی، تحلیلگران کسبوکار درگیر مدلسازی میشوند. مدلسازی شامل تعریف وظایف (آیتمهای برنامه – Plan Items) و وظایف «اختیاری» (Discretionary Tasks) میشوند. تعریف وظایف در آیتمهای برنامه / پلن آیتمها همیشه قطعهای از بخشهای (Segments) از پیش تعریفشده در مدل پرونده یا کیس پلن (Case Model) هستند. که همچنین وظایف «اختیاری» (Discretionary Tasks) در دسترس پرسنل مرتبط با پرونده (Case) هستند، که بر اساس صلاحدید او به صورت اختیاری اعمال شود.
زمان اجرا Run Time
در مرحله اجرا، کارکنان مرتبط با پرونده (Case Workers) با اجرای وظایف (Tasks) برنامهریزی شده، و به صورت اختیاری، وظایف اختیاری (Discretionary Tasks) را به نمونه برنامه پرونده Case plan)) در زمان اجرا اضافه کرده و آنها را اجرا میکنند.
نمودار یا مدل CMMN در یک نگاه
این مثال فرایند مدلسازی شده نوشتن یک مقاله با CMMN را نشان میدهد. فرض کنید نوشتن یک مقاله یک کار دانشمحور است که میتوان آن را به شیوههای مختلف انجام داد و پیش برد. این مثال را در ادامه به صورت زیر کمی بیشتر بررسی میکنیم:
۱. فرایند دارای دو نقطه عطف (Milestone) است که باید به آنها برسد:
- تکمیل نسخهٔ پیشنویس مقاله
- تکمیل نسخهٔ نهایی سند (مقاله)
۲. چندین وظیفه / تسک (به عنوان مثال ایجاد فهرست) به نظر خود نویسنده واگذار شده است.
۳. نگارش و آمادهسازی مرحله پیشنویس با نوشتن متن و افزودن تصاویر کاری اجباری است.
۴. این مرحله قانون بازگویی را تعریف کرده است که به نماد نشاندهندهٔ تکرار مشخص شده است.
۵. در حالی که موضوع تحقیق یک وظیفهٔ اجباری (mandatory task) است، مرجع سازماندهی وظیفه باید در زمان اجرا تصمیم گیری شود. مانند ایجاد تصاویر و یا درست کردن لیستی از تصاویر مورد استفاده.
۶. با ایجاد سند یا فرا رسیدن موعد زمانی تحویل، فرایند به پایان میرسد.
نکات مهم:
- یک برنامه پرونده / کیس پلن (Case Plan) با استفاده از نماد «پوشه یا فولدر» به نمایش درمیآید.
- نام پرونده یا Case را میتوان در مستطیل قرارگرفته در بالا – سمت چپ قرار داد.
- عناصر مختلف یک برنامه پرونده / کیس پلن (Case Plan) در مرز شکل مدل برنامهٔ پرونده / کیس پلن به تصویر کشیده میشوند.
- کل نمودار نمونهای از یک کیس پلن / برنامه پرونده (Case Plan) را نشان میدهد.
مفاهیم بنیادین استاندارد CMMN
مدل رفتاری یک پرونده یا کیس (Case) به طور کامل در یک مدل کیس پلن / برنامه پرونده ثبت میشود. برای یک مدل پروندهٔ خاص، یک برنامه پرونده / کیس پلن شامل تمام عناصری میشود که طرح اولیه کیس پلن را نشان دهد، و همه عناصری که از تکامل کیس پلن در آینده از طریق برنامهریزی زمان اجرا توسط کارکنان مرتبط با کیس حمایت میکنند. چهار نوع پلن آیتم (Plan Items) وجود دارد:
وظایف / Tasks
وطیفه یا تسک یک واحد کار است. سه نوع وظیفه وجود دارد:
الف) وظیفه (آیتم برنامه ریزیشده)
۱. وظیفهٔ انسان Human Task:
وظیفه یا تسکی که توسط یک Case Worker انجام میشود. که میتواند موارد زیر باشد:
- مسدودسازی: وظیفه منتظر میماند تا کار مرتبط با وظیفه کامل شود.
- غیرمسدودکننده: وظیفه منتظر تکمیل کار نیست و بلافاصله پس از تکمیل نمونه کامل میشود.
۲. وظیفه فرایند Process Task:
که میتواند برای فراخوانی یک فرایند کسبوکار استفاده شود.
۳. وظیفه پرونده Case Task:
که میتواند برای فراخوانی کیس / مورد دیگر استفاده شود.
وظایف (وظیفه اختیاری) / (Discretionary Task)
وظایف (Tasks) همیشه قسمتی از بخشهای از پیش تعریف شده در کیس مدل / مدل پرونده هستند. علاوه بر وظایف، وظایف اختیاری (Discretionary Tasks) نیز وجود دارند که در اختیار کارمند مرتبط با پرونده قرار میگیرد که بهصورت اختیاری بر اساس صلاحدید او اعمال میشود. یک وظیفهٔ اختیاری با یک مستطیل با خطوط نقطهچین و گوشههای گرد مشخص میشود. توجه داشته باشید که هر نوع وظیفهای میتواند اختیاری باشد:
ب) وظیفه اختیاری
۱. وظیفه انسانی اختیاری Discretionary Task
۲. وظیفه انسانی اختیاری (غیر مسدود کننده) Discretionary Human Task (Non-blocking)
۳. وظیفه فرایند اختیاری Discretionary Process Task
۴. وظیفهٔ اختیاری پرونده Discretionary Case Task
شنوندگان رویداد / Event Listeners
رویداد چیزی است که در طول یک پرونده / کیس اتفاق میافتد. به عنوان مثال، اختیار دادن، فعال کردن و پایان دادن به مراحل و وظایف، یا دستیابی به نقاط عطف (Milestones).
پ) انواع شنوندهٔ رویداد
۱. شنونده رویداد از نوع تایمر (Timer Event Listener)
برای اخذ سپری شدن زمان از پیش تعریف شده استفاده میشود.
۲. شنونده رویداد از نوع کاربر (User Event Listener)
برای اخذ رویدادهایی که توسط یک کاربر مطرح میشوند استفاده میگردد. به این ترتیب، برای کاربر به جای تأثیرگذاری غیرمستقیم بر اطلاعات موجود در پرونده از طریق اجرای وظایف، تعامل مستقیم با روند پرونده فراهم میشود.
نقطه عطف / Milestone
نقطه عطف یا Milestone نشان دهنده یک هدف قابل دستیابی است که برای ارزیابی پیشرفت پرونده تعریف شده است. هیچ وظیفهای مستقیماً با نقطه عطف مرتبط نیست، اما تکمیل مجموعهای از وظایف یا در دسترس بودن قابل موارد قابل حصول کلیدی (اطلاعات در فایل پرونده) معمولاً منجر به دستیابی به نقطهٔ عطف میشود. یک نقطهٔ عطف ممکن است معیارهای (Criteria) ورودی صفر یا بیشتر داشته باشد، که شرایط رسیدن به نقطه عطف را مشخص میسازد.
به عنوان مثال، ما یک قرارداد موافقتنامهٔ سطح خدمات (SLA) در فرایند شکایت داریم که میتواند با استفاده از شنونده رویداد از نوع تایمر و یک نقطه عطف، به شرح زیر مدلسازی شود.
مرحله و مرحلهٔ اختیاری
- مرحله (Stage) را میتوان به عنوان یک «فاز» در یک پرونده یا کیس در نظر گرفت که معمولاً تعدادی از وظایف را گروه بندی میکند.
- همچنین مرحله ظرفی از عناصر است که برنامه پرونده از آن ساخته میشود و میتواند در ادامه تکامل یابد.
- مراحل ممکن است به عنوان «قسمت»هایی از یک پرونده در نظر گرفته شوند. آنها را میتوان به عنوان پروندههای فرعی (Sub-Cases) در نظر گرفت (شبیه به فرایندهای فرعی در BPMN) که به صورت موازی اجرا می شوند.
- مرحله به صورت یک مستطیل با گوشههای زاویه دار و یک نشانگر به شکل یک علامت «ــ» در یک جعبه کوچک در مرکز پایین مستطیل به تصویر کشیده میشود (علامت «ــ» نشاندهندهٔ مراحل گسترش یافته است).
- مرحلهٔ اختیاری (Discretionary stage) را می توان به صلاحدید کاربر را به صورت «اختیاری»، «ad-hoc یا موقت» به طرح اضافه کرد.
شکل زیر یک مرحله گسترش یافته با یک مرحله فرعی و سه وظیفه را نشان میدهد.
معیار Criteria
معیار Criteria به ما امکان میدهد توضیح دهیم که چه زمانی یک وظیفه (Task)، مرحله (Stage) یا نقطه عطف (Milestone) باید برای اجرا در دسترس باشد (معیارهای ورود)، یا چه زمانی یک پرونده (برنامه پرونده یا کیس پلن)، مرحله یا وظیفه باید به طور غیرعادی خاتمه یابد (معیارهای خروج). معیار دارای دو بخش اختیاری زیر است:
- یک یا چند رویداد ماشه یا راهانداز (که onParts نامیده میشود)؛ که رویدادهایی هستند که ارزیابی معیارهای ورود یا خروج را برآورده میسازند.
میتوان معیارهای تشکیل یک جمله را به صورت زیر در نظر گرفت:
([ on
< Event 1 >[, on < Event 2 >[, . . .]] ]) AND ([ if < Boolean
condition > ])
در رابطه با معیارها به این نکات توجه کنید:
- قلابهای مربعی شکل ([ ]) قسمتهای اختیاری جمله را نشان میدهند و قلابهای زاویهدار (< >) جایگاههایی هستند که باید جایگزین شوند.
- هم onPart و هم ifPart در جمله اختیاری هستند، اما برای اینکه معنی داشته باشد حداقل یکی از آنها باید وجود داشته باشد.
معیارهای ورود Entry criteria
معیار ورود، شرایطی را توصیف میکند که باید برای مرحله (Stage)، وظیفه (task)، یا نقطه عطف (Milestone) برای اجرا در دسترس باشد. مرحله، کار، یا نقاط عطف بدون معیار ورود به محض ایجاد برای اجرا در دسترس خواهند بود. معیارهای ورود را میتوان در هر نقطه از مرز مرحله، وظیفه یا نقطه عطف قرار داد.
مثال
در مثال زیر، هر دو مرحله شکایت از محصول و شکایات از خدمات نیاز به یک معیار ورود دارند، زیرا آنها فقط در صورتی می توانند اجرا شوند که شکایت از نوع آنها باشد. در بیشتر موارد، تنها یکی از دو مرحله اجرا میشود، اگرچه در برخی شرایط ممکن است شکایات شامل هر دو مرحله باشد.
معیار خروج Exit criterion
معیار خروج شبیه به معیار ورود است، اما برای توقف کار روی یک مرحله، وظیفه یا پرونده (برنامه پرونده Case Plan) در صورت رضایت استفاده می شود. در مثال فرایند شکایات، یک معیار خروج برای پرونده اضافه میکنیم. در شرایطی که مشتری تماس بگیرد و شکایت را لغو کند، ما باید کار روی پرونده را متوقف کنیم. این سناریو را با داشتن یک فایل پرونده (Case File) لغو (cancle)، که میتواند صدای ضبطشده از تماس مشتری یا نامهای از مشتری باشد، مدل میکنیم.
فایل پرونده Case file
در استاندارد CMMN، هر نمونه پرونده حاوی یک فایل پرونده (Case File) واحد است (که به آن پوشه پرونده (Case Folder) یا فقط پرونده نیز گفته میشود)، و کارکنان پرونده (Case Workers) به تمام داد های آن فایل پرونده دسترسی دارند. کارکنان پرونده (Case Workers) میتوانند حتی اگر هیچ وظیفهای را در پرونده اجرا نکنند، تا زمانی که از اختیار و دسترسی کافی برخوردار باشند، دادهها را در فایل پرونده اضافه، حذف و اصلاح کنند. دادههای موجود در فایل پرونده را آیتمهای فایل پرونده (Case File Items) مینامند.
تمام دادهها و ساختارهای داده در استاندارد CMMN آیتمهای فایل پرونده نامیده میشوند. تمام آیتمهای فایل پرونده (case file items) در فایل پرونده ذخیره میشوند. از آیتمهای فایل پرونده برای نمایش انواع داده ها، از جمله مقدار داده در دیتابیس، ردیف آن در دیتابیس، سند، صفحات گسترده، تصویر، ویدیو، صوت و غیره استفاده میشود. آیتمهای فایل پرونده (case file items) همچنین میتوانند ظرفی برای دایرکتوری، یک فولدر، یک مجموعه، یک پشته، یک لیست و غیره را نشان دهند.
مثال
جدول برنامهریزی Planning table
یک مرحله (Stage) یا یک وظیفه انسانی میتواند یک جدول برنامهریزی داشته باشد؛ که نشان میدهد آیتمهای اختیاری در نظر گرفته شدهاند (-) یا خیر (+). هنگامی که کاربر یک جدول برنامه ریزی را «گسترش / Expands» میدهد، آیتمهای اختیاری آن در داخل مرحله یا خارج از وظیفه انسانی قابل مشاهده میگردد. برای آیتمهای اختیاری مرتبط با یک کار انسانی، برنامهریزی فقط در حالت فعال وظیفه در دسترس است.