Biểu đồ ca sử dụng và tạo lập biểu đồ ca sử dụng trong Rational Rose
Biểu đồ ca sử dụng 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. Mỗi ca sử dụng cần phải biểu diễn trọn vẹn một giao dịch giữa NSD và hệ thống. Mối quan hệ giữa các ca sử dụng ...
Biểu đồ ca sử dụng 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.
Mỗi ca sử dụng cần phải biểu diễn trọn vẹn một giao dịch giữa NSD và hệ thống.
Mối quan hệ giữa các ca sử dụng
Giữa các ca sử dụng có ba quan hệ chính: quan hệ “mở rộng”, quan hệ “sử dụng” và quan hệ theo nhóm hay theo “gói”.
1. Quan hệ mở rộng
Trong khi xây dựng những ca sử dụng, ta nhận thấy có những ca sử dụng lại được sử dụng như là một phần của chức năng khác. Trong những trường hợp như thế ta nên xây dựng một ca sử dụng mới mở rộng một hay nhiều ca sử dụng đã xác định trước.
Ca sử dụng mới được gọi là ca sử dụng mở rộng của những ca sử dụng cũ. Mối quan hệ mở rộng giữa các ca sử dụng được mô tả và ký hiệu giống như quan hệ tổng quát hoá với nhãn của quan hệ là <<extends>>.
Mối quan hệ mở rộng giữa các ca sử dụng
Khách hàng có thể rút tiền theo nhiều cách khác nhau, trong đó cách rút nhanh.
Ca sử dụng B mởrộng<<extends>>Anếu: B là biến thể của A và nó chứa thêm một số sự kiện cho những điều kiện nào đó.
2. Quan hệ sử dụng
Khi một số ca sử dụng có một hành vi chung thì hành vi này có thể xây dựng thành một ca sử dụng để có thể được sử dụng trong những ca sử dụng khác. Mối quan hệ như thế được gọi là mối quan hệ sử dụng. Nói cách khác, trong mối quan hệ sử dụng, có một ca sử dụng dùng một ca sử dụng, là một dạng chuyên biệt hoá ca sử dụng cơ sở.
Giống như mối quan hệ mở rộng, mối quan hệ sử dụng cũng sử dụng ký hiệu tổng quát hoá để thể hiện với nhãn <<uses>>.
Quan hệ sử dụng giữa các ca sử dụng
Để thực hiện được ca sử dụng Thanh toán thì phải gọi tới ca sử dụng Thanh toán tiền mặt khi khách hàng chọn phương thức trả bằng tiền mặt.
Trong UML 1.3, quan hệ sử dụng <<uses>> được gọi là quan hệ gộp vào <<includes>>.
3. Mối quan hệ gộp nhóm
Khi có một số ca sử dụng cùng xử lý những chức năng giống nhau hoặc có quan hệ với ca sử dụng khác theo cùng một cách thì tốt nhất là nhóm chúng lại thành từng gói chức năng.
Hệ thống HBH có thể chia các ca sử dụng thành các gói Bán hàng, gói Thanh toán và gói Quản lý hệ thống, v.v.
Trong UML (thể hiện trong Rose) khái niệm mẫu rập khuôn (stereotype) được mô tả bằng một xâu và được đặt trong cặp << … >>, được sử dụng để phân nhóm các thành phần của mô hình hệ thống. Ví dụ, đối với hai ca sử dụng UC A, UCB, ta có thể tạo ra hai mẫu rập khuôn tương ứng <<UC A>>, <<UC B>>. Stereotype không được sử dụng thường xuyên cho các ca sử dụng, nó được sử dụng cho lớp hay cho các mối quan hệ.
<<Actor>> là một mẫu rập khuôn trong UML và khi một lớp được chỉ ra trong biểu tượng stereotype: <<Actor>> có dạng:
thì nó được xem là lớp có kiểu Actor.
Sau khi đã xác định xong các ca sử dụng cho hệ thống thì phải kiểm tra lại xem chúng đã được phát hiện hết chưa. Công việc này được thực hiện bằng cách trả lời cho các câu hỏi sau:
- Mỗi yêu cầu chức năng của hệ thống đã có trong ít nhất một ca sử dụng chưa?Những chức năng không được được mô tả trong các ca sử dụng sẽ không được cài đặt sau này.
- Các mối tương tác giữa các tác nhân và hệ thống đã xác định hết chưa?
- Tác nhân cung cấp những gì cho hệ thống?
- Tác nhân nhận được những gì từ hệ thống?
- Đã nhận biết được tất cả các hệ thống bên ngoài có tương tác với hệ thống chưa?
- Những thông tin nào mà hệ thống ngoài gửi tới hoặc nhận được từ hệ thống?
Một lần nữa cần duyệt lại xem đã xác định đầy đủ, chính xác các tác nhân, ca sử dụng và mối quan hệ của chúng.
Xây dựng biểu đồ ca sử dụng cho hệ HBH
Trước khi xây dựng biểu đồ ca sử dụng chúng ta cần lưu ý:
- Mỗi ca sử dụng luôn được ít nhất một tác nhân kích hoạt một cách trực tiếp hay gián tiếp, nghĩa là giữa tác nhân và ca sử dụng thường có mối quan hệ giao tiếp (kết hợp).
- Ca sử dụng cung cấp các thông tin cần thiết cho tác nhân và ngược lại, tác nhân cung cấp dữ liệu đầu vào cho ca sử dụng thực hiện.
Từ những kết quả phân tích ở trên, đến đây chúng ta có thể xây dựng biểu đồ ca sử dụng cho HBH như sau:
Biểu đồ ca sử dụng của hệ thống HBH
Một số điểm cần chú ý khi xây dựng biểu đồ ca sử dụng:
- Giữa các tác nhân với nhau không có quan hệ trực tiếp với nhau. Tác nhân nằm ngoài hệ thống, do vậy giao tiếp giữa các tác nhân cũng nằm ngoài hệ thống cần xây dựng.
- Giữa các ca sử dụng không có quan hệ trực tiếp, trừ mối quan hệ mở rộng <<extends>> hoặc <<uses>> như đã nói ở trên.
- Mỗi ca sử dụng phải được một tác nhân khởi động hoặc phục vụ cho một tác nhân, ngoại trừ trường hợp những ca sử dụng mở rộng hay ca sử dụng theo quan hệ sử dụng.
- Mỗi phần tử của biểu đồ ca sử dụng (ca sử dụng và tác nhân) khi cần thiết có thể mô tả chi tiết trong phần đặc tả (Documentation của Rose) hay mô tả trong một tệp riêng sau đó gán tương ứng cho phần tử đó trong mô hinh ca sử dụng.
- Khi hệ thống lớn, phức tạp thì nên chia các ca sử dụng thành các gói, trong đó nhóm những ca sử dụng và các tác nhân có quan hệ với nhau để tạo ra một hệ thống con.
Trong Rose các biểu đồ ca sử dụng được tạo lập trong quan sát Use Case. Rose cung cấp biểu đồ ca sử dụng mặc định là Main. Số lượng các biểu đồ ca sử dụng là tuỳ ý tạo lập.
Trong Rose có thể thực hiện được những chức năng sau (chi tiết xem [22]):
- Mở biểu đồ mặc định Main Use Case,
- Tạo lập biểu đồ ca sử dụng mới,
- Loại bỏ một biểu đồ ca sử dụng,
- Tạo lập, bổ sung các ca sử dụng vào một biểu đồ ca sử dụng,
- Xoá bỏ ca sử dụng trong một biểu đồ ca sử dụng,
- Đặc tả các ca sử dụng: đặt tên, gán mức ưu tiên, gắn tệp cho ca sử dụng, v.v.
- Tạo lập, bổ sung các tác nhân,
- Xoá bỏ các tác nhân,
- Đặc tả các tác nhân: đặt tên, đặt bội số trong mục Detail sau khi chọn Open Specification.
- Thiết lập các mối quan hệ giữa các tác nhân với ca sử dụng và giữa một số ca sử dụng với nhau nếu có.
Bài tập và câu hỏi
Mối quan hệ giữa các chức năng của hệ thống với các ca sử dụng, chúng khác nhau như thế nào?, nêu cách để xác định các ca sử dụng.
Tác nhân là gì và vai trò củ nó trong hệ thống? Nêu cách để xác định các tác nhân.
Xây dựng kịch bản cho ca sử dụng “Đăng nhập hệ thống”, “Thu bằng séc”, “Thêm NSD”.
Phát biểu bài toán “Quản lý thư viện”, xác định các yêu và xây dựng biểu đồ ca sử dụng cho hệ thống này.
Phát biểu bài toán “Xây dựng hệ thống rút tiền tự động ATM (Automatic Teller Machine)”, xác định các yêu và xây dựng biểu đồ ca sử dụng cho hệ thống này.
Phát biểu bài toán xây dựng hệ thống “Mô phỏng hệ thống thang máy trong các toà nhà cao tầng”, xác định các yêu và xây dựng biểu đồ ca sử dụng cho hệ thống này.
Phát biểu bài toán xây dựng hệ thống “Quản lý học tập của sinh viên trong trường đại học”, xác định các yêu và xây dựng biểu đồ ca sử dụng cho hệ thống này.
Phát biểu bài toán xây dựng hệ thống “Quản lý và điều khiển các tuyến xe buýt của thành phố”, xác định các yêu và xây dựng biểu đồ ca sử dụng cho hệ thống này.
Sử dụng Rational Rose để tạo lập biểu đồ ca sử dụng cho hệ thống HBH với đầy đủ các chức năng .
Chọn những từ thích hợp để điền vào chỗ trống của những câu sau:
- Mẫu rập khuôn (stereotype) trong UML được mô tả . . . . .
- Có . . . . loại quan hệ giữa các ca sử dụng với nhau.
- Biểu đồ ca sử dụng mô tả . . . . . của hệ thống. B/ Những mệnh đề sau đúng hay sai?
- Một tác nhân trong ca sử dụng luôn là một người có liên quan đến hệ thống.
- Ca sử dụng mô tả những chi tiết để cài đặt.
- Một hệ thống khác cũng có thể là một tác nhân trong biểu đồ ca sử dụng của hệ thống.
- Trong mỗi hệ thống chỉ có một biểu đồ ca sử dụng.