МИНИСТЕРСТВОАГРАРНОЙ ПОЛИТИКИ УКРАИНЫ
ЛУГАНСКИЙНАЦИОНАЛЬНЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ
Курсоваяработа
по дисциплине«Корпоративные информационные системы»
на тему:«Проектирование процесса исследования для модуля корпоративных информационныхсистем по учету затрат на производстве».
Выполнил:студент 1251 группы
Проверил:
Луганск –2006
Содержание
Введение…………………………………………………………………………3
1. Затраты на производстве……………………………………………………..4
2.Проэктированиебазы данных по учету затрат……………………………..6
3.Проектирование базы данных по учету затрат в Delphi………………...12
Вывод…………………………………………………………………………...25
Введение
В величине финансовыхрезультатов непосредственно отображаются технология и организация производства,особенности деятельности субъекта хозяйствование. Поэтому внешних и внутреннихпользователей интересует информация о полученных финансовых результатов. Тем неменее, расширение видов хозяйственных связей, появление новыхорганизационно-правовых форм предприятий обуславливает возможностьиспользования нескольких подходов к определению результатов разных операций ивариантов их отображения в учета. Для того, чтобы полученную информацию заразные периоды можно было сравнить, необходимо следить за использованием однойметодики, которая применяется для определения финансовых результатов. Поэтомуособого значения приобретает четкое урегулирование порядка отображение исписание доходов и затрат.
Деятельность любого субъектахозяйствования невозможная без осуществления затрат.Под затратами понимают уменьшение экономических выгод вследствие убытия активовили увеличения обязательств, которые приводят к уменьшению собственного капитала(за исключением уменьшения капитала за счет его изъятия или распределениясобственниками).
1. Затраты на производстве
В бухгалтерском учетезатраты отображаются при соблюдении определенных условий. Затраты признаютсязатратами определенного периода одновременно с признанием дохода, для получениякоторого они осуществлены. Это отвечает применяемому в национальных стандартахпринципу начисление и соответствия доходов и затрат. Существенным признаком классификации затрат, доходов ифинансовых результатов есть вид деятельности, от которой получен доход. Взависимости от видов деятельности все затраты распределяют на две большихгруппы: затраты, которые возникают в процессе обычной деятельности, и затраты,которые возникают в процессе чрезвычайной деятельности. Затраты, которыевозникают в процессе обычной деятельности, делятся на затраты от операционной(основной и другой операционной), инвестиционной и финансовой деятельности(таблица 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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePDATA>='''+Form5.Edit1.Text+''' and PDATA
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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePDATA>='''+Form5.Edit1.Text+''' and PDATA
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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePNAZVANIE='''+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('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRDATA>='''+Form6.Edit1.Text+''' and RDATA
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('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRDATA>='''+Form6.Edit1.Text+''' and RDATA
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('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRDATA>='''+Form6.Edit1.Text+''' and RDATA
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('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRNAZVANIE='''+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('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRNAZVANIE='''+Form6.Edit3.Text+''' and RVIDZATRAT='''+Form6.Edit4.Text+'''');
DataModule2.IBQueryFRashod.Active:=True;
end;
end;
end;
If Form6.CheckBox1.Checked=false then
begin
IfForm6.CheckBox2.Checked=false then
begin
if Form6.CheckBox3.Checked=true then
Begin
DataModule2.IBQueryFRashod.Active:=false;
DataModule2.IBQueryFRashod.SQL.Clear;
DataModule2.IBQueryFRashod.SQL.Add('selectRNOM, RNAZVANIE, RVIDZATRAT, RSUMA, RDATA from RASHOD whereRVIDZATRAT='''+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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePDATA>='''+Form5.Edit1.Text+''' and PDATA
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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePDATA>='''+Form5.Edit1.Text+''' and PDATA
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('selectPNOM, PNAZVANIE, PSUMA, PDATA from POSNUPLENIE wherePNAZVANIE='''+Form5.Edit3.Text+'''');
DataModule2.IBQueryFPostuplenie.Active:=true;
end;
end;
Вывод
В этой курсовой работе создана база данных,которая позволяет учитывать затраты в процессе производства.
Цель деятельности любого предприятия являетсяповышение прибыли. Увеличение прибыли возможно двумя путями – увеличение долиприбыли в цене реализованной продукции или увеличение объема выпускаемойпродукции и уменьшение затрат.
Данная программа позволяет руководствупредприятия видеть все затраты предприятия и помогать принимать решения дляуменьшения затрат.