8/24/2011 Mục tiê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 k o?sqìmg?g ︰mf?I。h?s ︸mf Bài 11 Biểu đồtương tác Mô tảmục đích Biểu đồtương tác Có khảnăng phân loại Biểu đồtương tác Nắm thành phần 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 Nội dung Biểu đồtương tác Biểu đồtrình tự Biểu đồgiao tiếp Các đối tượng cần phải cộng tác Nội dung Biể u đồ tư ng tác Biểu đồtrình tự Biểu đồgiao tiếp Các đối tượng tương tác thông điệp Các đối tượng sẽtrởnên vô nghĩa chúng không cộng tác với Thông điệp getCourseOfferings(forSemester) : Car buyer :RegistrationController :CourseCatalogSystem 8/24/2011 Biểu đồtương tác (Interaction diagram) Biểu đồtương tác gì? Mô hình hóa phương diện động hệthống Thểhiện tương tác đối tượng (Sequence diagram) (Communication diagram) (Timing Diagram) (Interaction Overview Diagram) Các biểu đồtương tác Biểu đồtương tác Biểu đồthời gian Biều đồtrình tự Biểu đồtương tác tổng quan Biểu đồgiao tiếp Biểu đồ thời gian Biểu đồ 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 line (dòng) Biểu đồ tương tác tổng quan Biểu đồ thời gian biểu diễn trạng thái area (khu vực) 8/24/2011 Biểu đồtrình tự (Sequence Diagram – SD) Nội dung Là loại biểu đồ tương tác Biểu đồtương tác Biể u đồ trình tự Biểu đồgiao tiếp Ví dụ: SD for “Register for Course”, “Create a Schedule” sub-flow : Student :RegisterForCoursesForm :RegistrationController :CourseCatalogSystem Biểu đồtrình tự: Đối tượng :RegisterForCoursesForm : Course Catalog :RegistrationController SWTSU Catalog : CourseCatalogSystem 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(forSemester) 4: get course offerings( ) Các đối tượng nặc danh (Anonymous object) Đối tượng có tên (named object) 5: display course offerings( ) 6: display blank schedule( ) Đường sống (Lifeline) ref Select Offerings Biểu đồtrình tự: Tác nhân :RegisterForCoursesForm : Student :RegistrationController SWTSU Catalog : CourseCatalogSystem Biểu đồtrình tự: Thông điệp :RegisterForCoursesForm : Course Catalog :RegistrationController : Student SWTSU Catalog : CourseCatalogSystem : Course Catalog 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) Các tác nhân cụ thể (Actor instance) 5: display course offerings( ) 6: display blank schedule( ) Thông điệp gọi (Reflexive/self-call Message) Thông điệp (Message) Trả (Return) 8/24/2011 Biểu đồtrình tự: Kích hoạt :RegisterForCoursesForm :RegistrationController : Student SWTSU Catalog : CourseCatalogSystem Biểu đồtrình tự: Khung tương tác : Course Catalog : Student :RegisterForCoursesForm :RegistrationController :CourseCatalogSystem : Course Catalog 1: create schedule( ) 1: create schedule( ) 2: get course offerings( ) 2: get course offerings( ) 3: get course offerings(forSemester) 3: get course offerings(for Semester) 4: get course offerings( ) 4: get course offerings( ) 5: display course offerings( ) 5: display course offerings( ) 6: display blank schedule( ) Kích hoạt (Activation) 6: display blank schedule( ) Toán tử (Operator) ref Khung tương tác (Interaction Frame) Select Offerings Nội dung procedure dispatch foreach (lineitem) if (product.value>$10K) careful.dispatch else regular.dispatch end if end for if (needsConfirmation) messenger.confirm end procedure Biểu đồgiao tiếp gì? Biểu đồtương tác Biểu đồtrình tự Biể u đồ giao tiế p Ví dụ: Biểu đồgiao tiếp Biểu đồgiao tiếp nhấn mạnh vào việc tổ chức đối tượng tham gia vào tương tác 5: display course offerings( ) 6: display blank schedule( ) 1: create schedule( ) : Course Catalog : RegisterForCoursesForm : Student 2: get course offerings( ) 4: get course offerings( ) 3: get course offerings(forSemester) : RegistrationController : CourseCatalogSystem Biểu đồ giao tiếp 8/24/2011 Biểu đồgiao tiếp: Đối tượng Biểu đồgiao tiếp: Tác nhân : RegisterForCoursesForm : RegisterForCoursesForm : Course Catalog : Student Đối tượng (Object) Tác nhân (Actor) SWTSU Catalog : CourseCatalogSystem : RegistrationController : RegistrationController Nội dung biểu đồgiao tiếp: Các liên kết thông điệp Thông điệp (message) : RegisterForCoursesForm : Student SD CD - Giống Tương đương vềngữnghĩa … 5: display course offerings( ) 6: display blank schedule( ) 1: create schedule( ) 2: get course offerings( ) SWTSU Catalog : CourseCatalogSystem Liên kết (Link) : Course Catalog 4: get course offerings( ) 3: get course offerings(forSemester) : RegistrationController : CourseCatalogSystem SD CD – Khác a ·?Jー? · ‹? ぇ a ·?Jー?£ \›? fi