Вы здесь

Эффективное управление автоперевозками. Глава 2. НЕКОТОРЫЕ ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ (А. Н. Дорофеев, 2013)

Глава 2. НЕКОТОРЫЕ ТЕХНИЧЕСКИЕ ПОДРОБНОСТИ

В этой главе речь пойдет о характеристиках программного и аппаратного обеспечения, на которые стоит обратить внимание при выборе и последующем внедрении информационной системы АТП. В настоящее время в технических вузах по специальности экономика и менеджмент автомобильного транспорта читают специальный курс по информационным технологиям в автохозяйствах. Но дело в том, что, как уже было сказано выше, в подавляющем большинстве нынешние руководители среднего и старшего звена – люди, которые уже достаточно давно окончили институты, и с тех пор вычислительная техника и программное обеспечение “ушли” далеко вперед. Поэтому при обсуждении с ними некоторых технических особенностей развертывания ИС на предприятии часто возникает недопонимание. Ниже мы рассмотрим наиболее типичные вопросы, которые приходилось пояснять заказчикам.

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

Термин “выделенный сервер” здесь обозначает, что за этим компьютером с базой данных пользователь работать не будет. То есть он будет стоять отдельно, возможно даже в специальной комнате или шкафу, обрабатывая запросы с других компьютеров. Как правило, в качестве сервера используется или специально приобретается достаточно мощный компьютер. Сервер должен иметь повышенный объем оперативной памяти и дискового пространства, так как, как правило, на него ложится основная нагрузка при вычислениях. На рис. 2 представлена схема ЛВС с выделенным сервером. Архитектура системы с выделенным сервером обладает рядом преимуществ:

• поскольку на сервере пользователь не работает, то все ресурсы предназначены только для обработки запросов к базе данных, что положительно сказывается на производительности;

• пользователь не имеет доступа к серверу, а следовательно, повышается безопасность данных;

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


Рис. 2. Локальная вычислительная сеть с выделенным сервером


С другой стороны, практика показывает, что автоматизацией транспортный отдел охватывается едва ли не в последнюю очередь и на выделенный сервер просто может не хватить бюджета. Поэтому базу данных устанавливают на обычный рабочий компьютер, за которым работает пользователь с обычными офисными приложениями. В этом случае говорят об одноранговой сети.

При выборе информационной системы для автохозяйства необходимо уточнять, нужен ли будет выделенный сервер или нет, чтобы своевременно предусмотреть для этой цели деньги. В другом значении слово “сервер” употребляется, когда речь идет о специальном программном обеспечении, например о сервере базы данных. Сервер базы данных, или SQL-сервер, предназначен для управления массивом данных, хранящихся на жестком диске компьютера. Для чего же нужно это программное обеспечение?

Действительно, те, кто уже давно работает с компьютером, знают, что, например, к файлу Excel можно обратиться по сети с другого компьютера, считать данные и использовать в своих расчетах. Еще более опытные пользователи припомнят, что во времена DOS, когда еще не было Windows, на предприятиях работали различные учетные системы, где также обходились без SQL-серверов. Да и сейчас распространенные бухгалтерские программы, например 1С, при сетевой конфигурации не требуют установки SQL-серверов.

Следует сказать, что система без SQL-сервера называется система файл-сервер, а система с SQL-сервером называется система клиент-сервер. Система клиент-сервер обладает рядом существенных преимуществ:

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

• повышенная защищенность информации. База данных SQL-сервера, как правило, представляет собой один файл, информацию в котором можно прочитать, только подключившись со специальным паролем на чтение. При необходимости SQLсервер позволяет шифровать данные, которые хранятся в базе;

• разграничение доступа. Каждому пользователю, который работает с базой данных, можно задать различные права – на просмотр информации, добавление, изменение, удаление. Права можно выборочно комбинировать, например только на просмотр информации или на просмотр и добавление;

• SQL-сервер ведет запись всех операций с базой данных в специальном лог-файле. При необходимости всегда можно узнать, какой пользователь и когда выполнил ту или иную операцию – ввел данные, изменил, удалил их;

• в SQL-серверах реализован мощный механизм управления транзакциями. Транзакция – это набор команд, которые выполняются как одна операция. То есть либо выполняются все команды, либо не выполняется ни одна. Например, когда в базе данных выполняется проводка накладной по списанию товаров со склада, то надо последовательно изменить остатки по всем позициям в накладной. При этом существует возможность, что другой пользователь в это же время также пытается списать со склада этот же товар. SQL-сервер в этом случае разграничивает транзакции. То есть сначала выполняются все операции накладной первого пользователя, а затем второго. В случае сбоя, например в результате отключения электричества, SQL-сервер производит откат транзакций до последней завершенной. В этом случае данные не теряются и не нарушается их целостность;

• SQL-сервер позволяет более оптимально использовать память компьютера и вычислительные возможности процессора. Но среди явных преимуществ использования информационной системы с SQL-сервером есть и некоторые недостатки:

• SQL-сервер является отдельной программой и, соответственно, имеет свою стоимость. Как правило, стоимость SQLсервера достаточно существенна. При этом бывает и так, что поставщики информационных систем указывают стоимость только самой системы. Поэтому всегда надо уточнять, входит ли в стоимость проекта и SQL-сервер, какого производителя, лицензионный ли он;

• SQL-сервер может занимать существенный объем дискового пространства. Поэтому всегда надо иметь в виду, что на диске должно хватить места и на информационную систему, и на SQL-сервер;

• SQL-сервер иногда необходимо настраивать. Настройку должен проводить системный администратор, который обладает специальными познаниями.

Эти недостатки, к счастью, не всегда присутствуют. Например, бывают бесплатные SQL-серверы или имеющие очень умеренную стоимость. Также при установке SQL-сервер можно ставить не полностью, а лишь минимально необходимые для работы компоненты. Системный администратор тоже не всегда требуется. Существуют SQL-серверы, которые очень устойчивы в работе. Они не зависают, им не требуется постоянная или периодическая поддержка и настройка.

Конечно, если у вас крупное предприятие, в котором существует IT-отдел, то такие тонкости удобнее обсудить со специалистами-компьютерщиками. Хотя у них может быть определенное субъективное мнение. Например, они являются поклонниками SQL-сервера фирмы Oracle и по этой причине могут негативно отзываться о SQL-серверах Microsoft или Sybase. Это все равно, что одни автолюбители предпочитают немецкие автомашины, а другие – японские. Поэтому при выборе системы надо все достаточно хорошо продумать и взвесить, особенно если у вас не будет постоянно компьютерщика под рукой.

Перед подписанием договора лучше всего поинтересоваться у разработчиков или внедренцев, работает ли предлагаемая система на каком-либо другом предприятии аналогичного масштаба. Если работает, то лучше всего связаться со специалистами этого предприятия и выяснить все интересующие подробности. Например:

• сколько документов в день, месяц или год вводится в систему;

• сколько пользователей одновременно могут работать с системой без существенной потери производительности;

• сколько секунд занимает время ввода одного документа;

• сколько времени занимает формирование отчетов, и как это влияет на производительность и др.

При возможности нужно договориться и съездить, чтобы посмотреть, как другие пользователи работают с этой системой. Мы уже обсудили два фактора, которые играют важную роль в производительности. Первое – это аппаратное обеспечение, т. е. собственно компьютеры, сервер базы данные и сеть. И частично второе – это программное обеспечение, а точнее, SQL-сервер. Производительность компьютеров оценить несложно. Чем современнее процессор и выше его частота, чем больше оперативная память – тем лучше. Скорость в сети можно измерить и выявить “узкие” места. Производительность SQL-сервера той или иной компании-разработчика также можно протестировать. А вот производительность самой программы, с которой будут работать непосредственно пользователи, оценить непросто. Многое зависит от внутренней структуры базы данных и того, как написан код программы.

Например, когда пользователь открывает отчет в программе на своем компьютере, на программном уровне происходит следующее (при условии, что используется SQL-сервер):

1. Программа с компьютера пользователя отправляет запрос по сети к серверу базы данных.

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

3. Далее эти итоговые значения передаются на компьютер пользователя и отображаются в отчете.

На практике пользователю хочется получить этот отчет за максимально короткое время. Ему не важно, каким образом в программе формируется этот отчет. Главное, чтобы получилось то, что нужно, и побыстрее. Достоверность итоговых данных в отчете зависит от корректности введенной исходной информации и правильной работы алгоритма расчета. Допустим, отчет сформирован верно. А вот скорость подготовки этого отчета для пользователя может показаться неоправданно низкой. Причин медленного формирования отчета может быть несколько:

1. Информации в базе данных очень много;

2. Запрос для расчетов действительно очень сложен;

3. Информации не так уже и много, но она разбросана в разных местах внутри базы данных;

4. Информации не так много, но она не проиндексировна (не структурирована);

5. Запрос написан неоптимально.

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

Кроме скорости формирования отчетов опытный заказчик, как правило, тщательно изучает, сколько времени занимает ввод данных в информационную систему. Когда разработчик демонстрирует потенциальному клиенту программу, то частенько при этом может употреблять фразу “интуитивно понятный интерфейс”. Интерфейс – это, вообще говоря, все возможности взаимодействия человека с компьютером. А попросту кроме клавиатуры и мышки интерфейс включает в себя все, что пользователь видит на экране. Если говорить об информационной системе, то это различные окна (их еще могут называть “формы”), в которых могут быть ячейки для ввода данных (их называют “поля”), кнопки, переключатели, вкладки и проч. На рис. 3 представлен пример такого окна. Пример достаточно условный, но тем специалистам-транспортникам, которые впервые прикасаются к информационным технологиям, он даст наглядное представление, как может выглядеть интерфейс программы. Следует отметить, что в нашей практике мы очень часто сталкиваемся с людьми, которые только начинают осваивать компьютер. Это может быть обычный диспетчер, может быть и начальник транспортного цеха или главный механик, обладающий огромным опытом в области работы автотранспорта, но совершенно не умеющий обращаться с программным обеспечением. Один из таких руководителей мне как-то сказал: “Компьютеры – это смесь науки и шарлатанства”. Ему было очень тяжело понять логику работы с компьютером.


Рис. 3. Пример интерфейса программы. Окно для ввода данных


Следовательно, успех от внедрения программы в огромной степени зависит от того, насколько с ней будет удобно работать пользователям. Известно, что пользователь не любит делать лишних движений. Часто бывает, что у него на это просто нет времени. Например, при выпуске машин на линию одному диспетчеру необходимо выписать путевые листы для 50 автомобилей за 30 минут. Если этому диспетчеру при выписке только одного путевого листа приходится открывать несколько окон, вкладок, нажимать не одну кнопку, а несколько, то он вряд ли уложится в приемлемое время. Бывает, что потенциальный заказчик с секундомером засекает время, за которое выписывается путевой лист.

Кроме того, большое количество людей просто не любят работать с компьютером и делают это лишь в силу производственной необходимости. Один главный механик мне как-то сказал, что ему проще на морозе двигатель разобрать, чем сидеть и стучать по клавишам, глядя в экран монитора. Кстати, на семинарах зарубежные эксперты рассказывали, что на Западе, где автоматизация делопроизводства началась гораздо раньше, до 80 % пользователей не любят работать с компьютером. Поэтому западные разработчики информационных систем в условиях жесткой конкуренции и борьбы за потребителя стараются создавать наиболее комфортные для пользователя интерфейсы программ. К сожалению, в нашей стране широко известные фирмы – производители бухгалтерских и других деловых программ как будто намеренно перегружают окна различными кнопками, вкладками и проч. Возможно, это связано с желанием, чтобы пользователи проходили обучение по работе с программой за дополнительные деньги. Таким образом, сама стоимость программы может быть относительно невелика, а услуги по ее настройке, обучению персонала и последующей технической поддержке могут составлять внушительную сумму.

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


Рис. 4. Закрепление водителей за автомобилями


Конечно, разработчику программы приходится искать разумный компромисс между функциональностью программы и комфортом пользователя. Иногда бывает необходимо в одном окне разместить очень много информации. Например, путевой лист содержит данные об организации, водителях, автомобиле, движении горючего, плановом задании и проч. Все эти ячейки должны быть перед глазами диспетчера, в то же время не перегружая его внимание. При этом очень важным является то, чтобы диспетчер делал минимальное количество манипуляций при работе с эти окном.

Идеальным вариантом было бы перед приобретением информационной системы ознакомиться с демо-версией. Презентации и видеоролики все-таки не дают почувствовать, насколько удобно или неудобно, быстро или небыстро, результативно или нет для пользователя будет работать с программой.