Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 5: Mô hình hóa hành vi, mô hình hóa sự tương tác

Hành vi (behavior) là cách hành động, cách cư xử của

một hệ thống

 Mô hình hóa hành vi là sự diễn tả khía cạnh động của hệ

thống.

 Có 3 cách tiếp cận hành vi hệ thống

 Hành vi thể hiện trong sự tương tác giữa các đối tượng, tạo nên

kịch bản

 Hành vi biểu lộ cách ứng xử của mỗi đối tượng trước các sự kiện

xảy ra với nó

 Hành vi bộc lộ ở công việc và luồng công việc

 UML có những biểu đồ khác nhau đáp ứng 3 cách tiếp

cận đó với hành vi của hệ thống

pdf39 trang | Chuyên mục: Thiết Kế Hướng Đối Tượng Với UML | Chia sẻ: dkS00TYs | Lượt xem: 2750 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 5: Mô hình hóa hành vi, mô hình hóa sự tương tác, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Nếu cần làm rõ thời kỳ hoạt động của đối tượng thì đưa thêm tiêu 
trình điều khiển
 Nếu làm rõ ràng buộc thời gian thì thêm các ký hiệu và nếu cần đưa 
thêm tiền điều kiện, hậu điều kiện nếu cần
Phân tích thiết kế hướng đối tượng Bài - 17/34
Biểu đồ trình tự
 Thí dụ: Gọi điện thoại
Hệ thống điện thoại
1: Nhấc máy
2: Tín hiệu sẵn sàng 
3: Quay số
4: Chuông
5: Chuông phản hồi
6: Nhấc máy
7: Hội thoại
Người gọi
Người nghe
Phân tích thiết kế hướng đối tượng Bài - 18/34
Mô tả đối tượng trong biểu đồ tương tác
 Đặc tả đối tượng
 Đặt tên
 Ánh xạ sang lớp
 Duy trì
 Đa hiện thực
Phân tích thiết kế hướng đối tượng Bài - 19/34
Mô tả đối tượng trong biểu đồ tương tác
 Đặt tên đối tượng
 Tên đối tượng là cụ thể, tên lớp là tên khái quát
 Ánh xạ đối tượng sang lớp
 Mỗi đối tượng trong biểu đồ tương tác được ánh xạ sang lớp
 Thí dụ, Máy bay số VN358 ánh xạ sang lớp Máy bay
 Có thể ánh xạ vào lớp mới hay lớp có sẵn trong biểu đồ
 Lựa chọn duy trì cho đối tượng
 Persistent: có thể lưu trữ vào CSDL hay theo khuôn dạng khác
 Static: tồn tại trong bộ nhớ cho đến khi chương trình kết thúc
 Transient: tồn tại trong bộ nhớ với khoảng thời gian ngắn
 Đa hiện thực đối tượng (Multiple Instance)
 UML có ký pháp dành cho đa hiện thực lớp
 Thể hiện danh sách (nhân viên) trong biểu đồ
 Ký pháp đồ họa đa hiện thực đối tượng trong
biểu đồ cộng tác
Employees : 
Person
Phân tích thiết kế hướng đối tượng Bài - 20/34
Xây dựng biểu đồ trình tự
 Sau khi vẽ đối tượng trong 
biểu đồ, cần
 vẽ liên kết các đối tượng
 bổ sung thông điệp cho 
chúng
 Đặc tả thông điệp
 Đặt tên thông điệp
 Ánh xạ thông điệp vào thao 
tác
 Đặt đặc tính đồng bộ cho 
thông điệp
 Đặt tần số cho thông điệp
Phân tích thiết kế hướng đối tượng Bài - 21/34
Xây dựng biểu đồ trình tự
 Đặc tả thông điệp
 Đặt tên thông điệp
 Tên chỉ ra mục tiêu của thông điệp
 Ánh xạ thông điệp vào thao tác
 Trước khi phát sinh mã trình phải ánh xạ mọi thông điệp thành thao 
tác
 Đặt tần số cho thông điệp
 Đánh dấu thông điệp sẽ được gửi đều đặn, thí dụ mỗi 30s
 Hai loại
 Periodic: cho biết thông điệp được gửi đều đặn theo chu kỳ
 Aperiodic: cho biết thông điệp không được gửi đều đặn mà được gửi một 
lần hay theo thời điểm không đều
 Đặc tả đặc tính tương tranh cho thông điệp
Phân tích thiết kế hướng đối tượng Bài - 22/34
Xây dựng biểu đồ trình tự
 Đặc tả thông điệp
 Đặt tên thông điệp
 Ánh xạ thông điệp vào thao tác
 Đặt tần số cho thông điệp
 Đặt đặc tính tương tranh cho thông điệp
 Đơn (Simple): Giá trị mặc định của thông điệp, cho biết thông điệp chạy trong 
đơn tiến trình
 Đồng bộ (Synchronous): Client gửi thông điệp, chờ đến khi Supplier xử lý xong 
thông điệp
 Cản trở (Balking / Rendez-vous): Client gửi thông điệp, nếu Supplier không sẵn 
sàng xử lý ngay thông điệp hủy bỏ
 Hết hạn (Timeout): Client gửi thông điệp chờ đến Supplier xử lý trong khoảng 
thời gian nhất định
 Dị bộ (Asynchronous): Client gửi thông điệp không chờ để Supplier xử lý xong mà 
tiếp tục làm công việc khác
 Lời gọi thủ tục (Procedure Call): Client gửi thông điệp đến Supplier, chờ đến khi 
mọi trình tự lặp của các thông điệp được xử lý xong (mũi tên đặc)
 Trở về (Return): Mô tả trở về từ lời gọi thủ tục (mũi tên nét đứt)
Phân tích thiết kế hướng đối tượng Bài - 23/34
Xây dựng biểu đồ trình tự
Client Supplier
1: Simple Message
Client Supplier
1: Sychronous Message
Client Supplier
1: Balking Message
Client Supplier
1: Timeout Message
Client Supplier
1: Asynchronous Message
Client Supplier
1: Procedure Call
2: Return Message
Client Supplier
1: Procedure Call
Các loại đồng bộ thông điệp
trong biểu đồ trình tự
Phân tích thiết kế hướng đối tượng Bài - 24/34
Lifeline trong biểu đồ trình tự
 Từ phiên bản Rose 2001A trở đi có khả năng
 Biểu diễn đối tượng vào thời điểm nó được tạo lập ra 
 Đánh dấu kết thúc lifeline nơi nó bị phá hủy
Object1 Object2
Object3
Object4
1: Perform function
2: Instantiate
3: Perform some processing
4: Destroy
5: Perform some more processing
Phân tích thiết kế hướng đối tượng Bài - 25/34
Scripts trong biểu đồ trình tự
 1996 Buschman bổ sung scripts cho biểu đồ trình tự của UML
 Diễn tả chú thích làm rõ các thông điệp
 Diễn tả điều kiện logíc trong biểu đồ
 Biểu diễn tổng quát của scripts
Object A Object B
1: *[X] Message
* - Ký hiệu lặp
[] – Ký hiệu điều kiện lặp
Phân tích thiết kế hướng đối tượng
Bài - 26/34
Ví dụ: chọn môn giảng/thêm lớp
 : Thay giao : W_Thay : W_LopGiang : QLLopThay : LopGiangtoan : MonHoc
dangNhap(mk) KiemTraMK
yc/ChonHK
chonHK
ycChonViec
chonThem
hienThi()
chonMon(toan)
layLopGiang()
layLopGiang() layLopGiang()
ketQua
ketQua
ketQua
hienThi()
chonLopGiang()
nhanLopGiang()
themThay() themThay()
Phân tích thiết kế hướng đối tượng Bài 5 - 27/38
Nội dung chính
 Cách xây dựng biểu đồ tương tác
 Biểu đồ trình tự
 Biểu đồ cộng tác
Phân tích thiết kế hướng đối tượng
Bài 28/34
Biểu đồ cộng tác
 Tương tự biểu đồ trình tự, biểu đồ cộng tác (Collaboration 
diagram) chỉ ra luồng thực hiện trong kịch bản của UC
 Biểu đồ cộng tác tập trung vào 
 quan hệ giữa các đối tượng
 cấu trúc tổ chức của các đối tượng
 luồng dữ liệu trong kịch bản
 Tương đối khó quan sát trình tự các thông điệp trong biểu 
đồ cộng tác
 Do vậy, các dự án thường hay xây dựng cả hai loại biểu đồ này
 Trong Rose: Có thể tự động chuyển đổi qua lại giữa biểu đồ trình 
tự và biểu đồ cộng tác (nhấn phím F5)
Phân tích thiết kế hướng đối tượng Bài - 29/34
Thí dụ biểu đồ cộng tác
 Thí dụ: Luồng sự kiện Khách hàng đặt chỗ cho chuyến bay
: Customer
Credit 
Form
Credit 
Processor
: Credit System
Confirmation 
Form
Invalid Credit 
Form
4: ReserveSite
5: GenerateConfirmationCode
1: SubmitCreditInfo
2: CheckCredit
3: CheckCredit
6: DisplayConfirmation
9: Display
7: DisplayConfirmation
8: Confirm
Phân tích thiết kế hướng đối tượng Bài - 30/34
Biểu đồ cộng tác
 Cả biểu đồ trình tự và biểu đồ cộng tác đều mô tả luồng điều khiển 
trong kịch bản
 Khác biệt giữa biểu đồ trình tự và biểu đồ cộng tác
 biểu đồ cộng tác mô tả luồng dữ liệu 
 biểu đồ trình tự không mô tả luồng dữ liệu
 Luồng dữ liệu được sử dụng để mô tả thông tin trả lại khi một đối 
tượng gửi thông điệp đến đối tượng kia
 Không nên bổ sung mọi luồng dữ liệu bào biểu đồ vì nó sẽ làm rối
 Sử dụng nó khi thấy cần thiết
 Thông điệp được biểu diễn bằng mũi tên nhỏ vẽ dọc theo một kết nối 
giữa hai đối tượng
Object1 Object2
1: Perform function
Data flow
Phân tích thiết kế hướng đối tượng Bài - 31/34
Biểu đồ cộng tác
 Cả biểu đồ trình tự và biểu đồ cộng tác đều mô tả luồng điều khiển 
trong kịch bản
 Khác biệt giữa biểu đồ trình tự và biểu đồ cộng tác
 biểu đồ cộng tác mô tả luồng dữ liệu 
 biểu đồ trình tự không mô tả luồng dữ liệu
 Luồng dữ liệu được sử dụng để mô tả thông tin trả lại khi một đối 
tượng gửi thông điệp đến đối tượng kia
 Không nên bổ sung mọi luồng dữ liệu bào biểu đồ vì nó sẽ làm rối
 Sử dụng nó khi thấy cần thiết
Object1 Object2
1: Perform function
Data flow
Phân tích thiết kế hướng đối tượng Bài - 32/34
Biểu đồ cộng tác
 Thông điệp được biểu diễn bằng mũi tên nhỏ vẽ dọc theo một kết nối 
giữa hai đối tượng
 Tiêu đề của thông điệp có cú pháp
 Trả lời:=tên thông điệp (ds tham số)
 Biểu thức trình tự: là dãy số theo sau là dấu hai chấm (:) diễn tả trình tự 
tiếp nỗi các thông điệp
 Ví dụ: Thông điệp 2.1.3 tiếp sau thông điệp 2.1.2 và cả 2 đều được gửi đi 
bởi cùng thao tác thực hiện thông điệp 2.1.
 Trả loài là tên của kết quả trả về bên gửi. Tên này có thể là một thuộc 
tính của đối tượng gửi.
 Tên Thông điệp (ds tham số): là tên của thông điệp kèm theo danh sách 
tham số, tên này thường lấy trùng với thao tác cần được huy động ở bên 
nhận
Phân tích thiết kế hướng đối tượng Bài - 33/34
Xây dựng biểu đồ cộng tác
 Xem lai các lớp tham gia ca sử dụng để xác định cá thể 
của lớp nào tham gia thực sự vào kịch bản đang xét
 Vẽ các đối tượng như là đỉnh của đồ thị. Bố trí đối tượng 
quan trọng vào giữa, đối tượng khác ở xung quanh
 Xã định các kết nỗi giữa các đối tượng cùng các thông 
điệp có thể có trên đó
 Vẽ liên kết trước, vẽ các kết nỗi và ghi chú khuôn dập nếu cần
 Xuất phát với thông điệp khởi đầu tương tác, bố trí các 
thông điệp tiếp theo trên các kết nối, thêm các số tự tự
Phân tích thiết kế hướng đối tượng Bài - 34/34
 : W_Thay
 : Thay giao
 : W_LopGiang
 : LopGiang
toan : MonHoc
2: KiemTraMK
15: hienThi()
 : QLLopThay
7: hienThi()
1: dangNhap(mk)
4: chonHK
5: ycChonViec
6: chonThem
3: yc/ChonHK
8: chonMon(toan)
16: chonLopGiang()
9: layLopGiang()
17: nhanLopGiang()14: ketQua
10: layLopGiang()
18: themThay()
13: ketQua
11: layLopGiang()
19: themThay()
12: ketQua
Phân tích thiết kế hướng đối tượng Bài - 35/34
Tóm tắt
 Bài này đã xem xét các vấn đề sau
 Các loại biểu đồ tương tác
 Biểu đồ trình tự
 Biểu đồ cộng tác
 Tìm kiếm đối tượng, thông điệp của luồng sự kiện trong 
UC
 Đặc tả các phần tử mô hình xây dựng biểu đồ tương tác
 Kỹ thuật xây dựng biểu đồ trình tự
 Kỹ thuật xây dựng biểu đồ cộng tác
Phân tích thiết kế hướng đối tượng Bài - 36/34
Bài tập
1. Biểu đồ tương tác dùng để làm gì. 
2. Phân biệt hai kiểu biểu đồ tương tác: biểu đồ tuần 
tự và biểu đồ cộng tác 
3. Một liên kết trong biểu đồ cộng tác biểu diễn cái gì
4. Các biểu đồ tương tác được xây dựng chủ yếu dựa 
trên nguồn nào sau đây: 
A. Biểu đồ trạng thái 
B. Các biểu đồ use case 
C. Biểu đồ lớp 
D. Biểu đồ hoạt động 
Phân tích thiết kế hướng đối tượng Bài - 37/34
Biểu đồ tuần tự (sequence diagram) nào sau đây là không phù hợp 
nếu nó nằm trong cùng mô hình với biểu đồ họat động đã cho. Giải 
thích
Phân tích thiết kế hướng đối tượng Bài - 38/34
Biểu đồ tuần tự (sequence diagram) 
Giải quyết PIN không hợp lệ”. 
Phân tích thiết kế hướng đối tượng Bài - 39/34
Biểu đồ tuần tự (sequence diagram) 
Rút tiền

File đính kèm:

  • pdfBài giảng Phân tích thiết kế hướng đối tượng - Vũ Thị Dương - Bài 5 Mô hình hóa hành vi, mô hình hóa sự tương tác.pdf
Tài liệu liên quan