учебники, программирование, основы, введение в,

 

Разработка диаграммы последовательности и редактирование свойств ее элементов

Особенности разработки диаграммы последовательности в среде IBM Rational Rose
Диаграмма последовательности является другой формой визуализации взаимодействия в модели и, как и диаграмма кооперации, оперирует объектами и сообщениями. Общие рекомендации по построению диаграммы последовательности были рассмотрены в лекции 8 курса «Основы объектно-ориентированного моделирования в нотации UML». Особенность работы в среде IBM Rational Rose 2003 заключается в том, что этот вид канонической диаграммы может быть создан автоматически после построения диаграммы кооперации и нажатия клавиши <F5>. С помощью этой же клавиши осуществляется переключение между диаграммами последовательности и кооперации в модели.
Однако в отдельных случаях бывает удобно начать построение диаграмм взаимодействия с диаграммы последовательности. В этом случае активизировать рабочее окно диаграммы последовательности можно несколькими способами:

  • Щелкнуть на кнопке с изображением диаграммы взаимодействия на стандартной панели инструментов и выбрать для построения диаграмму последовательности.
  • Выполнить операцию главного меню: BrowseInteraction Diagram (БраузерДиаграмма взаимодействия) и выбрать для построения новую диаграмму последовательности.
  • Выполнить операцию контекстного меню: NewSequense Diagram (НоваяДиаграмма последовательности) для логического представления или представления вариантов использования в браузере проекта.

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


Таблица 8.1. Назначение кнопок специальной панели инструментов диаграммы последовательности

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

Всплывающая подсказка

Назначение кнопки

Selection Tool

Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме

Text Box

Добавляет на диаграмму текстовую область

Note

Добавляет на диаграмму примечание

Anchor Note to Item

Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы

Object

Добавляет на диаграмму объект

Object Message

Добавляет на диаграмму простое сообщение

Message To Self

Добавляет на диаграмму рефлексивное сообщение

Return Message

Добавляет на диаграмму сообщение типа возврата из вызова процедуры

Destruction Marker

Добавляет на диаграмму символ уничтожения объекта

Procedure Call

Добавляет на диаграмму сообщение типа вызова процедуры (по умолчанию отсутствует)

Asynchronous Message

Добавляет на диаграмму асинхронное сообщение (по умолчанию отсутствует)

На специальной панели инструментов по умолчанию присутствует практически все пиктограммы элементов, которые могут быть использованы для построения диаграммы последовательности. Из дополнительных пиктограмм графических элементов на специальную панель инструментов можно добавить лишь сообщение типа вызова процедуры и асинхронное сообщение (последняя строка табл. 8.1). Относительно изображения асинхронного сообщения в форме полустрелки следует заметить, что хотя в версии языка UML 1.5 этот элемент отсутствует, в среде IBM Rational Rose 2003 возможно изобразить этот тип сообщений в форме специального графического стереотипа.

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

Добавление сообщения на диаграмму последовательности и редактирование его свойств
Для добавления сообщения между предварительно размещенными на диаграмме объектами нужно с помощью левой кнопки мыши нажать кнопку с изображением сообщения на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении линии жизни одного объекта на диаграмме и отпустить ее на изображении линии жизни второго объекта.
В результате этих действий на диаграмме появится изображение сообщения, передаваемого, например, от экземпляра актера Клиент Банкомата объекту класса Устройство чтения карточки. Поскольку кнопка с изображением актера отсутствует на специальной панели инструментов диаграммы последовательности, соответствующий объект следует предварительно поместить на диаграмму способом перетаскивания пиктограммы актера из браузера проекта. При этом изображение линии жизни у соответствующей пары объектов изменится на изображение фокуса управления
Для спецификации свойств добавленного сообщения предназначено специальное окно, которое можно открыть двойным щелчком на изображении сообщения на диаграмме последовательности. Имя сообщения можно выбрать на вкладке General (Общие) из выпадающего списка операций соответствующего класса-приемника
Имя сообщения можно выбрать также из контекстного меню сообщения, в котором перечислены все операции класса-приемника данного сообщения (

Построение диаграммы последовательности сводится к добавлению и редактированию свойств отдельных объектов и сообщений. Доступ к окну спецификации свойств соответствующих элементов возможен также либо через контекстное меню, либо с помощью операции главного меню BrowseSpecification (ОбзорСпецификация). При добавлении сообщений на диаграмму последовательности они получают по умолчанию свой номер в общей последовательности сообщений.
Следует заметить, что по умолчанию нумерация сообщений на диаграмме последовательности может быть отключена. При необходимости показать номера сообщений следует выполнить операцию главного меню: ToolsOptions (ИнструментыПараметры), открыть вкладку Diagram (Диаграмма) и выставить отметку выбора строки Sequence numbering (Нумерация сообщений на диаграмме последовательности) в группе свойств Display
Это же окно спецификации свойств модели можно открыть с помощью операции главного меню: ViewToolbarsConfigure (ВидПанели инструментовНастроить),
Для детальной спецификации свойств сообщений на диаграмме последовательности можно использовать также группу свойств Synchronization (Синхронизация) и Frequency (Частота), доступные для выбора на вкладке Detail (Подробно) окна спецификации сообщения. При изменении способа синхронизации передаваемого сообщения изменяется графическое изображение стрелки соответствующего сообщения. Поскольку характеристика данных свойств сообщений и их графическое изображение соответствующих стрелок приводится в предыдущей лекции 7 (см. табл. 7.2), в данной лекции они не рассматриваются.

Окончательное построение диаграммы последовательности модели банкомата
Для завершения построения диаграммы последовательности рассматриваемого примера следует описанным выше способом добавить оставшиеся объекты и сообщения. С этой целью следует выполнить следующие действия:

  1. Добавить объекты классов с именами: Контроллер Банкомата, Транзакция Банкомата, Клавиатура Банкомата, Экран Банкомата, Принтер Банкомата, Устройство выдачи наличных и IИнтерфейс Банка.
  2. Добавить сообщение: проверить идентификатор карточки (Integer), направленное от объекта класса Контроллер Банкомата к объекту класса IИнтерфейс Банка.
  3. Добавить сообщение: ввести ПИН-код(), направленное от объекта класса-актера Клиент Банкомата к объекту класса Клавиатура Банкомата.
  4. Добавить сообщение: прочитать ПИН-код(), направленное от объекта класса Контроллер Банкомата к объекту класса Устройство чтения карточки.
  5. Добавить сообщение: создать новую транзакцию(), направленное от объекта класса Контроллер Банкомата к изображению объекта класса Транзакция Банкомата. При этом изображение объекта класса Транзакция Банкомата следует переместить вниз на уровень этого сообщения, что будет визуально означать создание данного объекта в более поздний момент времени, чем начало функционирования моделируемой программной системы.
  6. Добавить сообщение: проверить правильность ПИН-кода(), направленное от объекта класса Контроллер Банкомата к объекту класса Транзакция Банкомата.
  7. Добавить сообщение: показать меню опций(), направленное от объекта класса Контроллер Банкомата к объекту класса Экран Банкомата.
  8. Добавить сообщение: ввести тип транзакции(), направленное от объекта класса-актера Клиент Банкомата к объекту класса Клавиатура Банкомата.
  9. Добавить сообщение: показать меню снятия суммы(), направленное от объекта класса Контроллер Банкомата к объекту класса Экран Банкомата.
  10. Добавить сообщение: ввести сумму снятия наличных(), направленное от объекта класса-актера Клиент Банкомата к объекту класса Клавиатура Банкомата.
  11. Последовательно добавить 3 сообщения: открыть счет клиента (Integer), проверить баланс клиента (Integer, Currency) и уменьшить счет клиента (Integer, Currency), направленные от объекта класса Контроллер Банкомата к объекту класса IИнтерфейс Банка.
  12. Добавить сообщение: распечатать чек(), направленное от объекта класса Контроллер Банкомата к объекту класса Принтер Банкомата.
  13. Добавить сообщение: вернуть кредитную карточку(), направленное от объекта класса Контроллер Банкомата к объекту класса Устройство чтения карточки.
  14. Добавить сообщение: выдать наличные(), направленное от объекта класса Контроллер Банкомата к объекту класса Устройство выдачи наличных.
  15. Добавить сообщение: завершить транзакцию(), направленное от объекта класса Контроллер Банкомата к объекту класса Транзакция Банкомата.
  16. После добавления сообщения завершить транзакцию() поместить на линию жизни объекта класса Транзакция Банкомата символ уничтожения этого объекта.

Фрагмент диаграммы последовательности, описывающая реализацию типичного хода событий варианта использования Снятие наличных по кредитной карточке для проекта системы управления банкоматом, показан на
Если необходимо изменить порядок следования сообщений, то из двух диаграмм взаимодействия данное действие удобнее выполнить на диаграмме последовательности, чем на диаграмме кооперации. В этом случае достаточно нажать левую кнопку мыши на стрелке соответствующего сообщения и, не отпуская ее, перетащить вертикально вверх или вниз данное сообщение. Дополнительно можно добавить потоки данных и определить устойчивость объектов на основе активизации соответствующих спецификаций. Указанные действия, а также построение диаграмм последовательности, описывающих реализации других вариантов использования, предлагается выполнить читателям самостоятельно в качестве упражнения.

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г.Яндекс.Метрика