Алексей Сапегин
Независимый эксперт
Внедрение корпоративных информационных систем как основы для комплексной автоматизации деятельности предприятий направлено на поддержку принятия управленческих решений менеджерами высшего звена корпорации. А это предполагает, что предварительно должны быть решены задачи автоматизации рабочих мест, связанных с выполнением текущих производственных функций и оперативным управлением производственными процессами на уровне нижнего и среднего звена менеджеров.
До последнего времени существовало два подхода к решению задачи комплексной автоматизации деятельности предприятия:
Преимущество первого подхода состояло в том, что в создаваемой собственными силами системе в наибольшей степени можно было учесть потребности и специфику работы конкретного предприятия. Хотя, следует отметить, не всегда это качество является достоинством - достаточно сослаться на известную книгу Хаммера и Чампи "Реинжиниринг корпорации". В этой книге обоснованно утверждается, что автоматизация плохо организованных бизнес-процессов способна только ухудшить ситуацию на предприятии. Поэтому, разработке информационной системы должен предшествовать анализ, а если необходимо, то и реинжиниринг производственной деятельности. Кроме того, "эволюционный" характер постепенных улучшений с возможностью поэтапного финансирования разработок во многих случаях выглядит более привлекательно по сравнению с риском кардинальных преобразований и значительных затрат, связанных с внедрением готовых систем. К сожалению, этот путь решения проблемы автоматизации оказывается слишком растянут во времени, часто превращаясь в "постоянный процесс разработки", когда разработчики не успевают за изменениями, происходящими в организации.
Корпорации, располагающие необходимыми финансовыми средствами, отдают предпочтение готовым программным системам. Однако, успех от внедрения такой системы, в значительной степени зависит от готовности (и возможности) корпорации работать по "правилам", диктуемым приобретаемой информационной системой. "Готовая" информационная система имеет модульную архитектуру и процесс внедрения такой системы может быть выполнен по этапам - начиная с модулей, автоматизирующих наиболее критичные участки работы. При этом, обеспечивается "целостность" системы, позволяющая воспользоваться на соответствующих рабочих местах новыми функциями подключаемых модулей.
Опыт разработки "готовых" информационных систем позволил сформировать новый подход к созданию корпоративных информационных систем, основанный на "сборке" систем из программных "компонент" различных фирм-производителей. Компонентная архитектура корпоративных информационных систем стала возможной благодаря поддержке ведущими производителями программного обеспечения общих стандартов на проектирование, разработку и технологию компонентной "сборки" информационных систем, реализуемых на различных программно-аппаратных платформах.
На современном этапе развития информационных технологий компонентная технология создания корпоративных информационных систем выглядит наиболее привлекательной и перспективной. Действительно, она объединяет гибкость в выборе необходимых компонент информационной системы, свойственную разработке системы собственными силами, с надежностью кода и функциональной полнотой, проверенными многократным использованием, характерным для коммерческих программных продуктов. Более того, компонентная технология позволяет оперативно вносить изменения в существующую информационную систему не нарушая ее работоспособности. При этом, новые приложения могут работать с новыми модулями, а старые - с прежними модулями, которые остаются в системе. Снимается проблема "унаследованных" систем - нет необходимости их замены для изменения или расширения функциональности, а значит уменьшаются затраты на сопровождение и модернизацию информационной системы.
Для того, чтобы компонентная архитектура информационных систем стала реальностью необходимы три условия:
Стремительный рост числа доступных программных компонент и их библиотек, постоянно расширяющийся рынок инструментальных программных средств анализа, проектирования и разработки систем с компонентной архитектурой и поддержка многокомпонентных систем на различных программно-аппаратных платформах способно, по мнению многих специалистов в области информационных технологий, коренным образом изменить "облик" корпоративных информационных систем. Особенно сильно тенденция к созданию многокомпонентных систем проявилась в технологии интернет/интранет, в которой активно используются компоненты ActiveX и JavaBeans. Воспользоваться преимуществами компонентной технологии, основанной на общих стандартах, стремятся и такие производители готовых систем, как SAP (R3).
Ключевым фактором успеха в реализации компонентной технологии становятся методология и средства анализа и проектирования многокомпонентных информационных систем. Методология создания информационных систем с компонентной архитектурой "выросла" из объектно-ориентированной методологии проектирования распределенных систем. Значительный вклад в развитие компонентной методологии внесли сотрудники фирмы Rational Software (особенно Г. Буч, Д. Рамбо и И. Якобсен).
В настоящее время фирма Rational Software является безусловным лидером в области объектно-ориентированного анализа и проектирования информационных систем с компонентной архитектурой. Разрабатываемая этой фирмой методология, основанная на использовании унифицированного языка моделирования (UML - Unified Modeling Language в настоящее время принят OMG в качестве стандарта), поддержана целым спектром инструментальных программных средств визуального моделирования, совместной разработки (поддерживаются основные языки программирования С++, Java, Visual Basic, SmallTalk и др., а также популярные среды разработки - MS Visual Studio, Delphi, PowerBuilder), автоматизированного тестирования и документирования, охватывающих жизненный цикл создания программных систем. В сети интернет узел этой фирмы (www.rational.com) содержит обширную и постоянно пополняемую и обновляемую информацию о новых методологиях и стандартах, программных продуктах, публикациях и доступных ресурсах (включая примеры построения информационных систем и реализации отдельных решений). На этом же узле обсуждаются многие из, возникающих в процессе разработки системы, вопросов.
Помимо Rational Rose, продукта фирмы Rational Software, к числу популярных средств визуального моделирования, поддерживающих стандарты UML, можно отнести Paradigm Plus (программный продукт фирмы PLATINUM Technology) и SELECT (SELECT Software).
Rational Rose - хорошо сбалансированный программный продукт с удобным интерфейсом и набором инструментов моделирования, ориентированным как на разработчиков программных систем, так и на бизнес- и системных аналитиков. На базе Rational Rose был создан Visual Modeler - средство визуального проектирования, включенное в состав среды разработки Microsoft Visual Studio (версия 6.0).
Paradigm Plus, скорее всего, понравится не тем разработчикам, которые отдают предпочтение удобству настроек по умолчанию и простоте использования инструмента, а тем, которые больше всего ценят возможность максимальной адаптации инструмента к своим потребностям, вплоть до настройки шаблонов (скриптов), на основе которых реализуется генерация кода программной системы.
Средство визуального моделирования Select в большей степени, чем два предыдущих, похоже на традиционное CASE (Computer-Aided System Engineering) средство моделирования, знакомое бизнес- и системным аналитикам еще со времен структурного анализа и проектирования систем. Хотя Select и ориентирован, в основном, на аналитиков, он может использоваться и разработчиками программных систем. Этот продукт, также, как и два предыдущих, поддерживает UML и компонентную технологию проектирования программных систем.
Таким образом, компонентная технология проектирования и разработки информационных систем на сегодняшний день располагает необходимым арсеналом средств - начиная от инструментов визуального анализа и моделирования, поддерживающих существующие средства разработки, и кончая широким выбором библиотек готовых компонент, включая компоненты "инфраструктуры" для различных программно-аппаратных платформ. А это значит, что информационные технологии стоят на пороге появления "конструкторов" готовых систем, состоящих из наборов компонент от различных производителей.