- •Диаграммы классов uml
- •Ещё раз об интерфейсах:
- •Сущности на диаграмме классов
- •Расшифровка (определение) элементов диаграммы классов на рис.1
- •Свойства класса на схемах классов uml
- •Свойства атрибутов на схемах классов uml
- •Свойства ассоциаций на схемах классов uml
- •Использование диаграммы классов для описания требований
Свойства класса на схемах классов uml
Свойство |
default |
Место присутствия |
Описание |
name |
Имя по умолчанию |
Все элементы |
Идентифицирует элемент. |
Полное имя |
Содержащий пакет :: Имя типа |
Все элементы |
Уникально идентифицирует элемент. Перед именем элемента указывается полное имя пакета, содержащего его. |
Цвет |
По умолчанию для данного типа |
Все элементы |
Цвет этой фигуры. В отличие от других свойств не является свойством базового элемента модели. Различные представления одного типа могут иметь разные цвета. |
Является абстрактным |
False |
Класс |
Если значение true, невозможно создать экземпляр класса и класс предназначен для использования в качестве базового. |
Является листом |
False |
Класс, интерфейс |
Если значение true, производные типы для этого типа не предусмотрены. |
Является активным |
False |
Класс |
Если значение true, каждый экземпляр этого типа связан с потоком управления. |
Видимость |
public |
Класс, интерфейс, перечисление |
|
Рабочие элементы |
0 связанных |
Все элементы |
Число рабочих элементов, связанных с этим элементом. Сведения о связывании рабочих элементов см. в разделе Связывание элементов модели и рабочих элементов. |
Описание |
(пусто) |
Все элементы |
Здесь можно делать общие заметки об элементе. |
Привязка шаблонов |
(нет) |
Класс, интерфейс, перечисление |
Если значение не пустое, этот тип определяется путем привязки значений параметров к данному классу шаблонов. Разверните свойство, чтобы увидеть привязки параметров шаблона. |
Параметры шаблона |
(нет) |
Класс, интерфейс, перечисление |
Если значение не пустое, это класс шаблонов, параметры которого перечислены здесь. Чтобы добавить параметры или просмотреть свойства отдельных параметров, щелкните […]. |
Свойства атрибутов на схемах классов uml
Сигнатура атрибута
Сигнатура атрибута — это строка, которая представляет атрибут в классе или интерфейсе на схеме классов UML. Сигнатура имеет следующую форму:
+ AttributeName : TypeName [*]
+ обозначает общую видимость. Допустимые значения: - (закрытый), # (защищенный), ~ (пакет).
AttributeName подчеркивается, если атрибут статический.
: TypeName опускается, если атрибут не имеет типа.
[*] определяет кратность. Опускается, если кратность равна 1.
Свойства
В следующей таблице описываются свойства атрибута в классе или интерфейсе на схеме классов UML.
Чтобы просмотреть свойства атрибута, щелкните атрибут в классе или интерфейсе на схеме правой кнопкой мыши и выберите параметр Свойства. Свойства отображаются в окне "Свойства".
Свойство |
default |
Описание |
Значение по умолчанию |
(пусто) |
Значение атрибута, если создается экземпляр классификатора. |
Является доступным только для чтения |
False |
Если значение true, значение атрибута нельзя изменить. |
Является статическим |
False |
Если значение true, одно значение этого атрибута используется всеми экземплярами этого типа. Если значение true, имя атрибута на схеме подчеркивается. |
name |
(новое имя) |
Должно быть уникальным в классификаторе-владельце. |
Type |
(нет) |
Примитивный тип данных, например Integer, или тип, определенный в модели. Если в этом свойстве ввести имя нового типа, он будет добавлен в раздел Незаданные типы обозревателя моделей UML. |
Видимость |
public |
Допустимыми значениями и символами, которые отображаются в сигнатуре, являются следующие: + Открытый — видимый глобально - Закрытый — невидимый за пределами типа-владельца. # Защищенный — видимый типам, производным от владельца. ~ Пакет — видимый другим типам в том же пакете. |
Рабочие элементы |
0 связанных |
Число связанных рабочих элементов. Только для чтения. Дополнительные сведения см. в разделе Связывание элементов модели и рабочих элементов. |
Является листом |
False |
Если значение true, то разрешение переопределения этого атрибута в производных типах не предусмотрено. |
Является производным |
False |
Если значение true, этот атрибут вычисляется из других атрибутов. Например, диагональ вычисляется из ширины и высоты. Сведения нужно записывать в поле Описание или прикрепленное примечание. |
Описание |
(пусто) |
Для общих примечаний или определения ограничений для значений атрибута. |
Кратность |
1 |
1 — этот атрибут имеет одно значение заданного типа. 0.. 1 — этот атрибут может иметь значение null. * — значение этого атрибута представляет собой коллекцию значений. 1.. * — значение этого атрибута представляет собой коллекцию, которая содержит хотя бы одно значение. n .. m — значение этого атрибута представляет собой коллекцию, которая содержит от n до mзначений. |
Является упорядоченным |
False |
Если значение true, коллекция формирует последовательный список. При этом значение параметра Кратность должно быть больше 1. |
Является уникальным |
False |
Если значение true, в коллекции нет повторяющихся значений. При этом значение параметра Кратность должно быть больше 1. |
На схеме классов UML можно добавлять операции в классы и интерфейсы. Операция — это метод или функция, которую может выполнять экземпляр класса или интерфейса.
Сигнатура операции
Сигнатура операции — это строка текста, которая представляет операцию в классе или интерфейсе на схеме классов UML. Представление имеет следующую форму:
+ имя_операции (параметр1 : тип1 [*], ...) : возвращаемый_тип [*]
Знак "+" обозначает общую видимость. Другие допустимые значения
: - (закрытый),
# (защищенный),
~ (пакет).
OperationName подчеркнуто, если значение свойства Является статическим — true, или выделено курсивом, если значение свойстваЯвляется абстрактным — true.
: ReturnType не указывается, если возвращаемый тип не определен.
[*] обозначает кратность параметра или возвращаемого типа.Не указывается, если кратность равна 1.
Таблица свойств операции на диаграмме классов
Свойство |
default |
Описание |
name |
(новое имя) |
Должно быть уникальным во вмещающем типе. |
Параметры |
(нет) |
Список, имеющий форму имя: тип, имя:тип, …. Щелкните […], чтобы редактировать список. Типы могут быть типами-примитивами или типами, определенными в модели. Если в этом свойстве ввести имя нового типа, он будет добавлен в раздел Неуказанные типы обозревателя моделей UML. |
Возвращаемый тип |
(нет) |
(нет), тип-примитив или тип, определенный в модели. Если в этом свойстве ввести имя нового типа, он будет добавлен в раздел Неуказанные типы обозревателя моделей UML. |
Постусловия |
(нет) |
Необязательное условие, задающее отношение между состоянием системы до и после выполнения операции. |
Предусловия |
(нет) |
Необязательное условие, указывающее допущения о состоянии системы перед началом выполнения операции. |
Основные условия |
(нет) |
Необязательное ограничение значений, возвращаемых операцией. |
Видимость |
public |
Допустимыми значениями и символами, которые отображаются в сигнатуре, являются следующие: + Открытый — видимый глобально; – Закрытый — не видимый за пределами типа-владельца; # Защищенный — видимый типам, производным от владельца; ~ Пакет — видимый другим типам в том же пакете. |
Подпись |
+Имя() |
Обобщает видимость, имя, параметры и возвращаемый тип этой операции. Эти свойства можно изменить, отредактировав сигнатуру на схеме или каждое свойство по отдельности. |
Рабочие элементы |
0 связанных |
Число связанных рабочих элементов. Только для чтения. Дополнительные сведения см. в разделе Связывание элементов модели и рабочих элементов. |
Параллельность |
Sequential |
Последовательный — операция разработана или будет разработана без элемента управления параллелизмом. Параллельный вызов этой операции может привести к сбоям. Защищенный — операция автоматически блокируется до завершения других ее экземпляров. Параллельный — операция разработана так, что несколько ее вызовов могут выполняться одновременно. |
Является статическим |
False |
Если значение true, операция используется всеми экземплярами этого типа. Если значение true, имя операции на схеме подчеркивается. |
Является абстрактным |
False |
Если значение true, с этой операцией код не связан. Следовательно класс-владелец является абстрактным. |
Является листом |
False |
Эта операция не предназначена разработчиком для переопределения в производных классах. |
Является запросом |
False |
Если значение true, состояние системы после этой операции изменяется незначительно. Следовательно, ее можно использовать для проверки состояния системы, например, при проведении теста. |
Кратность |
1 |
1 — одно значение заданного типа. 0..1 — может иметь значение null. * — коллекция значений заданного типа. 1..* — коллекция, которая содержит хотя бы одно значение. n .. m — коллекция, содержащая от n до m значений. |
Является упорядоченным |
False |
Если значение true, коллекция образует последовательный список. При этом значение свойства Кратность должно быть больше 1. |
Является уникальным |
False |
Если значение true, в коллекции нет повторяющихся значений. При этом значение свойства Кратность должно быть больше 1. |
