В Visual Studio Ultimate на схеме компонентов показаны части конструкции программной системы. Схема компонентов помогает визуализировать высокоуровневую структуру системы и поведение служб, предоставляемых и потребляемых этими элементами через интерфейсы.
Схему компонентов можно использовать, чтобы описать конструкцию системы, реализуемую на любом языке и в любом стиле. Нужно только определить части конструкции, взаимодействующие с другими частями через ограниченный набор входных и выходных каналов. Можно использовать компоненты любого масштаба, взаимосвязанные любым способом.
Чтение схем компонентов
В следующей таблице описаны элементы, которые можно использовать на схеме компонентов, и их основные свойства.
Фигура | Элемент | Описание и основные свойства |
Компонент | Допускающий повторное использование функциональный элемент системы. Компонент предоставляет и потребляет поведение через интерфейсы и может использовать другие компоненты. Можно скрывать или отображать внутренние части компонента с помощью элемента управления "развернуть/свернуть" (9). Компонент — это вид класса. · Является неявно создаваемым экземпляром. Если значение true (по умолчанию), компонент существует только как артефакт конструкции. Во время выполнения существует только ее часть. | |
Предоставленный порт интерфейса | Представляет группу сообщений или вызовов, реализуемых компонентом и доступных для использования другими компонентами или внешними системами. Порт — это свойство компонента, имеющее в качестве типа интерфейс. | |
Требуемый порт интерфейса | Представляет группу сообщений или вызовов, отправляемых компонентом другим компонентам или внешним системам. Компонент предназначен для соединения с компонентами, которые предоставляют хотя бы эти операции. Порт имеет в качестве типа интерфейс. | |
Зависимость | Может использоваться для указания, что требуемый интерфейс одного компонента может соответствовать предоставленному интерфейсу другого компонента. Зависимости также можно использовать в более общем случае при работе с элементами модели, чтобы показать, что конструкция одного зависит от конструкции другого. | |
Часть | Атрибут компонента, тип которого, как правило, является другим компонентом. Часть используется при внутреннем проектировании ее родительского компонента. Графически части изображаются вложенными в родительский компонент. Чтобы создать часть существующего типа компонента, перетащите компонент из Проводника по моделям UML в компонент-владелец. Чтобы создать часть нового типа, выберите инструмент Компонент и щелкните компонент-владелец. Например, компонент Car имеет части engine:CarEngine, backLeft:Wheel, frontRight:Wheel и т. д. Несколько частей могут иметь один и тот же тип, и разные компоненты могут иметь части одного типа. · Тип. Тип части, определяемый в другом месте модели. Как правило, типом является другой компонент. · Количество элементов. По умолчанию используется значение 1. Можно задать значение 0..1, чтобы указать, что часть может иметь значение null, или задать значение *, чтобы указать, что часть является коллекцией экземпляров данного типа. Также в качестве значения можно задать любое выражение, которое можно оценить в числовом диапазоне. | |
Сборка части | Соединение между требуемыми портами интерфейса одной части и предоставленными портами интерфейса другой.Реализация сборки части для разных компонентов может различаться. Соединенные части должны иметь один родительский компонент. | |
Делегирование | Связывает порт с интерфейсом одной из частей компонента. Указывает, что сообщения, отправленные компоненту, обрабатываются этой частью, или что сообщения, отправленные этой частью, отсылаются из родительского компонента. | |
Обобщение | Указывает, что один компонент наследуется от другого. Части и интерфейсы наследуются. | |
Элемент управления "развернуть/свернуть" | Позволяет скрывать или отображать внутренние части компонента. | |
(не показана) | Комментарий | Для дополнительных примечаний. Комментарий можно связать с неограниченным числом элементов на схеме, воспользовавшись инструментом Соединительная линия. |