You are on page 1of 29

PHÂN TÍCH VÀ THIẾT

KẾ HỆ THỐNG DÙNG
UML
GV: ThS. Phạm Nguyễn Cương

Phân tích & Thiết kế hệ thống hướng đối 1


tượng
Chương 6 - Mô hình hoá use case tự
động hoá
 Mục tiêu
 Xác định tác nhân hệ thống
 Xác định use case
 Tinh chế và nâng cấp sơ đồ use case
 Mô tả use case
 Phân chia sơ đồ use case thành các gói
(package)

Phân tích & Thiết kế hệ thống hướng đối 2


Mục tiêu
 Hiểu ý nghĩa của việc sử dụng sơ đồ use case trong
biểu diễn yêu cầu hệ thống
 Xác định được các tác nhân và mối quan hệ giữa các
tác nhân của một hệ thống phần mềm
 Xác định được các use case biểu diễn chức năng phần
mềm hệ thống và mối quan hệ giữa tác nhân và use
case nhằm xây dựng sơ đồ use case mô tả yêu cầu
phần mềm hệ thống
 Tinh chế sơ đồ use case nhằm làm gia tăng tính diễn
đạt, tính tái sử dụng qua việc sử dụng các liên kết
<<extend>>, <<include>>

Phân tích & Thiết kế hệ thống hướng đối 3


Xác định tác nhân hệ thống
 Xác định tác nhân (actor)
 Tác nhân được hiểu là một vai trò tham gia vào hệ
thống không giống như một con người cụ thể hoặc
một công việc
 Một số câu hỏi gợi ý xác định tác nhân:
 Tác nhân chính (primary actor): Ai đang sử dụng hệ
thống? Hoặc ai được tác động bởi hệ thống? Hoặc
nhóm đối tượng nào cần hệ thống trợ giúp để làm công
việc?
Trong hệ thống ATM Trong hệ thư viện
Khách hàng Thủ thư

Phân tích & Thiết kế hệ thống hướng đối 4


Xác định tác nhân hệ thống
 Xác định tác nhân (actor)
 Một số câu hỏi gợi ý xác định tác nhân:
 Tác nhân hỗ trợ (secondary actor): những nhóm đối
tượng nào hệ thống cần để thực hiện hoạt động của nó
(vd: quản trị, dọn dẹp,…)
Trong hệ thống ATM
Trong hệ thư viện
Nhân viên Quản trị hệ
vận hành thống
 Những phần cứng hoặc hệ thống bên ngoài nào sử
dụng hệ thống?

Bán hàng
Hệ thống
thanh toán
Phân tích & Thiết kế hệ thống hướng đối 5
Xác định tác nhân hệ thống
 Xác định tác nhân (actor)
 Xác định tác nhân từ kết quả của mô hình hoá
nghiệp vụ
 Ví dụ: trong hệ thống thư viện Tên use case có thể
thay đổi để phù hợp
với tác nhân mới

Mượn sách Xử lý mượn


sách
Đọc giả Thủ thư
Thủ thư

Phân tích & Thiết kế hệ thống hướng đối 6


Xác định tác nhân hệ thống
 Xác định tác nhân (actor)
 Xác định tác nhân từ kết quả của mô hình hoá
nghiệp vụ
 Ví dụ: trong hệ thống thư viện

Tra cứu sách Tra cứu


sách
Đọc giả Đọc giả

Phân tích & Thiết kế hệ thống hướng đối 7


Xác định use case
 Xác định use case thông qua tác nhân
 Tìm các nhiệm vụ và chức năng mà tác nhân sẽ thi
hành hoặc hệ thống cần tác nhân để thi hành và mô
hình hoá nó như là use case
 Ví dụ: hệ thống ATM

Gửi tiền
Khởi động hệ
Rút tiền thống

Khách hàng Nhân viên


Đóng hệ thống vận hành
Truy vấn thông tin
tài khoản

Phân tích & Thiết kế hệ thống hướng đối 8


Xác định use case
 Xác định use case thông qua tác nhân
 Tìm các nhiệm vụ và chức năng mà tác nhân sẽ thi
hành hoặc hệ thống cần tác nhân để thi hành và mô
hình hoá nó như là use case
 Ví dụ: hệ thống ATM

Gửi tiền

Rút tiền

Khách hàng
Truy vấn thông tin
tài khoản

Phân tích & Thiết kế hệ thống hướng đối 9


Xác định use case
 Xác định use case thông qua tác nhân
 Ví dụ: hệ thống thư viện

Xử lý mượn sách

Xử lý trả sách Nhà cung cấp


Thủ thư

Đăng ký thành viên

Mua sách

Tra cứu sách


Độc giả

Phân tích & Thiết kế hệ thống hướng đối 10


Xác định use case
 Xác định use case thông qua tác nhân
 Đặt tên use case: tên use case nên đặt nhằm phản
ánh một mô tả tổng quan về chức năng của use
case
 Tên use case = động từ (do) + danh từ (what)

Phân tích & Thiết kế hệ thống hướng đối 11


Tinh chế và nâng cấp sơ đồ use case
 Bổ sung các use case mô tả chức năng đặc
trưng phần mềm:
 Các use case quản trị hệ thống:
 Quản trị người dùng
 Quản trị thông số hệ thống

 Các use case quản trị dữ liệu


 Quản trị danh mục dữ liệu
 Quản trị an toàn (backup/restore)

 …

Phân tích & Thiết kế hệ thống hướng đối 12


Tinh chế và nâng cấp sơ đồ use case
 Bổ sung các use case mô tả chức năng đặc
trưng phần mềm:
 Ví dụ: Đăng nhập

Xử lý mượn sách

Đăng xuất
Xử lý trả sách
Thủ thư Quản trị hệ thống

Đăng ký thành viên


Quản trị
Mua sách người
dùng
Tra cứu sách
Độc giả Quản trị nhà
cung cấp

Phân tích & Thiết kế hệ thống hướng đối 13


Tinh chế và nâng cấp sơ đồ use case
 Bổ sung các use case mô tả chức năng đặc
trưng phần mềm:
 Ví dụ:

Gửi tiền
Khởi động hệ
Rút tiền thống

Khách hàng Nhân viên


Đóng hệ thống vận hành
Truy vấn thông tin
tài khoản

Phân tích & Thiết kế hệ thống hướng đối 14


Tinh chế và nâng cấp sơ đồ use case
 Tinh chế use case
 Phát triển các liên kết <<extend>>:
 tách những dòng xử lý đặc biệt  use case mở rộng

Xử lý mượn sách
Đăng nhập

<<extend>> <<extend>>
<<extend>>
Giải quyết PIN Mượn sách từ thư Xử lý từ chối
không hợp lệ viện thành viên mượn sách

Hệ thống ATM Hệ thống thư viện

Phân tích & Thiết kế hệ thống hướng đối 15


Tinh chế và nâng cấp sơ đồ use case
 Tinh chế use case
 Phát triển các liên kết <<extend>>:
 Tổng quát hoá các use case có dòng xử lý chung 
use case tổng quát
Giao dịch

<<extend>>
<<extend>>
Truy vấn thông tin
tài khoản
<<extend>>
Gửi tiền
Rút tiền

Phân tích & Thiết kế hệ thống hướng đối 16


Tinh chế và nâng cấp sơ đồ use case
 Tinh chế use case
 Phát triển các liên kết <<include>>:

Giao dịch Đăng nhập


<<include>>

Khách hàng

Hệ thống ATM

Phân tích & Thiết kế hệ thống hướng đối 17


Tinh chế và nâng cấp sơ đồ use case
 Sơ đồ use case của hệ thống ATM
Đăng nhập
Giao dịch <<include>>

<<extend>>
Khách hàng Giải quyết PIN
<<extend>>
không hợp lệ
<<extend>>
Truy vấn thông
tin tài khoản
<<extend>>
Gửi tiền Nhân viên vận hành

Rút tiền

Khởi động Đóng hệ thống


hệ thống

Phân tích & Thiết kế hệ thống hướng đối Ngân hàng 18


Tinh chế và nâng cấp sơ đồ use case
 Sơ đồ use case của hệ thống thư viện
Mượn sách từ Xử lý từ chối
thư viện thành mượn sách Đăng nhập
viên
<<extend>> <<extend>>

<<include>>
Xử lý mượn sách Đăng xuất
Kiểm tra thẻ
Quản trị
<<include>> Xử lý trả sách
Quản trị
Thủ thư người
dùng

Đăng ký thành viên


Quản trị nhà
Mua sách cung cấp

Tra cứu sách


Độc giả

Phân tích & Thiết kế hệ thống hướng đối 19


Chương 6 - Mô hình hoá use case tự
động hoá
 Mục tiêu
 Xác định tác nhân hệ thống

 Xác định use case

 Tinh chế và nâng cấp sơ đồ use case

 Mô tả use case

 Phân chia sơ đồ use case thành các gói


(package)

Phân tích & Thiết kế hệ thống hướng đối 20


Mô tả use case
Tóm tắt: tóm tắt nội dung hoạt động của use case
Dòng sự kiện chính: các sự kiện và hoạt động xảy ra
bình thường của use case
Dòng sự kiện phụ: các sự kiện và những hoạt động bất
thường của use case ngoài những hoạt động chính
Tiền điều kiện (pre-condition): mô tả trạng thái của hệ
thống phải đạt được để use case có thể bắt đầu
Hậu điều kiện (post-condition): liệt kê các trạng thái
có thể của hệ thống tại cuối use case. Hệ thống phải
thuộc một trong những trạng thái đó khi use case kết
thúc
Phân tích & Thiết kế hệ thống hướng đối 21
Mô tả use case
 Ví dụ: mô tả use case Giao dịch
Tóm tắt: use case bắt đầu khi có khách hàng đưa thẻ vào máy ATM.
Hệ thống sẽ cho phép khách hàng thực hiện các giao dịch
Dòng sự kiện chính:
1. Xác nhận thẻ và kiểm tra đăng nhập của khách hàng (thực hiện
bởi use case đăng nhập)
2. Hiển thị giao diện thực đơn yêu cầu khách hàng chọn dịch vụ
thực hiện
3. Khách hàng chọn dịch vụ thực hiện
4. Thi hành dịch vụ tương ứng khi khách hàng chọn (rút tiền, gửi
tiền, xem thông tin tài khoản: được mô tả trong từng use case
tương ứng)
5. Đóng giao diện thực đơn và thông báo khách hàng rút thẻ
6. Khách hàng rút thẻ Phân
và tích
hệ& thống trở về trạng thái sẵn sàng
Thiết kế hệ thống hướng đối 22
Mô tả use case
 Ví dụ: mô tả use case Giao dịch
Dòng sự kiện phụ:
1. Xử lý thẻ không hợp lệ và đăng nhập không thành công
Tiền điều kiện:
1. ATM phải thông kết nối với mạng ngân hàng
2. ATM phải có đủ giấy để in hoá đơn
Hậu điều kiện:
1. ATM phải ở trạng thái sẵn sàng cho một khách hàng mới

Phân tích & Thiết kế hệ thống hướng đối 23


Mô tả use case
 Ví dụ: mô tả use case Rút tiền
Tóm tắt: use case bắt đầu khi khách hàng chọn thực hiện rút tiền từ
thực đơn chính. Hệ thống sẽ xử lý yêu cầu rút tiền của khách
hàng
Dóng sự kiện chính:
1. Yêu cầu xác định tài khoản
2. Yêu cầu nhập số tiền cần rút
3. Khách hàng nhập số tiền
4. Kiểm tra số tiền nhập với số dư tài khoản
5. Chuyển tiền ra cho khách hàng
6. In hoá đơn rút tiền cho khách hàng

Phân tích & Thiết kế hệ thống hướng đối 24


Mô tả use case
 Ví dụ: mô tả use case Rút tiền
Dòng sự kiện phụ:
1. Nếu số tiền vượt quá số dư thì thông báo cho khách hàng điều
chỉnh hoặc huỷ bỏ giao dịch
Tiền điều kiện:
1. ATM phải có đủ tiền mặt trong máy
2. ATM phải có đủ giấy để in hoá đơn
Hậu điều kiện:
1. ATM phải ở trạng thái cho thực hiện một giao dịch mới

Phân tích & Thiết kế hệ thống hướng đối 25


Chương 6 - Mô hình hoá use case tự
động hoá
 Mục tiêu
 Xác định tác nhân hệ thống

 Xác định use case

 Tinh chế và nâng cấp sơ đồ use case

 Mô tả use case

 Phân chia sơ đồ use case thành các gói


(package)

Phân tích & Thiết kế hệ thống hướng đối 26


Phân chia sơ đồ use case thành gói
 Phân chia sơ đồ use case thành các gói nhằm:
 Thu hẹp tiêu kịch bản khi gặp các hệ thống lớn với
sơ đồ use case phức tạp
 Mỗi gói phản ánh một phạm vi của hệ thống mà
chúng ta chỉ muốn quản lý nó khi chúng ta truy
cập gói đó

Phân tích & Thiết kế hệ thống hướng đối 27


Phân chia sơ đồ use case thành gói
 Ví dụ: hệ thống ATM
Giao Rút gởi
dịch

Vận hành

 Hệ thống thư viện


Mượn trả sách Đăng ký Mua sách
thành viên

Phân tích & Thiết kế hệ thống hướng đối 28


Bài tập

Phân tích & Thiết kế hệ thống hướng đối 29

You might also like