Categories
Software Architecture

Khung Nhìn Và Tài Liệu Kiến Trúc (Hofmeister Và Những Người Khác) 5: Khung Nhìn Kiến Trúc Mã

Khung nhìn mã

  • Mô tả cách tổ chức hệ thống hiện thực SW
    • Các thành phần nguồn thi hành các phần tử riêng lẻ trong khung nhìn mô-đun
    • Các thành phần triển khai khởi tạo các thực thể thời gian chạy trong khung nhìn thực thi
      • Các tệp thực thi được, thư viện, tệp cấu hình
    • Các thành phần trên liên quan với nhau thông qua các thành phần trung gian như thế nào
    • Tất cả trong số này được tổ chức như thế nào theo môi trường phát triển của tổ chức
    • Các quyết định thiết kế liên quan đến quản lý cấu hình, nhiều bản phát hành, thử nghiệm

Mục tiêu chính của khung nhìn mã

  • Tạo điều kiện cho hệ thống
    • Xây dựng
    • Tích hợp
    • Cài đặt
    • Kiểm tra
  • Trong khi tôn trọng tính toàn vẹn của tất cả các khung nhìn khác

Sử dụng khung nhìn mã

  • Cô lập các khía cạnh xây dựng và phát triển của một hệ thống trong một khung nhìn riêng biệt => tính linh hoạt
  • Khung nhìn mã mô tả cách một mô-đun, các giao diện và phần phụ thuộc của nó được ánh xạ tới các thành phần và phụ thuộc dành riêng cho ngôn ngữ (language-specific)
  • Khung nhìn mô-đun và thực thi là không phụ thuộc vào ngôn ngữ (language-independent)
  • Bao nhiêu chức năng của mô-đun được triển khai trong mỗi bản phát hành
  • Cách các thành phần nguồn và thư viện trung gian được phát hành cho các nhóm khác để tích hợp và thử nghiệm

Khung nhìn mã, 2

  • Đôi khi đơn giản
    • Một nhóm phát triển nhỏ có thể thực thi
  • Đối với các hệ thống phức tạp thì không như vậy
    • Nhiều tệp thực thi
    • Các thành phần dùng chung
    • Nhóm lớn
    • Phát triển đồng thời
  • Động lực
    • Ngôn ngữ thực thi, công cụ phát triển, môi trường phát triển, quy trình phát triển

Khung nhìn mã, 3

  • Tổ chức các thành phần mã để hỗ trợ
    • Các nhiệm vụ phát triển đồng thời hàng ngày
      • Chỉnh sửa, biên dịch, xây dựng, kiểm tra
    • Xây dựng các bộ phận của hệ thống và phát hành chúng cho các nhóm khác nhau để cài đặt, tích hợp, kiểm tra
    • Dễ bảo trì và thay đổi
    • Thực thi các quyết định thiết kế kiến trúc
      • Đóng gói, trừu tượng hóa, các phụ thuộc được phép
    • Quản lý cấu hình của các phiên bản hệ thống khác nhau

Nhiệm vụ thiết kế

  • Phân tích toàn cục, thiết kế trung tâm, nhiệm vụ thiết kế cuối cùng
  • Phân tích toàn cục
    • Xác định và xem xét các yếu tố đầu vào cho quá trình thiết kế
      • Các yếu tố và chiến lược ảnh hưởng đến khung nhìn mã
    • Mục tiêu: phát triển các chiến lược cụ thể để xây dựng hệ thống và xây dựng một cách linh hoạt
  • Nhiệm vụ thiết kế trung tâm
    • Tổ chức các thành phần nguồn, trung gian và triển khai
    • Mối quan hệ của các thành phần với khung nhìn mô-đun và thực thi được thực hiện rõ ràng
    • Đánh giá liên tục các quyết định
  • Nhiệm vụ thiết kế cuối cùng
    • Các quyết định chi tiết đề cập đến các thủ tục xây dựng và quản lý cấu hình

Nhiệm vụ thiết kế

Nhiệm vụ thiết kế.

Phân tích toàn cục

  • Các yếu tố cụ thể
    • Nền tảng phát triển
    • Môi trường phát triển
      • Khả năng của các công cụ khác nhau, mgmt cấu hình, cần thiết hoặc khả thi để phát triển đa nền tảng
    • Quy trình phát triển
      • Xác định các yêu cầu về quy trình và thử nghiệm
    • Lịch trình phát triển
      • Phân tích xem sản phẩm được phát hành theo từng giai đoạn hay không
      • Phân tích xem liệu nhà phát triển và người kiểm tra có làm việc đồng thời trên nhiều bản phát hành hay không

Nhiệm vụ thiết kế trung tâm

  • Ánh xạ các phần tử từ khung nhìn mô-đun và thực thi đến các thành phần mã
  • Tổ chức chúng theo các tiêu chí được thiết lập trong quá trình phân tích toàn cục

Nhiệm vụ thiết kế trung tâm.

Các thành phần nguồn

  • Xác định các thành phần nguồn
  • Ánh xạ các phần tử và phụ thuộc từ khung nhìn mô-đun đến các thành phần và phụ thuộc nguồn
  • Tổ chức các thành phần nguồn bằng cách sử dụng cấu trúc lưu trữ (thư mục, tệp)

Các thành phần nguồn, 2

  • Điển hình là các thành phần nguồn cho các giao diệnmô-đun dành riêng cho ngôn ngữ hoặc cho các thành phần tạo ra chúng
  • Sự phụ thuộc giữa các thành phần nguồn
    • Nhập (Import): phụ thuộc thời gian biên dịch
    • Tạo (Generate): các thành phần nguồn được tạo từ các thành phần nguồn khác (exp: tiền xử lý)

Các thành phần nguồn, 3

  • Các phần tử khung nhìn mô-đun được ánh xạ thành các thành phần nguồn dành riêng cho ngôn ngữ thực hiện chúng
  • Tổ chức các thành phần nguồn để chúng có thể được phát triển và kiểm tra bởi các nhà phát triển riêng lẻ
    • Phân cấp thư mục
    • Cơ sở dữ liệu, kho lưu trữ được chia sẻ

Các thành phần trung gian

  • Xác định các thành phần trung gian
    • Các thành phần nhị phân, thư viện
  • Xác định sự phụ thuộc của chúng vào các thành phần nguồn và lẫn nhau
  • Tổ chức chúng bằng cách sử dụng cấu trúc lưu trữ (thư mục, tệp)

Các thành phần trung gian, 2

  • Các thành phần trung gian đặc trưng cho ngôn ngữ thực thi và môi trường phát triển
  • Tổ chức các thành phần trung gian để tạo điều kiện chia sẻ
    • Thời gian chỉnh sửa-biên dịch-liên kết giảm
    • Thư viện tĩnh

Các thành phần triển khai

  • Xác định và ánh xạ các thực thể thời gian chạy và các phần phụ thuộc trong khung nhìn thực thi tới các thành phần triển khai và các phần phụ thuộc của chúng
  • Tổ chức các thành phần triển khai

Các thành phần triển khai, 2

  • Được triển khai trong thời gian chạy để khởi tạo các thực thể thời gian chạy
    • Các tệp thực thi
      • Tương tự như thư viện động, nhưng cũng liên quan đến thư viện động bởi một phụ thuộc liên kết
    • Thư viện động
      • Liên quan đến các thành phần nhị phân và thư viện tĩnh bởi một phụ thuộc liên kết
    • Mô tả cấu hình
      • Có thể mô tả các tiến trình và tài nguyên

Các thành phần triển khai, 3

  • Tổ chức các thành phần triển khai
    • Hệ thống nhỏ: đơn giản, một / hai gói chứa tệp cho tệp thực thi được và mô tả cấu hình của nó
    • Hệ thống lớn: có thể rất phức tạp
      • Exp: hệ thống tệp riêng biệt để lưu trữ dữ liệu và cho các vùng bộ nhớ dùng chung
      • Exp: tổ chức riêng biệt từng thành phần thực thi và liên kết (tài nguyên và dữ liệu bắt buộc)

Đánh giá toàn cục

  • Đầu vào từ
    • Các chiến lược trong phân tích toàn cục
    • Các quyết định thiết kế trong khung nhìn mô-đun và thực thi
    • Môi trường phát triển, nền tảng thực thi
  • Các tiêu chí đánh giá chính
    • Bảo toàn tính toàn vẹn của các quyết định kiến trúc
    • Tích hợp nhịp nhàng với môi trường phát triển, các thành phần bên ngoài
  • Các tiêu chí khác
    • Tính nhất quán, đơn giản, tính đồng nhất của các quyết định thiết kế
  • Đánh giá tất cả các quyết định thiết kế dựa trên các tiêu chí này

Nhiệm vụ thiết kế cuối cùng

  • Thêm chi tiết cho các quyết định được thực hiện trong các nhiệm vụ thiết kế trung tâm
  • Xây dựng thủ tục
    • Thủ tục thiết kế để xây dựng và cài đặt các thành phần trung gian và triển khai
  • Quản lý cấu hình
    • Xác định các quyết định thiết kế liên quan đến quản lý các phiên bản và bản phát hành của các thành phần

Leave a Reply

Your email address will not be published. Required fields are marked *