فرآیندکاوی یک حوزه تحقیقاتی با هدف بهبود تحلیل مدلهای فرآیند کسبوکار با استفاده از استخراج دانش از دادههای رویداد (Event Log) است. آنچه در سازمان به وقوع میپیوندد در نظر گرفته میشود نه آنچه افراد در مورد سازمان فکر میکنند، بنابراین فرآیندکاوی میتواند در صنایع و علوم مختلف مورد استفاده قرار گیرد. این مقاله سعی در ارائه اطلاعاتی در ارتباط با مفاهیم فرآیندکاوی و تفاوتهای آن با دادهکاوی دارد.
معرفی
قابلیتهای سیستمهای اطلاعاتی بهطور امیدوارکنندهای در پنج دهه گذشته توسعه یافته است. این بهبود منتج به رشد چشمگیری در مقدار دادهها شده است. مؤسسات در محیط تغییر باید سیستمهای خود را در مدلهای فرآیند کسبوکار با استفاده از این دادهها با شرایط موجود انطباق دهند. فرآیند، مجموعهای از کد، حافظه، داده و دیگر منابع میباشد که با دریافت ورودی، خروجی را تولید میکنند. در این مقاله فرآیند کاوی تکنولوژی مدیریت فرآیندهای کسبوکار که هدف آن کشف، تحلیل، کنترل و بهبود این فرآیندها با استفاده از استخراج دانش از دادههای ذخیره شده (مانند دادههای رویداد) که در سیستمهای اطلاعاتی امروزه در دسترس است. فرآیندکاوی بر توسعه تکنیکهای خلاقانه جهت تحلیل این دادههای رویداد ذخیره شده تمرکز دارد.
دادهکاوی تحلیل دادههای ذخیره شده ایستا است. اگرچه فرآیندکاوی تفاوتهای محض با دادهکاوی دارد، ارتباط مهمی بین مدلهای فرآیند کسبوکار و دادهکاوی ارائه میدهد. این منتج به تغییری در مدل فرآیند اولیه میشود و مدل موجود قابل استفاده نیست و یا مدل جدیدی تکامل نمییابد. برای بهبود این مدلها فرآیند کاوی میتواند با استفاده از گزارشات رویداد به چگونگی کار افراد یا روشها پی ببرد. برای کسب اطلاعات از این گزارشات هر رویداد باید شامل دادههای مهمی مانند نام فعالیت، شناسه کاربر و غیره باشد. در این مقاله هدف معرفی تکنیکهای فرآیندکاوی در فرآیندهای توسعه نرم افزار با استفاده از استخراج فرآیندهای واقعی جهت کشف، کنترل و شرح جزییات توسعه است. پس از این مطالعه، بهبود فرآیند و طراحی در مدلهای فرآیند واقعگرایانهتری سازماندهی میشوند.
دادهکاوی
به زبان سادهتر دادهکاوی به معنای استخراج یا پردازش اطلاعات از دادهها در حجم بالا است. این تعریف صحیح نیست، طبیعتاً فرآیند استخراج طلا از شن یا صخره، صخرهکاوی نامیده نمیشود بلکه طلاکاوی نام دارد بنابراین معنای دقیقتر دادهکاوی، کاویدن اطلاعات در میان دادهها است اگرچه کلمه دادهکاوی مختصر است اما استفاده از دادههای حجم بالا را منعکس نمیکند. به عبارت بهتر کاویدن، فرآیند استخراج یک محصول باارزش از حجم زیادی مواد خام را توصیف میکند.
دادهکاوی توجه زیادی در دنیا و به خصوص در صنعت اطلاعات به خود جلب کرده است علت آن در دسترسپذیری حجم زیادی از دادهها و نیاز به تبدیل آنها به اطلاعات کاربردی است. اطلاعات به دست آمده در همه صنایع و علوم مورد استفاده قرار میگیرد. دادهکاوی از نتایج توسعه طبیعی فناوری اطلاعات است. به عنوان نمونههایی از موارد کاربرد آن میتوان به تحلیل دادههای مالی، صنعت خردهفروشی، صنعت مخابرات، تجزیهوتحلیل دادههای زیستشناختی اشاره نمود.
فرآیند کاوی
فرآیندکاوی یک حوزه تحقیقاتی است. تاکنون اطلاعات گزارشات رویداد به ندرت در تحلیل فرآیندها مورد استفاده قرار میگرفت. هدف فرآیند کاوی بهبود تحلیلها با ارائه تکنیکها و ابزارهای جدید برای کشف فرآیندها، کنترلها، دادهها و ساختار سازمانها است. ایده اصلی تحلیل فرآیند، شناسایی فرآیندها با استفاده از کاویدن گزارشات رویداد است. تاکنون فرآیندکاوی بر اکتشاف فرآیندها و توسعه فرآیندها تمرکز داشته است.
کاویدن فرآیندها حداقل از دو بعد مفید است: اول، بهعنوان ابزاری که اطلاعاتی در ارتباط با چگونگی کار افراد و یا فرآیندها ارائه میدهد. فرآیندهای SAP میتواند نمونهای از آن باشد. این سیستمها همه تراکنشها/ رویدادها را به عنوان رویدادهای پایگاه داده، رویدادهای ارتباطات، بازخوانی از اجزای سختافزاری و غیره ثبت میکند.
دوم، فرآیندکاوی همانند تحلیل فرآیند دلتا (Delta analysis of the process) میتواند جهت مقایسه فرآیندهای از پیش تعریف شده و فرآیندهای واقعی مورد استفاده قرار گیرد.
مزایای فرآیندکاوی: واقعبینی مزیت اصلی فرآیندکاوی است که به علت استفاده از دادههای واقعی در تحلیل است. همچنین باعث افزایش سرعت توسعه میشود اگر توسعهدهنده اطلاعات صحیحی در موقعیتهای مناسب داشته باشد فرآیند کاوی منجر به نتایج دقیقتر با سرعت بیشتری خواهد شد. از دیگر مزایای آن پیدا کردن استثنائات بالقوه است که همچنین به شناسایی علل این استثنائات کمک خواهد کرد. کنترل سازگاری از دیگر مزایای فرآیند کاوی است.
معایب فرآیند کاوی: یکی از مشکلترین بخشهای فرایندکاوی پیدا کردن دادههای صحیح و مفید است. جهت دستیابی به دادههای مناسب، تحقیق و تمرین باید بهبود یابد. مشکلات دادهها در فرآیند کاوی میتواند با کمک گرفتن از توسعهدهندگانی که از استاندارد ثبت گزارشات رویداد (XES) استفاده میکنند حل گردد. در این شرایط مستندات و راهنمای این تکنیک دشوار کافی نخواهد بود. اگر مستندات و ابزارها در دسترس باشند برای کاربران و سازمانهای بدون تجربه کافی مفید خواهد بود.
فرآیندکاوی در مقابل دادهکاوی
فرآیندکاوی میتواند بهعنوان ارتباطی جهت پر کردن فضای بین دادهکاوی و مدلهای تحلیل شده بر اساس BPM در نظر گرفته شود. بسیاری از تکنیکهای دادهکاوی روندگرا نیستند بنابراین بسیاری از الگوریتمها نیازمند بازسازی هستند. فناوری فرآیند کاوی ترکیبی از نقاط قوت دادهکاوی و مدلسازی فرآیند است. فرآیندکاوی مدلهای فرآیندی را از دادههای فناوری اطلاعات موجود ایجاد میکند و این مدلها هر زمانی میتوانند بهروزرسانی شوند. تفاوتهای اصلی فرآیندکاوی و دادهکاوی به شرح ذیل است:
دادههایی با حجم بالا: فرایندکاوی جهتهای مشترکی با دادهکاوی دارد. دادهکاوی و فرآیندکاوی بر روی دادههای با حجم بالا که پردازش آنها از طریق روشهای معمول دشوار است عملکرد خوبی دارند. شرکتهای فناوری اطلاعات مایل به نگهداری دادههای بسیاری در ارتباط با فرآیندهای کسبوکار میباشند که این دادهها نمایانگر آنچه بهصورت واقعی اتفاق میافتد هستند و نقاط مهمی جهت آشکار کردن راه حلها بشمار میروند.
چشمانداز فرآیند: اکثر تکنیکهای دادهکاوی الگوهای انتزاعی مانند درخت تصمیم هستند. بالعکس فرآیند کاوی، مدلهای فرآیند کامل را برای مشخص کردن محل دقیق گلوگاهها ایجاد میکنند.
چشماندازها مهم هستند: در دادهکاوی به این علت که حفاظت دادهها در این فرآیند مناسب نیست، تعمیم دادن بسیار مهم است. جداسازی نمونه به یک مانع برای یک قاعده کلی تبدیل شده است. در فرآیند کاوی تعمیم دادن برای فهم جریان فرآیند اصلی بسیار مهم است اگرچه مشخص نمودن گلوگاهها اهمیت بیشتری دارد.
تمرکز بر کشف: در دادهکاوی معمولاً مدلها برای پیشگویی مسائل آتی در شرایط مشابه فراهم میشوند. تعداد روشهای دادهکاوی و یادگیری ماشین بهعنوان جعبه سیاه (Black box) جهت پی بردن به چرایی مسائل مورد استفاده قرار میگیرند. دلیل آن فرآیندهای کسبوکار پیچیده و عدم تخمین دقیق است. بهطور خلاصه اگر چه دادهکاوی و فرایندکاوی بسیار متداول هستند آنها تفاوتهایی در این که چه هستند و کجا میتوانند مفید واقع شوند دارند.
هوش تجاری
اتفاقاتی که در گذشته روی داده است از طریق جمعآوری گزارشات فرآیند و تحلیل آنها با استفاده از تکنولوژی هوش فرآیندهای تجاری (Business Process Intelligence (BPI)) مقدور است. همچنین این طلاعات میتواند جهت پیشبینی مشکلات بالقوه و توضیح دلایل رخ دادن آنها مورد استفاده قرار گیرد. مدیریت کیفیت فرآیندهای کسبوکار پیشنهاداتی به شرح زیر دارد:
تحلیل: هوش فرآیندهای تجاری تحلیل فرآیندهای در حال اجرا را در فناوری اطلاعات و فرآیندهای تجاری ممکن میسازد در حالی که تحلیلگر فناوری اطلاعات با متوسط زمان اجرای هر گره مواجه است تحلیلگر کسبوکار میتواند اطلاعات سطح بالاتر را تحلیل کند.
پیشگویی: هوش فرآیندهای تجاری، مدلهای پیشگویی را جهت مشخص کردن احتمال استثنائات و عوامل نامطلوب و اعمال آنها در فرایندهای در حال اجرا به دست میآورد.
مانیتورینگ: هوش فرآیندهای تجاری میتواند فرآیندهای در حال اجرا را مانیتور و تحلیل کند. همچنین به کاربر موقعیتهای نامطلوب را اطلاع میدهد و کاربر میتواند صحت سیستم، فرآیندها، خدمات و منابع را مانیتور کند.
کنترل: کنترل مبنای اصلی پیشگویی و مانیتورینگ است. طراحی ویژوال هوش فرآیندهای تجاری در شکل ۱ نمایش داده شده است. در این شکل سه فرآیند اصلی وجود دارد:
- مخزن دادههای فرآیند (Process Data Warehouse (PDW)) که مخزنی با طراحی خاص جهت ذخیره همه رویدادهای مرتبط با اجرای فرآیندها است دادهها را از گزارشات رویداد میگیرد و پس از کنترل معیارهای کسبوکار و پایداری آنها، آنها را ذخیره میکند.
- موتور فرآیند کاوی یکی از اجزای اصلی سیستم است و از تکنیکهای دادهکاوی بر روی PDW جهت شناسایی جریان فرآیندها استفاده میکند. خروجی آن با دادههای استاندارد گزارش شده متفاوت است و در یک دیتابیس متفاوت با نام تحلیل و پیشبینی ذخیره میشود.
- Cockpit یک واسط کاربری گرافیکی است که برای ارائه گزارشات به کاربران سیستم توسعه یافته است و از PDW برای ارائه آنها با استفاده از یک واسط گرافیکی به روشی قابل فهم تر استفاده میکند و تحلیلگر میتواند این دادهها را به آسانی تحلیل کند و کوئریهای متفاوتی در جهت گرفتن اطلاعات بیشتر ایجاد کند. در عین حال به کاربر جهت ارتباط با موتور فرآیند جهت اجتناب از موقعیتهای غیرمنتظره اطلاع میدهد.
در این میان، موتور فرآیندکاوی که شامل تهیه و تقسیمبندی دادهها است در تصویر ۲ نمایش داده شده است:
- برنامه تهیه دادههای فرایندی، نمونهها و اطلاعات را دریافت، ویژگیها را انتخاب و در چارچوب مناسب جهت طبقهبندی ارائه میدهد. مجموعه دادههایی که معمولاً برای آموزش طبقهبندی بکار میروند مجموعه دادههای آموزشی اطلاق میشود.
- طبقهبندی کننده قوانینی ایجاد میکند و آنها را در دیتا بیس تحلیل و پیشبینی نگهداری میکند این قوانین جهت فهم علل رفتارها مورد استفاده قرار میگیرند. در بعضی موارد جهت تمرکز بر روی یک ویژگی خاص تحلیلگر پس از حذف بعضی ویژگیها در دیتابیس آموزشی اقدام به طبقهبندی مجدد مینماید.
الگوریتم و ابزارهای فرآیندکاوی
فرآیندکاوی یک حوزه تحقیقاتی نسبتاً جدی است که مدلسازی و تحلیل فرایندها را پوشش میدهد. هر رویدادی که نقطه شروع فرآیندکاوی است با فعالیت در ارتباط است. هر فعالیت متعلق به یک رویداد خاص یا به عبارت بهتر یک فرآیند است.
در شکل ۳ انواع فرآیندکاوی نشان داده شده است:
- کشف، ایجاد یک مدل از گزارشات رویداد بدون استفاده از اطلاعات است. مدل و نمادهای فرایندهای کسبوکار نمونهای از فرآیندهای کشف هستند. این فرآیند نه تنها کنترل جریان سیستم بلکه مدلهای سازمانی نیز کشف میکند.
- تکنیک انطباق از طریق مقایسه مدل اولیه با مدل گزارشات رویداد، تناقضات و انحرافات را مشخص میکند. در واقع اختلاف بین آنچه باید رخ دهد و آنچه واقعاً رخ میدهد را کنترل مینماید. برای کنترل ثبات سیستم مدلهای متفاوتی مانند مدلهای سازمانی میتواند مورد استفاده قرار گیرد.
- هدف پیشرفت، بهبود یا توسعه مدل فرایندی موجود با استفاده از جمعآوری دادهها از گزارشات رویداد است. مرحله اول شناسایی گلوگاهها و بازده سیستم سپس سازماندهی مجدد فرآیندها جهت افزایش بهرهوری سیستم است.
یکی از معروفترین و پرکاربردترین ابزارها ProM است. این ابزار جهت اهداف متفاوتی مانند کاوش فرآیندها، تحلیل شبکههای اجتماعی یا اعتبار سنجی قوانین کاری (Business Rules) بکار برده میشود. از دیگر ابزارها میتوان به ProM import, Nitro and XESame اشاره نمود.
الگوریتم الفا (Alpha Algorithm) و الگوریتم رویکرد چند فازی (Multi-Phase Approach Algorithm) از دیگر الگوریتمهای موجود هستند آنها با استفاده آر رابطه سلسله مراتبی فرآیند را کشف میکنند. الگوریتمهای ابتکاری بر اساس تناوب روابط سلسله مراتبی بدون در نظر گرفتن رفتارهای استثنایی عمل میکنند.
اصول راهنمای فرآیندکاوی
هنگام اجرای این رویکرد در سناریوهای واقعی اشتباهات اجتنابپذیری رخ میدهد جهت جلوگیری از وقوع این اشتباهات باید خطوط راهنمایی به شرح ذیل مد نظر قرار گیرد:
- رویدادها باید قابل اطمینان باشند همچنین بتوان فرض کرد که در دنیای واقعی رخ دادهاند و دادههای صحیحی هستند. رویدادها باید کامل باشند و زمانی که یک محدوده مشخص تحت مطالعه قرار میگیرد هیچ دادهای نباید از قلم بیافتد. هر رویداد گزارش شده باید معنادار باشد و همچنین مسائل مرتبط با امنیت آنها رعایت شده باشد.
- کشف گزارشات ثبت شده باید با یک سؤال همراه باشد؛ به عبارت دیگر کشف معناداری دادهها بدون طرح سؤال بسیار مشکل است در سیستمهای ERP مانند SAP شما در میان هزاران دیتا بیس بدون طرح سؤال نمیدانید از کجا شروع کنید.
- رویدادها باید با اجزای مدل در ارتباط باشند. کنترل عملکردی و بهبود بر اساس اجزای مدل و روابط رویدادها در گزارشات است. این ارتباط از گزارشات رویداد جهت تکرار استفاده میکند. تکرار برای اشکار سازی تفاوتهای بین مدل و گزارشات رویداد جهت بهبود مدل استفاده میشود.
- مدل برگرفته از دادههای رویداد، تصویری از واقعیت را منعکس میکند.
- دادهکاوی میتواند یک فرآیند مستمر باشد: به علت ماهیت پویای فرآیندها، فرآیندکاوی نمیتواند به عنوان یک فعالیت موقت در نظر گرفته شود بلکه هدف اصلی آن ایجاد یک فرآیند یادگیری مستمر به جای یک فرآیند ساکن است.
نتیجهگیری
سازمانها توانایی درک کردن، بهبود مستمر و کنترل فرآیندها را با استفاده از تطبیق فرآیند کاوی با سیستمهای خود را به دست میآورند. با مشخص نمودن جریان واقعی فرآیندها، ریسکهای ناخواسته و فرصتهای پنهان میتوانند به آسانی مشخص شوند؛ بنابراین اقدامات اصلاحی میتواند ذخیره زمان و هزینه را در پی داشته باشند. این رویکرد از رویدادهای واقعی استفاده مینماید و دادههای لازم جهت طراحی مجدد فرآیندهای کسبوکار را فراهم مینماید. با کمک تکنیکهای فرآیندکاوی اطلاعات بسیاری در ارتباط با اجرای فرآیندها مانند الگوهای تصمیمگیری، کنترل جریان، عملکرد و غیره جمعآوری میشود. همچنین ایجاد مدلهای شبیهسازی در یک مدل فرآیندی ممکن است.
مهشید قانع؛ سرپرست تضمین کیفیت شرکت مهندسی تذرو افزار