Chương 5
CÁC MẪU KIẾN TRÚC PHẦN MỀM PHỔ DỤNG
5.1 Đặc tả phần mềm
5.2 Đặc tả kiến trúc phần mềm
5.3 Các mẫu kiến trúc phổ dụng
5.4 Kết chương
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 1
https://fb.com/tailieudientucntt
5.1 Đặc tả phần mềm
Máy tính số là thiết bị tổng quát hóa, nó có thể giải quyết nhiều
vấn ₫ề mà con người cần giải quyết.
Tại từng thời ₫iểm, ₫ể nhờ máy tính giải quyết 1 vấn ₫ề nào ₫ó, ta
phải lập trình cho máy tính hiểu.
Qui trình phát triển phần mềm miêu tả các công việc chức năng
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 3
https://fb.com/tailieudientucntt
5.2 Đặc tả kiến trúc của hệ thống phần mềm
Kiến trúc phần mềm cho thấy cấu trúc tổng quát, vĩ mô của phần
mềm.
Kiến trúc phần mềm bao gồm các phần tử sau :
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
CuuDuongThanCong.com
Cấu trúc ₫ơn thể bên trái chắc chắn không phù hợp. Do ₫ó ta sẽ chọn cấu
trúc bên phải : phần mềm gồm nhiều phần tử cấu thành, các phần tử này
chắc chắn phải có mối quan hệ lẫn nhau.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 6
https://fb.com/tailieudientucntt
5.2 Đặc tả kiến trúc của hệ thống phần mềm
Chủng loại các phần tử cấu thành phần mềm như thế nào và mối quan hệ
giữa chúng ra sao ₫ể ta có thể dễ dàng quản lý chúng theo thời gian?
Các phần tử cấu thành phần mềm lớn thường có số lượng rất lớn, nhưng ₫ể
dễ xây dựng và quản lý chúng, ta ₫òi hỏi chúng phải thuần nhất cùng một
chủng loại. Mô hình hướng ₫ối tượng gọi phần tử này là ₫ối tượng. Như vậy
phần mềm là tập các ₫ối tượng.
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
3
2
1
3
10
5
11
4
4
2
6
8
7
9
8
10
11
12
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
3
10
11
4
2
3
8
10
11
1
5
6
7
12
9
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 11
https://fb.com/tailieudientucntt
5.2 Đặc tả kiến trúc của hệ thống phần mềm
Các yêu cầu
chức năng
và phi chức
năng
Layer 6
Layer 4
Layer 3
Các chức
năng và
chất lượng
phần mềm
Layer 2
Layer 1
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
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
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 14
https://fb.com/tailieudientucntt
5.3 Các mẫu kiến trúc phổ dụng
Kiến trúc ₫ơn thể (Monolithic)
Đặc tả : 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 : danh sách các lệnh thực thi miêu tả giải
thuật cần thực hiện + danh sách các biến dữ liệu bị xử lý.
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
Slide 16
https://fb.com/tailieudientucntt
5.3 Các mẫu kiến trúc phổ dụng
Kiến trúc Chương trình chính và thủ tục
(MainProgram/Subroutine Architecture)
Main Program
Sub 3
Sub 2
Sub 1
Sub n-1
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Sub n
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 17
https://fb.com/tailieudientucntt
Replaceable : dễ dàng ₫ược thay thế bởi thành phần mới
Not context specific : không có ngữ cảnh
Extensible : dễ nới rộng
Encapsulated : ₫óng gói và ẩn chi tiết hiện thực
Independent : ₫ộc lập cao
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 19
https://fb.com/tailieudientucntt
5.3 Các mẫu kiến trúc phổ dụng
Kiến trúc các thành phần (Components based Architecture)
Ưu ₫iểm của kiến trúc các thành phần :
Ease of deployment : dễ dàng triển khai
Reduced cost : chi phí thấp
Ease of development : dễ dàng phát triển
Reusable : dễ dàng dùng lại
Mitigation of technical complexity : giảm nhẹ ₫ộ phức tạp kỹ
thuật
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
Object 1
gởi thông ₫iệp
Object n
Object 3
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 22
https://fb.com/tailieudientucntt
5.3 Các mẫu kiến trúc phổ dụng
Kiến trúc hướng ₫ối tượng (Objects based Architecture)
Đối tượng : là nguyên tử cấu thành phần mềm, nó có 1 số tính
chất sau :
Reusable : dễ dàng dùng lại cho ứng dụng khác
Replaceable : dễ dàng ₫ược thay thế bằng ₫ối tượng mới hơn
Extensible, Heritable : thừa kế và dễ nới rộng
Encapsulated : ₫óng gói và ẩn chi tiết hiện thực
Independent : ₫ộ ₫ộc lập cao
Persistent : thường trù ₫ể sẵn sàng phục vụ
Aggregation... : bao gộp từ nhiều ₫ối tượng nhỏ
5.3 Các mẫu kiến trúc phổ dụng
Kiến trúc hướng ₫ối tượng (Objects based Architecture)
Ưu ₫iểm của kiến trúc hướng ₫ối tượng :
Understandable : dễ hiểu
Reusable : dễ dùng lại
Testable : dễ kiểm thử
Extensible : dễ nới rộng
Highly Cohesive : kết dính giữa các thành phần trong từng ₫ối
tượng cao
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2015
CuuDuongThanCong.com
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 5 : Các mẫu kiến trúc phần mềm phổ dụng
Slide 25
https://fb.com/tailieudientucntt