Критерии сравнения инструментальных систем разработки программных систем

Дадим сравнительный обзор двух информационных систем для визуального моделирования, лидирующих на рыке программного обеспечения, - Rational Rose (RR) и Paradigm Plus(P+).

Учтем следующие критерии и возможности:

· поддерживаемая нотация

· методологии

· компонентно-базируемое проектирование

· ведение репозитария объектов

· построение диаграмм моделей, пользовательский интерфейс

· генерирование программного кода

· наличие реинжиниринга

· проектирование баз данных, поддержка SQL и мостов для реляционных баз данных, IDL для CORBA

· создание экранного интерфейса

· возможность групповой работы

· наличие Script-языка

· генерирование отчетов и формирование проектной документации

· поддерживаемые платформы

· место в общем цикле разработки программной системы

Поддерживаемая нотация

RR: UML, также поддерживается нотация Буча и ОМТ-2. Диаграммы из различных нотаций автоматически взаимно конвертируются.

P+: UML, всего поддерживается восемь нотаций из методологий ОМТ Рамбо, Буча, Шлеер/Меллора, Fusion, Мартина/Оделла, Кода/Йордана, OOCL. Проект должен вестись только в одной из выбранных нотаций.

Наличие UML в том числе с возможностью моделирования Use Case, отличает современное средство визуального моделирования. Общепризнанно, что "война нотаций закончилась", (но не война методов). Значимость многонотационной поддержки постепенно снижается. В этом смысле средства равнозначны.

Методологии

RR: Средство предназначено для объектно-ориентированных методологии, в частности под разрабатываемую в фирме методологию "Rational Objectory Process".

P+: Наличие многих нотаций позволяет поддерживать практически любую современную объектно-ориентированную методологию. Имеется фирменная методология "ECM-Enterprise Component Modeling", поддерживаемая в электронном виде.

Оба средства сочетают объектно-ориентированный подход с методологической поддержкой.

Компонентно-базируемое проектирование

RR: Позволяет моделировать и разрабатывать классы и компоненты, пригодные для повторного использования и включать их в разрабатываемые проекты.

P+: Имеется возможность связывать разрабатываемые компоненты в диаграммы. Броузер позволяет разработчику искать и получать доступ к объектам в других приложениях и повторно использовать их в своих разработках.

Оба средства отражают современные тенденции разработки программных систем.

Ведение репозитария объектов

RR: Открытого репозитария нет. Модели хранятся как ASCII-файлы, управляются через внутренний репозитарий. Поддерживается согласованность всех составных частей проекта. Явного доступа нет, репозитарий скрыт от пользователя, но к его элементам можно обратиться с помощью Script-языка.

Ведутся активные работы по использованию стандартных MS-Repository и Unisys UREP.

P+: Собственный репозитарий, реализованный на основе объектно-ориентированной СУБД ObjectStore фирмы ObjectDesign. Единый репозитарий используется при работе на различных платформах Unix, Windows, OS/2.

Наличие репозитария обычно приводится как значительное преимущество P+, но явного выигрыша по отношению к RR здесь не видно. Более того позиции по отношению к использованию репозитария сближаются.

Построение диаграмм моделей. Пользовательский интерфейс

RR: Интерактивный многооконный интерфейс с возможностями OLE-технологий. Поддерживается согласованность между диаграммами, так что изменения в объектной модели немедленно отображаются в соответствующих сценарных диаграммах. Работа с диаграммами и их элементами осуществляется через диалоговые окна или через броузер. Все диаграммы сопровождаются подробными спецификациями. Можно исключать на диаграммах изображение отдельных деталей. Пользовательский интерфейс настраивается. Предусмотрены специальные средства поиска и диагностики. Есть возможность создавать новые стереотипы для элементов моделей.

P+: Практически аналогичные функциональные возможности, но в более современном стиле, хотя интерфейс несколько перегружен. Поддерживается OLE2. Больше параметров можно указать при описании элементов моделей. Также можно управлять объемом отображаемой в моделях информации и погасить ненужную. Согласованность диаграмм поддерживается. Реализованы традиционные режимы графического редактора: создание, редактирование, удаление элементов модели. Различная степень визуализации модели. Кроме графического редактора диаграмм имеется матрично-табличная форма определения отношений между объектами. Изменения на любой диаграмме автоматически отражаются на всех других связанных диаграммах.

Оба средства содержат основные возможности графического редактирования и работы в диалоговых окнах. В RR эти возможности попроще, а в P+ графическое отображение значительно медленнее. Очевидно, это связано с постоянным обращением к объектной базе данных, используемой как репозитарий.

Генерирование программного кода

RR: Генерируется каркас программы, заголовочные файлы, поля реализации и некоторые методы, но не законченное приложение. Rose генерирует коды на языках Ada, C++, Smalltalk, Visual Basic, Java и IDL. Rational Rose - это семейство продуктов и в рамках одного CASE-средства можно генерировать программный код только для данного языка. Ожидается, что кодогенераторы будут поставляться отдельно при общем ядре визуального моделирования. Стиль программного модуля может формироваться пользователем в весьма широких пределах путем настраивания свойств кодогенератора как для всего проекта, так и для отдельных элементов. Возможность подключения базовых стандартных библиотек MFC, RogueWave и др.

P+: Генерирует коды для Ada, C/C++, Visual C++, Smalltalk, Java, OO COBOL, Delphi. Также генерируются коды для SQL, Active/X и физических определений для объектных и реляционных баз данных.

Свойства практически одинаковые. Нет возможности генерации из модели завершенного приложения.

Наличие реинжиниринга

RR: Поддерживает реинжиниринг и может загрузить код из С++, PowerBuilder, Forte, Java, IDL, Ada, Smalltalk или SQLWindows в свою среду и сгенерировать диаграммы отражающие изменения сделанные в коде по сравнению с более ранними диаграммами. Поддерживается концепция возвратного проектирования (RTE) с возможностью сравнения вновь сгенерированной диаграммы с предыдущей при очередной итерации.

P+: Поддерживается реинжиниринг с кода на С, С++, Visual C++, Smalltalk, Forte, PowerBuilder, VisualBasic, Forte, Java, ObjectPro фирмы Platinum.

Есть прямой инжиниринг, реинжиниринг и возвратное проектирование для основных языков программирования.

Проектирование баз данных. Поддержка SQL и мостов для реляционных баз данных, IDL для CORBA

RR: Для выделенных классов автоматическое создание DDL-файлов с учетом особенностей конкретных СУБД (Oracle7, Sybase SQL…). Возможности генерации схем весьма ограничены. Для проектирования баз данных существуют мосты к Silverrun, Erwin, PowerDesigner. Планируется связь с Oracle8. Rational Rose генерирует и делает реинжиниринг для CORBA2.0, совместимый код для Orbix Iona.

P+: Интегрирована SQL-станция с возможностью проектирования таблиц баз данных путем отображения объектов в реляционную модель. Возможность создания и реинжиниринга схем для ведущих СУБД, включая Oracle, Sybase, Informix, DB2, SQL Server. По сути, встроен самостоятельный CASE проектирования реляционных баз данных с возможностью построения ER-моделей.

В P+ проектирование баз данных существенно лучше, чем в RR, но уступает специализированным средствам типа Silverrun.

Создание экранного интерфейса

Возможность визуальной разработки экранов отсутствует.

Возможность групповой работы

RR: Поддерживает управление и контроль версий и разбиение проекта на модули(Units), так что индивидуальный разработчик может закрыть доступ (заблокировать) к части приложения. Более того, Rational Rose может организовать их так, чтобы каждый разработчик работал с полной моделью внутри своего рабочего пространства.

Интеграция со стандартными системами контроля и управления версиями ClearCase, PVCS.

P+: Группа разработчиков может работать над проектом одновременно используя либо централизованный, либо распределенный репозитарий объектов. Поддерживается контроль версий и блокирование модулей отдельными разработчиками. Собственная система контроля и управления версиями в рамках репозитария CCC/Harvest, а также Sourсe Safe, PVCS.

Групповая работа поддерживается.

Наличие Script-языка

RR: Имеется script-язык и развитой набор API-функций, реализованных на базе Ms-VB 5.0, обеспечивающий полный доступ к элементам моделей Rational Rose.

P+: Собственный BASIC-подобный язык с набором функций доступа к репозитарию и возможностью управления диаграммами проекта.

Оба средства содержат Script-язык.

Генерирование отчетов и формирование проектной документации

RR: Диаграммы и их спецификации входящих в них объектов можно вывести на печать. Генератор отчетов в формате RTF интегрирован в MS Word. Есть возможность подготовки документации через генератор документации Rational SoDA.

P+: Все сделанное в Paradigm Plus может быть документировано, выведено на печать и импортировано во множество существующих форматов. Генерируются статистические отчеты. Используется инструмент подготовки документации Paradigm Publisher для вывода данных в MS Word.

Оба средства позволяют выводить рабочую проектную документацию.

Поддерживаемые платформы

RR: Windows,Alpha NT, Solaris, HP-UX, AIX.

P+: Windows ,Alpha NT, Solaris, HP-UX, AIX.

Оба средства многоплатформенные.

Место в общем цикле разработки программной системы

RR: Это средство для визуального объектно-ориентированного моделирования, анализа проектирования и программирования программных систем. Возможность построения различного рода диаграмм и их документирование позволяет использовать Rational Rose для сбора требований и документирования бизнесс-процессов, но это дополнительные возможности. Также можно, но нецелесообразно использовать данное средство для проектирования баз данных из-за недостаточной поддержки генерации SQL-кодов. Фирма Rational предлагает комплексное решение путем интеграции Rational Rose с Requisite Baseline, RequisitePro для сбора и документирования требований к системе, использование программных мостов для проектирования баз данных, SQA Suite или Rational Visual Test как средства тестирования.

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

Оба продукта - инструменты для итеративного объектно-ориентированного анализа проектирования и разработки программных систем.

Наши рекомендации