Интерфейс – это тип классификатора, который представляет объявление множества публичных (доступных всем) функций и обязательств. Интерфейс определяет контракт, а любой объект, реализующий этот интерфейс должен выполнять этот контракт. Обязательства, которые могут быть связаны с интерфейсом в виде различных видов ограничений (до и постусловий) или спецификаций протокола, могут налагать ограничения на взаимодействие через интерфейс.
Рисунок 51 – Обозначение интерфейса
Поскольку интерфейс только декларируется, то он не имеет экземпляров. Вместо этого, интерфейс реализуется классификаторами, которые могут существовать, как объекты. Следует отменить, что один классификатор может реализовывать несколько интерфейсов, а также один интерфейс может быть реализован множеством классификаторов.
Связь
Данная ассоциация описывает то, что может быть установлена связь между экземплярами связанных типов.
Рисунок 52 – Обозначение связи
Имя |
Имя связи |
Источник |
Источник связи |
Приёмник |
Объект связи |
Описание |
Спецификация того, как вычислить, получить или построить экземпляр. |
Классификаторы |
Классификатор или классификаторы из представленного экземпляра. Если несколько классификаторов указаны, экземпляр классифицируется по каждому из них. |
Документация |
Описание связи |
Примечание или комментарий позволяет присоединять различные замечания к элементам. Комментарий не несет никакой смысловой нагрузки, но может содержать информацию, которая будет полезна разработчику.
Рисунок 53 – Обозначение примечания
Реализация – является специализированным отношением между двумя множествами элементов модели, первое представляет собой поставщика, другое клиента. Реализация может быть использована для моделирования пошагового уточнения, оптимизации, преобразований, шаблонов, синтеза модели и т.д.
Рисунок 54 – Обозначение реализации
Рисунок 55 – Пример диаграммы компонентов
Рисунок 56 – Пример обозначения требуемых и реализуемых интерфейсов
Рисунок 57 – Подходы к обозначению отношений между интерфейсами и компонентами
Рисунок 58 – Вид на компоненты снаружи
Рисунок 59 – Вид на компонент изнутри
Английское название стереотипа |
Русское название стереотипа |
Описание |
Application |
Приложение |
Пользовательский интерфейс (графический интерфейс, веб-страницы). |
Datastore |
Хранилище данных |
Место хранения данных |
Document |
Документ |
Электронный или печатный документ. |
Entity |
Сущность |
Представляет некоторую бизнес-концепцию. Не содержит операций, только атрибуты. |
Executable |
Исполняемый |
Компонент может выполняться на узле (программный компонент). |
File |
Файл |
Файл данных. |
Infrastructure |
Инфраструктура |
Специальный компонент внутри системы (логгер). |
Library |
Библиотека |
DLL |
Process |
Процесс |
Репозиторий (реализация операций над сущностями). |
Realization |
Реализация |
Реализует другой компонент. Реализует его описание. |
Service |
Сервис |
Удовлетворяет какой-либо функциональный запрос и, как правило, не сохраняется. |
Source code |
Исходный код |
Java или C++ файл. |
Specification |
Описание |
Содержит интерфейсы, но не имеет реализации. |
Subsystem |
Подсистема |
Часть большой системы. Может содержать несколько маленьких компонентов внутри себя, рассматривается как кусок большой системы. |
Table |
Таблица |
Таблица базы данных, которая хранит данные. |
Web service |
Веб-сервис |
|
XML DTD |
|
Описание схемы xml-документа. |
Титульный лист;
Цель работы;
Выполненное индивидуальное задание. Список индивидуальных заданий приводится в конце методического пособия;
Выводы.
Цель: приобрести навыки построения диаграммы пакетов, познакомится с основными элементами диаграммы, изучить их назначение и обозначение.
Диаграмма пакетов показывает расположение и организацию элементов модели в центре масштабного проекта. Диаграмма пакетов одновременно показать структуру и зависимости между подсистемами или модулями.
Рисунок 60 – Диаграмма пакетов
Для создания диаграммы пакетов используется следующая нотация:
Иконка |
Описание |
|
Доступ |
|
Зависимость |
|
Импорт |
|
Примечание |
|
Реализация |
|
Ограничение |
|
Обобщение |
|
Слияние |
|
Пакет |
|
Подсистема |
Импорт элемента определяется как направленное отношение между импортируемым пространством имён и упаковываемого элемента. Название упакованного элемента или псевдоним должно быть добавлено в импортируемое пространство имён.
Импортируемый элемент показан с помощью пунктирной стрелки, с открытым концом из импортируемого пространства имён к импортируемому элементу.
Рисунок 61 – Обозначение доступа
Импорт
Импортирование пакета определяется как направленное отношение, которое идентифицирует атрибуты пакета, которые будут импортированы в пространство имён.
Рисунок 62 – Обозначение импорта
Объединение пакета является направленным отношением между двумя пакетами, которое показывает, что содержимое пакетов должно быть объединено. Это очень напоминает обобщение, когда исходный элемент добавляет характеристики целевого элемента к себе, что приводит к появлению новых характеристик в исходном элементе. Таким образом, исходный элемент содержит все характеристики.
Этот механизм должен использоваться, когда разные пакеты имеют одинаковые имена и предназначены для представления одной и той же концепции. Чаще всего он используется, чтобы определить разные уровни, которые используются для разных целей, т.е. на каждой следующей итерации объединения, пакет дополняется новыми характеристиками, начиная от базовой своей реализации и далее.
Концептуально, слияние пакета можно рассматривать как операцию создания нового пакета, которая берет содержимое двух пакетов и производит новый пакет.
Рисунок 63 – Обозначение слияния
Пакет
Пакет – это элемент, который используется для группировки элементов и предоставляет пространство имён для сгруппированных элементов. Пакет может содержать в себе другие пакеты.
Рисунок 64 – Обозначение пакета
Подсистема представляет границу физической системы.
Рисунок 65 – Обозначение подсистемы
Рисунок 66 – Обозначение содержания пакета
Рисунок 67 – Обозначение класса вне пакета с указанием всех пространств имён
Рисунок 68 – Обозначение зависимости и обобщения
Рисунок 69 – Обозначение улучшения характеристик пакета относительно другого пакета