intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Công nghệ phần mềm: Thiết kế kiến trúc

Chia sẻ: Lavie Lavie | Ngày: | Loại File: PPT | Số trang:39

109
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu của bài giảng Công nghệ phần mềm: Thiết kế kiến trúc là nhằm giúp cho các bạn biết được thiết kế kiến trúc và tầm quan trọng của nó; quyết định thiết kế kiến trúc cần đưa ra; ba kiểu kiến trúc dành cho tổ chức, phân rã, và điều khiển (organisation, decomposition and control); kiến trúc tham khảo dùng để giao tiếp và so sánh kiến trúc.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Công nghệ phần mềm: Thiết kế kiến trúc

  1. Công nghệ phần mềm Thiết kế kiến trúc
  2. Mục tiêu • Giới thiệu thiết kế kiến trúc và tầm quan trọng của nó • Giải thích các quyết định thiết kế kiến trúc cần đưa ra • Giới thiệu ba kiểu kiến trúc dành cho tổ chức, phân rã, và điều khiển (organisation, decomposition and control) • Các kiến trúc tham khảo dùng để giao tiếp và so sánh kiến trúc. 2
  3. Các chủ đề • Các quyết định về thiết kế kiến trúc • Tổ chức hệ thống • Các kiểu phân rã • Các kiểu điều khiển • Reference architectures 3
  4. Kiến trúc phần mềm • Thiết kế kiến trúc là quy trình thiết kế nhằm nhận diện – Các hệ thống con cấu thành nên một hệ thống, và – Framework cho việc điều khiển và liên lạc giữa các hệ thống. – Kết quả là một mô tả về kiến trúc phần mềm 4
  5. Thiết kế kiến trúc • Là giai đoạn sớm của quy trình thiết kế hệ thống • Đại diện cho mối liên kết giữa đặc tả và các quy trình thiết kế • Thường được thực hiện song song với một số hoạt động đặc tả • Bao gồm việc nhận diện các thành phần hệ thống chính và giao tiếp giữa chúng 5
  6. Ưu điểm của kiến trúc • Giao tiếp với stakeholder – Stakeholder của hệ thống có thể dùng kiến trúc làm trọng tâm thảo luận • Phân tích hệ thống – Phân tích xem có thể làm cho hệ thống thỏa mãn các yêu cầu phi chức năng hay không. • Tái sử dụng quy mô lớn – Có thể tái sử dụng kiến trúc giữa nhiều hệ thống. 6
  7. Cấu trúc hóa hệ thống • Là việc phân rã hệ thống thành những hệ thống con tương tác với nhau • Thiết kế kiến trúc thường được diễn đạt bằng một block diagram trình bày tổng quan về cấu trúc hệ thống • Các mô hình cụ thể hơn cho biết các hệ thống con chia sẻ dữ liệu và phân tán như thế nào, interface giữa các hệ thống con cũng có thể được phát triển 7
  8. Packing robot control system Vision Visionsystem system Object Object Arm Arm Gripper Gripper identification identification controller controller controller controller system system Packaging Packaging selection selection system system Packing Packing system system Conveyer Conveyer controller controller 8
  9. Box and line diagrams • Rất trừu tượng – chúng không mô tả bản chất của quan hệ giữa các thành phần cũng như các tính chất nhìn được từ bên ngoài của các hệ thống con • Tuy nhiên, hữu ích khi giao tiếp với stakeholder và cho việc lập kế hoạch dự án 9
  10. Architectural design decisions • Architectural design is a creative process so the process differs depending on the type of system being developed • However, a number of common decisions span all design processes 10
  11. Các quyết định thiết kế kiến trúc • Có kiến trúc ứng dụng tổng quát nào có thể dùng được? • Hệ thống sẽ được phân tán như thế nào? • Các kiểu kiến trúc nào thích hợp? • Dùng cách tiếp cận nào để cấu trúc hóa hệ thống? • Hệ thống sẽ được phân rã thành module như thế nào? • Đánh giá thiết kế kiến trúc như thế nào? • Kiến trúc nên được viết tài liệu như thế nào? 11
  12. Các mô hình kiến trúc • Dùng để ghi tài liệu một thiết kế kiến trúc • Mô hình cấu trúc tĩnh mô tả các thành phần chính của hệ thống • Mô hình tiến trình động mô tả cấu trúc xử lý của hệ thống • Mô hình interface định nghĩa các giao diện giữa các hệ thống con. • Mô hình quan hệ chẳng hạn mô hình data-flow mô tả quan hệ giữa các hệ thống con • Mô hình phân tán mô tả các hệ thống con được phân tán tại các máy tính như thế nào 12
  13. System organisation • Phản ánh chiến lược cơ bản để cấu trúc một hệ thống • Ba kiểu tổ chức được dùng rộng rãi: – A shared data repository style; – A shared services and servers style; – An abstract machine or layered style. 13
  14. The repository model • Các hệ thống con phải trao đổi dữ liệu. Có thể thực hiện theo hai các: – Dữ liệu dùng chung được đặt tại CSDL hoặc repository trung tâm và tất cả các hệ thống con đều có thể truy cập; – Mỗi hệ thống con giữ CSDL riêng và truyền dữ liệu một cách tường minh cho các hệ thống con khác. • Khi cần chia sẻ lượng dữ liệu lớn, mô hình chia sẻ kiểu repository được dùng rộng rãi nhất. 14
  15. CASE toolset architecture Design Design Code Code editor editor generator generator Design Design Program Program translator translator Project Project repository repository editor editor Design Design Code Code editor editor generator generator 15
  16. Đặc điểm của mô hình repository • Ưu điểm – Các hiệu quả để dùng chung lượng dữ liệu lớn; – Các hệ thống con không cần quan tâm dữ liệu được tạo như thế nào – Công việc quản lý như backup, bảo mật, .. được tập trung. – Mô hình dùng chung được công bố dưới dạng repository schema. • Nhược điểm – Các hệ thống con phải thống nhất về một mô hình dữ liệu repository. Thỏa hiệp là tất yếu; – Tiến hóa dữ liệu là khó khăn và chi phí cao; – Không có phạm vi cho các chính sách quản lý cụ thể; – Khó phân tán một cách có hiệu quả. 16
  17. Client-server model • Mô hình hệ thống phân tán trong đó dữ liệu và xử lý dữ liệu được phân bố cho nhiều component • Một tập các server độc lập cung cấp các dịch vụ cụ thể, chẳng hạn in, quản lý dữ liệu, v.v.. • Một tập các client gọi các dịch vụ đó • Mạng máy tính cho phép client tương tác với các server Server là "trình phục vụ", không phải "máy chủ"! 17
  18. Film and picture library Client Client11 Client Client22 Client Client33 Internet Internet Web Web Catalog Catalog Video Video Picture Picture server server server server server server server server Film Filmand and Library Library Film Filmclip clip Digitalize Digitalize photo photo catalog catalog files files ddphotos photos info. info. 18
  19. Đặc điểm mô hình client-server • Ưu điểm – Dữ liệu được phân tán một cách rõ ràng dễ hiểu; – Sử dụng hiệu quả các hệ thống nối mạng. – Có thể đòi hỏi phần cứng rẻ hơn; – Dễ bổ sung server mới hoặc nâng cấp các server cũ. • Nhược điểm – Không có mô hình dữ liệu dùng chung nên các hệ thống con phải dùng các tổ chức dữ liệu riêng. Việc trao đổi dữ liệu có thể không hiệu quả; – Quản lý dư thừa đặt tại mỗi server; – Không có đăng kí trung tâm cho tên và dịch vụ - có thể khó tìm xem hiện có những server và dịch vụ nào. 19
  20. Abstract machine (layered) model Mô hình phân tầng • Dùng để mô hình giao diện giữa các hệ thống con. • Tổ chức hệ thống thành tập các layer (hoặc abstract machines) mỗi layer cung cấp một tập các dịch vụ. • Hỗ trợ phát triển tăng dần đối với các hệ thống con tại các layer khác nhau. Khi một layer thay đổi, chỉ có layer sát nó bị ảnh hưởng. • Tuy nhiên việc cấu trúc các hệ thống theo kiểu này thường không tự nhiên. 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2