Таблица 2. Водители
наименование атрибута | тип данных | описание |
позывной | числовой | идентификационный номер |
фамилия | текстовый | фамилия водителя |
имя | текстовый | имя водителя |
отчество | текстовый | отчество водителя |
дата рождения | дата/время | дата рождения водителя |
серия паспорта | числовой | серия паспорта водителя |
номер паспорта | числовой | номер паспорта водителя |
кем выдан паспорт | текстовый | УВД выдавшее паспорт |
дата выдачи | дата/время | когда был выдан паспорт |
адрес | текстовый | где фактически проживает водитель |
марка автомобиля | текстовый | марка автомобиля водителя |
номер автомобиля | текстовый | номер регистрации в ГАИ |
цвет | текстовый | Цвет автомобиля водителя |
Таблица 3. Диспетчеры
наименование атрибута | тип данных | описание |
Табельный номер | числовой | идентификационный номер |
фамилия | текстовый | фамилия диспетчера |
имя | текстовый | имя диспетера |
отчество | текстовый | отчество диспетчера |
дата рождения | дата/время | дата рождения диспетчера |
серия паспорта | числовой | серия паспорта диспетчера |
номер паспорта | числовой | номер паспорта диспетчера |
кем выдан паспорт | текстовый | УВД выдавшее паспорт |
дата выдачи | дата/время | когда был выдан паспорт |
адрес | текстовый | где фактически проживает диспетчер |
login | текстовый | ник для входа в программу |
password | текстовый | индивидуальный код для входа в программу |
Таблица "Водители_Смены" необходима для регистрации водителей прибывших на смену, при начале работы диспетчер заносит в эту таблицу водителей прибывших на конкретную смену, из списка всех существующих водителей. Она состоит из четырех атрибутов показанных на таблице 4.
Таблица 4. Водители_смены
наименование атрибута | тип данных | описание |
ID | счетчик | номер смены |
фамилия | текстовый | фамилия водителя прибывшего на смену |
имя | текстовый | имя водителя прибывшего на смену |
позывной | числовой | Идентификационный номер прибывшего на смену водителя |
Атрибуты "Фамилия" и "Имя" не обязательны в данной таблице, потому что есть связь по полю "Позывной", но их наличие позволяет существенно сократить программный код для процедуры принятия заказа.
Данная таблица отображается в нижней части формы "Рабочее место диспетчера" и заполняется диспетчером в начале каждой смены.
Так же содержимое этой таблицы отображается на форме "Новый заказ" для выбора водителя который будет обслуживать заказ, из списка прибывших на смену.
Пользовательский интерфейс режима "Администратор" представлен ниже (Рис.5).
Рис. 5 Интерфейс режима "Администратор"
Основная связь используемая в программе - это связь с базой данных по средствам технологии ADO. Основное преимущество подобной связи в том, что через связь установленную в ADO Connection средствами ADO Query и ADO Table, можно вносить изменения в базу данных, и получать из нее необходимые данные, а так же проводить сравнивания данных и прочие операции. Примером этого является проверка логина и пароля компонентом АDO Query:
В свойстве SQL добавляем строку: S ELECT * FROM admins WHERE Login=: Login, и прописываем код:
If Combobox1. Text='Администратор' then begin
ADOQuery2. Active: =False;
ADOQuery2. Close;
ADOQuery2. Parameters. Items [0]. Value: =Edit1. Text;
ADOQuery2. Open;
if (not ADOQuery2. IsEmpty) and (Edit2. Text=ADOQuery2. FieldByName ('Password'). AsString) then
begin
Form2. show;
Form1. Visible: =False;
end
else
begin
showmessage (Неверный имя пользователя или пароль)
end;
end;
Связь с базой осуществляется при помощи многоступенчатой связи. Многоступенчатая связь с базой технологией ADO выглядит следующим образом:
Компонент ADOConnection устанавливает связь приложения с конкретной базой, адрес которой прописывается в строке Connection String, это первая ступень. К компоненту ADOConnection присоединяются один или несколько компонентов ADOTable и ADOQuery, это зависит от количества атрибутов базы, которые нужно отобразить в приложении с последующим внесением изменений в них. Это компоненты второй ступени. Компонент ADOTable устанавливает связь с конкретной таблицей, подсоединенной базы. Компонент ADOQuery необходим для создания запросов, сравнения данных в двух различных атрибутов одной базы, либо вставка, выборка и другие действия реляционной алгебры. Третьей ступенью являются компоненты из вкладки data Access, в частности Data Source, как более часто используемый при создании приложений. Этот компонент своего рода служит переходником от компонентов второй ступени к компонентам четвертой ступени. Компоненты четвертой системы - это компоненты отображающие содержимое базы на форме приложения. Они выглядят и называются как компоненты находящиеся в вкладке Standart, только с приставной DB, что указывает на их взаимосвязь с базой. Это такие компоненты как: DBEdit, DBGrid и DBCombobox. Помимо отображения содержимого атрибутов базы данных, с их помощью можно вставлять, редактировать, удалять данные из базы. Для этого необходимо компонент ADOTable ввести в состояние Insert или Edit.
Для печати отчетов используется технология работы с Microsoft Word через Delphi. Благодаря установлению этой связи можно импортировать данные из таблиц тестовой базы данных в виде запроса, что и используется при составлении отчетов в режимах "Администратора" и "Диспетчера". Используя свойство RecordCount компонента ADOTable, задаем переменную цикла с параметров и выполняем сравнивание каждой записи с условием, в случае положительного исхода данные импортируются в Word.
Помимо компонентов связи с базой данных использовались компоненты:
Button: Все кнопки выполняющие действия закрытия, занесения данных в базу, переход между формами.
Label: Все надписи, которые служат подсказками или появдляющейся информацией, преимущество - пользователь не может изменить содержание Label.
Main Menu: для создания всплывающего меню вверху окна, выполняет переключения между окнами и дублирует действия некоторых кнопок.
Данная программа предназначена для автоматизации рабочего места диспетчера такси, с целью уменьшить долю ручного труда и количества бумажных документов и наглядно демонстрировать занятость водителей.
Программный продукт " Автоматизированное рабочее место диспетчера такси" выполняет поставленные задачи:
Регистрация новых водителей и диспетчеров в режиме администратора;
печать отчетов по диспетчерам или по конкретному водителю;
Формирование "Чёрного списка" администратором.
В режиме диспетчера при входе на рабочем месте появляется имя и фамилия работающего диспетчера.
Прием заказов
Регистрация водителей прибывших на смену.
Диспетчер не сможет закончить смену пока не напечатает отчет.
Недостатки: Очень большую роль играет "Человеческий фактор" при халатном ведении базы данных заказов и введение неккоректных данных могут забить базу названиями не существующих улиц, именами водителей и диспетчеров типа "ывпрапрваор" и т.д.
1. Тельнов Ю. Т Реинжиниринг бизнес процессов / Москва. "Финансы и Статистика" 2004.
2. Калашян А. Н., Калясов Г. Н Структурное моделирование бизнеса: DFD-технология/ Москва. "Финансы и Статистика" 2001.
3. Фаронов, Delphi 7. Программирование баз данных.
4. Дарахвелидзе П., Марков Е. Программирование в Delphi 7/Санкт-Петербург "БХВ-Петербург 2003;
5. Филонович С.Р., Использование моделей жизненного цикла в организации и диагностике /Москва 2005;
6. Батлер Э., Microsoft Office Access 2007: профессиональное программирование / Вильямс 2009;
7. Кириллов В.В., Громов Г.Ю., Введение в реляционные базы данных /Москва BHV 2009;
8. Автоматизированное рабочее место в системе управления предприятием, Сборник научных трудов, СПб, 2002 г;
9. Гофман В., Хомоненко А., Работа с базами данных в Delphi/ Санкт-Петербург "БХВ-Петербург 2003;
10. Коннолли Т., Бегг К., Базы данных. Проектирование, реализация и сопровождение / Москва, Санкт-Петербург, Киев 2003;
11. Кантарь И.Л. Автоматизированные рабочие места управленческого аппарата, 1990.
12. Рапопорт Э.Я. Структурное моделирование объектов и систем управления. М: финансы и статистика, 2003 г.