Skip to main content

Command Palette

Search for a command to run...

System Landscape Diagram

Khi một hệ thống không đủ — nhìn toàn cảnh bức tranh IT của tổ chức

Updated
6 min readView as Markdown
System Landscape Diagram
T
Not PERFECT but ONLY

C4 Model về cơ bản cung cấp góc nhìn tĩnh vào một hệ thống phần mềm duy nhất. Nhưng thực tế, không có hệ thống nào tồn tại biệt lập. Đặc biệt nếu bạn đang chịu trách nhiệm cho cả một tập hợp các hệ thống, bạn cần một cái nhìn rộng hơn — và đó chính là lý do System Landscape Diagram ra đời.

System Landscape Diagram là gì?

Về mặt thực tế, đây là một System Context Diagram nhưng không tập trung vào một hệ thống cụ thể nào. Thay vào đó, nó hiển thị tất cả các con người và phần mềm có liên quan trong một phạm vi nhất định — cho thấy toàn bộ bức tranh IT thay vì chỉ zoom vào một điểm.

Nó nằm "phía trên" các C4 static structure diagrams, đóng vai trò như một bản đồ tổng quan của toàn bộ hệ thống trong tổ chức.

Diagram này trả lời những câu hỏi gì?

  • Các hệ thống phần mềm trong nhóm, phòng ban, hay tổ chức kết nối với nhau như thế nào?

  • Nếu một hệ thống thay đổi hoặc bị loại bỏ, tác động lan tới đâu?

  • Nếu tổ chức tái cơ cấu, sáp nhập, hay tách ra — điều gì sẽ xảy ra với bức tranh IT?

Phạm vi — bạn tự chọn

Không như System Context Diagram có phạm vi cố định là một hệ thống, System Landscape Diagram linh hoạt hơn nhiều. Bạn có thể chọn vẽ tất cả những gì nằm trong:

  • Toàn bộ tổ chức (phù hợp với tổ chức nhỏ)

  • Một nhóm hoặc phòng ban cụ thể

  • Một product domain

  • Một business capability

  • Một DDD bounded context

Thành phần

Giống với System Context Diagram, System Landscape Diagram bao gồm hai loại phần tử: PeopleSoftware Systems, cùng với các mối quan hệ giữa chúng.

Điểm khác biệt duy nhất là: không có "hệ thống trung tâm" được làm nổi bật. Tất cả đều bình đẳng trên bản đồ.

Ví dụ thực tế: Fictional Bank

Hãy tiếp tục với ví dụ Internet Banking System từ Chapter 3.

Bước 1 — Bắt đầu từ những gì đã có

Điểm khởi đầu chính là nội dung của System Context Diagram cho Internet Banking System: Personal Banking Customer, Internet Banking System, Core Banking System, và Amazon SES.

Bước 2 — Mở rộng ra bức tranh toàn cảnh

Từ đây, ta bắt đầu thêm vào những phần còn lại của hệ sinh thái ngân hàng:

  • ATM — hệ thống phần mềm vận hành máy ATM, cũng kết nối với Core Banking System

  • Customer Service Staff — nhân viên hỗ trợ khách hàng nội bộ, sử dụng Core Banking System để tra cứu thông tin

  • Back Office Staff — nhân viên vận hành nội bộ, cũng tương tác với Core Banking System

  • Mối quan hệ giữa Personal Banking CustomerCustomer Service Staff cũng được thêm vào — để giải thích tại sao nhân viên hỗ trợ lại cần dùng Core Banking System.

Bước 3 — Thêm ranh giới tổ chức

Phiên bản nâng cao hơn có thể thêm các ô với đường viền nét đứt để biểu diễn ranh giới tổ chức — ví dụ phân tách rõ ràng những gì thuộc về Big Bank và những gì thuộc về Amazon Web Services. Điều này giúp người xem ngay lập tức hiểu được đâu là hệ thống nội bộ, đâu là dịch vụ bên ngoài.

Tại sao diagram này hữu ích?

Nhiều tổ chức — dù lớn hay nhỏ — không có một cái nhìn tổng thể từ trên xuống về toàn bộ IT landscape của mình. Đây là thực trạng đáng ngạc nhiên, đặc biệt khi công nghệ thường là xương sống của cách họ vận hành nghiệp vụ và phục vụ khách hàng.

System Landscape Diagram ít nhất cung cấp một cách để thoát khỏi tư duy silo — không còn nhìn từng hệ thống một cách biệt lập, mà thấy được toàn bộ mạng lưới kết nối.

Với các tổ chức lớn, diagram này thậm chí có thể được làm interactive: double-click vào một software system để điều hướng thẳng đến C4 diagrams chi tiết của hệ thống đó — biến nó thành một bản đồ sống động của toàn bộ IT landscape.

Đối tượng sử dụng

Cũng giống System Context Diagram, System Landscape Diagram dành cho tất cả mọi người: kỹ sư và phi kỹ thuật, trong và ngoài team phát triển. Nó đặc biệt hữu ích cho các kiến trúc sư, tech lead, hay bất kỳ ai cần nắm bức tranh tổng thể của hệ sinh thái IT.

Có nên dùng không?

Simon Brown khuyến nghị: Có — đặc biệt với các tổ chức lớn. System Landscape Diagram là cây cầu nối giữa software architecture và enterprise architecture.

Với tổ chức nhỏ, một System Context Diagram tốt có thể đã đủ. Nhưng khi tổ chức phát triển và số lượng hệ thống tăng lên, đây là diagram bạn sẽ muốn có.

Tóm lại

System Context Diagram System Landscape Diagram
Phạm vi Một hệ thống duy nhất Nhiều hệ thống
Trọng tâm Hệ thống được highlight ở giữa Không có trọng tâm cố định
Mục đích Ngữ cảnh của một hệ thống Bản đồ toàn bộ IT landscape
Phù hợp với Mọi team Tổ chức lớn, nhiều hệ thống

Kết luận

System Landscape Diagram không phải là một diagram phức tạp — về mặt kỹ thuật, nó chỉ là một System Context Diagram được mở rộng phạm vi. Nhưng chính sự đơn giản đó lại là điểm mạnh của nó.

Trong thực tế, rất nhiều tổ chức đang vận hành hàng chục, thậm chí hàng trăm hệ thống phần mềm mà không ai có một bức tranh tổng thể. Mỗi team chỉ biết hệ thống của mình, không ai thấy được toàn cảnh. Kết quả là khi một hệ thống thay đổi, không ai lường trước được tác động lan rộng đến đâu. Khi tổ chức tái cơ cấu, không ai biết cần điều chỉnh những gì.

System Landscape Diagram giải quyết đúng vấn đề đó — bằng cách tạo ra một bản đồ chung mà mọi người trong tổ chức đều có thể nhìn vào và hiểu được.

Đây cũng là cây cầu nối C4 Model với tư duy enterprise architecture — không phải theo nghĩa hàn lâm hay nặng về quy trình, mà theo nghĩa thực dụng nhất: biết mình đang có gì, và chúng kết nối với nhau như thế nào.

Software Design

Part 2 of 5

Software Design Series là chuỗi nội dung khám phá cách thiết kế và tổ chức hệ thống phần mềm hiện đại, từ kiến trúc tổng thể, mô hình hóa hệ thống, design patterns đến các nguyên tắc giúp xây dựng sản phẩm dễ mở rộng, dễ bảo trì và hiệu quả.

Up next

System Context Diagram

Góc nhìn tổng quan đầu tiên — nơi phần mềm của bạn gặp thế giới bên ngoài

More from this blog

A

AISDLC Mastery | AI Development Life Cycle Mastery

8 posts

Blog công nghệ chuyên khám phá quy trình phát triển phần mềm tích hợp AI (AISDLC) dưới góc nhìn thực tiễn và hiện đại. Nội dung tập trung phân tích các phương pháp, tư duy hệ thống, kỹ nghệ yêu cầu, kiến trúc giải pháp và vòng đời phát triển sản phẩm AI.