Содержание
История переиздания | ||
---|---|---|
Издание 1.0 | Январь 2004 |
Если вам придется создавать проекты, завязанные на оборудование, то готовьтесь к худшему. Сроки, как и в проектах требующих миграции данных, растут в геометрической прогрессии...
Проект начинался как обычно. Как говорится: “нужно еще вчера” и сроки ограничены. С первого взгляда проект простой – нужно организовать автоматизированную стоянку, для упорядочения регистрации автотранспорта. Система должна свести до минимума возможность каких бы то нибыло махинаций с очередью. На первом этапе заказчику представлялась следующая схема работы:
Автомобили заезжают на стоянку, пройдя предварительную регистрацию;
При регистрации примерно рассчитывается время выезда;
Водитель оплачивает сборы в расчетно-кассовом центре (РКЦ);
Очередность выезда автомобилей отображается на информационном табло;
На выезде контролируется очередность и факт оплаты сборов;
Должна быть учтена возможность временного выезда за пределы стоянки, без потери очереди;
На рабочем месте старшего смены должна быть сформирована интерактивная графическая схема парковочной площадки, отражающая различными цветами и символами текущую обстановку. Что позволило бы оперативно реагировать на внештатные ситуации;
Система должна работать круглосуточно, в режиме реального времени.
Для снижения стоимости сопутствующего программного обеспечения руководством было решено использовать операционную систему Linux и базу данных PostgreSql. Причем изначально планировалось использовать терминальные рабочие места (“пустышки” - компьютеры, не содержащие жестких дисков). Графическая X сессия должна была грузится по сети. Тестовые испытания показывали высокое быстродействие, удобство применения и администрирования данной схемы.
Имея большой опыт работы с Delphi и немного в Java выбор пал в пользу Java, как довольно перспективной среды разработки. Одним из критериев данного выбора стала необходимость реализации графического интерфейса для рабочего места администратора. На Delphi (Kylix) реализация данного модуля могла затянуться. А для Java был пример библиотеки org.tigris.gef. К тому же учитывая мощность современных компьютеров быстродействия последних должно было быть предостаточно.
Согласовав техническое задание и определив способы решения поставленной задачи, мы приступили к работе. Для автоматизации идентификации автомобиля было решено использовать штриховое кодирование, как наиболее дешевый и достаточно надежный вариант. Было заказано соответствующее оборудование, но как это обычно бывает, состав оборудования не был согласован с разработчиками. Были заказаны просто сканеры и принтеры по приемлемой цене и характеристикам.
Предварительный этап разработки прошел с хорошими темпами. Оперативно была разработана схема структуры базы данных (которая в дальнейшем практически не изменялась). На базе анализа архитектуры построения графического интерфейса библиотеки org.tigris.gef была разработана собственная библиотека, которая позволяла творить с объектами на экране все что угодно. Соответственно были созданы рабочие макеты всех модулей системы, включая:
Место первичной регистрации автомобилей;
Дизайнер размещения парковочных площадок;
Рабочее место старшего смены;
Пункт временного въезда/выезда.