Bài giảng Lập trình hướng đối tượng - Bài 11: Biểu đồ tương tác

12/27/17  
Mục tiêu  
n Mô tả mục đích của Biểu đồ tương tác  
n Có khả năng phân loại Biểu đồ tương tác  
n Nắm được các thành phần chính trong biểu  
Bộ môn Công nghệ Phần mềm  
Viện CNTT & TT  
Trường Đại học Bách Khoa Hà Nội  
đồ trình tự và biểu đồ giao tiếp  
n So sánh biểu đồ tuần tự và biểu đồ giao tiếp  
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
Bài 11. Biểu đồ tương tác  
Nội dung  
Nội dung  
1. Biểu đồ tương tác  
2. Biểu đồ trình tự  
3. Biểu đồ giao tiếp  
1. Biểu đồ tương tác  
2. Biểu đồ trình tự  
3. Biểu đồ giao tiếp  
1
12/27/17  
Các đối tượng cần phải cộng tác  
Các đối tượng tương tác bằng thông điệp  
n Một thông điệp cho biết làm thế nào mà một  
đối tượng yêu cầu một đối tượng khác thực  
hiện hành động.  
n Các đối tượng sẽ trở nên vô nghĩa nếu chúng  
không cộng tác với nhau để giải quyết vấn  
đề.  
n
Mỗi đối tượng có trách nhiệm quản lý hành vi và trạng  
thái của nó.  
Thông điệp  
n
Không một ai, không một đối tượng nào lại tự mình làm  
được mọi việc.  
getCourseOfferings(forSemester)  
n Các đối tượng tương tác với nhau như thế  
:RegistrationController  
:CourseCatalogSystem  
nào?  
n
Chúng tương tác với nhau thông qua các thông điệp.  
Biểu đồ tương tác là gì?  
Biểu đồ tương tác (Interaction diagram)  
n Mô hình hóa phương diện động của hệ thố  
n Thuật ngữ chung cho các biểu đồ thể hiện  
ng, mô tả tương tác giữa các đối tượng  
tương tác giữa các đối tượng.  
n
Biểu đồ tuần tự (Sequence diagram)  
Biểu đồ giao tiếp (Communication diagram)  
n Thường dùng để mô tả kịch bản của use  
n
case  
n Các biến thể chuyên dụng  
n
Biểu đồ thời gian (Timing Diagram)  
n
Biểu đồ tương tác tổng quát (Interaction  
Overview Diagram)  
2
12/27/17  
Các biểu đồ tương tác  
Biểu đồ tương tác  
n
Biểu đồ thời gian  
n Biều đồ trình tự  
n
Một cách nhìn về sự ràng buộc thời gian  
của các thông điệp trong một tương tác.  
n
Một cách nhìn hướng về trình t  
ự thời gian tương tác giữa các  
đối tượng.  
n
Thường sử dụng trong các ứng dụng thời  
gian thực, vì trong các ứng dụng này yếu  
tố thời gian mang tính quyết định  
Biểu đồ thời gian  
Biểu đồ tuần tự  
n
Biểu đồ tương tác tổng quan  
n Biểu đồ giao tiếp  
n
Một cách nhìn tương tác ở mức cao bằng  
cách kết hợp các biểu đồ tương tác theo  
một trình tự logic nào đó.  
n
Một cách nhìn thông điệp giữa  
các đối tượng, hướng về cấu  
trúc của quá trình truyền.  
Biểu đồ tương tác tổng  
quan  
Biểu đồ giao tiếp  
Biểu đồ thời gian biể  
u diễn trạng thái như c  
ác line (dòng)  
n Biểu đồ  
tương tác t  
ổng quan  
Biểu đồ thời gian bi  
ểu diễn trạng thái như c  
ác area (khu vực)  
3
12/27/17  
Biểu đồ trình tự  
(Sequence Diagram – SD)  
Nội dung  
n Là một loại biểu đồ tương tác, mô tả mô hình  
tương tác giữa các đối tượng, trong đó nhấn  
mạnh vào trình tự thời gian của các thông  
điệp trao đổi giữa các đối tượng đó.  
1. Biểu đồ tương tác  
2. Biểu đồ trình tự  
3. Biểu đồ giao tiếp  
Ví dụ: SD for “Register for Course”,  
“Create a Schedule” sub-flow  
Biểu đồ trình tự  
n Biểu đồ trình tự chỉ ra:  
:RegisterForCoursesForm  
:RegistrationController  
:CourseCatalogSystem  
: Student  
: Course Catalog  
n
n
n
Các đối tượng tham gia vào tương tác.  
Thời gian sống của các đối tượng  
Trình tự các thông điệp được trao đổi.  
1: create schedule( )  
2: get course offerings( )  
3: get course offerings(forSemester)  
4: get course offerings( )  
5: display course offerings( )  
6: display blank schedule( )  
Biểu đồ trình tự  
ref  
Select Offerings  
4
12/27/17  
Biểu đồ trình tự: Đối tượng  
Biểu đồ trình tự: Tác nhân  
:RegisterForCoursesForm :RegistrationController SWTSU Catalog :  
CourseCatalogSystem  
:RegisterForCoursesForm  
:RegistrationController  
SWTSU Catalog :  
CourseCatalogSystem  
: Student  
: Course Catalog  
Các đối tượng nặc danh  
(Anonymous object)  
Đối tượng có tên  
(named object)  
Các tác nhân cụ thể  
(Actor instance)  
Đường sống  
(Lifeline)  
Biểu đồ trình tự: Thông điệp  
Biểu đồ trình tự: Kích hoạt  
:RegisterForCoursesForm :RegistrationController SWTSU Catalog :  
CourseCatalogSystem  
:RegisterForCoursesForm :RegistrationController SWTSU Catalog :  
CourseCatalogSystem  
: Course Catalog  
: Student  
1: create schedule( )  
2: get course offerings( )  
: Course Catalog  
: Student  
1: create schedule( )  
2: get course offerings( )  
3: get course offerings(for Semester)  
4: get course offerings( )  
3: get course offerings(for Semester)  
4: get course offerings( )  
5: display course offerings( )  
6: display blank schedule( )  
5: display course offerings( )  
6: display blank schedule( )  
Kích hoạt  
(Activation)  
Thông điệp  
(Message)  
Trả về  
(Return)  
Thông điệp gọi chính nó  
(Reflexive/self-call Message)  
5
12/27/17  
Biểu đồ trình tự: Khung tương tác  
Biểu đồ trình tự: Khung tương tác  
Toán tử  
Ý nghĩa  
:RegisterForCoursesForm  
:RegistrationController  
:CourseCatalogSystem  
: Student  
: Course Catalog  
alt  
Khung lựa chọn nhiều, chỉ có lựa chọn có điều kiện  
đúng sẽ được thực hiện  
1: create schedule( )  
2: get course offerings( )  
opt  
Tùy chọn, chỉ thực hiện khi điều kiện thỏa mãn  
Song song, mỗi khung chạy song song  
3: get course offerings(forSemester)  
4: get course offerings( )  
par  
loop  
region  
Lặp lại, khung có thể được thực hiện nhiều lần  
Vùng then chốt, tại một thời điểm chỉ có một luồng  
chạy nó  
5: display course offerings( )  
6: display blank schedule( )  
Khung tương tác  
(Interaction Frame)  
ref  
sd  
Tham chiếu đến một tương tác khác trong biểu đồ  
khác, vẽ trùm trên các lifetime liên quan, có thể có  
tham số và giá trị trả về  
Toán tử  
(Operator)  
Vẽ xung quanh 1 biểu đồ biểu đồ trình tự nếu cần  
ref  
Select Offerings  
Nội dung  
procedure dispatch  
foreach (lineitem)  
1. Biểu đồ tương tác  
2. Biểu đồ trình tự  
if (product.value>$10K)  
careful.dispatch  
else  
regular.dispatch  
end if  
3. Biểu đồ giao tiếp  
end for  
if (needsConfirmation)  
messenger.confirm  
end procedure  
6
12/27/17  
Biểu đồ giao tiếp là gì?  
Ví dụ: Biểu đồ giao tiếp  
5: display course offerings( )  
6: display blank schedule( )  
n Biểu đồ giao tiếp nhấn mạnh vào việc tổ  
chức các đối tượng tham gia vào tương tác.  
n Biểu đồ giao tiếp chỉ ra:  
1: create schedule( )  
: Course Catalog  
: RegisterForCoursesForm  
2: get course offerings( )  
n
n
n
Các đối tượng tham gia vào tương tác.  
Các liên kết giữa các đối tượng.  
Các thông điệp trao đổi giữa các đối tượng.  
: Student  
4: get course offerings( )  
3: get course offerings(forSemester)  
: CourseCatalogSystem  
: RegistrationController  
Biểu đồ giao tiếp  
Biểu đồ giao tiếp: Đối tượng  
: RegisterForCoursesForm  
Biểu đồ giao tiếp: Tác nhân  
: RegisterForCoursesForm  
: Course Catalog  
: Student  
Đối tượng (Object)  
Tác nhân  
(Actor)  
SWTSU Catalog  
: CourseCatalogSystem  
: RegistrationController  
SWTSU Catalog  
: CourseCatalogSystem  
: RegistrationController  
7
12/27/17  
Nội dung của biểu đồ giao tiếp:  
Các liên kết và thông điệp  
SD và CD - Giống nhau  
n Tương đương về ngữ nghĩa  
Thông điệp  
(message)  
n
Cùng đưa ra thông tin về sự tương tác giữa các đ  
ối tượng qua các thông điệp  
5: display course offerings( )  
6: display blank schedule( )  
n
Có thể chuyển đổi giữa hai biểu đồ mà không  
mất mát thông tin  
Liên kết  
(Link)  
1: create schedule( )  
: Course Catalog  
: RegisterForCoursesForm  
2: get course offerings( )  
n Mô hình hóa phương diện động của hệ thống  
n Mô hình hóa kịch bản use case.  
: Student  
4: get course offerings( )  
3: get course offerings(forSemester)  
: RegistrationController : CourseCatalogSystem  
Bài tập  
SD và CD – Khác nhau  
Biểu đồ tuần tự  
Biểu đồ giao tiếp  
n Cho:  
–Chỉ ra thứ tự rõ ràng  
của các thông điệp  
–Chỉ ra mối quan hệ rõ r  
àng giữa các đối tượng  
n
Một tập các đối tượng, các liên kết và các thông  
điệp  
–Thể hiện tốt hơn luồng  
công việc  
–Mô hình hóa trực quan  
hơn toàn bộ luồng thực  
thi (theo thời gian)  
–Thể hiện tốt hơn quá  
trình giao tiếp  
–Mô hình hóa trực quan  
hơn cho tất cả các ảnh  
hưởng của đối tượng  
n Hãy vẽ:  
n
Biểu đồ tuần tự  
Biểu đồ giao tiếp  
n
–Thể hiện tốt hơn đối với –Thể hiện rõ hơn hiệu  
các đặc tả thời gian  
thực và các kịch bản  
phức tạp  
quả của quá trình  
tương tác trên từng đối  
tượng, dễ hiểu hơn cho  
các buổi brainstorming  
8
12/27/17  
1.  
The Prospective Buyer actor begins the sequence by  
requesting the Personal Planner Profile object (PPF) to  
maintain a profile.  
2.  
3.  
The PPF requests the Personal Planner Controller object  
(PPC) to maintain a profile  
The PPC sends a message to the Buyer Record object  
asking it to find the planner record.  
4.  
5.  
The PPF then displays the planner record.  
The Prospective Buyer updates some information on the  
profile and asks the PPF to save the profile information.  
6.  
7.  
8.  
The PPF takes the new information and requests that the  
PPC save the profile information.  
The PPC asks the Buyer Record to update the record with  
the latest information that the actor has provided.  
The PPC asks the Customer Profile object to create a new  
profile for the system.  
9
pdf 9 trang yennguyen 18900 Free
Bạn đang xem tài liệu "Bài giảng Lập trình hướng đối tượng - Bài 11: Biểu đồ tương tác", để 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_11_bieu_do_tuong_tac.pdf