Шрифт:
Возникает вопрос: надо ли хранить в базе данных информацию из вторичных документов? В принципе, в этом нет необходимости: мы же можем в любой момент получить эту информацию, интерпретировав по заданному алгоритму набор данных из первичных документов. Однако на практике это бывает полезно для ускорения работы системы.
Тем не менее получить любой вторичный документ мы можем только в том случае, если нам будет одновременно доступен весь набор данных. Значит, в систему должны быть введены все данные.
Какой ужас охватил бы потенциальных пользователей системы, если бы им пришлось все документы вводить вручную, чтобы в конце концов получить несколько справок!
Но не все так грустно. Все документы требуются в бумажном виде, потому что на них должны быть подписи ответственных лиц.
Мы предлагаем пользователям готовить эти документы в АРМ системы, тут же распечатывать их, а уж система сама извлечет из них требуемую базисную информацию. При таком подходе достигаются две цели: устраняется излишний ручной ввод и гарантируется отсутствие ошибок, так как в систему попадут именно те данные, за которые расписалось ответственное лицо, которое наверняка проверит документ, прежде чем подписаться под ним.
Рассмотрев в общих чертах подход к созданию основного системообразующего звена – базы данных, перейдем к конфигурации системы.
База данных составляет информационное ядро системы, которое чаще всего размещается на одном компьютере – сервере локальной сети. Но это не обязательно.
Первые системы (еще в советское время) мы создавали с распределенной базой данных, так как компьютеры были дороги и их было мало на предприятиях. Выделять компьютер для сервера считалось роскошью. Распределенная система хранения данных к тому же повышала живучесть системы путем применения специальной системы дублирования файлов данных на разных компьютерах. Сейчас это стало неактуально, так как те же цели достигаются более простыми средствами.
Определившись с базой данных, рассмотрим вопрос о количестве и размещении компьютеров.
Естественно, что использование единой базы данных требует коммуникаций между всеми компьютерами и сервером. В настоящее время эти возможности предоставляет локальная сеть.
Однако по мере развития предприятия может потребоваться включить в сеть больше компьютеров, чем может обслужить сервер на базе персонального компьютера. Такие проблемы уже начинают возникать перед некоторыми фирмами.
Выход из этой ситуации достаточно очевиден – переход на новую компьютерную платформу. Но сделать это совсем не просто, если переход потребует смены эксплуатировавшегося программного обеспечения и переобучения персонала. В связи с этим сейчас активно обсуждаются вопросы мобильности программного обеспечения.
Проблема эта не нова. В каком-то смысле нашей стране повезло, что до последнего времени компьютеры не являлись необходимым элементом в производственной жизни предприятий. На предприятиях развитых стран в недрах Big Blue хранятся огромные объемы данных, сформированные программами, написанными на языке Cobol, ныне почти забытом и непочитаемом молодыми программистами.
Для примера, на одной из московских станций технического обслуживания зарубежных автомобилей установлен такой программный комплекс. Помимо весьма скудных интерфейсных средств и возможностей отображения информации на экране, он отличается весьма не высокими быстродействием и надежностью. Когда у главного программиста фирмы-производителя автомобилей поинтересовались, почему они используют столь устаревшую программу, он ответил, что проблема не в том, чтобы написать новую хорошую программу, а в том чтобы научить ее использованию персонал 50 000 (!) станций во всем мире.
Теперь перейдем к размещению компьютеров. Очевидно, что каждый сотрудник, отвечающий за создание первичного документа, должен иметь средства для его создания (и желательно «под рукой»). Отсюда вытекает требование функциональной полноты программно-технических средств системы. Другими словами, в том месте, где сотрудником порождается документ, должен быть компьютер. Система не предъявляет требования, чтобы у каждого сотрудника был персональный компьютер, но она требует, чтобы у каждого сотрудника, создающего документ, был доступ к компьютеру или терминалу. Мы имеем примеры использования нашей системы даже на одном-двух компьютерах. Правда, при этом порой около них возникает очередь.
Программное наполнение системы также должно охватывать все операции, в результате которых порождается документ. Однако это не означает, что система требует создания документов, которые по какой-либо причине на предприятии не используются. Просто информации, которая содержалась бы в этих документах, в базе данных не будет. Впрочем, об использовании системы мы поговорим в следующей главе, где осмелимся обсудить очередной, уже более деликатный вопрос.
Кто заказывает музыку, или… Кому служит автоматизация
АСУнизатор в контору пришел,
Каждому в помощь программу нашел.
Как муравейник контора кипит.
Весело всем, а директор грустит.
Кому и для чего нужны программы?
Вопрос наивный, почти детский. Но в то же время – это один из самых интересных вопросов. Банальный ответ на него – «всем» – столь же краток, как и неопределен.
Конечно, практически каждый сотрудник хочет иметь подходящую программу. Однако для чего?