Новый методико-технологический подход к построению мощных современных информационно-аналитических систем

Вид материалаДокументы

Содержание


Рис.2. Компоненты ИАС
Рис.3. Обобщенная архитектура технологической платформы
Подобный материал:
Новый методико-технологический подход к построению мощных современных информационно-аналитических систем


Аракчеев Дмитрий Борисович, ВНИИгеосистем, ведущий научный сотрудник

Попов Александр Сергеевич, ВНИИгеосистем, научный сотрудник

Создание программного обеспечения на сегодняшний день является одним из наиболее сложных в организационном плане видов производственной деятельности. Основной причиной этого, как ни парадоксально, является лучшее качество, присущее процессу создания программного обеспечения. Это уникальное качество – гибкость создания ПО: практически все, что угодно можно запрограммировать огромным множеством способов. Кроме того, стремительное развитие IT-индустрии, выход все более новых платформ, операционных систем, сред и технологий постоянно увеличивает это множество, увеличивая сложность планирования, мониторинга и управления разработкой ПО.

Это позволяет сделать вывод о том, что разработка и внедрение новых методико-технологических подходов для эффективного создания программных систем остается весьма и весьма актуальной задачей

Целью нашего исследования был процесс создания не любого ПО, а только его подмножества – информационно-аналитических систем (ИАС). Информационно-аналитические системы – это особый класс информационных систем, предназначенных для аналитической обработки данных, а не для автоматизации повседневной деятельности организации. Информационно-аналитические системы объединяют, анализируют и хранят как единое целое информацию, извлекаемую как из учетных баз данных организации, так и из внешних источников. В настоящее время ИАС является одним из наиболее востребованных классов ПО на рынке заказного программного обеспечения, это связано с глобальным процессом автоматизации информационной деятельности целых отраслей. При этом, помимо общих проблем организации и управления их созданием им присущи особенности, требования и проблемы более конкретного характера, вытекающие как из специфики функционального назначения ИАС, так и условий, в которых создаются и используются ИАС.
  1. Требования к системе зачастую не являются легко определимыми и/или хорошо известными, задачи плохо поддаются формализации.
  2. Требования могут изменяться в цикле разработки ИС.
  3. Необходимость демонстрации прототипа для определения требований или проверки концепции.
  4. Особенности предметной области лучше известны пользователям, чем разработчикам ИС.
  5. Проект может иметь тип системной интеграции (объединять несколько существующих систем).
  6. Проект может являться расширением существующей системы.
  7. Ожидается длительная эксплуатация системы в организации.
  8. Система должна обладать высокой степенью надежности.
  9. Возможно, система будет меняться на этапе сопровождения
  10. Имеются существенные ограничения ресурсов (время, деньги, персонал).


Исходя из этого был сделан вывод, что для оптимизации процесса создания ИАС необходим новый комплексный методико-технологический подход, учитывающий методические, технические и организационные аспекты, перечисленные выше. То есть данный подход должен включать весь необходимый спектр инструментов, позволяющих эффективно и быстро создать реализацию ИАС, при этом работая по оптимальной модели жизненного цикла проекта.

Исследования включали анализ существующих методик(моделей) с точки зрения эффективности при перечисленных особенностях разработки ИАС. Анализ данных моделей с учетом выше перечисленных требований показал, что наиболее эффективными в данном случае являются прототипирование, быстрая разработка (RAD) и инкреметная модель, но и они обладают рядом недостатков.

Таким образом, для повышения эффективности процесса разработки, обладающего перечисленными выше особенностями, необходимо создать интегральную модель, объединяющую в себе лучшие особенности прототипирования, RAD и инкрементной модели, и при этом исключающая их недостатки.

За основу взята модель RAD, как удовлетворяющая наибольшему числу особенностей процесса. Существенной чертой нашего подхода будет то, что в качестве инструментальной среды, используемой RAD, будет выступать технологическая платформа, реализующая процесс разработки ИАС в виде визуальной настройки специализированных компонент. При таком подходе на каждом шаге разработки ИАС существует работоспособная версия системы. Таким образом, разработка может идти по модели эволюционного прототипирования, за исключением того, что прототип в данном случае будет не макетом результирующей системы, а полноценной версией, приближением, к тому, что надо реализовать. Это позволяет воспользоваться всеми плюсами прототипирования без его недостатков (в классической модели прототипирования отдельно разрабатывается макет, а потом, когда все требования ясны, начинается разработка полноценной системы). Фактически, стирается грань между прототипированием, разработкой и использованием приложения. Этот подход легко ложится в инкрементную модель, позволяя постепенно наращивать мощь разрабатываемой системы (за исключением того, что инкременты системы разрабатываются не по каскадной модели, а по адаптированной модели RAD-прототипирования).

В соответствии с выбранной моделью жизненного цикла, методика предлагает следующую последовательность действий (рис. 1).




Рис. 1. Интегральная модель процесса разработки ИАС.

  1. Анализ требований к системе.
  2. Формализация предметной области.
  3. Разработка структуры базы данных.
  4. Эволюционная разработка клиентских мест ИАС в инструментальной среде технологической платформы.
  5. Интеграция ретроспективных источников данных.
  6. Пробная эксплуатация.
  7. Развертывание системы.
  8. Сопровождение.

Трудно определяемые требования, меняющиеся в процессе реализации проекта) учитываются циклическим характером этапа разработки, причем издержки, связанные с изменением требований, минимизируются за счет использования средств, предоставляемых технологической платформой. Очевидно, реализуется возможность демонстрации прототипа для определения требований, так как в любой момент времени мы имеем работоспособную систему. Проблемы, приведенные в пункте 4, решаются за счет активного привлечения пользователей на этапе разработки системы. Для решения задач интеграции и импорта данных из существующих систем в методике предусмотрен отдельный этап. За счет использования готовых компонентов технологической платформы и встроенных механизмов управления памятью повышается надежность системы, обеспечивается контроль за техническими деталями разработки. Использование ТП также позволяет вносить изменения в систему на этапе сопровождения и эффективно проводить разработку в условиях существенных ограничений ресурсов.

Далее рассмотрим особенности разработанной технологической платформы, которая учитывает как выше приведенную интегральную методику, так и особенности реализации ИАС, приведенные ранее. Основной сложностью для нас явилась необходимость синтеза максимальной унификации и технологического упрощения процесса разработки, который может обеспечить только визуальный подход, с сохранением гибкости и функциональных возможностей, которые обеспечивают классические среды разработки.

Ключевыми аспектами технологической платформы явились

- Полностью визуальный подход к разработке клиентских мест (причем как для Windows, так и для Web-реализации), исключение процессов кодирования и компилирования;

- Хранение описания интерфейсной и функциональной клиентских мест реализуемых ИАС на сервере БД

- Универсальный клиент для создания и доступа к ИАС




Рис.2. Компоненты ИАС

На начальном этапе проектирования архитектуры технологической платформы были выделены логические сущности, составляющие интерфейс любой прикладной ИАС (компоненты ИАС). К таким сущностям относятся, запросы, диаграммы, аналитические отчеты, формы пользовательского ввода, геосцены и т.д. Организуя эти компоненты в иерархическом порядке можно построить интерфейс рабочего места ИАС.

Для обеспечения гибкости при проектировании прикладной ИАС, было решено не кодировать жестко эту иерархию, для каждой конкретной задачи, а хранить на сервере БД вместе с пользовательскими данными и описания этих компонентов. Таким образом, реализовав приложение, способное по описаниям компонентов строить пользовательский интерфейс, мы получаем универсальный клиент для доступа ко множеству прикладных ИАС, основанных на этой технологии. То есть отсутствует необходимость разработки специализированного программного обеспечения для каждой из прикладных ИАС. Далее, создав для компонентов ИАС визуальные редакторы, мы получаем возможность вести процесс разработки ИАС без использования программирования, что значительно снижает трудозатраты, повышает скорость разработки конечных систем, увеличивает степень контроля за процессом, увеличивает надежность реализации.

Программный комплекс состоит из следующих основных частей:
  1. Хранилища данных под управлением промышленной СУБД.
  2. Инструментальной среды конструирования ИАС, являющейся также универсальным клиентом доступа к ИАС в операционной системе Windows.
  3. Сервера приложений для публикации ИАС в Интернет с поддержкой ГИС-функций.



Рис.3. Обобщенная архитектура технологической платформы


Все функциональные элементы ИАС хранятся на сервере БД и доступны пользователям системы либо при помощи Windows-клиента ИАС (с возможностью редактирования элементов), либо через web-браузер (просмотр и редактирование данных, без редактирования элементов ИАС). Таким образом, элементы ИАС являются надстройкой над данными предметной области, что позволяет интегрировать создаваемые системы с уже существующими базами данных

При разработке визуальной среды конструирования ИАС огромное внимание уделялось тому, чтобы избежать недостатков других подобных средств – или все-таки присутствует язык программирования, либо создание интерфейса ограничено настраиваемым набором шаблонов. Таким образом, отказ от классического программирования должен был быть обоснован неограниченными возможностями среды визуальной разработки.

Чтобы обеспечить необходимую мощь при создании пользовательских форм, было создано большое количество визуальных компонентов управления данными, с широкими встроенными возможностями (поиска, фильтрации, бизнес-правил, ит.п.) Чтобы полностью отказаться от программирования, помимо визуальных компонентов, большие усилия прилагались к разработке так называемых «действий»: невизуальных компонентов, реализующих обработку действий пользователя ИАС. Кроме того, так как ИАС работает в первую очередь с данными, то данные являются и тем, что управляет поведением всех компонент формы и обеспечивает их логическую и функциональную увязку посредством передачи параметров. Таким образом, компонуя визуа льные элементы пользовательского интерфейса, действия, и связывая между собой элементы ИАС, оказалось возможным строить рабочие места прикладной системы практически любой степени сложности.

Очень важным моментом является то, что визуальная среда редактирования обеспечивает единообраное создание как Windows, так и Web компонент.

Сервер приложений, реализованный как служба Windows, является самостоятельным HTTP-сервером, не требующим для своей работы внешних web-серверов, таких как Internet Information Server или Apache. Помимо протокола HTTP, сервер приложений поддерживает закрытый протокол передачи данных по технологии SSL, что позволяет создавать защищенные корпоративные системы.

Технологическая платформа обладает собственными средствами для организации работы с пространственными данными. Все картографические и фактографические данные информационной системы хранятся в единой базе данных.

Для тех случаев, когда встроенной функциональности по какой-либо причине не хватает, в системе предусмотрена возможность встраивания внешних модулей расширения на основе технологии COM (Component Object Model), являющейся основным средством взаимодействия между приложениями в операционной системе Windows. Технологическая платформа полностью поддерживает стандарты COM для обеспечения взаимодействия с другими приложениями. Система может выступать как сервер автоматизации, встраиваясь во внешнее приложение. Для того чтобы внешнее приложение могло выступать непосредственно в роли контроллера автоматизации, необходимо, чтобы оно поддерживало технологию COM. Если же это приложение не поддерживает СОМ, автоматизация ИАС возможна посредством вызова функций динамической библиотеки - контроллера, транслирующей внешние вызовы в вызовы COM-сервера.

Описанный выше подход дает также ряд дополнительных преимуществ:

1. Возможность единообразного построения ИАС для Windows и Web. Реализовав универсальный клиент для доступа к ИАС для Windows и Web, и создав иерархическую модель взаимодействующих компонентов ИАС, можно автоматически получить Windows и Web реализации прикладной ИАС.

2. При изменении пользователем какого-либо элемента ИАС эти изменения становятся доступны для всех клиентов ИАС (Windows и Web). Причем, для получения измененного интерфейса не надо будет ни обновлять программу-клиента, ни даже перезапускать ее, достаточно будет лишь снова открыть измененный элемент ИАС. Таким образом, снимается проблема обновления клиентских мест.

3. Пользователь-непрограммист может сам создавать информационную систему, конструируя ее из предопределенных элементов, или дорабатывая уже готовую.

4. Системы, построенные с помощью технологической платформы, надежнее систем, созданных традиционным образом, за счет того, что используются многократно проверенные специализированные компоненты., имеются встроенные механимы управления ресурсами и памятью.

5. Улучшается сопровождаемость системы, так как, в случае обнаружения и исправления ошибки в стандартном компоненте технологической платформы, эта ошибка автоматически устранится во всех проектах, реализованных на этой платформе.

6. Ускоряется время разработки информационных систем за счет использования готовых решений.

7. Информационные системы, построенные при помощи технологической платформы, имеют унифицированный вид и поведение, что облегчает работу в них пользователей. Поработав с одной системой, реализованной на технологической платформе, пользователь чувствует себя «как дома» работая с любыми другими системами, реализованными на ней.

8. При использовании Web-версии ИАС в качестве клиентов системы выступают обычные Интернет-браузеры, никакого дополнительного программного обеспечения на рабочие места устанавливать не требуется.

Таким образом, реализованная технологическая платформа представляет собой интегрированный методико-технологический инструмент, позволяющий максимально эффективно и быстро создавать мощные корпративные ИАС. Эффективность платформы доказана практическими результатами создания готовых систем.

Литература
  1. Аракчеев Д.Б. Программно-инструментальные средства для разработки информационно-аналитических систем //Геоинформатика № 2, 2004
  2. Попов А. С. ИАС-КОНСТРУКТОР: технологическая платформа для разработки распределенных информационно-аналитических систем. // Геоинформатика, № 2, М., 2006.
  3. Шафер, Дональд, Д., Фатрелл, Роберт, Т., Шафер, Линда, И. Управление программными проектами: достижение оптимального качества при минимуме затрат. : Пер. с англ. – М.: Издательский дом «Вильямс», 2003