Biểu đồ Use-Case mô tả những chức năng use-case mà hệ thống cung cấp, những thành phần bên ngoài actor tương tác với hệ thống và mối quan hệ giữa chúng.. Tương tác qua lại giữa tác n
Trang 1Use-Case Diagrams
Nhóm 1: Trần Ngọc Hân – Vũ Minh Duy
Trang 2 Biểu đồ Use-Case mô tả những chức năng (use-case) mà hệ thống cung cấp, những thành phần bên ngoài (actor)
tương tác với hệ thống và mối quan hệ giữa chúng.
Phục vụ cho việc trao đổi thông tin Cung cấp phương tiện để người dùng và những người phát triển hệ thống có thể trao đổi với nhau và biến những yêu cầu về mặt nghiệp vụ thành những yêu cầu cụ thể mà lập trình viên có thể hiểu một cách rõ ràng.
I- Công dụng:
Trang 3 Actor:
Dạng 1:
Dạng 2:
Dạng 3:
II- Quy ước ký hiệu:
Tác nhân là con người
Tác nhân là một thực thể không phải con người
Tác nhân của hệ khác nhưng đang cùng hoạt động với hệ đang
xét
Tác nhân chỉ ảnh hưởng đến hệ thống trong khoảng thời gian
nhất định
Trang 4 Use case: là một khối chức năng được thực hiện bởi hệ thống để mang lại một kết quả có giá trị đối với một actor nào đó.
Dạng 1:
Dạng 2:
II- Quy ước ký hiệu:
Place an order
Place an order
Trang 5 Tương tác qua lại giữa tác nhân (Actor) và Usecase:
Dạng 1:
Dạng 2:
Quan hêệ giữa các usecase:
II- Quy ước ký hiêệu:
đánh dấu tương tác qua lại giữa tác nhân và use-case (quan
hêệ use) người ta sử dụng đường liền
xác định hướng di chuyển sự kiêện người ta sử dụng đường
liền có hướng
<<include>>
<<extend>>
Trang 6 Xác định Actor: Để tìm các tác nhân (Actor), ta cần trả lời các câu hỏi sau:
Ai (hay hêệ thống nào) sẽ sử dụng các chức năng chính của hêệ thống?
Ai cần hỗ trợ của hêệ thống để thực hiêện công viêệc thường làm của họ?
Ai sẽ cần bảo trì, quản trị và đảm bảo cho hêệ thống hoạt đôệng?
Hêệ thống sẽ phải xử lý và làm viêệc với thiết bị nào?
Hêệ thống còn phải tương tác với hêệ thống nào khác?
Ai hay cái gì quan tâm đến kết quả hêệ thống sẽ sản sinh ra?
III- Xác định Actor và Usecase:
trả lời câu hỏi này sẽ tìm được tác nhân chính
Xác định rõ vùng biên giữa hêệ thống yêu cầu xây dựng với hêệ
thống khác
Trang 7 Xác định Usecase: tìm được các tác nhân (Actor), ta sẽ tìm ra các usecase bằng cách xem xét các câu hỏi trên mỗi tác nhân:
Tác nhân cần chức năng gì từ hêệ thống Hành đôệng chính của tác nhân?
Tác nhân cần xem, câệp nhâệt hay lưu giữ thông tin gì trong hêệ thống?
Tác nhân có cần thông báo cho hêệ thống những sự kiêện nào đó hay không? Những sự kiêện đó đại diêện cho những chức
năng nào?
Hêệ thống có cần thông báo cho các tác nhân khi có thay đổi trong hêệ thống hay không?
Hêệ thống cần có những chức năng gì để đơn giản hóa các công viêệc của các tác nhân?
Ngoài ra usecase còn được xác định thông qua các câu hỏi như:
Ngoài các tác nhân, chức năng của hêệ thống còn có thể sinh ra bởi sự kiêện nào khác
Hêệ thống cần những thông tin đầu vào đầu ra nào?
III- Xác định Actor và Usecase:
Trang 8 Các dạng quan hêệ thường sử dụng:
Quan hêệ bao hàm <<include>>: dùng để chỉ môệt usecase được sử dụng bởi môệt usecase khác
Quan hêệ mở rôệng <<extend>>: dùng để chỉ môệt usecase được mở rôệng từ môệt usecase khác bằng cách thêm vào môệt chức năng cụ thể
IV- Xác định mối quan hêệ trong biểu đồ Usecase:
Trang 9 Các dạng quan hêệ thường sử dụng:
Quan hêệ generalization (thừa kế): giống như quan hệ thừa kế giữa hai lớp, quan hệ thừa kế giữa usecase A và B nói lên rằng usecase B kế thừa những đặc điểm của usecase A, và nó cũng có thể có thêm những đặc trưng riêng của nó
IV- Xác định mối quan hêệ trong biểu đồ Usecase:
Trang 10 Nguyên tắc phân rã biểu đồ usecase:
Xác định sơ đồ usecase ở mức tổng quát:
Từ tâệp tác nhân (actor) và usecase đã được xác định, ta cần tìm ra các chức năng chính của hêệ thống
Các chức năng được xác định phải có tính tổng quát, dễ dàng nhìn thấy được trên quan điểm của các tác nhân
Phân rã usecase ở mức cao:
Ta tiến hành phân rã các usecase tổng quát thành các usecase cụ thể
Các usecase con được chọn bằng cách thêm vào usecase cha môệt chức năng cụ thể nào đó
Tiếp tục phân rã sơ đồ usecase đến khi găệp usecase ở nút lá
Hoàn thiêện biểu đồ usecase:
Xem xét tất cả các usecase đã được biểu diễn tron biểu đồ usecase chưa
IV- Xác định mối quan hêệ trong biểu đồ Usecase:
Trang 11 Giai đoạn mô hình hóa:
Bước 1: Thiết lập ngữ cảnh của hệ thống đích.
Bước 2: Chỉ định các Actor.
Bước 3: Chỉ định các Use Case.
Bước 4: Định nghĩa các quan hệ giữa các Actor và các Use Case.
Bước 5: Đánh giá các Actor và các Use Case để tìm cách chi tiết hóa.
Giai đoạn cấu trúc:
Bước 6: Đánh giá các Use Case cho quan hệ phụ thuộc «include».
Bước 7: Đánh giá các Use Case cho quan hệ mở rôệng «extend».
Bước 8: Đánh giá các Use Case cho quan hệ generalizations.
Giai đoạn review:
Sau khi định nghĩa Use Case, cần tiến hành thử nghiệm Use Case:
Kiểm tra (verification): đảm bảo là hệ thống đã được phát triển đúng đắn và phù hợp với các đặc tả đã được tạo ra.
Phê chuẩn (validation): đảm bảo rằng hệ thống sẽ được phát triển chính là thứ mà khách hàng hoặc người sử dụng cuối
thật sự cần đến.
V- Giai đoạn xây dựng môệt mô hình Usecase:
Trang 12 Ví dụ về hêệ thống rút tiền tại máy ATM:
Người dùng giao dịch thông qua máy ATM bằng cách đăng nhâệp hêệ thống, sau đó yêu cầu hêệ thống cho rút tiền, gửi tiền hoăệc truy vấn thông tin tài khoản
Nhân viên vâện hành của ngân hàng có thể khởi đôệng, hay đóng hêệ thống máy ATM
Hêệ thống kiểm tra xem người dùng có nhâệp đúng mà PIN hay không và giải quyết vấn đề đó
Khi khách hàng gửi tiền, hêệ thống yêu cầu xác định tài khoản, yêu cầu xác định số tiền khách hàng muốn gửi Sau đó nhâện tiền từ khách hàng
Khi khách hàng rút tiền, hêệ thống yêu cầu xác định tài khoản,, yêu cầu xác định số tiền khách hàng cần rút, kiểm tra số dư trong tài khoản có đủ không, sau đó chuyển tiền ra cho khách hàng
VI- Ví dụ về mô hình Usecase:
Trang 13 Xác định các Actor:
Ta xác định được 2 Actor đó là:
Khách hàng:
Nhân viên vâện hành:
VI- Ví dụ về mô hình Usecase:
uc Actors
Nhân viên vâân hành
uc Actors
Khách hàng
Trang 14 Xác định Usecase:
Tác nhân khách hàng sử dụng hêệ thống qua các chức năng:
Giao dịch
Đăng nhâệp
Gửi tiền
Rút tiền
Truy vấn thông tin về tài khoản
Tác nhân nhân viên vâện hành sử dụng hêệ thống qua các chức năng:
Khởi đôệng hêệ thống
Đóng hêệ thống
VI- Ví dụ về mô hình Usecase:
Truy vấn thông tin tài khoản Giao dịch
Trang 15 Xác định Usecase:
Hêệ thống:
Giải quyết PIN không hợp lêệ
Yêu cầu xác định tài khoản
Yêu cầu nhâệp số tiền gửi
Nhâện tiền gửi
Yêu cầu nhâệp số tiền rút
Kiểm tra số dư có đủ không
Chuyển tiền ra ngoài
VI- Ví dụ về mô hình Usecase:
Giải quyết PIN không hợp lêệ
Chuyển tiền ra ngoài
Kiểm tra số dư có
đủ không
Yêu cầu nhâệp số tiền
rút Nhâện tiền gửi
Yêu cầu nhâệp số tiền
gửi Yêu cầu xác định tài
khoản
Trang 16 Xác định các mối quan hêệ:
Quan hêệ tác nhân-usecase:
VI- Ví dụ về mô hình Usecase:
uc Actors
Khách hàng
Giao dịch
tài khoản
Trang 17 Xác định các mối quan hêệ:
Quan hêệ tác nhân-usecase:
VI- Ví dụ về mô hình Usecase:
Khởi đôệng hêệ
Đóng hêệ thống
uc Actors
Nhân viên vâân hành
Trang 18 Xác định các mối quan hêệ:
Quan hêệ giữa các Usecase:
VI- Ví dụ về mô hình Usecase:
uc Actors
Truy v ấn thông tin tài khoản
Giải quyết PIN không hợp lêâ
«include»
«extend»
«extend»
«extend»
«extend»
Trang 19 Xác định các mối quan hêệ:
Quan hêệ giữa các Usecase:
VI- Ví dụ về mô hình Usecase:
uc Actors
Gửi tiền
Yêu cầu nhââp số
tiền gửi
Nhâân tiền gửi
Yêu cầu xác định tài khoản
«include»
«include»
«extend»
uc Actors
Rút tiền
Yêu cầu xác định tài khoản Yêu cầu xác định
số tiền cần rút
Kiểm tra số dư
Chuyển tiền ra ngoài
«include»
«include»
«extend»
«extend»
Trang 20 Vẽ biểu đồ Usecase:
VI- Ví dụ về mô hình Usecase:
uc Actors
ATM
Khách hàng
Nhân viên vâân hành
Giao dịch
Đăng nhââp
Gửi tiền
Rút tiền
Truy vấn thông tin tài khoản
Khởi đôâng hêâ thống Đóng hêâ thống
Giải quyết PIN không hợp lêâ
Kiểm tra số dư
Chuyển tiền ra ngoài
«extend»
«include»
«include»
«include»
«extend»
«extend»
«extend»
«include»
«extend»
«extend»