de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_TW

نمودارهای مورد استفاده UML به عنوان کد با PlantUML و VPasCode

یک نمودار مورد استفاده UML نشان می‌دهد که یک سیستم چه چیزی ارائه می‌دهد و چه کسی — یا چه چیزی — با آن تعامل دارد. با یک جریان کاری نمودار-به-کد، منبع نمودار متن ساده است: متن را ویرایش کنید، نمودار را رندر کنید و منبع را در کنار مستندات پروژه نگه دارید.

نمودار نشان‌دهنده جریان کاری PlantUML: ویرایش کد منبع، رندر کردن نمودار مورد استفاده UML برای یک فروشگاه آنلاین، و مستندسازی هر دو به صورت کنار هم با استفاده از VPasCode.

PlantUML از نمودارهای مورد استفاده پشتیبانی می‌کند. ویرایشگر VPasCode Visual Paradigm یک ویرایشگر و پیش‌نمایش PlantUML را به همراه ویژگی‌های تولید و ویرایش نمودار با کمک هوش مصنوعی ارائه می‌دهد.

۱. یک نمودار مورد استفاده چه چیزی را منتقل می‌کند

نمودارهای مورد استفاده بر حوزه سیستم و اهداف کاربرتمرکز ندارند، بلکه بر مکانیک‌های گام‌به‌گام یک جریان کاری تمرکز ندارند. یک نمودار معمولاً شامل موارد زیر است:

منبع مرجع نمادگذاری نمودار مورد استفاده UML که شامل مرز سیستم، بازیگر، مورد استفاده، ارتباط و روابطی مانند شامل، گسترش و تعمیم است.

  • مرز سیستم:یک مستطیل که نام سیستم مورد مدل‌سازی را نشان می‌دهد.

  • نقش‌آفرین (Actor):نقشی خارج از سیستم که با آن تعامل دارد. نقش‌آفرین‌ها می‌توانند افراد، سازمان‌ها، دستگاه‌ها یا سیستم‌های خارجی باشند.

  • مورد استفاده:یک قابلیت یا هدف ارائه‌شده توسط سیستم که معمولاً به صورت یک بیضی نمایش داده می‌شود و با یک عبارت فعلی نام‌گذاری می‌شود، مانند «ثبت سفارش».

  • ارتباط:خطی که نشان می‌دهد یک نقش‌آفرین در یک مورد استفاده مشارکت دارد.

  • روابط مورد استفاده:شامل، گسترش و تعمیم.

نقش‌آفرین‌ها نقش‌ها را نشان می‌دهند، نه افراد خاص. یک سرویس پرداخت خارجی می‌تواند یک نقش‌آفرین باشد اگر با سیستم مورد مدل‌سازی تعامل داشته باشد.

نمودارهای مورد استفاده برای شفاف‌سازی حوزه سیستم، بحث درباره الزامات با ذینفعان، شناسایی وابستگی‌های خارجی و ارائه یک نمای مشترک برای توسعه و تست مفید هستند. آن‌ها را با توصیف‌های مکتوب مورد استفاده همراه کنید زمانی که به جزئیاتی مانند پیش‌شرط‌ها، مراحل اصلی، جریان‌های جایگزین و نتایج نیاز دارید.

۲. روابط در یک نگاه

نمودار روابط مورد استفاده UML که شامل ارتباط، شامل، گسترش و تعمیم با مثال‌ها و فلش‌های جهت‌دار است.

  • ارتباط نقش‌آفرین–مورد استفاده:یک خط ساده که نشان‌دهنده تعامل است.

  • <<شامل>>:مورد استفاده شامل‌کننده همیشه از رفتار شامل‌شده استفاده می‌کند. فلش خط‌چین به سمت از مورد استفاده شامل‌کننده به مورد استفاده شامل‌شدهاست. به عنوان مثال، ثبت یک سفارش ممکن است همیشه شامل مجوز پرداخت باشد.

  • <<گسترش>>:یک مورد استفاده گسترش‌دهنده، رفتار را به یک مورد استفاده پایه تحت یک شرط اضافه می‌کند. فلش خط‌چین به سمت از مورد استفاده گسترش‌دهنده به مورد استفاده پایه. به عنوان مثال، اعمال یک ترفیع ممکن است قرار دادن یک سفارش را گسترش دهد.

  • تعمیم: یک بازیگر یا مورد استفاده تخصصی از یک مورد عمومی‌تر ارث‌بری می‌کند. خط توپر با مثلث توخالی به سمت عنصر عمومی اشاره می‌کند.

یک تمایز مفید: «شامل» به معنای رفتار الزامی است؛ «گسترش» به معنای رفتار شرطی افزوده شده است.

۳. اصول PlantUML

یک نمودار PlantUML با @startuml شروع می‌شود و با @enduml بازیگران را با actor، موارد استفاده را با usecase و مرزهای سیستم را با rectangle نام‌های مستعار ارجاع به عناصر را در روابط آسان‌تر می‌کند.

رابط VPasCode که کد PlantUML برای نمودار مورد استفاده یک فروشگاه آنلاین را به همراه خروجی رندر شده‌اش نمایش می‌دهد که مشتری را در تعامل با مرزهای سیستم نشان می‌دهد.

@startuml
جهت چپ به راست

actor Customer

rectangle "فروشگاه آنلاین" {
  usecase "مرور محصولات" as Browse
  usecase "قرار دادن سفارش" as Place
}

Customer --> Browse
Customer --> Place
@enduml

جهت چپ به راست PlantUML را درخواست می‌کند تا نمودار را به صورت افقی چیدمان کند. PlantUML ممکن است چیدمان دقیق را با تغییر نمودار تنظیم کند.

۴. مثال: فروشگاه آنلاین ساده

رابط VPasCode که یک نمودار مورد استفاده UML را نمایش می‌دهد که در آن یک بازیگر مشتری با موارد استفاده «ثبت سفارش»، «اعمال تخفیف» و «مجوز پرداخت» تعامل دارد.

@startuml
جهت چپ به راست

نقش مشتری
نقش مدیر به عنوان Admin

مستطیل «فروشگاه آنلاین» {
  مورد استفاده «مرور محصولات» به عنوان Browse
  مورد استفاده «ثبت سفارش» به عنوان Place
  مورد استفاده «ردیابی مرسوله» به عنوان Track
  مورد استفاده «مدیریت کاتالوگ» به عنوان Manage
}

مشتری --> Browse
مشتری --> Place
مشتری --> Track
Admin --> Manage
@enduml

مشتریان محصولات را مرور می‌کنند، سفارش می‌دهند و مرسوله‌ها را ردیابی می‌کنند. مدیر کاتالوگ را مدیریت می‌کند. این نمودار به‌طور عمدی مراحل داخلی پردازش سفارش را حذف کرده است.

۵. مثال: include و extend

فرض کنید ثبت سفارش همیشه نیازمند مجوز پرداخت است، در حالی که اعمال تخفیف اختیاری و مشروط است.

رابط VPasCode که کد PlantUML و نمودار UML حاصل را نمایش می‌دهد که مورد استفاده «ثبت سفارش» را نشان می‌دهد که شامل «مجوز پرداخت» است و «اعمال تخفیف» را گسترش می‌دهد.

@startuml
جهت چپ به راست

نقش مشتری

مستطیل «فروشگاه آنلاین» {
  مورد استفاده «ثبت سفارش» به عنوان Place
  مورد استفاده «مجوز پرداخت» به عنوان Payment
  مورد استفاده «اعمال تخفیف» به عنوان Promotion
}

مشتری --> Place

Place ..> Payment : <<include>>
Promotion ..> Place : <<extend>>
@enduml

فلش Place ..> Payment نشان می‌دهد که «ثبت سفارش» رفتار اجباری پرداخت را شامل می‌شود. فلش Promotion ..> Place نشان می‌دهد که «اعمال تخفیف» زمانی که شرط آن برآورده شود، «ثبت سفارش» را گسترش می‌دهد.

شرط را در توضیحات مورد استفاده یا در یک یادداشت مستند کنید—برای مثال، «مشتری کد تخفیف معتبر را وارد می‌کند».

۶. مثال: تعمیم نقش و سیستم‌های خارجی

یک نقش تخصصی تعاملات را از یک نقش عمومی‌تر به ارث می‌برد. خدمات خارجی نیز می‌توانند نقش باشند زمانی که با سیستم تعامل دارند.

رابط VPasCode که کد PlantUML و نمودار UML تولید شده را نمایش می‌دهد که مشتری ثبت‌شده را که کاربر را تعمیم می‌دهد و دروازه پرداخت را با فروشگاه آنلاین تعامل دارد، نشان می‌دهد.

@startuml
جهت چپ به راست

نقش «کاربر» به عنوان User
نقش «مشتری ثبت‌نام‌شده» به عنوان Customer
نقش «درگاه پرداخت» به عنوان Gateway

Customer --|> User

مستطیل «فروشگاه آنلاین» {
  مورد استفاده «مرور محصولات» به عنوان Browse
  مورد استفاده «ثبت سفارش» به عنوان Place
  مورد استفاده «پردازش پرداخت» به عنوان Pay
}

User --> Browse
Customer --> Place
Place ..> Pay : <<include>>
Gateway --> Pay
@enduml

«مشتری ثبت‌شده» نسخه‌ای تخصصی از «کاربر» است و تعاملات عمومی کاربر را به ارث می‌برد. دروازه پرداخت خارج از مرز فروشگاه آنلاین است، اما در مورد استفاده پرداخت مشارکت دارد.

۷. مثال: تعمیم مورد استفاده

تعمیم می‌تواند نسخه‌های تخصصی‌تر یک مورد استفاده گسترده‌تر را نشان دهد. مثلث توخالی به سمت مورد استفاده عمومی اشاره می‌کند.

رابط VPasCode که کد PlantUML و یک نمودار UML تولید شده را نمایش می‌دهد که بازیگر مشتری را با فلش‌های تعمیم نشان می‌دهد که به مورد استفاده «انجام پرداخت» اشاره می‌کنند.

@startuml
جهت چپ به راست

نقش‌گر مشتری

مستطیل «سیستم پرداخت» {
  مورد استفاده «انجام پرداخت» به عنوان Payment
  مورد استفاده «پرداخت با کارت» به عنوان Card
  مورد استفاده «پرداخت با انتقال بانکی» به عنوان Transfer
}

مشتری --> Card
مشتری --> Transfer

Card --|> Payment
Transfer --|> Payment
@enduml

از این روش زمانی استفاده کنید که موارد استفاده تخصصی یک هدف کلی مشترک دارند اما تفاوت‌های معناداری نیز دارند. اگر تفاوت‌ها صرفاً مراحل شرطی باشند، یک <<extend>> رابطه یا یک توضیح مکتوب مورد استفاده ممکن است واضح‌تر باشد.

۸. کار در VPasCode

یک جریان کاری عملی:

نمودار جریان کاری که هفت مرحله برای ایجاد نمودارهای مورد استفاده PlantUML در VPasCode را نشان می‌دهد، از جمله تعریف محدوده، پیش‌نویس کد و اعتبارسنجی با ذینفعان.

  1. محدوده را تعریف کنید.مرز سیستم، نقش‌های نقش‌گرها و اهدافی که هر نقش می‌خواهد محقق کند را شناسایی کنید.

  2. یک پیش‌نویس ایجاد کنید.مستقیماً PlantUML بنویسید یا از دستیار هوش مصنوعی بخواهید که یک نمودار مورد استفاده تولید کند.

  3. کد را بازبینی و پیش‌نمایش کنید.تأیید کنید که نقش‌گرها خارج از مرز سیستم هستند، موارد استفاده درون آن قرار دارند و پیکان‌ها در جهت صحیح اشاره می‌کنند.

  4. مدل را اصلاح کنید.نام‌های مبهم را جایگزین کنید، جزئیات پیاده‌سازی را حذف کنید و روابط را فقط زمانی اضافه کنید که بازتاب‌دهنده نیازهای واقعی باشند.

  5. ویرایش‌های هدفمند هوش مصنوعی را درخواست کنید.برای مثال: «یک نقش‌گر دروازه پرداخت خارجی اضافه کنید و تعامل پرداخت مورد نیاز را با استفاده از یک رابطه شامل نشان دهید. بقیه را بدون تغییر نگه دارید.»

  6. با ذینفعان اعتبارسنجی کنید.بررسی کنید که نمودار بازتاب‌دهنده محدوده واقعی سیستم و اهداف کاربر باشد.

  7. منبع را ذخیره کنید. نگه داشتن .puml متن را همراه با مستندات پروژه یا در کنترل نسخه نگه دارید. در صورت نیاز برای اسناد یا ارائه‌ها، یک تصویر صادر کنید.

مثال دستور برای کمک هوش مصنوعی

یک نمودار مورد استفاده UML برای یک فروشگاه آنلاین در PlantUML ایجاد کنید. شامل مرز سیستم، بازیگرهای مشتری و مدیر، و اهداف «مرور محصولات»، «ثبت سفارش»، «ردیابی ارسال» و «مدیریت کاتالوگ» باشد. مجوز پرداخت را به عنوان رفتاری ضروری که توسط «ثبت سفارش» شامل می‌شود، نشان دهید. اعمال ترفند را به عنوان یک گسترش شرطی از «ثبت سفارش» نمایش دهید. فقط سورس معتبر PlantUML را بازگردانید.

کد تولیدشده توسط هوش مصنوعی را به عنوان پیش‌نویس اولیه در نظر بگیرید. قبل از استفاده، بازیگرها، مرزها، روابط و فرضیات کسب‌وکار را بررسی کنید.

۹. اشتباهات رایج

اینفوگرافیک که شش اشتباه رایج در نمودارهای مورد استفاده UML را نشان می‌دهد، از جمله تعریف نادرست بازیگر، نام‌گذاری و فلش‌های رابطه.

  • مدل‌سازی اجزای داخلی به عنوان بازیگرها:بازیگرها باید نقش‌ها یا سیستم‌های خارجی باشند که با موضوع تعامل دارند.

  • نام‌گذاری موارد استفاده به عنوان وظایف پیاده‌سازی:ترجیحاً «ردیابی ارسال» را به جای «تماس با API ردیابی» استفاده کنید.

  • استفاده از <<include>>برای رفتارهای اختیاری:Include رفتاری را نشان می‌دهد که مورد استفاده پایه نیاز دارد.

  • معکوس کردن جهت فلش‌های رابطه:Include به مورد استفاده شامل‌شده اشاره می‌کند؛ extend به مورد استفاده پایه اشاره می‌کند.

  • شلوغ کردن یک نمودار با جزئیات:از یک نمودار سطح بالا برای محدوده استفاده کنید، سپس برای سناریوهای دقیق از نمودارهای جداگانه یا متن استفاده کنید.

  • فرض اینکه رندر موفق به معنای درستی مدل است:PlantUML می‌تواند نموداری را رندر کند که همچنان الزامات را به درستی بازتاب ندهد.

۱۰. چک‌لیست بازبینی

قبل از اشتراک‌گذاری نمودار، تأیید کنید که:

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

  • مرز سیستم واضح است.

  • هر بازیگر خارجی است و یک نقش را نشان می‌دهد.

  • نام‌های مورد استفاده اهداف معناداری را توصیف می‌کنند.

  • ارتباطات بازیگرها تعاملات واقعی را منعکس می‌کنند.

  • رابطه‌های Include ضروری هستند؛ رابطه‌های extend شرطی یا به‌طور دیگر توجیه‌شده هستند.

  • فلش‌های تعمیم به بازیگر یا مورد استفاده کلی اشاره می‌کنند.

  • نمودار در اندازه مورد نظر قابل خواندن باقی می‌ماند.

  • فرضیه‌های تولیدشده توسط هوش مصنوعی با افرادی که با الزامات آشنا هستند، بازبینی شده‌اند.

This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam and 繁體中文.