Giáo trình Công nghệ phần mềm - Chương 6: Kiến trúc phần mềm - Nguyễn Minh Huy

Tài liệu Giáo trình Công nghệ phần mềm - Chương 6: Kiến trúc phần mềm - Nguyễn Minh Huy: Kiến trúc phần mềm GV. Nguyễn Minh Huy 1Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 2Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 3Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  Thiết kế phần mềm là gì?  Trả lời câu hỏi HOW.  Phác thảo cách hiện thực hóa yêu cầu.  Thiết kế kiến trúc: sub-systems, architecture model.  Thiết kế thành phần: màn hình, đối tượng, dữ liệu. Thiết kế xử lý: hiện thực hóa kịch bản Use Case. 4Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Stakeholders Business Analyst Designer/Architect WHAT? -Req 1 -Req 2 # VISION? -Need 1 -Need 2 # HOW? -Architecture -Elements -Processing CuuDuongThanC...

pdf23 trang | Chia sẻ: quangot475 | Lượt xem: 535 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo trình Công nghệ phần mềm - Chương 6: Kiến trúc phần mềm - Nguyễn Minh Huy, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Kiến trúc phần mềm GV. Nguyễn Minh Huy 1Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 2Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 3Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  Thiết kế phần mềm là gì?  Trả lời câu hỏi HOW.  Phác thảo cách hiện thực hóa yêu cầu.  Thiết kế kiến trúc: sub-systems, architecture model.  Thiết kế thành phần: màn hình, đối tượng, dữ liệu. Thiết kế xử lý: hiện thực hóa kịch bản Use Case. 4Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Stakeholders Business Analyst Designer/Architect WHAT? -Req 1 -Req 2 # VISION? -Need 1 -Need 2 # HOW? -Architecture -Elements -Processing CuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  Kiến trúc phần mềm là gì?  Chương trình đơn giản một thành 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, sắp xếp thế nào?  Tương tác ra sao?  Cấu tạo bên trong?  Kiến trúc phần mềm Bản mô tả cấu tạo, tương tác bên trong của phần mềm. 5Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  Tầm quan trọng của kiến trúc:  Ảnh hưởng hiệu quả hoạt độ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-tolerance).  Ảnh hưởng chi phí:  Khả năng triển khai.  Khả năng vận hành.  Khả năng bảo trì.  Ảnh hưởng thiết kế và cài đặt. 6Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  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:  Bổ dọc: xác định sub-systems.  Bổ ngang: lựa chọn architecture model. 7Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  “Bổ dọc” phần mềm:  Chia phần mềm thành các sub-system.  Hệ thống con nằm trong phần mềm.  Phân hệ của phần mềm.  Nhóm các chức năng liên quan với nhau. 8Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Phần mềm Phần mềm Phân hệ 1 Chức năng 1 Chức năng 2 Phân hệ 2 Chức năng 3 Chức năng 4 Phần mềm Chức năng 1 Chức năng 2 Chức năng 4 Chức năng 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  “Bổ dọc” phần mềm:  Tiêu chí phân chia sub-system:  Bảo mật người dùng.  Chức năng dùng chung. Quản lý thư viện 9Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Quản lý thư viện Tra cứu sách Mượn sách Nhập sách mới Nhập độc giả mới Thủ thư Nhập độc giả mới Độc giả Mượn sách Nhập sách mới CSDL Khách Tra cứu sách CuuDuongThanCong.com https://fb.com/tailieudientucntt Các khái niệm cơ bản  “Bổ ngang” phần mềm:  Phân tầng xử lý các chức năng.  Dựa theo các mô hình kiến trúc.  Các mô hình kiến trúc: Mô hình đơn lập. Phần mềm Phân hệ 1 Tầng A Mô hình phân tầng:  Mô hình 2-Tầng (Client-Server).  Mô hình 3-Tầng.  Mô hình Peer-To-Peer. 10Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Chức năng 1A Chức năng 2A Chức năng 4A Tầng B Chức năng 1B Chức năng 2B Chức năng 4B CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 11Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình đơn lập:  Không phân tầng xử lý.  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ý.  Nhược điểm:  Khó bảo trì, nâng cấp.  Khó chia sẻ dữ liệu. 12Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình Client-Server:  Phân làm hai tầng:  Server:  Cung cấp dịch vụ.  Dữ liệu, thư viện.  Chia sẻ, dùng chung. Server Thư viện xử lý  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. 13Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Client Màn hình Thư viện xử lý CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình Client-Server: Mô hình Thin-Client:  Server đảm trách dữ liệu + xử lý.  Client chỉ lo 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ộ xử lý + giao diện người dùng. 14Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình Client-Server: Ưu điểm:  Dữ liệu chia sẻ và đồng bộ.  Hạn chế tương tác  Cô lập lỗi client-server.  Dễ bảo trì, nâng cấp.  Nhược điểm:  Chi phí triển khai.  Tốc độ xử lý. 15Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình 3-Tầng (3-Tiers):  Phân làm ba tầng:  Tầng dữ liệu (data layer).  Dịch vụ dữ liệu.  Data server.  Tầng xử lý (business layer). Business Layer Data Layer  Thư viện xử lý.  Application server.  Tầng giao diện (presentation layer).  Giao diện người dùng.  Thin-Client. Quy tắc tương tác “thang máy”.  Không tương tác vượt tầng. 16Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Client Màn hình Thư viện xử lý CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  Mô hình 3-Tầng (3-Tiers): 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ý.  Dùng trong ứng dụng web. Ưu điểm: Data Layer Business Layer  Tương tự mô hình Client-Server.  Tầng xử lý riêng biệt.  Nhược điểm:  Tương tự mô hình Client-Server. 17Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Client Màn hình Thư viện xử lý CuuDuongThanCong.com https://fb.com/tailieudientucntt Các mô hình kiến trúc  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 (nút).  Các nút tương tác được với nhau.  Mỗi nút đóng vai Client-Server. Chia sẻ dữ liệu + xử lý trên toàn bộ nút. Ư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. 18Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung  Các khái niệm cơ bản.  Các mô hình kiến trúc.  Công nghệ phân tán. 19Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt 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?  Hệ thống đứng giữa điều phối. Client Màn hình Học sinh Server Đối tượng Học sinh Middleware Server Client Middleware  Các chuẩn phổ biến:  CORBA (Common Object Request Broker Architecture).  COM (Component Object Model).  JavaBeans. 20Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Công nghệ phân tán  Web Service:  Thư viện lập trình online.  Cung cấp dạng dịch vụ.  Truy xuất qua internet.  Các dịch vụ phổ biến: Math Services Weather Services Map Services Internet Web Browser 1 Web Browser 2  Math services.  Google map.  Amazon services.  Cloud computing. 21Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập  Bài tập thiết kế kiến trúc:  Hệ thống “Online Bookstore”.  Công việc:  Bổ dọc:  Xác định stakeholders & yêu cầu tổng quan.  Gom nhóm các yêu cầu để tăng bảo mật và tốc độ xử lý.  Vẽ các phân hệ.  Bổ ngang:  Lựa chọn mô hình kiến trúc.  Sử dụng ít nhất 1 web service.  Vẽ kiến trúc hệ thống theo mô hình lựa chọn. 22Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh HuyCuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ Kiến trúc phần mềm Quản lý học sinh Phân hệ Giáo viên Tầng giao diện Màn hình Nhập điểm Màn hình Tra cứu Phân hệ Học sinh Tầng giao diện Màn hình Xem điểm 23Nhập môn Công Nghệ Phần Mềm - Nguyễn Minh Huy Tầng xử lý BangDiem HocSinh LopHoc Tầng dữ liệu DataLib GiaoVien CuuDuongThanCong.com https://fb.com/tailieudientucntt

Các file đính kèm theo tài liệu này:

  • pdfcong_nghe_phan_mem_nguyen_minh_huy_06_se_software_architecture_cuuduongthancong_com_7009_2166928.pdf
Tài liệu liên quan