Bài giảng Lập trình hướng đối tượng – Bài 11: Biểu đồ tương tác (2017)
lượt xem 4
download
Những nội dung chính được trình bày trong chương này gồm có: Mô tả mục đích của biểu đồ tương tác, có khả năng phân loại biểu đồ tương tác, nắm được các thành phần chính trong biểu đồ trình tự và biểu đồ giao tiếp, so sánh biểu đồ tuần tự và biểu đồ giao tiếp. Mời các bạn cùng tham khảo bài giảng để biết thêm nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng – Bài 11: Biểu đồ tương tác (2017)
- 12/27/17 Mục tiêu Bộ môn Công nghệ Phần mềm n Mô tả mục đích của Biểu đồ tương tác Viện CNTT & TT n Có khả năng phân loại Biểu đồ tương tác om Trường Đại học Bách Khoa Hà Nội n Nắm được các thành phần chính trong biểu đồ trình tự và biểu đồ giao tiếp .c So sánh biểu đồ tuần tự và biểu đồ giao tiếp LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG n Bài 11. Biểu đồ tương tác ng co an th Nội dung Nội dung 1. Biểu đồ tương tác o ng 1. Biểu đồ tương tác du 2. Biểu đồ trình tự 2. Biểu đồ trình tự Biểu đồ giao tiếp Biểu đồ giao tiếp u 3. 3. cu 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Các đối tượng sẽ trở nên vô nghĩa nếu chúng n Một thông điệp cho biết làm thế nào mà một không cộng tác với nhau để giải quyết vấn đối tượng yêu cầu một đối tượng khác thực om đề. hiện hành động. 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ó. .c 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. Các đối tượng tương tác với nhau như thế ng getCourseOfferings(forSemester) n : Car buyer :RegistrationController :CourseCatalogSystem nào? co n Chúng tương tác với nhau thông qua các thông điệp. an th Biểu đồ tương tác (Interaction diagram) Biểu đồ tương tác là gì? n Mô hình hóa phương diện động của hệ thố o ng n Thuật ngữ chung cho các biểu đồ thể hiện du 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 Thường dùng để mô tả kịch bản của use n Biểu đồ tuần tự (Sequence diagram) case n Biểu đồ giao tiếp (Communication diagram) u cu 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Một cách nhìn hướng về trình t của các thông điệp trong một tương tác. om n ự thời gian tương tác giữa các n Thường sử dụng trong các ứng dụng thời đối tượng. gian thực, vì trong các ứng dụng này yếu Biểu đồ thời gian Biểu đồ tuần tự tố thời gian mang tính quyết định .c n Biểu đồ tương tác tổng quan n Biểu đồ giao tiếp Một cách nhìn tương tác ở mức cao bằng ng n n Một cách nhìn thông điệp giữa cách kết hợp các biểu đồ tương tác theo các đối tượng, hướng về cấu một trình tự logic nào đó. Biểu đồ tương tác tổng trúc của quá trình truyền. co Biểu đồ giao tiếp quan an th ng Biểu đồ thời gian biể u diễn trạng thái như c o ác line (dòng) du n Biểu đồ tương tác t u ổng quan cu Biểu đồ thời gian bi ểu diễn trạng thái như c ác area (khu vực) 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Biểu đồ trình tự Nội dung (Sequence Diagram – SD) 1. Biểu đồ tương tác 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 Biểu đồ trình tự om 2. mạnh vào trình tự thời gian của các thông 3. Biểu đồ giao tiếp điệp trao đổi giữa các đối tượng đó. .c ng co an th Ví dụ: SD for “Register for Course”, Biểu đồ trình tự “Create a Schedule” sub-flow n Biểu đồ trình tự chỉ ra: o ng du n Các đối tượng tham gia vào tương tác. : Student :RegisterForCoursesForm :RegistrationController :CourseCatalogSystem : Course Catalog n Thời gian sống của các đối tượng 1: create schedule( ) n Trình tự các thông điệp được trao đổi. 2: get course offerings( ) u 3: get course offerings(forSemester) cu 4: get course offerings( ) 5: display course offerings( ) 6: display blank schedule( ) Biểu đồ trình tự ref Select Offerings 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Biểu đồ trình tự: Đối tượng Biểu đồ trình tự: Tác nhân :RegisterForCoursesForm :RegistrationController SWTSU Catalog : :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog CourseCatalogSystem om .c Các đối tượng nặc danh Đối tượng có tên (Anonymous object) (named object) Các tác nhân cụ thể ng (Actor instance) Đường sống (Lifeline) co an th Biểu đồ trình tự: Thông điệp Biểu đồ trình tự: Kích hoạt :RegisterForCoursesForm :RegistrationController o SWTSU Catalog : ng :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog du CourseCatalogSystem : Student : Course Catalog 1: create schedule( ) 1: create schedule( ) 2: get course offerings( ) u 2: get course offerings( ) 3: get course offerings(for Semester) 3: get course offerings(for Semester) cu 4: get course offerings( ) 4: get course offerings( ) 5: display course offerings( ) 5: display course offerings( ) Kích hoạt 6: display blank schedule( ) 6: display blank schedule( ) (Activation) Thông điệp (Message) Trả về Thông điệp gọi chính nó (Return) (Reflexive/self-call Message) 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 : Student :RegisterForCoursesForm :RegistrationController :CourseCatalogSystem : Course Catalog alt Khung lựa chọn nhiều, chỉ có lựa chọn có điều kiện om 1: create schedule( ) đúng sẽ được thực hiện 2: get course offerings( ) opt Tùy chọn, chỉ thực hiện khi điều kiện thỏa mãn 3: get course offerings(forSemester) par Song song, mỗi khung chạy song song .c 4: get course offerings( ) loop Lặp lại, khung có thể được thực hiện nhiều lần region Vùng then chốt, tại một thời điểm chỉ có một luồng 5: display course offerings( ) chạy nó ng Toán tử 6: display blank schedule( ) Khung tương tác ref Tham chiếu đến một tương tác khác trong biểu đồ (Operator) (Interaction Frame) khác, vẽ trùm trên các lifetime liên quan, có thể có tham số và giá trị trả về co ref sd Vẽ xung quanh 1 biểu đồ biểu đồ trình tự nếu cần Select Offerings an th Nội dung procedure dispatch o ng 1. Biểu đồ tương tác du foreach (lineitem) Biểu đồ trình tự if (product.value>$10K) careful.dispatch 2. else regular.dispatch Biểu đồ giao tiếp u end if 3. cu end for if (needsConfirmation) messenger.confirm end procedure 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 Biểu đồ giao tiếp là gì? Ví dụ: Biểu đồ giao tiếp n Biểu đồ giao tiếp nhấn mạnh vào việc tổ 5: display course offerings( ) 6: display blank schedule( ) chức các đối tượng tham gia vào tương tác. om n Biểu đồ giao tiếp chỉ ra: 1: create schedule( ) : Course Catalog : RegisterForCoursesForm n Các đối tượng tham gia vào tương tác. .c n Các liên kết giữa các đối tượng. : Student 2: get course offerings( ) n Các thông điệp trao đổi giữa các đối tượng. 4: get course offerings( ) 3: get course offerings(forSemester) ng : RegistrationController : CourseCatalogSystem co Biểu đồ giao tiếp an th Biểu đồ giao tiếp: Đối tượng Biểu đồ giao tiếp: Tác nhân o ng du : RegisterForCoursesForm : RegisterForCoursesForm u : Student : Course Catalog cu Đối tượng (Object) Tác nhân (Actor) : RegistrationController SWTSU Catalog : RegistrationController SWTSU Catalog : CourseCatalogSystem : CourseCatalogSystem 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 n Cùng đưa ra thông tin về sự tương tác giữa các đ om (message) 5: display course offerings( ) 6: display blank schedule( ) ối tượng qua các thông điệp n Có thể chuyển đổi giữa hai biểu đồ mà không mất mát thông tin .c 1: create schedule( ) Liên kết : Course Catalog : RegisterForCoursesForm (Link) n Mô hình hóa phương diện động của hệ thống : Student Mô hình hóa kịch bản use case. ng 2: get course offerings( ) 4: get course offerings( ) n 3: get course offerings(forSemester) co : RegistrationController : CourseCatalogSystem an th SD và CD – Khác nhau Bài tập Biểu đồ tuần tự Biểu đồ giao tiếp o ng n Cho: – Chỉ ra thứ tự rõ ràng – Chỉ ra mối quan hệ rõ r du của các thông điệp à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 – Thể hiện tốt hơn quá công việc trình giao tiếp Hãy vẽ: u n – Mô hình hóa trực quan – Mô hình hóa trực quan cu n Biểu đồ tuần tự hơn toàn bộ luồng thực hơn cho tất cả các ảnh thi (theo thời gian) hưởng của đối tượng n Biểu đồ giao tiếp – 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 quả của quá trình thực và các kịch bản tương tác trên từng đối phức tạp tượng, dễ hiểu hơn cho các buổi brainstorming 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 12/27/17 1. The Prospective Buyer actor begins the sequence by requesting the Personal Planner Profile object (PPF) to maintain a profile. 2. The PPF requests the Personal Planner Controller object (PPC) to maintain a profile 3. The PPC sends a message to the Buyer Record object om asking it to find the planner record. 4. The PPF then displays the planner record. 5. The Prospective Buyer updates some information on the .c profile and asks the PPF to save the profile information. 6. The PPF takes the new information and requests that the PPC save the profile information. ng 7. The PPC asks the Buyer Record to update the record with the latest information that the actor has provided. 8. The PPC asks the Customer Profile object to create a new co profile for the system. an th o ng du u cu 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 140 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 119 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 86 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 100 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 103 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 15 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn