Разработка автоматизированной системы управления торговым предприятием
p align="left">Услуги аукциона для покупателей бесплатны, продавцы же должны оплачивать аукциону выставление лота на торги, его дальнейшую продажу (сумма зависит от стоимости товара) и т. д. Один аккаунт на eBay позволяет, как покупать и продавать. Регистрация и членство на аукционе eBay бесплатны для всех.После прохождения регистрации, вы получите статус покупателя, т. е. сможете покупать все, что хотите, сможете посмотреть все сами и купить или продать необходимый вам товар, выбрать наиболее удобный вам способ оплаты и т. д. На сегодняшний день eBay имеет более 20 региональных филиалов в крупнейших странах мира. Аукцион eBay по прежнему остается самым лакомым куском для желающих подзаработать. По свидетельству многих пользователей Интернета, работающих с ним, именно сотрудничество с данным аукционом приносит наибольший доход по сравнению с другими способами заработка. На сегодняшний день аукцион eBay имеет более 20-ти филиалов в разных странах мира. Это США (eBay.com), Канада (eBay.ca), Германия (eBay.de), Великобритания (eBay.co.uk) и многие другие и вы можете открывать eBay аккаунты на любом из них. К сожалению в России (да и в других странах СНГ) ни одного филиала eBay пока нет и по адресу eBay.ru мы не увидим знакомого логотипа Русский eBay, украинский eBay и т. д. -- это пока лишь мечта. Ближайший к нам филиал eBay открыт в Польше (eBay.pl). 3. Проектирование и реализация АСУТП 3.1. Язык программирования Java Создание языка Java -- это действительно один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Три ключевых элемента объединились в технологии языка Java и сделали ее в корне отличной от всего, существующего на сегодняшний день. Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты. Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том, что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов. Язык Java зародился как часть проекта создания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке С++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента -- языка программирования. Стало очевидным, что необходим платформонезависимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами. Рождению языка Java предшествовала довольно интересная история. В 1990 году разработчик ПО компании Sun Microsystems Патрик Нотон (Patrick Naughton) понял, что ему надоело поддерживать сотни различных интерфейсов программ, используемых в компании, и сообщил исполнительному директору Sun Microsystems и своему другу Скотту МакНили (Scott McNealy) о своем намерении перейти работать в компанию NeXT. МакНили, в свою очередь, попросил Нотона составить список причин своего недовольства и выдвинуть такое решение проблем, как если бы он был Богом и мог исполнить все, что угодно. Нотон, хотя и не рассчитывал на то, что кто-то обратит внимание на его письмо, все же изложил свои претензии, беспощадно раскритиковав недостатки Sun Microsystems, в частности, разрабатываемую в тот момент архитектуру ПО NeWS. К удивлению Нотона, его письмо возымело успех: оно было разослано всем ведущим инженерам Sun Microsystems, которые не замедлили откликнуться и высказать горячую поддержку своему коллеге и одобрение его взглядов на ситуацию в Sun Microsystems. Обращение вызвало одобрение и у высшего руководства компании, а именно, у Билла Джоя (Bill Joy), основателя Sun Microsystems, и Джеймса Гослинга (James Gosling), начальника Нотона. В тот день, когда Нотон должен был уйти из компании, было принято решение о создании команды ведущих разработчиков с тем, чтобы они делали что угодно, но создали нечто необыкновенное. Команда из шести человек приступила к разработке нового объектно-ориентированного языка программирования, который был назван Oak (дуб), в честь дерева, росшего под окном Гослинга. Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person. Новая компания обладала интереснейшей концепцией, но не могла найти ей подходящего применения. После ряда неудач неожиданно ситуация для компании резко изменилась: был анонсирован броузер Mosaic - так родился World Wide Web, с которого началось бурное развитие Internet. Нотон предложил использовать Oak в создании Internet-приложений. Так Oak стал самостоятельным продуктом, вскоре был написан Oak-компилятор и Oak-браузер «WebRunner». В 1995 году компания Sun Microsystems приняла решение объявить о новом продукте, переименовав его в Java (единственное разумное объяснение названию -- любовь программистов к кофе). Когда Java оказалась в руках Internet, стало необходимым запускать Java-аплеты -- небольшие программы, загружаемые через Internet. WebRunner был переименован в HotJava и компания Netscape встала на поддержку Java-продуктов. Язык должен был воплощать следующие качества: простоту и мощь, безопасность, объектную ориентированность, надежность, интерактивность, архитектурную независимость, возможность интерпретации, высокую производительность и легкость в изучении. Даже если вы никогда не напишете ни одной строки на языке Java, знать о его возможностях весьма полезно, поскольку именно перечисленные выше свойства языка придают динамику страницам Всемирной паутины. После освоения основных понятий объектно-ориентированного программирования вы быстро научитесь программировать на Java. В наши дни существует много систем программирования, гордящихся тем, что в них одной и той же цели можно достичь десятком различных способов. В языке Java изобилие решений отсутствует -- для решения задачи у вас будет совсем немного вариантов. Стремление к простоте зачастую приводило к созданию неэффективных и невыразительных языков типа командных интерпретаторов. Java к числу таких языков не относится -- для Вас вся мощность ООП и библиотек классов. В популярной литературе наших дней, особенно если речь заходит об Internet, стало модной темой обсуждение вопросов безопасности. Люди уверены, что использование Internet в коммерческой деятельности равносильно написанию номера своей кредитной карточки на стенке телефонной будки. Один из ключевых принципов разработки языка Java заключался в обеспечении защиты от несанкционированного доступа. Программы на Java не могут вызывать глобальные функции и получать доступ к произвольным системным ресурсам, что обеспечивает в Java уровень безопасности, недоступный для других языков. Забавно наблюдать, как многочисленные новые диалекты старых языков безапелляционно объявляются объектно-ориентированными. Поскольку при разработке языка отсутствовала тяжелая наследственность, для реализации объектов был избран удобный прагматичный подход. Разработчики Java старались выдержать разумный компромисс между моделью пуристов -- «все является объектами», и моделью хакеров -- «уйди с моей дороги». Объектная модель в Java проста и легко расширяется, в то же время, ради повышения производительности, числа и другие простые типы данных Java не являются объектами. Java ограничивает вас в нескольких ключевых областях и таким образом способствует обнаружению ошибок на ранних стадиях разработки программы. В то же время в ней отсутствуют многие источники ошибок, свойственных другим языкам программирования (строгая типизация, например). Большинство используемых сегодня программ «отказывают» в одной из двух ситуаций: при выделении памяти, либо при возникновении исключительных ситуаций. В традиционных средах программирования распределение памяти является довольно нудным занятием -- программисту приходится самому следить за всей используемой в программе памятью, не забывая освобождать ее по мере того, как потребность в ней отпадает. Зачастую программисты забывают освобождать захваченную ими память или, что еще хуже, освобождают ту память, которая все еще используется какой-либо частью программы. Исключительные ситуации в традиционных средах программирования часто возникают в таких, например, случаях, как деление на нуль или попытка открыть несуществующий файл, и их приходится обрабатывать с помощью неуклюжих и нечитабельных конструкций (кроме Delphi). Java фактически снимает обе эти проблемы, используя сборщик мусора для освобождения незанятой памяти и встроенные объектно-ориентированные средства для обработки исключительных ситуаций. Java создавалась как средство, которое должно удовлетворить насущную потребность в создании интерактивных сетевых программ. В Java реализовано несколько интересных решений, позволяющих писать код, который выполняет одновременно массу различных функций и не забывает при этом следить за тем, что и когда должно произойти. В языке Java для решения проблемы синхронизации процессов применен наиболее элегантный из всех когда-либо изобретенных методов, который позволяет конструировать прекрасные интерактивные системы. Простые в обращении изящные подпроцессы Java дают возможность реализации в программе конкретного поведения, не отвлекаясь при этом на встраивание глобальной циклической обработки событий. Вопрос о долговечности и переносимости кода важнее религиозных войн между ПК и Макинтошами. Создатели Java наложили на язык и на среду времени выполнения несколько жестких требований, которые на деле, а не на словах позволяют, однажды написав, всегда запускать программу в любом месте и в любое время (где существует виртуальная Java-машина -- броузеры на всех платформах, OS/2, Netware). Необычайная способность Java исполнять свой код на любой из поддерживаемых платформ достигается тем, что ее программы транслируются в некое промежуточное представление, называемое байт-кодом (bytecode). Байт-код, в свою очередь, может интерпретироваться в любой системе, в которой есть среда времени выполнения Java. Большинство ранних систем, в которых пытались обеспечить независимость от платформы, обладало огромным недостатком -- потерей производительности (Basic, Perl). Несмотря на то, что в Java используется интерпретатор, байт-код легко переводится непосредственно в “родные” машинные коды (Just In Time compilers) «на лету». При этом достигается очень высокая производительность (Symantec JIT встроен в Netscape Navigator). Язык Java, хотя и более сложный чем языки командных интерпретаторов, все же неизмеримо проще для изучения, чем другие другие языки программирования, например JAVA. Черты языка станут казаться вам естественным путем для решения тех или иных задач и будут способствовать отработке хорошего стиля программирования. Поскольку объектная модель в Java одновременно проста и выразительна, вы скоро освоитесь с объектно-ориентированным стилем создания программ. Среда Java -- это нечто гораздо большее, чем просто язык программирования. В нее встроен набор ключевых классов, содержащих основные абстракции реального мира, с которым придется иметь дело вашим программам. Основой популярности Java являются встроенные классы-абстракции, сделавшие его языком, действительно независимым от платформы. Библиотеки, подобные MFC/COM, OWL, VCL, NeXTStep, Motif и OpenDoc прекрасно работают на своих платформах, однако сегодня главной платформой становится Internet. 3.2. Концепция Business Engine Всем известно, что торговля, в отличие от производства, не создает материальные ценности, а выступает в качестве посредника между производителем и потребителем, доставляя товары покупателям и возвращая производственному предприятию деньги за товар. Являясь посредником, оно пропускает через себя финансовые и товарные потоки, оставляя себе процент за услуги.
Рис. 3.1. Торговля как посредник Предприятие, специализирующееся на оказании услуг, не нуждается в посредниках и поэтому работает напрямую с потребителем. Рассмотрим, как функционирует торговое предприятие и какую роль в нем будет занимать программа управления, построенная на базе Business Engine. Рис. 3.2. Функционирование торгового предпрриятия Business Engine функционирует относительно подразделений предприятия по схеме клиент -- операция -- товар. Клиенты, взаимодействуя между собой, инициируют начало операций, которые приводят к перемещению товаров и денег или только денег. Каждая операция состоит из нескольких подопераций (транзакций), которые имеют свой набор и последовательность (например получил товар, перечислил деньги, отправил товар, выставил лот и т. д.). В свою очередь каждая транзакция инициирует перемещение денег по счетам и товаров по складам. В экономических отношениях каждый клиент имеет одну или несколько ролей, которые добавляют ему возможности осуществления различного рода операций. В нашей модели выделяют четыре роли (покупатель, продавец, финансовый посредник или платежная система, товарный посредник или почта). Каждый клиент может заводить счета и склады у любого другого клиента, если для них определена соответствующая роль. Также клиент имеет по умолчанию один счет и один склад, который они заводят сами у себя для возможности расчетов наличными (касса) и передача товара из рук в руки. Для наглядного изображения можно посмотреть рисунок 3.3. Счет открывается в одном из типов валют. В Business Engine представлены все основные типы валют, при надобности можно задать любую валюту. Чтобы переводить деньги с одного счета на другой, они должный быть одного типа или использовать посредника имеющего нужный тип счета. Для операций со складами характерно тоже самое. Вся мощь Business Engine заключается в том, что он представляет собой программно реализованную экономическую модель с необходимыми для всех торговых предприятий операциями. А вот на базе какого типа торговли, товара или структуры подразделений предприятия реализовать это программное решение -- решать вам. Главная особенность такого подхода в том, что можно быстро предоставить вам программное решение именно по вашей бизнес-схеме. Все программ реализованные на Business Engine позволяют производить: 1) управление продажами (включая оптовую, розничную и комиссионную торговлю); 2) управление поставками; 3) планирование продаж и закупок; 4) мониторинг и анализ эффективности торговой деятельности; 5) управление складскими запасами; 6) управление заказами покупателей; 7) управление отношениями с клиентами; 8) анализ товарооборота предприятия; 9) валютно-обменные операции; 10) платежи и переводы; 11) анализ цен и управление ценовой Business Engine политикой. Рис. 3.4. Business Engine На сегодняшний день на базе Business Engine разработана программа для ведения торговли в интернет и на интернет-аукционах -- Ecommerce Navigator. 3.3. Общее представление АСУТП Полное наименование системы -- Автоматизированная система управления торговым предприятием, подсистема -- «Управление аккаунтом интернет-аукциона». Условное обозначение системы: АСУТП. АСУТП создается в целях повышения эффективности и удобства управления торговым предприятиям. Факторами повышения эффективности являются: 1) оптимизация выборки контрагентов для упорядочивания контактов и анализа совместной деятельности; 2) сокращение дублирования функций при ведении торговых операций как в интернет, так и на других торговых площадках; 3) актуализация базы данных путем синхронизации с аккаунтом интернет-аукциона; 4) повышение качества статистических данных за счет автоматизации процедур сбора, обработки и распространения данных (обеспечение полноты и своевременности обновления данных); 5) расширение услуг, предоставляемых пользователям АСУТП; 6) расширение системы показателей, разрабатываемых на основе АСУТП. 3.4. Основные технические решения Приложение разрабатывается с использованием языка программирования Java. Для реализации системы будут использованы следующие технологии. Таблица 3.1 Технологии, используемые при разработке АСУТП |
Технология | Описание | | Java 6 | Компилятор, виртуальная машина и вспомогательные библиотеки для разработки приложения на языке Java. | | Swing | Технология разработки GUI-приложений на языке Java. Разработана компанией SUN и входит в J2SDK. | | JDBC (Java DataBase Connectivity) | Технология доступа к БД из приложений на языке Java. Базовая технология, входящая в поставку Java. | | Spring Application Framework | Комплекс технологий, включающих в себя IoC-контейнер, механизмы работы с транзакциями, БД и O/R и т.д. Поставляется с открытым кодом. Подробнее см. http://www.springframework.org/ | | Hibernate | Технология объектно-реляционного маппинга для доступа к БД. Поставляется с открытым кодом. Подробнее см. http://www.hibernate.org/ | | |
3.5. Структура системы
АСУТП представляет собой централизованную систему сбора, хранения и отображения данных о текущем положении торговых операций. Система предоставляет данные в режиме реального времени. АСУТП состоит из следующих комплексов задач и подсистем: 1) комплекс задач по сбору и предоставлению данных о контрагентах; 2) комплекс задач по загрузке данных из аккаунтов интернет аукциона Ebay; 3) комплекс задач сопровождения справочников и классификаторов предназначен для актуализации справочников и классификаторов через интерфейсы системы; 4) подсистема формирования отчетности предназначена для выполнения задач формирования отчетов по данным торговых операций и текущим сделкам; 5) подсистема архивирования данных. 3.6. Взаимосвязь со смежными системами Источники данных для системы АСУТП: 1) аукцион Ebay. Взаимодействие осуществляется путем подключения к удаленным web-сервисам по протоколу SOAP; 2) файлы БД Derby -- хранилище информации для АСУТП. Взаимодействие осуществляться путем импорта файлов БД. Получатели данных -- аукцион Ebay. Осуществляется на уровне доступа к удаленным web-сервисам по протоколу SOAP. Решения по взаимодействию системы АСУТП с информационными ресурсами других систем представлено на «Ошибка! Источник сылки не найден.». Подробное описание механизмов взаимодействия представлено в ПРИЛОЖЕНИИ 1. Сценарии использования АСУТП. В качестве внешних, по отношению к создаваемой системе, общесистемных сервисов, используются: 1) сервисы электронной почты; 2) сервисы файлов и печати. 3.7. Подсистемы Поддержка иностранных языковПодсистема обеспечивает выполнение следующих функций:-- Добавление , редактирование , удаление языка -- выполняется стандартными средствами портала (описание см. в документации на портал); -- Добавление , редактирование , удаление перевода для имеющихся языков; -- Назначение главного языка. Импорт данных с аукционаПодсистема обеспечивает выполнение следующих функций-- Добавление, редактирование, удаление лота -- выполняется из отдельного модуля. Имеется возможность проведения операций над группами лотов; -- Отправка, прием, редактирование сообщений пользователей аукциона; -- Поиск лотов по определенным критериям. Работы с электронной почтойПодсистема обеспечивает выполнение следующих функций:-- Добавление, редактирование, удаление электронных писем -- выполняется из отдельного модуля. Задание шаблонов писем и отправка по событию реализовано внутренними средствами АСУТП; -- Отправка , прием , редактирование сообщений электронных писем; -- Поиск писем по определенным критериям. Восстановление архива БДПодсистема обеспечивает выполнение Импорта/Экспорта данных БД -- выполняется из определенного модуля отдельного модуля. Задание файла экспорта реализовано внутренними средствами АСУТП.3.8. Проектирование. Построение диаграмм Рис. 3.5. Диаграмма вариантов использования «Торговля на аукционе» Рис. 3.6. Диаграмма последовательности Рис. 3.7. Диаграмма деятельности продавца Рис. 3.8. Диаграмма деятельности покупателя Рис. 3.9. Диаграмма кооперации Рис. 3.10. Диаграмма классов основного интерфейса Рис. 3.11. Диаграмма компонентов Рис. 3.12. Диаграмма пакетов Рис.3.13 Диаграмма развертывания на одной машине 4. Экономический раздел 4.1. Описание задачи Себестоимость -- это величина расходов данного предприятия, приходящаяся на единицу продукции. Уровень себестоимости зависит от многих факторов: технического прогресса, объема выпускаемой продукции, производительности труда, норм расхода рабочей силы, материалов, топлива, энергии. Для определения себестоимости продукции могут использоваться различные методы: метод приведения к базовому узлу, метод удельных весов, метод учета затрат на единицу веса изделия, расчет себестоимости по статьям затрат. В данном проекте приводится расчет себестоимости разработки автоматизированной системы управления торговым предприятием. (АСУТП). АСУТП служит для ведения учета торговой деятельности в Интернет и на аукционе EBay. Из основных преимуществ перед конкурентами стоит выделить удобство использования, кросплатформенность, низкая цена для продукта такого класса. АСУТП создана в первую очередь для рынка США, Англии, Германии, что позволяет производить импорт данных с филиалов аукциона EBay для этих стран, оперировать валютами USD И EUR. Целевой сегмент потребителей данного ПО -- это индивидуальные предприниматели , владельцы интернет-магазинов, торгующих в розницу, а также все, кто часто покупает что-либо для себя посредством Интернета и хочет быть в курсе своих расходов. Покупатель приобретающий данное ПО , перед совершением оплаты может бесплатно пользоваться АСУТП в течении 30 дней, использовать все функции АСУТП без ограничения, а после решить для себя -- нужно ли ему данное ПО. АСУТП отличается простотой использования, что позволяет быстро приступить к работе и не требует знания специальных бухгалтерских терминов и операций. На сегодняшний день создаваемая АСУТП имеет наилучшее сочетание цены -- качества среди такого класса программ и поэтому имеет все шансы на успех у потребителя. 4.2. Расчет времени на создание программного продукта Общее время на создание программы складывается из различных компонентов. Структура общего времени на создание программного продукта представлена в табл. 4.1. Таблица 4.1 Структура времени на создание программного продукта|
№ этапа | Обозначение времени данного этапа | Содержание этапа | | 1 | Tпо | Подготовка описания задачи. | | 2 | Tо | Описание задачи. | | 3 | Tа | Разработка алгоритма. | | 4 | Tбс | Разработка блок-схемы алгоритма. | | 5 | Tн | Написание программы | | 6 | Tнп | Набивка программы. | | 7 | Tот | Отладка и тестирование программы. | | 8 | Tд | Оформление документации. | | | Время рассчитывается в человеко-часах, причем Тпо берется по фактически отработанному времени, а время остальных этапов определяется расчетно по условному числу команд .Условное число команд определяется по формуле:, (4.1)где - коэффициент, учитывающий условное число команд в зависимости от типа задачи, для данной задачи коэффициент принимается = 1450;- коэффициент, учитывающий новизну и сложность программы. Выбрать значение коэффициента можно из табл. 4.2. Таблица 4.2 Определение коэффициента, учитывающего условное число команд |
Тип задачи | Пределы изменений коэффициента | | Задачи учета | от 1400 до 1500 | | Задачи оперативного управления | от 1500 до 1700 | | Задачи планирования | от 3000 до 3500 | | Многовариантные задачи | от 4500 до 5000 | | Комплексные задачи | от 5000 до 5500 | | |
Программные продукты по степени новизны могут быть отнесены к одной из 4-х групп: группа А -- разработка принципиально новых задач; группа Б -- разработка оригинальных программ; группа В -- разработка программ с использованием типовых решений; группа Г -- разовая типовая задача. Для данной задачи степень новизны -- Б По степени сложности программные продукты могут быть отнесены к одной из 3-х групп: 1) 1 -- алгоритмы оптимизации и моделирования систем; 2) 2 -- задачи учета, отчетности и статистики; 3) 3 -- стандартные алгоритмы. Данная задача может быть отнесена к 1 группе сложности. Коэффициент определяется из табл. 4.3 на пересечении групп сложности и степени новизны. Таблица 4.3 Определение коэффициента, учитывающего группу сложности и степень новизны |
Язык программирования | Группа сложности | Степень новизны | | | | А | Б | В | Г | | высокого | 1 | 1,38 | 1,26 | 1,15 | 0,69 | | | 2 | 1,30 | 1,19 | 1,08 | 0,65 | | уровня | 3 | 1,20 | 1,10 | 1,00 | 0,60 | | низкого | 1 | 1,58 | 1,45 | 1,32 | 0,79 | | | 2 | 1,49 | 1,37 | 1,24 | 0,74 | | уровня | 3 | 1,38 | 1,26 | 1,15 | 0,69 | | |
Для данной задачи коэффициент = 1,26 Теперь, исходя из формулы (4.1) можно определить условное число команд (4.2) Определяем время, затраченное на каждый этап создания программного продукта: 1) Tпо (время на подготовку описания задачи), берется по факту и составляет: Tпо = (4.3) 2) Tо ( время на описание задачи ) определяется по формуле: Tо = , (4.4) где -- коэффициент учета изменений задачи, коэффициент в зависимости от сложности задачи и числа изменений выбирается в интервале от 1,2 до 1,5.Для данной задачи = 1,4; -- коэффициент, учитывающий квалификацию программиста. Для стажа программирования от двух до трех лет значение коэффициента =1. Таблица 4.4 Определение коэффициента, учитывающего квалификацию программиста |
Стаж программиста | Значение коэффициента К | | до 2-х лет | 0,8 | | от 2 до 3 лет | 1,0 | | от 3 до 5 лет | 1,1 -- 1,2 | | от 5 до 10 лет | 1,2 -- 1,3 | | свыше 10 лет | 1,3 -- 1,5 | | |
Применяя формулу (4.4) подсчитаем время на описание задачи: Tо = (4.5) 3) Tа (время на разработку алгоритма) рассчитываем по формуле: Tа = (4.6) Применяя формулу (4.6) подсчитываем время на разработку алгоритма. Tа = (4.7) 4) Tбc (время на разработку блок-схемы) определяется аналогично Tа по формуле (5.6) и составляет Tб = (4.8) 5) Tн (время написания программы на языке программирования) определяется по формуле: Tн = (4.9) Применяя формулу (4.9), подсчитываем время написания программы на языке программирования: Tн = (4.10) 6) Tнп (время набивки программы ) определяется по формуле : Tнп = (4.11) Применяя формулу (4.11) подсчитываем время набивки программы: Tнп = (4.12) (5.12) 7) Tот (время отладки и тестирования программы) определяется по формуле: Tот = (4.13) Подставляем значения в формулу и получаем: Tот = (4.14) Теперь, зная время, затраченное на каждом этапе, можно подсчитать общее время на создание программного продукта: T = Tпо + Tо +Tа +Tбс +Tн +Tнп+Tот+ Tд =30 + 51,1 + 36,5 + 36,5 + 54,8 + 36,5 + 153,4 + 40 = = 438.8 чел/ час 4.3. Расчет заработной платы исполнителя работ Основная заработная плата определяется по формуле: , (4.15) где _ месячная зарплата 1-го разряда (руб.); -- тарифный коэффициент, соответствующий разряду тарифной сетки по которому работает исполнитель; _ общее время на создание программного продукта (чел / час); _ число рабочих дней в месяц; _ продолжительность рабочего дня в часах; _ процент премии. _ 8 часов. 21 день. = 70000 руб. Разряд исполнителя 14, его тарифный коэффициент равен 3,25. Таким образом, определяем основную заработную плату исполнителя работ по созданию программного продукта. (4.16) Дополнительная заработная берется в размере 15 % от основной. (4.17) Общая заработная плата будет равна сумме основной и дополнительной: (4.18) 4.4. Расчет начислений на заработную плату (единого социального налога) Отчисления в фонд социальной защиты населения составляют 35 %. Обязательное страхование от несчастных случаев на производстве составляет 0.3%. (4.19) 4.5. Расчет себестоимости 1-го машино-часа работы ПЭВМ Основой для расчета расходов на содержание и эксплуатацию ПЭВМ, относящихся к данному программному продукту, является себестоимость 1-го машино-часа работы ПЭВМ. Сначала определим годовые затраты каждого компонента себестоимости, в число которых входят: 1) Основная заработная плата работников, обеспечивающих функционирование ПЭВМ. К числу этих работников относятся: 1) инженер-электроник; 2) системный программист; 3) оператор. Заработная плата основная () каждого из этих категорий работников определяется по формуле: (4.20) где -- месячная зарплата (тарифная ставка) 1 разряда в руб.; -- тарифный коэффициент, соответствующий разряду работника; -- кол-во, ПЭВМ, обслуживаемых одним работником; -- процент премии. Для инженеров-электронщиков = 13 ед. Для системных программистов = 26 ед. Для оператора = 9ед. Для инженеров-электронщиков = 2,84 Для системных программистов =1,9 Для оператора =1,57 Подставляем значения в формулу (4.20), получаем: (4.21) Теперь можно определить суммарную годовую заработную плату работников, обеспечивающих функционирование ПЭВМ: 2) Дополнительная заработная плата обслуживающего персонала берется в размере 15 % от основной. (4.22) Общая заработная плата будет равна сумме основной и дополнительной: (4.23) 3) Начисления на ЗП обслуживающего персонала берем 35,3% от общей зарплаты обслуживающего персонала: (4.24) 4) Основная ЗП административного и вспомогательного персонала: К административному персоналу, часть заработной платы которого также должна входить в себестоимость машино-часа, отнесем начальника ИВЦ. Его основная заработная плата определяется по формуле (4.20), только будет обозначать количество ПЭВМ в отделе. (4.25) Из вспомогательного персонала мы учтем уборщицу, которая будет убирать административные помещения. Заработная плата уборщицы, приходящаяся на 1 компьютер, определяется по формуле: (4.26) Подставляя значения в формулу (4.26), получим: Теперь определим общую основную ЗП административного и вспомогательного персонала. (4.27) 5) Дополнительная заработная плата административного и вспомогательного персонала берется в размере 15% от основной: (4.28) Общая заработная плата будет равна сумме основной и дополнительной: (4.29) 6) Начисления на ЗП административного и вспомогательного персонала в общем берем 35.3% от общей заработной платы. (4.30) 7) Амортизационные отчисления определяются в размере 20% от балансовой стоимости ПЭВМ. (4.31) где -- балансовая стоимость одной ПЭВМ с периферией.
Страницы: 1, 2, 3, 4
|