Bài giảng công nghệ phần mềm thiết kế kiến trúc pgs ts phạm ngọc hùng

37 2 0
Bài giảng công nghệ phần mềm thiết kế kiến trúc   pgs  ts  phạm ngọc hùng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Công nghệ phần mềm Thiết kế kiến trúc Nội dung • Định nghĩa kiến trúc phần số khái niệm • Thiết kế kiến trúc • Một số kiểu kiến trúc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Nội dung • Định nghĩa kiến trúc phần mềm Một số khái niệm • Thiết kế kiến trúc • Một số kiểu kiến trúc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Định nghĩa KTPM • Có nhiều trường phái • Richard N Taylor đồng nghiệp – “A software system’s architecture is the set of principal design decisions about the system” – Kiến trúc phần mềm thiết kế cho việc xây dựng tiến hóa phần mềm – Các định thiết kế bao gồm nhiều khía cạnh hệ thống phát triển • • • • Cấu trúc Hành vi Tương tác Thuộc tính chất lượng Bộ mơn Cơng nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Định nghĩa KTPM • Len Bass đồng nghiệp “The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both” • Những định nghĩa khác: http://www.sei.cmu.edu/architecture/definitions.ht ml • Chúng ta sử dụng định nghĩa Len Bass đồng nghiệp Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Sự quan trọng KTPM • Hỗ trợ cho giao tiếp bên liên quan (stakeholders) • Xác định ràng buộc cho việc thực hóa • Dự đốn chất lượng hệ thống • Nâng cao độ xác việc dự đốn chi phí thời gian xây dựng hệ thống Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Một số khái niệm • Cấu trúc (structure): tập phần tử (element) cách tổ chức • loại cấu trúc – Cấu trúc mơ đun (module structures) – Cấu trúc thành phần – kết nối (component-andconnector structures) – Cấu trúc phân phối (allocation structures) • Mỗi loại cấu trúc thể khía cạnh khác hệ thống • Liên quan đến Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Một số khái niệm • Mẫu kiến trúc (architectural patterns): kiến trúc sử dụng để giải một/vài vấn đề xây dựng hệ thống sử dụng nhiều hệ thống • Ví dụ: phân lớp (layered pattern), chia sẻ liệu (shared-data), khách-chủ (client-server) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Một số khái niệm • Thuộc tính chất lượng – Tính linh hoạt: Chúng ta thay đổi thành phần X khơng? – Tính khả chuyển: Chúng ta triển khai máy khác khơng? – Tính sử dụng lại: Chúng ta sử dụng lại phần hay tồn cho ứng dụng khác khơng? Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN Kiến trúc thuộc tính chất lượng • Để có hiệu cao – Phân rã thành tiến trình chạy song song – Quản lý lượng tần suất liệu truyền nhận tiến trình – Xác định “nút cổ chai” hiệu hệ thống • Để có an ninh tốt – Phân chia chức cần không cần login – Cấu trúc phần mềm thành nhiều tầng Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 10 Xác định vấn đề • Thuộc tính chất lượng: performance, extensibility,… • Khía cạnh quan tâm chung: authentication, authorization, caching, exception handling,… Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 23 Xác định vấn đề Bộ mơn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 24 Giải pháp dự kiến • Là thiết kế kiến trúc mức cao • Bao gồm kiểu ứng dụng, kiến trúc triển khai, kiểu kiến trúc, cơng nghệ lựa chọn, thuộc tính chất lượng, khía cạnh khác • Kiểm tra u cầu, ràng buộc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 25 Nội dung • • • • Định nghĩa kiến trúc phần mềm Một số khái niệm Thiết kế kiến trúc Một số kiểu kiến trúc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 26 Kiểu Khách/Chủ • Cho hệ thống phân tán với hai thành phần riêng biệt Khách (client) Chủ (server) • Cấu hình 1-1, 1-n, n-1 • Trước đây, Client thường ứng dụng chạy desktop; có thêm Web browser ứng dụng di động Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 27 Kiểu Khách/Chủ • Một số biến thể – Client-Queue-Client: cho phép clients giao tiếp thơng qua hàng đợi Server đóng vai trị hàng đợi để chứa liệu Còn gọi kiến trúc hàng đợi bị động – Peer-to-Peer: Client server đổi vai trò cho – Application server: dạng khách/chủ đặc biệt với phía chủ chứa ứng dụng dịch vụ cho ứng dụng khách dạng Web dạng khác Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 28 Kiểu phân lớp • Nhóm chức có liên quan chặt chẽ vào chung lớp • Các lớp xếp chồng lên • Chỉ lớp sử dụng chức lớp Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 29 Kiểu ống dẫn lọc • Pipe and Filter • Thể tương tác thời gian chạy • Dữ liệu truyền qua ống dẫn để đến xử lý lọc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 30 Kiểu thành phần • Hệ thống chia thành thành phần độc lập, tương tác với thông qua giao diện • Các thành phần thực thi phân tán Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 31 Kiểu bus thông điệp Tương tác thành phần hệ thống thực cách truyền thông điệp bus chung ESB Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 32 Kiểu hướng dịch vụ • Chức ứng dụng cung cấp dạng dịch vụ • Các ứng dụng xây dựng dựa dịch vụ (sử dụng dịch vụ có trước) • Các dịch vụ có kết nối mềm dẻo, giao diện chuẩn hóa, xuất (pubished), tìm kiếm (discovered), gọi (invoked) Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 33 Kiểu hướng dịch vụ Service Registry find publish Service Provider bind Service Client Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 34 Tổng kết • • • • Định nghĩa kiến trúc phần mềm Một số khái niệm Thiết kế kiến trúc Một số kiểu kiến trúc Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 35 Hỏi - Đáp Tài liệu tham khảo • Len Bass et al., Software architecture in practice, 3rd Edition • Microsoft, Microsoft Application Architecture Guide, 2nd Edition Bộ môn Công nghệ phần mềm - Khoa CNTT - Trường ĐHCN - ĐHQGHN 37

Ngày đăng: 27/07/2023, 08:35

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan