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
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Bài 11. Biểu đồ tương tá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
Nội dung
1.
2.
3.
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
1.
2.
3.
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 bằng thông điệp
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
Thông điệp
getCourseOfferings(forSemester)
: Car buyer
:RegistrationController
:CourseCatalogSystem
1
8/24/2011
Biểu đồ tương tác là gì?
Biểu đồ tương tác (Interaction diagram)
Mơ hình hóa phương diện động của hệ thống
Thể hiện tương tác giữa các đối tượng.
Các biểu đồ tương tác
Biều đồ trình tự
Biểu đồ giao tiếp
(Sequence diagram)
(Communication diagram)
(Timing Diagram)
(Interaction Overview Diagram)
Biểu đồ tương tác
Biểu đồ thời gian
Biểu đồ tương tác tổng quan
Biểu đồ thời gian
Biểu đồ tuần tự
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)
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)
2
8/24/2011
Biểu đồ trình tự
(Sequence Diagram – SD)
Nội dung
1.
2.
3.
Biểu đồ tương tác
Biểu đồ trình tự
Biểu đồ giao tiếp
Là một loại biểu đồ tương tác.
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 chính nó
(Reflexive/self-call Message)
Thơng điệp
(Message)
Trả về
(Return)
3
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( )
Tố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 là gì?
1.
2.
3.
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 cá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
4
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 của biểu đồ giao tiếp:
Các liên kết và thông điệp
SWTSU Catalog
: CourseCatalogSystem
SD và CD - Giống nhau
Tương đương về ngữ nghĩa
…
Thông điệp
(message)
5: display course offerings( )
6: display blank schedule( )
1: create schedule( )
: RegisterForCoursesForm
: Student
2: get course offerings( )
Liên kết
(Link)
: Course Catalog
4: get course offerings( )
3: get course offerings(forSemester)
: RegistrationController
: CourseCatalogSystem
SD và CD – Khác nhau
Biểu đồ tuần tự
Biểu đồ giao tiếp
5