Hiện nay, cách tiếp cận phát triển phần mềm hướng đối tượng đang được sử dụng phổ biến. Ngôn ngữ mô hình hóa thống nhất (Unified Modeling Language – UML) đang được sử dụng để thu thập yêu cầu phần mềm, phân tích, thiết kế và phát triển phần mềm. Biểu đồ UC là công cụ mạnh để thu thập yêu cầu hệ thống. Biểu đồ UC chỉ ra mối quan hệ giữa các tác nhân và các ca sử dụng trong hệ thống.
Ca sử dụng: ca sử dụng (Use Case – UC) mô tả tập các hoạt động của hệ thống
theo quan điểm của các tác nhân (Actors). Nó mô tả các yêu cầu của hệ thốngvà trả lời cho câu hỏi:
Hệ thống phải làm cái gì (What ?).
Mô tả các yêu cầu chức năng của hệ thống, là kết quả của quá trình khảo sát, nghiên cứu các yêu cầu của bài toán và những thoả thuận giữa khách hàng, NSD hệ thống với người phát triển phần mềm.
Làm cơ sở để người phân tích viên hiểu, người thiết kế xây dựng các kiến trúc, người lập trình cài đặt các chức năng, người kiểm duyệt kiểm tra các kết quả thực hiện của hệ thống.
Các ca sử dụng đóng vai trò rất quan trọng trong cả quá trình phát triển phần mềm, tất cả các pha phân tích, thiết kế sau này đều dựa vào các ca sử dụng. Như vậy, quá trình được hướng dẫn bởi ca sử dụng (use case driven process) là một cách hữu hiệu để mô hình hoá hệ thống với UML.
Tác nhân: Tác nhân ( Actor) là những thực thể bên ngoài có tương tác với hệ
thống, bao gồm người, vật, thiết bị hay các hệ thống khác có trao đổi thông tin với hệ thống. Nói cách khác, tác nhân đại diện cho người hay một bộ phận của tổ chức mong muốn nhận được các thông tin (dữ liệu) hoặc các câu trả lời từ những ca sử dụng tương ứng.
Xác định các tác nhân
Tác nhân là một bộ phận bên ngoài hệ thống nhưng cộng tác chặt chẽ với hệ thống. Nó chính là đối tượng mà hệ thống phục vụ hoặc cần có để cung cấp dữ liệu. Do đó, nhiệm vụ trước tiên của người phân tích là xác định các tác nhân.
Một trong các kỹ thuật hỗ trợ để xác định các tác nhân là dựa trên các câu trả lời những câu hỏi sau:
Ai sẽ sử dụng các chức năng chính của hệ thống?
Ai cần sự hỗ trợ của hệ thống để thực hiện các công việc hàng ngày?
Ai quản trị, bảo dưỡng để đảm bảo cho hệ thống hoạt động thường xuyên?
Hệ thống quản lý, sử dụng những thiết bị nào?
Hệ thống cần tương tác với những bộ phận, hệ thống nào khác?
Ai hay cái gì quan tâm đến kết quả xử lý của hệ thống?
Xác định các ca sử dụng
Bước tiếp theo là xác định các ca sử dụng dựa trên những tài liệu đặc tả các yêu cầu, thông qua các tác nhân Tương tự như trên, hãy trả lời những câu hỏi sau đây để tìm ra các ca sử dụng:
Nhiệm vụ chính của các tác nhân là gì?
Tác nhân cần phải đọc, ghi, sửa đổi, cập nhật, hay lưu trữ thông tin hay không?
Những thay đổi bên ngoài hệ thống thì tác nhân có cần phải thông báo cho hệ thống hay không?
Hệ thống cần có những đầu vào / ra nào? từ đâu và đến đâu?
Nói chung, việc xác định được đầy đủ UC và tác nhân là một vấn đề khó khăn. Biểu đồ UC không những mô tả các chức năng của hệ thống phần mềm cần xây dựng mà nó còn làm cơ sở để nhóm quản lý dự án đưa ra những ước lượng quan trọng cho quá trình lập kế hoạch dự án.