Проблема внедрения настолько широка и многообразна, что заслуживает стать темой отдельного разговора.
Прикладная и инструментальная системы
Подбирая систему автоматизации для предприятия, полезно учитывать еще один аспект, присущий в той или иной степени большинству средств автоматизации: степень инструментальности предлагаемой системы. Надо отметить, что Прикладная система осуществляет те функции, которые в заданных обстоятельствах выполнял бы человек, а Инструментальная система дает возможность выполнить необходимые в работе функции, если будет произведена настройка на данные обстоятельства.
Все программы, разработанные для автоматизации организационного управления, различаются по степени инструментальности. Интересен вопрос: что заставляет разработчиков заложить в программу тот или иной набор настраиваемых параметров?
Каждый разработчик, приступая к реализации программы, имеет на нее заказ. Это может быть формально определенный заказ в виде технического задания от конкретного заказчика или неформальный, который определяет для себя разработчик на основании собственных представлений о требуемой программе. В большинстве случаев разработчик ориентируется на воображаемого пользователя, и от того, каким он его представляет, зависит как степень настройки, которую он закладывает в программу, так и способ, которым пользователь будет ее производить. На рынке бухгалтерских программ представлены как рассчитанные на бухгалтеров, незнакомых с компьютером, так и написанные для программистов, волею судеб ставших бухгалтерами.
Сложнее анализировать подход, который используют разработчики при определении диапазона настройки. Можно предположить, что он зависит от прогноза возможных изменений параметра настройки. Большинство разработчиков интуитивно определяют параметры прогноза. Чем шире охват предметной области, тем больше настроек предусматривает разработчик, чтобы сохранить применимость своей программы. Наиболее ярко это проявляется в популярных рыночных продуктах. Разработчики Windows включили в свой продукт все известные им драйверы указателей, принтеров, мониторов и т. п. и, кроме того, дали возможность присоединить иные, им неизвестные. Разработчики бухгалтерского пакета "Scala", который используется в 55 странах, предоставляют пользователям возможность настроить его на любую методику ведения учета в любой из 18 валют на любом из 33 языков. И подобные примеры можно продолжить.
Как только разработчики узнают об отсутствии в их программе необходимой настройки, они стараются ее включить. Однако повышают ли они возможность применения своего продукта? Казалось бы, да. На самом деле мы здесь сталкиваемся с пресловутым переходом количества в качество. Введя многочисленные настройки, т. е. повысив инструментальность своего продукта, разработчики дали возможность применять его большему числу пользователей. Но одновременно они повысили уровень требований к знаниям пользователей, а следовательно, уменьшили число потенциальных пользователей. В пределе это число стремится к числу самих разработчиков, когда, кроме них самих, никто не сможет применять их продукт. Из такой ситуации выход обычно находят в специальном обучении пользователей или предварительной настройке для них универсального продукта. Но и это не панацея, поскольку обученный сотрудник может уйти с предприятия, а изменение внешних условий потребует произвести перенастройку.
Существуют объективные факторы, влияющие на применяемость средств автоматизации и зависящие от степени их инструментальности. Вводя настройки и выбирая метод управления ими, разработчик предполагает возможности того, кто будет использовать его продукт. При этом, естественно, не может быть изобретен такой способ, который будет максимально удобен для всех пользователей независимо от образования, специальности, свойств характера и т. п. Поэтому важно, выбирая систему, обращать внимание на диапазон и способ настройки средств автоматизации.
Программные средства для создания автоматизированных систем
В данном разделе обсудим вопрос о том, какие средства разработки целесообразно использовать для создания автоматизированной системы управления предприятием. Сразу надо отметить, что к этому вопросу нельзя подойти однозначно и прежде чем выбрать средство разработки, следует определить ее цель. Что надо создать: заказную уникальную систему или программный продукт для рынка? Будет ли это прикладная программ или инструментальная система? Какой предполагается срок жизни программы? Придется ли ее сопровождать (т. е. вносить изменения в нее по желанию заказчика) или только исправлять ошибки? Есть еще много вопросов, ответ на которые в какой-то мере влияет на выбор средств.
Если создается уникальная система по заказу, то важно понять, в течение какого времени она будет использоваться и с какой интенсивностью. Например, когда у нас, как грибы после дождя, стали появляться биржи, то им потребовалась система обработки биржевой информации как можно раньше. Пусть она работает медленно, но все же быстрее, чем человек. Пусть она делает ошибки, но все же меньше, чем человек. Значит, такую систему следует создавать "на чем легче". Многие в то время прогнозировали - и не ошиблись, что большинству бирж отпущено полтора-два года. Приблизительно столько занимает разработка серьезной системы. Кто бы ею пользовался сегодня? Сейчас похожая ситуация наблюдается с банками, завтра та же участь ждет инвестиционные фонды, послезавтра настанет черед страховых обществ и т. п.
Тенденции такого развития видны многим. Поэтому появились фирмы, которые называют "фирмами быстрого реагирования". Они быстро постигают смысл насущных задач и создают программы на злобу дня. Безусловно, таким фирмам требуются программные средства, на которых можно просто и быстро создавать прикладные программы. Аналогичные задачи стоят перед программистами на предприятиях. Им надо как можно скорее разработать программу, отвечающую текущим потребностям. Собственно, для таких задач и создаются интегрированные пакеты типа MSAccess, Clarion или FoxPro.
Иные задачи стоят перед разработчиками рыночных продуктов или продуктов длительного применения. Если фирма берет на себя обязательства перед покупателем, она не может позволить появиться на рынке ненадежному, или слишком медленному, или неудобному в использовании продукту. Поэтому для создания хороших рыночных продуктов выбираются средства, позволяющие делать их быстрыми, надежными и удобными. Здесь увеличенные затраты времени на разработку окупаются последующим беспроблемным сбытом. Общеизвестно, что максимальная индивидуальность, производительность и гибкость программ достигаются на языковых средствах разработки так называемого низкого уровня. Но пропорционально достигаемому результату возрастает количество труда, вкладываемого в разработку. Не каждая фирма может позволить себе значительные инвестиции, если у нее нет уверенности, что полученный результат их окупит. Поэтому новые идеи чаще всего отрабатываются на интегрированных средствах и после их проверки переводятся на низкоуровневые.
Следует отметить, что для эффективной работы системы автоматизации деятельности предприятия должны базироваться на передовых технологиях. Можно с уверенностью сказать, что самым распространенным на сегодняшний день решением в этом случае является применение технологии клиент-сервер. Об этом свидетельствует и большое число представленных на рынке продуктов.
Выбор СУБД при построении системы автоматизации во многом определяет такие ее параметры, как производительность, масштабируемость, защищенность и надежность. Все СУБД, используемые в системах автоматизации, можно разделить на две группы: работающие по технологии файл-сервер и по технологии клиент-сервер.
Файл-серверная система имеет следующие недостатки: •большая нагрузка на сеть и повышенные требования к ее пропускной способности (при большом числе пользователей и значительных объемах обрабатываемой информации несоблюдение этих требований может привести к неработоспособности системы); •повышенные требования к ПК ввиду того, что обрабатываются данные на рабочем месте пользователя; •невозможность одновременной работы с данными; •невозможность соблюдения безопасности данных.
Клиент-серверная технология практически от всех перечисленных недостатков свободна, в первую очередь благодаря тому, что здесь вся обработка перенесена на сервер баз данных, а на рабочем месте пользователя только формируются запросы и отображаются результаты. Выбор конкретной СУБД определяется многими параметрами, среди которых можно назвать надежность и устойчивость, быстродействие, наличие средств разработки приложений, совместимость с другими платформами и ОС, поддержка компании-производителя.
Среди разработчиков систем автоматизации деятельности предприятий наиболее популярны СУБД Oracle и Microsoft SQL Server, InterBase и некоторые другие. Следует также отметить, что в последнее время стали появляться системы комплексной автоматизации с последними версиями СУБД —“1С:Предприятие 7.7”, “БОСС-Компания” (“АйТи”), “Виртуоз 1.3” (“Миратех”), “Перевозки” (SoftLogistic), “Фолио-WinСклад” версии 7.0 на базе MS SQL Server 7.0, “Ландиа” (“Ландиа-Софт”) на базе InterBase, “Монополия” (“Формоза-Софт”) на базе Oracle 8.0.
Отметим, что выбор средств разработки - это тема, о которой можно говорить очень долго, как, впрочем, и об остальных вопросах, только слегка нами обозначенных.