Теоретическая часть

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

 

Тема: Унифицированный язык моделирования (UML). Среда Rational Rose.

Цель: Ознакомиться с основными аспектами языка UML. Ознакомиться со средой проектирования Rational Rose.

 

Теоретическая часть

UML унифицированный язык моделирования (UML-Unified Modeling Language) является стандартным инструментом для создания моделей информационных систем и программного обеспечения. Унифицированный язык моделирования разработан таким образом, чтобы удовлетворять потребности при моделировании любых систем: от информационных систем масштаба предприятия до распределенных Web-приложений и даже встроенных систем реального времени. Rational Rose – семейство объектно-ориентированных Case-средств, предназначенных для автоматизации процессов анализа и проектирования ПО, для генерации кодов на различных языках программирования и выпуска проектной документации.

Rational Rose – это CASE-средство фирмы Rational Software Corporation (США), предназначенное для автоматизации этапов анализа и проектирования программного обеспечения, для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона. Разработанная ими универсальная нотация для моделирования объектов (UML – Unified Modeling Language) претендует на роль стандарта в области объектно-ориентированного анализа и проектирования. Rational Rose функционирует на различных платформах: IBM PC (в среде Windows), Sun SPARC stations (UNIX, Solaris, SunOS), HewlettPackard (HP UX), IBM RS/6000 (AIX).

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

· репозиторий;

· графический интерфейс пользователя;

· средства просмотра проекта (browser);

· средства контроля проекта;

· средства сбора статистики;

· генератор документов.

К ним добавляются генератор кодов (индивидуальный для каждого языка) и анализатор для С++, обеспечивающий реинжиниринг – восстановление модели проекта по исходным текстам программ. Репозиторий представляет собой объектно-ориентированную базу данных. Средства просмотра обеспечивают «навигацию» по проекту, в том числе: перемещение по иерархиям классов и подсистем, переключение от одного вида диаграмм к другому и т.д. Средства контроля и сбора статистики дают возможность находить и устранять ошибки по мере развития проекта, а не после завершения его описания. Генератор отчетов формирует тексты выходных документов на основе содержащейся в репозитории информации. Средства автоматической генерации кодов программ на языке С++, используя информацию, содержащуюся в логической и физической моделях проекта, формируют файлы заголовков и файлы описаний классов и объектов. Создаваемый таким образом скелет программы может быть уточнен путем прямого программирования на языке С++. Анализатор кодов С++ реализован в виде отдельного программного модуля. Его назначение состоит в том, чтобы создавать модули проектов в форме Rational Rose на основе информации, содержащейся в определяемых пользователем исходных текстах на С++. В процессе работы анализатор осуществляет контроль правильности исходных текстов и диагностику ошибок. Модель, полученная в результате его работы, может целиком или фрагментарно использоваться в различных проектах. Анализатор обладает широкими возможностями настройки по входу и выходу. Например, можно определить типы исходных файлов, базовый компилятор, задать, какая информация должна быть включена в формируемую модель и какие элементы выходной модели следует выводить на экран. Таким образом, Rational Rose/С++ обеспечивает возможность повторного использования программных компонент.

В результате разработки проекта с помощью CASE-средства Rational Rose формируются следующие документы:

· диаграммы классов;

· диаграммы состояний;

· диаграммы сценариев;

· диаграммы модулей;

· диаграммы процессов;

· спецификации классов, объектов, атрибутов и операций;

· заготовки текстов программ;

· модель разрабатываемой программной системы.

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

Среда Rational Rose – продукт компании Rational Software Corp.– поддерживает все диаграммы унифицированного языка моделирования (UML), что превращает её в мощный инструмент анализа и проектирования информационных систем. Одним из этапов в проектировании информационных систем является генерация программного кода модели на таких языках программирования как С++, Visual Basic, Java и Power Builder. Кроме того, возможна генерация схемы базы данных Oracle. В Rational Rose также предусмотрена возможность обратного проектирования кода для модификации уже существующих моделей систем. Важно то, что Rational Rose позволяет корректировать моделируемую систему до написания программного кода, что очень удобно, так как недостатки модели легко можно выявить на такой стадии, когда их исправление ещё не требует значительных затрат.

Основные возможности Rational Rose:

· проектировать системы любой сложности;

· давать развернутое представление о проекте в сочетании со средствами документирования (SoDA);

· проводить кодогенерацию;

· проводить обратное проектирование имеющихся систем;

· имеет открытый для дополнений интерфейс;

· интегрируется со средствами разработки (Visual Studio);

· поддержка языка UML;

· наличие средств автоматического контроля, в том числе проверки соответствия двух моделей;

· удобный для пользователя графический интерфейс;

· многоплатформенность;

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

При запуске Rational Rose автоматически создается новый проект с именем Untitled и становятся доступными следующие представления (view) диаграммы: представление вариантов использования (Use Case View), логическое (Logical View), диаграммы компонентов (Component View) и размещения (Deployment View). Все они видны в окне браузера и организованы в виде дерева каталогов, что позволяет легко просматривать содержимое диаграмм.

Вне зависимости от способа открытия среды на экране появится главное окно Rational Rose (рис. 1.1). Оно состоит из семи основных частей:

· строка меню, содержащая вкладки File, Edit, View, Format, Browse, Report, Query, Tools, Add-Ins, Window, Help;

· панель инструментов, с помощью которой можно осуществлять быстрый доступ к часто используемым командам;

· окно для просмотра и редактирования одной или нескольких диаграмм (расположено справа);

· окно браузера;

· окно документации;

· палитра инструментов предназначена для построения элементов диаграмм (располагается между окном браузера и окном просмотра);

· окно журнала.

 

Рис. 1.1. Главное окно программы

 

Назначение пунктов главного меню:

· File (файл) предназначен для сохранения, загрузки, обновления проекта, печати диаграмм.

· Edit (редактирование) предназначен для копирования и восстановления данных в буфер обмена Windows, а также для редактирования свойств и стилей объектов.

· View (вид) предназначен для настройки представления окон меню и строк инструментов.

· Format (форматирование) предназначен для настройки формата текущего значка цветовой гаммы линий и т.д.

· Browse (просмотр) предназначен для навигации между диаграммами и спецификациями диаграмм, представленных в модели.

· Report (отчет) предназначен для получения различного вида справок и отчетов;

· Query (запрос) предоставляет возможности контролировать, какие элементы модели будут показаны на текущей диаграмме.

· Tools (Инструменты) предоставляет доступ к различным дополнительным инструментам и подключаемым модулям.

· Add-Ins (Добавить) предоставляет доступ к менеджеру подключаемых модулей.

· Window (окно) позволяет управлять окнами на рабочем столе.

· Help (помощь) позволяет получать справочную информацию.

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

Назначение элементов экрана интерфейса Rational Rose:

1. Браузер – это иерархическая структура, позволяющая легко осуществлять навигацию по вашей модели (рис. 1.2). Всё, что добавляется к модели: актёры, сценарии, классы, компоненты – выводятся в окне браузера. Он также позволяет пользователю:

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

· просматривать существующие элементы модели;

· просматривать существующие отношения между элементами модели;

· перемещать элементы модели;

· переименовывать элементы модели;

· добавлять элементы модели к диаграмме;

· связывать элемент с файлом или адресом Интернета;

· группировать элементы в пакеты;

· работать с детализированной спецификацией элемента;

· открывать диаграмму.

Браузер поддерживает четыре представления (view): представление вариантов использования, компонентов, размещения и логическое представление.

 

Рис. 1.2. Окно браузера

 

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

2. Специальная панель инструментов располагается между окном браузера и окном диаграммы в средней части рабочего интерфейса. По умолчанию предлагается панель инструментов для построения диаграммы классов модели (рис. 1.3).

Рис. 1.3. Специальная панель инструментов

 

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

3. Окно документации – это окно предназначено для документирования элементов модели Rational Rose. Например, можно сделать короткое описание каждого действующего лица. При документировании класса всё, что вы напишите в окне документации, появится затем как комментарий в сгенерированном коде, что избавляет от необходимости впоследствии вносить комментарии вручную. Документация будет выводиться также в отчётах, создаваемых в среде Rational Rose. Если в браузере или на диаграмме выбирается другой элемент, окно документации автоматически обновляется, показывая то, что соответствует этому элементу.

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

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

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

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

Окно журнала всегда присутствует на рабочем интерфейсе в области окна диаграммы (рис. 1.4). Однако оно может быть закрыто другими окнами с диаграммами или быть свернутым. Активизировать окно журнала можно через меню Window => Log (Окно =>Журнал). В этом случае оно изображается поверх других окон в правой области рабочего интерфейса. Полностью удалить это окно нельзя, его можно только минимизировать.

 

Рис. 1.4. Окна журнала

 

Основополагающими элементами языка UML являются сущности, отношения и диаграммы:

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

· Структурные сущности являются статическими частями модели и могут соответствовать физическим элементам системы. К таким сущностям относятся классы, интерфейсы, кооперации, прецеденты, компоненты и узлы.

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

· Группирующие сущности при помощи пакетов позволяют разбить всю модель на блоки.

· Аннотационная сущность является средством пояснения к модели.

2. Отношения – это средства языка UML, с помощью которых связывают различные сущности. Существует четыре типа отношений: зависимость, ассоциация, обобщение и реализация.

· Зависимость – это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой.

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

· Обобщение – это отношение, при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (родителя).

· Реализация – это семантическое отношение между классификаторами, при котором один классификатор определяет обязательство, а другой гарантирует его выполнение.

3. Диаграммыпредставляют собой связанные графы, в вершинах которых находятся сущности, а ребрами являются отношения. С помощью таких графов – диаграмм можно рассматривать моделируемую систему с различных точек зрения. Язык UML позволяет создавать несколько типов визуальных диаграмм. Rational Rose поддерживает разработку большинства этих моделей, а именно:

· Use case diagram (диаграммы функций);

· Sequence diagram (диаграммы последовательностей действий);

· Collaboration diagram (диаграммы взаимодействий);

· Class diagram (диаграммы классов);

· State diagram (диаграммы состояний);

· Activity diagram (диаграммы активности);

· Component diagram (диаграммы компонент);

· Deployment diagram (диаграммы топологии).

 

Практический раздел

 

Для перемещения браузера необходимо:

1) Выберите мышью на браузере, выделите границу его окна.

2) Перетащите браузер мышью в другое место экрана.

Для того чтобы зафиксировать браузер в пределах окна:

1) Активируйте правой кнопкой мыши на границе окна браузера.

2) Во всплывающем меню выберите пункт Allow Docking (разрешить прикрепление). Рядом с этим пунктом появится отметка о том, что он выделен. Теперь браузер можно передвигать в пределах окна Rational Rose но он будет сразу прикрепляться к одной из границ этого окна.

Для отмены прикрепления:

1) Активируйте правой кнопкой мыши на границе окна браузера.

2) Отмените пункт Allow Docking. Теперь во всплывающем меню рядом с этим пунктом не должно быть никаких отметок. Окно браузера можно будет перемещать независимо от окна Rational Rose.

Если нужно скрыть или показать браузер:

1) Активируйте правой кнопкой мыши на границе окна браузера.

2) В появившемся меню выделите пункт Hide (Скрыть), или выберите пункт меню View =>Browser (Вид =>Браузер).