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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

begin

Datamodule1.IBTable1.Delete;

end;

 

4.Сохранение записи.

procedure TForm3.Button1Click(Sender: TObject);

var

Probeg,Price,Dohod:real;

begin

Probeg:=StrToFloat(DBEdit6.Text);

Price:=StrToFloat(DBEdit7.Text);

Dohod:=Probeg*Price;

DBEdit8.Text:=FloatToStr(Dohod);

DataModule1.IBTable1.Post; //сохранение записи

close;

end;

 

5.Поиск записей.

Осуществляется двумя  процедурами:

 

1) procedure zapolnenieOTkolonok;

begin

nomer:=form2.PageControl1.ActivePage.TabIndex;

 

//Груз

if nomer =0 then

  begin

  form2.RadioGroup1.Caption:='Груз';

  form2.RadioGroup1.Items.Clear;

  form2.RadioGroup1.Items.Add('Код груза');

  form2.RadioGroup1.Items.Add('Рейс');

  form2.RadioGroup1.Items.Add('Груз');

  form2.RadioGroup1.Items.Add('Компания');

  form2.RadioGroup1.Items.Add('Пробег');

  form2.RadioGroup1.Items.Add('Цена за 1 км');

  form2.RadioGroup1.Items.Add('Доход');

  end;

 

2) procedure TForm2.BitBtn3Click(Sender: TObject);

var

strField:string ;

begin

nomer:=form2.PageControl1.ActivePage.TabIndex;

if edit1.text='' then

begin

messagedlg('Заполните поля  для поиска !',mtError,[mbcancel],0);

end

else

 

//Груз

if nomer=0 then

      begin

      case RadioGroup1.ItemIndex of

         0: strField:='ID_GRUZA';

         1: strField:='REIS';

         2: strField:='GRUZ';

         3: strField:='COMPANIA';

         4: strField:='PROBEG';

         5: strField:='PRICE_1KM';

         6: strField:='DOHOD';

         end;

         datamodule1.IBQuery1.SQL.Clear;

         datamodule1.IBQuery1.SQL.Add('SELECT * FROM GRUZ');

         datamodule1.IBQuery1.SQL.Add('WHERE '+strField+' like ''' +Edit1.Text+'%''');

         datamodule1.IBQuery1.Open;

 

form2.DBGrid8.DataSource:= DataModule1.DataSource8;

 

  form2.DBGrid8.Columns[0].Title.caption:='Код груза';

  form2.DBGrid8.Columns[1].Title.caption:='Рейс';

  form2.DBGrid8.Columns[2].Title.caption:='Груз';

  form2.DBGrid8.Columns[3].Title.caption:='Компания';

  form2.DBGrid8.Columns[4].Title.caption:='Пробег';

  form2.DBGrid8.Columns[5].Title.caption:='Цена за 1 км';

  form2.DBGrid8.Columns[6].Title.caption:='Доход';

end;

 

6.Поиск записей с  сортировкой.

 

procedure TForm2.BitBtn2Click(Sender: TObject);

var

strField:string ;

begin

nomer:=form2.PageControl1.ActivePage.TabIndex;

if edit1.text='' then

begin

messagedlg('Заполните поля  для поиска !',mtError,[mbcancel],0);

end

else

 

//Груз

if nomer=0 then

      begin

      case RadioGroup1.ItemIndex of

         0: strField:='ID_GRUZA';

         1: strField:='REIS';

         2: strField:='GRUZ';

         3: strField:='COMPANIA';

         4: strField:='PROBEG';

         5: strField:='PRICE_1KM';

         6: strField:='DOHOD';

         end;

         datamodule1.IBQuery1.SQL.Clear;

         datamodule1.IBQuery1.SQL.Add('SELECT * FROM GRUZ');

         datamodule1.IBQuery1.SQL.Add('WHERE '+strField+' between ' +Edit1.Text+' and '+Edit2.Text);

         datamodule1.IBQuery1.Open;

 

form2.DBGrid8.DataSource:= DataModule1.DataSource8;

 

  form2.DBGrid8.Columns[0].Title.caption:='Код груза';

  form2.DBGrid8.Columns[1].Title.caption:='Рейс';

  form2.DBGrid8.Columns[2].Title.caption:='Груз';

  form2.DBGrid8.Columns[3].Title.caption:='Компания';

  form2.DBGrid8.Columns[4].Title.caption:='Пробег';

  form2.DBGrid8.Columns[5].Title.caption:='Цена за 1 км';

  form2.DBGrid8.Columns[6].Title.caption:='Доход';

end;

 

Поиск записей по таблице.

Обработка ошибок:

Обработка ошибок осуществляется непосредственно перед  выполнением операции по добавлению или редактированию данных в соответствующих  процедурах.

 

if edit1.text='' then

begin

messagedlg('Заполните поля  для поиска !',mtError,[mbcancel],0);

end.

 

7.Формирование отчетов.

procedure TForm2.N8Click(Sender: TObject);

var

XLApp,Sheet,Colum:Variant;

index,i:Integer;

begin

XLApp:= CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XLApp.Workbooks.Add(-4167);

XLApp.Workbooks[1].WorkSheets[1].Name:='Груз';

Colum:=XLApp.Workbooks[1].WorkSheets['Груз'].Columns;

Colum.Columns[1].ColumnWidth:=20;

Colum.Columns[2].ColumnWidth:=20;

Colum.Columns[3].ColumnWidth:=20;

Colum.Columns[4].ColumnWidth:=20;

Colum.Columns[5].ColumnWidth:=20;

Colum.Columns[6].ColumnWidth:=20;

Colum.Columns[7].ColumnWidth:=20;

Colum:=XLApp.Workbooks[1].WorkSheets['Груз'].Rows;

Colum.Rows[2].Font.Bold:=true;

Colum.Rows[1].Font.Bold:=true;

Colum.Rows[1].Font.Color:=clBlue;

Colum.Rows[1].Font.Size:=14;

Sheet:=XLApp.Workbooks[1].WorkSheets['Груз'];

Sheet.Cells[1,2]:='Отчет по грузам';

Sheet.Cells[2,1]:='Код груза';

Sheet.Cells[2,2]:='Рейс';

Sheet.Cells[2,3]:='Груз';

Sheet.Cells[2,4]:='Компания';

Sheet.Cells[2,5]:='Пробег';

Sheet.Cells[2,6]:='Цена за 1 км';

Sheet.Cells[2,7]:='Доход';

index:=3;

DataModule1.IBTable1.First;

for i:=0 to DataModule1.IBTable1.RecordCount-1 do

begin

Sheet.Cells[index,1]:=DataModule1.IBTable1.Fields.Fields[0].AsString;

Sheet.Cells[index,2]:=DataModule1.IBTable1.Fields.Fields[1].AsString;

Sheet.Cells[index,3]:=DataModule1.IBTable1.Fields.Fields[2].AsString;

Sheet.Cells[index,4]:=DataModule1.IBTable1.Fields.Fields[3].AsString;

Sheet.Cells[index,5]:=DataModule1.IBTable1.Fields.Fields[4].AsString;

Sheet.Cells[index,6]:=DataModule1.IBTable1.Fields.Fields[5].AsString;

Sheet.Cells[index,7]:=DataModule1.IBTable1.Fields.Fields[6].AsString;

Inc(index);

DataModule1.IBTable1.Next;

end;

end;

 

8.Модуль  по созданию резервного копирования  БД.

unit Unit12;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Spin, StdCtrls, Buttons;

 

type

  TForm12 = class(TForm)

    Edit1: TEdit;

    Label1: TLabel;

    BitBtn1: TBitBtn;

    Label2: TLabel;

    SaveDialog1: TSaveDialog;

    SpinEdit1: TSpinEdit;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form12: TForm12;

 

implementation

 

uses Unit2;

 

{$R *.dfm}

 

procedure TForm12.BitBtn1Click(Sender: TObject);

begin

SaveDialog1.FileName:='Project1.exe';

if not SaveDialog1.Execute then exit;

Edit1.Text:=savedialog1.FileName;

end;

 

procedure TForm12.BitBtn2Click(Sender: TObject);

begin

Form2.Timer1.Interval:= SpinEdit1.Value*3600;

CopyFile(PAnsiChar(SaveDialog1.FileName),'D:\Мои документы\Документы-институт\СУБД\Курсовая работа\Программа\AVTOTRANSPORT.FDB', true);

Form12.Close;

end;

 

procedure TForm12.BitBtn3Click(Sender: TObject);

begin

Form12.ModalResult:=clnone;

end;

 

end.

 

 

5 Описание пользовательского интерфейса

Пользовательский  интерфейс должен быть гармоничен и  понятен пользователю.

Пользовательский  интерфейс разработанной системы  следует рассматривать по следующему плану:

    1. Пользовательское меню
    2. Кнопки быстрого доступа
    3. Главное окно приложения
  1. Пользовательское меню представлено основными пунктами: «Файл», «Поиск», «Отчеты», «Справка». Для наглядности представления пользовательского меню рассмотрим ее структурную схему:

Схема 1. Пользовательское меню.

 





 


 


 


 


 

 

 

 

 

Раздел «Файл» имеет две вкладки:

1) «Резервное  копирование БД» - для создания  резервной копии БД;

2)  «Выход»  - Выход из программы.

Рисунок 2 –  Главная форма проекта

Раздел  «Поиск» позволяет включить либо выключить поиск записей по таблицам.

При нажатии  кнопок «Добавить» и «Редактировать»  осуществляется добавление и редактирование записей текущей таблицы (Рисунок 3).

 

Рисунок 3 – Добавление, редактирование записей в таблице.

 

Для поиска записей по таблицам необходимо:

1.Выбрать  нужную таблицу;

2.Включить  поиск (или через главное меню, или в верхнем правом углу  главной формы программы);

3.Отметить  поле, по которому будет осуществляться  поиск;

4.Ниже заполнить  строку информацией, которую необходимо  найти;

5.Выполнить  поиск (кнопка «Поиск», Рисунок  4).

Рисунок 4 – Поиск записей по таблицам.

 

Раздел «Отчеты» позволяет формировать отчеты необходимых  таблиц в программе «Microsoft Office Excel».

 

Рисунок 5 –  Создание отчетов.

 

 

Меню «Справка»  содержит два подпункта: «Help» и «О программе». При нажатии кнопки «Help» или комбинацию F1 появляется окно справки, в котором представлена инструкция работы с приложением. При нажатии на кнопку  «О программе» загружается окно, в котором описывается о создателе программы.

 

6 Описание средств защиты данных  и программ

Основные требования по безопасности данных, предъявляемые к базам данных и системам управления базами данных, во многом совпадают с требованиями, предъявляемыми к безопасности данных в компьютерных системах – контроль доступа,  проверка целостности, протоколирование и т.д.

Средства  защиты данных и программ включают следующие пункты:

    • Резервное копирование. Резервное копирование осуществляется на сервере базы данных в определенное время, когда пользователь решит сделать резервную копию.

Необходимо выбрать «Файл –  Резервное копирование БД».

Рисунок 7 – Резервное копирование  БД.

 

    • Средства идентификации пользователя (имя пользователя, пароль). Каждый сервер Firebird имеет пользователя SYSDBA с административными полномочиями. Пароль по умолчанию - masterkey. Сначала это единственный авторизованный пользователь на сервере.

В разработанном  приложении для начала работы необходимо ввести следующие параметры подключения  к базе данных – путь к базе данных, имя пользователя, пароль.

Рисунок 8 - Окно подключения к базе данных

 

7 Описание тестового примера и  отчетной документации, протокол  тестирования программ

7.1 Отчетная документация

Разработанное клиентское приложение формирует отчёты об информации, содержащейся в базе данных. Этой информацией являются данные о рейсах, грузах и путевых листах.

7.2 Описание тестового примера

Тестовый  пример представляет собой совокупность собранных  данных. Эти данные заносятся в базу данных, определенным образом упорядочиваются, структурируются.

Тестовый  пример помимо правильных, необходимых  данных включает неправильные данные - данные, которые программа не должная принять, определенным образом отреагировать на попытку ввода их в базу. Под неправильными данными понимаются - данные, не соответствующие типу поля, в который осуществляется ввод; данные, являющиеся параметрами осуществляемых процессов над базой данных (поиск), но в действительности, не содержащиеся в базе данных.

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