Bài giảng Kiến trúc phần mềm - Chương 3: Các mẫu kiến trúc phổ dụng
lượt xem 1
download
Bài giảng "Kiến trúc phần mềm - Chương 3: Các mẫu kiến trúc phổ dụng" thông tin về kiến trúc trong các hệ thống phần mềm; các mẫu kiến trúc phổ dụng. Mời các bạn cùng tham khảo bài giảng để nắm chi tiết nội dung kiến thức.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiến trúc phần mềm - Chương 3: Các mẫu kiến trúc phổ dụng
- Chương 3 CÁC MẪU KIẾN TRÚC PHỔ DỤNG 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 Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 1 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 3 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 5 3.2 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 : 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc lô tuần tự (Batch Sequential) Đặc tả : 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 7 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ệu mà dữ liệu nhập cần ₫ược xử lý bởi nhiều công ₫oạn khác nhau và có tính ₫ộc lập cao trước khi tạo ra kết quả cuối cùng. Ưu ₫iểm : dễ dàng thay ₫ổi/bảo trì/dùng lại từng filter của hệ thống, phù hợp với nhiều hoạt ₫ộng nghiệp vụ, 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 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 Project Android thiết kế trực quan quản lý ứng dụng Người thiết kế giao diện cửa sổ File XML android Chương trình giao diện ứng dụng ₫ặc tả bản android dùng thiết kế giao diện ₫ược thiết kế Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 9 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc ₫ường ống và lọc (Pipe and filter Architecture) Đặc tả : 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ý. data 4 data 2 Filter Filter data 6 Filter Filter data 1 data 8 data 3 Filter Filter data 7 data 5 Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc ₫ường ống và lọc (Pipe and filter Architecture) Tình huống nên dùng : trong các ứng dụng xử lý dữ liệu mà dữ liệu nhập cần ₫ược xử lý bởi nhiều công ₫oạn khác nhau và có tính ₫ộc lập cao trước khi tạo ra kết quả cuối cùng. Ưu ₫iểm : dễ dàng thay ₫ổi/bảo trì/dùng lại từng filter của hệ thống, phù hợp với nhiều hoạt ₫ộng nghiệp vụ, dễ dàng nâng cấp bằng cách thêm filter mới, hiệu quả cao hơn kiến trúc lô tuần tự. 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 Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 11 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc ₫ường ống và lọc (Pipe and filter Architecture) Thí dụ : Chương trình dịch ngôn ngữ Phân tích Phân tích Tạo code Scanner Parser cú pháp ngữ nghĩa mục tiêu source code chuỗi token cây cú pháp object code cây cú pháp cây ngữ nghĩa thô hoàn chỉnh Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc nhiều cấp (Layered architecture) Đặc tả : Hệ thống gồm nhiều cấp chức năng dạng chồng lên nhau, mỗi layer có chức năng cụ thể, rõ ràng và cung cấp các dịch vụ cho layer ngay trên mình. Layer cấp thấp nhất chứa các dịch vụ cơ bản nhất và ₫ược dùng cho toàn hệ thống. Layer n Layer n-1 ... Layer 2 interface sử dụng của layer 1 Layer 1 Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 13 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc nhiều cấp (Layered architecture) Tình huống nên dùng : xây dựng thêm khả năng mới trên hệ thống có sẵn, hay khi có nhiều nhóm phát triển khác nhau, mỗi nhóm chịu trách nhiệm về 1 layer chức năng cụ thể, hay khi có yêu cầu bảo mật nhiều cấp. Ưu ₫iểm : cho phép hiệu chỉnh bên trong layer bất kỳ sao cho interface không ₫ổi. Có thể giải quyết 1 chức năng nào ₫ó (xác nhận user) ở nhiều cấp theo cách thức tăng dần. Khuyết ₫iểm : khó tách bạch chức năng của từng cấp, layer trên khó tương tác với layer phía dưới nó nhưng không liền kề. Hiệu quả giảm sút khi nhiều layer phải tương tác nhau ₫ể giải quyết 1 chức năng nào ₫ó. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc nhiều cấp (Layered architecture) Thí dụ : Kiến trúc mạng OSI và kiến trúc mạng internet. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 15 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc client-server (client-server Architecture) Đặc tả : Hệ thống gồm 2 loại phần tử chức năng : server cung cấp 1 số dịch vụ, client là phần tử sử dụng dịch vụ bằng cách truy xuất ₫ến server tương ứng. Client dùng Server Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc client-server (client-server Architecture) Tình huống nên dùng : khi database dùng chung từ nhiều vị trí khác nhau hay khi tải hệ thống thay ₫ổi ₫ộng (nhân bản server thành nhiều phần tử). Ưu ₫iểm : server có thể phân tán tự do trên mạng. Khuyết ₫iểm : ₫ộ hiệu quả phụ thuộc vào mạng và hệ thống nên khó lường trước. Nếu các server ₫ược quản lý bởi các tổ chức khác nhau thì có vấn ₫ề về quản lý chúng. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 17 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc client-server (client-server Architecture) Thí dụ : Hệ thống quản lý phim ảnh dùng mô hình client-server Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc 3 ₫ối tác (3-tiers Architecture) Đặc tả : Sự cải tiến của kiến trúc client-server. Hệ thống gồm 3 loại phần tử chức năng : client, server, và server của server. Client dùng Server dùng Server cho cho client server Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 19 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc 3 ₫ối tác (3-tiers Architecture) Tình huống nên dùng : khi database dùng chung từ nhiều vị trí khác nhau hay khi tải hệ thống thay ₫ổi ₫ộng (nhân bản server thành nhiều phần tử). Ưu ₫iểm : server có thể phân tán tự do trên mạng. Khuyết ₫iểm : ₫ộ hiệu quả phụ thuộc vào mạng và hệ thống nên khó lường trước. Nếu các server ₫ược quản lý bởi các tổ chức khác nhau thì có vấn ₫ề về quản lý chúng. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc 3 ₫ối tác (3-tiers Architecture) Thí dụ : Hệ thống quản lý phim ảnh dùng mô hình 3-tiers Client 1 Client 2 Client 3 Client n Internet Server tiếp nhận các request từ client và xử lý luận lý Internet DBMS ds DBMS DBMS DBMS thư viện Films Photo thông tin Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 21 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc n ₫ối tác (n-tiers Architecture) Đặc tả : Sự tổng quát của kiến trúc 3-tiers. Hệ thống gồm n loại phần tử chức năng : client, server, và server của server,... dùng Server dùng Server cho dùng Server cho Client cho client server 1 server n-2 Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 22 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc n ₫ối tác (n-tiers Architecture) Tình huống nên dùng : khi database dùng chung từ nhiều vị trí khác nhau hay khi tải hệ thống thay ₫ổi ₫ộng (nhân bản server thành nhiều phần tử). Ưu ₫iểm : server có thể phân tán tự do trên mạng. Khuyết ₫iểm : ₫ộ hiệu quả phụ thuộc vào mạng và hệ thống nên khó lường trước. Nếu các server ₫ược quản lý bởi các tổ chức khác nhau thì có vấn ₫ề về quản lý chúng. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 23 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc n ₫ối tác (n-tiers Architecture) Thí dụ : Hệ thống quản lý phim ảnh dùng mô hình n-tiers Client 1 Client 2 Client 3 Client n Internet Server tiếp nhận các request từ client và xử lý luận lý Internet DBMS ds DBMS DBMS DBMS thư viện Films Photo thông tin Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVC (Model-View-Controller) Đặc tả : Hệ thống gồm 3 thành phần luận lý tương tác lẫn nhau : Model quản lý dữ liệu và các tác vụ liên quan ₫ến dữ liệu này. View ₫ịnh nghĩa và quản lý cách thức dữ liệu ₫ược trình bày cho user. Controller quản lý các tương tác với user như ấn phím, click chuột… và gởi thông tin tương tác này tới View và/hoặc Model. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 25 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVC (Model-View-Controller) Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVC (Model-View-Controller) Tình huống nên dùng : Hệ thống có nhiều cách ₫ể view và tương tác với dữ liệu, hoặc ta chưa biết trước các yêu cầu tương lai về sự tương tác và biểu diễn dữ liệu của chương trình. Ưu ₫iểm : cho phép dữ liệu thay ₫ổi ₫ộc lập với cách thức thể hiện nó và ngược lại. Khuyết ₫iểm : có thể cần nhiều code hơn và code có thể phức tạp hơn khi mô hình dữ liệu và sự tương tác chỉ ở mức ₫ộ ₫ơn giản. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 27 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVC (Model-View-Controller) Thí dụ : Hệ thống web dùng kiến trúc MVC : Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) Đặc tả : Hệ thống gồm 3 thành phần luận lý tương tác lẫn nhau : Model quản lý dữ liệu và các tác vụ liên quan ₫ến dữ liệu này. View ₫ịnh nghĩa và quản lý cách thức dữ liệu ₫ược trình bày cho user. Controller quản lý các tương tác với user như ấn phím, click chuột… và gởi thông tin tương tác này tới View và/hoặc Model. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 29 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) Tình huống nên dùng : Hệ thống có nhiều cách ₫ể view và tương tác với dữ liệu, hoặc ta chưa biết trước các yêu cầu tương lai về sự tương tác và biểu diễn dữ liệu của chương trình. Ưu ₫iểm : cho phép dữ liệu thay ₫ổi ₫ộc lập với cách thức thể hiện nó và ngược lại. Khuyết ₫iểm : có thể cần nhiều code hơn và code có thể phức tạp hơn khi mô hình dữ liệu và sự tương tác chỉ ở mức ₫ộ ₫ơn giản. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 31 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) Thí dụ : Hệ thống web dùng kiến trúc MVC : Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc kho (Repository Architecture) Đặc tả : Tất cả dữ liệu của hệ thống ₫ược quản lý trong 1 kho chứa tập trung, mọi thành phần chức năng của hệ thống ₫ều có thể truy xuất kho chứa này. Các thành phần không tương tác trực tiếp với nhau, chỉ thông qua kho chứa tập trung. Component 1 Component 2 Component 3 Component n Kho dữ liệu (repository) Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 33 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc kho (Repository Architecture) Tình huống nên dùng : khi hệ thống tạo và chứa 1 lượng rất lớn thông tin trong thời gian dài, hay trong các hệ thống dựa vào dữ liệu, ở ₫ó việc chứa thông tin vào kho sẽ kích hoạt 1 tool hay 1 chức năng hoạt ₫ộng. Ưu ₫iểm : các thành phần ₫ộc lập nhau, không ai biết gì về ai khác. Khuyết ₫iểm : kho là ₫iểm yếu nhất, nếu có lỗi sẽ ảnh hưởng toàn bộ các thành phần chức năng. Có vấn ₫ề về truy xuất ₫ồng thời kho, phân tán kho trên nhiều máy cũng khó khăn. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc kho (Repository Architecture) Thí dụ : Môi trường IDE gồm nhiều thành phần dùng chung kho thông tin, mỗi tool tạo thông tin và ₫ể trong kho ₫ể các tool khác dùng. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 35 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc hướng ₫ối tượng (Objects based Architecture) Đặc tả : Hệ thống phần mềm gồm 1 tập các ₫ối tượng ₫ộc lập ₫ược ghép nối lỏng lẻo. Object 2 Object 1 gởi thông ₫iệp Object n Object 3 Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 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 Replaceable Extensible, Heritable Encapsulated Independent Persistent Aggregation... Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 37 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc hướng ₫ối tượng (Objects based Architecture) Các nguyên tắc chính yếu của kiến trúc hướng ₫ối tượng : Abstraction Composition Inheritance Encapsulation Polymorphism Decoupling Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 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 Reusable Testable Extensible Highly Cohesive Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 39 3.2 Các mẫu kiến trúc phổ dụng Kiến trúc hướng ₫ối tượng (Objects based Architecture) Tình huống nên dùng : bất kỳ hệ thống phần mềm phức tạp nào. Khuyết ₫iểm : là mẫu kiến trúc có ₫ộ tổng quát cao nên khi hiện thực ta phải tốn nhiều chi phí ₫ể vận dụng nó. Khoa Khoa học & Kỹ thuật Máy tính Môn : Kiến trúc phần mềm Trường ĐH Bách Khoa Tp.HCM Chương 3 : Các mẫu kiến trúc phổ dụng © 2015 Slide 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc phần mềm: Chương 2 - ĐH Bách khoa TP HCM
32 p | 99 | 9
-
Bài giảng Kiến trúc phần mềm: Chương 1 - ĐH Bách khoa TP HCM
29 p | 119 | 9
-
Bài giảng Kiến trúc phần mềm: Chương 4 - ĐH Bách khoa TP HCM
6 p | 149 | 7
-
Bài giảng Kiến trúc phần mềm: Chương 3 - ĐH Bách khoa TP HCM
30 p | 97 | 7
-
Bài giảng Kiến trúc phần mềm: Chương 4 - TS. Nguyễn Văn Hiệp
6 p | 130 | 7
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (1) - PGS.TS. Trần Minh Triết
29 p | 40 | 6
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (3) - PGS.TS. Trần Minh Triết
53 p | 38 | 5
-
Bài giảng Kiến trúc phần mềm: Quy trình kiến trúc phần mềm - PGS.TS. Trần Minh Triết
33 p | 28 | 5
-
Bài giảng Kiến trúc phần mềm: Mẫu thiết kế (2) - PGS.TS. Trần Minh Triết
27 p | 31 | 5
-
Bài giảng Kiến trúc phần mềm: Middleware - PGS.TS. Trần Minh Triết
46 p | 30 | 5
-
Bài giảng Kiến trúc phần mềm: Kiến trúc hướng dịch vụ - PGS.TS. Trần Minh Triết
17 p | 38 | 5
-
Bài giảng Kiến trúc phần mềm: Chương 3 - TS. Nguyễn Văn Hiệp
30 p | 87 | 5
-
Bài giảng Kiến trúc phần mềm: Chương 2 - TS. Nguyễn Văn Hiệp
32 p | 73 | 5
-
Bài giảng Kiến trúc phần mềm: Tài liệu kiến trúc phần mềm - PGS.TS. Trần Minh Triết
16 p | 26 | 4
-
Bài giảng Kiến trúc phần mềm: Chương 1 - TS. Nguyễn Văn Hiệp
29 p | 71 | 4
-
Bài giảng Kiến trúc phần mềm: Các tiêu chí và yêu cầu về Kiến trúc phần mềm - PGS.TS. Trần Minh Triết
41 p | 20 | 3
-
Bài giảng Kiến trúc phần mềm - Quy trình kiến trúc phần mềm
33 p | 33 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn