Tài liệu 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: OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 1
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
(Architectural Analysis)
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 2
Mục tiêu:
?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
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 3
Architect
Designer
Phân tích
ki?n trúc
Architecture
Reviewer
Ph?n bi?n
thi...
36 trang |
Chia sẻ: hunglv | Lượt xem: 1633 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu 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ải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 1
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
(Architectural Analysis)
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 2
Mục tiêu:
?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
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 3
Architect
Designer
Phân tích
ki?n trúc
Architecture
Reviewer
Ph?n bi?n
thi?t k?
Ph?n bi?n
ki?n trúc
Use-Case
Analysis
Thi?t k?
ki?n trúc
Mơ t? các
Tuong tranh
Mơ t? các
Phân b?
Class
Design
Subsystem Design
Use-Case
Design
Design
Reviewer
Phân tích kiến trúc trong ngữ cảnh
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 4
Tổng quan về phân tích kiến trúc
Supplementary
Specification
Glossary
Use-Case Model
Phân tích
Kiến trúc
Use-Case Realization
(identified)
Design Model
Design
Guidelines
Software Architecture
Document
Business Model
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 5
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 6
Kiến trúc là gì: Mô hình “4+1 View”
Process View Deployment View
Logical View
Use-Case View
Implementation View
End-user
Functionality
Programmers
Software management
Performance
Scalability
Throughput
System integrators
System topology
Delivery, installation
communication
System engineering
Analysts/Designers
Structure
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 7
?Package là một cơ chế để tổ chức các phần
tử thành nhóm
?Là một phần tử của mô hình có thể chứa
các phần tử khác
?Dùng để
?Tổ chức một mô hình đang trong q/t phát triển
?Làm một đơn vị trong quản trị cấu hình
Package Name
Nhắc lại: Package là gì ?
OOAD S? d?ng UML – Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 8
?Các Package có thể liên hệ với nhau thông
qua mối quan hệ dependency
?Dependency hàm nghĩa
• Các thay đổi ở Supplier package có thể ảnh
hưởng đến Client package
• Client package không thể được dùng lại một
cách độc lập vì nó phụ thuộc vào Supplier
package
Các mối quan hệ giữa Packages: 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
Các file đính kèm theo tài liệu này:
- BAI6.PDF