Bài giảng Nhập môn công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm (Tiếp theo)
Khái niệm kiến trúc
• Kiến trúc phần mềm là gì?
– Phần mềm không đơn nhất
Có các thành phần con bên trong.
– Thắc mắc về các thành phần con:
• Được tổ chức, sắp xếp như thế nào?
• Mối liên hệ giữa chúng?
• Có cấu trúc ra sao?
Kiến trúc phần mềm.
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm (Tiếp theo)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chủ đề 4: Thiết kế Phần mềm (Tiếp theo)
COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 1 HIENLTH Chủ đề 4: Thiết kế Phần mềm (tt) COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 2 HIENLTH Kiến trúc phần mềm Ivan Sommerville, Software Engneering, Chapter 11 Heavily reference to Introduction SE Slides: Nguyen Minh Huy, HCMUS COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 3 HIENLTH Nội dung • Khái niệm kiến trúc • Các mô hình kiến trúc • Công nghệ phân tán COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 4 HIENLTH Khái niệm kiến trúc • Kiến trúc phần mềm là gì? – Phần mềm không đơn nhất Có các thành phần con bên trong. – Thắc mắc về các thành phần con: • Được tổ chức, sắp xếp như thế nào? • Mối liên hệ giữa chúng? • Có cấu trúc ra sao? Kiến trúc phần mềm. COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 5 HIENLTH Kiến trúc phần mềm • Là các cấu trúc của hệ thống được tạo nên bởi: – Các thành phần – Các thuộc tính của từng thành phần có thể thấy từ bên ngoài – Mối quan hệ giữa các thành phần COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 6 HIENLTH Khái niệm kiến trúc (tt) • Tầm quan trọng của kiến trúc: – Ảnh hưởng của hiệu quả hoạt động: • Tính tốc độ (performance) • Tính thích ứng (scalability) • Tính bảo mật (security) • Tính chịu lỗi (fault—tolerance) – Ảnh hưởng về chi phí: • Khả năng triển khai • Khả năng vận hành • Khả năng bảo trì – Ảnh hưởng về thiết kế và cài đặt. COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 7 HIENLTH Khái niệm kiến trúc (tt) • Thiết kế kiến trúc: – Hoạt động đầu tiên của pha thiết kế – Xác định khung sườn phần mềm – Các bước thực hiện: • Phân rã hệ thống (sub-system) • Bố trí các thành phần • Thiết lập mối quan hệ COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 8 HIENLTH Khái niệm kiến trúc (tt) • Thiết kế kiến trúc: – Hoạt động đầu tiên của pha thiết kế – Xác định khung sườn phần mềm – Các bước thực hiện: • Phân rã hệ thống (sub-system) • Bố trí các thành phần • Thiết lập mối quan hệ COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 9 HIENLTH Các mô hình kiến trúc • Phân loại mô hình: – Mô hình đơn lập – Mô hình phân tán • Mô hình Client – Server • Mô hình 3 tầng • Mô hình Peer-To-Peer COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 10 HIENLTH Mô hình đơn lập • Là một thể thống nhất • Không có sự phân nhóm • Các thành phần tự do tương tác • Ưu điểm: – Dễ lập trình và triển khai – Tốc độ xử lý • Khuyết điểm: – Khó bảo trì, nâng cấp – Không chia sẽ dữ liệu COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 11 HIENLTH Mô hình Client – Server • Phân làm 2 phân hệ: – Server: • Cung cấp dịch vụ (dữ liệu, thư viện) • Chia sẽ, dung chung – Client: • Sử dụng dịch vụ (giao diện, thư viện) • Phân tán • Tương tác giữa các thành phần: – Trong phân hệ: tự do tương tác – Giữa hai phân hệ: tương tác 1 chiều từ client đến server COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 12 HIENLTH Mô hình Client – Server (tt) • Mô hình Thin-Client: – Server đảm trách dữ liệu + xử lý – Client chỉ lo phần giao diện người dùng dump terminal • Mô hình Fat-Client: – Server đảm trách dữ liệu – Client lo toàn bộ giao diện + xử lý người dùng COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 13 HIENLTH Mô hình Client – Server (tt) • Ưu điểm: – Dữ liệu chia sẽ và đồng bộ. – Hạn chế tương tác Cô lập lỗi Dễ bảo trì, nâng cấp • Khuyết điểm: – Chi phí triển khai – Tốc độ xử lý COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 14 HIENLTH Mô hình 3 tầng (3-tier) • Phân làm 3 phân hệ: – Tầng dữ liệu (data layer) • Dịch vụ dữ liệu • Data center – Tầng xử lý (business layer) • Thư viện xử lý • Application server – Tầng giao diện (presentation layer) • Giao diện người dung • Thin-Client • Quy tắc tương tác thang máy không tương tác vượt tầng COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 18 HIENLTH Mô hình 3 tầng (3-tier) (tt) • Mô hình đa tầng: – Mở rộng mô hình 3 tầng – Phần làm nhiều tầng xử lý – Thường dùng trong ứng dụng web • Ưu điểm: – Tương tự như mô hình client-server – Xử lý chia sẻ và được chia nhỏ • Khuyết điểm: – Tương tự như mô hình client-server COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 25 HIENLTH Mô hình Peer-to-Peer • Là mô hình đơn lập phân tán • Triển khai trên nhiều máy (node) – Các node tương tác được với nhau – Mỗi node đóng vai trò client-server – Chia sẽ dữ liệu + xử lý trên toàn bộ node • Ưu điểm: – Không cần server trung tâm – Không gian lưu trữ và khả năng xử lý dàn trải – Dễ triển khai • Nhược điểm: – Khó lập trình và quản lý dữ liệu COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 26 HIENLTH Công nghệ phân tán • Middleware • Web Service COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 27 HIENLTH Middleware • Các thành phần trong hệ phân tán giao tiếp nhau như thế nào? hệ thống đứng giữa điều phối. • Các chuẩn phổ biến: – CORBA (Common Object Request Broker Architecture) – COM (Component Object Model) – JavaBeans COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 28 HIENLTH Web Service • Thư viện lập trình dựng sẵn • Cung cấp dạng dịch vụ • Truy xuất qua internet • Các dịch vụ phổ biến: – Math services – Google map – Amazon service • Các chuẩn giao tiếp XML: – SOAP (Simple Object Access Protocol) – WSDL (Web Services Description Language) – UDDI (Universal Description Discovery and Integration) COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 29 HIENLTH Bài tập Thiết kế kiến trúc cho đồ án môn học: • Phân rã hệ thống DS các thành phần con. • Bố trí các thành phần lựa chọn mô hình kiến trúc sắp xếp các thành phần con vào mô hình • Thiết lập mối quan hệ COMP1026 – Introduction to Software Engneering CH4 – Part 2 - 30 HIENLTH Câu hỏi và thảo luận
File đính kèm:
- bai_giang_nhap_mon_cong_nghe_phan_mem_chu_de_4_thiet_ke_phan.pdf