Bài giảng Công nghệ phần mềm - Chương 6: Thiết kế kiến trúc cung cấp cho chúng ta bản đặc tả về kiến trúc hệ thống, bao gồm những hệ thống con nào, tương tác với nhau ra sao, framework hỗ trợ điều khiển tương tác giữa các hệ thống con như thế nào. Mời các bạn cùng tham khảo!
Chương THIẾT KẾ KIẾN TRÚC Giới thiệu Sau xác định phân tích yêu cầu hệ thống, chuyển sang pha thiết kế cài đặt hệ thống Thiết kế kiến trúc hệ thống giai đoạn sớm quy trình thiết kế hệ thống Thiết kế kiến trúc cung cấp cho đặc tả kiến trúc hệ thống, bao gồm hệ thống nào, tương tác với sao, framework hỗ trợ điều khiển tương tác hệ thống … 11/12/2021 Thiết kế kiến trúc gì? Quy trình thiết kế nhằm xác định hệ thống cấu tạo lên hệ thống đề xuất framework giúp điều khiển hệ thống giao tiếp chúng gọi quy trình thiết kế kiến trúc Kết quy trình thiết kế đặc tả kiến trúc phần mềm Thiết kế kiến trúc pha sớm quy trình thiết kế hệ thống Thiết kế kiến trúc thường thực song song với số hành động đặc tả Nó bao gồm có việc phát thành phần hệ thống giao tiếp chúng 11/12/2021 Thiết kế kiến trúc gì? Nếu có thiết kế kiến trúc rõ ràng ta thấy ưu điểm hoạt động sau: Giao tiếp stakeholder: kiến trúc hệ thống thường sử dụng làm tâm điểm buổi thảo luận stakeholder Phân tích hệ thống: tức phân tích để xác định liệu hệ thống có thoả mãn yêu cầu phi chức hay khơng Tái sử dụng với quy mơ lớn: kiến trúc tái sử dụng nhiều hệ thống 11/12/2021 Thiết kế kiến trúc gì? Các đặc điểm kiến trúc hệ thống: Hiệu năng: hạn chế thao tác phức tạp tối thiểu hoá giao tiếp Bảo mật: sử dụng kiến trúc phân lớp với nhiều kiểm soát chặt chẽ lớp sâu An tồn Sẵn dùng Có khả bảo trì 11/12/2021 Thiết kế kiến trúc gì? Tuy nhiên, trình thiết kế kiến trúc xảy xung đột mặt kiến trúc sau: Sử dụng nhiều thành phần lớn tăng hiệu giảm khả bảo trì Nếu liệu bị dư thừa cải thiện tính sẵn dùng làm cho việc bảo mật khó khăn Hạn chế thuộc tính có liên quan đến tính an tồn có nghĩa có nhiều giao tiếp làm giảm hiệu 11/12/2021 Thiết kế kiến trúc gì? Thiết kế kiến trúc quy trình sáng tạo khác biệt quy trình phụ thuộc vào loại hệ thống xây dựng Tuy nhiên, quy trình thiết kế dựa định sau: 11/12/2021 Kiến trúc ứng dụng chung có sử dụng lại hay không? Hệ thống phân tán nào? Những phong cách kiến trúc thích hợp? Hệ thống phân rã thành mô-đun nào? Chiến lược điều khiển sử dụng? Cách đánh giá thiết kế kiến trúc Kiến trúc tư liệu hoá nào? Thiết kế kiến trúc gì? Hơn nữa, cần phải ý hệ thống có miền ứng dụng có kiến trúc chung để phản ánh khái niệm liên quan đến miền ứng dụng Đồng thời, dây chuyền sản xuất phần mềm xây dựng quanh kiến trúc tảng với biến đổi tuỳ thuộc vào yêu cầu khách hàng Do đó, khả tái sử dụng lại kiến trúc hệ thống cao 11/12/2021 Thiết kế kiến trúc gì? Các mơ hình kiến trúc bản: Mơ hình cấu trúc tĩnh: mơ tả thành phần hệ thống Mơ hình quy trình động: biểu diễn quy trình cấu trúc hệ thống Mơ hình giao diện: định nghĩa tập hợp giao diện hệ thống Mơ hình quan hệ: biểu diễn quan hệ hệ thống Mơ hình phân tán: biểu diễn cách cài đặt hệ thống máy tính 11/12/2021 Tổ chức hệ thống Tổ chức hệ thống phản ánh chiến lược sử dụng để cấu trúc hệ thống Trong trình thiết kế kiến trúc hệ thống, hoạt động phải thực xây dựng mơ hình tổ chức hệ thống Có phương pháp tổ chức hệ thống thường sử dụng: Kho liệu dùng chung Server dịch vụ dùng chung (client-server) Phân lớp máy trừu tượng Ở phần tiếp theo, tìm hiểu chi tiết ba phương pháp tổ chức hệ thống 11/12/2021 10 Tổ chức hệ thống (tt4) Mơ hình client – server (tt1) Ưu điểm mơ hình client server là: Phân tán liệu rõ ràng Sử dụng hệ thống kết nối mạng cách hiệu chi phí dành cho phần cứng rẻ Dễ dàng bổ sung nâng cấp server Nhược điểm mơ hình client server là: 11/12/2021 Khơng phải mơ hình liệu dùng chung nên hệ thống sử dụng tổ chức liệu khác Do đó, việc trao đổi liệu khơng hiệu Quản lý server không thống nhất, dư thừa Không đăng ký tên dịch vụ tập trung Điều làm cho việc 14 tìm kiếm server dịch vụ khó khăn Tổ chức hệ thống (tt5) Mơ hình client – server (tt1) 11/12/2021 15 Tổ chức hệ thống (tt6) Phân rã hệ thống Sau cấu trúc hệ thống lựa chọn, ta cần phải xác định phương pháp phân rã hệ thống thành mô-đun Hệ thống hệ thống vận hành cách độc lập, sử dụng số dịch vụ cung cấp hệ thống khác cung cấp dịch vụ cho hệ thống khác sử dụng Mô-đun thành phần hệ thống cung cấp dịch vụ cho thành phần khác, thường không coi hệ thống riêng rẽ, độc lập Có hai cách để phân rã hệ thống thành mô-đun: Phân rã hướng đối tượng: hệ thống phân rã thành đối tượng tương tác với Pipeline hướng chức luồng liệu: hệ thống phân rã thành mô-đun chức chịu trách nhiệm chuyển đổi thông tin đầu vào thành kết đầu 11/12/2021 16 Tổ chức hệ thống (tt7) Phân rã hướng đối tượng Mơ hình kiến trúc hướng đối tượng cấu trúc hệ thống thành tập hợp đối tượng gắn kết lỏng dựa giao diện định nghĩa Phân rã hướng đối tượng liên quan tới việc xác định lớp đối tượng, thuộc tính phương thức Khi cài đặt lớp, đối tượng tạo từ lớp có số mơ hình điều khiển sử dụng để kết hợp phương thức đối tượng Ưu điểm mơ hình hướng đối tượng: Đối tượng gắn kết lỏng nên thay đổi cách cài đặt chúng khơng ảnh hưởng tới đối tượng khác Đối tượng phản ánh thực thể giới thực Các ngôn ngữ lập trình hướng đối tượng sử dụng rộng rãi 11/12/2021 17 Tổ chức hệ thống (tt8) Phân rã hướng đối tượng (tt1) Tuy nhiên, giao diện đối tượng thay đổi gây vấn đề khó khăn khó biểu diễn thực thể phức tạp giới thực đối tượng Ví dụ: đối tượng hệ thống xử lý hoá đơn 11/12/2021 18 Tổ chức hệ thống (tt9) Pipeline hướng chức Mơ hình pipeline hướng chức mơ hình luồng liệu quy trình chuyển đổi thơng tin đầu vào thành kết đầu Việc chuyển đổi thông tin đầu vào thành kết đầu thực song song Dữ liệu xử lý quy trình riêng lẻ theo lơ Ưu điểm mơ hình: Hỗ trợ tái sử dụng quy trình chuyển đổi Cung cấp tài liệu để giao tiếp với stakeholder Dễ dàng bổ sung thêm quy trình chuyển đổi Dễ dàng thực hiện, kể với hệ thống song song Tuy nhiên, mô hình u cầu phải có định dạng liệu chung để truyền qua pipeline khó hỗ trợ cho tương tác 11/12/2021 hướng kiện 19 Tổ chức hệ thống (tt10) Pipeline hướng chức (tt1) Ví dụ: Mơ hình luồng liệu hệ thống xử lý hoá đơn 11/12/2021 20 ... trình thiết kế đặc tả kiến trúc phần mềm Thiết kế kiến trúc pha sớm quy trình thiết kế hệ thống Thiết kế kiến trúc thường thực song song với số hành động đặc tả Nó bao gồm có việc phát thành phần. .. hệ thống, chuyển sang pha thiết kế cài đặt hệ thống Thiết kế kiến trúc hệ thống giai đoạn sớm quy trình thiết kế hệ thống Thiết kế kiến trúc cung cấp cho đặc tả kiến trúc hệ thống, bao gồm hệ... xuất phần mềm xây dựng quanh kiến trúc tảng với biến đổi tuỳ thuộc vào yêu cầu khách hàng Do đó, khả tái sử dụng lại kiến trúc hệ thống cao 11/12/2021 Thiết kế kiến trúc gì? Các mơ hình kiến trúc