Рис. 5.2. Диалоговое окно спецификации свойств атрибута идентификатор карточки после его редактирования
Для отдельного атрибута можно также определить дополнительные свойства, доступные для редактирования на вкладке Detail (Подробно) диалогового окна спецификации свойств выбранного атрибута (рис. 5.3).
На вкладке Detail в группе выбора Containment (Локализация) можно специфицировать условия хранения атрибута у объектов выбранного класса. Для выбора могут быть использованы следующие свойства:
· By value (По значению) - свойство по умолчанию, которое означает, что значения атрибута хранятся в пределах адресного пространства, выделенного для объекта данного класса. Например, если имеется атрибут типа String, то значение этой строки содержится в пределах определения класса.
· By reference (По ссылке) - означает, что значение атрибута хранится вне адресного пространства, выделенного для объекта данного класса, но у объектов класса имеется указатель на этот атрибут.
· Unspecified (Не определен) - означает, что метод локализации данного атрибута не определен. В этом случае при генерации программного кода для данного атрибута по умолчанию выбирается значение By value.
Далее можно определить атрибут как статичный, выставив отметку в строке выбора Static. Статичный атрибут по определению имеет одно и тоже значение для всех объектов рассматриваемого класса. Наконец, на вкладке Detail можно определить атрибут как производный, выставив отметку в строке выбора Derived. Значение производного атрибута по определению может быть вычислено на основании значений других атрибутов этого или другого класса.
Добавление и редактирование операций классов Функционирование банкомата основано на выполнении отдельными его устройствами тех или иных действий. В модели структуры банкомата все действия представляются с помощью операций классов. Таким образом, следующий этап разработки диаграммы классов связан со спецификацией операций классов.
Добавить операцию к созданному ранее классу можно одним из следующих способов:
· С помощью операции контекстного меню New Operation (Новая операция) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода в области графического изображения класса на диаграмме.
· С помощью операции контекстного меню: New Operation (Новая Операция) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода в области иерархического представления класса в браузере под именем соответствующего класса.
· С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки операций в диалоговом окне свойств Class Specification соответствующего класса.
После добавления операции к классу по умолчанию ей присваивается имя opname и некоторый квантор видимости. Видимость операций на диаграмме классов также изображается в форме специальных пиктограмм или украшений. Используемые пиктограммы видимости изображаются перед именем соответствующей операции и имеют следующий смысл (табл. 5.2).