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 cung cấp cho người học các kiến thức: Đặc tả phần mềm, đặc tả kiến trúc 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.
Chương 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.1 Đặc tả phần mềm Máy tính số thiết bị tổng qt hóa, giải nhiều vấn ₫ề mà người cần giải Tại thời ₫iểm, ₫ể nhờ máy tính giải vấn ₫ề ₫ó, 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ông việc chức cần phải thực cách thức, trình tự thực công việc chức Kết qui trình phát triển phần mềm ₫ặc tả ₫ầy ₫ủ phần mềm 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.1 Đặc tả phần mềm Đặc tả ₫ầy ₫ủ phần mềm ₫ặc tả phần mềm theo nhiều góc nhìn khác : Góc nhìn người dùng : tập yêu cầu chức phi chức phần mềm Góc nhìn vĩ mô ₫ể người hiểu : kiến trúc phần mềm phát sơ lược cách giải chức Góc nhìn chi tiết ₫ể người hiểu : thiết kế chi tiết phần mềm Góc nhìn chi tiết ₫ể máy hiểu : file mã nguồn file khả thi chương trình … 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc 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ô phần mềm Kiến trúc phần mềm bao gồm phần tử sau : thành phần : ₫ịnh nghĩa ₫ịa ₫iểm tính tốn, thí dụ filter, database, object, ADT mối nối (Connector) : làm trung gian cho tương tác thành phần gọi thủ tục, pipe, phát tán kiện thuộc tính : xác ₫ịnh thơng tin cho việc phân tích 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 Môn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc hệ thống phần mềm Các yêu cầu chức phi chức Các chức 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 CuuDuongThanCong.com Mơn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc hệ thống phần mềm Chọn cấu trúc ₫ể xây dựng phần mềm lớn ? Cấu trúc ₫ơn thể bên trái chắn không phù hợp Do ₫ó ta 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, phần tử chắn phải có mối quan hệ lẫn 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc hệ thống phần mềm Chủng loại phần tử cấu thành phần mềm mối quan hệ chúng ₫ể ta 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 lớn, ₫ể dễ xây dựng quản lý chúng, ta ₫òi hỏi chúng phải chủng loại Mơ hình hướng ₫ối tượng gọi phần tử ₫ối tượng Như phần mềm tập ₫ố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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc hệ thống phần mềm Để dễ dàng quản lý phần tử, ta phải hạn chế tối ₫a tương tác chúng Tính ₫óng gói mơ hình hướng ₫ối tượng giải vấn ₫ề Hạn chế tương tác ₫ối tượng : Che dấu tối ₫a chi tiết thực mình, cho phần tử khác bên ngồi thấy dùng dịch vụ Hạn chế tối ₫a nhờ vả phần phần bên : ta cần làm thành phần nội ₫ối tượng có tính kết dính cao có 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc 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 khó quản lý số lượng thành phần lớn Thường ta dùng cấu trúc dạng phân cấp gồm nhiều mức trừu tượng khác 3 10 11 4 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 12 Môn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide https://fb.com/tailieudientucntt 5.2 Đặc tả kiến trúc 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ô phần mềm (ở 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 phần tử chức cấp thấp mà ta thực Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 CuuDuongThanCong.com 10 11 10 11 12 Môn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide 10 https://fb.com/tailieudientucntt 5.3 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 thành phần luận lý tương tác lẫn : Model quản lý liệu tác vụ liên quan ₫ến liệu View ₫ịnh nghĩa quản lý cách thức liệu ₫ược trình bày cho user Controller quản lý tương tác với user ấn phím, click chuột… gởi thông tin tương tác tới View và/hoặc Model 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 54 https://fb.com/tailieudientucntt 5.3 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 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 55 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc MVC (Model-View-Controller) Tình nên dùng : Hệ thống có nhiều cách ₫ể view tương tác với liệu, ta chưa biết trước yêu cầu tương lai tương tác biểu diễn liệu chương trình Ưu ₫iểm : cho phép liệu thay ₫ổi ₫ộc lập với cách thức thể ngược lại Khuyết ₫iểm : cần nhiều code code phức tạp mơ hình liệu tương tác mức ₫ộ ₫ơn giản 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 56 https://fb.com/tailieudientucntt 5.3 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 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 57 https://fb.com/tailieudientucntt 5.3 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 thành phần luận lý tương tác lẫn : Model quản lý liệu tác vụ liên quan ₫ến liệu View ₫ịnh nghĩa quản lý cách thức liệu ₫ược trình bày cho user, quản lý tương tác với user ấn phím, click chuột… gởi thơng tin tương tác tới Presenter ₫ể nhờ xử lý chi li Presenter xử lý chi li luận lý nghiệp vu, nhờ Model truy xuất liệu cần 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 58 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) user View nhờ hỗ trợ Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2015 CuuDuongThanCong.com Presenter nhờ truy Model xuất data Môn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide 59 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc MVP (Model-View-Presenter) Tình nên dùng : Hệ thống có nhiều cách ₫ể view tương tác với liệu, ta chưa biết trước yêu cầu tương lai tương tác biểu diễn liệu chương trình Ưu ₫iểm : cho phép liệu thay ₫ổi ₫ộc lập với cách thức thể ngược lại Khuyết ₫iểm : cần nhiều code code phức tạp mơ hình liệu tương tác mức ₫ộ ₫ơn giản 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 60 https://fb.com/tailieudientucntt 5.3 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 MVP : 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 61 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc kho (Repository Architecture) Đặc tả : Tất liệu hệ thống ₫ược quản lý kho chứa tập trung, thành phần chức hệ thống ₫ều truy xuất kho chứa Các thành phần không tương tác trực tiếp với nhau, thông qua kho chứa tập trung Component Component Component Component n Kho liệu dùng chung (repository) 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 62 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc kho (Repository Architecture) Tình nên dùng : hệ thống tạo chứa lượng lớn thông tin thời gian dài, hay hệ thống dựa vào liệu, ₫ó việc chứa thơng tin vào kho kích hoạt tool hay chức hoạt ₫ộng Ưu ₫iểm : thành phần ₫ộc lập nhau, khác Khuyết ₫iểm : kho ₫iểm yếu nhất, có lỗi ảnh hưởng tồn thành phần chức Có vấn ₫ề truy xuất ₫ồng thời kho, phân tán kho nhiều máy khó khăn 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 63 https://fb.com/tailieudientucntt 5.3 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, tool tạo thông tin ₫ể kho ₫ể tool khác dù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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 64 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc bảng ₫en (Blackboard Architecture) Đặc tả : Hệ thống phần mềm gồm loại thành phần tương tác sau : Controller chọn lựa & kích hoạt KS KS KS KS n truy xuất 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 65 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc bảng ₫en (Blackboard Architecture) Blackboard : vùng nhớ tồn cục có cấu trúc phần mềm, chứa ₫ối tượng tốn cần giải quyết, ₫ược gọi nút, chúng ₫ược tổ chức dạng phân cấp Knowledge sources : KS tập phần tử khác ₫ể thực chức xác ₫ịnh Mỗi phần tử ₫ược ₫ặc trưng tập ₫iều kiện kích hoạt xác ₫ịnh ₫oạn code xử lý liệu từ blackboard ₫óng góp kết vào q trình giải toán Control : phần tử ₫iều khiển chung, cấu hình, chọn lựa thi hành KS Việc xác ₫ịnh KS dựa vào trạng thái q trình giải tốn (₫ược miêu tả 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 66 https://fb.com/tailieudientucntt 5.3 Các mẫu kiến trúc phổ dụng Kiến trúc bảng ₫en (Blackboard Architecture) Tình nên dùng : hệ chuyên gia giải vấn ₫ề mà khơng có cách giải tất ₫ịnh tin tưởng ₫ược Khuyết ₫iểm : ? 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 67 https://fb.com/tailieudientucntt 5.4 Kết chương Chương ₫ã giới thiệu số mẫu kiến trúc phần mềm phổ dụng, tính chất, ưu khuyết ₫iểm mẫu 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 : Các mẫu kiến trúc phần mềm phổ dụng Slide 68 https://fb.com/tailieudientucntt ... ₫ối tượng có tính kết dính cao có Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 20 15 CuuDuongThanCong.com Môn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần... Layer Các chức chất lượng phần mềm Layer Layer Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 20 15 CuuDuongThanCong.com Mơn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến... phức tạp Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 20 15 CuuDuongThanCong.com Mơn : Các mẫu thiết kế hướng ₫ối tượng Chương : Các mẫu kiến trúc phần mềm phổ dụng Slide 15 https://fb.com/tailieudientucntt