Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Phân tích kiến trúc
?Tìm hiểu mục đích của Phân tích Kiến trúc và
nơi thực hiện công việc này trong chu kỳ sống
của hệ thống
?Mô tả một mẫu biểu diễn kiến trúc và một tập
hợp các cơ chế phân tích cùng với ảnh hưởng
của chúng đến kiến trúc
?Tìm hiểu nguồn gốc căn bản và các khảo sát
hợp lý nhằm hỗ trợ cho các quyết định liên
quan đến kiến trúc (hệ thống)
?Tìm hiểu cách đọc và diễn dịch các kết quả
của Phân tích Kiến trúc
? Các tầng kiến trúc và quan hệ giữa chúng
? Các trừu tượng hóa chính
? Các cơ chế phân tích
Dependency ClientPackage SupplierPackage Dependency relationship OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 9 A B C A B Hierarchy không được chứa chu trình A B C A' Các phụ thuộc xoay vòng làm cho không thể dùng lại một package khi không có các package khác Loại bỏ các phụ thuộc xoay vòng OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 10 Các chủ đề: ?Các khái niệm then chốt ?Các qui ước trong mô hình hóa ?Các cơ chế phân tích ?Các trừu tượng hóa chính ?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 11 Các qui ước trong mô hình hóa ?Chúng là những gì? ?Dùng những diagram và phần tử mô hình nào ?Các luật để sử dụng các phần tử mô hình và diagram ?Qui ước về đặt tên ?Các ví dụ ?Các modeling construct không được dùng ?Các diagram phải hiện diện ?Phải dùng các diagram để mô hình hóa các architectural view ?Cách trình bày mô hình (Model layout) OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 12 Ví dụ: (Modeling Conventions) ?Use-Case View ?Dùng các câu ngắn ở thể chủ động để đặt tên cho các Use Case, ví dụ Submit Grades, Vô điểm ?Logical View ?Một Use-Case Realization package chứa: • Ít nhất một realization cho mỗi use case • Một View Of Participating Classes diagram thể hiện tất cả các class trong realization và các quan hệ cần thiết của chúng ?Dùng các danh từ để đặt tên cho các Class. Tên càng phù hợp với ý nghĩa ứng dụng càng tốt OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 13 Các chủ đề: ?Các khái niệm then chốt ?Các qui ước trong mô hình hóa ?Các cơ chế phân tích ?Các trừu tượng hóa chính ?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 14 Architect Supplementary Specification Use-Case Model Mechanisms COTS ProductsDatabases IPC Technology etc. realized by client classes using responsible for constrained by Required Functionality Implementation Environment Các cơ chế kiến trúc là gì? OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 15 Ba loại cơ chế kiến trúc ?Các loại cơ chế kiến trúc ?Các cơ chế phân tích (conceptual) ?Các cơ chế thiết kế (concrete) ?Các cơ chế cài đặt (actual) OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 16 Các Analysis Mechanism mẫu ?Persistency ?Communication (IPC and RPC) ?Message routing ?Distribution ?Transaction management ?Process control and synchronization (resource contention) ?Information exchange, format conversion ?Security ?Error detection / handling / reporting ?Redundancy ?Legacy Interface OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 17 Các đặc trưng của Analysis Mechanism ?Persistency ?Granularity ?Volume ?Duration ?Access mechanism ?Access frequency (creation/deletion, update, read) ?Reliability ?Communication ? Latency ? Synchronicity ?Message Size ? Protocol OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 18 Các đặc trưng của Analysis Mechanism (tt) ?Legacy interface ?Latency ?Duration ?Access mechanism ?Access frequency ?Security ?Data granularity ?User granularity ?Security rules ?Privilege types ?etc. OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 19 Ví dụ: Các cơ chế phân tích trong “ĐKý HP” ?Persistence ?Distribution ?Security ?Legacy Interface OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 20 Các chủ đề: ?Các khái niệm then chốt ?Các qui ước trong mô hình hóa ?Các cơ chế phân tích ?Các trừu tượng hóa chính ?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 21 Xác định các trừu tượng hóa chính ?Định nghĩa sơ bộ các class (sources) từ: ?Tri thức về miền ứng dụng ?Các y/c đặt ra cho hệ thống (Requirements) ?Bảng chú giải (Glossary) ?Domain Model, hoặc Mô hình nghiệp vụ (nếu có) ?Định nghĩa analysis class relationships ?Mô hình hóa các analysis class và các quan hệ của chúng trên Class Diagram ?Đính kèm mô tả ngắn gọn của analysis class ?Ánh xạ các analysis class với các analysis mechanism cần thiết OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 22 CourseCourseCatalog Professor CourseOffering Student Schedule Ví dụ: Key Abstractions OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 23 Các chủ đề: ?Các khái niệm then chốt ?Các qui ước trong mô hình hóa ?Các cơ chế phân tích ?Các trừu tượng hóa chính ?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 24 Patterns va Frameworks ?Pattern (Khuôn mẫu ) ?Là một lời giải chung cho một bài toán trong ngữ cảnh hiện hành ?Analysis/Design Pattern ?Lời giải cho một bài toán kỹ thuật hẹp ?Một đoạn của lời giải, một mảnh của puzzle ?Framework ?Định nghĩa hướng tiếp cận tổng quát để giải quyết bài toán ?Sườn của lời giải, mà chi tiết của nó có thể là các analysis/design pattern OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 25 Parameterized collaboration Structural Aspect Behavioral Aspect Pattern Name Template Parameters Design Patterns ?Design pattern là lời giải chung của một design problem ?Mô tả design problem chung ?Mô tả lời giải của bài toán ?Thảo luận về các kết quả và cân nhắc việc sử dụng hiệu quả pattern ?Design pattern cung cấp khả năng tái sử dụng thành công các thiết kế OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 26 Architectural Patterns ?Các tầng (Layers) ?Model-view-controller (M-V-C) ?Pipes và filters ?Blackboard OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 27 Hướng tiếp cận phân lớp truyền thống General functionality Specific functionality L?p các application sybsystem khác nhau, mà t? dĩ c?u thành m?t ?ng d?ng, ch?a các 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 (Busines- specific) ch?a m?t s? các subsystem c? th? ?ng v?i lo?i c?a nghi?p v? L?p Middleware dua ra các subsystem ch?a các class ti?n ích và các d?ch v? d?c l?p platform h? tr? cho các ?ng d?ng ch?y trên các 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 các h? di?u hành, các giao ti?p v?i ph?n c?ng, trình di?u khi?n thi?t b?, … OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 28 Làm thế nào để tìm thấy các Layer? ?Mức trừu tượng ?Nhóm các phần tử cùng chung mức độ trừu tượng ?Phân tách các thành phần liên quan ?Nhóm những gì giống nhau lại chung ? Phân biệt những gì khác biệt nhau ? Application vs. Domain model elements ?Sự co giãn (Resiliency) ? Sự kết hợp lỏng lẻo ? Chú trọng đến các thay đổi (encapsulating) ? User interface, business rules, và dữ liệu có khả năng thay đổi cao OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 29 > Package Name Modeling Architectural Layers ?Architectural layers can be modeled using stereotyped packages ?> stereotype OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 30 Application > Business Services > Ví dụ: Tổ chức cấp cao của Model OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 31 Các chủ đề: ?Các khái niệm then chốt ?Các qui ước trong mô hình hóa ?Các cơ chế phân tích ?Các trừu tượng hóa chính ?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 32 Checkpoints ?Tổng thể ?Việc phân chia các package (partitioning và layering) có được thực hiện một cách chắc chắn và hợp lý không ? ?Các analysis mechanisms cần thiết đã được xác định đầy đủ ? ?Packages ?Chúng ta đã cung cấp một hình ảnh toàn diện (comprehensive) về các dịch vụ của packages trong các upper-level layer chưa ? OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 33 Checkpoints (cont.) ?Các Class ?Các key entity class và những mối quan hệ của chúng đã được xác định và mô hình một cách chính xác đúng đắn chưa? ?Tên của mỗi class có thể hiễn rõ ràng vai trò của chúng không ? ?Các key abstraction/class và những mối quan hệ của chúng có nhất 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 34 Review: Architectural Analysis ?Mục tiêu của Architectural Analysis là gì? ?Modeling Conventions là gì và tại sao phải cần đến chúng ? Cho ví dụ. ?Package là gì ? ?Analysis Mechanisms là gì ? Cho ví dụ. ?Những key abstractions nào được xác định trong Architectural Analysis? Tai sao chúng lại được xác định ở đây? ?Kiến trúc phân lớp là gì ? Cho ví dụ về các layer truyền thống. OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 35 (continued) Bài tập: ?Làm các công việc sau: ?Cho một số kết quả của luồng công việc đặc tả y/c người dùng: • Phát biểu bài toán • Use-Case Model main diagram • Glossary ?Cho một số quyết định về kiến trúc hệ thống: • Các upper-level architectural layer và các mối phụ thuộc của chúng (bằng văn bản) OOAD S? d?ng UML – Phân tích ki?n trúc Duong Anh Ð?c, 9/2000 36 Bài tập: (tt) ?Xác định: ?Các key abstraction ?Xây dựng: ?Class diagram chứa các key abstraction ?Class diagram chứa các upper-level architectural layer và các mối phụ thuộc của chúng
File đính kèm:
- Bài giảng Phân tích và thiết kế hướng đối tượng sử dụng UML - Phân tích kiến trúc.pdf