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 để
Trang 1Mô hình 3 lớp
Lập trình ứng dụng quản lý 1
ThS Ngô Chánh Đức
ĐHQG HCM – TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Nội dung
Kiến trúc phần mềm
Mô hình phân lớp
Mô hình phân tầng
Trang 3KIẾN TRÚC PHẦN MỀM
Trang 6Mụ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 toàn bộ use case và ngữ
Trang 7Nguyê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
Trang 8Message Bus
Triển khai
(Deployment)
Client/Server, N-Tier, 3-Tier
Object-Oriented, Layered Architecture
Trang 9Mộ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
Trang 10Một số mẫu kiến trúc phổ biến
Component-Based Architecture (Kiến trúc
Trang 11Component-Based Architecture
Trang 12Một số mẫu kiến trúc phổ biến
ứ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
Trang 13Object-Oriented Design
Trang 14Một số mẫu kiến trúc phổ biến
Domain Driven Design (Thiết kế hướng lĩnh
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
Trang 15Domain Driven Design
Trang 16Một số mẫu kiến trúc phổ biến
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
Trang 17Layered Architecture
Trang 18Một số mẫu kiến trúc phổ biến
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
Trang 19Một số mẫu kiến trúc phổ biến
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
Trang 20Message bus
Trang 21Một số mẫu kiến trúc phổ biến
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
Trang 22MÔ HÌNH PHÂN LỚP
Trang 23Mô 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
Trang 24Mô hình phân lớp cấp cao
Lớp Service và
Cross-Cutting
được bổ sung
Trang 25MÔ HÌNH ĐA TẦNG
Lập trình ứng dụng quản lý 2 25
Trang 26Mô hình đa tầng: 1-tier và 3-layer
Data
GUI
Business logic
Data Access Application + Data
Trang 27Mô hình đa tầng: 2-tier và 3-layer
Trang 28Mô hình đa tầng: 3-tier và 3-layer
Browsers
Business tier
Web Server Local clients
Presentation tier
Business logic
Data Access
Web Server GUI
Trang 29Trao đổi liên lạc giữa các layer
Trang 30Sự phụ thuộc giữa các layer
Trang 31Ví dụ mô hình 3 lớp
Trang 32Tham khảo
NET Application Architecture Guide, 2nd
Edition, Chương 3, Chương 5, Chương 19