Bài giảng 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

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  
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  
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  
cần phải thực hiện cùng cách thức, trình tự thực hiện các công  
việc chức năng này.  
Kết quả của qui trình phát triển phần mềm là bản ₫ặc tả ₫ầy ₫ủ về  
phần mềm.  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 2  
5.1 Đặc tả phần mềm  
Đặc tả ₫ầy ₫ủ về phần mềm là ₫ặc tả phần mềm theo nhiều góc  
nhìn khác nhau :  
. Góc nhìn người dùng : tập các yêu cầu chức năng và phi chức  
năng của phần mềm.  
. Góc nhìn vĩ mô ₫ể người hiểu : kiến trúc phần mềm và phát sơ  
lược về cách giải quyết từng chức năng.  
. Góc nhìn chi tiết ₫ể người hiểu : bản thiết kế chi tiết về phần  
mềm.  
. Góc nhìn chi tiết ₫ể máy hiểu : các file mã nguồn và các file  
khả thi của chương trình.  
. …  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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  
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  
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 4  
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  
Các chức  
năng và  
chất lượng  
phần mềm  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 5  
5.2 Đặc tả kiến trúc của hệ thống phần mềm  
Chọn cấu trúc nào ₫ể xây dựng phần mềm lớn ?  
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  
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  
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ưà ₫ố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  
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 7  
5.2 Đặc tả kiến trúc của hệ thống phần mềm  
Để dễ dàng quản lý các phần tử, ta phải hạn chế tối ₫a sự tương tác giữa  
chúng. Tính ₫óng gói của mô hình hướng ₫ối tượng giải quyết vấn ₫ề này.  
Hạn chế sự tương tác của từng ₫ối tượng là :  
. Che dấu tối ₫a các chi tiết hiện thực của mình, chỉ cho các phần tử khác  
bên ngoài thấy và dù
. Hạn chế tối ₫a sự nhờ vả các phần phần bên ngoài : ta cần làm các thành  
phần nội bộ của ₫ối tượng có tính kết dính cao nhất có thể có.  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 8  
5.2 Đặc tả kiến trúc của hệ thống phần mềm  
Nếu dùng cấu trúc dạng phẳng cho phần mềm lớn thì cũng rất khó quản lý vì  
số lượng thành phần quá lớn. Thường ta sẽ dùng cấu trúc dạng phân cấp  
gồm nhiều mức trừu tượng khác nhau.  
3
1
2
5
4
6
7
9
8
10  
12  
11  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 9  
5.2 Đặc tả kiến trúc của hệ thống phần mềm  
. Ta dùng thuật ngữ kiến trúc phần mềm ₫ể  
miêu tả cấu trúc vĩ mô của phần mềm (ở  
bất kỳ cấp vĩ mô nào).  
. Ta dùng thuật ngữ cấu trúc cụ thể ₫ể  
miêu tả cấu trúc của phần tử chức năng ở  
cấp thấp nhất mà ta sẽ hiện thực.  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 10  
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  
Layer 6  
và phi chức  
năng  
Layer 5  
Layer 4  
Layer 3  
Layer 2  
Các chức  
năng và  
chất lượng  
phần mềm  
Layer 1  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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  
5.2 Đặc tả kiến trúc của hệ thống phần mềm  
Các yêu cầu  
Layer 6  
chức năng  
và phi chức  
năng  
Layer 4  
Layer 3  
Layer 2  
Các chức  
năng và  
chất lượng  
phần mềm  
ayr 1  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 12  
5.2 Đặc tả kiến trúc của 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 phần mềm cụ thể  
₫ượ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 : 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 13  
5.2 Đặc tả kiến trúc của 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 : 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  
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  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 15  
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)  
Đặc tả : Hệ thống phần mềm gồm 1 chương trình chính và 1 tập  
các thủ tục chức năng cần thiết.  
dùng cách phân rã theo dạng cây phân cấp : dựa trên mối quan  
hệ ₫ịnh nghĩa-sử dụng.  
chỉ có 1 thread kiểm soát duy nhất : ₫ược hỗ trợ trực tiếp bởi các  
ngôn ngữ lập trình.  
ẩn chứa cấu trúc hệ thống con : các thủ tục có mối quan hệ mật  
thiết thường ₫ược gộp thành module.  
lý do của sự phân cấp : ₫ộ ₫úng ₫ắn của 1 thủ tục phụ thuộc vào  
sự ₫úng ₫ắn của các thủ tục mà nó gọi.  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 16  
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  
Sub n-1  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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  
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)  
Đặc tả : Hệ thống phần mềm gồm 1 tập các thành phần ₫ộc lập  
₫ược ghép nối lỏng lẻo.  
Component 2  
Component 1  
Component n  
tương tác  
Component 3  
Khoa Khoa học & Kỹ thuật Máy tính  
Trường ĐH Bách Khoa Tp.HCM  
© 2015  
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 18  
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)  
Thành phần : 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ở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  
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  
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ễ
. 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  
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 20  
Tải về để xem bản đầy đủ
pdf 68 trang yennguyen 18520 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng 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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_cac_mau_thiet_ke_huong_doi_tuong_chuong_5_cac_mau.pdf