Диаграмма классов – это диаграмма, на которой представлена совокупность статистических элементов модели, таких как классы, а также связывающие их отношения.
Диаграмма классов предназначена для представления статистической структуры модели системы. При этом она может содержать интерфейсы, пакеты и отдельные экземпляры классификаторов, такие как объекты и связи. На диаграмме классов представляются такие структурные взаимосвязи, которые не зависят от времени.
Класс (class) – это абстрактное описание множества объектов, имеющих одинаковые атрибуты, операции и отношения с объектами других классов.
Графически класс изображается в виде прямоугольника, который может быть разделен горизонтальными линиями на три раздела, в которых указываются имя класса, атрибуты и операции (рис.1, а, б, в).
На начальных этапах разработки диаграммы некоторые классы могут обозначаться простым прямоугольником, в котором должно быть указано имя класса (рис.1, а), а по мере проработки диаграммы дополняться атрибутами (рис.1, б) и операциями (рис.1, в).
Имя класса. Имя класса должно быть уникальным в пределах пакета, который может содержать одну или несколько диаграмм классов.
Имя указывается в самом верхнем разделе прямоугольника. Имя класса записывается полужирным шрифтом и должно начинаться с заглавной буквы. Рекомендуется в качестве имен классов использовать существительные, записанные без пробелов.
Класс может иметь или не иметь объекты. В зависимости от этого различают конкретные и абстрактные классы.
Конкретный класс (concrete class) – это класс, на основе которого могут быть непосредственно созданы объекты.
Абстрактный класс (abstract class) – это класс, который н имеет объектов.
Запись атрибутов класса в языке UML стандартизирована и подчиняется определенным синтаксическим правилам. Каждому атрибуту класса соответствует отдельная строка текста, которая имеет следующий вид:
<квантор видимости><имя атрибута>[кратность]:
<тип атрибута> = <исходное значение>{свойство}
Видимость(visibility) – это свойство, определяющее потенциальную возможность других объектов модели оказывать влияние на поведение данного класса.
Квантор видимости может принимать одно из трех возможных значений:
- Общедоступный (public) – обозначается символом «+». Атрибут с этой областью видимости доступен любому другому классу диаграмм.
- Защищенный (protected) – обозначается символом «#». Атрибут с этой областью видимости недоступен для всех классов, за исключением подклассов данного класса.
- Закрытый (private) – обозначается символом «-». Атрибут с этой областью видимости недоступен для всех классов без исключения и может использоваться только данным классом.
Квантор видимости может быть опущен. В этом случае его отсутствие означает, что видимость атрибута не указывается.
Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного класса. В общем случае кратность записывается после имени соответствующего атрибуты следующим образом:
[нижняя_граница_1..верхняя_граница_1,
Нижняя_граница_k..верхняя_граница_k],
Где нижняя_граница и верхняя_граница являются положительными числами. Каждая пара чисел служит для обозначения отдельного замкнутого интервала.
Тип атрибута определяется в зависимости от языка программирования, который предполагается использовать для реализации данной модели.
Свойство служит для указания дополнительных свойств атрибута, которые могут характеризовать особенности изменения значений атрибута в ходе выполнения программы.
Операции класса
Операция (operation) – это сервис, предоставляемый каждым объектом класса по требованию своих клиентов, в качестве которых могут выступать другие объекты данного класса.
Совокупность операций характеризует функциональный аспект поведения объектов данного класса.
Запись операций класса в языке UML стандартизирована и подчиняется определенным синтаксическим правилам. Каждой операции класса соответствует отдельная строка, которая имеет следующий вид:
<квантор видимости><имя операции>(свойство параметров):
<тип возвращаемого значения>{свойство}
Имя операции представляет собой строку текста, которая используется в качестве идентификатора соответствующей операции и поэтому должна быть уникальной в пределах данного класса. Имя операции является единственным обязательным элементом синтаксического обозначения операции.
Параметры – это входные значения, используемые при выполнении операции.
Список параметров является перечнем разделенных запятой формальных параметров, каждый из которых может быть представлен в следующим виде:
<вид параметра> <имя параметра>:
<тип параметра> = <значение параметра по умолчанию>
Вид параметра – это одно из ключевых слов: in, out, inout. Если вид параметра не указывается, то по умолчанию указывается значение in. Имя параметра – это идентификатор формального параметра. Тип параметра зависит от конкретного языка программирования. Значение по умолчанию представляет собой некоторое конкретное значение для этого формального параметра.