АРМ диспетчера автотранспортного предприятия
Курсовая работа, 13 Июня 2012, автор: пользователь скрыл имя
Краткое описание
Темой данного курсового проекта является разработка программного обеспечения «АРМ диспетчера автотранспортного предприятия». Данное программное обеспечение осуществляет добавление, удаление а также редактирование справочных таблиц. Для проектирования программного продукта использовалась объектно-ориентированная среда программирования Borland Delphi 7.0 – в ней были созданы все формы, составляющие интерфейс, и модули, содержащие код основных функций, выполняемых программой.
Содержание работы
Введение 6
1 Анализ технического задания 8
1.1 Общие положения 8
1.2 Требования к составу выполняемых функций 8
1.3 Требования к надежности системы 10
1.4 Исходные данные 10
2 Выбор и обоснование архитектуры системы 11
3 Выбор и обоснование алгоритма программы 13
3.1 Нормальные формы отношений 13
3.2 Выбор и обоснование компонентов 15
3.3 Создание таблиц базы данных 16
3.4 Оформление отчетов 19
4 Описание программы 20
4.1 Общее описание 20
4.2 Инструкция по установке 20
4.2.1 Комплект поставки 20
4.2.2 Минимальные требования 20
4.3 Состав программного продукта 20
4. 4 Описание процедур и функций программы 21
5 Описание пользовательского интерфейса 28
6 Описание средств защиты данных и программ 33
7 Описание тестового примера и отчетной документации, протокол тестирования программ 35
7.1 Отчетная документация 35
7.2 Описание тестового примера 35
7.3 Протокол тестирования программ 35
Заключение 39
Список используемой литературы 40
Приложение А (обязательное) 41
Содержимое работы - 1 файл
ПЗ.docx
— 422.78 Кб (Скачать файл)
3.1.3 Третья нормальная форма (3НФ)
Отношение БД находится в третьей нормальной форме тогда и только тогда, когда отношение находится во 2НФ и все неключевые атрибуты
взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого. В нашем отношении 3НФ выгляди следующим образом:
- Груз (Идентификатор груза, Рейс, Груз, Компания, Пробег, Цена за 1 км, Доход);
- Прохождение ТО (Идентификатор авто, Регистрационный знак, Дата прохождения ТО, Ответственный за ТО);
- Рейсы (Идентификатор рейса, Рейс, Дата отправления, Дата прибытия, Номер рейса);
- Сотрудники (Идентификатор сотрудника, Номер сотрудника, ФИО сотрудника, Дата рождения, Дата приема на работу);
- Транспорт (Идентификатор авто, Марка авто, Дата выпуска, Цвет, Идентификационный номер, Регистрационный знак);
- Зарплата (Идентификатор должности, Должность, Оклад);
- Путевой лист (Идентификатор путевого листа, Идентификатор сотрудника, Идентификатор авто, Идентификатор рейса, Идентификатор Груза, Дата, Показания спидометра при выезде, Показания спидометра при прибытии).
Таким образом, все обнаруженные ошибки обновления устранены. Реляционная модель, состоящая из семи отношений, находящихся в третьей нормальной форме, является адекватной для описанной модели предметной области.
3.2 Выбор и обоснование компонентов
Для разработки программного обеспечения клиентской части автоматизированной системы необходимо использовать различные компоненты среды программирования Borland Delphi 7. Наиболее важными и необходимыми для рассмотрения являются компоненты InterBase. Палитра компонентов представлена на рисунке 1.
Рисунок 1 - Палитра компонентов InterBase.
Компонент TIBDatabase.
Компонент TIBDatabase предназначен для осуществления соединения с базой данных. Далее представлены его основные свойства:
- DatabaseName - имя сервера и путь к базе данных (или алиас, если поддерживается сервером). Например - localhost, server;
- Params - параметры соединения: имя пользователя, пароль и т.п.
Если воспользоваться
- user_name=SYSDBA;
- password=masterkey;
- lc_ctype=WIN1251.
TIBTransaction - компонент для явной работы с транзакциями.
Клиентская часть InterBase допускает
выполнение любых действий только в
контексте транзакции. Поэтому если
вы смогли получить доступ к данным
без явного вызова IBTransaction.
Компонент IBQuery.
IBQuery - Набор данных Query представлен в Delphi компонентом Query. Особенностью компонента Query является то, что его записи формируются после выполнения SQL-запроса. В отличие от набора данных Table, компонент Query может содержать записи сразу нескольких таблиц.
Данный компонент удобно использовать при работе с удаленными базами данных.. Если не требуется выполнять "редактирование" записей запроса, то IBQuery можно использовать вместо IBDataSet. Или, как замену IBDataSet можно использовать комбинацию IBQuery + IBUpdateSQL.
3.3 Создание таблиц базы данных
Были спроектированы следующие таблицы: Груз, Прохождение ТО, Путевой лист, Рейсы, Сотрудники, Транспорт, Заплата. Они стали основой для БД, весь обмен потоками данных протекает между ними. Для исключения избыточности в некоторые таблицы БД введены поля, являющиеся внешними ключами. Таким образом, получим следующую структуру таблиц:
а) Груз
Название поля |
Описание |
Тип и длина поля |
ID_GRUZA |
Первичный ключ |
INTEGER |
REIS |
Рейс |
VARCHAR(30) |
GRUZ |
Груз |
VARCHAR(30) |
COMPANIA |
Компания |
VARCHAR(30) |
PROBEG |
Пробег |
NUMERIC(10,2) |
PRICE_1KM |
Цена за 1 км |
NUMERIC(10,2) |
DOHOD |
Доход |
NUMERIC(10,2) |
б) Прохождение ТО
Название поля |
Описание |
Тип и длина поля |
ID_AVTO |
Идентификатор авто (внешний ключ) |
INTEGER |
REG_ZNAK |
Регистрационный знак |
VARCHAR(30) |
DATE_PROHOGDENIA_TO |
Дата прохождения ТО |
DATE |
OTVETSTVEN_ZA_TO |
Ответственный за ТО |
VARCHAR(30) |
в) Путевой лист
Название поля |
Описание |
Тип и длина поля |
ID_PUTEV_LIST |
Идентификатор путевого листа |
INTEGER |
ID_SOTRUD |
Идентификатор сотрудника (внешний ключ) |
INTEGER |
ID_AVTO |
Идентификатор авто (внешний ключ) |
INTEGER |
ID_REIS |
Идентификатор рейса (внешний ключ) |
INTEGER |
ID_GRUZA |
Идентификатор груза (внешний ключ) |
INTEGER |
DATE |
Дата |
TIMESTAMP |
POKAZAN_SPID_OUT |
Показания спидометра при выезде |
NUMERIC(15,2) |
POKAZAN_SPID_IN |
Показания спидометра при прибытии |
NUMERIC(15,2) |
г) Рейсы
Название поля |
Описание |
Тип и длина поля |
ID_REIS |
Первичный ключ |
INTEGER |
REIS |
Рейс |
VARCHAR(30) |
DATE_OTPRAV |
Дата отправления |
TIMESTAMP |
DATE_PRIBUTIA |
Дата прибытия |
TIMESTAMP |
NOMER REISA |
Номер рейса |
INTEGER |
д)Сотрудники
Название поля |
Описание |
Тип и длина поля |
ID_SOTRUD |
Первичный ключ |
INTEGER |
NOMER_SOTRUD |
Номер сотрудника |
INTEGER |
FIO_SOTRUD |
ФИО сотрудника |
VARCHAR(30) |
DATE_ROGDENIA |
Дата рождения |
DATE |
DATE_PRIEMA_NA_RABOT |
Дата приема на работу |
DATE |
е) Транспорт
Название поля |
Описание |
Тип и длина поля |
ID_AVTO |
Первичный ключ |
INTEGER |
MARKA_AVTO |
Марка авто |
VARCHAR(30) |
DATE_VIPUSKA |
Дата выпуска |
DATE |
COLOR |
Цвет |
VARCHAR(30) |
IDEN_NOMER |
Идентификационный номер |
VARCHAR(30) |
REG_ZNAK |
Регистрационный знак |
VARCHAR(30) |
ж) Зарплата
Название поля |
Описание |
Тип и длина поля |
ID_DOLGNOSTI |
Идентификатор должности |
INTEGER |
DOLGNOCT |
Должность |
VARCHAR(30) |
OKLAD_RUB |
Оклад |
NUMERIC(15,2) |
Для создания этих таблиц использовалось приложение IBExpert - оболочка, предназначенная для разработки и администрирования баз данных InterBase и Firebird, т.е. реляционная система управления базами данных. В данной работе был использован Firebird.
3.4 Оформление отчетов
Заполненные таблицы, представленные в программе, можно автоматически оформить в отчёт в приложении Microsoft Excel.
Пример оформления отчета:
4 Описание программы
4.1 Общее описание
База данных разработана с использованием сервера Firebird, клиентское приложение разработано в среде Borland Delphi 7. Оно предназначено для создания АРМ диспетчера автотранспортного предприятия. Приложение позволяет работать с записями базы данных, осуществлять. Программа также формирует выходные документы - отчёты.
4.2 Инструкция по установке
4.2.1 Комплект поставки
База данных - сетевая, поэтому на рабочем месте, использующем данное приложение, должен быть установлен сервер – InterBase. В комплект поставки включается исполняемый файл Project1.exe и собственно файл базы данных.
4.2.2 Минимальные требования
Программа запускается под управлением
операционной системы Windows98\ME\2000\NT4\
4.3 Состав программного продукта
Программный продукт содержит исполнительный файл – RIO.exe и следующие модули:
- Form2 - главная форма приложения;
- DataModule1- модуль, содержащий компоненты для работы с БД;
- Unit2 - модуль добавления, редактирования, удаления записей в таблицах, организация поиска, сортировки и создание отчетов по данным таблиц;
- Unit3 - модуль сохранения записи при ее добавлении и редактировании в таблице «Груз»;
- Unit4 - модуль сохранения записи при ее добавлении и редактировании в таблице «Прохождение ТО»;
- Unit5 - модуль сохранения записи при ее добавлении и редактировании в таблице «Путевой лист»;
- Unit6 - модуль сохранения записи при ее добавлении и редактировании в таблице «Рейсы»;
- Unit7 - модуль сохранения записи при ее добавлении и редактировании в таблице «Сотрудники»;
- Unit8 - модуль сохранения записи при ее добавлении и редактировании в таблице «Транспорт»;
- Unit9 - модуль сохранения записи при ее добавлении и редактировании в таблице «Зарплата»;
- Unit10 - модуль, организующий авторизацию БД;
- Unit11 - модуль, организующий окно «О программе»;
- Unit12 – модуль, организующий резервное копирование БД.
4. 4 Описание процедур и функций программы
Коды процедур и функций программы приведены на примере работы с таблицей «Груз».
1.Добавление записи.
procedure TForm2.Button1Click(Sender: TObject);
var
N:integer;
begin
DataModule1.IBTable1.Last;
N:=DataModule1.IBTable1.
DataModule1.IBTable1.Append;
N:=N+1;
DataModule1.IBTable1.
Form3.show;
end;
2.Редактирование записи.
procedure TForm2.Button2Click(Sender: TObject);
begin
DataModule1.IBTable1.Edit;
Form3.show;
end;
3.Удаление записи.
procedure TForm2.Button3Click(Sender: TObject);