Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 89 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
89
Dung lượng
2,79 MB
Nội dung
Thiết kế kiến trúc – Thiết kế kiến trúc: Use-case & Class Diag Nội dung trước Các biểu đồ Activity Diagram State Diagram Component Diagram Deployment Diagram – Thiết kế kiến trúc: Use-case & Class Diag Nội dung Thiết kế kiến trúc: Tìm hiểu mục đích Thiết kế kiến trúc Diễn giải chế thiết kế, cài đặt gán chúng từ giai đoạn phân tích Subsystems interfaces Thiết kế Use-Case Kiểm tra tính quán Use- case Tinh chỉnh Use-case realization Thiết kế Class – Thiết kế kiến trúc: Use-case & Class Diag Các loại chế kiến trúc Các chế phân tích (conceptual) Các chế thiết kế (concrete) Các chế cài đặt (actual) – Thiết kế kiến trúc: Use-case & Class Diag Các chế phân tích mẫu Persistency: Cơ chế bền vững tồn lâu dài Communication: Cơ chế trao đổi liệu Message routing: Cơ chế trao đổi thông điệp Distribution: Cơ chế xử lý liệu phân tán Transaction management: Cơ chế quản lý giao tác Process control and synchronization (resource contention): quản lý tiến trình Information exchange, format coversion: trao đổi liệu với phần mềm khác, chuyển đổi định dạng liệu Security: chế bảo mật Error detection/ handling /reporting: chế xử lý lỗi Redundancy: chế xử lý thông tin dư thừa Legacy Interface: chế giao tiếp với hệ thống tồn – Thiết kế kiến trúc: Use-case & Class Diag Ví dụ Các chế phân tích sử dụng ứng dụng “Đăng ký học phần: Persistency Security Distribution Legacy Interface – Thiết kế kiến trúc: Use-case & Class Diag Ví dụ Ánh xạ Analysis-Class với chế kiến trúc có từ bước phân tích Use-case – Thiết kế kiến trúc: Use-case & Class Diag Cơ chế thiết kế cài đặt – Thiết kế kiến trúc: Use-case & Class Diag Cơ chế Persistence Mô tả hành vi liên quan đến chế Persistence Mơ hình hóa Transaction Lưu (ghi) Persistent Object Đọc Persistent Object Hủy Persistent Object – Thiết kế kiến trúc: Use-case & Class Diag Thiết kế kiến trúc Thiết kế lớp: thiết kế thuộc tính, method mối kết hợp Kiến trúc ba tầng thiết kế phần mềm Thiết kế use case Quá trình thiết kế lớp tầng truy cập liệu: xác định lớp, thuộc tính, method mối kết hợp qua việc phân tích use case Thiết kề lớp tầng giao diện: xác định lớp, xây dựng mẫu (prototype), xác định thuộc tính method qua việc phân tích use case Mơ hình hố use case thực hoá dùng sơ đồ lớp, sơ đồ tương tác Nâng cấp kiến trúc việc phân chia hệ thống thành gói (package) – Thiết kế kiến trúc: Use-case & Class Diag 10 Dependency & Association Association quan hệ cấu trúc Dependency quan hệ phi cấu trúc Để nói chuyện được, object phải khả kiến Tham chiếu đến biến cục Tham chiếu đến tham số Tham chiếu toàn cục Tham chiếu đến trường liệu (Field) – Thiết kế kiến trúc: Use-case & Class Diag 75 Local variable visibility Operation op1() chứa biến cục có kiểu ClassB – Thiết kế kiến trúc: Use-case & Class Diag 76 Parameter Visibility Thể ClassB truyền đến cho thể ClassA – Thiết kế kiến trúc: Use-case & Class Diag 77 Global Visibility Thể Class Utility khả kiến với đối tượng tồn cục (global) – Thiết kế kiến trúc: Use-case & Class Diag 78 Dependency hay Association Bám vào quan hệ giới thực Bám vào quan hệ yếu (dependency) Quan hệ thường trực.? Dùng association (field visibility) Quan hệ thời.? Dùng dependency Nhiều object chia sẻ chung instance • Truyền instance tham số (parameter visibility) • Đặt instance global (global visibility) Các object không chia sẻ instance (local visibility) Cần thời gian để create/destroy? Chi phí ? Dùng field, parameter, global visibility Chọn lựa đúng? CÒN TÙY – Thiết kế kiến trúc: Use-case & Class Diag 79 Tinh chỉnh mối quan hệ Xem xét lại Cân nhắc Association Aggregation Cân nhắc Aggregation Composition Cân nhắc Attribute Association Chiều quan hệ (Navigability) Thiết kế Association class Thiết kế số (Multiplicity design) Xem lại giảng phân tích class quan hệ class – Thiết kế kiến trúc: Use-case & Class Diag 80 Parameterized Class (template) gì? Là class dùng để định nghĩa class khác Thường dùng cho container class Một số container class thơng dụng: • Set, list, dictionary, stack, queue, … – Thiết kế kiến trúc: Use-case & Class Diag 81 Thể Parameterized Class Kết buộc tường minh – Thiết kế kiến trúc: Use-case & Class Diag Kết buộc ẩn 82 Ví dụ – Thiết kế kiến trúc: Use-case & Class Diag 83 Optionality Nếu link tùy chọn, chèn thêm operation để kiểm tra tồn link – Thiết kế kiến trúc: Use-case & Class Diag 84 Nhắc lại quan hệ tổng quát hóa Rất dễ nhầm lẫm Generalization aggregation Generalization biểu diễn quan hệ “là một” hay “dạng của” Aggregation biểu diễn quan hệ “một phận của” ????? – Thiết kế kiến trúc: Use-case & Class Diag 85 Tinh chỉnh quan hệ Một WindowWithScrollbar ”là một” Window Một WindowWithScrollbar “chứa một” Scrollbar – Thiết kế kiến trúc: Use-case & Class Diag 86 Sử dụng quan hệ tổng qt hóa Chia sẻ thuộc tính hành vi chung Chia sẻ cài đặt Cài đặt chế Polymorphism … – Thiết kế kiến trúc: Use-case & Class Diag 87 Thực hành – Thiết kế kiến trúc: Use-case & Class Diag 88 Thực hành Làm việc với công cụ Rational Rose Thiết kế Use-case & Class Tinh chỉnh lại sơ đồ Chuẩn bị hoàn tất đồ án – Thiết kế kiến trúc: Use-case & Class Diag 89