Автор работы: Пользователь скрыл имя, 29 Ноября 2011 в 14:36, реферат
Программа Microsoft Office Visio помогает специалистам сферы ИТ и сферы бизнеса визуализировать, исследовать и распространять сложную информацию. Трудный для понимания текст и таблицы можно представить в виде простых и наглядных диаграмм Visio. Вместо статичных рисунков пользователи создают тесно связанные с данными диаграммы Visio, которые отображают данные, легко обновляются и позволяют заметно повысить производительность работы.
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
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.
Определение требований к
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 – построение графических моделей программ