- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Импортирование пакета Семантика
Класс может вызываться из другого пакета. На уровне пакетов зависимость "импорта" показывает, что содержимое целевых пакетов может вызываться из клиентских пакетов или пакетов рекурсивно внедренных в них. Цели ссылок должны иметь видимость достаточную для ссылок. Видимость может быть определена как для элементов модели, так и для пакетов. Если элемент модели вложен в один или более пакет, то видимость элемента и всех его контейнеров объединяется согласно правилу, выбирающему наиболее ограниченную видимость из набора. Невозможно избирательно экспортировать некоторые элементы из вложенного пакета; видимость внешнего пакета применяется к каждому экспортируемому элементу внутреннего пакета. Импорт является рекурсивным для вложенных уровней пакетов. Зависимый класс должен иметь, по крайней мере, видимость "protected", любые другие классы требуют видимость "public". (Более подробно это описано в документе по семантике.)
Заметим, что зависимость импорта не изменяет пространства имен клиента и не создает автоматически ссылки; она просто дает возможность установить ссылки. Заметим также, что ПО может при создании ссылки автоматически создавать импортную зависимость.
Нотация
Зависимость импорта отображается как стрелка зависимости от ссылающегося (клиентского) пакета к целевому пакету (поставщику), содержащему цель ссылок. Стрелка имеет стереотип . Эта зависимость показывает, что элементы из клиентского пакета могут законным образом ссылаться на элементы поставщика. Ссылки должны также удовлетворять определенным поставщиком ограничениям видимости. Заметим, что зависимость не создает автоматически ссылки; она просто дает возможность их установить.
Пример
Рисунок 15. Зависимость импорта между пакетами
Объект
Семантика
Объект представляет собой отдельный экземпляр класса. Он имеет значения тождеств и атрибутов. Эта нотация так же представляет роль внутри сотрудничества, потому что роль имеет зависящие от экземпляра характеристики.
Нотация
Нотация объекта получается из нотации класс подчеркиванием элементов уровня экземпляра.
Объект отображается в прямоугольнике с двумя секциями.
Верхняя секция показывает название объекта и его класс (оба подчеркнутые), используя следующий синтаксис:
objectname : classname
Название класса при необходимости может включать полный путь содержащего его пакета. Названия пакетов предшествуют названию класса и разделяются двойными двоеточиями. Например:
display_window: WindowingSystem::GraphicWindows::Window
Стереотип класса может быть показан как текст (в русских кавычках (< >) над строкой названия) или как картинка в верхнем правом углу. Стереотип объекта должен соответствовать стереотипу его класса.
Набор классов, для которых объект является экземпляром, отображается в виде разделенного запятыми списка названий классов. Эти названия классов должны быть допустимы для множественной классификации (то есть, только одно является реализацией класса, а остальные ролями).
Для показа того, что объект находится в конкретном состоянии класса, используется следующий синтаксис:
objectname : classname '[' statename-list ']'
Список должен быть разделенным запятыми списком названий состояний, для которых допустимо одновременное наступление.
Вторая секция показывает список атрибутов объекта и их значений. Каждая строка значения имеет следующий синтаксис:
attributename : type = value названиеатрибута : тип = значение
Тип уже присвоен при объявлении атрибута класса и поэтому может быть опущен.
Значение определяется как символьное значение. UML не определяет синтаксис символьных выражений, но ожидает, что ПО определит такой синтаксис, использую некоторый язык программирования.
