11625

Добавление и редактирование атрибутов классов

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа №2 часть2 Добавление и редактирование атрибутов классов Из всех графических элементов среды IBM Rational Rose 2003 класс обладает максимальным набором свойств главными из которых являются его атрибуты и операции. Поскольку именно диаграмма классов исполь...

Русский

2013-04-10

163.5 KB

2 чел.

Лабораторная работа №2, часть2

Добавление и редактирование атрибутов классов

Из всех графических элементов среды IBM Rational Rose 2003 класс обладает максимальным набором свойств, главными из которых являются его атрибуты и операции. Поскольку именно диаграмма классов используется в среде IBM Rational Rose 2003 для генерации программного кода, в данной лабораторной работе будут подробно рассмотрены соответствующие свойства атрибутов и операций.

Добавить атрибут к созданному ранее классу можно одним из следующих способов:

  •  С помощью операции контекстного меню New Attribute (Новый атрибут) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода текста в области графического изображения класса на диаграмме.
  •  С помощью операции контекстного меню: NewAttribute (НовыйАтрибут) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода текста в области иерархического представления класса в браузере проекта под именем соответствующего класса.
  •  С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки атрибутов в диалоговом окне свойств Class Specification соответствующего класса.

После добавления атрибута к классу по умолчанию ему присваивается имя name и некоторый квантор видимости (рис. 4.1).


Рис. 4.1.  Диалоговое окно спецификации свойств класса после добавления нового атрибута

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

Таблица 4.1. Пиктограммы видимости атрибутов классов

Графическое изображение

Текстовый аналог

Назначение пиктограммы

Public

Общедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+»

Protected

Защищенный. В нотации языка UML такому атрибуту соответствует знак «#»

Private

Закрытый. В нотации языка UML такому атрибуту соответствует знак «-»

Implementation

Реализация. В нотации языка UML такому атрибуту соответствует знак «∼»

Для редактирования свойств атрибутов предназначено специальное диалоговое окно спецификации атрибута Class Attribute Specification, которое открывается двойным щелчком мыши на строке выбранного атрибута в окне спецификации свойств класса. В окне свойств отдельного атрибута класса можно задать тип данных атрибута и его начальное значение, а также назначить атрибуту стереотип из раскрывающегося списка или изменить его квантор видимости.

Для атрибута идентификатор карточки в качестве типа его допустимых значений из вложенного списка Type следует выбрать тип Integer (целочисленный), а для задания квантора видимости следует выбрать в группе Export Control (Управление экспортом) квантор Public. Поскольку начальное значение для данного атрибута не определено, соответствующее поле ввода следует оставить пустым. В секцию документации данного атрибута класса можно ввести поясняющий текст: «Устройство чтения карточки считывает значение этого атрибута с кредитной карточки клиента» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования этих свойств атрибута. Соответствующее окно спецификации свойств атрибута идентификатор карточки после редактирования его общих свойств будет иметь следующий вид (рис. 4.2).


Рис. 4.2.  Диалоговое окно спецификации свойств атрибута идентификатор карточки после его редактирования

Для отдельного атрибута можно также определить дополнительные свойства, доступные для редактирования на вкладке Detail (Подробно) диалогового окна спецификации свойств выбранного атрибута (рис. 4.3).


Рис. 4.3.  Диалоговое окно спецификации свойств атрибута идентификатор карточки, открытое на вкладке Detail (Подробно)

На вкладке Detail в группе выбора Containment (Локализация) можно специфицировать условия хранения атрибута у объектов выбранного класса. Для выбора могут быть использованы следующие свойства:

  •  By value (По значению) - свойство по умолчанию, которое означает, что значения атрибута хранятся в пределах адресного пространства, выделенного для объекта данного класса. Например, если имеется атрибут типа String, то значение этой строки содержится в пределах определения класса.
  •  By reference (По ссылке) - означает, что значение атрибута хранится вне адресного пространства, выделенного для объекта данного класса, но у объектов класса имеется указатель на этот атрибут.
  •  Unspecified (Не определен) - означает, что метод локализации данного атрибута не определен. В этом случае при генерации программного кода для данного атрибута по умолчанию выбирается значение By value.

Далее можно определить атрибут как статичный, выставив отметку в строке выбора Static. Статичный атрибут по определению имеет одно и тоже значение для всех объектов рассматриваемого класса. Наконец, на вкладке Detail можно определить атрибут как производный, выставив отметку в строке выбора Derived. Значение производного атрибута по определению может быть вычислено на основании значений других атрибутов этого или другого класса.

Добавление и редактирование операций классов

Функционирование банкомата основано на выполнении отдельными его устройствами тех или иных действий. В модели структуры банкомата все действия представляются с помощью операций классов. Таким образом, следующий этап разработки диаграммы классов связан со спецификацией операций классов.

Добавить операцию к созданному ранее классу можно одним из следующих способов:

  •  С помощью операции контекстного меню New Operation (Новая операция) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода в области графического изображения класса на диаграмме.
  •  С помощью операции контекстного меню: NewOperation (НоваяОперация) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода в области иерархического представления класса в браузере под именем соответствующего класса.
  •  С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки операций в диалоговом окне свойств Class Specification соответствующего класса.

После добавления операции к классу по умолчанию ей присваивается имя opname и некоторый квантор видимости. Видимость операций на диаграмме классов также изображается в форме специальных пиктограмм или украшений. Используемые пиктограммы видимости изображаются перед именем соответствующей операции и имеют следующий смысл (табл. 4.2).

Таблица 4.2. Пиктограммы видимости операций классов

Графическое изображение

Текстовый аналог

Назначение пиктограммы

Public

Общедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+»

Protected

Защищенный. В нотации языка UML такому атрибуту соответствует знак «#»

Private

Закрытый. В нотации языка UML такому атрибуту соответствует знак «-»

Implementation

Реализация. В нотации языка UML такому атрибуту соответствует знак «∼»

В контексте рассматриваемой модели банкомата в качестве имени первой операции для класса Транзакция Банкомата следует задать: создать новую транзакцию. При этом скобки при задании имени операции не записываются, поскольку программа IBM Rational Rose 2003 добавляет их автоматически. Однако, следуя правилам именования операций в языке UML, в тексте лекции имена операций будут указываться со скобками.

Каждая из операций классов имеет собственное диалоговое окно спецификации свойств Operation Specification, которое может быть открыто по двойному щелчку на имени операции на соответствующей вкладке спецификации класса или на имени этой операции в браузере проекта. Для операции создать новую транзакцию() в качестве квантора видимости следует выбрать из вложенного списка квантор public. В секцию документации данной операции класса можно ввести поясняющий текст: «Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств этой операции. Соответствующее окно спецификации свойств операции создать новую транзакцию() после редактирования ее свойств будет иметь следующий вид (рис. 4.4).


Рис. 4.4.  Диалоговое окно спецификации свойств операции создать новую транзакцию ()

Для операций классов кроме квантора видимости можно также задать: аргументы и их тип, тип возвращаемого результата, стереотип операции, а также определить протокол и размер, задать исключительные ситуации, специфицировать предусловия и постусловия и целый ряд других свойств. Для отдельной операции эти дополнительные свойства доступны для редактирования на вкладке Detail (Подробно) диалогового окна спецификации свойств выбранной операции (рис. 4.5).


Рис. 4.5.  Диалоговое окно спецификации свойств операции создать новую транзакцию(), открытое на вкладке Detail (Подробно)

На вкладке Detail в многостраничном поле Arguments (Аргументы) можно определить аргументы редактируемой операции. Для этого следует выполнить операцию контекстного меню Insert (Вставить). После этого в этом поле появится аргумент данной операции с именем по умолчанию argname. Для редактирования свойств аргумента предназначено специальное окно свойств аргумента.

На вкладке Detail в поле Protocol (Протокол) можно специфицировать порядок выполнения операций класса, например, указать, что одна операция не может быть вызвана раньше другой. Соответствующий текст в данное поле вводится с клавиатуры и попадает в генерируемый код в форме комментария. В поле Qualification (Квалификация) можно уточнить детали реализации операции, связанные с конкретным языком программирования. Соответствующий текст также вводится в данное поле с клавиатуры и попадает в генерируемый код в форме комментария.

Далее на этой же вкладке в полях Size (Размер) и Time (Время) можно специфицировать предполагаемый объем памяти и время, необходимое для выполнения операции. Соответствующая информация попадает в генерируемый код в форме комментария.

В группе выбора Concurrency (Параллельность) можно специфицировать условия на возможность параллельного выполнения данной операции. Для выбора могут быть использованы следующие свойства:

  •  Sequential (Последовательная) - свойство по умолчанию, которое означает, что данная операция класса может быть выполнена только при наличии одного потока управления, т. е. соответствующая операция класса должна выполняться последовательно. При наличии нескольких потоков управления выполнение данной операции класса не гарантируется.
  •  Guarded (Безопасная) - означает, что при наличии нескольких потоков управления выполнение данной операции класса гарантируется только в том случае, когда обеспечено взаимодействие объектов друг с другом в различных потоках.
  •  Synchronous (Синхронная) - означает, что выполнение данной операции класса гарантируется при наличии нескольких потоков управления. При этом нет необходимости во взаимодействии объектов в различных потоках управления, поскольку данная операция класса будет выполняться в отдельном потоке управления вплоть до своего завершения.

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

Спецификация атрибутов и операций для класса Транзакция Банкомата

Чтобы закончить спецификацию класса Транзакция Банкомата аналогичным способом следует добавить еще 3 атрибута и 2 операции со следующими свойствами:

  •  значение ПИН-кода карточки с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Integer (целочисленный), а в секцию документации атрибута ввести поясняющий текст: «Устройство чтения карточки считывает значение этого атрибута с кредитной карточки клиента».
  •  введенный ПИН-код с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Integer (целочисленный), а в секцию документации атрибута ввести поясняющий текст: «Значение этого атрибута вводится клиентом с клавиатуры банкомата».
  •  введенная сумма наличных с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Currency (Денежный), а в секцию документации атрибута ввести поясняющий текст: «Значение этого атрибута вводится клиентом с клавиатуры банкомата».
  •  проверить правильность ПИН-кода() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в секцию ее документации ввести поясняющий текст: «Вызывается после того, как клиент ввел значение ПИН-кода с клавиатуры банкомата».
  •  завершить транзакцию() с квантором видимости public. В секцию ее документации ввести поясняющий текст: «Вызывается после завершения всех действий банкомата по обслуживанию клиента».

Соответствующий фрагмент диаграммы классов после добавления и спецификации атрибутов и операций для класса Транзакция Банкомата будет иметь следующий вид (рис. 4.6).


Рис. 4.6.  Фрагмент диаграммы классов модели банкомата после добавления атрибутов и операций для класса Транзакция банкомата

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


 

А также другие работы, которые могут Вас заинтересовать

52336. АЛГОРИТМ ФОРМУВАННЯ ВМІНЬ ВИКОРИСТОВУВАТИ ЗНАННЯ ПРИ РОЗВ’ЯЗАННІ ТИПОВИХ ЗАДАЧ З МОЛЕКУЛЯРНОЇ БІОЛОГІЇ 309.5 KB
  ПРИКЛАДИ РОЗВЯЗАННЯ ЗАДАЧ НА МОЛЕКУЛЯРНІ ОСНОВИ СПАДКОВОСТІ Під час розвязання таких задач необхідно памятати що: довжина одного нуклеотида або відстань між двома сусідніми вздовж осі ДНК становить 034 нм; середня молекулярна маса одного нуклеотида 345 умовних одиниць; середня молекулярна маса однієї амінокислоти дорівнює 100 умовних одиниць; молекула білка в середньому складається з 200 амінокислот; кожну амінокислоту в білковій молекулі кодує триплет нуклеотидів іРНК під час трансляції; для визначення довжини гена l...
52337. Запліднення і внутрішньоутробний розвиток людини 621 KB
  Мета: створити умови для: усвідомленого інформаційного запиту про ембріональний розвиток людини; розуміння учнями значущості знань про індивідуальний розвиток людини; формування морального відношення до зачаття і вагітності, відповідальності за життя, яке не народилось;
52338. Основні групи м’язів тіла людини. Фізичні якості м’язів 50 KB
  Обладнання: таблиця Мязи людини роздаткові картки підручник Біологія 9 клас автор А.Вступ До опорнорухової системи людини належить на лише скелет людини але й мязи які мають властивість збуджуватися і скорочуватися і в результаті виконують основну функцію рухову. До речі скелетні мязи складають близько 40 маси тіла людини. Скелетні мязи виконують функцію мязового насоса при чому покращується рух венозної крові до серця.
52340. Суцвіття 550 KB
  Мета уроку: сформувати поняття суцвіттязнайомити учнів з функціями суцвіть розглянути їх будову і різноманітність; розвивати: вміння виділяти головне порівнюватиузагальнювати систематизувативміння розпізнавати суцвіття і тренувати їх у застосуванні набутих знань у нестандартних ситуаціях; виховувати: естетичні смаки учнів відповідальність за стан навколишнього середовища бережливе ставлення до природи. Обладнання: таблиці: Будова квітки Будова суцвіть Прості суцвіття Складні суцвіттякартки з кросвордом схемою та...
52341. Віруси 711.5 KB
  Вивчити будову класифікацію вірусів. Велика популярність персональних компютерів разом з розвитком мережі Інтернет сприяла появі великої кількості різних шкідливих програм вірусів. Постановка цілей і задач Мета: Ввести поняття Вірус; Вивчити його будову; Класифікацію вірусів; Зясувати їх вплив на живу та неживу природу. Деякі віруси вносять також власні білки необхідні для її реалізації особливо це характерно для вірусів що містять негативні РНК.
52342. Прес-конференція «Різноманітність птахів» 71.5 KB
  Мета: розширити знання учнів про представників класу Птахи показати їх різноманітність особливості будови та способу життя пристосування до середовища; ознайомити з характерними ознаками представників надряду Безкілеві птахи та Пінгвіни з представниками кілегрудих фауни України; продовжувати розвивати комунікативні та соціальні компетентності учнів; виховувати свідоме ставлення до природи її багатств та її захисту. Птахи це диво Їх велика кількість. Птахи Хоча ви вже багато вивчили про птахів але коли ви почуєте це слово кожний...
52343. Фантазія і творчість у роботі архітекторів 4.35 MB
  Мета уроку: Розширити уявлення про дизайн, ознайомити з наукою біонікою та показати її значення в житті людей. Спонукати до пізнання законів природи, пошуку біонічних форм. Навчити створювати контурні замальовки спрощених природних форм.