2.2.5 Этап разработки программы
Первым этапом разработки АИС «Автотранспортное предприятие пассажирского транспорта» является создание нового проекта в среде Embarcadero RAD Studio XE2 Delphi. Создаём новый проект ("File" -> "New" -> “VCL Forms Application-Delphi”) рис. 6.
Первым проектом будет приложение для работы с БД.
Рисунок 6. Создание нового проекта
При первом сохранения проекта задаем его имя, как «АТР».
Созданная форма является главной в проекте и будет использоваться для авторизации пользователей. Сразу же переименовываем форму в «authorization» и задаем заголовок «Авторизация».
Далее на форме authorization добавляются компоненты:
1) UniConnection1, UniTable1, UniDataSource1, UniQuery1 и проводник MySQLUniProvider1, DBEdit1.
2) Edit1, Edit2, Combobox1, Checkbox1.
3) Button1, Button2, BitBtn1.
После проделанных действий интерфейс формы authorization выглядит следующим образом (рисунок 7).
Компоненты, видимые пользователю располагаем на GroupBox1, остальное скрываем, чтобы пользователь не смог поменять в них системные значения.
Рисунок 7. Интерфейс формы authorization
Следующей созданной формой будет форма main, которая будет являться основной формой для работы с программой.
Создаем новую форму выполнив в среде «File->New->VCL Form-Delphi». Меняем имя на main, а заголовок на АИС «Автотранспортное предприятие» (в процессе работы программы заголовок меняется на имя выбранной таблицы).
Создаем главное меню формы MinMenu1, содержащие разделы: «Файл», «Данные», «Настройка», «Справка», «О программе». Раздел файл содержит кнопки:
N8 «Поиск», по нажатии на которую отображается панель поиска и сортировки данных panel1. Для этой кнопки меню назначено сочетание клавиш «Ctrl+F»
N22 «Печать формы», по нажатии на которую печатается таблица, выведенная в DBGrid1.
N14 «Начало работы», отображает панель «Начало работы» panel2, если она скрыта, если нет, то данная кнопка деактивируется.
N7 «Выйти из учетной записи», закрывает все открытые формы и переходит к форме авторизация. Для этой кнопки меню назначено сочетание клавиш «Ctrl+P»
N1 «Выйти из программы», завершает работу приложения, предварительно спросив подтверждения на выход. Для этой кнопки меню назначено сочетание клавиш «Ctrl+Q»
Раздел меню «Данные» содержит подразделы с названиями таблиц, которые можно открыть как в виде таблиц, так и в виде формы.
Раздел «Настройки» (N9). Открывает форму «Настройки».
Раздел «Справка» (N29) открывает форму «Справка».
Раздел «О программе» (N15) открывает одноименную форму.
Далее создаем панель «Начало работы», которая будет отображаться при первом входе. С её помощью возможно быстро открыть необходимую таблицу БД. На панели Panel2, расположим GroupBox1, на котором будут расположены кнопки Button (5,6,11,13,15,19), каждая из которых отвечает за вывод, указанной в её названии таблицы. Добавляем на GroupBox1 другие GroupBox (2-7), которые будут появляться по наведению на имя таблицы в первом и будут содержать варианты действий (например: открыть таблицу, открыть форму и т.п.).
Далее добавляем DBGrid1, в который будут выводиться выбранная таблица из БД и результаты запросов. Контекстное меню PopupMenu2 привязано к DBGrid1 и содержит пункт «открыть форму», по выбору которого выведенная таблица открывается в режиме формы. Для навигации по данным выведенным в DBGrid1 добавим компонент DBNavigator1, который позволит перемещаться по данным, а также добавлять, удалять и сохранять строки. Создадим кнопку Button4, расположим её над DBNavigator1, которая будет скрывать или отображать DBNavigator1.
Для поиска и сортировки данных БД создадим новую панель Panel1 и расположил на ней компоненты Combobox1 (содержит список таблиц), Combobox2 (содержит список полей таблицы, выбранной в Combobox1), Combobox5 (содержит список полей для сортировки данных), Edit1 (сюда следует вводить данные для поиска), CheckBox1 (скрывает или раскрывает сортировку), Button2 (скрывает панель поиска и сортировки panel1). Поиск осуществляется динамически, по вводу текста в текстовое поле Edit1. Все совпадения выводятся в DBGrid1.
В самом низу формы создадим еще одну панель Panel3. Эта панель будет видима только тогда, когда открыта какая-либо таблица в DBGrid1. Сделаем ее внешний вид вдавленной в форму с помощью свойства «BorderStyle->bsSingle». На этой панели расположим кнопку BitBtn1, по нажатии на которую будет открываться форма, соответствующая таблице, выведенной в DBGrid1.
Общий вид формы main в среде разработки представлен на рисунке 8.
Рисунок 8. Интерфейс главной формы
На четвертом этапе создается форма connect. Данная форма недоступна для пользователя и используется для соединения и работы с базой данных. На нем располагаются компоненты типа UniDAC: UniConnection, UniTable, UniQuery, UniDataSource, которые отвечают за соединение, отправку запросов и хранение выбранных данных. Пары компонентов UniTable и UniDataSource создаются для каждой таблицы БД:
Table_drivers, Source_drivers (для работы с таблицей водители);
Table_buses, Source_buses (для работы с таблицей подвижной состав);
Table_routes, Source_routes (для работы с таблицей маршруты);
Table_busstops, Source_busstops (для работы с таблицей остановки);
Table_bilet, Source_bilet (для работы с таблицей билетно-учетные листы);
Отдельно для разных SQL запросов создаем компоненты UniQuery1 и UniDataSource1.
Данная форма продемонстрирована на рисунке 9.
Все компоненты для работы с БД располагаются только на этой форме (за исключением формы «Авторизация» и «Новый путевой лист»).
Рисунок 9. Форма connect.
На пятом этапе создаётся форма «Регистрация».
На форму добавляются компоненты Edit (1-4), Label (1-9) и Button (1, 2). Данные из компонентов типа Edit отправляются в таблицу users по нажатию кнопки «Регистрация» (Button1), при условии заполнения всех полей, затем поля очищаются и данная форма закрывается. Кнопка «Заполнить образец» (Button2) по нажатию которой текстовые поля заполняются в виде образца. По наведению на label «?» появляется всплывающая подсказка по данному полю. На рисунке 10 изображена данная форма в среде разработки.
Рисунок 10. Форма «Регистрация».
На шестом этапе создаются модули, которые отображают информацию в режиме формы (рисунки 11-15). Алгоритм создания един для всех таких форм:
на новую форму добавляются элементы Label, DBEdit, DBCombobox, Panel с компонентами DBNavigator и Button;
компоненты DBEdit и DBCombobox связываются с необходимым UniDataSource. После связи выбирается необходимое поле таблицы;
DBNavigator связывается с тем же UniDataSource;
Кнопке Button задается название «Режим таблицы». По нажатии на неё форма будет закрываться, а данные с этой формы откроются в виде таблицы на форме main.
Модули форм: bilet_form (Билетно-учетные листы), bus_form (Подвижной состав), driver_form (Водители), route_form, list (Путевые листы).
Рисунок 11. Форма «Билетно-учетные листы».
Рисунок 12. Форма «Подвижной состав».
Рисунок 13. Форма «Водители».
Рисунок 14. Форма «Путевые листы».
Рисунок 15. Форма «Маршруты».
На седьмом этапе создаются формы «Новый путевой лист» и «Новый билетно-учетный лист». Данные формы основываются на межотраслевой типовой форме №6 и Приложения №9 к инструкции о порядке учета всех видов билетов на проезд в автобусах городского и пригородного сообщения соответственно. На форму добавляются компоненты типа Edit, Combobox, Label и Button. Все поля созданы к соответствующим данным в таблице БД. Поля «Всего» подсчитываются автоматически, также автоматически высчитываются норма расхода топлива и пробега, экономия и перерасход топлива в Путевом листе. Значения полей Combobox вытаскиваются из таблицы БД.
По нажатию кнопки «Создать» все введенные данные заносятся в соответствующую таблицу БД, форма отправляется на печать на принтер, а поля очищаются.
По нажатию кнопки «Х» форма закрывается, предварительно выдав сообщения о подтверждении выхода.
На восьмом этапе создается форма «О программе». На форму добавляются компонент GroupBox1, на котором располагаются: Label (1,2,3,4,6). В компоненты Label добавляется информация о программе и разработчике.
На девятом этапе создается форма «Справка». На форме создаются компоненты TreeView1, Panel1 и OleContainer (1-3). В TreeView1 вручную создается иерархия разделов справки. Сами текстовые по каждому разделу хранятся в OleContainer. По умолчанию все компоненты OleContainer невидимы пользователю. По выбору раздела в TreeView1 нужный OleContainer становится видимым.
На десятом этапе создается второй проект – «Навигация». С помощью этого проекта будет осуществляться контроль ПС на линии. Создаются два проекта: клиентская часть и серверная часть (рисунок 16).
Рисунок 16. Проекты в рабочей группе.
Создание формы osn серверной части (рисунок 17). На форму добавляются компоненты: Memo1, GroupBox1, на котором расположен ListBox1, GroupBox2, MainMenu1; компоненты для работы с БД: UniConnection1, UniDataSource1, UniQuery1 и проводник MySQLUniProvider1; компоненты для работы по сети: IdTCPServer1, IdAntiFreeze1; Button1 «Скрыть блок», Label (1-4).
Button1, GroupBox1 и GroupBox1 делаем невидимыми пользователю. Они будут отображаться по выбору в меню «Подвижной состав->На линии».
Рисунок 17. Главная форма серверной части.
На этом этапе наполняем клиентскую часть (рисунок 18). Создаем форму «авторизация», для проверки личности водителя. На форму добавляем Edit1 (для ввода логина), Edit2 (для ввода пароля), Button1 (для входа в программу).
Рисунок 18. Авторизация на клиентской части.
Создаём основную форму на клиентской части (рисунок 19). Добавляем ListBox1, MainMenu1, GroupBox1, GroupBox2 и Button (1-6). MainMenu1 наполняем разделами: «Выход на маршрут» и «Выйти».
Рисунок 19. Основная форма клиентской части.
Создаем форму «Выход на маршрут» (рисунок 20). На форму добавляем GroupBox1, на котором располагаем Button1, ComboBox (1-3). В GroupBox1 будет выводиться список бортовых номеров. В GroupBox2 – список маршрутов, GroupBox3 список направлений. По нажатии кнопки Button1 «Поехали», данные отправляются на сервер и форма закрывается.
Рисунок 20. Форма «Выход на маршрут».
- Оглавление
- Глава 1 Постановка задачи. 7
- Глава 2 Основная часть 12
- Глава 3 Экономическая часть 55
- Глава 4 Техника безопасности 65
- Введение
- 1.2.1 Требования к функциональным характеристикам
- 1.2.2 Требования к надежности
- 1.2.3 Условия эксплуатации
- 1.2.4 Требования к составу и параметрам технических средств
- 1.2.5 Требования к информационной и программной совместимости
- 1.2.6 Технико-экономические показатели
- 1.2.7 Стадии и этапы разработки
- 1.2.8 Порядок контроля приемки
- 1.2.9 Выбор языка программирования
- Глава 2 Основная часть
- 2.1 Описание программы
- 2.1.1 Общие сведения
- 2.1.2 Функциональное назначение
- 2.1.3 Описание логической структуры
- 2.1.4 Используемые технические средства
- 2.1.5 Входные данные
- 2.1.6 Выходные данные
- Условия применения
- 2.2 Руководство системного программиста
- 2.2.1 Общие сведения о программе
- 2.2.2 Используемые программные средства.
- 2.2.3 Структура программы
- 2.2.4 Структура таблиц базы данных предприятия
- 2.2.5 Этап разработки программы
- 2.2.6 Настройка программы
- 2.2.7 Проверка программы
- 2.2.7.1 Общие сведения о тестировании
- 2.2.7.2 Виды тестирования
- 2.2.7.3 Методы тестирования
- 2.2.7.4 Принципы тестирования
- 2.3.4 Сообщения оператору
- Глава 3 Экономическая часть
- Расчет времени на создание программного продукта
- Расчет годового фонда заработной платы исполнителя по созданию программного продукта
- Расчет начислений на заработную плату
- Расчет расходов на содержание и эксплуатацию пэвм
- Расчет себестоимости программного продукта
- Расчет цены программного продукта
- Расчет экономической эффективности
- Глава 4 Техника безопасности
- 4.1. Основы техники безопасности при работе с эвм
- 4.2. Выводы по технике безопасности
- Заключение
- Список используемой литературы
- Приложение. Код программы