Автор: Пользователь скрыл имя, 12 Февраля 2013 в 13:57, дипломная работа
Ключевым бизнес-процессом в работе любого сельскохозяйственного предпри-ятия, такого, как рассматриваемого в данной дипломной работе ООО «БелАгроКрив-цово», является процесс управления готовой продукцией. Поэтому автоматизация этого процесса является актуальной и жизненно необходимой для развития предпри-ятия и откроет новые горизонты в его производственной и управленческой деятель-ности.
Введение 5
1 Исследование документооборота предприятия по учету готовой продукции 6
1.1 Направления деятельности ООО "БелАгроКривцово" 6
1.2 Учет готовой продукции на предприятии 8
1.2.1 Обзор номенклатуры выпускаемой продукции 9
1.2.2 Оценка готовой продукции 9
1.2.3 Синтетический учет готовой продукции 10
1.2.4 Документация по движению готовой продукции 12
1.2.5 Учет отгрузки готовой продукции 17
1.3 Схема документооборота учета готовой продукции на ООО БелАгроКривцово» 19
1.3.1 Учет в 1С: Бухгалтерии 20
2 Постановка задачи автоматизации учета готовой продукции на ООО «БелАгроКривцово» 22
2.1 Общие сведения 22
2.1.1 Полное наименование системы и ее условное обозначение 22
2.1.2 Основание для создания 22
2.1.3 Реквизиты предприятия заказчика и разработчика 22
2.1.4 Назначение и цель создания системы 22
2.2 Функции автоматизированной системы 23
2.3 Пользователи автоматизированной системы 23
2.4 Характеристика входной и выходной информации 23
2.5 Требования к программе 25
2.5.1 Общие требования 25
2.5.2 Требования к документации 26
2.5.3 Требования к программному и аппаратному обеспечению 26
2.5.4 Требования к дополнительному ПО 26
2.5.5 Состав и содержание работ по созданию ПО 26
3 Разработка программного обеспечения 28
3.1 Обоснование выбора средств разработки 28
3.1.1 Выбор ПО для проектирования Бизнес-процессов 28
3.1.2 Средство для проектирования структуры базы данных 36
3.1.3 Средства разработки программных модулей 39
3.1.4 Сервер баз данных Interbase 41
3.1.5 Средства Delphi 7 для доступа к данным 43
3.1.5.1 Иерархия классов наборов данных 43
3.1.5.2 Сервер баз данных InterBase и компоненты InterBase Express 44
3.1.5.3 Возможности построения распределенных приложений БД 45
3.2 Построение модели в BPWin 47
3.3 Организация данных в ERWin 53
3.4 Состав и структура ПО 57
4 Организационно-экономическая часть 59
4.1 Расчет трудоемкости выполнения разработки программного продукта 59
4.2 Расчет числа исполнителей 61
4.3 Расчет сметной стоимости и договорной цены разработки ПП 62
4.4 Оценка годовых эксплуатационных издержек потребителя ПП 68
4.5 Оценка экономической эффективности ПП 69
5. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ 71
5.1 Характеристика опасных и вредных производственных факторов 72
5.2 Обеспечение электробезопасности при работе с ПЭВМ 73
5.3 Вредные производственные факторы 75
5.3.1 Требования к вентиляции и кондиционированию воздуха в помещениях с компьютерной техникой 76
5.3.2 Требования к освещению в помещениях 77
5.3.3 Рекомендации по организации рабочего места сотрудника, работающего на компьютере 28
5.3.4 Режим труда и отдыха при работе с компьютером 79
5.4 Пожарная безопасность 80
Заключение 83
Список литературы 84
К первичным средствам
пожаротушения относятся
Огнетушитель - переносное или передвижное устройство для тушения очага пожара за счет выпуска запасенного огнетушащего вещества (ОТВ). В помещениях с ПЭВМ используют два вида огнетушителей: порошковые (ОП), углекислотные (ОУ).
Порошковые огнетушители (ОПС-6, ОПС-10, ОПС-100) – способны подавлять горение различных соединений и веществ, для тушения которых не применимы вода и пена, их можно применять при тушении пожаров на электроустановках под напряжением. Порошковыми огнетушителями запрещается тушить электрооборудование, находящееся под напряжением выше 1000 В.
Углекислотные огнетушители (ОУ-2А, ОУ-5, ОУ-8) – заполнены углекислым газом, находящимся в жидком состоянии под давлением 6….7 МПа. После открытия вентиля в раструбе огнетушителя диоксид углерода переходит в твердое состояние и в виде аэрозоля выбрасывается в зону горения. Углекислотные огнетушители используют для тушения электроустановок.
Огнетушители нужно располагать таким образом, чтобы они были защищены от воздействия прямых солнечных лучей и других неблагоприятных факторов. Они должны быть хорошо видны и легкодоступны в случае пожара. Огнетушители не должны препятствовать эвакуации людей во время пожара и должны располагаться так, чтобы основные надписи и пиктограммы, показывающие порядок приведения их в действие, были хорошо видны и обращены наружу.
Ответственность за своевременное и полное оснащение предприятий первичными средствами пожаротушения, обеспечение их технического обслуживания, обучение работников правилам пользования огнетушителями несут руководители этих предприятий. Лица ответственные за наличие и готовность средств пожаротушения, обязаны организовывать не реже одного раза в 6 месяцев осмотр первичных средств пожаротушения с регистрацией результатов осмотра в журнале состояния первичных средств пожаротушения.
Заключение
В процессе дипломного проектирования было проведено изучение предметной области, анализ бизнес-процессов на предприятии ООО «БелАгроКривцово», выполнена постановка задачи, были изучены проблемы учета готовой продукции, его место в бухгалтерском учете. Была проработана литература по построению современных информационных систем, по бухгалтерскому учету, изучены многие ресурсы сети Интернет.
Перед разработкой программного обеспечения были проанализированы различные программные средства, системы управления базами данных, средства проектирования сложных систем, и выбраны наиболее подходящие, по моему мнению, инструментальные средства для реализации дипломного проекта.
В процессе дипломного проектирования была разработана система баз данных, включающая в себя базу входных, базу выходных данных, справочники, и разработаны средства, обеспечивающие корректную и удобную работу с системой баз данных.
Были разработаны модели описания бизнес-процессов, завязанных на решение задач учета готовой продукции с разделением операций между автоматизированными рабочими местами и сервером баз данных.
Были разработаны схемы базы данных, где была освещена проблема введения различных единиц измерения для различных видов продукции и связей между ними.
Выбранная СУБД Interbase позволила решить многие задачи, довольно легко администрируется, что делает сопровождение простым и для не суперквалифицированных специалистов.
Разработанная программа построена на трехуровневой архитектуре и предназначена для взаимодействия как на одном компьютере, так и в локальной сети или через Интернет.
Список литературы
Приложение 1. DFD-диаграмма «Приемка молока»
Приложение 2. DFD-диаграмма «Учет движения готовой продукции»
Приложение 3. DFD-диаграмма «Оперативный учет готовой продукции»
Приложение 4. DFD-диаграмма «Учет продаж готовой продукции»
Приложение 5. ER-диаграмма «Движение готовой продукции»
Приложение 6. ER-диаграмма «Бухгалтерский учет готовой продукции»
Приложение 7. ER-диаграмма «Продажи»
Приложение 8. SQL-скрипт создания
БД
CREATE DOMAIN D_Koef FLOAT;
CREATE DOMAIN D_kol DECIMAL(10,2);
CREATE DOMAIN D_Sch CHAR(3);
CREATE DOMAIN D_SSch CHAR(2);
CREATE DOMAIN D_Val FLOAT;
CREATE DOMAIN D_DAT DATE;
CREATE DOMAIN D_ID INTEGER NOT NULL;
CREATE DOMAIN D_NAM VARCHAR(18);
CREATE DOMAIN D_Opisan VARCHAR(20);
CREATE DOMAIN D_PRICE DECIMAL(12,2);
CREATE TABLE Moves (
Op INTEGER,
DatN DATE NOT NULL,
NE INTEGER,
EIKoH INTEGER,
Place INTEGER,
Place INTEGER,
Kol DECIMAL(10,2),
Cost DECIMAL(10,2)
);
CREATE UNIQUE INDEX XPKMoves ON Moves
(
Op,
DatN,
NE,
EIKoH,
Place,
Place
);
ALTER TABLE Moves
ADD PRIMARY KEY (Op, DatN, NE, EIKoH, Place, Place);
CREATE TABLE Nomenkl_Ed (
NE INTEGER,
VGP INTEGER,
NamNE VARCHAR(20)
);
CREATE UNIQUE INDEX XPKNomenkl_Ed ON Nomenkl_Ed
(
NE
);
ALTER TABLE Nomenkl_Ed
ADD PRIMARY KEY (NE);
CREATE TABLE Operation (
MoveNam VARCHAR(18),
Op INTEGER
);
CREATE UNIQUE INDEX XPKOperation ON Operation
(
Op
);
ALTER TABLE Operation
ADD PRIMARY KEY (Op);
CREATE TABLE Pokupat (
INN INTEGER NOT NULL
);
CREATE UNIQUE INDEX XPKPokupat ON Pokupat
(
INN
);
ALTER TABLE Pokupat
ADD PRIMARY KEY (INN);
CREATE TABLE Poluchat (
Place INTEGER
);
CREATE UNIQUE INDEX XPKPoluchat ON Poluchat
(
Place
);
ALTER TABLE Poluchat
ADD PRIMARY KEY (Place);
CREATE TABLE Predpr (
INN INTEGER NOT NULL
);
CREATE UNIQUE INDEX XPKPredpr ON Predpr
(
INN
);
ALTER TABLE Predpr
ADD PRIMARY KEY (INN);
CREATE TABLE Накладная_на_отпуск (
NaklNum INTEGER,
INN INTEGER NOT NULL,
NaklSum NUMERIC,
NaklDat DATE
);
CREATE UNIQUE INDEX XPKНакладная_на_отпуск ON Накладная_на_отпуск
(
NaklNum,
NaklDat
);
ALTER TABLE Накладная_на_отпуск
ADD PRIMARY KEY (NaklNum, NaklDat);
CREATE TABLE Оплата (
Dat_Opl DATE,
OplNum INTEGER,
SumOpl DECIMAL(12,2),
Prodavec INTEGER NOT NULL,
Pokupat INTEGER NOT NULL
);
CREATE UNIQUE INDEX XPKОплата ON Оплата
(
Dat_Opl,
OplNum
);
ALTER TABLE Оплата
ADD PRIMARY KEY (Dat_Opl, OplNum);
CREATE TABLE Отправитель (
Place INTEGER
);
CREATE UNIQUE INDEX XPKОтправитель ON Отправитель
(
Place
);
ALTER TABLE Отправитель
ADD PRIMARY KEY (Place);
CREATE TABLE Отпущено_по_накладной (
DatN DATE NOT NULL,
Op INTEGER,
NE INTEGER,
EIKoH INTEGER,
Place INTEGER,
NaklDat DATE NOT NULL,
NaklNum INTEGER,
Place INTEGER
);
CREATE UNIQUE INDEX XPKОтпущено_по_накладной ON Отпущено_по_накладной
(
DatN,
Op,
NE,
EIKoH,
Place,
NaklDat,
NaklNum,
Place
);
ALTER TABLE Отпущено_по_накладной
ADD PRIMARY KEY (DatN, Op, NE, EIKoH, Place, NaklDat, NaklNum,
Place);
CREATE TABLE Строки_накладной (
NaklDat DATE NOT NULL,
StrSum DECIMAL(12,2),
NaklNum INTEGER
);
CREATE UNIQUE INDEX XPKСтроки_накладной ON Строки_накладной
(
NaklDat,
NaklNum
);
ALTER TABLE Строки_накладной
ADD PRIMARY KEY (NaklDat, NaklNum);
ALTER TABLE Moves
ADD FOREIGN KEY (Place)
REFERENCES Отправитель;
ALTER TABLE Moves
ADD FOREIGN KEY (Place)
REFERENCES Poluchat;
ALTER TABLE Moves
ADD FOREIGN KEY (EIKoH)
REFERENCES EI_Kol_Har;
ALTER TABLE Moves
ADD FOREIGN KEY (NE)
REFERENCES Nomenkl_Ed;
ALTER TABLE Moves
ADD FOREIGN KEY (Op)
REFERENCES Operation;
ALTER TABLE Nomenkl_Ed
ADD FOREIGN KEY (VGP)
REFERENCES Vid_GP;
ALTER TABLE Pokupat
ADD FOREIGN KEY (INN)
REFERENCES Firma;
ALTER TABLE Poluchat
ADD FOREIGN KEY (Place)
REFERENCES Place;
ALTER TABLE Predpr
ADD FOREIGN KEY (INN)
REFERENCES Firma;
ALTER TABLE Накладная_на_отпуск
ADD FOREIGN KEY (INN)
REFERENCES Pokupat;
ALTER TABLE Оплата
ADD FOREIGN KEY (Prodavec)
REFERENCES Predpr;
ALTER TABLE Оплата
ADD FOREIGN KEY (Pokupat)
REFERENCES Pokupat;
ALTER TABLE Отправитель
ADD FOREIGN KEY (Place)
REFERENCES Place;
ALTER TABLE Отпущено_по_накладной
ADD FOREIGN KEY (NaklDat, NaklNum)
REFERENCES Строки_накладной;
ALTER TABLE Отпущено_по_накладной
ADD FOREIGN KEY (Op, DatN, NE, EIKoH, Place, Place)
REFERENCES Moves;
ALTER TABLE Строки_накладной
ADD FOREIGN KEY (NaklNum, NaklDat)
REFERENCES Накладная_на_отпуск;
CREATE TRIGGER tD_Moves FOR Moves AFTER DELETE AS
/* ERwin Builtin Wed May 12 22:33:18 2004 */
/* DELETE trigger on Moves */
DECLARE VARIABLE numrows INTEGER;
BEGIN
/* ERwin Builtin Wed May 12 22:33:18 2004 */
/* Moves R/62 Отпущено_по_накладной ON PARENT DELETE RESTRICT */
select count(*)
from Отпущено_по_накладной
where
/* Отпущено_по_накладной.Op = OLD.Op and
Отпущено_по_накладной.DatN = OLD.DatN and
Отпущено_по_накладной.NE = OLD.NE and
Отпущено_по_накладной.EIKoH = OLD.EIKoH and
Отпущено_по_накладной.Place = OLD.Place and
Отпущено_по_накладной.Place = OLD.Place */
Отпущено_по_накладной.Op = OLD.Op and
Отпущено_по_накладной.DatN = OLD.DatN and
Отпущено_по_накладной.NE = OLD.NE and
Отпущено_по_накладной.EIKoH = OLD.EIKoH and
Отпущено_по_накладной.Place = OLD.Place and
Отпущено_по_накладной.Place = OLD.Place into numrows;
IF (numrows > 0) THEN
BEGIN
EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;
END
/* ERwin Builtin Wed May 12 22:33:18 2004 */
/* Moves R/44 Накладная_Журнал_д ON PARENT DELETE RESTRICT */
select count(*)
from Накладная_Журнал_д
where
/* Накладная_Журнал_д.Op = OLD.Op and
Накладная_Журнал_д.DatN = OLD.DatN and
Накладная_Журнал_д.NE = OLD.NE and
Накладная_Журнал_д.EIKoH = OLD.EIKoH and
Накладная_Журнал_д.Place = OLD.Place and
Накладная_Журнал_д.Place = OLD.Place */
Накладная_Журнал_д.Op = OLD.Op and
Накладная_Журнал_д.DatN = OLD.DatN and
Накладная_Журнал_д.NE = OLD.NE and
Накладная_Журнал_д.EIKoH = OLD.EIKoH and
Накладная_Журнал_д.Place = OLD.Place and
Накладная_Журнал_д.Place = OLD.Place into numrows;
IF (numrows > 0) THEN
BEGIN
EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;
END
/* ERwin Builtin Wed May 12 22:33:18 2004 */
/* Moves R/35 TovTrNakl ON PARENT DELETE RESTRICT */
select count(*)
from TovTrNakl
where
/* TovTrNakl.Op = OLD.Op and
TovTrNakl.DatN = OLD.DatN and
TovTrNakl.NE = OLD.NE and
TovTrNakl.EIKoH = OLD.EIKoH and
TovTrNakl.Place = OLD.Place and
TovTrNakl.Place = OLD.Place */
TovTrNakl.Op = OLD.Op and
TovTrNakl.DatN = OLD.DatN and
TovTrNakl.NE = OLD.NE and
TovTrNakl.EIKoH = OLD.EIKoH and
TovTrNakl.Place = OLD.Place and
TovTrNakl.Place = OLD.Place into numrows;
IF (numrows > 0) THEN
BEGIN
EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;
END
/* ERwin Builtin Wed May 12 22:33:18 2004 */
/* Moves R/6 Nadoj_Dojarki ON PARENT DELETE RESTRICT */
select count(*)
from Nadoj_Dojarki
where
/* Nadoj_Dojarki.Op = OLD.Op and
Nadoj_Dojarki.NadojTime = OLD.DatN and
Nadoj_Dojarki.DateN = OLD.DatN and
Nadoj_Dojarki.NE = OLD.NE and
Nadoj_Dojarki.EIKoH = OLD.EIKoH and
Nadoj_Dojarki.Place = OLD.Place and
Nadoj_Dojarki.Place = OLD.Place */
Nadoj_Dojarki.Op = OLD.Op and
Nadoj_Dojarki.NadojTime = OLD.DatN and
Nadoj_Dojarki.DateN = OLD.DatN and
Nadoj_Dojarki.NE = OLD.NE and
Nadoj_Dojarki.EIKoH = OLD.EIKoH and
Nadoj_Dojarki.Place = OLD.Place and
Nadoj_Dojarki.Place = OLD.Place into numrows;
IF (numrows > 0) THEN
BEGIN
EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;
END
/* ERwin Builtin Wed May 12 22:33:18 2004 */
END !!
CREATE TRIGGER tI_Moves FOR Moves AFTER INSERT AS
/* ERwin Builtin Wed May 12 22:33:18 2004 */
Информация о работе Исследование документооборота предприятия по учету готовой продукции