Categories
Software Architecture

Dòng Sản Phẩm Phần Mềm 3: Kiến Trúc Phần Mềm Cho Dòng Sản Phẩm

SA cho PL

  • SA trong kho tài sản cốt lõi: vai trò trung tâm nhất
  • Cốt lõi của việc xây dựng SW PL thành công: phân biệt giữa những gì là không đổi ở tất cả các thành viên trong họ và những gì được mong đợi sẽ thay đổi
  • SA đã sẵn sàng cho tính hai mặt này
    • SA là một trừu tượng thừa nhận nhiều thể hiện
  • Trong SW PL: SA là biểu hiện của các khía cạnh không thay đổi

SA cho PL, tiếp theo.

  • PL SA vượt ra ngoài sự phân đôi này
    • Tập hợp các biến thể được phép rõ ràng
    • (SA thông thường: mọi trường hợp sẽ hoạt động miễn là chức năng và phẩm chất được tôn trọng)
    • ⇒ Trách nhiệm của PL SA
    • Xác định các điểm thay đổi
      • Có thể đáng kể
      • Các biến thể về hành vi, phẩm chất, nền tảng, mạng, cấu hình vật lý, phần mềm trung gian, các yếu tố quy mô, v.v.
    • Cung cấp các cơ chế tích hợp để đạt được chúng

PL SArchitect cần xem xét

  • Xác định các điểm thay đổi
  • Hỗ trợ các điểm thay đổi
  • Đánh giá kiến trúc về tính phù hợp của PL

Xác định các điểm thay đổi

  • Hoạt động đang diễn ra
    • Sản phẩm có thể thay đổi theo nhiều cách => có thể xác định các biến thể bất cứ lúc nào trong quá trình phát triển
  • Trong quá trình yêu cầu
    • Tính năng, nền tảng, giao diện người dùng, phẩm chất, thị trường mục tiêu -> một số phụ thuộc lẫn nhau
  • Trong quá trình thiết kế
    • Các tùy chọn để thực hiện các biến thể được xác định trong quá trình yêu cầu
    • Các biến thể bình thường trong quá trình thiết kế
      • Một số quyết định được hoãn lại cho đến khi có thêm thông tin
  • Trong quá trình thực hiện
    • Cũng trong quá trình hiện thực các sản phẩm thứ hai (tiếp theo)

Hỗ trợ các điểm thay đổi

  • Bao gồm / bỏ sót các phần tử
  • Bao gồm một số phần tử sao chép khác nhau
  • Lựa chọn phiên bản của các phần tử có giao diện giống nhau nhưng hành vi / phẩm chất khác nhau
    • Lựa chọn có thể xảy ra trong thời gian biên dịch / xây dựng / chạy

Hỗ trợ các điểm thay đổi – các kỹ thuật phức tạp hơn

  • Hệ thống OO – viết tổng quát và chuyên biệt của các lớp
  • Xây dựng các điểm mở rộng vào việc hiện thực phần tử
  • Đưa các tham số thời gian xây dựng vào một phần tử
  • Phản xạ
    • Khả năng của một chương trình để thao tác dữ liệu trên chính nó, môi trường thực thi hoặc trạng thái của nó
    • Các chương trình phản xạ có thể điều chỉnh hành vi của chúng dựa trên bối cảnh của chúng
  • Quá tải
    • Sử dụng lại chức năng đã đặt tên để hoạt động trên các kiểu khác nhau
    • Khuyến khích sử dụng lại mã; chi phí dễ hiểu và độ phức tạp của mã

Hỗ trợ các điểm thay đổi – tài liệu

  • Đối với PL SA vì nó nằm trong cơ sở tài sản cốt lõi
  • Đối với SA của từng sản phẩm (trong phạm vi mà nó thay đổi theo kiến trúc PL)
  • Cần thể hiện rõ ràng các điểm biến thiên của nó
  • Cũng nên thể hiện cơ sở lý luận cho từng điểm
    • Định nghĩa phạm vi được sử dụng để biện minh
  • Nên mô tả quy trình khởi tạo kiến trúc
    • Điểm biến thiên của nó được thực hiện như thế nào

Đánh giá kiến trúc về tính phù hợp của PL

  • PL SA nên được đánh giá cho phù hợp với mục đích
  • Các kỹ thuật đánh giá SA điển hình hoạt động
  • PL SA nên được đánh giá
    • Về sự mạnh mẽ và tổng quát
    • Để đảm bảo nó có thể làm cơ sở cho các sản phẩm trong phạm vi của PL
    • Để đảm bảo nó đáp ứng các phẩm chất của sản phẩm

Leave a Reply

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