Bài giảng Lập trình hướng đối tượng - Bài 10: Biểu đồ use case và Biểu đồ hoạt động - Nguyễn Thị Thu Trang

12/27/17  
Mục tiêu  
n Mô tả được mục đích và lợi ích của Biểu đồ  
Bộ môn Công nghệ Phần mềm  
Viện CNTT & TT  
use case  
Trường Đại học Bách Khoa Hà Nội  
n Nắm được các thành phần chính của Biểu đồ  
use case: Actor, Use case, Relationship  
n Biết cách xác định các actor, use case và  
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
Bài 10. Biểu đồ use case và  
Biểu đồ hoạt động  
relationship  
n Hiểu được mục đích và các ký hiệu sử dụng  
trong Biểu đồ hoạt động  
Nội dung  
Nội dung  
1. Tổng quan về biểu đồ use case  
1. Tổng quan về biểu đồ use case  
2. Các thành phần chính trong biểu đồ  
2. Các thành phần chính trong biểu đồ  
use case  
use case  
3. Biểu đồ hoạt động  
3. Biểu đồ hoạt động  
3
4
1
12/27/17  
1.1. Tổng quan về biểu đồ use case  
1.1. Tổng quan về biểu đồ use case (2)  
n Biểu đồ mô tả các yêu cầu chức năng của hệ  
n Mỗi hệ thống tương tác với con người hoặc c  
thống dưới dạng các use case.  
ác hệ thống khác để thực hiện nhiệm vụ  
n Các hành vi của hệ thống có thể được mô tả  
n Bao gồm các chức năng mong đợi của hệ th  
ống (use case) và môi trường (actor) của nó.  
trong các use case.  
n
What, not How  
n
Các use case mô tả các tương tác giữa hệ thống  
và môi trường của nó  
View Report Card  
à Biểu đồ use case  
Register for Courses  
Student  
Login  
5
6
1.2. Lợi ích của biểu đồ use case  
1.2. Lợi ích của biểu đồ use case (2)  
n Giống như một bản hợp đồng giữa người phát triển phần mềm và  
n Giao tiếp  
khách hàng.  
n Là công cụ mạnh mẽ cho việc lập kế hoạch à Được dùng trong tất  
cả các giai đoạn trong quy trình phát triển hệ thống  
n Xác định  
n Kiểm chứng  
Use Case  
n
n
n
Khách hàng của bạn phải phê chuẩn biểu đồ use-case  
Sử dụng biểu đồ use case để thảo luận với khách hàng.  
Các thành viên tham gia vào dự án, sử dụng mô hình này để hiểu rõ hơn về  
hệ thống  
Communication  
Verification  
End User  
Domain Expert  
Users  
8
2
12/27/17  
Nội dung  
2.1. Tác nhân (actor)  
n Tác nhân là bất kỳ thứ gì tương tác vớ  
i hệ thống, có sự trao đổi dữ liệu với h  
ệ thống  
1. Tổng quan về biểu đồ use case  
2. Các thành phần chính trong biểu  
đồ use case  
3. Biểu đồ hoạt động  
n
Là một lớp/loại người dùng chứ không ph  
ải một người cụ thể  
n
Một người dùng cụ thể có thể đóng vai tr  
ò là các tác nhân khác nhau, có nghĩa là  
người đó có nhiều vai trò khác nhau trong  
hệ thống  
Actor  
n
Không phải là một phần của hệ thống  
n
Actors are EXTERNAL.  
9
10  
Ví dụ về tác nhân  
Tìm kiếm tác nhân của hệ thống  
n Đặt các câu hỏi sau để tìm ra tác nhân:  
-Tác nhân KHÔNG phải là  
một phần của hệ thống!!!  
- Giúp giới hạn hệ thống  
n
n
n
Nhóm người nào yêu cầu hệ thống làm việc giúp họ?  
Nhóm người nào kích hoạt chức năng của hệ thống?  
Nhóm người nào sẽ duy trì và quản trị hệ thống hoạt  
động?  
Tác nhân có thể là:  
• Người dùng,  
• Thiết bị phần cứng  
• Hệ thống phần mềm khác  
n
Hệ thống có tương tác với các thiết bị hay phần mềm  
ngoại vi nào khác hay không?  
n Thông tin về tác nhân:  
n Tác nhân trao đổi thông tin với hệ thống:  
n
Tên tác nhân phải mô tả vai trò của tác nhân đó một  
cách rõ ràng  
n
Gửi thông tin tới hệ thống  
Nhận thông tin từ hệ thống  
n
n
n
Tên nên là danh từ  
Cần mô tả khái quát khả năng của tác nhân đó  
11  
12  
3
12/27/17  
2.2. Use case  
Tìm use case của hệ thống  
n Xem các yêu cầu chức năng để tìm ra các UC  
n Đối với mỗi tác nhân tìm được, đặt các câu hỏi:  
n Use case mô tả chức năng của hệ thống, là  
một chuỗi các hành động của hệ thống thực  
hiện nhằm thu được một kết quả dễ thấy tới  
một tác nhân nào đó.  
n
n
n
n
n
Các tác nhân yêu cầu những gì từ hệ thống  
Các công việc chính mà tác nhân đó muốn HT thực thi?  
Tác nhân đó có tạo ra hay thay đổi dữ liệu gì của HT?  
Tác nhân đó có phải thông báo gì cho HT?  
n
Một use case mô hình hóa một hội thoại giữa  
một hoặc nhiều tác nhân với hệ thống  
Tác nhân đó có cần thông tin thông báo gì từ HT?  
n Thông tin về use case:  
n
Một use case mô tả hành động của hệ thống  
n
Tên của UC nên chỉ rõ kết quả của quá trình tương tác với tác  
nhân  
thực hiện nhằm mang đến một giá trị nào đó cho  
n
n
Tên nên là động từ  
Mô tả ngắn gọn về mục đích của UC  
tác nhân.  
Use Case  
13  
14  
Những điều nên tránh khi tạo UC  
2.3. Mối liên hệ (relationship)  
n Tạo ra các UC quá nhỏ  
n Mối liên hệ giữa các actor với nhau  
n
Hành động quá đơn giản mà chỉ cần mô tả bởi vài dòng  
n
Khái quát hóa (Generalization)  
n Tạo ra quá nhiều Use case (hàng chục)  
n
Giao tiếp  
n
Nhóm các Use case liên quan thành một Use case tổng quát (mức 1)  
n
Mô tả các Use Case tổng quát ở một sơ đồ khác (mức 2)  
n Mối liên hệ giữa actor và use case  
n
Ví dụ: “Quản lý sách” bao gồm “Nhập sách”, “Xuất sách”, “…”  
n
Giao tiếp  
n Sử dụng các Use-case quá cụ thể, hoặc làm việc với dữ liệu  
quá cụ thể. Ví dụ:  
n Mối liên hệ giữa các use case với nhau  
n
n
n
“Tìm sách theo tên” (nên là “Tìm sách”)  
“Nhập Pin vào máy ATM” (nên là “Nhập PIN”)  
“Thêm sách” (nên là “Quản lý sách” bao gồm “Thêm sách”)  
n
n
n
Generalization: Khái quát hóa  
Include: Bao hàm  
Extend: Mở rộng  
15  
16  
4
12/27/17  
2.3.1. Mối liên hệ giữa các actor với nhau  
2.3.2. Mối liên hệ giữa actor với use case  
Thiết lập quan hệ giữa Tác nhân và Use Case  
n
n Khái quát hóa (Generalization)  
n
Chúng tương tác bằng cách gửi các tín hiệu cho  
nhau  
n
Tác nhân con kế thừa tính chất và hành vi của  
tác nhân cha  
n
n
Một use case mô hình hóa một hội thoại giữa  
các tác nhân và hệ thống  
Một use case được bắt đầu bởi một tác nhân để  
gọi một chức năng nào đó trong hệ thống.  
n Giao tiếp  
Xét sự khác nhau giữa hai biểu đồ
n
Use Case  
Association  
Actor  
17  
18  
2.3.2. Mối liên hệ giữa actor với use case  
(2)  
2.2.3. Mối liên hệ giữa các use case  
n
Chiều của quan hệ chính là chiều của tín hiệu gửi đi  
n Generalization  
n <<include>>  
n Từ tác nhân tới Use Case  
n
n
n
n
Kích hoạt Use case  
Hỏi thông tin nào đó trong hệ thống  
Thay đổi thông tin nào đó trong hệ thống  
Thông báo cho UC về một sự kiện đặt biệt nào đó xảy ra với hệ  
thống  
n
always use  
n <<extend>>  
n
sometime use  
n Từ Use Case tới tác nhân:  
n
Nếu như có một điều gì đó xảy ra với HT và tác nhân đó cần được  
biết sự kiện đó  
n
UC đôi khi cần hỏi thông tin nào đó từ một tác nhân trước khi UC đó  
đưa ra một quyết định  
19  
20  
5
12/27/17  
a. Quan hệ generalization  
b. Quan hệ <<include>>  
n Cho phép một UC sử dụng chức năng của UC khác  
n Chức năng của UC Inclusion sẽ được gọi trong UC Base  
n Sử dụng stereotype là <<include>>  
n Được sử dụng để chỉ ra  
một vài tính chất chung của  
một nhóm tác nhân hoặc  
UC  
n Sử dụng khái niệm kế thừa  
n
Mô tả hành vi chung (chia sẻ)  
trong UC cha  
n
Mô tả hành vi riêng trong (các)  
UC con  
21  
22  
c. Quan hệ <<extend>>  
Đọc biểu đồ use case  
View Report Card  
n Cho phép mở rộng chức năng của một UC  
n Chèn hành vi của UC Extension vào UC Base  
n Chỉ chèn khi điều kiện extend đúng (mở rộng, phát sinh)  
n Chèn vào lớp cơ sở tại điểm phát sinh (extension point)  
n Sử dụng stereotype là <<extend>>  
Course Catalog  
Maintain Professor  
Information  
Register for Courses  
Student  
Maintain Student  
Information  
Login  
Registrar  
Select Courses to  
Teach  
Close Registration  
Professor  
Submit Grades  
Billing System  
23  
24  
6
12/27/17  
Đọc biểu đồ use case  
Nội dung  
n Trả lời các câu hỏi sau:  
1. Tổng quan về biểu đồ use case  
2. Các thành phần chính trong biểu đồ  
use case  
3. Biểu đồ hoạt động  
n
n
n
n
Mô tả các chức năng của hệ thống  
Sinh viên có thể tác động lên những use-case nào?  
Giáo viên có thể tác động lên những use-case nào?  
Nếu A vừa là sinh viên vừa là giáo viên, anh ta có thể  
thực hiện được những use-case nào?  
n
n
Sơ đồ này không nói lên được những gì?  
Những use-case nào cần thiết thực hiện đầu tiên?  
n Biểu đồ use case có thể mô tả hết được không?  
25  
26  
3. Biểu đồ hoạt động  
3. Biểu đồ hoạt động (2)  
n Biểu đồ hoạt động (Activity Diagram – AD) được sử dụng để  
mô tả các hoạt động và các hành động được thực hiện  
trong một use case  
n Hoạt động  
n
Đặc tả cho hành vi được diễn tả như một luồng thực thi thông qua  
sự sắp xếp thứ tự của các đơn vị nhỏ hơn.  
n
Biểu đồ luồng (flow chart): Chỉ ra luồng điều khiển từ hoạt động/hành  
động này đến hoạt/hành động khác.  
n
Các đơn vị nhỏ hơn bao gồm các hoạt động lồng nhau và các  
hành động riêng lẻ cơ bản  
n Có thể chứa các ràng buộc biểu thức logic khi hoạt động  
Flow of Events  
được gọi hoặc kết thúc  
This use case starts when the Registrar requests that the  
system close registration.  
Activity 2  
Activity 3  
Activity 2  
1. The system checks to see if registration is in progress. If  
it is, then a message is displayed to the Registrar and the  
use case terminates. The Close Registration processing  
cannot be performed if registration is in progress.  
<<Precondition>>  
Boolean constraint  
Activity 4  
Activity 1  
2. For each course offering, the system checks if a professor  
has signed up to teach the course offering and at least three  
students have registered. If so, the system commits the  
course offering for each schedule that contains it.  
<<Postcondition>>  
Boolean constraint  
Activity 5  
27  
28  
7
12/27/17  
AD for Register for course use case  
Initial activity  
Decision  
Select Course  
Activity/Action  
Concurrent Threads  
(Tiến trình song song)  
Gọi một AD khác  
[ delete course ]  
Delete Course  
[ add course ]  
Synchronization Bar (Fork)  
Thanh đồng bộ (phân nhánh)  
Check  
Schedule  
Check  
Pre-requisites  
Guard Condition  
(Điều kiện ràng buộc)  
Synchronization Bar (Join)  
[ checks completed ]  
[ checks failed ]  
Thanh đồng bộ (Kết hợp)  
Assign to  
Course  
Resolve  
Conflicts  
Transition  
(Chuyển dịch)  
Update  
Schedule  
29  
30  
Final activity  
Phân chia (Partition)  
n Biểu đồ hoạt động chỉ mô tả điều gì xảy ra  
chứ không mô tả ai làm gì  
n Nếu muốn chỉ ra ai làm gì thì có thể phân  
chia thành các phần bao gồm các hoạt động  
do ai làm  
n Có thể phân chia theo một chiều (hàng hoặc  
Phân chia một chi  
ều hay còn gọi là  
swim lane  
cột) hoặc hai chiều (cả hàng và cột)  
31  
8
12/27/17  
Bài tập  
Bài tập  
n
Cho:  
n Cho:  
n
n
n
Các tác nhân: Người mua, Hệ thống E-mail, Hệ thống cho vay và Hệ  
thống báo cáo tín dụng  
n
Các trạng thái hành động:  
n
n
n
n
Chọn hồ sơ  
Các use case: Tìm người môi giới, Quản lý hồ sơ cá nhân, Tìm kiếm  
nhà và Yêu cầu vay  
Các mối liên kết:  
Tìm hồ sơ người mua  
Tạo hồ sơ mới  
Đăng nhập  
n
n
n
n
n
n
n
n
Từ người mua tới Tìm người môi giới  
Từ người mua tới Quản lý hồ sơ cá nhân  
Từ người mua tới Tìm kiếm nhà  
Từ người mua tới Yêu cầu vay  
Quản lý hồ sơ cá nhân tới Hệ thống e-mail  
Tìm kiếm nhà tới Hệ thống e-mail  
n
Luồng hoạt động:  
n
Bắt đầu từ Chọn hồ sơ tới Tìm hồ sơ người mua rồi đi từ  
Tìm hồ sơ người mua đến Tạo hồ sơ mới nếu hồ sơ không  
tồn tại. Nếu hồ sơ tồn tại thì có thể Đăng nhập  
n
Hãy vẽ:  
Yêu cầu vay tới Hệ thống e-mail, Hệ thống cho vay  
Yêu cầu vay tới Hệ thống báo cáo tín dụng  
n
Biểu đồ hoạt động  
n Hãy vẽ:  
n
Biểu đồ use-case  
33  
34  
9
pdf 9 trang yennguyen 23140 Free
Bạn đang xem tài liệu "Bài giảng Lập trình hướng đối tượng - Bài 10: Biểu đồ use case và Biểu đồ hoạt động - Nguyễn Thị Thu Trang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_bai_10_bieu_do_use_case.pdf