
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 1
3.1 Kiến trúc trong các hệthống phần mềm
3.2 Các mẫu kiến trúc phổdụng
3.3 Kết chương
Chương 3
CÁC MẪU KIẾN TRÚC PHỔDỤNG
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 2
3.1 Kiến trúc trong các hệthống phần mềm
kiến trúc là cấu trúc các phần tử, không chỉlà cái gì mà là tại sao
kiến trúc tốt :
kết quảcủa 1 tập các nguyên tắc và kỹthuật nhất quán ₫ược
áp dụng nhất quán thông qua tất cảcác bước của dựán phần
mềm
không nản lòng khi ₫ối diện với các thay ₫ổi không thểtránh
₫ược.
nguồn hướng dẫn xuyên suốt thời gian sống của phần mềm
bao gồm 1 ít tính chất và luật khóa ₫ể tổhợp chúng sao cho sự
toàn vẹn kiến trúc ₫ược giữnguyên.

Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 3
3.1 Kiến trúc trong các hệthống phần mềm
Các phần tửcủa ₫ặc tảkiến trúc
Định nghĩa kiến trúc cho 1 hệthống chọn :
các thành phần : ₫ịnh nghĩa ₫ịa ₫iểm tính toán, thí dụfilter,
database, object, ADT
các mối nối (Connector) : làm trung gian cho tương tác giữa
các thành phần. gọi thủtục, pipe, phát tán sựkiện.
các thuộc tính : xác ₫ịnh thông tin cho việc phân tích và xây
dựng : chữ ký, ₫iều kiện pre/post, ₫ặc tảRT.
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 4
3.1 Kiến trúc trong các hệthống phần mềm
Mẫu/Kiểu kiến trúc (Architecture Pattern/Style)
Kiểu kiến trúc ₫ịnh nghĩa 1 họcác kiến trúc ₫ược giới hạn bởi :
từvựng thành phần/mối nối.
các luật topology.
các ràng buộc ngữnghĩa.

Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 5
3.1 Kiến trúc trong các hệthống phần mềm
Các ₫ặc ngữkiến trúc phổbiến
Các hệthống xửlý dòng dữliệu : lô tuần tự (Batch sequential),
₫ường ống và lọc (Pipe and filters)
Các hệthống gọi-trảvề : chương trình chính và thủtục (main
program & subroutines), các cấp có thứbậc (Hierarchical layers),
hệthống hướng ₫ối tượng (OO system).
Các máy ảo : Trình thông dịch (Interpreters), hệthống dựa vào
luật (Rule-based system)
Các thành phần ₫ọc lập : các process giao tiếp nhau
(Communicating processes), các hệthống xửlý sựkiện (Event
systems).
Các hệthống tập trung quanh dữliệu (Repositories) : Database,
Blackboard
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 6
3.2 Các mẫu kiếntrúc phổdụng
Kiếntrúc₫ơn thể(Monolithic)
Đặctả: Hệthống chỉgồm duy nhất 1 module. Module này chứa
mọi thứcủa chương trình :
giao tiếp giữa các thành phần là cục bộvà rất hiệu quả.
thích hợp cho những phần mềm nhỏ, ₫ơn giản.
không thích hợp cho những phần mềm lớn và phực tạp.

Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 7
3.2 Các mẫu kiến trúc phổdụng
Kiếntrúclô tuần tự(Batch Sequential)
Đặctả: Chương trình gồm n phần mềm ₫ộc lập và ₫ược chạy
theo cơ chếtuần tự: phần mềm i chạy trước, khi xong rồi thì
truyền kết quảcho phần mềm thứi+1... Mỗi phần mềm i trong lô
₫ược gọi là filter, nó xửlý dữliệu ₫ầu vào theo ₫ịnh dạng xác ₫ịnh
rồi tạo kết quả ₫ầu ra theo ₫ịnh dạng xác ₫ịnh.
Filter Filter Filter Filter
data 1 data 2 data 3 data 4 data 5
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 8
3.2 Các mẫu kiến trúc phổdụng
Kiến trúc lô tuần tự(Batch Sequential)
Tình huống nên dùng : trong các ứng dụng xửlý dữliệumàdữ
liệunhậpcần₫ượcxửlý bởinhiều công ₫oạn khác nhau và có
tính ₫ộc lập cao trướckhitạorakếtquảcuối cùng.
Ưu₫iểm: dễdàng thay ₫ổi/bảo trì/dùng lại từng filter củahệ
thống, phù hợpvớinhiềuhoạt₫ộng nghiệpvụ, dễdàng nâng cấp
bằng cách thêm filter mới.
Khuyết₫iểm: 2 filter kềnhau cần tuân thủ ₫ịnh dạng dữliệu
chung.

Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 9
3.2 Các mẫu kiến trúc phổdụng
Kiến trúc lô tuần tự(Batch Sequential)
Thí dụ: Thiết kếtrực quan cửa sổgiao diện và dùng nó trong
phần mềm android.
Chương trình
thiết kếtrực quan
giao diện cửa sổ
ứng dụng
Project Android
quản lý ứng dụng
android
Người thiết kế
giao diệnFile XML
₫ặc tảbản
thiết kế
Chương trình
android dùng
giao diện ₫ược
thiết kế
Khoa Khoa học & Kỹthuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Môn : Kiến trúc phần mềm
Chương 3 : Các mẫu kiến trúc phổdụng
Slide 10
3.2 Các mẫu kiến trúc phổdụng
Kiếntrúc₫ường ống và lọc (Pipe and filter Architecture)
Đặctả: Nới rộng kiến trúc lô tuần tựlên tầm cao mới :
Các filter không nhất thiết là phần mềm ₫ộc lập lẫn nhau,
chúng có thểlà các thread chạy trong 1 chương trình.
Có thểcó nhiều ống con trong từng ₫oạn xửlý.
Filter
Filter Filter
Filter
Filter Filter
data 1
data 2
data 3
data 4
data 5
data 6
data 7 data 8

