phân tích kiến trúc - nhuloan.weebly.com · kịch bản (scenario): hiện thực của...
TRANSCRIPT
5 – Interaction Diagram – Class Diagram
Nội dung trước
2
Quản lý yêu cầu:
Giới thiệu
Chi tiết quản lý yêu cầu
Các kỹ năng
Mô hình hoá đối tượng
Class & Class Diagram
5 – Interaction Diagram – Class Diagram 3
Nội dung
Use-case Realization
Class Diagram
Interaction Diagram
Sequence Diagram
Collaboration Diagram
5 – Interaction Diagram – Class Diagram
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
4
5 – Interaction Diagram – Class Diagram
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
5 – Interaction Diagram – Class Diagram
Xây dựng biểu đồ tương tác
6
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
Tìm kiếm đối tượng
7
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
Tìm kiếm đối tượng
8
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 ngoà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
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ừ ngoà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
9
5 – Interaction Diagram – Class Diagram
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
10
5 – Interaction Diagram – Class Diagram
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
11
5 – Interaction Diagram – Class Diagram
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
12
5 – Interaction Diagram – Class Diagram
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.
15
5 – Interaction Diagram – Class Diagram
Ví dụ
Thiết kế Sequence Diagram cho use case “Xem sản phẩm theo loại”
16
5 – Interaction Diagram – Class Diagram
Mô tả đối tượng
Đặc tả đối tượng
Đặt tên
Ánh xạ lớp
Detail / Persistent
Multiplicity
18
5 – Interaction Diagram – Class Diagram
Các đối tượng trong biểu đồ
19
Đặ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
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ố
20
5 – Interaction Diagram – Class Diagram
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
21
5 – Interaction Diagram – Class Diagram
Đặ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)
22
5 – Interaction Diagram – Class Diagram
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 đồ
25
5 – Interaction Diagram – Class Diagram
Biểu đồ cộng tác
Collaboration diagram: chỉ ra luồng thực hiện trong kịch
bản của UC
Tập trung vào:
Quan hệ giữa các đối tượng
Cấu trúc tổ chức 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
Nên thường phải đi kèm Sequence diagram
Chuyển đổi qua lại bằng phím F5
27