Sơ đồ thành phần là gì?

UMLCác sơ đồ thành phần được sử dụng để mô hình hóa các khía cạnh vật lý của một hệ thống hướng đối tượng. Chúng được dùng để trực quan hóa, xác định và tài liệu hóa các hệ thống dựa trên thành phần, cũng như xây dựng các hệ thống thực thi thông qua kỹ thuật phát triển tiến và ngược. Một sơ đồ thành phần về cơ bản là một sơ đồ lớp chuyên biệt, tập trung vào các thành phần của hệ thống và được dùng để mô hình hóa quan điểm triển khai tĩnh của hệ thống.

Component Diagram Hierarchy

Tổng quan về sơ đồ thành phần

Sơ đồ thành phần chia nhỏ hệ thống thực tế đang được phát triển thành các chức năng cấp cao khác nhau. Mỗi thành phần chịu trách nhiệm cho một mục tiêu rõ ràng trong hệ thống và chỉ tương tác với các yếu tố cốt lõi khác khi cần thiết.
Component Diagram Overview
Ví dụ trên cho thấy các thành phần bên trong của một thành phần lớn hơn:
  • Dữ liệu (ID tài khoản và ID séc) chảy vào thành phần thông qua các cổng ở bên phải và được chuyển đổi thành định dạng có thể sử dụng bởi các thành phần bên trong. Giao diện ở bên phải được gọi làgiao diện cung cấp, đại diện cho các dịch vụ mà thành phần cần để thực hiện trách nhiệm của mình.
  • Dữ liệu sau đó được truyền qua các kết nối khác nhau đến và qua các thành phần khác, và xuất ra thông qua các cổng ở bên trái. Các giao diện ở bên trái được gọi làgiao diện yêu cầu, đại diện cho các dịch vụ mà thành phần cung cấp.
  • Rất quan trọng cần lưu ý rằng các thành phần bên trong được bao bọc trong một hộp lớn — đây có thể là toàn bộ hệ thống (trong trường hợp đó, không có ký hiệu thành phần nào xuất hiện ở góc trên bên phải) hoặc một hệ thống con/thành phần của hệ thống (trong trường hợp đó, hộp này đại diện cho chính thành phần đó).

Các khái niệm cơ bản về sơ đồ thành phần

Một thành phần đại diện cho một phần modular của hệ thống, bao bọc nội dung của nó và hành vi của nó có thể được thay thế trong môi trường của nó. Trong UML 2, một thành phần được vẽ dưới dạng một hình chữ nhật với một ngăn tùy chọn được xếp chồng dọc. Cách mô hình hóa quan điểm trừu tượng cấp cao của một thành phần trong UML 2 có thể được biểu diễn như sau:
  1. Một hình chữ nhật với tên thành phần
  2. Một hình chữ nhật với biểu tượng thành phần
  3. Một hình chữ nhật với văn bản kiểu đặc tả và/hoặc biểu tượng
Appearance of a Component

Giao diện

Hai loại giao diện thành phần được hiển thị trong ví dụ dưới đây:
Ký hiệugiao diện cung cấpký hiệu với một hình tròn đầy ở cuối cho thấy giao diện mà thành phần cung cấp — ký hiệu “bóng đèn” là cách viết tắt để biểu diễn mối quan hệ triển khai của một bộ phân loại giao diện.
Ký hiệugiao diện yêu cầuký hiệu với một nửa hình tròn (cũng được gọi là ổ cắm) ở cuối cho thấy giao diện mà thành phần yêu cầu (trong cả hai trường hợp, tên giao diện được đặt gần chính ký hiệu đó).
Required and Provided Interfaces

Ví dụ sơ đồ thành phần – Sử dụng giao diện (Hệ thống đặt hàng)

Component Diagram Example with Interfaces

Hệ thống con

Một bộ phân loại hệ thống con là phiên bản chuyên biệt của bộ phân loại thành phần. Do đó, phần tử ký hiệu hệ thống con kế thừa tất cả các quy tắc giống như ký hiệu thành phần. Sự khác biệt duy nhất là phần tử ký hiệu hệ thống con sử dụng từ khóa “hệ thống con” thay vì “thành phần”.
Component Diagram with Subsystem

Cổng

Các cổng được biểu diễn bằng các hình vuông dọc theo cạnh của một thành phần hoặc hệ thống. Chúng thường được sử dụng để hiển thị các giao diện yêu cầu và cung cấp của một thành phần.
Component Diagram with Port

Mối quan hệ

Về mặt đồ họa, một sơ đồ thành phần là một tập hợp các đỉnh và cung, thường bao gồm các thành phần, giao diện và các mối quan hệ như phụ thuộc, tổng hợp, ràng buộc, tổng quát hóa, liên kết và hiện thực hóa. Nó cũng có thể bao gồm các ghi chú và ràng buộc.
Mối quan hệ Ký hiệu
Liên kết:

  • Một liên kết xác định một mối quan hệ ngữ nghĩa có thể xảy ra giữa các thể hiện có kiểu.
  • Nó có ít nhất hai đầu, mỗi đầu được biểu diễn bằng một thuộc tính, và mỗi đầu được kết nối với kiểu của đầu kia. Nhiều đầu có thể có cùng một kiểu.

Component Diagram: Association




Thành phần:

  • Thành phần là một dạng mạnh của tổng hợp, yêu cầu rằng một thể hiện chỉ được chứa trong tối đa một thành phần.
  • Nếu thành phần bị xóa, các bộ phận của nó thường cũng bị xóa theo.

Component Diagram: Composition




Tổng hợp:

  • Một dạng liên kết trong đó một đầu được đánh dấu là tổng hợp chung, có nghĩa là nó có tổng hợp chung.

Component Diagram: Aggregation




Ràng buộc:

  • Một điều kiện hoặc giới hạn được biểu diễn bằng văn bản ngôn ngữ tự nhiên hoặc ngôn ngữ có thể đọc được bởi máy để tuyên bố một số ngữ nghĩa của một phần tử.

Component Diagram: Constraint




Phụ thuộc:

  • Một mối quan hệ cho thấy rằng một hoặc nhiều phần tử mô hình cần một phần tử mô hình khác để xác định hoặc triển khai.
  • Điều này có nghĩa là ngữ nghĩa đầy đủ của phần tử phụ thuộc phụ thuộc về mặt ngữ nghĩa hoặc cấu trúc vào định nghĩa của phần tử cung cấp.

Component Diagram: Dependency




Tổng quát hóa:

  • Mối quan hệ phân loại giữa một bộ phân loại tổng quát hơn và một bộ phân loại cụ thể hơn.
  • Mỗi thể hiện của bộ phân loại cụ thể cũng là một thể hiện gián tiếp của bộ phân loại tổng quát.
  • Do đó, bộ phân loại cụ thể kế thừa các đặc điểm từ bộ phân loại tổng quát hơn.

Component Diagram: Generalization




Mô hình hóa mã nguồn

  • Xác định tập hợp các tệp mã nguồn quan tâm thông qua kỹ thuật tái tạo tiến hoặc tái tạo ngược, và mô hình hóa chúng như các thành phần được xây dựng từ tệp.
  • Đối với các hệ thống lớn, hãy sử dụng các gói để hiển thị các nhóm tệp mã nguồn.
  • Cân nhắc thêm một giá trị có thẻ để biểu diễn thông tin như số phiên bản, tác giả và ngày chỉnh sửa cuối cùng của tệp mã nguồn. Sử dụng công cụ để quản lý các giá trị của các giá trị có thẻ này.
  • Sử dụng các mối phụ thuộc để mô hình hóa các mối phụ thuộc biên dịch giữa các tệp này. Tương tự, sử dụng công cụ để hỗ trợ tạo và quản lý các mối phụ thuộc này.
Ví dụ thành phần – Mã nguồn Java
Component Diagram Example: Java Source Code
Ví dụ sơ đồ thành phần – Mã nguồn C++ với quản lý phiên bản
Component Diagram Example: C++ Code with Versioning

Mô hình hóa các bản phát hành thực thi

  • Xác định tập hợp các thành phần bạn muốn mô hình hóa. Điều này thường bao gồm một số hoặc tất cả các thành phần trên một nút, hoặc sự phân bố các thành phần này trên tất cả các nút trong hệ thống.
  • Cân nhắc về kiểu dáng (stereotype) cho mỗi thành phần trong tập hợp này. Đối với hầu hết các hệ thống, bạn sẽ tìm thấy một số lượng nhỏ các loại thành phần khác nhau (ví dụ: chương trình thực thi, thư viện, bảng, tệp và tài liệu). Bạn có thể sử dụng cơ chế mở rộng của UML để cung cấp các gợi ý hình ảnh (dấu hiệu) cho các kiểu dáng này.
  • Đối với mỗi thành phần trong tập hợp này, hãy cân nhắc mối quan hệ của nó với các thành phần lân cận. Thường thì điều này liên quan đến các giao diện được xuất bởi một số thành phần (được triển khai) và sau đó được nhập vào bởi các thành phần khác (được sử dụng). Nếu bạn muốn làm nổi bật các điểm nối trong hệ thống, hãy mô hình hóa rõ ràng các giao diện này. Nếu bạn muốn có một mức trừu tượng cao hơn, hãy loại bỏ các mối quan hệ này bằng cách chỉ hiển thị các mối phụ thuộc giữa các thành phần.
Component Diagram for Modeling Executable Release

Mô hình hóa cơ sở dữ liệu vật lý

  • Xác định các lớp trong mô hình đại diện cho các lược đồ cơ sở dữ liệu logic.
  • Chọn chiến lược ánh xạ các lớp này sang các bảng. Bạn cũng cần xem xét sự phân bố vật lý của cơ sở dữ liệu. Chiến lược ánh xạ của bạn sẽ bị ảnh hưởng bởi nơi bạn muốn dữ liệu được lưu trữ lâu dài trong hệ thống đã triển khai.
  • Để trực quan hóa, xác định, xây dựng và tài liệu hóa quá trình ánh xạ, hãy tạo một sơ đồ thành phần bao gồm các thành phần được xây dựng dưới dạng bảng.
  • Nếu có thể, hãy sử dụng công cụ để hỗ trợ bạn chuyển đổi thiết kế logic thành thiết kế vật lý.
Component Diagram for Modeling Physical Database


Hãy thử vẽ một sơ đồ thành phần UML ngay bây giờ

Bây giờ bạn đã học được sơ đồ thành phần là gì và cách vẽ nó. Đến lúc tạo riêng cho mình rồi. Nhận Phiên bản Cộng đồng Visual Paradigm, một công cụ UML miễn phí, và sử dụng công cụ miễn phí Sơ đồ thành phần để xây dựng riêng của bạn. Nó dễ sử dụng và trực quan.
  1. Unified Modeling Language là gì?
  2. Các công cụ UML chuyên nghiệp
  3. Visual Paradigm. (n.d.). Cách vẽ sơ đồ thành phần? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
  4. Visual Paradigm. (2018, ngày 11 tháng 5). Sơ đồ thành phần là gì? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ 43.
  5. Visual Paradigm. (n.d.). Cách vẽ sơ đồ thành phần trong UML? Visual Paradigm. https://www.visual-paradigm.com/tutorials/how-to-draw-component-diagram-in-uml/ 44.
  6. Visual Paradigm. (n.d.). Sơ đồ thành phần – Sơ đồ UML 2 – Công cụ mô hình hóa UML. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
  7. Visual Paradigm. (n.d.). Sơ đồ thành phần trong Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
  8. Visual Paradigm Community Circle. (2018, ngày 11 tháng 5). 7. Sơ đồ thành phần. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
  9. Visual Paradigm Online. (n.d.). Công cụ sơ đồ thành phần miễn phí. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
  10. Visual Paradigm Online. (n.d.). Hướng dẫn sử dụng sơ đồ thành phần. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
  11. Visual Paradigm. (2022, ngày 2 tháng 9). Hướng dẫn sử dụng sơ đồ lớp UML. Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/ 50.
  12. Visual Paradigm Online. (n.d.). Công cụ sơ đồ UML trực tuyến. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.

Leave a Reply