Автор работы: Пользователь скрыл имя, 26 Мая 2011 в 06:26, дипломная работа
Целью данного дипломного проекта являлось создание базы данных по анкетам детей, оставшихся без попечения родителей для ОГОУ “Центра психолого-медико-социального сопровождения”.
Реализация данной задачи проводится в системе программирования Delphi7.0, располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удаленном сервере, а также большим коллекцией визуальных компонент для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.
Введение 5
Глава 1. Описание предметной области объекта автоматизации 7
1.1. Постановка задачи 7
1.2. Описание предметной области задачи 9
1.2.1. История ОГОУ ЦПМСС 9
1.2.2. Направление деятельности ОГОУ ЦПМСС 9
1.2.3. Структура ОГОУ ЦПМСС 10
1.2.4. Описание компьютерной сети 12
1.2.5. Декомпозиция бизнес-процессов 13
1.2.6. Построение объектной модели задачи 19
Глава 2. Проектирование базы данных и реализация приложения 24
2.1. Программные средства, используемые при реализации проекта 24
2.2. Базы данных 26
2.2.1. Классификация баз данных 28
2.2.2. Структурные элементы баз данных 29
2.3. Проектирование базы данных 30
2.3.1. Проектирование инфологической модели 31
2.3.2. Проектирование логической и физической модели 34
2.4. Описание серверной части клиент-серверного приложения 37
2.5. Описание клиентской части 38
клиент-серверного приложения 38
2.6. Проектирование тестов и тестирование 40
Глава 3. Организационно-экономическая часть 46
3.1. Оценка затрат на разработку АС 46
3.1.1. Материальные затраты 48
3.1.2. Затраты на оплату труда 48
3.1.3. Дополнительная заработная плата 49
3.1.4. Страховые взносы 49
3.1.5. Затраты на электроэнергию 50
3.1.6. Затраты на содержание и эксплуатацию оборудования 50
3.1.7. Амортизационные отчисления 51
3.1.8. Накладные расходы 51
3.1.9. Cводная таблица затрат на разработку и внедрение проекта 52
3.2. Оценка эффекта от внедрения АС 53
Заключение 55
Список литературы 57
Приложения 58
//значения ищутся по любому совпадению в определенной колонке
m:='';
if (StringGrid1.Cells[1,1]='') and (StringGrid1.Cells[1,2]='') and (StringGrid1.Cells[1,3]='') then
ShowMessage('Укажите значения') else
begin
if RadioGroup1.ItemIndex=0 then
begin
dm.anketa.Close;
dm.anketa.SelectSQL.Clear;
dm.anketa.SelectSQL.Append('
dm.anketa.Open;
dm.anketa.First;
dm.anketa.Last;
dm.anketa.First;
end;
if RadioGroup1.ItemIndex=1 then
begin
dm.anketa.Close;
dm.anketa.SelectSQL.Clear;
if StringGrid1.Cells[1,3]='' then
begin
k3:='';
m:='';
end else
begin
k3:='anketa.sv_float_doc
like '+chr(39)+'%'+StringGrid1.
m:=' or';
end;
if StringGrid1.Cells[1,2]='' then
begin
k2:='';
end else
begin
k2:='anketa.sv_float
like '+chr(39)+'%'+StringGrid1.
m:=' or';
end;
if StringGrid1.Cells[1,1]='' then
begin
k1:='';
end else
begin
k1:='anketa.fix_pay
like '+chr(39)+'%'+StringGrid1.
end;
b:='select anketa.id_a, anketa.fio, anketa.date_b, anketa.date_pr from anketa where '+k1+' '+k2+' '+k3+' order by fio';
dm.anketa.SelectSQL.Append(b);
dm.anketa.Open;
dm.anketa.First;
dm.anketa.Last;
dm.anketa.First;
end;
form1.DBGrid1.Columns[1].
form1.DBGrid1.Columns[1].
form1.DBGrid1.Columns[2].
form1.DBGrid1.Columns[2].
form1.DBGrid1.Columns[3].
form1.DBGrid1.Columns[3].
form1.DBGrid1.Columns[0].
form1.DBGrid1.Columns[0].
close;
end;
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, inifiles,
StdCtrls;
type
TForm8 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
MaskEdit1: TMaskEdit;
Label3: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure MaskEdit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
mydir:string;
implementation
uses Unit2, Unit1;
{$R *.dfm}
procedure TForm8.Button1Click(Sender: TObject);
var
IniFile:TIniFile;
serv,path:string;
begin
//подключается к базе, данные берутся из файла
//если авторизация верна, то открывает программу
//данные об авторизации хранятся в таблице базы
IniFile := TIniFile.Create(GetCurrentDir+
serv:=IniFile.ReadString('
path:=IniFile.ReadString('
mydir:=IniFile.ReadString('
DM.DB.DatabaseName:=serv+':'+
dm.DB.Connected:=true;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
* from use_acc where login='+chr(39)+Edit1.Text+
dm.IBQuery1.Open;
login_u:=Edit1.Text;
if dm.IBQuery1.RecordCount=0 then
begin
ShowMessage('Неправильно указано имя или пароль');
MaskEdit1.Text:='';
end
else
begin
if dm.IBQuery1.FieldByName('
form1.N7.Visible:=true
else
form1.N7.Visible:=false;
form1.show;
form8.Visible:=false;
end;
end;
procedure TForm8.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TForm8.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then MaskEdit1.SetFocus;
end;
procedure TForm8.MaskEdit1KeyPress(
begin
if key=#13 then Button1.Click;
end;
end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
Mask;
type
TForm9 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button2: TButton;
Label8: TLabel;
Label9: TLabel;
ComboBox1: TComboBox;
Label10: TLabel;
Button3: TButton;
Label11: TLabel;
Button4: TButton;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
MaskEdit3: TMaskEdit;
Label12: TLabel;
ComboBox2: TComboBox;
Button5: TButton;
Label13: TLabel;
Label14: TLabel;
ComboBox3: TComboBox;
Button6: TButton;
Label15: TLabel;
Label16: TLabel;
ComboBox4: TComboBox;
Button7: TButton;
Label17: TLabel;
Label18: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button6Click(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
uses Unit2, Unit4, Unit1;
{$R *.dfm}
procedure TForm9.Button2Click(Sender: TObject);
var
ad:string;
begin
//обновление пароля администратора
ad:='admin';
dm.IBQuery1.SQL.Clear;
if (MaskEdit1.Text<>MaskEdit2.
ShowMessage('пароль указан неверно')
else
begin
dm.IBQuery1.SQL.Clear;
ad:='update use_acc SET
pass='+chr(39)+MaskEdit1.Text+
dm.IBQuery1.SQL.Add(ad);
dm.IBQuery1.ExecSQL;
Label8.Caption:='пароль обновлен';
end;
form9.FormShow(sender);
end;
procedure TForm9.Button1Click(Sender: TObject);
var
st:string;
begin
//добавление нового пользователя в базу
dm.IBQuery1.SQL.Clear;
if (Edit1.Text='') or (Edit2.Text='') or (MaskEdit3.Text='') then
ShowMessage('не все поля заполнены')
else
if Label18.Caption='логин занят' then
ShowMessage('Логин занят')
else
begin
dm.IBQuery1.SQL.Clear;
st:='insert into use_acc
(fio,login,pass) values ('+chr(39)+edit1.text+chr(39)+
dm.IBQuery1.SQL.Add(st);
dm.IBQuery1.ExecSQL;
Label9.Caption:='пользователь '+edit2.Text+' добавлен';
form9.FormShow(sender);
end;
end;
procedure TForm9.Button4Click(Sender: TObject);
begin
close;
end;
procedure TForm9.FormShow(Sender: TObject);
var
i:integer;
begin
//открытие формы, внос в нее всех пользователей базы
//выпускников снятых и стоящих на учете
Label13.Caption:='';
Label15.Caption:='';
ComboBox1.Text:='';
ComboBox1.Items.Clear;
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select * from use_acc');
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;