Автор работы: Пользователь скрыл имя, 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
for i:=1 to dm.IBQuery1.RecordCount do
begin
if dm.IBQuery1.FieldByName('
ComboBox1.Items.Text:=
dm.IBQuery1.Next;
end;
//снятые с учета
ComboBox2.Text:='';
ComboBox2.Items.Clear;
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
anketa.fio from anketa where uc=2');
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
for i:=1 to dm.IBQuery1.RecordCount do
begin
ComboBox2.Items.Text:=
dm.IBQuery1.Next;
end;
//стоящие на учете
ComboBox3.Text:='';
ComboBox3.Items.Clear;
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
anketa.fio from anketa where uc=1');
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
for i:=1 to dm.IBQuery1.RecordCount do
begin
ComboBox3.Items.Text:=
dm.IBQuery1.Next;
end;
//все анкеты
ComboBox4.Text:='';
ComboBox4.Items.Clear;
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
anketa.fio from anketa');
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
for i:=1 to dm.IBQuery1.RecordCount do
begin
ComboBox4.Items.Text:=
dm.IBQuery1.Next;
end;
ComboBox1.ItemIndex:=0;
ComboBox2.ItemIndex:=0;
ComboBox3.ItemIndex:=0;
ComboBox4.ItemIndex:=0;
end;
procedure TForm9.Button3Click(Sender: TObject);
var
st:string;
begin
//удалить пользователя
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
st:='delete from
use_acc where login='+chr(39)+ComboBox1.
dm.IBQuery1.SQL.Add(st);
dm.IBQuery1.ExecSQL;
Label11.Caption:='пользователь удален';
form9.FormShow(sender);
end;
procedure TForm9.Button5Click(Sender: TObject);
begin
//обновляем в анкете значение о снятии на значение о постановке
dm.IBQuery1.Close;
dm.IBQuery1.SQL.clear;
dm.IBQuery1.SQL.Add('update
anketa SET uc=1 WHERE fio='+chr(39)+ComboBox2.Text+
dm.IBQuery1.ExecSQL;
//удаляем данные о снятии
dm.IBQuery1.Close;
dm.IBQuery1.SQL.clear;
dm.IBQuery1.SQL.Add('delete
from cess_acc where id_acc='+chr(39)+Label13.
dm.IBQuery1.ExecSQL;
Label13.Caption:='снятие отменено';
form9.Refresh;
form9.FormShow(sender);
end;
procedure TForm9.ComboBox2Change(Sender: TObject);
begin
//получаем id снятого с учета при выборе его из списка
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
account.id_acc from account join anketa on account.id_a=anketa.id_a
where anketa.fio='+chr(39)+
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
Label13.Caption:=dm.IBQuery1.
end;
procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.CheckBox1Click(sender);
end;
procedure TForm9.Button6Click(Sender: TObject);
begin
//обновляем анкету что выпускник вообще не учитовался
dm.IBQuery1.Close;
dm.IBQuery1.SQL.clear;
dm.IBQuery1.SQL.Add('update
anketa SET uc=0 WHERE fio='+chr(39)+ComboBox3.Text+
dm.IBQuery1.ExecSQL;
//удаляем данные об учете
dm.IBQuery1.Close;
dm.IBQuery1.SQL.clear;
dm.IBQuery1.SQL.Add('delete
from account where id_a='+chr(39)+Label15.
dm.IBQuery1.ExecSQL;
Label15.Caption:='постановка отменена';
form9.Refresh;
form9.FormShow(sender);
end;
procedure TForm9.ComboBox3Change(Sender: TObject);
begin
//получаем id поставленного на учет
dm.IBQuery1.Close;
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
id_a from anketa where fio='+chr(39)+ComboBox3.Text+
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
Label15.Caption:=dm.IBQuery1.
end;
procedure TForm9.Button7Click(Sender: TObject);
begin
dm.IBQuery1.SQL.Clear;
dm.IBQuery1.SQL.Add('select
uc, id_a from anketa where anketa.fio='+chr(39)+
dm.IBQuery1.Open;
dm.IBQuery1.First;
dm.IBQuery1.Last;
dm.IBQuery1.First;
dm.IBQuery2.SQL.Clear;
dm.IBQuery2.SQL.Add('select
id_acc from account join anketa on account.id_a=anketa.id_a where anketa.fio='+chr(39)+
dm.IBQuery2.Open;
dm.IBQuery2.First;
dm.IBQuery2.Last;
dm.IBQuery2.First;
if dm.IBQuery1.FieldByName('uc').
begin
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from cess_acc where id_acc='+dm.IBQuery2.
dm.IBQuery3.ExecSQL;
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from account where id_acc='+dm.IBQuery2.
dm.IBQuery3.ExecSQL;
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from anketa where id_a='+dm.IBQuery1.
dm.IBQuery3.ExecSQL;
end else
if dm.IBQuery1.FieldByName('uc').
begin
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from account where id_acc='+dm.IBQuery2.
dm.IBQuery3.ExecSQL;
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from anketa where id_a='+dm.IBQuery1.
dm.IBQuery3.ExecSQL;
end else
if dm.IBQuery1.FieldByName('uc').
begin
dm.IBQuery3.SQL.Clear;
dm.IBQuery3.SQL.Add('delete
from anketa where id_a='+dm.IBQuery1.
dm.IBQuery3.ExecSQL;
end;
Label17.Caption:='Анкета удалена';
form9.FormShow(sender);
end;
procedure TForm9.Edit2Change(Sender: TObject);
var
st:string;
begin
dm.IBQuery2.SQL.Clear;
st:='select * from use_acc
where login='+chr(39)+edit2.Text+
dm.IBQuery2.SQL.Add(st);
dm.IBQuery2.Open;
dm.IBQuery2.First;
dm.IBQuery2.last;
dm.IBQuery2.First;
if dm.IBQuery2.RecordCount=0 then
begin
Label18.Caption:='логин свободен';
Label18.Font.Color:=clGreen;
end else
begin
Label18.Caption:='логин занят';
Label18.Font.Color:=clRed;
end;
end;
end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,
Grids, DBGrids, Menus;
type
TForm10 = class(TForm)
DBGrid1: TDBGrid;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure FormShow(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
uses Unit2, Unit1;
{$R *.dfm}
procedure TForm10.FormShow(Sender: TObject);
begin
//заполняем таблицу архива
//в него вносятся те кто снят с учета
DBGrid1.DataSource:=dm.
dm.anketa.Close;
dm.anketa.SelectSQL.Clear;
dm.anketa.SelectSQL.Append('
dm.anketa.Open;
dm.anketa.First;
dm.anketa.Last;
dm.anketa.First;
DBGrid1.Columns[1].Title.
DBGrid1.Columns[1].Width:=250;
DBGrid1.Columns[2].Width:=150;
DBGrid1.Columns[2].Title.
DBGrid1.Columns[3].Width:=150;
DBGrid1.Columns[3].Title.
DBGrid1.Columns[0].Width:=40;
DBGrid1.Columns[0].Title.
end;
procedure TForm10.Edit1Change(Sender: TObject);
begin
//поиск по архиву по имени и фамилии
dm.anketa.Close;
dm.anketa.SelectSQL.Clear;
dm.anketa.SelectSQL.Append('