Mô tả:
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
−
z
Mô hình điều khiển
−
z
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ệ
Xác định cách điều khiển giữa các phân hệ
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
−
−
−
z
Điều khiển tương tác giữa các phân hệ
−
−
z
Dữ liệu tập trung
Client – Server
Phân tầng
Điều khiển tập trung
Điều khiển dựa trên sự kiện
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
Client
software
Client
software
Data store
(repository or black
board)
Client
software
Client
software
Client
software
Client
software
9
Mô hình dữ liệu tập trung
Design
editor
Design
translator
Code
generator
Project
repository
Design
analyser
Program
editor
Report
generator
Kiến trúc của một bộ CASE tích hợp
10
Mô hình dữ liệu tập trung
z
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ệ
Nhược điểm
−
Khó thay đổi cấu trúc dữ liệu
11
Mô hình Client-Server
Client
Network
Client
Server
Client
12
Mô hình Client-Server
Client
Client
Client
Client
Broadband Network
Catalogue
Server
Film
Server
Picture
Server
Web
Server
Kiến trúc của một thư viện phim và hình ảnh
13
Mô hình Client - Server
z
Ưu điểm
−
−
−
z
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
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
User interface
layer
components
Application layer
Utility layer
Core layer
15
Mô hình phân tầng
Giao diện người dùng
Kế toán
Khách hàng
Nhân sự
Truy xuất cơ sở dữ liệu
Kiến trúc của ứng dụng doanh nghiệp
16
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
z
z
Thay đổi tầng
Thêm tầng
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
−
−
−
z
Điều khiển tương tác giữa các phân hệ
−
−
z
Dữ liệu tập trung
Client – Server
Phân tầng
Điều khiển tập trung
Điều khiển dựa trên sự kiện
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
Main
program
Routine 1
Routine 1.1
Routine 2
Routine 1.2
Routine 3
Routine 3.1
Routine 3.2
20
- Xem thêm -