Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема-05-02испр.docx
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
797.95 Кб
Скачать

5.2.4.3. Визуализация класса

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

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

Объекты, которые определяются классом, обладают состоянием и поведением. Состояние описывается атрибутами и ассоциациями. Атрибуты обычно используются для хранения значе­ний, не обладающих индивидуальностью (например, чисел и строк). Ассоциации нужны для связы­вания объектов, обладающих индивидуальностью. Отдельные элементы поведения описываются операциями класса. Реализацией операций является метод.

Нотация класса в UML выглядит как прямоугольник с разделами для имени класса, атрибу­тов и операций.

Именем класса обычно является слово, начинающееся с прописной буквы. Оно располагает­ся вверху прямоугольника. Если имя класса состоит из двух слов, то их можно объединить и вто­рое слово также написать с прописной буквы, например: СтиральнаяМашина.

Рис 5.2.-9. Нотация класса в UML.

Класс обладает уникальным именем в рамках своего контейнера. В качестве контейнера может выступает другой класс.

Атрибуты описывают перечень значений, в рамках которых указываются свойства объектов (т.е. экземпляров) этого класса. Класс может не иметь атрибутов или содержать любое их количе­ство. Имена атрибутов, могут состоять из одного слова или из нескольких. Если имя состоит из нескольких слов, то эти слова объединяются, и каждое слово начинается с прописной буквы. Спи­сок имен атрибутов начинается ниже линии, отделяющей их от имени класса (рис. 5.2-12).

Рис. 5.2-12. Класс и его атрибуты

UML позволяет отображать дополнительную информацию об атрибутах. В изображении класса можно указать тип для каждого значения атрибута. Перечень возможных типов включает строку, число с плавающей точкой, целое число, логическое значение и другие перечислимые ти­пы. Перечислимый тип представляет собой информацию, заданную списком именованных значе­ний. Логический тип также является перечислимым, потому что он состоит из значений «истина» и «ложь». Разработчик может определить собственные перечислимые типы.

Для отображения типа используется двоеточие, которое отделяет имя атрибута от его типа. Здесь же можно указать значение атрибута но умолчанию. На рис. 5.2-13 показан этот способ задания атрибутов.

Рис. 5.2-13. Указание типа и значения по умолчанию для атрибутов

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

Операция – это то, что может выполнять класс, либо то, что пользователь (или другой класс) может выполнять над данным классом. Если имя операции состоит из нескольких слов, они со­единяются, и все слова пишутся с прописной буквы. Список операций начинается ниже линии, от­деляющей операции от атрибутов (рис. 5.2-14).

Рис. 5.2-14. Список операций класса располагается ниже списка атрибутов

Так же, как и для атрибутов, можно отобразить дополнительную информацию об операциях. В скобках, следующих за именем операции, можно указать параметр операции и его тип. Один из типов операций, функция, по окончании работы возвращает значение. В этом случае можно указать возвращаемое значение и его тип. Перечисленные фрагменты информации об операции носят название сигнатуры операции. На рис. 5.2-15 представлены операции с сигнатурой.

Рис. 5.2-15. Сигнатура операций

В UML существует механизм расширения языка – стереотип. Стереотип позволяет создавать новые элементы с учетом особенностей решаемой задачи. Он является гибкой конструкцией, которую можно использовать в различных ситуациях. Например, если разместить его над именем класса, то можно задать дополнительную информацию о роли этого класса. На рис. 5.2-16. представ­лен класс со стереотипом, который указывает, что это класс реализации, а не абстрактный или ка­кой-либо еще класс.

Рис. 5.2-16. Класс с уточненным стереотипом

Проектировщик должен стремиться к тому, чтобы наиболее точно описать класс, поэтому существует способ исключить двусмысленность описания в виде добавления ограничений. Ограничение представляется в виде текста в фигурных скобках рядом с изображением класса. Этот текст задает одно или несколько правил класса, к которому он относится. Например, для класса СтиральнаяМашина нужно указать, что емкость барабана может составлять 3, 5 или 8 килограмм (и таки образом «ограничить» атрибут емкости).

Помимо атрибутов, операций, и ограничений, дополнительную информацию о классе можно представить в виде комментариев, присоединенных к классу, комментарии обычно связаны с ат­рибутами и операциями. На рис. 5.2-17 приведен класс с ограничением атрибута «емкость» и ком­ментарием, ссылающийся на правительственный стандарт по формированию номеров изделий для объектов класса СтиральнаяМашина.

Рис 5.2-17.Ограничения и комментарии

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

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