- •Введение
- •Управление моделью
- •Сноски (Note)
- •Общие механизмы расширения
- •Ограничение (constraint)
- •Комментарии (comment)
- •Свойства элементов
- •Стереотипы
- •Диаграммы статических структур
- •Диаграмма классов
- •Диаграмма объектов
- •Классификатор (Classifier)
- •Семантика
- •Нотация
- •Варианты представления
- •Рекомендации по оформлению
- •Секция названия Нотация
- •Секция список Нотация
- •Варианты представления
- •Атрибут
- •Семантика
- •Нотация
- •Варианты представления
- •Нотация
- •Интерфейсы Семантика
- •Нотация
- •Параметризованный класс (шаблон) Семантика
- •Нотация
- •Варианты представления
- •Связанный элемент Семантика
- •Нотация
- •Импортирование пакета Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Рекомендации по оформлению
- •Варианты
- •Варианты представления
- •Рекомендации по оформлению
- •Семантика
- •Нотация
- •Нотация
- •Рекомендации по проектированию
- •Варианты представления
- •Подробности
- •Нотация
- •Диаграммы последовательности Виды диаграмм взаимодействия
- •Диаграмма последовательности Семантика
- •Нотация
- •Варианты представления
- •Варианты представления
- •Время переходов Семантика
- •Нотация
- •Диаграммы сотрудничества
- •Сотрудничество Семантика
- •Нотация
- •Диаграмма сотрудничества Семантика
- •Нотация
- •Структура шаблона Семантика
- •Нотация
- •Взаимодействия
- •Семантика
- •Нотация
- •Активный объект
- •Варианты представления
- •Нотация
- •Составные состояния Семантика
- •Нотация
- •События Семантика
- •Нотация
- •Простые переходы Семантика
- •Нотация
- •Переходы во вложенные состояния Семантика
- •Нотация
- •Варианты представления
- •Внутренние переходы Семантика
- •Состояние действия Семантика
- •Нотация
- •Пиктограммы управления
- •Стереотипы
- •Диаграммы реализации
- •Компонентная диаграмма Семантика
- •Нотация
- •Диаграммы развертывания Семантика
- •Нотация
- •Узлы Семантика
- •Нотация
- •Компоненты Семантика
- •Нотация
Семантика
Классы отражают концепцию моделируемой системы. Классы имеют структуру данных, поведение и отношения с другими элементами.
Название класса ограничено пакетом, в котором он объявлен, и оно должно быть уникальным (среди названий классов) в этом пакете.
Нотация
Класс изображается как сплошной прямоугольник, разделенный горизонтальными линиями на три секции. Верхняя секция названия содержит название класса и другие основные свойства класса (включая стереотип); средняя секция списка содержит список атрибутов; нижняя секция списка содержит список операций.
Ссылки. По умолчанию предполагается, что класс видимый в пакете определен в этом же пакете. Чтобы показать ссылку на класс, определенный в другом пакете, используется следующий синтаксис:
Package-name::Class-name (Название_пакета::Название_класса)
где Название_класса должно соответствовать строке наименования в секции названия. Как будет показано ниже, при необходимости секции названий могут быть использованы для устранения двусмысленности. Полный путь может быть задан сцеплением вместе названий пакетов, разделенных двойным двоеточием ( :: ).
Варианты представления
Любая из секций атрибутов или операций и обе вместе могут быть опущены. Разделяющая линия для отсутствующей секции не рисуется. Если секция опущена, то нельзя сделать вывод о присутствии иди отсутствии в ней элементов.
В качестве расширения программное обеспечение может добавлять дополнительные секции, показывающие предопределенные или определенные пользователем свойства модели, например, для показа бизнес правил, обязанностей, изменений, управления событиями, вызовов исключений и т.п. Большинство секций представляют собой просто список строк. Более сложные форматы допустимы, но UML их не определяет; эта обязанность ложится на ПО. Внешний вид каждой секции предпочтительно должен полностью зависеть от ее содержания. При необходимости могут быть использованы названия секций.
ПО может использовать другие способы показывать ссылки на классы и отличать их от объявлений классов.
Символ класса с картинкой стереотипа может быть сжат, так чтобы показывать только картинку стереотипа, с названием класса либо внутри картинки, либо под картинкой. Другое содержание класса опускается.
Рекомендации по оформлению
Название класса - отцентрировать, писать с прописной буквы жирным шрифтом.
Название стереотипа - отцентрировать, использовать обычный шрифт, заключить в < > и поместить над названием класса.
Атрибуты и операции выровнять по левому краю.
Название атрибутов и операций начинать со строчных букв.
Для названий абстрактных классов и сигнатур абстрактных операторов использовать наклонный шрифт (италик).
Как расширение ПО, жирный шрифт может быть использован для пометки специальных элементов списка, например, для обозначения ключей при проектировании баз данных.
Показывайте полностью атрибуты и операции только когда необходимо, иначе скрывайте их.
Пример
Рисунок 5. Описание класса: детали скрыты, детали уровня анализа, детали уровня реализации
Секция названия Нотация
Отображает название класса и другие свойства в трех подсекциях.
Необязательное ключевое слово стереотипа может быть помещено над наименованием класса в русские кавычки ( < > ), и/или картинка стереотипа может помещаться в правом верхнем углу секции. Название стереотипа не должно совпадать с предопределенными ключевыми словами.
Следующим отображается наименование класса. Если класс абстрактный, его название пишется курсивом (италик). Заметим, однако, что некоторые описания обобщенного состояния предшествуют названию.
Список строк, обозначающих свойства (атрибуты метамодели или связанные значения), может быть помещен в фигурные скобки под названием класса. Список может отображать атрибуты уровня класса, для которых не предусмотрена UML нотация. Присутствие ключевого слова без значения означает логический тип со значением "истина". Например, у класса являющегося "листом" отображается свойство "{leaf}".
Стереотип и список свойств необязательны.
Рисунок 6. Секция названия
