Автор работы: Пользователь скрыл имя, 27 Марта 2015 в 17:54, дипломная работа
Целью данного дипломного проекта является: разработка автоматизированной системы учёта движения ремонтируемых электроприборов Открытого Акционерного Общества Северного Производственного Объединения «Арктика» (ОАО СПО «Арктика»), которая предназначена для введения новой технологии учета наличия и движения ремонтируемых электроприборов.
ВВЕДЕНИЕ 5
1. ПОСТАНОВКА ЗАДАЧИ 7
1.1. Характеристика комплекса задач 7
1.2. Функции автоматизированной системы 7
1.3. Выходные и входные данные 7
1.4. Требования к программному и техническому обеспечению АС 9
2. АНАЛИТИЧЕСКАЯ ЧАСТЬ 9
2.1. Организационная структура предприятия 9
2.2. Организация предметной области 10
2.2.1. Должностные обязанности кладовщика 11
2.3. Описание бизнес-процессов 12
2.4. Обзор существующих аналогов 16
2.5. Характеристика инструментальных средств 17
2.5.1. Характеристика CASE – средств 17
2.5.2. Характеристика СУБД 22
2.5.3. Характеристика средств программирования и отладки 23
3.1. Определение функции системы 26
3.4. Построение динамической модели данных 38
3.4.1. Диаграмма состояния системы 38
3.4.2. Диаграмма деятельности системы 38
3.4.3. Диаграмма топологии системы 39
3.4.4. Диаграмма последовательности (взаимодействия) 40
3.5. Описание интерфейсов и результатов работы программы 42
4. ЭКОНОМИЧЕСКАЯ ЧАСТЬ 49
4.1. Расчет стоимости покупных комплектующих и расходных материалов 49
4.2. Расчет трудоемкости создания программы 50
4.2. Расчет заработной платы 51
4.3. Расчет единого социального налога 51
4.4. Расчет прочих прямых расходов 51
4.5. Оценка экономической эффективности системы 52
5. ТРЕБОВАНИЯ К ТЕХНИКЕ БЕЗОПАСНОСТИ И ОХРАНЕ ЖИЗНЕДЕЯТЕЛЬНОСТИ 53
5.1 Анализ опасных и вредных факторов при работе на ЭВМ 53
5.2 Общие положения и область применения 54
5.3 Организация рабочего места пользователя 55
5.4. Микроклимат, содержание аэроионов и вредных химических веществ в воздухе помещений эксплуатации ЭВМ 56
5.5 Шум и вибрация 57
5.6 Освещение 58
5.7 Требования к помещениям для эксплуатации ЭВМ 58
5.8. Требования к монитору 59
5.9. Режим труда и отдыха 60
5.10. Защита от статического электричества и электромагнитных излучений 61
5.11. Требования к утилизации отходов при работе на компьютере 61
ЗАКЛЮЧЕНИЕ 63
ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 64
ПРИЛОЖЕНИЕ 65
В последнее время все большее распространение получают мониторы с низким уровнем излучения — так называемые LR-мониторы (Low Radiation). Эти устройства обычно отвечают одной из двух спецификаций, выработанных Шведским национальным советом по измерениям и тестированию MPR (Swedish National Board of Measurement and Testing). Первая спецификация (MPR I) касается в основном магнитных полей и определяет уровень излучения для частот в полосе от 1 до 400 кГц. Вторая спецификация (MPR II), принятая в декабре 1990 года была распространена и на электрические поля. Оба поля измеряются в двух полосах: 5 Гц - 2 кГц и 2 - 400 кГц. Напряженность электрического поля в нижней полосе не должна превышать 25 В/м, а в верхней 2,5 В/м, соответственно напряженность магнитного поля — 250 и 2,5 нанотесла. Электростатический потенциал должен быть ниже 500 В.
С учетом старения и выхода из строя компьютерной техники она вся попадает в отходы. К такому рода отходам можно отнести бумагу, картриджи, вышедшую из строя или устаревшую технику. При утилизации все отходы должны быть отсортированы. Бумага идет на вторичную переработку. Картриджи относятся к третьему классу опасности и складируются в специальных накопителях. Переработку компьютерных отходов производят на специальных полигонах. При утилизации старых компьютеров происходит их разработка на фракции: металлы, пластмассы, стекло.
Складирование, хранение, утилизация и захоронение образующихся отходов осуществляется в соответствии с существующими на предприятии нормативами и схемой размещения отходов.
Городская свалка промышленных и бытовых отходов расположена на свободной территории в 8 км от предприятия. Накопитель твердых промышленных отходов расположен к юго-востоку от города на расстоянии 7 км на площадке, прилегающей к дороге, ведущей на свалку промышленных отходов.
В целях предотвращения загрязнения почвы, нереализуемые и опасные токсичные отходы 1-3 классов опасности, образующиеся в процессе выполнения работ, собираются в специальные контейнеры и складируются на временной площадке контейнерного хранения токсичных отходов на территории предприятия согласно инструкции 60.81-1.02.056-99.
Концентрация химических веществ в почве не должна превышать допустимые нормы согласно нормативным документам.
В ходе дипломного проектирования был изучен процесс учета движения ремонтируемой электрорадиоаппаратуры и на его основе построена функциональная модель, представленная в аналитической части.
Далее был проведен анализ существующих аналогичных систем, в результате которого выяснилось, что ни одна из рассмотренных систем по тем или иным причинам не подходит для автоматизации учета движения ремонтируемой электрорадиоаппаратуры на данном производстве.
На следующем этапе была спроектирована логическая модель данных и определены основные функции системы.
Завершающим шагом дипломного проектирования была оценка экономических затрат на разработку данной системы.
В результате дипломного проектирования разработанная автоматизированная система учета конструкторской документации отвечает всем заявленным требованиям и выполняет следующие функции:
Внедрение системы учета движения ремонтируемой электрорадиоаппаратуры позволяет автоматизировать процесс учета движения ремонтируемой электрорадиоаппаратуры, сократив, таким образом, время на поиск и добавление информации, что приведет к ускорению производства в целом.
1. Маклаков С.В., Bpwin и Erwin. CASE–средства разработки информационных
систем. - М.: Диалог-МИФИ, 2001.
2. Хомоненко А., Гофман В. Самоучитель Delphi. – Санкт-Петербург: «БХВПетербург», 2003.
3. Конноли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика – М.: Вильямс, 2003.
4. Архангельский А.Я. «Delphi 7. Справочное пособие», М.: Бином, 2003.
5. СанПиН 2.1.7.1322-03. Гигиенические требования к размещению и обезвреживанию отходов производства и потребления от 30 апреля 2003 г.
ЛИСТИНГ ПРОГРАММЫ
unit UnitSelect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TFormSelect = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
procedure Panel4Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormSelect: TFormSelect;
implementation
uses UnitAutor, UnitJournal, UnitRepair, UnitSprav;
{$R *.dfm}
procedure TFormSelect.Panel4Click(
begin
FormJournal.Show;
FormSelect.Hide;
end;
procedure TFormSelect.Panel3Click(
begin
Application.Terminate;
end;
procedure TFormSelect.Panel5Click(
begin
FormRepair.Show;
FormSelect.Hide;
end;
procedure TFormSelect.Panel6Click(
begin
FormSprav.Show;
FormSelect.Hide;
end;
end.
unit UnitJournal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, ADODB, StdCtrls, Grids, DBGrids, Menus;
type
TFormJournal = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
ComboBoxPodrazd: TComboBox;
Label1: TLabel;
ADOTablePodrazd: TADOTable;
ADOConnectionJournal: TADOConnection;
ADOQueryViborNakl: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOQueryViborNaklNUMBER: TStringField;
ADOQueryViborNaklDATE_CREATE: TDateTimeField;
ADOQueryViborNaklPODRAZD_NAME: TStringField;
ADOQueryViborNaklIZD_NAIM: TStringField;
ADOQueryViborNaklSHIP_ZAV_NOM: TStringField;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
Panel10: TPanel;
Panel11: TPanel;
ADOQueryDevice: TADOQuery;
DBGrid2: TDBGrid;
DataSource2: TDataSource;
Panel12: TPanel;
Panel13: TPanel;
Panel14: TPanel;
Panel15: TPanel;
Panel16: TPanel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Panel17: TPanel;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBoxPodrazdClick(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel8Click(Sender: TObject);
procedure Panel10Click(Sender: TObject);
procedure Panel11Click(Sender: TObject);
procedure Panel9Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Panel12Click(Sender: TObject);
procedure Panel13Click(Sender: TObject);
procedure Panel15Click(Sender: TObject);
procedure Panel16Click(Sender: TObject);
procedure Panel17Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormJournal: TFormJournal;
implementation
uses UnitAutor, UnitSelect, UnitNakl, UnitPeriod, UnitViborIzd,
UnitSearchDate, UnitSearchPodrazd;
{$R *.dfm}
procedure TFormJournal.FormActivate(
begin
ADOConnectionJournal.
ADOTablePodrazd.Active:=true;
ADOTablePodrazd.Open;
ADOTablePodrazd.First;
ComboBoxPodrazd.Clear;
while ADOTablePodrazd.Eof=false do
begin
ComboBoxPodrazd.Items.Add(
ADOTablePodrazd.Next;
end;
end;
procedure TFormJournal.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ADOTablePodrazd.Active:=false;
ADOConnectionJournal.
end;
procedure TFormJournal.
begin
ADOTablePodrazd.Locate('
ADOQueryViborNakl.Parameters.
ADOQueryViborNakl.Open;
end;
procedure TFormJournal.Panel6Click(
begin
FormSelect.Show;
FormJournal.Close;
end;
procedure TFormJournal.Panel7Click(
begin
ADOQueryViborNakl.First;
end;
procedure TFormJournal.Panel8Click(
begin
ADOQueryViborNakl.Prior;
end;
procedure TFormJournal.Panel10Click(
begin
ADOQueryViborNakl.Next;
end;
procedure TFormJournal.Panel11Click(
begin
ADOQueryViborNakl.Last;
end;
procedure TFormJournal.Panel9Click(
begin
ADOQueryDevice.Parameters.
ADOQueryDevice.Close;
ADOQueryDevice.Open;
end;
procedure TFormJournal.DBGrid1CellClick(
begin
ADOQueryDevice.Parameters.
ADOQueryDevice.Close;
ADOQueryDevice.Open;
end;
procedure TFormJournal.Panel12Click(
begin
ADOQueryDevice.First;
end;
procedure TFormJournal.Panel13Click(
begin
ADOQueryDevice.Prior;
end;
procedure TFormJournal.Panel15Click(
begin
ADOQueryDevice.Next;
end;
procedure TFormJournal.Panel16Click(
begin
ADOQueryDevice.Last;
end;
procedure TFormJournal.Panel17Click(
begin
FormNakl.Show;
FormJournal.Hide;
end;
procedure TFormJournal.N3Click(Sender: TObject);
begin
FormPeriod.Show;
end;
procedure TFormJournal.N4Click(Sender: TObject);
begin
FormViborIzd.Show;
end;
procedure TFormJournal.N5Click(Sender: TObject);
begin
FormSearchData.Show;
FormJournal.Hide;
end;
procedure TFormJournal.N6Click(Sender: TObject);
begin
FormSearchPodrazd.Show;
FormJournal.Hide;
end;
end.
unit UnitNakl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, ComCtrls, ExtCtrls, DB, ADODB, Grids,
DBGrids;
type
TFormNakl = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
Label3: TLabel;
ComboBox1: TComboBox;
Label4: TLabel;
ComboBox2: TComboBox;
Label5: TLabel;
ComboBox3: TComboBox;
Panel3: TPanel;
ADOQuery1: TADOQuery;
Label7: TLabel;
ComboBox5: TComboBox;
ADOTableIzd: TADOTable;
ADOTableShip: TADOTable;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
CheckListBox1: TCheckListBox;
Panel4: TPanel;
procedure FormActivate(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure ComboBox5Click(Sender: TObject);
procedure ComboBox3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormNakl: TFormNakl;
implementation
uses UnitJournal;
{$R *.dfm}
procedure TFormNakl.FormActivate(Sender: TObject);
begin
FormJournal.ADOTablePodrazd.
FormJournal.ADOTablePodrazd.
while FormJournal.ADOTablePodrazd.
begin
ComboBox1.Items.Add(
ComboBox2.Items.Add(
FormJournal.ADOTablePodrazd.
end;
ADOTableShip.Open;
ADOTableShip.First;
while ADOTableShip.Eof=false do
begin
ComboBox5.Items.Add(
ADOTableShip.Next;
end;
end;
procedure TFormNakl.Panel3Click(Sender: TObject);
begin
FormJournal.Show;
FormNakl.Close;
end;
procedure TFormNakl.ComboBox5Click(
begin
;
ADOQuery2.Parameters.
ADOQuery2.Close;
ADOQuery2.Open;
ADOQuery2.First;
while ADOQuery2.Eof=false do
begin
ComboBox3.Items.Add(ADOQuery2.
ADOQuery2.Next;
end;
end;
procedure TFormNakl.ComboBox3Click(
begin
ADOQuery3.Parameters.
ADOQuery3.Parameters.
ADOQuery3.Close;
ADOQuery3.Open;
ADOQuery3.First;
while ADOQuery3.Eof=false do
begin
CheckListBox1.Items.Add(ADOQue
ADOQuery3.Next;
end;
end;
end.
unit UnitPeriod;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, StdCtrls, ADODB, DB, RpDefine, RpCon,
RpConDS;
type
TFormPeriod = class(TForm)
Panel1: TPanel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Label5: TLabel;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
ADOQuery1: TADOQuery;
Panel2: TPanel;
Panel3: TPanel;
procedure Panel3Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Panel2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormPeriod: TFormPeriod;
Podrazd: String;
implementation
uses UnitJournal, UnitAutor, UnitOtchPeriod;
{$R *.dfm}
procedure TFormPeriod.Panel3Click(
begin
FormPeriod.Close;
end;
procedure TFormPeriod.FormActivate(
begin
ADOTable1.Open;
ADOTable1.First;
while ADOTable1.Eof=false do
begin
ComboBox1.Items.Add(ADOTable1.
ADOTable1.Next;
end;
ADOTable2.Open;
ADOTable2.First;
while ADOTable2.Eof=false do
begin
ComboBox2.Items.Add(ADOTable2.
ADOTable2.Next;
end;
Podrazd:=FormJournal.
end;
procedure TFormPeriod.Panel2Click(
begin
ADOQuery1.Parameters.
ADOQuery1.Parameters.
ADOQuery1.Parameters.
ADOQuery1.Parameters.
FormOtchPer.QRLabel3.Caption:=
FormOtchPer.QRLabel14.Caption:
FormOtchPer.QRLabel5.Caption:=