Совершенствование информационной системы "Техническая подготовка производства" под проект LADA Granta для ОАО "АвтоВАЗ"

Модернизации информационной системы "Техническая подготовка производства". Анализ процессов обработки данных при процессе заказа и размещения технологического оборудования, разработка модели автоматизированной обработки данных при помощи методологии RAD.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.06.2012
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Приведем нотацию Чена на следующем рисунке.

Рисунок 11 - Общая инфологическая модель разрабатываемой системы

Ключевой сущностью проектируемой ИС является «Задача». С данной сущностью работают все остальные, а именно:

- технолог;

- заказываемое оборудование;

- инженер ОТОиПС;

- фаза заказа.

Связь сущностей «Инженер ОТОиПС - Задача» описывает функцию длительности проекта, стоимости проекта, а также наименования задачи для отчётности.

Связь сущностей «Технолог - Задача» описывает функцию разработки проекта, внесения корректировок в связи с изменяющимися условиями, создания отчётности для главного технолога и вышестоящих должностных лиц.

Связь сущностей «Заказываемое оборудование - Задача» описывает функцию прямого взаимодействия этих сущностей, так как заказываемое оборудование это часть определённой задачи.

На сегодняшний день существует большое число разных видов моделей данных, обрабатываемых в информационной системе. В соответствии с источником [7], основными моделями данных являются:

- иерархическая модель - состоит из упорядоченного набора экземпляров в виде дерева без множественного наследования;

- сетевая модель - состоит из упорядоченного набора экземпляров в виде дерева с множественным наследованием;

- реляционная модель - состоит из отношений и элементов отношений (кортеж);

- объектная модель - состоит из данных, оформленных в виде моделей объектов произвольного типа.

Оценивание будет выполняться по 3-бальной шкале, где наивысший бал будет означать удовлетворение вида модели выдвинутому критерию, а наименьший - не удовлетворение. Основными критериями будут являться:

- простота физической реализации;

- личный опыт работы с моделью;

- «понятность» для пользователя.

Сведем сравнительный анализ моделей данных в таблицу.

Таблица 5 -Критическая оценка моделей данных разрабатываемой ИС

Критерий оценки

Иерархическая

Сетевая

Реляционная

Объектная

Простота физической реализации

2

2

3

3

Личный опыт работы

1

1

3

1

«Понятность» для пользователя

3

3

2

1

ИТОГО

6

6

8

5

В ходе проведенного сравнительного анализа была выбрана реляционная модель представления данных.

Для построения данной модели будет использоваться ERwin Data Modeler. Данное CASE-средство удовлетворяет следующим требованиям:

- возможность генерирования физической модели БД на основе имеющейся логической модели;

- бесплатное распространение программного продукта;

- личный опыт работы с программным продуктом.

Определив тип модели данных, а также CASE-средство, с помощью которого данная модель будет реализовываться, можно приступить к построению модели БД.

Рисунок 12 - Логическая модель информационной системы

Связь является логическим соотношением между сущностями. В Erwin на логическом уровне можно установить идентифицирующую связь «один ко многим», связь «многие ко многим» и неидентифицирующую связь «один ко многим».

Связь сущностей «детали из конструкторской спецификации - заказываемое оборудование» один ко многим описывает привязку заказываемого оборудования и и деталью которую это оборудование будет выпускать.

Связь сущностей «заказываемое оборудование - работы по ТО» многое ко многим описывает привязку между заказываемым оборудованием и процессом заказа, а также процессом его монтажа.

Связь сущностей «работы по ТО - справочник валют» один ко многим описывает привязку между работами по ТО и их стоимостью.

Связь сущностей «работы по ТО - список фаз по ТО» один ко многим описывает разбиение работы по ТО на фазы.

Связь сущностей «заказываемое оборудование - тип обьекта» один ко многим описывает привязку обобщённой сущности заказываемого оборудования к конкретному типу оборудования.

Связь сущностей «наименование задачи - заказываемое оборудование» многое ко многим описывает привязку между задачей и информацией по заказываемому оборудованию.

Связь сущностей «наименование задачи - задача» многое ко многим описывает привязку между обобщённой сущностью наименование задачи и конкретной информацией по одной задаче.

1.5 Постановка задачи на модернизацию ИС «Техническая подготовка производства»

Требуется расширить ИС «Техническая подготовка производства», обеспечив следующие возможности:

ѕ определять в графическом интерфейсе параметры программы;

ѕ позволить просматривать данные по оборудованию, контрактам, инвестициям, строительно-монтажным работам, графику внедрения, предмонатжу внутри проекта;

ѕ позволить выполнять операции с данными;

ѕ формировать отчеты (табуляграмма заказа оборудования, график заказа оборудования, отчет по узлам, отчет по контрактам и др.);

ѕ позволить создавать отчеты в формате DOC и PDF;

ѕ позволить обращаться к справочникам для просмотра и редактирования нормативно-справочной информации системы (по отделам, по производствам, по расположению цехов, по типам оборудования, по типам обработки, по узлам и др.);

Система предназначена для инженеров отдела технологического оборудования и планирования станкостроения (ОТОиПС) НТЦ ОАО «АВТОВАЗ».

Система должна позволять осуществлять работы по заказу и размещению технологического оборудования инженерами ОТОиПС совместно с другими службами завода.

Интерфейсы подсистем должен быть типизированы и интуитивно понятны, иметь «горячие» клавиши. Интерфейс пользователя русскоязычный. Цветовая палитра должна быть не раздражающих цветов. Должна выполняться проверка данных.

При реализации системы должны применяться языки высокого уровня.

Разрабатываемая ИС должна быть совместима с любой версией Windows, применяемой на АВТОВАЗ (Microsoft Windows 95/98/NT4.0).

Для модернизации ИС должна использоваться технология RAD, для проектирования CASE-средство - Visual Paradigm .

В данном разделе описана организационная структура управления планирования и координации подготовки производства (УПиКПП) НТЦ ОАО «АВТОВАЗ» и отдела технологического оборудования и планирования станкостроения (ОТОиПС). Выявлены проблемы при заказе технологического оборудования: применяемая система частично автоматизирует работы по процессу заказа технологического оборудования внутри самого отдела, но отсутствует сетевое взаимодействие между отделом и другими технологическими управлениями, таким образом, отсутствовала возможность создать единую область данных. При поиске путей решения поставленной проблемы решено, что требуется дописать имеющуюся систему «Техническая подготовка производства» до требуемого функционала, путем её расширения. Для разработки ИС «Техническая подготовка производства» будет использоваться модель RAD (быстрая разработка приложений). Проектирование будет производиться в Visual Paradigm .

При моделировании ИС выделены следующие варианты использования: создание программы и модификация программы (анализ). Работа по заказу и размещению технологического оборудования включает этапы:

ѕ работа с данными по проектам;

ѕ работа с данными по оборудованию;

ѕ изменение данных/групповое изменение данных;

ѕ формирование отчетов;

ѕ вывод справок;

ѕ работа со справочниками.

2 Конструкторско-технологическая часть

2.1 Требования к модернизируемой ИС, предъявляемые заказчиком

В рамках решения поставленной задачи, заказчиком в лице службы вице-президента по техническому развитию ОАО «АВТОВАЗ» было принято решение вести разработку ИС «Техническая подготовка производства» на основе следующих решений.

1. В рамках подхода к созданию сетевой ИС «Техническая подготовка производства» будет применяться объектно-ориентированный подход, что позволит:

локализовать код и данные (т.е. их сосредоточение в отдельных частях программы);

обрабатывать разнородные структуры данных;

поддерживать политику Дирекции по информационным систем ОАО «АВТОВАЗ»;

обеспечить высокую скорость разработки приложения;

снизить стоимость разработки системы;

обеспечить возможность создания унифицированного пользовательского интерфейса.

2. При разработке ИС «Техническая подготовка производства» будет применяться среда разработки IDE DELPHI на следующих основаниях:

Разработка в рамках задачи для толстого клиента велась изначально в IDE DELPHI

ОАО «АВТОВАЗ» приобрел лицензию на данный продукт;

ОАО «АВТОВАЗ» были проведены обучающие курсы по программированию в среде Delphi;

Данная среда отвечает всем современным требованиям по скорости разработки и переносимости ПО и является объектно-ориентированным языком программирования.

3. При выборе СУБД основным вариантом для разработки базы данных была СУБД Oracle в силу следующих причин:

На ОАО «АВТОВАЗ» основной БД является СУБД Oracle;

Закуплены мощные кластер-сервера фирмы HP с установленной на них данной СУБД;

Ранее разработанное программное обеспечение использует СУБД Oracle.

Для обеспечения функционирования системы, с учетом защиты данных, ранее разработанного программного обеспечения и политики Дирекции информационных систем на ОАО «АВТОВАЗ» было решение:

реализовать систему по вводу данных, при большой трудоемкости переработки кода, разработку вести на Object Pascal в IDE DELPHI 7.0;

применять технологию «клиент-сервер»;

базу данных реализовать в СУБД ORACLE.

2.2 Проектирование физической модели базы данных

Логическая модель БД была показана в пункте 1.4.6 данного дипломного проекта. Атрибуты сущностей модели данных разрабатываемой автоматизированной системы представлены в приложении Б данного дипломного проекта При приведении логической модели к физической необходимо выполнить преобразование типов. Преобразование типов записей в базе данных представлено в следующей таблице:

Таблица 6 - Преобразование типов из логической модели в физическую модель базы данных

№ п/п

Тип данных логической модели

Тип данных физической модели

1

String

Varchar

2

Number

Integer или Float

3

Datetime

Datetime

На основе логической модели составим соответствующую ей физическую модель. Физическая модель приведена на рисунке 13.

Рисунок 13 - Физическая модель информационной системы

2.3 Разработка пользовательского интерфейса

Интерфейс пользователя должен состоять из:

- главного меню, в котором осуществляется навигация программы

- форм ввода данных

- форм просмотра данных

- модуля формирования отчетов

При разработке интерфейса учитывалось что пользователи работают в Windows с приложениями Word, Excel, поэтому решение о виде программного обеспечения было принято исходя из этих условий. Стандартное приложение в Windows это два вида интерфейса MDI - Multiple Dialog Interface и SDI - Single Dialog Interface. В MDI приложениях одно окно главное, остальные дочерние и всегда находиться внутри главного окна. В SDI приложениях все окна самостоятельные. Был выбран интерфейс MDI , как более подходящий для работы по данной теме.

Основной стиль интерфейса показан на рисунке 14.

Рисунок 14 - Основной стиль интерфейса.

На рисунке отмечены главные элементы интерфейса в приложениях Windows. В меню описаны все действия необходимые для управления ПО пользователем. Часто используемые операции вынесены в панель инструментов, все кнопки панели повторяют пункты меню. Некоторые кнопки активизируются только для отображения определенных дочерних форм, большинство активны всегда и выполняют однотипные действия, но только в контексте активного дочернего окна.

Программный интерфейс должен быть снабжен быстрыми подсказками (hint). Повторяющие операции для быстрого доступа должны быть дублированы в виде кнопок быстрого доступа (toolbar). В формах вывода информации пользователям должны быть предоставлены возможности настраивать отображение информации. Модуль формирования отчетов должно позволять экспортировать в XLS и PDF формат.

Для просмотра информации о заказываемом оборудовании была создана отдельная форма, вызываемая при выборе пункта «Оборудование» в меню «Данные», пример формы показан на рисунке 15

Рисунок 15 - Окно просмотра оборудования.

Список оборудования можно просматривать в режиме «Просмотр» (по умолчанию) и в режиме «Таблица», показанном на рисунке 16.

Рисунок 16 - Окно просмотра оборудования в режиме «Таблица»

Для ввода данных вызывается форма следующего вида

Рисунок 17 - Окно ввода данных по ТО

Рисунок 18 - Окно ввода данных по договорам (контрактам)

Остальные элементы интерфейса отражены в приложении А данного дипломного проекта, где показано руководство пользователя.

Далее приведем пример работы ИС «Техническая подготовка производства».

2.4 Разработка алгоритмов ИС «Техническая подготовка производства»

Опишем действия кнопки «Изменить» или пункт меню «ОПЕРАЦИИ»-«Изменить» или короткий вызов клавиши CTRL+E.

Так как интерфейс многооконный, а панель инструментов с расположенными на ней клавишами управления является общей, то для правильной работы системы при нажатии той или иной кнопки будет определяться в первую очередь тем какое текущее окно активно. От этого будет зависеть какой из алгоритмов будет работать в данный момент.

В таблице 7 показано возможное состояние окна программы:

Таблица 7 - Возможные состояния основного окна программы

Активные формы

Активный элемент на форме

Окно диалога для изменения данных

Описание

frmContract

dbgContract

frmEditContract

Если форме frmContract активен элемент отображение данных по контракту dbgContract то отроется диалоговое окно frmEditContract для редактирование данных контракта.

frmContract

dbgPay

frmEditPay

Если форме frmContract активен элемент отображение данных по платежам контракта dbgPay, то отроется диалоговое окно frmEditPay для редактирование данных платежей по контракту.

Продолжение таблицы 7

frmContract

dbgSumContract

frmEditSumContarct

Если форме frmContract активен элемент отображение данных по платежам контракта dbgSumContract , то отроется диалоговое окно frmEditSumContarct для редактирование сумм по контракту.

frmEquipment

frmEditEquip

frmMontag

frmEditMontag

frmStructGraph

frmEditGraph

При нажатии кнопки «Изменить» будет работать алгоритм, схема которого представлена на рисунке 19.

Рисунок 19 - Алгоритм работы кнопки «Изменить»

Листинг алгоритма работы кнопки «Изменить»:

procedure TfrmMain.actEditExecute(Sender: TObject);

Var

I:Integer;

S:String;

Begin

//Если нет открытых оконничего не делаем

If MDIChildCount=0 Then Exit;

//если активное окно редактирование структуры графика внедрения

if ActiveMDIChild is TfrmStructGraph Then

//Указываем что рассматриваем активное окно как форма графика внедрения

With ActiveMDIChild as TfrmStructGraph do

//Если это таблица отображения главных пунктов графика внедрения

If TObject(Tag)=dbgStructMain Then

//создаем диалоговое окно реадктирования

With TfrmEditStructMain.Create(ActiveMDIChild) Do

//Выводим диалоговое окно

ShowModal;

//Если нажали сохранить

if ModalResult=mrOK Then

//сохранаяем данные

Session.Commit;

Finally

Free;

End;

if ActiveMDIChild is TfrmEquipRemake Then

With TfrmEditRemake.Create(self) Do

Try

qryEditRemake.Open;

qryEditRemake.Edit;

ShowModal;

If ModalResult=mrOK Then

Begin

DBMain.OraSession.ApplyUpdates([qryEditRemake,DBMain.qryPhaseEdit],True);

DBMain.OraSession.Commit;

End;

Finally

Free;

End;

if ActiveMDIChild is TfrmEquip Then

With TfrmEquipEdit.Create(self) Do

Try

DBMain.qryEquipEdit.Open;

DBMain.qryEquipEdit.Edit;

ShowModal;

If ModalResult=mrOK Then

Begin

DBMain.OraSession.ApplyUpdates([DBMain.qryPhaseEdit],True);

DBMain.OraSession.ApplyUpdates([DBMain.qryBudget],True);

End

Finally

Free;

End;

//Если это форма контрактов

if ActiveMDIChild is TfrmContract Then

With ActiveMDIChild as TfrmContract Do

//Анализируем активный элемент

Case TControl(dsContract.Tag).Tag Of

//Если это - Отображение контракта

1:With TfrmEdtContract.Create(self) Do

Try

qryContract.Edit;

ShowModal;

If ModalResult=mrOK Then

DBMain.OraSession.CommitUpdates([qryContract,DBMain.qryGetFirm,DBMain.qryGetCountry]);

Finally

Free;

End;

//Платежи

5:With TfrmEdtPay.Create(Self) Do

Try

qryPay.Edit;

ShowModal;

If Modalresult=mrOK Then

DBMain.OraSession.ApplyUpdates([qryPay],true);

Finally

Free;

End;

End;

end;

Рисунок 20 Алгоритм работы кнопки «Поиск»

Листинг алгоритма работы кнопки «Поиск»:

procedure TfrmSrchFltr.btSrchFltrClick(Sender: TObject);

Var

I : Integer ;

sSQL : String ;

begin

frmEquip:=Nil;

sSQL:='';

//Ищем среди активных форм, окно отображения

//массива заказываемого оборудования

For I:=0 to frmMain.MDIChildCount-1 Do

If frmMain.MDIChildren[i].Name='frmEquip' Then frmEquip:=TfrmEquip(frmMain.MDIChildren[i]);

Try

//Если его нет создаем

If Not Assigned(frmEquip) Then

frmEquip:=TfrmEquip.Create(frmMain);

Except

frmEquip.Free;

End;

With frmEquip Do

Try

//Запрещяем изменение всех визуальных компонент

// связанных с источником данных

qryViewEquip.DisableControls;

qryViewEquip.Close;

qryViewEquip.DeleteVariables;

//Очищяем SQL запрос для построения нового

qryViewEquip.SQL.Clear;

//Загружаем неизменяемую часть запроса

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('Select'));

pTask:='';

//Анализируем какие условия поиска

// выстаил пользователь

If trim(lcTask.Text)<>'' Then

Begin

//Добавляем в условие where фильтр по проекту

pTask:=lcTask.LookupSource.DataSet.FieldByName('TASK_NUM').AsString; qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_TaskNum'));

End;

//Добавляем в условие where фильтр по зоне поставке

pZone:=Trim(cbZoneSupply.Text);

If pZone<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_ZoneSupply'));

//Добавляем в условие where фильтр по отделу

If Trim(edtDeptPrj.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_DeptPrj'));

//Добавляем в условие where фильтр по виду объекта(оборудование,оснащение)

If Trim(lcEquipTypeID.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_EquipTypeID'));

//Добавляем в условие where фильтр по цеху

If Trim(edtShop.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_ShopNum'));

If Trim(lcBuild.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Build'));

If Trim(cbFacility.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Facility'));

If Trim(edtSets.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Sets'));

If (Trim(edtGroupEquip.text)<>'') Or

(Trim(edtEquipNum.Text)<>'') Or

(Trim(edtEquipShop.Text)<>'') Or

(Trim(edtPrj.Text)<>'')

Then qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_EquipNum'));

If Trim(edtRigNum.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_RigNum'));

If Trim(edtRigName.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_RigName'));

If Trim(edtTurnBay.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_TurnBay'));

If Trim(edtDetail.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_DetailNum'));

If Trim(edtModel.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_ModelBench'));

If Trim(edtNodes.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Nodes'));

If Trim(edtPerform.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Perform'));

If Trim(edtEquipName.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_EquipName'));

If Trim(edtPrjLot.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_PrjLot'));

//Добавляем условие по примечаниям

If Not cbIsSelf.Checked Then

Begin

If Trim(edtOtherCheck.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck'));

If Trim(edtOtherCheck1.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck_1'));

If Trim(edtOtherCheck2.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck_2'));

If Trim(edtOtherCheck3.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck_3'));

If Trim(edtOtherCheck4.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck_4'));

If Trim(edtPrgKti.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Prg_num_KTI'));

If Trim(edtOtherCheck5.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_OtherCheck_5'));

End

Else qryViewEquip.SQL.AddStrings(mSelfIf.Lines);

If Trim(edtNote.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Note'));

If Trim(edtTZ.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_TZ'));

If Trim(edtPhaseList.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_PhaseList'));

If Trim(edtLeadDoc.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_LeadingDoc'));

If Trim(edtInvestItem.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Invest'));

If Trim(edtStartComplex.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_StartComplex'));

If Trim(TypeEquip.Text)<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_EquipType'));

DivDataRVForEQS:=False;

HandsEnterForEQS:=False;

//Анализируем надо ли сравнивать данные из РВ и ЗиРТО, если надо

//то какого типа сравнения

//По этим сравнениям дальше цветом будут выдели записи или поля с отличием

Case rgRV.ItemIndex Of

0:qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_CopyFromRV'));

1:begin

HandsEnterForEQS:=True;

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_NoCopyFromRV'));

end;

2:Begin

// Включаем режим сравнения в отображение цветом в dbgeViewEquip

DivDataRVForEQS:=True;

sSQL:=qryViewEquip.SQL.Text;

//Если режим сравнения включен то

//встраиваем в SQL запрос услоия связи между таблицами

//ЗиРТО и РВ

Self.tag:=pos('/* #S8# */',sSQL);

rgRV.Tag:=pos('/* #_S8# */',sSQL)+length('/* #_S8# */');

sSQL:=Copy(sSQL,1,Self.tag-1)+#13#10+

DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('f_rv')+#13#10+

Copy(sSQL,rgRV.Tag+1,Length(sSQL)-rgRV.Tag);

qryViewEquip.SQL.Text:=sSQL;

sSQL:=qryViewEquip.SQL.Text;

Self.tag:=Pos('/* FROM_RV */',sSQL);

qryViewEquip.SQL.Text:=Copy(sSQL,1,Self.Tag-1)+

DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('s_rv')+

Copy(sSQL,Self.Tag,Length(sSQL)-Self.Tag);

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_DataRV<>DataEQS'));

end; 3:qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_DataRV=DataEQS'));

End;

frmMain.actReSync.Enabled:=DivDataRVForEQS;

frmMain.actReSyncToRV.Enabled:=HandsEnterForEQS;

If Trim(edtPhase.Text)<>'' Then

Begin

sSQL:=qryViewEquip.SQL.Text;

Self.tag:=Pos('/* FROM_PHASE_LIST */',sSQL);

qryViewEquip.SQL.Text:=Copy(sSQL,1,Self.Tag-1)+ DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('s_PhaseList')+

Copy(sSQL,Self.Tag,Length(sSQL)-Self.Tag);

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Phase'));

End;

//Если требуется фильтрация по контрактам

//Добавляем условия связ и между талицами ЗиРТО и Контракт

If (edtContract.Text<>'') and

Not cbIsSubContract.Checked

Then

Begin

sSQL:=qryViewEquip.SQL.Text;

Self.tag:=Pos('/* FROMCONTRACT */',sSQL);

qryViewEquip.SQL.Text:=Copy(sSQL,1,Self.Tag-1)+

DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('s_Contract')+

Copy(sSQL,Self.Tag,Length(sSQL)-Self.Tag); qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Contract_All'));

if edtContract.Text<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Contract'));

End;

If (edtContract.Text<>'') and

cbIsSubContract.Checked or

(edtManuf.Text<>'') or

(edtCountry.text<>'')

Then

Begin

sSQL:=qryViewEquip.SQL.Text;

Self.tag:=Pos('/* FROMCONTRACT */',sSQL);

qryViewEquip.SQL.Text:=Copy(sSQL,1,Self.Tag-1)+

DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('s_SubContract')+

Copy(sSQL,Self.Tag,Length(sSQL)-Self.Tag);

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_SubContract_All'));

if edtContract.Text<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_SubContract'));

if edtManuf.Text<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Manuf'));

if edtCountry.Text<>'' Then

qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Country'));

End;

If Trim(edtBudget.Text)<>'' Then

Begin

sSQL:=qryViewEquip.SQL.Text;

Self.tag:=Pos('/* #_S7# */',sSQL);

qryViewEquip.SQL.Text:=Copy(sSQL,1,Self.Tag-1)+

DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('s_Budget')+

Copy(sSQL,Self.Tag,Length(sSQL)-Self.Tag); qryViewEquip.SQL.Add(DBMain.SQLlist.Trees.TreeByName('ViewEquip').TextByName('w_Budget'));

End;

//Окончание SQL запроса добавляем изначальную сортировку данных

qryViewEquip.SQL.Add('Order by e.equip_num,e.equip_sets');

//У запроса очищяем страрые условия поиска

qryViewEquip.DeleteVariables;

//Анализируем полученных запрос и создаем переменные-параметры

ScanAndCreateVariables(qryViewEquip);

//Если есть фильтр по отделу, присваиваем значения

// для фильтра

If qryViewEquip.VariableIndex('DEPT_NUM')<>-1

Then qryViewEquip.SetVariable('DEPT_NUM',Trim(edtDeptPrj.Text));

If qryViewEquip.VariableIndex('EQUIP_TYPE_NAME')<>-1

Then qryViewEquip.SetVariable('EQUIP_TYPE_NAME',Trim(lcEquipTypeID.Text));

If qryViewEquip.VariableIndex('BUILD_MANUF')<>-1

Then qryViewEquip.SetVariable('BUILD_MANUF',Trim(lcBuild.Text));

If qryViewEquip.VariableIndex('DEPT_OWNER_NUM')<>-1

Then qryViewEquip.SetVariable('DEPT_OWNER_NUM',Trim(edtShop.Text));

//При указание диапазона К\К используется тип поля SubDeptName

If qryViewEquip.VariableIndex('SUB_DEPT_NAME')<>-1

Then qryViewEquip.SetVariable('SUB_DEPT_NAME',Trim(edtSets.Text));

If qryViewEquip.VariableIndex('PRJ_LOT')<>-1

Then qryViewEquip.SetVariable('PRJ_LOT',Trim(edtPrjLot.Text));

If qryViewEquip.VariableIndex('RV_FACILITY')<>-1

Then qryViewEquip.SetVariable('RV_FACILITY',cbFacility.itemIndex);

If qryViewEquip.VariableIndex('PHASE_LIST')<>-1

Then qryViewEquip.SetVariable('PHASE_LIST',Trim(edtPhaseList.Text));

If qryViewEquip.VariableIndex('EQUIP_NUM')<>-1

Then qryViewEquip.SetVariable('EQUIP_NUM',

Trim(edtGroupEquip.Text)+Trim(edtEquipNum.Text)+Trim(edtEquipShop.Text)+Trim(edtPrj.Text)+'%');

If qryViewEquip.VariableIndex('TURN_BAY')<>-1

Then qryViewEquip.SetVariable('TURN_BAY',Trim(edtTurnBay.Text));

If qryViewEquip.VariableIndex('PHASE_NUM')<>-1

Then qryViewEquip.SetVariable('PHASE_NUM',Trim(edtPhase.Text));

If qryViewEquip.VariableIndex('DETAIL_NUM')<>-1

Then qryViewEquip.SetVariable('DETAIL_NUM',Trim(edtDetail.Text));

If qryViewEquip.VariableIndex('MODEL_BENCH')<>-1

Then qryViewEquip.SetVariable('MODEL_BENCH',Trim(edtModel.Text));

If qryViewEquip.VariableIndex('NODE_ID')<>-1

Then qryViewEquip.SetVariable('NODE_ID',Trim(edtNodes.Text));

If qryViewEquip.VariableIndex('PERFORM_ID')<>-1

Then qryViewEquip.SetVariable('PERFORM_ID',Trim(edtPerform.Text));

If qryViewEquip.VariableIndex('EQUIP_NAME')<>-1

Then qryViewEquip.SetVariable('EQUIP_NAME',Trim(edtEquipName.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK')<>-1

Then qryViewEquip.SetVariable('OTHER_CHECK',Trim(edtOtherCheck.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK_1')<>-1

Then qryViewEquip.SetVariable('OTHER_CHECK_1',Trim(edtOtherCheck1.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK_2')<>-1

Then qryViewEquip.SetVariable('OTHER_CHECK_2',Trim(edtOtherCheck2.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK_3')<>-1

Then qryViewEquip.SetVariable('OTHER_CHECK_3',Trim(edtOtherCheck3.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK_4')<>-1

Then qryViewEquip.SetVariable('OTHER_CHECK_4',Trim(edtOtherCheck4.Text));

If qryViewEquip.VariableIndex('OTHER_CHECK_5')<>-1

Then qryViewEquip.SetVariable('OT

ER_CHECK_5',Trim(edtOtherCheck5.Text));

If qryViewEquip.VariableIndex('PRG_NUM_KTI')<>-1

Then qryViewEquip.SetVariable('PRG_NUM_KTI',Trim(edtPrgKti.Text));

If qryViewEquip.VariableIndex('NOTE')<>-1

Then qryViewEquip.SetVariable('NOTE',Trim(edtNote.Text));

If qryViewEquip.VariableIndex('ADDON_DOC_NUM')<>-1

Then qryViewEquip.SetVariable('ADDON_DOC_NUM',Trim(edtTZ.Text));

If qryViewEquip.VariableIndex('EQUIP_TYPE')<>-1

Then qryViewEquip.SetVariable('EQUIP_TYPE',dsEquipType.DataSet.FieldByName('TYPE_EQUIPMENT').AsString);

If qryViewEquip.VariableIndex('BUDGET_YEAR')<>-1

Then

Begin

pYearBudget:=Trim(edtBudget.Text);

frmMain.actYearBudget.Caption:=cYearBudget+'- '+pYearBudget;

qryViewEquip.SetVariable('BUDGET_YEAR',Trim(edtBudget.Text));

End;

If qryViewEquip.VariableIndex('LEADING_DOCUMENT')<>-1

Then qryViewEquip.SetVariable('LEADING_DOCUMENT',Trim(edtLeadDoc.Text));

If qryViewEquip.VariableIndex('INVEST_ITEM')<>-1

Then qryViewEquip.SetVariable('INVEST_ITEM',Trim(edtInvestItem.Text));

If qryViewEquip.VariableIndex('CONTRACT_NUM')<>-1

Then qryViewEquip.SetVariable('CONTRACT_NUM',Trim(edtContract.Text));

If qryViewEquip.VariableIndex('SUB_CONTRACT_NUM')<>-1

Then qryViewEquip.SetVariable('SUB_CONTRACT_NUM',Trim(edtContract.Text));

If qryViewEquip.VariableIndex('MANUF')<>-1

Then qryViewEquip.SetVariable('MANUF',Trim(edtManuf.Text));

If qryViewEquip.VariableIndex('COUNTRY')<>-1

Then qryViewEquip.SetVariable('COUNTRY',Trim(edtCountry.Text));

If qryViewEquip.VariableIndex('START_COMPLEX')<>-1

Then qryViewEquip.SetVariable('START_COMPLEX',Trim(edtStartComplex.Text));

//меняем системный курсор на вид SQLWait

Screen.Cursor:=crSQLWait;

//Сохраняем SQL запрос на диск для анализа

// для отладки программы

qryViewEquip.SQL.SaveToFile('fltr.sql');

//Выполняем запрос

Try

qryViewEquip.Open;

Except

on E:Exception do

ShowMessage(E.Message);

End;

dbgeViewEquip.SelectedRows.Clear;

//Удаляем из сессионной таблице(временной работает только на сессию)

//ID записей попавших в предыдущий фильтр

DBMain.qryExecute.SQL.Clear;

DBMain.qryExecute.DeleteVariables;

DBMain.qryExecute.SQL.Add(DBMain.SQLlist.Trees.TextByName('DeleteFiltered'));

DBMain.qryExecute.ExecSQL;

//Добавляем ID записей попавших в текущий фильтр

//ID запсией используются в других запросах

//для быстрой работы

With DBMain.qryInsertFiltered Do

Try

SQL.Clear;

SQL.Add(DBMain.SQLlist.Trees.TextByName('InsertFiltered'));

SQL.Add(Copy(qryViewEquip.SQL.Text,1,pos(Filtr_From,qryViewEquip.SQL.Text)-1)); SQL.Add(Copy(qryViewEquip.SQL.Text,pos(Filtr_To,qryViewEquip.SQL.Text)+Length(Filtr_to),

length(qryViewEquip.SQL.Text)-pos(Filtr_To,qryViewEquip.SQL.Text)+Length(Filtr_to)));

// SQL.SaveToFile('FileterdSes.SQL');

DeleteVariables;

Variables.Assign(qryViewEquip.Variables);

DeleteVariable('DATE_CUR');

Execute;

Except

on E:Exception Do

ShowMessage(E.Message);

End;

//Разрешаем изменние отображения визульных компонентов

qryViewEquip.EnableControls;

R.WriteString(rgSQLFiltr,mSelfIf.Lines.CommaText);

Screen.Cursor:=crDefault;

frmMain.Sbar.Panels[3].Text:=pZone;

vTask:=DBMain.qryGetTask.FieldByName('NOTE').AsString;

frmMain.Sbar.Panels[2].Text:=vTask;

Except

// qryViewEquip.SQL.SaveToFile('ERRfltr.sql');

Free;

Screen.Cursor:=crDefault;

End;

end;

2.5 Тестирование разрабатываемой системы

Тестирование программного обеспечения -- процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта [22].

1. Функциональное тестирование (functional testing) - это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям. Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.

2. Тестирование производительности (performance testing) - тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой.

3. Юзабилити-тестирование (usability testing) - исследование, выполняемое с целью определения, удобен ли некоторый искусственный объект для его предполагаемого применения (Проверка эргономичности).

4. Тестирование интерфейса пользователя (UI testing) - проверка соответствия приложения требованиям к графическому интерфейсу, профессионально ли оно выглядит, выполнено ли оно в едином стиле. Тестирование UI очень редко проходит отдельно от основного функционального тестирования.

5. Тестирование безопасности (security testing) - оценка уязвимости программного обеспечения к различным атакам.

Для тестирования систем ИС «Техническая подготовка производства» необходимо провести функциональное тестирование и тестирование производительности.

2.5.1 Функциональное тестирование ИС «Техническая подготовка производства»

Реализация проверки работы основных функций системы и функций форм:

Таблица 8 -Тестирование ИС «Техническая подготовка производства»

Сценарий

Действия

Ожидаемый результат

Полученный результат

(success, fail)

Авторизация

Ввод неверного логина/пароля

Сообщение «Неверный логин/пароль», очистка полей.

success

Тестирование формы «Просмотр оборудования»

Отражение списка оборудования

Отсутствие связи с базой данных

Сообщение об ошибке «Отсутствие связи с БД»

success

Редактирование данных

Ввод некорректных данных

Сообщение об ошибке «Ввод некорректных данных»

success

Удаление данных

Не выбраны данные для удаления

Сообщение об ошибке «Не выбраны данные для удаления»

success

Тестирование формы «Новое оборудование»

Заполнение данных

Отсутствие информации об узле

Сообщение об ошибке «Отсутствие информации об узле»

success

Заполнение данных

Отсутствие информации о количестве

Сообщение об ошибке «Отсутствие информации о количестве»

success

Заполнение данных

Отсутствие информации о модели станка

Сообщение об ошибке «Отсутствие информации о модели станка»

success

Заполнение данных

Отсутствие информации о фазе

Сообщение об ошибке «Отсутствие информации о фазе»

success

Тестирование формы «Просмотр оборудования»

Отражение списка оборудования

Отсутствие связи с базой данных

Сообщение об ошибке «Отсутствие связи с БД»

success

Редактирование данных

Ввод некорректных данных

Сообщение об ошибке «Ввод некорректных данных»

success

Удаление данных

Не выбраны данные для удаления

Сообщение об ошибке «Не выбраны данные для удаления»

success

Тестирование формы «Новое оборудование»

Заполнение данных

Отсутствие информации об узле

Сообщение об ошибке «Отсутствие информации об узле»

success

Заполнение данных

Отсутствие информации о количестве

Сообщение об ошибке «Отсутствие информации о количестве»

success

Заполнение данных

Отсутствие информации о модели станка

Сообщение об ошибке «Отсутствие информации о модели станка»

success

Заполнение данных

Отсутствие информации о фазе

Сообщение об ошибке «Отсутствие информации о фазе»

success

При тестировании основных сценариев ИС «Техническая подготовка производства» не выявлено ошибок.

2.5.2 Тестирование совместимости

Тестирование совместимости позволит убедиться, что ИС «Техническая подготовка производства»:

1) совместима со всеми целевыми ОС -Windows XP SP2 и старше;

2) корректно работает как на x86, так и на x64;

Тестирование будет проводиться для следующих операционных систем:

ѕ Windows XP SP2 x86;

ѕ Windows XP SP3 x86;

ѕ Windows XP SP3 x64;

ѕ Windows 7 x86;

ѕ Windows 7 x64.

Для тестирования выбраны именно эти операционные системы, так как они используются в подразделениях ДТР ОАО «АВТОВАЗ».

Таблица 9 - Тест-кейс для тестирования совместимости ИС «Техническая подготовка производства»

Операционная система

Работоспособность системы

Windows XP SP2 x86

Отличная

Отличная

Отличная

Windows XP SP3 x86

Отличная

Отличная

Отличная

Windows XP SP3 x64

Отличная

Отличная

Отличная

Windows 7 x86

Отличная

Отличная

Отличная

Windows 7 x64

Отличная

Отличная

Отличная

ИС «Техническая подготовка производства» совместима с программным обеспечением, используемым группой программирования промышленных роботов.

В данном подразделе было проведено функциональное тестирование и тестирование совместимости. При тестировании совместимости была проверена корректная функциональность системы на платформах Windows XP SP2 x86, Windows XP SP3 x86, Windows XP SP3 x64, Windows 7 x86 и Windows 7 x64. Проблем совместимости с перечисленным программным обеспечением ИС «Техническая подготовка производства».

2.6 Схема физической реализации работы ИС «Техническая подготовка производства»

Модель развертывания представляет собой диаграмму развертывания, которая отображает аппаратные компоненты системы, программные компоненты, работающие на них, их общее взаимодействие. Разработка диаграммы развёртывания является последним этапом спецификации модели:

Рисунок 21 - Диаграмма развертывания разрабатываемого ПО

Каждый пользователь ИС «Техническая подготовка производства», подключается по стеку протоколов TCP/IP в локальной компьютерной сети к СУБД, установленной на кластере. Приложения взаимодействуют с БД по схеме «толстый клиент», с помощью средств ADOConnection.

3. ЭКОНОМИЧЕСКАЯ ЧАСТЬ

Целью данного раздела дипломного проекта является обоснование экономической целесообразности модернизации существующей ИС, а так же затрат на её эксплуатацию, расчет экономической эффективности и рассмотрение социально-экономического эффекта от внедрения модернизированной проекта ИС «Техническая подготовка производства» в рамках отдела технологического оборудования и планирования станкостроения (ОТОиПС) для задач по вводу информации в систему и последующей ее обработки.

До модернизации ИС «Техническая подготовка производства» у заказчика в лице отдела технологического оборудования и планирования станкостроения (ОТОиПС) существовала ручная обработка информации, к которой относятся:

ввод данных с разделительной ведомости в компьютер;

работа с неструктурированной информацией, повторный ввод информации в систему.

Стороны данного подхода описаны в первой главе в пункте 1.2.1 пояснительной записки к дипломному проекту.

Для ликвидации недостатков существующей системы обработки и учета данных было принято решение о разработке автоматизированной информационной системы (ИС), расположенной в рамках задачи. Основными задачами данной ИС будут:

ИС позволит отслеживать все этапы процесса заказа технологического оборудования;

ИС реализует разделение задач для технологов и конструкторов, позволяет вводить данные в систему только один раз.

Для экономического обоснования целесообразности разработки автоматизированной информационной системы сравним два варианта, которые имеют место для заказчика для решения его собственных задач, покупного варианта, как показал информационный поиск, способного решать поставленную заказчиком задачу, не существует:

Базовый вариант - разделительная ведомость заполняется технологом на бумажном носителе, после чего поступает в ОТОиПС, где данные вносятся в информационную систему и происходить их дальнейшая обработка.

Проектный вариант - модернизация автоматизированной информационной системы «Техническая подготовка производства» таким образом, что технолог будет сразу заполнять разделительную ведомость в стандартизированном виде.

Для обоснования экономической эффективности от модернизации ИС рассмотрим следующие вопросы:

1. Определение трудоемкости и составление план-графика модернизации ИС «Техническая подготовка производства» для ОТОиПС ОАО «АВТОВАЗ»;

2. Расчет затрат на модернизацию ИС «Техническая подготовка производства» для ОТОиПС ОАО «АВТОВАЗ»;

3. Расчет трудоемкости работ по заказу технологического оборудования, по отдельно взятому проекту, по вариантам;

4. Расчет общих капиталовложений для работ по заказу технологического оборудования, по отдельно взятому проекту, для ОТОиПС НТЦ «АВТОВАЗ» по вариантам;

5. Расчет технологической себестоимости работ по заказу технологического оборудования по отдельно взятому проекту по изменяющимся элементам;

6. Расчет годового экономического эффекта и прочих показателей экономической эффективности от модернизации ИС «Техническая подготовка производства»;

7. Социальный эффект от модернизации ИС «Техническая подготовка производства».

3.1 Определение трудоемкости и составление план-графика модернизации ИС «Техническая подготовка производства» для ОТОиПС ОАО «АВТОВАЗ»

Для определения затрат на модернизацию ИС «Техническая подготовка производства» необходимо составить план-график, для формирования которого определяем стадии работ, их продолжительность выполнения. Покажем план-график разработки ИС на следующей таблице.

Таблица 10 - стадии и их продолжительность для модернизации ИС «Техническая подготовка производства»

Этап

Длительность этапа, час

Использование техники и ПО

Сбор и анализ функциональных требований к подключаемому программному обеспечению

32

ПЭВМ HP Z200S -32 часа;

Монитор HP x20LED WS229AA - 32 часа

Разработка технического задания

16

ПЭВМ HP Z200S -16 часов;

Монитор HP x20LED WS229AA - 16 часов;

Принтер HP LaserJet P2055 - 1 час;

Проектирование изменений в ИС «Техническая подготовка производства»

128

ПЭВМ HP Z200S -32 часа;

Монитор HP x20LED WS229AA -128 часов;

Модернизация ИС «Техническая подготовка производства»

500

ПЭВМ HP Z200S -32 часа;

Монитор HP x20LED WS229AA -500 часов;

Установка модернизированного программного обеспечения ИС «Техническая подготовка производства» ее и тестирование

100

ПЭВМ HP Z200S -167часов;

Монитор HP x20LED WS229AA - 100 часов;

Системное тестирование ИС «Техническая подготовка производства»

24

ПЭВМ HP Z200S -24 часа;

Монитор HP x20LED WS229AA - 24 часа;

Внедрение ИС «Техническая подготовка производства» и обучение персонала работе с модернизированной программой

40

ПЭВМ HP Z200S -24 часа;

Монитор HP x20LED WS229AA - 40 часов;

Обслуживание и поддержка в течение года

96

ПЭВМ HP Z200S -24 часа;

Монитор HP x20LED WS229AA - 96 часов;

ИТОГО

936

В соответствие с данными таблицы 10, на модернизацию проектного варианта ИС «Техническая подготовка производства» было затрачено в общем 936 часов, из них 936 часов использовалась рабочая станция на базе ПЭВМ HP Z200S и монитора HP x20LED WS229AA и 1 час - принтер HP LaserJet P2055.

Время, затраченное на разработку, будет использовано для расчета затрат на предлагаемый в дипломном проекте автоматизированный вариант заказа технологического оборудования.

Составим план-график модернизации ИС «Техническая подготовка производства» на следующем рисунке, который будет показывать последовательность выполняемых операций и их трудоемкость. План-график имеет последовательно-линейный вид, поскольку все работы выполняются одним инженером программистом.

Рисунок 22 - план-график на модернизацию ИС «Техническая подготовка производства»

Продолжительность работ по модернизации ИС «Техническая подготовка производства» согласно план-графику будет составлять 936 часов или, если считать в месяцах,

.

- трудоемкость i-ого этапа модернизации системы;

- месячный фонд рабочего времени, .

- продолжительность работы ПЭВМ;

- продолжительность работы принтера.

Данные о трудоемкости операций на модернизацию ИС «Техническая подготовка производства» используются для расчета затрат на ее разработку.

3.2 Расчет затрат на модернизацию ИС «Техническая подготовка производства» для ОТОиПС ОАО «АВТОВАЗ»

Затраты на модернизацию ИС «Техническая подготовка производства» будут рассчитываться по статьям затрат.

3.2.1 Покупные изделия

Затраты на покупные изделия рассчитываются по следующей формуле:

- количество покупных изделий i-го вида на модернизацию ИС «Техническая подготовка производства», шт.;

- цена покупных изделий i-го вида (согласно действующей цене по городу Тольятти на январь 2012 года), руб./шт.;

- общее количество покупных изделий.

Расчет затрат на покупные изделия сведем в следующую таблицу.

Таблица 11 - затраты на покупные изделия

Наименование изделия

Кол-во

Цена за единицу измерения

Единица измерения

Сумма, руб.

Бумага формата А4

50

0,32

шт.

16

Ручка шариковая

1

7

шт.

7

ИТОГО

23

Сумма затрат на покупные изделия равна 23 рубля.

3.2.2 Затраты на электроэнергию

Затраты на электроэнергию рассчитываются по следующей формуле:

- норма расхода энергии в единицу времени i-го оборудования, кВт/ч;

- время работы i-го оборудования на модернизацию ИС «Техническая подготовка производства» (согласно таблице 10), ч.;

- цена 1 кВт/ч энергии (согласно данным Тольяттинской Энергетической Компании) на март 2012 года составляет 4,7 руб.

- общее количество потребителей энергии.

Электроэнергия предприятиям согласно Постановлению Правительства № 530 от 31.08.2006г., производится по нерегулируемым (свободным) ценам. Нерегулируемая цена складывается так:

Конечная нерегулируемая цена = Цена покупки + Стоимость транспорта (передачи энергии по сетям) + Инфраструктурные платежи + Сбытовая надбавка.

Цена покупки - цена, сложившаяся в данном месяце на оптовом рынке, где генерирующие компании продают электроэнергию, а сбытовые - покупают, публикуется на сайте организатора торгов (ОАО "АТС") и на сайте ОАО «ТЭК»;

Стоимость транспорта (передачи по сетям) - утверждается Департаментом по тарифам Самарской области, и зависит от уровня напряжения, на котором подключен потребитель;

Цена электроэнергии для предприятии г.Тольятти за март 2012 г. ( данные сайта ТЭК) 4,70 руб./квтч

Расчет затрат на электроэнергию при разработке программного обеспечения сведен в таблицу 12

Таблица 12 - Расчет затрат на электроэнергию

Потребитель

Норма расхода, кВт/час

Кол-во раб. Мест

Время работы, час

, руб.

Сумма, руб.

ПЭВМ HP Z200S

0,55

1

936

4,7

2419,56

Монитор HP x20LED WS229AA

0,1

439,92

Принтер HP LaserJet P2055

0,1

1

0,47

ИТОГО

2859,95

3.2.3 Основная заработная плата

Оплата труда работников предприятия осуществляется за счет и в рамках фонда заработной платы работников (ФЗП) предприятия. Основу его составляет фонд оплаты труда. ФОТ - денежные средства предприятия, затраченные в течение конкретного периода времени на:

· Заработную плату

· Премиальные выплаты

· Различные доплаты работникам:

- Стимулирующие и компенсирующие выплаты, в том числе компенсации по оплате труда в связи с повышением цен и индексацией доходов в пределах норм, предусмотренных законодательством;

- Денежные суммы, начисленные работникам за непроработанное время, в течение которого за ними сохраняется заработная плата в соответствии с порядком, установленным законодательством.

- Схема начисления заработной платы руководителям, специалистам и служащим (РСиС) в СКП ОАО «АВТОВАЗ».

Расчет начислений ЗП руководителям, специалистам и служащим производится по факту отработанного времени, по окладу (согласно категории и занимаемой должности).

- Премия РСИС начисляется не более чем 28% и зависит от результатов работы рабочих основных цехов, т.е .от прибыли предприятия.

- Начисления по коду «024» за работу в ООО «АВТОВАЗ» (504 рублей за месяц .) согласно отработанному времени из расчета месячного ИФВ.)

Так же могут идти начисления по кодам:

- «070» - премия за ускорение подготовки производства,

- «034» - за работу в выходные и праздничные дни,

- «058» - вознаграждение по результатам работы за год.

- Размер премии РСиС по результатом хоз.деятельности «058» код не больше 40% от оклада .

Заработная плата РСИС (Руководители специалисты и служащие) на ОАО АВТОВАЗ зависит от фактически отработанного времени и оклада работника.

Плановый фонд заработной платы определяют по формуле

где ЧРiпл -- плановая численность i-й категории персонала, чел.; (Метод прямого счета)

ЗПiпл -- среднегодовая заработная плата одного работника i-й категории персонала в плановом периоде, p.;

i = 1,2, 3,..., n -- категории персонала.

Оклад инженера-программиста квалификационного уровня (Молодого специалиста) с учетом доплат, руб./ч. (по данным отдела кадров ОАО «АВТОВАЗ 2012г.) 11563 руб.

- трудоемкость выполнения i-го вида работ, час (по данным таблицы 10).

Основная заработная плата разработчика системы рассчитывается по формуле:

- часовая тарифная ставка инженера-программиста 3-го квалификационного уровня с учетом доплат, руб./ч. (по данным отдела кадров ОАО «АВТОВАЗ» на март 2012г.

- трудоемкость выполнения i-го вида работ, час (по данным таблицы 10).

Сумма затрат на основную заработную плату составит:

Минимальная тарифная ставка инженера-программиста на ОАО «АВТОВАЗ» 11560 руб/мес. + Базовая Премия за месяц 18-28 % (берем 28%) и доплата работникам 504 руб/мес. по факту отработанного времени.

Итого:

.

Фонд рабочего времени в марте и апреле 2012 =168 часам.

3.2.4 Дополнительная заработная плата

Дополнительная заработная плата определяется по формуле:

- норматив дополнительной заработной платы месяц (согласно данным бухгалтерии ОАО «АВТОВАЗ» на март 2012г. составляет 16%);

- основная заработная плата разработчика.

Рассчитаем затраты на дополнительную заработную плату:

3.2.5 Отчисления на социальное страхование

Расчет отчислений на социальное страхование в фонд социальной защиты населения (ФСЗН) проводится по формуле:

- норматив отчислений на социальное страхование месяц (согласно данным бухгалтерии ОАО «АВТОВАЗ» составляет 31%),

- фонд заработной платы, руб.

Рассчитаем размер отчислений на социальное страхование:

3.2.6 Амортизация оборудования

Для расчета амортизационных отчислений оборудования применяется формула:

- первоначальная стоимость оборудования (по данным бухгалтерии ОАО «АВТОВАЗ» за март 2012г.), руб.;

- норматив амортизационных отчислений на полное восстановление (по данным бухгалтерии ОАО «АВТОВАЗ» за 2011-2012г составляет 25% для вычислительной техники и 10% для мебели), %;

n - количество месяцев работы оборудования (n=5,57 месяца при 8-ми часовом рабочем дне).

Таблица 13 - Расчет амортизации оборудования и мебели разработчика.

Наименова-ние оборудования

Количест-во, шт.

Первоначаль-ная стоимость, руб.

Норматив амортизационных отчислений, %

Количество месяцев использова-ния

Амортиза-ция, руб.

ПЭВМ HP Z200S

1

36260

25

5,57

4207,67

Монитор HP x20LED WS229AA

6494

5,57

753,57

Принтер HP LaserJet P2055

8092

0,00595

12,03

Стол

2500

10

5,57

116,04

Стул

1100

5,57

51,06

ИТОГО

5140,37

3.2.7 Затраты на программное обеспечение

Для модернизации ИС «Техническая подготовка производства» используется уже оплаченное лицензионное программное обеспечение закупленное ОАО «АВТОВАЗ», а так же Visual Paradigm for UML 9.0, распространяемую бесплатно.

3.2.8 Накладные расходы

Накладные расходы рассчитываются по формуле:

- основная заработная плата разработчика, руб.;

- норматив накладных расходов (по данным бухгалтерии ОАО «АВТОВАЗ» на март 2012г. составляет 54%), %.

Рассчитаем затраты на накладные расходы:

Результаты расчетов сведем в следующую таблицу

Таблица 14 - Себестоимость модернизации ИС «Техническая подготовка производства» для повышения степени автоматизации работ по заказу и размещению технологического оборудования


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.