<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; также интенсивно использует контекстное меню. Вы можете нажать правую кнопку мыши практически на любом элементе рабочей области &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; &ndash; это создать новую модель. При запуске &umbrello; автоматически загружает последнюю использованную модель или создаёт новую, пустую модель (данное поведение зависит от настроек &umbrello;). </para>
<sect2 id="new-model">
<title
>Новая модель</title>
<para
>Для создания новой модели необходимо выбрать элемент <guimenuitem
>Новый</guimenuitem
> из меню <guimenu
>Файл</guimenu
> или просто нажать на иконку <guiicon
>Новый</guiicon
> на панели инструментов. Если в это время вы уже работали с какой-либо моделью и не сохранили изменения, то &umbrello; предложит вам их сохранить. </para>
</sect2>
<sect2 id="save-model">
<title
>Сохранение модели</title>
<para
>Вы можете сохранить модель в любое время с помощью элемента <guimenuitem
>Сохранить</guimenuitem
> из меню <guimenu
>Файл</guimenu
> или с помощью нажатия на иконку <guiicon
>Сохранить</guiicon
> на панели инструментов. Если требуется сохранить вашу модель под другим именем, то для этого следует выбрать элемент <guimenuitem
>Сохранить как</guimenuitem
> из меню <guimenu
>Файл</guimenu
>. </para>
<para
>Для удобства &umbrello; также предлагает опцию для автоматического сохранения вашей работы через определённый промежуток времени. При необходимости этот параметр и период времени можно настроить через меню <guimenu
>Настройка</guimenu
>.</para>
</sect2>
<sect2 id="load-model">
<title
>Загрузка модели</title>
<para
>Для загрузки уже существующей модели следует выбрать элемент <guimenuitem
>Открыть</guimenuitem
> из меню <guimenu
>Файл</guimenu
> или нажать на иконку <guiicon
>Открыть</guiicon
> на панели инструментов. Модели, которые использовались в последнее время, отображаются в подменю <guimenuitem
>Открыть недавние</guimenuitem
> в меню <guimenu
>Файл</guimenu
>. </para>
<para
>&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
>Для создания новой диаграммы в вашей модели просто выберите необходимый тип диаграммы через элемент <guimenuitem
>Новый</guimenuitem
> из меню <guimenu
>Диаграмма</guimenu
> и укажите его имя. Диаграмма будет создана, станет активной и отобразится в дереве модели. </para>
<para
>Следует помнить, что &umbrello; интенсивно использует контекстные меню: вы можете нажать правую кнопку на папке в дереве модели и выбрать соответствующий тип диаграммы из элемента <guisubmenu
>Новый</guisubmenu
> контекстного меню. Отметим, что вы можете создать диаграммы вариантов использования только в папках обзора вариантов использования, а другие типы диаграмм могут быть созданы только в папках логического отображения. </para>
</sect2>
<sect2 id="remove-diagram">
<title
>Удаление диаграмм</title>
<para
>Для удаления диаграммы из вашей модели следует выбрать соответствующую диаграмму и выбрать элемент <guimenuitem
>Удалить</guimenuitem
> из меню <guimenu
>Диаграмма</guimenu
>. Того же можно достичь, выбрав элемент <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
>. Также через контекстное меню можно открыть диалог свойств элемента. </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-->
