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