А.М. Вендров
Департамент информации ЦБ РФ, Тел.: (095) 237-42-45
Цель данной статьи - попытаться описать и обосновать один из возможных подходов к выбору средств проектирования баз данных и приложений для применения в конкретном проекте создания информационной системы достаточно крупного масштаба (здесь намеренно не используется термин "CASE-средство", поскольку большинство известных CASE-средств в лучшем случае позволяют описать будущие приложения лишь в самом общем виде). Представляется, что материал статьи может оказаться полезным для руководителей проектов и системных аналитиков. Конечный результат выбора ни в коем случае не следует рассматривать как нечто абсолютное, он отражает лишь мнение конкретного коллектива разработчиков, утвердившееся на заданном временном интервале. Тем не менее, автор выражает надежду на то, что данный подход обладает достаточной степенью общности, и готов в любое время и в любом месте к конструктивному продолжению разговора на "вечную" тему о выборе.
1. Критерии выбора
В общем случае стратегия выбора средств проектирования баз данных и приложений (СПБДП) для конкретного применения зависит от следующих факторов:
- характеристик моделируемой предметной области;
- целей, потребностей и ограничений будущего проекта информационной системы (ИС), включая квалификацию участвующих в процессе проектирования специалистов.
В данном случае предметная область характеризуется следующими параметрами:
- сложность описания (достаточно большое количество функций, объектов, атрибутов и сложные взаимосвязи между ними), требующая тщательного моделирования и анализа данных и процессов;
- существенное влияние постоянных изменений внешних экономических и политических условий в стране, законодательных и нормативных актов на изменения в предметной области.
Будущий проект, в свою очередь, характеризуется следующими параметрами:
- отсутствие прямых аналогов, ограничивающее возможность использования каких-либо типовых проектных решений и прикладных систем;
- необходимость достаточно длительного сосуществования старых приложений (реализованных в основном средствами Clipper и FoxPro в среде MS DOS) и вновь разрабатываемых БД и приложений;
- наличие потребности как в традиционных приложениях, связанных с обработкой транзакций, так и в приложениях аналитической обработки (поддержки принятия решений), использующих нерегламентированные запросы к данным большого объема;
- поддержка одновременной работы достаточно большого количества локальных сетей, связываемых в глобальную сеть масштаба предприятия, и территориально удаленных пользователей;
- функционирование в неоднородной среде (операционная среда - UNIX, DOS, Windows, NetWare; СУБД - ORACLE, Informix) на нескольких вычислительных платформах (серверы и рабочие станции - Hewlett-Packard, SUN, персональные компьютеры - Compaq, Dell и др.);
- разобщенность и разнородность отдельных микроколлективов разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств;
- существенная временная протяженность проекта, обусловленная, с одной стороны, ограниченными возможностями коллектива разработчиков, и, с другой стороны, масштабами организации-заказчика и различной степенью готовности отдельных ее подразделений к внедрению ИС;
- отсутствие каких-либо существенных ограничений на характеристики используемых для разработки и эксплуатации ИС технических средств и стоимость приобретаемых программных продуктов.
Традиционно при обсуждении проблемы выбора СПБДП (в особенности CASE-средств) большое внимание уделялось особенностям реализации той или иной методологии анализа и проектирования ИС (E-R, IDEF0, IDEF1Х, Gane/Sarson, Yordon, Barker и др.). Безусловно, богатство изобразительных и описательных средств дает возможность на этапах стратегического планирования и анализа построить наиболее полную и адекватную модель предметной области. С этой точки зрения такие системы как Westmount I-CASE или ORACLE*CASE могли бы иметь серьезное преимущество перед своими конкурентами. С другой стороны, если говорить о конечных результатах - базах данных и приложениях, то обнаруживается, что часть описаний в них практически не отражается, остваясь чисто декларативной (на выходе мы в любом случае получим описание БД в табличном представлении с минимальным набором ограничений целостности и исполнимый код приложений, большую часть которых составляют экранные формы, не выводимые непосредственно из моделей предметной области). Опытные аналитики и проектировщики всегда с большими или меньшими трудозатратами придут к нужному конечному результату независимо от того, какая конкретно методология или ее разновидность реализована в данном инструменте. Это, конечно, не означает, что методология не важна - напротив, отсутствие или неполнота описательных средств могут с самого начала значительно затруднить работу над проектом. Однако, в данном конкретном случае на первом плане оказались другие критерии, невыполнение которых могло породить гораздо большие трудности. Таким образом, вопрос сравнительного анализа используемых в СПБДП методологий, который сам по себе очень интересен, остался, к сожалению, за рамками данной статьи, но к нему было бы очень полезно вернуться в дальнейшем.
Исходя из данных соображений и перечисленных параметров предметной области, примем в качестве основных критериев выбора СПБДП следующие критерии:
1) Поддержка полного жизненного цикла ИС с обеспечением эволюционности ее развития
Полный жизненный цикл ИС включает в себя, как правило, стратегическое планирование, анализ, проектирование, реализацию, внедрение и эксплуатацию [1]. Он должен поддерживаться "сквозной" технологической цепочкой средств разработчика (средств ведения общей информации о проекте в целом, средств описания предметной области с возможностью трансформации этого описания в схемы баз данных и код приложений, средств сопровождения проекта группой разработчиков с контролем версий, встроенными средствами тестирования и т.д.). Для существующих ИС должен обеспечиваться плавный переход из старой среды эксплуатации в новую с минимальными переделками и поддержкой эксплуатируемых баз данных и приложений, внедренных до начала работ по созданию новой системы.
2) Обеспечение целостности единой базы проектных данных (репозитория)
Данное требование означает, что вся информация о разрабатываемой ИС должна автоматически помещаться в единую базу проектных данных, при этом должны поддерживаться согласованность, непротиворечивость, полнота и минимальная избыточность проекта, а также корректность операций его редактирования. Это может быть достигнуто при условии исключения или существенного ограничения возможности актуализации репозитория различными средствами (например, текущая версия ORACLE*CASE допускает независимое внесение изменений в репозиторий средствами CASE*Designer и CASE*Dictionary, при этом автоматическое согласование моделей не выполняется). Должны также обеспечиваться возможности для централизованного сбора, хранения и распределения информации между различными этапами проекта, группами разработчиков и выполняемыми операциями. Поддержка базы проектных данных может быть реализована собственными средствами СПБДП или средствами целевой СУБД (второй вариант предпочтительнее, поскольку упрощается технология ведения репозитория).
Невыполнение требования целостности в условиях разобщенности разработчиков и временной протяженности проекта могло бы означать утрату контроля за его состоянием.
3) Независимость от программно-аппаратной платформы и СУБД
Требование определяется неоднородностью среды функционирования ИС. Такая независимость может иметь две составляющих: независимость среды разработки и независимость среды эксплуатации приложений. Она обеспечивается за счет наличия совместимых версий СПБДП для различных платформ и драйверов соответствующих сетевых протоколов, менеджеров транзакций и СУБД.
4) Поддержка одновременной работы групп разработчиков
Развитые СПБДП должны обладать возможностями разделения полномочий персонала разработчиков и объединения отдельных работ в общий проект. Должна обеспечиваться одновременная работа проектировщиков БД и разработчиков приложений (разработчики приложений в такой ситуации могут начинать работу с базой данных, не дожидаясь полного завершения ее проектирования CASE-средствами). При этом все группы специалистов должны быть обеспечены адекватным инструментарием, а внесение изменений в проект различными разработчиками должно быть согласованным и корректным. Каждый разработчик должен иметь возможность работы со своим личным репозиторием, являющимся фрагментом или копией общего репозитория. Должны обеспечиваться содержательная интеграция всех изменений, вносимых разработчиками, в общем репозитории, одновременная доступность для разработчика общего и личного репозиториев и простота переноса объектов между ними.
Помимо перечисленных основных критериев, предварительный анализ при выборе СПБДП должен учитывать следующие аспекты:
1) Возможность разработки приложений "клиент-сервер" требуемой конфигурации
Подразумевается сочетание наличия развитой графической среды разработки приложений для "клиента" (многооконность, разнообразие стандартных графических объектов, разнообразие используемых шрифтов и т.д.) с возможностью декомпозиции (partitioning) приложения на "клиентскую" часть, реализующую графический экранный интерфейс, и "серверную" часть. При этом должна обеспечиваться возможность перемещения отдельных компонентов приложения между "клиентом" и "сервером" на наиболее подходящую платформу, обеспечивающую максимальную эффективность функционирования приложения в целом.
2) Открытая архитектура и возможности экспорта/импорта
Открытая и общедоступная информация об используемых форматах данных и прикладных программных интерфейсах должна позволять интегрировать инструментальные средства третьих фирм и относительно безболезненно переходить от одной системы к другой. Возможности экспорта/импорта означают, что спецификации, полученные на этапах анализа, проектирования и реализации для одной ИС, могут быть использованы для проектирования другой ИС. Повторное проектирование и реализация могут быть обеспечены при помощи средств экспорта/импорта спецификаций в различные СПБДП.
3) Качество технической поддержки в России, стоимость приобретения и поддержки
Проверяется наличие сведений о практике использования системы, качество документации, укомплектованность примерами и обучающими курсами, квалифицированность консультантов и т.д.
4) Обеспечение качества проектной документации
Это требование относится к возможностям СПБДП анализировать и проверять описания и документацию на полноту и непротиворечивость, а также на соответствие принятым в данной методологии стандартам и правилам (включая ГОСТ, ЕСПД). В результате анализа должна формироваться информация, указывающая на имеющиеся противоречия или неполноту в проектной документации.
В идеальном случае (что, конечно же, далеко не всегда возможно) окончательный выбор может быть произведен по результатам тестирования в соответствии с заданным планом [2], которое должно включать имитацию проектирования реальной БД и разработки приложений и состоять из следующих шагов:
1) установка и конфигурирование (ясность и точность инструкций по установке, наличие подсказок в процессе установки, возможность установки по выбору и задания многопользовательской конфигурации);
2) разработка концептуальной схемы БД (понятность и простота построения, модификации и документирования различных элементов диаграмм "сущность-связь", отображение ограничений ссылочной целостности и бизнес-правил, управление режимом отображения);
3) формирование отчета о концептуальной схеме (список сущностей с определениями и атрибутами, включая указание ключей, список атрибутов, сгруппированных по сущностям, список связей между сущностями, возможность форматирования отчета, составления отчета по выделенной части схемы, передачи отчета, например, в другие приложения (текстовые процессоры));
4) разработка графической схемы БД для конкретной СУБД с учетом специфичных для нее структур данных и ограничений (выбор целевой СУБД и реализация элементов схемы - ввод и модификация имен таблиц и столбцов, определение типов данных, доменов, индексов, значений по умолчанию и неопределенных значений, порядка индексирования, а также задание ограничений ссылочной целостности и дополнительных бизнес-правил, характеризующих предметную область, управление триггерами и хранимыми процедурами);
5) формирование отчета о схеме БД (печать диаграммы схемы, списка таблиц с соответствующими столбцами, первичными ключами, индексами и т.д., возможность форматирования отчета, составления отчета по выделенной части схемы, передачи отчета в другие приложения);
6) генерация схемы БД (трансформация схемы БД в файл DDL в текстовом формате или непосредственный интерфейс с целевой СУБД);
7) разработка простейшего приложения (описание экранных форм, программирование или описание логики приложения и интерфейса с БД, загрузка БД тестовыми данными и тестирование приложения);
8) сопровождение схем БД (внесение изменений - создание новых сущностей и атрибутов, изменение схемы БД, повторная генерация схемы, управление версиями, обеспечение сохранности данных, синхронизация концептуальной схемы и самой БД);
9) обратное проектирование - реинжиниринг (полное и точное восстановление исходной концептуальной схемы по файлам DDL или непосредственно из словаря целевой СУБД).
В результате выполненного анализа может оказаться, что ни одно доступное средство не удовлетворяет в нужной мере всем основным критериям и не покрывает все потребности проекта. В этом случае может применяться набор средств, позволяющий построить на их базе единую технологическую среду.
2. Анализ средств проектирования баз данных и приложений
При анализе СПБДП будем рассматривать их не локально, а в комплексе, что позволяет реально охарактеризовать их достоинства, недостатки и место в общем технологическом цикле создания ИС. Таким образом, понятие "СПБДП" будет толковаться следующим образом - "это любое программное средство (ПС) или комплекс ПС, обеспечивающий поддержку жизненного цикла ИС в целом".
Современные СПБДП могут быть разделены на две большие категории. Первую составляют CASE-системы (как независимые (upper CASE), так и интегрированные с СУБД), обеспечивающие проектирование БД и рассматриваемые в комплексе с интегрированными средствами разработки приложений "клиент-сервер", ориентированными на сервер (например, Westmount I-CASE+Uniface, ORACLE*CASE+ORACLE*Forms, PRO-IV, SILVERRUN+Uniface). Их основное достоинство заключается в том, что они позволяют разрабатывать всю ИС целиком (функциональные спецификации, логику процессов, интерфейс с пользователем и базу данных), оставаясь в одной технологической среде. Инструменты этой категории, как правило, обладают существенной сложностью, широкой сферой применения и высокой гибкостью.
Вторую категорию составляют собственно средства проектирования БД, реализующие ту или иную методологию, как правило, "сущность-связь" ("entity-relationship"), и рассматриваемые в комплексе со средствами разработки приложений, ориентированными на "клиента". К средствам этой категории ожно отнести такие, как SILVERRUN+JAM, ERwin/ERX+PowerBuilder и др.
Помимо указанных категорий, СПБДП можно классифицировать по следующим признакам [3]:
1) степени интегрированности (отдельные локальные средства, набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла ИС и полностью интегрированные средства, связанные общей базой проектных данных - репозиторием);
2) применяемым методологиям и моделям систем и БД;
3) степени интегрированности с СУБД;
4) степени открытости;
5) доступным платформам.
В разряд СПБДП попадают как относительно дешевые системы для персональных компьютеров (ПК) с весьма ограниченными возможностями, так и дорогостоящие системы для неоднородных вычислительных платформ и операционных сред. Так, современный рынок программных средств насчитывает около 300 различных CASE-систем. CASE-средства так или иначе используются практически всеми ведущими западными фирмами.
Применение СПБДП требует от потенциальных пользователей специальной подготовки и обучения. Опыт показывает, что внедрение СПБДП осуществляется медленно, однако по мере приобретения практических навыков и общей культуры проектирования эффективность применения этих средств резко возрастает, причем наибольшая потребность в использовании СПБДП испытывается на начальных этапах разработки, а именно на этапах анализа и спецификации требований. Это объясняется тем, что цена ошибок, допущенных на начальных этапах, на несколько порядков превышает цену ошибок, выявленных на более поздних этапах разработки.
На сегодняшний день Российский рынок программного обеспечения располагает следующими наиболее развитыми СПБДП:
- Westmount I-CASE;
- Uniface;
- ORACLE*CASE+ORACLE*Forms;
- PRO-IV;
- SILVERRUN;
- JAM;
- ERwin/ERX+PowerBuilder.
Приведенный список не претендует на полноту, а лишь включает те системы, которые рассматривались при выборе с той или иной степенью детализации. Кроме того, на рынке постоянно появляются как новые (для отечественных пользователей) системы, так и новые версии и модификации перечисленных систем (например, CASE /4/0, System Architect, SQL Windows, Enterprise Developer, Delphi и т.д.).
Westmount I-CASE (Westmount Technology B.V.)
Westmount I-CASE представляет собой интегрированный программный продукт, обеспечивающий выполнение следующих функций:
- графическое проектирование архитектуры системы (проектирование состава и связи вычислительных средств, распределения задач системы между вычислительными средствами, моделирование отношений типа "клиент-сервер", анализ использования мониторов транзакций и особенностей функционирования систем в реальном времени);
- проектирование диаграмм потоков данных, "сущность-связь", структур данных, структурных схем программ и последовательностей экранных форм;
- генерация кода программ на 4GL целевой СУБД с полным обеспечением программной среды и генерация SQL-кода для создания таблиц БД, индексов, ограничений целостности и хранимых процедур;
- программирование на языке C со встроенным SQL;
- управление версиями и конфигурацией проекта;
- генерация проектной документации по стандартным и индивидуальным шаблонам;
- экспорт и импорт данных проекта в формате CDIF.
Westmount I-CASE можно использовать в конфигурации "клиент-сервер", при этом база проектных данных может располагаться на сервере, а рабочие места разработчиков могут быть клиентами.
Westmount I-CASE функционирует на всех основных UNIX-платформах и VMS. В качестве целевой СУБД могут использоваться ORACLE, Informix, Sybase и Ingres.
В качестве отдельного продукта поставляется интерфейс Westmount-Uniface Bridge, обеспечивающий совместное использование двух систем в рамках единой технологической среды проектирования (при этом схемы БД, структурные схемы программ и последовательности экранных форм непосредственно в режиме on-line, без создания каких-либо файлов экспорта-импорта, переносятся в репозиторий Uniface, и, наоборот, прикладные модели, сформированные средствами Uniface, могут быть перенесены в репозиторий Westmount I-CASE. Возможные рассогласования между репозиториями двух систем устраняются с помощью специальной утилиты).
Uniface (Compuware)
Uniface 6.0 представляет собой среду разработки крупномасштабных приложений "клиент-сервер" и имеет следующую компонентную архитектуру:
1) Application Objects Repository (репозиторий объектов приложений) - содержит метаданные, автоматически используемые всеми остальными компонентами на протяжении жизненного цикла ИС.
2) Application Model Manager - поддерживает прикладные модели, каждая из которых представляет собой подмножество общей схемы БД с точки зрения данного приложения.
3) Rapid Application Builder - средство быстрого создания экранных форм и отчетов на базе объектов прикладной модели. Оно включает графический редактор форм, средства прототипирования, отладки, тестирования и документирования. Реализован интерфейс с разнообразными типами оконных элементов управления (Open Widget Interface) для существующих графических систем - MS Windows (включая VBX), Motif, OS/2.
4) Developer Services (службы разработчика) - используются для поддержки крупных проектов и реализуют контроль версий, права доступа, глобальные модификации и т.д. Это обеспечивает разработчиков средствами параллельного проектирования, входного и выходного контроля, поиска, просмотра, поддержки и выдачи отчетов по данным системы контроля версий.
5) Deployment Manager (управление распространением приложений) - средства, позволяющие подготовить созданное приложение для распространения, установить и сопровождать его (при этом платформа пользователя может отличаться от платформы разработчика). В их состав входят сетевые драйверы и драйверы СУБД, сервер приложений (полисервер), средства распространения приложений и управления базами данных. Uniface поддерживает интерфейс практически со всеми известными программно-аппаратными платформами, СУБД, CASE-средствами, сетевыми протоколами и мониторами транзакций.
6) Personal Series (персональные средства) - используются для создания сложных запросов и отчетов в графической форме, а также для переноса данных в такие системы, как WinWord и Excel.
ORACLE*CASE+ORACLE*Forms (ORACLE Corp.)
ORACLE*CASE представляет собой семейство методологий и поддерживающих их программных продуктов, состоящее из следующих компонентов:
- CASE*Method - структурная методология проектирования систем, охватывающая полностью все этапы жизненного цикла ИС [1,4,5]. В соответствии с этой методологией на этапе планирования определяются цели создания системы, приоритеты и ограничения, разрабатывается системная архитектура и план разработки ИС. В процессе анализа строятся модель информационных потребностей (диаграмма "сущность-связь"), диаграмма функциональной иерархии (на основе функциональной декомпозиции ИС), матрица перекрестных ссылок и диаграмма потоков данных.
На этапе проектирования разрабатывается подробная архитектура ИС, проектируется схема реляционной БД и программные модули, устанавливаются перекрестные ссылки между компонентами ИС для анализа их взаимного влияния и контроля за изменениями.
На этапе реализации создается БД, строятся прикладные системы, производится их тестирование, проверка качества и соответствия требованиям пользователей. Создается системная документация, материалы для обучения и руководства пользователей. На этапах эксплуатации и сопровождения анализируются производительность и целостность системы, выполняется поддержка и, при необходимости, модификация ИС;
- CASE*Designer - обеспечивает графический интерфейс при разработке различных моделей (диаграмм) предметной области. В процессе построения моделей информация о них заносится в словарь (CASE*Dictionary). Среда функционирования - UNIX, OS/2;
- CASE*Dictionary - словарная система, представляющая собой хранилище всех проектных данных. CASE*Dictionary может работать в многопользовательском режиме, обеспечивая параллельное обновление информации несколькими разработчиками. В процессе проектирования автоматически поддерживаются перекрестные ссылки между объектами словаря и могут генерироваться более 70 стандартных отчетов о моделируемой предметной области. Среда функционирования - UNIX, VAX/VMS, OS/2, MS DOS, MS Windows;
- CASE*Generator для ORACLE*Forms - обеспечивает генерацию интерактивных приложений, которые затем могут выполняться в среде ORACLE*Forms. Генерируемые приложения включают в себя различные экранные формы, средства контроля данных, проверки ограничений целостности и автоматические подсказки;
- CASE*Exchange - обеспечивает интерфейс с некоторыми другими CASE-системами, независимыми от СУБД ORACLE (KnowledgeWare, ICL-DDS и др.).
В настоящее время в стадии бета-тестирования находится комплекс CDE2 CASE (Designer/2000). В его состав входят следующие компоненты:
- Repository Administrator (обслуживание репозитория);
- Process Modeller - средство анализа и моделирования информационных потоков, основывающееся на концепциях теории моделирования бизнес-процессов (BPR - Business Process Reengineering);
- Systems Modeller (диаграммы "сущность-связь", диаграммы функциональных иерархий, диаграммы потоков данных и матрицы перекрестных ссылок);
- Data Diagrammer (реляционная модель);
- Module Data Diagrammer, Module Structure Diagrammer и Module Logic Navigator (иерархия, структура и логика приложений);
- Systems Designer - средство модификации автоматически генерируемых описаний приложений, учитывающее конкретные особенности их аппаратной и программной реализации;
- Server Generator (генератор описания БД на DDL);
- Forms Generator (генератор приложений для ORACLE*Forms 4.5);
- Reports Generator (генератор отчетов для ORACLE*Reports 2.5).
Все компоненты CDE2 CASE функционируют в среде MS Windows.
PRO-IV (McDonnel Douglas Information Systems)
Технология проектирования ИС STRADIS (STRategic Architecture for the Deployment of Information Systems) определяет порядок создания ИС, требования к необходимым ресурсам и распределению работ между разработчиками на всех стадиях жизненного цикла ИС, требования к составу и содержанию разрабатываемых на промежуточных этапах проектных материалов, методику выполнения проектных работ, программирования, тестирования и управления разработкой. Первые 4 этапа жизненного цикла (планирование, анализ, проектирование и прототипирование) поддерживаются CASE-средством PRO-IV Workbench, остальные - технологической средой разработки приложений PRO-IV.
PRO-IV Workbench работает в среде Windows и может обеспечивать работу группы разработчиков в локальной сети. Она включает следующие подсистемы:
- Analyzer - обеспечивает анализ потоков данных проектируемой ИС в соответствии с методологией Gane/Sarson. Analyzer позволяет с помощью специального графического редактора разрабатывать схемы потоков данных (включающие процессы, потоки данных, накопители данных и внешние сущности) и проверять их согласованность. Схемы могут иметь несколько уровней вложенности, количество схем практически не ограничено;
- Data Modeller - обеспечивает моделирование данных ИС с использованием методологии IDEF1X (разновидность модели "сущность-связь"). Окончательные результаты моделирования представляются в виде описаний данных на языке SQL для СУБД DB2, ORACLE, Sybase, Rdb и сетевой СУБД MDBS-IV;
- Prototyper - позволяет быстро разработать полный функциональный прототип будущей ИС. Он включает средства описания экранов, выходных документов, сценариев диалога и режимов работы, обеспечивает генерацию тестовых данных. Разработанный прототип дает возможность заказчикам, будущим пользователям и разработчикам ИС оценить полноту и согласованность внешних интерфейсов системы, а также удобство работы с ней;
- Designer - обеспечивает поддержку модульного подхода к проектированию структуры программ. Включает графический редактор структурных схем, описывающих программные модули, связи между ними по данным и управлению, файлы и внешние устройства, с которыми работают программы;
- Repository - интегрированная база проектных данных (репозиторий). В нем накапливается информация о разрабатываемой ИС, поступающая от всех подсистем PRO-IV Workbench и доступная для всех подсистем;
- Reports - обеспечивает формирование и выдачу различных стандартных и нестандартных отчетов с использованием данных, хранящихся в репозитории. Используется для подготовки всех промежуточных и окончательных редакций проектных документов на всех стадиях жизненного цикла ИС;
- Import/Export - позволяет выводить проектную информацию для использования в других проектах и вводить проектные данные в репозиторий из других проектов.
Система PRO-IV Workbench поддерживает разработку до 8 версий проекта одновременно. Разработка проекта может осуществляться на одной или нескольких ЭВМ как одним специалистом, так и группой специалистов. В последнем случае порядок проектирования и правила доступа разработчиков к данным определяет руководитель проекта. В его обязанности входит идентификация проекта и его версий, санкционирование доступа к проектной информации, поддержание целостности проекта, создание и использование резервных копий проекта и т.д.
Среда разработки приложений PRO-IV поддерживает разработку приложений для архитектуры "клиент-сервер", не привязанных жестко к каким-либо техническим средствам, операционной системе или СУБД. Прикладные программы, разработанные средствами PRO-IV, без перепрограммирования могут переноситься на более чем 10 типов различных платформ (IBM, DEC, Hewlett Packard, Bull, Siemens Nixdorf и др.). Среда PRO-IV дополнена рядом следующих продуктов: PRO-IV SL (Superlayer) - специальная среда ускоренной разработки приложений; PRO-IV VC (Version Control) - компонент управления версиями; PRO-IV UV (User View) - генератор отчетов конечного пользователя; PRO-IV IQ (Intelligent Query) - автономный генератор отчетов, поддерживающий доступ к неоднородной БД; PRO-IV Documentor - средство реинжиниринга между PRO-IV и PRO-IV Workbench; PRO-IV ExecutiveEnvironment - "run-time"-среда, обеспечивающая запуск приложения, управление разграничением доступа к программам и данным и сервисные функции.
SILVERRUN (Computer Systems Advisers, Inc.)
SILVERRUN представляет собой комплекс CASE-средств, обеспечивающих анализ и проектирование сложных неоднородных ИС. Компоненты системы поставляются в виде отдельных модулей и интерфейсов, каждый из которых является самостоятельным продуктом и может использоваться без связи с остальными модулями. Это позволяет наращивать среду проектирования по мере необходимости, интегрируя в нее новые СУБД и генераторы приложений. В состав системы входят следующие компоненты:
1) Workgroup Repository Manager (WRM) - менеджер репозитория, интегрирующий остальные модули в единую среду проектирования. Проектная информация репозитория является базовой для всех остальных компонентов системы.
2) Entity-Relationship Expert (ERX) - модуль концептуального моделирования данных, имеющий встроенную экспертную систему, позволяющую построить корректную нормализованную модель, отвечая на содержательные вопросы о взаимосвязях данных.
3) Relational Data Modeller (RDM) - модуль реляционного моделирования, предназначенный для построения детализированных моделей "сущность-связь", соответствующих требованиям реляционной модели. Для ее построения может использоваться модуль автоматического преобразования ERX->RDM. Из реляционной схемы БД, дополненной необходимыми документированными спецификациями индексов, триггеров, хранимых процедур, возможна автоматическая генерация DDL-схем БД для наиболее известных СУБД. Для ряда СУБД (ORACLE, Sybase, Informix и др.) имеются отдельно поставляемые мосты (bridges), позволяющие генерировать и изменять схему БД по реляционной схеме в целом или по выделяемым из нее подсхемам для нескольких БД в неоднородной системе, а также загружать информацию непосредственно из словарей СУБД и строить модели существующих БД. Соответствующие мосты к средствам разработки приложений (Uniface, JAM) позволяют экспортировать и импортировать описания БД между репозиториями SILVERRUN и соответствующми генераторами.
4) Data Flow Diagrammer (DFD) - модуль построения диаграмм потоков данных в нотациях Yordon/DeMarco и Gane/Sarson.
SILVERRUN реализован на четырех платформах - MS Windows, OS/2 Presentation Manager, Sun Solaris и Macintosh с возможностью прозрачного обмена проектными данными между ними.
В качестве отдельных продуктов поставляются интерфейсы с различными СУБД и средствами разработки приложений, например, SILVERRUN-RDM<->Uniface Bridge, обеспечивающими экспорт-импорт в режиме off-line схем БД в репозиторий Uniface и обратно.
JAM (JYACC)
JAM 6 представляет собой среду разработки приложений "клиент-сервер" и состоит из следующих функциональных компонент:
1) Visual Objects Repository - централизованное хранилище описаний всех объектов приложений (данных, свойств, графических атрибутов, встроенных процедур, ограничений целостности и т.д.).
2) Graphical Editor - графическая среда для создания и модификации экранов, оконных элементов управления и других объектов приложений, позволяющая строить распределенные приложения "клиент-сервер".
3) Database Drivers - драйверы СУБД, обеспечивающие работу создаваемых приложений с различными СУБД (ORACLE, Sybase, Informix и др.).
4) JDB - встроенная реляционная СУБД, предназначенная для быстрого прототипирования, отладки и тестирования приложений.
5) JPL - процедурный язык прикладного программирования.
6) JAM/TPi - интерфейсы с мониторами транзакций (TUXEDO и Encina).
7) JAM/Report Writer - средства создания отчетов.
8) JAM/CASE - интерфейс с CASE-системами (Teamwork, Innovator Workbench, в перспективе - SILVERRUN).
ERwin/ERX + PowerBuilder (Logic Works, PowerSoft)
PowerBuilder представляет собой объектно-ориентированный инструментарий для разработки приложений "клиент-сервер" в среде MS Windows, позволяющий достаточно легко и быстро создавать приложения с графическим интерфейсом. В состав пакета входит набор следующих инструментальных средств:
1) Средство доступа к базам данных SQL Smart, обеспечивающее интеграцию с целевой СУБД или встроенной СУБД Watcom SQL.
2) Средство работы с объектами Object Easy, предназначенное для создания объектно-ориентированных приложений. Предусмотрена поддержка других средств визуального программирования (C++, VBX).
3) Средство поддержки коллективной разработки приложений Enterprise Enabled, обеспечивающее согласованную работу коллектива разработчиков на базе общей библиотеки объектов (Common Object Library) и центрального репозитория дизайна приложений (Central Application Design Repository).
4) Интегрированная среда проектирования Developer Designed, позволяющая разрабатывать, компилировать и отлаживать все компоненты приложения - окна, меню, логику, доступ к БД, графическое представление данных, отчеты и т.д. Для разработки логики приложений используется Basic-подобный язык PowerScript.
ERwin/ERX - средство концептуального моделирования БД, использующее методологию IDEF1X, с последующим проектированием схемы БД и генерацией ее описания на DDL целевой СУБД. Версия ERwin/OPEN полностью совместима со средствами разработки приложений PowerBuilder и SQLWindows и позволяет экспортировать описание спроектированной БД непосредственно в репозитории данных средств.
Результаты анализа описанных СПБДП могут быть сведены в таблицу характеристик, приведенную выше.
Анализ данных, приведенных в таблице, показывает, что из перечисленных СПБДП только комплекс Westmount I-CASE+Uniface и PRO-IV наиболее полно удовлетворяют всем основным критериям. Так, например, в комплексе Westmount I-CASE+Uniface целостность базы проектных данных и единая технология сквозного проектирования ИС обеспечивается за счет использования интерфейса Westmount-Uniface Bridge. Следует отметить, что каждый из двух продуктов сам по себе является одним из наиболее мощных в своем классе. Технологическая схема проектирования БД и разработки приложений с использованием комплекса Westmount I-CASE+Uniface может выглядеть таким образом, как показано выше на рисунке.
Еще одним дополнительным доводом в пользу Uniface является возможность создавать приложения, одновременно использующие данные, хранящиеся в dbf-файлах и базах данных ORACLE или другой СУБД, что обеспечивает максимально безболезненный переход от существующей системы к новой.
PRO-IV как среда разработки приложений не поддерживает такого количества программно-аппаратных платформ и СУБД, как Uniface, а также, не располагая собственными средствами построения прикладной модели, не может обеспечить одновременную работу проектировщиков БД и разработчиков приложений (разработчики приложений в такой ситуации могут начинать работу с базой данных только после завершения ее проектирования средствами CASE-системы).
Литература:
- Richard Barker "CASE*Method. Tasks and Deliverables", Copyright Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990
- Eric Merhoff "Database blueprints", "ComputerWorld-Moscow", 1995, N13(171)
- Позин Б.А. "Современные средства программной инженерии для создания открытых прикладных информационных систем", "СУБД", 1995, N1
- Richard Barker "CASE*Method. Entity-Relationship Modelling", Copyright Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990
- Richard Barker "CASE*Method. Function and Process Modelling", Copyright Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990
Технологическая схема разработки ИС
СПРБД |
Westmount I-CASE + UNIFACE |
ORACLE* CASE + ORACLE* Forms |
PRO-IV |
SILVERRUN + UNIFACE |
SILVERRUN + JAM |
ERwin/ERX + PowerBuilder |
Поддержка полного жизненного цикла ИС |
+ |
+ |
+ |
+ |
+ |
+ |
Целостность репозитария |
+ |
-*) |
+ |
- |
- |
- |
Независимость от платформы |
+ |
- |
+ |
+ |
+ |
+ |
Одновременная групповая разработка БД и приложений |
+ |
-**) |
-**) |
+ |
-**) |
-**) |
Разработка приложений "клиент-сервер" |
+ |
+ |
+ |
+ |
+ |
+ |
Открытая архитектура |
+ |
+ |
- |
+ |
+ |
+ |
Техническая поддержка |
+ |
+ |
+ |
+ |
+ |
+ |
Проектная документация |
+ |
+ |
+ |
+ |
+ |
+ |
Таблица характеристик СПБДП
*) в текущей версии ORACLE*CASE целостность базы проектных данных может быть нарушена, поскольку она может независимо корректироваться различными компонентами.
**) разработчики приложений могут начинать работу с базой данных только после завершения ее проектирования.