АРМ диспетчера автотранспортного предприятия

Автор работы: Пользователь скрыл имя, 13 Июня 2012 в 19:45, курсовая работа

Краткое описание

Темой данного курсового проекта является разработка программного обеспечения «АРМ диспетчера автотранспортного предприятия». Данное программное обеспечение осуществляет добавление, удаление а также редактирование справочных таблиц. Для проектирования программного продукта использовалась объектно-ориентированная среда программирования 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 - параметры соединения: имя  пользователя, пароль и т.п. 

Если воспользоваться редактором свойств TIBDatabase (двойной клик на компоненте), то упомянутые свойства будут заполнены  автоматически. Например, для базы данных, созданной с default character set win1251 параметры  будут такими:

- user_name=SYSDBA;

- password=masterkey;

- lc_ctype=WIN1251.

TIBTransaction - компонент для явной  работы с транзакциями.

Клиентская часть InterBase допускает  выполнение любых действий только в  контексте транзакции. Поэтому если вы смогли получить доступ к данным без явного вызова IBTransaction.StartTransaction, это значит, что  где-то в недрах IBX этот вызов произошел автоматически. Такое поведение крайне не рекомендуется  использовать. Для корректной работы приложений с базой данных желательно управлять транзакциями вручную, то есть явно вызывать методы StartTransaction, Commit и Rollback компонента TIBTransaction .

Компонент 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\XP\Vista\7. Для её работы требуется от 4 Мбайт свободной оперативной памяти.

 

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.FieldByName('ID_GRUZA').AsInteger;

DataModule1.IBTable1.Append;

N:=N+1;

DataModule1.IBTable1.FieldByName('ID_GRUZA').AsInteger:=N;

Form3.show;

end;

 

2.Редактирование записи.

procedure TForm2.Button2Click(Sender: TObject);

begin

DataModule1.IBTable1.Edit;

Form3.show;

end;

3.Удаление записи.

procedure TForm2.Button3Click(Sender: TObject);

Информация о работе АРМ диспетчера автотранспортного предприятия