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

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

 

 


3 ВНЕДРЕНИЕ ПРОГРАММНОГО  ПРОДУКТА

3.1 Инструкция по установке программы

Программа не требует установки. Для начала эксплуатации скопируйте файл с расширением .exe и запустите, два раза щёлкнув по её иконке.

 


3.2 Инструкция пользователю

В данном разделе содержится описание работы программы «Информационная  система туристический клуб».

Для запуска программы  щёлкните два раза по её иконке либо выделите иконку и нажмите клавишу  <Enter>.

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

На вкладке "Походы" представлен полный список походов  и четыре кнопки.

 Кнопка "Добавить" открывает  форму для добавления нового похода. Здесь необходимо выбрать маршрут и дату проведения похода, нажать "ОК", далее из открывшегося списка выбрать инструктора и еще раз нажать "ОК".

Кнопка "Подробно/Туристы" открывает форму, которая отображает более подробную информацию  о выбранном походе и предоставляет возможность создания и редактирования списка туристов, которые идут в данный поход. 

Кнопка "Удалить" осуществляет удаление выбранного похода из базы данных.

Кнопка "Обновить" необходима для обновления данных в таблице, только если производились изменения  в таблицах "Инструкторы" или "Маршруты".

На вкладке "Тренировки" представлен полный список тренировок и четыре кнопки.

Кнопка "Добавить" открывает  форму для добавления новой тренировки. Здесь необходимо ввести название тренировки и дату проведения, нажать "ОК", далее из открывшегося списка выбрать инструктора и еще раз нажать "ОК".


Кнопка "Поиск" открывает  форму с несколькими вкладками, каждая из которых соответствует определенному критерию поиска тренировки.

Кнопка "Удалить" осуществляет удаление выбранной тренировки  из базы данных.

Кнопка "Обновить" необходима для обновления данных в таблице, только если производились изменения  в таблице "Инструкторы".

На вкладке "Участники" слева расположены  две таблицы, для каждой есть панель навигации, которая позволяет добавлять, удалять и редактировать данные об инструкторах и туристах. Справа расположена панель поиска участников по категории (квалификации), здесь необходимо выбрать категорию из открывающегося списка и нажать кнопку "Найти", данные об инструкторах и туристах будут представлены в разных таблицах.

На вкладке "Маршруты" расположена таблица, содержащая список маршрутов. Панель навигации данной таблицы позволяет добавлять, удалять и редактировать данные о маршрутах. Также на вкладке расположена кнопка "Поиск маршрутов", которая  открывает форму поиска по определенному критерию.

 


ЗАКЛЮЧЕНИЕ

В курсовом проекте реализованы  все поставленные задачи, но необходимо доработать две процедуры: TForm6.Button1Click и TForm4.Button1Click. Были приобретены знания по работе с базами данных, а так же технологии обработки запросов SQL в среде Delphi.

 


СПИСОК  ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

1. Алан Бьюли, «Изучаем SQL», изд. Символ-Плюс, 2007г                                            

2. Дунаев В.В., «Базы данных. Язык SQL», изд.СПб.: БХВ-Петербург, 2006г

3. Архангельский Алексей,  Справочное пособие «Delphi», изд.  Бином, 2011г

4. Архангельский Алексей, Справочное пособие «Delphi», изд. Бином, 2011г

5.  Андрей Шкрыль, «Разработка клиент-серверных приложений в Delphi», изд. БХВ-Петербург, 2006г

6. Дмитрий Осипов, «Delphi. Профессиональное программирование», изд. Символ-Плюс, 2006г

7. Алан Бьюли, «Изучаем SQL», изд. Символ-Плюс, 2007г

8. Дунаев В.В., «Базы данных. Язык SQL», изд.СПб.: БХВ-Петербург, 2006г.

9. Сайт ru.wikipedia.org. 


  1. ПРИЛОЖЕНИЕ A
  2. Таблицы базы данных

 Рисунок 3 - Таблица Instruktor

 

Рисунок 4 - Таблица Kategoria

 

Рисунок 5 - Таблица Marshrut


Рисунок 6 - Таблица Pohod

 

Рисунок 7 - Таблица Trenirovka


Рисунок 8 - Таблица Turist


Рисунок 9 - Таблица Ush

 


ПРИЛОЖЕНИЕ Б

Формы клиентского приложения

Рисунок 10 - Главная форма

Рисунок 11 - Форма поиска маршрутов


Рисунок 12 - Форма добавления тренировки

Рисунок 13 - Форма поиска тренировки


Рисунок 14 - Форма добавления похода

Рисунок 14 - Форма информации о походе и его участниках


ПРИЛОЖЕНИЕ В

Результаты работы

Рисунок 15 - Запрос "Поиск инструкторов по категории" и "Поиск туристов по категории"


Рисунок 16 - Запрос " Список всех тренировок: название, фамилия и имя инструктора  и дата"


Рисунок 17 - Запрос " Список всех походов: начальная и конечная точки, дата, имя и фамилия инструктора"

Рисунок 18 - Запрос "Поиск маршрутов по категории сложности"


Рисунок 19 - Запрос "Поиск маршрутов по длительности"

Рисунок 20 - Запрос " Список инструкторов,  которые не заняты в походе или на тренировке в определённую дату и имеют необходимую категорию для проведения похода"

 


Рисунок 21 - Запрос «Поиск тренировок проводимых выбранным инструктором"

Рисунок 22 - Запрос «Поиск тренировок проводимых в определенную дату"


Рисунок 23 - Запрос «Поиск тренировок проводимых в определенный промежуток времени"


Рисунок 24 - Запрос " Список туристов, которые участвуют в выбранном походе" (таблица слева)  и запрос " Список туристов, которые имеют необходимую категорию и  не участвуют в другом походе" (таблица справа)

 


ПРИЛОЖЕНИЕ Г

Листинг программы на языке  BORLAND DELPHI

program Project1;

 

uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1},

  Unit2 in 'Unit2.pas' {DataModule2: TDataModule},

  Unit3 in 'Unit3.pas' {Form3},

  Unit4 in 'Unit4.pas' {Form4},

  Unit5 in 'Unit5.pas' {Form5},

  Unit6 in 'Unit6.pas' {Form6},

  Unit7 in 'Unit7.pas' {Form7},

  Unit8 in 'Unit8.pas' {Form8};

 

{$R *.res}

 

begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.CreateForm(TDataModule2, DataModule2);

  Application.CreateForm(TForm3, Form3);

  Application.CreateForm(TForm4, Form4);

  Application.CreateForm(TForm5, Form5);

  Application.CreateForm(TForm6, Form6);

  Application.CreateForm(TForm7, Form7);

  Application.CreateForm(TForm8, Form8);

  Application.Run;

 

end.

 

unit Unit1;

 

interface

uses

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

  Dialogs, ComCtrls, Menus, Unit3, StdCtrls, Grids, DBGrids,

  ExtCtrls, DBCtrls, dbcgrids, DB, DBTables, Unit2,unit4, Unit5, Unit6, Unit7;

type

  TForm1 = class(TForm)

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    TabSheet4: TTabSheet;

    DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    DBGrid2: TDBGrid;

    DBNavigator2: TDBNavigator;

    DBGrid3: TDBGrid;

    DBNavigator3: TDBNavigator;

    Button1: TButton;

    Label1: TLabel;

    Label2: TLabel;

    GroupBox1: TGroupBox;

    Label3: TLabel;


    Button2: TButton;

    DBGrid4: TDBGrid;

    DBGrid5: TDBGrid;

    Label4: TLabel;

    Label5: TLabel;

    DBNavigator4: TDBNavigator;

    DBNavigator5: TDBNavigator;

    Label6: TLabel;

    DBGrid6: TDBGrid;

    DBNavigator6: TDBNavigator;

    Button3: TButton;

    Button4: TButton;

    ComboBox1: TComboBox;

    DBGrid7: TDBGrid;

    DBNavigator7: TDBNavigator;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    procedure N2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

 

procedure TForm1.N2Click(Sender: TObject);

begin

   close;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Form3.edit1.Text:='';

Form3.ShowModal ;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

    if (ComboBox1.Text='') then

  ShowMessage('Данные некорректны!')

   else

   begin

    DataModule2.ADOQuery3.SQL.Clear;

    DataModule2.ADOQuery3.SQL.Text:='SELECT * From instruktor Where kat = '+

    combobox1.Text +';' ;


    DataModule2.ADOQuery3.Open;

    DataModule2.ADOQuery4.SQL.Clear;

    DataModule2.ADOQuery4.SQL.Text:='SELECT * From turist Where kategoria = '+

    combobox1.Text+';' ;

    DataModule2.ADOQuery4.Open;

   end;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

var a: string;

begin

     a:=DBGrid6.DataSource.DataSet.FieldByName('id_t').text;

     if not(a='')   then

      begin

     DataModule2.ADOQuery5.Close;

     DataModule2.ADOQuery5.SQL.Clear;

     DataModule2.ADOQuery5.SQL.Text:='DELETE FROM trenirovka '+

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

     DataModule2.ADOQuery5.ExecSQL();

     DataModule2.ADOQuery5.SQL.Clear;

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

       end;

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

  Form4.edit1.Text:='';

  Form4.DBNavigator1.Visible:=false;

  Form4.MonthCalendar1.Visible:= true;

  Form4.Button1.Visible:=true;

  Form4.label1.Visible:=true;

  Form4.label2.Visible:=true;

  Form4.edit1.Visible:=true;

  Form4.BitBtn1.Visible:=false;

  Form4.Label3.Visible:=false;

  Form4.DBGrid1.Visible:=false;

  Form4.ShowModal ;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

  Form5.ShowModal ;

end;

 

procedure TForm1.Button8Click(Sender: TObject);

begin

   Form6.MonthCalendar1.Visible:= true;

   Form6.Button1.Visible:=true;

   Form6.DBGrid1.Visible:=true;

   Form6.DBGrid2.Visible:=false;

   Form6.BitBtn1.Visible:=false;

   Form6.DBNavigator1.Visible:= true;

   Form6.ShowModal ;

end;

 

procedure TForm1.Button10Click(Sender: TObject);

begin

  Form7.ShowModal ;


  DataModule2.ADOQuery10.close;

  DataModule2.ADOQuery11.Close;

end;

procedure TForm1.Button9Click(Sender: TObject);

var a: string;

begin

     a:=DBGrid7.DataSource.DataSet.FieldByName('p_id').text;

     if not(a='')   then

     begin

     DataModule2.ADOQuery9.Close;

     DataModule2.ADOQuery9.SQL.Clear;

     DataModule2.ADOQuery9.SQL.Text:='DELETE FROM pohod '+

     'WHERE p_id = '+a+';' ;

     DataModule2.ADOQuery9.ExecSQL();

     DataModule2.ADOQuery9.SQL.Text:='SELECT marshrut.*, pohod.*, instruktor.* '+

     'FROM  marshrut,pohod,instruktor '+

     'where pohod.id_marsh = marshrut.m_id and pohod.id_i= instruktor.i_id;';

     DataModule2.ADOQuery9.open;

       end;

end;

 

procedure TForm1.Button6Click(Sender: TObject);

begin

  DataModule2.ADOQuery5.close;

  DataModule2.ADOQuery5.open;

end;

 

procedure TForm1.Button7Click(Sender: TObject);

begin

  DataModule2.ADOQuery9.close;

  DataModule2.ADOQuery9.open;

end;

end.

 

unit Unit2;

 

interface

uses

  SysUtils, Classes, DB, ADODB;

type

  TDataModule2 = class(TDataModule)

    ADOTable1: TADOTable;

    ADOTable2: TADOTable;

    ADOTable3: TADOTable;

    ADOTable4: TADOTable;

    ADOTable5: TADOTable;

    ADOTable6: TADOTable;

    DataSource1: TDataSource;

    DataSource2: TDataSource;

    DataSource3: TDataSource;

    DataSource4: TDataSource;

    DataSource5: TDataSource;

    DataSource6: TDataSource;

    ADOTable1k_id: TAutoIncField;

    ADOTable1k_kat: TWideStringField;

    ADOTable2m_id: TAutoIncField;

    ADOTable2p_otpr: TWideStringField;

    ADOTable2p_naz: TWideStringField;

    ADOTable2dlina: TWideStringField;

    ADOTable2dlit: TIntegerField;

    ADOTable2kategoria: TIntegerField;

    ADOTable3i_id: TAutoIncField;


    ADOTable3name: TWideStringField;

    ADOTable3surename: TWideStringField;

    ADOTable3kat: TIntegerField;

    ADOTable2kat: TIntegerField;

    ADOTable3k: TIntegerField;

    ADOTable4t_id: TAutoIncField;

    ADOTable4name: TWideStringField;

    ADOTable4surename: TWideStringField;

    ADOTable4kategoria: TIntegerField;

    ADOTable4kat: TIntegerField;

    DataSource7: TDataSource;

    ADOQuery1: TADOQuery;

    ADOQuery1m_id: TAutoIncField;

    ADOQuery1p_otpr: TWideStringField;

    ADOQuery1p_naz: TWideStringField;

    ADOQuery1dlina: TWideStringField;

    ADOQuery1dlit: TIntegerField;

    ADOQuery1kategoria: TIntegerField;

    DataSource8: TDataSource;

    ADOQuery2: TADOQuery;

    ADOQuery2m_id: TAutoIncField;

    ADOQuery2p_otpr: TWideStringField;

    ADOQuery2p_naz: TWideStringField;

    ADOQuery2dlina: TWideStringField;

    ADOQuery2dlit: TIntegerField;

    ADOQuery2kategoria: TIntegerField;

    ADOQuery3: TADOQuery;

    DataSource9: TDataSource;

    ADOQuery3i_id: TAutoIncField;

    ADOQuery3name: TWideStringField;

    ADOQuery3surename: TWideStringField;

    ADOQuery3kat: TIntegerField;

    ADOQuery4: TADOQuery;

    DataSource10: TDataSource;

    ADOQuery4t_id: TAutoIncField;

    ADOQuery4name: TWideStringField;

    ADOQuery4surename: TWideStringField;

    ADOQuery4kategoria: TIntegerField;

    DataSource11: TDataSource;

    ADOQuery5: TADOQuery;

    ADOQuery5id_t: TAutoIncField;

    ADOQuery5instruktor: TIntegerField;

    ADOQuery5trenirovkaname: TWideStringField;

    ADOQuery5t_date: TDateTimeField;

    ADOQuery5i_id: TAutoIncField;

    ADOQuery5instruktorname: TWideStringField;

    ADOQuery5surename: TWideStringField;

    ADOQuery5kat: TIntegerField;

    ADOQuery6: TADOQuery;

    DataSource12: TDataSource;

    ADOQuery7: TADOQuery;

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