Phân tích kiến trúc trong UML
Trang 1Phâ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)
Trang 2Mục tiêu:
»>
Tìm hiểu mục đích của Phân tích Kiến trúc
nơi thực hiện công việc này trong chu kỳ số của hệ thống
œ 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 S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000
Trang 3Phân tích kiến trúc trong ngữ cảnh
_Ồ
Use-Case Analysis
_>T>— mm
Thi?t k? M6 t? cac M6 t? cac
ki?n trúc Tuong tranh Phan b?
Trang 4Tổng quan về phân tích kiến trúc
Phan tich (identified)
oi
Use-Case Model
OOAD S? d?ng UML — Phan tich ki?n truc
Duong Anh Ð?c, 9/2000 4
Trang 5Cac chu dé:
»>
<Các khái niệm then chốt
œsCác qui ước trong mô hình hóa
Các cơ chế phân tích
œsCác trừu tượng hóa chính
«Các tầng kiến trúc ban đầu
esCheckpoints
Trang 6a =
"d
a= Logical View
E Analysts/Designers Eu Structure
zs
System engineering System topology Delivery, installation
Trang 7«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
OOAD S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000
Trang 8Các mối quan hệ giữa Packages: Dependency
esCac Package có thể liên hệ với nhau thông qua mối quan hệ dependency
zsDependency ham nghia
Các thay déi 6 Supplier package cé thé ảnh
hudng dén Client package
Client package khéng thé dudc dung lai một cách độc lập vì nó phụ thuộc vào Supplier package
Trang 9Loại bĩ các phụ thuộc xoay vịng
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 packàe khác
OOAD S2 d?ng UML — Phân tích ki?n trúc
Duong Anh Ð?c, 9/2000 M
Trang 10Cac chu dé:
»>
œsCá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
œsCác trừu tượng hóa chính
«Các tầng kiến trúc ban đầu
esCheckpoints
Trang 11Cac qui ước trong mô hinh hoa
Trang 12Vi du: (Modeling Conventions)
eUse-Case View
4s Dung cac cau ngắn ở thể chủ động để đặt tên cho cac Use Case, vi du Submit Grades, V6 diém
zs Logical View
# Mot Use-Case Realization package chtfa:
Ít nhất một realization cho mỗi use case
Mot View Of Participating Classes diagram thể hién tat ca cdc class trong realization va các quan
Trang 13Cac chu dé:
»>
œsCác khái niệm then chốt
œsCác qui ước trong mô hình hóa
Các cơ chế phân tích
œsCác trừu tượng hóa chính
«Các tầng kiến trúc ban đầu
esCheckpoints
Trang 14Cac cơ chế kiến trúc là gì?
Trang 15
Ba loại cơ chế kiến trúc
œ<Các loại cơ chế kiến trúc
eCac coc eCac coc eCac coc
OOAD S? d?ng UML — Phan tich ki?n truc Duong Anh Ð?c, 9/2000
né phan tich (conceptual)
hế thiết kế (concrete)
Trang 16Gác Analysis Mechanism mẫu
Trang 17Các đặc trưng của Analysis Mechanism
Trang 18Cac dac trung cua Analysis Mechanism (tt)
zs Legacy interface
42s Latency
#5 Duration
Access mechanism 4s Access frequency S5€CUFIfy
# Data granularity User øranularIty sSecurIfy rules
# Privilege types
«etfc
OOAD S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000
Trang 19Ví dụ: Các cơ chế phân tích trong “ÐKý HP”
Trang 20Cac chu dé:
»>
œsCác khái niệm then chốt
œsCá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
esCheckpoints
Trang 21Xác định các trừu tượng hóa chính
zsDinh nghia so bd cac class (sources) tu’:
Tri thức về miền ứng dụng
Các víc đặt ra cho hệ thống (Requirements)
# Bang chu giai (Glossary)
SỐ
zsDinh nghia analysis class relationships
Mô hình hóa các analysis class và các quan
hé cua ching trén Class Diagram
Đính kèm mô tả ngắn gọn của analysis class
#Anh xa Cac analysis class với Cac analysis mechanism can thiét
OOAD S? d?ng UML — Phan tich ki?n truc Duong Anh Ð?c, 9/2000
Trang 22Vi du: Key Abstractions
OOAD S? d?ng UML — Phan tich ki?n truc Duong Anh Ð?c, 9/2000
Trang 23Cac chu dé:
»>
œsCác khái niệm then chốt
œsCác qui ước trong mô hình hóa
Các cơ chế phân tích
œsCác trừu tượng hóa chính Các tầng kiến trúc ban đầu
esCheckpoints
Trang 24Patterns 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
œsMột đoạn của lời giải, một mảnh của puzzle
aFramework
Đị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à chỉ tiết của nó có thể
la cac analysis/design pattern
OOAD S? d?ng UML — Phan tich ki?n truc
Duong Anh Ð?c, 9/2000 24
Trang 25Design Patterns
# Design pattern la Idi giai chung cua mot design problem
2 MO ta 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 qua pattern
«Design pattern cung cap kha năng tái sử dung
thành công các thiết kê
OOAD S? d?ng UML — Phan tich ki?n truc
Duong Anh Ð?c, 9/2000 25
Structural Aspect Behavioral Aspect
Trang 27ma t? do c?u thanh m?t ?ng d?ng, ch?a các giá tr ?b sung cho ph?n m?m don v?
dang phat tri?n L?p nghi?p v? chuyén nghi?p (Busines- specific) ch?a m?t $s? cac subsystem c? th?
?ng v?i lo?i c?a nghi?p v?
L’?p Middleware dua ra cac subsystem ch?a cac class ti?n ich va cac d¢h v? d?c I?p platform h? tr? cho cac ?ng d?ng ch?y trên các môi tru ?ng không thu2n nh?t
L?p ph?n m?m h? th?ng ch?a ph?n m?m dành cho ki2n trúc h? t2ng nhu các h?2 di2u hành, các giao ti?p v?i ph2n c2ng, trình di?u khi?n thi?t b?
Trang 28Làm thế nào để tìm thấy các Layer?
s 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
2 Su co gian (Resiliency)
Sự kết hợp lỏng lẻo
Chú trọng đến các thay đổi (encapsulating)
# User interface, business rules, va d&@ liéu cé kha nang
thay ddi cao
OOAD S? d?ng UML — Phan tich ki?n truc Duong Anh Ð?c, 9/2000
Trang 29Modeling Architectural Layers
Trang 30Ví dụ: Tổ chức cấp cao của Model
Trang 31Cac chu dé:
»
œsCác khái niệm then chốt
œsCác qui ước trong mô hình hóa
Các cơ chế phân tích
œsCác trừu tượng hóa chính
«Các tầng kiến trúc ban đầu
zsCheckpoints
Trang 32Checkpoints
F đi0ìi 300012
Việc phân chia các package (partitioning và C20002) có được thực hiện một cách chắc chắn và hợp lý không 2?
Các analysis mechanisms can 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 cac upper-level layer chưa ?
OOAD S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000
Trang 34Review: Architectural Analysis
zsMuc tiéu cua Architectural Analysis la gi?
zsModeling Conventions |a gi va tai sao phai can đến chúng ? Cho vi du
œsPackage là gì 7 zsAnalysis Mechanisms là gi ? Cho vi dụ
s<Những key abstractions nào được xác định trong Architectural Analysis? Tai sao chung lai được xác định ở đây?
‹Kiến trúc phân lớp là gì 2? Cho ví dụ về các
layer truyền thống
OOAD S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000
Trang 35Bà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ả
v/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)
Trang 36Class diagram chia cac key abstraction
2 Class diagram chia cac upper-level architectural layer và các mối phụ thuộc của chúng
OOAD S2 d?ng UML — Phân tích ki?n trúc Duong Anh Ð?c, 9/2000