ĐHQG HCM – TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THƠNG TIN
Mơ hình 3 lớp
Lập trình ứng dụng quản lý 1
ThS. Ngô Chánh Đức
Nội dung
Kiến trúc phần mềm
Mơ hình phân lớp
Mơ hình phân tầng
KIẾN TRÚC PHẦN MỀM
Kiến trúc phần mềm
Kiến trúc phần mềm bao gồm
▪ quá trình tổ chức một hệ thống phần mềm
▪ thành nhiều thành phần nhỏ
▪ và những thành phần này có mối liên hệ lẫn nhau,
cấu thành nên phần mềm.
Kiến trúc phần mềm tập trung vào
▪ việc sử dụng các thành phần chính trong ứng dụng
▪ và tương tác giữa các thành phần chính trong ứng
dụng
Lập trình ứng dụng quản lý 2
5
Mục tiêu kiến trúc phần mềm
Làm lộ ra cấu trúc của hệ thống nhưng giấu đi
phần cài đặt chi tiết
Hiện thực hóa được tồn bộ use case và ngữ
cảnh
Cố gắng thỏa mãn tất cả yêu cầu các bên liên
quan
Kiểm soát cả yêu cầu chức năng và chất lượng
Lập trình ứng dụng quản lý 2
6
Nguyên tắc trong kiến trúc phần mềm
Xây dựng để sau này có thể thay đổi
▪ Những yêu cầu mới nào sẽ được bổ sung trong
tương lai
▪ Làm cách nào để ứng dụng có thể thay đổi linh hoạt
để hỗ trợ
Mơ hình hóa để phân tích và giảm rủi ro
▪ Các cơng cụ thiết kế, mơ hình hóa như UML
▪ Giúp có cái nhìn tổng thể, thậm chí mơ phỏng ứng
dụng
Sử dụng mơ hình và trực quan hóa như cơng
cụ giao tiếp và hợp tác.
Lập trình ứng dụng quản lý 2
7
Một số kiến trúc phổ biến
Thể loại
Giao tiếp
(Communication)
Triển khai
(Deployment)
Kiến trúc
Service-Oriented Architecture
(SOA),
Message Bus
Client/Server, N-Tier, 3-Tier
Lĩnh vực (Domain) Domain Driven Design
Structure (Cấu trúc) Component-Based, ObjectOriented, Layered Architecture
Lập trình ứng dụng quản lý 2
8
Một số mẫu kiến trúc phổ biến
Client/Server: tách hệ thống thành 2 ứng dụng, máy
khách (client) và máy chủ (server). Client sẽ gửi yêu
cầu đến server. Khi xây dựng UDQL, server có thể là
CSDL với các stored procedure
Lập trình ứng dụng quản lý 2
9
Một số mẫu kiến trúc phổ biến
Component-Based Architecture (Kiến trúc
dựa trên thành phần): phân rã thiết kế của ứng
dụng thành những thành phần chức năng
(hoặc logic) có thể tái sử dụng; những thành
phần này có giao diện giao tiếp
(communication interface) được thiết kế tốt để
cơng bố.
Lập trình ứng dụng quản lý 2
10
Component-Based Architecture
Một số mẫu kiến trúc phổ biến
Object-Oriented Design (Thiết kế hướng đối
tượng): phân chia các trách nhiệm của một
ứng dụng hoặc hệ thống thành những đối
tượng riêng lẻ có thể tái sử dụng và hoạt động
độc lập, gồm có dữ liệu và hành vi
Lập trình ứng dụng quản lý 2
12
Object-Oriented Design
Một số mẫu kiến trúc phổ biến
Domain Driven Design (Thiết kế hướng lĩnh
vực): kiến trúc hướng đối tượng tập trung vào
việc mơ hình hóa lĩnh vực nghiệp vụ và định
nghĩa các đối tượng nghiệp vụ dựa trên các
thực thể có trong lĩnh vực này.
Lập trình ứng dụng quản lý 2
14
Domain Driven Design
Một số mẫu kiến trúc phổ biến
Layered Architecture (Kiến trúc phân lớp):
phân tách những khía cạnh của ứng dụng
thành những lớp chồng lên nhau.
Lập trình ứng dụng quản lý 2
16
Layered Architecture
Một số mẫu kiến trúc phổ biến
N-Tier/ 3-Tier: Tách tính năng thành những
mảnh rời giống như kiến trúc phân lớp nhưng
mỗi mảnh (hay còn gọi là tier) được đặt ở
những máy tính khác nhau.
Lập trình ứng dụng quản lý 2
18
Một số mẫu kiến trúc phổ biến
Message Bus: kiểu thiết kế giúp quy định việc
sử dụng một hệ thống phần mềm thơng qua
việc gửi và nhận thơng điệp; vì thế, ứng dụng
có thể tương tác mà khơng cần biết chi tiết về
đối phương
Lập trình ứng dụng quản lý 2
19
Message bus
Lập trình ứng dụng quản lý 2
20
Một số mẫu kiến trúc phổ biến
Service-Oriented Architecture (SOA): dành
cho những ứng dụng có cơng bố và sử dụng
chức năng như là một dịch vụ, sử dụng các
giao tiếp và thơng điệp
Lập trình ứng dụng quản lý 2
21
MƠ HÌNH PHÂN LỚP
Mơ hình phân lớp cơ bản
3 lớp thơng dụng của mơ hình phân lớp
Lập trình ứng dụng quản lý 2
23
Mơ hình phân lớp cấp cao
Lớp Service và
Cross-Cutting
được bổ sung
Lập trình ứng dụng quản lý 2
24
MƠ HÌNH ĐA TẦNG
Lập trình ứng dụng quản lý 2
25