Các trường hợp sử dụng trong UML: Cách viết các tài liệu mô tả trường hợp sử dụng hiệu quả

Hiển thị một sơ đồ trường hợp sử dụng chỉ bằng cách sử dụngUMLký hiệu không đủ. Mỗi trường hợp sử dụng đi kèm với văn bản giải thích mục đích của trường hợp sử dụng và chức năng được hoàn thành khi trường hợp sử dụng được thực hiện. Các tài liệu mô tả trường hợp sử dụng thường được tạo theo từng bước trong các giai đoạn phân tích và thiết kế.

  • Trước tiên, một mô tả ngắn gọn được viết về chỉ những bước cần thiết cho luồng chính của trường hợp sử dụng (tức là chức năng mà trường hợp sử dụng cung cấp).
  • Khi quá trình phân tích tiến triển, các bước này được mở rộng với nhiều chi tiết hơn.
  • Cuối cùng, các luồng thay thế và luồng ngoại lệ được thêm vào trường hợp sử dụng.
  • Mỗi dự án có thể áp dụng một mẫu trường hợp sử dụng chuẩn để tạo các tài liệu mô tả trường hợp sử dụng.

Trường hợp sử dụng so với tài liệu mô tả trường hợp sử dụng

Một trường hợp sử dụng mô tả một nhiệm vụ được thực hiện bởi một tác nhân, mang lại giá trị kinh doanh. Một trường hợp sử dụng có thể được minh họa dưới dạng sơ đồ trường hợp sử dụng và/hoặc một định dạng tài liệu văn bản có cấu trúc:

Use Case vs. Use Case Specification

Các trường hợp sử dụng (các nhiệm vụ khách hàng muốn thực hiện) có thể là:

  • Tương tác — Các trường hợp sử dụng hệ thống mô tả cách một tác nhân tương tác với hệ thống để đạt được một mục tiêu kinh doanh xác định.
  • Thủ công — Một chuỗi các hành động được thực hiện bởi tác nhân.
  • Tự động — Một chuỗi các bước được thực hiện bởi một chương trình hoặc kịch bản.

Đặc điểm của một trường hợp sử dụng

Một trường hợp sử dụng có:

  • Chỉ có một mục tiêu
  • Một điểm bắt đầu
  • Một điểm kết thúc
  • Nhiều đường đi từ điểm bắt đầu đến điểm kết thúc
    • Tức là nó xác định hành vi cho các điều kiện khả thi khác nhau
    • Mỗi điều kiện có thể yêu cầu các hành động cụ thể

Characteristics of a Use Case

Ví dụ — Khách hàng thanh toán hóa đơn:

Customer Pays a Bill

Có nhiều con đường đểđạt được mục tiêu:

  • Thông qua điện thoại
  • Bằng thư điện tử
  • Trực tiếp
  • Bằng séc
  • Bằng tiền mặt, v.v.

Các con đường mà không dẫn đến mục tiêu:

  • Thẻ tín dụng bị từ chối

Phương pháp use case linh hoạt

Mô hình use case và các use case riêng lẻ của nó phát triển dần dần theo thời gian. Không phải tất cả các use case trong mô hình đều cần được mô tả ở cùng một mức độ chi tiết.

Vào đúng thời điểm và đủ mức cần thiết

Các use case có thể được viết ở các mức độ chi tiết và phạm vi khác nhau, mỗi mức phục vụ một mục đích:

  • Tóm tắt: Một mô tả chung và cái nhìn tổng quan cấp cao về một chức năng hệ thống hoặc quy trình kinh doanh.
  • Mức độ mục tiêu người dùng: Những mô tả liên quan đến nhiệm vụ của mục tiêu của người dùngmục tiêu và cách họ tương tác với hệ thống; mô tả các quy trình kinh doanh cụ thể. Các use case mục tiêu người dùng thường được xem là ở mức độ các nhiệm vụ chính trong công việc của người dùng.

Ví dụ: Rút tiền từ máy ATM là một nhiệm vụ hữu ích và sẽ là một use case cấp chính, nhưng việc nhập mã PIN sẽ không ở mức này vì nó hỗ trợ nhiệm vụ chính.

  • Phụ chức năng: Những mô tả về các hoạt động cấp thấp giúp hoàn thành các phần của một use case chính.

Agile Use Case Approach

Ghi chú: Một số use case có thể được mô tả đầy đủ đến cấp độ II. Bạn sẽ dừng lại khi đã có đủ chi tiết, thu thập được một cách kịp thời và vừa đủ.

Mô tả chi tiết use case

Một use case chi tiết là một biểu diễn văn bản mô tả một chuỗi các sự kiện cùng với các thông tin use case liên quan khác theo một định dạng nhất định. Người ta thường sử dụng một mẫu use case chuẩn để ghi chép thông tin use case chi tiết.

Detailed Use Case Specification

Mẫu use case – Ví dụ rút tiền mặt từ ATM

Như đã nói ở trên, các use case có nhiều phong cách ký hiệu khác nhau (ví dụ: biểu đồ, UML, định dạng văn bản). Dù sử dụng ký hiệu nào, nó cũng cần dễ hiểu. Bạn có thể sử dụng một mẫu như mẫu của Alistair Cockburn, hoặc chọn mẫu phù hợp nhất với đội của bạn.

Mô tả use case
Tên trường hợp sử dụng: Rút tiền mặt
Người tham gia: Khách hàng (chính), Hệ thống ngân hàng (phụ)
Mô tả ngắn gọn: Cho phép bất kỳ khách hàng ngân hàng nào rút tiền mặt từ tài khoản ngân hàng của họ.
Ưu tiên: Phải có
Trạng thái: Chi tiết trung bình
Điều kiện tiên quyết: Khách hàng ngân hàng có thẻ để đưa vào máy ATM
Máy ATM đang hoạt động trực tuyến và hoạt động bình thường
Điều kiện hậu quả:
  • Khách hàng ngân hàng đã nhận được tiền mặt (và hóa đơn tùy chọn)
  • Ngân hàng đã ghi nợ tài khoản ngân hàng của khách hàng và ghi lại chi tiết giao dịch
Luồng cơ bản:
  1. Khách hàng đưa thẻ của họ vào máy ATM
  2. Máy ATM xác minh rằng thẻ là thẻ ngân hàng hợp lệ
  3. Máy ATM yêu cầu nhập mã PIN
  4. Khách hàng nhập mã PIN của họ
  5. Máy ATM xác minh thẻ ngân hàng với mã PIN
  6. Máy ATM hiển thị các tùy chọn dịch vụ, bao gồm “Rút tiền”
  7. Khách hàng chọn “Rút tiền”
  8. Máy ATM hiển thị các tùy chọn số tiền
  9. Khách hàng chọn một số tiền hoặc nhập một số tiền
  10. Máy ATM xác minh rằng đủ tiền mặt có sẵn trong máy
  11. Máy ATM xác minh rằng khách hàng đang dưới giới hạn rút tiền
  12. Máy ATM xác minh rằng đủ số dư có sẵn trong tài khoản ngân hàng của khách hàng
  13. Máy ATM ghi nợ tài khoản ngân hàng của khách hàng
  14. ATM trả lại thẻ ngân hàng của khách hàng
  15. Khách hàng nhận lại thẻ ngân hàng của mình
  16. ATM phát tiền cho khách hàng
  17. Khách hàng nhận tiền của mình
Các luồng thay thế: 2a. Thẻ không hợp lệ
2b. Thẻ được đưa vào ngược chiều
5a. Thẻ bị đánh cắp
5b. Mã PIN không hợp lệ
10a. Số tiền trong máy không đủ
10b. Tiền mệnh giá sai trong máy
11a. Số tiền rút vượt quá giới hạn rút
12a. Số dư tài khoản ngân hàng của khách hàng không đủ
14a. Thẻ ngân hàng bị kẹt trong máy
15a. Khách hàng không nhận thẻ ngân hàng
16a. Tiền bị kẹt trong máy
17a. Khách hàng không nhận tiền

  • ATM không thể giao tiếp với hệ thống ngân hàng
  • Khách hàng không phản hồi các hướng dẫn trên ATM
Quy tắc kinh doanh: B1: Định dạng mã PIN
B2: Số lần thử mã PIN
B3: Các tùy chọn dịch vụ
B4: Các tùy chọn số tiền
B5: Giới hạn rút tiền
B6: Thẻ phải được lấy trước khi tiền được phát ra
Yêu cầu phi chức năng: NF1: Thời gian hoàn thành giao dịch
NF2: Bảo mật khi nhập mã PIN
NF3: Thời gian được phép để nhận thẻ và tiền
NF4: Hỗ trợ ngôn ngữ
NF5: Hỗ trợ người khiếm thị và người kém thị lực

Leave a Reply