1. Trang chủ
  2. » Công Nghệ Thông Tin

08 design elements 97

15 121 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Design Elements Unified Modeling Language Mơ hình hóa thiết kế Giảng viên: Mai Thúy Nga Nội dung môn học Giới thiệu PTTK hướng đối tượng với UML Khái niệm Hướng đối tượng UML Đặc tả Yêu cầu với mơ hình Use Case II Tổng quan Phân tích Thiết kế Phân tích Use Case II OOAD using UML Phân tích Use Case I Ơn tập Mơ hình hóa Thiết kế Design Elements Đặc tả u cầu với mơ hình Use Case I 8-3 8-1 Design Elements Nội dung trình bày Mơ hình thiết kế lớp thiết kế Hệ thống (Subsystem) Tính sử dụng lại (Reusability) Mơ hình phân tầng q trình thiết kế Design Elements 8-4 Mơ hình thiết kế Kiến trúc dự án Hướng dẫn dự án Đặc tả yêu cầu Tìm kiếm thành phần mơ hình thiết kế Mơ hình thiết kế Mơ hình phân tích Design Elements OOAD using UML 8-5 8-2 Design Elements Chuyển đổi lớp phân tích thành thành phần thiết kế Lớp phân tích Thành phần thiết kế Ánh xạ Nhiều – Nhiều Design Elements 8-6 Tìm kiếm lớp thiết kế Một lớp phân tích ánh xạ trực tiếp thành lớp thiết kế Mức độ trừu tượng hóa đơn giản Các lớp phân tích phức tạp có thể: Chia thành nhiều lớp thiết kế có quan hệ với • Có thể sử dụng kiểu quan hệ tổng quát hóa tập hợp (generalization, aggregation) Có thể gói lớp (package) Có thể hệ thống (subsystem) Hoặc hình thức kết hợp Design Elements OOAD using UML 8-7 8-3 Design Elements Nhóm lớp thiết kế (package) (1) Nhóm lớp gói Thay ñổi lớp làm ảnh hưởng tới lớp lại ðối tượng lớp tương tác tới ñối tượng lớp khác Chúng tương tác với tác nhân Chúng có quan hệ chặt chẽ với Lớp tạo lớp Việc gộp nhóm hiệu cho phép quản lý khả sử dụng lại bảo dưỡng hệ thống Design Elements 8-8 Nhóm lớp thiết kế (package) (2) Các gói khơng nên quan hệ chéo lẫn Nhóm tầng không nên phụ thuộc vào tầng Tránh phụ thuộc bỏ qua tầng A X B A Tầng Tầng X B X C X = Vi phạm nguyên tắc quan hệ Design Elements OOAD using UML 8-9 8-4 Design Elements ðóng gói hệ thống ðăng ký học Quản lý Đăng ký học Gói thực thể HT QL Học tập Registration Package RegisterForCoursesForm RegistrationController CloseRegistrationForm CloseRegistrationController Gói giao tiếp với hệ thống ngoại vi (HT Thanh Tốn, HT QL khóa học) University Artifacts Package Student Course Quản lý Đóng đăng ký học Schedule External System Interfaces Package CourseOffering IBillingSystem ICourseCatalogSystem Professor Design Elements - 10 Nội dung trình bày Mơ hình thiết kế lớp thiết kế Hệ thống (Subsystem) Tính sử dụng lại (Reuse) Mơ hình phân tầng trình thiết kế Design Elements OOAD using UML - 11 8-5 Design Elements Hệ thống (Subsystems) ðóng gói hồn chỉnh hành vi ñó Thể khả ñộc lập sử dụng giao diện cách rõ ràng Có thể có nhiều hình thức cài đặt SubsystemA InterfaceK ClassA1 ClassA2 MethodW() MethodX() SubsystemB MethodX() MethodW() Design Elements ClassB1 ClassB2 ClassB3 MethodW() MethodY() MethodX() MethodZ() - 12 Sử dụng hệ thống Phân chia hệ thống thành nhiều phần hoạt ñộng tương ñối ñộc lập Thay ñổi phần khơng ảnh hưởng tới phần lại Hệ thống mơ hình thiết kế trở thành thành phần q trình cài đặt (components) Subsystems ñược sử dụng ñể thể sản phẩm có sẵn, hệ thống ngoại vi trình thiết kế Subsystems hình thức trừu tượng hóa Design Elements OOAD using UML - 13 8-6 Design Elements Tìm kiếm hệ thống Lớp phân tích tạo thành hệ thống Lớp cung cấp chức phức tạp Lớp biên (giao diện với hệ thống ngoại vi) Thể sản phẩm có sẵn hệ thống ngoại vi trình thiết kế: Thư viện truy cập CSDL Giao thức tương tác hệ thống phân tán … Subsystem A Subsystem B Subsystem C - 14 Design Elements Thiết kế hệ thống (Subsystems) “Superman Class” ClassA Method1() Method2() Subsystem K Method1() Method2() Design Elements OOAD using UML - 15 8-7 Design Elements Giao diện cho hệ thống (Subsystem Interface) Mỗi hệ thống nên có nhiều giao diện Mơ hình hóa giao diện Ánh xạ giao diện vào hệ thống Chỉ phụ thuộc tới lớp khác Chỉ hành ñộng giao diện • Tham số kết • Kiểu liệu ðóng gói giao diện Một giao diện rõ ràng, ổn định giải pháp tốt cho việc tạo kiến trúc hiệu - 16 Design Elements Ví dụ: Giao diện hệ thống HT ðăng ký học Phân tích Thiết kế Giao diện với HT Thanh tốn Billing System BillingSystem Đóng học phí cho Sinh viên //submit bill() Giao diện với HT QL Khóa học IBillingSystem submitBill(forTuition : Double, forStudent : Student) Course Catalog System CourseCatalogSystem Chỉ chi tiết //get course offerings() ICourseCatalogSystem getCourseOfferings(forSemester : Semester, forStudent : Student) : CourseOfferingList initialize() Lấy thơng tin Khóa học mở kỳ cho Sinh viên Design Elements OOAD using UML - 17 8-8 Design Elements Bảng ánh xạ Lớp phân tích – Thành phần thiết kế Lớp phân tích Thành phần thiết kế CourseCatalogSystem Hệ thống CourseCatalogSystem (Quản lý khóa học) BillingSystem Hệ thống BillingSystem (HT Thanh tốn) Các lớp phân tích khác ánh xạ trực thành thành lớp thiết kế - 18 Design Elements Mơ hình hóa hệ thống giao diện UML Giao diện với HT QL Khóa học Gói CourseCatalogSystem ICourseCatalogSystem Lớp thực thi hệ thống Giao diện thường bắt đầu “I” CourseCatalogSystem ICourseCatalogSystem getCourseOfferings(forSemester : Semester, forStudent : Student) : CourseOfferingList initialize() Lấy thơng tin Khóa học mở kỳ cho Sinh viên (Phần khai báo hàm) Design Elements OOAD using UML getCourseOfferings() initialize() Lấy thông tin Khóa học mở kỳ cho Sinh viên - 19 (Phần thực thi hàm) 8-9 Design Elements Hệ thống CourseCatalogSystem RegistrationController CloseRegistrationController getCurrentSchedule() deleteCurrentSchedule() submitSchedule() saveSchedule() getCourseOfferings() setSession() new() getStudent() // is registration open?() // close registration() Xác định rõ giao diện Lớp thiết kế +courseCatalog ICourseCatalogSystem CourseOfferingList new() add() getCourseOfferings(forSemester : Semester) : CourseOfferingList initialize() CourseCatalogSystem getCourseOfferings(forSemester : Semester) : CourseOfferingList initialize() - 20 Design Elements Hệ thống Billing System CloseRegistrationController // is registration open?() // close registration() Phụ thuộc Biller IBillingSystem Thanh toán (Khai báo) Student submitBill(forTuition : Double, forStudent : Student) BillingSystem Thanh toán (Thực thi) submitBill(forStudent : Student, forTuition : double) Design Elements OOAD using UML - 21 - 10 Design Elements Nội dung trình bày Mơ hình thiết kế lớp thiết kế Hệ thống (Subsystem) Tính sử dụng lại (Reuse) Mơ hình phân tầng q trình thiết kế Design Elements - 22 Tính sử dụng lại Mục đích Sử dụng giao diện để tìm cách sử dụng lại hệ thống thành phần sẵn có hệ thống Hướng dẫn Tìm kiếm gần giao diện giống Sửa giao diện cho phù hợp với giao diện sử dụng lại Thay giao diện có khả sử dụng lại với giao diện sẵn có (sử dụng lại) Ánh xạ hệ thống giao diện vừa bị thay vào thành phần có sẵn để sử dụng lại Design Elements OOAD using UML - 23 - 11 Design Elements Các khả sử dụng lại Bên hệ thống Tìm điểm chung gói hệ thống Bên hệ thống Sử dụng thành phần sẵn có (thương mại, miễn phí) Thành phần từ hệ thống phát triển trước ñây Phát triển lại thành phần có sẵn (sử dụng lại thiết kế) - 24 Design Elements Khả sử dụng lại bên hệ thống Cần sử dụng lại thành phần sẵn có? ? Tầng ứng dụng Chuyển thành phần xuống tầng hệ thống Sửa lại gói ban đầu gói để sử dụng lại thành phần vừa chuyển tới tầng hệ thống Tầng hệ thống - 25 OOAD using UML - 12 Design Elements Nội dung trình bày Mơ hình thiết kế lớp thiết kế Hệ thống (Subsystem) Tính sử dụng lại (Reuse) Mơ hình phân tầng q trình thiết kế - 26 Design Elements Quan hệ lớp tạo nên phụ thuộc A Package A B Package B 14 12 15 13 10 11 18 16 17 19 Design Elements OOAD using UML - 27 - 13 Design Elements Mơ hình phân tầng với Hệ thống ðăng ký học (1) Tầng Ứng dụng Application Registration Business Services Tầng Nghiệp vụ External System Interfaces Security University Artifacts Secure Interfaces GUI Framework Gói “Bảo mật” cần thiết cho hệ thống cần - 28 Design Elements Mơ hình phân tầng với Hệ thống ðăng ký học (2) Tầng Nghiệp vụ BillingSystem CourseCatalogSystem Các Hệ thống nên tương tác với HT qua Lớp giao diện tương tác External System Interfaces Security ObjectStore Support GUI Framework Security Manager Secure Interfaces University Artifacts Gói “Bảo mật” cần thiết cho hệ thống cần Gói “Hỗ trợ làm việc với CSDL” cho phép HT lưu trữ DL cách mềm dẻo, không bị phụ thuộc Design Elements OOAD using UML - 29 - 14 Design Elements Mơ hình phân tầng với Hệ thống ðăng ký học (3) BillingSystem Tầng Nghiệp vụ CourseCatalogSystem External System Interfaces Security ObjectStore Support GUI Framework University Artifacts Security Manager Secure Interfaces Business Services Middleware Tầng Thư viện com.db Tầng thực thi làm việc với CSDL java.sql Design Elements - 30 Tổng kết Các mơ hình thiết kế xây dựng trực tiếp từ mơ hình phân tích Là hình thức chi tiết hóa từ lớp trừu tượng hóa mơ hình phân tích • Ánh xạ 1-1 cho lớp phân tích đơn giản • Ánh xạ thành nhiều lớp thiết kế lớp phân tích q phức tạp Lớp phân tích có mức độ phức tạp cao phát triển thành hệ thống (subsystem) Sử dụng giao diện ðảm bảo hệ thống có tính độc lập tối đa với thành phần lại Tìm cách sử dụng lại hệ thống con, gói thư viện có sẵn Design Elements OOAD using UML - 31 - 15 ... double) Design Elements OOAD using UML - 21 - 10 Design Elements Nội dung trình bày Mơ hình thiết kế lớp thiết kế Hệ thống (Subsystem) Tính sử dụng lại (Reuse) Mơ hình phân tầng q trình thiết kế Design. .. cầu Tìm kiếm thành phần mơ hình thiết kế Mơ hình thiết kế Mơ hình phân tích Design Elements OOAD using UML 8-5 8-2 Design Elements Chuyển ñổi lớp phân tích thành thành phần thiết kế Lớp phân... Có thể gói lớp (package) Có thể hệ thống (subsystem) Hoặc hình thức kết hợp Design Elements OOAD using UML 8-7 8-3 Design Elements Nhóm lớp thiết kế (package) (1) Nhóm lớp gói Thay đổi lớp làm

Ngày đăng: 19/03/2018, 12:47

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN