Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UML.doc
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
8.2 Mб
Скачать

2.5.1.5.1. Добавление и удаление атрибутов

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

Добавление атрибута выполняется непосредственно на диаграмме Классов, в браузере или в окне спецификации класса.

С атрибутом можно связать некоторое текстовое описание. Как правило, это короткое описание или определение атрибута. В генерируемый код оно войдет в качестве комментария. Таким образом, документируя атрибут, вы начинаете документировать и код.

2.5.1.6. Спецификации атрибута

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

Рис. 18.Окно спецификации атрибута

2.5.1.6.1. Задание типа данных атрибута

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

В качестве типов данных можно использовать либо встроенные типы языка программирования, либо определенные в вашей модели имена классов. Для того чтобы имена определенных в модели классов выводились в раскрывающемся списке типов данных атрибутов, уста­новите флажок Show Classes (Показать классы).

Для атрибута можно задать значение по умолчанию в поле Initial Value (Начальное значение). Для генерации кода задавать начальные значения необязательно. Тем не менее при их наличии генерируемый код будет соответствующим образом инициализировать ат­рибут.

2.5.1.6.2. Назначение стереотипа для атрибута

Как у действующих лиц, вариантов использования и классов, у атрибутов могут быть стереотипы. Сте­реотип атрибута является способом его классификации. Например, некоторые атрибуты могут соот­ветствовать полям базы данных, а другие нет. Для каждого такого типа можно определить свой стереотип.

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

2.5.1.6.3. Задание видимости атрибута

Так как атрибуты содержатся внутри класса, они скрыты от других классов. В связи с этим нужно указать, какие классы имеют право читать и изменять атрибуты. Это свойство называется видимостью атрибута (attribute visibility)

Допустимы четыре значения этого параметра:

1) Public (Общий, открытый) - атрибут виден всем остальным классам. Любой класс может про­смотреть или изменить значение атрибута. В соответствии с нотацией UML общему атрибуту предшествует знак "+".

2) Private (Закрытый, секретный) - атрибут не виден никаким другим классам. Доступ к таким атрибутом обычно делается с помо­щью общих операций. В соответствии с нотацией UML закрытый атрибут обозначает­ся знаком "-".

3) Protected (Защищенный) - атрибут доступен только самому классу и его потомкам. Нотация UML для защищенного атрибута — знак "#".

4) Package or Implementation (Пакетный) - атрибут является общим, но только в пределах своего пакета, т.е. он может быть изменен из класса находящегося в том же пакете. Данный тип види­мости не обозначается никаким специальным значком.

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

В среде Rose поддерживаются два набора нотаций видимости. Первый — это нотация UML (+,-,#) для общих, закрытых и защищенных атрибутов соответственно. Вторая включает в себя четыре знач­ка Rose, показанных в таблице 1.

Таблица 1

Пиктограммы видимости Rose и UML

Пиктограмма Rose

UML

Описание

+

Public

-

Private

#

Protected

<нет значка>

Package or Implementation

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]