Программируемое обеспечение

---

Программируемое обеспечение

---

Фото: ЮРИЙ МАРТЬЯНОВ, Ъ

Очередной участник конкурса лучших IT-решений, организованного журналом "Коммерсантъ-Деньги" и компанией Intel,— московская компания "Пронет", поставившая задачу с помощью своей программы "Пандора" полностью автоматизировать бизнес-процессы, связанные с оптовыми поставками компьютерных комплектующих.

Компания "Пронет" существует с 1997 года. Специализируется на оптовой торговле комплектующими для компьютеров. Имеет девять офисов в регионах, а также розничный интернет-магазин, торгующий ноутбуками. В штате компании работает около 150 человек.
       

Незапрограммированная программа

Как объяснил корреспонденту "Денег" менеджер проекта Николай Григорьев, конечная цель информационной системы "Пандора" заключалась в том, чтобы полностью автоматизировать работу всего предприятия. Для оптовой торгующей организации это крайне важная задача, поскольку ассортимент товаров, проходящих через "Пронет", насчитывает более 15 тыс. наименований; при этом количество товаров, находящихся ежедневно на складе, превышает 5 тыс. наименований. Однако помимо учета товаров офисная система была призвана оптимизировать работу и всех остальных бизнес-процессов и структур компании — от отдела кадров до финансового отдела, от налаживания отношений с клиентами и поставщиками до ускорения документооборота.
       По мнению господина Григорьева, сегодня предприятиям необходимы новые решения в области управления и учета. К ним предъявляются высокие требования по быстродействию, масштабируемости и надежности, при этом жизненно важна их быстрая реализация. Необходимо уметь преобразовывать сырые данные в активно применяемую информацию и полностью использовать возможности интернета. В "Пронете" считают, что именно такие качества должны помочь их компании получить решающие конкурентные преимущества на рынке.
       По мнению Николая Григорьева, система "Пандора" обладает необходимыми достоинствами — обеспечивает быстрое управление данными и их анализ, полностью приспособлена к интернету, содержит встроенную поддержку языка XML и позволяет делать запросы через интернет и за пределами локальной сети.
       Работа над созданием системы началась в 2003 году, и за это время над ней в разное время трудились от двух до пяти специалистов. Общую сумму затрат на создание "Пандоры" в компании оценивают приблизительно в $25 тыс. Однако, как напомнил господин Григорьев, более половины всех затрат на автоматизированную систему приходится на ее поддержку и сопровождение. Так вот, одно из основных достоинств "Пандоры" ее разработчики видят в том, что ее легко настраивать и сопровождать.
       Это было достигнуто, в частности, благодаря тому, что создатели системы отказались от ее программирования, ограничившись описанием.
       Николай Григорьев объяснил такой подход тем, что из-за постоянного прихода новых технологий в программирование задача по поддержке и обновлению программ существенно усложняется. "Переход с C на .NET или с JAVA на EJB требует перестройки всей программы либо заставляет использовать старые технологии,— говорит он.— Это не создает серьезных сложностей для вновь создаваемой программы, но для сопровождения и расширения старых это серьезная проблема. Причем с увеличением проекта сложность возрастает в геометрической прогрессии. Однако есть задачи, где по описанию архитектуры программы можно построить конечный продукт, минуя стадию программирования. Введя расширения UML, можно описывать такие системы и, используя интерпретаторы, строить конечные системы".
       Именно так поступили в "Пронете" при создании "Пандоры", использовав в качестве среды описания стандартный продукт Rational Rose. Разработчикам осталось лишь доработать ее, подогнав под потребности своей компании.
       Иными словами, в каждой быстро развивающейся компании столь же быстро изменяются и бизнес-процессы. Если постоянно дорабатывать программу с учетом всех происходящих в компании изменений, это всякий раз требует перепрограммирования, что является дорогим удовольствием. В "Пронете" же постарались получить результат гораздо быстрее и дешевле.
       
       При реализации проекта была использована трехзвенная система "Клиент--сервер--БД". Николай Григорьев считает, что она более современна, чем система "Клиент--сервер". Трехзвенная система состоит из базы данных (БД), сервера приложений, где содержится логика работы системы, и пользовательского интерфейса.
       Одно из достоинств трехзвенной структуры — она позволяет равномерно распределять нагрузку на сеть.
       Для удобства работы системы на сервере были выделены три базы данных — User, System и Global. Первая предназначена для пользователей (например, для хранения данных по счетам-фактурам). Во второй хранятся данные для разработчиков. Третья — общая база данных для тех и других. Такая структура системы обеспечивает разграничение прав доступа, а также облегчает модификацию системы.
       Система строится на двух объектах (или формах) — журналах (таблицы) и диалогах (поля с информацией).
       Как признал Николай Григорьев, продукт по своим возможностям вряд ли превосходит продукты конкурентов, но еще одно из его достоинств состоит в том, что он рассчитан на нестандартные процессы. Например, здесь гордятся, что удачно решили автоматизацию такого процесса, как закачка прайсов конкурентов из интернета. Ниже станет понятно, насколько это важная информация для торгующей организации и как ее можно использовать для анализа.
       В программе также предусмотрена иерархия. Это касается как списка сотрудников, так и ассортимента товаров. В случае с ассортиментом сокращается время на поиск нужного товара — как уже говорилось, при торговле большим количеством разнородных товаров различных модификаций необходимо уметь быстро их сортировать.
       Для каждого отдела разработаны свои меню, в которых предусмотрены подменю. В принципе система позволяет легко создавать отдельные меню для каждого сотрудника, при этом данный сотрудник будет иметь доступ лишь к той информации, которая касается его лично. Так, кадровик имеет доступ к функциям "Сотрудники" (список сотрудников с указанием их должностей) и "Табель" (анкетные данные сотрудников; по словам Николая Григорьева, форма анкеты была скопирована с анкет первых отделов старых советских времен: "Ничего лучшего пока не придумано").
       Николай Григорьев провел краткую экскурсию по различным меню системы, объясняя их назначение и возможности. Скажем, для сотрудников отдела закупок предусмотрен доступ к прейскуранту компании, где содержится информация о ценах, или к рубрике "Материалы", из которой можно узнать, сколько осталось товара на складах. На основании этой информации делается прогноз закупок по итогам продаж. В рубрике "Документы" отражены различные состояния документов. Если товар можно доставить в течение суток (то есть он находится в Москве), значит, его можно продавать, а документом на него будет накладная. Если товар придется ожидать дольше (например, если он находится в пути), его не ставят в продажу, но он все равно участвует в анализе, поэтому его ставят в транзит. И т. д.
       В разделе "Партнеры" все контрагенты делятся на поставщиков и клиентов. Клиенты, в свою очередь, делятся по рынкам сбыта. Как объяснил Николай Григорьев, цены в Москве и в регионах различаются довольно сильно: в регионах они выше. Поэтому если клиент привязан к Москве, то и цены для него будут московскими.
       Кроме того, клиенты подразделяются на два типа — крупные и все остальные. Крупные клиенты являются к тому же своеобразными индикаторами: если товар хорошо продается крупным клиентам, это значит, что на него хорошая цена; если плохо, значит, цена плохая.
       В системе предусмотрены отдельные карточки для клиентов и поставщиков, поскольку с ними работают разные люди. При этом следует учесть, что в этом бизнесе партнеры — и клиенты, и поставщики — одновременно являются и конкурентами. Иными словами — сегодня вы можете продавать чужой товар, а завтра ваш поставщик может оказаться вашим покупателем, то есть клиентом. И в этом бизнесе постоянно идет ценовая игра. Допустим, ваш покупатель сообщает вам, что у другой компании комплектующие для компьютеров дешевле. Вы должны суметь быстро проверить эту информацию и сделать из нее правильные выводы, то есть либо уличить "провокатора" в ошибке, либо убедиться в его правоте и изменить свою ценовую политику. Вот почему так важен постоянный анализ прейскурантов конкурентов на рынке.
       "Отдел продаж" по структуре повторяет "Отдел закупок": списки клиентов, информация о предварительных заказах и т. д. Для ряда отдельных наиболее ходовых товаров введены серийные номера — по ним можно найти поставщика, если покупатель вернул брак.
       Для работников склада также сгенерированы свои полезные функции. Например, в системе предусмотрено оформление документов на товары, по которым эти товары и выдаются. Как это часто бывает на практике, вам поступает заказ на сто товаров, а на складе оказывается лишь 90. В этом случае можно свериться с оформленными документами на товар, чтобы осуществить возврат денег за недостачу.
       В разделе "Финансовый отдел" предусмотрены все стандартные функции, необходимые для ведения финансовой отчетности. Это не касается бухгалтерской отчетности — она ведется в отдельной системе. В "Пронете" решили, что нет смысла создавать собственную систему бухгалтерской отчетности, если уже придумана "1С: Бухгалтерия".
ВЛАДИМИР ГЕНДЛИН
       

Техническая платформа и технологии, использованные в проекте

База данных: MS SQL Server 2000
Сервер приложений: Borland Enterprise Server (BES), Borland Enterprise Server AppServer Edition
Средство разработки: Rational Rose, Borland JBuilder, JBuilder 8