Разработка программного средства "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков"
Delphi как новая версия компилятора языка Pascal. Знакомство с особенностями разработки программного средства "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков". Характеристика этапов расчета себестоимости программного продукта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.06.2013 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
delphi компилятор инвентаризация программный
В настоящее время вычислительные машины представляют собой одно из самых значительных достижений человека, которое оказывает огромное влияние, как на развитие научно-технического прогресса, так и любую предметную область, где используется ЭВМ. Наука и техника, культура и сельское хозяйство, быт и развлечение - во всех этих сферах человеческой деятельности компьютеры вносят свой неоценимый вклад.
Применение ЭВМ позволяет обеспечить высокую скорость выполнения сложных вычислительных операций и задач, обработку больших потоков информации, а также обеспечивает автоматизацию различных процессов. Особенно необходимым это является на производстве, поскольку оно связано с экономическим развитием общества. Современные ЭВМ могут обрабатывать информацию разных видов: текстовую, графическую, аудио, видео и т. д.
Широкое распространение ЭВМ породило индустриализацию создания и эксплуатации программного обеспечения. Работа с программным обеспечением ставится на поток, подчиняется жесткой дисциплине и технологии. Средства и методы разработки и эксплуатации программного обеспечения развиваются синхронно с совершенствованием аппаратуры.
Программное обеспечение как материальный объект в значительной мере представляется посредством различного рода документов. Качество документации является одним из весомых критериев оценки программного обеспечения и непосредственно влияет на его рейтинг, на рынке программной продукции.
Важным является овладение всеми этапами процесса создания программ, как продукции производственно-технического назначения.
В рамках дипломного проектирования разрабатывается программное средство «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков» реализация которого позволяет ответственным исполнителям создавать инвентаризационные ведомости в разрезе ярлыков, а так же исключить возможность появления ошибок.
Программное средство предназначено для проведения инвентаризации на конкретных участках цехов основного производства предприятия.
1. Общая часть
1.1 Цель разработки
Целью дипломного проекта является изучить и доработать программное средство "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков". Данная аналитическая программа активно используется на предприятии и поэтому её доработка важна для получения более полной информации в разрезе ярлыковой системы.
Доработка делалась с целью:
· предоставление возможности просмотра информации по концам;
· предоставление возможности просмотра информации по таре.
Данное программное средство актуально в рамках завода, так как в нём осуществляется анализ данных в реальный момент времени. А доработка программного средства необходима для получения более полной и детальной информации по ярлыкам в реальный момент времени. В настоящее время с помощью ЭВМ стало возможным более эффективно и быстро реализовать процедуру проведения инвентаризации, а так же освободить работников от утомительной и рутиной работы.
1.2 Анализ использования разработки
Программное средство "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков" разработано непосредственно для ОАО «Электрокабель» Кольчугинский завод». Программное средство разработано для проведения инвентаризации на конкретных участках цехов основного производства завода.
Пользователями этой программы являются:
· мастера участков;
· распределители работ;
· диспетчера.
Данное программное средство может использоваться на других предприятиях, выпускающих кабельно-проводниковую продукцию, которые имеют аналогичную организационную структуру. Но внедрение данного программного продукта на других предприятиях потребует частичной доработки и внесения изменений в БД и в базы нормативно-справочной информации.
1.3 Анализ методов решения
К методам решения данной задачи можно отнести: ручной метод и автоматизированный.
Ручным методом осуществляется ввод запросов для отображения информации:
- ввод номера цеха;
- выбор участка по цеху;
- выбор даты, на которую была составлена инвентаризационная ведомость;
- выбор фильтров для сортировки (по коду изделия/полуфабриката, по дате формирования ярлыка, по номеру ярлыка);
- вариант выбора ведомости.
Автоматизированным методом осуществляется формирование данных по запросу, формирование отчетов (машинограмм - инвентаризационная ведомость на определенную дату). Алгоритм любой задачи реализуется с помощью определенных средств программирования.
1.4 Обзор средств программирования
Средства автоматизации - это и инструментальные системы, с помощью которых создаются новые программные продукты, и готовые программные комплексы, настраивающиеся на нужды конкретного пользователя. В данном случае к инструментальным системам относится язык программирования Delphi и СУБД ORACLE.
СУБД ORACLE используется в течение нескольких лет в качестве корпоративной СУБД на предприятии ОАО «Электрокабель «Кольчугинский завод». Тем не менее, стоит привести краткую характеристику особенностей СУБД ORACLE, которые сыграли доминирующую роль при выборе СУБД.
СУБД ORACLE поддерживают свыше 80 вариантов операционной среды в широком диапазоне, включая мэйнфреймы IMB, мини-компьютеры DEC VEX, мини-компьютеры с операционной системой UNIX, Windows NT и множество других платформ. Сегодня фирма ORACLE - крупнейший производитель СУБД в мире. После появления на рынке продукта ORACLE7 фирма заняла доминирующее положение в области СУБД.
ORACLE по всем параметрам является СУБД, поскольку она поддерживает словарь данных и множество уровней безопасности, предлагает средства, гарантирующие целостность данных, организует параллельный доступ и обеспечивает языковой интерфейс. ORACLE обслуживает словарь данных в схемах SYS и SYSTEM, которые сохраняются в табличном пространстве SYSTEM. ORACLE предлагает учет пользователей на уровне базы данных, идентификацию пользователей средствами операционной системы, определение и отслеживание их ролей, привилегии и профилей. Естественно, поддерживаются представления SQL. Использование ресурсов регулируется профилями.
Целостность обеспечивается с помощью механизма декларативной целостности для первичных и внешних ключей. При этом нужно просто указать ключ (тогда отпадает необходимость в написании специальных программ, которые должны были бы гарантировать целостность).
Delphi в качестве среды разработки приложений так же, как и ORACLE в качестве СУБД, является корпоративным стандартом на предприятии ОАО «Электрокабель «Кольчугинский завод».
В комплектации ORACLE Enterprise Edition поставляется программный пакет SQL Navigator, который предоставляет удобный интерфейс к БД для разработчиков и программистов.
Интерфейс пользователя с Oracle осуществляется с помощью структурированного языка запросов SQL, первоначально разработанного фирмой IBM и в настоящее время ставшего составной частью СУРБД Oracle. Этот язык данных, на котором пользователь осуществляет управление и поддержку СУРБД Oracle.
[Дейв Энсор, Йен Стивенсон. Огасlе. Проектирование баз данных: пер. c англ. --К.: Издательская группа BHV, Киев,2008]
SQL является одновременно языком интерактивных запросов и языком программирования базы данных.
Язык SQL состоит из операторов четырех основных типов:
- операторы определения данных (например, CREATE), которые служат для установки и поддержания базы данных;
- операторы манипулирования данными (INSERT, UPDATE, DELETE) служат для изменения данных в базе;
- запросы. Для восстановления данных из базы данных необходимо всегда использовать запрос. Запросы всегда начинаются с зарезервированного слова SELECT, за которым следует желаемая информация и имена содержащих ее таблиц;
- операторы управления данными. Такие операторы управляют доступом к данным и определяют как, когда и кем может осуществляться манипулирование данными.
Первые три типа применяются всеми пользователями для создания и поддержки базы данных, а четвертый - администраторами баз данных.
[Новиков В., Справочник PL/SQL, SQL, SQL*PLUS --М.:2001.]
Delphi -- это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi -- строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal.
Delphi позволяет создавать самые различные программы: от простейших однооконных приложений до программ управления распределенными базами. В состав пакета включены разнообразные утилиты, обеспечивающие работу с базами данных, создание справочной системы, решение других задач. Borland Delphi может работать в среде операционных систем от Windows 98 до Windows 8.
Delphi включает в себя среду для создания программ, напоминающую Visual Basic и включающую в себя средство для наглядного создания программ и редактор для написания кода.
В Delphi практически все создаваемые программы являются объектно-ориентированными. Delphi - это не просто новая версия компилятора языка Pascal, а принципиально новый программный продукт, позволяющий создавать широкий спектр приложений для среды Microsoft Windows. Основное назначение Delphi - служить средством для быстрого создания широкого класса Windows-приложений, включая приложения, отвечающие технологи распределенной обработки данных, называемой технологией «клиент-сервер».
[Кандюзюба C.П., Громов В.Н. Delphi Базы данных и приложения. Лекции и упражнения -- K.: Издательство ДиаСофт 2007]
2. Специальная часть
2.1 Постановка задачи
Требуется разработать программное средство «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков», необходимо предоставить возможность формирования инвентаризационной ведомости, добавить возможность просмотра дополнительной информации по ярлыкам, а так же функцию, для корректировки результатов инвентаризации.
2.1.1 Назначение задачи
Программное средство «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков» предназначена для функционирования на предприятие ОАО «Электрокабель» Кольчугинский Завод» и должна обеспечивать выполнение следующих функций:
· предоставлять возможность формирования новой или просмотра уже существующей инвентаризационной ведомости;
· печати новой инвентаризационной ведомости или уже существующей инвентаризационной ведомости;
· предоставлять возможность просмотра информации по концам ярлыка;
· предоставлять возможность просмотра информации по таре ярлыка;
· предоставлять возможность работать с уже существующей инвентаризационной ведомостью;
· предоставлять возможность печати дополнительных листов для инвентаризационной ведомости;
· предоставлять возможность обработки результатов прошедшей инвентаризации.
Разработанное программное средство устанавливается в участках цехов основного производства, используется мастерами участков и распределителями работ периодически при возникновении необходимости проведения инвентаризации в подразделении. Схема бизнес-процессов представлена в ГРАФИЧЕСКОЙ ЧАСТИ 1.
2.1.2 Описание задачи
Входными данными будет являться ручной ввод информации в конкретные поля, после анализа информации и передачи её все данные записываются в хранимые таблицы и пользователю предоставляется возможность работы с этими данными.
Хранимые таблицы:
OBORUD - Планирование и фактический выпуск продукции;
YARLIKS - Шапки ярлыков;
OBOR_NAMOT - Спецификация ярлыка;
DVIG_YARLIKS - Таблица документов, отслеживающих движение ярлыков;
NALICH_YARLIKS - Наличие ярлыков в подразделении;
INVENT - Инвентаризация незавершенного производства (Осн. Таблица);
Справочники:
KOD_PODR - Подразделения завода.
NAPF - Справочник полуфабрикатов;
POSTIZD - Справочник готовых изделий;
NAIV - Справочник единиц измерения;.
Программный модуль выполняет формирование инвентаризационной ведомости на основании входных данных.
Входные данные:
· Номер цеха;
· Участок;
· Дата.
Выходные данные:
Выходные данные представляют собой экранную форму и форму печати инвентаризационной ведомости (машинограмма).
Экранные формы:
- ЭФ1 «Учет выпуска продукции»;
- ЭФ2 «Аналитика»;
- ЭФ3 «Инвентаризация по ярлыкам»;
- ЭФ4 «Информация по концам»;
- ЭФ5 «Информация по таре»;
- ЭФ6 «Стандартная форма просмотра и печати отчетов (машинограмм)».
Отчеты (машинограммы):
- Инвентаризационная ведомость на определенную дату;
- Печать дополнительных страниц
2.1.3 Требования к программе и аппаратному обеспечению
Основные требования, предъявляемые к программному средству:
· Модуль формирования инвентаризационной ведомости должен быть реализован в СУБД ORACLE, в среде программирования DELPHI 3 под управлением ОС WINDOWS, начиная с WINDOWS 95.
· работа пользователя с задачей должна осуществляться через экранные формы;
· защита информации от несанкционированного доступа и несанкционированных действий должна включать следующие этапы: защита на уровне доступа в сеть (сетевой пароль), защита на уровне доступа в задачу (пароль ORACLE);
· Модуль должен быть реализован на персональных ЭВМ (ПЭВМ) типа IBM PC, установленных непосредственно на рабочих местах работников, объединенных в информационную сеть;
· реализация алгоритмов должна осуществляться на технических средствах действующих автоматизированных рабочих мест.
Для корректного функционирования модуля необходимы следующие технические средства:
Персональный компьютер, в состав которого входит:
· системная плата (ASUS P5GC-VM (LGA 775, i945GC+ICH7, mATX));
· процессор (Intel Celeron® 440 2.0 ГГц 800 МГц, 512k, LGA775, EM64T, box);
· модуль памяти (DIMM DDR 2 667 1 Гб Kingston KVR667D2N5/1);
· жесткий диск (Seagate Barracuda 7200.10 ST380815AS 80 Гб, SerialATA-II);
· сетевой адаптер (Realtek RTL8139 Family PCI Fast Ethernet NIC);
· корпус (ASUS TT 671, ATX, 300 Вт);
· клавиатура (Mitsumi Classic (PS/2));
· мышь (Genius XScroll Optical);
· программное обеспечение (Microsoft Windows XP Pro Rus).
В скобках указаны конкретные характеристики технических средств, которые используются на ОАО «Электрокабель «Кольчугинский завод».
Данный набор средств является идеальным для исправной работы разработанного модуля.
2.2 Описание алгоритма
Программный продукт "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков" в своем программном содержании имеет 6 экранных форм:
- «Учет выпуска продукции» (Men), которой соответствует модуль uMenu;
- «Аналитика» (fAnalit), которой соответствует модуль uAnalit;
- «Инвентаризация по ярлыкам» (fInvent) (главная), которой соответствует модуль uInvent;
- «Информация по концам» (fKon1), которой соответствует модуль ufKon1;
- «Инвентаризация по таре» (fTar), которой соответствует модуль ufTar;
- «Стандартная форма просмотра и печати отчетов (машинограмм)» (fRepView), которой соответствует модуль - Repv.
В пункт меню «Аналитика» добавить режим «Инвентаризация по ярлыкам» (рис.2)
Рис. 1 - Учет выпуска продукции (основное меню)
Рис.2 - Пункт меню «Аналитика»
После выбора режима «Инвентаризация по ярлыкам» показать экранную форму (рис.3)
Рис. 3 - Экранная форма «Инвентаризация по ярлыкам»
В шапку экранной формы (рис.4) ввести запрос в виде:
Цех XCEX
Участок XKOD_PODR - 1.sql:
SELECT DISTINCT N.KOD_NALICH, K.NAIMP
INTO XKOD_PODR
FROM NALICH_YARLIKS N, KODPODR K
WHERE N.KOD_NALICH=K.KOD_PODR
AND N.KOD_NALICH LIKE :XCEX
Рис. 4 - Ввод информации в шапку экранной формы
После выбора из списка одного кода участка показать фильтр, для сортировки выводимой информации (рис.5).
Рис . 5 - Фильтр для сортировки
Под фильтром для сортировки поместить комментарий «В колонку 1 проставить цифры, определяющие порядок сортировки информации, помещаемой в инвентаризационную ведомость (1, 2, 3)».
Если в фильтре не указан особый принцип сортировки, по умолчанию данные сортировать следующим образом: код изделия (XKOD_PF), дата ярлыка (XDAT1), номер ярлыка (XNOMER).
После определения порядка сортировки предложить варианты выбора формирования инвентаризационной ведомости (рис.6)
Рис. 6 - Варианты выбора ведомости
Рис. 7 - Заполненная экранная форма «Инвентаризация по ярлыкам»
Если выбран пункт «Новая ведомость от текущего числа» проанализировать, не была ли уже произведена передача данных по инвентаризации за данное число - 2.sql:
SELECT COUNT(*)
FROM INVENT
WHERE GOD_MES=:XGOD_MES AND KOD_PODR=:XKOD_PODR
AND TRUNC(DATV)=:XDAT AND PRIZN='Я'
где XDAT - текущая дата, XGOD_MES - месяц и год текущей даты (ММГГ), XKOD_PODR - XKOD_PODR из запроса.
Если результат выполнения запроса 2.sql равен нулю, тогда в заголовок поместить системную дату (рис.8).
Дата SYSDATE
Рис. 8 - Дата формирования инвентаризационной ведомости
После определения даты поместить в экранную форму информацию следующим образом - 3.sql:
SELECT N.NOMER, N.DAT1, N.KOD_PF,
NRK.GET_OP_NAME_F(N.KOD_PF, N.PT, NULL), N.OST, V.N_IZM
FROM NALICH_YARLIKS N, OBOR_NAMOT O, NAIV V
WHERE N.NOMER=O.NOMER AND N.DAT1=O.DAT1
AND N.K_IZM=V.K_IZM AND N.KOD_NALICH=:XKOD_PODR
ORDER BY N.KOD_PF, N.DAT1, N.NOMER
Выбранные в запросе 3.sql данные поместить в экранную форму в виде (рис.9)
Рис.9 - Пример данных в экранной форме
Если результат выполнения запроса 2.sql больше нуля - это означает, что за текущую дату уже была сформирована инвентаризационная ведомость, и тогда выдать на экран сообщение (рис.10).
Рис
И тогда перевести фокус на пункт «Существующая ведомость», для выбора даты показать список существующих ведомостей (рис.11).
Рис. 11 - Список выбора дат
И данные в экранную форму помещать следующим образом - 4.sql:
SELECT I.NOMER_YR, I.DATA_YR, I.KOD_IZD,
NRK.GET_OP_NAME_F(I.KOD_IZD, I.PT, NULL), I.KOL_VO, V.N_IZM
FROM INVENT I, NAIV V
WHERE I.K_IZM=V.K_IZM AND I.GOD_MES=:XGOD_MES
AND I.KOD_PODR=:XKOD_PODR AND TRUNC(I.DAT_N)=:XDAT
Данные в экранной форме отсортировать или по выбранному принципу сортировки, если он был определён, или по умолчанию.
Рис. 12 - Экранная форма «Инвентаризация по ярлыкам» с другим вариантом выбора ведомости
Если выбран пункт «Существующая ведомость» показать список дат сформированных инвентаризационных ведомостей - 5.sql:
SELECT DISTINCT TRUNC(DAT_N) DAT_N
FROM INVENT
WHERE KOD_PODR=:XKOD_PODR AND PRIZN='Я'
ORDER BY DAT_N DESC
После выбора из списка одной из дат в заголовок поместить
Дата DATE_N
И данные в экранную форму помещать следующим образом - 4.sql.
В экранную форму поместить кнопку «Передача данных» (рис.13). Если происходит работа с новой инвентаризационной ведомостью, кнопка «Передача данных» активна.
Рис. 13 - Кнопка «Передача данных» активная
Если происходит работа с уже существующей ведомостью, кнопка «Передача данных инвентаризации» не активна (рис.14).
Рис. 14 - Кнопка «Передача данных» не активная
Рис. 15 - Диалоговое окно о начале передачи данных
При нажатии кнопки «Передача данных инвентаризации» вывести на экран сообщение (рис.16)
Рис. 16 - Сообщение об успешной передачи данных
Если «Да», произвести insert в таблицу INVENT.
В таблице IVENT сформировать строки по каждому ярлыку, попавшему в ведомость, заполняя поля следующими значениями:
GOD_MES месяц и год текущей даты (ММГГ)
KOD_PODR XKOD_PODR
KOD_IZD KOD_PF (3.sql)
KOL_VO OST (3.sql)
K_IZM K_IZM (3.sql)
DATV SYSDATE (с минутами и секундами)
OPERAT OPERAT.N_OPER определить по LOGNAME
PT PT (3.sql)
DAT_N SYSDATE (с минутами и секундами)
N_POS № записываемой строки по порядку
PV `YR'
NOMER_YR NOMER (3.sql)
DATA_YR DAT1 (3.sql)
В экранную форму поместить кнопку «Печать». (рис.17)
При нажатии кнопки «Печать» показать список для выбора:
· Инвентаризационная ведомость
· Дополнительные страницы
Рис. 17 - Кнопка печати инвентаризационной ведомости и дополнительных страниц
Если выбран пункт «Инвентаризационная ведомость» сформировать машинограмму по данным из экранной формы в виде:
Инвентаризационная ведомость в разрезе ярлыков по подразделению XKOD_PODR - NAIMP за DAT_N
Таблица
№ п/п |
№ ярлыка |
Дата |
Код изделия |
Наименование |
Кол-во |
Ед.изм. |
|
Шапка на каждой странице. Ведомость разбить на страницы. Страницы пронумеровать.
В конце каждой станицы место для подписи:
Ответственный за инвентаризацию ______ /______/
В конце машинограммы: кто получил и когда - дата и время.
Данные в машинограмму помещать следующим образом - 6.sql:
SELECT I.N_POS, I.NOMER_YR, I.DATA_YR, I.KOD_IZD,
NRK.GET_OP_NAME_F(I.KOD_IZD, I.PT, NULL), I.KOL_VO,
V.N_IZM
FROM INVENT I, NAIV V
WHERE I.K_IZM=V.K_IZM AND I.GOD_MES=:XGOD_MES
AND I.KOD_PODR=:XKOD_PODR AND TRUNC(I.DAT_N)=:XDAT
AND I.PRIZN='Я' AND (I.PV IS NULL OR I.PV='YR')
ORDER BY I.N_POS
Если в экранную форму не введён запрос и не выбраны данные, тогда при нажатии кнопки «Печать» выдать на экран сообщение (Рис18).
Рис. 18 - Диалоговое окно «ошибка печати»
Если выбран пункт «Дополнительные страницы», спросить:
Введите количество страниц для печати: KOL_STR (рис. 19)
Рис. 19 - Поле печати дополнительных страниц
После ввода количества страниц сформировать машинограмму в виде (рис20).
Рис. 20 - Машинограмма «Инвентаризационная ведомость»
Дополнительная страница
к инвентаризационной ведомости в разрезе ярлыков
по подразделению XKOD_PODR - NAIMP
за DAT_N
Таблица
№ п/п |
№ ярлыка |
Дата |
Код изделия |
Наименование |
Кол-во |
Ед.изм. |
|
Шапка на каждой странице. Таблицу не заполнять. Страницы пронумеровать.
В конце каждой станицы место для подписи:
Ответственный за ввод _____ /______________/
2. Написать функцию, которая ответит диспетчеру, удалять ли ярлык, зафиксированный в инвентаризации, или записать ли новый ярлык, который не был записан в инвентаризационной ведомости - INVENT_YARLIKS_F - корректировка инвентаризации в разрезе ярлыков.
На вход функции подавать:
VPRIZN `N' - недостача или `I' - излишки
VNOMER номер ярлыка
VDAT1дата формирования ярлыка
VKOL_VO количество на ярлыке
VDAT_N дата проведения инвентаризации
VKOD_PODR код подразделения
Функция вернёт:
OKOD_PF код изделия на ярлыке
OPT тип справочника
OK_IZM код единицы измерения
При вызове функции проверить, был ли в принципе сформирован данный ярлык - 7.sql:
SELECT COUNT(*)
FROM YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
Если результат запроса равен нулю, вернуть сообщение (рис.21) и никаких дальнейших действий не предпринимать.
Рис. 21 - Сообщение о не формировании ярлыка
Если результат запроса больше нуля, проанализировать VPRIZN.
Если VPRIZN='I' определить дату и время начала формирования ярлыка - 8.sql:
SELECT MIN(DAT_VV_P)
INTO DAT_VV_P
FROM OBOR_NAMOT
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
Сравнить полученные в результате выполнения запроса 8.sql дату и время с датой и временем VDAT_N. Если DAT_VV_P > VDAT_N, вернуть сообщение (рис.22) и никаких дальнейших действий не предпринимать.
Рис. 22 - Сообщение о формирование ярлыка, после получения ведомости
Если DAT_VV_P < VDAT_N, определить, не находился ли ярлык в другом подразделении в момент передачи данных по инвентаризации - 9.sql:
SELECT *
INTO XKOD_PODR
FROM (
SELECT KOD_POTR FROM DVIG_YARLIKS
WHERE NPP_YARLIKS IN (
SELECT NPP
FROM YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1)
AND STAMP_DAT<:VDAT_N
ORDER BY STAMP_DAT DESC)
WHERE ROWNUM=1
Если запрос 9.sql вернул XKOD_PODR, сравнить его с VKOD_PODR, подаваемым на вход функции.
Если коды совпадают, определить код изделия, тип справочника и единицу измерения на ярлыке с помощью функции KOD_IZD_YARLIKS_F (см. ниже) и вернуть его через функцию INVENT_YARLIKS_F.OKOD_PF.
Если коды не совпадают, выдать сообщение (рис.23) и все дальнейшие действия прекратить.
Рис. 23 - Сообщение о нахождении ярлыка другом подразделении на момент получения ведомости
Если запрос 9.sql ничего не вернул, тогда определить, в каком подразделении был выпущен ярлык - 10.sql:
SELECT DISTINCT O.KOD_PODR
INTO XKOD_PODR
FROM OBOR_NAMOT N, OBORUD O
WHERE N.GOD_MES=O.GOD_MES AND N.NOM=O.NOM
AND N.NOMER=:VNOMER AND N.DAT1=:VDAT1
Сравнить XKOD_PODR и VKOD_PODR.
Если коды совпадают, определить код изделия, тип справочника и единицу измерения на ярлыке с помощью функции KOD_IZD_YARLIKS_F (см. ниже) и вернуть его через функцию INVENT_YARLIKS_F.OKOD_PF.
Если коды не совпадают, выдать сообщение (рис.24) и все дальнейшие действия прекратить.
Рис. 24 - Сообщение о нахождении ярлыка в другом подразделении.
Если VPRIZN='N' определить, было ли движение ярлыка после проведения инвентаризации - 11.sql:
SELECT COUNT(*)
FROM DVIG_YARLIKS
WHERE NPP_YARLIKS IN (
SELECT NPP
FROM YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1)
AND STAMP_DAT>:VDAT_N
Если результат выполнения запроса 11.sql больше нуля, это означает, что ярлык имелся в наличии на момент передачи данных, но потом был отправлен в другое подразделение. Тогда выдать сообщение(рис.25) и все дальнейшие действия прекратить.
Рис. 25 - Сообщение об отправке ярлыка в другое подразделение
Если результат выполнения запроса 11.sql равен нулю, проверить не израсходован ли ярлык полностью - 12.sql:
SELECT COUNT(*)
FROM NALICH_YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
Если результат выполнения запроса 12.sql больше нуля, это означает, что ярлык не израсходован и тогда необходимо через функцию вернуть код изделия на ярлыке INVENT_YARLIKS_F.OKOD_PF, определённый следующим образом - 13.sql:
SELECT KOD_IZD, PT, K_IZM
INTO OKOD_PF, OPT, OK_IZM
FROM INVENT
WHERE NOMER_YR=:VNOMER AND DATA_YR=:VDAT1
AND DAT_N=:VDAT_N AND PRIZN='Я'
По указанному ярлыку необходимо провести корректировку количества в ноль.
Рассчитать количество, на которое должна пройти корректировка по ярлыку - 14.sql:
SELECT SUM(PRIXOD)-SUM(NVL(RASXOD,0)) OST
INTO XOST
FROM OBOR_NAMOT
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
Посмотреть, была ли по данному ярлыку проведена уже корректировка количества (строка с SOB='4').
Если была проведена корректировка количества, тогда в эту строку прибавить к полю PRIXOD полученное XOST с противоположным знаком. Если в результате значение поля PRIXOD получится равным нулю, строку с SOB='4' удалить.
Если не была проведена корректировка количества, тогда сформировать строку в таблице OBOR_NAMOT, заполнив следующие поля:
NOMER XNOMER
N_NAM MAX(N_NAM)+1
N_KON MAX(N_KON)
SOB 4
PRIXOD XOST
DAT_VV_P SYSDATE
OPERAT_P LOGNAME
N_TAR N_TAR
DAT1 DAT1
PR_PRIXOD 1
NPP из последовательности
NOMER_PARTY NOMER_PARTY
UNION_USER UNION_USER
UNION_DAT UNION_DAT
STAMP_USER STAMP_USER
STAMP_DAT STAMP_DAT
KOD_OP_NEXT KOD_OP_NEXT
SET_PR_ID SET_PR_ID
KOD_POTR KOD_POTR
TIP_DOK TIP_DOK
PODR_FORM PODR_FORM
N_SJEM N_SJEM
Данные для записи брать из обрабатываемого ярлыка.
Если результат выполнения запроса 12.sql равен нулю, это означает, что ярлык израсходован полностью и тогда необходимо определить, была ли произведена корректировка количества на ярлыке - 15.sql:
SELECT MAX(DAT_VV_P)
INTO XDAT_VV_P
FROM OBOR_NAMOT
WHERE NOMER=:VNOMER AND DAT1=:VDAT1 AND SOB='4'
Если запрос 15.sql вернул значение, тогда сравнить XDAT_VV_P и VDAT_N:
Если XDAT_VV_P > VDAT_N, вернуть нормальное завершение функции.
Если XDAT_VV_P < VDAT_N, определить время проведения последнего расхода с ярлыка - 16.sql.
Если запрос 15.sql ничего не вернул, тогда определить время проведения последнего расхода с ярлыка - 16.sql:
SELECT MAX(T.D_VV)
INTO D_VV
FROM OBOR_NAMOT N, TAR_TAR T
WHERE N.NPP=T.NPP2 AND N.NOMER=:VNOMER AND N.DAT1=:VDAT1
Сравнить полученные в результате выполнения запроса 16.sql дату и время с датой и временем VDAT_N.
Если D_VV > VDAT_N, выдать сообщение (рис.26) и все дальнейшие действия прекратить.
Рис. 26 - Сообщение о причине отсутствия ярлыка
Если D_VV < VDAT_N, вернуть нормальное завершение функции, но такого не должно быть!!!
Если VPRIZN='YR' определить, была ли произведена корректировка количества по указанному ярлыку - 17.sql:
SELECT MAX(DAT_VV_P)
INTO XDAT_VV_P
FROM OBOR_NAMOT
WHERE NOMER=:VNOMER AND DAT1=:VDAT1 AND SOB='4'
Если запрос 17.sql ничего не вернул, тогда вернуть нормальное завершение функции.
Если запрос 17.sql вернул значение, тогда сравнить XDAT_VV_P и VDAT_N:
Если XDAT_VV_P < VDAT_N, вернуть нормальное завершение функции.
Если XDAT_VV_P > VDAT_N, удалить строку по ярлыку с SOB='4' и вернуть нормальное завершение функции.
Написать функцию KOD_IZD_YARLIKS_F, определяющую последний код изделия, тип справочника и единицу измерения на ярлыке, следующим образом:
Входные параметры:
VNOMER номер ярлыка
VDAT1 дата ярлыка
Выходные параметры:
OKOD_PF код изделия на ярлыке
OPT тип справочника
OK_IZM код единицы измерения
1. Попытаться найти этот ярлык в таблице NALICH_YARLIKS - 18.sql:
SELECT KOD_PF, PT, K_IZM
INTO OKOD_PF, OPT, OK_IZM
FROM NALICH_YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
2. Если при выполнении запроса 18.sql ярлык не найден, определить, проводилось ли по ярлыку изменение статуса - 19.sql:
SELECT KOD_IZD_1, TIP_SPR_1
INTO OKOD_PF, OPT
FROM YARLIKS
WHERE NOMER=:VNOMER AND DAT1=:VDAT1
Если в результате выполнения запроса 19.sql выбрались данные, то единицу измерения определить из нижеописанных запросов - 20.sql или 21.sql или 22.sql.
3. Если изменение статуса не производилось, определить, привязан ли ярлык, к строке плана - 20.sql:
SELECT O.KOD_PF, O.PT, O.NAIZM
INTO OKOD_PF, OPT, OK_IZM
FROM OBOR_NAMOT N, OBORUD O
WHERE N.GOD_MES=O.GOD_MES AND N.NOM=O.NOM AND N.NOMER=:VNOMER
AND N.DAT1=:VDAT1
4. Если ярлык не привязан к строке плана (OBOR_NAMOT.GOD_MES IS NULL AND OBOR_NAMOT.NOM IS NULL), тогда определить, с подачи какой задачи был сформирован виртуальный ярлык, и получить требуемые данные из той задачи:
- если OBOR_NAMOT.N_PRG='47' - 21.sql:
SELECT S.KOD_IZD, 93 PT, P.K_IZM
INTO OKOD_PF, OPT, OK_IZM
FROM OBOR_NAMOT N, SVOD S, POSTIZD P
WHERE N.N_ZAP=S.SPEC_ID AND N.N_TAR=S.N_TAR
AND N.NOMER_PARTY=S.N_NAKL AND S.N_ZAP_I=P.NOMER
AND N.NOMER=:VNOMER AND N.DAT1=:VDAT1
- если OBOR_NAMOT.N_PRG='292' - 22.sql:
SELECT S.KOD_IZD, 93 PT, P.K_IZM
INTO OKOD_PF, OPT, OK_IZM
FROM OBOR_NAMOT N, SVOD S, POSTIZD P
WHERE N.N_ZAP=S.SPEC_ID AND N.N_TAR=S.N_TAR
AND N.NOMER_PARTY=S.N_NAKL AND S.N_ZAP_I=P.NOMER
AND N.NOMER=:VNOMER AND N.DAT1=:VDAT1
В экранную форму добавить кнопку « Информация по концам» (рис. 27)
Рис. 27 - Кнопка «Информация по концам»
При нажатии этой кнопки на конкретном ярлыке (NOMER, DAT1) показать форму в виде(рис. 28) :
Рис.28 - Экранная форма «Информация по концам»
Информация по концам
Таблица. Ярлык NOMER Дата ярлыка DAT1
№ конца |
Количество на конце |
|
N_KON |
OST |
Данные в экранную форму поместить следующим образом - 23.sql:
SELECT NOMER, DAT1, N_KON,
SUM(NVL(PRIXOD,0))-SUM(NVL(RASXOD,0)) OST
FROM OBOR_NAMOT
WHERE NOMER=:NOMER AND DAT1=:DAT1
GROUP BY NOMER, DAT1, N_KON
ORDER BY N_KON
В экранную форму добавить кнопку « Информация по таре» (рис.29).
Рис. 29 - Кнопка «Информация по таре»
При нажатии этой кнопки на конкретном ярлыке (NOMER, DAT1) показать форму в виде (рис.30).
Рис. 30 - Экранная форма «Информация по таре»
Таблица
Информация по таре |
||
Ярлык NALICH_YARLIKS.nomer |
Дата NALICH_YARLIKS.dat1 |
|
Код тары |
NALICH_YARLIKS. Kod_tar |
|
Наименование тары |
DECODE(shortname,NULL,SUBSTR(naim,1,36), shortname) from all_kod where KOD=nalich_yarliks.kod_tar |
|
Номер тары |
NALICH_YARLIKS. N_tar |
Данные в экранную форму поместить следующим образом: - 24 sql.
SELECT DISTINCT Y.KOD_TAR, A.NAIM, N.N_TAR, Y.NOMER, Y.DAT1
FROM YARLIKS Y, OBOR_NAMOT N, ALL_KOD A
WHERE Y.NOMER=N.NOMER AND Y.DAT1=N.DAT1
AND Y.KOD_TAR=A.KOD
AND Y.NOMER=:NOMER AND N.DAT1=:DAT1
Рис. 31 -Структурная схема программы
Функции и назначение модулей программы:
Функции и назначение модулей программы:
- модуль uMenu: основное меню, которое было разработано работниками предприятия для облегчения доступа к конкретной задаче. Экранная форма данного меню имеет имя «Учет выпуска продукции»;
- модуль uAnalit: этот модуль обеспечивает выбор режима «Инвентаризация по ярлыкам»;
- модуль uInvent отвечает за режим «Инвентаризация по ярлыкам»;
- модуль Repv: отвечает за просмотр и печать отчетов (машинограмм) по ведомости наличия;
- модуль ufKon1: обеспечивает просмотр информации по концам;
- модуль ufTar: обеспечивает просмотр информации по таре;
Для доступа в разработанную задачу в основном меню необходимо выбрать пункт «Аналитика».
2.3 Текст программы с описанием
Программный продукт "Инвентаризация незавершенного производства в разрезе ярлыков" реализуется в среде СУБД «ORACLE» на языке DELPHI 3 под управлением ОС WINDOWS. Программный комплекс "Инвентаризация незавершенного производства в разрезе ярлыков", который содержит все модули программы и EXE-файл для доступа и работы с задачей на жестком диске занимает 2.23 МБ
Входными данными являются: ручная инвентаризационная ведомость, а также информация, взятая из таблиц БД связанных между собой и представляющих тем самым ER-диаграмму, которая приведена в ГРАФИЧЕСКОЙ ЧАСТИ 2.
Входные данные представлены в виде следующих таблиц: OBORUD
YARLIKS, OBOR_NAMOT, DVIG_YARLIKS, NALICH_YARLIKS, INVENT, KOD_PODR, NAPF, POSTIZD, NAIV,ALL_KOD и находится в ПРИЛОЖЕНИИ 1.
Схема алгоритма задачи (Блок схема) программного средства «Инве» находится в ГРАФИЧЕСКОЙ ЧАСТИ 3.
В ПРИЛОЖЕНИИ 2 приведен листинг программы.
Выходные данные представляют из себя машинограмму и представлены в ПРИЛОЖЕНИИ 3.
2.4 Описание процесса отладки программы и оценка результатов решения
Успешное завершение процесса компиляции не означает, что в программе нет ошибок. Чтобы убедиться в правильности работы программы необходимо выполнить процесс проверки ее работоспособности, который называется тестирование.
Редко программа начинает сразу работать как надо или работает правильно только с определенным ограниченным набором исходных данных. Это означает, что в программе есть алгоритмические ошибки. Процесс поиска и устранение ошибок называется отладкой.
Ошибки, которые могут возникнуть в программе, принято делить на три группы:
- синтаксические;
- ошибки времени выполнения;
- алгоритмические.
Синтаксические ошибки, их также называют ошибками времени компиляции (Compile-time error), наиболее легко устранимы. Их обнаруживает компилятор, а программисту остается только внести изменения в текст программы и выполнить повторную компиляцию.
Ошибки времени выполнения, в Delphi они называются исключениями (exception), тоже, как правило, легко устранимы. Они обычно проявляются уже при первых запусках программы и во время тестирования.
С алгоритмическими ошибками все иначе. Компиляция программы, в которой есть алгоритмическая ошибка, завершается успешно. При пробных запусках программа отрабатывает нормально, однако при анализе результата выясняется, что он неверный. Для того чтобы устранить алгоритмическую ошибку, приходится анализировать алгоритм вручную. В ходе разработки программного средства возникали все вышеперечисленные типы ошибок.
Тестирование программного средства "Инвентаризация незавершенного производства основных цехов в разрезе ярлыков" находится в ПРИЛОЖЕНИИ 4 .
3. Экономическая часть
3.1 Расчет себестоимости программного продукта «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков»
3.1.1 Расчет трудоемкости разработки
Основанием для расчета трудоемкости программного продукта «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков» является нормативно-расчетная карта для разработчика и программиста ОАО «Электрокабель «Кольчугинский завод».Расчет трудоемкости данного программного продукта по стадиям представлен в таблице 1.
Таблица 1 Расчет трудоемкости
Стадия разработки программного средства |
Затраты времени, чел-час. |
№ нормы из НРК |
|
1 |
2 |
3 |
|
1. Предпроектное обследование |
|||
Разработчик: - формирование требований к ПС - изучение объекта проектирования - изучение справочного материала - анализ выполняемых функций ПС - анализ использования ПС - техническое задание |
48 |
16 |
|
2. Постановка задачи |
|||
Разработчик: - назначение задачи - описание задачи - описание структуры программы - описание алгоритма задачи |
48 |
5 |
|
3. Разработка программного средства |
|||
Разработчик: - Изучение экранной формы: "Инв. по ярлыкам" 2 категории сложности |
8 |
1 |
Таблица
1 |
2 |
3 |
|
Разработчик: - Изучение функции: INVENT_YARLIKS_F - корректировка инвентаризации в разрезе ярлыков. 2 категории сложности |
32 |
4 |
|
Разработчик: - Изучение функции: KOD_IZD_YARLIKS_F - определяющую последний код изделия, тип справочника и единицу измерения на ярлыке. 1 категории сложности |
8 |
4 |
|
Разработчик: - Изучение машинограммы: а) базовая машинограмма б) печать дополнительных страниц |
8 |
5 |
|
Разработчик: - Проектирование экранных форм: "Информация по концам" "Информация по таре" 1 категории сложности |
8 |
1 |
|
Программист: - Создание экранных форм: "Информация по концам" "Информация по таре" 1 категории сложности |
24 |
2 |
|
4. Отладка программного средства |
|||
Разработчик: - тестирование, 1 категории сложности |
8 |
18 |
|
Программист: - оптимизация ПС |
12 |
8 |
|
5. Оформление документации |
|||
Разработчик: - оформление документации - составление инструкции пользователю |
8 8 |
19 15 |
|
Итого: 220 чел-ч. В том числе: Время работы на ПЭВМ 200 чел-ч. |
3.1.2 Расчет заработной платы исполнителя работ по созданию программного продукта
3.1.2.1 Основная заработная плата исполнителя работ
Основная заработная плата определяется по формуле 3.1.
, (3.1)
где - основная заработная плата исполнителя, руб.;
О - оклад сотрудника, руб., О = 10000 руб;
Т - общее время на создание программного продукта, чел-ч; Т =220;
- число рабочих дней в месяце, дни, = 22;
- продолжительность рабочего дня, ч, = 8;
П - процент премии, П = 40;
Основная заработная плата исполнителя работ:
3.1.2.2 Дополнительная заработная плата исполнителя работ
Дополнительная заработная плата определяется процентом от основной зарплаты по формуле 3.2.
(3.2)
где - дополнительная заработная плата исполнителя, руб.;
- процент дополнительной заработной платы, рассчитывается по формуле 3.
100, (3.3)
где Фд.р. - годовой действительный фонд времени одного рабочего, ч, вычисляется по формуле 3.4.
Фд.р. = (Фг - Фвых. - Фпр. - Фотп. - Фг.о. - Фб.) Тсм., (3.4)
где Фг. - число дней в году, Фг = 365;
Фвых.- число выходных дней в году, Фвых. = 104;
Фпр. - число праздничных дней в году, Фпр. = 14;
Фотп. - число дней очередных и дополнительных отпусков, Фотп. = 28;
Фг.о. - число дней выполнения государственных и общественных обязанностей, Фг.о. = 1;
Фб. - число дней болезни, Фб. = 3;
Тсм. - продолжительность смены, ч, Тсм. = 8;
Годовой действительный фонд времени:
Процент дополнительной заработной платы:
100 = 13,5.
Дополнительная заработная исполнителя работ:
3.1.3 Расчет начислений на заработную плату (единого социального налога)
Расчет начислений осуществляется по формуле 3.5.
, (3.5)
где - начисления на заработную плату исполнителя, руб.;
ЕСН - единый социальный налог. ЕСН = 30% ;
Расчет начислений на заработную исполнителя работ:
3.1.4 Расчет затрат на расходные материалы
Расчет стоимости расходных материалов производится по реальной их потребности и рыночной цене представлен в таблице 2.
Таблица 2. Затраты на расходные материалы
Наименование материалов |
Ед измерения |
Цена за ед. изм., руб. |
Количество |
Сумма, руб. |
|
Картридж |
р/стр. |
0,3 |
1 |
25 |
|
CD Диск |
шт. |
15 |
1 |
15 |
|
Ручка |
шт. |
10 |
1 |
10 |
|
Бумага А4 |
шт. |
0,28 |
83 |
24 |
|
Папка |
шт. |
60 |
1 |
60 |
|
Итого расходных материалов (РМ): 134р |
3.1.5 Расчет себестоимости одного машино - часа работы ПЭВМ
3.1.5.1 Годовой фонд основной и дополнительной заработной платы с учетом социального налога административного персонала, работников, обеспечивающих функционирование ПЭВМ, вспомогательного персонала
К административному персоналу относится начальник АСУП, к персоналу, обеспечивающему функционирование ЭВМ, электронщик, к вспомогательному персоналу - уборщица, которая убирает административные помещения.
Годовой фонд основной и дополнительной заработной платы с учетом социального налога этих категорий работников определяется по формуле 3.6.
, (3.6)
где - годовой фонд заработной платы работников с учетом социального налога, руб.;
- количество ПЭВМ, обслуживаемых одним работником.
Для начальника АСУП = 100 единиц, для электронщика = 50 единиц.
Коэффициент, учитывающий долю заработной платы уборщицы, приходящийся на одно рабочее место, составляет 0,013.
Годовой фонд основной и дополнительной заработной платы начальника АСУП с учетом социального налога:
Годовой фонд основной и дополнительной заработной платы электронщика с учетом социального налога:
Годовой фонд основной и дополнительной заработной платы уборщицы с учетом социального налога:
3.1.5.2 Годовые амортизационные отчисления от стоимости оборудования
Данные отчисления определяются по норме амортизации от стоимости используемой компьютерной техники по формуле 3.7.
, (3.7)
где - годовые амортизационные отчисления от стоимости оборудования, руб.;
- коэффициент амортизации основного оборудования, = 0,33;
- коэффициент амортизации вспомогательного оборудования,
= 0,33;
- стоимость основного оборудования (ПЭВМ), = 15000;
- стоимость вспомогательного оборудования (принтер),
= 5000;
Годовые амортизационные отчисления от стоимости оборудования:
= 0,3315000+0,335000=6600руб.
3.1.5.3 Амортизационные отчисления от стоимости рабочей площади
Амортизационные отчисления определяются по формуле 3.8.
, (3.8)
где - амортизационные отчисления от стоимости рабочей площади, руб;
- коэффициент амортизации рабочей площади, =0,03
- стоимость рабочей за 1 м2 ,= 6000;
S -площадь рабочей площади по санитарно-техническим нормам, S= 4.5;
Амортизационные отчисления от стоимости рабочей площади:
3.1.5.4 Годовые затраты на текущий ремонт оборудования
Годовые затраты определяются процентом от общей стоимости используемого оборудования по формуле 3.9.
, (3.9)
где - годовые затраты на текущий ремонт оборудования, руб.;
- коэффициент затрат на текущий ремонт оборудования, = 0,05;
- общая стоимость используемого оборудования, руб, = 20000;
3.1.5.5 Расходы на электроэнергию
Расходы на электроэнергию складываются из расходов на освещение и расходов на производственное потребление электроэнергии по формуле 3.10.
Зэл.= Wосв. + Wэ., (3.10)
где - расходы на освещение, руб., определяются по формуле 3.11.
Wосв. = Skэ.Sтар., (3.11)
где kэ. - усредненный расход энергии, необходимой для освещения 1 м2 площади помещения в год, kэ = 50/м2
S -площадь рабочей площади по санитарно-техническим нормам, S= 4.5;
Sтар. - стоимость 1 энергии, Sтар = 3.82 руб/ч;
Wэ - расходы на производственное потребление электроэнергии, руб., определяются по формуле 3.12.
Wэ = Nуст. nkпот.ФSтар., (3.12)
где Nуст. - мощность одного компьютера, Nуст = 0,4 кВт;
n - количество компьютеров; n=1;
kпот. - коэффициент, учитывающий потери в сети;
Sтар. - стоимость 1 энергии, Sтар = 3.82 руб/ч;
- годовой фонд времени работы оборудования, ч, рассчитывается по формуле 3.13.
Ф = (Фг. - Фвых. - Фпр.) kсм. Тсм. (1 - kрем.), (3.13)
где kсм. - коэффициент сменности, kсм. = 1;
kрем. - коэффициент, учитывающий потери времени на ремонт оборудования, kпот. = 1,05;
Годовой фонд времени работы оборудования:
Расходы на производственное потребление электроэнергии:
руб.
Расходы на освещение:
руб.
Расходы на электроэнергию:
руб.
3.1.5.6 Затраты на отопление производственных площадей
Затраты на отопление определяются по формуле 3.14.
, (3.14)
где М - число месяцев отопительного сезона, M = 7 мес;
- норма отопления на 1 м2 , Гкал./м2, = 0,0168;
T - тариф на , Т=1533,74
S -площадь рабочей площади по санитарно-техническим нормам, S= 4.5;
Затраты на отопление:
руб.
3.1.5.7 Прочие расходы
Прочие расходы определяются по формуле 3.15
Зпр.= (ГФЗП+ Аоб + Ар.п + Роб + Зэл + Зотоп)Кпр, (3.15)
где - коэффициент прочих расходов, = 0,03;
руб.
3.1.5.8 Эксплуатационные годовые расходы
Эксплуатационные годовые расходы определяются по формуле 3.16.
Э = ГФЗП+ Аоб + Ар.п + Роб + Зэл + Зотоп + Зпр (3.16)
Эксплуатационные годовые расходы:
руб.
Структура эксплуатационных годовых расходов представлена в таблице 3.
Таблица 3. Состав и структура годовых эксплуатационных расходов
Наименование затрат |
Эксплуатационные расходы, руб |
Удельный вес,% |
|
Годовой фонд заработной платы административного персонала с отчислением на социальные нужды |
8498,88 |
29,50 |
|
Годовой фонд заработной платы обслуживающего персонала с отчислением на социальные нужды |
4461,91 |
15,49 |
|
Годовой фонд заработной платы вспомогательного персонала с отчислением на социальные нужды |
1864,44 |
6,47 |
|
Амортизационные отчисления от стоимости оборудования |
6600 |
22,97 |
|
Амор. отчисления от стоимости рабочей площади |
810 |
2,81 |
|
Затраты на текущий ремонт оборудования |
1000 |
3,47 |
3.1.5.9 Себестоимость одного машинного часа
Себестоимость одного машинного часа рассчитывается по формуле 3.17.
См.ч = , (3.17)
где См.ч - себестоимость одного машинного часа, руб.
Себестоимость одного машинного часа:
См.ч. =
3.1.6 Расчет расходов на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту
Расходы на содержание и эксплуатацию ПЭВМ, относящиеся к данному программному продукту рассчитывается по формуле 3.18.
Рс.э.п = См.ч Тсум , (3.18)
где Рс.э.п - расходы на содержание и эксплуатацию ПЭВМ, относящиеся к данному программному продукту;
- суммарное время этапов, требующих использования ПЭВМ, ч.
Рс.э.п = 14,80 200 = 2960 руб.
3.1.7 Общехозяйственные расходы
Общехозяйственные расходы определяются по формуле 3.19.
ОР = (ДЗП+ОЗП+ НЗП + РМ + Рс.э.п.) 0,11 (3.19)
где - коэффициент общехозяйственных расходов.
ОР = (+ 17500+ + 134 +2960) 0,11 = 3180,8
3.1.8 Расчет себестоимости программного продукта
Данный расчет приведен в таблице 4.
Таблица 4. Производственная себестоимость программного продукта «Анализ работы производства в разрезе ярлыковой системы»
Наименование статей затрат |
Значение показателя, руб |
Удельный вес, % |
|
Основная заработная плата исполнителя работ |
17500 |
55 |
|
Дополнительная заработная плата исполнителя работ |
2362,5 |
7 |
|
Начисления на заработную плату |
5959,75 |
18 |
|
Затраты на расходные материалы |
134 |
1 |
|
Расходы на содержание и эксплуатацию ПЭВМ |
2960 |
8 |
|
Общехозяйственные расходы |
3180,8 |
11 |
|
Производственная себестоимость |
32097,05 |
100 |
Таблица Технико-экономические показатели программного продукта «Инвентаризация незавершенного производства основных цехов в разрезе ярлыков» находится в ГРАФИЧЕСКОЙ ЧАСТИ 4.
4. Охрана труда и техника безопасности
4.1 Анализ потенциально - опасных и вредных факторов
Работа ПЭВМ связана с присутствием на рабочем месте человека - оператора, поэтому вопросы охраны труда будут рассматриваться с точки зрения обеспечения безопасных условий труда и условий труда сохраняющих здоровье оператора, пользователя.
При работе в помещении, лаборатории по производству ПО следует выделить следующие вредные и опасные факторы:
· Метеорологические условия среды (микроклимат рабочего
помещения);
· Аномальное освещение;
· Высокий уровень шума;
· Повышенный уровень ионизирующего излучения;
· Опасность поражения электрическим током;
· Повышенные психофизиологические нагрузки;
· Пожароопасность.
4.2 Техника безопасности
4.2.1 Для нормализации воздуха в лаборатории следует использовать вентиляцию, как естественную так и искусственную
К видам естественной вентиляции используемой в лаборатории по производству ПО можно отнести неорганизованную естественную вентиляцию. Но использование такого вида вентиляции имеет ряд недостатков: воздух поступающий в помещение не подогревается и не увлажняется, поэтому в лаборатории целесообразно применять механическую общую приточную вентиляцию, которая устраняет недостатки естественной. Для обеспечения соответствующей температуры в лаборатории по разработке ПО в зимнее время следует использовать централизованное отопление, а в летнее - различные виды вентиляции.
Подобные документы
Применение языка Delphi в качестве языка программирования для реализации игры "Разноцветные кубики". Методы заполнения квадратной матрицы. Разработка алгоритма решения задачи, структурная организация данных. Характеристика программного средства.
курсовая работа [281,8 K], добавлен 14.05.2013Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Краткая характеристика программного средства и стадии ее разработки, предъявляемые требования и функциональные особенности. Определение трудоемкости и состава группы исполнителей. Вычисление затрат на разработку программного продукта и договорной цены.
курсовая работа [464,5 K], добавлен 05.02.2016Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Способы и методы нахождения значения определённого интеграла. Программные средства языка C. Программные средства языка Pascal (версия 7.0). Алгоритм программы вычисления определённого интеграла. Тестирование программы. Обработка результатов измерений.
курсовая работа [2,5 M], добавлен 01.06.2010Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Характеристика и особенности системы Pascal ABC 3.0.1. Обучение программированию школьников и студентов младших курсов. Создание и отладка программного продукта для поиска документа, книги в библиотеке или в архиве, получения информации об издании.
курсовая работа [3,4 M], добавлен 11.09.2011Порядок разработки пользовательской документации. Руководство по инсталляции программного средства. Справочник по применению программного средства. Печать с помощью функций файлового ввода/вывода. Печать текстов в обогащенном формате методом Print.
курсовая работа [78,3 K], добавлен 05.02.2016Инструментальные средства разработки сайта. Таблицы базы данных, их описание. Общие принципы разработки программного продукта. Структура программного продукта клиента. Страница информации о пользователе и его заказов, информационная безопасность.
дипломная работа [3,5 M], добавлен 14.06.2012