زبان کسب و کار #
اهمیت این نکته را باید تأکید کرد که زبان فراگیر، زبان کسب و کار است. در نتیجه، در استفاده از این زبان باید فقط از اصطلاحات مرتبط با حوزه کسب و کار استفاده شود. هیچ اصطلاح فنی! آموزش به متخصصان حوزه کسب و کار در مورد مفاهیم singleton و abstract factory هدف شما نیست. هدف زبان فراگیر، فرم دادن به درک و مدلهای ذهنی متخصصان حوزه کسب و کار است. چطور؟ با استفاده از اصطلاحاتی که به راحتی قابل درک هستند.
سناریو ها #
فرض کنیم در حال کار بر روی یک سیستم مدیریت کمپین تبلیغاتی هستیم. جملات زیر رو در نظر بگیرید:
یک کمپین تبلیغاتی می تونه محتوای خلاقانه ی متفاوتی رو نمایش بده
اگر فقط یکی از محل های تبلیغات فعال باشه، کمپین می تونه نمایش داده بشه.
پورسانت فروش فقط بعد از تایید تراکنش ها محاسبه می شه.
تمام این جملات به زبان بیزینس فرموله شدن. به این معنی که دید متخصص دامنه رو در مورد دامنه منعکس می کنن.
از طرفی جملات زیر کاملا فنی هستن بنابراین با مفهوم زبان فراگیر همخونی ندارن.
iframe تبلیغات یک فایل HTML رو نمایش می ده.
یک کمپین فقط در حالتی نمایش داده میشه و انتشار پیدا میکنه که حداقل یک رکورد در جدول تبلیغات داشته باشه و فیلد IsActive آن true باشد.
پورسانت های فروش بر اساس رکوردهای جداول تراکنش ها و فروشهای تأییدشده محاسبه میشوند.
جملات بالا به صورت کاملاً فنی هستند و برای متخصصان دامنه قابل فهم نیستند. حالا فرض کنید مهندسان تنها با این دیدگاه تخصصی بخواهند مسئله دامنه کسب و کار رو درک کنن. در این صورت، مهندس ها قادر به درک کامل منطق بیزینسی یا دلیل عملکرد اون نخواهند بود، در نتیجه توانایی اونها در مدلسازی و پیادهسازی یک راهحل درست و موثر رو محدود خواهد کرد.
استمرار #
زبان فراگیر باید دقیق و منسجم باشد. باید نیاز به حدسیات را از بین ببرد و منطق دامنه بیزنس را روشن کند. از آنجایی که ابهام مانع ارتباط میشود، هر اصطلاح در زبان فراگیر همواره باید یک و فقط یک معنی داشته باشد. بیایید به چند مثال از اصطلاحات نامعلوم و نحوه بهبود آنها نگاهی بیندازیم.
اصطلاحات مبهم #
بیایید بگیم که در یک حوزه کسب و کار خاص، اصطلاح “سیاست - Policy” چندین معنی میتواند داشته باشد: ممکن است به یک پالیسی نظارتی در صنعت بیمه یا یک قانونی برای ثبت بیمه اشاره داشته باشد. اما معنی دقیق میتواند در تعامل انسان به انسان تصحیح شود و وابسته به زمینه مورد استفاده باشد. با این حال، نرمافزارها با ابهام به خوبی کنار نمی آیند و مدل کردن اصطلاح “سیاست” در کد، میتواند دشوار و چالش برانگیز باشد.
زبان فراگیر یک معنی واحد و یکسان برای هر اصطلاح میخواهد، بنابراین “سیاست” باید به صورت صریح با استفاده از دو اصطلاح “قانون نظارتی” و “قرارداد بیمه” مدل شود.
اصطلاحات هم معنی #
دو اصطلاح نمیتوانند در زبان فراگیر به جای یکدیگر استفاده شوند. به عنوان مثال، بسیاری از سیستمها از اصطلاح “کاربر” استفاده میکنند. با این حال، بررسی دقیق زبان شناسان دامنه ممکن است نشان دهد که اصطلاحاتی مانند کاربر و دیگر اصطلاحات ممکن است به جای هم استفاده شوند: به عنوان مثال، کاربر، بازدیدکننده، مدیر، مشتری و غیره.
اصطلاحات مترادف در ابتدا ممکن است بیخطر به نظر برسند. با این حال، در اکثر موارد، به مفاهیم مختلف اشاره میکنند. در این مثال، هر دو اصطلاح بازدیدکننده و کاربر به طور فنی به کاربران سیستم اشاره میکنند؛ با این حال، در اکثر سیستمها، کاربران ثبت نام شده و ثبت نام نشده، نقشها و رفتارهای متفاوتی دارند. به عنوان مثال، دادههای “بازدیدکنندگان” اصولاً برای اهداف تحلیلی استفاده میشود، در حالی که “کاربران” واقعاً از سیستم و قابلیتهای آن استفاده میکنند.