MSVisio, Rational Rose – построение графических моделей программ

Министерство  образования и науки Республики Казахстан 

Павлодарский  государственный университет им. С. Торайгырова 

Факультет Физики, математики и информационных технологий 

Кафедра Вычислительная техника и программирование 
 
 

РЕФЕРАТ

РФ.050704.20-05.06.11 

По  дисциплине       Инструментальные средства разработки программ   

Тема MSVisio, Rational Rose – построение графических моделей программ 

       ______________

            (оценка) 

   
 
 
Руководитель 

старший преподаватель

(должность,  ученая степень)

А. А. Варакута

(инициалы, фамилия)

_______________________      ___________________

(подпись)                             (дата)

 
 
 
 
 
 
 
 
 

Студент

 

К. А. Швацкий

(инициалы, фамилия)

 

_______________________      ___________________

(подпись)                             (дата)

ВТиП-302

(группа)

 
 

2011

 

Содержание

 
 
1       Microsoft Visio 3
1.1    Представление данных 4
1.2    Связь проектов Visio с данными 8
1.3    Обмен проектами между пользователями 9
2       Rational Rose 11
2.1    Совместное использование Delphi и CASE Rational Rose 12
2.2    Кодогенератор Delphi от фирмы Ensemble Systems, Inc 14
2.3    Проектирование на Rose Delphi Link 14
2.4    Система Power Designer компании Sybase 16
2.5    CASE-система Silverrun компании Silverrun Technologies Ltd 17
2.6  Системы BPWin и ERWin компании LogicWorks 18
 

 

      1 Microsoft Visio

 

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

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

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

     Развивая  аналогию с электронными таблицами, можно сказать, что если Excel ориентирован на работу с табличными численными данными, то Visio предназначен для визуализации разнородных информационных структур с разнообразными взаимосвязями. Пользователь может применять как ручные, так и автоматические методы рисования по некоторым исходным данным (например, по табличному описанию штата сотрудников организации или по описанию топологии иерархической системы компьютерной сети). Но в любом случае он получает изображения в некотором заданном стиле или стандарте. В состав Visio входит обширный набор шаблонов - блок-схем бизнес-процессов, схем сетей, диаграмм рабочих процессов, моделей баз данных и диаграмм ПО, - которые можно использовать для визуализации и рационализации бизнес-процессов, отслеживания работы над проектами и использования ресурсов, оптимизации систем, составления схем организационных структур, карт сетей и планов зданий. Однако функции Visio выходят далеко за пределы просто визуализации данных: в профессиональную редакцию пакета включены средства моделирования и визуального проектирования при решении целого ряда распространенных ИТ-задач, в том числе при разработке программных систем.

     1.1 Представление данных

 

     Основное  средство представления данных в Visio - это векторные фигуры, на основе которых строится диаграмма или  план.

 

 

     Рисунок 1 – Пример фигуры в Visio

 

     Для удобства фигуры сгруппированы по тематическим категориям, в каждой из которых  можно увидеть похожие по внешнему виду или по теме элементы. Фигуры отображаются на одноименной области задач. Чтобы загрузить на нее фигуры определенной категории, нужно выбрать ее в меню "Файл>>Фигуры". На области задач может присутствовать несколько категорий одновременно, та из них, которая является активной, разворачивается, чтобы можно было увидеть фигуры, а остальные сворачиваются для экономии рабочего пространства. Для каждой фигуры можно увидеть ее название и графическое отображение.

 

 

     Рисунок 2 – Группировка фигур в Visio

 

     Наиболее  удобный способ начать работу с Visio - создать документ на основе шаблона. При загрузке шаблона на область  задач "Фигуры" подгружаются те категории  графических элементов, которые  могут вам понадобиться в процессе создания диаграммы, плана или карты выбранного типа. Например, если вы хотите создать маршрутный план, то на области задач появятся такие категории фигур, как "Ориентиры", "Метро" и "Дороги".

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

 

     Рисунок 3 – Добавление фигуры в проет  Visio

 

     Фигуры  являются основным, но не единственным средством для представления  данных в Visio. Кроме них можно также  использовать текст и числовые данные, графические элементы и форматирование цветом.

 

 

     Рисунок 4 – Создание нового элемента

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

     Форматирование  цветом используется в Visio по такому же принципу, как и условное форматирование в Excel. Вы можете задать критерии, по которым программа будет автоматически изменять цвет или форму элементов диаграммы.

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

 

 

     Рисунок 5 – Создание набора значков

 

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

     1.2 Связь проектов Visio с данными

 

     Возможно, может показаться, что наиболее простой способ ввода данных в диаграммы Visio - вручную. На самом же деле это не так. Для большинства пользователей Visio является лишь вспомогательной программой, которая используется наряду с Excel, Access, Microsoft SQL Server и другими решениями. Иными словами, несмотря на то, что в Visio есть возможность ввода данных вручную, в большинстве случаев это неоправданно. Гораздо проще связать диаграмму Visio с данными, которые вводятся и обрабатываются в специальных приложениях, предназначенных именно для этого. Основная функция Visio - в более наглядном представлении уже имеющихся данных. Использование внешних источников имеет свои преимущества. Во-первых, гораздо проще связать уже имеющиеся данные с элементами диаграммы Visio, чем вводить их вручную. Во-вторых, при использовании внешних источников обновление может происходить автоматически - при изменении файла Excel или другого источника данные на диаграмме Visio тоже изменяются.

     Для добавления источника данных нужно  выбрать команду "Связать данные с фигурами" в меню "Данные". После этого на экране появится мастер, который поможет быстро добавить нужный источник в Visio. Например, если это таблица Excel, вы сможете указать диапазон таблицы, который будет использован в Visio.

 

 

     Рисунок 6 – Окно выбора данных для связи

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

 

 

     Рисунок 7 – Отображение импортированных данных

     1.3 Обмен проектами между пользователями

 

     В Microsoft Visio предусмотрено множество  различных средств для обмена данными между пользователями. Диаграммы  можно отсылать по почте прямо  из программы, сохранять в виде веб-страниц, а также в виде файлов PDF или XPS (последний является аналогом формата PDF, разрабатываемым Microsoft). Для сохранения в форматы PDF и XPS необходимо установить дополнение. Для этого достаточно выбрать в меню "Файл" команду "Найти надстройки для других форматов файлов", после чего перейти на страницу загрузки, подтвердить, что вы пользуетесь лицензионной версией MS Visio и загрузить дополнение.

     После этого в меню "Файл" появится дополнительный пункт "Опубликовать как PDF или XPS". Сохраняя диаграмму в один из этих форматов, можно выбрать качество выходного файла, указать, будут ли включены в файл свойства документа, тэги его структуры, какие страницы нужно сохранить.

 

 

     Рисунок 8 – Окно сохранения диаграммы

 

     Еще один способ обмена диаграммами Visio - при помощи бесплатной программы Visio Viewer, которую можно загрузить с сайта Microsoft. Эта программа дает возможность просматривать в браузере Internet Explorer диаграммы, созданные в разных версиях Visio (Visio 5.0, 2000, 2002, 2003, 2007). При этом наличие на компьютере самой Visio не нужно. Visio Viewer поддерживает файлы с расширениями .VSD, .VSS, .VST, .VDX, .VSX и .VTX, открывая их в окне браузера. Пользователи могут не только просматривать диаграммы и планы, но и распечатывать их. Кроме этого, пользователям Visio Viewer доступны такие возможности, как просмотр свойств фигур, изменение настроек визуализации и отображения диаграмм, управление слоями проекта.

 
 
 
 
 
 
 
 
 
 
 

     2 Rational Rose

 

     Продукт №1 в программном списке Rational. Следуя рекомендации и практическому опыту, данный продукт позиционируется для использования проектировщиками, аналитиками, разработчиками. ROSE является уникальным CASE-средством, чьи графические возможности, основанные на UML (Universal Modeling Language - универсальном языке моделирования), способны решить любые задачи, связанные с любым проектированием и моделированием: от общей модели процессов (абстрактной) предприятия до конкретной (физической) модели класса в создаваемом ПО. Работа в Rational Rose заключается в проектировании определенного вида диаграмм, задавая при этом все свойства, отношения и взаимодействие друг с другом.

 

 

     Рисунок 9 – Окно обзора сервисов пользователя

 

 

     Рисунок 10 – Окно созданного проекта 

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

     Необычайно  богатый набор средств Rose предоставляет  разработчикам:

     а) проектирование систем - кодогенерация. Позволяет нарисованную модель преобразовать в описание на конкретном языке программирования. Поддерживается: С++, Ada, Java, Basic, Xml, Oracle. Также к Rose сторонними компаниями разрабатываются специальные мосты к не входящим стандартную поставку языкам, например, к Delphi;

     б) возможности обратного проектирования - реинжениринга, когда готовую информационную систему (например, на С++) или базу данных (на Oracle) "закачивают" в Rose с целью получения наглядной визуальной (структурной) модели;

     в) Round-trip engineering - сочетает возможности первых двух подходов, когда создается система, а по прохождении некоторого времени эволюционного периода (доработок) подвергается вновь реинженирингу и вновь кодогенерации.

     В данное время Rational Rose поставляется в  следующих редакциях:

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

     - Rose RealTime - узкоспециализированная версия, способная проводить 100% кодогенерацию и реинжениринг только на С и С++. Имеет неполный набор диаграмм. Продукт направлен только на разработчиков;

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

 
 

     2.1 Совместное использование Delphi и CASE Rational Rose 
при проектировании пользовательского интерфейса

 

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

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

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

     Вернемся к достоинствам Delphi. Если отбросить среду визуального программирования, то, что же останется? Объектная модель. А вот это уже достоинство Delphi, привлекательное с точки зрения проектировщика системы и именно объектная модель (как бы это не показалось кому-то странным) во много определяет успех среды визуального программирования. Объектная модель Delphi охватывает широкий круг задач, обеспечивая высокоуровневые (но при этом исключительно гибкие, практически без ограничений) средства организации пользовательского интерфейса, управления ресурсами операционной системы, манипулирования данными БД, поддержки стандартов открытых систем, поддержку популярных технологий (включая CORBA и COM), многоуровневую архитектуру и, наконец, Internet/Intranet технологии. Базовая архитектура может использовать элементы объектной модели Delphi (зачем заново создавать все выше перечисленное), дополнив ее необходимыми составляющими, отражающими прикладную специфику конкретной системы.

     Мы  используем для проектирования систем продукт Rational Rose фирмы Rational Software Corporation. Rational Rose обладает всеми необходимыми характеристиками для создания базовой архитектуры системы любого масштаба. Имея достаточный опыт программирования в среде Delphi, для нас привлекательным является использование Rational Rose и Delphi совместно, в рамках единого технологического процесса.

 
 
 
 

     2.2 Кодогенератор Delphi от фирмы Ensemble Systems, Inc

 

     Компания Ensemble Systems, Inc. в настоящее время является одним из ведущих поставщиков дополнительных компонент (add ins) для Rational Rose. Эти компоненты поддерживают кодогенерацию для широкого спектра популярных систем программирования, в том числе и для Delphi. Рассмотрим работу кодогенератора Delphi в среде Rational Rose.

     После установки компонента Delphi от фирмы Ensemble Systems, Inc. в среде Rational Rose появляется новый пункт меню в разделе Tools.

     Кодогенератор носит название Rose Delphi Link (RDL).

     Прежде  всего, заметим, что код, создаваемый RDL не содержит реализацию (для объектной модели это, как правило, это тело метода). Когда модель обновляется из кода Delphi (reverse engeneering или round trip), модель не подгружает программный код, написанный в среде Delphi для тел методов. Изменения в модели касаются только декларативных элементов: определений классов, интерфейсов, типов, записей и т. п. Однако, при повторной генерации кода из Rose, тела методов в Delphi также остаются неизменными, а меняются только декларативные элементы. Таким образом “испортить” программный код при повторной генерации нельзя. Для отображения элементов модели в программный код RDL использует Code Generation Properties (CGP) – набор специальных таблиц, которые связываются с каждым элементом моделей Rational Rose и содержат специфическую для Delphi информацию, используемую для кодогенерации. Набор этих таблиц доступен из главного меню (пункт Tools/Options, закладка Delphi).

     Для того, что бы CGP для Delphi было доступно из спецификации необходимо установить значение поля Default Language = Delphi в закладке Notation пункта меню Tools/Options. Для упрощения работы в разделе меню Tools/Ensemble Tools появляется также закладка Delphi Property Editor, где можно настроить свойства выбранного элемента модели. Заметим, что использование CGP является типичным приемом для всех кодогенераторов от Ensemble Systems, Inc и для Rational Rose вообще. При использовании Delphi Property Editor можно, не выполняя кодогенерации, просмотреть код соответствующего элемента модели (например, класса), что часто бывает очень удобно.

 
 

     2.3 Проектирование на Rose Delphi Link

      
Так как Rational Rose обладает всеми необходимыми характеристиками для проектирования архитектуры системы любого масштаба, напрашивается идея использования Rose с такой мощной и популярной системой программирования, как Delphi. В стандартной поставке Rational Rose не предусмотрена возможность работы с Delphi, но Rational Software ведет программу по поддержке сторонних производителей программ-мостов (Links) между Rose и другими средствами разработки. В рамках этой программы фирмой Ensemble Systems была разработана программа-мост Rose Delphi Link (RDL), связывающая Rational Rose и Delphi. Основные функции RDL - генерация кода и обратное проектирование. Следует помнить, что генерируемый RDL код не содержит реализацию функциональности. Генерируются только декларативные элементы: определения классов, интерфейсов, записей, типов, директивы видимости и т.д. 
Прежде чем переходить к рассмотрению Rose Delphi Link, напомню основные этапы работы в среде Rational Rose. Как правило, используется следующий подход:

     1. Определение требований к системе  и построение модели взаимодействия элементов системы (Use Case Diagram и Collaboration Diagram). Для детализации Use Case используются Sequence Diagram. На этих диаграммах отображаются объекты предметной области, участвующие в бизнес-процессах. Эти диаграммы не влияют на генерируемый код.

     2. Построение аппаратной модели  системы (Deployment Diagram). На этой диаграмме  отображается модель системы  в аппаратной реализации. Диаграмма  не влияет на код, генерируемый RDL.

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

     4. Генерация кода программы. На  генерацию кода влияют только  диаграммы классов. 

     Перечисленные этапы проектирования в среде Rational Rose применяются для разработки модели и генерации кода на различных языках, поддерживаемых средой Rose. Но в Delphi есть особенность, существенно отличающая разработку в Delphi от разработки в других средах программирования: программирование пользовательского интерфейса. Не секрет, что в Delphi разработка большей части программ начинается именно с проектирования интерфейса пользователя, а при дальнейшем программировании - его существенного изменения. Поэтому использовать стандартный подход Rational Rose не совсем удобно. Для решения этой проблемы компания Ensemble Systems предлагает следующую методологию проектирования:

      

 

     Рисунок 11 - Методология проектирования с использованием RDL 

     Основная  идея такого подхода состоит в  использовании обратного проектирования (Round-trip engineering): все изменения, сделанные на уровне программного кода в Delphi, отображаются в объектной модели, построенной в Rose, и наоборот, при изменении классов, методов и т.п. в объектной модели Rose, соответственно, корректируется программный код. Обратите внимание на пару стрелок, которые соединяют третий и четвертый блок. Как раз эти стрелки и отображают процесс обратного проектирования.

 
 

     2.4 Система Power Designer компании Sybase

 

     В состав Power Designer входят следующие модули:

     а) Process Analyst - средство для функционального моделирования, поддерживает нотацию Йордона - ДеМарко, Гейна - Сарсона и несколько других. Имеется возможность описать элементы данных (имена, типы, форматы), связанные с потоками данных и хранилищами данных. Эт элементы передаются на следующий этап проектирования, причем хранилища данных могут быть автоматически преобразованыв сущности.

     б) Data Analyst - инструмент для построения модели "сущность-связь" и автоматической генерации на ее основе реляционной структуры. Исходные данные для модели "сущность-связь" могут быть получены из DFD-моделей, созданных в модуле Process Analyst. В ER-диаграммах допускаются только бинарные связи, задание атрибутов у связей не поддерживается. Поддерживаются диалекты языка SQL примерно для 30 реляционных СУБД, при этом могут быть сгенерированы таблицы, представления, индексы, триггеры и т.д. В результате порождается SQL-сценарий (последовательность команд CREATE), выполнение которого создает спроектированную схему базы данных. Имеется также возможность установить соединение с СУБД через интерфейс ODBC. Другие возможности: автоматическая проверка правильности модели, расчет размера базы данных, реинжиниринг (построение модельных диаграмм для уже существующих баз данных) и т.д.

MSVisio, Rational Rose – построение графических моделей программ