Поняття про бізнес-процес. Етапи та методи математичного моделювання бізнес-процесів

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 19:24, дипломная работа

Описание работы

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

Содержание работы

ВСТУП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
РОЗДІЛ 1 ОГЛЯД Й СТАН АНАЛІЗОВАНОЇ ПРОБЛЕМИ. . . . . .
15
1.1 Поняття бізнесу-процесу. . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.2 Існуюча ситуація . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.3 Підходи до застосування бізнес процесів. . . . . . . . . . . . . . .
19
РОЗДІЛ 2 ПОСТАНОВКА Й МАТЕМАТИЧНИЙ ОПИС РОЗРОБЛЮВАЛЬНОГО ЗАВДАННЯ . . . . . . . . . . . . . . . . . . . . .
28
2.1 Концептуальна модель . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.2 Опис застосування . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.2.1 Обґрунтування обраної моделі . . . . . . . . . . . . . . . . . . . . . .
29
2.2.2 Опис алгоритму роботи . . . . . . . . . . . . . . . . . . . . . . . . .
34
2.3 Взаємозв'язок фінансового менеджменту й бізнес-процесів .
39
2.4 Принципи системного підходу при реалізації бізнес-процесів . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
2.5 Методи одержання знань про бізнес-процеси за допомогою економіко-математичних систем . . . . . . . . . . . . . . . . . . . . . . . . .
47
2.5.1 Існуючі прикладні пакети програм одержання знань про бізнес-процеси з використанням економіко-математичного моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
2.6 Статистичний метод одержання знань про бізнес-процеси . .
49
РОЗДІЛ 3 ОПИС ПРОГРАМНОГО ПРОДУКТУ . . . . . . . . . . . . .
53
3.1 Опис програми . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
3.2 Вхідні й вихідні дані . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
3.3 Виклик і завантаження . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
3.4 Контрольний приклад . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
ВИСНОВОК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ . . . . . . . . . . . . . . . . . . . .
66

Файлы: 1 файл

Без имени 1.doc

— 256.50 Кб (Скачать файл)

 

26.Конспект лекцій з курсу “Теорія управління, прочитаних канд. екон. наук, доц. Соболем С.М. студентам 2 курсу спец. 6201 денної форми навчання, 1999 р.

 

27. Морріс Г. Б.       Керівник тієї, хто знаходить  вихід// Освіта і     управління -1998.-№3.-с.77-87.   

 

28. Сіднєв С. П., Шарапов О. Д.       Математичні методи підвищення якості 

 

управлінських рішень: Підручник.-К.: ІЗМН, 1997.

 

29. Трояновский В. М.     Математичне моделювання в        менеджменті. Навчальний посібник. - М.: Російська Ділова Література, 1999.

 

 

 

 

ДОДАТОК А

 

 

Екранні форми роботи програми

 

 

 

 

Рис. А1. Початкова форма програми, закладка “Параметри”

 

 

 

Рис. А2. Початкова форма програми, закладка “Потоки ”

 

 

 

 

Продовження додатка А

 

 

 

 

 

 

 

Рис. А3. Процес моделювання

 

 

 

Рис. А4. Процес моделювання в графічній інтерпритації

 

 

 

ДОДАТОК Б

 

Текст програми

 

Модуль main

 

 

 

unit main;

 

interface

 

uses

 

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

 

Dialogs, StdCtrls, ETunels, CheckLst, ExtCtrls, Gauges, TmGauge, ComCtrls, ToolWin, Spin, jpeg, Menus;

 

type

 

  TForm1 = class(TForm)

 

    Panel1: TPanel;

 

    ToolBar1: TToolBar;

 

    EcTunel1: TEcTunel;

 

    Timer1: TTimer;

 

    Button11: TButton;

 

    ToolButton8: TToolButton;

 

    TmGauge1: TTmGauge;

 

    Button12: TButton;

 

    Button13: TButton;

 

    EcTunel3: TEcTunel;

 

    TmGauge2: TTmGauge;

 

    Panel2: TPanel;

 

    Label1: TLabel;

 

    PageControl1: TPageControl;

 

    TabSheet1: TTabSheet;

 

    GroupBox2: TGroupBox;

 

    Label4: TLabel;

 

    Label5: TLabel;

 

   SpinEdit4: TSpinEdit;

 

    Button7: TButton;

 

    Button8: TButton;

 

    SpinEdit5: TSpinEdit;

 

    Button9: TButton;

 

    Button10: TButton;

 

    GroupBox1: TGroupBox;

 

    Button6: TButton;

 

    Button5: TButton;

 

    SpinEdit3: TSpinEdit;

 

    Button3: TButton;

 

    Button4: TButton;

 

    SpinEdit2: TSpinEdit;

 

    Button2: TButton;

 

    Button1: TButton;

 

    SpinEdit1: TSpinEdit;

 

    TabSheet2: TTabSheet;

 

    SpinEditRes: TSpinEdit;

 

    SpinEditZak: TSpinEdit;

 

    EcTunel2: TEcTunel;

 

    EcTunel4: TEcTunel;

 

    SpinEditKredit: TSpinEdit;

 

    TmGauge3: TTmGauge;

 

    Label2: TLabel;

 

    Label3: TLabel;

 

    Label6: TLabel;

 

    SpinEditVi: TSpinEdit;

 

    Label7: TLabel;

 

    Button15: TButton;

 

    Button16: TButton;

 

    TmGauge4: TTmGauge;

 

    Button17: TButton;

 

    SpinEditKVI: TSpinEdit;

 

    Label8: TLabel;

 

    SpinEditVzResurs: TSpinEdit;

 

    Label9: TLabel;

 

    EcTunel5: TEcTunel;

 

    TmGauge5: TTmGauge;

 

    SpinEditCena: TSpinEdit;

 

    Label10: TLabel;

 

    SpinEditPro: TSpinEdit;

 

    Label11: TLabel;

 

    Button14: TButton;

 

    Label12: TLabel;

 

    Label13: TLabel;

 

    Label14: TLabel;

 

    Label15: TLabel;

 

    Label16: TLabel;

 

    Label17: TLabel;

 

    Label18: TLabel;

 

    Label19: TLabel;

 

    Label20: TLabel;

 

    Image1: TImage;

 

    Image2: TImage;

 

    Image3: TImage;

 

    Image4: TImage;

 

    Image5: TImage;

 

    CheckListBox1: TCheckListBox;

 

    Label21: TLabel;

 

    Label22: TLabel;

 

    Label23: TLabel;

 

    TrackBar1: TTrackBar;

 

    Label24: TLabel;

 

    MainMenu1: TMainMenu;

 

    N1: TMenuItem;

 

    N2: TMenuItem;

 

    Button18: TButton;

 

    ToolButton1: TToolButton;

 

    ToolButton2: TToolButton;

 

    N3: TMenuItem;

 

    N4: TMenuItem;

 

    N5: TMenuItem;

 

    N6: TMenuItem;

 

    procedure EcTunel1Click(Sender: TObject);

 

    procedure SpinEdit1Change(Sender: TObject);

 

    procedure Button1Click(Sender: TObject);

 

    procedure Button2Click(Sender: TObject);

 

    procedure Button3Click(Sender: TObject);

 

    procedure Button4Click(Sender: TObject);

 

    procedure Button6Click(Sender: TObject);

 

    procedure Button5Click(Sender: TObject);

 

    procedure SpinEdit2Change(Sender: TObject);

 

    procedure SpinEdit3Change(Sender: TObject);

 

    procedure Button7Click(Sender: TObject);

 

    procedure Button8Click(Sender: TObject);

 

    procedure Button9Click(Sender: TObject);

 

    procedure Button10Click(Sender: TObject);

 

    procedure Button11Click(Sender: TObject);

 

    procedure Timer1Timer(Sender: TObject);

 

    procedure Button12Click(Sender: TObject);

 

    procedure TmGauge1Time(Sender: TObject; STime: Integer);

 

    procedure Button13Click(Sender: TObject);

 

    procedure SpinEdit4Change(Sender: TObject);

 

    procedure SpinEdit5Change(Sender: TObject);

 

    procedure Button14Click(Sender: TObject);

 

    procedure TmGauge2Time(Sender: TObject; STime: Integer);

 

    procedure EcTunel2MinAcount(Sender: TObject; Quantity: Real);

 

    procedure Button15Click(Sender: TObject);

 

    procedure Button16Click(Sender: TObject);

 

    procedure Button17Click(Sender: TObject);

 

    procedure TmGauge3Time(Sender: TObject; STime: Integer);

 

    procedure TmGauge4Time(Sender: TObject; STime: Integer);

 

    procedure TmGauge5Time(Sender: TObject; STime: Integer);

 

    procedure TrackBar1Change(Sender: TObject);

 

    procedure Button18Click(Sender: TObject);

 

    procedure N3Click(Sender: TObject);

 

    procedure N2Click(Sender: TObject);

 

    procedure N6Click(Sender: TObject);

 

    procedure N5Click(Sender: TObject);

 

  private

 

    { Private declarations }

 

  public

 

    { Public declarations }

 

  end;

 

 

 

var

 

  Form1: TForm1;

 

  Selected:integer;

 

  SelectedTimer:integer;

 

 

 

  StProdano:integer;

 

  StPrZatrati:integer; // інші витрати

 

  StZatrati:integer;

 

  StSebestoimost:integer;// собівартість продукту

 

  StKolvoTov:integer;

 

  StViruchka:integer;

 

  StPribil:integer;

 

  StRentabelnost:real;

 

  StModelTime:integer;

 

implementation

 

uses Unit2, Unit4, Unit3;

 

{$R *.dfm}

 

   function GetRandomTime(UTiming,UTimingPlus,UTimingMinus:Integer):integer;

 

   var

 

    znack:integer;

 

   begin

 

   if (UTimingPlus and UTimingMinus)=0 then result:=UTiming

 

   else

 

    begin

 

    znack:=random(2);

 

    If Znack<1 then result:=UTiming+random(UTimingPlus+1);

 

   If Znack>=1 then result:=UTiming+(random(abs(UTimingMinus)+1))*(-1);

 

    end;

 

   end;

 

 

 

procedure TForm1.EcTunel1Click(Sender: TObject);

 

begin

 

if Sender is  TEcTunel then

 

   begin

 

    Selected:=TEcTunel(Sender).tag;

 

    Label21.Caption:=TEcTunel(Sender).AcountName;

 

    SpinEdit1.Value:=trunc(TEcTunel(Sender).Acount);

 

   SpinEdit2.Value:=trunc(TEcTunel(Sender).AcountMax);

 

    SpinEdit3.Value:=trunc(TEcTunel(Sender).AcountMin);

 

   end;

 

end;

 

 

 

procedure TForm1.SpinEdit1Change(Sender: TObject);

 

begin

 

   if Selected=1 then

 

   begin

 

   EcTunel1.Acount:=Spinedit1.value;

 

   end;

 

   if Selected=2 then

 

   begin

 

  EcTunel2.Acount:=Spinedit1.value;

 

   end;

 

  if Selected=3 then

 

  begin

 

  EcTunel3.Acount:=Spinedit1.value;

 

  end;

 

   if Selected=4 then

 

   begin

 

  EcTunel4.Acount:=Spinedit1.value;

 

   end;

 

   if Selected=5 then

 

   begin

 

  EcTunel5.Acount:=Spinedit1.value;

 

   end;

 

end;

 

procedure TForm1.Button1Click(Sender: TObject);

 

begin

 

Spinedit1.value:=Spinedit1.value+1000;

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

 

begin

 

  Spinedit1.value:=Spinedit1.value-1000;

 

end;

 

procedure TForm1.Button3Click(Sender: TObject);

 

begin

 

  Spinedit2.value:=Spinedit2.value-1000;

 

end;

 

procedure TForm1.Button4Click(Sender: TObject);

 

begin

 

Spinedit2.value:=Spinedit2.value+1000;

 

end;

 

procedure TForm1.Button6Click(Sender: TObject);

 

begin

 

  Spinedit3.value:=Spinedit3.value-1000;

 

end;

 

procedure TForm1.Button5Click(Sender: TObject);

 

begin

 

  Spinedit3.value:=Spinedit3.value+1000;

 

end;

 

procedure TForm1.SpinEdit2Change(Sender: TObject);

 

begin

 

    if Selected=1 then

 

   begin

 

    EcTunel1.AcountMax:=Spinedit2.value;

 

   end;

 

   if Selected=2 then

 

   begin

 

    EcTunel2.AcountMax:=Spinedit2.value;

 

   end;

 

    if Selected=3 then

 

   begin

 

    EcTunel3.AcountMax:=Spinedit2.value;

 

   end;

 

     if Selected=4 then

 

   begin

 

   EcTunel4.AcountMax:=Spinedit2.value;

 

   end;

 

   if Selected=5 then

 

   begin

 

   EcTunel5.AcountMax:=Spinedit2.value;

 

   end;

 

end;

 

procedure TForm1.SpinEdit3Change(Sender: TObject);

 

begin

 

    if Selected=1 then

 

   begin

 

   EcTunel1.AcountMin:=Spinedit3.value;

 

   end;

 

   if Selected=2 then

 

   begin

 

    EcTunel2.AcountMin:=Spinedit3.value;

 

   end;

 

   if Selected=3 then

 

   begin

 

    EcTunel3.AcountMin:=Spinedit3.value;

 

   end;

 

   if Selected=4 then

 

   begin

 

  EcTunel4.AcountMin:=Spinedit3.value;

 

   end;

 

   if Selected=5 then

 

   begin

 

   EcTunel5.AcountMin:=Spinedit3.value;

 

   end;

 

end;

 

procedure TForm1.Button7Click(Sender: TObject);

 

begin

 

  Spinedit4.value:=Spinedit4.value-1000;

 

end;

 

procedure TForm1.Button8Click(Sender: TObject);

 

begin

 

   Spinedit4.value:=Spinedit4.value+1000;

 

end;

 

procedure TForm1.Button9Click(Sender: TObject);

 

begin

 

   Spinedit5.value:=Spinedit5.value-1000;

 

end;

 

procedure TForm1.Button10Click(Sender: TObject);

 

begin

 

   Spinedit5.value:=Spinedit5.value+1000;

 

end;

 

procedure TForm1.Button11Click(Sender: TObject);

 

begin

 

ecTunel1.Acount:=1000000;

 

ecTunel2.Acount:=10000;

 

ecTunel3.Acount:=400;

 

ecTunel5.Acount:=0;

 

StProdano:=0;

 

StPrZatrati:=0;

 

StZatrati:=0;

 

StSebestoimost:=0;

 

StKolvoTov:=0;

 

StViruchka:=0;

 

StModelTime:=0;

 

StPribil:=0;

 

StRentabelnost:=0;

 

randomize;

 

Timer1.Enabled:=true;

 

TmGauge1.ReSetTimer;

 

TmGauge1.StopTik;

 

TmGauge2.ReSetTimer;

 

TmGauge2.Gotik;

 

TmGauge3.ReSetTimer;

 

TmGauge3.Gotik;

 

TmGauge4.ReSetTimer;

 

TmGauge4.Gotik;

 

TmGauge5.ReSetTimer;

 

TmGauge5.Gotik;

 

Panel2.Enabled:=false;

 

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

 

begin

 

if  TmGauge1.FTimerOn then TmGauge1.GoTik;

 

if  TmGauge2.FTimerOn then TmGauge2.GoTik;

 

if  TmGauge3.FTimerOn then TmGauge3.GoTik;

 

if  TmGauge4.FTimerOn then TmGauge4.GoTik;

 

if  TmGauge5.FTimerOn then TmGauge5.GoTik;

 

CheckListBox1.clear;

 

CheckListBox1.Items.Add('Витрати      :'+ inttostr(StZatrati));

 

CheckListBox1.Items.Add('Інші       :'+ inttostr(StPrZatrati));

 

CheckListBox1.Items.Add('Виготовлено  :'+ inttostr(StKolvotov));

 

if StKolvotov<>0 then StSebestoimost:=Trunc((StZatrati+StPrZatrati)/StKolvotov);

 

CheckListBox1.Items.Add('Собівартість ед.:'+ inttostr(StSebestoimost));

 

CheckListBox1.Items.Add('Собівартість:'+ inttostr(StSebestoimost*StKolvotov));

 

CheckListBox1.Items.Add('Обсяг реалізації:'+ inttostr(StProdano));

 

CheckListBox1.Items.Add('Виторг:'+ inttostr(StViruchka));

 

CheckListBox1.Items.Add(' -і-і-і-і-і-і- ');

 

StPribil:=StViruchka - (StZatrati+StPrZatrati);

 

if StPribil<>0 then StRentabelnost:=StProdano/StPribil;

 

CheckListBox1.Items.Add('Чистий Прибуток:'+ inttostr(StPribil));

 

CheckListBox1.Items.Add('Рентабельність:'+ floattostr(StRentabelnost*100));

 

if EcTunel4.Acount<>0 then

 

CheckListBox1.Items.Add('Ліквідність   :'+ floattostr(EcTunel2.Acount/EcTunel4.Acount));

 

StModelTime:=StModelTime+1;

 

label24.Caption:='Модельний час: '+ inttostr(StModelTime);

 

form2.Series1.clear;

 

form2.Series1.add(StSebestoimost,'Собівартість',clRed);

 

form2.Series1.add(StProdano,'Обсяг реалізації товару',clblue);

 

form2.Series1.add(StViruchka,'Виторг',clpurple);

 

form2.Series1.add(StKolvotov,'Виготовлено товару',clgreen);

 

form2.Series2.clear;

 

form2.Series2.add(StZatrati,'Витрати на матеріали',clRed);

 

form2.Series2.add(StPrZatrati,'Інші витрати',clblue);

 

form2.Series2.add(StPribil,'Чистий прибуток',clpurple);

 

form2.Series2.add(StRentabelnost*100,'Рентабельність',clgreen);

 

if ectunel4.acount<>0 then

 

form2.Series2.add(Ectunel2.Acount/ectunel4.acount,'Ліквідність',clblack);

 

end;

 

procedure TForm1.Button12Click(Sender: TObject);

 

begin

 

Timer1.Enabled:=false;

 

Panel2.Enabled:=true;

 

end;

 

procedure TForm1.Button13Click(Sender: TObject);

 

begin

 

    SelectedTimer:=TmGauge1.tag;

 

    SpinEdit4.Value:=TmGauge1.ATime;

 

    SpinEdit5.Value:=TmGauge1.ATimePlusMinus;

 

end;

 

procedure TForm1.SpinEdit4Change(Sender: TObject);

 

begin

 

   if SelectedTimer=1 then

 

   begin

 

TmGauge1.ATime:=Spinedit4.value;

 

   end;

 

   if SelectedTimer=2 then

 

   begin

 

TmGauge2.ATime:=Spinedit4.value;

 

   end;

 

   if SelectedTimer=3 then

 

   begin

 

TmGauge3.ATime:=Spinedit4.value;

 

   end;

 

   if SelectedTimer=4 then

 

   begin

 

TmGauge4.ATime:=Spinedit4.value;

 

   end;

 

   if SelectedTimer=5 then

 

   begin

 

TmGauge5.ATime:=Spinedit4.value;

 

   end;

 

end;

 

procedure TForm1.SpinEdit5Change(Sender: TObject);

 

begin

 

if SpinEdit5.Value>SpinEdit4.value then SpinEdit5.Value:=SpinEdit4.value-1;

 

    if SelectedTimer=1 then

 

   begin

 

   TmGauge1.ATimePlusMinus:=Spinedit5.value;

 

end;

 

   if SelectedTimer=2 then

 

   begin

 

   TmGauge2.ATimePlusMinus:=Spinedit5.value;

 

   end;

 

   if SelectedTimer=3 then

 

   begin

 

   TmGauge3.ATimePlusMinus:=Spinedit5.value;

 

   end;

 

   if SelectedTimer=4 then

 

   begin

 

   TmGauge4.ATimePlusMinus:=Spinedit5.value;

 

   end;

 

   if SelectedTimer=5 then

 

   begin

 

   TmGauge5.ATimePlusMinus:=Spinedit5.value;

 

   end;

 

end;

 

procedure TForm1.Button14Click(Sender: TObject);

 

begin

 

    SelectedTimer:=TmGauge5.tag;

 

    SpinEdit4.Value:=TmGauge5.ATime;

 

    SpinEdit5.Value:=TmGauge5.ATimePlusMinus;

 

end;

 

procedure TForm1.TmGauge2Time(Sender: TObject; STime: Integer);

 

var

 

vl:integer;

 

begin

 

if EcTunel3.AcountMax>EcTunel3.Acount then

 

begin

 

  vl:=SpinEditRes.Value*SpinEditZak.Value;

 

  EcTunel2.DecFromAcount(vl);

 

  EcTunel3.addToAcount(SpinEditZak.Value);

 

  StZatrati:=StZatrati+vl;

 

end;

 

end;

 

procedure TForm1.EcTunel2MinAcount(Sender: TObject; Quantity: Real);

 

begin

 

ecTunel1.DecFromAcount(SpineditKredit.Value);

 

ecTunel2.AddtoAcount(SpineditKredit.Value);

 

ecTunel4.AddtoAcount(SpineditKredit.Value);

 

end;

 

procedure TForm1.Button15Click(Sender: TObject);

 

begin

 

    SelectedTimer:=TmGauge2.tag;

 

    SpinEdit4.Value:=TmGauge2.ATime;

 

    SpinEdit5.Value:=TmGauge2.ATimePlusMinus;

 

end;

 

procedure TForm1.Button16Click(Sender: TObject);

 

begin

 

    SelectedTimer:=TmGauge3.tag;

 

    SpinEdit4.Value:=TmGauge3.ATime;

 

    SpinEdit5.Value:=TmGauge3.ATimePlusMinus;

 

end;

 

procedure TForm1.Button17Click(Sender: TObject);

 

begin

 

    SelectedTimer:=TmGauge4.tag;

 

    SpinEdit4.Value:=TmGauge4.ATime;

 

    SpinEdit5.Value:=TmGauge4.ATimePlusMinus;

 

end;

 

procedure TForm1.TmGauge3Time(Sender: TObject; STime: Integer);

 

begin

 

EcTunel2.DecFromAcount(SpinEditVI.Value);

 

StPrZatrati:=StPrZatrati+SpinEditVI.Value;

Информация о работе Поняття про бізнес-процес. Етапи та методи математичного моделювання бізнес-процесів