Технология создания и кастомизации офисных
информационных систем
А. Закис, DataX/Florin
Офисные системы - одна из наиболее традиционных областей применения информационных
технологий во всем мире. Однако, современный момент в России накладывает свой весьма
характерный отпечаток и на эту вроде бы типовую отрасль информационных технологий.
Прежде всего это вызвано нашим весьма динамичным стилем жизни, когда завтра все
оказывается совсем не так, как было вчера. Причем меняются не только направление и масштаб
деятельности фирмы, но и все и всяческие правила игры, будь то правила ведения бухгалтерской
документации, банковские атрибуты или налоговое законодательство. В таких условиях заказ
системы "под ключ" или закупка готовой системы редко позволяет руководству фирмы
чувствовать себя достаточно уверенно. С другой стороны, содержание большой группы
программистов, которая бы могла за требуемое время (практически это значит "вчера") обновить
программное обеспечение и приспособить его к новым "правилам игры", а также обучить
непосредственных пользователей работе с ним весьма накладно даже для многих весьма
преуспевающих фирм.
Среди возможных направлений "борьбы" со сложившейся ситуацией можно отметить желание
многих разработчиков сделать свои системы гибкими и настраиваемыми в очень широких
границах. Тут и "настройка на любое налоговое законодательство", и "поддержка
произвольного числа валют", и различные средства генерации отчетов, и многое другое.
Однако, оборотная сторона такого подхода ясна - громоздкая программа, которую весьма
трудно протестировать во всем многообразии возможных режимов с одной стороны, и которую
очень трудно администрировать даже профессиональным программистам, не говоря уже о
непосредственных пользователях, поскольку правила настройки иной раз оказываются куда
сложнее, чем синтаксис современных языков программирования. Отнють не отрицая
необходимости написания гибких, настраиваемых программ мы не считаем такой подход
панацеей, способной разрешить весь комплекс реальных проблем.
На наш взгляд современный путь решения подобных проблем должен сочетать разработку
достаточно гибкого и универсального ядра проекта, определение необходимых индивидуальных
особенностей проекта и максимально автоматизированную генерацию кода, реализующего этот
проект. При этом необходимо обеспечить качественное документирование проекта, позволяющее
в любой момент вернуться к стадии уточнения индивидуальных особенностей проекта и быстро
пройти весь путь до генерации работоспособного приложения, по возможности без потери
прежних наработок.
Разумеется, такой подход требует достаточно развитого инструментария разработчика. Основу
его может составить мощный CASE, включающий в себя не только средства разработки
структуры базы данных, но и средства анализа и проектирования бизнеспроцессов,
проектирования интерфейсов, генератор SQL-кода и генератор кода приложения. Помимо
возможности быстрой разработки системы для конкретного заказчика такой подход позволяет: -
достаточно быстро модифицировать однажды разработанную систему; - сохранять при
модификации высокую степень преемственности интерфейса, обеспечиваю простое и быстрое
освоение пользователями новой версии системы.
CASE-средства с такими возможностями есть на российском рынке. На наш взгляд, это прежде
всего Vantage Team фирмы CAYENNE и, с некоторыми оговорками, Designor/2000 фирмы Oracle
и Silverrun фирмы Computer Systems Advisers, Inc. К сожалению, CASE-средства с такими
возможностями достаточно дороги. Их использование в рамках средних и меньше проектов не
всегда экономически оправдано. Другая проблема состоит в ограниченном наборе языков
программирования, для которых возможна автоматическая генерация.
Поэтому нами был разработан совместимый с Vantage Team автономный кодогенератор
Grindery Grabber. Этот кодогенератор позволяет прочитать структуру существующей базы
данных (в том числе, связи между таблицами), задать дополнительные атрибуты таблиц базы
данных и их колонок, используемые при кодогенерации, и сгенерить код на языках Informix-
4GL, NewEra и SuperNova. Кодогенератор поддерживает многопользовательский режим работы,
многоверсионность и выгрузку проектной информации в виде текстовых отчетов.
Разработанные библиотеки функций, классов и шаблонов кодогенерации позволяют создавать
приложения, использующие преимущества соответствующих средств разработки. Единство
используемых атрибутов позволяет вам, разработав проект, создать часть приложений на
Informix-4GL и использовать их на алфавитно-цифровых терминалах для массового вода
однотипной информации, а другую часть приложений создать под графический интерфейс на
языках NewEra или SuperNova. Такие приложения позволяют осуществлять сложный анализ
имеющейся информации и необходимы для информационного обеспечения руководства фирмы,
маркетинга и долгосрочного планирования.
С использованием CASE-средства Vantage Team и кодогенератора Grindery Grabber нами был
разработан в качестве базового проект офисной системы для нашей фирмы. Основными его
особенностями являются:
- поддержка линейного документооборота (документ становится видимым
на следующем шаге после того, как он прошел предыдущий, выписанный счет
виден при регистрации поступивших платежей, товары из оплаченного счета
видны при формировании заказа фирме-поставщику, заказанные товары видны
при регистрации поступивших на склад и т.п,);
- учет с точностью до единицы товара (под какой счет заказан, когда поступил,
кому выдан);
- контроль актуального состояния ведущихся проектов от замысла до
регистрации статуса различных версий (от "разработка начата" до "версия
продается");
- регистрация пользователей проданных программных продуктов, генерация
активизационных ключей, регистрация договоров на техническую поддержку и
соответствующих обращений пользователей;
- полная авторизация всей внесенной в базу данных информации.
Разработанная информационная система может предлагаться как готовая система для оффиса
средней фирмы. Однако, как мы уже говорили, вряд ли такая возможность сегодня актуальна.
Более реальными на наш взгляд являются следующие варианты:
- поставка готовой системы вместе с проектом, выполненным в CASE или
в Grindery Grabber, вместе с соответствующим средством разработки и
обучением программистов заказчика работе с этими средствами;
- поставка проекта, выполненного в CASE или в Grindery Grabber, и прототипа
системы, то есть программы со всеми необходимыми функциональными
возможностями по доступу к таблицам базы данных (ввод, модификация и
удаление произвольных записей) без "наведения глянца" также с поставкой
соответствующего средства разработки и обучением программистов заказчика
работе с этими средствами;
- поставка средств разработки, обучение программистов заказчика работе с
этими средствами и совместное выполнение проекта до произвольной
стадии.
Предлагаемая технология и инструментарий позволяют, на наш взгляд, достаточно быстро
разработать офисную информационную систему с учетом требований конкретного заказчика,
передать заказчику достаточно полно документированный проект и средства разработки,
которые позволят ему по мере необходимости достаточно быстро модифицировать полученную
систему в соответствии с новыми требованиями.
[Назад]
[Содержание]
[Вперед]