Автор работы: Пользователь скрыл имя, 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. Эргономическая безопасность
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ЛИСТИНГ ПРОГРАММЫ
Приложение А
Копии графической части
Приложение Б
Приложение В
Приложение Г
Приложение Д
Excel.Cells[PosInc,2]
:= DM.QGarant.FieldByName('
Excel.Cells[PosInc,3]
:= DM.QGarant.FieldByName('Тип').
Excel.Cells[PosInc,4]
:= DM.QGarant.FieldByName('
Excel.Cells[PosInc,5]
:= DM.QGarant.FieldByName('
Excel.Cells[PosInc,6] := DM.QGarant.FieldByName('Дата выпуска').AsString;
Excel.Cells[PosInc,7]
:= DM.QGarant.FieldByName('
//count
:= Now - DM.QGarant.FieldByName('
//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(
var Excel: Variant;
WorkbookName: string;
i, PosInc, j : Integer;
//count : Extended;
begin
DM.QZakaz.Close;
DM.QZakaz.Open;
WorkbookName := GetCurrentDir + '\Заказ комплектующих.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
Excel.WorkSheets[1].Select;
DM.QZakaz.First;
PosInc := 3; //Начальная позиция
for i:=0 to DM.QZakaz.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.QZakaz.FieldByName('ФИО сотрудника').AsString + '/' + DM.QZakaz.FieldByName('Имя компьютера').AsString;;
Excel.Cells[PosInc,2]
:= DM.QZakaz.FieldByName('Модель'
Excel.Cells[PosInc,3]
:= DM.QZakaz.FieldByName('Тип').
Excel.Cells[PosInc,4]
:= DM.QZakaz.FieldByName('
Excel.Cells[PosInc,5]
:= DM.QZakaz.FieldByName('
Excel.Cells[PosInc,6]
:= DM.QZakaz.FieldByName('Дата_
PosInc := PosInc + 1;
DM.QZakaz.Next;
end; //for
Excel.WorkSheets[1].Select;
Excel.Visible := True;
except
Excel.Quit;
end;
end;
procedure TFmMenu.ActReplaceExecute(
var Excel: Variant;
WorkbookName: string;
i, PosInc, j : Integer;
begin
DM.QReplace.Close;
DM.QReplace.Open;
WorkbookName := GetCurrentDir + '\Замена комплектующих.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
Excel.WorkSheets[1].Select;
DM.QReplace.First;
PosInc := 3; //Начальная позиция
for i:=0 to DM.QReplace.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.QReplace.FieldByName('ФИО сотрудника').AsString + '/' + DM.QZakaz.FieldByName('Имя компьютера').AsString;;
Excel.Cells[PosInc,2]
:= DM.QReplace.FieldByName('
Excel.Cells[PosInc,3]
:= DM.QReplace.FieldByName('Тип')
Excel.Cells[PosInc,4]
:= DM.QReplace.FieldByName('
Excel.Cells[PosInc,5]
:= DM.QReplace.FieldByName('
Excel.Cells[PosInc,6]
:= DM.QReplace.FieldByName('Дата_
PosInc := PosInc + 1;
DM.QReplace.Next;
end; //for
Excel.WorkSheets[1].Select;
Excel.Visible := True;
except
Excel.Quit;
end;
end;
procedure TFmMenu.ActClientZExecute(
var Excel: Variant;
WorkbookName: string;
i, PosInc, j : Integer;
begin
WorkbookName := GetCurrentDir + '\Проекты по заказчикам.xlt';
Excel := CreateOleObject('Excel.
try
Excel.Workbooks.Open(
//Открытие книги
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].
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.TbClient.FieldByName('
PosInc := PosInc + 1;
DM.QClProj.First;
for j:=0 to DM.QClProj.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.QClProj.FieldByName('
Excel.Cells[PosInc,3] := DM.QClProj.FieldByName('
Excel.Cells[PosInc,4] := DM.QClProj.FieldByName('
Excel.Cells[PosInc,5] := DM.QClProj.FieldByName('
Excel.Cells[PosInc,6] := DM.QClProj.FieldByName('
Excel.Cells[PosInc,7] := DM.QClProj.FieldByName('
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(
begin
close;
end;
procedure TFmProject.BitBtn2Click(
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;
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.
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(
begin
if DM.TbSProject.Modified then DM.TbSProject.Post;
end;
procedure TFmSProject.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 TFmSProject.EditFindChange(
begin
DM.TbSProject.Locate('Название проекта', EditFind.Text, [locaseinsensitive, lopartialkey]);
end;
procedure TFmSProject.BitBtn1Click(
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 – Структура сущности «Типы»