Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткие сведения о UML.docx
Скачиваний:
4
Добавлен:
18.04.2019
Размер:
42.87 Кб
Скачать

Диаграмма Use Case

Рис. 3

1.2. Диаграмма классов

Диаграмма классов описывает типы объектов системы и различного рода статические отношения, которые существуют между ними.

Класс – это описание набора объектов, которые имеют одинаковые атрибуты, операции, отношения и семантику. Изображение класса показано на рис. 4.

Класс

Имя

Атрибуты

Операции

Дополнительные свойства

Рис. 4.

У класса обязательно указывать только имя. Остальные характеристики (атрибуты, операции) можно не указывать, если это не затрудняет понимание диаграммы. Часто на диаграммах показывают только существенные в текущем контексте атрибуты и операции. Отдельные секции могут быть пустыми.

Структурная функциональность класса определяется свойствами. В первом приближении их можно рассматривать как поля класса. Свойства представляют единое понятие, которое воплощается в атрибутах и ассоциациях.

Формат задания атрибутов следующий:

<видимость> <имя> : <тип> <кратность> = <значение по умолчанию> {<строка свойств>}.

Например:

+ model: String[1] = “ВАЗ-2101” {ReadOnly}

Обязательно только имя. Атрибуты и операции класса могут следующую область видимости:

+ – все объекты (public);

- – только внутри данного класса (private);

# – только потомки данного класса (protected);

~ – только внутри данного пакта (package).

Имя атрибута – это способ ссылки класса на атрибут – приблизительно соответствует имени поля в языке программирования. Тип атрибута накладывает ограничение на вид объекта, который может быть размещен в атрибуте. Можно считать его аналогом типа поля в языке программирования. Кратность обозначает количество объектов, которые могут заполнять данное свойство. Значение по умолчанию представляет собой значение для вновь создаваемых объектов, если атрибут не определен в процессе создания. Строка свойств позволяет указать дополнительные свойства атрибута. Например, ReadOnly говорит о том, что значение атрибута нельзя изменить.

Ассоциация – это другая разновидность свойства. Она описывает отдельные связи между объектами. Ассоциация является «клеем», который связывает систему воедино. Без ассоциаций мы имели бы некоторое количество классов, неспособных взаимодействовать друг с другом. На концах линии ассоциации может указываться кратность. Она показывает, сколько объектов может участвовать в связи с соответствующей стороны. В языке программирования ассоциацию можно реализовать как отдельный класс, содержащий поля, указывающие на связываемые объекты. В другом способе реализации поля для ссылок на объекты могут быть в классах участвующих в ассоциации.

На рис. 5 показаны два представления свойств (атрибут и ассоциация).

Представление свойств класса

Рис. 5

На конце ассоциации могут указываться стрелки, которые указывают на целевой класс ассоциации. Целевой класс – это класс, который является типом свойства. Бывают двунаправленные ассоциации – это пара свойств, связанных в противоположных направлениях.

С помощью атрибутов обычно указывают небольшие элементы, такие как даты или логические значения, а ассоциации используются для более значимых классов, таких как клиенты или заказы.

Операции представляют собой действия, реализуемые некоторым классом. Формат задания операций следующий:

<видимость> <имя> (<список параметров>) : <тип возвращаемого значения> {< строка свойств >}.

Параметры в списке параметров обозначаются таким же образом, что и для атрибутов:

<направление> <имя> : <тип> = <значение по умолчанию>

Направление обозначает, является ли параметр входным (in), выходным (out) или тем и другим (inout). Если направление не указано, то предполагается in.

Кроме ассоциации между элементами диаграммы классов могут существовать следующие виды отношений (см. рис. 6):