Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

Machine Translated by Google

Phân tích và thiết kế hướng đối tượng

Mô-đun 9: Phân tích kiến trúc


Machine Translated by Google

Mục tiêu: Kiến trúc

Phân tích

• Giải thích mục đích của Phân tích Kiến trúc


và nơi nó được thực hiện trong vòng đời.
• Mô tả một mẫu kiến trúc đại diện và tập hợp
các cơ chế phân tích cũng như cách chúng ảnh
hưởng đến kiến trúc.
• Mô tả cơ sở lý luận và những cân nhắc hỗ trợ
cho các quyết định kiến trúc.
• Hướng dẫn cách đọc và diễn giải kết quả
Phân tích Kiến trúc:
– Các lớp kiến trúc và mối quan hệ của chúng
– Tóm tắt chính
– Cơ chế phân tích
Machine Translated by Google

Phân tích kiến trúc trong bối cảnh

[Sớm
Xây dựng [Khởi đầu
Lặp lại] Lặp lại (Tùy chọn)]

Ngành kiến trúc

Phân tích
Kiến trúc sư Xác định một ứng viên Trình diễn
Ngành kiến trúc Kiến trúc
tổng hợp

Phân tích hành vi

(Không bắt buộc)


Tinh chỉnh
Ngành kiến trúc

Thiết kế Thiết kế
Các thành phần Cơ sở dữ liệu
Machine Translated by Google

Tổng quan về phân tích kiến trúc

bổ sung Bảng chú giải


Phần mềm Thẩm quyền giải quyết Tầm nhìn

Tài liệu kiến trúc Ngành kiến trúc Tài liệu


Sự chỉ rõ

Kiến trúc
Phân tích

Dự án cụ thể Mẫu thiết kế


Hướng dẫn

Mô hình ca sử dụng Mô hình triển khai


Machine Translated by Google

Các bước phân tích kiến trúc

• Các khái niệm

chính • Xác định tổ chức cấp cao của


người mẫu

• Xác định các cơ chế phân tích •

Xác định các khái niệm trừu


tượng chính • Tạo hiện thực hóa ca sử dụng

• Điểm kiểm tra


Machine Translated by Google

Đánh giá: Kiến trúc là gì:

Mô hình “Chế độ xem 4+1”

Chế độ xem hợp lý Chế độ xem triển khai

Nhà phân tích/Nhà thiết kế Lập trình viên

Kết cấu Quản lý phần mềm


Chế độ xem trường hợp sử dụng

Người dùng cuối

Chức năng

Chế độ xem quy trình Chế độ xem triển khai

Kỹ thuật hệ thống
Nhà tích hợp hệ thống
Cấu trúc liên kết hệ thống, phân phối,
Hiệu suất, khả năng mở rộng, thông lượng
cài đặt, truyền
thông
Machine Translated by Google

Đánh giá: Gói hàng là gì?

• Một gói là một mục đích chung


cơ chế tổ chức các phần tử thành các nhóm.

• Nó là một phần tử mô hình có thể chứa các phần


tử mô hình khác.

Trường đại học

Hiện vật

• Có thể sử dụng gói


– Tổ chức mô hình đang phát triển.
– Là đơn vị quản lý cấu hình.
Machine Translated by Google

Mối quan hệ gói:

phụ thuộc

• Các gói có thể liên quan với nhau bằng cách sử dụng
mối quan hệ phụ thuộc.

• Ý nghĩa phụ thuộc


– Việc thay đổi gói Nhà cung cấp có thể ảnh hưởng
đến gói Khách hàng.

– Gói Client không thể tái sử dụng độc lập vì nó phụ


thuộc vào gói Nhà cung cấp.
Machine Translated by Google

Tránh phụ thuộc vòng tròn

MỘT
MỘT

Hệ thống
B phân cấp B
theo chu kỳ
phải

MỘT

MỘT'

C
Sự phụ thuộc vòng tròn làm cho không thể
sử dụng lại gói này mà không có gói kia.
Machine Translated by Google

mal2

Các bước phân tích kiến trúc

• Các khái niệm

chính • Xác định tổ chức cấp cao của


người mẫu

• Xác định các cơ chế phân tích •

Xác định các khái niệm trừu


tượng chính • Tạo hiện thực hóa ca sử dụng

• Điểm kiểm tra


Machine Translated by Google

Trang trình bày 10

mal2 Thay đổi dấu đầu dòng trên tất cả các slide cần đọc: Định nghĩa .... của Model
Mlang, 5/5/2004
Machine Translated by Google

Mẫu và Khung

• Mẫu
– Cung cấp giải pháp chung cho một vấn đề
chung trong một ngữ
cảnh • Mẫu phân tích/thiết kế
– Cung cấp giải pháp cho một vấn đề kỹ thuật
trong phạm vi hẹp
– Cung cấp một phần của giải pháp hoặc một phần
của câu đố
• Khung
- Nêu được cách tiếp cận chung để giải quyết
vấn đề
– Cung cấp một giải pháp khung xương, có
chi tiết có thể là mẫu Phân tích/Thiết kế
Machine Translated by Google

Mẫu thiết kế là gì?

• Mẫu thiết kế là giải pháp cho một vấn đề thiết kế chung.

– Mô tả một vấn đề thiết kế chung

- Mô tả cách giải quyết vấn đề

– Thảo luận về kết quả và sự cân bằng của việc áp dụng các
mẫu

• Các mẫu thiết kế cung cấp khả năng tái sử dụng các thiết kế thành

công.
Bản mẫu
Thông số

Tên mẫu

Tham số hóa Khía cạnh kết cấu Khía cạnh hành vi


Sự hợp tác
Machine Translated by Google

Một mẫu kiến trúc là gì?

• Một mẫu kiến trúc thể hiện một lược đồ


tổ chức cấu trúc cơ bản cho các hệ thống phần mềm.
Nó cung cấp một tập hợp các hệ thống con được xác
định trước, chỉ định trách nhiệm của chúng, đồng
thời bao gồm các quy tắc và hướng dẫn để tổ chức
các mối quan hệ giữa chúng – Buschman và cộng
sự, “Kiến trúc phần mềm hướng theo mẫu - Hệ thống
của các mẫu”

– Lớp

– Bộ điều khiển khung nhìn mô hình (MVC)

– Ống và bộ lọc
- Bảng đen
Machine Translated by Google

Phương pháp phân lớp điển hình

Chức
năng cụ thể Các hệ thống con ứng dụng riêng biệt tạo
nên một ứng dụng - chứa phần mềm gia
Ứng dụng tăng giá trị do tổ chức phát triển.

Cụ thể cho doanh nghiệp - chứa một số hệ thống


con cócon
thống thểcó
sửthể
dụng
sửlại
dụng
dành
lạiriêng
dành riêng
cho loại
chohệ
loại
Kinh doanh -Cụ thể hình doanh nghiệp.

Middleware - cung cấp các hệ thống con cho


các lớp tiện ích và các dịch vụ độc lập với nền
Phần mềm trung gian tảng để tính toán đối tượng phân tán trong môi
trường không đồng nhất, v.v.

Phần mềm hệ thống - chứa phần mềm dành cho cơ


sở hạ tầng thực tế như hệ điều hành, giao
Chức Phần mềm hệ thống diện với phần cứng cụ thể, trình điều
năng chung khiển thiết bị, v.v.
Machine Translated by Google

Ví dụ: Lớp

Ứng dụng Lớp 7 Cung cấp các giao thức linh tinh cho các hoạt động chung

Bài thuyết trình Lớp 6 Cấu trúc thông tin và gắn ngữ nghĩa

Phiên họp Lớp 5 Cung cấp các phương tiện điều khiển và đồng bộ hóa hộp thoại

Chuyên chở Lớp 4 Chia tin nhắn thành các gói và đảm bảo gửi y

Mạng Lớp 3 Chọn tuyến đường từ gửi đến người nhận

Liên kết dữ liệu Lớp 2 Phát hiện và sửa lỗi trong chuỗi bit

Thuộc vật chất Lớp 1 Truyền các bit: vận tốc, mã bit, kết nối, v.v.
Machine Translated by Google

Cân nhắc phân lớp

• Mức độ trừu tượng


– Nhóm các phần tử có cùng mức độ trừu tượng

• Tách biệt các mối quan tâm


– Nhóm những thứ giống nhau lại

với nhau – Tách biệt những thứ

khác nhau – Các phần tử mô hình ứng dụng và

miền • Khả năng

phục hồi – Liên kết

lỏng lẻo – Tập trung vào việc đóng gói thay

đổi – Giao diện người dùng, quy tắc nghiệp vụ và dữ liệu được
giữ lại có xu hướng có khả năng thay đổi cao
Machine Translated by Google

Mô hình hóa các lớp kiến trúc

• Các lớp kiến trúc có thể được mô hình hóa bằng cách sử dụng

gói rập khuôn. • khuôn


mẫu <<lớp>>

<<lớp>>
Tên gói hàng
Machine Translated by Google

Khuôn mẫu là gì?

• Các khuôn mẫu xác định một phần tử mô hình mới


dưới dạng một phần tử mô hình khác.

• Đôi khi bạn cần giới thiệu những thứ mới nói lên
ngôn ngữ miền của bạn và trông giống như những
khối xây dựng nguyên thủy.

<< tên khuôn mẫu >> khuôn mẫu


Lớp học
Machine Translated by Google

Ví dụ: Cấp cao

Tổ chức mô hình

<<lớp>>
Ứng dụng

<<lớp>>
Dịch vụ kinh doanh
Machine Translated by Google

Các bước phân tích kiến trúc

• Các khái niệm

chính • Xác định tổ chức cấp cao của


người mẫu

• Xác định các cơ chế phân tích •

Xác định các khái niệm trừu


tượng chính • Tạo hiện thực hóa ca sử dụng

• Điểm kiểm tra


Machine Translated by Google

Cơ chế kiến trúc là gì?

Yêu cầu Thực hiện


Chức năng Môi trường

“được thực hiện bởi các lớp

khách
sử dụng”
hàng
các
bằng
lớpcách
sử dụng”
"Bị hạn chế bởi"

Sản phẩm COTS


Cơ chế Cơ sở dữ liệu

bổ sung Công nghệ IPC, v.v.


Sự chỉ rõ

"chịu trách nhiệm cho"

Mô hình ca sử dụng
Kiến trúc sư
Machine Translated by Google

Cơ chế kiến trúc:

Ba hạng mục • Hạng mục cơ

chế kiến trúc


– Cơ chế phân tích (khái niệm)
– Cơ chế thiết kế (cụ thể)
– Cơ chế thực hiện (thực tế)
Machine Translated by Google

Tại sao nên sử dụng cơ chế phân tích?

Các cơ chế phân tích được sử dụng trong quá trình phân tích để giảm
độ phức tạp của phân tích và cải thiện tính nhất quán của nó bằng cách
cung cấp cho các nhà thiết kế một cách trình bày ngắn gọn về hành vi phức tạp.

Ôi không! Tôi tìm thấy một nhóm lớp có


dữ liệu liên tục. Làm sao tôi
có thể
tôi phải
thiết
thiết
kếkế
những
những
thứ
thứ
này
này
nếu
nếu
tôi thậm chí còn không biết chúng ta sẽ
sử dụng cơ sở dữ liệu nào?

Đó là lý do tại sao chúng tôi có


cơ chế phân tích tính kiên trì.
Chúng ta vẫn chưa biết đủ
nên có thể đánh dấu nó và quay
lại sau.
Machine Translated by Google

Cơ chế phân tích mẫu

• Tính kiên trì


• Truyền thông (IPC và RPC)
• Định tuyến tin
nhắn • Phân phối
• Quản lý giao dịch • Kiểm
soát và đồng bộ hóa quy trình (tranh chấp tài
nguyên)
• Trao đổi thông tin, chuyển đổi định dạng
• Bảo mật
• Phát hiện/xử lý/báo cáo lỗi
• Dự phòng •
Giao diện kế thừa
Machine Translated by Google

Ví dụ về phân tích

Đặc điểm cơ chế • Cơ chế bền bỉ

– Độ chi tiết
- Âm lượng
- Khoảng thời gian

– Cơ chế truy cập

– Tần suất truy cập (tạo/xóa, cập nhật, đọc)


– Độ tin
cậy • Cơ chế giao tiếp giữa các tiến trình
– Độ trễ
– Tính đồng bộ
– Kích thước tin nhắn
– Giao thức
Machine Translated by Google

Ví dụ: Cơ chế phân tích


Đặc điểm (tiếp theo) • Cơ chế

giao diện kế thừa


– Độ trễ
- Khoảng thời gian

– Cơ chế truy cập

– Tần suất truy cập


• Cơ chế bảo mật
– Độ chi tiết của dữ liệu

– Mức độ chi tiết của người dùng

– Quy tắc bảo mật


– Các loại đặc
quyền • Khác
Machine Translated by Google

Mô tả phân tích

Cơ chế

• Thu thập tất cả các phân tích Phân tích


Các lớp học
Cơ chế
cơ chế trong một danh sách
Chuyến bay

• Vẽ sơ đồ các lớp theo cơ chế


Tính kiên trì
Phi cơ
cơ chế
phân tích
phân tích

• Xác định đặc điểm Nhiệm vụ


Giao tiếp

cơ chế phân tích Lịch trình

Phân tích cú pháp

• Mô hình sử dụng
Tuyến đường

sự hợp tác
Xác thực
Trọng tải
Machine Translated by Google

Ví dụ: Đăng ký khóa học

Cơ chế phân tích

Kiên trì Phân bổ

Bảo vệ Giao diện kế thừa


Machine Translated by Google

Các bước phân tích kiến trúc

• Các khái niệm

chính • Xác định tổ chức cấp cao của


người mẫu

• Xác định các cơ chế phân tích •

Xác định các khái niệm trừu


tượng chính • Tạo hiện thực hóa ca sử dụng

• Điểm kiểm tra


Machine Translated by Google

Trừu tượng chính là gì?

• Sự trừu tượng hóa khóa thường là một khái niệm


được phát hiện trong Yêu cầu, mà hệ thống
phải có khả năng xử lý

• Nguồn tóm tắt chính


Kiến thức miền

Yêu cầu

Bảng chú giải

Mô hình miền hoặc doanh nghiệp


Mô hình (nếu có)
Machine Translated by Google

Xác định sự trừu tượng chính

• Xác định các lớp phân tích

• Phân tích mô hình các lớp và các mối quan hệ


trên sơ đồ lớp

– Bao gồm một mô tả ngắn gọn


về một lớp phân tích

• Ánh xạ các lớp phân tích


tới các cơ chế phân
tích cần thiết
Machine Translated by Google

Ví dụ: Tóm tắt chính

Giáo sư Học sinh

Lịch trình

Danh mục khóa học khóa học cung cấp Khóa học
Machine Translated by Google

Các bước phân tích kiến trúc

Ý chính
Xác định tổ chức cấp cao của mô hình

Xác định cơ chế phân tích


Xác định sự trừu tượng chính
Tạo hiện thực hóa ca sử dụng

Điểm kiểm tra


Machine Translated by Google

Đánh giá: Hiện thực hóa ca sử dụng là gì?

Mô hình ca sử dụng Mẫu thiết kế

Trường hợp sử dụng Hiện thực hóa ca sử dụng

Giao tiếp
Sự liên tiếp Sơ đồ
Sơ đồ

Trường hợp sử dụng


Sơ đồ lớp
Machine Translated by Google

Giá trị của trường hợp sử dụng

Hiện thực hóa

• Cung cấp khả năng truy nguyên từ Phân tích và Thiết


kế đến Yêu cầu • Kiến
trúc sư tạo ra Hiện thực hóa ca sử dụng

Yêu cầu Phân tích & Thiết kế


(Mô hình ca sử dụng) (Mẫu thiết kế)

Trường hợp sử dụng Hiện thực


hóa ca sử dụng
Machine Translated by Google

Các bước phân tích kiến trúc

Ý chính
Xác định tổ chức cấp cao của mô hình

Xác định cơ chế phân tích


Xác định sự trừu tượng chính
Tạo hiện thực hóa ca sử dụng

Điểm kiểm tra


Machine Translated by Google

Điểm kiểm tra

• Tổng quan

– Việc phân vùng và phân lớp gói có


được thực hiện một cách nhất
quán về mặt logic không?

– Các cơ chế phân tích cần


thiết đã được xác định chưa?

• Gói
– Chúng ta đã cung
cấp được bức tranh toàn cảnh
về dịch vụ của các gói ở các lớp
cấp trên chưa?
Machine Translated by Google

Điểm kiểm tra (tiếp theo)

• Các lớp học

– Các lớp thực thể chính và các mối


quan hệ của chúng đã được xác định
và mô hình hóa chính xác chưa?

– Tên từng lớp có phản ánh rõ vai trò của


nó không?

– Các lớp/trừu tượng chính và mối quan


hệ của chúng có nhất quán với Mô hình
kinh doanh, Mô hình miền, Yêu cầu,
Bảng thuật ngữ, v.v. không?

You might also like