Quan hệ giữa Actor và Actor

Giữa các Actor và Use Case trong biểu đồ Use Case có các kiểu mối quan hệ khác nhau:

-  Quan hệ giao tiếp (Association) giữa Actor và Use Case: cho biết có một kết hợp giữa một Actor và một Use Case. Nghĩa là con người hoặc hệ thống, trong vai trò Actor này, sẽ giao tiếp với các thể hiện của Use Case, tham gia chuỗi các sự kiện được Use Case biểu diễn. Use Case được cài đặt thành một vài Module chương trình và các Actor sẽ sử dụng chương trình này bằng cách nhập thông tin vào, nhận thông tin ra. Một Actor có thể được kết hợp với một hoặc nhiều Use Case, và một Use Case có thể được kết hợp với một hoặc nhiều Actor

Quan hệ giao tiếp giữa Actor và Use Case biểu diễn bởi mũi tên hay đường thẳng  nối Actor với Use Case

Ví dụ: Quan hệ giữa Khách hàng, Hệ thống tín dụng và các Use Case Gởi tiền, Rút tiền, Xem số dư

-  Quan hệ bao gồm (Include) giữa các Use Case(phiên bản UML 1.1 là Uses):

Đôi khi một Use Case có các tính năng của một Use Case khác, khi đó tồn tại quan hệ Include (bao gồm) giữa chúng. Quan hệ Include được vẽ bằng một mũi tên đứt nét hướng đến Use Case thứ hai, kèm theo từ «include» đặt bên cạnh mũi tên. Điều này tránh được tình trạng cùng một chuỗi hành động lại định nghĩa trong nhiều Use Case. Use case bao gồm sẽ tiếp tục chuỗi hành động tại điểm mà nó Include, sau đó quay lại và tiếp tục quá trình tạm dừng trước đó.

Ví dụ: Quan hệ Include giữa Use Case Rút tiền và Use Case Xác thực khách hàng, hay giữa Use Case Rút tiền và Kiểm tra tài khoản

-  Quan hệ mở rộng (Extend) giữa các Use Case:

Trong khi quan hệ Include là quan hệ Use Case này chứa Use Case khác, thì quan hệ Extend là quan hệ mở rộng một Use Case. Trong một điều kiện nào đó, một Use Case cần được mở rộng bằng một Use Case khác, nghĩa là nếu điều kiện thỏa mãn thì Use Case mở rộng mới thực hiện. Quan hệ được vẽ bằng một mũi tên đứt nét hướng đến Use Case được mở rộng, và từ «extend» được đặt bên cạnh mũi tên

Ví dụ: Quan hệ giữa Use Case Rút tiền và In biên nhận, nếu khách hàng muốn in biên nhận thì Use Case In biên nhận mới thực hiện

Điểm mở rộng (Extension Points) có thể được mô tả ở trong ký hiệu Use Case:

            Extension Points: điểm mở rộng

Quan hệ giữa Actor và Actor

-  Quan hệ tổng quát hóa (Generalization) giữa các Use Case:

Đôi khi chúng ta gặp trường hợp cùng một Use Case lại có nhiều phiên bản khác nhau, các phiên bản này có một số hành động giống nhau và một số hành động không giống nhau. Kết hợp Generalization được vẽ bằng một biểu tượng hình tam giác trên đường nối hướng đến Use Case tổng quát

Đôi khi một Use Case tổng quát ở mức cao là Use Case không tồn tại trong hệ thống thực, có thể không được tác nhân khởi động, nó được dùng để định nghĩa các chức năng chung cho các Use Case cụ thể. Trong trường hợp này chúng ta gọi đó là chức năng trừu tượng (Abstract Use Case), tên của Use Case trừu tượng sẽ được in nghiêng. Các Use Case đặc biệt thường được gọi là Use Case cụ thể (Concrete Use Case) hay Use Case thực (Real Use Case)

Quan hệ giữa Actor và Actor

-  Quan hệ tổng quát hóa (Generalization) giữa các Actor:

Giữa các Actor cũng tồn tại kết hợp Generalization như giữa các Use Case. Kết hợp Generalization sử dụng khi nhiều tác nhân có chung một số thuộc tính và hành vi nào đó. Tác nhân không có thể hiện (hiện thực) là tác nhân trừu tượng.

Quan hệ giữa Actor và Actor

Trong bài trước chúng ta đã biết vai trò của bản vẽ Use Case là rất quan trọng, nó giúp chúng ta hiểu yêu cầu, kiến trúc chức năng của hệ thống và chi phối tất cả các bản vẽ còn lại. Trong bài này chúng ta sẽ tìm hiểu về các thành phần cấu tạo nên bản vẽ này, cách xây dựng và sử dụng nó.

Bạn đang xem: Actor trong use case là gì

Quảng Cáo

Mục lục

  • 1 1. Các thành phần trong bản vẽ Use Case
  • 2 2. Các bước xây dựng Use Case Diagram
  • 3 3. Đặc tả Use Case
  • 4 4. Sử dụng UseCase Diagram
  • 5 5. Kết luận

1. Các thành phần trong bản vẽ Use Case

Đầu tiên, chúng ta xem một ví dụ về Use Case Diagarm.

Quảng Cáo

Hình 1. Bản vẽ Use Case về ứng dụng ATM

Nhìn bản vẽ này chúng ta thấy có hai người dùng là Customer và ATM Technician và một đối tượng sử dụng hệ thống là Bank. Bên cạnh đó nó mô tả các chức năng của hệ thống và người dùng nào dùng chức năng gì. Điều này giúp chúng ta hình dung được là chúng ta sẽ xây dựng hệ thống với những chức năng gì? Cho ai dùng.

Quảng Cáo

Bây giờ chúng ta sẽ tìm hiểu kỹ hơn về các thành phần của bản vẽ.

1.1 Actor

Actor được dùng để chỉ người sử dụng hoặc một đối tượng nào đó bên ngoài tương tác với hệ thống chúng ta đang xem xét. Lưu ý, chúng ta hay bỏ quên đối tượng tương tác với hệ thống, ví dụ như Bank ở trên.

Actor được biểu diễn như sau:

Hoặc

Hình 2. Các ký hiệu của Actor

1.2 Use Case

Use Case là chức năng mà các Actor sẽ sử dụng. Nó được ký hiệu như sau:

Hình 3. Ký hiệu về Use Case

Với việc xác định các chức năng mà Actor sử dụng bạn sẽ xác định được các Use Case cần có trong hệ thống.

1.3 Relationship(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ác kiểu quan hệ cơ bản sau:

– Association

– Generalization

– Include

– Extend

Chúng ta sẽ lần lượt tìm hiểu về các kiểu quan hệ dưới đây.

+ Quan hệ Association

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.

Hình 4. Ví dụ thể hiện Actor User sử dụng Use Case Login

+Quan hệ Generalization

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.

Hình 5. Ví dụ Actor User thừa kế toàn bộ quyền của Actor Guest

+ Quan hệ Include

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.

Hình 6. Ví dụ về quan hệ Include giữa các Use Case

Chúng ta thấy Use Case “Verify Password” có thể gộp chung vào Use Case Login nhưng ở đây chúng ta tách ra để cho các Use Case khác sử dụng hoặc để module hóa cho dễ hiểu, dễ cài đặt.

+ Quan hệ Extend

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 đó.

Hình 7. Ví dụ về quan hệ Extend giữa các Use Case

Trong ví dụ trên “Open Account” là Use Case cơ sở để cho khách hàng mở tài khoản. Tuy nhiên, có thêm một điều kiện là nếu khách hàng là công ty thì có thể thêm người sở hữu lên tài khoản này. Add Account Holder là chức năng mở rộng của Use Case “Open Account” cho trường hợp cụ thể nếu Actor là Công ty nên quan hệ của nó là quan hệ Extend.

1.4 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ế.

Xem thêm:

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

Chúng ta đã nắm được các ký hiệu của bản vẽ Use Case, bây giờ là lúc chúng ta tìm cách lắp chúng lại để tạo nên bản vẽ hoàn chỉnh. Thực hiện các bước sau để xây dựng một bản vẽ Use Case:

+ 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?

Xem xét ví dụ về ATM ở trên chúng ta thấy:

– Ai sử dụng hệ thống? -> Customer, ATM Technician

– Hệ thống nào tương tác với hệ thống này? -> Bank

Như vậy có 03 Actor: Customer, ATM Technician và Bank

+ Bước 2: Tìm các Actor

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.

Xem xét ví dụ ở trên ta thấy:

Customer sử dụng các chức năng: Check Balance, Deposit, Withdraw và TransferATM technician sử dụng: Maintenance và RepairBank tương tác với tất cả các chức năng trên.

Tóm lại, chúng ta phải xây dựng hệ thống có các chức năng: Check Balance, Deposit, Withdraw, Transfer, Maintenance và Repair để đáp ứng được cho người sử dụng và các hệ thống tương tác.

+ 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.

Hình 8. Bản vẽ Use Case về ATM

3. Đặc tả Use Case

Nhìn vào bản vẽ trên chúng ta nhận biết hệ thống cần những chức năng gì và ai sử dụng. Tuy nhiên, chúng ta chưa biết được chúng vận hành ra sao? Sử dụng chúng như thế nào? Để hiểu rõ hơn hệ thống chúng ta cần phải đặc tả các Use Case.

Có 2 cách để đặc tả Use Case.

Cách 1: Viết đặc tả cho các Use Case

Chúng ta có thể viết đặc tả Use Case theo mẫu sau:

Tên Use Case //Account DetailsMã số Use Case //UCSEC35Mô tả tóm tắt// Hiển thị thông tin chi tiết của AccountCác bước thực hiện // Liệt kê các bước thực hiệnĐiều kiện thoát // Khi người dùng kích nút CloseYêu cầu đặc biệt// Ghi rõ nếu cóYêu cầu trước khi thực hiện// Phải đăng nhậpĐiều kiện sau khi thực hiện // Ghi rõ những điều kiện nếu có sau khi thực hiện Use Case này

Cách 2: Sử dụng các bản vẽ để đặc tả

Chúng ta có thể dùng các bản vẽ như Activity Diagram, Sequence Diagram để đặc tả Use case. Các bản vẽ này chúng ta sẽ bàn ở những bài tiếp theo.

4. Sử dụng UseCase Diagram

Như chúng ta đã biết 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. Dưới đây chúng tôi liệt kê một số ứng dụng tiêu biểu của Use Case Diagram.

– 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.

5. Kết luận

Đến đây, chúng ta đã tìm hiểu được bản vẽ đầu tiên và rất quan trọng (use case diagram), các bạn cần tiếp tục thực hành để nắm rõ hơn về bản vẽ này cũng như cách xây dựng và sử dụng chúng trong quá trình phát triển sản phẩm phần mềm.

Để giúp các bạn hiểu rõ hơn về bản vẽ Use Case trong bài tiếp theo chúng ta sẽ thực hiện qua từng bước bài thực hành xây dựng Use Case Diagram.