طراحی دیتامدل در بیزاجی
بخش زیر شامل راهنماهایی است که به شما در طراحی دیتامدل کمک میکند. این راهنماها باید در مراحل اولیه پروژه مد نظر قرار گیرند تا ویژگیهای پیشرفته دیتامدل بهطور مؤثر ایجاد شده و عملکرد و قابلیت استفاده مطلوب حاصل شود.
به خاطر داشته باشید که اجرای صحیح مراحل تحلیل و طراحی بسیار مهم است، زیرا این کار نهتنها باعث صرفهجویی در زمان در هنگام پیادهسازی فرآیندها میشود، بلکه از نیاز به بازنگری و اصلاح اشیای از پیش پیادهسازیشده نیز جلوگیری میکند. پیشنهاد میشود بهد از این مقاله همه مقالاب بیزاجی eBPM را مطالعه کنید.
آموزش طراحی دیتا مدل در نرم افزار بیزاجی
مدلسازی کارآمد مدلهای داده
هنگام طراحی دیتامدل برای فرآیندها و پروژههای بیزاجی، زمان کافی را به تحلیل اختصاص داده و تیم و افراد ذینفع را درگیر کنید. این مرحله از اهمیت بالایی برخوردار است، زیرا تعریف صحیح ساختار مدل داده فرآیندها تأثیر مستقیمی بر اتوماتیکسازی آنها دارد. دلایل این اهمیت شامل موارد زیر است:
- تأثیر قابلتوجه بر میزان سختی یا سادگی دسترسی به اطلاعات دیتامدل در فرمها و عبارات.
- تعیین قابلیت انتقال و درک دیتامدل توسط اعضای تیم و مالکان فرآیند.
- تعیین نحوهی بازیابی اطلاعات.
- تعیین امکان استفاده مجدد از دادهها.
- تعیین قابلیت مدیریت دادهها.
- تعیین نحوه بهروزرسانی اطلاعات.
راهنمای طراحی
در ادامه، دستورالعملهایی برای پیروی از اصول بهترین شیوهها در تعریف دیتامدل ارائه شده است.
تعریف دیتامدل با رویکرد طراحی شیءگرا
در طراحی مدل داده، باید بررسی کنید که آیا این مدل امکان استفادهی بهینه از مسیریابی XPath را در سایر اجزای فرآیند (مانند فرمها و قوانین تجاری) فراهم میکند یا خیر.
مثالی در زیر ارائه شده است که بخشی از مدل داده فرآیند درخواست وام را نشان میدهد. در تصویر سمت چپ، مسیر XPath برای دسترسی به نام مرجع متقاضی از موجودیت “درخواست” طولانی است، در حالی که در تصویر سمت راست، تنها با تغییر رابطه بین موجودیتها، این مسیر کوتاهتر شده است.
در چنین مواردی، عدم ثبت صحیح منطق کسبوکار میتواند جستجوی اطلاعات را در فرمها، عبارات و رابطها دشوار کند.
جلوگیری از اتصال تمام موجودیتها به یکدیگر
دیتامدل بیزاجی برای استفاده از XPath بهصورت خطی (تکجهتی) طراحی شده است. بنابراین، نباید دیتامدل بیزاجی را به گونهای طراحی کنید که همه موجودیتها به یکدیگر متصل باشند.
در تصویر زیر، یک موجودیت فرآیند با نام درخواست سفر نمایش داده شده است که نقطهی شروع ناوبری محسوب میشود. بنابراین، ناوبری بهصورت خطی خواهد بود، برخلاف حالتی که تمامی موجودیتها به یکدیگر متصل شدهاند و مسیرهای پیچیدهای برای دستیابی به دادهها ایجاد میشود. ( میتوانید با ثبت نام در سایت تمامی دوره های کاربردی مانند دوره آموزش بیزاجی را با 20 درصد تخفبف تهیه کنید )
استفاده از ویژگیهای دامنه (Scope Attributes) در مواقع ضروری
از افزودن اطلاعاتی که بهطور موقت در فعالیتها یا فرآیندها استفاده میشوند و ارزشی به مدل داده اضافه نمیکنند، خودداری کنید.
به جای آن، میتوانید از ویژگیهای دامنه (Scope Attributes) استفاده کنید تا مدل داده را ساده و شفاف نگه دارید.
استفاده مناسب از موجودیتهای Master و Parameter
بیزاجی برای انواع موجودیتها رفتار متفاوتی را در نظر میگیرد، از جمله بهینهسازیهای خاص و روشهای مدیریت اطلاعات. همچنین، برخی ویژگیها فقط برای یکی از این دو نوع موجودیت قابل استفاده هستند.
- موجودیتهای مستر به عنوان داده در نظر گرفته میشوند و مقادیر آنها هنگام انتقال از محیط توسعه به محیط تولید منتقل نمیشود.
- موجودیتهای پارامتر میتوانند به عنوان متاداده تعریف شوند که برخلافMaster ، هنگام انتقال از محیط توسعه به تولید باقی میمانند.
- ویژگیهای خاص موجودیتهای Parameter شامل امکان تعریف موجودیتهای والد برای استفاده از ترکیبهای وابسته (Cascading Combos) در رابط کاربری است.
برای تصمیمگیری در مورد انتخاب نوع موجودیت، سناریوهای تجاری مختلف را در فرآیند خود در نظر بگیرید. هیچ راهکار واحدی برای همه موارد وجود ندارد، اما سؤالات زیر میتوانند در انتخاب نوع مناسب کمک کنند:
- آیا اطلاعات از فرآیندهای مختلف قابل دسترسی و تغییر هستند؟ → از موجودیت Master استفاده کنید.
- آیا اطلاعات از پیش تنظیم شده و به عنوان یک وظیفهی مدیریتی تعریف شدهاند؟ → از موجودیت Parameter استفاده کنید.
- آیا نیاز به همگامسازی اطلاعات بین بیزاجی و یک منبع خارجی (مجازیسازی داده) وجود دارد؟ → از موجودیت Master استفاده کنید.
- آیا اطلاعات از یک منبع خارجی وارد شده و بهروزرسانیهای آن کمتکرار است (تکرار داده)؟ → از موجودیت Parameter استفاده کنید.
استفاده از مجازیسازی داده (Data Virtualization) یا تکرار داده (Data Replication) در مواقع لازم
مجازیسازی و تکرار داده تکنولوژیهای موثری برای استفادهی مجدد از اطلاعات موجود در منابع خارجی هستند.
اگر اطلاعات مورد نیاز شما در فرآیند از قبل در یک منبع خارجی موجود است و شما به آن دسترسی دارید، بهتر است از ویژگیهای مجازیسازی داده یا تکرار داده در بیزاجی استفاده کنید.
تعیین اطلاعاتی که باید در محیط تولید مدیریت شوند
برخی اطلاعات ممکن است به دلیل تغییر شرایط کسبوکار نیاز به ویرایش توسط کاربران نهایی در محیط تولید داشته باشند. بنابراین، تحلیل دقیقی انجام دهید تا مشخص شود کدام اطلاعات باید در محیط تولید قابل تغییر باشند. این کار از نیاز به استقرارهای مکرر برای تطبیق اطلاعات با شرایط جدید جلوگیری میکند.
برای این منظور، در تنظیمات موجودیتهای Parameter گزینهی “مدیریت مقادیر در محیط تولید” را فعال کنید تا مشخص شود اطلاعات در محیط تولید قابل ویرایش است یا فقط در محیط توسعه.
راهنمای عملکردی
طراحی دیتامدل با درنظرگرفتن عملکرد، یکی از جنبههای مهم در مراحل اولیهی پروژه است.
نحوهی تعریف مدل داده نهتنها بر عملکرد نرمافزار تأثیر میگذارد، بلکه تجربهی کاربری را نیز تحت تأثیر قرار میدهد. یک تعریف مناسب از مدل داده باعث بهبود تجربهی کاربری شده و مقیاسپذیری راهکار را سادهتر میکند. برای جلوگیری از مشکلات عملکردی، راهنماهای زیر را در نظر بگیرید.
استفاده از اندازهی مناسب برای ویژگیهای متنی
در برخی پروژهها، ویژگیهای متنی با طول زیاد (بیش از ۲۵۰ کاراکتر) بدون توجه به کاربرد واقعی آنها ایجاد میشوند. این کار میتواند تأثیر منفی بر عملکرد پایگاه داده داشته باشد.
مهم است که اندازهی ویژگیهای متنی را بر اساس دادهای که ذخیره میکنند تعیین کنید. به عنوان مثال، نباید یک رشتهی ۵۰۰ کاراکتری را برای ذخیرهی شماره تلفن تعریف کنید.
بهعنوان یک روش بهینه برای بهبود عملکرد پایگاه داده، ویژگیهای متنی باید فقط به اندازهی موردنیاز فضا رزرو کنند.
ایجاد موجودیتها با حداکثر ۳۰ ویژگی
هنگام تعریف یک موجودیت، از ایجاد تعداد زیادی ویژگی خودداری کنید، زیرا این کار هنگام اجرای کوئریها، منابع بیشتری را مصرف کرده و میتواند باعث کاهش عملکرد سیستم شود. بهطور کلی، داشتن بیش از ۳۰ ویژگی در یک موجودیت ممکن است منجر به مشکلات عملکردی شود.
در بسیاری از موارد، ممکن است تمام ویژگیها را در یک موجودیت بزرگ قرار دهید، اما توصیه میشود که در صورت امکان، موجودیتهای بزرگ را به موجودیتهای رابطهای کوچکتر تقسیم کنید.
اگر موجودیتی دارای تعداد زیادی ویژگی باشد، بررسی کنید که آیا میتوان آن را به موجودیتهای مرتبط و کوچکتر تفکیک کرد تا اطلاعات به شکل بهینهتر و ساختاریافتهتری توزیع شود.
مثال:
فرض کنید فرآیندی برای ارزیابی وام (Loan Assessment) داریم که شامل یک موجودیت فرآیند است. در ابتدا، تمام اطلاعات مربوط به ارزیابی درخواست وام در این موجودیت ذخیره میشد. اما با افزایش تعداد ویژگیها، متوجه شدیم که باید موجودیت را تقسیم کنیم تا از مشکلات عملکردی جلوگیری شود.
بنابراین، یک موجودیت جدید به نام Applicant ایجاد کردیم و اطلاعات مربوط به متقاضی وام را در آن ذخیره کردیم. این کار باعث کاهش تعداد ویژگیهای موجودیت اصلی شد. در صورت نیاز، میتوانستیم موجودیت را به چندین موجودیت مرتبط دیگر نیز تقسیم کنیم.
تعریف کلیدهای کسبوکار برای موجودیتها و استفاده از آنها در جستجوها
برای بهبود عملکرد کوئریها و جستجوها، توصیه میشود که کلید کسبوکار (Business Key) را برای موجودیتهای خود تعریف کنید. این کلیدها مشابه ایندکسها عمل کرده و سرعت بازیابی دادهها را افزایش میدهند.
پس از تعریف کلید کسبوکار برای یک موجودیت، جستجوها را بر اساس این کلید انجام دهید تا از مزایای آن بهرهمند شوید. بهعنوان مثال، میتوان در کنترلهای جستجو، ستونی را نمایش داد که به کلید کسبوکار تعریفشده مرتبط است.
مثال:
در تصویر زیر، شماره سند (Document Number) به عنوان کلید کسبوکار برای موجودیت مشتری تعریف شده است، به جای استفاده از شناسهی موجودیت (Entity ID) این کار باعث بهبود سرعت و دقت جستجوها در سیستم میشود.
کلیدهای کسبوکار مزایای اضافی مربوط به یکپارچگی دادهها، یکپارچگی سیستمها و امنیت دارند:
- جلوگیری از ایجاد رکوردهای تکراری: هنگام ایجاد یک رکورد جدید، بیزاجی به طور خودکار بررسی میکند که رکوردی با همان مقدار کلید کسبوکار وجود نداشته باشد، بنابراین از ایجاد دادههای تکراری جلوگیری میشود.
- اطمینان از یکپارچگی در یکپارچگی سیستمها: هنگام یکپارچهسازی با سیستمهای دیگر، میتوانید به کدهای منحصربهفرد تکیه کنید که تضمین میکنند هم بیزاجی و هم سیستمهای خارجی به یک رکورد یکسان اشاره دارند.
- حفظ اطلاعات حساس هنگام انتقال دادهها: هنگام انتقال اطلاعات به سیستمهای خارجی، اطلاعات شما به صورت کد ارسال میشود، که باعث میشود اطلاعات حساس و قابل درک کسبوکار، در صورت به سرقت رفتن یا دسترسی غیرمجاز، قابل فهم نباشد.
این روش با برخی استانداردهای صنعتی خاص مانند HIPAA سازگار است و به شما این امکان را میدهد که اطلاعات حساس کسبوکار را در صورت دستگیری اطلاعات توسط طرفهای غیرمجاز ارسال نکنید. ( برای نصب و دانلود بیزاجی استودیو از eBPM استفاده کنید. )
ثبت وضعیت بهعنوان موجودیتها
شما میتوانید با استفاده از Wizrd Studio بیزاجی تنظیم کنید که کدام موجودیتها نیاز به ثبت لاگ وضعیت دارند. این لاگ نشان میدهد که کدام موجودیتها در طول یک فرآیند تغییر کردهاند.
زمانی که وارد لینک جزئیات در لاگ میشوید، برای هر ویژگی تغییر یافته میتوانید اطلاعات زیر را مشاهده کنید:
- نام نمایش (Display Name) ویژگی
- مقدار نهایی ویژگی
- نام فعالیتی که ویژگی در آن تغییر کرده است
- نام و موقعیت کاربری که ویژگی را تغییر داده
- تاریخ تغییر
این ویژگی به شما کمک میکند که تغییرات دقیق دادهها را در هر مرحله از فرآیند، بهویژه در صورت نیاز به پیگیری و نظارت بر عملکرد، مدیریت کنید.
شما همچنین میتوانید اطلاعات را بر اساس ویژگی یا کاربر فیلتر کنید. این امکان به شما این اجازه را میدهد که تغییرات را بهطور خاص برای ویژگیهای معین یا توسط کاربران خاص بررسی کنید، که این به ویژه برای پیگیری دقیق تغییرات و تجزیهوتحلیل عملکرد مفید است.
برای استفاده از فیلتر، وارد ویژگیهای پیشرفته (Advanced Properties) موجودیت شوید. برای این کار، بر روی موجودیت راستکلیک کرده و گزینهی Advanced Properties را انتخاب کنید.
در این بخش، میتوانید فیلترهایی برای جستجو و مشاهده دقیقتر تغییرات دادهها بر اساس ویژگیها یا کاربران تعریف کنید.
توصیه میشود که فعالسازی لاگ تنها برای موجودیتهایی که نیاز به پیگیری برای نیازهای کسبوکار دارند، انجام شود، زیرا این کار میتواند بر حجم پایگاه داده تأثیر بگذارد.
فعالسازی لاگ برای موجودیتهای غیرضروری میتواند باعث افزایش حجم دادهها و کاهش عملکرد سیستم شود. بنابراین، برای بهینهسازی منابع، تنها موجودیتهایی که به پیگیری تغییرات آنها نیاز دارید را برای ثبت وضعیت انتخاب کنید.