Редактирование диаграмм

При работе с диаграммой Umbrello UML Modeller применяет нескольких простых правил, например, какие элементы могут размещаться на диаграммах определённого типа или какие взаимоотношения могут быть между ними. Если пользователь является экспертом в UML, то он, скорее всего, даже не обратит на это внимание, но такие подсказки пригодятся новичкам при создании стандартных диаграмм.

После создания диаграмм их следует отредактировать. Обратите внимание на разницу между редактированием диаграммы и редактированием модели. Как было уже сказано, диаграммы являются представлениями модели. Например, если пользователь создаёт класс путём редактирования диаграммы класса, то он одновременно редактирует и диаграмму, и модель. Если же пользователь изменяет цвет или другие параметры отображения класса на диаграмме класса, то он редактирует только диаграмму — в модели ничего не меняется.

Вставка элементов

Первое, что пользователь делает при редактировании новой диаграммы — вставляет в неё элементы (классы, действующие лица, варианты использования и так далее). Существует два основных способа вставки:

  • Перемещение существующих элементов в модель из иерархического представления модели

  • Создание новых элементов в модели и одновременное добавление их в диаграмму с помощью кнопок панели инструментов

Для вставки элементов, уже существующих в модели, просто перетащите их из иерархического представления модели на их место на диаграмме. Элементы возможно перемещать по диаграмме, выделяя их кнопкой выбора на панели инструментов.

Второй метод добавления элементов в диаграмму — использование кнопок панели инструментов (обратите внимание, что это приведёт к добавлению элементов в модель).

Панель инструментов по умолчанию находится в верхней части окна. Набор инструментов, представленных на этой панели в виде кнопок, зависит от типа текущей диаграммы. На панели активирована кнопка текущего инструмента. Чтобы переключиться на инструмент выбора, нажмите клавишу Esc.

При выборе инструмента на панели (например, инструмента вставки классов) указатель мыши меняет свой вид на перекрестье, и становится возможно вставлять элементы данного типа в модель одиночными щелчками по диаграмме. Обратите внимание, что элементы в UML должны иметь уникальные имена. Таким образом, если на одной диаграмме модели есть класс с именем «ClassA», и будет выполнена попытка создать на другой диаграмме новый класс с таким же именем, Umbrello UML Modeller не позволит этого сделать; потребуется назначить классу другое уникальное имя. Инструмент вставки классов не подходит для добавления того же элемента на диаграмму, вместо этого следует перетащить класс на диаграмму из иерархического представления модели.

Удаление элементов

Возможно удалить любой элемент диаграммы, выбрав в его контекстном меню пункт Удалить.

Следует ещё раз подчеркнуть, что существует большая разница между удалением объекта из диаграммы и удалением объекта из модели. Если вы удаляете объект из диаграммы, то он удаляется только из определённой диаграммы: элемент продолжает оставаться частью вашей модели, и это действие никак не влияет на остальные диаграммы. С другой стороны, если вы удаляете элемент из дерева модели, то происходит удаление элемента из модели. Так как данный элемент больше не присутствует в модели, он автоматически удаляется из всех диаграмм, где он присутствовал.

Редактирование элементов

Большинство UML-элементов в модели и диаграммах возможно изменить, открыв с помощью контекстного меню нужного элемента диалог «Свойства» и выбрав в нём необходимые параметры. Каждый элемент имеет диалог, содержащий несколько страниц с соответствующими параметрами элемента. Для некоторых элементов, например, для действующих лиц, доступно изменение только имени элемента и документации, в то время как для других элементов, таких как классы, доступно изменение их свойств и методов, выбор того, что следует отображать на диаграмме (всю сигнатуру методов или только их имена, и так далее), и даже цветов, которые следует использовать для линии и заливки представления класса на диаграмме.

Диалог свойств UML-элемента также возможно открыть двойным щелчком по элементу, если используется инструмент выбора (стрелка).

Обратите внимание, что доступ к свойствам элемента также возможно получить с помощью его контекстного меню в иерархическом представлении модели. Это позволяет также изменять свойства диаграмм, например управлять видимостью сетки.

Редактирование классов

Хотя редактирование свойств всех объектов уже рассматривалось в предыдущем разделе, классы заслуживают отдельного упоминания, потому что они отличаются от остальных элементов своей сложностью и имеют большее количество опций, чем большинство других UML-элементов.

В диалоге редактирования свойств класса можно изменить всё, от используемого цвета до методов и свойств, которые он имеет.

Основные параметры класса

Назначение страницы основных параметров диалога свойств очевидно. На ней возможно изменять имя класса, область видимости, документацию и так далее. Эта страница всегда доступна.

Настройка атрибутов класса

На странице настройки атрибутов возможно добавлять, редактировать и удалять атрибуты (переменные) класса. Возможно перемещать атрибуты вверх и вниз по списку с помощью стрелок. Эта страница всегда доступна.

Настройка операций класса

Как и на странице настройки атрибутов, на странице настройки методов возможно добавлять, редактировать и удалять методы класса. При добавлении или редактировании метода следует ввести основные данные в диалоге Свойства операции. Если необходимо добавить параметры для метода, следует нажать кнопку Новый параметр, которая вызовет появление диалога Свойства параметра. Эта страница всегда доступна.

Настройка шаблонов класса

Данная страница позволяет добавлять шаблоны классов, которые являются неопределёнными классами или типами данных. В Java 1.5 их будут обозначать термином «Generic».

Страница ассоциаций класса

Страница Ассоциации класса отображает все ассоциации данного класса на текущей диаграмме. Двойной щелчок по ассоциации показывает её свойства, и, в зависимости от типа ассоциации, будет возможно изменить некоторые параметры, например, множественность или имя роли. Если ассоциация не позволяет изменение этих параметров, то с помощью диалога свойств ассоциации будет возможно изменять только документацию ассоциации.

Данная страница доступна только в том случае, если диалог свойств класса был вызван из диаграммы. При открытии диалога свойств класса из контекстного меню иерархического представления модели эта страница будет недоступна.

Страница отображения класса

На странице Параметры отображения возможно указать, что следует показывать на диаграмме. Класс может быть показан только в виде прямоугольника с именем класса в нём (что особенно полезно при наличии множества классов на диаграмме, или если на текущий момент не важна информация по классу) или с отображением всей информации по классу.

В зависимости от объёма информации, которая должна отображаться, возможно активировать соответствующие опции на данной странице. Изменения, вносимые здесь, влияют только на отображение диаграммы. Это означает, что настройка «скрытия» методов класса приведёт к тому, что методы данного класса не будут показаны на диаграмме, но останутся частью модели. Данная страница доступна только в том случае, если диалог свойств класса был вызван из диаграммы.

Страница стиля класса

На странице Стиль виджета возможно задать цвета для линий и заливки объекта. Очевидно, что параметры на данной странице имеют смысл только для классов, показанных на диаграммах; эта страница недоступна при открытии диалога свойств класса в режиме иерархического предоставления.

Ассоциации

Ассоциации связывают два UML-элемента друг с другом. Обычно ассоциации определяются между двумя классами, но некоторые типы ассоциаций могут также существовать между вариантами использования и действующими лицами.

Для создания ассоциации выберите соответствующий инструмент на панели инструментов (общая ассоциация, обобщение, агрегация и так далее) и щёлкните сначала по первому, а потом по второму элементу, участвующему в ассоциации. Не следует пытаться перетащить мышью первый элемент на второй, это ни к чему не приведёт.

При попытке создать ассоциацию, противоречащую спецификации UML, Umbrello UML Modeller отменит это действие и выведет сообщение об ошибке. Это произойдёт, например, если при уже существующем обобщении от класса A к классу B предпринимается попытка создать обобщение от класса B к классу A.

У ассоциации есть контекстное меню. При необходимости удалить ассоциацию просто выберите в нём пункт Удалить. С помощью контекстного меню также возможно открыть диалог свойств элемента (пункт Свойства) и, в зависимости от типа ассоциации, изменить такие атрибуты, как роли и множественность.

Точки прикрепления

По умолчанию ассоциации рисуются в виде прямой линии, соединяющей два объекта в диаграмме.

Добавление точки прикрепления выполняется с помощью двойного щелчка по линии ассоциации. Появившуюся точку прикрепления (при выборе линии ассоциации она отображается в виде голубой точки) возможно перемещать для придания нужной формы линии ассоциации.

Если необходимо убрать точку прикрепления из линии ассоциации, просто сделайте по ней двойной щелчок.

Обратите внимание, что редактирование свойств ассоциаций возможно выполнить только через их контекстное меню. Ассоциации отличаются от других UML-элементов тем, что при двойном щелчке по ним создаётся точка прикрепления, а не появляется диалог редактирования свойств элемента.

Примечания, текст и блоки

Примечания, строки текста и блоки (свободно размещаемые прямоугольники для визуальной группировки) являются элементами, которые могут быть размещены на диаграммах любого типа и не несут смысловой нагрузки для модели, но повышают читаемость диаграмм.

Для добавления примечания или строки текста выберите соответствующий инструмент на панели инструментов и один раз щёлкните там, где следует разместить элемент на диаграмме. Изменить текст элемента возможно через контекстное меню или, в случае примечания, двойным щелчком по нему.

Ссылки

Ссылки используются для прикрепления текстового примечания к другому UML-элементу. Например, если текст обычно используется для описания или комментирования класса или ассоциации, то ссылка позволяет явным образом «прикрепить» примечание к определённому элементу.

Для добавления ссылки, которая свяжет примечание с другим UML-элементом, используйте соответствующий инструмент на панели инструментов. Щёлкните по примечанию, а затем по UML-элементу, к которому следует прикрепить данное примечание.