Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Báo cáo khoa học, luận văn tiến sĩ, luận văn thạc sĩ, nghiên cứu - Khoa Học - Science Phân tích kiến trúc 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ò...
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)