2. Giới thiệu use case
Công cụ giúp ta mô hình hoá hệ thống từ hướng nhìn
của người sử dụng
Mô hình sự tương tác cần thiết giữa người sử dụng và
hệ thống trong mỗi khả năng hoạt động
3. Mục đích của use case
Để quyết định và mô tả các yêu cầu về mặt chức năng
của hệ thống
Biết được hành vi của hệ thống mà không cần rõ cơ
cấu hoạt động của hành vi đó
Đưa ra chính xác những hạn chế của hệ thống
Để đơn giản hóa việc thay đổi và mở rộng hệ thống
Hiểu rõ được những gì khách hàng, người sử dụng
mong đợi của nhà phát triển
6. Hệ thống
Là một hệ thống phần mềm, chiếc máy, doanh nghiệp, ...
7. Tác nhân
Một tác nhân là một người hoặc một vật nào đó tương
tác với hệ thống, sử dụng hệ thống
Tác nhân mô tả và đại diện cho một vai trò của có đối
với hệ thống
Một tác nhân giao tiếp với hệ thống bằng cách gửi
hoặc là nhận thông điệp
8. Hệ thống sẽ phải xử lý và làm việc với những trang
thiết bị phần cứng nào?
Ai sẽ sử dụng những chức năng chính của hệ thống
Ai sẽ cần sự hỗ trợ của hệ thống để thực hiện những
tác vụ hàng ngày của họ?
Ai sẽ cần bảo trì, quản trị và đảm bảo cho hệ thống
hoạt động (tác nhân phụ)?
Hệ thống cần phải tương tác với các hệ thống khác
nào?
Ai hay cái gì quan tâm đến kết quả (giá trị) mà hệ thống
sẽ sản sinh ra?
Xác định các tác nhân
9. Use case
Một Use Case là đại diện cho một chức năng nguyên
vẹn mà một tác nhân nhận được.
Biểu diễn cho một chuỗi tương tác giữa tác nhân và
ứng dụng
Định nghĩa một chức năng có thể sử dụng được bởi
tác nhân
Đăng nhập Quản lý điểm Đăng ký học
Ví dụ use case quản lý sinh viên
10. Xác định các use case
Tác nhân này cần những chức năng nào từ hệ thống?
Tác nhân có cần phải đọc, phải tạo, phải hủy bỏ, phải
sửa chữa, hay là lưu trữ một loại thông tin nào đó
trong hệ thống?
Tác nhân có cần phải báo cho hệ thống biết về những
sự kiện nào đó? Những sự kiện như thế sẽ đại diện
cho những chức năng nào?
Hệ thống có cần phải thông báo cho Actor về những
thay đổi bất ngờ trong nội bộ hệ thống?
Hệ thống cần những thông tin đầu vào/đầu ra nào? Nó
từ đâu tới và sẽ đi đâu?
Nhóm phát triển hệ thống cần phải xây dựng nên một kịch bản nêu bật sự tương tác cần thiết giữa người sử dụng và hệ thống trong mỗi khả năng hoạt động
Use Case là một công cụ xuất sắc để khuyến khích những người dùng tiềm năng nói về hệ thống từ hướng nhìn của họ. Đối với người dùng, chẳng phải bao giờ việc thể hiện và mô tả những ý định trong việc sử dụng hệ thống cũng là chuyện dễ dàng. Một hiện thực có thật là người sử dụng thường biết nhiều hơn những gì mà họ có thể diễn tả ra: Công cụ Use Case sẽ giúp cho nhóm phát triển bẻ gãy "lớp băng" đó, ngoài ra một sự trình bày trực quan cũng cho phép bạn kết hợp các biểu đồ Use Case với các loại biểu đồ khác.
Để đơn giản hóa việc thay đổi và mở rộng hệ thống qua việc thay đổi và mở rộng mô hình Use Case
một tác nhân có thể là người mà cũng có thể là một hệ
thống khác
Tác nhân mô tả và đại diện cho một vai trò, chứ không phải là một người sử dụng thật sự và cụ thể của hệ thống
thể. Tác nhân mô tả và đại diện cho một
vai trò, chứ không phải là một người sử dụng thật sự và cụ thể của hệ thống. Nếu một anh chàng John nào đó
muốn mua hợp đồng bảo hiểm từ một hãng bảo hiểm, thì vai trò của anh ta sẽ là người mua hợp đồng bảo
hiểm, và đây mới là thứ mà chúng ta muốn mô hình hóa, chứ không phải bản thân anh chàng John. Trong sự
thực, một con người cụ thể có thể đóng vai trò làm nhiều tác nhân trong một hệ thống
Mặt khác, số lượng các vai trò mà một con
người cụ thể được phép đảm trách trong một hệ thống cũng có thể bị hạn chế, ví dụ cùng một người không
được phép vừa soạn hóa đơn vừa phê duyệt hóa đơn đó.
Một Use Case trong
ngôn ngữ UML được định nghĩa là một tập hợp của các chuỗi hành động mà một hệ thống thực hiện để tạo ra
một kết quả có thể quan sát được, tức là một giá trị đến với một tác nhân cụ thể.