بازگشت به مرکز دانش

توسعه Bizagi / Bizagi 11.2.5 On-Premises

راهنمای طراحی Rule قابل نگهداری در Bizagi

اصول طراحی، نام‌گذاری، استفاده مجدد، اعتبارسنجی و تست Business Ruleها برای جلوگیری از پیچیدگی پنهان فرآیند.

BizagiRulesBest PracticeBizagi 11.2.5

دامنه این آموزش: Bizagi Studio و Automation Server نسخه 11.2.5 On-Premises.

نکته نسخه: build دقیق 11.2.5 و تنظیمات محیط سازمان را پیش از اجرای تغییر در Test بررسی کنید. نسخه 11.2.5 از سپتامبر 2024 خارج از پشتیبانی رسمی Bizagi است؛ بنابراین تغییرات امنیتی و زیرساختی باید با ارزیابی ریسک انجام شوند.

در پروژه‌های Bizagi، پیچیدگی واقعی معمولاً داخل Ruleها پنهان می‌شود. فرآیند در نمودار ساده به نظر می‌رسد، اما تغییر یک قانون کوچک می‌تواند چند مسیر و فرم را تحت تأثیر قرار دهد. Rule قابل نگهداری باید خوانا، قابل استفاده مجدد، قابل تست و دارای مسئولیت محدود باشد.

قبل از نوشتن Rule، قرارداد آن را مشخص کنید

برای هر Rule چهار سؤال را پاسخ دهید:

  • ورودی چیست؟
  • خروجی یا اثر جانبی چیست؟
  • چه زمانی اجرا می‌شود؟
  • در صورت داده ناقص یا خطا چه رفتاری دارد؟
  • نام Rule باید رفتار را توضیح دهد. نام‌هایی مانند Rule1 یا ValidationFinal در آینده کمکی نمی‌کنند. نام‌هایی مانند CalculateContractRisk یا ValidateApplicantNationalId هدف را روشن‌تر می‌کنند.

    هر Rule یک مسئولیت

    Ruleای که هم داده را محاسبه می‌کند، هم سرویس خارجی فراخوانی می‌کند و هم مسیر فرآیند را تعیین می‌کند، تست و تغییر را دشوار می‌سازد. منطق را به بخش‌های کوچک‌تر تقسیم کنید:

  • دریافت و آماده‌سازی داده
  • اعتبارسنجی
  • محاسبه
  • تصمیم مسیر
  • ثبت نتیجه یا لاگ
  • منطق مشترک را دوباره ننویسید

    Bizagi امکان استفاده مجدد از Business Ruleها را فراهم می‌کند. منطق پرتکرار مانند تولید شماره، محاسبه تاریخ، اعتبارسنجی شناسه یا تعیین گروه کاربری باید یک‌بار ساخته و در نقاط مختلف فراخوانی شود.

    مقادیر قابل تغییر کسب‌وکار را در Vocabulary یا پارامتر مناسب نگهداری کنید، نه به‌صورت عدد و متن ثابت در چند Expression.

    کارایی و دسترسی به داده

    XPathهای طولانی و پیمایش مکرر Collectionها می‌توانند کارایی را کاهش دهند. داده موردنیاز را هدفمند بخوانید و از اجرای محاسبات سنگین در Ruleهای پرتکرار فرم پرهیز کنید.

    اگر Rule فقط برای نمایش یا required بودن یک کنترل در فرم اجرا می‌شود، باید بسیار سبک باشد؛ زیرا ممکن است بارها در تعامل کاربر ارزیابی شود.

    خطا را پنهان نکنید

    Rule باید بین خطای کسب‌وکار و خطای فنی تفاوت بگذارد. «کد ملی متعلق به متقاضی نیست» یک پیام کسب‌وکار است؛ «سرویس استعلام پاسخ نداد» یک خطای فنی است و باید امکان retry، ثبت لاگ یا ارجاع عملیاتی داشته باشد.

    مستندسازی و اعتبارسنجی

    در توضیحات Rule، هدف، ورودی، خروجی، محل‌های استفاده و محدودیت‌ها را ثبت کنید. پیش از تحویل، از قابلیت Syntax and reference validation برای شناسایی خطاها و ارجاعات ناسازگار استفاده کنید.

    سناریوی تست Rule

    حداقل این حالت‌ها را آزمایش کنید:

  • مسیر عادی با داده معتبر
  • مقدار null یا داده ناقص
  • مقدار مرزی
  • Collection خالی و چندردیفی
  • پاسخ خطای سرویس خارجی
  • اجرای مجدد Rule
  • چک‌لیست بازبینی

  • نام Rule رفتار آن را توضیح می‌دهد.
  • یک مسئولیت اصلی دارد.
  • مقدار ثابت قابل تغییر در کد پخش نشده است.
  • منطق مشترک قابل استفاده مجدد است.
  • خطاهای فنی و کسب‌وکار تفکیک شده‌اند.
  • محل‌های استفاده و سناریوهای تست مستند هستند.
  • اعتبارسنجی Syntax و Reference انجام شده است.
  • منابع رسمی برای مطالعه بیشتر:

    https://help.bizagi.com/platform/en/best-practices-in-business-rul.htm

    https://help.bizagi.com/platform/en/reusing_expressions.htm

    https://help.bizagi.com/platform/en/validate_expressions.htm