Hỏi về include và extend trong UML

mình mới học uml, mình không hiểu mối quan hệ include và extend ,bạn nào giải thích với,

Giải thích theo cách của mình, câu hỏi của bạn cũng chưa thực sự rõ ràng:
1. Include (required, mang tính bắt buộc)

You use include dependencies whenever one use case needs the behavior of another.

Ex:

  • Nếu muốn reply một topic trên DNH, thì bạn phải đăng nhập vào DNH trước.
  • Nếu muốn ăn phở thì phải trả tiền :v
  • Nếu muốn thực hiện được giao dịch tài chính thì phải xác thực thông tin trước.

2. Extend (optional, có cũng được, không có cũng chả sao)
Ex:

  • Bạn có thể đọc các topic trên DNH mà không bắt buộc phải đăng nhập.
  • Bạn có thể rút tiền ngoài cây ATM mà không bắt buộc phải đọc phần hướng dẫn sử dụng (vì biết cách rút tiền rồi nên khỏi đọc).

Bạn có thể đọc thêm tại đây: http://www.uml-diagrams.org

7 Likes

UML có hàng chục cái diagram mà bạn nói chung chung thế thì sao mà support.

Include và Extends là hai khái niệm cơ bản của UserCase Diagram. Theo đó thì:

Extend được sử dụng khi mà có một Usercase được mở rộng từ một Usercase gốc nào đó. Hay nói cách khác, khi Usercase A được thực hiện khi Usercase B hoàn thành thì Usercase A được gọi là Extend của Usercase B.

Ví dụ:
■ Để đổi được password của diễn đàn, ngầm định là không có nút changepassword ở ngoài màn hình sử dụng:
Login > View profile > Change password

Có nhiều cách viết cho bộ ba Usercase kia:
Cách thứ nhất:
・ View profile Extend Login
・ Change password Extend View profile

Cách thứ hai:
・ Login là precondition của View profile
・ Login là precondition của Change password và Change password Extend View profile

Cách viết thứ ba:
・ Login là Usercase dùng để phân role.
・ View profile là Usercase của những người dùng Inherit nhóm User
・ Change password là Usercase của những người dùng Inherit nhóm User và Change password Extend View profile

Cách viết thứ tư:
・ Change password chẳng Extend thằng nào hết, nó đơn giản là liệt kê tuần tự các bước để thay đổi được password thôi.

=> Cách viết thứ nhất thường thấy trong tài liệu Spec.
Cách viết thứ hai thường thấy trong tài liệu Detail design
Cách viết thứ ba thường thấy trong tại liệu hướng dẫn mô tả chi tiết.
Cách viết thứ tư cho thấy ý nghĩa của Extend.

Include thường được sử dụng để mô tả việc phân nhỏ một Usercase thành nhiều bản sao nhỏ. Một Usercase được vẽ là Include thì không thể được hoàn thành khi các Usercase còn của nó chưa được hoàn thành.

Ví dụ:
■ Login bao gồm 4 Usercase nhỏ là Validate data, Authen data, Create session token và Redirect.
Theo đó ta có:
・ Validate data là Include của Login
・ Authen data là Include của Login
・ Create session token là Include của Login
・ Redirect thì chả là cái gì của Login

Nhờ có Include, ta Work break down đầu việc ra nhỏ hơn, dễ plan hơn, dễ đòi tiền khách hàng hơn blad blad…

5 Likes

cảm ơn bạn, mà minhd có đọc một bài là include là use case này sử dụng lại chức năng của use case kia

hình cái extend bạn nêu ví dụ sai thì phải

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?