Объектов, которые обладают одинаковой структурой, поведением

и отношениями с объектами из других классов. Графически класс

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

быть разделен горизонтальными линиями на разделы или секции. В

этих разделах могут указываться имя класса, атрибуты (переменные) и

операции (методы).

 

 

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


 

 

Классы

 

· Окончательный вариант диаграммы содержит наиболее полное описание классов, которые состоят из трех разделов или секций. Иногда в обозначениях классов используется дополнительный четвертый раздел, в котором приводится семантическая ииннффооррммаацциияя ссппррааввооччннооггоо ххааррааккттеерраа ииллии яяввнноо указываются исключительные ситуации.








 

 

Имя атрибута

 

 

· Имя атрибута представляет собой строку текста, которая используется в качестве идентификатора

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



 

 

Тип атрибута

 

· Тип атрибута представляет собой

выражение, семантика которого определяется языком спецификации

соответствующей модели. В нотации UML

тип атрибута иногда определяется в

ааввииссииммооссттии оотт яяззыыккаа ппррооггррааммммиирроовваанниияя

который предполагается использовать для реализации данной модели. В простейшем

случае тип атрибута указывается строкой

текста, имеющей осмысленное значение в пределах пакета или модели, к которым

относится рассматриваемый класс.


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

 

· цвет: Соlоr - здесь цвет является именем атрибута, Color - именем типа данного атрибута.

 

· имя_сотрудника [1..2] : String - здесь имя_сотрудника является именем атрибута, который служит для представления информации об имени, а возможно, и отчестве конкретного сотрудника. Тип атрибута String (Строка) как раз и указывает на тот факт, что отдельное значение имени представляет собой строку текста из одного или двух

лов (например, "Кирилл" или "Дмитрий Иванович").

 

· видимость:Boolean - здесь видимость есть имя абстрактного атрибута (курсив здесь не случаен), который может характеризовать наличие визуального представления соответствующего класса на экране монитора. В этом случае тип Boolean означает, что возможными значениями данного атрибута является одно из двух логических значений: истина (true) или ложь (false). При этом значение истина может соответствовать наличию графического изображения на экране монитора, а значение ложь - его отсутствию

 

· форма:Многоугольник - здесь имя атрибута форма может характеризовать такой класс, который является геометрической фигурой на плоскости. В этом случае тип атрибута Многоугольник указывает на тот факт, что отдельная геометрическая фигура может иметь форму треугольника, прямоугольника, ромба, пятиугольника и любого другого многоугольника, но не окружности или эллипса.







 

 

Примеры записи операций

 

· +создать() - может обозначать абстрактную операцию по созданию отдельного объекта класса, которая является общедоступной и не содержит формальных параметров. Эта операция не возвращает никакого значения после своего выполнения.

 

· +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color = (0, 0, 255)) - может обозначать операцию по изображению на экране монитора прямоугольной области синего

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

 

· запросить_счет_клиента(номер_счета:Integег):Сиггеnсу -обозначает операцию по установлению наличия средств на текущем счете клиента банка. При этом аргументом данной операции является номер счета клиента, который записывается в виде целого числа (например, "123456"). Результатом выполнения этой операции является некоторое число, записанное в принятом денежном формате (например, $1,500.00).

 

· выдать_сообщение():{"Ошибка деления на ноль"} Данное сообщение может появиться на экране монитора в случае попытки деления некоторого числа на ноль, что недопустимо.


 

 

Отношения между классами

 

Базовыми отношениями или связями в языке UML являются:

 

· Отношение зависимости ттнноошшееннииее аассссооццииааццииии


· Отношение · Отношение · Отношение

· Отношение


обобщения реализации агрегации

композиции