Компонент [1] в унифицированном языке моделирования представляет собой модульную часть системы , которая инкапсулирует состояние и поведение ряда классификаторов . Его поведение определяется в терминах предоставленных и требуемых интерфейсов , [2] является самодостаточным и заменяемым . Существует ряд стандартных стереотипов UML , которые применяются к компонентам. [1]
Компонент имеет внешнее и внутреннее представление, также известное как « черный ящик » и «белый ящик» соответственно. В его внешнем представлении есть публичные свойства и операции. Для его внутреннего представления есть частные свойства и реализующие классификаторы, и показывает, как внешнее поведение реализуется внутри. [1]
Компонент может быть заменен во время проектирования или выполнения другим, если и только если их предоставленные и требуемые интерфейсы идентичны. Эта идея является основой для возможности plug-and-play компонентных систем и способствует повторному использованию программного обеспечения . [2] Более крупные части функциональности системы могут быть собраны путем повторного использования компонентов как частей в охватывающем компоненте или сборке компонентов и соединения вместе их требуемых и предоставляемых интерфейсов. [2]
Компонент действует как пакет для всех элементов модели, которые вовлечены или связаны с его определением, которое должно либо принадлежать, либо импортироваться явно. Обычно классификаторы, связанные с компонентом, принадлежат ему. [1]
Компоненты системы моделируются с помощью диаграмм компонентов на протяжении всего жизненного цикла разработки и последовательно совершенствуются в процессе развертывания и выполнения. [1]
На диаграммах компоненты отображаются в виде прямоугольника с ключевым словом «component». При желании в правом углу может отображаться значок компонента. Это прямоугольник с двумя меньшими прямоугольниками, выступающими с левой стороны. Если отображается символ значка, ключевое слово «component» может быть скрыто, так как отображается сбоку. [1]