Giả sử bạn muốn sử dụng sơ đồ triển khai UML 2 để trực quan hóa một ứng dụng máy chủ PHP phổ biến cho người không có nhiều kiến thức trong lĩnh vực này. Một ứng dụng chung như vậy có thể có ba nút thiết bị (máy chủ cơ sở dữ liệu, máy chủ Web và máy khách) và bốn nút môi trường thực thi (hệ thống quản lý cơ sở dữ liệu quan hệ, máy chủ Web, trình thông dịch PHP và trình duyệt Web). Bên trong "trình thông dịch PHP" có thể có thành phần công khai "Ứng dụng" và bên trong môi trường thực thi "Trình duyệt web" có thể có ba tạo phẩm (HTML, CSS và JavaScript).
Vì PHP hỗ trợ nhiều giao thức và RDBMS khác nhau, nên bộ mô tả chung cho giao tiếp giữa nút "Trình thông dịch PHP" và nút "Hệ thống quản lý cơ sở dữ liệu quan hệ" không thể được gắn thẻ bằng một giao thức cụ thể, vì vậy chúng ta thường có thể nói Đó là TCP/IP giữa giao thức cơ bản. các nút thiết bị "Máy chủ cơ sở dữ liệu" và "Máy chủ web"; nhưng điều đó không phải lúc nào cũng đúng đối với các sự kiện (ví dụ: ổ cắm). Giữa các nút môi trường thực thi "Máy chủ Web" và "Trình duyệt web" là HTTP. Thật là một điều tốt! Về giao tiếp giữa RDBMS và các thành phần ứng dụng, đó là SQL, nhưng nó không phải là một giao thức và giao diện kết quả phụ thuộc vào trình điều khiển cơ bản. Ba nút thiết bị trên các phiên bản riêng biệt cũng không được cung cấp. Còn các cổng và giao diện của thành phần "ứng dụng" liên kết với trình duyệt web thì sao? Chúng ta có thể nói cụ thể hơn ở đây được không?
Vì vậy, câu hỏi của tôi là, dựa trên nhận xét của tôi ở đoạn trước, một sơ đồ chính xác và nhìn chung cân đối sẽ trông như thế nào?
Những gì bạn có thể làm là tạo một số sơ đồ tổng quan để làm sáng tỏ sự pha trộn trên:
Bạn có thể thấy rằng bản thân máy đã có kết nối IP, tất nhiên có thể mang nhiều giao thức. Bạn không phải hiển thị nội dung sẽ được truyền qua kết nối IP này. Nếu cần, bạn có thể tạo một sơ đồ khác liệt kê tất cả các giao thức được hỗ trợ dưới dạng giao diện được triển khai tại đây. Điều này có thể gây nhầm lẫn/khó khăn và có một số điều hiển nhiên có thể dễ dàng bị loại bỏ.
Ngoài ra, bạn có thể thấy rằng bạn có RDBMS và máy chủ web đang chạy trong các nhà tù khác nhau. Ở đây bạn có thể thấy họ cung cấp cổng cho các đối tượng mà họ sử dụng để nói chuyện. Ở đây cũng không hiển thị họ đã nói chuyện với ai và như thế nào. Điều này một lần nữa có thể được nhập vào biểu đồ khác như dưới đây:
Tóm lại: bạn sẽ không tạo một sơ đồ để hiển thị mọi thứ bên trong mà sẽ tạo các sơ đồ khác nhau cho các khía cạnh khác nhau - bạn có thể lấy được điều này từ một số sơ đồ tổng quan.
Tôi là một lập trình viên xuất sắc, rất giỏi!