11624

Особенности разработки диаграмм классов в среде IBM Rational Rose 2003

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

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

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

Русский

2013-04-10

176.5 KB

26 чел.

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

Особенности разработки диаграмм классов в среде IBM Rational Rose 2003

Диаграмма классов является основным логическим представлением модели и содержит детальную информацию о внутреннем устройстве объектно-ориентированной программной системы или, используя современную терминологию, об архитектуре программной системы. Активизировать рабочее окно диаграммы классов можно несколькими способами:

  •  окно диаграммы классов появляется по умолчанию в рабочем окне диаграммы после создания нового проекта;
  •  щелкнуть на кнопке с изображением диаграммы классов на стандартной панели инструментов;
  •  раскрыть логическое представление (Logical View) в браузере проекта и дважды щелкнуть на пиктограмме Main (Главная);
  •  выполнить операцию главного меню: BrowseClass Diagram (ОбзорДиаграмма классов).

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

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

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

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

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

Selection Tool

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

Text Box

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

Note

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

Anchor Note to Item

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

Class

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

Interface

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

Unidirectional Association

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

Association Class

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

Package

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

Dependency or Instantiates

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

Generalization

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

Realize

Добавляет на диаграмму отношение реализации

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

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

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

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


Рис. 3.1.  Диаграмма классов модели банкомата после добавления на нее класса Транзакция Банкомата

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

Для класса Транзакция Банкомата можно уточнить его назначение в модели с помощью указания стереотипа и пояснительного текста в форме документации. С этой целью двойным щелчком левой кнопкой мыши на изображении этого класса на диаграмме или в браузере проекта следует открыть диалоговое окно спецификации свойств этого класса (рис. 3.2) и на вкладке General (Общие) выбрать из вложенного списка Stereotype стереотип entity (сущность).


Рис. 3.2.  Диалоговое окно спецификации свойств класса Транзакция Банкомата при выборе из вложенного списка стереотипа entity

Выбор данного стереотипа означает, что соответствующий класс предназначен для хранения информации, которая должна сохраняться в системе после уничтожения объектов данного класса. Далее в секцию документации данного класса можно ввести поясняющий текст: "Используется для сохранения информации о выполненных банкоматом транзакциях" и нажать кнопку Apply или OK, чтобы сохранить результаты редактирования свойств выбранного класса. После назначения стереотипа классу Транзакция банкомата текст данного стереотипа в угловых скобках появится выше имени данного класса (рис. 3.3).


Рис. 3.3.  Диаграмма классов модели банкомата после выбора стереотипа для класса Транзакция Банкомата

Для отдельного класса можно уточнить также и другие его свойства, доступные для редактирования на вкладке Detail (Подробно) окна спецификации свойств этого класса. Например, на этой вкладке с помощью вложенного списка Multiplicity (Кратность) можно задать количество объектов или экземпляров данного класса, для чего следует выбрать строку с буквой n. Данное значение означает, что у класса Транзакция банкомата может быть любое конечное число экземпляров (рис. 3.4). Поле ввода с именем Space (Пространство) служит для указания объема абсолютной или относительной памяти, которая требуется, по оценке разработчика, для реализации каждого объекта данного класса. Применительно к рассматриваемой модели это поле можно оставить пустым.


Рис. 3.4.  Диалоговое окно спецификации свойств класса Транзакция Банкомата, открытое на вкладке Detail (Подробно)

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

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

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

Для того, чтобы специфицировать класс как абстрактный, т.е. не имеющий экземпляров, следует на этой же вкладке выставить отметку в свойстве Abstract (Абстрактный). Применительно к рассматриваемой модели для класса Транзакция банкомата следует выбрать свойства Persistent и Sequential, а отметку для свойства Abstract оставить пустой.

Следует заметить, что для предотвращения потери информации о разрабатываемой модели и результатов редактирования свойств ее графических элементов необходимо периодически сохранять модель во внешнем файле. Для этого следует выполнить операцию главного меню: FileSave (ФайлСохранить) или нажать комбинацию клавиш: Ctrl+S. Для этой же цели служит соответствующая кнопка на стандартной панели инструментов (см. табл. 1.1).

Стереотипы классов и их графическое представление

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

Изменить изображение стереотипа для отдельного класса можно, например, с помощью одной из вложенных операций контекстного меню: OptionsStereotype Display (ПараметрыИзображение стереотипа). В качестве примера можно представить изображение класса Транзакция Банкомата в форме специальной графической пиктограммы стереотипа. С этой целью следует выполнить операцию контекстного меню: OptionsStereotype DisplayIcon (ПараметрыИзображение стереотипаПиктограмма). Соответствующее графическое изображение стереотипа <<entity>> для класса Транзакция Банкомата в форме пиктограммы будет иметь следующий вид (рис. 3.5, а).

Для сравнения можно выбрать изображение класса Транзакция Банкомата в форме декоративного графического стереотипа. С этой целью выполним операцию контекстного меню: OptionsStereotype DisplayDecoration (ПараметрыИзображение стереотипаДекорация). Соответствующее графическое изображение стереотипа <<entity>> для класса Транзакция Банкомата в форме декорации будет иметь следующий вид (рис. 3.5, б).


Рис. 3.5.  Графические способы изображения стереотипа <<entity>> для класса Транзакция Банкомата

Изменить изображение стереотипов одновременно для нескольких классов диаграммы можно с помощью одной из вложенных операций главного меню: FormatStereotype Display (ФорматИзображение стереотипов). В этом случае необходимо выделить все классы модели в окне диаграммы классов или в браузере проекта. Для выделения группы классов на диаграмме или в браузере проекта следует, удерживая нажатой клавишу Ctrl или Shift на клавиатуре, последовательно щелкать на их изображении левой кнопкой мыши.

Выделить все графические элементы на диаграмме классов, также как и на любой другой диаграмме модели, можно с помощью выполнения операции главного меню: EditSelect All (РедактированиеВыделить все) или с помощью комбинации клавиш Ctrl+А. Следует отметить, что выбор того или иного способа изображения стереотипов классов на диаграмме классов определяется разработчиком исходя из его личных предпочтений, и не оказывает влияния на содержательный аспект логического представления модели.

Продолжая разработку модели банкомата, добавим на диаграмму второй класс с именем Контроллер Банкомата, для которого в окне спецификации свойств выберем стереотип control (управляющий класс), а в качестве документации введем текст: "Реализует логику функционирования банкомата". При этом атрибуты и операции у данного класса будут отсутствовать. Соответствующий фрагмент диаграммы классов после добавления управляющего класса Контроллер Банкомата будет иметь следующий вид (рис. 3.6).


Рис. 3.6.  Фрагмент диаграммы классов модели банкомата после добавления на нее класса Контролер Банкомата

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

Далее следует добавить класс с именем IКонтроллер Банка, для которого выбрать стереотип Interface (Интерфейс), означающий, что банкомат пользуется услугами Банка при обработке своих транзакций. Заметим, что первой буквой в имени этого класса является английское "I", которое служит в языке UML для указания интерфейса. Соответствующий фрагмент диаграммы классов после добавления на нее классов Устройство чтения карточки и IКонтроллер Банка будет иметь следующий вид (рис. 3.7).


Рис. 3.7.  Фрагмент диаграммы классов модели банкомата после добавления на нее классов Устройство чтения карточки и Контролер Банкомата

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


 

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

75902. Крестьянские движения XVII – XVIII вв.: бунт или революция? Сравнительный анализ 15.29 KB
  Первое крестьянское восстание под предводительством Хлопка 1603 вспыхнуло вследствие ужесточения крепостного гнета. Следующее восстание под предводительством И. Еще более крупное восстание в казацкой среде усилившейся за счет большого количества беглых людей произошло в Поволжье под руководством С. Восстание под предводительством К.
75903. Программные установки в движениях декабристов и народников: общее и особенное 19.14 KB
  Северное общество – за сохранение монархии но ограниченной парламентом; Южное общество – за республику. Северное общество за имущественный ценз. Северное общество за то чтобы их имели все граждане страны. Южное общество согласно но делает одно существенное дополнение – гражданские и политические права народ получит только после длительного периода военной диктатуры.
75904. Политические партии в России в начале ХХ в.: сравнительный анализ программных лозунгов и деятельности двух-трех партий на выбор 186.39 KB
  Лидеры партии отстаивали целостность России допуская автономию только для Финляндии и Польши. Лидерами партии были известные предприниматели и финансисты А.
75905. Почему большевики смогли взять и удержать власть 15.43 KB
  Напротив большевики придя к власти незамедлительно приняли Декрет о земле отменивший право частной собственности на землю: земля переходила во всенародную государственную собственность; В 1914-1918 гг. Большевики соответственно также издали и Декрет о мире; Политическая раздробленность царившая среди остальных партийных кругов компромисс кадетов с эсерами с меньшевиками привела к потере ими фактического влияния в стране; наиболее организованной группой оставались лишь большевики способные в короткий срок мобилизовать собственные...
75906. Диссидентское движение в СССР: основные направления, лидеры и результаты деятельности 19.6 KB
  Диссиденты (лат. dissidents - несогласный) - термин, который с середины 70-х годов применялся к лицам, открыто спорившим с официальными доктринами в тех или иных областях общественной жизни СССР и пришедшим к явному столкновению с аппаратом власти. Первые годы брежневского правления
75907. Сравнительный анализ политических программ двух-трех современных российских политических партий (целевая аудитория (электорат) партии, образ желаемого будущего России (политическая, социально-экономическая модели, место России в международных процессах) 16.93 KB
  Все три партии видят будущее России поразному. Окончательное формирование социалистических общественных отношений В качестве альтернативы этим шагам предусмотрена программаминимум которая предполагает национализацию природных богатств России установление власти трудящихся и т. В программе ЕР нет ясного положения относительно будущего России какой она должна быть отсутствует там и идеология партии.
75908. Аграрная политика в дореволюционной России и в СССР: крепостное право и коллективизация без выдачи паспортов, община и колхоз 16.6 KB
  Крепостное право и кресьянская община. В России крестьянская община зародилась вместе с Древнерусским государством и видоизменяясь просуществовала вплоть до конца 1920х. В период Киевской Руси крестьянская община стала основной производящей единицей.
75909. В чем причины кризиса советской экономики в 1980-е гг.? Системный кризис, падение цен на нефть, нерентабельность производства, экстенсивный характер развития? Причины субъективные и объективные 15.55 KB
  Системный кризис падение цен на нефть нерентабельность производства экстенсивный характер развития Причины субъективные и объективные. Проблемы экономического развития были вызваны рядом причин: Системный кризис. В условиях догоняющего развития без демократических свобод при отсутствии гражданского общества в СССР произошла подмена цели средствами главной жертвой которой стала свобода как необходимое хотя и не единственное условие развития человека его инициативы и предприимчивости. Советская модель хозяйствования лишенная...
75910. Как характеризуют существовавшие в конце 80-х - начале 90-х программы реформ Г.Явлинский и А.Чубайс? Каковы отличия в подходах и восприятии 18.19 KB
  Российская приватизация по масштабам и объему стоящих перед ней задач принципиально отличалась от приватизации осуществленной в 1980е годы в странах Запада.Чубайс прохладно относился к приватизации однако понимал важность ее осущетсвления в рамках проведения рыночных реформ. списка литры: мы вели очень жесткую теоретическую дискуссию с Виталием Найшулем как автором концепции ваучерной приватизации приводили ему длинный список катастрофических тяжелейших последствий которые она неизбежно повлечет за собой. мне лично тема приватизации...