Автоматизация учета продаж программных продуктов 1С

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,78 Мб
  • Опубликовано:
    2014-07-17
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Автоматизация учета продаж программных продуктов 1С















ДИПЛОМНЫЙ ПРОЕКТ НА ТЕМУ:

АВТОМАТИЗАЦИЯ УЧЕТА ПРодаж программных продуктов 1с

Содержание

Введение

. Постановка задачи

. Формализация

. Описание среды программирования

.1 Требования к техническому обеспечению

.2 Требования к программному обеспечению

. Методика разработки проекта

.1 Алгоритмизация задачи

.1.1 Описание алгоритма

.1.2 Структурная схема

.2 Программирование

.3 Аномалии и защитное программирование

.4 Тестирование и отладка

. Анализ результатов решения

. Инструкция пользователю

Заключение

Литература

Приложение

Введение

ООО «Центр Автоматизации» упрощает процесс приобретения современных компьютерных программ (1С: Бухгалтерия, 1С: Предприниматель, 1С: Управление торговлей и т.п.) всевозможными организациями.

Деятельность ООО «Центр Автоматизации» сопровождается большим объемом документации. Значительную роль в этом объеме играет информация о программных продуктах, клиентах и т.д.

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

программа алгоритмизация автоматизация отчет

1. Постановка задачи

Задачей дипломного проекта является разработка программного приложения «Автоматизация учёта продаж программных продуктов 1С», которое позволит:

·        Систематизировать учет необходимых данных о программных продуктах и их продажах, реализуемых на предприятии; включая их стоимость;

·        Определить общий доход, полученный от продажи программных продуктов;

·        Осуществлять быстрый поиск информации о клиентах и реализуемой продукции. Так же предоставляется возможность добавления, удаления и редактирования информации, хранящейся в базе данных;

·        Формировать и выводить на печать необходимые документы и отчетные формы.

Приложение должно быть разработано в среде Microsoft Visual Studio 2005(C#.NET), с использованием MS Access и Microsoft SQL Server 2005.

2. Формализация

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

Взаимосвязь показана в схеме данных:

Рисунок 1

Как правило, разработка проекта реализации задачи выполняется в несколько этапов и начинается с анализа той информации, которая является выходной (таблицы Microsoft SQL Server), итоговая (конечная) форма для Microsoft Visual Studio 2005(C#.NET). Только после выяснения структуры и состава этой информации, формулировки запросов для получения отчетов можно сделать вывод о структуре и составе таблиц данных. Необходимым этапом формализации задачи является нормализация базы данных, которая, по сути, представляет собой процесс оптимизации хранения и использования информации в таблицах.

3. Описание среды программирования

Для написания программы было использовано две рабочих станции программирования Microsoft SQL Server и Microsoft Visual Studio 2005(C#.NET). Microsoft SQL Server 2005.

Большинство приложений баз данных со временем разрастаются, становятся более сложными и число их пользователей также растет. На некотором этапе существования приложения базы данных Microsoft Access преобразовать в формат Microsoft SQL Server с целью оптимизации производительности, масштабируемости, безопасности, надежности, способности к восстановлению и доступности базы данных и приложения.

Во многих случаях Microsoft SQL Server обеспечивает более высокую производительность, чем база данных Access. SQL Server также обеспечивает поддержку очень крупных баз данных, размером до одного терабайта, что значительно превышает существующий в настоящее время для баз, данных Access предел в два Гбайт. К тому же, SQL Server весьма эффективно работает в среде Microsoft Windows NT, обрабатывая запросы параллельно (с использованием естественных потоков команд в пределах одного процесса для обработки запросов пользователя) и снижая до минимума требования к памяти при добавлении пользователей.

Приложение Microsoft SQL Server с самого начала разрабатывалось как база данных в архитектуре клиент/сервер. Данные и индексы располагаются на одном сервере, доступ к которому часто осуществляется через сеть с нескольких клиентских компьютеров. SQL Server снижает загруженность сети, выполняя обработку запросов базы данных на сервере перед отправкой результатов на клиентский компьютер. Таким образом, создаваемые приложения в архитектуре клиент/сервер могут выполнять обработку там, где она выполняется лучше всего - на сервере.

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

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

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

С помощью Microsoft SQL Server можно выполнять динамическое резервное копирование (добавочное или полное) базы данных во время ее использования. Таким образом, пользователи избавлены от необходимости выходить из базы данных для резервного копирования данных. Это позволяет использовать базу данных 24 часа в сутки, семь дней в неделю.

На случай сбоя системы (например, при аварийном завершении работы оперативной системы или отключении питания) в Microsoft SQL Server имеется механизм автоматического восстановления базы данных до последнего состояния согласованности всего за несколько минут, причем вмешательство администратора базы данных не требуется. Важные приложения могут быть восстановлены и повторно запущены сразу же.

Microsoft Visual Studio 2005(C#.NET)

Специально для платформы.NET Microsoft был разработан новый язык программирования С#. С# - это язык программирования, синтаксис которого очень похож на синтаксис Java (но не идентичен ему). Например, в С# (как в Java) определение класса состоит из одного файла (*.cs), в отличие от C++, где определение класса разбито на заголовок (*.h) и реализацию (*.срр). Однако называть С# клоном Java было бы неверно. Как С#, так и Java основаны на синтаксических конструкциях C++. Если Java во многих отношениях можно назвать очищенной версией C++, то С# можно охарактеризовать как очищенную версию Java.

Синтаксические конструкции С# унаследованы не только от C++, но и отBasic. Например, в С#, как и в Visual Basic, используются свойства классов. Как C++, С# позволяет производить перегрузку операторов для созданных вами типов (Java не поддерживает ни ту, ни другую возможность). С# - это фактически гибрид разных языков. При этом С# синтаксически не менее (если не более) чист, чем Java, так же прост, как Visual Basic, и обладает практически той же мощью и гибкостью, что и C++. Подводя итоги, еще раз выделим основные особенности С#.

• Указатели больше не нужны. В программах на С#, как правило, нет необходимости в работе с ними (однако если вам это потребуется, пожалуйста, - возможности для работы с указателями в вашем распоряжении).

• Управление памятью производится автоматически.

• В С# предусмотрены встроенные синтаксические конструкции для работы с перечислениями, структурами и свойствами классов.

•В С# осталась возможность перегружать операторы, унаследованные от C++. При этом значительная часть возникавших при этом сложностей ликвидирована.

• Предусмотрена полная поддержка использования программных интерфейсов. Однако в отличие от классического СОМ применение интерфейсов - это не единственный способ работы с типами, используя различные двоичные модули..NET позволяет передавать объекты (как ссылки или как значения) через границы программных модулей.

• Также предусмотрена полная поддержка аспектно-ориентированных программных технологий (таких как атрибуты). Это позволяет присваивать типам характеристики (что во многом напоминает COM IDL) для описания в будущем поведения данной сущности. Возможно, самое важное, что необходимо сказать про язык С#, - это то, что он генерирует код, предназначенный для выполнения только в среде выполнения.NET. Например, вы не сможете использовать С# для создания классического СОМ-сервера. Согласно терминологии Microsoft код, предназначенный для работы в среде выполнения.NET, - это управляемый код (managed code). Двоичный файл, который содержит управляемый файл, называется сборкой (assembly).

.1 Требования к техническому обеспечению

Минимальные требования:

·      процессор Pentium 3;

·      операционная система Windows XP;

·        ОЗУ 128 Мб;

·        свободное место на жестком диске 100 Мб для программы.

Рекомендуемые требования:

·      любой процессор Intel/AMD;

·        операционная система Windows XP, Vista, Seven, Server 2003;

·        ОЗУ 512 Мб;

·        свободное место на жестком диске 100 Мб.

Для ввода данных необходимо наличие: клавиатуры; компьютерной мыши.

3.2. Требования к программному обеспечению

Для работы программы необходимо, чтобы на компьютере были установлены:

1.  Операционная система WINDOWS XP,Vista,Seven, Server 2003.

2.      Microsoft SQL Server 2005;

4. Методика разработки программы

.1 Алгоритмизация задачи

.1.1 Описание алгоритма

С целью повышения надёжности и эффективности программного продукта, применялся метод нисходящего проектирования, и проходила следующие этапы:

· Определение входных и выходных данных;

·        Выбор языка программирования;

·        Поиск по различным критериям.

В ходе разработки программного продукта были созданы следующие таблицы:

Таблица №1 «Клиенты»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код Клиента

Счетчик

Длинное целое


Клиент

Текстовый

50

Да

Город

Текстовый

50

Да

Улица, дом

Текстовый

50

Да

Телефон

Числовой

50

Да

Контактное лицо

Текстовый

50

Да


Таблица №2 «Программные продукты»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код программного продукта

Счетчик

Длинное целое


Программный продукт

Текстовый

60

Да

Стоимость

Числовой

Длинное целое

Да

Количество

Текстовый

Длинное целое

Да


Таблица №3 «Продажи»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код продажи

Счетчик

Длинное целое


Клиент

Текстовый

60

Да

Программный продукт

Текстовый

Длинное целое

Да

Цена

Текстовый

Длинное целое

Да

Количество

Текстовый

Длинное целое

Да

Дата

Текстовый

Длинное целое

Да

Сумма

Текстовый

Длинное целое

Да


Таблица №4 «Накладная»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код накладной

Счетчик

Длинное целое


Код Клиента

Текстовый

60

Да

Код Программного продукта

Текстовый

Длинное целое

Да

Количество

Текстовый

Длинное целое

Да

Цена

Текстовый

Длинное целое

Да

Дата продажи

Текстовый

Длинное целое

Да


Таблица №5 «Поставщики»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код поставщика

Счетчик

Длинное целое


Название

Текстовый

60

Да

Обращаться к

Текстовый

Длинное целое

Да

Адрес

Текстовый

Длинное целое

Да

Город

Текстовый

Длинное целое

Да

Телефон

Текстовый

Длинное целое

Да

Факс

Текстовый

Длинное целое

Да


Таблица №6 «Склад»

Имя поля

Тип данных

Формат/размер поля

Обязательное поле

Код склада

Счетчик

Длинное целое


Код программного продукта

Текстовый

60

Да

Регистрационный номер

Текстовый

Длинное целое

Да

Количество

Текстовый

Длинное целое

Да

Код поставщика

Текстовый

Длинное целое

Да

4.1.2 Структурная схема


.2 Программирование

В соответствии с структурной-схемой, приведенной выше в пункте 4.1.2. в представленной программе разработаны программные модули на Microsoft Visual Studio 2005(C#.NET).

Тексты программных модулей и запросов приведены в пункте V. «Приложение».

.3 Аномалии и защитное программирование

Описание аномалии

Реакции на аномалию

Способ защиты

Попытка продажи товара которого нет на складе

Ввод текстового сообщения без изменения структуры

Защищено с помощью разработчика в C#

Ввод в числовые поля текстовых значений

Выводит ошибку, при этом появляется звуковой сигнал без изменения содержимого поля ввода

Защищено с помощью C# автоматически

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

Выводит ошибку, при этом появляется звуковой сигнал без изменения содержимого поля ввода

Защищено с помощью C# автоматически


.4 Тестирование и отладка

Тестирование - процесс многократного выполнения программы с целью выявления ошибок. Отладка - исправление ошибок, найденных с помощью тестирования.

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

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

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

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

Хотя программа прошла тестирование успешно, в ней, тем не менее, могут содержаться ошибки, т.к.

§ программа может не соответствовать своей внешней спецификации, что в частности, может привести к тому, что в ее управляющей графе окажутся пропущенными некоторые необходимые пути;

§  не будут обнаружены ошибки, появление которых зависит от обрабатываемых данных (т.е. на одних исходных данных программа работает правильно, а на других - с ошибкой).

5. Анализ результатов решения

В соответствии с пунктом 4.4 «Тестирование и отладка» производились непосредственно во время разработки проекта. После завершения работы над программой было еще раз произведено полное тестирование.

Все найденные ошибки были успешно устранены.

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

6. Инструкция пользователю

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

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

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

Запуск программы

Запуск программы осуществляется двойным нажатием левой клавиши мыши на ярлыке программы. После запуска программного продукта на экране появится «Главная кнопочная форма», которая выглядит следующим образом:

Рисунок 2

Описание главного меню программы.

Меню «Формы»:

Рисунок 3

Меню «Формы» существует для быстрого доступа к формам, на которых находится интересующая вас информация.

Форма №1: Данные клиентов

Рисунок 4

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

Так же мы можем быстро найти информацию, по интересующей нас организации просто выбрав ее название из списка.

Еще на форме расположено меню «Отчеты». Благодаря этому можно легко и быстро перейти к отчетам: «Общий отчет по клиентам» и «Отчет по данным клиента», описание этих отчетов буде т представлено в Меню «Отчёты».

Форма №2. Программные продукты

Рисунок 5

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

Так же мы можем быстро найти информацию об интересующей нас организациях и программном продукте - просто выбрав ее название из списка.

Еще на форме расположена кнопка продать, через неё можно продавать товар и выводить накладную.

Форма №3. Продажи

Рисунок 6

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

Форма №4. Накладные

Рисунок 7

На форме представлена информация о накладной.

Форма №5. Поставщики

Рисунок 8

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

Форма №6. Склад

Рисунок 9

На форме предоставляется информация о складе у поставщиков

Меню «Отчёты»

Рисунок 10

Отчеты в данном программном приложении созданы при помощи Reporting Services.

Службы SQL Server 2005 Reporting Services (SSRS) представляют собой платформу отчетов на основе сервера, которая обеспечивает комплексное ведение отчетов для данных из реляционных и многомерных источников данных. Службы Reporting Services включают компоненты для разработки: полный набор инструментов, который можно использовать для создания отчетов и управления ими, и API-интерфейс, позволяющий разработчикам выполнять интеграцию и расширение данных, а также обработку отчетов в пользовательских приложениях. Создаваемые отчеты могут основываться на реляционных или многомерных данных SQL Server, служб Analysis Services, Oracle или любого другого поставщика данных Microsoft.NET Framework, такого как ODBC или OLE DB.

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

Службы Reporting Services представляют собой серверное решение. Это дает возможность централизованного хранения и управления отчетами, обеспечивает безопасный доступ к отчетам, моделям и папкам, а также позволяет контролировать обработку и распространение отчетов и стандартизовать их использование в бизнесе.

Отчет по данным клиента:

Рисунок 11

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

Общий отчет по клиентам:

Рисунок 12

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

Общий отчет по продажам:

Рисунок 13

Данный отчет несет в себе всю информацию о продажах когда-либо совершавшихся на предприятии.

Отчет продаж за выбранный период времени:

Рисунок 14

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

Отчет по программному продукту

Рисунок 15

Данный отчет предоставляет возможность просмотреть программный продукт уходящий со склада

Отчет по накладным:

Рисунок 16

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

Отчет по поставщикам:

Рисунок 17

Данный отчет несет в себе всю информацию о поставщиках.

Отчет по складу:

Рисунок 18

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

Меню «Документы»:

Рисунок 19

Меню «Документы » существует для быстрого доступа к документам: «Договор»- заключается с клиентом, в ней прописаны условия договора, название организации и программный продукт который она купила. Открывается в виде документа с расширением.doc.

«Акт о выполнении работ»- документ, существующий в двух экземплярах. Составляется когда выполнены все условия Договора, т.е - программный продукт установлен и работает. Открывается в виде документа с расширением.

Меню «Помощь»:

Рисунок 20

Форма: «О программе»

Рисунок 21

Справка необходима пользователю в качестве инструкции к программе. На ней находятся вкладки, подробно излагающие информацию о формах, отчетах и документах.

Рисунок 10

Для того чтобы данный проект был реализован на ООО ’’Центр Автоматизации’’ необходимо подсчитать годовой экономический эффект от внедрения программного продукта ’’Автоматизация учёта продажи программных продуктов 1С’’.

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

График затрат времени на разработку и внедрение проекта.

Таблица 1

Этап разработки

Характеристика

Трудоёмкость ч.

Постановка задачи

Пред проектное обследование. Разработка, утверждение, технико-экономическое обследование.

11

Составление технического проекта

Уточнение структуры и формы представления входных и выходных данных (алгоритм и структура), Разработка плана мероприятий по проекту. Согласование утверждение технического проекта.

43

Составление рабочего проекта

Написание программы на языке программирования. Первоначальная отладка, тестирование. Разработка согласование и утверждения порядка и методики испытания. Корректировка программы.

87

Документирование и внедрение

Разработка программной документации. Сдача программы и программной документации.

29

ИТОГО:


170 ч.


Затраты на внедрение проекта.

Коэффициент сложности задачи C характеризует сложность данной программы по отношению к типовой задаче, сложность которой принята за 1 (величина C лежит в пределах от 0,5 до 1). Для данной программы C равно 0,7, так как в данной программе разработаны формы, имеющие в себе наиболее удобный поиск информации, всевозможные отчёты.

C = 0,7 - коэффициент сложности программы

Коэффициент P увеличения объёма работ за счёт внесения изменений в алгоритм или программу по результатам уточнения установок. Коэффициент меняется от 0,1 до 0,5. Заказчик четко описал конечный результат, который должен выдаваться данным программным обеспечением, однако некоторые изменения и доработки все же придётся внести. Необходимо принять во внимание, что в данном случае заказчик не имел глубоких компьютерных знаний и не мог изначально объяснить задачу в целом. Это приводило к неоднократным доработкам, модернизациям и корректировке. Лучше всего взять среднее значение коэффициента.

Р = 0,3 - коэффициент увеличения работ

Коэффициент В - коэффициент увеличения затрат труда вследствие недостаточного описания задач. Коэффициент меняется от 1 до 1,5. В данном случае коэффициент В будет равен 1, так как задача имеет достаточное описание для работы с ней.

В =1 - коэффициент увеличения затрат труда

Коэффициент К коэффициент квалификации разработчика, который зависит от стажа. Коэффициент К равен: для работающих до двух лет - 0,8; от трех до пяти - 1; от пяти до восьми - 1,2; более восьми лет - 1,5. Поскольку опыта у разработчика не достаточно, то коэффициент К мы берем равным 0,8.

К = 0,8 - коэффициент квалификации разработчика

ЗПосн = ЗП*С*(1+Р)*В*К

С учетом всех коэффициентов заработная плата в месяц составит: ЗПосн = 8000 * 0,7 * (1 + 0,3) * 1,0 * 0,8 = 5824 рублей/ месяц.

Дополнительная заработная плата высчитывается по формуле:

ЗПдоп = ЗПосн * К

К - размер премии в процентах. Премия работнику за это время не выплачивалась.

Общие затраты предприятия на заработную плату за период разработки ПО вычисляется по формуле:

Количество временных затрат на создание равно 170 часов.

Страховые отчисления берутся в размере 26% от ЗПсум. СО = 5824*26% = 1514,2 рублей.

Суммарная затрата на оплату труда ЗПобщ = ЗПсум + СО = ((5842+1514,2)*170)/(8*22)=7088 рублей.

Содержание и эксплуатация вычислительной техники.

Время, затраченное на отладку программы (2 + 3 + 4 этапы из таблицы 1) равно 170 ч. Необходимо посчитать стоимость одного машинного часа по формуле:

(стоимость электроэнергии + амортизация + затраты на ремонт)/Фвт

Фвт - действительный фонд времени работы вычислительного комплекса.

Стоимость электроэнергии - 4 рубля за кВт/ч., потребление энергии - 300 Вт/ч.

ч. * 22дня * 12 мес. * 0,3 кВт/ч * 4 рубля = 2534,4 рубля стоимость за год.

Амортизация зависит от срока эксплуатации компьютера, а т.к. срок эксплуатации компьютера на котором производилась разработка данного программного продукта - 3 года, то амортизация еще начисляется и учитывается в дальнейших подсчетах.

Амортизация = общая сумма / количество лет.

Стоимость ПК составила 21000 рублей, а количество лет полезного использования - 4 года. Амортизация = 21000 / 4 = 5250 руб./год.

На ремонт уходит 5 % от стоимости ПК. В данном случае на ремонт будет уходить 21000 * 5 % = 1050 рублей.

Действительный фонд времени работы вычислительного комплекса рассчитываем так:

Фвт = Фном - Фпроф

Фном - номинальный фонд времени работы вычислительного комплекса.

Фпроф - годовые затраты времени на профилактические работы (5% = 0,05).

Фвтномпроф= (8ч. * 22 дн. * 12 мес.) - (8ч.* 22 дн.* 12 мес.* 0,05)=2112-106=2006 ч.

Стоимость 1 машинного часа работы = (2534.4+ 5250+ 1050) / 2006 = 4.4 рубля.

Стоимость затрат всего равна 159 * 4.4 рубля = 699.6 рублей.

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

Таблица 2. График затрат на разработку и внедрение проекта.

Наименование статьи расходов

Затраты

1

Зарплата суммарная исполнителя

7088 руб.

2

Страховые отчисления

1755,1 руб.

3

Затраты на эксплуатацию ПК, используемого для написания программы

699,6 руб.

4

Расходы на программное обеспечение

0 руб.

5

Прочие затраты

0 руб

Итого:


9301,8 руб.

 

Экономический эффект.

Рассчитаем экономический эффект получаемый за счет сокращения времени на выполнение необходимых операций. Для этого нам потребуются следующие данные: Т1 - время которое занимала одна операция.

До внедрения программного обеспечения сотрудник выполнял примерно 13 операций по поиску и вводу данных в день. На одну операцию он тратил приблизительно 10 минут, т.к. определенную информацию приходилось искать в бумажных архивах. Т1 = 10 мин. = 0.16 часа.

Тестирование показало, что время выполнения операции после внедрения программного обеспечения стало занимать 5 минут вместо 10. Так как вся информация уже находится в базе и надо всего лишь открыть необходимую форму, которая выведет нам нужные данные; нет никакой необходимости отвлекать другого сотрудника от работы либо производить ручной поиск в архиве. Т2 = 5 мин. = 0.08 часа.

Мы сократили время на Т = Т1 - Т2 = 10 мин. - 5 мин. = 5 мин. = 0.08 часа.

Теперь рассчитаем стоимость работы сотрудника.

В месяц количество рабочих часов равно: 8 * 22 = 176.

Стоимость одного часа работы высчитывается по формуле: Pч = ЗП / 176. Заработная плата сотрудника составляет 10000 руб. / месяц. Тогда стоимость одного часа работы будет стоить 10000 / 176 = 36,9 руб.

Стоимость экономии Страховых отчислений рассчитывается по формуле:

со = (ЗП * 0,26) / 176 = (10000 * 0,26) / 176 = 14,8 руб.сум = Pч + Pфо = 56,8 + 14,8 = 71,6 руб.

Годовая экономия времени рассчитывается по формуле:

Тгод = Т * Q * кол-во рабочих дней в месяц * кол-во месяцев = 0.08 * 13 * 22 * 12 = 274,6 часа.

Тгод * Pсум = 274,6 * 71,6 = 19661,4

Вычтем затраты и определим экономический эффект:

,4- 9301,8 = 10359,6 руб.

Теперь посчитаем, за какое количество времени окупится приложение: Т = затраты / ЭФ = 9301,8 10359,6 = 0,5 года.

Таким образом, если ООО «Центр Автоматизации» реализует у себя

Заключение

В данном дипломном проекте было разработано программное приложение по автоматизации учета продаж программных продуктов 1С.

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

Срок окупаемости программы составляет 6 месяцев.

Литература

1)      Гончаров А. Ю. - Access 2003. Самоучитель с примерами - М.: КУДИЦ-ОБРАЗ, 2010.

2)      Т.А.Павловская - С# Программирование на языке высокого уровня. Учебник для вузов. -СПб.:Питер, 2011.

)        Нильсен Пол., SQL Server 2005. Библия пользователя. “И.Д. Вильямс”, 2008.

)        Браст Эндрю Дж., Форте С Разработка приложений на основе Microsoft SQL Server 2005. Microsoft Press, 2009.

)        Т.А. Павловская - С# Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2007.

Приложение

Главная форма.

using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form1 : Form

{Form1()

{();

}void клиентыToolStripMenuItem_Click(object sender, EventArgs e)

{ee = new Form2();.Show();

}void выходToolStripMenuItem1_Click(object sender, EventArgs e)

{();

}void програмныйПродуктToolStripMenuItem_Click(object sender, EventArgs e)

{er = new Form5();.Show();

}void программый_продуктBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{.Validate();

//this.программый_продуктBindingSource.EndEdit();

//this.программый_продуктTableAdapter.Update(this.dataSet1.Программый_продукт);

}void Form1_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Программый_продукт' table. You can move, or remove it, as needed.

//this.программый_продуктTableAdapter.Fill(this.dataSet1.Программый_продукт);

}void накладныеToolStripMenuItem_Click(object sender, EventArgs e)

{yy = new Form3();.Show();

}void продажиToolStripMenuItem_Click(object sender, EventArgs e)

{gg = new Form4();.Show();

}void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)

{gg77 = new Form9();.Show();

}void поставщикаToolStripMenuItem_Click(object sender, EventArgs e)

{uy = new Form10();.Show();

}void складToolStripMenuItem_Click(object sender, EventArgs e)

{hh = new Form11();.Show();

}void отчеПоДаннымКлиентаToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form7();.Show();

}void toolStripMenuItem2_Click(object sender, EventArgs e)

{tt = new Form6();.Show();

}void отчетПоПрограммномуПродуктуToolStripMenuItem_Click(object sender, EventArgs e)

{yu = new Form8();.Show();

}void отчетПоПостащикамToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form14();.Show();

}void отчетПоСкладуToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form15();.Show();

}void договорToolStripMenuItem_Click(object sender, EventArgs e)

{.ShowHelp(null, @"АБН-2010 Обнинск.doc");

}void актОВыполненииРаботToolStripMenuItem_Click(object sender, EventArgs e)

{.ShowHelp(null, @"Печать АКТ 1С.xls");

}void отчетПоВыбраннойДатеToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form16();.Show();

}void отчетПоНакладнойToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form13();.Show();

}void общийОтчетПоПродажамToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form12();.Show();

}void справкаToolStripMenuItem_Click(object sender, EventArgs e)

{.ShowHelp(null, @"Help.chm");

}

}

}

Форма Данные клиентов:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form2 : Form

{Form2()

{();

}void клиентыBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{(this.клиентTextBox.Text == "")

{.Show("Введите, пожалуйста, Наименование!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);;

}(this.городTextBox.Text == "")

{.Show("Введите, пожалуйста, город!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);;

}(this.улица_домTextBox.Text == "")

{.Show("Введите, пожалуйста, улицу и дом!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);;

}(this.телефонTextBox.Text == "")

{.Show("Введите, пожалуйста, телефон!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);;

}(this.контактное_лицоTextBox.Text == "")

{.Show("Введите, пожалуйста,контактное лицо!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);;

}.Validate();.клиентыBindingSource.EndEdit();.клиентыTableAdapter.Update(this.dataSet1.Клиенты);

}void Form2_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Клиенты' table. You can move, or remove it, as needed..клиентыTableAdapter.Fill(this.dataSet1.Клиенты);

}void продажиToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form5();.Show();();

}void выходToolStripMenuItem_Click(object sender, EventArgs e)

{();

}void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)

{.клиентыTableAdapter.Update(this.dataSet1.Клиенты);

}void общийОтчетПоКлиентамToolStripMenuItem_Click(object sender, EventArgs e)

{oo = new Form6();.Show();

}void отчетПоДаннымКлиентаToolStripMenuItem_Click(object sender, EventArgs e)

{rt = new Form7();.Show();

}

Форма накладные:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form3 : Form

{Form3()

{();

}void накладнаяBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{.Validate();.накладнаяBindingSource.EndEdit();.накладнаяTableAdapter.Update(this.dataSet1.Накладная);

}void Form3_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Накладная' table. You can move, or remove it, as needed..накладнаяTableAdapter.Fill(this.dataSet1.Накладная);

// TODO: This line of code loads data into the 'dataSet1.Накладная' table. You can move, or remove it, as needed..накладнаяTableAdapter.Fill(this.dataSet1.Накладная);

}void накладнаяDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}void накладнаяBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)

{.Validate();.накладнаяBindingSource.EndEdit();.накладнаяTableAdapter.Update(this.dataSet1.Накладная);

}void toolStripButton2_Click(object sender, EventArgs e)

{();

}void toolStripButton1_Click(object sender, EventArgs e)

{tt = new Form13();.Show();

}

Форма продажи:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form4 : Form

{Form4()

{();

}void продажиBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{.Validate();.продажиBindingSource.EndEdit();.продажиTableAdapter.Update(this.dataSet1.Продажи);

}void Form4_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Продажи' table. You can move, or remove it, as needed.

//this.продажиTableAdapter.Fill(this.dataSet1.Продажи);

// TODO: This line of code loads data into the 'dataSet1.Продажи' table. You can move, or remove it, as needed.

//this.продажиTableAdapter.Fill(this.dataSet1.Продажи);

// TODO: This line of code loads data into the 'dataSet1.Продажи' table. You can move, or remove it, as needed.

//this.продажиTableAdapter.Fill(this.dataSet1.Продажи);

// TODO: This line of code loads data into the 'dataSet1.Продажи' table. You can move, or remove it, as needed.

//this.продажиTableAdapter.Fill(this.dataSet1.Продажи);.продажиTableAdapter.Fill(this.dataSet1.Продажи);

}void выходToolStripMenuItem_Click(object sender, EventArgs e)

{();

}void продажиBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)

{.Validate();.продажиBindingSource.EndEdit();.продажиTableAdapter.Update(this.dataSet1.Продажи);

}void продажиBindingNavigatorSaveItem_Click_2(object sender, EventArgs e)

{.Validate();.продажиBindingSource.EndEdit();.продажиTableAdapter.Update(this.dataSet1.Продажи);

}void button1_Click_1(object sender, EventArgs e)

{ss = 0;N = this.dataSet1.Продажи.Count;(int i = 0; i < N; i++)

{=ss+Convert.ToInt32(this.dataSet1.Продажи.Rows[i][6]);

}.Text=ss.ToString();

} void общийОтчетПоПродажамToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form12();.Show();

}void отчетПоВыбраннойДатеToolStripMenuItem_Click(object sender, EventArgs e)

{tt = new Form16();.Show();

}

Форма программный продукт:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;Excel = Microsoft.Office.Interop.Excel;DIPLOM

{partial class Form5 : Form

{Form5()

{();

}void программый_продуктBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{(this.програмные_продуктыTextBox.Text == "").Show("Введите, пожалуйста,программный продукт!");;(this.стоимостьTextBox.Text == "").Show("Введите, пожалуйста,стоимость");;(this.textBox2.Text == "").Show("Введите, пожалуйста,кол-во");;.Validate();.программый_продуктBindingSource.EndEdit();.программый_продуктTableAdapter.Update(this.dataSet1.Программый_продукт);

}void Form5_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Клиенты' table. You can move, or remove it, as needed..клиентыTableAdapter.Fill(this.dataSet1.Клиенты);

// TODO: This line of code loads data into the 'dataSet1.Программый_продукт' table. You can move, or remove it, as needed..программый_продуктTableAdapter.Fill(this.dataSet1.Программый_продукт);

}void button1_Click_1(object sender, EventArgs e).Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();.Office.Interop.Excel.Workbook ObjWorkBook;.Office.Interop.Excel.Worksheet ObjWorkSheet;.Office.Interop.Excel.Range excelcells;

//Книга.= ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);

//Таблица.= (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

//Значения [y - строка,x - столбец].Cells[1, 1] = "ООО Центр Автоматизации";.Cells[2, 1] = "Адрес: 249037, Калужская обл, Обнинск г, Треугольная пл, д. 1, оф. 10";.Cells[4, 1] = "Акт № ______";.Cells[4, 3] = "от ";.Cells[4, 4] = "=СЕГОДНЯ()";.Cells[6, 1] = "Заказчик: ";.Cells[8, 1] = "№ ";.Cells[8, 2] = "Наименование работы (услуги)";.Cells[8, 3] = "Количество";.Cells[8, 4] = "Цена";.Cells[8, 5] = "Сумма";.Cells[11, 4] = "Итого:";.Cells[12, 1] = "Исполнитель: ";.Cells[14, 2] = "М.П. ";.Cells[14, 4] = "М.П. ";.Cells[13, 2] = "подпись___________/Селезнёв Е.И./ ";.Cells[13, 3] = "Заказчик:";.Cells[13, 5] = "подпись__________/";.Cells[9, 1] = код_программного_продуктаTextBox.Text;

//ObjWorkSheet.Cells[4, 2] = dateTimePicker1.Text;.Cells[9, 2] = програмные_продуктыTextBox.Text;.Cells[9, 4] = стоимостьTextBox.Text;.Cells[9, 3] = textBox1.Text;.Cells[6, 2] = comboBox2.Text;.Cells[13, 4] = comboBox2.Text;.Cells[11, 5] = "=(R9C3*R9C4)";.Cells[9, 5] = "=(R9C3*R9C4)";= ObjWorkSheet.get_Range("A8", "E9");

//excelcells.Rows.Width[R1,C2] = 50;.Borders.ColorIndex = 1;.Font.ColorIndex = 1;.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;.Borders.Weight = Excel.XlBorderWeight.xlThick;= ObjWorkSheet.get_Range("E10", "E11");.Borders.LineStyle = Excel.XlLineStyle.xlContinuous;.Borders.Weight = Excel.XlBorderWeight.xlThick;

{.продажиTableAdapter.InsertQuery(comboBox2.Text, програмные_продуктыTextBox.Text, стоимостьTextBox.Text, textBox1.Text, dateTimePicker1.Text, (Convert.ToInt32(textBox1.Text) * Convert.ToInt32(стоимостьTextBox.Text)).ToString());.накладнаяTableAdapter.InsertQuery2(comboBox2.Text, програмные_продуктыTextBox.Text, textBox1.Text, стоимостьTextBox.Text, dateTimePicker1.Text);.продажиTableAdapter.Update(this.dataSet1.Продажи);.программый_продуктTableAdapter.FillBy(this.dataSet1.Программый_продукт, new System.Nullable<int>(((int)(System.Convert.ChangeType(textBox1.Text, typeof(int))))), comboBox1.Text);.программый_продуктTableAdapter.Fill(this.dataSet1.Программый_продукт);(MessageBox.Show("Вывести накладную?", "уведомление",.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)

{.Visible = true;.UserControl = true;.Show("Продано!", "уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

{.Show("Продано!", "уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);

}(Exception e1)

{.Show("Указанного товара нет на складе, или не введено кол-во!", "Error",.OK, MessageBoxIcon.Error);.программый_продуктTableAdapter.Fill(this.dataSet1.Программый_продукт);

}void выходToolStripMenuItem_Click(object sender, EventArgs e)

{();

}void отчетыToolStripMenuItem_Click(object sender, EventArgs e)

{yu = new Form8();.Show();

}void button4_Click(object sender, EventArgs e)

{= 384;

}

Форма склад:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form11 : Form

{Form11()

{();

}void складBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{.Validate();.складBindingSource.EndEdit();.складTableAdapter.Update(this.dataSet1.Склад);

}void Form11_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Склад' table. You can move, or remove it, as needed..складTableAdapter.Fill(this.dataSet1.Склад);

// TODO: This line of code loads data into the 'dataSet1.Склад' table. You can move, or remove it, as needed..складTableAdapter.Fill(this.dataSet1.Склад);

// TODO: This line of code loads data into the 'dataSet1.Склад' table. You can move, or remove it, as needed.

//this.складTableAdapter.Fill(this.dataSet1.Склад);

// TODO: This line of code loads data into the 'dataSet1.Склад' table. You can move, or remove it, as needed..складTableAdapter.Fill(this.dataSet1.Склад);

}void складBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)

{.Validate();.складBindingSource.EndEdit();.складTableAdapter.Update(this.dataSet1.Склад);

}void складBindingNavigatorSaveItem_Click_2(object sender, EventArgs e)

{.Validate();.складBindingSource.EndEdit();.складTableAdapter.Update(this.dataSet1.Склад);

}void складBindingNavigatorSaveItem_Click_3(object sender, EventArgs e)

{.Validate();.складBindingSource.EndEdit();.складTableAdapter.Update(this.dataSet1.Склад);

}

Форма поставщики:System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;DIPLOM

{partial class Form10 : Form

{Form10()

{();

}void поставщикиBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{.Validate();.поставщикиBindingSource.EndEdit();.поставщикиTableAdapter.Update(this.dataSet1.Поставщики);

}void Form10_Load(object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'dataSet1.Поставщики' table. You can move, or remove it, as needed..поставщикиTableAdapter.Fill(this.dataSet1.Поставщики);

}

Похожие работы на - Автоматизация учета продаж программных продуктов 1С

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!