Tải bản đầy đủ (.pdf) (30 trang)

Bài giảng Phân tích và thiết kế hướng đối tượng: Phân tích kiến trúc - Đỗ Ngọc Như Loan

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 30 trang )

Phân tích kiến trúc


Nội dung trước
Quản lý yêu cầu:
 Giới thiệu
 Chi tiết quản lý u cầu
 Các kỹ năng
Mơ hình hố đối tượng
Class & Class Diagram

5 – Interaction Diagram – Class Diagram

2


Nội dung
Use-case Realization
 Class Diagram
 Interaction Diagram
 Sequence Diagram

 Collaboration Diagram

5 – Interaction Diagram – Class Diagram

3


Phân tích thiết kế hướng đối tượng
Việc phân tích thiết kế hướng đối tượng được hệ thống hóa như


sau:
 Phân tích Use case :
 Tìm Actor
 Tìm Use case
 Xây dựng biểu đồ Use case
 Tìm lớp:
 Lớp
 Gói
 Xây dựng biểu đồ lớp
 Xây dựng biểu đồ đối tượng
 Phân tích sự tương tác giữa các đối tượng
 Kịch bản
 Xây dựng biểu đồ trình tự
 Xây dựng biểu đồ hợp tác
5 – Interaction Diagram – Class Diagram

4


Phân tích thiết kế hướng đối tượng
 Xác định quan hệ giữa các đối tượng
 Quan hệ Association
 Quan hệ Generalization
 Quan hệ Dependency
 Quan hệ Realization
 Thêm vào các thuộc tính và phương thức cho các lớp
 Xác định ứng xử của đối tượng
 Xây dựng biểu đồ chuyển trạng
 Xây dựng biểu đồ hoạt động
 Xác định kiến trúc của hệ thống

 Xây dựng biểu đồ thành phần
 Xây dựng biểu đồ triển khai.
 Kiểm tra lại mô hình.

5 – Interaction Diagram – Class Diagram

5


Xây dựng biểu đồ tương tác
 Bắt đầu từ luồng sự kiện
 Xây dựng từng biểu đồ cho
 Luồng chính, luồng thay thế, luồng lỗi
 Có thể gộp nếu luồng thay thế hay luồng lỗi tương tự
nhau
 Sử dụng mẫu (Pattern) xây dựng Interaction Diagram 
giảm thời gian
 Các mẫu chung: Khai thác CSDL, quản lý lỗi,…
 Các bước xây dựng:
 Tìm kiếm đối tượng
 Tìm kiếm tác nhân
 Bổ sung messege
5 – Interaction Diagram – Class Diagram

6


Tìm kiếm đối tượng
 Khảo sát các danh từ trong luồng sự kiện


 Tìm đối tượng trong tài liệu kịch bản
 Kịch bản (scenario): hiện thực của luồng sự kiện
 Mỗi luồng có nhiều scenario
 Mỗi UC có thể có nhiều Interaction diagram

 Tìm đối tượng khơng được mơ tả trong luồng sự kiện
 Các đối tượng cho phép tác nhân nhập và quan sát thông tin
 Các đối tượng tham gia điều khiển trình tự luồng xuyên qua UC

 Tìm đối tượng tương ứng với khái niệm trừu tượng
5 – Interaction Diagram – Class Diagram

7


Tìm kiếm đối tượng
 Các biểu đồ:
 Mức cao: chỉ ra hệ thống giao tiếp như thế nào
 Mức thấp: để chỉ ra lớp nào cần tham gia vào scenario
 Các nhóm đối tượng được phân ra:
 Entity:
• Lưu trữ thơng tin, có thể ánh xạ sang bảng (trường của
CSDL)
• Nhiều danh từ trong luồng sự kiện thuộc loại này
 Boundary:
• Tại biên hệ thống và thế giới ngồi (Interface)
 Control:
• Bổ sung, khơng thực hiện chức năng nghiệp vụ
• Điều phối các đối tượng và điều khiển toàn bộ luồng logic.
5 – Interaction Diagram – Class Diagram


8


Tìm kiếm các tác nhân
 Xác định đối tượng  tìm kiếm tác nhân
 Tác nhân: là sự kích hoạt từ ngồi để khởi
động luồng cơng việc và luồng sự kiện
 Tìm kiếm tác nhân trong luồng sự kiện
 Ai hay cái gì khởi xướng tiến trình?

 Có thể có nhiều tác nhân nhận và gửi

message cho hệ thống
5 – Interaction Diagram – Class Diagram

9


Xây dựng biểu đồ tương tác
 Các thành phần của Interaction Diagram
 Objects
• Biểu đồ tương tác sử dụng tên đối tượng, tên lớp
hay cả hai
 Messages
• Thơng qua message. Một đối tượng hay lớp có thể
yêu cầu lớp hay đối tượng khác thực hiện vài chức
năng cụ thể
 Links
• Quan hệ kết hợp giữa các đối tượng

 Notes: chú thích và ràng buộc
5 – Interaction Diagram – Class Diagram

10


Xây dựng biểu đồ tương tác – Interaction Diagram
 Biểu đồ tương tác: gán trách nhiệm cho đối tượng

 Gán trách nhiệm cho đối tượng nhận message
 Gán trách nhiệm cho đối tượng phải phù hợp
 Dựa trên các loại lớp để cân nhắc hình thành trách nhiệm
cho chúng
 Entity: lưu trữ thông tin, thực hiện chức năng nghiệp vụ
 Boundary: form, windows, interface
 Control: theo dõi trình tự thực hiện

5 – Interaction Diagram – Class Diagram

11


Biểu đồ trình tự - Sequence Diagram
 Sequence là biểu đồ theo thứ tự thời gian

 Đọc từ đỉnh xuống đáy
 Đọc biểu đồ bằng quan sát các đối tượng và thơng
điệp
 Vịng đời đối tượng (Lifeline)
• Bắt đầu khi hình thành, kết thúc khi phá hủy

• Message được vẽ giữa 2 đối tượng: đối tượng gọi
hàm đối tượng khác

• Messge phản thân
5 – Interaction Diagram – Class Diagram

12


Ví dụ

5 – Interaction Diagram – Class Diagram

13


Ví dụ
 Sequence Diagram cho hoạt động rút tiền ở ATM

5 – Interaction Diagram – Class Diagram

14


Sequence Diagram
 Trục tọa độ, trục ngang thể hiện các đối tượng, trục
đứng thể hiện thời gian.
 Chúng ta, dễ dàng nhận thấy các đối tượng tương tác
với nhau theo tuần tự các bước để hình thành nên chức
năng của hệ thống.

 Object mô tả một đối tượng trong hệ thống. Để phân
biệt với Class, Object có dấu “:” phía trước tên của nó
 Đường gạch chấm bên dưới đối tượng thể hiện thời gian
sống của đối tượng.
 Mũi tên thể hiện thông điệp từ một đối tượng này tương
tác với một đối tượng khác.

5 – Interaction Diagram – Class Diagram

15


Ví dụ
Thiết kế Sequence Diagram cho use case
“Xem sản phẩm theo loại”

5 – Interaction Diagram – Class Diagram

16


Ví dụ

5 – Interaction Diagram – Class Diagram

17


Mô tả đối tượng
 Đặc tả đối tượng

 Đặt tên

 Ánh xạ lớp
 Detail / Persistent
 Multiplicity

5 – Interaction Diagram – Class Diagram

18


Các đối tượng trong biểu đồ
 Đặt tên đối tượng
 Ánh xạ đối tượng sang lớp
 Có thể ánh xạ sang lớp mới hay lớp có sẵn
 Lựa chọn duy trì đối tượng
 Persistent: có thể lưu trữ vào CSDL hay 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ạo trong bộ nhớ khoảng thời gian ngắn
 Đa thực hiện (Multiple Instance)

5 – Interaction Diagram – Class Diagram

19


Xây dựng biểu đồ
 Sau khi vẽ đối tượng:


 Vẽ liên kết các đối tượng
 Bổ sung message
 Đặc tả thông điệp
 Đặt tên
 Ánh xạ vào thao tác
 Đặt tính đồng bộ
 Đặt tần số

5 – Interaction Diagram – Class Diagram

20


Xây dựng biểu đồ
 Đặc tả message
 Đặt tên: chỉ mục tiêu 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 xa mọi thông điệp
vào 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 (mỗi 30s)
• Có 2 loại
– Periodic: message được gởi đều đặn theo chu kỳ
– Aperiodic: không được gởi đều đặn mà chỉ được gởi
1 lần hay theo thời điểm không đều
 Đặc tả đặc tính tương tranh cho message
5 – Interaction Diagram – Class Diagram

21



Đặc tả tính tương tranh cho mesage
 Đơn (Simple): mặc định, message chạy trong tiến trình đơn
 Đồng bộ (Synchronous): client gởi message, chờ khi supllier
xử lý xong
 Cản trở (Balking/Rendez-vous): client gửi message, supplier
không sẵn sàng xử lý ngay  message hủy bỏ
 Hết hạn (Timeout): client gửi message chờ supplier xử lý sau
một khoảng thời gian, nếu không xử lý  hủy message
 Dị bộ (Asynchronous): client gửi message rồi tiếp tục thao tác
khác không chờ đến khi supplier xử lý xong.
 Lời gọi thủ tục (Procedure call): chờ đến khi mọi trình tự lặp
của message được xử lý xong. (mũi tên đặc)
 Trả về (Return): trở về từ lời gọi thủ tục (mũi tên nét đứt)
5 – Interaction Diagram – Class Diagram

22


Các loại đồng bộ thông điệp

5 – Interaction Diagram – Class Diagram

23


Lifetime trong biểu đồ trình tự

5 – Interaction Diagram – Class Diagram


24


Script trong biểu đồ trình tự
 1996 Buschman bổ sung script cho sequence diagram
trong UML
 Diển tả chú thích, làm rõ các thông điệp
 Diễn tả điều kiện logic trong biểu đồ

5 – Interaction Diagram – Class Diagram

25


×