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