Автор работы: Пользователь скрыл имя, 20 Мая 2013 в 00:11, курсовая работа
Целью курсовой работы является разработка информационной системы «Туристический клуб», содержащей информацию о походах, тренировках, а также данные об инструкторах и туристах. Исходными данными являются таблицы: «Категория», «Маршруты», «Инструкторы», «Туристы», «Маршруты», «Тренировки», «Походы», «Участники».
Главная задача информационный системы состоит в представлении данных о туристах, инструкторах, походах, и другой информации в зависимости от критериев поиска, будь то определённая характеристика искомого объекта, дата тренировки или категория сложности маршрута и тому подобное. Также информационная система предоставляет возможность редактирования, добавления и удаления информации. Таким образом, конечный продукт представляет собой поисковую систему по базе «Туристический клуб» с возможностью редактирования.
Введение 3
1 Анализ предметной области и постановка задачи 4
Описание предметной области 4
Функциональные задачи будущих пользователей 5
Постановка задачи 6
Выбор и обоснование критериев качества продукта 7
2 Разработка программы 9
Разработка структуры программы 9
Разработка алгоритмов обработки информации 14
Разработка форм входных и выходных документов 17
3 Внедрение программного продукта 30
Инструкция по установке программы 30
Инструкция пользователю 31
Заключение 33
Список используемой литературы 34
DataSource13: TDataSource;
ADOQuery8: TADOQuery;
DataSource14: TDataSource;
ADOQuery9: TADOQuery;
DataSource15: TDataSource;
ADOQuery9m_id: TAutoIncField;
ADOQuery9p_otpr: TWideStringField;
ADOQuery9p_naz: TWideStringField;
ADOQuery9dlina: TWideStringField;
ADOQuery9dlit: TIntegerField;
ADOQuery9kategoria: TIntegerField;
ADOQuery9p_id: TAutoIncField;
ADOQuery9id_marsh: TIntegerField;
ADOQuery9p_date: TDateTimeField;
ADOQuery9id_i: TIntegerField;
ADOQuery9i_id: TAutoIncField;
ADOQuery9name: TWideStringField;
ADOQuery9surename: TWideStringField;
ADOQuery9kat: TIntegerField;
ADOTable7: TADOTable;
DataSource16: TDataSource;
ADOQuery10: TADOQuery;
DataSource17: TDataSource;
DataSource18: TDataSource;
ADOQuery11: TADOQuery;
ADOQuery11t_id: TAutoIncField;
ADOQuery11name: TWideStringField;
ADOQuery11surename: TWideStringField;
ADOQuery11kategoria: TIntegerField;
ADOConnection1: TADOConnection;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule2: TDataModule2;
ADOQuery1: TADOQuery;
implementation
{$R *.dfm}
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, ComCtrls,Unit2, Grids, DBGrids,ExtCtrls,
dbcgrids, DB, DBTables;
type
TForm3 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
DBGrid1: TDBGrid;
Button1: TButton;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
Button2: TButton;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
if (ComboBox1.Text='') then
ShowMessage('Данные некорректны!')
else begin
DataModule2.ADOQuery1.SQL.
DataModule2.ADOQuery1.SQL.
Combobox1.text +';' ;
DataModule2.ADOQuery1.Open; end;
end;
procedure TForm3.Button2Click(Sender: TObject);
var x: Integer;
begin
if ((Edit1.Text='')or( not TryStrToInt(Edit1.Text, x))) then
ShowMessage('Данные некорректны!')
else
begin
DataModule2.ADOQuery2.SQL.
DataModule2.ADOQuery2.SQL.
Edit1.Text +';' ;
DataModule2.ADOQuery2.Open;
end;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, unit2, DBCtrls, StdCtrls, Buttons, ComCtrls, Grids, DBGrids,
ExtCtrls;
type
TForm4 = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit1: TEdit;
MonthCalendar1: TMonthCalendar;
Label3: TLabel;
DBGrid1: TDBGrid;
Button1: TButton;
DBNavigator1: TDBNavigator;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
if (Edit1.Text='') then
ShowMessage('Введите название!')
else
begin
DBNavigator1.Visible:=True;
MonthCalendar1.Visible:= False;
Button1.Visible:=False;
label1.Visible:=false;
label2.Visible:=false;
edit1.Visible:=false;
DBGrid1.Visible:=true;
bitbtn1.Visible:=true;
DataModule2.ADOQuery3.SQL.
DataModule2.ADOQuery3.SQL.
' FROM instruktor '+
' WHERE instruktor.i_id '+
' IN (SELECT DISTINCT i_id FROM instruktor WHERE i_id NOT IN '+
' (SELECT id_i FROM pohod WHERE p_date = :d) and i_id NOT IN '+
' (SELECT instruktor FROM trenirovka WHERE t_date = :dat)); ';
DataModule2.ADOQuery3.
DataModule2.ADOQuery3.
DataModule2.ADOQuery3.ExecSQL(
DataModule2.ADOQuery3.open;
end;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
DataModule2.ADOQuery5.Close;
DataModule2.ADOTable5.Insert;
DataModule2.ADOTable5.
DataModule2.ADOTable5.
DataModule2.ADOTable5.
DataModule2.ADOTable5.Post;
DataModule2.ADOQuery5.Close;
DataModule2.ADOQuery5.SQL.
' FROM trenirovka, instruktor '+
' WHERE trenirovka.instruktor=
DataModule2.ADOQuery5.ExecSQL(
DataModule2.ADOQuery5.Active:=
DataModule2.ADOQuery5.open;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,unit2, Grids, DBGrids, DBCtrls, ComCtrls, StdCtrls, ExtCtrls;
type
TForm5 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBLookupListBox1: TDBLookupListBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Button2: TButton;
DBGrid2: TDBGrid;
DBNavigator1: TDBNavigator;
DateTimePicker1: TDateTimePicker;
DBNavigator2: TDBNavigator;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
Button3: TButton;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
var a:string;
begin
if (dblookuplistbox1.KeyValue=
ShowMessage('Выбирите инструктора!')
else
begin
a:= dblookuplistbox1.KeyValue;
DataModule2.ADOQuery6.SQL.
DataModule2.ADOQuery6.SQL.
' trenirovka.name AS [Тренировка], trenirovka.t_date AS [Дата] '+
' From instruktor, trenirovka '+
' Where ((trenirovka.instruktor = instruktor.i_id)and '+
'(instruktor.i_id = '+a+ ')) ;';
DataModule2.ADOQuery6.ExecSQL(
DataModule2.ADOQuery6.open;
end;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
DataModule2.ADOQuery7.SQL.
DataModule2.ADOQuery7.SQL.
' trenirovka.name AS [Тренировка], trenirovka.t_date AS [Дата] '+
' From instruktor, trenirovka '+
' Where (trenirovka.instruktor = instruktor.i_id) and '+
'(trenirovka.t_date= :date);';
DataModule2.ADOQuery7.
DataModule2.ADOQuery7.ExecSQL(
DataModule2.ADOQuery7.open;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
DataModule2.ADOQuery8.SQL.
DataModule2.ADOQuery8.SQL.
' trenirovka.name AS [Тренировка], trenirovka.t_date AS [Дата] '+
' From instruktor, trenirovka '+
' Where (trenirovka.instruktor = instruktor.i_id) and '+
'(trenirovka.t_date BETWEEN (:date) AND (:dat));';
DataModule2.ADOQuery8.
DataModule2.ADOQuery8.
DataModule2.ADOQuery8.ExecSQL(
DataModule2.ADOQuery8.open;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls, StdCtrls,
Buttons;
type
TForm6 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
MonthCalendar1: TMonthCalendar;
DBGrid2: TDBGrid;
Button1: TButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
a,b,c:string;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
Form6.DBGrid2.Visible:=true;
Form6.BitBtn1.Visible:=true;
Button1.Visible:= false;
DBGrid1.Visible:= false;
MonthCalendar1.Visible:= false;
DBNavigator1.Visible:= false;
DataModule2.ADOQuery3.SQL.
DataModule2.ADOQuery3.SQL.
' FROM instruktor '+
' WHERE instruktor.i_id '+
' IN (SELECT DISTINCT i_id FROM instruktor WHERE i_id NOT IN '+
' (SELECT id_i FROM pohod WHERE p_date = :d) and i_id NOT IN '+
' (SELECT instruktor FROM trenirovka WHERE t_date = :dat)) '+
' and kat'+
' BETWEEN (:ka) AND 6 ;';
DataModule2.ADOQuery3.
DataModule2.ADOQuery3.
DataModule2.ADOQuery3.
DataModule2.ADOQuery3.ExecSQL(
DataModule2.ADOQuery3.open;
end;
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
b:= DBGrid2.DataSource.DataSet.
DataModule2.ADOQuery9.Close;
DataModule2.ADOTable6.Insert;
DataModule2.ADOTable6.
DataModule2.ADOTable6.
DataModule2.ADOTable6.
DataModule2.ADOTable6.Post;
DataModule2.ADOQuery9.open;
b:='';
a:='';
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, unit2, Grids, DBGrids, Mask, DBCtrls, ExtCtrls;
type
TForm7 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
GroupBox1: TGroupBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBGrid1: TDBGrid;
Button2: TButton;
Button1: TButton;
DBNavigator1: TDBNavigator;
DBGrid2: TDBGrid;
DBEdit7: TDBEdit;
Label8: TLabel;
DBNavigator2: TDBNavigator;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses Unit1;
R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
var c,b,a:variant;
begin
a:= Form1.DBGrid7.DataSource.
DataModule2.ADOQuery10.SQL.
DataModule2.ADOQuery10.SQL.
' FROM turist, uch '+
' WHERE uch.id_t = turist.t_id AND id_p ='+a+';' ;
DataModule2.ADOQuery10.
DataModule2.ADOQuery10.open;
b:= StrToInt(form7.DBEdit7.
c:= IntToStr(b-1);
DataModule2.ADOQuery11.SQL.
DataModule2.ADOQuery11.SQL.
' FROM turist '+
' WHERE t_id in '+
' (SELECT DISTINCT t_id FROM turist '+
' WHERE t_id NOT IN '+
'(SELECT id_t FROM pohod, uch '+
' WHERE p_date = :dat AND id_p = p_id))' +
' AND kategoria'+
' BETWEEN '+c+' AND 6 ;' ;
DataModule2.ADOQuery11.
DataModule2.ADOQuery11.
DataModule2.ADOQuery11.open;
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
if ( datamodule2.ADOQuery10.active = true)then
begin
DataModule2.ADOQuery10.Close;
DataModule2.ADOTable7.Insert;
DataModule2.ADOTable7.
DataModule2.ADOTable7.Post;
DataModule2.ADOQuery10.Close;
Button1.Click;
end;
end;
procedure TForm7.Button3Click(Sender: TObject);
var a:variant;
begin
if ( datamodule2.ADOQuery10.active = true)then
begin
a:=DBGrid1.DataSource.DataSet.
DataModule2.ADOQuery10.Close;
DataModule2.ADOQuery10.SQL.
DataModule2.ADOQuery10.SQL.
'WHERE id_t = '+a+';';
DataModule2.ADOQuery10.
DataModule2.ADOQuery10.Close;
Button1.Click;
end;
end;
end.