Автор работы: Пользователь скрыл имя, 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
begin
Datamodule1.IBTable1.Delete;
end;
4.Сохранение записи.
procedure TForm3.Button1Click(Sender: TObject);
var
Probeg,Price,Dohod:real;
begin
Probeg:=StrToFloat(DBEdit6.
Price:=StrToFloat(DBEdit7.
Dohod:=Probeg*Price;
DBEdit8.Text:=FloatToStr(
DataModule1.IBTable1.Post; //сохранение записи
close;
end;
5.Поиск записей.
Осуществляется двумя процедурами:
1) procedure zapolnenieOTkolonok;
begin
nomer:=form2.PageControl1.
//Груз
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('
form2.RadioGroup1.Items.Add('
end;
2) procedure TForm2.BitBtn3Click(Sender: TObject);
var
strField:string ;
begin
nomer:=form2.PageControl1.
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.
datamodule1.IBQuery1.SQL.Add('
datamodule1.IBQuery1.SQL.Add('
datamodule1.IBQuery1.Open;
form2.DBGrid8.DataSource:= DataModule1.DataSource8;
form2.DBGrid8.Columns[0].
form2.DBGrid8.Columns[1].
form2.DBGrid8.Columns[2].
form2.DBGrid8.Columns[3].
form2.DBGrid8.Columns[4].
form2.DBGrid8.Columns[5].
form2.DBGrid8.Columns[6].
end;
6.Поиск записей с сортировкой.
procedure TForm2.BitBtn2Click(Sender: TObject);
var
strField:string ;
begin
nomer:=form2.PageControl1.
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.
datamodule1.IBQuery1.SQL.Add('
datamodule1.IBQuery1.SQL.Add('
datamodule1.IBQuery1.Open;
form2.DBGrid8.DataSource:= DataModule1.DataSource8;
form2.DBGrid8.Columns[0].
form2.DBGrid8.Columns[1].
form2.DBGrid8.Columns[2].
form2.DBGrid8.Columns[3].
form2.DBGrid8.Columns[4].
form2.DBGrid8.Columns[5].
form2.DBGrid8.Columns[6].
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.
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[
Colum:=XLApp.Workbooks[1].
Colum.Columns[1].ColumnWidth:=
Colum.Columns[2].ColumnWidth:=
Colum.Columns[3].ColumnWidth:=
Colum.Columns[4].ColumnWidth:=
Colum.Columns[5].ColumnWidth:=
Colum.Columns[6].ColumnWidth:=
Colum.Columns[7].ColumnWidth:=
Colum:=XLApp.Workbooks[1].
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=
Colum.Rows[1].Font.Size:=14;
Sheet:=XLApp.Workbooks[1].
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.
begin
Sheet.Cells[index,1]:=
Sheet.Cells[index,2]:=
Sheet.Cells[index,3]:=
Sheet.Cells[index,4]:=
Sheet.Cells[index,5]:=
Sheet.Cells[index,6]:=
Sheet.Cells[index,7]:=
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:='
if not SaveDialog1.Execute then exit;
Edit1.Text:=savedialog1.
end;
procedure TForm12.BitBtn2Click(Sender: TObject);
begin
Form2.Timer1.Interval:= SpinEdit1.Value*3600;
CopyFile(PAnsiChar(
Form12.Close;
end;
procedure TForm12.BitBtn3Click(Sender: TObject);
begin
Form12.ModalResult:=clnone;
end;
end.
Пользовательский интерфейс должен быть гармоничен и понятен пользователю.
Пользовательский
интерфейс разработанной
Схема 1. Пользовательское меню.
Раздел «Файл» имеет две вкладки:
1) «Резервное копирование БД» - для создания резервной копии БД;
2) «Выход» - Выход из программы.
Рисунок 2 – Главная форма проекта
Раздел «Поиск» позволяет включить либо выключить поиск записей по таблицам.
При нажатии кнопок «Добавить» и «Редактировать» осуществляется добавление и редактирование записей текущей таблицы (Рисунок 3).
Рисунок 3 – Добавление, редактирование записей в таблице.
Для поиска записей по таблицам необходимо:
1.Выбрать нужную таблицу;
2.Включить поиск (или через главное меню, или в верхнем правом углу главной формы программы);
3.Отметить
поле, по которому будет
4.Ниже заполнить
строку информацией, которую
5.Выполнить
поиск (кнопка «Поиск»,
Рисунок 4 – Поиск записей по таблицам.
Раздел «Отчеты» позволяет формировать отчеты необходимых таблиц в программе «Microsoft Office Excel».
Рисунок 5 – Создание отчетов.
Меню «Справка» содержит два подпункта: «Help» и «О программе». При нажатии кнопки «Help» или комбинацию F1 появляется окно справки, в котором представлена инструкция работы с приложением. При нажатии на кнопку «О программе» загружается окно, в котором описывается о создателе программы.
Основные требования по безопасности данных, предъявляемые к базам данных и системам управления базами данных, во многом совпадают с требованиями, предъявляемыми к безопасности данных в компьютерных системах – контроль доступа, проверка целостности, протоколирование и т.д.
Средства защиты данных и программ включают следующие пункты:
Необходимо выбрать «Файл – Резервное копирование БД».
Рисунок 7 – Резервное копирование БД.
В разработанном
приложении для начала работы необходимо
ввести следующие параметры
Рисунок 8 - Окно подключения к базе данных
7.1 Отчетная документация
Разработанное клиентское приложение формирует отчёты об информации, содержащейся в базе данных. Этой информацией являются данные о рейсах, грузах и путевых листах.
7.2 Описание тестового примера
Тестовый пример представляет собой совокупность собранных данных. Эти данные заносятся в базу данных, определенным образом упорядочиваются, структурируются.
Тестовый пример помимо правильных, необходимых данных включает неправильные данные - данные, которые программа не должная принять, определенным образом отреагировать на попытку ввода их в базу. Под неправильными данными понимаются - данные, не соответствующие типу поля, в который осуществляется ввод; данные, являющиеся параметрами осуществляемых процессов над базой данных (поиск), но в действительности, не содержащиеся в базе данных.
Информация о работе АРМ диспетчера автотранспортного предприятия