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