Автор работы: Пользователь скрыл имя, 14 Января 2014 в 15:09, дипломная работа
Целью исследования является обоснование необходимости и разработка информационной системы планирования закупок для предприятия химической отрасли. Предметом исследования в дипломной работе является деятельность компании по планированию закупок. Объектом исследования дипломной работы является научно-производственная фирма «АгроЛидер». ООО «НПФ «АгроЛидер» ― перспективная и динамично развивающаяся компания, занимающаяся производством и поставкой средств защиты растений по всей территории России.
ВВЕДЕНИЕ 3
1 АНАЛИТИЧЕСКАЯ ЧАСТЬ 5
1.1 ТЕХНИКО-ЭКОНОМИЧЕСКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1.1 Характеристика предприятия 5
1.1.2 Краткая характеристика подразделения и его видов деятельности 9
1.2 ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ ЗАДАЧИ 14
1.3 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ И ЦЕЛИ ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ДЛЯ РЕШЕНИЯ ЗАДАЧИ 19
1.4 ПОСТАНОВКА ЗАДАЧИ 22
1.5 АНАЛИЗ СУЩЕСТВУЮЩИХ РАЗРАБОТОК 25
1.5.1 Информационная система « Управление снабжением 8» 25
1.5.2 Информационная система «1С: Управление производственным предприятием» 27
1.5.3 Информационная система “Oracle Retail Invoice Matching” 29
1.5.4 Информационная система «Галактика» 30
1.6 ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ 35
1.7 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ ПО ВИДАМ ОБЕСПЕЧЕНИЯ 36
1.7.1 Техническое обеспечение 36
1.7.2 Информационное обеспечение 38
1.7.3 Программное обеспечение 40
1.7.4 Технологическое обеспечение 49
1.7.5 Математическое обеспечение 50
2 ПРОЕКТНАЯ ЧАСТЬ 53
2.1 ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ 53
2.1.1 Используемые классификаторы и системы кодирования 53
2.1.2 Характеристика нормативно-справочной и входной информации 53
2.1.3 Характеристика результатной информации 55
2.1.4 Информационная модель и ее описание 55
2.1.5 Физическая модель 60
2.2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЗАДАЧИ 61
2.2.1 Общие положения (дерево функций и сценарий диалога) 61
2.2.2 Структурная схема пакета 65
2.2.3 Описание программных модулей 67
2.3 РЕАЛИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 68
3 ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА 78
ЗАКЛЮЧЕНИЕ 86
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 88
ПРИЛОЖЕНИЯ 91
Общая сумма затрат на оплату труда ( ) определяется по формуле:
(3.1)
где - часовая ставка i-го работника, руб.,
– время на разработку АИС, час
- категория работника,
- количество работников, занятых разработкой АИС.
Общее время работы программиста Т определяется из Таблицы 3.2 и равно 280 часов. Нормы затрат рабочего времени на одну дипломную работу: руководитель работы 33 (15ч –преддипломная практика, 18ч – дипломное проектирование), консультант по практической части – 10 ч.
Среднечасовая заработная плата разработчика (студента-дипломника) рассчитывается по формуле:
,
где – среднемесячная заработная плата разработчика АИС, руб.;
– среднемесячный фонд рабочего времени (приблизительно 160 часов в месяц)
Стоимость одного часа работы программиста равна:
ЧС1 = 12 800 : 160 = 80 руб.
Общая сумма затрат на оплату труда равна 43 900 руб. (Таблица 3.2)
Страховые взносы составляют 30 % от затрат на основную заработную плату.
Сумма страховых взносов составят:
руб.
Расчет амортизационных отчислений приведен в Таблице 3.4.
Таблица 3.4 - Расчет амортизационных отчислений
Наименование оборудования |
Стоимость оборудования, руб. |
Годовая норма амортизации, % |
Время работы оборудования во время разработки АИС, ч |
Сумма, руб. |
Компьютер |
16000 |
20 |
256 |
411,2 |
Принтер |
3000 |
20 |
2 |
0,6 |
Итого |
19000 |
- |
- |
411,8 |
Общая сумма амортизационных отчислений определяется по формуле:
, (3.3)
где - стоимость i-го оборудования, руб.;
- годовая норма амортизации i-го оборудования, %;
- время работы i-го оборудования за весь период разработки АИС, ч;
- эффективный фонд времени
- вид оборудования;
- количество оборудования.
Эффективный фонд времени работы оборудования можно вычислить по формуле:
Тэфi = Dр ´ Нэ,
где Dp – количество рабочих дней в году. Dp = 249;
Нэ – норматив среднесуточной загрузки, час./день, Нэ = 8.
Таким образом, эффективный фонд времени работы оборудования составит
Fэфi =249´8=1992 час.
Сумма амортизационных отчислений составит:
8
,
411
1992
100
2
20
3000
1992
100
2560
20
16000
=
´
´
´
+
´
´
´
=
З
АМ
руб.
В статью «Прочие
затраты» включаются расходы на содержание
административно-
руб.
На основании полученных данных по отдельным статьям составляется смета затрат на разработку АИС по форме, приведенной в Таблице 3.5.
Таблица 3.5 - Смета затрат на разработку АИС
Статьи затрат |
Сумма, руб. |
1. Затраты на оплату труда |
43900 |
2. Отчисления на социальные нужды |
13170 |
3. Амортизация основных фондов |
411.8 |
4. Прочие затраты |
30730 |
Итого по смете |
88212 |
Затраты на разработку АИС составят 88 212 руб.
Исходя из данных о стоимостных затратах при базовом и проектном варианте, их разница в пользу проектного варианта составит 142278 рублей.(Таблица 3.1).
Если разделить эту разницу на количество рабочих дней в году (254), то получится значение, отражающее выгодность использования проектируемой системы за каждый день ее использования –
VD = 59946 : 254 = 560 руб.
Разделив общую сумму проекта (88 212 руб.) на полученное значение 560 руб. получим срок - 157 рабочих дней, за которые проект окупит свою себестоимость.
В заключение необходимо подвести итоги проделанной работы.
В соответствии с целью проведенного исследования, в дипломной работе обоснована необходимость и выполнена разработка информационной системы планирования закупок для предприятия химической отрасли.
Объектом исследования дипломной работы являлась научно-производственная фирма ООО "НПФ "АгроЛидер"
В первой части дипломной работы были рассмотрены следующие аспекты:
Во второй части дипломной работы были выполнены работы:
В третьей части был проведен расчет экономической эффективности, который показал, что разрабатываемая система является эффективнее, чем существовавшая ранее система, основанная на обмене файлами Excel. Расчет выявил, что срок окупаемости составляет 157 рабочих дней.
Приложение А. Фрагмент исходного кода программы
unit U_MAIN;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, xlcClasses, xlEngine, xlReport, StdCtrls;
type
TMAIN = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
xlReport1: TxlReport;
xlReport2: TxlReport;
xlReport3: TxlReport;
N4: TMenuItem;
N7: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure Connection_Load;
procedure N2Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MAIN: TMAIN;
implementation
uses U_DM, U_PST, U_MAT, U_GP, U_PAR, U_PLAN_ZAK, U_PLAN_PR, U_PRIH_MAT,
U_RASH_MAT;
{$R *.dfm}
procedure TMAIN.Connection_Load;
var
f: TextFile;
Connection_String: WideString;
begin
try
AssignFile(f, 'ConnectionString.txt');
Reset(f);
read(f, Connection_String);
CloseFile(f);
DM.ADOConnection1.Connected := false ;
DM.ADOConnection1.
DM.ADOConnection1.Connected := true ;
Except
Showmessage('Не удалось соединиться с базой данных.');
end;
end;
procedure TMAIN.FormCreate(Sender: TObject);
begin
Connection_Load;
end;
procedure TMAIN.N11Click(Sender: TObject);
begin
if PLAN_PR = nil then Application.CreateForm(TPLAN_
PLAN_PR.Filter_Gr;
PLAN_PR.Show;
end;
procedure TMAIN.N12Click(Sender: TObject);
begin
if PRIH_MAT = nil then Application.CreateForm(TPRIH_
PRIH_MAT.Filter_Gr;
PRIH_MAT.Show;
end;
procedure TMAIN.N13Click(Sender: TObject);
begin
if RASH_MAT = nil then Application.CreateForm(TRASH_
RASH_MAT.Filter_Gr;
RASH_MAT.Show;
end;
procedure TMAIN.N15Click(Sender: TObject);
begin
xlReport1.Report(false);
end;
procedure TMAIN.N16Click(Sender: TObject);
begin
{ WITH DM.Q_REP DO
BEGIN
SQL.Clear;
SQL.ADD('EXEC REP_2');
OPEN ;
end;
xlReport2.Report(FALSE);
}
xlReport2.Report(false);
end;
procedure TMAIN.N17Click(Sender: TObject);
begin
xlReport3.Report(false);
end;
procedure TMAIN.N2Click(Sender: TObject);
begin
Close;
end;
procedure TMAIN.N3Click(Sender: TObject);
begin
if GP = nil then Application.CreateForm(TGP,GP)
GP.Filter_Gr;
GP.Show;
end;
procedure TMAIN.N5Click(Sender: TObject);
begin
if PST = nil then Application.CreateForm(TPST,
PST.Filter_Gr;
PST.Show;
end;
procedure TMAIN.N6Click(Sender: TObject);
begin
if PAR = nil then Application.CreateForm(TPAR,
PAR.Filter_Gr;
PAR.Show;
end;
procedure TMAIN.N8Click(Sender: TObject);
begin
if MAT = nil then Application.CreateForm(TMAT,
MAT.Filter_Gr;
MAT.Show;
end;
procedure TMAIN.N9Click(Sender: TObject);
begin
if PLAN_ZAK = nil then Application.CreateForm(TPLAN_
PLAN_ZAK.Filter_Gr;
PLAN_ZAK.Show;
end;
end.
unit U_Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TF_Login = class(TForm)
E_User: TLabeledEdit;
Panel2: TPanel;
Btn_Ok: TSpeedButton;
SpeedButton1: TSpeedButton;
E_PW: TLabeledEdit;
procedure Btn_CloseClick(Sender: TObject);
procedure Btn_OkClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_Login: TF_Login;
PTR : PCHAR ;
UCOUNT :DWORD;
implementation
uses U_Main, U_DM;
{$R *.dfm}
procedure TF_Login.Btn_CloseClick(
begin
Main.Close;
end;
procedure TF_Login.Btn_OkClick(Sender: TObject);
begin
DM.Q_W.SQL.Clear;
DM.Q_W.SQL.ADD(' select * '+
' from DOSTUP '+
' where login = '+QuotedStr(E_User.text)+' and PW = '+QuotedStr(E_PW.Text)) ;
DM.Q_W.Open;
if not DM.Q_W.IsEmpty then
Begin
close;
End else
Begin
Showmessage('Пользователь не зарегистрирован.');
Abort;
End;
end;
end.
unit U_MAT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MemTableDataEh, Db, ADODB, MemTableEh, DataDriverEh, ADODataDriverEh,
Buttons, GridsEh, DBGridEh, ExtCtrls, StdCtrls;
type
TMAT = class(TForm)
GroupBox1: TGroupBox;
Panel1: TPanel;
Grid: TDBGridEh;
BTN_INS: TSpeedButton;
BTN_ED: TSpeedButton;
BTN_DEL: TSpeedButton;
BTN_CLOSE: TSpeedButton;
DD: TADODataDriverEh;
MT: TMemTableEh;
DS: TDataSource;
MTID_MAT: TAutoIncField;
MTEI: TStringField;
MTNAIM: TStringField;
MTHAR: TStringField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Filter_Gr ;
procedure GridApplyFilter(Sender: TObject);
procedure BTN_CLOSEClick(Sender: TObject);
procedure BTN_INSClick(Sender: TObject);
procedure BTN_EDClick(Sender: TObject);
procedure BTN_DELClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MAT: TMAT;
implementation
uses U_DM, Automate, U_MAT_ADD;
{$R *.dfm}
procedure TMAT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
MAT := nil ;
end;
procedure TMAT.FormShow(Sender: TObject);
begin
DataSourceIni(MAT_ADD, DS) ;
end;
procedure TMAT.GridApplyFilter(Sender: TObject);
begin
Filter_Gr;
end;
procedure TMAT.BTN_CLOSEClick(Sender: TObject);
begin
CLOSE ;
end;
procedure TMAT.BTN_DELClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
If MessageDlg('Удалить запись',MTCONFIRMATION , [MBYES, MBNO], 0)= mrYes then
MT.Delete ;
MT.CLOSE ;
MT.Open;
end;
procedure TMAT.BTN_EDClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
MT.EDIT ;
if MAT_ADD.ShowModal = mrOk then
begin
MT.Post ;
MT.CLOSE ;
MT.Open;
end;
end;
procedure TMAT.BTN_INSClick(Sender: TObject);
begin
if MT.State in [dsInsert, dsEdit] then MT.Post ;
MT.Insert ;
if MAT_ADD.ShowModal = mrOk then
Информация о работе Разработка ЭИС планирования закупок для предприятия химической отрасли