Giới thiệu
Sử dụng trường hợp biểu đồ cung cấp một rõ ràng cách để mô tả cách người dùng, bên ngoài hệ thống, và khác các tác nhân tương tác với một phần mềm hệ thống. Chúng giúp các nhóm xác định hệ thống phạm vi, nhận diện chức năng yêu cầu, và truyền đạt dự kiến hành vi trước khi triển khai bắt đầu.
PlantUML làm cho việc sử dụng trường hợp mô hình hóa thực tế thông qua một dựa trên văn bản ngữ pháp cú pháp mà có thể được lưu trữ, xem xét, quản lý phiên bản, và tạo lại cùng với dự án tài liệu hoặc nguồn mã. Với một vài lệnh, bạn có thể xác định các tác nhân, sử dụng các trường hợp, hệ thống ran giới, các mối liên kết, <<bao gồm>> các mối quan hệ, <<mở rộng>> các mối quan hệ, sự khái quát hóa, các ghi chú, và bố cục tùy chọn.
Hướng dẫn này hướng dẫn giải thích các chính PlantUML sử dụng trường hợp ký hiệu được hiển thị trong tài liệu tham khảo trang và minh họa cách để áp dụng nó trong thực tế ví dụ. Nó cũng giới thiệu một rộng hơn công cụ quy trình làm việc sử dụng Trực quan Paradigm UML, hỗ trợ bởi AI mô hình hóa, và VPasCode. Kết hợp lại, những công cụ này công cụ hỗ trợ một toàn diện quy trình: chuyển đổi yêu cầu thành một ban đầu mô hình, xác thực UML mối quan hệ, tinh chỉnh bản sơ đồ, và duy trì bản cuối cùng mô hình dưới dạng dễ đọc sơ đồ nguồn.
Sơ đồ trường hợp sử dụng UML mô tả cách người dùng hoặc hệ thống bên ngoài tương tác với một hệ thống. Nó tập trung vào hệ thống làm gìchứ không phải cách nó được triển khai.
PlantUML cho phép bạn tạo sơ đồ trường hợp sử dụng bằng cách sử dụng ký hiệu dựa trên văn bản đơn giản.
1. Cấu trúc cơ bản của PlantUML
Mọi sơ đồ PlantUML đều bắt đầu bằng @startuml và kết thúc bằng @enduml.
@startuml
' Nội dung sơ đồ sẽ ở đây
@enduml
Nhận xét bắt đầu bằng dấu nháy đơn:
Bạn cũng có thể sử dụng nhận xét nhiều dòng:
2. Định nghĩa các tác nhân
Một tác nhân đại diện cho một người, vai trò, tổ chức, thiết bị hoặc hệ thống bên ngoài tương tác với hệ thống của bạn.
Tác nhân cơ bản
Điều này tạo ra một tác nhân hình que tên là Người dùng.
Diễn viên có biệt danh
Biệt danh hữu ích khi tên hiển thị chứa khoảng trắng hoặc khi bạn muốn một định danh ngắn hơn cho các mối quan hệ.
actor "Cổng thanh toán" as payment
actor "Quản trị viên hệ thống" as admin
Sau đó, bạn có thể tham chiếu đến các biệt danh:
payment --> ProcessPayment
admin --> ManageUsers
Actor sử dụng một phong cách trực quan khác
PlantUML hỗ trợ nhiều phong cách actor. Phong cách mặc định thường là đủ, nhưng bạn có thể sử dụng actor theo phong cách biểu tượng:
skinparam actorStyle awesome
actor Customer
Bạn cũng có thể sử dụng actor theo phong cách hình chữ nhật đơn giản:
skinparam actorStyle hollow
actor Customer
Giao diện chính xác phụ thuộc vào công cụ hiển thị PlantUML và các tham số giao diện.
3. Định nghĩa các trường hợp sử dụng
Một trường hợp sử dụng đại diện cho một dịch vụ, mục tiêu hoặc chức năng do hệ thống cung cấp.
Trường hợp sử dụng cơ bản
PlantUML hiển thị phần này dưới dạng hình elip có nhãn Đăng nhập.
Use case với biệt danh
usecase "Xử lý thanh toán thẻ tín dụng" với biệt danh ProcessPayment
Nhãn hiển thị là Xử lý thanh toán thẻ tín dụng, trong khi ProcessPayment được sử dụng trong các mối quan hệ.
actor Customer
Customer --> ProcessPayment
Tên trường hợp sử dụng nhiều dòng
Bạn có thể chèn dấu xuống dòng bằng cách sử dụng n:
usecase "Xử lýnThanh toánnThẻ tín dụng" as ProcessPayment
Điều này hữu ích khi biểu đồ chứa các nhãn dài.
4. Ranh giới hệ thống
Ranh giới hệ thống nhóm các trường hợp sử dụng thuộc về một hệ thống cụ thể.
rectangle "Hệ thống Mua sắm Trực tuyến" {
usecase "Duyệt sản phẩm" as Browse
usecase "Thanh toán" as Checkout
}
Hình chữ nhật biểu thị hệ thống, và các kịch bản sử dụng bên trong nó biểu thị chức năng do hệ thống đó cung cấp.
Bạn cũng có thể sử dụng một biệt danh có tên cho ranh giới:
rectangle "Hệ thống Mua sắm Trực tuyến" as OnlineStore {
usecase "Duyệt sản phẩm" as Browse
usecase "Thanh toán" as Checkout
}
Ranh giới hệ thống hữu ích khi phân biệt hành vi của hệ thống với các tác nhân và dịch vụ bên ngoài.
5. Kết nối các tác nhân và kịch bản sử dụng
Một mối liên kết cho thấy một tác nhân tham gia hoặc tương tác với một kịch bản sử dụng.
Mối liên kết không có hướng
Điều này tạo ra một đường liền không có đầu mũi tên.
Liên kết có hướng
Điều này tạo ra một đường liền có mũi tên chỉ về phía trường hợp sử dụng.
Cả hai dạng đều được sử dụng phổ biến. Hướng mũi tên nên được chọn nhất quán dựa trên thông điệp hoặc trách nhiệm mà bạn muốn nhấn mạnh.
Liên kết với nhãn
Nhãn mô tả tương tác.
Khách hàng --> XemĐơnHàng : xem lịch sử đơn hàng
Để có bố cục dễ đọc hơn, bạn có thể sử dụng mũi tên dài hơn:
6. Cái <<include>> mối quan hệ
Một bao gồmmối quan hệ biểu thị hành vi màluôn luôn được yêu cầubởi một kịch bản sử dụng khác.
Ví dụ, việc đặt hàng có thể luôn yêu cầu xác thực thanh toán:
PlaceOrder ..> ValidatePayment : <<bao gồm>>
Hướng là quan trọng:
Kịch bản sử dụng cơ sở ..> Kịch bản sử dụng được bao gồm : <<bao gồm>>
Mũi tên chỉ từ kịch bản sử dụng cần hành vi đến kịch bản sử dụng cung cấp hành vi có thể tái sử dụng.
Ví dụ
usecase "Thanh toán" as Checkout
usecase "Xác minh thông tin khách hàng" as ValidateCustomer
usecase "Tính tổng đơn hàng" as CalculateTotal
usecase "Thực hiện thanh toán" as MakePayment
Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> MakePayment : <<include>>
Điều này có nghĩa là:
-
Thanh toán luôn xác minh thông tin khách hàng.
-
Thanh toán luôn tính tổng đơn hàng.
-
Thanh toán luôn thực hiện thanh toán.
Sử dụng <<include>> khi hành vi được bao gồm là bắt buộc hoặc có thể tái sử dụng.
7. Cái <<extend>> mối quan hệ
Một mở rộng mối quan hệ biểu thị hành vi tùy chọn, có điều kiện hoặc ngoại lệ được thêm vào một kịch bản sử dụng cơ bản.
Ví dụ, việc áp dụng giảm giá có thể chỉ xảy ra khi khách hàng có mã giảm giá hợp lệ:
ApplyDiscount ..> Checkout : <<extend>>
Hướng là:
Trường hợp sử dụng mở rộng tùy chọn ..> Trường hợp sử dụng cơ bản : <<extend>>
Mũi tên chỉ từ hành vi tùy chọn đến trường hợp sử dụng cơ bản.
Ví dụ đúng
usecase "Thanh toán" as Checkout
usecase "Áp dụng phiếu giảm giá" as ApplyDiscount
ApplyDiscount ..> Checkout : <<extend>>
Điều này có nghĩa là Áp dụng phiếu giảm giá tùy chọn mở rộng Thanh toán quy trình.
So sánh Include và Extend
| Mối quan hệ | Mục đích | Hướng mũi tên |
|---|---|---|
<<include>> |
Hành vi bắt buộc có thể tái sử dụng | Use case gốc → Use case được bao gồm |
<<extend>> |
Hành vi tùy chọn hoặc có điều kiện | Use case mở rộng → Use case gốc |
Ví dụ:
Thanh toán ..> Xác minh thanh toán : <<include>>
Áp dụng giảm giá ..> Thanh toán : <<extend>>
Tránh đảo ngược các mối quan hệ này vì hướng thay đổi ý nghĩa của chúng.
8. Tổng quát hóa trường hợp sử dụng
Tổng quát hóa cho thấy một trường hợp sử dụng là một dạng chuyên biệt của một trường hợp sử dụng khác.
usecase "Tìm kiếm sản phẩm" as SearchProducts
usecase "Duyệt sản phẩm" as BrowseProducts
SearchProducts -|> BrowseProducts
Tam giác rỗng chỉ về trường hợp sử dụng tổng quát hơn.
Điều này có nghĩa là Tìm kiếm sản phẩm là một biến thể chuyên biệt của Duyệt qua sản phẩm.
Tổng quát hóa ít phổ biến hơn bao gồm và mở rộng, vì vậy chỉ sử dụng nó khi có mối quan hệ cha-con thực sự giữa các trường hợp sử dụng.
9. Tổng quát hóa tác nhân
Các tác nhân cũng có thể có mối quan hệ tổng quát hóa.
actor Customer
actor "Khách hàng cao cấp" as PremiumCustomer
PremiumCustomer -|> Customer
Điều này cho thấy khách hàng cao cấp là một loại khách hàng chuyên biệt và thừa kế các tương tác của diễn viên tổng quát.
Ví dụ:
10. Ghi chú và chú thích
Ghi chú thêm giải thích hoặc ràng buộc cho một biểu đồ.
Ghi chú gắn với một kịch bản sử dụng
ghi chú bên phải của Thanh toán
Khách hàng phải cung cấp
thông tin thanh toán hợp lệ.
kết thúc ghi chú
Các vị trí khác bao gồm:
ghi chú bên trái của Thanh toán
Quy trình hướng tới khách hàng
kết thúc ghi chú
ghi chú phía trên của Thanh toán
Quy trình kinh doanh chính
kết thúc ghi chú
ghi chú phía dưới của Thanh toán
Bao gồm xử lý thanh toán
kết thúc ghi chú
Cú pháp ghi chú ngắn
ghi chú bên phải của Đăng nhập : Xác thực người dùng là bắt buộc
Ghi chú độc lập có biệt danh
ghi chú "Thanh toán phải được phê duyệtntrước khi đơn hàng được xác nhận" dưới tên PaymentNote
Nối ghi chú với một thành phần bằng đường nét đứt:
Ghi chú cho các ràng buộc
Ghi chú hữu ích để ghi lại các điều kiện:
ghi chú bên phải của ApplyDiscount
Hành vi tùy chọn:
chỉ được sử dụng khi
một mã giảm giá hợp lệ
được cung cấp.
kết thúc ghi chú
11. Hướng bố cục
Theo mặc định, PlantUML tự động chọn một bố cục. Bạn có thể ảnh hưởng đến hướng.
Bố cục từ trái sang phải
Điều này thường hữu ích cho các biểu đồ trường hợp sử dụng vì các vai trò xuất hiện ở bên trái và các hệ thống bên ngoài ở bên phải.
Bố cục từ trên xuống dưới
Điều này có thể hữu ích cho các biểu đồ gọn nhẹ hoặc các quy trình làm việc được tổ chức theo chiều dọc.
Liên kết bố cục vô hình
Một liên kết vô hình có thể ảnh hưởng đến vị trí mà không hiển thị mối quan hệ hữu hình:
Điều này hữu ích để cải thiện bố cục sơ đồ.
12. Tạo kiểu cho sơ đồ
Xóa bóng đổ
Sử dụng các gói và ranh giới hình chữ nhật
Đặt màu
skinparam usecase {
BackgroundColor #FDFDFD
BorderColor #333333
}
skinparam actor {
BorderColor #333333
}
Đặt màu mũi tên
Đặt cỡ phông chữ mặc định
Một phần định dạng hoàn chỉnh có thể trông như sau:
skinparam shadowing false
skinparam packageStyle rectangle
skinparam actorStyle awesome
skinparam defaultFontSize 14
skinparam usecase {
BackgroundColor #F9FBFF
BorderColor #234
}
skinparam ArrowColor #555555
13. Gói và nhóm
Các gói có thể nhóm các trường hợp sử dụng liên quan.
package "Tính năng Khách hàng" {
usecase "Đăng ký tài khoản" as Register
usecase "Đăng nhập" as Login
usecase "Duyệt sản phẩm" as Browse
}
package "Tính năng Quản trị" {
usecase "Quản lý sản phẩm" as ManageProducts
usecase "Tạo báo cáo bán hàng" as SalesReport
}
Các gói hữu ích khi biểu đồ chứa nhiều trường hợp sử dụng.
Bạn cũng có thể sử dụng hình chữ nhật làm nhóm:
rectangle "Quản lý đơn hàng" {
usecase "Đặt hàng" as PlaceOrder
usecase "Theo dõi đơn hàng" as TrackOrder
usecase "Hủy đơn hàng" as CancelOrder
}
14. Hệ thống bên ngoài
Các ứng dụng hoặc dịch vụ bên ngoài có thể được biểu diễn dưới dạng tác nhân.
actor "Cổng thanh toán" as PaymentGateway
actor "Dịch vụ Email" as EmailService
actor "CRM bên ngoài" as CRM
Kết nối chúng với các trường hợp sử dụng của hệ thống:
PaymentGateway --> MakePayment
EmailService --> SendConfirmation
CRM --> SynchronizeCustomer
Điều này phân biệt rõ ràng chức năng của hệ thống với các dịch vụ bên ngoài ranh giới hệ thống.
15. Ví dụ hoàn chỉnh
Ví dụ sau đây kết hợp các ký hiệu chính từ bảng tham chiếu.

@startuml
title Hệ thống Mua sắm Trực tuyến - Biểu đồ Use Case
hướng từ trái sang phải
skinparam shadowing false
skinparam packageStyle rectangle
skinparam actorStyle awesome
skinparam usecase {
BackgroundColor #F9FBFF
BorderColor #333333
}
skinparam ArrowColor #555555
' Các vai trò
actor Khách hàng as customer
actor "Khách hàng Cao cấp" as premium
actor Quản trị viên as admin
actor "Cổng thanh toán" as payment
actor "Dịch vụ Email" as email
' Tổng quát hóa vai trò
premium -|> customer
' Ranh giới hệ thống
rectangle "Hệ thống Mua sắm Trực tuyến" {
' Các use case của khách hàng
usecase "Đăng ký tài khoản" as Register
usecase "Đăng nhập" as Login
usecase "Duyệt sản phẩm" as Browse
usecase "Tìm kiếm sản phẩm" as Search
usecase "Xem chi tiết sản phẩm" as ViewProduct
usecase "Thêm sản phẩm vào giỏ hàng" as AddToCart
usecase "Xem giỏ hàng" as ViewCart
usecase "Thanh toán" as Checkout
usecase "Đặt hàng" as PlaceOrder
usecase "Theo dõi đơn hàng" as TrackOrder
usecase "Hủy đơn hàng" as CancelOrder
' Hành vi được bao gồm chung
usecase "Xác thực thông tin khách hàng" as ValidateCustomer
usecase "Tính tổng đơn hàng" as CalculateTotal
usecase "Thực hiện thanh toán" as MakePayment
usecase "Gửi xác nhận đơn hàng" as SendConfirmation
' Hành vi tùy chọn
usecase "Áp dụng mã giảm giá" as ApplyDiscount
usecase "Yêu cầu hoàn tiền" as RequestRefund
' Các use case quản trị
usecase "Quản lý sản phẩm" as ManageProducts
usecase "Tạo báo cáo doanh thu" as SalesReport
}
' Mối liên kết với vai trò
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
' Mối quan hệ Include
Checkout ..> ValidateCustomer : <<include>>
Checkout ..> CalculateTotal : <<include>>
Checkout ..> PlaceOrder : <<include>>
PlaceOrder ..> MakePayment : <<include>>
PlaceOrder ..> SendConfirmation : <<include>>
' Mối quan hệ Extend
ApplyDiscount ..> Checkout : <<extend>>
RequestRefund ..> CancelOrder : <<extend>>
' Tổng quát hóa use case
Search -|> Browse
' Ghi chú
note right of Checkout
Quy trình mua hàng chính của khách hàng
end note
note right of ApplyDiscount
Hành vi tùy chọn:
chỉ được sử dụng khi có
mã giảm giá hợp lệ
end note
note bottom of MakePayment
Thanh toán được xử lý bởi
cổng thanh toán bên ngoài
end note
@enduml 
16. Đọc ví dụ hoàn chỉnh
Biểu đồ truyền đạt các nội dung sau:
-
Khách hàngcó thể duyệt sản phẩm, thêm sản phẩm vào giỏ hàng và thanh toán. -
Khách hàng Cao cấplà một dạng chuyên biệt củaKhách hàng. -
Thanh toánluôn bao gồm xác thực khách hàng, tính tổng và đặt hàng. -
Đặt hàngluôn bao gồm thanh toán và xác nhận. -
Áp dụng mã giảm giálà tùy chọn và mở rộng quy trình thanh toán. -
Yêu cầu hoàn tiềnlà một phần mở rộng tùy chọn của việc hủy. -
Cổng thanh toán xử lý việc xử lý thanh toán.
-
Dịch vụ email gửi xác nhận đơn hàng.
-
Quản trị viên quản lý sản phẩm và tạo báo cáo.
17. Những lỗi thường gặp
Đảo ngượcbao gồm
Sai:
ValidateCustomer ..> Checkout : <<bao gồm>>
Đúng:
Checkout ..> ValidateCustomer : <<bao gồm>>
Use case cơ sở trỏ đến hành vi được bao gồm bắt buộc.
Đảo ngượcmở rộng
Sai:
Thanh toán ..> Áp dụng giảm giá : <<mở rộng>>
Đúng:
ApplyDiscount ..> Checkout : <<extend>>
Use case mở rộng tùy chọn trỏ đến use case cơ sở.
Sử dụng include cho hành vi tùy chọn
Nếu một hành vi chỉ xảy ra trong một số điều kiện nhất định, hãy sử dụng <<extend>>:
ApplyDiscount ..> Checkout : <<extend>>
Nếu điều này luôn xảy ra, hãy sử dụng <<include>>:
Checkout ..> ValidateCustomer : <<include>>
Đặt các tác nhân bên ngoài bên trong ranh giới hệ thống
Người dùng và dịch vụ bên ngoài thường phải nằm bên ngoài hình chữ nhật:
actor Customer
rectangle "Hệ thống Mua sắm" {
usecase "Thanh toán" as Checkout
}
Customer --> Checkout
Tạo các trường hợp sử dụng quá chi tiết
Một trường hợp sử dụng nên mô tả mục tiêu có ý nghĩa của người dùng, chẳng hạn như:
Tránh biến mỗi bước triển khai nhỏ thành một use case riêng biệt, trừ khi nó được tái sử dụng, tùy chọn hoặc quan trọng đối với mô hình.
18. Mẫu thực tế tối thiểu
Đối với biểu đồ nhỏ hơn, hãy sử dụng mẫu này:

@startuml
hướng từ trái sang phải
actor Người dùng
rectangle "Hệ thống của tôi" {
usecase "Mục tiêu chính của người dùng" as MainGoal
usecase "Hành động chia sẻ bắt buộc" as SharedBehavior
usecase "Hành động tùy chọn" as OptionalBehavior
}
Người dùng --> MainGoal
MainGoal ..> SharedBehavior : <<include>>
OptionalBehavior ..> MainGoal : <<extend>>
ghi chú bên phải MainGoal
Chức năng chính của hệ thống
end note
@enduml

Mẫu này chứa các ký hiệu cơ bản:
-
Người dùng
-
Biên giới hệ thống
-
Trường hợp sử dụng
-
Liên kết
-
Bao gồm
-
Mở rộng
-
Ghi chú
-
Hướng bố cục
Công cụ: Visual Paradigm UML, AI và VPasCode
PlantUML lý tưởng để tạo biểu đồ dưới dạng văn bản, nhưng các công cụ mô hình hóa trực quan có thể giúp quy trình làm việc tương tự trở nên dễ dàng hơn để xem xét, tinh chỉnh và chia sẻ. Visual Paradigm cung cấp khả năng mô hình hóa UML cùng với mô hình hóa hỗ trợ AI và không gian làm việc VPasCode dựa trên văn bản. Nền tảng của nó hỗ trợ các biểu đồ UML tiêu chuẩn, bao gồm biểu đồ trường hợp sử dụng, lớp, chuỗi, hoạt động, thành phần, triển khai, máy trạng thái, gói và đối tượng.
Mô hình hóa UML bằng Visual Paradigm
Visual Paradigm có thể được sử dụng khi bạn muốn xây dựng biểu đồ trường hợp sử dụng một cách trực quan thay vì viết tất cả cú pháp thủ công. Quy trình làm việc điển hình là:
-
Tạo một dự án UML.
-
Thêm biểu đồ trường hợp sử dụng.
-
Đặt các vai trò và trường hợp sử dụng lên bảng vẽ.
-
Vẽ biên giới hệ thống.
-
Kết nối các vai trò với các kịch bản sử dụng.
-
Thêm
bao gồm,mở rộng, và các mối quan hệ tổng quát hóa. -
Thêm ghi chú và ràng buộc.
-
Sắp xếp và xuất sơ đồ hoàn chỉnh.
Mô hình hóa trực quan đặc biệt hữu ích khi các bên liên quan cần xem xét sơ đồ một cách tương tác. Các thành viên trong nhóm có thể kiểm tra các ký hiệu, thảo luận về các yếu tố cụ thể và chú thích sơ đồ một cách hợp tác.
Một sơ đồ kịch bản sử dụng được tạo thủ công có thể chứa:
-
Các vai trò như
Khách hàng,Quản trị viên, vàCổng thanh toán -
Một ranh giới hệ thống như
Hệ thống mua sắm trực tuyến -
Các trường hợp sử dụng như
Thanh toán,Đặt hàng, vàTheo dõi đơn hàng -
<<include>>quan hệ cho hành vi tái sử dụng bắt buộc -
<<extend>>quan hệ cho hành vi tùy chọn -
Quan hệ tổng quát hóa cho các vai trò hoặc trường hợp sử dụng chuyên biệt
Mô hình trực quan phải bảo toàn các quy tắc ngữ nghĩa giống như được sử dụng trong PlantUML:
Checkout ..> ValidatePayment : <<include>>
ApplyDiscount ..> Checkout : <<extend>>
PremiumCustomer -|> Customer
Sự khác biệt quan trọng là việc thay đổi công cụ không làm thay đổi ý nghĩa của UML. Dù biểu đồ được tạo bằng tay, do AI tạo ra, hay được viết bằng PlantUML, hướng của mối quan hệ vẫn phải được giữ nguyên chính xác.
Mô hình hóa hỗ trợ bởi AI
Khả năng AI của Visual Paradigm có thể giúp chuyển đổi các yêu cầu bằng ngôn ngữ tự nhiên thành các phần tử mô hình và biểu đồ. Nền tảng này mô tả các tính năng AI của mình có khả năng biến đổi các yêu cầu thành biểu đồ và tạo ra các sản phẩm phát triển phần mềm từ các mô tả bằng văn bản.
Ví dụ, bạn có thể cung cấp yêu cầu sau:
Tạo biểu đồ trường hợp sử dụng cho hệ thống mua sắm trực tuyến.
Các vai trò:
- Khách hàng
- Khách hàng cao cấp
- Quản trị viên
- Cổng thanh toán
- Dịch vụ email
Khách hàng có thể đăng ký, đăng nhập, duyệt sản phẩm, thêm sản phẩm vào giỏ hàng,
thanh toán, theo dõi đơn hàng và hủy đơn hàng.
Quy trình thanh toán phải bao gồm xác thực khách hàng, tính tổng, thanh toán,
và xác nhận đơn hàng.
Việc áp dụng mã giảm giá là tùy chọn và mở rộng quy trình thanh toán.
Khách hàng cao cấp là một loại chuyên biệt của Khách hàng.
Một công cụ hỗ trợ bởi AI có thể sử dụng mô tả này để đề xuất:
-
Định nghĩa các vai trò
-
Tên các trường hợp sử dụng
-
Biên giới hệ thống
-
Các mối liên kết
-
Các trường hợp sử dụng được bao gồm
-
Các trường hợp sử dụng được mở rộng
-
Sự tổng quát hóa của các vai trò
-
Ghi chú mô tả các quy tắc nghiệp vụ
Trí tuệ nhân tạo hữu ích nhất trong lần mô hình hóa đầu tiên. Nó có thể nhanh chóng tạo bản nháp từ các yêu cầu, xác định các ứng viên đóng vai trò là tác nhân và đề xuất các hành vi có thể tái sử dụng. Mô hình kết quả vẫn cần được xem xét bởi một nhà phát triển, nhà phân tích hoặc chuyên gia trong lĩnh vực.
Danh sách kiểm tra đánh giá AI được khuyến nghị
Sau khi tạo biểu đồ, hãy kiểm tra:
-
Mỗi tác nhân đều nằm bên ngoài ranh giới của hệ thống.
-
Mỗi trường hợp sử dụng đều mô tả một mục tiêu người dùng có ý nghĩa hoặc một dịch vụ hệ thống.
-
Hành vi bắt buộc có thể tái sử dụng sử dụng
<<include>>. -
Hành vi tùy chọn hoặc có điều kiện sử dụng
<<extend>>. -
Mũi tên
includechỉ từ trường hợp sử dụng cơ sở đến trường hợp sử dụng được bao gồm. -
Mũi tên
mở rộngmũi tên chỉ từ use case mở rộng đến use case gốc. -
Mũi tên tổng quát hóa chỉ về phía tác nhân hoặc use case tổng quát hơn.
-
Các use case trùng lặp hoặc quá chi tiết đã được loại bỏ.
-
Tên được biểu thị nhất quán dưới dạng cụm động từ.
-
Sơ đồ truyền đạt phạm vi hệ thống một cách rõ ràng.
VPasCode: mô hình hóa bằng văn bản
VPasCode cung cấp một không gian làm việc chuyển đổi văn bản thành sơ đồ trong hệ sinh thái Visual Paradigm. Nền tảng chính thức mô tả nó là một trình soạn thảo trực tuyến chuyển đổi văn bản tự do thành sơ đồ và cũng giới thiệu nó như một cách để chuyển đổi mã thành sơ đồ.
Điều này khiến VPasCode hữu ích cho những người dùng ưa thích độ chính xác và khả năng lặp lại của sơ đồ dưới dạng mã, đồng thời vẫn làm việc trong môi trường mô hình hóa trực quan.
Một sơ đồ use case PlantUML có thể được viết như sau:

@startuml
title Hệ thống Mua sắm Trực tuyến
hướng từ trái sang phải
actor Khách hàng as customer
actor "Khách hàng Cao cấp" as premium
actor Quản trị viên as admin
actor "Cổng Thanh toán" as payment
actor "Dịch vụ Email" as email
premium -|> customer
rectangle "Hệ thống Mua sắm Trực tuyến" {
usecase "Đăng ký Tài khoản" as Register
usecase "Đăng nhập" as Login
usecase "Duyệt sản phẩm" as Browse
usecase "Thanh toán" as Checkout
usecase "Đặt hàng" as PlaceOrder
usecase "Theo dõi đơn hàng" as TrackOrder
usecase "Hủy đơn hàng" as CancelOrder
usecase "Xác thực thông tin khách hàng" as ValidateCustomer
usecase "Tính tổng đơn hàng" as CalculateTotal
usecase "Thực hiện thanh toán" as MakePayment
usecase "Gửi xác nhận đơn hàng" as SendConfirmation
usecase "Áp dụng mã giảm giá" as ApplyDiscount
usecase "Yêu cầu hoàn tiền" as RequestRefund
usecase "Quản lý sản phẩm" as 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

Mô hình tương tự có thể được tinh chỉnh theo nhiều cách khác nhau:
-
Thay đổi hướng bố cục với
hướng từ trái sang phải. -
Thêm ghi chú để giải thích các quy tắc kinh doanh.
-
Nhóm các trường hợp sử dụng thành các gói.
-
Thêm kiểu dáng với
skinparam. -
Đổi tên bí danh mà không thay đổi nhãn hiển thị.
-
Giữ nguồn sơ đồ dưới kiểm soát phiên bản.
-
Tạo lại sơ đồ mỗi khi mô hình thay đổi.
Mô hình hóa trực quan so với sơ đồ dưới dạng mã
| Phương pháp | Phù hợp nhất cho | Lợi ích chính | Hạn chế chính |
|---|---|---|---|
| Visual Paradigm UML | Mô hình hóa tương tác và các buổi hội thảo với các bên liên quan | Thao tác trực tiếp và xem xét trực quan | Việc so sánh các thay đổi dưới dạng văn bản có thể khó khăn hơn |
| Mô hình hóa hỗ trợ bởi AI | Soát thảo các mô hình từ các yêu cầu | Nhanh chóng xác định các phần tử ứng viên | Các mối quan hệ được tạo ra cần được xác thực |
| VPasCode và PlantUML | Mô hình hóa có thể lặp lại, dựa trên văn bản | Dễ dàng quản lý phiên bản, xem xét và tạo lại | Yêu cầu sự quen thuộc với cú pháp |
| Quy trình kết hợp | Phân tích và phát triển chuyên nghiệp | Kết hợp tốc độ, độ chính xác và sự cộng tác | Yêu cầu kiểm tra tính nhất quán giữa các biểu diễn |
Một quy trình kết hợp thực tế
Một quy trình hiệu quả là sử dụng mỗi công cụ cho nhiệm vụ mà nó xử lý tốt nhất:
-
Ghi lại các yêu cầu bằng ngôn ngữ tự nhiên.
Mô tả người dùng, mục tiêu, phạm vi hệ thống và các quy tắc kinh doanh. -
Sử dụng AI để tạo một mô hình ban đầu.
Yêu cầu AI xác định các vai trò và các trường hợp sử dụng, sau đó tạo bản thảo đầu tiên. -
Xem xét bản thảo trong Visual Paradigm UML.
Kiểm tra xem mô hình có phản ánh chính xác miền nghiệp vụ hay không và liệu biểu đồ có dễ hiểu hay không. -
Xuất hoặc viết lại mô hình bằng PlantUML.
Sử dụng biệt danh, tên nhất quán và cú pháp quan hệ rõ ràng. -
Duy trì mã nguồn trong VPasCode hoặc hệ thống kiểm soát phiên bản.
Lưu trữ.pumlfile cùng với tài liệu dự án hoặc mã nguồn. -
Kiểm tra tính đúng đắn của ngữ nghĩa UML.
Đặc biệt chú ý đếninclude,extend, và hướng tổng quát hóa. -
Công bố sơ đồ cuối cùng.
Xuất nó dưới dạng hình ảnh hoặc tài liệu cho các yêu cầu, kiến trúc, đánh giá thiết kế và tài liệu dự án.
Lệnh để tạo sơ đồ trường hợp sử dụng PlantUML
Lệnh sau có thể được sử dụng với trợ lý mô hình hóa AI:

Tạo sơ đồ trường hợp sử dụng PlantUML cho hệ thống mua sắm trực tuyến.
Sử dụng bố cục từ trái sang phải và đặt tất cả các trường hợp sử dụng của hệ thống bên trong một
hình chữ nhật có tên "Hệ thống Mua sắm Trực tuyến".
Các vai trò:
- Khách hàng
- Khách hàng Cao cấp
- Quản trị viên
- Cổng thanh toán
- Dịch vụ Email
Các trường hợp sử dụng của Khách hàng:
- Đăng ký tài khoản
- Đăng nhập
- Duyệt sản phẩm
- Thêm sản phẩm vào giỏ hàng
- Thanh toán
- Theo dõi đơn hàng
- Hủy đơn hàng
Thanh toán phải bao gồm:
- Xác minh thông tin khách hàng
- Tính tổng đơn hàng
- Đặt hàng
Đặt hàng phải bao gồm:
- Thực hiện thanh toán
- Gửi xác nhận đơn hàng
Hành vi tùy chọn:
- Áp dụng mã giảm giá mở rộng cho Thanh toán
- Yêu cầu hoàn tiền mở rộng cho Hủy đơn hàng
Khách hàng Cao cấp là một dạng chuyên biệt của Khách hàng.
Sử dụng cú pháp PlantUML tiêu chuẩn và bao gồm:
- Biệt danh cho các vai trò
- Biệt danh cho các trường hợp sử dụng
- Ranh giới hệ thống
- Các liên kết giữa các vai trò
- Mối quan hệ <<include>>
- Mối quan hệ <<extend>>
- Sự tổng quát hóa giữa các vai trò
- Ít nhất một ghi chú giải thích
Đảm bảo rằng các mũi tên include chỉ từ trường hợp sử dụng gốc đến trường hợp sử dụng được bao gồm,
và các mũi tên extend chỉ từ trường hợp sử dụng mở rộng tùy chọn đến trường hợp sử dụng gốc.


Điểm chính cần ghi nhớ
Visual Paradigm UML rất phù hợp cho mô hình hóa và rà soát tương tác; AI có thể đẩy nhanh quá trình chuyển đổi từ yêu cầu sang bản nháp đầu tiên; và VPasCode kết hợp với PlantUML cung cấp một quy trình làm việc dựa trên văn bản có thể lặp lại. Khi được sử dụng cùng nhau, chúng hỗ trợ toàn bộ vòng đời mô hình hóa: mô tả yêu cầu, tạo bản nháp, xác thực UML, tinh chỉnh nguồn, và xuất bản một biểu đồ có thể bảo trì.
This post is also available in Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, 简体中文 and 繁體中文.












