Copyright © 2001 Paul Hensgen
Copyright © 2002, 2003 Авторы Umbrello UML Modeller
Umbrello UML Modeller помогает в процессе разработки программного обеспечения, используя промышленный стандарт - язык UML (UML), предоставляя возможность создавать диаграммы для разработки и документирования ваших систем.
Содержание
Umbrello UML Modeller — это средство для работы с диаграммами UML, которое может быть полезным в процессе разработки программного обеспечения, особенно на стадиях анализа и проектирования. Umbrello UML Modeller поможет вам создать высококачественный продукт. Также UML может быть использован для документирования проекта приложения.
Хорошая модель вашего приложения является наилучшим способом взаимодействия с другими разработчиками, работающими над данным проектом, и с вашими заказчиками. Хорошая модель очень важна для средних и больших проектов, но также будет полезна и для небольших проектов. Даже если вы один работаете над маленьким проектом, хорошая модель предоставит вам общую картину разработки, что поможет вам сразу написать качественный код.
UML является языком диаграмм, используемым для описания таких моделей. Вы можете выражать свои идеи в UML с помощью различных типов диаграмм. Umbrello UML Modeller 1.2 поддерживает следующие типы диаграмм:
Диаграмма класса
Диаграмма последовательности
Диаграмма взаимодействий
Диаграмма вариантов использования
Диаграмма состояний
Диаграмма действий
Диаграмма компонентов
Диаграмма выпуска
Более подробная информация по UML может быть найдена на сайте OMG, http://www.omg.org, создателя стандарта UML.
Мы надеемся, что вам понравится Umbrello UML Modeller, и что данный продукт поможет вам в разработке высококачественного программного обеспечения. Umbrello UML Modeller является свободным программным обеспечением и предоставляется бесплатно. Единственное, о чем мы просим вас — это высылать отчёты о выявленных ошибках, проблемах или предложения разработчикам Umbrello UML Modeller по адресу (uml-devel AT lists.sourceforge.net)
или через сайтhttp://bugs.kde.org.
Данный раздел предоставит вам небольшой обзор основ UML. Он не является учебником по UML, и если вы хотите узнать побольше об UML или в целом о планировании разработки программного обеспечения, обратитесь к одной из многих книг по данной теме. В Интернете есть много учебных пособий, можете начать с них.
Унифицированный язык моделирования (UML) является языком диаграмм или обозначений для спецификации, визуализации и документации модели объектно-ориентированных программных систем. UML не является методом разработки, то есть он не определяет последовательность действий при разработке программного обеспечения. Он помогает описать свою идею и взаимодействовать с другими разработчиками системы. UML управляется Object Management Group (OMG) и является промышленным стандартом, описывающим модели программного обеспечения.
UML создан для применения в разработке объектно-ориентированного программного обеспечения, и с некоторыми ограничениями может применяться для других парадигм программирования.
UML состоит из множества модельных элементов, которые представляют различные компоненты разрабатываемой системы. Элементы UML используются для создания диаграмм, которые описывают определённую часть системы или точку зрения на неё. Umbrello UML Modeller поддерживает следующие типы диаграмм:
Диаграммы вариантов использования отображают действующих лиц (людей или пользователей системы), варианты использования (сценарии использования системы) и их взаимодействие.
Диаграммы классов отображают классы и взаимодействие между ними.
Диаграммы последовательностей отображают объекты и их взаимодействие, выделяя хронологию обмена сообщениями между объектами.
Диаграммы взаимодействия отображают объекты и их взаимодействие, выделяя объекты, которые участвуют в обмене сообщениями.
Диаграммы состояния отображают состояния, изменения состояний и события в объектах или компонентах системы.
Диаграммы активности отображают активность, состояния и изменения состояний объектов, а также события, возникающие в компонентах системы.
Диаграммы компонентов показывают компоненты верхнего уровня (такие как KParts или Java Beans).
Диаграммы выпуска показывают экземпляры компонентов и их взаимоотношения.
Диаграммы вариантов использования описывают взаимоотношения и зависимости между группами вариантов использования и действующих лиц, участвующими в процессе.
Важно понимать, что диаграммы вариантов использования не предназначены для отображения проекта и не могут описывать внутреннее устройство системы. Диаграммы вариантов использования предназначены для упрощения взаимодействия с будущими пользователями системы, с клиентами, и особенно пригодятся для определения необходимых характеристик системы. Другими словами, диаграммы вариантов использования говорят о том, что система должна делать, не указывая сами применяемые методы.
Диаграмма вариантов использования
Вариант использования описывает, с точки зрения действующего лица, группу действий в системе, которые приводят к конкретному результату.
Варианты использования являются описаниями типичных взаимодействий между пользователями системы и самой системой. Они отображают внешний интерфейс системы и указывают форму того, что система должна сделать (именно что, а не как).
При работе с вариантами использования важно помнить несколько простых правил:
Каждый вариант использования относится как минимум к одному действующему лицу
Каждый вариант использования имеет инициатора
Каждый вариант использования приводит к соответствующему результату (результату с «бизнес-значением»).
Варианты использования также могут взаимодействовать с другими вариантами использования. Три наиболее часто встречающихся типа взаимодействия между вариантами использования приведены ниже:
<<включение>> указывает, что вариант использования встраивается в другой вариант использования;
<<добавление>> указывает, что в определённых ситуациях или в некоторой точке (называемой точкой расширения) вариант использования будет расширен другим;
<<обобщение>> указывает, что вариант использования наследует характеристики «родительского» варианта использования и может переопределить некоторые из них или добавить новые, подобно наследованию в классах.
Действующее лицо является внешним источником (не элементом системы), который взаимодействует с системой через вариант использования. Действующие лица могут быть как реальными людьми (например, пользователями системы), так и другими компьютерными системами или внешними событиями.
Действующие лица представляют не физических людей или системы, а их роли. Эти означает, что когда человек взаимодействует с системой различными способами (предполагая различные роли), он отображается несколькими действующими лицами. Например, человек, работающий в службе поддержки и принимающий от клиентов заказы, будет отображаться в системе как «участник отдела поддержки» и «участник отдела продаж».
Описания вариантов использования являются текстовыми пояснениями варианта использования. Они обычно принимают форму заметки или документа, который каким-то образом прикрепляется к варианту использования и описывает процесс или активность, который имеет место быть в варианте использования.
Диаграммы классов отображают различные классы, из которых состоит система, и их взаимодействие между собой. Диаграммы классов являются «статичными» диаграммами, потому что они отображают классы вместе с их методами и атрибутами, так же как и статические взаимодействия между ними: какие классы «знают» о каких классах или какие классы «являются частью» других классов, но не отображают обмен сообщениями между классами.
Диаграмма класса
Класс определяет атрибуты и методы набора объектов. Все объекты класса (называемые экземплярами) имеют одинаковое поведение и одинаковый набор атрибутов (у каждого объекта - собственный набор атрибутов). Иногда вместо класса используется термин «тип», но важно понимать, что эти термины неодинаковы. Термин «Тип» имеет более общий смысл.
В UML классы представлены прямоугольниками с именем класса, которые могут отображать атрибуты и операции класса, помещённые внутри прямоугольника.
Визуальное представление класса в UML
В UML атрибуты отображаются как минимум их названием, но также могут показывать свой тип, начальное значение и другие свойства. Атрибуты также могут отображаться с указанием их области видимости:
+
отмечает public атрибуты;
#
отмечает protected атрибуты;
-
отмечает private атрибуты.
Методы (операции) также отображаются как минимум их названием, но также могут показывать свои параметры и возвращаемый тип. Подобно атрибутам, методы имеют область видимости:
+
отмечает public операции;
#
отмечает protected операции;
-
отмечает private операции.
Классы могут взаимодействовать друг с другом различными способами:
Наследование является основной концепцией объектно-ориентированного программирования, в которой класс «получает» все атрибуты и методы наследуемого класса и может переопределять/модифицировать некоторые из них, имея возможность добавлять собственные атрибуты и методы.
В UML ассоциация обобщения между двумя классами помещает их в иерархию, представляющую концепцию наследования производного класса от базового. В UML обобщения отображаются в виде линии, соединяющей два класса, со стрелочкой у базового класса.
Визуальное представление обобщения в UML
Ассоциации отображают взаимодействия между классами и определяют общую семантику и структуру многих типов «связей» между объектами.
Ассоциации являются механизмом, который позволяет объектам взаимодействовать с друг другом. Они описывают связи между различными классами (связи между объектами называются соединениями объектов или ссылками.
Ассоциации могут иметь роль, которая определяет назначение ассоциации и может быть одно- или двунаправленной, показывая, могут ли взаимодействующие объекты обмениваться сообщениями, или только один объект может отсылать сообщения. Каждый конец ассоциации имеет описание множественности, которое указывает, какое количество объектов на этой стороне ассоциации может взаимодействовать с одним объектом на другой стороне.
В UML ассоциации отображаются в виде линии, соединяющей взаимодействующие классы, и могут показывать роль и количество объектов с каждой стороны. Множественность отображается в виде диапазона [мин..макс] неотрицательных значений, звёздочка (*
) в качестве максимального значения обозначает бесконечность.
Визуальное представление ассоциации в UML
Объединения являются специальным типом ассоциаций, в котором два участвующих класса не равнозначны по статусу, но создают взаимодействие типа «часть-целое». Объединение описывает, как класс, играющий роль целого, создаётся из других классов, играющих роль частей. Для объединений класс, выступающий в роли целого, всегда имеет множественность, равную единице.
В UML объединения отображаются в виде линии с ромбом на стороне целого, соединяющей взаимодействующие классы.
Визуальное представление объединения в UML
Композиция является ассоциацией, которая представляет очень тесное объединение. Это означает, что Композиция формирует взаимодействия типа «часть-целое», но эти взаимодействия настолько сильные, что части не могут существовать сами по себе. Они существуют только внутри целого, и при уничтожении целого уничтожаются и части.
В UML композиции отображаются в виде линии с закрашенным ромбом на стороне целого, соединяющей взаимодействующие классы.
Диаграммы классов могут содержать другие элементы внутри классов.
Интерфейсы являются абстрактными классами, следовательно, объекты данных классов не могут быть созданы напрямую. Они могут содержать методы, но не атрибуты. Классы могут наследоваться от интерфейсов (через ассоциацию реализации), и полученные объекты затем могут использоваться при составлении диаграмм.
Типы данных являются примитивами, которые обычно встроены в язык программирования. Яркими примерами могут служить целые и логические типы. Они могут не иметь отношения к классам, но классы могут использовать их.
Перечисления представляют собой простой список значений. Примером перечисления является перечисление дней недели. Подобно типам данных, они могут использоваться в классах.
Диаграммы последовательностей показывают обмен сообщениями (то есть вызовы методов) между различными объектами в специфической, ограниченной по времени, ситуации. Диаграммы последовательностей специально выделяют порядок и времена отсылки сообщений объектам.
В диаграммах последовательностей объекты представляются вертикальными прерывистыми линиями с именем объекта наверху. Временная ось также направлена сверху вниз. Таким образом, сообщения, посылаемые от одного объекта к другому, отображаются стрелками с указанием операции и параметров.
Диаграмма последовательности
Сообщения могут быть либо синхронными, когда управление передаётся вызываемому объекту вплоть до момента окончания его работы, либо асинхронными, когда управление сразу же возвращается вызывающему объекту. Синхронные сообщения обозначаются вертикальным прямоугольником на стороне вызываемого объекта для отображения передачи управления в программе.
Диаграммы взаимодействий показывают взаимодействия между объектами, участвующими в конкретной ситуации. Это более или менее повторяет информацию, отображаемую диаграммами последовательностей, но там основной упор делается на то, как взаимодействия проявляются во времени, а здесь выделяются связи между объектами и их топологией.
На диаграммах взаимодействий сообщения, пересылаемые от одного объекта к другому, представляются в виде стрелок с указанием имени, параметров и последовательности сообщений. Диаграммы взаимодействий наиболее удачно подходят для отображения процесса работы программы или какой-либо ситуации, а также является лучшим типом диаграмм для демонстрации или объяснения какого-либо процесса в логике программы.
Диаграмма взаимодействия
Диаграммы состояний показывают различные состояния объекта в течение его времени жизни и причины, вызывающие их смену.
Диаграммы состояний рассматривают объекты как конечные автоматы, которые могут быть в одном из нескольких конечных состояний. Конечные состояния могут изменяться с помощью конечного набора причин. Например, объект типа NetServer может находиться в одном из следующих состояний:
Готовность
Ожидание
Обработка
Остановка
а события, которые могут привести к смене объектом своего состояния, это:
Создание объекта
Объект принял ожидаемое сообщение
Клиент запросил соединение по сети
Клиент прервал запрос
Запрос выполнен
Объект получил завершающее сообщение
и так далее
Диаграмма состояния
Состояния являются ключевыми элементами диаграмм состояний. Состояния принадлежат ровно одному классу и представляют собой совокупность значений, которые могут принимать атрибуты класса. В UML состояние описывает внутреннее состояние объекта одного определённого класса.
Следует отметить, что не стоит отображать на диаграмме состояний все состояния, отображайте только важные состояния, которые значительно влияют на работу объекта.
Существуют два особых типа состояний: начало и конец. И вот почему: нет такого события, которое заставит объект возвратиться в состояние начало, если он из него вышел; нет такого события, которое заставит объект выйти из состояния конец, если он в него вошёл.
Диаграммы действий описывают последовательность действий в системе с помощью действий. Диаграммы действий являются специальной формой диаграмм состояний, только в основном содержат действия.
Диаграмма действий
Диаграммы действий подобны процедурным диаграммам потока, с той разницей, что все действия напрямую присоединены к объектам.
Диаграммы действий всегда ассоциируются с классами, методами или вариантами действий.
Диаграммы действий поддерживают как последовательные, так и параллельные действия. Параллельное выполнение представляется с помощью пиктограмм Fork/Wait. Для действий, выполняющихся параллельно, порядок, в котором они выполняются, не имеет значения (они могут выполняться одновременно или друг за другом).
Действие представляет собой один шаг процесса. Одно действие представляет одно состояние системы с внутренним действием и, как минимум, с одним результатом действия. Действия могут иметь более одного результата, если они происходят при разных условиях.
Действия могут формировать иерархию, это означает, что действие может быть составлено из нескольких «мелких» действий. В этом случае входящие и исходящие переходы должны соответствовать входящим и исходящим переходам на детализированной диаграмме.
Существует несколько вспомогательных элементов в UML, которые не имеют реального семантического значения для модели, но помогают внести ясность в диаграмму. Перечислим их:
Текстовые строки
Текстовые заметки и якоря
Контейнеры
Текстовые строки удобно использовать для добавления краткой текстовой информации в диаграмму, это свободно прикрепляемый текст, который ничего не значит для модели.
Текстовые заметки следует использовать для добавления более детальной информации об объекте или о специфической ситуации. Текстовые заметки могут быть прикреплены к элементам UML.
Контейнеры являются свободными прямоугольниками, которые могут быть использованы для группирования элементов диаграмм. Они не несут никакой смысловой нагрузки для модели.
Диаграммы компонентов отображают компоненты программного обеспечения (компонентные технологии, такие как KParts, CORBA или Java Beans или просто разделы системы, ясно отличающиеся друг от друга) и сущности, из которых они возникли, например, файлы с исходным кодом, библиотеки или таблицы баз данных.
Компоненты обладают интерфейсами (то есть абстрактными классами с методами), которые позволяют создавать ассоциации между компонентами.
Данная глава познакомит вас с пользовательским интерфейсом Umbrello UML Modeller и расскажет всё, что необходимо знать для моделирования. Все действия в Umbrello UML Modeller доступны через меню и панели инструментов, но Umbrello UML Modeller также интенсивно использует контекстное меню. Вы можете нажать правую кнопку мыши практически на любом элементе рабочей области Umbrello UML Modeller или дерева модели для вызова меню с наиболее полезными функциями, которые могут применяться к данному элементу. Некоторые пользователи найдут это немного неудобным в начале своей работы, потому что они чаще используют меню или панели инструментов, но впоследствии не смогут не согласиться, что данный метод значительно увеличивает скорость работы.
Главное окно Umbrello UML Modeller делится на три области, которые предоставляют полный обзор системы и быстрый доступ к различным диаграммам при работе над моделью.
Перечислим эти области:
Дерево модели
Рабочая область
Окно документации
Интерфейс пользователя Umbrello UML Modeller
Дерево модели располагается в левом верхнем углу окна приложения и отображает все диаграммы, классы, действующие лица и варианты действий, которые составляют модель. Дерево модели даёт обзор разрабатываемой модели в целом, одновременно позволяя быстрое переключение между элементами модели и возможность размещения элементов модели на текущей диаграмме.
Если вы работаете над моделью с несколькими классами и диаграммами, дерево модели поможет вам организовать элементы вашей модели с помощью папок. Папки можно создавать с помощью контекстного меню и затем перемещать в них элементы дерева модели, просто перетаскивая их мышкой.
Окно документации расположено в левом нижнем углу Umbrello UML Modeller и предоставляет краткую информацию о выделенном объекте. Окно документации специально сделано небольшим, чтобы просматривать информацию по объекту, не занимая много места на экране. Если понадобиться просмотреть более подробную документацию по элементу, то следует перейти к свойствам элемента с помощью контекстного меню.
Первое, что необходимо сделать для работы в Umbrello UML Modeller – это создать новую модель. При запуске Umbrello UML Modeller автоматически загружает последнюю использованную модель или создаёт новую, пустую модель (данное поведение зависит от настроек Umbrello UML Modeller).
Для создания новой модели необходимо выбрать элемент из меню или просто нажать на иконку Новый на панели инструментов. Если в это время вы уже работали с какой-либо моделью и не сохранили изменения, то Umbrello UML Modeller предложит вам их сохранить.
Вы можете сохранить модель в любое время с помощью элемента из меню или с помощью нажатия на иконку Сохранить на панели инструментов. Если требуется сохранить вашу модель под другим именем, то для этого следует выбрать элемент из меню .
Для удобства Umbrello UML Modeller также предлагает опцию для автоматического сохранения вашей работы через определённый промежуток времени. При необходимости этот параметр и период времени можно настроить через меню .
Для загрузки уже существующей модели следует выбрать элемент из меню или нажать на иконку Открыть на панели инструментов. Модели, которые использовались в последнее время, отображаются в подменю в меню .
Umbrello UML Modeller может работать только с одной моделью. Таким образом, если вы, работая с несохранённой моделью, попробуете загрузить другую, то приложение запросит вас о сохранении ваших данных.
В Umbrello UML Modeller существует два основных способа редактирования элементов вашей модели:
Редактирование элементов напрямую через дерево модели;
Редактирование элементов модели через диаграмму.
Используя контекстное меню различных элементов дерева модели, вы имеете возможность добавлять, удалять и модифицировать практически все элементы вашей модели. Контекстное меню папок дерева модели позволяет создавать различные типы диаграмм, а также, в зависимости от того, является ли текущая папка вариантом использования или отображением, создавать действующих лиц, варианты использования, классы и так далее.
После добавления нового элемента в модель, его также можно редактировать через диалог свойств, который доступен через элемент Свойства контекстного меню дерева модели.
Также можно редактировать вашу модель, добавляя и удаляя элементы на диаграммах, это будет подробнее рассмотрено в последующих разделах.
Ваша UML-модель состоит из набора UML-элементов и связей между ними. Тем не менее, вы не можете видеть модель напрямую, для этого надо использовать диаграммы.
Для создания новой диаграммы в вашей модели просто выберите необходимый тип диаграммы через элемент из меню и укажите его имя. Диаграмма будет создана, станет активной и отобразится в дереве модели.
Следует помнить, что Umbrello UML Modeller интенсивно использует контекстные меню: вы можете нажать правую кнопку на папке в дереве модели и выбрать соответствующий тип диаграммы из элемента контекстного меню. Отметим, что вы можете создать диаграммы вариантов использования только в папках обзора вариантов использования, а другие типы диаграмм могут быть созданы только в папках логического отображения.
Для удаления диаграммы из вашей модели следует выбрать соответствующую диаграмму и выбрать элемент из меню . Того же можно достичь, выбрав элемент из контекстного меню диаграммы в дереве модели.
Так как удаление диаграммы является серьёзным действием, которое может привести к потере данных, Umbrello UML Modeller потребует подтверждение операции удаления перед её выполнением. После того, как диаграмма будет удалена и файл проекта будет сохранён, нет никакой возможности восстановить удалённую информацию.
Если требуется изменить имя существующей диаграммы, следует выбрать элемент из контекстного меню диаграммы в дереве модели.
Другим способом переименования диаграммы является диалог свойств диаграммы, который доступен через контекстного меню или через двойной щелчок по диаграмме в дереве модели.
При работе с диаграммой 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, к которому следует прикрепить данную заметку.
Umbrello UML Modeller является средством UML-моделирования, и его главной целью является помощь в анализе и проектировании ваших систем. Тем не менее, для перехода от вашего проекта к его реализации, Umbrello UML Modeller позволяет вам сгенерировать исходный код для различных языков программирования . Если вам понадобится использовать UML для существующего проекта на C++, Umbrello UML Modeller может помочь в создании модели вашей системы на основе исходного кода, с помощью его анализа и импорта обнаруженных классов.
Umbrello UML Modeller может генерировать исходный код для различных языков программирования на основе вашей модели UML, помогая вам начать реализацию вашего проекта. Сгенерированный код состоит из объявлений классов с их методами и атрибутами, вам остаётся только «заполнить пустые места» для реализации функциональности вашего класса.
Umbrello UML Modeller 1.2 поставляется с поддержкой генерации кода для ActionScript, Ada, C++, CORBA IDL, Java™, JavaScript, PHP, Perl, Python, SQL и XMLSchema.
Для генерации кода с помощью Umbrello UML Modeller вам сперва необходимо создать или загрузить модель, содержащую хотя бы один класс. При необходимости работы с исходным кодом выберите элемент меню для запуска мастера, который проведёт вас через процесс генерации кода.
Первым шагом будет указание классов, для которых требуется сгенерировать код. По умолчанию выбираются все классы вашей модели, вы имеете возможность убрать выделение с ненужных классов, перемещая их на левую сторону списка.
Следующим шагом будет модификация параметров генератора кода. Доступны следующие опции:
Опции для генерации кода в Umbrello UML Modeller
В режиме Записывать пустые комментарии генератор кода будет писать комментарии вида /** тра-ля-ля */, даже если комментируемые блоки пустые. Если вы добавите документацию в классы, методы или атрибуты вашей модели, генератор кода запишет эти комментарии как документацию для Doxygen независимо от этой опции. Но если вы включили данную опцию, Umbrello UML Modeller запишет блоки комментариев для всех классов, методов и атрибутов, даже если никакой документации в модели не было. В этом случае вам следует задокументировать ваши классы позднее прямо в исходном коде.
Опция Записывать комментарии для пустых секций указывает Umbrello UML Modeller записывать комментарии в исходный код для разграничения различных секций класса. Например, «public methods» или «Attributes» перед соответствующими секциями. Если вы включите данную опцию, Umbrello UML Modeller будет записывать комментарии для всех секций класса, даже если некоторые из них будут пустыми. Например, будет записан комментарий «protected methods», даже если в вашем классе нет методов, объявленных как «protected».
Опция Сохранять сгенерированные файлы в каталог. Здесь вам следует указать каталог, куда Umbrello UML Modeller поместит сгенерированный исходный код.
Опция Подключать заголовочные файлы из каталога позволяет вам вставить заголовки в начало каждого сгенерированного файла. Заголовочные файлы могут содержать сведения об авторских правах или лицензии, а также переменные, вычисляемые во время генерации кода. Вы можете ознакомиться с заголовочными файлами, поставляемыми с Umbrello UML Modeller, чтобы понять, как использовать эти переменные для указания вашего имени или текущей даты во время генерации кода.
Данная опция указывает Umbrello, что следует делать, если создаваемый файл уже существует. Umbrello не может изменять существующие исходные файлы, таким образом, вы должны выбрать между перезаписью существующего файла, отменой генерации конкретного файла или позволить Umbrello выбрать другое имя файла. Если вы предпочли выбрать другое имя файла, Umbrello добавит суффикс к текущему имени файла.
Третий и последний шаг помощника показывает состояние процесса генерации кода. Вам надо только нажать на кнопку Сгенерировать, чтобы получить ваши классы в виде исходного кода.
Следует отметить, что опции, которые вы выбрали в мастере генерации кода, верны только для текущего момента. При следующем запуске мастера вам потребуется заново указать все опции (каталог с заголовочными файлами, правила перезаписи и так далее). Можно настроить значения по умолчанию в разделе Генерация кода настроек Umbrello, доступной через ->
Если вы настроили опции генерации кода и хотите сгенерировать код без использования помощника, можете выбрать из меню Код. При этом сгенерируется код для всех классов вашей модели с использованием текущих настроек (включая каталог назначения и правила перезаписи, так что будьте осторожны).
Umbrello может импортировать исходный код ваших существующих проектов для помощи в построении моделей для ваших систем. Umbrello UML Modeller 1.2 поддерживает исходный код на языке C++ , но поддержка других будет добавлена в будущих версиях.
Для импортирования классов в вашу модель выберите из меню . В диалоге выбора файлов укажите файлы, содержащие объявления классов C++, и нажмите OK. Классы будут импортированы и появятся в виде элементов модели в дереве модели. Следует отметить, что Umbrello не создаёт никакой диаграммы для отображения ваших классов, они просто импортируются в модель, и вы можете их использовать при построении любых диаграмм.
Меню для импорта исходного кода в Umbrello
В данной главе кратко освещаются некоторые дополнительные особенности Umbrello UML Modeller.
Кроме стандартных действий вырезания, копирования и вставки, с помощью которых можно обмениваться объектами между диаграммами, Umbrello UML Modeller может копировать объекты как картинки формата PNG, которые можно вставить в документы другого типа. Для этого надо просто выделить объект на диаграмме (класс, актёр и так далее) и скопировать его (Ctrl-C, или через контекстное меню), затем открыть документ KWord (или любую другую программу, в документы которой можно вставлять изображения) и выбрать . Экспортирование элементов диаграммы в виде картинок — очень полезная возможность.
Также вы можете экспортировать целую диаграмму в виде картинки. Всё, что для этого потребуется — выделить диаграмму и выбрать элемент из меню .
Umbrello UML Modeller позволяет распечатывать отдельные диаграммы. Нажатие на кнопку Печать на панели инструментов приложения или выбор элемента из меню вызовет стандартный диалог печати KDE, с помощью которого вы сможете распечатать ваши диаграммы.
Для лучшей организации вашей модели, особенно для больших проектов, вы можете создавать логические папки в дереве модели. Просто выберите элемент -> из контекстного меню стандартных каталогов дерева и создайте новую папку. Папки могут быть вложенными, и вы можете перемещать объекты, перетаскивая их мышкой из одной папки в другую.
Организация модели с помощью логических папок в Umbrello UML Modeller
Этот проект был запущен Полом Хенсгеном (Paul Hensgen), как один из его университетских проектов. Оригинальным именем приложения было UML Modeller. Пол вёл разработку до конца 2001 года, когда программа достигла версии 1.0.
Версия 1.0 уже предоставляет широкую функциональность, но после того, как проект был рассмотрен в университете Пола, другие разработчики смогли присоединиться к проекту и начали вносить значительный вклад в UML Modeller, например, переход от файлов бинарного формата к XML, поддержка большего количества типов диаграмм UML, генерация кода и импортирование кода.
Пол вынужден был отойти от команды разработки летом 2002, но, будучи свободным и открытым программным обеспечением, программа продолжала улучшаться и расти, поддерживаемая группой разработчиков из разных частей мира. В сентябре 2002 проект изменил своё имя с UML Modeller на Umbrello UML Modeller. Существует несколько причин для смены имени, наиболее важным из них было то, что «uml» является слишком общераспространённым именем и вызывает проблемы с некоторыми дистрибутивами. Другой важной причиной являлось то, что разработчики думают, что Umbrello — более симпатичное имя.
Разработка Umbrello UML Modeller, как и дискуссии о развитии программы в будущих версиях, открыта и ведётся через Интернет. Если вы желаете внести свой вклад в проект, свяжитесь с разработчиками. Существует много вариантов помощи проекту:
Отчёт об ошибках или предложения по усовершенствованию программы
Исправление ошибок и добавление возможностей
Создание хорошей документации или перевод её на другие языки
И конечно, программирование вместе с нами!
Как вы видите, есть много способов внести свой вклад в проект. Любой вклад очень важен, и каждый приглашается к участию в проекте.
С разработчиками Umbrello UML Modeller можно связаться по адресу (uml-devel AT lists.sourceforge.net)
.
Copyright 2001, Paul Hensgen
Copyright 2002, 2003 авторы Umbrello UML Modeller. Смотрите http://uml.sf.net/developers.php
Этот документ распространяется на условиях GNU Free Documentation License.
Программа распространяется на условиях лицензии GNU General Public License.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team