Mục đích của trường hợp sử dụng Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người sử dụng.. Là sưu liệu cho việc kiểm thử hệ thống Việc mô tả bao gồm Mô t
Trang 1UML Sơ đồ hoạt vụ - Use case
diagram
GV : TS Trương Quốc Đinh
Trang 2Mục đích của trường hợp sử dụng
Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người sử dụng Mỗi trường hợp sử dụng là một cách thức riêng biệt để sử dụng hệ thống.
Những chức năng mà hệ thống cung cấp sẽ được mô tả
trong sơ đồ hoạt vụ.
Là sưu liệu cho việc kiểm thử hệ thống
Việc mô tả bao gồm
Mô tả các chức năng (các trường hợp sử dụng – use case)
Các tác nhân bên ngoài (actor)
Mối quan hệ giữa tác nhân và các trường hợp sử dụng
Trang 3Mục đích của trường hợp sử dụng
Sơ đồ hoạt vụ phục vụ cho mục đích
Trao đổi thông tin giữa
Khách hàng – người sử dụng hệ thống trong tương lai
Trang 4Trường hợp sử dụng vs Yêu cầu người dùng
Yêu cầu người dùng là cái mà hệ thống phải làm Trường hợp sử dụng là thao tác người dùng sẽ thực hiện và kết quả mà hệ thống sẽ sinh ra.
Trường hợp sử dụng đôi khi lại là phương tiện khơi gợi nên yêu cầu của người dùng.
Yêu cầu người dùng đôi khi có tác dụng sưu liệu như là trường hợp sử dụng
Người dùng dễ dàng kiểm thử các yêu cầu chức năng
Cấu trúc tài liệu hướng dẫn sử dụng
Công cụ giúp phát hiện các lớp
Trang 5Trường hợp sử dụng vs Yêu cầu người dùng
Trường hợp sử dụng không giúp nắm bát tốt các yêu cầu phi chức năng.
Trường hợp sử dụng vì thế được xem là một thành phần của đặc tả yêu cầu người dùng.
Trang 6Sơ đồ hoạt vụ (Use case Diagrams)
Một sơ đồ hoạt vụ mô tả
Trang 7công việc đơn giản
Tên h th ng ệ ố
Trang 8Tác nhân
một thực 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.
Trang 9Ký hiệu tác nhân
Clerk
<< Actor >> Clerk
Trang 10Quan hệ giữa các tác nhân
Giữa các tác nhân chỉ tồn tại duy nhất một quan hệ - quan
Trang 11Tìm tác nhân
hàng ngày của họ?
Trang 12Trường hợp sử dụng (use case)
Là một khối chức năng được thực hiện bởi hệ thống để mang lại kết quả có giá trị đối với một tác nhân nào đó
thực hiện nhân danh một tác nhân nào đó Tác nhân phải ra lệnh cho hệ thống để thực hiện Use Case đó, dù là trực tiếp hay gián tiếp
hoàn tất chừng nào mà giá trị cuối cùng của nó chưa được sản sinh ra
Trang 13Trường hợp sử dụng (use case)
Trường hợp sử dụng, thông thường, được mô tả bằng lời
Đặc tả đơn giản, rõ ràng bằng cách nào tác nhân và hệ thống tương tác với nhau.
Mô tả phải tuân theo khuôn dạng (template) chuẩn
Đặc tả ở mức thao tác người dùng và hành động của hệ thống
Không mô tả chi tiết kỹ thuật và phương pháp thực hiện
Phân lớn mô tả là liên quan đến giao diện người dùng (user interface)
Trang 14Khuôn mẫu mô tả trường hợp sử dụng
cho mục tiêu gì?
tạo, sử dụng trường hợp sử dụng này.
Trang 15Khuôn mẫu mô tả trường hợp sử dụng
II.1 Mô tả tổng quát chuỗi - Mô tả sơ lược dữ liệu đầu
vào, kết quả trả về của hệ thống.
II.2 Điều kiện đầu - Điều kiện cần thiết có được trước khi
thực hiện trường hợp sử dụng.
II.3 Chuỗi liên kết các thống báo - Mô tả trình tự quá
trình tương tác giữa tác nhân và hệ thống, kết quả trả về bởi
hệ thống.
II.4 Xử lý các ngoại lệ - xử lý các ngoại lệ có thể xảy ra
trong quá trình tác nhân tương tác với hệ thống.
II.5 Điều kiện cuối - trạng thái của hệ thống sau khi thực
hiện xong trường hợp sử dụng.
Trang 16Khuôn mẫu mô tả trường hợp sử dụng
chức năng về tính sẵn sàng, tính cạnh tranh, thời gian
đáp ứng, đối với trường hợp sử dụng.
Trang 17Tìm trường hợp sử dụng
Với mỗi một tác nhân đã tìm thấy ở bước trước, cần xác định:
chữa, hay là lưu trữ một loại thông tin nào đó trong hệ thống?
nào đó? Những sự kiện như thế sẽ đại diện cho những chức năng nào?
hoặc hữu hiệu hóa qua các chức năng mới cung cấp bởi hệ thống (thường đây là những chức năng tiêu biểu chưa được tự động hóa trong hệ thống)?
Trang 18Trường hợp sử dụng
Ký hiệu
Hình Eclipse chứa tên của trường hợp sử dụng
Đặt bên trong đường biên của hệ thống
Kết nối với ít nhất một tác nhân bởi quan hệ "kết hợp - association"
Add Traffic Violation Traffic Violations Report system
Clerk
Trang 19Quan hệ giữa tác nhân và use case
Quan hệ giữa tác nhân và use case
Use Case được nối với tác nhân qua liên kết (association)
Đường liên kết chỉ ra những tác nhân nào giao tiếp với Use Case nào
Mối liên kết bình thường ra là một mối quan hệ 1-1 và không
có hướng Điều đó muốn nói lên rằng một thực thể của lớp tác nhân sẽ giao tiếp với một thực thể của một Use Case và cả hai
có thể giao tiếp với nhau trong cả hai chiều
Một Use Case sẽ được đặt tên theo một thực thể mà Use Case
sẽ thực hiện, ví dụ như ký hợp đồng bảo hiểm, cập nhật danh sách, …
Trang 20Quan hệ giữa các trường hợp sử dụng
Quan hệ bao hàm (include)
Quan hệ sử dụng (use) trong phiên bản cũ
Trường hợp sử dụng B được coi là “bao hàm” trường hợp sử dụng A nếu hành vi mô tả B bao hàm hành vi mô tả A
B phải thỏa tiền điều kiện của A
Khi mà nhiều use case có chung các chức năng nhỏ, trong
trường hợp này chức năng nhỏ đó nên tách thành một use case riêng biệt Khi đó use case biểu diễn cho các chức năng lớn sẽ bao hàm (sử dụng) use case vừa tách ra
<<include>>
Trang 21Quan hệ giữa các trường hợp sử dụng
Trang 22Quan hệ giữa các trường hợp sử dụng
chính xác ở điểm nào của trường hợp đang xét thì mở rộng nó
Trường hợp sử dụng mở rộng thực hiện khi điều kiện mở rộng thỏa hoặc không thực hiện khi điều kiện không thỏa
A
B
<<extend>>
Trang 23Quan hệ giữa các trường hợp sử dụng
Quan hệ mở rộng
Ví dụ
Thanh toan cuoc phi
Nhan giay bao cuoc
Khi co du tienextension points
<<extend>>
Trang 24Quan hệ giữa các trường hợp sử dụng
Quan hệ tổng quát hóa
Khi các use case có chung một số tác vụ nhưng lại có thêm các thành phần khác nhau làm cho không thể gộp lại thành một use case
Use case tổng quát và Use case chuyên biệt phải chia sẻ mục tiêu chung
Trang 25Quan hệ giữa các trường hợp sử dụng
Quan hệ tổng quát hóa
Thanh toan cuoc phi
Thanh toan bang tien mat Thanh toan bang chuyen khoan
Trang 26Ví dụ xây dựng sơ đồ use case cho hệ
thống ATM
Mô tả
Khách hàng muốn giao dịch thì phải đăng nhập vào hệ thống thông qua mã PIN
Khi đăng nhập thành công khách hàng có thể truy vấn tài
khoản, rút tiền, chuyển tiền hoặc in sao kê tài khoản
Trang 27Ví dụ xây dựng sơ đồ use case cho hệ
thống ATM
System
Khach hang
ATM Dang nhap
Kiem tra PIN
Trang 28Ví dụ : “Văn phòng luật sư”
Một văn phòng luật sư hoat động như sau: Các luật sư
phải đăng ký thông tin để có thể làm việc chính thức tại văn phòng Khi có khách hàng đến đăng ký nhờ bào chữa cho một vụ án thì người tiếp nhận đăng ký là luật sư đảm nhiệm vai trò quản lý Người quản lý sẽ có trách nhiệm phân công luật sư rảnh theo dõi vụ kiện Trong quá trình tham gia vụ án, nếu khách hàng không hài long với bất kỳ
lý do gì thì luật sư đang theo vụ án sẽ bị loại bỏ Nếu
khách hàng có yêu cầu thì luật sư quản lý sẽ hủy bỏ hợp đồng theo dõi vụ án Luật sư quản lý cũng có nhu cầu
thống kê tỷ lệ án thành công và thất bại Thông tin vụ án
sẽ bị tự động xóa khỏi hệ thống sau 10 năm.
Trang 29Ví dụ : “Văn phòng luật sư”