مقدمه
استفاده مورد نمودارها ارائه میدهند یک روشن راه برای توصیف چگونه کاربران، خارجی سیستمها، و دیگر بازیگران تعامل دارند با یک نرمافزاری سیستم. آنها کمک میکنند تیمها تعریف کنند سیستم محدوده، شناسایی کنند عملکردی نیازمندیها، و ارتباط برسانید منتظره رفتار قبل از پیادهسازی شروع میشود.
PlantUML میکند استفاده مورد مدلسازی عملی از طریق یک متنمحور نحو که میتواند باشد ذخیره شود، بازبینی شود، نسخهبندی شود، و بازتولید شود در کنار پروژه مستندات یا منبع کد. با چند چند دستورالعمل، شما میتوانید تعریف کنید بازیگران، استفاده کنید موارد، سیستم مرزها، ارتباطات، <<شامل>> روابط، <<گسترش>> روابط، عمومیسازی، یادداشتها، و چیدمان ترجیحات.
این راهنما توضیح میدهد مفاهیم کلیدی PlantUML استفاده مورد نمادگذاری نمایش داده شده در صورت مرجع برگه و نشان میدهد چگونه برای اعمال کردن آن در واقعگرایانه مثالها. آن همچنین معرفی میکند یک گستردهتر ابزارسازی روند کار با استفاده از دیداری پارادایم UML، هوش مصنوعیمحور مدلسازی، و VPasCode. با هم، این ابزارها پشتیبانی میکنند یک کامل فرآیند: تبدیل نیازمندیها به یک اولیه مدل، اعتبارسنجی UML روابط، بازبینی نهایی نمودار، و حفظ نهایی نهایی مدل بهصورت قابلخواندن نمودار منبع.
نمودار مورد استفاده UML توصیف میکند که کاربران خارجی یا سیستمها چگونه با یک سیستم تعامل دارند. این نمودار بر «سیستم چه کاری انجام میدهدتمرکز دارد، نه اینکه چگونه پیادهسازی شده است.
PlantUML به شما اجازه میدهد با استفاده از نمادگذاری ساده مبتنی بر متن، نمودارهای مورد استفاده ایجاد کنید.
۱. ساختار پایه PlantUML
هر نمودار PlantUML با «@startuml» آغاز میشود و با «@enduml.
@startuml
' محتوای نمودار در اینجا قرار میگیرد
@enduml
توضیحات با یک علامت نقلقول تکگوشه آغاز میشوند:
شما همچنین میتوانید از توضیحات چندخطی استفاده کنید:
۲. تعریف بازیگران
یک بازیگر نمایانگر یک شخص، نقش، سازمان، دستگاه یا سیستم خارجی است که با سیستم شما تعامل دارد.
بازیگر ساده
این یک بازیگر به شکل آدمک با نام ایجاد میکندکاربر.
نقش با نام مستعار
نامهای مستعار زمانی مفید هستند که نام نمایشی شامل فاصله باشد یا زمانی که میخواهید شناسهای کوتاهتر برای روابط داشته باشید.
actor "Payment Gateway" as payment
actor "System Administrator" as admin
سپس میتوانید به نامهای مستعار ارجاع دهید:
payment --> ProcessPayment
admin --> ManageUsers
نقشکار با سبک بصری متفاوت
PlantUML از چندین سبک نقشکار پشتیبانی میکند. سبک پیشفرض معمولاً کافی است، اما میتوانید از یک نقشکار به سبک آیکون استفاده کنید:
skinparam actorStyle awesome
actor Customer
همچنین میتوانید از یک نقشکار به سبک مستطیل ساده استفاده کنید:
skinparam actorStyle hollow
actor Customer
ظاهر دقیق به موتور رندرینگ PlantUML و پارامترهای پوسته بستگی دارد.
۳. تعریف موارد استفاده
یک مورد استفاده نمایانگر یک خدمت، هدف یا عملکردی است که توسط سیستم ارائه میشود.
مورد استفاده پایه
PlantUML این را به صورت بیضی با برچسب نمایش میدهد:ورود.
مورد استفاده با نام مستعار
usecase "پردازش پرداخت با کارت اعتباری" به عنوان ProcessPayment
برچسب قابل مشاهده عبارت است از:پردازش پرداخت با کارت اعتباری، در حالی که ProcessPayment در روابط استفاده میشود.
actor Customer
Customer --> ProcessPayment
نامهای چندخطی مورد استفاده
میتوانید با استفاده از n:
usecase "پردازشnپرداختnکارت اعتباری" به عنوان ProcessPayment
این هنگامی مفید است که یک نمودار شامل برچسبهای طولانی باشد.
۴. مرزهای سیستم
یک مرز سیستم، موارد استفاده متعلق به یک سیستم خاص را گروهبندی میکند.
rectangle "سیستم خرید آنلاین" {
usecase "مرور محصولات" به عنوان Browse
usecase "تسویه حساب" به عنوان Checkout
}
مستطیل نمایانگر سیستم است و موارد استفاده درون آن، کارکردهای ارائهشده توسط آن سیستم را نشان میدهند.
شما همچنین میتوانید از یک نام مستعار برای مرز استفاده کنید:
rectangle "سیستم خرید آنلاین" به عنوان OnlineStore {
usecase "مرور محصولات" به عنوان Browse
usecase "پرداخت" به عنوان Checkout
}
مرز سیستم هنگام تمایز رفتار سیستم از بازیگران و خدمات خارجی مفید است.
۵. اتصال بازیگران و موارد استفاده
ارتباط نشان میدهد که یک بازیگر در یک مورد استفاده مشارکت دارد یا با آن تعامل میکند.
ارتباط بدون جهت
این یک خط توپر بدون سرپیکان ایجاد میکند.
ارتباط جهتدار
این یک خط توپر ایجاد میکند که سرفلش آن به سمت مورد استفاده اشاره میکند.
هر دو شکل بهطور رایج استفاده میشوند. جهت فلش باید بهصورت یکسان بر اساس ارتباط یا مسئولیتی که میخواهید برجسته کنید، انتخاب شود.
ارتباط با برچسب
برچسب تعامل را توصیف میکند.
مشتری --> مشاهده سفارشها : مشاهده تاریخچه سفارشها
برای چیدمانی خواناتر، میتوانید از یک فلش طولانیتر استفاده کنید:
۶. این<<شامل>> رابطه
یکشاملرابطه نشاندهنده رفتاری است کههمیشه مورد نیاز استتوسط یک مورد استفاده دیگر.
برای مثال، ثبت سفارش ممکن است همیشه نیاز به اعتبارسنجی پرداخت داشته باشد:
PlaceOrder ..> ValidatePayment : <<شامل>>
جهت اهمیت دارد:
مورد استفاده پایه ..> مورد استفاده شامل شده : <<شامل>>
پیکان از مورد استفادهای که نیاز به رفتار دارد به سمت مورد استفادهای که رفتار قابل استفاده مجدد را ارائه میدهد، اشاره میکند.
مثال
usecase "Checkout" as Checkout
usecase "اعتبارسنجی جزئیات مشتری" as ValidateCustomer
usecase "محاسبه مجموع سفارش" as CalculateTotal
usecase "انجام پرداخت" as MakePayment
Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> MakePayment : <<include>>
این به معنای:
-
Checkout همیشه جزئیات مشتری را اعتبارسنجی میکند.
-
Checkout همیشه مجموع سفارش را محاسبه میکند.
-
Checkout همیشه پرداخت را انجام میدهد.
از <<include>> زمانی که رفتار شاملشده الزامی یا قابل استفاده مجدد باشد.
۷. این <<extend>> رابطه
یک گسترشرابطه گسترش، رفتارهای اختیاری، شرطی یا استثنایی را که به یک مورد استفاده پایه اضافه میشود، نشان میدهد.
برای مثال، اعمال تخفیف ممکن است تنها زمانی رخ دهد که مشتری یک کد تخفیف معتبر داشته باشد:
ApplyDiscount ..> Checkout : <<extend>>
جهت به این صورت است:
مورد استفاده گسترشی اختیاری ..> مورد استفاده پایه : <<extend>>
پیکان از رفتار اختیاری به سمت…به مورد استفاده پایه اشاره میکند..
مثال صحیح
usecase "Checkout" as Checkout
usecase "Apply Discount Coupon" as ApplyDiscount
ApplyDiscount ..> Checkout : <<extend>>
این بدان معناست کهاعمال کوپن تخفیفبه صورت اختیاری گسترش میدهدتسویه حساب فرآیند.
مقایسه شامل و گسترش
| رابطه | هدف | جهت فلش |
|---|---|---|
<<شامل>> |
رفتار اجباری قابل استفاده مجدد | مورد استفاده پایه → مورد استفاده شامل شده |
<<گسترش>> |
رفتار اختیاری یا شرطی | مورد استفاده گسترشدهنده → مورد استفاده پایه |
مثال:
Checkout ..> ValidatePayment : <<include>>
ApplyDiscount ..> Checkout : <<extend>>
از معکوس کردن این روابط خودداری کنید، زیرا جهت آنها معنای آنها را تغییر میدهد.
۸. تعمیم مورد استفاده
تعمیم نشان میدهد که یک مورد استفاده، شکل تخصصیشدهی مورد استفادهی دیگری است.
usecase "جستجوی محصولات" به عنوان SearchProducts
usecase "مرور محصولات" به عنوان BrowseProducts
SearchProducts -|> BrowseProducts
مثلث توخالی به سمت مورد استفاده عمومیتر اشاره میکند.
این بدان معناست که جستجوی محصولات یک گونه تخصصی از مرور محصولات.
عمومیسازی کمتر از شامل و گسترش، بنابراین تنها زمانی از آن استفاده کنید که بین موارد استفاده، رابطه واقعی والد-فرزند وجود داشته باشد.
۹. عمومیسازی بازیگر
بازیگران نیز میتوانند روابط عمومیسازی داشته باشند.
نقش مشتری
نقش "مشتری ویژه" به عنوان PremiumCustomer
PremiumCustomer -|> Customer
این نشان میدهد که یک مشتری ویژه، نوعی تخصصی از مشتری است و تعاملات نقش عمومی را به ارث میبرد.
برای مثال:
۱۰. یادداشتها و حاشیهنویسیها
یادداشتها توضیحات یا محدودیتهایی را به یک نمودار اضافه میکنند.
یادداشت پیوست شده به یک مورد استفاده
note right of Checkout
مشتری باید اطلاعات صورتحساب معتبر را ارائه دهد.
end note
موقعیتهای دیگر عبارتند از:
note left of Checkout
فرآیند رو به مشتری
end note
note top of Checkout
گردش کار اصلی کسبوکار
end note
note bottom of Checkout
شامل پردازش پرداخت
end note
همانندسازی یادداشت کوتاه
یادداشت سمت راست Login: احراز هویت کاربر الزامی است
یادداشت مستقل با نام مستعار
note "پرداخت باید قبل از تأیید سفارش مجاز شود" به عنوان PaymentNote
یادداشت را با یک خط چین به یک عنصر متصل کنید:
یادداشتها برای محدودیتها
یادداشتها برای مستندسازی شرایط مفید هستند:
یادداشت در سمت راست ApplyDiscount
رفتار اختیاری:
تنها زمانی استفاده میشود که
یک کد تخفیف معتبر ارائه شود.
پایان یادداشت
۱۱. جهت چیدمان
بهطور پیشفرض، PlantUML بهطور خودکار یک چیدمان را انتخاب میکند. شما میتوانید جهت را تحت تأثیر قرار دهید.
چیدمان چپبهراست
این اغلب برای نمودارهای مورد استفاده مفید است، زیرا بازیگران در سمت چپ و سیستمهای خارجی در سمت راست ظاهر میشوند.
چیدمان از بالا به پایین
این میتواند برای نمودارهای فشرده یا جریانهای کاری عمودی مفید باشد.
پیوندهای چیدمان نامرئی
یک پیوند نامرئی میتواند بر موقعیتگذاری تأثیر بگذارد بدون اینکه یک رابطه قابل مشاهده را نمایش دهد:
این برای بهبود چیدمان نمودار مفید است.
۱۲. سبکدهی به نمودار
حذف سایهها
استفاده از بستهها و مرزهای مستطیلی
تنظیم رنگها
skinparam usecase {
BackgroundColor #FDFDFD
BorderColor #333333
}
skinparam actor {
BorderColor #333333
}
تنظیم رنگهای فلش
تنظیم اندازه فونت پیشفرض
یک بخش سبکدهی کامل ممکن است به این شکل باشد:
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
آنها را به موارد استفاده سیستم متصل کنید:
PaymentGateway --> MakePayment
EmailService --> SendConfirmation
CRM --> SynchronizeCustomer
این کار به وضوح عملکرد سیستم را از سرویسهای خارج از مرز سیستم جدا میکند.
۱۵. مثال کامل
مثال زیر، نمادهای اصلی از برگه مرجع را ترکیب میکند.

@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

۱۶. خواندن مثال کامل
نمودار موارد زیر را بیان میکند:
-
مشتریمیتواند محصولات را مرور کند، محصولات را به سبد خرید اضافه کند و تسویه حساب نماید. -
مشتری ویژهیک شکل تخصصی ازمشتری. -
تسویه حسابهمیشه شامل اعتبارسنجی مشتری، محاسبه مجموع و ثبت سفارش است. -
ثبت سفارشهمیشه شامل پرداخت و تأیید است. -
اعمال کد تخفیفاختیاری است و تسویه حساب را گسترش میدهد. -
درخواست بازگشت وجهیک گسترش اختیاری از لغو است. -
درگاه پرداخت، پردازش پرداخت را مدیریت میکند.
-
سرویس ایمیل، تأییدیههای سفارش را ارسال میکند.
-
مدیر، محصولات را مدیریت کرده و گزارشها را تولید میکند.
۱۷. اشتباهات رایج
برگشت زدنشامل
نادرست:
ValidateCustomer ..> Checkout : <<شامل>>
درست:
Checkout ..> ValidateCustomer : <<شامل>>
مورد استفاده پایه به رفتار مورد نیاز شامل شده اشاره میکند.
معکوس کردنگسترش
نادرست:
Checkout ..> ApplyDiscount : <<extend>>
درست:
ApplyDiscount ..> Checkout : <<extend>>
مورد استفاده گسترشی اختیاری به مورد استفاده پایه اشاره میکند.
استفاده از include برای رفتار اختیاری
اگر رفتاری تنها تحت شرایط خاصی رخ دهد، از <<extend>>:
ApplyDiscount ..> Checkout : <<extend>>
اگر همیشه اتفاق میافتد، از <<include>>:
Checkout ..> ValidateCustomer : <<include>>
قرار دادن بازیگران خارجی در داخل مرز سیستم
کاربران خارجی و خدمات باید معمولاً خارج از مستطیل باشند:
actor Customer
rectangle "سیستم خرید" {
usecase "پرداخت" as Checkout
}
Customer --> Checkout
ایجاد موارد استفاده بیش از حد دقیق
یک مورد استفاده باید یک هدف کاربردی معنادار را توصیف کند، مانند:
از تبدیل هر مرحله کوچک پیادهسازی به یک مورد استفاده جداگانه خودداری کنید، مگر اینکه بازنشانی شود، اختیاری باشد یا برای مدل مهم باشد.
۱۸. الگوی عملی حداقلی
برای یک نمودار کوچکتر، از این الگو استفاده کنید:

@startuml
جهت چپ به راست
actor کاربر
rectangle "سیستم من" {
usecase "هدف اصلی کاربر" as MainGoal
usecase "رفتار مشترک مورد نیاز" as SharedBehavior
usecase "رفتار اختیاری" as OptionalBehavior
}
کاربر --> MainGoal
MainGoal ..> SharedBehavior : <<شامل>>
OptionalBehavior ..> MainGoal : <<گسترش>>
note right of MainGoal
عملکرد اصلی سیستم
end note
@enduml

این الگو شامل نمادگذاریهای ضروری است:
-
نقشآفرین
-
مرز سیستم
-
مورد استفاده
-
ارتباط
-
شامل
-
گسترش
-
یادداشت
-
جهت چیدمان
ابزارها: Visual Paradigm UML، هوش مصنوعی و VPasCode
PlantUML برای ایجاد نمودارها به صورت متن ایدهآل است، اما ابزارهای مدلسازی بصری میتوانند همان جریان کاری را برای بازبینی، اصلاح و اشتراکگذاری آسانتر کنند. Visual Paradigm قابلیتهای مدلسازی UML را همراه با مدلسازی با کمک هوش مصنوعی و یک محیط کاری مبتنی بر متن VPasCode ارائه میدهد. پلتفرم آن از نمودارهای استاندارد UML پشتیبانی میکند، از جمله نمودارهای مورد استفاده، کلاس، توالی، فعالیت، مؤلفه، استقرار، ماشین حالت، بسته و شیء.
مدلسازی UML در Visual Paradigm
Visual Paradigm زمانی قابل استفاده است که بخواهید یک نمودار مورد استفاده را به صورت بصری ایجاد کنید، نه اینکه تمام نحو را به صورت دستی بنویسید. یک جریان کاری معمولی به شرح زیر است:
-
یک پروژه UML ایجاد کنید.
-
یک نمودار مورد استفاده اضافه کنید.
-
نقشها و موارد استفاده را روی بوم قرار دهید.
-
مرز سیستم را رسم کنید.
-
نقشها را به موارد استفاده متصل کنید.
-
افزودن
شامل,گسترشو روابط تعمیم. -
یادداشتها و محدودیتها را اضافه کنید.
-
نمودار نهایی را مرتب کرده و صادر کنید.
مدلسازی بصری بهویژه زمانی مفید است که ذینفعان نیاز به بازبینی تعاملی نمودار دارند. اعضای تیم میتوانند نمادها را بررسی کنند، عناصر خاص را بحث کنند و نمودارها را بهصورت مشارکتی حاشیهنویسی کنند.
یک نمودار مورد استفاده که بهصورت دستی ایجاد شده است، ممکن است شامل موارد زیر باشد:
-
نقشهایی مانند
مشتری,مدیرودرگاه پرداخت -
یک مرز سیستم مانند
سیستم خرید آنلاین -
مورد استفادههایی مانند
تسویه حساب,ثبت سفارشوپیگیری سفارش -
<<شامل>>روابط برای رفتارهای اجباری قابل استفاده مجدد -
<<گسترش>>روابط برای رفتارهای اختیاری -
روابط تعمیم برای بازیگران یا موارد استفاده تخصصی
مدل بصری باید همان قواعد معنایی مورد استفاده در PlantUML را حفظ کند:
Checkout ..> ValidatePayment : <<include>>
ApplyDiscount ..> Checkout : <<extend>>
PremiumCustomer -|> Customer
تمایز مهم این است که تغییر ابزارها، معنای UML را تغییر نمیدهد. چه نمودار به صورت دستی ایجاد شود، چه توسط هوش مصنوعی تولید شود و چه در PlantUML نوشته شود، جهت روابط باید صحیح باقی بماند.
مدلسازی با کمک هوش مصنوعی
قابلیتهای هوش مصنوعی Visual Paradigm میتوانند به تبدیل الزامات به زبان طبیعی به عناصر مدل و نمودارها کمک کنند. این پلتفرم ویژگیهای هوش مصنوعی خود را قادر به تبدیل الزامات به نمودارها و تولید آثار توسعه نرمافزار از توصیفات متنی توصیف میکند.
برای مثال، میتوانید الزامات زیر را ارائه دهید:
یک نمودار مورد استفاده برای یک سیستم خرید آنلاین ایجاد کنید.
نقشها:
- مشتری
- مشتری ویژه
- مدیر
- درگاه پرداخت
- سرویس ایمیل
مشتری میتواند ثبتنام کند، وارد شود، محصولات را مرور کند، محصولات را به سبد خرید اضافه کند،
پرداخت نهایی انجام دهد، سفارشات را پیگیری کند و سفارشات را لغو کند.
پرداخت نهایی باید شامل اعتبارسنجی مشتری، محاسبه مجموع، پرداخت و تأیید سفارش باشد.
اعمال کوپن تخفیف اختیاری است و پرداخت نهایی را گسترش میدهد.
مشتری ویژه یک نوع تخصصی از مشتری است.
یک ابزار با کمک هوش مصنوعی ممکن است از این توصیف برای پیشنهاد موارد زیر استفاده کند:
-
تعاریف نقشها
-
نامهای مورد استفاده
-
مرزهای سیستم
-
ارتباطات
-
مورد استفادههای شامل شده
-
مورد استفادههای گسترش یافته
-
عمومیسازی نقشها
-
یادداشتهای توصیفکننده قوانین کسبوکار
هوش مصنوعی در اولین گذر مدلسازی بیشترین کاربرد را دارد. آن میتواند به سرعت از روی الزامات پیشنویسی تولید کند، بازیگران کاندیدا را شناسایی نماید و رفتارهای قابل استفاده مجدد را پیشنهاد دهد. مدل حاصله همچنان باید توسط یک توسعهدهنده، تحلیلگر یا متخصص حوزه مورد بازبینی قرار گیرد.
چکلیست پیشنهادی بازبینی هوش مصنوعی
پس از تولید نمودار، موارد زیر را بررسی کنید:
-
هر بازیگر در خارج از مرز سیستم قرار دارد.
-
هر مورد استفاده، یک هدف کاربردی معنادار یا خدمت سیستمی را توصیف میکند.
-
رفتارهای اجباری و قابل استفاده مجدد از «
<<شامل>>. -
رفتارهای اختیاری یا شرطی از «
<<گسترش>>. -
فلش «
شامل» از مورد استفاده پایه به مورد استفاده شامل شده اشاره میکند. -
فلش «
گسترشپیکان از مورد استفاده گسترشدهنده به مورد استفاده پایه اشاره میکند. -
پیکانهای تعمیم به سمت بازیگر یا مورد استفاده کلیتر اشاره میکنند.
-
مورد استفادههای تکراری یا بیشازحد جزئی حذف شدهاند.
-
نامها بهصورت یکسان به عنوان عبارات فعلی بیان شدهاند.
-
نمودار محدوده سیستم را بهوضوح بیان میکند.
VPasCode: مدلسازی با متن
VPasCode یک فضای کاری متنبهنمودار را در اکوسیستم Visual Paradigm فراهم میکند. پلتفرم رسمی آن را بهعنوان یک ویرایشگر آنلاین متنبهنمودار رایگان توصیف میکند و همچنین آن را بهعنوان راهی برای تبدیل کد به نمودار معرفی میکند.
این ویژگی 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 
همان مدل را میتوان به چندین روش بهبود بخشید:
-
تغییر جهت چیدمان با
جهت چپ به راست. -
افزودن یادداشتها برای توضیح قوانین کسبوکار.
-
گروهبندی موارد استفاده در بستهها.
-
افزودن سبکبندی با
skinparam. -
تغییر نام مستعارها بدون تغییر برچسبهای قابل مشاهده.
-
نگه داشتن منبع نمودار تحت کنترل نسخه.
-
بازتولید نمودار هر زمان که مدل تغییر کند.
مدلسازی بصری در مقابل نمودار-به-کد
| رویکرد | مناسبترین برای | مزیت اصلی | محدودیت اصلی |
|---|---|---|---|
| Visual Paradigm UML | مدلسازی تعاملی و کارگاههای ذینفعان | دستکاری مستقیم و بازبینی بصری | ممکن است مقایسه تغییرات به صورت متن دشوارتر باشد |
| مدلسازی با کمک هوش مصنوعی | طراحی مدلها بر اساس الزامات | شناسایی سریع عناصر کاندیدا | روابط تولیدشده نیاز به اعتبارسنجی دارند |
| VPasCode و PlantUML | مدلسازی تکرارپذیر مبتنی بر متن | آسان برای نسخهبندی، بازبینی و بازتولید | نیاز به آشنایی با نحو دارد |
| روند ترکیبی | تحلیل و توسعه حرفهای | ترکیبی از سرعت، دقت و همکاری | نیاز به بررسی سازگاری در میان نمایشهای مختلف دارد |
یک روند ترکیبی عملی
یک روند بهرهور این است که از هر ابزار برای وظیفهای که بهترین عملکرد را در آن دارد، استفاده کنید:
-
نیازمندیها را به زبان طبیعی ثبت کنید.
کاربران، اهداف، دامنه سیستم و قوانین کسبوکار را توصیف کنید. -
از هوش مصنوعی برای ایجاد یک مدل اولیه استفاده کنید.
از هوش مصنوعی بخواهید بازیگران و موارد استفاده را شناسایی کند، سپس یک پیشنویس اولیه تولید کند. -
پیشنویس را در Visual Paradigm UML بازبینی کنید.
بررسی کنید که آیا مدل بهدرستی حوزه را منعکس میکند و آیا نمودار برای درک آسان است. -
مدل را در PlantUML صادر کنید یا بازنویسی کنید.
از نامهای مستعار، نامهای یکسان و نحو صریح روابط استفاده کنید. -
منبع را در VPasCode یا سیستم کنترل نسخه نگهداری کنید.
فایل را ذخیره کنید.pumlهمراه با مستندات پروژه یا کد منبع. -
معنای UML را اعتبارسنجی کنید.
به طور خاص به موارد زیر توجه کنید:شامل (include),گسترش (extend)و جهت تعمیم. -
نمودار نهایی را منتشر کنید.
آن را به عنوان تصویر یا سند برای الزامات، معماری، بررسیهای طراحی و مستندات پروژه صادر کنید.
دستورالعمل برای تولید نمودار مورد استفاده PlantUML
دستورالعمل زیر را میتوان با یک دستیار مدلسازی هوش مصنوعی استفاده کرد:

یک نمودار مورد استفاده 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 繁體中文.












