Xem mẫu
- Kiến trúc phần mềm
GV. Nguyễn Minh Huy
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1
- Nội dung
Các khái niệm cơ bản
bản..
Các mô hình kiến trúc
trúc..
Công nghệ phân tán.
tán.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
2
- Nội dung
Các khái niệm cơ bản
bản..
Các mô hình kiến trúc
trúc..
Công nghệ phân tán.
tán.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
3
- Các khái niệm cơ bản
Thiết kế phần mềm là gì
gì?
?
Trả lời câu hỏi HOW
HOW..
Phác thảo cách hiện thực hóa yêu cầu
cầu..
Thiết kế kiến trúc
trúc:: sub-
sub-systems, architecture model.
Thiết kế thành phần
phần:: màn hình
hình,, đối tượng
tượng,, dữ liệu
liệu..
Thiết kế xử lý:
lý: hiện thực hóa kịch bản Use Case.
VISION? WHAT? HOW?
-Need 1 -Req 1 -Architecture
-Need 2 -Req 2 -Elements
# # -Processing
Stakeholders Business Analyst Designer/Architect
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
4
- Các khái niệm cơ bản
Kiến trúc phần mềm là gì
gì?
?
Chương trình đơn giản một thành phần
phần..
Chương trình phức tạp nhiều thành phần con.
Những câu hỏi về thành phần con:
Được tổ chức
chức,, sắp xếp thế nào
nào??
Tương tác ra sao
sao??
Cấu tạo bên trong
trong??
Kiến trúc phần mềm
Bản mô tả cấu tạo,
tạo, tương tác
bên trong của phần mềm
mềm..
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
5
- Các khái niệm cơ bản
Tầm quan trọng của kiến trúc
trúc::
Ảnh hưởng hiệu quả hoạt động
động::
Tốc độ xử lý (performance).
Tính ổn định (reliability).
Tính bảo mật (security).
Tính chịu lỗi (fault
(fault--tolerance).
Ảnh hưởng chi phí
phí::
Khả năng triển khai
khai..
Khả năng vận hành
hành..
Khả năng bảo trì
trì..
Ảnh hưởng thiết kế và cài đặt
đặt..
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
6
- Các khái niệm cơ bản
Thiết kế kiến trúc
trúc::
Hoạt động đầu tiên của pha thiết kế.
kế.
Xác định khung sườn phần mềm
mềm..
Các bước thực hiện
hiện::
Bổ dọc
dọc:: xác định sub
sub--systems.
Bổ ngang
ngang:: lựa chọn architecture model.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
7
- Các khái niệm cơ bản
“Bổ dọc
dọc”” phần mềm
mềm::
Chia phần mềm thành các sub
sub--system.
Hệ thống con nằm trong phần mềm
mềm..
Phân hệ của phần mềm
mềm..
Nhóm các chức năng liên quan với nhau.
nhau.
Phần mềm Phần mềm
Phần mềm Phân hệ 1 Phân hệ 2
Chức Chức Chức Chức
năng năng năng năng Chức Chức Chức Chức
1 2 3 4 năng năng năng năng
1 2 4 3
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
8
- Các khái niệm cơ bản
“Bổ dọc
dọc”” phần mềm
mềm::
Tiêu chí phân chia sub
sub--system:
Bảo mật người dùng
dùng..
Chức năng dùng chung
chung..
Quản lý thư viện
Thủ thư Khách Độc giả
Quản lý thư viện Nhập
Nhập Tra
Nhập độc Mượn
Tra Nhập sách cứu
Mượn độc giả sách
cứu sách mới sách
sách giả mới
sách mới
mới
CSDL
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
9
- Các khái niệm cơ bản
“Bổ ngang
ngang”” phần mềm
mềm::
Phân tầng xử lý các chức năng
năng..
Dựa theo các mô hình kiến trúc
trúc..
Phần mềm
Các mô hình kiến trúc
trúc:: Phân hệ 1
Tầng A
Mô hình đơn lập.
lập.
Chức Chức Chức
Mô hình phân tầng
tầng:: năng năng năng
1A 2A 4A
Mô hình 2-Tầng (Client
(Client--Server).
Mô hình 3-Tầng. Tầng B
Mô hình Peer
Peer--To
To--Peer. Chức Chức Chức
năng năng năng
1B 2B 4B
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
10
- Nội dung
Các khái niệm cơ bản
bản..
Các mô hình kiến trúc.
trúc.
Công nghệ phân tán.
tán.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
11
- Các mô hình kiến trúc
Mô hình đơn lập:
lập:
Không phân tầng xử lý.
lý.
Các thành phần tự do tương tác
tác..
Ưu điểm
điểm::
Dễ lập trình và triển khai
khai..
Tốc độ xử lý.
lý.
Nhược điểm
điểm::
Khó bảo trì
trì,, nâng cấp
cấp..
Khó chia sẻ dữ liệu
liệu..
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
12
- Các mô hình kiến trúc
Mô hình Client
Client--Server:
Phân làm hai tầng
tầng:: Server
Server:
Thư viện
Cung cấp dịch vụ.
vụ. xử lý
Dữ liệu
liệu,, thư viện
viện..
Chia sẻ,
sẻ, dùng chung
chung..
Client: Client
Sử dụng dịch vụ.
vụ.
Màn Thư viện
Giao diện
diện,, thư viện
viện.. hình xử lý
Phân tán.
tán.
Tương tác giữa các thành phần
phần::
Trong phân hệ:
hệ: tự do tương tác
tác..
Giữa hai phân hệ:
hệ: tương tác 1 chiều từ client đến server.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
13
- Các mô hình kiến trúc
Mô hình Client
Client--Server:
Mô hình Thin
Thin--Client:
Server đảm trách dữ liệu + xử lý.
lý.
Client chỉ lo giao diện người dùng
dùng..
Dump terminal.
Mô hình Fat
Fat--Client:
Server đảm trách dữ liệu
liệu..
Client lo toàn bộ xử lý + giao diện người dùng
dùng..
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
14
- Các mô hình kiến trúc
Mô hình Client
Client--Server:
Ưu điểm
điểm::
Dữ liệu chia sẻ và đồng bộ. bộ.
Hạn chế tương tác
Cô lập lỗi client
client--server.
Dễ bảo trì
trì,, nâng cấp
cấp..
Nhược điểm
điểm::
Chi phí triển khai
khai..
Tốc độ xử lý.
lý.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
15
- Các mô hình kiến trúc
Mô hình 3-Tầng (3
(3--Tiers):
Data Layer
Phân làm ba tầng
tầng::
Tầng dữ liệu (data layer).
Dịch vụ dữ liệu
liệu..
Data server.
Tầng xử lý (business layer). Business Layer
Thư viện xử lý.
lý.
Application server. Thư viện
xử lý
Tầng giao diện (presentation layer).
Giao diện người dùng
dùng..
Thin--Client.
Thin Client
Quy tắc tương tác “thang máy
máy”.
”. Màn
Không tương tác vượt tầng
tầng.. hình
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
16
- Các mô hình kiến trúc
Mô hình 3-Tầng (3
(3--Tiers):
Data Layer
Mô hình đa tầng
tầng::
Mở rộng mô hình 3-Tầng.
Phân làm nhiều tầng xử lý.
lý.
Dùng trong ứng dụng web.
Ưu điểm
điểm:: Business Layer
Tương tự mô hình Client
Client--Server. Thư viện
Tầng xử lý riêng biệt
biệt.. xử lý
Nhược điểm
điểm::
Tương tự mô hình Client
Client--Server. Client
Màn
hình
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
17
- Các mô hình kiến trúc
Mô hình Peer
Peer--to
to--Peer:
Là mô hình đơn lập phân tán.
tán.
Triển khai trên nhiều máy (nút
nút).
).
Các nút tương tác được với nhau.
nhau.
Mỗi nút đóng vai Client
Client--Server.
Chia sẻ dữ liệu + xử lý trên toàn bộ nút
nút..
Ưu điểm
điểm::
Không cần server trung tâm
tâm..
Không gian lưu trữ và khả năng xử lý dàn trải
trải..
Dễ triển khai
khai..
Nhược điểm
điểm::
Khó lập trình và quản lý dữ liệu
liệu..
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
18
- Nội dung
Các khái niệm cơ bản
bản..
Các mô hình kiến trúc
trúc..
Công nghệ phân tán.
tán.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
19
- Công nghệ phân tán
Middleware:
Các thành phần trong hệ phân tán giao tiếp thế nào
nào?
?
Hệ thống đứng giữa điều phối
phối..
Server Client
Đối tượng Server Client Màn hình
Học sinh Middleware Middleware Học sinh
Các chuẩn phổ biến
biến::
CORBA (C
(Common Object Request Broker Architecture).
COM (C
(Component Object Model).
JavaBeans.
Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy
CuuDuongThanCong.com https://fb.com/tailieudientucntt
20
nguon tai.lieu . vn