Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Унифицированный язык моделирования (Unified Mod...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.06 Mб
Скачать

Семантика

Классы отражают концепцию моделируемой системы. Классы имеют структуру данных, поведение и отношения с другими элементами.

Название класса ограничено пакетом, в котором он объявлен, и оно должно быть уникальным (среди названий классов) в этом пакете.

Нотация

Класс изображается как сплошной прямоугольник, разделенный горизонтальными линиями на три секции. Верхняя секция названия содержит название класса и другие основные свойства класса (включая стереотип); средняя секция списка содержит список атрибутов; нижняя секция списка содержит список операций.

Ссылки. По умолчанию предполагается, что класс видимый в пакете определен в этом же пакете. Чтобы показать ссылку на класс, определенный в другом пакете, используется следующий синтаксис:

Package-name::Class-name (Название_пакета::Название_класса)

где Название_класса должно соответствовать строке наименования в секции названия. Как будет показано ниже, при необходимости секции названий могут быть использованы для устранения двусмысленности. Полный путь может быть задан сцеплением вместе названий пакетов, разделенных двойным двоеточием ( :: ).

Варианты представления

Любая из секций атрибутов или операций и обе вместе могут быть опущены. Разделяющая линия для отсутствующей секции не рисуется. Если секция опущена, то нельзя сделать вывод о присутствии иди отсутствии в ней элементов.

В качестве расширения программное обеспечение может добавлять дополнительные секции, показывающие предопределенные или определенные пользователем свойства модели, например, для показа бизнес правил, обязанностей, изменений, управления событиями, вызовов исключений и т.п. Большинство секций представляют собой просто список строк. Более сложные форматы допустимы, но UML их не определяет; эта обязанность ложится на ПО. Внешний вид каждой секции предпочтительно должен полностью зависеть от ее содержания. При необходимости могут быть использованы названия секций.

ПО может использовать другие способы показывать ссылки на классы и отличать их от объявлений классов.

Символ класса с картинкой стереотипа может быть сжат, так чтобы показывать только картинку стереотипа, с названием класса либо внутри картинки, либо под картинкой. Другое содержание класса опускается.

Рекомендации по оформлению

Название класса - отцентрировать, писать с прописной буквы жирным шрифтом.

Название стереотипа - отцентрировать, использовать обычный шрифт, заключить в < > и поместить над названием класса.

Атрибуты и операции выровнять по левому краю.

Название атрибутов и операций начинать со строчных букв.

Для названий абстрактных классов и сигнатур абстрактных операторов использовать наклонный шрифт (италик).

Как расширение ПО, жирный шрифт может быть использован для пометки специальных элементов списка, например, для обозначения ключей при проектировании баз данных.

Показывайте полностью атрибуты и операции только когда необходимо, иначе скрывайте их.

Пример

Рисунок 5. Описание класса: детали скрыты, детали уровня анализа, детали уровня реализации

Секция названия Нотация

Отображает название класса и другие свойства в трех подсекциях.

Необязательное ключевое слово стереотипа может быть помещено над наименованием класса в русские кавычки ( < > ), и/или картинка стереотипа может помещаться в правом верхнем углу секции. Название стереотипа не должно совпадать с предопределенными ключевыми словами.

Следующим отображается наименование класса. Если класс абстрактный, его название пишется курсивом (италик). Заметим, однако, что некоторые описания обобщенного состояния предшествуют названию.

Список строк, обозначающих свойства (атрибуты метамодели или связанные значения), может быть помещен в фигурные скобки под названием класса. Список может отображать атрибуты уровня класса, для которых не предусмотрена UML нотация. Присутствие ключевого слова без значения означает логический тип со значением "истина". Например, у класса являющегося "листом" отображается свойство "{leaf}".

Стереотип и список свойств необязательны.

Рисунок 6. Секция названия