Внедрение программного продукта

Автор работы: Пользователь скрыл имя, 20 Мая 2013 в 00:11, курсовая работа

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

Целью курсовой работы является разработка информационной системы «Туристический клуб», содержащей информацию о походах, тренировках, а также данные об инструкторах и туристах. Исходными данными являются таблицы: «Категория», «Маршруты», «Инструкторы», «Туристы», «Маршруты», «Тренировки», «Походы», «Участники».
Главная задача информационный системы состоит в представлении данных о туристах, инструкторах, походах, и другой информации в зависимости от критериев поиска, будь то определённая характеристика искомого объекта, дата тренировки или категория сложности маршрута и тому подобное. Также информационная система предоставляет возможность редактирования, добавления и удаления информации. Таким образом, конечный продукт представляет собой поисковую систему по базе «Туристический клуб» с возможностью редактирования.

Содержание

Введение 3
1 Анализ предметной области и постановка задачи 4
Описание предметной области 4
Функциональные задачи будущих пользователей 5
Постановка задачи 6
Выбор и обоснование критериев качества продукта 7
2 Разработка программы 9
Разработка структуры программы 9
Разработка алгоритмов обработки информации 14
Разработка форм входных и выходных документов 17
3 Внедрение программного продукта 30
Инструкция по установке программы 30
Инструкция пользователю 31
Заключение 33
Список используемой литературы 34

Прикрепленные файлы: 1 файл

тур. клуб.docx

— 623.85 Кб (Скачать документ)

    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.Clear;

   DataModule2.ADOQuery1.SQL.Text:='SELECT * From marshrut Where kategoria = '+

     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.Clear;

   DataModule2.ADOQuery2.SQL.Text:='SELECT * From marshrut Where dlit = '+

     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.Clear;

   DataModule2.ADOQuery3.SQL.Text:='SELECT *'+

    ' 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.Parameters.ParamByName('d').Value := DateToStr(MonthCalendar1.Date);

   DataModule2.ADOQuery3.Parameters.ParamByName('dat').Value := DateToStr(MonthCalendar1.Date);

   DataModule2.ADOQuery3.ExecSQL();

   DataModule2.ADOQuery3.open;

   end;

end;

 

procedure TForm4.BitBtn1Click(Sender: TObject);

begin 

DataModule2.ADOQuery5.Close;

DataModule2.ADOTable5.Insert;

DataModule2.ADOTable5.FieldByName('instruktor').AsInteger:= DBGrid1.DataSource.DataSet.FieldByName('i_id').AsInteger;;

DataModule2.ADOTable5.FieldByName('name').AsString:= Edit1.Text;

DataModule2.ADOTable5.FieldByName('t_date').AsDateTime := MonthCalendar1.Date;

DataModule2.ADOTable5.Post;

DataModule2.ADOQuery5.Close;

DataModule2.ADOQuery5.SQL.Text:='SELECT trenirovka.*, instruktor.* '+

' FROM trenirovka, instruktor '+

' WHERE trenirovka.instruktor=instruktor.i_id ORDER BY t_date;';

DataModule2.ADOQuery5.ExecSQL();

DataModule2.ADOQuery5.Active:=False;

 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=null) then

  ShowMessage('Выбирите инструктора!')

  else

  begin

    a:= dblookuplistbox1.KeyValue;

    DataModule2.ADOQuery6.SQL.Clear;

    DataModule2.ADOQuery6.SQL.Text:='SELECT instruktor.surename AS [Фамилия] ,'+

    ' 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.Clear;

    DataModule2.ADOQuery7.SQL.Text:='SELECT instruktor.surename AS [Фамилия], '+

    ' trenirovka.name AS [Тренировка], trenirovka.t_date AS [Дата] '+

    ' From instruktor, trenirovka '+

    ' Where (trenirovka.instruktor = instruktor.i_id) and '+

    '(trenirovka.t_date= :date);';

    DataModule2.ADOQuery7.Parameters.ParamByName('date').Value:=DateToStr(form5.DateTimePicker1.Date);

    DataModule2.ADOQuery7.ExecSQL();

    DataModule2.ADOQuery7.open;

end;

 

procedure TForm5.Button3Click(Sender: TObject);

begin

    DataModule2.ADOQuery8.SQL.Clear;

    DataModule2.ADOQuery8.SQL.Text:='SELECT instruktor.surename AS [Фамилия], '+

    ' 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.Parameters.ParamByName('date').Value:=DateToStr(form5.DateTimePicker2.Date);

    DataModule2.ADOQuery8.Parameters.ParamByName('dat').Value:=DateToStr(form5.DateTimePicker3.Date);

    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.Clear;

  DataModule2.ADOQuery3.SQL.Text:='SELECT *'+

    ' 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.Parameters.ParamByName('d').Value := DateToStr(MonthCalendar1.Date);

   DataModule2.ADOQuery3.Parameters.ParamByName('dat').Value := DateToStr(MonthCalendar1.Date);

   DataModule2.ADOQuery3.Parameters.ParamByName('ka').Value := DBGrid1.DataSource.DataSet.FieldByName('kat').Text;

   DataModule2.ADOQuery3.ExecSQL();

   DataModule2.ADOQuery3.open;


end;

 

procedure TForm6.BitBtn1Click(Sender: TObject);

begin

    b:= DBGrid2.DataSource.DataSet.FieldByName('i_id').text;

    DataModule2.ADOQuery9.Close;

    DataModule2.ADOTable6.Insert;

    DataModule2.ADOTable6.FieldByName('id_marsh').AsString:=        DataModule2.ADOTable2.FieldByName('m_id').AsString;

    DataModule2.ADOTable6.FieldByName('id_i').AsString:= b;

    DataModule2.ADOTable6.FieldByName('p_date').AsDateTime := MonthCalendar1.Date;

    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.DataSet.FieldByName('p_id').text;

    DataModule2.ADOQuery10.SQL.Clear;

    DataModule2.ADOQuery10.SQL.Text:='SELECT turist.*, uch.* '+

    ' FROM turist, uch '+

    ' WHERE uch.id_t = turist.t_id AND id_p ='+a+';' ;

    DataModule2.ADOQuery10.ExecSQL();

    DataModule2.ADOQuery10.open;

    b:= StrToInt(form7.DBEdit7.EditText);

    c:= IntToStr(b-1);

    DataModule2.ADOQuery11.SQL.Clear;

    DataModule2.ADOQuery11.SQL.Text:='SELECT *'+

    ' 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.Parameters.ParamByName('dat').Value := DBEdit1.Field.Text;

   DataModule2.ADOQuery11.ExecSQL();

   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.FieldByName('id_p').Value:=form1.DBGrid7.DataSource.DataSet.FieldByName('p_id').value; ;

   DataModule2.ADOTable7.FieldByName('id_t').Value:=DBGrid2.DataSource.DataSet.FieldByName('t_id').value;

    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.FieldByName('t_id').text;

     DataModule2.ADOQuery10.Close;

     DataModule2.ADOQuery10.SQL.Clear;

     DataModule2.ADOQuery10.SQL.Text:='DELETE FROM uch '+

     'WHERE id_t = '+a+';';

     DataModule2.ADOQuery10.ExecSQL();

     DataModule2.ADOQuery10.Close;

     Button1.Click;

     end;

 

end;

 

end.


Информация о работе Внедрение программного продукта