Главное меню и стандартная панель инструментов
Главное меню программы IBM Rational Rose 2003 выполнено в общепринятом стандарте и имеет следующий вид (рис. 1.2).
Рис. 1.2. Внешний вид главного меню программы
Отдельные пункты меню объединяют сходные операции, относящиеся ко всему проекту в целом. Некоторые из пунктов меню содержат хорошо знакомые операции, такие как открытие проекта, вывод на печать диаграмм, копирование в буфер и вставка из буфера различных элементов диаграмм. Другие операции настолько специфичны, что могут потребоваться дополнительные усилия для их изучения (свойства операций генерации программного кода или проверки согласованности моделей). Назначение отдельных операций главного меню приводится далее в данной лекции.
Стандартная панель инструментов располагается ниже строки главного меню и имеет следующий вид (рис. 1.3). Некоторые из инструментов недоступны для нового проекта, который не имеет никаких элементов. Стандартная панель инструментов обеспечивает быстрый доступ к тем командам меню, которые выполняются разработчиками наиболее часто.
Рис. 1.3. Внешний вид стандартной панели инструментов
Пользователь может настроить внешний вид этой панели по своему усмотрению. Для этого необходимо выполнить операцию главного меню: Tools
Options (ИнструментыПараметры), открыть вкладку Toolbars (Панели инструментов) появившегося диалогового окна и нажать кнопку Standard (Стандартная) . В дополнительно открытом окне можно переносить требуемые кнопки из левого списка в правый список, а ненужные кнопки - из правого списка в левый. Данным способом можно показать или скрыть различные кнопки инструментов, а также изменить их размер. Назначение отдельных кнопок стандартной панели инструментов приводится далее при рассмотрении операций главного меню.Назначение операций главного меню File и Edit
Рабочий интерфейс средства IBM Rational Rose 2003 имеет главное меню, которое позволяет пользователю загружать и сохранять информацию во внешних файлах, изменять внешний вид элементов графического интерфейса, вызывать справочную информацию, вызывать другие диалоговые окна для работы с программой IBM Rational Rose 2003 и т.д. Рассмотрим назначение отдельных пунктов главного меню средства IBM Rational Rose 2003.
Операции главного меню File (Файл) позволяют создавать новые модели в нотации языка UML, загружать и сохранять разрабатываемую модель во внешнем файле, распечатывать на принтере разработанные диаграммы. Назначение операций этого пункта главного меню представлено в таблице 1.1.
Операции главного меню Edit (Редактирование) позволяют выполнять действия по редактированию элементов модели и их свойств, а также выполнять поиск элементов в рамках разрабатываемого проекта. Назначение операций этого пункта главного меню представлено в таблице 1.2.
New | Создает новую модель IBM Rational Rose 2003. При этом новая модель по умолчанию имеет имя untitled | ||
Open | Вызывает стандартное диалоговое окно открытия внешнего файла с диска. Открыть можно либо файл модели (файл с расширением «mdl»), либо файл подмодели (файл с расширением «ptl») | ||
Save | Позволяет сохранить разрабатываемую модель во внешнем файле на диске | ||
Save As | Позволяет сохранить разрабатываемую модель под другим именем во внешнем файле на диске. При этом вызывается стандартное диалоговое окно сохранения файла на диске с предложением задать имя соответствующего файла модели или подмодели. | ||
Save Log As | Позволяет сохранить содержание журнала во внешнем файле на диске с именем error.log. При этом вызывается стандартное диалоговое окно сохранения файла на диске с предложением изменить предлагаемое по умолчанию имя соответствующего файла. | ||
AutoSave Log | Позволяет автоматически сохранять содержание журнала во внешнем файле на диске с именем error.log. При первом выполнении этого пункта меню также вызывается стандартное диалоговое окно сохранения файла на диске с предложением изменить предлагаемое по умолчанию имя соответствующего файла. | ||
Clear Log | Очищает содержание журнала | ||
Load Model Workspace | Позволяет загрузить рабочую область из внешнего файла на диске. Вызывает стандартное диалоговое окно открытия внешнего файла с диска, при этом открыть можно файл с расширением «wsp» | ||
Save Model Workspace | Позволяет сохранить рабочую область модели во внешнем файле на диске. При выполнении этого пункта меню вызывается стандартное диалоговое окно сохранения файла с расширением «wsp» | ||
Save Model Workspace As | Позволяет сохранить рабочую область модели во внешнем файле на диске. Вызывается стандартное диалоговое окно сохранения файла с предложением изменить предлагаемое по умолчанию имя соответствующего файла | ||
Units | Позволяет загрузить категорию элементов модели из внешнего файла на диске. Вызывает стандартное диалоговое окно открытия внешнего файла с диска, при этом открыть можно файл с расширением «cat» | ||
Import | Позволяет импортировать информацию из внешних файлов различных форматов, включая файлы моделей, подмоделей, категорий и подсистем | ||
Export Model | Позволяет экспортировать информацию о модели во внешний файл. Вид этого пункта меню зависит от выделенного элемента модели | ||
Update | Позволяет вставить информацию обратного проектирования из внешнего файла с расширением «red» в разрабатываемую модель | ||
Позволяет распечатать на принтере отдельные диаграммы и спецификации различных элементов разрабатываемой модели. В этом случае вызывается диалоговое окно выбора диаграмм и спецификаций для печати на подключенном к данному компьютеру принтеру | |||
Print Setup | Вызывается стандартное диалоговое окно макета страницы для настройки свойств печати | ||
Edit Path Map | Вызывает окно задания путей доступа к файлам системы IBM Rational Rose 2003. Как правило, значения путей, установленные по умолчанию, следует изменять только в случае крайней необходимости | ||
<Имена файлов> | Секция с именами последних файлов, с которыми осуществлялась работа в IBM Rational Rose 2003 | ||
Exit | Прекращает работу и закрывает IBM Rational Rose 2003 |
table class="xml_table" cellpadding="2" cellspacing="1">
Таблица 1.2. Операции пункта главного меню Edit (Редактирование)
Назначение операций главного меню View, Format и Browse
Операции главного меню View (Вид) позволяют отображать на экране различные элементы рабочего интерфейса и изменять графическое представление диаграмм. Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 1.3).
Toolbars | Позволяет настроить внешний вид рабочего интерфейса системы IBM Rational Rose 2003 и содержит дополнительные подпункты:
Standard - делает видимой/невидимой стандартную панель инструментов (рис. 1.3) Toolbox - делает видимой/невидимой стандартную панель инструментов текущей активной диаграммы Configure - вызывает диалоговое окно настройки параметров модели, открытое на вкладке настройки панелей инструментов | ||
Status Bar | Делает видимой/невидимой строку состояния | ||
Documentation | Делает видимым/невидимым окно документации | ||
Browser | Делает видимым/невидимым браузер проекта | ||
Log | Делает видимым/невидимым окно журнала | ||
Editor | Делает видимым/невидимым встроенный текстовый редактор | ||
Time Stamp | Включает/выключает режим отображения времени в записях журнала | ||
Zoom to Selection | Изменяет масштаб изображения выделенных элементов модели , так чтобы они разместились в одном окне | ||
Zoom In | Увеличивает масштаб изображения | ||
Zoom Out | Уменьшает масштаб изображения | ||
Fit in Window | Изменяет (уменьшает) масштаб изображения всех элементов текущей диаграммы, так чтобы все они разместились в одном окне | ||
Undo Fit in Window | Отменяет изменение масштаба изображения размещения элементов в одном окне | ||
Page Breaks | Разбивает текущую диаграмму на страницы для последующей печати | ||
Refresh | Перерисовывает текущую диаграмму | ||
As Booch | Изображает элементы модели в соответствии с нотацией Г. Буча | ||
As OMT | Изображает элементы модели в соответствии с нотацией OMT | ||
As Unified | Изображает элементы модели в соответствии с нотацией языка UML |
Операции главного меню Format (Формат) позволяют выполнять действия по изменению внешнего вида элементов модели на различных диаграммах.
Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 1.4).
Font Size | Изменяет масштаб используемого шрифта |
Font | Вызывает диалоговое окно выбора шрифта |
Line Color | Вызывает диалоговое окно выбора цвета линий |
Fill Color | Вызывает диалоговое окно выбора цвета для изображения графических элементов диаграмм |
Use Fill Color | Включает/выключает режим отображения цвета для изображения графических элементов диаграмм |
Automatic Resize | Включает/выключает режим автоматического изменения размеров графических элементов диаграмм для отображения текстовой информации об их свойствах |
Stereotype | Позволяет выбрать способ изображения стереотипов выделенных элементов диаграммы и содержит дополнительные подпункты: None - стереотип не показывается; Label - стереотип отображается в форме текста; Decoration - стереотип отображается в форме небольшой пиктограммы в правом верхнем углу графического элемента; Icon - элемент диаграммы отображается в форме специального графического стереотипа, если данный стереотип предусмотрен в программе. |
Stereotype Label | Включает/выключает режим отображения текстовых стереотипов для взаимосвязей (ассоциаций, зависимостей и пр.) диаграммы |
Show Visibility | Включает/выключает режим отображения кванторов видимости атрибутов и операций выделенных классов |
Show Compartment Stereotypes | Включает/выключает режим отображения текстовых стереотипов атрибутов и операций выделенных классов |
Show Operation Signature | Включает/выключает режим отображения сигнатуры операций выделенных классов |
Show All Attributes | Делает видимыми/невидимыми атрибуты выделенных классов |
Show All Operations | Делает видимыми/невидимыми операции выделенных классов |
Suppress Attributes | Делает видимой/невидимой секцию атрибутов выделенных классов. Скрывает секцию атрибутов даже в том случае, когда выбрана опция Show All Attributes |
Suppress Operations | Делает видимой/невидимой секцию операций выделенных классов. Скрывает секцию операций даже в том случае, когда выбрана опция Show All Operations |
Line Style | Позволяет выбрать способ графического изображения линий взаимосвязей и содержит дополнительные подпункты: Rectilinear - линия изображается в форме вертикальных и горизонтальных отрезков; Oblique - линия изображается в форме наклонных отрезков; Toggle - промежуточный вариант изображения линии |
Layout Diagram | Позволяет автоматически разместить графические элементы в окне диаграммы с минимальным количеством пересечений и наложений соединительных линий |
Autosize All | Позволяет автоматически изменить размеры графических элементов текущей диаграммы таким образом, чтобы текстовая информация помещалась внутри изображений соответствующих элементов |
Layout Selected Shapes | Позволяет автоматически разместить выделенные графические элементы в окне диаграммы с минимальным количеством пересечений и наложений соеденительных линий |
Назначение операций этого пункта главного меню представлено в следующей таблице (табл. 1.4).
Font Size | Изменяет масштаб используемого шрифта |
Font | Вызывает диалоговое окно выбора шрифта |
Line Color | Вызывает диалоговое окно выбора цвета линий |
Fill Color | Вызывает диалоговое окно выбора цвета для изображения графических элементов диаграмм |
Use Fill Color | Включает/выключает режим отображения цвета для изображения графических элементов диаграмм |
Automatic Resize | Включает/выключает режим автоматического изменения размеров графических элементов диаграмм для отображения текстовой информации об их свойствах |
Stereotype | Позволяет выбрать способ изображения стереотипов выделенных элементов диаграммы и содержит дополнительные подпункты: None - стереотип не показывается; Label - стереотип отображается в форме текста; Decoration - стереотип отображается в форме небольшой пиктограммы в правом верхнем углу графического элемента; Icon - элемент диаграммы отображается в форме специального графического стереотипа, если данный стереотип предусмотрен в программе. |
Stereotype Label | Включает/выключает режим отображения текстовых стереотипов для взаимосвязей (ассоциаций, зависимостей и пр.) диаграммы |
Show Visibility | Включает/выключает режим отображения кванторов видимости атрибутов и операций выделенных классов |
Show Compartment Stereotypes | Включает/выключает режим отображения текстовых стереотипов атрибутов и операций выделенных классов |
Show Operation Signature | Включает/выключает режим отображения сигнатуры операций выделенных классов |
Show All Attributes | Делает видимыми/невидимыми атрибуты выделенных классов |
Show All Operations | Делает видимыми/невидимыми операции выделенных классов |
Suppress Attributes | Делает видимой/невидимой секцию атрибутов выделенных классов. Скрывает секцию атрибутов даже в том случае, когда выбрана опция Show All Attributes |
Suppress Operations | Делает видимой/невидимой секцию операций выделенных классов. Скрывает секцию операций даже в том случае, когда выбрана опция Show All Operations |
Line Style | Позволяет выбрать способ графического изображения линий взаимосвязей и содержит дополнительные подпункты: Rectilinear - линия изображается в форме вертикальных и горизонтальных отрезков; Oblique - линия изображается в форме наклонных отрезков; Toggle - промежуточный вариант изображения линии |
Layout Diagram | Позволяет автоматически разместить графические элементы в окне диаграммы с минимальным количеством пересечений и наложений соединительных линий |
Autosize All | Позволяет автоматически изменить размеры графических элементов текущей диаграммы таким образом, чтобы текстовая информация помещалась внутри изображений соответствующих элементов |
Layout Selected Shapes | Позволяет автоматически разместить выделенные графические элементы в окне диаграммы с минимальным количеством пересечений и наложений соеденительных линий |
Внешний вид других окон рабочего интерфейса программы IBM Rational Rose 2003 и назначение остальных операций главного меню рассматривается в следующей лекции.
средство IBM Rational Rose со
CASE- средство IBM Rational Rose со времени своего появления претерпело серьезную эволюцию, и в настоящее время представляет собой современный интегрированный инструментарий для проектирования архитектуры, анализа, моделирования и разработки программных систем. Именно в IBM Rational Rose язык UML стал базовой технологией визуализации и разработки программных систем, что определило популярность и стратегическую перспективность этого инструментария.
В рамках общего продукта IBM Rational Rose существуют различные варианты этого средства, отличающиеся между собой диапазоном предоставляемых возможностей. Базовым средством в настоящее время является IBM Rational Rose Enterprise Edition, которое обладает наиболее полными возможностями. Последней версией этого CASE-средства на момент написания курса лекций является программа IBM Rational Rose 2003 (release 2003.06.00), возможности которой аккумулируют практически все современные достижения в области информационных технологий. Наиболее характерные функциональные особенности этой программы заключаются в следующем:
интеграция с MS Visual Studio 6, которая включает поддержку на уровне прямой и обратной генерации кодов и диаграмм Visual Basic и Visual С++ с использованием ATL (Microsoft Active Template Library), Web-Классов, DHTML и протоколов доступа к различным базам данных;непосредственная работа (инжиниринг и реинжиниринг) с исполняемыми модулями и библиотеками форматов EXE, DLL, TLB, OCX.поддержка технологий MTS (Microsoft Transaction Server) и ADO (ActiveX Data Objects) на уровне шаблонов и исходного кода, а также элементов технологии Microsoft - COM+ (DCOM);полная поддержка компонентов CORBA и J2EE, включая реализацию технологии компонентной разработки приложений CBD (Component-Based Development), языка определения интерфейса IDL (Interface Definition Language) и языка определения данных DDL (Data Definition Language);полная поддержка среды разработки Java-приложений, включая прямую и обратную генерацию классов Java формата JAR, а также работу с файлами формата CAB и ZIP.
средстве IBM Rational Rose 2003
В CASE- средстве IBM Rational Rose 2003 реализованы общепринятые стандарты на рабочий интерфейс программы, аналогично известным средам визуального программирования. После установки IBM Rational Rose 2003 на компьютер пользователя, что практически не вызывает трудностей у разработчиков, запуск этого средства в среде MS Windows 2000/XP приводит к появлению на экране соответствующего рабочего интерфейса (рис. 1.1).
Рабочий интерфейс программы IBM Rational Rose 2003 состоит из различных элементов, основными из которых являются:
главное меню;стандартная панель инструментов;специальная панель инструментов;окно браузера проекта;рабочая область изображения диаграммы или окно диаграммы;окно документации;окно журнала.
Рассмотрим назначение и основные функции каждого из этих элементов.
Рис. 1.1. Общий вид рабочего интерфейса CASE-средства IBM Rational Rose 2003
Назначение операций главного меню Add-Ins, Window и Help
Пункт главного меню Add-Ins (Расширения) вызывает специальное диалоговое окно менеджера расширений для добавления их в операции пункта меню Tools (рис. 2.6). При этом доступными являются те расширения, которые были установлены при инсталляции программы IBM Rational Rose 2003. Поскольку перечень расширений и конкретный вид диалогового окна зависит от вида лицензии и конфигурации поставки IBM Rational Rose 2003, в данной лекции он не рассматривается.
Рис. 2.6. Внешний вид диалогового окна менеджера расширений
Операции главного меню Window (Окно) позволяют активизировать окно нужной диаграммы разрабатываемой модели из числа открытых и отображать все открытые окна диаграмм в различном графическом представлении. Назначение операций этого пункта главного меню представлено в таблице 2.4.
Cascade | Размещает окна всех открытых диаграмм модели каскадно |
Tile | Отображает в окне диаграмм все открытые диаграммы модели |
Arrange Icons | Упорядочивает расположение всех открытых диаграмм |
Секция, содержащая имена всех открытых диаграмм модели для переключения между ними. Если открывается новая диаграмма, то в этой секции появляется новая строка с именем этой диаграммы и ее типом, выбрав которую, можно сразу перейти в нужное окно |
Операции главного меню Help (Справка) позволяют получить справочную информацию о программе IBM Rational Rose 2003 и об особенностях разработки графических моделей в соответствующих нотациях. Назначение операций этого пункта главного меню представлено в таблице 2.5.
Contents and Index | Вызывает программу просмотра справочной системы, открытой на вкладке Содержание |
Search for Help on | Вызывает программу просмотра справочной системы, открытой на вкладке Указатель |
Using Help | Вызывает программу отображения информации об использовании справочной системы |
Extended Help | Вызывает специальную программу расширенной справочной системы |
Contacting Technical Support | Вызывает установленный в операционной системе по умолчанию браузер Интернет и делает попытку соединиться с web-сайтом технической поддержки компании IBM Rational при наличии доступа в Интернет |
Rational on the Web | Вызывает установленный в операционной системе по умолчанию браузер Интернет и делает попытку соединиться с web-сайтом компании IBM Rational при наличии доступа в Интернет. Выбор отдельной операции этого пункта меню определяет загрузку той или иной web-страницы компании, предназначенной для выполнения специальных действий по дополнительной поддержке средства IBM Rational Rose или загрузке имеющихся обновлений |
Rational Developer Network | Вызывает установленный в операционной системе по умолчанию браузер Интернет и делает попытку соединиться с web-сайтом разработчиков компании IBM Rational при наличии доступа в Интернет |
About Rational Rose | Отображает информацию о текущей рабочей версии IBM Rational Rose |
Назначение операций главного меню Report, Query и Tools
Операции главного меню Report (Отчет) позволяют отображать различную информацию об элементах разрабатываемой модели и вызывать диалоговое окно выбора шаблона для генерации отчета о модели. Назначение операций этого пункта главного меню представлено в таблице 2.1.
Show Usage | Отображает в диалоговом окне информацию об использовании выделенного элемента модели на различных диаграммах |
Show Instances | Отображает в диалоговом окне информацию об использовании объектов выделенного класса модели на различных диаграммах |
Show Access Violations | Отображает в диалоговом окне информацию о ссылках классов одного пакета на классы другого пакета при отсутствии соответствующей зависимости доступа или импорта между этими пакетами в модели |
SoDA Report | Позволяет сгенерировать отчет о разрабатываемой модели в формате MS Word с использованием специального средства IBM Rational SoDA |
Show Participants in UC | Отображает в диалоговом окне информацию о классах, компонентах и операциях, которые участвуют в реализации выделенного варианта использования модели на различных диаграммах |
Операции главного меню Query (Запрос) позволяют добавлять существующие элементы разрабатываемой модели на редактируемую диаграмму, а также настраивать специальный фильтр отображения отношений между отдельными элементами модели. Назначение операций этого пункта главного меню представлено в таблице 2.2.
Add Classes | Вызывает диалоговое окно с предложением добавить на текущую диаграмму классы, которые имеются в модели на различных диаграммах |
Add Use Cases | Вызывает диалоговое окно с предложением добавить на текущую диаграмму варианты использования, которые имеются в модели на различных уровнях |
Expand Selected Elements | Вызывает диалоговое окно с предложением добавить на текущую диаграмму элементы модели, которые связаны с выделенным элементом на других диаграммах |
Hide Selected Elements | Вызывает диалоговое окно с предложением удалить с текущей диаграммы элементы модели, которые связаны с выделенным элементом |
Filter Relationships | Вызывает диалоговое окно, позволяющее включить/выключить режим отображения различных отношений на текущей диаграмме |
Состав операций пункта главного меню Tools (Инструменты) зависит от установленных в программе IBM Rational Rose 2003 конкретных расширений. Назначение операций этого пункта главного меню для типовой конфигурации программы представлено в таблице 2.3.
Create | Создает новый элемент модели из предлагаемого списка, для последующего размещения его на текущей или другой диаграмме, дублируя нажатие соответствующей кнопки на специальной панели инструментов |
Check Model | Проверяет разрабатываемую модель на наличие ошибок, информация о которых отображается в окне журнала |
Model Properties | Позволяет выполнить настройку свойств языка реализации для выделенного элемента модели и содержит дополнительные подпункты: Edit - редактирование набора свойств; View - просмотр набора свойств; Replace - замена существующего набора свойств на новый набор свойств, загружаемый из внешнего файла с расширением "prp" или "pty"; Export - сохранение существующего набора свойств во внешнем файле с расширением "prp" или "pty"; Add - добавление к существующему набору свойств нового набора свойств, загружаемого из внешнего файла с расширением "prp" или "pty"; Update - обновление существующего набора свойств после его редактирования или дополнения |
Options | Вызывает диалоговое окно настройки параметров модели, открытое на вкладке General |
Open Script | Вызывает стандартное диалоговое окно для открытия внешнего файла, содержащего текст скрипта (файл с расширением "ebs") для его редактирования в окне встроенного редактора скриптов |
New Script | Открывает дополнительное окно встроенного редактора скриптов для создания, отладки, выполнения и сохранения нового скрипта во внешнем файле с расширением "ebs" |
ANSI C++ | Позволяет выполнить настройку свойств языка программирования ANSI C++, выбранного в качестве языка реализации отдельных элементов модели |
CORBA | Позволяет выполнить настройку свойств и спецификацию модели для генерации объектов CORBA для реализации отдельных элементов модели |
Java/J2EE | Позволяет выполнить настройку свойств языка программирования Java/J2EE, выбранного в качестве языка реализации отдельных элементов модели |
Oracle8 | Позволяет выполнить настройку свойств и спецификацию модели для генерации схем СУБД Oracle8 для отдельных элементов модели |
Quality Architect | Позволяет выполнить настройку свойств и тестирование модели с помощью специального средства IBM Rational Quality Architect |
Rational Requisite Pro | Позволяет выполнить настройку свойств модели для установления связей со специальным средством спецификации и управления требованиями |
Model Integrator | Открывает окно специального средства интеграции моделей |
Web Publisher | Позволяет выполнить настройку свойств модели для ее публикации в гипертекстовом формате |
TOPLink | Вызывает мастер преобразования таблиц модели данных в классы языка программирования Java, выбранного в качестве языка реализации отдельных элементов модели |
COM | Позволяет выполнить настройку свойств и спецификацию модели для генерации объектов COM с целью реализации отдельных элементов модели |
Visual C++ | Позволяет выполнить настройку свойств и спецификацию модели для генерации программного кода MS Visual C++, выбранного в качестве языка реализации отдельных элементов модели |
Version Control | Позволяет выполнить настройку свойств модели для установления со специальным средством управления и контроля версий модели |
Visual Basic | Позволяет выполнить настройку свойств и спецификацию модели для генерации программного кода MS Visual Basic, выбранного в качестве языка реализации отдельных элементов модели |
XML_DTD | Позволяет выполнить настройку свойств и спецификацию модели для ее публикации в формате расширяемого языка разметки XML |
Class Wizard | Вызывает мастер создания нового класса и его размещения на выбранной диаграмме модели |
Окно браузера проекта
Окно браузера проекта по умолчанию располагается в левой части рабочего интерфейса ниже стандартной панели инструментов и имеет вид, показанный на рисунке 2.1.
Браузер проекта организует представления модели в виде иерархической структуры, которая упрощает навигацию и позволяет отыскать любой элемент модели в проекте. При этом самая верхняя строка браузера проекта содержит имя разрабатываемого проекта. Любой элемент, который разработчик добавляет в модель, сразу отображается в окне браузера. Соответственно, выбрав элемент в окне браузера, мы можем его визуализировать в окне диаграммы или изменить его спецификацию.
Браузер проекта позволяет также организовывать элементы модели в пакеты и перемещать элементы между различными представлениями модели. При желании окно браузера можно расположить в другом месте рабочего интерфейса либо скрыть вовсе, используя для этого операцию Browser главного меню View (Вид). Можно также изменить размеры браузера, переместив мышью границу его внешней рамки.
Иерархическое представление структуры каждого разрабатываемого проекта организовано в форме 4-х представлений:
Use Case View - представление вариантов использования, в котором содержатся диаграммы вариантов использования и их реализации в виде вариантов взаимодействия;Logical View - логическое представление, в котором содержатся диаграммы классов, диаграммы состояний и диаграммы деятельности;Component View - представление компонентов, в котором содержатся диаграммы компонентов разрабатываемой модели;Deployment View - представление развертывания, в котором содержится единственная диаграмма развертывания разрабатываемой модели.
Рис. 2.1. Внешний вид браузера проекта с иерархическим представление его структуры
При создании нового проекта указанная иерархическая структура формируется программой автоматически.
Окно документации и окно журнала
Окно документации по умолчанию должно присутствовать на экране после загрузки программы. Если по какой-то причине оно отсутствует, то его можно отобразить через пункт меню ViewDocumentation (Вид
Документация), после чего окно документации появится ниже окна браузера проекта (рис. 2.4). Окно документации, как следует из его названия, предназначено для документирования элементов разрабатываемой модели. В него можно записывать различную текстовую информацию, и что важно - на русском языке. Эта информация при генерации программного кода преобразуется в комментарии и никак не влияет на логику выполнения программного кода.Рис. 2.4. Внешний вид окна документации с информацией о диаграмме деятельности модели
В окне документации активизируется та информация, которая относится к выделенному элементу диаграммы или к диаграмме в целом. При этом выделить элемент можно либо в окне браузера, либо непосредственно в окне диаграммы. При добавлении нового элемента на диаграмму, например, класса, документация к нему является пустой (No documentation). В последующем разработчик самостоятельно вносит необходимую пояснительную информацию, которая запоминается программой и может быть изменена в ходе работы над проектом. Так же, как и для других окон рабочего интерфейса программы IBM Rational Rose 2003, разработчик по своему усмотрению может изменять размеры и положение окна документации.
Окно журнала (Log) предназначено для автоматической записи различной служебной информации в ходе работы с программой. В журнале фиксируется время и характер выполняемых разработчиком действий, таких как обновление модели, настройка меню и панелей инструментов, а также сообщений об ошибках, возникающих при генерации программного кода. Окно журнала изображается поверх других окон в нижней области рабочего интерфейса программы (рис. 2.5).
Рис. 2.5. Внешний вид окна журнала с информацией о выполненных операциях с моделью
Если окно журнала отсутствует на экране, то отобразить его можно с помощью операции главного меню ViewLog (Вид
Журнал), для чего следует выставить отметку в соответствующей строке вложенного меню для данной операции. С целью увеличения размеров графической области диаграммы окно журнала чаще всего убирают с экрана, что можно выполнить с помощью кнопки закрытия этого окна в верхнем левом его углу или убрав отметку в соответствующей строке вложенного меню ViewLog.Специальная панель инструментов и окно диаграммы
Специальная панель инструментов располагается между окном браузера и окном диаграммы в средней части рабочего интерфейса. По умолчанию предлагается панель инструментов для построения диаграммы классов модели (рис. 2.2).
Рис. 2.2. Внешний вид специальной панели инструментов для диаграммы классов
Расположение специальной панели инструментов можно изменять, переместив рамку панели в нужное место. Программа IBM Rational Rose 2003 позволяет настраивать состав кнопок данной панели, добавляя или удаляя отдельные кнопки, соответствующие тем или иным инструментам. Назначение отдельных кнопок различных панелей инструментов будут рассмотрены далее при изложении особенностей построения различных канонических диаграмм в соответствующих лекциях курса. Названия кнопок данной панели всегда можно узнать из всплывающих подсказок, появляющихся после задержки указателя мыши над соответствующей кнопкой.
Внешний вид специальной панели инструментов зависит не только от выбора типа разрабатываемой диаграммы, но от выбора графической нотации для изображения самих элементов этих диаграмм. В IBM Rational Rose 2003 реализованы три таких нотации: UML, OMT и Booch. Хотя последние две нотации практически не используются на практике, разработчики неизменно включают их в очередные версии программы IBM Rational Rose 2003, видимо, отдавая этим дань памяти авторам первых версий языка UML. При использовании отдельной нотации одна и та же диаграмма может быть представлена различным образом, для этого достаточно выбрать желаемое представление через соответствующую операцию главного меню View (Вид). При этом никаких дополнительных действий выполнять не требуется - диаграмма преобразуется в выбранную нотацию автоматически. Однако, рассматривая использование программы IBM Rational Rose 2003 только в контексте языка UML, можно оставить без внимания особенности двух других нотаций, которые отражают эволюционный аспект этого программного инструмента.
Окно диаграммы является основной графической областью программы IBM Rational Rose 2003, в которой визуализируются различные представления модели проекта.
По умолчанию окно диаграммы располагается в правой части рабочего интерфейса, однако его расположение и размеры также можно изменить. При разработке нового проекта, если не был использован мастер проектов, окно диаграммы представляет собой чистую область, не содержащую никаких элементов модели (рис. 1.1). По мере разработки отдельных диаграмм в окне диаграммы будут располагаться соответствующие графические элементы модели (рис. 2.3).
Рис. 2.3. Внешний вид окна диаграммы с диаграммой классов модели
Название диаграммы, которая является активной и располагается в данном окне, которое развернуто на всю область диаграммы, указывается в строке заголовка программы IBM Rational Rose 2003. Если же окно диаграммы не развернуто на всю область диаграммы, то название диаграммы указывается в строке заголовка окна диаграммы. Одновременно в графической области диаграмм могут присутствовать несколько окон диаграмм; при этом активной может быть только одна из них. Переключение между диаграммами можно осуществить выбором нужного представления на стандартной панели инструментов, а также с помощью выделения требуемой диаграммы в браузере проекта или с помощью операций главного меню Window (Окно). При активизации отдельного вида диаграммы изменяется внешний вид специальной панели инструментов, которая настраивается под конкретный вид диаграммы.
Добавление актера на диаграмму вариантов использования и редактирование его свойств
Для добавления актера на диаграмму варианта использования нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы актера на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение актера с маркерами изменения его геометрических размеров и предложенным программой именем по умолчанию NewClass. Для разрабатываемой модели банкомата предложенное программой имя актера следует изменить на Клиент Банкомата (рис. 3.2).
Рис. 3.2. Диаграмма вариантов использования после добавления на нее актера
Чтобы изменить расположение изображения графического элемента модели, следует щелчком левой кнопки мыши выделить его в рабочей области диаграммы, и, не отпуская левой кнопки, переместить в нужное место диаграммы. При этом выделенный элемент визуально отличается от остальных наличием маркеров изменения его геометрических размеров в форме небольших черных квадратов. Более точное перемещение элемента можно осуществить с помощью стрелок: «
», «», «», «» на клавиатуре.Чтобы изменить графические размеры изображения элемента модели, прежде всего, следует щелчком левой кнопки мыши выделить его в рабочей области диаграммы. Далее необходимо подвести указатель мыши к нужному маркеру геометрических размеров элемента и нажать левую кнопку мыши. В результате этих действий появится пунктирный прямоугольник, изображающий границы выбранного геометрического элемента. После чего, не отпуская левой кнопки мыши, следует диагонально изменить размеры этого прямоугольника нужным образом (рис. 3.3).
Рис. 3.3. Диаграмма вариантов использования при изменении графических размеров актера
Имя размещенного на диаграмму элемента разработчик может изменить либо сразу после добавления элемента на диаграмму, либо в ходе последующей работы над проектом. Для любого графического элемента модели по щелчку правой кнопкой мыши на выбранном элементе вызывается контекстное меню данного элемента, среди операций которого имеется пункт Open Specification (Открыть спецификацию).
В этом случае появляется дополнительное диалоговое окно со специальными вкладками, в поля ввода которых можно занести всю информацию по данному элементу. Для добавленного актера Клиент Банкомата окно спецификации свойств выглядит следующим образом (рис. 3.4).
Рис. 3.4. Диалоговое окно спецификации свойств актера Клиент Банкомата
Следует отметить, что открыть диалоговое окно спецификации свойств любого элемента модели можно также двойным щелчком левой кнопкой мыши на графическом изображении этого элемента на диаграмме. Хотя в среде IBM Rational Rose актер является классом, для него некорректно специфицировать атрибуты и операции, поскольку актер является внешней по отношению к разрабатываемой системе сущностью.
Для актера Клиент Банкомата можно уточнить его назначение в модели. С этой целью следует изменить его стереотип и добавить текст документации. Для изменения стереотипа во вложенном списке Stereotype нужно выбрать строку Business Actor (бизнес-актер). Для добавления текста документации в секцию Documentation следует ввести текст: «Любое физическое лицо, пользующееся услугами банкомата» и нажать кнопку Apply (Применить) или OK. После изменения данных свойств актера Клиент Банкомата окно спецификации свойств будет выглядеть следующим образом (рис. 3.5).
Рис. 3.5. Диалоговое окно спецификации свойств после изменения стереотипа и добавления текста документации для актера Клиент Банкомата
Добавление ассоциации
Для добавления ассоциации между актером и вариантом использования на диаграмму нужно с помощью левой кнопки мыши нажать на специальной панели инструментов кнопку с изображением пиктограммы направленной ассоциации, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении актера на диаграмме и отпустить ее на изображении варианта использования. В результате этих действий на диаграмме появится изображение ассоциации, соединяющей актера с вариантом использования (рис. 3.8).
Рис. 3.8. Диаграмма вариантов использования после добавления на нее направленной ассоциации
При необходимости можно сделать направленную ассоциацию ненаправленной, для чего следует воспользоваться диалоговым окном свойств ассоциации. Открыть это окно можно, например, двойным щелчком на изображении линии ассоциации на диаграмме, после чего убрать отметку строки выбора Navigable (Навигация) на вкладке Role A Detail (Детальные свойства концевой точки ассоциации А). Более подробно спецификация других свойств ассоциации будет рассмотрена далее при разработке диаграммы классов в лекции 6.
Добавление и редактирование варианта использования
Для добавления варианта использования на диаграмму нужно с помощью левой кнопки мыши нажать кнопку с изображением варианта использования на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте диаграммы. На диаграмме появится изображение варианта использования с маркерами изменения его геометрических размеров и предложенным программой именем по умолчанию NewUseCase. Для разрабатываемой модели банкомата предложенное программой имя варианта использования следует изменить на Снятие наличных по кредитной карточке (рис. 3.6).
Рис. 3.6. Диаграмма вариантов использования после добавления на нее варианта использования
Для уточнения свойств данного варианта использования следует открыть диалоговое окно спецификации его свойств, например, с помощью двойного щелчка левой кнопкой мыши на изображении этого элемента на диаграмме. Для изменения стереотипа во вложенном списке Stereotype нужно выбрать строку Business Use Case. Для добавления текста документации в секцию Documentation следует ввести текст: «Основной вариант использования для разрабатываемой модели банкомата» и нажать кнопку Apply (Применить) или OK. После изменения данных свойств варианта использования окно спецификации его свойств будет выглядеть следующим образом (рис. 3.7).
Рис. 3.7. Диалоговое окно спецификации свойств варианта использования Снятие наличных по кредитной карточке
Добавление отношения зависимости и редактирование его свойств
Для добавления отношения зависимости между двумя вариантами использования на диаграмму необходимо предварительно рассмотренным выше способом добавить второй вариант использования с именем Проверка ПИН-кода. После этого с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы зависимости на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении варианта использования Снятие наличных по кредитной карточке и отпустить ее на изображении варианта использования Проверка ПИН-кода. В результате этих действий на диаграмме появится изображение отношения зависимости, которое соединяет два выбранных варианта использования.
Поскольку вариант использования Проверка ПИН-кода выполняется всегда, для добавленного отношения зависимости дополнительно следует указать текстовый стереотип <<include>>. Выполнить это можно уже известным способом с помощью диалогового окна спецификации свойств этого отношения и выбора нужного стереотипа из предлагаемого списка.
После задания для данного отношения зависимости стереотипа <<include>> текст этого стереотипа в угловых скобках появится рядом с изображением пунктирной линии зависимости, связывающей соответствующие варианты использования (рис. 3.9). С целью лучшей визуализации диаграммы текстовую область стереотипа можно переместить в нужное место диаграммы. Выполнить это можно с помощью общего способа перемещения графических элементов модели, который был рассмотрен ранее в этой лекции применительно к актеру Клиент Банкомата.
Рис. 3.9. Диаграмма вариантов использования после добавления на нее отношения зависимости
Аналогичным образом могут быть добавлены на диаграмму вариантов использования отношения зависимости со стереотипом <<extend>>, которые применяются для моделирования исключений при выполнении отдельных вариантов использования.
Окончательное построение диаграммы вариантов использования
К отдельному варианту использования можно добавить текстовый файл с описанием сценария его выполнения. Для этого необходимо выделить этот вариант использования в браузере проекта и выполнить операцию контекстное меню: NewFile (Новый
Файл). В результате этого будет вызвано стандартное окно открытия файла, в котором необходимо задать имя предварительно созданного с помощью офисной программы MS Word добавляемого файла. После нажатия кнопки Открыть пиктограмма добавленного файла появится в браузере проекта ниже соответствующего варианта использования. В последующем можно вернуться к редактированию этого файла сценария, выполнив двойной щелчок на этой пиктограмме. При этом файл сценария будет открыт в соответствующем приложении - в текстовом процессоре MS Word.Для окончательного построения диаграммы варианта использования для рассматриваемой модели банкомата следует выполнить следующие действия:
Добавить актера с именем Банк, для которого выбрать стереотип Service (Сервис), означающий, что банкомат использует некоторые услуги Банка в качестве сервиса.Добавить вариант использования Получение справки о состоянии счета, для которого выбрать стереотип Business Use Case (Бизнес-вариант использования).Добавить вариант использования Блокирование кредитной карточки.Добавить направленную ассоциацию от бизнес-актера Клиент Банкомата к варианту использования Получение справки о состоянии счета.Добавить направленную ассоциацию от варианта использования Снятие наличных по кредитной карточке к сервису Банк.Добавить направленную ассоциацию от варианта использования Получение справки о состоянии счета к сервису Банк.Добавить отношение зависимости со стереотипом <<include>>, направленное от варианта использования Получение справки о состоянии счета к варианту использования Проверка ПИН-кода.Добавить отношение зависимости со стереотипом <<extend>>, направленное от варианта использования Блокирование кредитной карточки к варианту использования Проверка ПИН-кода.
Выполнить эти действия предлагается читателям самостоятельно. При этом отношение зависимости со стереотипом <<extend>> на данной диаграмме означает следующее. Вариант использования Блокирование кредитной карточки будет выполняться только в том случае, если в результате проверки ПИН-кода будет установлено, что соответствующая кредитная карточка утрачена ее владельцем или признана недействительной. Построенная таким образом диаграмма вариантов использования будет иметь следующий вид (рис. 3.10).
Рис. 3.10. Окончательный вид диаграммы вариантов использования для разрабатываемой модели банкоматов
Напомним, что диаграмма вариантов использования является высокоуровневым концептуальным представлением модели, поэтому она не должна содержать слишком много вариантов использования и актеров. В последующем построенная диаграмма может быть изменена посредством добавления новых элементов, таких как варианты использования и актеры, или их удаления.
Для удаления любого графического элемента с диаграммы его следует выделить на диаграмме и нажать клавишу Delete на клавиатуре. При этом выделенный элемент будет удален с активной диаграммы, но не из модели. Для удаления элемента не только из диаграммы, но и из модели проекта необходимо выделить удаляемый элемент на диаграмме и воспользоваться операцией главного меню EditDelete from Model (РедактированиеУдалить из модели). Для этой же цели служит комбинация клавиш быстрого доступа: Ctrl+D.
При работе с отношениями на диаграмме вариантов использования следует помнить о назначении соответствующих отношений в нотации языка UML. Речь идет о том, что если для двух элементов выбранный вид отношения не является допустимым, то в большинстве случаев программа IBM Rational Rose 2003 сообщит об этом разработчику, и соответствующая линия связи не будет добавлена на диаграмму.
После окончания сеанса работы над проектом выполненную работу необходимо сохранить в файле проекта с расширением «.MDL».Это можно сделать через меню FileSave (ФайлСохранить) или FileSave As (ФайлСохранить как). При этом вся информация о проекте, включая диаграммы и спецификации элементов, будет сохранена в одном файле.
в среде IBM Rational Rose
Работа над моделью в среде IBM Rational Rose начинается с общего анализа проблемы и построения диаграммы вариантов использования, которая отражает функциональное назначение проектируемой программной системы. Для вновь создаваемого проекта можно воспользоваться мастером типовых проектов, если он установлен в данной конфигурации. Мастер типовых проектов доступен из меню FileNew (ФайлНовый) или при первоначальной загрузке программы IBM Rational Rose 2003. В случае разработки проекта, для которого не известна или не выбрана технология его реализации, следует отказаться от мастера, в результате чего появится рабочий интерфейс программы IBM Rational Rose 2003 с чистым окном активной диаграммы классов и именем проекта untitled по умолчанию.
В качестве проекта далее будет рассматриваться модель системы управления банкоматом. Достоинством этого проекта является то, что он не требует специального описания предметной области, поскольку предполагает интуитивное знакомство читателей с особенностями функционирования банкомата. При этом разрабатываемая модель системы управления банкоматом используется в качестве сквозного примера, в рамках которого иллюстрируются особенности разработки различных диаграмм языка UML в среде IBM Rational Rose 2003. Для изменения имени проекта, предложенного программой по умолчанию, следует сохранить модель во внешнем файле на диске, например, под именем ATMmodel.mdl.
В этом случае изменится имя в строке заголовка и имя проекта в иерархическом представлении модели в браузере проекта.
Как и другие программы, IBM Rational Rose позволяет настраивать глобальные параметры среды, такие как выбор шрифтов и цвета для представления различных элементов модели. Настройка шрифтов, цвета линий и графических элементов производится через операцию главного меню: ToolsOptions (ИнструментыПараметры). Характерной особенностью среды является возможность работы с символами кириллицы. Однако следует заметить, что при спецификации элементов модели с последующей генерацией текста программного кода следует записывать имена и свойства классов, ассоциаций, атрибутов, операций и компонентов символами того языка, который поддерживается соответствующим языком программирования.
Для разработки диаграммы вариантов использования модели в среде IBM Rational Rose 2003 необходимо активизировать соответствующую диаграмму в окне диаграммы. Это можно сделать следующими способами:
раскрыть представление вариантов использования Use Case View в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);с помощью операции главного меню BrowseUse Case Diagram (БраузерДиаграмма вариантов использования).
При этом появляется новое окно с чистым рабочим листом диаграммы вариантов использования и специальная панель инструментов, содержащая кнопки с изображением графических элементов, необходимых для разработки диаграммы вариантов использования. Назначение отдельных кнопок данной панели можно узнать также из всплывающих подсказок, которые появляются, если подвести и задержать на некоторое время указатель мыши над той или иной кнопкой (табл. 3.1).
Selection Tool | Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме | |
Text Box | Добавляет на диаграмму текстовую область | |
Note | Добавляет на диаграмму примечание | |
Anchor Note to Item | Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы | |
Package | Добавляет на диаграмму пакет | |
Use Case | Добавляет на диаграмму вариант использования | |
Actor | Добавляет на диаграмму актера | |
Unidirectional Association | Добавляет на диаграмму направленную ассоциацию | |
Dependency or Instantiates | Добавляет на диаграмму отношение зависимости | |
Generalization | Добавляет на диаграмму отношение обобщения |
Для разработки диаграммы вариантов использования модели в среде IBM Rational Rose 2003 необходимо активизировать соответствующую диаграмму в окне диаграммы. Это можно сделать следующими способами:
раскрыть представление вариантов использования Use Case View в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);с помощью операции главного меню BrowseUse Case Diagram (БраузерДиаграмма вариантов использования).
При этом появляется новое окно с чистым рабочим листом диаграммы вариантов использования и специальная панель инструментов, содержащая кнопки с изображением графических элементов, необходимых для разработки диаграммы вариантов использования. Назначение отдельных кнопок данной панели можно узнать также из всплывающих подсказок, которые появляются, если подвести и задержать на некоторое время указатель мыши над той или иной кнопкой (табл. 3.1).
Selection Tool | Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме | |
Text Box | Добавляет на диаграмму текстовую область | |
Note | Добавляет на диаграмму примечание | |
Anchor Note to Item | Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы | |
Package | Добавляет на диаграмму пакет | |
Use Case | Добавляет на диаграмму вариант использования | |
Actor | Добавляет на диаграмму актера | |
Unidirectional Association | Добавляет на диаграмму направленную ассоциацию | |
Dependency or Instantiates | Добавляет на диаграмму отношение зависимости | |
Generalization | Добавляет на диаграмму отношение обобщения |
Добавление класса на диаграмму классов и редактирование его свойств
Для добавления класса на диаграмму классов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы класса на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. На диаграмме появится изображение класса с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию NewClass.
Продолжая разработку модели банкомата в качестве сквозного примера проекта, построим для этой модели следующую каноническую диаграмму - диаграмму классов. С этой целью следует изменить предложенное по умолчанию имя диаграммы Main на Диаграмма классов ATM, а имя добавленного на диаграмму класса - на Транзакция Банкомата (рис. 4.1).
Рис. 4.1. Диаграмма классов модели банкомата после добавления на нее класса Транзакция Банкомата
Поскольку разрабатываемая модель банкомата на начальных этапах работы над проектом используется для анализа общей архитектуры проекта и согласования ее с различными участниками рабочей группы, имена классов, их атрибутов и операций для большей наглядности и понимания задаются на русском языке с пробелами и записываются символами кириллицы. В последующем по мере выполнения проекта и реализации модели на некотором языке программирования, имена соответствующих классов, атрибутов и операций должны быть преобразованы в символы латиницы. При этом имена этих элементов модели должны быть записаны без пробелов. В контексте управляемой моделью архитектуры первую модель еще называют независимой от платформы реализации, а вторую - зависимой от платформы реализации.
Для класса Транзакция Банкомата можно уточнить его назначение в модели с помощью указания стереотипа и пояснительного текста в форме документации. С этой целью двойным щелчком левой кнопкой мыши на изображении этого класса на диаграмме или в браузере проекта следует открыть диалоговое окно спецификации свойств этого класса (рис. 4.2) и на вкладке General (Общие) выбрать из вложенного списка Stereotype стереотип entity (сущность).
Рис. 4.2. Диалоговое окно спецификации свойств класса Транзакция Банкомата при выборе из вложенного списка стереотипа entity
Выбор данного стереотипа означает, что соответствующий класс предназначен для хранения информации, которая должна сохраняться в системе после уничтожения объектов данного класса. Далее в секцию документации данного класса можно ввести поясняющий текст: "Используется для сохранения информации о выполненных банкоматом транзакциях" и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств выбранного класса. После назначения стереотипа классу Транзакция банкомата текст данного стереотипа в угловых скобках появится выше имени данного класса (рис. 4.3).
Рис. 4.3. Диаграмма классов модели банкомата после выбора стереотипа для класса Транзакция Банкомата
Для отдельного класса можно уточнить также и другие его свойства, доступные для редактирования на вкладке Detail (Подробно) окна спецификации свойств этого класса. Например, на этой вкладке с помощью вложенного списка Multiplicity (Кратность) можно задать количество объектов или экземпляров данного класса, для чего следует выбрать строку с буквой n. Данное значение означает, что у класса Транзакция банкомата может быть любое конечное число экземпляров (рис. 4.4). Поле ввода с именем Space (Пространство) служит для указания объема абсолютной или относительной памяти, которая требуется, по оценке разработчика, для реализации каждого объекта данного класса. Применительно к рассматриваемой модели это поле можно оставить пустым.
Рис. 4.4. Диалоговое окно спецификации свойств класса Транзакция Банкомата, открытое на вкладке Detail (Подробно)
Далее можно задать устойчивость классов в группе выбора Persistence. При этом выбор свойства Persistent (Устойчивый) означает, что информация об объектах данного класса должна быть сохранена в системе.
Рис. 4.2. Диалоговое окно спецификации свойств класса Транзакция Банкомата при выборе из вложенного списка стереотипа entity
Выбор данного стереотипа означает, что соответствующий класс предназначен для хранения информации, которая должна сохраняться в системе после уничтожения объектов данного класса. Далее в секцию документации данного класса можно ввести поясняющий текст: "Используется для сохранения информации о выполненных банкоматом транзакциях" и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств выбранного класса. После назначения стереотипа классу Транзакция банкомата текст данного стереотипа в угловых скобках появится выше имени данного класса (рис. 4.3).
Рис. 4.3. Диаграмма классов модели банкомата после выбора стереотипа для класса Транзакция Банкомата
Для отдельного класса можно уточнить также и другие его свойства, доступные для редактирования на вкладке Detail (Подробно) окна спецификации свойств этого класса. Например, на этой вкладке с помощью вложенного списка Multiplicity (Кратность) можно задать количество объектов или экземпляров данного класса, для чего следует выбрать строку с буквой n. Данное значение означает, что у класса Транзакция банкомата может быть любое конечное число экземпляров (рис. 4.4). Поле ввода с именем Space (Пространство) служит для указания объема абсолютной или относительной памяти, которая требуется, по оценке разработчика, для реализации каждого объекта данного класса. Применительно к рассматриваемой модели это поле можно оставить пустым.
Рис. 4.4. Диалоговое окно спецификации свойств класса Транзакция Банкомата, открытое на вкладке Detail (Подробно)
Далее можно задать устойчивость классов в группе выбора Persistence. При этом выбор свойства Persistent (Устойчивый) означает, что информация об объектах данного класса должна быть сохранена в системе.
Диаграмма классов является основным логическим
Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы. Активизировать рабочее окно диаграммы классов можно несколькими способами:
окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта;щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);выполнить операцию главного меню: BrowseClass Diagram (ОбзорДиаграмма классов).
При этом появляется новое окно с чистым рабочим листом диаграммы классов и специальная панель инструментов, содержащая кнопки с изображением графических примитивов, необходимых для разработки диаграммы классов (табл. 4.1). Назначение отдельных кнопок панели можно узнать также из всплывающих подсказок.
Selection Tool | Превращает изображение курсора в форму стрелки для последующего выделения элементов на диаграмме | |
Text Box | Добавляет на диаграмму текстовую область | |
Note | Добавляет на диаграмму примечание | |
Anchor Note to Item | Добавляет на диаграмму связь примечания с соответствующим графическим элементом диаграммы | |
Class | Добавляет на диаграмму класс | |
Interface | Добавляет на диаграмму интерфейс | |
Unidirectional Association | Добавляет на диаграмму направленную ассоциацию | |
Association Class | Добавляет на диаграмму ассоциацию класс | |
Package | Добавляет на диаграмму пакет | |
Dependency or Instantiates | Добавляет на диаграмму отношение зависимости | |
Generalization | Добавляет на диаграмму отношение обобщения | |
Realize | Добавляет на диаграмму отношение реализации |
Стереотипы классов и их графическое представление
На разрабатываемой диаграмме классов выбран текстовый способ изображения стереотипов классов, при котором стереотип записывается в угловых кавычках выше имени соответствующего класса. Программа IBM Rational Rose 2003 позволяет альтернативно представлять стереотипы в форме специальных графических изображений (как в браузере проекта) или в форме небольших декоративных значков в верхней секции прямоугольника класса на диаграмме, а также вообще отказаться от изображения стереотипов.
Изменить изображение стереотипа для отдельного класса можно, например, с помощью одной из вложенных операций контекстного меню: OptionsStereotype Display (Параметры
Изображение стереотипа). В качестве примера можно представить изображение класса Транзакция Банкомата в форме специальной графической пиктограммы стереотипа. С этой целью следует выполнить операцию контекстного меню: OptionsStereotype DisplayIcon (ПараметрыИзображение стереотипаПиктограмма). Соответствующее графическое изображение стереотипа <<entity>> для класса Транзакция Банкомата в форме пиктограммы будет иметь следующий вид (рис. 4.5, а).Для сравнения можно выбрать изображение класса Транзакция Банкомата в форме декоративного графического стереотипа. С этой целью выполним операцию контекстного меню: OptionsStereotype DisplayDecoration (Параметры
Изображение стереотипаДекорация). Соответствующее графическое изображение стереотипа <<entity>> для класса Транзакция Банкомата в форме декорации будет иметь следующий вид (рис. 4.5, б).Рис. 4.5. Графические способы изображения стереотипа <<entity>> для класса Транзакция Банкомата
Изменить изображение стереотипов одновременно для нескольких классов диаграммы можно с помощью одной из вложенных операций главного меню: FormatStereotype Display (Формат
Изображение стереотипов). В этом случае необходимо выделить все классы модели в окне диаграммы классов или в браузере проекта. Для выделения группы классов на диаграмме или в браузере проекта следует, удерживая нажатой клавишу Ctrl или Shift на клавиатуре, последовательно щелкать на их изображении левой кнопкой мыши.Выделить все графические элементы на диаграмме классов, также как и на любой другой диаграмме модели, можно с помощью выполнения операции главного меню: EditSelect All (РедактированиеВыделить все) или с помощью комбинации клавиш Ctrl+А. Следует отметить, что выбор того или иного способа изображения стереотипов классов на диаграмме классов определяется разработчиком исходя из его личных предпочтений, и не оказывает влияния на содержательный аспект логического представления модели.
Продолжая разработку модели банкомата, добавим на диаграмму второй класс с именем Контроллер Банкомата, для которого в окне спецификации свойств выберем стереотип control (управляющий класс), а в качестве документации введем текст: "Реализует логику функционирования банкомата". При этом атрибуты и операции у данного класса будут отсутствовать. Соответствующий фрагмент диаграммы классов после добавления управляющего класса Контроллер Банкомата будет иметь следующий вид (рис. 4.6).
Рис. 4.6. Фрагмент диаграммы классов модели банкомата после добавления на нее класса Контролер Банкомата
Продолжая разработку модели банкомата, добавим на диаграмму третий класс с именем Устройство чтения карточки, для которого в окне спецификации свойств выберем стереотип boundary (граничный класс). Применение этого стереотипа означает, что данный класс находится на границе моделируемой системы, в качестве которой рассматривается модель банкомата. После этого в секцию документации данного класса можно ввести поясняющий текст: "Устанавливается на банкомате".
Далее следует добавить класс с именем IКонтроллер Банка, для которого выбрать стереотип Interface (Интерфейс), означающий, что банкомат пользуется услугами Банка при обработке своих транзакций. Заметим, что первой буквой в имени этого класса является английское "I", которое служит в языке UML для указания интерфейса. Соответствующий фрагмент диаграммы классов после добавления на нее классов Устройство чтения карточки и IКонтроллер Банка будет иметь следующий вид (рис. 4.7).
Рис. 4.7. Фрагмент диаграммы классов модели банкомата после добавления на нее классов Устройство чтения карточки и Контролер Банкомата
Практические действия по добавлению атрибутов и операций классов, редактированию их свойств, по добавлению отношений в процессе продолжения разработки диаграммы классов для модели банкомата, а также окончательный вид диаграммы классов для разрабатываемой модели банкомата будут рассмотрены в следующих лекциях.
Добавление и редактирование атрибутов классов
Из всех графических элементов среды IBM Rational Rose 2003 класс обладает максимальным набором свойств, главными из которых являются его атрибуты и операции. Поскольку именно диаграмма классов используется в среде IBM Rational Rose 2003 для генерации программного кода, в данной лекции будут подробно рассмотрены соответствующие свойства атрибутов и операций.
Добавить атрибут к созданному ранее классу можно одним из следующих способов:
С помощью операции контекстного меню New Attribute (Новый атрибут) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода текста в области графического изображения класса на диаграмме. С помощью операции контекстного меню: NewAttribute (Новый
Атрибут) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода текста в области иерархического представления класса в браузере проекта под именем соответствующего класса. С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки атрибутов в диалоговом окне свойств Class Specification соответствующего класса.После добавления атрибута к классу по умолчанию ему присваивается имя name и некоторый квантор видимости (рис. 5.1).
Рис. 5.1. Диалоговое окно спецификации свойств класса после добавления нового атрибута
Для рассматриваемой модели банкомата имя добавленного атрибута следует изменить на идентификатор карточки. Напомним, что имена атрибутов и операций классов должны начинаться со строчной буквы. Видимость атрибутов на диаграмме классов изображается в форме специальных пиктограмм или украшений. Используемые пиктограммы видимости изображаются перед именем соответствующего атрибута и имеют следующий смысл (табл. 5.1).
Public | Общедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+» | ||
Protected | Защищенный. В нотации языка UML такому атрибуту соответствует знак «#» | ||
Private | Закрытый. В нотации языка UML такому атрибуту соответствует знак «-» | ||
Implementation | Реализация. В нотации языка UML такому атрибуту соответствует знак «?» |
Для редактирования свойств атрибутов предназначено специальное диалоговое окно спецификации атрибута Class Attribute Specification, которое открывается двойным щелчком мыши на строке выбранного атрибута в окне спецификации свойств класса. В окне свойств отдельного атрибута класса можно задать тип данных атрибута и его начальное значение, а также назначить атрибуту стереотип из раскрывающегося списка или изменить его квантор видимости.
Для атрибута идентификатор карточки в качестве типа его допустимых значений из вложенного списка Type следует выбрать тип Integer (целочисленный), а для задания квантора видимости следует выбрать в группе Export Control (Управление экспортом) квантор Public. Поскольку начальное значение для данного атрибута не определено, соответствующее поле ввода следует оставить пустым. В секцию документации данного атрибута класса можно ввести поясняющий текст: «Устройство чтения карточки считывает значение этого атрибута с кредитной карточки клиента» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования этих свойств атрибута. Соответствующее окно спецификации свойств атрибута идентификатор карточки после редактирования его общих свойств будет иметь следующий вид (рис. 5.2).
Рис. 5.2. Диалоговое окно спецификации свойств атрибута идентификатор карточки после его редактирования
Для отдельного атрибута можно также определить дополнительные свойства, доступные для редактирования на вкладке Detail (Подробно) диалогового окна спецификации свойств выбранного атрибута (рис. 5.3).
Рис. 5.3. Диалоговое окно спецификации свойств атрибута идентификатор карточки, открытое на вкладке Detail (Подробно)
На вкладке Detail в группе выбора Containment (Локализация) можно специфицировать условия хранения атрибута у объектов выбранного класса. Для выбора могут быть использованы следующие свойства:
By value (По значению) - свойство по умолчанию, которое означает, что значения атрибута хранятся в пределах адресного пространства, выделенного для объекта данного класса.
Добавление и редактирование операций классов
Функционирование банкомата основано на выполнении отдельными его устройствами тех или иных действий. В модели структуры банкомата все действия представляются с помощью операций классов. Таким образом, следующий этап разработки диаграммы классов связан со спецификацией операций классов.
Добавить операцию к созданному ранее классу можно одним из следующих способов:
С помощью операции контекстного меню New Operation (Новая операция) для класса, выделенного на диаграмме классов. В этом случае активизируется курсор ввода в области графического изображения класса на диаграмме.С помощью операции контекстного меню: NewOperation (Новая
Операция) для класса, выделенного в браузере проекта. В этом случае активизируется курсор ввода в области иерархического представления класса в браузере под именем соответствующего класса.С помощью операции контекстного меню Insert (Вставить), вызванного при позиционировании курсора в области открытой вкладки операций в диалоговом окне свойств Class Specification соответствующего класса.После добавления операции к классу по умолчанию ей присваивается имя opname и некоторый квантор видимости. Видимость операций на диаграмме классов также изображается в форме специальных пиктограмм или украшений. Используемые пиктограммы видимости изображаются перед именем соответствующей операции и имеют следующий смысл (табл. 5.2).
Public | Общедоступный или открытый. В нотации языка UML такому атрибуту соответствует знак «+» | ||
Protected | Защищенный. В нотации языка UML такому атрибуту соответствует знак «#» | ||
Private | Закрытый. В нотации языка UML такому атрибуту соответствует знак «-» | ||
Implementation | Реализация. В нотации языка UML такому атрибуту соответствует знак «?» |
В контексте рассматриваемой модели банкомата в качестве имени первой операции для класса Транзакция Банкомата следует задать: создать новую транзакцию. При этом скобки при задании имени операции не записываются, поскольку программа IBM Rational Rose 2003 добавляет их автоматически.
Однако, следуя правилам именования операций в языке UML, в тексте лекции имена операций будут указываться со скобками.
Каждая из операций классов имеет собственное диалоговое окно спецификации свойств Operation Specification, которое может быть открыто по двойному щелчку на имени операции на соответствующей вкладке спецификации класса или на имени этой операции в браузере проекта. Для операции создать новую транзакцию() в качестве квантора видимости следует выбрать из вложенного списка квантор public. В секцию документации данной операции класса можно ввести поясняющий текст: «Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки» и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств этой операции. Соответствующее окно спецификации свойств операции создать новую транзакцию() после редактирования ее свойств будет иметь следующий вид (рис. 5.4).
Рис. 5.4. Диалоговое окно спецификации свойств операции создать новую транзакцию ()
Для операций классов кроме квантора видимости можно также задать: аргументы и их тип, тип возвращаемого результата, стереотип операции, а также определить протокол и размер, задать исключительные ситуации, специфицировать предусловия и постусловия и целый ряд других свойств. Для отдельной операции эти дополнительные свойства доступны для редактирования на вкладке Detail (Подробно) диалогового окна спецификации свойств выбранной операции (рис. 5.5).
Рис. 5.5. Диалоговое окно спецификации свойств операции создать новую транзакцию(), открытое на вкладке Detail (Подробно)
На вкладке Detail в многостраничном поле Arguments (Аргументы) можно определить аргументы редактируемой операции. Для этого следует выполнить операцию контекстного меню Insert (Вставить). После этого в этом поле появится аргумент данной операции с именем по умолчанию argname. Для редактирования свойств аргумента предназначено специальное окно свойств аргумента.
Спецификация атрибутов и операций для класса Транзакция Банкомата
Чтобы закончить спецификацию класса Транзакция Банкомата аналогичным способом следует добавить еще 3 атрибута и 2 операции со следующими свойствами:
значение ПИН-кода карточки с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Integer (целочисленный), а в секцию документации атрибута ввести поясняющий текст: «Устройство чтения карточки считывает значение этого атрибута с кредитной карточки клиента».введенный ПИН-код с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Integer (целочисленный), а в секцию документации атрибута ввести поясняющий текст: «Значение этого атрибута вводится клиентом с клавиатуры банкомата».введенная сумма наличных с квантором видимости public. В качестве типа этого атрибута следует выбрать тип Currency (Денежный), а в секцию документации атрибута ввести поясняющий текст: «Значение этого атрибута вводится клиентом с клавиатуры банкомата».проверить правильность ПИН-кода() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в секцию ее документации ввести поясняющий текст: «Вызывается после того, как клиент ввел значение ПИН-кода с клавиатуры банкомата».завершить транзакцию() с квантором видимости public. В секцию ее документации ввести поясняющий текст: «Вызывается после завершения всех действий банкомата по обслуживанию клиента».
Выполнить эти действия предлагается читателям самостоятельно. Соответствующий фрагмент диаграммы классов после добавления и спецификации атрибутов и операций для класса Транзакция Банкомата будет иметь следующий вид (рис. 5.6).
Рис. 5.6. Фрагмент диаграммы классов модели банкомата после добавления атрибутов и операций для класса Транзакция банкомата
Практические действия по добавлению атрибутов и операций для других классов, а также построение окончательной диаграммы классов для разрабатываемой модели банкомата будут рассмотрены в следующей лекции.
Добавление ассоциации на диаграмму классов и редактирование ее свойств
Добавление на диаграмму ассоциации между двумя классами выполняется следующим образом. На специальной панели инструментов необходимо нажать кнопку с изображением пиктограммы направленной ассоциации и отпустить левую кнопку мыши. Если ассоциация - направленная, то на диаграмме классов надо выделить первый элемент ассоциации или источник, от которого исходит стрелка, и, не отпуская нажатую левую кнопку мыши, переместить ее указатель ко второму элементу отношения или приемнику, к которому направлена стрелка. После перемещения ко второму элементу кнопку мыши следует отпустить, в результате чего на диаграмму классов будет добавлена направленная ассоциация с именем Untitled между двумя выбранными классами.
Продолжая разработку диаграммы классов модели банкомата, добавим на нее описанным способом направленную ассоциацию между классом Контроллер Банкомата и классом Транзакция Банкомата (рис. 6.1).
Рис. 6.1. Фрагмент диаграммы классов модели банкомата после добавления на неё направленной ассоциации
Изменим имя для данной ассоциации, предложенное средой по умолчанию. Это можно выполнить с помощью окна спецификации свойств ассоциации. Доступ к диалоговому окну спецификации свойств ассоциации Association Specification можно получить после выделения линии ассоциации на диаграмме классов или в браузере проекта и двойного щелчка на ней левой кнопки мыши (рис. 6.2).
Рис. 6.2. Диалоговое окно спецификации свойств ассоциации
Для задания имени ассоциации следует на вкладке General (Общие) в поле ввода Name (Имя) ввести текст ее имени: Создает и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования имени ассоциации. Для ассоциации можно задать также кратность каждого из концов ассоциации, стереотип, использовать ограничения и роли, а также некоторые другие свойства.
Для добавленной на диаграмму классов ассоциации зададим кратность конца ассоциации у класса Контроллер Банкомата, равную 1. Для этого следует в окне спецификации свойств ассоциации перейти на вкладку Role B Detail и выбрать значение 1 из вложенного списка Multiplicity. Аналогичным образом следует задать кратность конца ассоциации у класса Транзакция Банкомата равную 1..n, для чего на вкладке Role A Detail и следует выбрать значение 1..n из вложенного списка Multiplicity. Содержательно это будет означать, что каждый объект класса Контроллер Банкомата может быть связан с одним или несколькими объектами класса Транзакция Банкомата.
Если ассоциация является ненаправленной, то порядок выбора классов может быть произвольный, а после добавления ассоциации на диаграмму классов следует изменить значение соответствующего свойства данной ассоциации. С этой целью необходимо перейти на вкладку Role A Detail в окне спецификации свойств ассоциации и убрать отметку у свойства Navigable (Навигация).
Добавление отношений агрегации и композиции на диаграмму классов и редактирование их свойств
Добавить на диаграмму отношение агрегации между двумя классами можно следующими способами:
Щелкнуть на кнопке с изображением отношение агрегации на специальной панели инструментов и провести линию агрегации от одного класса к другому.Провести линию ассоциации между выбранными классами и изменить ее свойства таким образом, чтобы превратить данную ассоциацию в агрегацию.
В первом случае может оказаться, что по умолчанию на специальной панели инструментов диаграммы классов отсутствует кнопка с пиктограммой агрегации. В этом случае необходимо предварительно добавить ее на панель инструментов одним из описанных ранее способов. Во втором случае следует открыть окно спецификации свойств ассоциации Association Specification и на вкладке деталей соответствующего конца ассоциации выставить отметку в строке выбора Aggregate (Агрегация).
В качестве примера изменим тип созданной ранее ассоциации и сделаем ее агрегацией. Содержательно это будет означать, что класс Контроллер Банкомата будет включать в себя в качестве составной части класс Транзакция Банкомата; при этом уничтожение любого объекта класса Контроллер Банкомата не должно привести к уничтожению ассоциированных с ним объектов класса Транзакция Банкомата. С этой целью на вкладке Role B Detail деталей конца ассоциации класса Контроллер Банкомата следует выставить отметку в строке выбора Aggregate(рис. 6.3).
Рис. 6.3. Диалоговое окно спецификации свойств ассоциации
Соответствующий фрагмент диаграммы классов после изменения ассоциации между классами Контроллер Банкомата и Транзакция Банкомата на отношение агрегации будет иметь следующий вид (рис. 6.4).
Рис. 6.4. Фрагмент диаграммы классов модели банкомата после добавления на нее отношения агрегации
Для изображения отношения композиции можно также вначале изобразить обычную ассоциацию, после чего, открыв окно ее свойств на вкладке деталей соответствующего конца ассоциации, (рис. 6.3) выставить отметку в строке выбора Aggregate (Агрегация) и в секции Containment (Локализация) выбрать опцию By Value (По значению). По умолчанию эта опция не специфицирована, т.е. выставлена отметка опции Unspecified.
Добавление отношения обобщения на диаграмму классов и редактирование ее свойств
Добавление на диаграмму отношения обобщения между двумя классами выполняется следующим образом. На специальной панели инструментов необходимо нажать кнопку с изображением пиктограммы обобщения и отпустить левую кнопку мыши. Далее на диаграмме классов надо выделить первый элемент обобщения или потомок, от которого исходит стрелка, и, не отпуская нажатую левую кнопку мыши, переместить ее указатель ко второму элементу отношения или предку, к которому направлена стрелка. После перемещения ко второму элементу кнопку мыши следует отпустить, в результате чего на диаграмму классов будет добавлена линия обобщения с именем Untitled между двумя выбранными классами.
Продолжая разработку диаграммы классов модели банкомата, добавим на нее описанным способом направленную ассоциацию между классом Контроллер Банкомата и дополнительно созданным абстрактным классом Контроллер (рис. 6.5). Последний класс может быть предназначен для спецификации системных атрибутов и операций, необходимых при исполнении соответствующей программы. Напомним, что на абстрактный характер класса указывает написание курсивом его имени, а для спецификации данного свойства класса необходимо на вкладке Detail (Подробно) окна спецификации свойств класса Контроллер выставить отметку в строке выбора Abstract.
Рис. 6.5. Диаграмма классов модели банкомата после добавления на неё отношения обобщения
Изменим имя отношения обобщения, предложенное средой по умолчанию. Это можно выполнить с помощью окна спецификации свойств обобщения. Доступ к диалоговому окну спецификации свойств отношения обобщения Generalize Specification можно получить после выделения линии обобщения на диаграмме классов или в браузере проекта и двойного щелчка на ней левой кнопки мыши (рис. 6.6).
Рис. 6.6. Диалоговое окно спецификации свойств отношения обобщения
Для задания имени обобщения следует на единственной вкладке General (Общие) в поле ввода Name (Имя) ввести текст ее имени: Наследует и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования имени ассоциации.
Окончательное построение диаграммы классов модели банкомата
Для окончательного построения диаграммы классов рассматриваемой модели банкомата следует описанным выше способом добавить оставшиеся классы и ассоциации, а также специфицировать стереотипы, атрибуты и операции этих классов. С этой целью следует выполнить следующие действия:
Для класса IИнтерфейс Банка добавить операцию: проверить идентификатор карточки (идентификатор карточки: Integer) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический), а в качестве целочисленного аргумента задать идентификатор карточки. Для задания аргумента необходимо перейти на вкладку Detail (Подробно) окна спецификации свойств даной операции и после добавления аргумента с помощью операции контекстного меню Insert ввести имя аргумента и его тип Integer в соответствующие поля ввода.Для класса IИнтерфейс Банка добавить операцию: открыть счет клиента (идентификатор карточки: Integer) с квантором видимости public. В качестве целочисленного аргумента этой операции следует задать идентификатор карточки.Для класса IИнтерфейс Банка добавить операцию: проверить баланс клиента (идентификатор карточки: Integer, введенная сумма наличных: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать идентификатор карточки, а в качестве второго аргумента - введенная сумма наличных с типом Currency (Денежный).Для класса IИнтерфейс Банка добавить операцию: уменьшить счет клиента (идентификатор карточки: Integer, введенная сумма наличных: Currency) с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Boolean (логический). В качестве первого целочисленного аргумента этой операции следует задать идентификатор карточки, а в качестве второго аргумента - введенная сумма наличных с типом Currency (Денежный).Для класса Устройство чтения карточки добавить операцию: прочитать идентификатор карточки() с квантором видимости public.
В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный), а в секцию документации данной операции следует ввести поясняющий текст: «Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки».Для класса Устройство чтения карточки добавить операцию: прочитать ПИН-код() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer (целочисленный), а в секцию документации данной операции следует ввести поясняющий текст: «Вызывается после того, как кредитная карточка вставлена в Устройство чтения карточки».Для класса Устройство чтения карточки добавить операцию: вернуть кредитную карточку() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: «Вызывается после завершения транзакции».Для класса Устройство чтения карточки добавить операцию: блокировать кредитную карточку() с квантором видимости public. В секцию документации данной операции следует ввести поясняющий текст: «Вызывается после того, как установлен факт утраты кредитной карточки владельцем». Добавить класс с именем Экран Банкомата, для которого выбрать стереотип boundary. Данный класс также находится на границе моделируемой системы, на что и указывает этот стереотип. В секцию документации данного класса следует ввести поясняющий текст: «Устанавливается на банкомате».Для класса Экран Банкомата добавить операцию: показать меню опций() с квантором видимости public.Для класса Экран Банкомата добавить операцию: показать меню снятия суммы() с квантором видимости public.Добавить класс с именем Клавиатура Банкомата, для которого выбрать стереотип boundary. В секцию документации данного класса следует ввести поясняющий текст: «Устанавливается на банкомате».Для класса Клавиатура Банкомата добавить операцию: ввести ПИН-код() с квантором видимости public. В качестве типа возвращаемого результата для этой операции следует выбрать тип Integer, а в секцию документации данной операции следует ввести поясняющий текст: «Вызывается после того, как клиент ввел значение ПИН-кода с клавиатуры».Для класса Клавиатура Банкомата добавить операцию: ввести тип транзакции() с квантором видимости public.
Добавление объекта на диаграмму кооперации и редактирование его свойств
Добавить объект на диаграмму кооперации можно стандартным образом с помощью соответствующей кнопки на специальной панели инструментов. Однако, в случае наличия построенной ранее диаграммы классов, более удобным представляется следующий способ. В браузере проекта выделить необходимый класс и, удерживая нажатой левую кнопку мыши, перетащить изображение пиктограммы класса из браузера на свободное место рабочего листа диаграммы кооперации. В результате этих действий на диаграмме кооперации появится изображение объекта с именем класса и маркерами изменения его геометрических размеров (рис. 7.1).
Рис. 7.1. Диаграмма кооперации после добавления на нее анонимного объекта класса Устройство чтения карточки
По умолчанию каждый добавляемый объект считается анонимным. При необходимости можно задать собственное имя объекта, для чего двойным щелчком на изображении объекта на диаграмме кооперации следует вызвать диалоговое окно свойств этого объекта (рис. 7.2).
Рис. 7.2. Диалоговое окно спецификации свойств объекта класса Устройство чтения карточки
Как видно из рассмотрения этого окна свойств, для объекта выбранного класса можно задавать: собственное имя объекта, особенности его реализации и множественность экземпляров.
Группа свойств Persistence (Устойчивость) предназначена для спецификации устойчивости объектов соответствующего класса. При этом свойство Persistent (Устойчивый) означает, что информация об объектах данного класса должна быть сохранена в системе некоторым подходящим способом. Свойство Static (Статический) означает, что соответствующий объект сохраняется в памяти компьютера в течение всего времени работы программного приложения. Свойство Transient (Временный) соответствующий объект хранится в памяти компьютера в течение короткого времени, необходимого только для выполнения его операций. Применительно к рассматриваемой для объекта класса Устройство чтения карточки модели следует выбрать свойство Persistent.
При необходимости можно представить объект в форме мультиобъекта. Для этого следует выбрать отметку у свойства Multiple instances (Несколько экземпляров). Однако для объекта класса Устройство чтения карточки это свойство следует оставить пустым, поскольку данный объект присутствует в модели в единственном экземпляре.
Добавление сообщения и редактирование его свойств
Добавить сообщения на диаграмму кооперации можно несколькими способами. Стандартный способ заключается в использовании кнопки с пиктограммой сообщения на специальной панели инструментов. В этом случае необходимо левой кнопкой мыши нажать кнопку с изображением прямого или обратного сообщения на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении линии связи на диаграмме и отпустить ее. В результате этих действий на диаграмме рядом с линией связи появится изображение стрелки сообщения.
Однако более удобным представляется способ добавления сообщений с помощью диалогового окна свойств связей. Для этого двойным щелчком на линии связи вызывается окно ее свойств и раскрывается вкладка Messages (сообщения). После этого следует выполнить операцию контекстного меню Insert To (Вставить в направлении), в результате чего появляется вложенный список с предложением выбрать одну из операций целевого класса для спецификации имени сообщения (рис. 7.5).
Рис. 7.5. Диалоговое окно добавления сообщения для выбранной связи
Для рассматриваемой модели банкомата для первого сообщения следует выбрать операцию прочитать идентификатор карточки(). После выбора операции для данного сообщения оно добавляется в список сообщений данной связи, а рядом с линией связи на диаграмме кооперации появится стрелка с номером и именем этого сообщения (рис. 7.6).
Рис. 7.6. Диаграмма кооперации после добавления связи между объектом класса Клиент Банкомата (актером) и объектом класса Устройство чтения карточки
Кроме имени сообщения можно также задать стереотип синхронизации и частоту передачи. Для этой цели следует воспользоваться диалоговым окном спецификации свойств сообщений (рис. 7.7), которое можно открыть двойным щелчком на имени сообщения в списке рассматриваемой вкладки Messages окна спецификации свойств связи.
Рис. 7.7. Диалоговое окно спецификации свойств сообщения
Группа свойств Synchronization (Синхронизация) предназначена для определения способа синхронизации передаваемого сообщения. При изменении этого свойства изменяется графическое изображение стрелки соответствующего сообщения. Характеристика отдельных свойств синхронизации сообщений и графическое изображение соответствующих стрелок сообщений приводится в следующей таблице (табл. 7.2).
Simple (Простое) | Данное сообщение выполняется в одном потоке управления. Это свойство задается добавляемому на диаграмму сообщению по умолчанию | |
Synchronous (Синхронное) | После передачи данного сообщения клиент ожидает ответа от объекта-приемника о результате выполнения соответствующей операции | |
Balking (С отказом) | После передачи данного сообщения объект-приемник отказывает клиенту в выполнении соответствующей операции, если он занят выполнением других операций | |
Timeout (С ожиданием) | После передачи данного сообщения объект-приемник может поместить данное сообщение в очередь с ограниченным временем ожидания, если он занят выполнением других операций | |
Procedure Call (Вызов процедуры) | Клиент посылает данное сообщение объекту-приемнику и, чтобы продолжить свою работу ожидает, пока вся дальнейшая вложенная последовательность сообщений не будет обработана приемником | |
Asynchronous (Асинхронное) | Клиент посылает данное сообщение и продолжает свою работу, не ожидая подтверждения от объекта-приемника о получении этого сообщения. При этом соответствующая операция может быть как выполнена, так и не выполнена | |
Return (Возврат) | Данное сообщение посылается клиенту после окончания выполнения вызова процедуры |
Применительно для модели банкомата можно оставить рассмотренные свойства сообщений без изменения, в том виде, в каком они определены по умолчанию программой IBM Rational Rose 2003.