de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

راهنمای نمودار مورد استفاده PlantUML

مقدمه

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

PlantUML می‌کند استفاده مورد مدل‌سازی عملی از طریق یک متن‌محور نحو که می‌تواند باشد ذخیره شود، بازبینی شود، نسخه‌بندی شود، و بازتولید شود در کنار پروژه مستندات یا منبع کد. با چند چند دستورالعمل، شما می‌توانید تعریف کنید بازیگران، استفاده کنید موارد، سیستم مرزها، ارتباطات، <<شامل>> روابط، <<گسترش>> روابط، عمومی‌سازی، یادداشت‌ها، و چیدمان ترجیحات.

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

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

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

۱. ساختار پایه PlantUML

هر نمودار PlantUML با «@startuml» آغاز می‌شود و با «@enduml.

توضیحات با یک علامت نقل‌قول تک‌گوشه آغاز می‌شوند:

شما همچنین می‌توانید از توضیحات چندخطی استفاده کنید:

۲. تعریف بازیگران

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

بازیگر ساده

این یک بازیگر به شکل آدمک با نام ایجاد می‌کندکاربر.

نقش با نام مستعار

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

سپس می‌توانید به نام‌های مستعار ارجاع دهید:

نقش‌کار با سبک بصری متفاوت

PlantUML از چندین سبک نقش‌کار پشتیبانی می‌کند. سبک پیش‌فرض معمولاً کافی است، اما می‌توانید از یک نقش‌کار به سبک آیکون استفاده کنید:

همچنین می‌توانید از یک نقش‌کار به سبک مستطیل ساده استفاده کنید:

ظاهر دقیق به موتور رندرینگ PlantUML و پارامترهای پوسته بستگی دارد.

۳. تعریف موارد استفاده

یک مورد استفاده نمایانگر یک خدمت، هدف یا عملکردی است که توسط سیستم ارائه می‌شود.

مورد استفاده پایه

PlantUML این را به صورت بیضی با برچسب نمایش می‌دهد:ورود.

مورد استفاده با نام مستعار

برچسب قابل مشاهده عبارت است از:پردازش پرداخت با کارت اعتباری، در حالی که ProcessPayment در روابط استفاده می‌شود.

نام‌های چندخطی مورد استفاده

می‌توانید با استفاده از n:

این هنگامی مفید است که یک نمودار شامل برچسب‌های طولانی باشد.

۴. مرزهای سیستم

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

rectangle "سیستم خرید آنلاین" {
    usecase "مرور محصولات" به عنوان Browse
    usecase "تسویه حساب" به عنوان Checkout
}

مستطیل نمایانگر سیستم است و موارد استفاده درون آن، کارکردهای ارائه‌شده توسط آن سیستم را نشان می‌دهند.

شما همچنین می‌توانید از یک نام مستعار برای مرز استفاده کنید:

rectangle "سیستم خرید آنلاین" به عنوان OnlineStore {
    usecase "مرور محصولات" به عنوان Browse
    usecase "پرداخت" به عنوان Checkout
}

مرز سیستم هنگام تمایز رفتار سیستم از بازیگران و خدمات خارجی مفید است.

۵. اتصال بازیگران و موارد استفاده

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

ارتباط بدون جهت

این یک خط توپر بدون سرپیکان ایجاد می‌کند.

ارتباط جهت‌دار

این یک خط توپر ایجاد می‌کند که سر‌فلش آن به سمت مورد استفاده اشاره می‌کند.

هر دو شکل به‌طور رایج استفاده می‌شوند. جهت فلش باید به‌صورت یکسان بر اساس ارتباط یا مسئولیتی که می‌خواهید برجسته کنید، انتخاب شود.

ارتباط با برچسب

برچسب تعامل را توصیف می‌کند.

برای چیدمانی خوانا‌تر، می‌توانید از یک فلش طولانی‌تر استفاده کنید:

۶. این<<شامل>> رابطه

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

برای مثال، ثبت سفارش ممکن است همیشه نیاز به اعتبارسنجی پرداخت داشته باشد:

جهت اهمیت دارد:

مورد استفاده پایه ..> مورد استفاده شامل شده : <<شامل>>

پیکان از مورد استفاده‌ای که نیاز به رفتار دارد به سمت مورد استفاده‌ای که رفتار قابل استفاده مجدد را ارائه می‌دهد، اشاره می‌کند.

مثال

usecase "Checkout" as Checkout
usecase "اعتبارسنجی جزئیات مشتری" as ValidateCustomer
usecase "محاسبه مجموع سفارش" as CalculateTotal
usecase "انجام پرداخت" as MakePayment

Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> MakePayment : <<include>>

این به معنای:

  1. Checkout همیشه جزئیات مشتری را اعتبارسنجی می‌کند.

  2. Checkout همیشه مجموع سفارش را محاسبه می‌کند.

  3. Checkout همیشه پرداخت را انجام می‌دهد.

از <<include>> زمانی که رفتار شامل‌شده الزامی یا قابل استفاده مجدد باشد.

۷. این <<extend>> رابطه

یک گسترشرابطه گسترش، رفتارهای اختیاری، شرطی یا استثنایی را که به یک مورد استفاده پایه اضافه می‌شود، نشان می‌دهد.

برای مثال، اعمال تخفیف ممکن است تنها زمانی رخ دهد که مشتری یک کد تخفیف معتبر داشته باشد:

جهت به این صورت است:

مورد استفاده گسترشی اختیاری ..> مورد استفاده پایه : <<extend>>

پیکان از رفتار اختیاری به سمت…به مورد استفاده پایه اشاره می‌کند..

مثال صحیح

usecase "Checkout" as Checkout
usecase "Apply Discount Coupon" as ApplyDiscount

ApplyDiscount ..> Checkout : <<extend>>

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

مقایسه شامل و گسترش

رابطه هدف جهت فلش
<<شامل>> رفتار اجباری قابل استفاده مجدد مورد استفاده پایه → مورد استفاده شامل شده
<<گسترش>> رفتار اختیاری یا شرطی مورد استفاده گسترش‌دهنده → مورد استفاده پایه

مثال:

از معکوس کردن این روابط خودداری کنید، زیرا جهت آن‌ها معنای آن‌ها را تغییر می‌دهد.

۸. تعمیم مورد استفاده

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

usecase "جستجوی محصولات" به عنوان SearchProducts
usecase "مرور محصولات" به عنوان BrowseProducts

SearchProducts -|> BrowseProducts

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

این بدان معناست که جستجوی محصولات یک گونه تخصصی از مرور محصولات.

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

۹. عمومی‌سازی بازیگر

بازیگران نیز می‌توانند روابط عمومی‌سازی داشته باشند.

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

برای مثال:

۱۰. یادداشت‌ها و حاشیه‌نویسی‌ها

یادداشت‌ها توضیحات یا محدودیت‌هایی را به یک نمودار اضافه می‌کنند.

یادداشت پیوست شده به یک مورد استفاده

note right of Checkout
  مشتری باید اطلاعات صورتحساب معتبر را ارائه دهد.
end note

موقعیت‌های دیگر عبارتند از:

note left of Checkout
  فرآیند رو به مشتری
end note

note top of Checkout
  گردش کار اصلی کسب‌وکار
end note

note bottom of Checkout
  شامل پردازش پرداخت
end note

همانندسازی یادداشت کوتاه

یادداشت مستقل با نام مستعار

یادداشت را با یک خط چین به یک عنصر متصل کنید:

یادداشت‌ها برای محدودیت‌ها

یادداشت‌ها برای مستندسازی شرایط مفید هستند:

یادداشت در سمت راست ApplyDiscount
  رفتار اختیاری:
  تنها زمانی استفاده می‌شود که
  یک کد تخفیف معتبر ارائه شود.
پایان یادداشت

۱۱. جهت چیدمان

به‌طور پیش‌فرض، PlantUML به‌طور خودکار یک چیدمان را انتخاب می‌کند. شما می‌توانید جهت را تحت تأثیر قرار دهید.

چیدمان چپ‌به‌راست

این اغلب برای نمودارهای مورد استفاده مفید است، زیرا بازیگران در سمت چپ و سیستم‌های خارجی در سمت راست ظاهر می‌شوند.

چیدمان از بالا به پایین

این می‌تواند برای نمودارهای فشرده یا جریان‌های کاری عمودی مفید باشد.

پیوندهای چیدمان نامرئی

یک پیوند نامرئی می‌تواند بر موقعیت‌گذاری تأثیر بگذارد بدون اینکه یک رابطه قابل مشاهده را نمایش دهد:

این برای بهبود چیدمان نمودار مفید است.

۱۲. سبک‌دهی به نمودار

حذف سایه‌ها

استفاده از بسته‌ها و مرزهای مستطیلی

تنظیم رنگ‌ها

تنظیم رنگ‌های فلش

تنظیم اندازه فونت پیش‌فرض

یک بخش سبک‌دهی کامل ممکن است به این شکل باشد:

skinparam shadowing false
skinparam packageStyle rectangle
skinparam actorStyle awesome
skinparam defaultFontSize 14

skinparam usecase {
    BackgroundColor #F9FBFF
    BorderColor #234
}

skinparam ArrowColor #555555

۱۳. بسته‌ها و گروه‌بندی

بسته‌ها می‌توانند موارد استفاده مرتبط را گروه‌بندی کنند.

package "ویژگی‌های مشتری" {
    usecase "ثبت حساب کاربری" as Register
    usecase "ورود به سیستم" as Login
    usecase "مرور محصولات" as Browse
}

package "ویژگی‌های مدیریت" {
    usecase "مدیریت محصولات" as ManageProducts
    usecase "تولید گزارش فروش" as SalesReport
}

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

شما همچنین می‌توانید از یک مستطیل به عنوان گروه استفاده کنید:

rectangle "مدیریت سفارش" {
    usecase "ثبت سفارش" as PlaceOrder
    usecase "ردیابی سفارش" as TrackOrder
    usecase "لغو سفارش" as CancelOrder
}

۱۴. سیستم‌های خارجی

برنامه‌ها یا خدمات خارجی را می‌توان به عنوان بازیگران نمایش داد.

actor "درگاه پرداخت" به عنوان PaymentGateway
actor "سرویس ایمیل" به عنوان EmailService
actor "CRM خارجی" به عنوان CRM

آن‌ها را به موارد استفاده سیستم متصل کنید:

این کار به وضوح عملکرد سیستم را از سرویس‌های خارج از مرز سیستم جدا می‌کند.

۱۵. مثال کامل

مثال زیر، نمادهای اصلی از برگه مرجع را ترکیب می‌کند.

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

@startuml
title سامانه خرید آنلاین - نمودار مورد استفاده

جهت چپ به راست

skinparam shadowing false
skinparam packageStyle rectangle
skinparam actorStyle awesome

skinparam usecase {
    BackgroundColor #F9FBFF
    BorderColor #333333
}

skinparam ArrowColor #555555

' بازیگران
actor مشتری به عنوان customer
actor "مشتری ویژه" به عنوان premium
actor مدیر به عنوان admin
actor "درگاه پرداخت" به عنوان payment
actor "سرویس ایمیل" به عنوان email

' تعمیم بازیگران
premium -|> customer

' مرز سیستم
rectangle "سامانه خرید آنلاین" {

    ' موارد استفاده مشتری
    usecase "ثبت حساب کاربری" به عنوان Register
    usecase "ورود" به عنوان Login
    usecase "مرور محصولات" به عنوان Browse
    usecase "جستجوی محصولات" به عنوان Search
    usecase "مشاهده جزئیات محصول" به عنوان ViewProduct
    usecase "افزودن محصول به سبد خرید" به عنوان AddToCart
    usecase "مشاهده سبد خرید" به عنوان ViewCart
    usecase "تسویه حساب" به عنوان Checkout
    usecase "ثبت سفارش" به عنوان PlaceOrder
    usecase "پیگیری سفارش" به عنوان TrackOrder
    usecase "لغو سفارش" به عنوان CancelOrder

    ' رفتارهای مشترک شامل
    usecase "اعتبارسنجی جزئیات مشتری" به عنوان ValidateCustomer
    usecase "محاسبه مجموع سفارش" به عنوان CalculateTotal
    usecase "انجام پرداخت" به عنوان MakePayment
    usecase "ارسال تأییدیه سفارش" به عنوان SendConfirmation

    ' رفتارهای اختیاری
    usecase "اعمال کد تخفیف" به عنوان ApplyDiscount
    usecase "درخواست بازگشت وجه" به عنوان RequestRefund

    ' موارد استفاده مدیریت
    usecase "مدیریت محصولات" به عنوان ManageProducts
    usecase "تولید گزارش فروش" به عنوان SalesReport
}

' ارتباطات بازیگران
customer --> Register
customer --> Login
customer --> Browse
customer --> Search
customer --> ViewProduct
customer --> AddToCart
customer --> ViewCart
customer --> Checkout
customer --> TrackOrder
customer --> CancelOrder

premium --> ApplyDiscount
premium --> RequestRefund

admin --> ManageProducts
admin --> SalesReport

payment --> MakePayment
email --> SendConfirmation

' روابط شامل
Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> PlaceOrder : <<include>>

PlaceOrder ..> MakePayment : <<include>>
PlaceOrder ..> SendConfirmation : <<include>>

' روابط گسترش
ApplyDiscount ..> Checkout : <<extend>>
RequestRefund ..> CancelOrder : <<extend>>

' تعمیم مورد استفاده
Search -|> Browse

' یادداشت‌ها
note right of Checkout
    فرآیند اصلی خرید مشتری
end note

note right of ApplyDiscount
    رفتار اختیاری:
    تنها زمانی استفاده می‌شود که
    کد تخفیف معتبر موجود باشد
end note

note bottom of MakePayment
    پرداخت توسط
    یک درگاه پرداخت خارجی مدیریت می‌شود
end note

@enduml

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

۱۶. خواندن مثال کامل

نمودار موارد زیر را بیان می‌کند:

  • مشتری می‌تواند محصولات را مرور کند، محصولات را به سبد خرید اضافه کند و تسویه حساب نماید.

  • مشتری ویژه یک شکل تخصصی از مشتری.

  • تسویه حسابهمیشه شامل اعتبارسنجی مشتری، محاسبه مجموع و ثبت سفارش است.

  • ثبت سفارشهمیشه شامل پرداخت و تأیید است.

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

  • درخواست بازگشت وجهیک گسترش اختیاری از لغو است.

  • درگاه پرداخت، پردازش پرداخت را مدیریت می‌کند.

  • سرویس ایمیل، تأییدیه‌های سفارش را ارسال می‌کند.

  • مدیر، محصولات را مدیریت کرده و گزارش‌ها را تولید می‌کند.

۱۷. اشتباهات رایج

برگشت زدنشامل

نادرست:

درست:

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

معکوس کردنگسترش

نادرست:

درست:

مورد استفاده گسترشی اختیاری به مورد استفاده پایه اشاره می‌کند.

استفاده از include برای رفتار اختیاری

اگر رفتاری تنها تحت شرایط خاصی رخ دهد، از <<extend>>:

اگر همیشه اتفاق می‌افتد، از <<include>>:

قرار دادن بازیگران خارجی در داخل مرز سیستم

کاربران خارجی و خدمات باید معمولاً خارج از مستطیل باشند:

ایجاد موارد استفاده بیش از حد دقیق

یک مورد استفاده باید یک هدف کاربردی معنادار را توصیف کند، مانند:

از تبدیل هر مرحله کوچک پیاده‌سازی به یک مورد استفاده جداگانه خودداری کنید، مگر اینکه بازنشانی شود، اختیاری باشد یا برای مدل مهم باشد.

۱۸. الگوی عملی حداقلی

برای یک نمودار کوچک‌تر، از این الگو استفاده کنید:

رابط VPasCode که کد PlantUML را نشان می‌دهد که یک نمودار مورد استفاده حداقلی با بازیگرها، مرز سیستم و روابط را تولید می‌کند.

@startuml

جهت چپ به راست

actor کاربر

rectangle "سیستم من" {
    usecase "هدف اصلی کاربر" as MainGoal
    usecase "رفتار مشترک مورد نیاز" as SharedBehavior
    usecase "رفتار اختیاری" as OptionalBehavior
}

کاربر --> MainGoal

MainGoal ..> SharedBehavior : <<شامل>>
OptionalBehavior ..> MainGoal : <<گسترش>>

note right of MainGoal
    عملکرد اصلی سیستم
end note

@enduml

قالب حداقلی PlantUML برای مورد استفاده که یک کاربر، مرز سیستم و روابطی مانند گسترش، شامل و یادداشت‌ها را نشان می‌دهد.

این الگو شامل نمادگذاری‌های ضروری است:

  • نقش‌آفرین

  • مرز سیستم

  • مورد استفاده

  • ارتباط

  • شامل

  • گسترش

  • یادداشت

  • جهت چیدمان

ابزارها: Visual Paradigm UML، هوش مصنوعی و VPasCode

PlantUML برای ایجاد نمودارها به صورت متن ایده‌آل است، اما ابزارهای مدل‌سازی بصری می‌توانند همان جریان کاری را برای بازبینی، اصلاح و اشتراک‌گذاری آسان‌تر کنند. Visual Paradigm قابلیت‌های مدل‌سازی UML را همراه با مدل‌سازی با کمک هوش مصنوعی و یک محیط کاری مبتنی بر متن VPasCode ارائه می‌دهد. پلتفرم آن از نمودارهای استاندارد UML پشتیبانی می‌کند، از جمله نمودارهای مورد استفاده، کلاس، توالی، فعالیت، مؤلفه، استقرار، ماشین حالت، بسته و شیء.

مدل‌سازی UML در Visual Paradigm

Visual Paradigm زمانی قابل استفاده است که بخواهید یک نمودار مورد استفاده را به صورت بصری ایجاد کنید، نه اینکه تمام نحو را به صورت دستی بنویسید. یک جریان کاری معمولی به شرح زیر است:

  1. یک پروژه UML ایجاد کنید.

  2. یک نمودار مورد استفاده اضافه کنید.

  3. نقش‌ها و موارد استفاده را روی بوم قرار دهید.

  4. مرز سیستم را رسم کنید.

  5. نقش‌ها را به موارد استفاده متصل کنید.

  6. افزودن شامل, گسترشو روابط تعمیم.

  7. یادداشت‌ها و محدودیت‌ها را اضافه کنید.

  8. نمودار نهایی را مرتب کرده و صادر کنید.

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

یک نمودار مورد استفاده که به‌صورت دستی ایجاد شده است، ممکن است شامل موارد زیر باشد:

  • نقش‌هایی مانند مشتری, مدیر و درگاه پرداخت

  • یک مرز سیستم مانند سیستم خرید آنلاین

  • مورد استفاده‌هایی مانند تسویه حساب, ثبت سفارش و پیگیری سفارش

  • <<شامل>> روابط برای رفتارهای اجباری قابل استفاده مجدد

  • <<گسترش>> روابط برای رفتارهای اختیاری

  • روابط تعمیم برای بازیگران یا موارد استفاده تخصصی

مدل بصری باید همان قواعد معنایی مورد استفاده در PlantUML را حفظ کند:

Checkout ..> ValidatePayment : <<include>>
ApplyDiscount ..> Checkout : <<extend>>
PremiumCustomer -|> Customer

تمایز مهم این است که تغییر ابزارها، معنای UML را تغییر نمی‌دهد. چه نمودار به صورت دستی ایجاد شود، چه توسط هوش مصنوعی تولید شود و چه در PlantUML نوشته شود، جهت روابط باید صحیح باقی بماند.

مدل‌سازی با کمک هوش مصنوعی

قابلیت‌های هوش مصنوعی Visual Paradigm می‌توانند به تبدیل الزامات به زبان طبیعی به عناصر مدل و نمودارها کمک کنند. این پلتفرم ویژگی‌های هوش مصنوعی خود را قادر به تبدیل الزامات به نمودارها و تولید آثار توسعه نرم‌افزار از توصیفات متنی توصیف می‌کند.

برای مثال، می‌توانید الزامات زیر را ارائه دهید:

یک نمودار مورد استفاده برای یک سیستم خرید آنلاین ایجاد کنید.

نقش‌ها:
- مشتری
- مشتری ویژه
- مدیر
- درگاه پرداخت
- سرویس ایمیل

مشتری می‌تواند ثبت‌نام کند، وارد شود، محصولات را مرور کند، محصولات را به سبد خرید اضافه کند،
پرداخت نهایی انجام دهد، سفارشات را پیگیری کند و سفارشات را لغو کند.

پرداخت نهایی باید شامل اعتبارسنجی مشتری، محاسبه مجموع، پرداخت و تأیید سفارش باشد.

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

یک ابزار با کمک هوش مصنوعی ممکن است از این توصیف برای پیشنهاد موارد زیر استفاده کند:

  • تعاریف نقش‌ها

  • نام‌های مورد استفاده

  • مرزهای سیستم

  • ارتباطات

  • مورد استفاده‌های شامل شده

  • مورد استفاده‌های گسترش یافته

  • عمومی‌سازی نقش‌ها

  • یادداشت‌های توصیف‌کننده قوانین کسب‌وکار

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

چک‌لیست پیشنهادی بازبینی هوش مصنوعی

پس از تولید نمودار، موارد زیر را بررسی کنید:

  • هر بازیگر در خارج از مرز سیستم قرار دارد.

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

  • رفتارهای اجباری و قابل استفاده مجدد از «<<شامل>>.

  • رفتارهای اختیاری یا شرطی از «<<گسترش>>.

  • فلش «شامل» از مورد استفاده پایه به مورد استفاده شامل شده اشاره می‌کند.

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

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

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

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

  • نمودار محدوده سیستم را به‌وضوح بیان می‌کند.

VPasCode: مدل‌سازی با متن

VPasCode یک فضای کاری متن‌به‌نمودار را در اکوسیستم Visual Paradigm فراهم می‌کند. پلتفرم رسمی آن را به‌عنوان یک ویرایشگر آنلاین متن‌به‌نمودار رایگان توصیف می‌کند و همچنین آن را به‌عنوان راهی برای تبدیل کد به نمودار معرفی می‌کند.

این ویژگی VPasCode را برای کاربرانی که ترجیح می‌دهند دقت و تکرارپذیری نمودار-به‌کد را داشته باشند، در حالی که همچنان در یک محیط مدل‌سازی بصری کار می‌کنند، مفید می‌سازد.

یک نمودار مورد استفاده PlantUML را می‌توان به صورت زیر نوشت:

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

@startuml
عنوان: سیستم خرید آنلاین

جهت چپ به راست

بازیگر Customer به عنوان customer
بازیگر "Premium Customer" به عنوان premium
بازیگر Administrator به عنوان admin
بازیگر "Payment Gateway" به عنوان payment
بازیگر "Email Service" به عنوان email

premium -|> customer

مستطیل "Online Shopping System" {
    usecase "Register Account" به عنوان Register
    usecase "Log In" به عنوان Login
    usecase "Browse Products" به عنوان Browse
    usecase "Checkout" به عنوان Checkout
    usecase "Place Order" به عنوان PlaceOrder
    usecase "Track Order" به عنوان TrackOrder
    usecase "Cancel Order" به عنوان CancelOrder

    usecase "Validate Customer Details" به عنوان ValidateCustomer
    usecase "Calculate Order Total" به عنوان CalculateTotal
    usecase "Make Payment" به عنوان MakePayment
    usecase "Send Order Confirmation" به عنوان SendConfirmation

    usecase "Apply Discount Coupon" به عنوان ApplyDiscount
    usecase "Request Refund" به عنوان RequestRefund

    usecase "Manage Products" به عنوان ManageProducts
}

customer --> Register
customer --> Login
customer --> Browse
customer --> Checkout
customer --> TrackOrder
customer --> CancelOrder

premium --> ApplyDiscount
premium --> RequestRefund

admin --> ManageProducts
payment --> MakePayment
email --> SendConfirmation

Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> PlaceOrder : <<include>>

PlaceOrder ..> MakePayment : <<include>>
PlaceOrder ..> SendConfirmation : <<include>>

ApplyDiscount ..> Checkout : <<extend>>
RequestRefund ..> CancelOrder : <<extend>>

@enduml

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

همان مدل را می‌توان به چندین روش بهبود بخشید:

  • تغییر جهت چیدمان با جهت چپ به راست.

  • افزودن یادداشت‌ها برای توضیح قوانین کسب‌وکار.

  • گروه‌بندی موارد استفاده در بسته‌ها.

  • افزودن سبک‌بندی با skinparam.

  • تغییر نام مستعارها بدون تغییر برچسب‌های قابل مشاهده.

  • نگه داشتن منبع نمودار تحت کنترل نسخه.

  • بازتولید نمودار هر زمان که مدل تغییر کند.

مدل‌سازی بصری در مقابل نمودار-به-کد

رویکرد مناسب‌ترین برای مزیت اصلی محدودیت اصلی
Visual Paradigm UML مدل‌سازی تعاملی و کارگاه‌های ذینفعان دستکاری مستقیم و بازبینی بصری ممکن است مقایسه تغییرات به صورت متن دشوارتر باشد
مدل‌سازی با کمک هوش مصنوعی طراحی مدل‌ها بر اساس الزامات شناسایی سریع عناصر کاندیدا روابط تولیدشده نیاز به اعتبارسنجی دارند
VPasCode و PlantUML مدل‌سازی تکرارپذیر مبتنی بر متن آسان برای نسخه‌بندی، بازبینی و بازتولید نیاز به آشنایی با نحو دارد
روند ترکیبی تحلیل و توسعه حرفه‌ای ترکیبی از سرعت، دقت و همکاری نیاز به بررسی سازگاری در میان نمایش‌های مختلف دارد

یک روند ترکیبی عملی

یک روند بهره‌ور این است که از هر ابزار برای وظیفه‌ای که بهترین عملکرد را در آن دارد، استفاده کنید:

  1. نیازمندی‌ها را به زبان طبیعی ثبت کنید.
    کاربران، اهداف، دامنه سیستم و قوانین کسب‌وکار را توصیف کنید.

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

  3. پیش‌نویس را در Visual Paradigm UML بازبینی کنید.
    بررسی کنید که آیا مدل به‌درستی حوزه را منعکس می‌کند و آیا نمودار برای درک آسان است.

  4. مدل را در PlantUML صادر کنید یا بازنویسی کنید.
    از نام‌های مستعار، نام‌های یکسان و نحو صریح روابط استفاده کنید.

  5. منبع را در VPasCode یا سیستم کنترل نسخه نگهداری کنید.
    فایل را ذخیره کنید.pumlهمراه با مستندات پروژه یا کد منبع.

  6. معنای UML را اعتبارسنجی کنید.
    به طور خاص به موارد زیر توجه کنید:شامل (include), گسترش (extend)و جهت تعمیم.

  7. نمودار نهایی را منتشر کنید.
    آن را به عنوان تصویر یا سند برای الزامات، معماری، بررسی‌های طراحی و مستندات پروژه صادر کنید.

دستورالعمل برای تولید نمودار مورد استفاده PlantUML

دستورالعمل زیر را می‌توان با یک دستیار مدل‌سازی هوش مصنوعی استفاده کرد:

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

یک نمودار مورد استفاده PlantUML برای یک سیستم خرید آنلاین تولید کنید.

از چیدمان چپ‌به‌راست استفاده کنید و تمام موارد استفاده سیستم را درون یک مستطیل با نام «سیستم خرید آنلاین» قرار دهید.

نقش‌ها:
- مشتری
- مشتری ویژه
- مدیر
- درگاه پرداخت
- سرویس ایمیل

مورد استفاده‌های مشتری:
- ثبت حساب کاربری
- ورود
- مرور محصولات
- افزودن محصول به سبد خرید
- پرداخت
- پیگیری سفارش
- لغو سفارش

پرداخت باید شامل موارد زیر باشد:
- اعتبارسنجی جزئیات مشتری
- محاسبه مجموع سفارش
- ثبت سفارش

ثبت سفارش باید شامل موارد زیر باشد:
- انجام پرداخت
- ارسال تأییدیه سفارش

رفتارهای اختیاری:
- اعمال کوپن تخفیف، پرداخت را گسترش می‌دهد
- درخواست بازگشت وجه، لغو سفارش را گسترش می‌دهد

مشتری ویژه، نوعی از مشتری است.

از نحو استاندارد PlantUML استفاده کنید و موارد زیر را شامل شوید:
- نام‌های مستعار برای نقش‌ها
- نام‌های مستعار برای موارد استفاده
- مرز سیستم
- ارتباطات نقش‌ها
- روابط <<شامل>>
- روابط <<گسترش>>
- تعمیم نقش‌ها
- حداقل یک یادداشت توضیحی

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

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

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

نکته کلیدی

Visual Paradigm UML برای مدل‌سازی و بازبینی تعاملی بسیار مناسب است؛ هوش مصنوعی می‌تواند گذار از الزامات به پیش‌نویس اولیه را تسریع کند و VPasCode همراه با PlantUML یک جریان کاری تکرارپذیر مبتنی بر متن را فراهم می‌کند. با استفاده ترکیبی از این ابزارها، چرخه کامل مدل‌سازی پشتیبانی می‌شود: توصیف الزامات، تولید پیش‌نویس، اعتبارسنجی UML، اصلاح منبع و انتشار یک نمودار قابل نگهداری.

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