<chapter id="working-with-umbrello">
<title
>Работа в &umbrello;</title>
<!-- Umbrello basics: creating diagrams, creating classes, adding objects to diagrams,
   associations, editing properties, anchor points in associations, removing objects, removing
   diagrams
-->

<para
>Данная глава познакомит вас с интерфейсом пользователя &umbrello; и предоставит все необходимые сведения о моделировании. Все действия в &umbrello; доступны посредством меню и панели инструментов, но также интенсивно используются и контекстные меню. Щелчок правой кнопкой мыши практически по любому элементу рабочей области &umbrello; или иерархического представления модели вызовет меню с наиболее полезными функциями, которые могут применяться к данному элементу. Некоторые пользователи это сначала может показаться немного неудобным, потому что они чаще используют меню или панели инструментов, но впоследствии данный метод значительно увеличит скорость работы. </para>

<sect1 id="user-interface">
<title
>Интерфейс пользователя</title>
<para
>Главное окно &umbrello; делится на три области, которые предоставляют полный обзор системы и быстрый доступ к различным диаграммам при работе над моделью. </para>
<para
>Это следующие области:</para>
<itemizedlist>
<listitem
><para
>Иерархия</para
></listitem>
<listitem
><para
>Рабочая область</para
></listitem>
<listitem
><para
>Окно документации и истории команд</para
></listitem>
</itemizedlist>

<screenshot>
<screeninfo
>Интерфейс пользователя &umbrello;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="umbrello-ui.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Интерфейс пользователя &umbrello;</phrase>
	  </textobject>
	  <caption>
	    <para
>Интерфейс пользователя &umbrello; </para>
	  </caption>
	</mediaobject>
</screenshot>

<sect2 id="tree-view">
<title
>Иерархия</title>
<para
>Область иерархического представления модели располагается в левом верхнем углу окна приложения и отображает все диаграммы, классы, действующие лица и варианты использования, которые составляют модель. Иерархическое представление модели предоставляет обзор разрабатываемой модели в целом, одновременно позволяя быстро переключаться между элементами модели и размещать элементы модели на текущей диаграмме. </para>
<para
>При работе над моделью с несколькими классами и диаграммами иерархическое представление модели возможно использовать, чтобы организовать элементы модели с помощью папок. Создавайте папки с помощью контекстного меню и затем перемещайте в них элементы иерархического представления модели, просто перетаскивая их мышью. </para>
</sect2>

<sect2 id="documentation-window">
<title
>Окно документации и истории команд</title>
<para
>Окно документации и истории команд расположено в левом нижнем углу &umbrello; и предоставляет краткую информацию о выделенном объекте, а также историю команд рабочего сеанса. Окно документации специально сделано небольшим, чтобы просматриваемая информация по объекту не занимала много места на экране. Если понадобится просмотреть более подробную документацию по элементу, следует перейти к свойствам элемента с помощью контекстного меню. </para>
</sect2>
<sect2 id="work-area">
<title
>Рабочая область</title>
<para
>Рабочая область &mdash; это основное окно приложения, в котором происходит вся работа с диаграммами модели. Рабочая область отображает текущую активную диаграмму. Одновременно может отображаться только одна диаграмма. </para>
</sect2>
</sect1
> <!--user-interface-->
<sect1 id="load-save">
<title
>Создание, загрузка и сохранение моделей</title>
<para
>Первое, что необходимо сделать для работы в &umbrello; &mdash; создать новую модель. При запуске &umbrello; автоматически загружает последнюю использованную модель или создаёт новую, пустую модель (данное поведение зависит от параметров настройки &umbrello;). </para>
<sect2 id="new-model">
<title
>Новая модель</title>
<para
>Для создания новой модели необходимо выбрать в меню <guimenu
>Файл</guimenu
> пункт <guimenuitem
>Создать</guimenuitem
> или нажать значок <guiicon
>Создать</guiicon
> на панели инструментов. Если работа над какой-либо моделью уже ведётся и изменения не были сохранены, &umbrello; предложит их сохранить. </para>
</sect2>
<sect2 id="save-model">
<title
>Сохранение модели</title>
<para
>Для сохранения модели необходимо выбрать в меню <guimenu
>Файл</guimenu
> пункт <guimenuitem
>Сохранить</guimenuitem
> или нажать значок <guiicon
>Сохранить</guiicon
> на панели инструментов. Если модель требуется сохранить под другим именем, выберите в меню <guimenu
>Файл</guimenu
> пункт <guimenuitem
>Сохранить как</guimenuitem
>. </para>
<para
>Для удобства &umbrello; также предоставляет опцию автоматического сохранения изменений через определённый промежуток времени. Настройка этого параметра и периода времени доступна в меню <guimenu
>Настройка</guimenu
>.</para>
</sect2>
<sect2 id="load-model">
<title
>Загрузка модели</title>
<para
>Для загрузки уже существующей модели необходимо выбрать в меню <guimenu
>Файл</guimenu
> пункт <guimenuitem
>Открыть</guimenuitem
> или нажать значок <guiicon
>Открыть</guiicon
> на панели инструментов. Чтобы перейти к моделям, которые использовались в последнее время, выберите в меню <guimenu
>Файл</guimenu
> подменю <guimenuitem
>Последние файлы</guimenuitem
>. </para>
<para
>&umbrello; поддерживает одновременную работу только с одной моделью. Таким образом, если при работе с несохранённой моделью будет выполнена попытка загрузки другой модели, приложение выведет запрос на сохранение изменений. Возможно запустить несколько экземпляров &umbrello;, чтобы копировать и вставлять элементы модели из одного экземпляра приложения в другой. </para>
</sect2>
</sect1
>  <!--load-save-->
<sect1 id="edit-model">
<title
>Редактирование моделей</title>
<para
>В &umbrello; существует два основных способа редактирования элементов модели: <itemizedlist>
<listitem
><para
>Редактирование элементов напрямую через иерархическое представление модели;</para
></listitem>
<listitem
><para
>Редактирование элементов модели через диаграмму.</para
></listitem>
</itemizedlist>
</para>
<para
>Контекстное меню различных элементов иерархического представления модели позволяет добавлять, удалять и изменять практически все элементы модели. Контекстное меню папок иерархического представления модели позволяет создавать различные типы диаграмм, а также, в зависимости от того, является ли текущая папка <emphasis
>представлением вариантов использования</emphasis
> или <emphasis
>логическим представлением</emphasis
>, создавать действующих лиц, варианты использования, классы и так далее. </para>
<para
>Добавленный в модель новый элемент также возможно редактировать с помощью диалога свойств, который доступен при выборе в контекстном меню иерархического представления модели пункта <emphasis
>Свойства</emphasis
>. </para>
<para
>Также возможно редактировать модель, добавляя и удаляя элементы на диаграммах. Это рассматривается в последующих разделах. </para>
</sect1>
<sect1 id="add-remove-diagrams">
<title
>Добавление и удаление диаграмм</title>
<para
>&UML;-модель состоит из набора &UML;-элементов и связей между ними. Тем не менее, нельзя увидеть модель напрямую, для её просмотра используются <emphasis
>диаграммы</emphasis
>. </para>
<sect2 id="create-diagram">
<title
>Создание диаграмм</title>
<para
>Для создания новой диаграммы в модели просто выберите в меню <guimenu
>Диаграмма</guimenu
> пункт <guimenuitem
>Создать</guimenuitem
>, выберите необходимый тип диаграммы и укажите его имя. Диаграмма будет создана, станет активной и отобразится в иерархическом представлении модели. </para>
<para
>Следует помнить, что в &umbrello; широко используются контекстные меню: возможно щёлкнуть правой кнопкой мыши по папке в иерархическом представлении модели и выбрать соответствующий тип диаграммы с помощью пункта <guisubmenu
>Создать</guisubmenu
> контекстного меню. Обратите внимание, что диаграммы вариантов использования возможно создавать только в папках представления вариантов использования, а другие типы диаграмм могут быть созданы только в папках логического представления. </para>
</sect2>
<sect2 id="remove-diagram">
<title
>Удаление диаграмм</title>
<para
>Для удаления диаграммы из модели следует выбрать соответствующую диаграмму и затем выбрать в меню <guimenu
>Диаграмма</guimenu
> пункт <guimenuitem
>Удалить диаграмму</guimenuitem
>. Также возможно открыть в иерархическом представлении модели контекстное меню диаграммы и выбрать пункт <guimenuitem
>Удалить</guimenuitem
>. </para>
<para
>Так как удаление диаграммы является серьёзным действием, которое может привести к потере данных, &umbrello; выведет запрос на подтверждение операции удаления перед её выполнением. После удаления диаграммы и сохранения файла проекта будет невозможно восстановить удалённую информацию. </para>
</sect2>
<sect2 id="rename-diagram">
<title
>Переименование диаграмм</title>
<para
>Если требуется изменить имя существующей диаграммы, откройте в иерархическом представлении модели контекстное меню диаграммы и выберите пункт <guimenuitem
>Переименовать</guimenuitem
>. </para>
<para
>Также возможно переименовать диаграмму с помощью диалога свойств диаграммы (чтобы его вызвать, выберите в контекстном меню диаграммы пункт <guimenuitem
>Свойства</guimenuitem
>) или двойного щелчка по диаграмме в иерархическом представлении модели. </para>
</sect2>
</sect1>
<sect1 id="edit-diagram">
<title
>Редактирование диаграмм</title>
<para
>При работе с диаграммой &umbrello; применяет нескольких простых правил, например, какие элементы могут размещаться на диаграммах определённого типа или какие взаимоотношения могут быть между ними. Если пользователь является экспертом в &UML;, то он, скорее всего, даже не обратит на это внимание, но такие подсказки пригодятся новичкам при создании стандартных диаграмм. </para>
<para
>После создания диаграмм их следует отредактировать. Обратите внимание на разницу между редактированием диаграммы и редактированием <emphasis
>модели</emphasis
>. Как было уже сказано, диаграммы являются <emphasis
>представлениями</emphasis
> модели. Например, если пользователь создаёт класс путём редактирования диаграммы класса, то он одновременно редактирует и диаграмму, и модель. Если же пользователь изменяет цвет или другие параметры отображения класса на диаграмме класса, то он редактирует только диаграмму — в модели ничего не меняется. </para>
<sect2 id="insert-elements">
<title
>Вставка элементов</title>
<para
>Первое, что пользователь делает при редактировании новой диаграммы &mdash; вставляет в неё элементы (классы, действующие лица, варианты использования и так далее). Существует два основных способа вставки:</para>
<itemizedlist>
<listitem
><para
>Перемещение существующих элементов в модель из иерархического представления модели</para
></listitem>
<listitem
><para
>Создание новых элементов в модели и одновременное добавление их в диаграмму с помощью кнопок панели инструментов</para
></listitem>
</itemizedlist>
<para
>Для вставки элементов, уже существующих в модели, просто перетащите их из иерархического представления модели на их место на диаграмме. Элементы возможно перемещать по диаграмме, выделяя их кнопкой выбора на панели инструментов. </para>
<para
>Второй метод добавления элементов в диаграмму &mdash; использование кнопок панели инструментов (обратите внимание, что это приведёт к добавлению элементов в модель). </para>
<para
>Панель инструментов по умолчанию находится в верхней части окна. Набор инструментов, представленных на этой панели в виде кнопок, зависит от типа текущей диаграммы. На панели активирована кнопка текущего инструмента. Чтобы переключиться на инструмент выбора, нажмите клавишу &Esc;. </para>
<para
>При выборе инструмента на панели (например, инструмента вставки классов) указатель мыши меняет свой вид на перекрестье, и становится возможно вставлять элементы данного типа в модель одиночными щелчками по диаграмме. Обратите внимание, что элементы в &UML; должны иметь <emphasis
>уникальные имена</emphasis
>. Таким образом, если на одной диаграмме модели есть класс с именем <quote
>ClassA</quote
>, и будет выполнена попытка создать на другой диаграмме новый класс с таким же именем, &umbrello; не позволит этого сделать; потребуется назначить классу другое уникальное имя. Инструмент вставки классов не подходит для добавления <emphasis
>того же</emphasis
> элемента на диаграмму, вместо этого следует перетащить класс на диаграмму из иерархического представления модели. </para>
</sect2>
<sect2 id="delete-elements">
<title
>Удаление элементов</title>
<para
>Возможно удалить любой элемент диаграммы, выбрав в его контекстном меню пункт  <guimenuitem
>Удалить</guimenuitem
>. </para>
<para
>Следует ещё раз подчеркнуть, что существует <emphasis
>большая</emphasis
> разница между удалением объекта из диаграммы и удалением объекта из модели. Если вы удаляете объект из диаграммы, то он удаляется только из определённой диаграммы: элемент продолжает оставаться частью вашей модели, и это действие никак не влияет на остальные диаграммы. С другой стороны, если вы удаляете элемент из дерева модели, то происходит удаление элемента из <emphasis
>модели</emphasis
>. Так как данный элемент больше не присутствует в модели, он автоматически удаляется из всех диаграмм, где он присутствовал. </para>
</sect2>
<sect2 id="edit-elements">
<title
>Редактирование элементов</title>
<para
>Большинство &UML;-элементов в модели и диаграммах возможно изменить, открыв с помощью контекстного меню нужного элемента диалог «Свойства» и выбрав в нём необходимые параметры. Каждый элемент имеет диалог, содержащий несколько страниц с соответствующими параметрами элемента. Для некоторых элементов, например, для действующих лиц, доступно изменение только имени элемента и документации, в то время как для других элементов, таких как классы, доступно изменение их свойств и методов, выбор того, что следует отображать на диаграмме (всю сигнатуру методов или только их имена, и так далее), и даже цветов, которые следует использовать для  линии и заливки представления класса на диаграмме. </para>

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

<para
>Обратите внимание, что доступ к свойствам элемента также возможно получить с помощью его контекстного меню в иерархическом представлении модели. Это позволяет также изменять свойства диаграмм, например управлять видимостью сетки. </para>
</sect2>
<sect2 id="edit-classes">
<title
>Редактирование классов</title>
<para
>Хотя редактирование свойств всех объектов уже рассматривалось в предыдущем разделе, классы заслуживают отдельного упоминания, потому что они отличаются от остальных элементов своей сложностью и имеют большее количество опций, чем большинство других &UML;-элементов. </para>
<para
>В диалоге редактирования свойств класса можно изменить всё, от используемого цвета до методов и свойств, которые он имеет. </para>
<sect3 id="class-general-settings">
<title
>Основные параметры класса</title>
<para
>Назначение страницы основных параметров диалога свойств очевидно. На ней возможно изменять имя класса, область видимости, документацию и так далее. Эта страница всегда доступна. </para>
</sect3>
<sect3 id="class-attributes-settings">
<title
>Настройка атрибутов класса</title>
<para
>На странице настройки атрибутов возможно добавлять, редактировать и удалять атрибуты (переменные) класса. Возможно перемещать атрибуты вверх и вниз по списку с помощью стрелок. Эта страница всегда доступна. </para>
</sect3>
<sect3 id="class-operations-settings">
<title
>Настройка операций класса</title>
<para
>Как и на странице настройки атрибутов, на странице настройки методов возможно добавлять, редактировать и удалять методы класса. При добавлении или редактировании метода следует ввести основные данные в диалоге <emphasis
>Свойства операции</emphasis
>. Если необходимо добавить параметры для метода, следует нажать кнопку <guibutton
>Новый параметр</guibutton
>, которая вызовет появление диалога <emphasis
>Свойства параметра</emphasis
>. Эта страница всегда доступна. </para>
</sect3>
<sect3 id="class-template-settings">
<title
>Настройка шаблонов класса</title>
<para
>Данная страница позволяет добавлять шаблоны классов, которые являются неопределёнными классами или типами данных. В Java 1.5 их будут обозначать термином <quote
>Generic</quote
>. </para>
</sect3>
<sect3 id="class-associations-page">
<title
>Страница ассоциаций класса</title>
<para
>Страница <guilabel
>Ассоциации класса</guilabel
> отображает все ассоциации данного класса на текущей диаграмме. Двойной щелчок по ассоциации показывает её свойства, и, в зависимости от типа ассоциации, будет возможно изменить некоторые параметры, например, множественность или имя роли. Если ассоциация не позволяет изменение этих параметров, то с помощью диалога свойств ассоциации будет возможно изменять только документацию ассоциации. </para>
<para
>Данная страница доступна только в том случае, если диалог свойств класса был вызван из диаграммы. При открытии диалога свойств класса из контекстного меню иерархического представления модели эта страница будет недоступна. </para>
</sect3>
<sect3 id="class-display-page">
<title
>Страница отображения класса</title>
<para
>На странице <guilabel
>Параметры отображения</guilabel
> возможно указать, что следует показывать на диаграмме. Класс может быть показан только в виде прямоугольника с именем класса в нём (что особенно полезно при наличии множества классов на диаграмме, или если на текущий момент не важна информация по классу) или с отображением всей информации по классу. </para>
<para
>В зависимости от объёма информации, которая должна отображаться, возможно активировать соответствующие опции на данной странице. Изменения, вносимые здесь, влияют только на <emphasis
>отображение</emphasis
> диаграммы. Это означает, что настройка <quote
>скрытия</quote
> методов класса приведёт к тому, что методы данного класса не будут показаны на диаграмме, но останутся частью модели. Данная страница доступна только в том случае, если диалог свойств класса был вызван из диаграммы. </para>
</sect3>
<sect3 id="class-color-page">
<title
>Страница стиля класса</title>
<para
>На странице <guilabel
>Стиль виджета</guilabel
> возможно задать цвета для линий и заливки объекта. Очевидно, что параметры на данной странице имеют смысл только для классов, показанных на диаграммах; эта страница недоступна при открытии диалога свойств класса в режиме иерархического предоставления. </para>
</sect3>
</sect2>

<sect2 id="associations">
<title
>Ассоциации</title>
<para
>Ассоциации связывают два &UML;-элемента друг с другом. Обычно ассоциации определяются между двумя классами, но некоторые типы ассоциаций могут также существовать между вариантами использования и действующими лицами. </para>
<para
>Для создания ассоциации выберите соответствующий инструмент на панели инструментов (общая ассоциация, обобщение, агрегация и так далее) и щёлкните сначала по первому, а потом по второму элементу, участвующему в ассоциации. Не следует пытаться перетащить мышью первый элемент на второй, это ни к чему не приведёт. </para>
<para
>При попытке создать ассоциацию, противоречащую спецификации &UML;, &umbrello; отменит это действие и выведет сообщение об ошибке. Это произойдёт, например, если при уже существующем обобщении от класса A к классу B предпринимается попытка создать обобщение от класса B к классу A. </para>
<para
>У ассоциации есть контекстное меню. При необходимости удалить ассоциацию просто выберите в нём пункт <guimenuitem
>Удалить</guimenuitem
>. С помощью контекстного меню также возможно открыть диалог свойств элемента (пункт <guimenuitem
>Свойства</guimenuitem
>) и, в зависимости от типа ассоциации, изменить такие атрибуты, как роли и множественность. </para>
<sect3 id="anchor-points">
<title
>Точки прикрепления</title>
<para
>По умолчанию ассоциации рисуются в виде прямой линии, соединяющей два объекта в диаграмме. </para>
<para
>Добавление точки прикрепления выполняется с помощью <mousebutton
>двойного</mousebutton
> щелчка по линии ассоциации. Появившуюся точку прикрепления (при выборе линии ассоциации она отображается в виде голубой точки) возможно перемещать для придания нужной формы линии ассоциации. </para>
<para
>Если необходимо убрать точку прикрепления из линии ассоциации, просто сделайте по ней двойной щелчок. </para>
<para
>Обратите внимание, что редактирование свойств ассоциаций возможно выполнить только через их контекстное меню. Ассоциации отличаются от других &UML;-элементов тем, что при двойном щелчке по ним создаётся точка прикрепления, а не появляется диалог редактирования свойств элемента. </para>
</sect3>
</sect2>

<sect2 id="notes">
<title
>Примечания, текст и блоки</title>
<para
>Примечания, строки текста и блоки (свободно размещаемые прямоугольники для визуальной группировки) являются элементами, которые могут быть размещены на диаграммах любого типа и не несут смысловой нагрузки для модели, но повышают читаемость диаграмм. </para>
<para
>Для добавления примечания или строки текста выберите соответствующий инструмент на панели инструментов и один раз щёлкните там, где следует разместить элемент на диаграмме. Изменить текст элемента возможно через контекстное меню или, в случае примечания, двойным щелчком по нему. </para>
<sect3 id="anchors">
<title
>Ссылки</title>
<para
>Ссылки используются для прикрепления текстового примечания к другому &UML;-элементу. Например, если текст обычно используется для описания или комментирования класса или ассоциации, то ссылка позволяет явным образом <quote
>прикрепить</quote
> примечание к определённому элементу. </para>
<para
>Для добавления ссылки, которая свяжет примечание с другим &UML;-элементом, используйте соответствующий инструмент на панели инструментов. Щёлкните по примечанию, а затем по &UML;-элементу, к которому следует прикрепить данное примечание. </para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--edit-diagram-->
