BERDAFLEX Software Systems
Главная > Java > История одного проекта

Бег с граблями


История переиздания
Издание 1.0 Январь 2004 Сергей Бердачук

Если вам придется создавать проекты, завязанные на оборудование, то готовьтесь к худшему. Сроки, как и в проектах требующих миграции данных, растут в геометрической прогрессии...

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

  • Автомобили заезжают на стоянку, пройдя предварительную регистрацию;

  • При регистрации примерно рассчитывается время выезда;

  • Водитель оплачивает сборы в расчетно-кассовом центре (РКЦ);

  • Очередность выезда автомобилей отображается на информационном табло;

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

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

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

  • Система должна работать круглосуточно, в режиме реального времени.

Для снижения стоимости сопутствующего программного обеспечения руководством было решено использовать операционную систему Linux и базу данных PostgreSql. Причем изначально планировалось использовать терминальные рабочие места (“пустышки” - компьютеры, не содержащие жестких дисков). Графическая X сессия должна была грузится по сети. Тестовые испытания показывали высокое быстродействие, удобство применения и администрирования данной схемы.

Имея большой опыт работы с Delphi и немного в Java выбор пал в пользу Java, как довольно перспективной среды разработки. Одним из критериев данного выбора стала необходимость реализации графического интерфейса для рабочего места администратора. На Delphi (Kylix) реализация данного модуля могла затянуться. А для Java был пример библиотеки org.tigris.gef. К тому же учитывая мощность современных компьютеров быстродействия последних должно было быть предостаточно.

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

Предварительный этап разработки прошел с хорошими темпами. Оперативно была разработана схема структуры базы данных (которая в дальнейшем практически не изменялась). На базе анализа архитектуры построения графического интерфейса библиотеки org.tigris.gef была разработана собственная библиотека, которая позволяла творить с объектами на экране все что угодно. Соответственно были созданы рабочие макеты всех модулей системы, включая:

  • Место первичной регистрации автомобилей;

  • Дизайнер размещения парковочных площадок;

  • Рабочее место старшего смены;

  • Пункт временного въезда/выезда.

Rambler's Top100 Рейтинг@Mail.ru