Курсовые работы / ПРИС П _3
.pdfСПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
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 с.
22!
9 Аньшин В. М., Алешин А. В., Багратиони К. А. Управление проектами: фундаментальный курс: учебник. М. : Высшая школа экономики, 2013. 624 с.
10 Елманова Н. Корпоративные СУБД – 2012 [Электронный ресурс]//
КомпьютерПресс: Режим доступа: URL http://www.compress.ru/article.aspx? id=20548&iid=939
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 Описание бизнес процессов [Электронный ресурс]: Режим доступа: U R L : h t t p : / / w w w. b s c c o n s u l t i n g . r u / s e r v i c e s / b u s i n e s s _ c o n s u l t i n g / business_processes_definition/
23!
18 Нечаев Д. Ю., Чекмарев Ю. В. Надежность информационных систем [электронный ресурс]: учебное пособие. М. : Изд. «ДМК Пресс» 2012. 64 с.
Режим доступа: http://e.lanbook.com/books/element.php?pl1_id=3030
ПРИЛОЖЕНИЕ А Свойства таблиц БД
Таблица А.1-пароль
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
login |
текстовый |
50 |
нет |
нет |
Имя |
|
|
|
|
|
пользователя |
|
|
|
|
|
|
pass |
текстовый |
50 |
нет |
нет |
пароль |
|
|
|
|
|
|
log |
логический |
- |
нет |
нет |
- |
|
|
|
|
|
|
Таблица А.2-покупатели |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_pok |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
nazv_pok |
текстовый |
150 |
нет |
нет |
Название |
|
|
|
|
|
|
adr_pok |
текстовый |
200 |
нет |
нет |
Адрес |
|
|
|
|
|
|
kt_pok |
текстовый |
50 |
нет |
нет |
Телефон |
|
|
|
|
|
|
fio_pok |
текстовый |
150 |
нет |
нет |
ФИО |
|
|
|
|
|
|
rs_pok |
числовой |
Длинное |
нет |
нет |
Номер |
|
|
целое |
|
|
|
|
|
|
|
|
|
log_pok |
логический |
- |
нет |
нет |
Метка |
|
|
|
|
|
занятости |
|
|
|
|
|
|
Таблица А.3-поставщики |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_pos |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
nazv_pos |
текстовый |
150 |
нет |
нет |
Название |
|
|
|
|
|
|
adr_pos |
текстовый |
200 |
нет |
нет |
Адрес |
|
|
|
|
|
|
kt_pos |
текстовый |
50 |
нет |
нет |
Телефон |
|
|
|
|
|
|
24!
fio_pos |
текстовый |
150 |
нет |
нет |
ФИО |
|
|
|
|
|
|
rs_pos |
числовой |
Длинное |
нет |
нет |
Номер |
|
|
целое |
|
|
|
|
|
|
|
|
|
log_pos |
логический |
- |
нет |
нет |
Метка |
|
|
|
|
|
занятости |
|
|
|
|
|
|
Таблица А.4-приход |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_pr |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
id_tov_pr |
числовой |
Длинное |
нет |
нет |
Ключ товара |
|
|
целое |
|
|
|
|
|
|
|
|
|
cena_pr |
денежный |
- |
нет |
нет |
цена |
|
|
|
|
|
|
kol_pr |
числовой |
- |
нет |
нет |
количество |
|
|
|
|
|
|
id_pos_pr |
числовой |
- |
нет |
нет |
Ключ |
|
|
|
|
|
поставщика |
|
|
|
|
|
|
log_pr |
логический |
- |
нет |
нет |
Метка |
|
|
|
|
|
занятости |
|
|
|
|
|
|
data_pr |
Дата/время |
- |
нет |
нет |
дата |
|
|
|
|
|
|
Таблица А.5-расход |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_ras |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
id_pok_ras |
числовой |
Длинное |
нет |
нет |
Ключ |
|
|
целое |
|
|
покупателя |
|
|
|
|
|
|
data_ras |
Дата/время |
- |
нет |
нет |
дата |
|
|
|
|
|
|
log_ras |
логический |
- |
нет |
нет |
Метка |
|
|
|
|
|
занятости |
|
|
|
|
|
|
Таблица А.6-цена |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_rc |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
id_tov_rc |
числовой |
Длинное |
нет |
нет |
Ключ товара |
|
|
целое |
|
|
|
|
|
|
|
|
|
25!
cena_rc |
Денежный |
- |
нет |
нет |
цена |
|
|
|
|
|
|
data_rc |
Дата/время |
- |
нет |
нет |
дата |
|
|
|
|
|
|
Таблица А.7-тип |
|
|
|
|
|
Имя поля |
Тип данных |
Размер |
Обязательное |
Индексированн |
Значение |
|
|
поля |
поле |
ое поле |
|
|
|
|
|
|
|
id_t |
Счетчик |
Длинное |
да |
да |
Ключевое |
|
|
целое |
|
|
поле |
|
|
|
|
|
|
nazv_t |
текстовый |
50 |
нет |
нет |
Название |
|
|
|
|
|
|
log_t |
логический |
- |
нет |
нет |
Метка |
|
|
|
|
|
занятгости |
|
|
|
|
|
|
ПРИЛОЖЕНИЕ Б
Текст программы
unit aPokup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFaPokup = class(TForm) Panel1: TPanel;
26!
Label2: TLabel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Panel2: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; e1: TEdit;
e2: TEdit; e3: TEdit; e4: TEdit; e5: TEdit;
procedure BitBtn2Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
FaPokup: TFaPokup;
implementation
uses datm;
{$R *.dfm}
procedure TFaPokup.BitBtn2Click(Sender: TObject); begin
closequery;
end;
procedure TFaPokup.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin
if tm=1 then begin
dm.com.CommandText:='Update pokup set log_pok=FALSE WHERE (id_pok='+tmp+')'; dm.com.Execute;
end;
e1.clear;e2.clear;
e3.clear;e4.clear;e5.clear;
close;
end;
procedure TFaPokup.BitBtn1Click(Sender: TObject); begin
if (e1.Text='') or (e2.Text='') or (e3.Text='') or (e4.Text='') or (e5.Text='') then showmessage('Вы заполнили не все данные') else
begin try
strtoint(e5.text);
if length(e5.text)<>9 then begin
showmessage('Расчетный счет состоит из 10 цифр'); exit;
end; except
showmessage('Расчетный счет состоит из цифр'); exit;
end;
if tm=0 then begin
dm.temp.Active:=false;
dm.temp.CommandText:='Select id_pok from pokup where (nazv_pok="'+e1.text+'")'; dm.temp.Active:=true;
if dm.temp.RecordCount>0 then showmessage('Подобная запись уже существует') else
begin
27!
dm.com.CommandText:='Insert into pokup (nazv_pok,adr_pok,fio_pok,kt_pok,rs_pok) values ("'+e1.Text+'","'+e2.Text +'","'+e3.Text+'","'+e4.Text+'",'+e5.Text+')';
dm.com.Execute;
showmessage('Запись успешно добавлена'); dm.pok.Requery();
closequery;
end; end
else begin
dm.temp.Active:=false;
dm.temp.CommandText:='Select id_pok from pokup where (nazv_pok="'+e1.text+'")'; dm.temp.Active:=true;
if (dm.temp.RecordCount>0) and (tmp<>dm.temp.Fields[0].asstring) then showmessage('Подобная запись уже существует') else
begin
dm.com.CommandText:='Update pokup SET nazv_pok="'+e1.Text+'",adr_pok="'+e2.Text+'",fio_pok="'+e3.Text +'",kt_pok="'+e4.Text+'",rs_pok="'+e5.Text+'" WHERE (id_pok='+tmp+')';
dm.com.Execute;
showmessage('Запись успешно изменена'); dm.pok.Requery();
closequery;
end;
end;
end;
end;
end.
unit aPost;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFaPost = class(TForm) Panel1: TPanel; Label2: TLabel; Label1: TLabel; Label3: TLabel; Label4: TLabel; Panel2: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn;
e1: TEdit; e2: TEdit; e3: TEdit; e4: TEdit;
Label5: TLabel; e5: TEdit;
procedure BitBtn2Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn1Click(Sender: TObject);
private
{Private declarations } public
{Public declarations } end;
var
FaPost: TFaPost;
implementation
uses datm;
{$R *.dfm}
28!
procedure TFaPost.BitBtn2Click(Sender: TObject); begin
closequery;
end;
procedure TFaPost.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin
if tm=1 then begin
dm.com.CommandText:='Update post set log_pos=FALSE WHERE (id_pos='+tmp+')'; dm.com.Execute;
end;
e1.clear;e2.clear;
e3.clear;e4.clear;e5.clear;
close;
end;
procedure TFaPost.BitBtn1Click(Sender: TObject); begin
if (e1.Text='') or (e2.Text='') or (e3.Text='') or (e4.Text='') or (e5.Text='') then showmessage('Вы заполнили не все данные') else
begin try
strtoint(e5.text);
if length(e5.text)<>9 then begin
showmessage('Расчетный счет состоит из 10 цифр'); exit;
end; except
showmessage('Расчетный счет состоит из цифр'); exit;
end;
if tm=0 then begin
dm.temp.Active:=false;
dm.temp.CommandText:='Select id_pos from post where (nazv_pos="'+e1.text+'")'; dm.temp.Active:=true;
if dm.temp.RecordCount>0 then showmessage('Подобная запись уже существует') else
begin
dm.com.CommandText:='Insert into post (nazv_pos,adr_pos,fio_pos,kt_pos,rs_pos) values ("'+e1.Text+'","'+e2.Text +'","'+e3.Text+'","'+e4.Text+'",'+e5.Text+')';
dm.com.Execute;
showmessage('Запись успешно добавлена'); dm.pos.Requery();
closequery;
end; end
else begin
dm.temp.Active:=false;
dm.temp.CommandText:='Select id_pos from post where (nazv_pos="'+e1.text+'")'; dm.temp.Active:=true;
if (dm.temp.RecordCount>0) and (tmp<>dm.temp.Fields[0].asstring) then showmessage('Подобная запись уже существует') else
begin
dm.com.CommandText:='Update post SET nazv_pos="'+e1.Text+'",adr_pos="'+e2.Text+'",fio_pos="'+e3.Text +'",kt_pos="'+e4.Text+'",rs_pos="'+e5.Text+'" WHERE (id_pos='+tmp+')';
dm.com.Execute;
showmessage('Запись успешно изменена'); dm.pos.Requery();
closequery;
end;
end;
end;
end;
end.
unit aPrixod;
29!
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Spin, ComCtrls;
type
TFaPrixod = class(TForm) Panel1: TPanel;
Label2: TLabel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Panel2: TPanel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; cb1: TComboBox; cb2: TComboBox; e2: TEdit;
se1: TSpinEdit; e1: TEdit; Label5: TLabel;
dtp1: TDateTimePicker; Label6: TLabel;
procedure cb1Change(Sender: TObject); procedure cb2Change(Sender: TObject); procedure se1Change(Sender: TObject); procedure BitBtn2Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn1Click(Sender: TObject);
procedure FormShow(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
FaPrixod: TFaPrixod;
implementation
uses datm;
{$R *.dfm}
procedure TFaPrixod.cb1Change(Sender: TObject); begin
dm.temp.Active:=false;
dm.temp.CommandText:='select id_tov,st_tov from tovar,proiz,tip where (id_t=id_t_tov) and (id_p_tov=id_p)and (([nazv_tov]&", произв.: "&[nazv_p]&", тип:"&[nazv_t]&", расфс."&[rasf_tov])="'+cb1.text+'")'; dm.temp.Active:=true;
id_tov:=dm.temp.fields[0].asstring; e1.Text:=dm.temp.fields[1].asstring; se1Change(Sender);
end;
procedure TFaPrixod.cb2Change(Sender: TObject); begin
dm.temp.Active:=false;
dm.temp.CommandText:='Select id_pos from post where (nazv_pos="'+cb2.text+'")'; dm.temp.Active:=true;
id_pos:=dm.temp.fields[0].asstring; end;
procedure TFaPrixod.se1Change(Sender: TObject); begin
if e1.Text<>'' then begin
e2.Text:=floattostr(strtofloat(e1.Text)*se1.Value);
end;
end;
30!
procedure TFaPrixod.BitBtn2Click(Sender: TObject); begin
closequery;
end;
procedure TFaPrixod.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin
e1.clear;e2.clear;
cb1.Clear;cb2.Clear;se1.Value:=0;
close;
end;
procedure TFaPrixod.BitBtn1Click(Sender: TObject); begin
if (cb1.Text='') or (cb2.Text='') or (se1.Value=0) then showmessage('Вы заполнили не все данные') else
begin
dm.com.CommandText:='Insert into prixod (id_tov_pr,id_pos_pr,cena_pr,kol_pr,data_pr) values ('+id_tov+','+id_pos +',"'+e1.text+'",'+se1.Text+',"'+datetostr(dtp1.Date)+'")';
dm.com.Execute;
dm.com.CommandText:='Update tovar set kol_tov=kol_tov+"'+se1.Text+'" where (id_tov='+id_tov+')'; dm.com.Execute;
showmessage('Запись успешно добавлена'); dm.pr.Requery();
closequery;
end;
end;
procedure TFaPrixod.FormShow(Sender: TObject); begin
dtp1.Date:=date;
end;
end.
unit aProiz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ComCtrls, ExtCtrls, Buttons;
type
TFaProiz = class(TForm) Panel1: TPanel; Label2: TLabel; Panel2: TPanel;
e1: TEdit; BitBtn1: TBitBtn; BitBtn2: TBitBtn;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
FaProiz: TFaProiz;
implementation
uses datm;
{$R *.dfm}
procedure TFaProiz.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
31!