Tải bản đầy đủ (.pdf) (32 trang)

Bài giảng thiết kế kiến trúc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (338.36 KB, 32 trang )

Thiết kế kiến trúc
Nội dung chính
z Khái niệm về kiến trúc phần mềm
z Các quyết định khi thiết kế kiến trúc
z Các mô hình kiến trúc
z Mô tả kiến trúc
z Đánh giá kiến trúc
2
Tài liệu tham khảo
z Ian Sommerville, Software Engineering,
chương 11
3
Kiến trúc phần mềm
z Kiến trúc phần mềm là các cấu trúc của
hệ thống được tạo nên bởi
− Các thành phần
− Các thuộc tính của từng thành phần có thể
thấy từ bên ngoài
− Mối quan hệ giữa các thành phần
4
Kiến trúc phần mềm
z Kiến trúc phần mềm hỗ trợ
− Phân tích khả năng đáp ứng yêu cầu của
hệ thống
− Nghiên cứu các giải pháp thay thế
− Giảm rủi ro của việc phát triển phần mềm
− Sử dụng lại
5
Các quyết định khi thiết kế
z Có kiến trúc mẫu nào không? (của một ứng
dụng đang được sử dụng nào đó)


z Làm thế nào để tổ chức ứng dụng? (nghĩa là
chia ứng dụng thành các phân hệ)
z Tương tác giữa các phân hệ như thế nào?
z Phân rã các phân hệ như thế nào?
z Những tài liệu mô tả kiến trúc?
z Làm thế nào để đánh giá?
6
Quy trình thiết kế kiến trúc
z Tổ chức hệ thống
− Chia hệ thống thành các phân hệ và xác
định phương thức liên kết các phân hệ
z Mô hình điều khiển
− Xác định cách điều khiển giữa các phân hệ
z Phân rã phân hệ
− Chia nhỏ mỗi phân hệ thành các môdun
7
Các mô hình kiến trúc
z Tổ chức hệ thống
− Dữ liệu tập trung
− Client – Server
− Phân tầng
z Điều khiển tương tác giữa các phân hệ
− Điều khiển tập trung
− Điều khiển dựa trên sự kiện
z Phân rã phân hệ
− Hướng đối tượng
− Hướng chức năng
8
Mô hình dữ liệu tập trung
9

Data store
(repository or black
board)
Client
software
Client
software
Client
software
Client
software
Client
software
Client
software
Mô hình dữ liệu tập trung
10
Kiến trúc của một bộ CASE tích hợp
Design
translator
Project
repository
Design
editor
Code
generator
Program
editor
Design
analyser

Report
generator
Mô hình dữ liệu tập trung
z Ưu điểm
− Tiện lợi cho chia sẻ dữ liệu lớn
− Sự độc lập giữa các phân hệ
z Nhược điểm
− Khó thay đổi cấu trúc dữ liệu
11
Mô hình Client-Server
12
Network
Client
Server
Client
Client
Broadband Network
Client Client Client Client
Catalogue
Server
Film
Server
Picture
Server
Web
Server
Mô hình Client-Server
13
Kiến trúc của một thư viện phim và hình ảnh
Mô hình Client - Server

z Ưu điểm
− Hiệu quả sử dụng cao
− Dễ dàng mở rộng thêm dịch vụ
− Dễ dàng nâng cấp
z Nhược điểm
− Số lượng client có thể tăng giảm mà phía
server không biết
− Server bị hỏng
14
Mô hình phân tầng
15
User interface
layer
Application layer
Utility layer
Core layer
components
Mô hình phân tầng
16
Truy xuất cơ sở dữ liệu
Kế toán
Giao diện người dùng
Kiến trúc của ứng dụng doanh nghiệp
Khách hàng Nhân sự
Mô hình phân tầng
z Ưu điểm
− Hỗ trợ phát triển tăng dần
− Dễ thay đổi
z Thay đổi tầng
z Thêm tầng

z Nhược điểm
− Vấn đề về hiệu năng
− Khó thiết kế theo đúng mô hình này
17
Các mô hình kiến trúc
z Tổ chức hệ thống
− Dữ liệu tập trung
− Client – Server
− Phân tầng
z Điều khiển tương tác giữa các phân hệ
− Điều khiển tập trung
− Điều khiển dựa trên sự kiện
z Phân rã phân hệ
− Hướng đối tượng
− Hướng chức năng
18
Các mô hình điều khiển tập trung
z Một phân hệ chịu trách nhiệm gọi thực
thi các phân hệ khác
z Chia làm hai loại
− Mô hình gọi-trả lại
− Mô hình quản lý
19
Mô hình gọi-trả lại
20
Main
program
Routine 1 Routine 2 Routine 3
Routine 1.1 Routine 1.2 Routine 3.1 Routine 3.2
Mô hình quản lý

21
Sensor
processes
Actuator
processes
Computation
processes
User interface Fault handler
System
controller
Mô hình điều khiển dựa trên sự kiện
z Quá trình hoạt động dựa vào các sự
kiện tạo ra bởi các yếu tố bên ngoài
z Chia làm 2 loại
− Mô hình điều khiển quảng bá
− Mô hình điều khiển ngắt
22
Mô hình điều khiển quảng bá
23
Trình xử lý sự kiện và thông điệp
Sub-system
1
Sub-system
2
Sub-system
3
Mô hình điều khiển ngắt
24
Các mô hình kiến trúc
z Tổ chức hệ thống

− Dữ liệu tập trung
− Client – Server
− Phân tầng
z Điều khiển tương tác giữa các phân hệ
− Điều khiển tập trung
− Điều khiển dựa trên sự kiện
z Phân rã phân hệ
− Hướng đối tượng
− Hướng chức năng
25

×