Введение
Введение
Технология создания информационных систем (далее - ИС) предъявляет особые требования к методикам реализации и программным инструментальным средствам, а именно:
А. Реализацию проектов по созданию ИС принято разбивать на стадии анализа (прежде чем создавать ИС, необходимо понять и описать бизнес-логику предметной области), проектирования (необходимо определить модули и архитектуру будущей системы), непосредственного кодирования, тестирования и сопровождения. Известно, что исправление ошибок, допущенных на предыдущей стадии, обходится примерно в 10 раз дороже, чем на текущей, откуда следует, что наиболее критическими являются первые стадии проекта. Поэтому крайне важно иметь эффективные средства автоматизации ранних этапов реализации проекта.
В. Проект по созданию сложной ИС невозможно реализовать в одиночку. Коллективная работа существенно отличается от индивидуальной, поэтому при реализации крупных проектов необходимо иметь средства координации и управления коллективом разработчиков.
С. Жизненный цикл создания сложной ИС сопоставим с ожидаемым временем ее эксплуатации. Другими словами, в современных условиях компании перестраивают свои бизнес-процессы примерно раз в два года, столько же требуется (если работать в традиционной технологии) для создания ИС. Может оказаться, что к моменту сдачи ИС она уже никому не нужна, поскольку компания, ее заказавшая, вынуждена перейти на новую технологию работы. Следовательно, для создания ИС жизненно необходим инструмент, значительно (в несколько раз) уменьшающий время разработки ИС.
D. Вследствие значительного жизненного цикла может оказаться, что в процессе создания системы внешние условия изменились. Обычно внесение изменений в проект на поздних этапах создании ИС - весьма трудоемкий и дорогостоящий процесс. Поэтому для успешной реализации крупного проекта необходимо, чтобы инструментальные средства, на которых он реализуется, были достаточно гибкими к изменяющимся требованиям.
На современном рынке средств разработки ИС достаточно много систем, в той или иной степени удовлетворяющих перечисленным требованиям. В настоящей книге рассматривается вполне конкретная технология разработки, основывающаяся на решениях фирмы PLATINUM technology (http://www.platinum.com), которая является, по мнению автора, одной из лучших на сегодняшний день по критерию стоимость/эффективность.
Рассматриваемые в книге CASE-средства ERwin и BPwin были разработаны фирмой Logic Works. После слияния в 1998 году Logic Works с PLATINUM technology они выпускаются под логотипом PLATINUM technology.
Рис. 1. Общая схема взаимодействия инструментальных средств PLATINUM technology и Rational Software
Для проведения анализа и реорганизации бизнес-процессов PLATINUM technology предлагает CASE-средство верхнего уровня BPwin, поддерживающее методологии IDEFO (функциональная модель), IDEF3 (WorkFlow Diagram) и DFD (DataFlow Diagram). Функциональная модель предназначена для описания существующих бизнес-процессов на предприятии (так называемая модель AS-IS) и идеального положения вещей - того, к чему нужно стремиться (модель ТО-ВЕ). Методология IDEFO предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция - система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности. После каждого сеанса декомпозиции проводится сеанс экспертизы: каждая диаграмма проверяется экспертами предметной области, представителями заказчика, людьми, непосредственно участвующими в бизнес-процессе. Такая технология создания модели позволяет построить модель, адекватную предметной области на всех уровнях абстрагирования. Если в процессе моделирования нужно осветить специфические стороны технологии предприятия, BPwin позволяет переключиться на любой ветви модели на нотацию IDEF3 или DFD и создать смешанную модель. Нотация DFD включает такие понятия, как внешняя ссылка и хранилище данных, что делает ее более удобной (по сравнению с IDEFO) для моделирования документооборота. Методология IDEF3 включает элемент "перекресток", что позволяет описать логику взаимодействия компонентов системы.
На основе модели BPwin можно построить модель данных. Для построения модели данных PLATINUM technology предлагает мощный и удобный инструмент - ERwin. Хотя процесс преобразования модели BPwin в модель данных, плохо формализуется и поэтому полностью не автоматизирован, PLATINUM technology предлагает удобный инструмент для облегчения построения модели данных на основе функциональной модели - механизм двунаправленной связи BPwin - ERwin (стрелка 1 рис. 1). ERwin имеет два уровня представления модели - логический и физический. На логическом уровне данные не связаны с конкретной СУБД, поэтому могут быть наглядно представлены даже для неспециалистов. Физический уровень данных - это по существу отображение системного каталога, который зависит от конкретной реализации СУБД. ERwin позволяет проводить процессы прямого и обратного проектирования БД (стрелка 2 рис. 1). Это означает, что по модели данных можно сгенерировать схему БД или автоматически создать модель данных на основе информации системного каталога. Кроме того, ERwin позволяет выравнивать модель и содержимое системного каталога после редактирования того либо другого. ERwin интегрируется с популярными средствами разработки клиентской части - PowerBuilder, Visual Basic, Delphi (стрелка 3 рис. 1), что позволяет автоматически генерировать код приложения, который полностью готов к компиляции и выполнению (стрелка 4 рис. 1). Для разных сред разработки реализована различная техника кодогенерации. Код для PowerBuilder генерируется непосредственно в среде ERwin, код для Visual Basic - с помощью add-in компонентов и библиотек, подключаемых в проект Visual Basic. ERwin не поддерживает непосредственно кодогенерацию для Delphi. Код клиентского приложения для Delphi на основе модели данных ERwin можно сгенерировать с помощью MetaBASE - продукта фирмы gs-soft (http://www.gs-soft.com).
Создание современных ИС, основанных на широком использовании распределенных вычислений, объединении традиционных и новейших информационных технологий, требует тесного взаимодействия всех участников проекта: менеджеров, бизнес-аналитиков и системных аналитиков, администраторов БД, разработчиков. Для этого использующиеся на разных этапах и разными специалистами средства моделирования и разработки должны быть объединены общей системой организации совместной работы. Фирма PLATINUM technology предлагает систему Model Mart - хранилище моделей, к которому открыт доступ для участников проекта создания ИС (стрелка 5 рис. 1). Model Mart удовлетворяет всем требованиям, предъявляемым к средствам разработки крупных ИС, а именно:
1. Совместное моделирование. Каждый участник проекта имеет инструмент поиска и доступа к интересующей его модели в любое время. При совместной работе используются три режима: незащищенный, защищенный и режим просмотра. В режиме просмотра запрещается любое изменение моделей. В защищенном режиме модель, с которой работает один пользователь, не может быть изменена другими пользователями. В незащищенном режиме пользователи могут работать с общими моделями в реальном масштабе времени. Возникающие при этом конфликты разрешаются при помощи специального модуля - Intelligent Conflict Resolution (ICR). В дополнение к стандартным средствам организации совместной работы Model Mart позволяет сохранять множество версий, снабженных аннотациями, с последующим сравнением предыдущих и новых версий. При необходимости возможен возврат к предыдущим версиям.
2. Создание библиотек решений. Model Mart позволяет формировать библиотеки стандартных решений, включающие наиболее удачные фрагменты реализованных проектов, накапливать и использовать типовые модели, объединяя их при необходимости "сборки" больших систем. На основе существующих БД с помощью ERwin возможно восстановление моделей (обратное проектирование), которые в процессе анализа пригодности их для новой системы могут объединяться с типовыми моделями из библиотек моделей.
3. Управление доступом. Для каждого участника проекта определяются права доступа, в соответствии с которыми они получают возможность работать только с определенными моделями. Права доступа могут быть определены как для групп, так и для отдельных участников проекта. Роль специалистов, участвующих в различных проектах, может меняться, поэтому в Model Mart можно определять права доступа и управлять правами доступа участников проекта к библиотекам, моделям и даже к специфическим областям модели.
4. Архитектура Model Mart. Model Mart реализована на архитектуре клиент - сервер. В качестве платформы реализации хранилища выбраны РСУБД Sybase, Microsoft SQL Server, Informix и Oracle. Клиентскими приложениями являются ERwin З.х и BPwin 2.x. В Model Mart реализован доступ к хранилищу моделей через API, что позволяет постоянно наращивать возможности интегрированной среды путем включения новых инструментов моделирования и анализа.
Как было указано выше (см. п. С), при разработке крупных проектов критичным становится время реализации проекта. Одним из решений проблемы может стать автоматическая генерация кода приложения (клиентской части) CASE-средствами на основе модели предметной области. Хотя ERwin решает эту задачу, код генерируется на основе модели IDEF1X, т. е. фактически на основе реляционной модели данных, которая непосредственно не содержит информации о бизнес-процессах. Как следствие этого сгенерированный код не может полностью обеспечить функциональность приложения со сложной бизнес-логикой. Объектно-ориентированное проектирование - альтернативная технология кодогенерации, которая лишена этого недостатка.
Существует несколько CASE-средств, поддерживающих языки объектно-ориентированного проектирования, в том числе ставший в последнее время стандартом UML. Наиболее известными являются PLATINUM Paradigm Plus фирмы PLATINUM technology и выпущенный фирмой Rational Software (http://www.rational.com) программный пакет Rational Rose. Эти инструменты позволяют строить объектные модели в различных нотациях (ОМТ, UML, Буч и др.) и генерировать на основе полученной модели приложения на языках программирования C++, Visual Basic, Power Builder, Java, Ada, Smalltalk и др. Поскольку генерация кода реализована на основе знаний предметной области, а не на основе реляционной структуры данных, полученный код более полно отражает бизнес-логику. Rational Rose и Paradigm Plus поддерживают не только прямую генерацию кода, но и обратное проектирование, т. е. создание объектной модели по исходному коду приложения (стрелка 6 рис. 1).
В гл. 5 в качестве примера рассматриваются основные принципы построения объектной модели при помощи Rational Rose.
Rational Rose предназначен для генерации клиентской части приложения. Для генерации схемы БД объектную модель следует конвертировать в модель данных IDEF1X. Модуль ERwin Translation Wizard (PLATINUM technology) позволяет перегружать объектную модель Rational Rose в модель данных ERwin (и обратно) и, с помощью ERwin, сгенерировать схему БД (стрелка 7 рис. 1) на любой из поддерживаемых в ERwin СУБД.
Для связывания объектной модели, созданной в PLATINUM Paradigm Plus, с моделью данных не требуется дополнительных утилит. Версия Paradigm Plus 3.6 полностью интегрирована с ERwin.
Свежую информацию на русском языке о продуктах PLATINUM technology и Rational Software можно найти на сайте http://www.interface.ru.