Проектирование процесса исследования для модуля корпоративных информационных систем по учету затрат на производстве

3



МИНИСТЕРСТВО АГРАРНОЙ ПОЛИТИКИ УКРАИНЫ

ЛУГАНСКИЙ НАЦИОНАЛЬНЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ



















Курсовая работа

по дисциплине «Корпоративные информационные системы»

на тему: «Проектирование процесса исследования для модуля корпоративных информационных систем по учету затрат на производстве».









Выполнил: студент 1251 группы



Проверил:















Луганск – 2006


Содержание



Введение…………………………………………………………………………3

1. Затраты на производстве……………………………………………………..4

2.Проэктирование базы данных по учету затрат……………………………..6

3. Проектирование базы данных по учету затрат в Delphi………………...12

Вывод…………………………………………………………………………...25






Введение



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

Деятельность любого субъекта хозяйствования невозможная без осуществления затрат. Под затратами понимают уменьшение экономических выгод вследствие убытия активов или увеличения обязательств, которые приводят к уменьшению собственного капитала (за исключением уменьшения капитала за счет его изъятия или распределения собственниками).


Затраты на производстве



В бухгалтерском учете затраты отображаются при соблюдении определенных условий. Затраты признаются затратами определенного периода одновременно с признанием дохода, для получения которого они осуществлены. Это отвечает применяемому в национальных стандартах принципу начисление и соответствия доходов и затрат. Существенным признаком классификации затрат, доходов и финансовых результатов есть вид деятельности, от которой получен доход. В зависимости от видов деятельности все затраты распределяют на две больших группы: затраты, которые возникают в процессе обычной деятельности, и затраты, которые возникают в процессе чрезвычайной деятельности. Затраты, которые возникают в процессе обычной деятельности, делятся на затраты от операционной (основной и другой операционной), инвестиционной и финансовой деятельности (таблица 1).

Таблица 1 Классификация затрат по видами деятельности

Виды деятельности

Затраты

Обычная деятельность

Операционная деятельность

Основная деятельность



Себестоимость реализации

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



Административные затраты

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



Затраты на сбыт

Затраты на упаковку, ремонт тары, оплату труда и комиссии продавцам, затраты на рекламу и т.д.



Другая операционная деятельность



Другие операционные затраты

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

Финансовая деятельность

Убытки от участия в капитале

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



Финансовые затраты

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

Другая деятельность

Другие затраты

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

Чрезвычайная деятельность

Чрезвычайная деятельность

Чрезвычайные затраты

Убыток от стихийных бедствий, пожаров и т. Д.

2.Проэктирование базы данных по учету затрат.



При создание базы данных для учета затрат мы используем метод SADT.

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

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

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

- строгость и точность. Выполнение правил SADT требует достаточной строгости и точности, не накладывая в то же время чрезмерных ограничений на действия аналитика. Правила SADT включают: ограничение количества блоков на каждом уровне декомпиляции, связность диаграмм, уникальность меток и наименований, синтаксические правила для графики, разделение входов и управлений;

- отделение организации от функции, т.е. исключение влияния административной структуры организации на функциональную модель.

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

Результатом применения метода SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы – главные компоненты модели, все функции организации и интерфейсы на них представлены как блоки и дуги соответственно. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как входная информация, которая подвергается обработке, показана с левой стороны блока и дуги соответственно, а результаты (выход) показаны с правой стороны. Механизм, который осуществляет операцию, представляется дугой, входящей в блок снизу.

Одной из наиболее важных особенностей метода SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

Рассмотрим рисунок 1. На нем блок А1 представляет собой блок в который вносятся данные и оттуда поступает в базу данных. Также одновременно поступает команда на сохранение данных. А2 представляет собой родительский блок, который состоит из базы данных. Блоки А3 и А4 представляют собой системы вывода информации, которые являются отчетами. База данных поступления является таблицей, состоящей из следующих полей: номер поступления; название; количество; цена единицы; сумма; дата. 



Рис.1 Модель SADT базы данных по учету поступлений затрат.



Рис.2 Модель SADT базы данных по учету использования затрат.





На рисунке 2 изображена SADT модель использования затрат. Здесь родительским блоком является блок Б2, который состоит из базы данных, а блок Б1 – является блоком для внесения данных и сохранения внесенных данных. Блоки Б3 и Б4 являются блоками результатирующей информации. База данных содержится в блоке Б2 и состоит из следующих полей: номер использования затрат, названия, вида затрат, количества, цены единицы, суммы, и даты.

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

Для генерации SQL-скрипта используется программа Power Designer, которая позволяет визуально сконструировать базу данных. Power Designer также позволяет связывать таблицы базы данных между собой (рис3).

Рис3. Визуальное проектирование базы данных в Power Designer.

Далее Power Designer генерирует SQL-скрипт. База данных по учету затрат имеет следующий вид:





create database "c:\Zatrat.gdb"

 user "1"

 password "1";

/*==============================================================*/

/* Table: Postuplenie   */

/*==============================================================*/

create table Postuplenie (

PNom  NUMERIC(1,1)  not null,

PNazvanie VARCHAR(30) not null,

PEdIzmer  VARCHAR(5),

PKolvo INTEGER  not null,

PCenaEd INTEGER  not null,

PData DATE,

constraint PK_POSTUPLENIE primary key (PNazvanie)

);



/*==============================================================*/

/* Table: Rashod  */

/*==============================================================*/

create table Rashod (

RNom  NUMERIC(1,1)  not null,

RNazvanie VARCHAR(30) not null,

RVidZatrat VARCHAR(30) not null,

REdIzmer  VARCHAR(5),

RKolvo INTEGER  not null,

RCenaEd INTEGER  not null,

RData DATE  not null,

constraint PK_RASHOD primary key (RNazvanie, RVidZatrat)

);

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



3. Проектирование базы данных по учету затрат в Delphi.



Для подключения базы данных в Delphi используется компоненты IBDatabase, IBTransaction, IBUpdateSQL, IBQuery, DataSource.

. 

Для активации компонента IBDatabase и изменяются его свойства как показано в таблице 1.

Таблица 1.

Активация компонента IBDatabase, IBTransaction, IBQuery, DataSource.

Название компонента

Название свойств

IBDatabase

DatabaseName

Connected

Defaul Transaction











C:\ZATRAT.GDB Указать путь из окна обзора.

True указать имя и пароль пользователя, которые указывались при регистрации.

IBTransaction1









IBTransaction

DefaultDataBase

Active



IBDatabase

True

 IBQuery

Database

Transaction

UpdateObject

Active



IBDatabase

IBTransaction

IBUpdate

True











DataSource1

DataSet 



IBQuery



Для активации компонента IBQuery необходимо также ввести SQL запрос в него, а для компонента IBUpdateSQL сгенерировать SQL запрос. Так как база данных состоит из нескольких таблиц, то используется несколько компонентов IBUpdateSQL, IBQuery, DataSource, которые настраиваются отдельно на каждую таблицу. Они служат для связи с отдельной таблицей базы данных.

Для отображения данных используется компонент DBGrid. Он также используется отдельно для каждой таблицы базы данных.

Главной формой для базы данных является форма 1 (рис.4).





Рисунок 4. Внешний вид формы 1.



На этой форме располагаются компоненты BitBtn, которые служат для навигации по таблице, компонент MainMenu, который используется для переключения между другими формами и компоненты Button – используются для управления базой данных (добавление, редактирование, удаление, сохранения данных). Компонент PageControl используется для переключения между таблицей поступление и таблицей использование. Также при нажатии кнопки «Добавить» происходит открытие формы 3 (рис. 5), которая служит для внесения данных в базу данных поступление. На форме 3 для внесения данных служат компоненты DBEdit.







Рисунок 5. Внешний формы 3 «Поступление».

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

При нажатии на форме 1 в строке меню пункта «Фильтр» открывается список, где можно выбрать «Фильтр поступления» и «Фильтр использования». При нажатии на один из этих пунктов открывается соответствующая форма 5 или 6.

При нажатии на подпункт «Фильтр поступления» обрабатывается следующая процедура:

Form5.Show;

Form1.Hide;

DataModule2.IBQueryFPostuplenie.Active:=false;

DataModule2.IBQueryFPostuplenie.Active:=true;

Где первая строка говорит о открытии формы 5 «Фильтр поступления», при этом форма один не закрывается, а скрывается. Это прописано во второй строке. В третьей и четвертой строке активность компонента IBQueryFPostuplenie сначала выключается, а потом включается – это служит для обновления данных, которые были недавно внесены в базу данных.

Форма 5 служит для фильтрации данных из базы данных. Внешний вид формы 5 изображен на рисунке 6.





Рисунок 6. Пример формы 5.

На этой форме для выбора критериев фильтрации данных используются компоненты CheckBox, то есть переключатели, которые расположены на компоненте GroupBox1. При активации CheckBox1 (надпись «По дате») обрабатывается следующая процедура:

procedure TForm5.CheckBox1Click(Sender: TObject);

begin

 If Form5.CheckBox1.Checked=true then

 begin

 Form5.GroupBox2.Visible:=true;

 Form5.Button1.Visible:=true;

 end;

 If Form5.CheckBox1.Checked=false then

 begin

 Form5.GroupBox2.Visible:=false;

 if Form5.CheckBox2.Checked=false then

 begin

 Form5.Button1.Visible:=false;

 end;

 end;

В этой процедуре происходит изменение свойства Visible компонентов GroupBox2 и Button1 с False на True, то есть открывается окно для ввода критериев фильтрации. Также при деактивизации этого компонента происходит обратная процедура. 

Аналогичная процедура происходит и при активизации и деактивизации компонента CheckBox2:

If Form5.CheckBox2.Checked=true then

 begin

 Form5.GroupBox3.Visible:=true;

 Form5.Button1.Visible:=true;

 end;

 If Form5.CheckBox2.Checked=false then

 begin

 Form5.GroupBox3.Visible:=false;

 If Form5.CheckBox1.Checked=false then

 begin

 Form5.Button1.Visible:=false;

 end;

 end;

При нажатии на кнопку Button1 («Фильтровать») обрабатывается следующая процедура:

If Form5.CheckBox1.Checked=true Then

 begin

 If Form5.CheckBox2.Checked=false then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PDATA>='''+Form5.Edit1.Text+''' and PDATA<='''+Form5.Edit2.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;

 If Form5.CheckBox1.Checked=true then

 begin

 If Form5.CheckBox2.Checked=true then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PDATA>='''+Form5.Edit1.Text+''' and PDATA<='''+Form5.Edit2.Text+''' and PNAZVANIE='''+Form5.Edit3.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;

 If Form5.CheckBox1.Checked=false then

 begin

 If form5.CheckBox2.Checked=true then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PNAZVANIE='''+Form5.Edit3.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;

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

При нажатии в строке меню пункта «Отчет» происходит открытие списка, где выбирается вид отчета: простой отчет или HTML отчет. Для создания простого отчета используются компоненты RvProject и RvDataSetConnection. Компонент RvProject используется для связи с бланком отчета, а компонент RvDataSetConnection для связи с базой данных. При нажатии на подпункт «Отчет» происходит формирование простого отчета, который можно просмотреть, распечатать или сохранить в файл. Для формирования HTML отчета используются компоненты PageProducer, DataSetPageProducer, DataSetTableProducer. 

Аналогичный вид имеет форма 6 «Использование затрат». На ней добавлены только критерии фильтрации по виду затрат. Поэтому при нажатии на кнопку «Фильтровать» обрабатывается более сложная процедура:

If Form6.CheckBox1.Checked=true then

 begin

 If Form6.CheckBox2.Checked=false then

 begin

 if Form6.CheckBox3.Checked=false then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RDATA>='''+Form6.Edit1.Text+''' and RDATA<='''+Form6.Edit2.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

 If Form6.CheckBox1.Checked=true then

 begin

 If Form6.CheckBox2.Checked=true then

 begin

 if Form6.CheckBox3.Checked=false then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RDATA>='''+Form6.Edit1.Text+''' and RDATA<='''+Form6.Edit2.Text+''' and RNAZVANIE='''+Form6.Edit3.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

 If Form6.CheckBox1.Checked=true then

 begin

 If Form6.CheckBox2.Checked=true then

 begin

 if Form6.CheckBox3.Checked=true then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RDATA>='''+Form6.Edit1.Text+''' and RDATA<='''+Form6.Edit2.Text+''' and RNAZVANIE='''+Form6.Edit3.Text+''' and RVIDZATRAT='''+Form6.Edit4.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

 If Form6.CheckBox1.Checked=false then

 begin

 If Form6.CheckBox2.Checked=true then

 begin

 if Form6.CheckBox3.Checked=false then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RNAZVANIE='''+Form6.Edit3.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

If Form6.CheckBox1.Checked=false then

 begin

 If Form6.CheckBox2.Checked=true then

 begin

 if Form6.CheckBox3.Checked=true then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RNAZVANIE='''+Form6.Edit3.Text+''' and RVIDZATRAT='''+Form6.Edit4.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

If Form6.CheckBox1.Checked=false then

 begin

 If Form6.CheckBox2.Checked=false then

 begin

 if Form6.CheckBox3.Checked=true then

 Begin

 DataModule2.IBQueryFRashod.Active:=false;

 DataModule2.IBQueryFRashod.SQL.Clear;

 DataModule2.IBQueryFRashod.SQL.Add('select RNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD where RVIDZATRAT='''+Form6.Edit4.Text+'''');

 DataModule2.IBQueryFRashod.Active:=True;

 end;

 end;

 end;

Форма 7 и форма 8 имеют подобный интерфейс с формой 5 и формой 6 соответственно. Разница состоит в том, что при выборе данных происходит суммирование сумм и одинаковые записи не повторяются. При нажатии на кнопку «Фильтровать» происходит выбор данных. В форме 7 критерии выбора данных происходят также как и в форме 5, различие состоит только в структуре SQL запроса к базе данных:

If Form5.CheckBox1.Checked=true Then

 begin

 If Form5.CheckBox2.Checked=false then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PDATA>='''+Form5.Edit1.Text+''' and PDATA<='''+Form5.Edit2.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;

 If Form5.CheckBox1.Checked=true then

 begin

 If Form5.CheckBox2.Checked=true then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PDATA>='''+Form5.Edit1.Text+''' and PDATA<='''+Form5.Edit2.Text+''' and PNAZVANIE='''+Form5.Edit3.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;

 If Form5.CheckBox1.Checked=false then

 begin

 If form5.CheckBox2.Checked=true then

 begin

 DataModule2.IBQueryFPostuplenie.Active:=false;

 DataModule2.IBQueryFPostuplenie.SQL.Clear;

 DataModule2.IBQueryFPostuplenie.SQL.add('select PNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE where PNAZVANIE='''+Form5.Edit3.Text+'''');

 DataModule2.IBQueryFPostuplenie.Active:=true;

 end;

 end;


Вывод

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

Цель деятельности любого предприятия является повышение прибыли. Увеличение прибыли возможно двумя путями – увеличение доли прибыли в цене реализованной продукции или увеличение объема выпускаемой продукции и уменьшение затрат.

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