Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
220,3 KB
Nội dung
Phân Tích Thiết Kế Hướng Đối Tượng Sử dụng UML Phân tích Kiến trúc (Architectural Analysis) OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mục tiêu: ?Tìm hiểu mục đích Phân tích Kiến trúc nơi thực công việc chu kỳ sống hệ thống ?Mô tả mẫu biểu diễn kiến trúc tập hợp chế phân tích với ảnh hưởng chúng đến kiến trúc ?Tìm hiểu nguồn gốc khảo sát hợp lý nhằm hỗ trợ cho định liên quan đến kiến trúc (hệ thống) ?Tìm hiểu cách đọc diễn dịch kết Phân tích Kiến trúc ? Các tầng kiến trúc quan hệ chúng ? Các trừu tượng hóa ? Các chế phân tích OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân tích kiến trúc ngữ cảnh Phân tích ki?n trúc Thi?t k? ki?n trúc Architect Mơ t? Tuong tranh Ph?n bi?n ki?n trúc Architecture Reviewer Subsystem Design Use-Case Analysis Ph?n bi?n thi?t k? Use-Case Design Designer Mô t? Phân b? Design Reviewer Class Design OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tổng quan phân tích kiến trúc Glossary Software Architecture Document Design Guidelines Supplementary Specification Phân tích Kiến trúc Use-Case Realization (identified) Use-Case Model Business Model OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 Design Model CuuDuongThanCong.com https://fb.com/tailieudientucntt Các chủ đề: ?Các khái niệm then chốt ?Các qui ước mô hình hóa ?Các chế phân tích ?Các trừu tượng hóa ?Các tầng kiến trúc ban đầu ?Checkpoints OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiến trúc gì: Mô hình “4+1 View” Logical View Analysts/Designers Structure Implementation View End-user Functionality Programmers Software management Use-Case View Process View Deployment View System integrators Performance Scalability Throughput OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 System engineering System topology Delivery, installation communication CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhắc lại: Package ? ?Package chế để tổ chức phần tử thành nhóm ?Là phần tử mô hình chứa phần tử khác Package Name ?Dùng để ?Tổ chức mô hình q/t phát triển ?Làm đơn vị quản trị cấu hình OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mối quan hệ Packages: Dependency ?Các Package liên hệ với thông qua mối quan hệ dependency Dependency relationship ClientPackage SupplierPackage ?Dependency hàm nghóa • Các thay đổi Supplier package ảnh hưởng đến Client package • Client package dùng lại cách độc lập phụ thuộc vào Supplier package OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Loại bỏ phụ thuộc xoay vòng A A Hierarchy không chứa chu trình B A B C B A' C Các phụ thuộc xoay vòng làm cho dùng lại package package khác OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các chủ đề: ?Các khái niệm then chốt ?Các qui ước mô hình hóa ?Các chế phân tích ?Các trừu tượng hóa ?Các tầng kiến trúc ban đầu ?Checkpoints OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: Key Abstractions Professor Student Schedule CourseCatalog OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 CourseOffering Course 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các chủ đề: ?Các khái niệm then chốt ?Các qui ước mô hình hóa ?Các chế phân tích ?Các trừu tượng hóa ?Các tầng kiến trúc ban đầu ?Checkpoints OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 23 CuuDuongThanCong.com https://fb.com/tailieudientucntt Patterns va Frameworks ?Pattern (Khuôn mẫu ) ?Là lời giải chung cho toán ngữ cảnh hành ?Analysis/Design Pattern ?Lời giải cho toán kỹ thuật hẹp ?Một đoạn lời giải, mảnh puzzle ?Framework ?Định nghóa hướng tiếp cận tổng quát để giải toán ?Sườn lời giải, mà chi tiết analysis/design pattern OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt Design Patterns ?Design pattern lời giải chung design problem ? Mô tả design problem chung ? Mô tả lời giải toán ? Thảo luận kết cân nhắc việc sử dụng hiệu pattern ?Design pattern cung cấp khả tái sử dụng thành công thiết kế Template Parameters Pattern Name Parameterized collaboration OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 Structural Aspect Behavioral Aspect 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt Architectural Patterns ?Các tầng (Layers) ?Model-view-controller (M-V-C) ?Pipes vaø filters ?Blackboard OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hướng tiếp cận phân lớp truyền thống Specific functionality L?p application sybsystem khác nhau, mà t? dó c?u thành m?t ?ng d?ng, ch?a giá tr?b? sung cho ph?n m?m don v? dang phát tri?n L?p nghi?p v? chuyên nghi?p (Businesspecific) ch?a m?t s? subsystem c? th? ?ng v?i lo?i c?a nghi?p v? L?p Middleware dua subsystem ch?a class ti?n ích d?ch v? d?c l?p platform h? tr? cho ?ng d?ng ch?y môi tru ?ng không thu?n nh?t L?p ph?n m?m h? th?ng ch?a ph?n m?m dành cho ki?n trúc h? t?ng nhu h? di?u hành, giao ti?p v?i ph?n c?ng, trình di?u khi?n thi?t b?, … General functionality OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt Làm để tìm thấy Layer? ?Mức trừu tượng ? Nhóm phần tử chung mức độ trừu tượng ?Phân tách thành phần liên quan ? Nhóm giống lại chung ? Phân biệt khác biệt ? Application vs Domain model elements ?Sự co giãn (Resiliency) ? Sự kết hợp lỏng lẻo ? Chú trọng đến thay đổi (encapsulating) ? User interface, business rules, liệu có khả thay đổi cao OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt Modeling Architectural Layers ?Architectural layers can be modeled using stereotyped packages ? stereotype Package Name OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ: Tổ chức cấp cao Model Application Business Services OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các chủ đề: ?Các khái niệm then chốt ?Các qui ước mô hình hóa ?Các chế phân tích ?Các trừu tượng hóa ?Các tầng kiến trúc ban đầu ?Checkpoints OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 31 CuuDuongThanCong.com https://fb.com/tailieudientucntt Checkpoints ?Toång thể ?Việc phân chia package (partitioning layering) có thực cách chắn hợp lý không ? ?Các analysis mechanisms cần thiết xác định đầy đủ ? ?Packages ?Chúng ta cung cấp hình ảnh toàn diện (comprehensive) dịch vụ packages upper-level layer chưa ? OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt Checkpoints (cont.) ?Caùc Class ?Caùc key entity class mối quan hệ chúng xác định mô hình cách xác đắn chưa? ?Tên class hiễn rõ ràng vai trò chúng không ? ?Các key abstraction/class mối quan hệ chúng có quán với business model, domain model, requirements, glossary, không ? OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt Review: Architectural Analysis ?Mục tiêu Architectural Analysis gì? ?Modeling Conventions phải cần đến chúng ? Cho ví dụ ?Package ? ?Analysis Mechanisms ? Cho ví dụ ?Những key abstractions xác định Architectural Analysis? Tai chúng lại xác định đây? ?Kiến trúc phân lớp ? Cho ví dụ layer truyền thống OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập: ?Làm công việc sau: ?Cho số kết luồng công việc đặc tả y/c người dùng: • Phát biểu toán • Use-Case Model main diagram • Glossary ?Cho số định kiến trúc hệ thống: • Các upper-level architectural layer mối phụ thuộc chúng (bằng văn ) OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 35 CuuDuongThanCong.com (continued) https://fb.com/tailieudientucntt Bài tập: (tt) ?Xác định: ?Các key abstraction ?Xây dựng: ?Class diagram chứa key abstraction ?Class diagram chứa upper-level architectural layer mối phụ thuộc chúng OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt