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 cung cấp cho người học các kiến thức: Class diagram, interaction diagram, sequence diagram, collaboration diagram. Mời các bạn cùng tham khảo.
Trang 1Phân tích kiến trúc
Trang 2Nội dung trước
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
Trang 4Phâ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ư
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ự
Trang 5Phâ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
Trang 6Xâ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
Trang 7Tì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
Trang 8Tì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:
Trang 9Tì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
Trang 10Xây dựng biểu đồ tương tác
Các thành phần của Interaction Diagram
Links
• Quan hệ kết hợp giữa các đối tượng
Notes: chú thích và ràng buộc
Trang 11Xâ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
Trang 12Biể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
Trang 13Ví dụ
Trang 14Ví dụ
Sequence Diagram cho hoạt động rút tiền ở ATM
Trang 15Sequence 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
Trang 16Ví dụ
Thiết kế Sequence Diagram cho use case
“Xem sản phẩm theo loại”
Trang 17Ví dụ
Trang 18Mô tả đối tượng
Trang 19Cá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)
Trang 20Xây dựng biểu đồ
Sau khi vẽ đối tượng:
Vẽ liên kết các đối tượng
Trang 21Xâ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
Trang 22Đặ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
Trang 23Các loại đồng bộ thông điệp
Trang 24Lifetime trong biểu đồ trình tự
Trang 25Script 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 đồ
Trang 26Script trong biểu đồ
Trang 27Biể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
Trang 28Ví dụ
Trang 29Thực hành
Trang 30Thực hành
Làm việc với công cụ Rational Rose
Class Diagram (xem demo)
Interaction Diagram
Sequence Diagram (xem demo)
Collaboration Diagram(xem demo)