intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kiến trúc phần mềm: Chương 3 - TS. Nguyễn Văn Hiệp

Chia sẻ: N N | Ngày: | Loại File: PDF | Số trang:30

88
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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" cung cấp cho người học các kiến thức: 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, kết chương. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kiến trúc phần mềm: Chương 3 - TS. Nguyễn Văn Hiệp

Chương 3<br /> <br /> CÁC MẪU KIẾN TRÚC PHỔ DỤNG<br /> 3.1 Kiến trúc trong các hệ thống phần mềm<br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> 3.3 Kết chương<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 1<br /> <br /> 3.1 Kiến trúc trong các hệ thống phần mềm<br /> ‰<br /> ‰<br /> <br /> 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<br /> kiến trúc tốt :<br /> ƒ kết quả của 1 tập các nguyên tắc và kỹ thuật nhất quán ₫ược<br /> áp dụng nhất quán thông qua tất cả các bước của dự án phần<br /> mềm<br /> ƒ không nản lòng khi ₫ối diện với các thay ₫ổi không thể tránh<br /> ₫ược.<br /> ƒ nguồn hướng dẫn xuyên suốt thời gian sống của phần mềm<br /> ƒ bao gồm 1 ít tính chất và luật khóa ₫ể tổ hợp chúng sao cho sự<br /> toàn vẹn kiến trúc ₫ược giữ nguyên.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 2<br /> <br /> 3.1 Kiến trúc trong các hệ thống phần mềm<br /> Các phần tử của ₫ặc tả kiến trúc<br /> ‰ Định nghĩa kiến trúc cho 1 hệ thống chọn :<br /> ƒ các thành phần : ₫ịnh nghĩa ₫ịa ₫iểm tính toán, thí dụ filter,<br /> database, object, ADT<br /> ƒ các mối nối (Connector) : làm trung gian cho tương tác giữa<br /> các thành phần. gọi thủ tục, pipe, phát tán sự kiện.<br /> ƒ các thuộc tính : xác ₫ịnh thông tin cho việc phân tích và xây<br /> dựng : chữ ký, ₫iều kiện pre/post, ₫ặc tả RT.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 3<br /> <br /> 3.1 Kiến trúc trong các hệ thống phần mềm<br /> Mẫu/Kiểu kiến trúc (Architecture Pattern/Style)<br /> ‰ Kiểu kiến trúc ₫ịnh nghĩa 1 họ các kiến trúc ₫ược giới hạn bởi :<br /> ƒ từ vựng thành phần/mối nối.<br /> ƒ các luật topology.<br /> ƒ các ràng buộc ngữ nghĩa.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 4<br /> <br /> 3.1 Kiến trúc trong các hệ thống phần mềm<br /> Các ₫ặc ngữ kiến trúc phổ biến<br /> ‰ Các hệ thống xử lý dòng dữ liệu : lô tuần tự (Batch sequential),<br /> ₫ường ống và lọc (Pipe and filters)<br /> ‰ Các hệ thống gọi-trả về : chương trình chính và thủ tục (main<br /> program & subroutines), các cấp có thứ bậc (Hierarchical layers),<br /> hệ thống hướng ₫ối tượng (OO system).<br /> ‰ Các máy ảo : Trình thông dịch (Interpreters), hệ thống dựa vào<br /> luật (Rule-based system)<br /> ‰ Các thành phần ₫ọc lập : các process giao tiếp nhau<br /> (Communicating processes), các hệ thống xử lý sự kiện (Event<br /> systems).<br /> ‰ Các hệ thống tập trung quanh dữ liệu (Repositories) : Database,<br /> Blackboard<br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 5<br /> <br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> Kiến trúc ₫ơn thể (Monolithic)<br /> ‰ Đặc tả : Hệ thống chỉ gồm duy nhất 1 module. Module này chứa<br /> mọi thứ của chương trình :<br /> ƒ giao tiếp giữa các thành phần là cục bộ và rất hiệu quả.<br /> ƒ thích hợp cho những phần mềm nhỏ, ₫ơn giản.<br /> ƒ không thích hợp cho những phần mềm lớn và phực tạp.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 6<br /> <br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> Kiến trúc lô tuần tự (Batch Sequential)<br /> ‰ Đặc tả : Chương trình gồm n phần mềm ₫ộc lập và ₫ược chạy<br /> theo cơ chế tuần tự : phần mềm i chạy trước, khi xong rồi thì<br /> truyền kết quả cho phần mềm thứ i+1... Mỗi phần mềm i trong lô<br /> ₫ược gọi là filter, nó xử lý dữ liệu ₫ầu vào theo ₫ịnh dạng xác ₫ịnh<br /> rồi tạo kết quả ₫ầu ra theo ₫ịnh dạng xác ₫ịnh.<br /> <br /> Filter<br /> data 1<br /> <br /> Filter<br /> data 2<br /> <br /> Filter<br /> data 3<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> data 4<br /> <br /> Filter<br /> <br /> data 5<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 7<br /> <br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> Kiến trúc lô tuần tự (Batch Sequential)<br /> ‰ Tình huống nên dùng : trong các ứng dụng xử lý dữ liệu mà dữ<br /> liệu nhập cần ₫ược xử lý bởi nhiều công ₫oạn khác nhau và có<br /> tính ₫ộc lập cao trước khi tạo ra kết quả cuối cùng.<br /> ‰ Ưu ₫iểm : dễ dàng thay ₫ổi/bảo trì/dùng lại từng filter của hệ<br /> thống, phù hợp với nhiều hoạt ₫ộng nghiệp vụ, dễ dàng nâng cấp<br /> bằng cách thêm filter mới.<br /> ‰ Khuyết ₫iểm : 2 filter kề nhau cần tuân thủ ₫ịnh dạng dữ liệu<br /> chung.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 8<br /> <br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> Kiến trúc lô tuần tự (Batch Sequential)<br /> ‰ Thí dụ : Thiết kế trực quan cửa sổ giao diện và dùng nó trong<br /> phần mềm android.<br /> <br /> Chương trình<br /> thiết kế trực quan<br /> Người thiết kế giao diện cửa sổ<br /> giao diện<br /> ứng dụng<br /> <br /> File XML<br /> ₫ặc tả bản<br /> thiết kế<br /> <br /> Project Android<br /> quản lý ứng dụng<br /> android<br /> <br /> Chương trình<br /> android dùng<br /> giao diện ₫ược<br /> thiết kế<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 9<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> 3.2 Các mẫu kiến trúc phổ dụng<br /> Kiến trúc ₫ường ống và lọc (Pipe and filter Architecture)<br /> ‰ Đặc tả : Nới rộng kiến trúc lô tuần tự lên tầm cao mới :<br /> ƒ Các filter không nhất thiết là phần mềm ₫ộc lập lẫn nhau,<br /> chúng có thể là các thread chạy trong 1 chương trình.<br /> ƒ Có thể có nhiều ống con trong từng ₫oạn xử lý.<br /> data 2<br /> data 1<br /> <br /> data 4<br /> Filter<br /> <br /> Filter<br /> <br /> data 6<br /> <br /> Filter<br /> <br /> Filter<br /> data 3<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2015<br /> <br /> Filter<br /> <br /> data 5<br /> <br /> Filter<br /> <br /> data 7<br /> <br /> data 8<br /> <br /> Môn : Kiến trúc phần mềm<br /> Chương 3 : Các mẫu kiến trúc phổ dụng<br /> Slide 10<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2