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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)

        Excel.Cells[PosInc,2] := DM.QGarant.FieldByName('Модель').AsString;

        Excel.Cells[PosInc,3] := DM.QGarant.FieldByName('Тип').AsString;

        Excel.Cells[PosInc,4] := DM.QGarant.FieldByName('Стоимость').AsString;

        Excel.Cells[PosInc,5] := DM.QGarant.FieldByName('Производитель').AsString;

        Excel.Cells[PosInc,6] := DM.QGarant.FieldByName('Дата выпуска').AsString;

        Excel.Cells[PosInc,7] := DM.QGarant.FieldByName('Гарантия до').AsString;

        //count :=  Now - DM.QGarant.FieldByName('Гарантия до').AsDateTime;

        //Excel.Cells[PosInc,8] := Excel.Cells[PosInc,7] -Excel.Cells[1,1];

        PosInc := PosInc + 1;

        //

        //Excel.Cells[PosInc,1] := IntToStr(i+1);

         DM.QGarant.Next;

 

       end; //for

  Excel.WorkSheets[1].Select;

  Excel.Visible := True;

  except

    Excel.Quit;

  end;

end;

 

procedure TFmMenu.ActZakazExecute(Sender: TObject);

var Excel: Variant;

    WorkbookName: string;

    i, PosInc, j : Integer;

    //count : Extended;

begin

  DM.QZakaz.Close;

  DM.QZakaz.Open;

     WorkbookName := GetCurrentDir + '\Заказ комплектующих.xlt';

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

  try

  Excel.Workbooks.Open(WorkbookName);

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

  Excel.WorkSheets[1].Select;

      DM.QZakaz.First;

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

      for i:=0 to DM.QZakaz.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.QZakaz.FieldByName('ФИО сотрудника').AsString + '/' + DM.QZakaz.FieldByName('Имя компьютера').AsString;;

        Excel.Cells[PosInc,2] := DM.QZakaz.FieldByName('Модель').AsString;

        Excel.Cells[PosInc,3] := DM.QZakaz.FieldByName('Тип').AsString;

        Excel.Cells[PosInc,4] := DM.QZakaz.FieldByName('Стоимость').AsString;

        Excel.Cells[PosInc,5] := DM.QZakaz.FieldByName('Производитель').AsString;

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

        PosInc := PosInc + 1;    

         DM.QZakaz.Next;

       end; //for

  Excel.WorkSheets[1].Select;

  Excel.Visible := True;

  except

    Excel.Quit;

  end;

end;

procedure TFmMenu.ActReplaceExecute(Sender: TObject);

var Excel: Variant;

    WorkbookName: string;

    i, PosInc, j : Integer;

begin

  DM.QReplace.Close;

  DM.QReplace.Open;

     WorkbookName := GetCurrentDir + '\Замена комплектующих.xlt';

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

  try

  Excel.Workbooks.Open(WorkbookName);

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

  Excel.WorkSheets[1].Select;

      DM.QReplace.First;

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

      for i:=0 to DM.QReplace.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.QReplace.FieldByName('ФИО сотрудника').AsString + '/' + DM.QZakaz.FieldByName('Имя компьютера').AsString;;

        Excel.Cells[PosInc,2] := DM.QReplace.FieldByName('Модель').AsString;

        Excel.Cells[PosInc,3] := DM.QReplace.FieldByName('Тип').AsString;

        Excel.Cells[PosInc,4] := DM.QReplace.FieldByName('Стоимость').AsString;

        Excel.Cells[PosInc,5] := DM.QReplace.FieldByName('Производитель').AsString;

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

        PosInc := PosInc + 1;

         DM.QReplace.Next;

       end; //for

  Excel.WorkSheets[1].Select;

  Excel.Visible := True;

  except

    Excel.Quit;

  end;

 

end;

procedure TFmMenu.ActClientZExecute(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;

    DM.TbClient.First;

    PosInc := 3;

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

       begin

         DM.QClProj.Active := false;

         DM.QClProj.Parameters[0].Value := DM.TbClient.FieldByName('id клиент').Value;

         DM.QClProj.Active := true;

         if DM.QClProj.RecordCount <> 0 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;

            Excel.Cells[PosInc,1] := DM.TbClient.FieldByName('Наименование').AsString;

            PosInc := PosInc + 1;

              DM.QClProj.First;

              for j:=0 to DM.QClProj.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.QClProj.FieldByName('Название проекта').AsString;

                    Excel.Cells[PosInc,3] := DM.QClProj.FieldByName('Описание проекта').AsString;

                    Excel.Cells[PosInc,4] := DM.QClProj.FieldByName('Стоимость').AsString;

                    Excel.Cells[PosInc,5] := DM.QClProj.FieldByName('Начало').AsString;

                    Excel.Cells[PosInc,6] := DM.QClProj.FieldByName('Окончание').AsString;

                    Excel.Cells[PosInc,7] := DM.QClProj.FieldByName('Состояние').AsString;

                    PosInc := PosInc + 1;

                    DM.QClProj.Next;

 

                end;

           end;

           DM.TbClient.Next;

       end;

  Excel.WorkSheets[1].Select;

  Excel.Visible := True;

  except

    Excel.Quit;

  end;   

end;

end.

unit UnProject;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ExtCtrls, StdCtrls, DBCtrls, Mask, Grids, DBGrids, Buttons;

type

  TFmProject = class(TForm)

    Panel1: TPanel;

    Panel2: TPanel;

    Panel3: TPanel;

    Label1: TLabel;

    DBNavigator1: TDBNavigator;

    DBEdit1: TDBEdit;

    Label2: TLabel;

    DBEdit2: TDBEdit;

    Label3: TLabel;

    DBEdit3: TDBEdit;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Panel4: TPanel;

    DBGrid1: TDBGrid;

    DBNavigator2: TDBNavigator;

    Panel5: TPanel;

    Panel6: TPanel;

    DBNavigator3: TDBNavigator;

    DBGrid2: TDBGrid;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  FmProject: TFmProject;

implementation

uses UnDM, UnRate;

{$R *.dfm}

procedure TFmProject.BitBtn1Click(Sender: TObject);

begin

  close;

end;

procedure TFmProject.BitBtn2Click(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;

end.

unit UnRate;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, DbChart;

type

  TFmRate = class(TForm)

    DBChart1: TDBChart;

    Series1: TBarSeries;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  FmRate: TFmRate;

implementation

{$R *.dfm}

end.

unit UnSet;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, DBGrids, Mask, DBCtrls, StdCtrls, ExtCtrls, Buttons, DB;

type

  TFmSet = class(TForm)

    Panel1: TPanel;

    Label7: TLabel;

    GroupBox1: TGroupBox;

    DBNavigator1: TDBNavigator;

    BitBtn1: TBitBtn;

    EditFind: TEdit;

    Panel2: TPanel;

    Label1: TLabel;

    Label6: TLabel;

    DBEdit1: TDBEdit;

    BitBtn2: TBitBtn;

    Panel3: TPanel;

    Panel4: TPanel;

    DBGrid1: TDBGrid;

    DBLookupComboBox1: TDBLookupComboBox;

    Label2: TLabel;

    DBLookupComboBox2: TDBLookupComboBox;

    Label3: TLabel;

    DBLookupComboBox3: TDBLookupComboBox;

    Label4: TLabel;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    Label5: TLabel;

    DBEdit4: TDBEdit;

    Label8: TLabel;

    BitBtn3: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure EditFindChange(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure Panel4Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  FmSet: TFmSet;

 

implementation

uses UnDM, UnHistory;

{$R *.dfm}

procedure TFmSet.BitBtn1Click(Sender: TObject);

begin

  close;

end;

procedure TFmSet.BitBtn2Click(Sender: TObject);

begin

   if DM.TbSet.Modified then DM.TbSet.Post;

end;

procedure TFmSet.EditFindChange(Sender: TObject);

begin

  DM.TbSet.Locate('Модель', EditFind.Text, [locaseinsensitive, lopartialkey]);

end;

procedure TFmSet.BitBtn3Click(Sender: TObject);

begin

  FmHistory.Caption := 'История сервиса. Тип комплектующего: '+ QuotedStr(DM.TbSet.FieldByName('Тип комплектующего').AsString) + '. Модель: '+ QuotedStr(DM.TbSet.FieldByName('Модель').AsString);

  FmHistory.ShowModal;

end;

procedure TFmSet.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;

end.

unit UnSProject;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Grids, DBGrids, DBCtrls, Mask, StdCtrls, Buttons, ExtCtrls, DB;

type

  TFmSProject = class(TForm)

    Panel1: TPanel;

    Label7: TLabel;

    GroupBox1: TGroupBox;

    DBNavigator1: TDBNavigator;

    BitBtn1: TBitBtn;

    EditFind: TEdit;

    Panel2: TPanel;

    Label1: TLabel;

    Label6: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label5: TLabel;

    Label8: TLabel;

    DBEdit1: TDBEdit;

    BitBtn2: TBitBtn;

    DBLookupComboBox1: TDBLookupComboBox;

    DBEdit2: TDBEdit;

    DBEdit3: TDBEdit;

    DBEdit4: TDBEdit;

    Panel3: TPanel;

    Panel4: TPanel;

    DBGrid1: TDBGrid;

    DBEdit5: TDBEdit;

    DBEdit6: TDBEdit;

    Label9: TLabel;

    procedure BitBtn2Click(Sender: TObject);

    procedure Panel4Click(Sender: TObject);

    procedure EditFindChange(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  FmSProject: TFmSProject;

 

implementation

uses UnDM;

{$R *.dfm}

procedure TFmSProject.BitBtn2Click(Sender: TObject);

begin

  if DM.TbSProject.Modified then DM.TbSProject.Post;

end;

procedure TFmSProject.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 TFmSProject.EditFindChange(Sender: TObject);

begin

  DM.TbSProject.Locate('Название проекта', EditFind.Text, [locaseinsensitive, lopartialkey]);

end;

 

procedure TFmSProject.BitBtn1Click(Sender: TObject);

begin

  close;

end;

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КОПИИ Графической  ЧаСти

Приложение Б

 

(обязательное)

 

Рисунок Б.1

 

Рисунок Б.2

 

Рисунок Б.3

 

 

Рисунок Б.4

 

Рисунок Б.5

 

Рисунок Б.6

 

Рисунок Б.7

 

Рисунок Б.8

Рисунок Б.9

 

Рисунок Б.10

 

Рисунок Б.11

 

Рисунок Б.12

 

 

 

 

 

 

 

 

 

 

 

 

Приложение В

Таблица 4.1 – Структура  сущности «Отделы»

Название столбца

Описание

Id

Первичный ключ. Обеспечивает уникальность каждой записи.

Название отдела

Название отдела

ФИО начальника

ФИО начальника отдела

Описание

Характеристика отдела


 

Таблица 4.2 – Структура  сущности «Сотрудники»

Название столбца

Описание

Id

Первичный ключ. Обеспечивает уникальность каждой записи.

Id отдела

Внешний ключ. Номер отдела.

ФИО сотрудника

ФИО сотрудника отдела

Должность

Занимаемая должность

Функции

Выполняемые сотрудником  функции

Имя компьютера

Сетевое имя компьютера

IP

IP адрес компьютера

Дата ввода

Дата ввода в эксплуатацию

Инвентарный

Инвентарный номер компьютера

Описание

Описание компьютера


 

Таблица 4.3 – Структура  сущности «Комплект»

Название столбца

Описание

Id

Первичный ключ. Обеспечивает уникальность каждой записи.

Id сотрудника

Внешний ключ. Номер сотрудника (компьютера).

Id типа

Внешний ключ. Номер типа комплектующего.

Модель

Модель комплектующего

Id производителя

Внешний ключ. Номер производителя

Id поставщика

Внешний ключ. Номер поставщика.

Дата выпуска

Дата выпуска комплектующего

Стоимость

Стоимость комплектующего

Гарантия до

Дата истечения гарантии


 

 

Таблица 4.4 – Структура  сущности «Осмотр»

Название столбца

Описание

Id

Первичный ключ. Обеспечивает уникальность каждой записи.

Id комплектующего

Внешний ключ. Номер производителя

Дата осмотра

Дата осмотра

id мастера

Номер мастера, производившего осмотр.

Неисправность

Выявленная неисправность

Замена

Признак необходимости замены

Гарантия

Признак возможности замены по гарантии

Заказ

Признак необходимости заказа комплектующего


 

Таблица 4.5 – Структура  сущности «Типы»

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