Use Case Diagram - bản vẽ thiết kế mô tả tình huống sử dụng của hệ thống phần mềm

Trong bài viết "Phân tích thiết kế hệ thống hướng đối tượng (OOAD) và ngôn ngữ mô hình hóa (UML)" chúng ta đã chỉ ra bản vẽ Use Case sẽ giúp chúng ta biết được ai sử dụng hệ thống, hệ thống có những chức năng gì, giúp chúng ta sẽ hiểu được yêu cầu của hệ thống cần xây dựng.

Vẽ biểu đồ Use Case để làm gì? Lợi ích mà biểu đồ Use Case mang lại

  • Phân tích và hiểu hệ thống.
  • Thiết kế hệ thống.
  • Làm cơ sở cho việc phát triển, kiểm tra các bản vẽ như Class Diagram, Activity Diagram, Sequence Diagram, Component Diagram.
  • Làm cơ sở để giao tiếp với khách hàng, các nhà đầu tư.
  • Giúp cho việc kiểm thử chức năng, kiểm thử chấp nhận.
  • Làm tài liệu cho hệ thống.

Các thành phần của bản vẽ Use Case

Actor

Actor là người dùng hoặc đối tượng tương tác với một hệ thống. Mỗi Actor có thể là một người, một tổ chức hoặc một hệ thống bên ngoài tương tác với ứng dụng hoặc hệ thống của bạn

Biểu diễn Actor

Use Case

Use Case là chức năng mà các Actor sẽ sử dụng trên hệ thống

Biểu diễn Use Case

Relationship - các quan hệ

Relationship hay còn gọi là conntector được sử dụng để kết nối giữa các đối tượng với nhau tạo nên bản vẽ Use Case.

Các loại quan hệ trong use case

Có các kiểu quan hệ cơ bản sau:

  • Association : thường được dùng để mô tả mối quan hệ giữa Actor và Use Case và giữa các Use Case với nhau.
  • Generalization: được sử dụng để thể hiện quan hệ thừa kế giữa các Actor hoặc giữa các Use Case với nhau.
  • Include: là quan hệ giữa các Use Case với nhau, nó mô tả việc một Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài đặt (module hóa) hoặc thể hiện sự dùng lại.
  • Extend: dùng để mô tả quan hệ giữa 2 Use Case. Quan hệ Extend được sử dụng khi có một Use Case được tạo ra để bổ sung chức năng cho một Use Case có sẵn và được sử dụng trong một điều kiện nhất định nào đó.

System Boundary

System Boundary được sử dụng để xác định phạm vi của hệ thống mà chúng ta đang thiết kế. Các đối tượng nằm ngoài hệ thống này có tương tác với hệ thống được xem là các Actor. System Boundary sẽ giúp chúng ta dễ hiểu hơn khi chia hệ thống lớn thành các hệ thống con để phân tích, thiết kế.

Các bước xây dựng Use Case Diagram

Trước hết, để phân tích một hệ thống bạn phải có kiến thức và hiểu biết về chức năng, nghiệp vụ, quy trình hoạt động … của hệ thống đó

Bước 1: Tìm các Actor

Trả lời các câu hỏi sau để xác định Actor cho hệ thống:

  • Ai sử dụng hệ thống này?
  • Hệ thống nào tương tác với hệ thống này?

Bước 2: Tìm các Use Case

Trả lời câu hỏi các Actor sử dụng chức năng gì trong hệ thống? chúng ta sẽ xác định được các Use Case cần thiết cho hệ thống.

Bước 3: Xác định các quan hệ

Phân tích và các định các quan loại hệ giữa các Actor và Use Case, giữa các Actor với nhau, giữa các Use Case với nhau sau đó nối chúng lại chúng ta sẽ được bản vẽ Use Case.

Thí dụ thực tế xây dựng biểu đồ Use Case

Trả lời các câu hỏi ai sử dụng hệ thống? và hệ thống nào tương tác với chanhtuoi ta xác định được 3 Actor: khách truy cập vãng lai (Guest), thành viên đã đăng ký (Registered User), quản trị viên (Administrator).

Tìm các chức năng mà các Actor vừa tìm được sử dụng:

Guest: đăng nhập, đăng ký, đăng nhập bằng mạng xã hội, nhận hướng dẫn sau đăng ký, đăng ký email nhận tin, xem danh sách khuyến mại theo các tiêu chỉ nổi bật, danh mục, thương hiệu, địa điểm, tác giả, xem chi tiết deal, hành động like share mạng xã hội, gửi phản hồi, tìm kiếm khuyến mại, xem blogs, xem các trang thông tin như giới thiệu, chính sách

Registered User: đăng ký email nhận tin, xem danh sách khuyến mại theo các tiêu chỉ nổi bật, danh mục, thương hiệu, địa điểm, tác giả, xem chi tiết deal, hành động like share mạng xã hội, gửi phản hồi, tìm kiếm khuyến mại, xem blogs, xem các trang thông tin như giới thiệu, chính sách, xem trang cá nhân, theo dõi thành viên khách, quản lý hồ sơ cá nhân, đăng khuyến mại, chỉnh sửa khuyến mại của mình, bình chọn cho khuyến mại, bình luận, like bình luận, tích điểm

Administrator: Đăng nhập, thay đổi ngôn ngữ quản trị, quản lý seo, quản lý thành viên, quản lý trang, khuyến mại, kiểu khuyến mại, bình luận, cấu hình trang web, xem các báo cáo, quản lý tài khoản quản trị khác.

Kết luận

Use Case Diagram có một vai trò đặc biệt quan trọng trong quá trình phân tích, thiết kế và phát triển hệ thống. Hi vọng qua bài viết sẽ giúp chúng ta hiểu hơn và sử dụng bản vẽ Use Case trong việc phân tích các hệ thống một cách hiệu quả.

Trịnh Tuấn Tài

Category