Xem mẫu

  1. Kiến trúc phần mềm GV. Nguyễn Minh Huy Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
  2. Nội dung  Các khái niệm cơ bản bản..  Các mô hình kiến trúc trúc..  Công nghệ phân tán. tán. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 2
  3. Nội dung  Các khái niệm cơ bản bản..  Các mô hình kiến trúc trúc..  Công nghệ phân tán. tán. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 3
  4. Các khái niệm cơ bản  Thiết kế phần mềm là gì gì? ?  Trả lời câu hỏi HOW HOW..  Phác thảo cách hiện thực hóa yêu cầu cầu..  Thiết kế kiến trúc trúc:: sub- sub-systems, architecture model.  Thiết kế thành phần phần:: màn hình hình,, đối tượng tượng,, dữ liệu liệu..  Thiết kế xử lý: lý: hiện thực hóa kịch bản Use Case. VISION? WHAT? HOW? -Need 1 -Req 1 -Architecture -Need 2 -Req 2 -Elements # # -Processing Stakeholders Business Analyst Designer/Architect Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 4
  5. Các khái niệm cơ bản  Kiến trúc phần mềm là gì gì? ?  Chương trình đơn giản  một thành phần phần..  Chương trình phức tạp  nhiều thành phần con.  Những câu hỏi về thành phần con:  Được tổ chức chức,, sắp xếp thế nào nào??  Tương tác ra sao sao??  Cấu tạo bên trong trong?? Kiến trúc phần mềm Bản mô tả cấu tạo, tạo, tương tác bên trong của phần mềm mềm.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 5
  6. Các khái niệm cơ bản  Tầm quan trọng của kiến trúc trúc::  Ảnh hưởng hiệu quả hoạt động động::  Tốc độ xử lý (performance).  Tính ổn định (reliability).  Tính bảo mật (security).  Tính chịu lỗi (fault (fault--tolerance).  Ảnh hưởng chi phí phí::  Khả năng triển khai khai..  Khả năng vận hành hành..  Khả năng bảo trì trì..  Ảnh hưởng thiết kế và cài đặt đặt.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 6
  7. Các khái niệm cơ bản  Thiết kế kiến trúc trúc::  Hoạt động đầu tiên của pha thiết kế. kế.  Xác định khung sườn phần mềm mềm..  Các bước thực hiện hiện::  Bổ dọc dọc:: xác định sub sub--systems.  Bổ ngang ngang:: lựa chọn architecture model. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 7
  8. Các khái niệm cơ bản  “Bổ dọc dọc”” phần mềm mềm::  Chia phần mềm thành các sub sub--system.  Hệ thống con nằm trong phần mềm mềm..  Phân hệ của phần mềm mềm..  Nhóm các chức năng liên quan với nhau. nhau. Phần mềm Phần mềm Phần mềm Phân hệ 1 Phân hệ 2 Chức Chức Chức Chức năng năng năng năng Chức Chức Chức Chức 1 2 3 4 năng năng năng năng 1 2 4 3 Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 8
  9. Các khái niệm cơ bản  “Bổ dọc dọc”” phần mềm mềm::  Tiêu chí phân chia sub sub--system:  Bảo mật người dùng dùng..  Chức năng dùng chung chung.. Quản lý thư viện Thủ thư Khách Độc giả Quản lý thư viện Nhập Nhập Tra Nhập độc Mượn Tra Nhập sách cứu Mượn độc giả sách cứu sách mới sách sách giả mới sách mới mới CSDL Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 9
  10. Các khái niệm cơ bản  “Bổ ngang ngang”” phần mềm mềm::  Phân tầng xử lý các chức năng năng..  Dựa theo các mô hình kiến trúc trúc.. Phần mềm  Các mô hình kiến trúc trúc:: Phân hệ 1 Tầng A  Mô hình đơn lập. lập. Chức Chức Chức  Mô hình phân tầng tầng:: năng năng năng 1A 2A 4A  Mô hình 2-Tầng (Client (Client--Server).  Mô hình 3-Tầng. Tầng B  Mô hình Peer Peer--To To--Peer. Chức Chức Chức năng năng năng 1B 2B 4B Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 10
  11. Nội dung  Các khái niệm cơ bản bản..  Các mô hình kiến trúc. trúc.  Công nghệ phân tán. tán. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 11
  12. Các mô hình kiến trúc  Mô hình đơn lập: lập:  Không phân tầng xử lý. lý.  Các thành phần tự do tương tác tác..  Ưu điểm điểm::  Dễ lập trình và triển khai khai..  Tốc độ xử lý. lý.  Nhược điểm điểm::  Khó bảo trì trì,, nâng cấp cấp..  Khó chia sẻ dữ liệu liệu.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 12
  13. Các mô hình kiến trúc  Mô hình Client Client--Server:  Phân làm hai tầng tầng:: Server  Server: Thư viện  Cung cấp dịch vụ. vụ. xử lý  Dữ liệu liệu,, thư viện viện..  Chia sẻ, sẻ, dùng chung chung..  Client: Client  Sử dụng dịch vụ. vụ. Màn Thư viện  Giao diện diện,, thư viện viện.. hình xử lý  Phân tán. tán.  Tương tác giữa các thành phần phần::  Trong phân hệ: hệ: tự do tương tác tác..  Giữa hai phân hệ: hệ: tương tác 1 chiều từ client đến server. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 13
  14. Các mô hình kiến trúc  Mô hình Client Client--Server:  Mô hình Thin Thin--Client:  Server đảm trách dữ liệu + xử lý. lý.  Client chỉ lo giao diện người dùng dùng..  Dump terminal.  Mô hình Fat Fat--Client:  Server đảm trách dữ liệu liệu..  Client lo toàn bộ xử lý + giao diện người dùng dùng.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 14
  15. Các mô hình kiến trúc  Mô hình Client Client--Server:  Ưu điểm điểm::  Dữ liệu chia sẻ và đồng bộ. bộ.  Hạn chế tương tác  Cô lập lỗi client client--server.  Dễ bảo trì trì,, nâng cấp cấp..  Nhược điểm điểm::  Chi phí triển khai khai..  Tốc độ xử lý. lý. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 15
  16. Các mô hình kiến trúc  Mô hình 3-Tầng (3 (3--Tiers): Data Layer  Phân làm ba tầng tầng::  Tầng dữ liệu (data layer).  Dịch vụ dữ liệu liệu..  Data server.  Tầng xử lý (business layer). Business Layer  Thư viện xử lý. lý.  Application server. Thư viện xử lý  Tầng giao diện (presentation layer).  Giao diện người dùng dùng..  Thin--Client. Thin Client  Quy tắc tương tác “thang máy máy”. ”. Màn  Không tương tác vượt tầng tầng.. hình Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 16
  17. Các mô hình kiến trúc  Mô hình 3-Tầng (3 (3--Tiers): Data Layer  Mô hình đa tầng tầng::  Mở rộng mô hình 3-Tầng.  Phân làm nhiều tầng xử lý. lý.  Dùng trong ứng dụng web.  Ưu điểm điểm:: Business Layer  Tương tự mô hình Client Client--Server. Thư viện  Tầng xử lý riêng biệt biệt.. xử lý  Nhược điểm điểm::  Tương tự mô hình Client Client--Server. Client Màn hình Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 17
  18. Các mô hình kiến trúc  Mô hình Peer Peer--to to--Peer:  Là mô hình đơn lập phân tán. tán.  Triển khai trên nhiều máy (nút nút). ).  Các nút tương tác được với nhau. nhau.  Mỗi nút đóng vai Client Client--Server.  Chia sẻ dữ liệu + xử lý trên toàn bộ nút nút..  Ưu điểm điểm::  Không cần server trung tâm tâm..  Không gian lưu trữ và khả năng xử lý dàn trải trải..  Dễ triển khai khai..  Nhược điểm điểm::  Khó lập trình và quản lý dữ liệu liệu.. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 18
  19. Nội dung  Các khái niệm cơ bản bản..  Các mô hình kiến trúc trúc..  Công nghệ phân tán. tán. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 19
  20. Công nghệ phân tán  Middleware:  Các thành phần trong hệ phân tán giao tiếp thế nào nào? ?  Hệ thống đứng giữa điều phối phối.. Server Client Đối tượng Server Client Màn hình Học sinh Middleware Middleware Học sinh  Các chuẩn phổ biến biến::  CORBA (C (Common Object Request Broker Architecture).  COM (C (Component Object Model).  JavaBeans. Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy CuuDuongThanCong.com https://fb.com/tailieudientucntt 20
nguon tai.lieu . vn