Автор работы: Пользователь скрыл имя, 19 Февраля 2013 в 08:30, дипломная работа
Цель работы – разработать автоматизированную систему управления учета комплектующих, обслуживание компьютерной техники и разработки проектов в организации.
В процессе работы проведен анализ деятельности ООО УКЦ «Интеграл», изучены принципы ведения учета разработки проектов и комплектующих, разработана функциональная модель системы, проведено инфологическое проектирование, разработана структура базы данных. В процессе работы использованы CASE- средства BPWin и ERWin.
АННОТАЦИЯ
ВВЕДЕНИЕ
1. Общая часть
1.1. Определение цели и задачи проектирования АСУ
1.2. Требования к АСУ
1.3. Анализ методов и технологий решения задач
1.4. Функции и параметры программных средств
1.5. Построение информационной модели данных
2. Специальная часть
2.1. Описание постановки задачи
2.2. Разработка функциональной модели АСУ
2.3. Инструкция пользователя
2.4. Отладка и испытание программы
4. Безопасность жизнедеятельности
4.1. Анализ потенциально опасных и вредных производственных факторов
4.2. Требования к рабочему месту
4.3. Конструкция рабочего стола
4.4. Требования безопасности во время работы
4.5. Требования безопасности в аварийных ситуациях
4.6. Требования безопасности по окончанию работы
4.7. Эргономическая безопасность
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ЛИСТИНГ ПРОГРАММЫ
Приложение А
Копии графической части
Приложение Б
Приложение В
Приложение Г
Приложение Д
QGarant: TADOQuery;
QGarantDSDesigner: TWideStringField;
QGarantDSDesigner2: TDateTimeField;
QGarantDSDesigner3: TDateTimeField;
QGarantDSDesigner4: TBCDField;
QGarantDSDesigner5: TWideStringField;
QGarantDSDesigner6: TWideStringField;
DataSource1: TDataSource;
QGarantDSDesigner7: TWideStringField;
QGarantDSDesigner8: TWideStringField;
QZakaz: TADOQuery;
QZakazDSDesigner: TWideStringField;
QZakazDSDesigner2: TWideStringField;
QZakazDSDesigner3: TWideStringField;
QZakazDSDesigner4: TBCDField;
QZakazDSDesigner5: TBooleanField;
QZakazDSDesigner6: TBooleanField;
QZakaz_: TDateTimeField;
QZakazDSDesigner7: TWideStringField;
QZakazDSDesigner8: TWideStringField;
QReplace: TADOQuery;
QReplaceDSDesigner: TWideStringField;
QReplaceDSDesigner2: TWideStringField;
QReplaceDSDesigner3: TWideStringField;
QReplaceDSDesigner4: TBCDField;
QReplaceDSDesigner5: TWideStringField;
QReplaceDSDesigner6: TBooleanField;
QReplaceDSDesigner7: TBooleanField;
QReplace_: TDateTimeField;
QReplaceDSDesigner8: TWideStringField;
QReplaceDSDesigner9: TWideStringField;
QClProj: TADOQuery;
QClProjDSDesigner: TWideStringField;
QClProjDSDesigner2: TWideStringField;
QClProjDSDesigner3: TDateTimeField;
QClProjDSDesigner4: TDateTimeField;
QClProjDSDesigner5: TBCDField;
QClProjDSDesigner6: TWideStringField;
QClProjid: TIntegerField;
TbHistory1DSDesigner: TWideStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
{$R *.dfm}
end.
unit UnFiltHist;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask, ComCtrls,
Buttons;
type
TFmFiltHist = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Panel2: TPanel;
Label1: TLabel;
Label3: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBLookupComboBox2: TDBLookupComboBox;
DBEdit5: TDBEdit;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
DBCheckBox3: TDBCheckBox;
Panel3: TPanel;
Panel4: TPanel;
DBGrid1: TDBGrid;
procedure Panel4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmFiltHist: TFmFiltHist;
implementation
uses UnDM;
{$R *.dfm}
procedure TFmFiltHist.Panel4Click(
begin
if Panel2.Visible = true then
begin
Panel2.Visible := false;
Panel4.Caption := '<<';
Panel4.Hint := 'Показать подробную информацию';
end
else
begin
Panel2.Visible := true;
Panel4.Caption := '>>';
Panel4.Hint := 'Скрыть подробную информацию';
end;
end;
procedure TFmFiltHist.BitBtn1Click(
begin
Close;
end;
end.
unit UnHistory;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DBCtrls, Mask, StdCtrls, Buttons, ExtCtrls,
ComCtrls;
type
TFmHistory = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Panel2: TPanel;
Label1: TLabel;
Label3: TLabel;
DBEdit1: TDBEdit;
BitBtn2: TBitBtn;
DBLookupComboBox2: TDBLookupComboBox;
Panel3: TPanel;
Panel4: TPanel;
DBGrid1: TDBGrid;
DBEdit5: TDBEdit;
Label2: TLabel;
DBCheckBox1: TDBCheckBox;
DBCheckBox2: TDBCheckBox;
DBCheckBox3: TDBCheckBox;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
DateTimePicker1: TDateTimePicker;
Label4: TLabel;
DateTimePicker2: TDateTimePicker;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
SpeedButton1: TSpeedButton;
procedure BitBtn1Click(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmHistory: TFmHistory;
implementation
uses UnDM, UnFiltHist;
{$R *.dfm}
procedure TFmHistory.BitBtn1Click(
begin
close;
end;
procedure TFmHistory.Panel4Click(Sender: TObject);
begin
if Panel2.Visible = true then
begin
Panel2.Visible := false;
Panel4.Caption := '<<';
Panel4.Hint := 'Показать подробную информацию';
end
else
begin
Panel2.Visible := true;
Panel4.Caption := '>>';
Panel4.Hint := 'Скрыть подробную информацию';
end;
end;
procedure TFmHistory.BitBtn2Click(
begin
If DM.TbHistory.Modified then DM.TbHistory.Post;
end;
procedure TFmHistory.SpeedButton1Click(
var filter_str : string; //Строка фильтра
begin
filter_str := 'id_компл = '+ DM.TbSet.FieldByName('id комплект').AsString;
if CheckBox1.Checked then //По датам
begin
filter_str := filter_str
+ ' AND Дата_осмотра >=' + DateToStr((DateTimePicker1.
end;
if CheckBox2.Checked then //По замене
filter_str := filter_str +' AND Замена = TRUE'
else
filter_str := filter_str +' AND Замена = FALSE';
if CheckBox4.Checked then //По заказу
filter_str := filter_str +' AND Заказ = TRUE'
else
filter_str := filter_str +' AND Заказ = FALSE';
if CheckBox3.Checked then //По гарантии
filter_str := filter_str +' AND Гарантия = TRUE'
else
filter_str := filter_str +' AND Гарантия = FALSE';
//ShowMessage(filter_str);
DM.TbHistory1.Filtered := false;
DM.TbHistory1.Filter := filter_str;
DM.TbHistory1.Filtered := true;
FmFiltHist.ShowModal;
end;
end.
unit UnManuf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons, DBCtrls, DB;
type
TFmManuf = class(TForm)
Panel1: TPanel;
Label7: TLabel;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
RadioGroup1: TRadioGroup;
EditFind: TEdit;
Panel3: TPanel;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure EditFindChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmManuf: TFmManuf;
implementation
uses UnDM;
{$R *.dfm}
procedure TFmManuf.BitBtn1Click(Sender: TObject);
begin
close;
end;
procedure TFmManuf.EditFindChange(
begin
Case RadioGroup1.ItemIndex of
0 : DM.TbManuf.Locate('
1 : DM.TbManuf.Locate('Страна', EditFind.Text, [locaseinsensitive, lopartialkey]);
end;
end;
end.
unit UnMaster;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, Buttons, DBCtrls, DB;
type
TFmMaster = class(TForm)
Panel1: TPanel;
Label7: TLabel;
GroupBox1: TGroupBox;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
RadioGroup1: TRadioGroup;
EditFind: TEdit;
Panel3: TPanel;
DBGrid1: TDBGrid;
procedure BitBtn1Click(Sender: TObject);
procedure EditFindChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmMaster: TFmMaster;
implementation
uses UnDM;
{$R *.dfm}
procedure TFmMaster.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TFmMaster.EditFindChange(
begin
Case RadioGroup1.ItemIndex of
0 : DM.TbMaster.Locate('ФИО мастера', EditFind.Text, [locaseinsensitive, lopartialkey]);
1 : DM.TbMaster.Locate('
end;
end;
end.
unit UnMenu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ActnList, ActnCtrls, ToolWin, ActnMan, ActnMenus,
ComCtrls, ImgList, ComObj, Grids, DBGrids, jpeg, ExtCtrls;
type
TFmMenu = class(TForm)
ActionManager1: TActionManager;
ActionMainMenuBar1: TActionMainMenuBar;
ActExit: TAction;
ActClient: TAction;
ActManuf: TAction;
ActType: TAction;
ActMaster: TAction;
ActComp: TAction;
ActProject: TAction;
ActSProject: TAction;
ActRate: TAction;
ToolBar1: TToolBar;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ActManProj: TAction;
AcServ: TAction;
ActGarant: TAction;
ActZakaz: TAction;
ActReplace: TAction;
ActClientZ: TAction;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure ActClientExecute(Sender: TObject);
procedure ActManufExecute(Sender: TObject);
procedure ActTypeExecute(Sender: TObject);
procedure ActMasterExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
procedure ActCompExecute(Sender: TObject);
procedure ActSProjectExecute(Sender: TObject);
procedure ActProjectExecute(Sender: TObject);
procedure ActRateExecute(Sender: TObject);
procedure ActManProjExecute(Sender: TObject);
procedure AcServExecute(Sender: TObject);
procedure ActGarantExecute(Sender: TObject);
procedure ActZakazExecute(Sender: TObject);
procedure ActReplaceExecute(Sender: TObject);
procedure ActClientZExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FmMenu: TFmMenu;
implementation
uses UnClient, UnManuf, UnType, UnMaster, UnComp, UnSProject, UnProject, UnRate,
UnDM;
{$R *.dfm}
procedure TFmMenu.Button1Click(Sender: TObject);
begin
FmClient.Show;
end;
procedure TFmMenu.ActClientExecute(
begin
FmClient.Show;
end;
procedure TFmMenu.ActManufExecute(
begin
FmManuf.Show;
end;
procedure TFmMenu.ActTypeExecute(Sender: TObject);
begin
FmType.Show;
end;
procedure TFmMenu.ActMasterExecute(
begin
FmMaster.Show;
end;
procedure TFmMenu.ActExitExecute(Sender: TObject);
begin
close;
end;
procedure TFmMenu.ActCompExecute(Sender: TObject);
begin
FmComp.Show;
end;
procedure TFmMenu.ActSProjectExecute(
begin
FmSProject.Show;
end;
procedure TFmMenu.ActProjectExecute(
begin
FmProject.Show;
end;
procedure TFmMenu.ActRateExecute(Sender: TObject);
var i : integer;
begin
DM.QRate.Active := false;
DM.QRate.Active := true;
FmRate.DBChart1.Series[0].
FmRate.DBChart1.Title.Text.
FmRate.DBChart1.Title.Text.
DM.QRate.First;
for i := 0 to DM.QRate.RecordCount -1 do //
begin
FmRate.DBChart1.Series[0].Add(
DM.QRate.Next;
end;
FmRate.ShowModal;
end;
procedure TFmMenu.ActManProjExecute(
var Excel: Variant;
WorkbookName: string;
i, PosInc, j: Integer;
begin
WorkbookName := GetCurrentDir + '\Сотрудники на проекте.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
Excel.WorkSheets[1].Select;
j := 0;
DM.TbSProject.First;
PosInc := 4; //Начальная позиция
for i:=0 to DM.TbSProject.RecordCount-1 do
begin
if i <> DM.TbProcess.RecordCount-1 then
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[PosInc,1]
:= DM.TbSProject.FieldByName('
PosInc := PosInc + 1;
//Excel.Cells[PosInc,1] := IntToStr(i+1);
DM.TbProcess.First;
for j:=0 to DM.TbProcess.RecordCount-1 do
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
Excel.Cells[PosInc,2] := DM.TbProcess.FieldByName('
Excel.Cells[PosInc,3] := DM.TbProcess.FieldByName('
DM.TbProcess.Next;
PosInc := PosInc + 1;
end;
DM.TbSProject.Next;
end; //for
Excel.WorkSheets[1].Select;
Excel.Visible := True;
except
Excel.Quit;
end;
end;
procedure TFmMenu.AcServExecute(Sender: TObject);
var Excel: Variant;
WorkbookName, st: string;
i, PosInc, j,k,m: Integer;
begin
WorkbookName := GetCurrentDir + '\Сервис компьютеров.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
Excel.WorkSheets[1].Select;
j := 0;
PosInc := 4; //Начальная позиция
DM.TbDiv.First;
for m:=0 to DM.TbDiv.RecordCount-1 do
begin
DM.TbComp.First;
for i:=0 to DM.TbComp.RecordCount-1 do
begin
//if i <> DM.TbComp1.RecordCount-1 then
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
end;
Excel.Cells[PosInc,1] := DM.TbComp.FieldByName('ФИО сотрудника').AsString + '/'+DM.TbComp.FieldByName('Имя компьютера').AsString;
PosInc := PosInc + 1;
//Excel.Cells[PosInc,1] := IntToStr(i+1);
DM.TbSet.First;
for j:=0 to DM.TbSet.RecordCount-1 do
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
Excel.Cells[PosInc,2] := DM.TbSet.FieldByName('Модель')
PosInc := PosInc + 1;
DM.TbSet.Next;
DM.TbHistory.First;
for k:=0 to DM.TbHistory.RecordCount-1 do
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
Excel.Cells[PosInc,3] := DM.TbHistory.FieldByName('
Excel.Cells[PosInc,4] := DM.TbHistory.FieldByName('ФИО мастера').AsString;
Excel.Cells[PosInc,5] := DM.TbHistory.FieldByName('
st := '';
if DM.TbHistory.FieldByName('
if DM.TbHistory.FieldByName('
if DM.TbHistory.FieldByName('
Excel.Cells[PosInc,6] := st;
DM.TbHistory.Next;
PosInc := PosInc + 1;
end;
end;
DM.TbComp.Next;
end; //for
DM.TbDiv.Next;
end; //for
Excel.WorkSheets[1].Select;
Excel.Visible := True;
except
Excel.Quit;
end;
end;
procedure TFmMenu.ActGarantExecute(
var Excel: Variant;
WorkbookName: string;
i, PosInc, j : Integer;
//count : Extended;
begin
DM.QGarant.Close;
DM.QGarant.Parameters[0].Value := Now;
DM.QGarant.Open;
WorkbookName := GetCurrentDir + '\Комплектующие на гарантии.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
Excel.WorkSheets[1].Select;
DM.QGarant.First;
PosInc := 3; //Начальная позиция
for i:=0 to DM.QGarant.RecordCount-1 do
begin
Excel.Rows.Item[PosInc+1].
Excel.Selection.Insert;
Excel.Rows.Item[PosInc].
Excel.Selection.Copy;
Excel.Rows.Item[PosInc+1].
Excel.ActiveSheet.Paste;
Excel.Application.CutCopyMode := False;
Excel.Cells[PosInc,1] := DM.QGarant.FieldByName('ФИО сотрудника').AsString + '/' + DM.QGarant.FieldByName('Имя компьютера').AsString;;