Скачиваний:
8
Добавлен:
17.06.2023
Размер:
3.42 Mб
Скачать

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 Абрамов Г. В., Медведкова И. Е., Коробова Л. А. Проектирование информационных систем [электронный ресурс]. Воронеж, Воронежский Государственный университет инженерных технологий, 2014. 172 с. Режим доступа:

http://biblioclub.ru/index.php?page=book_red&id=141626&sr=1

2 Вендров А. М. Проектирование программного обеспечения экономических информационных систем: Учебник для студентов вузов М. : Финансы и статистика,

2013. 352 с.

3 Карпова Т. С. Базы данных: Модели, разработка, реализация. СПб: Питер,

2012. 253 с.

4 Ревунков Г. И. Проектирование баз данных [электронный ресурс]: учебное пособие. М. : МГТУ им. Н.Э. Баумана (Московский государственный технический университет имени Н.Э. Баумана), 2013. 20 с. Режим доступа:

http://e.lanbook.com/books/element.php?pl1_id=52390

5 Вендров А. М. CASE технологии. Современные методы и средства

проектирования информационных систем. М. : Финансы и статистика, 2012. 254 с.

6 Проектирование информационных систем [Электронный ресурс]: Режим

доступа: URL http://www.kgau.ru/istiki/umk/pis/pis.htm

7 Вендров А. М. Современные технологии анализа и проектирования информационных систем [Электронный ресурс] // Центр Информационных

Технологий: Режим доступа: URL http://www.citmgu.ru/

8 Арутюнов, В. В. Теория экономических информационных систем. М. :

Синтег, 2012. 360 с.

9 Аньшин В. М., Алешин А. В., Багратиони К. А. Управление проектами:

фундаментальный курс: учебник. М. : Высшая школа экономики, 2013. 624 с.

10 Елманова Н. Корпоративные СУБД – 2012 [Электронный ресурс]//

КомпьютерПресс: Режим доступа: URL

http://www.compress.ru/article.aspx?id=20548&iid=939

32

11 Хоменко А. Д. Базы данных. Учебник для вузов. М. : Синтег, 2014. 262 с.

12Богданова С. В., Ермакова А. Н. Информационные технологии: учебное пособие для студентов вузов [электронный ресурс]: Ставрополь: Сервисшкола, 2014. 211 с. Режим доступа: http://biblioclub.ru/index.php?page=book_red&id=277476&sr=1

13Дарахвелидзе П. Г. Программирование в Delphi 7. Спб. : БХВ-Петербург, 2013. 784 с.

14Беломойцев Д. Е., Волосатова Т. М., Радионов С. В. Основные методы криптографической обработки данных: учебное пособие. М. : Изд. МГТУ им. Н.Э.

Баумана (Московский государственный технический университет имени Н.Э.

Баумана), 2014. 76 с.

15 Гусятников В. Н. Безруков А. И. Стандартизация и разработка программных систем. [Электронный ресурс]: Электрон. текстовые дан. СПб. : Лань, 2012. Режим доступа: URL http://e.lanbook.com/ books/element.php?pl1_id=5321.

16 Ачкасов В. Ю. Программирование баз данных в Delphi [электронный ресурс]: М. : Интернет-Университет Информационных Технологий, 2011. 382 с.

Режим доступа: URL http://biblioclub.ru/index.php?page=book_red&id=233558&sr=1

17 Описание бизнес процессов [Электронный ресурс]: Режим доступа: URL: http://www.bsc-consulting.ru/services/business_consulting/business_processes_definition/ 18 Нечаев Д. Ю., Чекмарев Ю. В. Надежность информационных систем

[электронный ресурс]: учебное пособие. М. : Изд. «ДМК Пресс» 2012. 64 с. Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=3030

33

ПРИЛОЖЕНИЕ А

Модель бизнес-процессов предметной области по стандарту IDEF0

Рисунок А.1 - Верхний блок диаграммы бизнес-процессов IDEF0

Рисунок А.2 - Декомпозиция блока «Автоматизация деятельности туроператора»

Рисунок А.3 - Декомпозиция блока «Ведение базы данных»

34

Рисунок А.4 - Декомпозиция блока «Ввод и редактирование данных»

Рисунок А.5 - Декомпозиция блока «Работа с сервисными функциями»

Рисунок А.6 - Декомпозиция блока «Аналитическая обработка данных»

35

ПРИЛОЖЕНИЕ Б Описание таблиц базы данных

Таблица Б.1 – Описание свойств полей таблицы PWDTBL

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

USER_ID

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

USER

Текстовый

50

Да

Нет

Имя

 

 

 

 

 

пользователя

PASS

Текстовый

50

Нет

Нет

Пароль

Таблица Б.2 – Описание свойств полей таблицы Klient

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

ID_kl

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

fam_kl

Текстовый

50

Нет

Нет

Фамилия

 

 

 

 

 

клиента

imya_kl

Текстовый

50

Нет

Нет

Имя клиента

otch_kl

Текстовый

50

Нет

Нет

Отчество

 

 

 

 

 

клиента

sernompas

Текстовый

50

Нет

Нет

Серия и номер

_kl

 

 

 

 

паспорта

 

 

 

 

 

клиента

adres_kl

Текстовый

50

Нет

Нет

Адрес клиента

 

 

 

 

 

 

tel_kl

Текстовый

50

Нет

Нет

Телефон клиента

 

 

 

 

 

 

log_kl

Логический

-

-

Нет

Метка занятости

Таблица Б.3 – Описание свойств полей таблицы Marshrut

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

ID_mar

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

strana_mar

Текстовый

50

Нет

Нет

Страна

 

 

 

 

 

маршрута

nazv_mar

Текстовый

50

Нет

Нет

Название

 

 

 

 

 

маршрута

ID_op

Числовой

Длинное

Да

Да

Код

 

 

целое

 

 

туроператора

log_mar

Логический

-

-

Нет

Метка занятости

36

Таблица Б.4 – Описание свойств полей таблицы Oplata

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

 

поля

поле

поле

 

 

ID_opl

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

 

ID_put

Числовой

Длинное

Да

Да

Код путевки

 

 

 

целое

 

 

 

 

data_opl

Дата/время

-

Нет

Нет

Дата оплаты

 

 

 

 

 

 

 

 

stoim_opl

Денежный

-

Да

Да

Стоимость

 

 

 

 

 

 

путевки

для

 

 

 

 

 

турагентства

 

log_opl

Логический

-

-

Нет

Метка занятости

Таблица Б.5 – Описание свойств полей таблицы Putevka

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

 

поля

поле

поле

 

 

ID_put

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

 

nomer_put

Текстовый

50

Нет

Нет

Номер путевки

 

 

 

 

 

 

 

ID_kl

Числовой

Длинное

Да

Да

Код клиента

 

 

 

целое

 

 

 

 

dataoplaty

Дата/время

-

Нет

Нет

Дата оплаты

 

_put

 

 

 

 

 

 

ID_mar

Числовой

Длинное

Да

Да

Код маршрута

 

 

целое

 

 

 

 

Stoim_put

Денежный

-

Да

Да

Стоимость

 

 

 

 

 

 

путевки

для

 

 

 

 

 

клиента

 

log_put

Логический

-

-

Нет

Метка занятости

Таблица Б.6 – Описание свойств полей таблицы Stoimost

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

ID_st

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

ID_mar

Числовой

Длинное

Да

Да

Код маршрута

 

 

целое

 

 

 

Data_st

Дата/время

-

Нет

Нет

Дата, на которую

 

 

 

 

 

указана

 

 

 

 

 

стоимость

Stoim_st

Денежный

-

Нет

Нет

Стоимость

 

 

 

 

 

маршрута

log_st

Логический

-

-

Нет

Метка занятости

37

Таблица Б.7 – Описание свойств полей таблицы Telefon

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

поля

поле

поле

 

ID_tel

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

целое

 

не допускаются)

 

ID_op

Числовой

Длинное

Да

Да

Код

 

 

целое

 

 

туроператора

nomer_tel

Текстовый

50

Нет

Нет

Номер телефона

 

 

 

 

 

 

log_tel

Логический

-

-

Нет

Метка занятости

Таблица Б.8 – Описание свойств полей таблицы Turoperator

Имя поля

Тип данных

Размер

Обязательное

Индексированное

Комментарий

 

 

 

поля

поле

поле

 

 

ID_op

Счетчик

Длинное

Да

Да (Совпадения

Ключевое поле

 

 

 

целое

 

не допускаются)

 

 

nazv_op

Текстовый

50

Нет

Нет

Название

 

 

 

 

 

 

туроператора

 

adres_op

Текстовый

50

Нет

Нет

адрес

 

 

 

 

 

 

туроператора

 

datazakdog

Дата/время

-

Нет

Нет

дата заключения

_op

 

 

 

 

договора

с

 

 

 

 

 

туроператором

 

dataokdog

Дата/время

-

Нет

Нет

дата окончания

_op

 

 

 

 

договора

с

 

 

 

 

 

туроператором

 

log_op

Логический

-

-

Нет

Метка занятости

38

ПРИЛОЖЕНИЕ В

 

Текст программы

 

unit DataModule;

TVhodForm = class(TForm)

 

Label1: TLabel;

 

interface

Label2: TLabel;

 

 

Edit1: TEdit;

 

uses

Button1: TButton;

SysUtils, Classes, DB, ADODB, Dialogs, ExtCtrls;

Button2: TButton;

 

DBLookupComboBox1: TDBLookupComboBox;

type

OpenDialog1: TOpenDialog;

TDM = class(TDataModule)

procedure Button2Click(Sender: TObject);

ADOConnection1: TADOConnection;

procedure DBLookupComboBox1CloseUp(Sender: TObject);

OpenDialog1: TOpenDialog;

procedure Button1Click(Sender: TObject);

TuroperatorDataSource: TDataSource;

procedure FormShow(Sender: TObject);

TuroperatorQuery: TADOQuery;

private

 

MarshrutQuery: TADOQuery;

{ Private declarations }

StoimostQuery: TADOQuery;

public

 

MarshrutDataSource: TDataSource;

{ Public declarations }

StoimostDataSource: TDataSource;

end;

 

ADOCommand1: TADOCommand;

 

 

temp: TADODataSet;

var

 

Timer1: TTimer;

VhodForm: TVhodForm;

TelefonDataSource: TDataSource;

pwd:string; // верный пароль

TelefonQuery: TADOQuery;

flag:boolean; // признак существования формы

KlientDataSource: TDataSource;

posetitel:string; // переменная в которой будем запоминать

PutevkaDataSource: TDataSource;

посетителя

 

KlientQuery: TADOQuery;

 

 

PutevkaQuery: TADOQuery;

 

 

OplataDataSource: TDataSource;

implementation

 

OplataQuery: TADOQuery;

 

 

VhodDataSource: TDataSource;

{$R *.dfm}

 

VhodQuery: TADOQuery;

 

 

procedure Timer1Timer(Sender: TObject);

procedure TVhodForm.Button2Click(Sender: TObject);

private

begin

 

{ Private declarations }

if button1.caption='Войти' then

public

Application.terminate

{ Public declarations }

else

 

end;

VhodForm.Hide;

 

 

end;

 

var

 

 

DM: TDM;

procedure

TVhodForm.DBLookupComboBox1CloseUp(Sender:

tm:integer;

TObject);

 

tmp,id_op,id_mar,id_st,id_tel,id_put,id_kl,id_opl, stoim_put:string;

begin

 

rn:integer;

posetitel:= DBLookupComboBox1.Text;

path:string;

if posetitel<>'' then

 

 

begin

 

implementation

//устанавливаем фокус в поле ввода пароля

 

Edit1.SetFocus;

 

{$R *.dfm}

DM.VhodQuery.Close;

 

DM.VhodQuery.SQL.Clear;

procedure TDM.Timer1Timer(Sender: TObject);

//формируем запрос по ключевому полю для выбранного

begin

пользователя

 

if TuroperatorQuery.Active=true then TuroperatorQuery.Requery();

DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL WHERE

if MarshrutQuery.Active=true then MarshrutQuery.Requery();

USER_ID='+inttostr(DBLookupComboBox1.KeyValue)+';');

if StoimostQuery.Active=true then StoimostQuery.Requery();

DM.VhodQuery.Open;

end;

// сохраняем пароль

end.

pwd:=DM.VhodQuery.FieldByName('PASS').AsString;

 

DM.VhodQuery.SQL.Clear;

 

// возвращаем запрос в исходное состояние

unit VhodUnit;

DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL;');

 

DM.VhodQuery.Open;

interface

end;

 

uses

end;

 

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

 

 

Forms,

procedure TVhodForm.Button1Click(Sender: TObject);

Dialogs, Inifiles, StdCtrls, DBCtrls, DataModule, MainMenuUnit;

begin

 

 

if posetitel<>'' then

// если пользователь ясен

 

// если пароль не совпадает

type

if pwd<>Trim(Edit1.Text) then

39

// то выдаём сообщение

MessageDlg('Не верный пароль!!!',mtError, [mbOk], 0) else // иначе

begin flag:=false;

//если основная форма еще не создана, то создаём, то есть это вход в систему

if not flag then begin

MainMenuForm:= TMainMenuForm.Create(self); // создание формы основного меню

flag:=true;

end;

// вывод формы основного меню на экран

MainMenuForm.Show;

//устанавливаем ограничения в соответствии с пользователем if posetitel='Гость' then

begin MainMenuForm.N2.Enabled:=false; MainMenuForm.N8.Enabled:=false; MainMenuForm.N12.Enabled:=false; MainMenuForm.N3.Enabled:=false; MainMenuForm.N1.Enabled:=true; MainMenuForm.N4.Enabled:=true; MainMenuForm.N11.Enabled:=true; MainMenuForm.N12.Enabled:=true; MainMenuForm.N13.Enabled:=false; MainMenuForm.N14.Enabled:=false; MainMenuForm.N17.Enabled:=true; MainMenuForm.N22.Enabled:=true; MainMenuForm.N18.Enabled:=false; MainMenuForm.N19.Enabled:=false; MainMenuForm.N20.Enabled:=false; MainMenuForm.N21.Enabled:=false; MainMenuForm.N23.Enabled:=false;

// Main_MenuForm.ServiceN.Enabled:=false; end;

if posetitel='Менеджер' then begin

MainMenuForm.N1.Enabled:=true;

MainMenuForm.N2.Enabled:=true;

MainMenuForm.N8.Enabled:=true;

MainMenuForm.N11.Enabled:=true;

MainMenuForm.N12.Enabled:=true;

MainMenuForm.N13.Enabled:=false;

MainMenuForm.N14.Enabled:=false;

MainMenuForm.N15.Enabled:=true;

MainMenuForm.N17.Enabled:=true;

MainMenuForm.N18.Enabled:=false;

MainMenuForm.N19.Enabled:=false;

MainMenuForm.N20.Enabled:=false;

MainMenuForm.N21.Enabled:=false;

MainMenuForm.N22.Enabled:=true;

MainMenuForm.N23.Enabled:=false;

end;

if posetitel='Администратор'then begin

MainMenuForm.N1.Enabled:=true;

MainMenuForm.N2.Enabled:=true;

MainMenuForm.N8.Enabled:=true;

MainMenuForm.N11.Enabled:=true;

MainMenuForm.N12.Enabled:=true;

MainMenuForm.N15.Enabled:=true;

end;

// скрываем форму

VhodForm.Hide;

DM.VhodQuery.SQL.Clear;

DM.VhodQuery.Close;

end // пользователь не выбран

else MessageDlg('Укажите пользователя',mtWarning, [mbOk], 0);

end;

procedure TVhodForm.FormShow(Sender: TObject); var DBPath:widestring; //путь к БД

F :TIniFile; // файл с путем к БД

begin

//если происходит исключительная ситуация, то предлагаем пользователю связать с БД

try DM.ADOConnection1.Open; except

//если пользователь соглашается то запускаем диалог открытия

if MessageDlg('Возможно утеряна связь с БД. Связать?',mtError, [mbYes, mbNo], 0)=6 then

begin

F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini'); if OpenDialog1.Execute then

begin DM.ADOConnection1.Close;

DBPath:=ExtractFilePath(OpenDialog1.FileName); F.WriteString('Section_DBPath','Path',DBPath); DM.ADOConnection1.Open;

end;

F.Free;

end;

end;

DM.VhodQuery.SQL.Clear; DM.VhodQuery.SQL.Add('SELECT * FROM PWDTBL;'); DM.VhodQuery.Open;

end;

end.

unit AccessDB;

interface

uses

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

Dialogs, ExtCtrls, Menus,inifiles,DataModule;

function data(data:tdatetime):string; function Update(rs,tab,temp:string):boolean; function Delete(rs,tab,temp:string):boolean;

Procedure Zan(rs,tab,temp:string;tm:integer);

implementation var tmp:string;

tm:integer;

function data (data:tdatetime):string; var g,m,d:word;

begin decodedate(data,g,m,d);

result:=''+currtostr(m)+'/'+currtostr(d)+'/'+currtostr(g)+'';

end;

function Update(rs,tab,temp:string):boolean; begin

dm.temp.Active:=false;

dm.temp.CommandText:='Select log_'+rs+' from '+tab+' where (id_'+rs+'='+temp+')';

dm.temp.Active:=true;

if dm.temp.Fields[0].AsBoolean=true then begin

result:=false; end

else begin

dm.ADOCommand1.CommandText:='Update '+tab+' set log_'+rs+'=TRUE where id_'+rs+'='+temp+'';

dm.ADOCommand1.Execute;

result:=true;

end;

end;

function Delete(rs,tab,temp:string):boolean; begin

dm.temp.Active:=false;

40

dm.temp.CommandText:='Select log_'+rs+' from '+tab+' where (id_'+rs+'='+temp+')';

dm.temp.Active:=true;

if dm.temp.Fields[0].AsBoolean=true then begin

result:=false; end

else if application.MessageBox('Вы хотите удалить запись?','Удаление',mb_yesno+mb_iconquestion)=idyes then

begin

dm.ADOCommand1.CommandText:='Delete * from '+tab+' where (id_'+rs+'='+temp+')';

dm.ADOCommand1.Execute;

result:=true;

end;

end;

Procedure Zan(rs,tab,temp:string;tm:integer); begin

if tm=1 then begin

dm.ADOCommand1.CommandText:='Update '+tab+' set log_'+rs+'=FALSE WHERE (id_'+rs+'='+temp+')';

dm.ADOCommand1.Execute;

end;

end;

end.

unit MainMenuUnit;

interface

uses

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

Dialogs, Menus, inifiles;

type

TMainMenuForm = class(TForm) MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem; OpenDialog1: TOpenDialog; N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

N13: TMenuItem;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

N19: TMenuItem;

N20: TMenuItem;

N21: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

procedure N4Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N16Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure N18Click(Sender: TObject);

procedure N21Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure N20Click(Sender: TObject); procedure N22Click(Sender: TObject); procedure N23Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

MainMenuForm: TMainMenuForm;

implementation

uses DataModule, TuroperatorUnit, MarshrutUnit, StoimostUnit, KlientUnit,

PutevkaUnit, PassChangeUnit, VhodUnit, OtchPutUnit, OtchMarFormUnit,

OtchOpUnit, OtchPribUnit, OtchPriceUnit, OtchDohodUnit; {$R *.dfm}

procedure TMainMenuForm.N4Click(Sender: TObject); begin

Application.Terminate;

end;

procedure TMainMenuForm.N3Click(Sender: TObject); var F:TiniFile;//дискриптор ini-файла

DBPath:widestring; //путь к БД begin

//создаём объект Ini-файла, ассоциируя его с физическим файлом на диске

F:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Options.ini');

//запускаем диалог открытия, если запущен успешно, то...

if OpenDialog1.Execute then begin

//сохраняем указанный в диалоговом окне пользователем путь

DBPath:=ExtractFilePath(OpenDialog1.FileName);

//записываем в раздел Section_DBPath значение переменной DBPath в параметр Path ini-файла

F.WriteString('Section_DBPath','Path',DBPath); DM.ADOConnection1.Close;

//формируем ConnectionString

DM.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLE DB.4.0;Data Source='+DBPath+'Turagentstvo.mdb;Persist Security Info=False';

//открываем соединение

DM.ADOConnection1.Open;

end;

// освобождаем память

F.Free;

end;

procedure TMainMenuForm.N5Click(Sender: TObject); begin TuroperatorForm:=TTuroperatorForm.Create(self); TuroperatorForm.ShowModal;

end;

procedure TMainMenuForm.N6Click(Sender: TObject); begin

MarshrutForm:=TMarshrutForm.Create(self);

MarshrutForm.ShowModal;

end;

procedure TMainMenuForm.N7Click(Sender: TObject); begin

StoimostForm:=TStoimostForm.Create(self);

StoimostForm.ShowModal;

end;

procedure TMainMenuForm.N9Click(Sender: TObject);

41

Соседние файлы в папке Курсовые работы