Giáo trình Thiết kế kiến trúc

pdf 32 trang huongle 1820
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Thiết kế kiến trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_thiet_ke_kien_truc.pdf

Nội dung text: Giáo trình Thiết kế kiến trúc

  1. Thiết kế kiến trúc
  2. Nội dung chính z Khái niệm về kiến trúc phần mềm z Các quyết định khi thiết kế kiến trúc z Các mô hình kiến trúc z Mô tả kiến trúc z Đánh giá kiến trúc 2
  3. Tài liệu tham khảo z Ian Sommerville, Software Engineering, chương 11 3
  4. Kiến trúc phần mềm z 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 4
  5. Kiến trúc phần mềm z Kiến trúc phần mềm hỗ trợ − Phân tích khả năng đáp ứng yêu cầu của hệ thống − Nghiên cứu các giải pháp thay thế − Giảm rủi ro của việc phát triển phần mềm − Sử dụng lại 5
  6. Các quyết định khi thiết kế z Có kiến trúc mẫu nào không? (của một ứng dụng đang được sử dụng nào đó) z Làm thế nào để tổ chức ứng dụng? (nghĩa là chia ứng dụng thành các phân hệ) z Tương tác giữa các phân hệ như thế nào? z Phân rã các phân hệ như thế nào? z Những tài liệu mô tả kiến trúc? z Làm thế nào để đánh giá? 6
  7. Quy trình thiết kế kiến trúc z Tổ chức hệ thống − Chia hệ thống thành các phân hệ và xác định phương thức liên kết các phân hệ z Mô hình điều khiển − Xác định cách điều khiển giữa các phân hệ z Phân rã phân hệ − Chia nhỏ mỗi phân hệ thành các môdun 7
  8. Các mô hình kiến trúc z Tổ chức hệ thống − Dữ liệu tập trung − Client – Server − Phân tầng z Điều khiển tương tác giữa các phân hệ − Điều khiển tập trung − Điều khiển dựa trên sự kiện z Phân rã phân hệ − Hướng đối tượng − Hướng chức năng 8
  9. Mô hình dữ liệu tập trung Client Client software software Data store Client (repository or black Client software board) software Client Client software software 9
  10. Mô hình dữ liệu tập trung Design Code editor generator Design Project Program translator repository editor Design Report analyser generator Kiến trúc của một bộ CASE tích hợp 10
  11. Mô hình dữ liệu tập trung z Ưu điểm − Tiện lợi cho chia sẻ dữ liệu lớn − Sự độc lập giữa các phân hệ z Nhược điểm − Khó thay đổi cấu trúc dữ liệu 11
  12. Mô hình Client-Server Client Client Network Server Client 12
  13. Mô hình Client-Server Client Client Client Client Broadband Network Catalogue Film Picture Web Server Server Server Server Kiến trúc của một thư viện phim và hình ảnh 13
  14. Mô hình Client - Server z Ưu điểm − Hiệu quả sử dụng cao − Dễ dàng mở rộng thêm dịch vụ − Dễ dàng nâng cấp z Nhược điểm − Số lượng client có thể tăng giảm mà phía server không biết − Server bị hỏng 14
  15. Mô hình phân tầng User interface layer components Application layer Utility layer Core layer 15
  16. Mô hình phân tầng Giao diện người dùng Kế toán Khách hàng Nhân sự Truy xuất cơ sở dữ liệu Kiến trúc của ứng dụng doanh nghiệp 16
  17. Mô hình phân tầng z Ưu điểm − Hỗ trợ phát triển tăng dần − Dễ thay đổi z Thay đổi tầng z Thêm tầng z Nhược điểm − Vấn đề về hiệu năng − Khó thiết kế theo đúng mô hình này 17
  18. Các mô hình kiến trúc z Tổ chức hệ thống − Dữ liệu tập trung − Client – Server − Phân tầng z Điều khiển tương tác giữa các phân hệ − Điều khiển tập trung − Điều khiển dựa trên sự kiện z Phân rã phân hệ − Hướng đối tượng − Hướng chức năng 18
  19. Các mô hình điều khiển tập trung z Một phân hệ chịu trách nhiệm gọi thực thi các phân hệ khác z Chia làm hai loại − Mô hình gọi-trả lại − Mô hình quản lý 19
  20. Mô hình gọi-trả lại Main program Routine 1 Routine 2 Routine 3 Routine 1.1 Routine 1.2 Routine 3.1 Routine 3.2 20
  21. Mô hình quản lý Sensor Actuator processes processes System controller Computation User interface Fault handler processes 21
  22. Mô hình điều khiển dựa trên sự kiện z Quá trình hoạt động dựa vào các sự kiện tạo ra bởi các yếu tố bên ngoài z Chia làm 2 loại − Mô hình điều khiển quảng bá − Mô hình điều khiển ngắt 22
  23. Mô hình điều khiển quảng bá Sub-system Sub-system Sub-system 1 2 3 Trình xử lý sự kiện và thông điệp 23
  24. Mô hình điều khiển ngắt 24
  25. Các mô hình kiến trúc z Tổ chức hệ thống − Dữ liệu tập trung − Client – Server − Phân tầng z Điều khiển tương tác giữa các phân hệ − Điều khiển tập trung − Điều khiển dựa trên sự kiện z Phân rã phân hệ − Hướng đối tượng − Hướng chức năng 25
  26. Mô hình hướng đối tượng 26
  27. Mô hình hướng đối tượng z Ưu điểm − Các đối tượng độc lập với nhau, dễ thay đổi − Thể hiện được thế giới thực − Ngôn ngữ và công cụ hướng đối tượng đa dạng z Nhược điểm − Khó thể hiện đối tượng phức tạp 27
  28. Mô hình luồng dữ liệu Issue receipts Receipts Read issued Identify invoices payments Find Issue payment payments due reminder Reminders Invoices Payments 28
  29. Mô hình luồng dữ liệu z Ưu điểm − Dễ hiểu − Các cụm xử lý có thể được sử dụng lại − Dễ thấy được phần xử lý tuần tự hay song song z Nhược điểm − Định dạng dữ liệu chung 29
  30. Mô tả kiến trúc được thiết kế z Một kiến trúc có thể được biểu diễn bởi các mô hình đồ họa − Cấu trúc tĩnh − Cấu trúc động − Giao diện − Quan hệ − Phân bố 30
  31. Đánh giá kiến trúc z Phương pháp phân tích các trade-off − Dựa trên các kịch bản − Phân tích các thuộc tính như: độ ổn định, hiệu năng, bảo mật, z Phương pháp lượng hóa độ phức tạp của kiến trúc dựa trên các phụ thuộc − Phụ thuộc chia sẻ − Phụ thuộc dòng − Phụ thuộc ràng buộc 31
  32. Tóm tắt z Khái niệm kiến trúc phần mềm z Các quyết định cần đưa ra khi thiết kế kiến trúc z Một số kiểu kiến trúc − Dùng để tổ chức hệ thống − Phân rã phân hệ − Điều khiển tương tác z Mô tả kiến trúc z Các phương pháp đánh giá kiến trúc 32