در سیستم مدیریت فرایندهای نوسا، وظایف به دو دسته تقسیم می شود:
- وظایف خودکار (سیستمی) : این وظایف توسط سیستم و بطور اتوماتیک انجام می شود. در واقع کاربر این وظایف، کاربر سیستم است که براساس توابع موجود در برنامه گردش کار و اولویت ها، وظیفه تعیین شده را انجام می دهد.
- وظایف عادی (انسانی): این وظایف توسط کاربران انسانی و به شکل دستی انجام می شود. انجام یک وظیفه عادی، طبق تعریف به عهده کاربری است که اختیار انجام آن را دارد.
سررسید انجام وظایف عادی
در مورد وظایف عادی یا انسانی ، از نظر تئوری ، کاربر می تواند در هر زمان دلخواه این وظیفه را انجام دهد اما در واقعیت این طور نیست و معمولا مهلت نامحدود برای انجام وظایف وجود ندارد. به عبارت دیگر هر وظیفه باید تا زمان خاصی انجام شود و در غیر اینصورت روند گردش کار متوقف می شود و اصطلاحا کارها در گردش کار رسوب می کنند. حال برای نظارت و مدیریت بهتر کارها، می توانیم برای انجام وظایف، یک سررسید زمانی تعریف کنیم. در این صورت می توانیم علاوه بر نمایش زمان سررسید در فهرست کارها، یک رخداد (event) برای وظایف سررسید شده منتشر کنیم.
تعیین سررسید برای وظیفه
برای تعیین سررسید برای انجام وظیفه باید همانند شکل زیر، Tab شاخص عملکرد در محاوره اصلاح اطلاعات وظیفه مورد نظر را باز کنیم و در ، ناحیه "زمان"، حداکثر زمان مجاز برای انجام این وظیفه را تعیین کنیم. در مثال زیر، در گردش کار تعمیر و نگهداری، برای وظیفه "تعمیر دستگاه" تنظیمات سررسید انجام شده است:
در ناحیه "زمان"، می توانیم دو نوع حداکثر (زمان مجاز برای انجام وظیفه) را تعیین کنیم:
- ثابت: یعنی این که یک مدت زمان ثابت (در این مثال 1:30:00) را تعیین می کنیم و به تبع آن حداکثر فرصت زمانی برای انجام این وظیفه را تعیین می کنیم. در مثال فوق، زمان انجام این وظیفه، پس از یک ساعت و سی دقیقه سررسید می شود. در شکل زیر و در فهرست کارها، یک کار تعمیر دستگاه را با اطلاعات سررسید مشاهده می کنید:
ملاحظه می کنید که سیستم بطور اتوماتیک 1 ساعت و 30 دقیقه را به "زمان انجام آخرین وظیفه کار" اضافه کرده و در ستون "زمان سررسید انجام وظیفه" نمایش می دهد. علاوه بر این "زمان باقیمانده تا سررسید" را نیز به شکل لحظه ای می توانید مشاهده کنید. البته لازم به توضیح است که برای مشاهده اطلاعات در هر لحظه باید این فهرست را بازخوانی (refresh) کنید.
- خروجی تابع: در مواردی فرصت انجام یک وظیفه به عوامل و پارامترهای دیگری بستگی پیدا می کند. برای مثال زمان انجام وظیفه تعمیر بستگی به نوع دستگاه دارد. برای مثال فرض کنید در یک گردش کار، نوع دستگاه در یک فیلد انتخابی ساده و به شکل زیر ذخیره می شود:
نوع دستگاه
- تجهیزات ارتباطی
- تجهیزات ورزشی
- تجهیزات روشنایی
- تجهیزات حمل و نقل
واضح است که حداکثر زمان مجاز برای تمام انواع تجهیزات فوق یکسان نیست و برای مثال زمان تعمیر تجهیزات روشنایی بسیار کمتر از زمان تعمیر تجهیزات ارتباطی است. در این حالت، بجای تعیین یک مدت زمانی ثابت، تابعی را برای محاسبه و تعیین حداکثر زمان مجاز برای تعمیر، در نظر می گیریم. در این مثال می توانیم از تابع زیر استفاده کنیم:
ملاحظه می کنید که زمان حداکثر در متغیر maxTime ذخیره شده و بسته به نوع تجهیزات، مقادیر متفاوتی را به خود می گیرد. برای مثال برای تجهیزات ارتباطی 3 روز و برای تجهیزات ورزشی 2 روز تعیین شده است. خروجی تابع نیز همین متغیر maxTime است. حال می توانیم مطابق شکل زیر، تنظیمات زمان را بر مبنای خروجی تابع انجام دهیم:
ملاحظه می کنید که نوع حداکثر گزینه "خروجی تابع" گرفته و برای تابع حداکثر نیز تابع شرح داده شده در بالا، تعیین شده است. به این ترتیب زمان سررسید انجام وظیفه برای تجهیزات مختلف متفاوت خواهد بود. به مثال زیر در این زمینه توجه کنید:
همانطور که می بینید، بیسیم چون یک وسیله ارتباطی است زمان سررسید برای تعمیر این دستگاه، 3 روز بعد ( 12/4) در نظر گرفته شده است اما دوچرخه ثابت یک وسیله ورزشی است و لذا سررسید تعمیر این وسیله 2 روز بعد (11/4) تعیین شده است.
توضیح: تنظیمات ناحیه زمان، یکی از بخشهای مرتبط با مبحث سنجش شاخص عملکرد فرایند است لذا این تنظیمات در مستند با عنوان سنجش شاخص عملکرد فرایند (KPI) – روش ساده: 1- تعیین معیارهای کمی عملکرد برای وظایف به شکل کاملتری توضیح داده شده است که برای اطلاعات بیشتر می توانید به این مستند مراجعه کنید.
فیلترینگ فهرست کارها براساس زمان سررسید
در محاوره تعیین محدودیت برای فهرست کارها، فیلدهای متعددی برای محدود یا فیلتر کردن فهرست وجود دارد:
همانطور که ملاحظه می کنید، یکی از این فیلدها سررسید کار است که از این طریق می توانید فهرست کارها را براساس تاریخ سررسید فیلتر کنید. نکته ای که باید توجه کنید که چون زمان سررسید یک فیلد محاسباتی است لذا در Tab شرایط قابل انتخاب نیست و به همین دلیل، این فیلد در Tab محتوی پیاده سازی شده است.
مرتب سازی کارها براساس زمان سررسید
کاربران ممکن است بخواهند کارهای خود را براساس تاریخ سررسید مرتب نمایند و کارها را به ترتیب سررسید انجام دهند. اما از آنجایی که فیلد تاریخ سررسید یک فیلد محاسباتی است لذا در فهرست مرتب سازی محاوره، قابل انتخاب نیست. بنابراین برای امکان مرتب سازی فهرست کارها براساس تاریخ سررسید، باید در تعریف محاوره های فهرست کارها از جدول پیشرفته استفاده کنیم. یادآوری می شود که در جداول پیشرفته کافی روی سرعنوان هر ستون کلیک کنید تا به صورت صعودی مرتب شود. به مثال زیر توجه کنید :
این فهرست براساس زمان سررسید انجام وظیفه مرتب نشده است. حال کافی است روی سرعنوان ستون زمان سررسید کلیک کنید، به این ترتیب فهرست فوق به شکل زیر و بصورت صعودی مرتب می شود:
حال اگر بخواهید بصورت نزولی مرتب شود کافی است مجددا روی سرعنوان ستون کلیک کنید. در این صورت فهرست کارها به شکل زیر مرتب می شود:
نحوه تشخیص کارهای سررسید شده
یک راه سریع برای تشخیص کارهای سررسیده این است که در فهرست کارها، برای کار مورد نظر، به ستون زمان باقیمانده تا سررسید انجام وظیفه نگاه کنید، اگر زمان باقیمانده مثبت باشد، به معنی این است که هنوز برای انجام وظیفه فرصت وجود دارد و اگر چنانچه منفی بود به این معنی است که این کار سررسید شده است. در مثال زیر کار تعمیر پنکه، سررسید شده و 27 دقیقه تاخیر دارد اما تعمیر کلاچ تا زمان سررسید 9 دقیقه مهلت دارد:
انتشار رخداد (event) برای سررسید
امکان دیگری که در مورد سررسید انجام وظیفه وجود دارد این است که اگر وظیفه ای پس از پایان مهلت سررسید انجام شود آنگاه می توانیم یک رخداد برای این مورد منتشر کنیم. برای این کار همانند مثال زیر، باید یک عبارت کلیدی برای این رخداد را وارد و ذخیره کنید:
به این ترتیب، سیستم در برابر تراکنشهایی که با تاخیر بیش از حد مجاز انجام می شود حساس می شود و واکنش نشان می دهد. حال این رخدادها می تواند توسط گردش کارهای مدیریتی دریافت شود و اقدام مناسب در جهت بازطراحی و بهبود گردش کار انجام شود. اقداماتی از قبیل :
- ثبت تاخیرها و استفاده از این داده ها در ارزیابی و توزیع کار میان کاربران
- تذکر به کاربر توسط یک اعلامیه یا پیام داخلی
- تجدید نظر در طراحی گردش کار در جهت بالا بردن بهره وری و کارایی فرایند
نکته مهم: تا زمانی که وظیفه انجام نشده است، سیستم نمی تواند به سررسید شدن آن واکنش نشان دهد، لذا ابتدا باید وظیفه انجام شود و تراکنش ثبت شود و سپس با مقایسه زمان انجام و زمان سررسید، در صورت تجاوز از مهلت سررسید، یک رخداد (event) صادر شود.
سررسید وظیفه در وضعیتهای نگهبان (watchdog)
همانطور که در ابتدا هم گفته شد، سررسید وظایف در وضعیتهای تصمیم گیر خودکار بی معنی است چون وظایف توسط سیستم و در لحظه انجام می شود. اما در اینجا یک استثنا وجود دارد و آن هم وضعیتهای watchdog است. در این وضعیتها یک (یا چند) وظیفه توسط کاربر انسانی انجام می شود و لذا مفهوم سررسید برای این نوع از وظایف معنی دار است. برای این کار بهتر است زمان سررسید وظیفه انسانی را برابر با میزان تاخیر وضعیت نگهبان قرار دهید. برای مثال اگر وضعیت نگهبان به اندازه 45 دقیقه در حالت انتظار قرار می گیرد باید در تنظیمات وظیفه مورد نظر و در ناحیه زمان، میزان حداکثر را برابر مقدار ثابت 45 دقیقه قرار بدهید. در این صورت کاربر تا زمان بیداری وضعیت نگهبان می تواند بصورت لحظه ای از میزان مهلت زمانی انجام وظیفه آگاه شود.