de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Giới thiệu

Mô hình mô hình C4, được phát triển bởi Simon Brown, cung cấp một cách tiếp cận có cấu trúc để minh họa kiến trúc phần mềm, bao gồm bốn cấp độ riêng biệt, dần dần phóng to vào kiến trúc của một hệ thống phần mềm. Mỗi cấp độ cung cấp một góc nhìn độc đáo và phục vụ các mục đích cụ thể trong việc ghi chép và truyền đạt kiến trúc phần mềm. Hãy cùng khám phá bốn cấp độ của mô hình C4:

1. Sơ đồ Bối cảnh Hệ thống

Phạm vi:Một hệ thống phần mềm duy nhất.

Các thành phần chính:Hệ thống phần mềm đang được xem xét.

Các thành phần hỗ trợ:Con người (ví dụ: người dùng, nhân vật, vai trò, nhân vật đại diện) và các hệ thống phần mềm (các phụ thuộc bên ngoài) kết nối trực tiếp với hệ thống phần mềm đang được xem xét.

Đối tượng mục tiêu:Tất cả mọi người, cả những người có chuyên môn kỹ thuật lẫn không chuyên, trong và ngoài nhóm phát triển phần mềm.

Mục đích:Sơ đồ Bối cảnh Hệ thống cung cấp một cái nhìn ban đầu, cấp cao về kiến trúc của một hệ thống phần mềm. Nó đóng vai trò là điểm khởi đầu cho tài liệu kiến trúc, cung cấp góc nhìn toàn diện về hệ thống trong môi trường rộng lớn hơn. Trong sơ đồ này, hệ thống phần mềm được biểu diễn dưới dạng một hộp trung tâm, được bao quanh bởi người dùng và các hệ thống bên ngoài khác mà nó tương tác. Trọng tâm nằm ở con người và các hệ thống phần mềm, chứ không phải ở các chi tiết kỹ thuật như công nghệ hay giao thức.

Được khuyến nghị cho phần lớn các đội ngũ:Có.

Đặc điểm chính:

  • Cung cấp cái nhìn toàn cảnh về hệ thống.
  • Nhấn mạnh vào các tương tác giữa hệ thống và người dùng/hệ thống bên ngoài.
  • Lý tưởng để giao tiếp với các bên liên quan không chuyên về kỹ thuật.
  • Mức độ chi tiết được chủ ý giữ ở mức thấp.

2. Sơ đồ Container

Phạm vi:Một hệ thống phần mềm duy nhất.

Các thành phần chính:Các container bên trong hệ thống phần mềm đang được xem xét (ví dụ: ứng dụng web phía máy chủ, ứng dụng trang đơn, cơ sở dữ liệu, v.v.).

Các thành phần hỗ trợ:Con người và các hệ thống phần mềm kết nối trực tiếp với các container.

Đối tượng mục tiêu:Các cá nhân kỹ thuật bên trong và bên ngoài nhóm phát triển phần mềm, bao gồm các kiến trúc sư phần mềm, nhà phát triển và nhân viên vận hành/hỗ trợ.

Mục đích:Sơ đồ Container đi sâu vào hệ thống phần mềm, tập trung vào cấu trúc cấp cao và sự phân bổ trách nhiệm giữa các container. Các container đại diện cho các đơn vị có thể chạy hoặc triển khai độc lập, chẳng hạn như các ứng dụng web hoặc cơ sở dữ liệu. Sơ đồ này cũng làm nổi bật các lựa chọn công nghệ chính và minh họa cách các container giao tiếp với nhau. Đây là một công cụ hữu ích cho cả nhà phát triển và nhân viên hỗ trợ/vận hành.

Được khuyến nghị cho phần lớn các đội:Có.

Đặc điểm chính:

  • Tập trung vào kiến trúc của hệ thống phần mềm.
  • Trình bày các container và các tương tác giữa chúng.
  • Làm nổi bật các lựa chọn công nghệ.
  • Phù hợp với các bên liên quan kỹ thuật.
  • Không đề cập đến các chi tiết cụ thể về triển khai như cụm hóa hoặc cân bằng tải.

3. Sơ đồ Thành phần

Phạm vi:Một container duy nhất.

Các yếu tố chính:Các thành phần bên trong container đang được xem xét.

Các yếu tố hỗ trợ:Các container (trong hệ thống phần mềm đang được xem xét) và con người cũng như các hệ thống phần mềm kết nối trực tiếp với các thành phần.

Đối tượng mục tiêu:Các kiến trúc sư phần mềm và nhà phát triển.

Mục đích:Sơ đồ Thành phần cung cấp cái nhìn chi tiết về cấu trúc bên trong của một container. Nó chia nhỏ container thành các khối xây dựng cấu trúc chính, được gọi là thành phần. Các thành phần này chịu trách nhiệm cho các nhiệm vụ cụ thể bên trong container và liên quan đến chi tiết công nghệ và triển khai. Sơ đồ này đặc biệt hữu ích cho các kiến trúc sư phần mềm và nhà phát triển cần hiểu các khía cạnh chi tiết hơn về kiến trúc của container.

Được khuyến nghị cho phần lớn các đội:Không, chỉ tạo sơ đồ thành phần nếu chúng mang lại giá trị, và cân nhắc tự động hóa việc tạo ra chúng cho tài liệu dài hạn.

Đặc điểm chính:

  • Tập trung vào cấu trúc bên trong của một container.
  • Xác định các thành phần, trách nhiệm của chúng và chi tiết triển khai.
  • Nhắm đến các bên liên quan kỹ thuật.
  • Không phải lúc nào cũng cần thiết và nên sử dụng một cách thận trọng khi nó mang lại giá trị cho tài liệu.

4. Sơ đồ mã nguồn

Phạm vi:Một thành phần duy nhất.

Các thành phần chính:Mã nguồn chi tiết và các tài sản kỹ thuật bên trong một thành phần cụ thể.

Các thành phần hỗ trợ:Các thành phần (trong container đang được xem xét), các container (trong hệ thống phần mềm đang được xem xét), và con người cũng như các hệ thống phần mềm kết nối trực tiếp với các thành phần.

Đối tượng mục tiêu:Những cá nhân có kỹ thuật cao, thường là các nhà phát triển và những người tham gia sâu vào mã nguồn.

Mục đích:Mức độ cuối cùng trong mô hình C4, sơ đồ mã nguồn, phóng to thêm để cung cấp cái nhìn sâu sắc về mã nguồn của một thành phần cụ thể. Sơ đồ này đi sâu vào mã nguồn thực tế, cấu trúc lớp và các chi tiết triển khai kỹ thuật bên trong thành phần. Nó đặc biệt hữu ích cho các nhà phát triển cần làm việc hoặc hiểu rõ cấu trúc bên trong của một thành phần cụ thể.

Khuyến nghị cho phần lớn các đội:Hiếm khi được sử dụng trong thực tế. Thông thường, việc tạo sơ đồ mã nguồn là không phổ biến, vì mức độ chi tiết mà chúng cung cấp thường đã được bao gồm trong tài liệu mã nguồn và môi trường phát triển.

Đặc điểm chính:

  • Tập trung vào mã nguồn thực tế và các tài sản kỹ thuật.
  • Cung cấp cái nhìn cực kỳ chi tiết về triển khai của một thành phần.
  • Chủ yếu dành cho các nhà phát triển đang làm việc trên mã nguồn.
  • Hiếm khi được sử dụng trong thực tế do mức độ chi tiết cao, vì thông tin này thường đã có sẵn trong chính mã nguồn.

Kết luận

Bốn mức độ của mô hình C4 cung cấp một cấu trúc phân cấp để ghi chép và truyền đạt kiến trúc phần mềm, bắt đầu từ cái nhìn tổng quan cấp cao trong sơ đồ bối cảnh hệ thống và dần dần đi sâu vào mã nguồn thực tế trong sơ đồ mã nguồn. Các sơ đồ này phục vụ nhiều đối tượng khác nhau, từ các bên liên quan không chuyên về kỹ thuật, những người hưởng lợi từ cái nhìn tổng thể, đến các nhà phát triển kỹ thuật cao cần hiểu sâu về cấp độ mã nguồn. Bằng cách sử dụng mô hình C4, các kiến trúc sư phần mềm và các đội phát triển có thể truyền đạt hiệu quả các thiết kế kiến trúc phức tạp và thúc đẩy sự hiểu biết và hợp tác tốt hơn trong và ngoài tổ chức của họ.