АСУ отдела информационных технологий

Автор работы: Пользователь скрыл имя, 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. Эргономическая безопасность
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ЛИСТИНГ ПРОГРАММЫ
Приложение А
Копии графической части
Приложение Б
Приложение В
Приложение Г
Приложение Д

Файлы: 1 файл

Готовый диплом.docx

— 2.12 Мб (Скачать файл)

    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(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 TFmFiltHist.BitBtn1Click(Sender: TObject);

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(Sender: TObject);

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(Sender: TObject);

begin

  If DM.TbHistory.Modified then DM.TbHistory.Post;

end;

 

procedure TFmHistory.SpeedButton1Click(Sender: TObject);

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.Date)) + ' AND Дата_осмотра <=' + DateToStr((DateTimePicker2.Date));

    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(Sender: TObject);

begin

  Case RadioGroup1.ItemIndex of

    0 :  DM.TbManuf.Locate('Производитель', EditFind.Text, [locaseinsensitive, lopartialkey]);

    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(Sender: TObject);

begin

    Case RadioGroup1.ItemIndex of

    0 :  DM.TbMaster.Locate('ФИО мастера', EditFind.Text, [locaseinsensitive, lopartialkey]);

    1 :  DM.TbMaster.Locate('Квалификация', EditFind.Text, [locaseinsensitive, lopartialkey]);

  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(Sender: TObject);

begin

  FmClient.Show;

end;

procedure TFmMenu.ActManufExecute(Sender: TObject);

begin

  FmManuf.Show;

end;

procedure TFmMenu.ActTypeExecute(Sender: TObject);

begin

  FmType.Show;

end;

procedure TFmMenu.ActMasterExecute(Sender: TObject);

begin

  FmMaster.Show;

end;

 

procedure TFmMenu.ActExitExecute(Sender: TObject);

begin

close;

end;

procedure TFmMenu.ActCompExecute(Sender: TObject);

begin

  FmComp.Show;

end;

procedure TFmMenu.ActSProjectExecute(Sender: TObject);

begin

  FmSProject.Show;

end;

procedure TFmMenu.ActProjectExecute(Sender: TObject);

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].Clear; //Удаляем все диаграммы

  FmRate.DBChart1.Title.Text.Clear;//Очистка заголовка

  FmRate.DBChart1.Title.Text.Add('Рейтинг сотрудников по участию в проектах');

  DM.QRate.First;

  for i := 0 to DM.QRate.RecordCount -1 do //

     begin

       FmRate.DBChart1.Series[0].Add(DM.QRate.FieldByName('Count - выполнение').Value, DM.QRate.FieldByName('ФИО сотрудника').AsString, clRed);     

       DM.QRate.Next;

     end;

  FmRate.ShowModal;

end;

procedure TFmMenu.ActManProjExecute(Sender: TObject);

var Excel: Variant;

    WorkbookName: string;

    i, PosInc, j: Integer;

begin

   WorkbookName := GetCurrentDir + '\Сотрудники на проекте.xlt';

  Excel := CreateOleObject('Excel.Application');

  try

  Excel.Workbooks.Open(WorkbookName);

    //Открытие книги

  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].Select;

          Excel.Selection.Insert;

          Excel.Rows.Item[PosInc].Select;

          Excel.Selection.Copy;

          Excel.Rows.Item[PosInc+1].Select;

          Excel.ActiveSheet.Paste;

          Excel.Application.CutCopyMode := False;

        end;

        Excel.Cells[PosInc,1] := DM.TbSProject.FieldByName('Название проекта').AsString;

        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].Select;

           Excel.Selection.Insert;

           Excel.Rows.Item[PosInc].Select;

           Excel.Selection.Copy;

           Excel.Rows.Item[PosInc+1].Select;

           Excel.ActiveSheet.Paste;

           Excel.Application.CutCopyMode := False;

           Excel.Cells[PosInc,2] := DM.TbProcess.FieldByName('Сотрудник').AsString;

           Excel.Cells[PosInc,3] := DM.TbProcess.FieldByName('Характеристика').AsString;

           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.Application');

 

  try

  Excel.Workbooks.Open(WorkbookName);

    //Открытие книги

  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].Select;

          Excel.Selection.Insert;

          Excel.Rows.Item[PosInc].Select;

          Excel.Selection.Copy;

          Excel.Rows.Item[PosInc+1].Select;

          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].Select;

           Excel.Selection.Insert;

           Excel.Rows.Item[PosInc].Select;

           Excel.Selection.Copy;

           Excel.Rows.Item[PosInc+1].Select;

           Excel.ActiveSheet.Paste;

           Excel.Application.CutCopyMode := False;

           Excel.Cells[PosInc,2] := DM.TbSet.FieldByName('Модель').AsString + '/' + DM.TbSet.FieldByName('Тип комплектующего').AsString;

           PosInc := PosInc + 1;

           DM.TbSet.Next;

 

 

           DM.TbHistory.First;

        for k:=0 to DM.TbHistory.RecordCount-1 do

          begin

           Excel.Rows.Item[PosInc+1].Select;

           Excel.Selection.Insert;

           Excel.Rows.Item[PosInc].Select;

           Excel.Selection.Copy;

           Excel.Rows.Item[PosInc+1].Select;

           Excel.ActiveSheet.Paste;

           Excel.Application.CutCopyMode := False;

           Excel.Cells[PosInc,3] := DM.TbHistory.FieldByName('Дата_осмотра').AsString;

           Excel.Cells[PosInc,4] := DM.TbHistory.FieldByName('ФИО мастера').AsString;

           Excel.Cells[PosInc,5] := DM.TbHistory.FieldByName('Неисправность').AsString;

           st := '';

           if  DM.TbHistory.FieldByName('Замена').AsBoolean = true then st := st + 'замена ';

           if  DM.TbHistory.FieldByName('Гарантия').AsBoolean = true then st := st + 'гарантия ';

           if  DM.TbHistory.FieldByName('Заказ').AsBoolean = true then st := st + 'заказ ';

           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(Sender: TObject);

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.Application');

  try

  Excel.Workbooks.Open(WorkbookName);

    //Открытие книги

  Excel.WorkSheets[1].Select;

      DM.QGarant.First;

      PosInc := 3; //Начальная  позиция

      for i:=0 to DM.QGarant.RecordCount-1 do

       begin

          Excel.Rows.Item[PosInc+1].Select;

          Excel.Selection.Insert;

          Excel.Rows.Item[PosInc].Select;

          Excel.Selection.Copy;

          Excel.Rows.Item[PosInc+1].Select;

          Excel.ActiveSheet.Paste;

          Excel.Application.CutCopyMode := False;

        Excel.Cells[PosInc,1] := DM.QGarant.FieldByName('ФИО сотрудника').AsString + '/' + DM.QGarant.FieldByName('Имя компьютера').AsString;; 

Информация о работе АСУ отдела информационных технологий