Опыт построения информационной системы предприятия

Статья вышла в журнале "Системный администратор" №130 (сентябрь 2013г. с.28), под названием "Через тернии". В некотором смысле это был итог моей деятельности на прежней работе. Однако, и после подведения итогов интерес к данной теме остался. Интересно, что вопрос "Почему пробуксовывает какая-то разработка на таком-то предприятии?" постепенно превращается в вечное "Почему мы так живем?". После публикации статьи продолжаю сталкиваться с материалами по данной тематике.

Вот лишь некоторые из них:

Еще один вариант "через тернии", но с внедренческим уклоном. Статья 10-летней давности, но тернии были, как видно, и тогда... название для своей статьи я придумал сам, однако, был немало удивлен схожестью процессов внедрения информационных систем. Итак, "Внедрение ИС: через тернии к звездам" - http://citforum.ru/consulting/articles/stars/

Статья, изобилующая техническими подробностями - Особенности перехода к единой корпоративной информационной системе в ОАО "Ростовэнерго"

Статья А.Вторникова в журнале "БИТ" №37 (май 2014г.) об информационных технологиях в банковской системе - Заметки из окопов. Плюс ее продолжение - Насыщаем функционал

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

Для понимания затрат на внедрение в денежном эквиваленте - стоимость ПО фирмы 1С на 30 компьютеров. Плюс калькулятор затрат на внедрение 1С (нужна регистрация).

Для обслуживающих информационные системы предприятия и понимающих как они работают - требуйте нормальную компенсацию для своего труда:

Требуется менеджер по внедрению 1С!
Анонс книги Марины Аншиной «Проекты ИТ: как превратить возможности в результаты» - http://redirlnk.com/ru/web_letter/5m3zrmpgg3gtb8z3bzwdkemkf3xap91bru84io...

Не знаю по теме ли... скорее для себя... еще одна ссылка (достаточно убедительно о "клановости" народного хозяйства России) - Клановость в политической жизни регионов России

Теперь, привожу свою статью целиком...

«ЧЕРЕЗ ТЕРНИИ»

Опыт построения информационной системы предприятия

«Все у вас через... тернии... к звездам!»
(Фраза из жизни - комментарий руководства
к отчету о проделанной отделом ИТ работе)

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

Если спросить у наших коллег по работе, пусть даже и не из числа «айтишников», то, скорее всего, мы получим на эти важные вопросы приблизительно такие ответы:

  • наличие мощных серверов/рабочих станций в локальной сети, обновление системного и иного ПО, продуманная система безопасности;
  • максимально быстрый поиск информации о клиенте, удобство работы оператора, автоматизация бухгалтерского учета или иных экономических/статистических расчетов;
  • сокращение расходов на обеспечение бесперебойной работы оборудования, продвижение продукции/услуг фирмы в сети Интернет и электронных СМИ, анализ работы подразделений и/или работников.

И, наверное, с каждым из этих утверждений придется согласиться.

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

Если разобраться, почти все данные (информация), которые мы используем в повседневной работе как-то взаимосвязаны между собой и тем кто их использует, и образуют определенную систему. С этой точки зрения для специалиста ИТ интересен стандарт ISO/IEC 2382-1 Международной организации по стандартизации [1], который определяет: «Информационная система — система обработки информации, работающая совместно с организационными ресурсами, такими как люди, технические средства и финансовые ресурсы, которые обеспечивают и распределяют информацию». Несомненно, такое определение дает основание сказать, что информационная система (ИС) — важная часть в структуре любой современной фирмы.

Занятия ИТ в одном из государственных учреждений в течении 15 лет (я работал в системе Госстандарта РФ с конца 90-х) дали определенный опыт создания ИС предприятия, которым и хотелось бы поделиться. Конечно, нельзя сказать, что все было придумано и сделано безупречно. Однако, обмениваясь практическими знаниями, каждый из нас получает возможность приобрести новое, что-то переосмыслить, сравнить различные пути построения ИС и, как следствие, — улучшить качество своей работы, добиться уважения сослуживцев, финансового вознаграждения, наконец.

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

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

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

Исходные данные для создания ИС

В конце 90-х годов на предприятии не было какой-либо централизованной ИС (кроме правовой), что, конечно, в наше время встречается крайне редко. Отметим, что большим минусом также был недостаток знаний об активно развивавшихся в тот период ERP и CRM-системах (см. Таблицу 1). К положительным моментам можно отнести то, что в момент зарождения ИС удалось познакомиться с одним из продуктов компании IBM — Lotus Notes, который можно считать неким конструктором для построения ERP-систем и систем управления предприятием, соответствующих стандартам ISO серии 9000/9001. В конце 90-х годов прошлого века наше министерство (Госстандарт) обладало общероссийской сетью серверов Lotus Notes Domino. Также проводилось обучение администрированию и разработке в данной среде.

Всего в компьютерной сети нашей организации на тот момент было около 20-30 рабочих станций, 1 выделенный сервер (Windows NT 4.0). В последствии количество компьютеров возросло до 100 единиц, к ним добавились контроллер домена с использованием свободного ПО Samba, терминальный сервер, прокси-сервер для выхода в Интернет.

Таблица 1. Материал из Википедии — свободной энциклопедии

ERP (англ. Enterprise Resource Planning, планирование ресурсов предприятия) организационная стратегия интеграции производства и операций, управления трудовыми ресурсами, финансового менеджмента и управления активами, ориентированная на непрерывную балансировку и оптимизацию ресурсов предприятия посредством специализированного интегрированного пакета прикладного программного обеспечения, обеспечивающего общую модель данных и процессов для всех сфер деятельности.
Система управления взаимоотношениями с клиентами (CRM, CRM-система, сокращение от англ. Customer Relationship Management) прикладное программное обеспечение для организаций, предназначенное для автоматизации стратегий взаимодействия с заказчиками (клиентами), в частности, для повышения уровня продаж, оптимизации маркетинга и улучшения обслуживания клиентов путем сохранения информации о клиентах и истории взаимоотношений с ними, установления и улучшения бизнес-процедур и последующего анализа результатов.
ISO 9000 серия международных стандартов, описывающих требования к системе менеджмента качества организаций и предприятий. Соответствие требованиям ISO 9001 свидетельствует о некотором уровне надежности поставщика и добротности его компании. С точки зрения современных компаний, соответствие требованиям ISO 9001 — тот минимальный уровень, который дает возможность вхождения в рынок.

Информационная система в описываемом случае строилась, в основном, для анализа экономических показателей при оказании предприятием услуг. Для этого отделом ИТ самостоятельно был разработан блок «Реализация» (см. рис. 1), назначением которого являлась выписка необходимых собственных и первичных бухгалтерских документов, ведение справочника клиентов (контрагентов), анализ выполнения плана подразделениями и формирование книги продаж организации. Программа была внедрена и достаточно успешно эксплуатировалась в течение нескольких лет. Разработка велась сначала в системе управления базами данных (СУБД) FoxPro, а затем была переведена на платформу Lotus Notes 4, которая, как оказалось, является еще и весьма удобной для коллективной работы и построения распределенных систем (в организации имелось несколько подразделений в других городах).

Схема частей информационной системы
Рис 1. (Схема.png) Схема взаимодействия частей информационной системы

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

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

В этот период предпринималась попытка перевести работу блока «Реализация» в систему «Парус» с выгрузкой данных между ведомственной АИС и бухгалтерской системой. Однако этот переход «сулил» непростые времена для предприятия, неясно было, сможет ли система «Парус» выполнить все требования технического задания (приходилось также держать в голове стоимость подобного решения с учетом покупки бухгалтерского ПО и программных решений по выгрузке данных и обеспечения работы блока «Реализация»).

Также в это время был изучен опыт работы соседних региональных предприятий министерства, который говорил об одном — глобальное изменение ИС повлечет за собой перестройку всего механизма работы организации (вплоть до изменения структуры работы и набора/сокращения сотрудников).

Описание работы системы

В итоге задачу удалось решить в основном «своими силами», без привлечения высокооплачиваемых специалистов со стороны, реорганизации и покупки дополнительного программного обеспечения (ПО). Опишем как удалось объединить работу различных систем, добиться определенного удобства эксплуатации и избежать двойного ввода информации.

Было решено оставить основной для построения ИС базу данных Microsoft SQL (см. рис.1). На это решение повлияло также то, что необходимо было реплицировать данные о работе предприятия в общероссийскую БД. В этой базе хранились данные о клиентах (контрагентах), тарифах, выполненных работах (оказанных услугах).

Решено было также оставить и собственную разработку по учету выполнения плана подразделениями (блок «Реализация», к которому давно привыкли все пользователи) как основу для анализа экономических показателей предприятия. Бухгалтерское ПО «Парус» выполняло свои функции и было установлено лишь там, где требовалось, и в экономических подразделениях.

Как же осуществлялся обмен данными между частями ИС при такой «лоскутной» автоматизации? Интересно, что простого способа, использующего для обмена промежуточный текстовый файл, оказалось вполне достаточно для нормального функционирования системы. Потребовался лишь анализ выполняемых операций на участках ввода данных. Для примера, при внесении данных в Lotus Notes использовалась информация из запроса к БД Microsoft SQL, которая была уже внесена через оболочку общероссийской АИС. Промежуточная информация сохранялась в текстовом файле на локальном жестком диске, и копировалась в нужный момент совершенно незаметно для оператора. Подобным образом аналогичные данные попадали в блок «Реализация» из бухгалтерской системы «Парус». Так, кстати, удалось избежать сложных и медленно работающих программ «выгрузок данных» из одной системы в другую, которые, как показал обмен опытом с соседними организациями нашего ведомства, могут на время даже приостановить работу в ИС.

Минусы описанного подхода к хранению данных (одинаковая информация хранится в различных частях системы) с лихвой перекрываются простой разработки и обслуживания необходимого ПО, а его пришлось разрабатывать и поддерживать, как было сказано выше, своими силами и без остановки производственной деятельности.

Бухгалтерские документы (счет, счет-фактура, акт выполненных работ) печатались с помощью свободного офисного пакета OpenOffice.org, посредством технологии «отчета по шаблону», описанной в [2]. Информация также выбиралась с помощью SQL-запроса из БД Microsoft SQL. Использование свободного ПО, которое отлично работает в различных средах (Windows, Linux), позволило также сэкономить на покупке программных продуктов.

К слову, для выборки данных из БД Microsoft SQL при построении собственных нестандартных статистических отчетов использовалась программа на основе материала статьи «Дежурный» редактор SQL-запросов на Java» А.Вторникова [3].

Еще один недостаток подобного «дублированного» хранения данных в такой информационной системе, выявленный в процессе эксплуатации, - это возможное рассогласование в базах, хранящихся в различных частях системы, которое может возникнуть в результате ошибки оператора. В [4] описан один из возможных вариантов поиска рассогласования данных для последующего внесения оператором изменений.

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

Выводы

Конечно, в нашем описании опущены многие детали работы и проектирования системы — вместо них хотелось бы сделать некоторые выводы.

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

  • информационная система является одной из главных составных частей в структуре современного предприятия;
  • необходимость интеграции различных программных систем продиктована временем;
  • невозможно создать адекватную ИС силами одного лишь ИТ-отдела, необходимо иметь «инициативную группу» из различных специалистов. Требуется глубокий анализ «спецами» как существующего ПО, так и способов взаимодействия различных частей ИС и подразделений предприятия;
  • нужны квалифицированные ИТ-специалисты (программисты), с определенным опытом работы в отрасли, понимающие суть происходящих на предприятии процессов. Понятно, что таким специалистам нужно платить нормальную зарплату;
  • кроме разработки или покупки ИС придется заниматься ее внедрением, и второе часто бывает сложнее первого;
  • не стоит забывать, что создание ИС — это и управленческий вопрос, в котором (как и во всех других в организации) последнюю точку ставит руководитель. Создать зачастую проще чем объяснить руководству зачем вообще это все нужно. В любом случае руководство предприятия должно иметь представление о трудностях в работе ИТ-отдела, и это, наверное, основная часть работы его руководителя;
  • создание ИС потребует определенных материальных и административных затрат. Информационные системы для вашего предприятия или фирмы не растут на дереве. Даже после покупки разрекламированного программного продукта его придется адаптировать к существующей схеме работы организации. К этому также должно быть готово руководство организации.

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

1. http://www.morepc.ru/informatisation/iso2381-1.html#s01 — текст и перевод стандарта ISO 2382-1.
2. Ильичев С. Построй свой отчет //«Системный администратор» №4, 2013г. - с.78-81.
3. Вторников А. «Дежурный» редактор SQL запросов на Java //«Системный администратор», №7, 2008г.
4. Ильичев С. Задача сравнения списков, или еще раз про XML //«Системный администратор» №1-2, 2013г. - с.86-90.

Комментарии

Эта система до сих пор эксплуатируется в ФБУ "Тульский центр стандартизации, метрологии и испытаний" (ФБУ "Тульский ЦСМ"). Ведомственная информационная система - АИС "Метрконтроль".

Писал статью об автоматизации... :) сегодня опять был на старой работе (ЦСМ). Сделал заготовку БД на следующий год. Самое интересное - это последнее, что не было автоматизировано в системе. Уже два года все это работает практически без моего вмешательства (небольшие изменения в формах документов).

По известной структуре .xml-файлов 8 и 9 раздела декларации НДС сделана выгрузка из БД для сдачи в налоговую инспекцию в электронном виде. Первая сдача прошла в полу-ручном режиме. С исправлением ошибок "на лету" прямо в xml-файле. Надеемся допилить в следующем квартале :) Эксплуатация системы продолжается. По прежнему, переход на 1С сулит преобразование структуры предприятия и серьезные финансовые вложения.

Итак, последняя декларация сдана! Ядро системы перекочевало на 1С. Никто не говорит сколько это стоило предприятию... однако, информационная система просуществовала в самописном виде более 15 лет! Немного грустно, но жизнь идет вперед :)

Страницы