Разработка информационной подсистемы "InventoryManagement", для управления запасами ООО "Регата–Ставрополь"

 

ВВЕДЕНИЕ


Актуальность разработки автоматизированной информационной подсистемы управление запасами для ООО «Регата-Ставрополь», обусловлена тем, что учет запасов не автоматизирован и организован в виде базы данных на бумажных носителях.

Целью данного проекта является разработка информационной подсистемы «InventoryManagement», для управления запасами ООО «Регата - Ставрополь».

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

В первом разделе пояснительной записки проводится результаты предпроектного обследования ООО «Регата-Ставрополь»:

-исследовать структуру управления фирмой на различных уровнях;

-изучить документооборот фирмы;

-ознакомиться с информационной системой, функционирующей на фирме;

-выявить проблемные ситуации, возникающие при функционировании ИС, предложить методы и средства для их решения.

Во втором разделе пояснительной записки рассмотрены вопросы реализации информационной подсистемы «InventoryManagement». При разработке базы данных этой информационной подсистемы использовался Microsoft SQL Server 2008 Express Edition, а Windows-приложение было реализовано в среде Microsoft Visual Studio 2010.

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

В четвертом разделе дается технико-экономическое обоснование проекта. Рассчитаны показатели экономической эффективности и определен экономический эффект от внедрения информационной подсистемы на склад ООО «Регата - Ставрополь».

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

В библиографическом списке приводятся данные о 20 литературных источниках информации.

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

1 РЕЗУЛЬТАТЫ ПРЕДПРОЕКТНОГО ОБСЛЕДОВАНИЯ ООО «РЕГАТА - СТАВРОПОЛЬ». ФОРМУЛИРОВКА ЗАДАЧ ПРОЕКТИРОВАНИЯ


1.1Результаты предпроектного обследования ООО «Регата - Ставрополь»


1.1.1Объекты и методы проведения предпроектного обследования

Основными объектами обследования дипломного проекта являются:

-ООО «Регата - Ставрополь»;

-цели функционирования ООО «Регата - Ставрополь»;

-функциональная структура, состав хозяйственных процессов и процедур;

-документооборот ООО «Регата - Ставрополь», связанный с учетом запасов продукции;

-совокупность организационных, технических, программных и информационных средств, объединенных в единую систему с целью сбора, хранения, обработки и выдачи необходимой информации, предназначенной для учета запасов в ООО «Регата - Ставрополь».

Обследование предприятия производится путем опроса сотрудников ООО «Регата - Ставрополь».


1.1.2Программа проведения обследования

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

Таблица 1.1 - Программа обследования ООО «Регата - Ставрополь»

Наименование вопросаИсточник информацииПолучатель информацииОбщие сведения об организацииДиректорПроектировщик: Красноперов А. А.Организационная структураАналогичноАналогичноФункциональные области деятельности АналогичноАналогичноЦели функционирования АналогичноАналогичноДокументооборот Гл. бухгалтер и бухгалтерАналогичноФормы документов, используемых в документооборотеАналогичноАналогичноПорядок создания и хранения документов АналогичноАналогичноШтатный состав АналогичноАналогичноНаличие средств вычислительной техники и программного обеспечения АналогичноАналогичноХарактеристики существующей информационной системы АналогичноАналогичноТехнологии, методы и технические средства преобразования информации АналогичноАналогичноПроблемные ситуации, связанные с работой существующей информационной системыАналогичноАналогично

План-график выполнения работ на стадии сбора материалов обследования представлен в таблице 1.2.


Таблица 1.2 - План-график выполнения работ на стадии сбора материалов обследования

Наименование вопросаКод работыИсполнительДата началаКол-во днейДата окончания123456Общие сведения 001Проектиров-щик: Красноперов А. А.10.01.11 414.01.11Организационная структура 002Аналогично14.01.113 17.01.11Функциональные области деятельности 003Аналогично17.01.11 421.01.11Цели функционирования 004Аналогично21.01.11324.01.11Документооборот 005Аналогично24.01.11731.01.11Формы документов, используемых в документообороте006Аналогично31.01.11404.02.11Порядок создания и хранения документов007Аналогично04.02.111014.02.11Штатный состав 008Аналогично14.02.11216.02.11Наличие средств вычислительной техники и программного обеспечения 009Аналогично16.02.11521.02.11Характеристики существующей информационной системы010Аналогично21.02.11324.02.11Технологии, методы и технические средства преобразования информации011Аналогично24.02.11603.03.11Проблемные ситуации, связанные с работой существующей информационной системы012Аналогично03.03.11406.03.11Всего затрачено дней55

1.1.3Результаты предпроектного обследования и их анализ


Общая характеристика предприятия. Группа компаний «Регата» основана в 1985 году. За 24 года работы «Регата» переросла в группу компаний и заняла прочные позиции экспортера, импортера, дистрибьютора, оптовика и розничного оператора рынка.

Общество с ограниченной ответственностью «Регата - Ставрополь» является филиалом ООО «Регата». Образовано 2 апреля 2007 г. и располагается по адресу: г. Ставрополь, Старомарьевское шоссе, 31.

Компания «Регата» поставляет продукцию более чем в 25 регионов России. Собственные представительства открыты в Москве, Самаре, Ставрополе, Волгограде, Саратове, Ростове, Екатеринбурге, Сургуте, Челябинске, Тюмени. В 2007 году «Регата» сделала первые шаги в экспортном направлении. Как дистрибьютор «Регата» входит в десятку крупнейших компаний России, как производитель - в число 50 крупнейших в стране. По данным компании, на ее долю приходится не менее трети оборота алкогольной продукции в Ростове-на-Дону и Ростовской области.

Как крупное бюджетообразующее предприятие города и области «Регата» исправно платит налоги. Группа Компаний «Регата» активно участвует в спонсировании и благотворительных мероприятиях Ставрополя и Ставропольского края, в том числе в мероприятиях по благоустройству города и его районов. Участвует в оказании адресной благотворительной помощи детским образовательным учреждениям, общественным организациям, в том числе ветеранов ВОВ. Поддерживает социальные, культурные и спортивные проекты.

Зона ответственности ООО «Регата - Ставрополь»: Ставропольский край и республики Северного Кавказа. Прямая дистрибуция из Ставрополя: Ставрополь и близлежащие регионы, Невинномысск, Изобильный, Михайловск.

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

Рисунок 1.1 - Схема организационной структуры ООО «Регата - Ставрополь»


ООО «Регата - Ставрополь» возглавляет директор. Директор руководит текущей деятельностью Учреждения и решает все вопросы его жизнеобеспечения, внутреннего распорядка и прочие.

В соответствии с должностными обязанностями, директор:

?осуществляет оперативное руководство работой, несет ответственность за деятельность организации;

?принимает меры поощрения работников и налагает на них взыскания в соответствии с правилами внутреннего распорядка;

?принимает решения по оперативным вопросам внутренней деятельности организации;

?обеспечивает выполнение образовательных и оздоровительных программ;

?открывает счета в финансово-кредитных учреждениях;

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

?разрабатывает и утверждает правила внутреннего трудового распорядка;

?выдает доверенности;

?решает другие вопросы.

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

В обязанности главного бухгалтера организации входят:

?организация бухгалтерского учета;

?работа с контролирующими органами (налоговая инспекция, пенсионный фонд, департамент экономики, фонд социального страхования);

?анализ финансово-хозяйственной деятельности организации;

?контроль соблюдения режима экономии, контроль сохранности товарно-материальных ценностей организации.

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

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

Начальник отдела выписки документов организует и контролирует документооборот организации.

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

Таким образом, структура управления ООО «Регата - Ставрополь» является линейно-функциональной.

Функциональная структура предприятия. Первоочередной задачей при проведении предпроектного обследования является проведение анализа структуры управления ООО «Регата - Ставрополь» и, прежде всего его функциональной структуры.

Конкретная функциональная структура управления определяется в зависимости от сочетания двух основных типов руководства - линейного (генеральный директор, совет директоров) и функционального (специализация руководителей по отдельным функциям управления) [5].

При анализе процесса функционирования объекта ввиду его сложности производят, обычно, разбиение системы на части. Такое разбиение называется декомпозицией. Разбивать систему на части можно до тех пор, пока выделенный элемент не перестает выполнять в системе каких-либо функций [6].

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

Лучше всего делить систему на подсистемы по функциональному признаку, то есть на основе выполняемых системой функций, а также существующей линейной структуры управления. Функциональная иерархия предполагает специализацию по отдельным функциям управления на всех уровнях этой иерархии [7].

В составе предприятия целесообразно выделить три области управления:

-производственную (торговую);

-обеспечивающую;

-управленческую.

Функциональные задачи и подзадачи предприятия представлены в виде таблицы (таблица 1.3).

Организационно-управленческая модель предприятия (таблица 1.4), представлена в виде таблицы-матрицы, в которой имеются следующие обозначения:

+ - основной исполнитель

х - основной ответственный за исполнение

/ - частичная ответственность


Таблица 1.3 - Функциональные задачи и подзадачи предприятия

Номер и название функциональной задачиНомер и содержание функциональной подзадачи1. Производственная (торговая) 1.1 Получение заказов от клиентов и оформление договоров на их выполнение 1.2 Реализация товаров 1.3 Реклама производимой продукции 1.4 Закупка оптовой продукции2. Управленческая2.1 Управление кадрами 2.2 Планирование финансово-экономической деятельности организации 2.3 Анализ информации о деятельности предприятия3. Обеспечивающая3.1 Закупка оборудования 3.2 Ремонт и техническое обслуживание оборудования 3.3 Правовое обеспечение

Таблица 1.4 - Организационно-управленческая модель предприятия

Ответственные ЛицаНомер и наименование задачи1.Производст- венная2. Управленче-ская3.Обеспечивающая1.11.21.31.42.12.22.33.13.23.31234567891011Директор+ ×++ ×Начальник ОП++//Главный бухгалтер/×//+Начальник ОВД//Трейдмаркетолог+//+/Супервайзер продавцов консультантов//Супервайзер отдела продаж×Менчейдайзеры×/Торговые представители+/Продавец-консультант+ ×////Старший оператор+×Экономист×/Бухгалтер//

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

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

Эффективным инструментом установления целей системы управления является метод «дерева целей», которое состоит из глобальной цели, целей и подцелей. При построении «дерева целей» его проектирование идет по методу «от общего к частному». Прекращение декомпозиции цели на более мелкие прекращается в тот момент, когда дальнейший процесс является нецелесообразным в рамках рассмотрения Главной цели [8].

Главной целью (Ц0) деятельности является получение максимальной прибыли.

Развернутое представление целей деятельности организации, средства и критериев их достижения представлены в таблице 1.5.


Таблица 1.5 - Цели предприятия и критерии их достижения

ПодцельНаименование подцелиСредства достиженияКритерии достиженияЦ1Привлечение новых клиентов Ц11 - совершенствование клиентской базы; Ц12 - увеличение объемов рассылки рекламных буклетов по почте; Ц13 - проведение рекламных акций.Увеличение объема реализуемой продукции на 30%, за счет расширения клиентской базыЦ2Повышение качества производимых товаров и услугЦ21 - выявление потребителей и определение их требования к продукции; Ц22 - преобразование требований потребителя в технические условия; Ц23 - определение этапов технологического процесса изготовления продукции, вырабатывание критериев процесса; Ц24 - оценивание результатов и степени удовлетворенности потребителя.Улучшение качества производимых товаров и услуг на 25%, за счет определения потребностей покупателейЦ3Увеличение продаваемых товаров и услуг Ц31 - увеличение объема рекламы; Ц32 - подбор квалифицированного персонала; Ц33 - снижение текучести кадров.Увеличение реализуемых товаров и услуг на 10%, за счет оптимизации процесса работы организации

Схема дерева целей деятельности организации представлена ниже на рисунке 1.2.

Рисунок 1.2 - Дерево целей деятельности организации


Документооборот предприятия. Документооборот - движение документов с момента их получения или создания до завершения исполнения или отправки.

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

Входящие документы - документы, которые поступили на предприятие от внешних партнеров [9].

Большинство исходящих документов являются ответом организации на соответствующие входящие документы. Некоторая часть исходящих документов готовится на основе внутренних документов предприятия [9].

Внутренние документы используются для организации работы предприятия.

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

Перечень наиболее распространенных документов в ООО «Регата-Ставрополь» представлен в таблице 1.6


Таблица 1.6 - Документы ООО «Регата - Ставрополь»

Код доку-ментаНазваниеКем готовитсяКем используетсяКоличе-ство, в годПериодичность1Платежное поручениеБухгалтерБанк1 1 раз в месяц2Договор купли-продажиБухгалтерМенеджеры по продажам Гл. бухгалтерлюбоеПо требованию3Счет-фактураБухгалтер Бухгалтер Гл. бухгалтерлюбоеПо требованию4 Доверенность Генеральный директорГл. бухгалтер, менеджер по продажамлюбоеПо требованию5Книга складского учета материаловБухгалтерГлавный бухгалтер 1По мере необходимости

Для наиболее наглядного представления движения документов ниже приведена схема документооборота (рисунок 1.2).


Таблица 1.7 - Схема документооборота

Наименование документаДиректорГл. бухгалтерМенеджер по продажамОтдел кадровБанкБухгалтер 1234567Договор купли-продажи Платежное поручениеСчет-фактура Доверенность Книга складского учета материалов

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

Наличие средств вычислительной техники и программного обеспечения. В ООО «Регата-Ставрополь» имеются следующие средства вычислительной техники и программного обеспечения реализованных в виде персональных компьютеров, имеющих характеристики:

а)системный блок:

1)процессор Celeron с тактовой частотой 3000 МГц;

)оперативная память - 2 Гбайт;

)жесткий диск -500 Гбайт;

)устройство для чтения компакт-дисков LG.

б)монитор Samsung SyncMaster 795 MB 19?.

в)видеоадаптер ATI X2600XT 512 Mb.

г)встроенная звуковая карта.

д)ECP порт принтера (LPT1).

е)prolific USB-to-Serial Comm Port.

ж) 2 последовательных порта.

з) принтер HP Photosmart Pro B9180 Printer A4, 4800pdi, USB.

Через модем компьютер подключен к высокоскоростной локальной сети.

В ООО «Регата - Ставрополь» используются, как системное, так и прикладное программное обеспечение, которое представляет собой комплекс разнообразных программных средств общего и прикладного характера, необходимый для выполнения различных задач:

?общее программное обеспечение (операционные системы, сервисные средства и утилиты, инструментальные средства разработки, тесты и техническое обслуживание);

?прикладное программное обеспечение (офисные программы, коммуникационные программы, предметно-ориентированные программы).

Среди офисных программ, а также сервисных средств и утилит, используемых в фирме можно выделить:

1.Microsoft Office Enterprise 2003 Russian(Microsoft Office Word 2003, Microsoft Office Excel 2003, Microsoft Office PowerPoint 2003, Microsoft Office Access 2003, Microsoft Office Outlook 2003).

2.Internet Explorer Русская версия. Обычный классический браузер имеющийся в пакете Microsoft Windows XP.

3.Архиватор WinRAR v3.62.

.Антивирусное средство ESET NOD32 Antivirus 2.7.3.20

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

1.Программа «Консультант плюс».

2.Программа «1С:Бухгалтерия».


1.1.4 Анализ проблемных ситуаций и обоснование путей их решения

Изучив особенности структуры и организации работы информационной системы предприятия ООО «Регата-Ставрополь» можно сделать выводы о необходимости улучшения ее работы.

Проблемные ситуации и способы их преодоления представлены в таблице 1.7.


Таблица 1.7 - Проблемные ситуации

Проблемные ситуацииСпособы их преодоленияМоральное устаревание оборудованияЗамена морально устаревшего оборудования более современным. Ремонт существующего оборудованияУгроза срыва договоров из-за несвоевременной доставки товара производителемПриобретение собственных транспортных средств, подходящих для подобных перевозок.Не автоматизирован учет товара на складеАвтоматизация учета товара. Разработка БДНедостаточный уровень квалификации части персоналаРегулярная переаттестация работников.Проблема снижения трудозатрат отдела компьютерного обеспечения на оформление и ведение документацииРазработка информационной подсистемы для отдела компьютерного обеспечения. Комплексная проверка программных продуктов перед эксплуатациейВсе пользователи сети имеют равные права, что не всегда удобно и оправданоОрганизовать разделенный доступ к ресурсам сети на уровне пользователяОбеспечение безопасности информационных потоковПоддержание целостности корпоративной сети передачи данных. Обеспечение только санкционированного доступа по средствам построения ИС с хост - терминальной технологией. Использование защищенных каналов

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


1.2Формулировка задач проектирования


1.2.1 Общие сведения

В рамках дипломного проектирования планируется разработка информационной подсистемы, включающей базу данных для автоматизации управления запасами, для ООО «Регата - Ставрополь».

Проведение данного вида работ осуществляется на основании заказа на выполнение дипломного проекта. Согласно данному заказу ООО «Регата - Ставрополь» поручает Северо-Кавказскому государственному техническому университету создание программно-технической продукции.

Заказчик поручает, а исполнитель принимает на себя работу по созданию информационной подсистемы для ООО «Регата - Ставрополь».


1.2.2 Назначение, цели создания информационной подсистемы

Основной целью разработки информационной подсистемы выступает повышение эффективности работы ООО «Регата - Ставрополь».

Основное назначение создаваемой информационной подсистемы - автоматизация управления запасами ООО «Регата - Ставрополь». Вводимые данные проверяются согласно методикам, установленными соответствующими документами.

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

?время на доступ к требуемой информации уменьшается до минимума;

? снижается вероятность потери или утраты информации;

? время обработки поступающей информации о запасах уменьшается в 2-3 раза.


1.2.3 Характеристика объекта автоматизации

Объектом автоматизации является каждое рабочее место на предприятии, на котором осуществляется одна или несколько следующих задач:

?ввод данных о товаре на складе;

?уточнение данных о товаре;

?анализ данных о товаре;

?составление первичных документов на отпускаемую продукцию;

?ведение складского учета;

? получение статистической информации.


1.2.4 Требования к подсистеме

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

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

Кроме требований к подсистеме в целом, выделяются также требования к задачам, выполняемым системой. Основной задачей, решаемой информационной подсистемой, является максимальное ускорение доступа к информации по ключевым словам. Для эффективного функционирования подсистемы данная задача должна решаться в сжатые сроки, то есть алгоритм ее решения должен быть организован таким образом, чтобы обеспечить требуемое время выполнения - меньше минуты.

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

?просмотр информации в базе данных о запасах;

?редактирование информации в базе данных о запасах;

?ввод информации в базу данных о новых запасах;

?ввод информации о контрагентах;

?ввод информации о сотрудниках;

?формирование первичных документов на отпускаемую продукцию;

?формирование и вывод на печать отчетов;

?ведение складского учета;

?проверка вводимой информации.

1.2.5 Состав и содержание работ по созданию подсистемы

Работы по созданию подсистемы выполняются на основе утвержденного «Технического задания». Разрабатываются основные положения проектируемой системы, принципы ее функционирования и взаимодействия с другими системами, определяется структура системы, разрабатываются проектные решения по обеспечивающим частям системы.

На стадии технического проектирования выполняются следующие работы:

?разработка основных положений по новой системе;

?разработка функциональной структуры и перечня задач;

?разработка постановки решения задач для подсистемы;

?уточнение состава периферийной техники;

?уточнение состава аппаратной платформы проекта;

?разработка плана мероприятий по подготовке к внедрению системы;

?окончательное оформление проекта.

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

?разработка программного обеспечения для каждой задачи подсистемы;

?разработка технологических документов и инструкций;

?разработка правовых инструкций;

?оформление рабочего проекта.

Наиболее ответственной работой, выполняемой на этом этапе, являются «Кодирование и составление программной документации», в состав которой входят следующие компоненты:

?описание программ;

?спецификация программ;

?тексты программ;

?контрольные примеры;

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

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

Технологическая документация разрабатывается в соответствии с требованиями ГОСТ 3.11.09 - 82 «Система технологической документации. Термины и определения основных понятий», и составляет содержание технологического обеспечения информационной системы.

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

Рисунок 1.3 - Диаграмма вариантов использования информационной подсистемы «InventoryManagement»


1.2.6 Порядок контроля приемки подсистемы

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

Контроль приемки системы осуществляет комиссия, назначаемая директором ООО «Регата - Ставрополь».

Заказчик в течение 10 дней со дня получения Акта сдачи-приемки и отчетных документов обязан направить исполнителю подписанный Акт сдачи-приемки программно-технической продукции или мотивированный отказ от приемки работ. В случае отказа сторонами составляется двусторонний акт с перечнем необходимых доработок и сроков их выполнения.

Как исполнитель, так и заказчик имеют право на использование созданной программно-технической продукции. Авторское право при этом принадлежит исполнителю.

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


1.2.7 Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу подсистемы в действие

Для ввода подсистемы в действие следует произвести следующие работы:

а)установить следующее программное обеспечение:

1)Microsoft SQL Server 2008 R2 или выше;

2)NET Framework 4.0.

б)произвести обучение системного администратора.

в)произвести обучение пользователей работе с разработанной подсистемой.


1.2.8 Требование к документированию

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

На этапе технического проектирования разрабатываются следующие виды документации:

1.Документ «Основные положения по системе».

2.Документ «Постановка задачи», который включает три составные части:

а)характеристику задачи;

б)описание выходной информации;

в)описание входной информации.

На этапе рабочего проектирования разрабатывается:

? технологическая документация, включающая технологические и инструкционные карты;

? программная документация, включающая описание, спецификации, тексты программ, контрольные примеры, инструкции для программиста, оператора и пользователя;

? правовые инструкции;

? документ «Рабочий проект», в который входят перечисленные на этом этапе документы.

На этапе подготовки объекта к внедрению формируется «Программа проведения опытного внедрения» и издается «Приказ о начале опытного внедрения».

На этапе «Сдача проекта в промышленную эксплуатацию» используют следующую совокупность документов:

а)договорная документация.

б)«Приказ на разработку информационной системы».

в)технико-экономическое обоснование и техническое задание.

г)«Приказ о начале промышленного внедрения».

д)«Программа проведения испытаний».

е)«Требования к научно-техническому уровню проекта системы».

В результате выполнения работ на данном этапе составляется «Акт сдачи проекта в промышленную эксплуатацию».


1.2.9 Источники разработки

При планировании разработки информационной подсистемы для обоснования актуальности работы были изучена деятельность ООО «Регата - Ставрополь», связанной с работой с запасами, внутренняя и внешняя документация.

Информационные материалы на отечественные и зарубежные системы-аналоги не использовались.

При проектировании базы данных, написании исходного кода информационной подсистемы использовалась специальная литература, в частности, по Microsoft SQL 2008 и Visual C#.

Кроме этого, в процессе проектирования применялись различные ГОСТы, например, ГОСТ 3.11.09 - 82 «Система технологической документации. Термины и определения основных понятий».


Выводы


1.Компания ООО «Регата - Ставрополь» занимает одно из ведущих мест в макроэкономике Ставропольского края, в сфере экспортера, импортера, дистрибьютора, оптовика и розничного оператора рынка.

2.Основной причиной создания информационной подсистемы являются большие материальные и временные затраты учета запасов на складе. Актуальность разработки автоматизированной информационной подсистемы управление запасами для ООО «Регата-Ставрополь», обусловлена тем, что учет запасов не автоматизирован и организован в виде базы данных на бумажных носителях.

.Для создания информационной подсистемы необходимо решить следующие задачи:

?реализовать структуру логической и физической модели базы данных;

?произвести разработку информационной подсистемы;

?произвести тестирование и внедрение подсистемы;

?оценить технико-экономические показатели.

2 Реализация Информационной подсистемы «INVENTORYMANAGEMENT»


.1 Обоснование выбора среды разработки приложения


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

Приложение разрабатывалось на языке С#. C# - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft, <#"justify">В качестве СУБД для базы данных выбран - SQL Server 2008 R2 Express Edition. Это мощная и надежная система управления данными, предоставляющая широкий набор функций для обеспечения защиты данных и повышения производительности для внедренных приложений, упрощенных веб-сайтов, веб-приложений и локальных хранилищ данных. Эта версия предназначена для простого развертывания и быстрого создания прототипов. Она включает поддержку Sysprep - программы подготовки систем Майкрософт для развертывания в операционной системе Microsoft Windows. Для повышения эффективности администрирования в SQL Server были включены библиотеки Declarative Management Framework, позволяющие распределять полномочия для баз данных или отдельных таблиц. Были улучшены методы компрессии данных. SQL Server Katmai поддерживает набор библиотек ADO.NET Entity Framework и средства оповещения, репликации и определения данных [13].

SQL Server 2008 имеет упрощенное администрирование - автоматическая настройка базы данных для обеспечения оптимальной производительности.


2.2 Создание логической и физической модели базы данных информационной подсистемы «InventoryManagement»


2.2.1 Определение сущностей модели базы данных информационной подсистемы

Сущность - это реальный или виртуальный объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению [3].

На основании проведенного исследования предметной области, были выявлены сущности и их атрибуты.

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


Таблица 2.1 - Перечень сущностей

Наименование сущностиОписаниеTovarСодержит информацию о товареPostyplenieСодержит информацию о поступлениях товараOtgryzkaСодержит информацию об отгруженном товареSotrydnikiСодержит информацию о сотрудниках организацииKontragentСодержит информацию о контрагентахUsersСодержит информацию о пользователях системы


2.2.2 Определение атрибутов сущностей базы данных информационной подсистемы

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

Рассмотренные выше сущности имеют следующие атрибуты, указанные в таблице 2.2


Таблица 2.2 - Перечень атрибутов

Наименование сущностиНаименование атрибутаПрименениеТип данных1234TovarId_tovarСодержит уникальный номер товараintNameСодержит наименование товараnvarchar(50)Tcena_pokupkiСодержит цену покупки товараfloatTcena_prodajiСодержит цену реализации товараfloatKolichestvoСодержит количество товаровnvarchar(50)PostyplenieId_PostyplenieСодержит уникальный номер поступления товараintNomer_nakladnoyСодержит номер приходной накладнойintId_tovarСодержит код товараintId_kontragentСодержит код контрагентаintId_sotrydnikСодержит код сотрудникаintKolichestvo_tovaraСодержит количество товараintDate_timeСодержит дату и время поступления товараdatetimeOtgryzkaId_otgryzkaСодержит уникальный номер отгрузки товараintNomer_nakladnoyСодержит номер приходной накладнойintId_tovarСодержит код товараintId_kontragentСодержит код контрагентаintId_sotrydnikСодержит код сотрудникаintKolichestvo_tovaraСодержит количество товараintDate_timeСодержит дату и время поступления товараdatetimeSotrudnikiId_sotrydnikСодержит уникальный номер сотрудникаintFIOСодержит ФИО сотрудникаnvarchar(100)Nomer_pasportaСодержит номер и серию паспортаnvarchar(50)DoljnostСодержит должность сотрудникаnvarchar(50)VozrastСодержит возраст сотрудникаintTelefonСодержит номер телефонаnvarchar(50)KontragentId_kontragentСодержит уникальный номер контрагентаintNameСодержит наименование организацииintINNСодержит ИНН контрагентаnvarchar(50)KPPСодержит КПП контрагентаnvarchar(50)BIKСодержит БИК контрагентаnvarchar(50)MailСодержит электронный адрес контрагентаnvarchar(50)AddressСодержит адрес конртагентаnvarchar(50)UsersloginСодержит логин пользователяintpasswordСодержит пароль пользователяint

2.2.3 Определение связей между сущностями базы данных информационной подсистемы «InventoryManagement»

Анализ данных таблицы 2.2 позволяет сделать вывод о том, что в логической модели базы данных «InventoryManagement» имеются независимые и зависимые сущности. Признаком того, что сущность является зависимой, служит наличие среди ее атрибутов внешних ключей (у независимой сущности внешние, то есть наследуемые ключи отсутствуют). Более подробные сведенья о взаимосвязи зависимых (дочерних) и независимых (родительских) сущностях приведены в таблице 2.3.


Таблица 2.3 - Данные о взаимосвязи сущностей БД информационной подсистемы «InventoryManagement»

Номер связиРодительская таблицаДочерняя таблицаТип связи1TovarPostyplenie1:М2TovarOtgryzka1:М3SotrudnikiPostyplenie1:М4SotrudnikiOtgryzka1:М5KontragentPostyplenie1:М6KontragentOtgryzka1:М

Из анализа таблицы 2.3 можно сделать следующие выводы:

1.Количество родительских сущностей - три (Tovar, Sotrudniki, Kontragent).

2.Количество дочерних сущностей - две (Postyplenie и Otgryzka)

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

.Кратность связей в рассмотренных случаях составляет 1:N (один-ко-многим).

Для создания логической модели используем CASE-средство ERwin версии 4.0. Пользуясь данными таблицы 2.3, установим связи между сущностями логической модели базы данных информационной подсистемы «InventoryManagement» в ERwin. В результате логическая модель базы данных информационной подсистемы «InventoryManagement» в ERwin примет вид, представленный на рисунке 2.1.

Рисунок 2.1 - Логическая модель базы данных информационной подсистемы «InventoryManagement»


2.2.4 Создание физической модели базы данных информационной подсистемы «InventoryManagement»

Для создания физической модели используем CASE-средство ERwin версии 4.0. После того как будут выполнены все необходимые действия, физическая модель приобретет вид, показанный на рисунке 2.2.

Рисунок 2.2 - Физическая модель базы данных информационной подсистемы «InventoryManagement»


2.3 Создание проекта и решений Microsoft Visual Studio для реализации информационной подсистемы «InventoryManagement»


Для создания проекта необходимо запустить Microsoft Visual Studio 2010 стандартным способом. Используя набор команд: «Пуск ? Все программы ? Microsoft Visual Studio 2010». Затем создадим проект: «Файл ? Создать ? Проект ? Приложение WindowsFormsApplication». Эти действия представлены на рисунке 2.3.

Рисунок 2.3 - Процесс создания проекта


Затем необходимо ввести имя проекта «InventoryManagent», указать месторасположения проекта. Далее на экране появится окно конструктора Form1. Сохраним его под именем MainWindow (рисунок 2.3).


Рисунок 2.4 - Внешний вид среды Visual Studio после создания проекта

2.4 Реализация приложения


.4.1 Разработка интерфейса главной формы MainWindow

Поместим на форму MainWindow компонент MenuStrip и сохраним его под именем menuStrip1. Заполняем пункты меню, в соответствии с функциями программы. Вид меню главной формы представлен на рисунках 2.5, 2.6, 2.7.


Рисунок 2.4 - Вид меню главной формы


Рисунок 2.6 - Вид меню главной формы

Рисунок 2.7 - Вид меню главной формы


Для осуществления перехода между формами проекта, в окне кода решения напишем следующий программный код:

private void поступлениеТовараToolStripMenuItem_Click(object sender, EventArgs e)

{

ReturnsGoods dialog = new ReturnsGoods();

dialog.ShowDialog(this);

}

Этот код позволяет из главной формы по нажатию меню «Поступление товара» перейти к форме ReturnsGoods, на которой происходит заполнение формы получения товара.

Переход в других пунктах меню происходит аналогично. Обработчики имеют подобный код.


2.4.2 Реализация формы ReturnsGoods

Для создания новой формы необходимо нажать «Проект», затем «Добавить новый элемент», после чего откроется окно (рисунок 2.8). Из установленных шаблонов выбираем Windows Forms, а из списка элементов форму Windows Forms. Сохраним форму под именем ReturnsGoods.

Рисунок 2.8 - Создание формы ReturnsGoodds


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

?dataGridView1 - таблица, в которой отображается информация о товаре имеющемся на складе;

?textBox - поля для ввода текста, используется для введения номера накладной;

?два элемента comboBox - используются для выбора сотрудника и контрагента;

?два элемента button - кнопки для перехода на другие формы;

?dateTimePicker1 - используется для вывода даты;

?семь элементов label - используются для оформления формы.

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

Рисунок 2.9 - Вид формы ReturnsGoods


Для добавления поступившего товара необходимо нажать кнопку «Сохранить». Для выполнения этой функции добавим следующий код:

private void button4_Click(object sender, EventArgs e)

{

// сохранение приходной накладной

AdapterDataContext db = new AdapterDataContext();

List<GoodStruct> glist = new List<GoodStruct>();

int NOT_DEFINED = -1;

int _nakladNumber= NOT_DEFINED, kontrId = NOT_DEFINED, sotrydId=NOT_DEFINED;

DateTime dt=DateTime.Now;

string kontrName="";

string sotrudName = "";

try

{

_nakladNumber = Int32.Parse(nakladNumber.Text);

// проверка номера накладной

var Choose = from pps in db.postyplenie where pps.nomer_nakladnoi == _nakladNumber select pps;

try

{pps_id = Convert.ToInt32(Choose.First().nomer_nakladnoi);.Show("Произошла ошибка. Номер накладной не уникален.", "Приходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

catch (Exception ex)

{

//-----

}

DataRowView srow = (DataRowView)kontrComboBox.SelectedItem;

kontrId = (int)srow.Row["id_kontragent"];

kontrName = (string)srow.Row["name"];

dt = dateTimePicker1.Value;sotrRow = (DataRowView)comboBox3.SelectedItem;

sotrydId = (int)sotrRow.Row["id_sotrydnik"];

sotrudName = (string)sotrRow["FIO"];

}

catch

{.Show("Произошла ошибка.

Вы ввели неверные данные.", "Приходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

int ID_IDX = 0, QUANT_IDX = 2;


foreach (DataGridViewRow row in dataGridView1.Rows)

{

int row_id = (int)row.Cells[ID_IDX].Value;

string quantityString = (string)row.Cells[QUANT_IDX].Value;

int quantity;

try

{

quantity = Int32.Parse(quantityString);

}

catch

{

quantity = 0;

}

if (quantity > 0)

{

// меняем поле количество для каждого товара

var Choose = from st in db.tovar where .id_tovar == row_id select st;q = Convert.ToInt32(Choose.First().kolichestvo);cost = .ToDouble

(Choose.First().tcena_pokupki);realcost = Convert.ToDouble(Choose.First().tcena_prodaji);name = .ToString(Choose.First().name);good = new GoodStruct(name, quantity, cost, realcost);

glist.Add(good);

Choose.First().kolichestvo = q + quantity;

db.SubmitChanges();

// -------------------------------------------

postyplenie post = new postyplenie

{

data_time = dt,

id_kontragent = kontrId,

id_sotrydnik = sotrydId,

id_tovar = row_id,

nomer_nakladnoi = _nakladNumber,

kolichestvo_tovara = quantity

};

db.postyplenie.InsertOnSubmit(post);

db.SubmitChanges();

}


}


При нажатии на кнопку с надписью «Добавить контрагента» (рисунок 2.9) открывается диалоговое окно, представленное на рисунке 2.10.


Рисунок 2.10 - Вид формы добавление контрагента

Для закрытия текущей формы используем метод Close().

При нажатии на кнопку с надписью «Добавить новый товар» (рисунок 2.9) открывается диалоговое окно, представленное на рисунке 2.11.


Рисунок 2.11 - Вид формы Добавление товара


2.4.3 Реализация формы ChargeGoods

Создадим новую экранную форму и сохраним её под именем ChargeGoods.

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

?dataGridView1 - таблица, в которой отображается информация о товаре имеющемся на складе;

?textBox - поля для ввода текста, используется для введения номера накладной;

?два элемента comboBox - используются для выбора сотрудника и контрагента;

?button - кнопка для перехода на другую форму;

?dateTimePicker1 - используется для вывода даты;

?семь элементов label - используются для оформления формы;

?сhekBox - используется, для указания необходимости расходной накладной.

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

После заполнения формы отгрузки товара необходимо нажать кнопку «Сохранить». Для выполнения этой функции добавим следующий код:

private void button4_Click(object sender, EventArgs e)

{

// сохранение расходной накладной

AdapterDataContext db = new AdapterDataContext();

List<GoodStruct> glist = new List<GoodStruct>();

string kontrName = "";

string sotrudName = "";

int NOT_DEFINED = -1;

int _nakladNumber = NOT_DEFINED, kontrId = NOT_DEFINED, sotrydId = NOT_DEFINED;

DateTime dt = DateTime.Now;

try

{

_nakladNumber = Int32.Parse(nakladNumber.Text);

// проверка номера накладной

var Choose = from pps in db.otgryzka where pps.nomer_nakladnoi == _nakladNumber select pps;

try

{pps_id = Convert.ToInt32(Choose.First().nomer_nakladnoi);.Show("Произошла ошибка. Номер накладной не уникален.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

catch (Exception ex)

{

//-----

}

DataRowView srow = (DataRowView)kontrComboBox.SelectedItem;= (int)srow.Row["id_kontragent"];= (string)srow.Row["name"];

dt = dateTimePicker1.Value;

DataRowView sotrRow = (DataRowView)comboBox3.SelectedItem;

sotrydId = (int)sotrRow.Row["id_sotrydnik"];

sotrudName = (string)sotrRow["FIO"];

}

catch

{.Show("Произошла ошибка. Вы ввели неверные данные.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

int ID_IDX = 0, QUANT_IDX = 2;

foreach (DataGridViewRow row in dataGridView1.Rows)

{

int row_id = (int)row.Cells[ID_IDX].Value;

string quantityString = (string)row.Cells[QUANT_IDX].Value;

int quantity;

try

{

quantity = Int32.Parse(quantityString);

}

catch

{

quantity = 0;

}

if (quantity > 0)

{

// меняем поле количечество для каждого товара

var Choose = from st in db.tovar where st.id_tovar == row_id select st;

int q = Convert.ToInt32(Choose.First().kolichestvo);cost = Convert.ToDouble(Choose.First().tcena_pokupki);name = Convert.ToString(Choose.First().name);good = new GoodStruct(name, quantity, cost, realcost);

glist.Add(good);

Choose.First().kolichestvo = q - quantity;

db.SubmitChanges();

// -------------------------------------------

otgryzka post = new otgryzka

{

data_time = dt,

id_kontragent = kontrId,

id_tovar = row_id,

nomer_nakladnoi = _nakladNumber,

kolichestvo_tovara = quantity

};

db.otgryzka.InsertOnSubmit(post);

db.SubmitChanges();

}

}


if (isExcelReportNeed.Checked)

{

int var = Convert.ToInt32(nakladNumber.Text);

var f = new rasxod_naklad(var);

f.Show();

}.Show("Накладная успешно сохранена", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Information);

}


Рисунок 2.12 - Вид формы ChargeGoods


Для создания расходной накладной необходимо добавить следующий код:

if (isExcelReportNeed.Checked)

{

int var = Convert.ToInt32(nakladNumber.Text);

var f = new rasxod_naklad(var);

f.Show();

}

Расходная накладная выводиться в виде отчета (рисунок 2.13).

Рисунок 2.13 - Расходная накладная


При нажатии на кнопку с надписью «Добавить контрагента» (рисунок 2.12) открывается диалоговое окно, представленное на рисунке 2.14.


Рисунок 2.14 - Вид формы добавление контрагента


2.4.4 Разработка интерфейса формы StaffControlForm

Для создания новой формы необходимо нажать «Проект», затем «Добавить новый элемент». Из установленных шаблонов выбираем Windows Forms, а из списка элементов форму Windows Forms. Сохраним форму под именем StaffControlForm. Для разработки данной формы были использованы следующие элементы управления данными:

?DataGridView - используется для отображения таблицы с данными;

?textBox - поля для ввода текста, используется для поиска сотрудников;

?три элемента label - используются для оформления формы.

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


Рисунок 2.15 - Вид формы StaffControlForm


2.4.5 Разработка интерфейса формы Goods

Для создания новой формы необходимо нажать «Проект», затем «Добавить новый элемент». Из установленных шаблонов выбираем Windows Forms, а из списка элементов форму Windows Forms. Сохраним форму под именем Goods. Для разработки данной формы были использованы следующие элементы управления данными:

?DataGridView - используется для отображения таблицы с данными;

?textBox - поля для ввода текста, используется для поиска сотрудников;

?три элемента label - используются для оформления формы.

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


Рисунок 2.16 - Вид формы Goods


2.4.6 Разработка интерфейса отчета Report_otgryzka

Для создания нового отчета необходимо, выполнить следующий набор команд «Проект ? Добавить новый элемент ? Отчет».

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

?TextBox - текстовое поле для записи шапки отчета;

?Tablix - отображает данные в таблице.

Конструктор отчета представлен на рисунке 2.17.

Рисунок 2.17 - Конструктор отчета Report_otgryzka


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


2.4.7 Разработка интерфейса отчета Ostatki

Для создания нового отчета необходимо, выполнить следующий набор команд «Проект ? Добавить новый элемент ? Отчет».

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

?TextBox - текстовое поле для записи шапки отчета;

?Tablix - отбображает данные в таблице.

Конструктор отчета представлен на рисунке 2.18.

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

Рисунок 2.18 - Конструктор отчета Ostatki


2.4.8 Разработка интерфейса отчета Report_postuplenie

Для создания нового отчета необходимо, выполнить следующий набор команд «Проект ? Добавить новый элемент ? Отчет».

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

?TextBox - текстовое поле для записи шапки отчета;

?Tablix - отображает данные в таблице.

Конструктор отчета представлен на рисунке 2.19.


Рисунок 2.19 - Конструктор отчета Report_postuplenie


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


2.4.9 Размер и содержимое каталога «InventoryManagement»

Размер каталога с разработанной информационной подсистемой составляет 4,36 Мбайт (рисунок 2.20).


Рисунок 2.20 - Свойства каталога «InventoryManagement»


Содержимое каталога «InventoryManagement» представлено на рисунке 2.21.

Рисунок 2.21 - Содержимое каталога «InventoryManagement»


Выводы


1.Использование в качестве среды разработки приложения MS Visual Studio 2010 позволяет достичь высочайшей производительности приложений.

2.Программа прошла тестирование в условиях управления запасами ООО «Регата - Ставрополь». В результате тестирования установлено, что она в полном объеме соответствует техническому заданию на проектирование.

3.Размер каталога, в котором находятся файлы разработанного программного продукта, составляет 4,36 Мбайт.

3 ИНФОРМАЦИОННОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ


.1 Общие сведения о программе


Общие сведения о программе (информационной подсистеме «InventoryManagement») представлены в таблице 3.1.


Таблица 3.1 - Общие сведения о разработанном Windows-приложении

Наименование сведенийСодержание сведенийОбозначение программыInventoryManagementНаименование программыИнформационная подсистема учета запасов ООО «Регата - Ставрополь»Программное обеспечение, необходимое для функционирования программыОперационная система Windows NT4.0/XP/Vista/7Язык программирования (среда разработки), на которой написана программаЯзык программирования - Visual C# Среда разработки - Microsoft Visual studio 2010

3.2 Функциональное назначение программы


Назначение данной программы - автоматизация управления запасами с помощью базы данных в ООО «Регата - Ставрополь». Целью создания программы является сокращение временных затрат на учет материалов и формирование соответствующих отчетов.

Подсистема также выполняет следующие функции:

?формирует отчет о количестве товара, находящегося на складе;

?формирует отчет о товарах, отгруженных со склада;

?формирует отчет о товарах, поступающих на склад;

?формирует отчет о сотрудниках организации;

?формирует отчет о контрагентах, работающих с организацией;

?формирует расходную накладную;

?добавляет, имеющийся в базе данных, поступивший товар на склад;

?добавляет новый товар в базу данных;

?добавляет новых контрагентов;

?добавляет новых сотрудников;

?списывает отгруженный товар со склада;

?выводит данные по остаткам товара на складе;

?выводит данные по поступившим товарам на склад за определенный период;

?выводит данные по отгруженным товарам со склада.


3.3 Описание логической структуры программы


Логическую структуру программы иллюстрирует диаграмма компонентов (рисунок 3.1).


Рисунок 3.1 Диаграмма компонентов информационной подсистемы «InventoryManagement»


Логическая структура взаимодействия классов, реализующих указанных модули программы представлена на рисунке 3.2.

Рисунок 3.2 - Логическая структура взаимодействия классов


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


.4.1 Общие требования

Для нормальной работы информационной подсистемы «InventoryManagement» необходимо наличие на компьютере пользователя операционной системы Microsoft Windows XP или выше. Для установки информационной подсистемы «InventoryManagement» системный блок персонального компьютера должен быть снабжен дисководом для компакт-дисков. Так же к системному блоку должны быть подключены монитор и принтер.


3.4.2 Требования к центральному процессору

Для нормального использования информационной подсистемы «InventoryManagement» достаточно наличия на компьютере пользователя операционной системы Microsoft Windows XP или более поздней версии.

На основании проведенных контрольных прогонов разработанного приложения было установлено, что минимальная тактовая частота процессора для удовлетворительной работы подсистемы «InventoryManagement» составляет 233 МГц. Данная цифра учитывает как затраты процессора на работу самого приложения так и затраты связанные с работой операционной системы.


3.4.3 Требования к оперативному запоминающему устройству

Необходимый размер оперативного запоминающего устройства (ОЗУ) рассчитаем по формуле


, (3.1)

где - минимально необходимый размер ОЗУ, требуемый для работы операционной системы (ОС);

- объем ОЗУ, требуемый самой программой.

Так как предполагается использовать информационную подсистему, работающую под управлением операционной системы Microsoft Windows XP, то для ее нормальной работы требуется 128 Мбайт. Данное требование сформулировано фирмой Microsoft, как минимальное при установке Microsoft Windows XP. Дополнительные программные драйвера устанавливаться не будут. Минимальный объем памяти, необходимый для выполнения функций, разработанной программы не менее 20 Мбайт (определено с помощью диспетчера задач). Подставив значения в формулу (3.1) вычислим минимальный объем оперативной памяти:

Таким образом, воспользовавшись формулой (3.1) получаем

WОЗУ= 128 + 20 = 148 Мбайт.


3.4.4 Требования к наличию сводного места на жестком диске

Кроме типа процессора и размера ОЗУ, важной характеристикой работы компьютера и вместе с ним и разработанной программы, является размер свободного пространства на жестком диске компьютера. Определить минимально необходимое свободное пространство можно, используя формулу следующим соотношением


, (3.2)


где - размер пространства, которое занимает инсталляция информационной подсистемы «InvetoryManagement»

- размер временных файлов, создаваемых при работе с программой.

Размер базы данных составляет 4,36 Мбайт. Объем временных файлов, создаваемых программой в течение одного рабочего дня равен 0,35 Мбайт. На основании формулы (3.2) приходим к выводу, что для корректной работы информационной программы необходимо следующее количество свободной памяти жесткого диска:

= 4,36 + 0,35 = 4,71 Мбайт.

Для персонального компьютера клиента с операционной системой Microsoft Windows XP необходимо 1,5 Гбайт свободного места на жестком диске. Обоснование: данное требование сформулировано фирмой Microsoft, как минимальное при установке Microsoft Windows XP.


3.4.5 Требования к монитору

При работе с информационной подсистемой «InventoryManagement» не предполагается вывод на экран сложного графического материала, поэтому для получения результатов работы программы рекомендуется использовать любой современный жидкокристаллический цветной монитор с разрешением 800×600 или с более высоким разрешением.

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


3.4.6 Требования к принтеру

Так как выводимые разработанной программой отчёты не содержат высокохудожественной графики, то подойдёт принтер с минимальным разрешением в 300dpi. Обоснование: если разрешение печати принтера будет менее 300 точек/дюйм документы, предусмотренные к выводу на принтер, не будут качественно пропечатываться, так как они разрабатывались для вывода на печать лазерным принтером с минимальным разрешением 300 точек/дюйм.


3.5 Установка и вызов программы


Установка программы производится следующим образом:

1.В дисковод для компакт-дисков необходимо поместить CD-ROM с предварительно записанной программой информационной подсистемы «InventoryManagement».

2.Средствами проводника Windows скопировать папку «Regata_control».

.Скопировать папку на персональный компьютер.

.Запустить файл InventoryManagement.exe

5.В результате появится главное окно программы (рисунок 3.3)


Рисунок 3.3 Главное окно программы «InventoryManagement»


3.6 Входные данные программы


Разнотипными входными данными программы являются:

.Наименование товара.

.Цена покупки товара.

.Номер накладной.

.Наименование контрагента.

.Банковские реквизиты банка.

.Адрес контрагента.

.Электронный ящик контрагента.

.Фамилия, Имя, Отчество сотрудника.

.Должность сотрудника.

. Возраст сотрудника.

. Паспортные данные сотрудника.

. Количество поступающего товара.

. Выбор ответственного, за прием товара, лица.

. Дата и время приема товара.

Таким образом, количество разнотипных входных данных равно 14.


3.7 Выходные данные программы


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

?данные справочника «Остатки товара»;

?данные справочника «Сотрудники»;

?данные справочника «Контрагенты»;

?отчет по остаткам товара на складе: выводит данные на печать о количестве имеющегося товара на складе;

?отчет об отгруженных товарах со склада, за определенный период времени: выводит данные на печать об ассортименте отгруженного товара за определенный срок;

?отчет о поступивших товарах на склад, за определенный период времени: выводит данные на печать об ассортименте поступившего товара за определенный срок;

?отчет о сотрудниках: выводит данные на печать о работающих на складе сотрудниках;

?отчет о контрагентах: выводит на печать данные о контрагентах работающих с организацией.

Примеры некоторых из перечисленных отчетов были представлены на рисунках 3.4 - 3.7.


Рисунок 3.4 - Остатки товара на складе


Рисунок 3.5 - Поступление товара за указанный период

Рисунок 3.6 - Отгрузка товара за указанный период


3.8 Результаты тестирования программы

информационный подсистема программный обеспечение

Программа прошла тестирование в условиях управления запасами ООО «Регата - Ставрополь». В результате тестирования установлено, что она в полном объеме удовлетворяет требованиям заказчика. В настоящее время, разработанное приложение, уже внедрено в практику работы указанной организации, и находится в стадии опытной эксплуатации.


Выводы


1.Для нормального функционирования программы достаточно наличия: операционной системы Windows XP; персонального компьютера с процессором 233 МГц; 148 Мбайт оперативной памяти; 4,71 Мбайт свободной памяти жесткого диска; любого современного цветного монитора с разрешением 800×600 и любого лазерного принтера с разрешением печати не менее 300 точек/дюйм.

2.В ходе разработки приложения использовались среда Microsoft Visual Studio 2010. Основным языком программирования являлся Visual C#.

.Логическая структура программы включает в себя 16 программных компонентов (модулей) и базу данных информационной подсистемы.

.Общее количество разнотипных входных данных программы равно 14.

5.Программа прошла тестирование в условиях управления запасами ООО «Регата - Ставрополь». В результате тестирования установлено, что она в полном объеме удовлетворяет требованиям заказчика. В настоящее время, разработанное приложение, уже внедрено в практику работы указанной организации, и находится в стадии опытной эксплуатации.

4. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА


4.1 Краткая характеристика проекта


В дипломном проекте разработаны информационная подсистема управления запасами для ООО «Регата - Ставрополь».

Назначение информационной подсистемы - автоматизация управления запасами.

Цель создания информационной подсистемы - сокращение временных затрат заведующего складом ООО «Регата - Ставрополь» на составление учетно-отчетной документации по складу.

Информационная подсистема «InventoryManagement» выполняет следующие функции:

?ведение базы данных товара содержащегося на складе, в которой содержаться основные данные о товаре (наименование товара, стоимость закупки, стоимость реализации, количество товара на складе, дата и время доставки товара);

?ведение сведений о контрагентах (наименование организации, адрес, email, банковские реквизиты);

?учет сведений о сотрудниках (фамилия, имя, отчество, номер серия паспорта, должность, возраст, телефон);

?формирование, просмотр и печать полного списка контрагентов;

?формирование, просмотр и печать полного списка сотрудников;

?формирование, просмотр и печать полного списка товаров;

?отслеживания движение товара по складу;

?редактирование реквизитов ООО «Регата - Ставрополь».

При разработке информационной подсистемы использовался язык программирования «С#».

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

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

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

В этом разделе рассмотрены вопросы расчета:

?трудоёмкости выполняемых работ;

?суммарных затрат на создание программного продукта;

?экономии, достигаемой в результате перехода от ручной обработки информации на автоматизированную обработку;

?чистого дисконтированного дохода за пять лет использования программного продукта;

?внутренней нормы доходности проекта и срока его окупаемости.


4.2 Трудоемкость выполняемых работ


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

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

Трудоемкость разработки программного обеспечения ТПО, чел.- ч., определяется по формуле


ТПО = ТО + ТИ + ТА + ТП + ТОТЛ + ТД, (4.1)


где ТО - затраты труда на описание задачи, чел.-ч.;

ТИ - затраты на исследование предметной области, чел.-ч.;

ТА - затраты на разработку блок-схем, чел.-ч.;

ТП - затраты на программирование, чел.-ч.;

ТОТЛ - затраты на отладку, чел.-ч.;

ТД - затраты на подготовку документации, чел.-ч.

Все составляющие в правой части формулы (4.1) определим через общее число операторов D, ед.:


D = ??c ? (1 + p), (4.2)


где ? - исходное число строчек кода в тексте программы, (? = 620 ед.);

с ? коэффициент сложности задачи;

р - коэффициент коррекции программы, учитывающий новизну проекта.

Коэффициент сложности задачи «с» характеризует относительную сложность программы по отношению к так называемой типовой задаче, реализующей стандартные методы решения, сложность которой принята равной единице (величина коэффициента «с» лежит в пределах от 1,25 до 2). Для рассматриваемого программного продукта, включающего в себя алгоритмы учета, отчетности, поиска - коэффициент сложности задачи примем равным 1,75 (c = 1,75).

Коэффициент «p» коррекции программы, учитывающий новизну проекта, количественно характеризует увеличение объема работ по реализации программного продукта, возникающего за счет внесения изменений в алгоритм или в тексте программы по результатам её тестирования и отладки, с учетом коррекций требований к прецедентам, поддерживаемым программным продуктом, со стороны заказчика. В данном случае заказчик, недостаточно хорошо представлял себе, полный перечень прецедентов, которые должен поддерживать программный продукт, а это приводило к многочисленным корректировкам и доработкам текста программного кода. Поэтому примем коэффициент «p» равным 0,1.

В результате подстановки численных значений коэффициентов и параметров в формулу (4.2) получим следующее общее число операторов

D = 620×1,75×(1 + 0,1) = 1095,85 ед.

Затраты труда на описание задачи принимаем: ТО = 40 чел.-ч. Работу по описанию задачи выполняет программист с окладом 7000 руб. в месяц и коэффициентом квалификации kК = 1,35 (опыт работы по специальности 6 лет).

Затраты труда на изучение задачи ТИ с учетом уточнения описания и квалификации программиста могут быть определены по формуле:


ТИ = Db/(sukK), (4.3)


где D - общее число операторов, ед.;

b - коэффициент увеличения затрат труда, вследствие недостаточного описания задачи;

su - количество операторов, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

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

Количество строчек кода в тексте программы, приходящееся на один чел.-ч., примем равным su = 75 ед./ чел.-ч.

Таким образом, на основании формулы (4.3) получим

ТИ = (1095,85 × 1,5) / (75 × 1,35) = 16,23 чел.-ч.

Затраты труда на разработку алгоритма решения задачи ТА рассчитываются по формуле:


ТА = D/(sakK), (4.4)


где D - общее число операторов, ед.;

sa - количество операторов алгоритма решения задачи, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Для расчета по формуле (4.4) примем sa = 20 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.4), получим

ТА = 1095,85 /(20 × 1,35) = 40,59 чел.-ч.

Затраты труда на составление программы по готовой блок-схеме ТП определяется по формуле:


ТП = D/(sakK), (4.5)


где D - общее число операторов, ед.;

sa - количество операторов алгоритма решения задачи, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Для расчетов по формуле (4.5) примем sa = 20 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.5), получим

ТП = 1095,85 /(20 × 1,35) = 40,59 чел.-ч.

Затраты труда на отладку программы на персональном компьютере ТОТЛ, чел.-ч., рассчитывается по формуле:


ТОТЛ = D / (sотл kK), (4.6)


где D - общее число операторов, ед.;

sотл - количество отлаживаемых операторов программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Для расчетов по формуле (4.6) примем sотл = 4 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.6), получим

ТОТЛ = 1095,85 / (4 × 1,35) = 202,93 чел.-ч.

Затраты труда на подготовку документации по задаче ТД определяются по формуле:


ТД = ТДР + ТДО, (4.7)


где ТДР - затраты труда на подготовку материалов в рукописи, чел.-ч.;

ТДО - затраты труда на редактирование, печать и оформление документации, чел.-ч.

Затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., вычислим по формуле


ТДР = D / (sдр kK), (4.8)


где D - общее число операторов, ед.;

sдр - количество операторов программы в рукописи, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника (определяется в зависимости от стажа работы).

Для расчетов по формуле (4.8) примем sдр = 15 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.8), получим

ТДР = 1095,85 / (15 × 1,35) = 54,12 чел.-ч.

Затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., вычислим по формуле

ТДО = 0,75 × ТДР. (4.9)


Подставив численное значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., в формулу (4.9), получим

ТДО = 0,75 × 54,12 = 40,59 чел.-ч.

Таким образом, подставив численные значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., и затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., в формулу (4.7) получим

ТД = 54,12+ 40,59 = 94,71 чел.-ч.

Подставив все полученные данные в формулу (4.1), получим полную трудоемкость разработки программного обеспечения

ТПО = 40,0 + 16,23 + 40,59 + 40,59 + 202,93 + 94,71 = 435,05 чел.-ч.

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


ТКОР = ТПОkКОР, (4.10)


гдеkКОР - коэффициент коррекции, учитывающий изменения трудоемкости разработки программного обеспечения в зависимости уровня языка программирования (таблица 4.1).

ТКОР - откорректированная трудоемкость разработки программного обеспечения, чел.-ч.


Таблица 4.1 - Изменение трудоемкости в зависимости уровня языка программирования

Уровень языка программированияХарактеристика языка программированияКоэффициент изменения трудоемкости1Ассемблер12Макроассемблер0,953Алгоритмические языки высокого уровня0,8 ? 0,9

Использованный для разработки программного обеспечения язык программирования «C#» относится к алгоритмическим языкам высокого уровня, с учетом этого примем kКОР = 0,8.

Окончательно, с учетом корректировки, получим по формуле (4.10) итоговую трудоемкость разработки

ТКОР = 435,05 × 0,8 = 348,04 чел.-ч.

Полученные результаты позволяют перейти к расчету себестоимости автоматизированной информационной системы.


4.3 Расчет себестоимости автоматизированной информационной подсистемы


Себестоимость создания автоматизированной информационной подсистемы З, руб., определяется по следующей формуле


З = ЗО + ЗД + ЗС + ЗЭ + ЗМ + ЗП + ЗАО, (4.11)


где ЗО - основная заработная плата производственного персонала, руб.;

ЗД - дополнительная заработная плата производственного персонала, руб.;

ЗС - отчисления на страховые взносы, руб.;

ЗЭ - затраты на потребляемую электроэнергию, руб.;

ЗМ - расходы на материалы и запасные части, руб.;

ЗП - затраты на техническое обслуживание и текущий ремонт вычислительной техники, руб.;

ЗАО - затраты на амортизацию вычислительной техники, руб.

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

пф = Nрд?tрд, (4.12)


где Nрд - количество рабочих дней специалиста производственного персонала за месяц;

?tрд - продолжительность рабочего дня специалиста производственного персонала, ч.

Для расчетов по формуле (4.12) примем Nрд = 22 дня, ?tрд = 8 ч. Подставив указанные численные значения параметров Nрд и ?tрд в формулу (4.12) получим, что плановый фонд рабочего времени одного специалиста производственного персонала в месяц составляетпф = 22×8 = 176 ч.

Таким образом, часовая тарифная ставка , руб./ч, инженера-программиста первой категории составляет:

Основная заработная плата , руб., производственного персонала определяется по формуле:


. (4.13)


Подставив все числовые значения параметров в формулу (4.13) получим, что основная заработная плата инженера-программиста первой категории составит:

руб.

Дополнительная заработная плата , руб., производственного персонала определяется по формуле:

, (4.14)


где - коэффициент дополнительной заработной платы.

Коэффициент дополнительной заработной платы инженера-программиста первой категории составляет=0,2. Таким образом, дополнительная заработная плата , руб., инженера-программиста первой категории, вычисленная по формуле (4.14), равна:

руб.

Отчисления в Пенсионный фонд Российской Федерации, Фонд социального страхования Российской Федерации и фонды обязательного медицинского страхования Российской Федерации согласно закону № 212-Ф3 от 24.07.2009 , руб., вычислим по формуле:



где - норматива страховых взносов.

В соответствие с законом № 212-Ф3 от 24.07.2009 норматива страховых взносов составляет 34 % (=34 %).

Подставив все численные значения в формулу (4.15) получим, что отчисления на страховые взносы равны:


Таким образом, размер страховых взносов составит 10488,14 руб.
Затраты на потребляемую электроэнергию , руб.:


, (4.16)

где - мощность ЭВМ;

- время работы вычислительного комплекса, ч.

- стоимость 1 кВтч электроэнергии, руб./кВтч.

Мощность ЭВМ, на которой работает инженер-программист первой категории, равна =0,3 кВт.

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


, (4.17)


где - коэффициент, учитывающий затраты времени на профилактические работы на ЭВМ;

- коэффициент коррекции времени работы вычислительного комплекса

Для расчётов по формуле (4.17) примем =1,15 и =0,8. Подставив все численные значения параметров в формулу (4.17) получим:

ч.

Стоимость 1 кВтч электроэнергии составляет = 3,74 руб./кВтч.

Подставив все численные значения параметров в формулу (4.16) получим, что затраты на потребляемую энергию составят:

349,13 руб.

Данные для расчёта затрат на материалы и запасные части занесём в таблицу 4.2.


Таблица 4.2 - Затраты на материалы и покупные изделия

Материал, покупаемое изделиеКоличество, ед.Цена за единицу, руб.Сумма, руб.Тонер для картриджа принтера1360,00360,00USB-Flash накопитель, 8ГБ11000,001000,00Упаковка бумаги, 500 листов2115,00230,00Лицензионное программное обеспечение118000,0018000,00Итого19590,00

Следовательно, затраты на материалы и запасные части составят:

руб.

Затраты на техническое обслуживание и текущий ремонт вычислительной техники , руб.:



где - балансовая стоимость вычислительной техники, руб.;

- норма отчислений на ремонт, %;

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

Для расчётов по формуле (4.18) примем:

? балансовая стоимость вычислительной техники 35000,00 руб.;

? норма отчислений на ремонт = 4 %;

? годовой фонд времени работы вычислительной техники при 40-часовой рабочей неделе в текущем году = 1986 ч.

Подставив все числовые значения параметров в формулу (4.18) получим, что затраты на техническое обслуживание и текущий ремонт вычислительной техники составят:

Затраты на амортизацию вычислительной техники , руб.:


где - балансовая стоимость вычислительной техники, руб.;

- норма отчислений на амортизацию вычислительной техники, %;

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

Для расчётов по формуле (4.19) примем:

? балансовая стоимость вычислительной техники 35000,00 руб.;

? норма отчислений на амортизацию = 20 %;

? годовой фонд времени работы вычислительной техники при 40-часовой рабочей неделе в текущем году = 1986 ч.

Подставив все числовые значения параметров в формулу (4.19) получим, что затраты на амортизацию вычислительной техники составят:

Все расчёты по статьям калькуляции затрат, составляющих себестоимость автоматизированной подсистемы сведены в таблицу 4.3.


Таблица 4.3 - Величины затраты, составляющих себестоимость автоматизированной информационной системы

Статья расходаСумма, руб.Основная заработная плата производственного персоналаДополнительная заработная плата производственного персоналаОтчисления на страховые взносы10488,14Затраты на потребляемую электроэнергию349,13Расходы на материалы и запасные частиЗатраты на техническое обслуживание и ремонт вычислительной техникиЗатраты на амортизацию вычислительной техникиИтого62590,87

Таким образом, полные затраты на создание программного продукта составляют 62590,87 руб.

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


, (4.20)


где - норма рентабельности, %.

Для расчётов по формуле (4.20) примем =15 %. Подставив численное значение параметров в формулу (4.20) получим:

руб.

Капиталовложения при внедрении программного продукта равняются его оптовой цене:


К = Ц = руб.


4.4 Оценка экономической эффективности внедрения программного продукта


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


, (4.21)


гдеЭ - стоимостная оценка результатов применения программного продукта в течение года, руб.;

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

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


, (4.22)


где - затраты на ручную обработку информации, руб.;

- затраты на автоматизированную обработку информации, руб.;

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

Данный продукт используется заведующим склада ООО «Регата - Ставрополь». Оклад сотрудников составляет 11000 руб., премиальный фонд - 50 % от оклада. Тогда, цена одного часа работы заведующего склада , руб./ч., составит:

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


Таблица 4.4 - Данные о времени, затрачиваемом на обработку информации вручную и при использовании программного продукта за один месяц

Наименование работы, ч., ч.Обработка первичных документов204Получение информации201Обработка информации401Составление отчётов102Итого908

В таблице 4.4 использованы следующие условные обозначения:

? - затраты на ручную обработку информации в месяц, ч.;

? - затраты на автоматизированную обработку информации в месяц, ч.;

Из таблицы 4.4 следует, что общие затраты времени на ручную обработку информации в месяц , ч., составляют = 90 ч., а общие затраты на автоматизированную обработку информации - = 8 ч.

Годовые затраты (затраты за 12 месяцев) заведующего склада ООО «Регата - Ставрополь» при ручной обработке информации вычислим по формуле:


. (4.23)


Тогда годовые затраты заведующего склада ООО «Регата - Ставрополь» при ручной обработке информации (по данным таблицы 4.4 общие затраты времени на ручную обработку информации = 90 ч./месяц) составят:

= 101250 руб.

Годовые затраты (затраты за 12 месяцев) заведующего склада при автоматизированной обработке информации вычислим по формуле:


. (4.24)


При автоматизированной обработке информации (по данным таблицы 4.4 общие затраты времени на ручную обработку информации = 8 ч./месяц)

= 9000 руб.

Следовательно, годовой эффект от внедрения программного продукта, даже без учёта дополнительного экономического эффекта (= 0), на основании формулы (4.22), получится равным:


руб.


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

На основании формулы (4.16), для персонального компьютера заведующего склада за 12 месяцев затраты на электроэнергию при потребляемой мощности компьютера составят (стоимость электроэнергии =3,74 руб./кВт-ч.):

= 107,71 руб.

Балансовая стоимость вычислительной техники (персональных компьютеров специалистов) = 35000 руб. Тогда, на основании формулы (4.18), для персонального компьютера специалиста за 12 месяцев затраты на техническое обслуживание и текущий ремонт составят:

Затраты на амортизацию вычислительной техники по формуле (4.19) составят:

Тогда, эксплуатационные затраты при использовании программного продукта составят:


107,71+67,67+338,37 = 513,75 руб.


Прибыль от использования программного продукта за год рассчитаем по формуле (4.21):

П = Э - З = - 513,75 = 91736,25 руб.


Таким образом, имеем следующий денежный поток:

шаг (капиталовложения) ? руб.;

шаг ? 91736,25 руб.;

шаг ? 91736,25 руб.;

шаг ? 91736,25 руб.;

шаг ? 91736,258 руб.;

Чистый дисконтированный доход ЧДД, руб., от использования программного продукта определим по формуле:



гдеN - расчётный период, год;

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

К - капиталовложения при внедрении программного продукта, руб.

Следовательно, ЧДД, руб., при N = 4, т. е. за четыре года использования программного продукта (срок до морального старения рассматриваемой информационной системы) при норме дисконта Е = 20 % в соответствие с формулой (4.25) составит:

= 76446,87+ 63705,72 + 53088,1 + 44240,08

Приходим к выводу, что ЧДД положителен, т. е. проект эффективен.

Внутреннею норму доходности проекта , %, определим по формуле:


где ? максимальное значение внутренней нормы дисконта, %, при которой ЧДД является положительной величиной (ЧДД > 0);

? минимальное значение внутренней нормы дисконта, %, при которой ЧДД является отрицательной величиной (ЧДД < 0);

? ЧДД, руб., вычисляемый по формуле (4.25) при подстановке нормы дисконта E = ;

? ЧДД, руб., вычисляемый по формуле (4.25) при подстановке нормы дисконта E = .

Предполагаем, что лежит в диапазоне 122 … 123 %. При норме дисконта =122 % получаем ЧДД = 118,36 руб. Таким образом, при ЧДД = 122 % ЧДД положителен.

При норме дисконта = 123 % получаем ЧДД =413,09 руб. Таким образом, при ЧДД = 123 % ЧДД отрицателен.

Следовательно, по формуле (4.26) имеем:

Рассчитаем срок окупаемости проекта. Срок окупаемости проекта , год, найдём по формуле:



гдеN - максимальное количество лет, прошедших с начала эксплуатации программного продукта, в течение которых величина дохода от его использования не превысила величины капиталовложения при внедрении программного продукта;

- величины приведённых (дисконтированных) годовых эффектов за j-й год, руб., прошедший с начала эксплуатации программного продукта, вычисленные по формуле (4.25) при подстановке нормы дисконта Е = 20 %.

Величина приведённого (дисконтированного) годового эффекта за первый год расчётного периода по формуле (4.25) равна:

что больше величины капиталовложений (К = .

Тогда, в формуле (4.27) имеем N = 0 и срок окупаемости составит:


4.5 Основные технико-экономические показатели проекта


Для удобства анализа, все основные технико-экономические показатели проекта сведены в таблицу 4.5.


Таблица 4.5 - Основные технико-экономические показатели проекта

Основные характеристикиЕдиницы измеренияПроектИтоговая трудоёмкость разработкичел-ч.435,05Полные затраты на создание программного продуктаруб.62590,87Оптовая цена программного продуктаруб.Годовой экономический эффект от внедрения программного продуктаруб.Чистый дисконтированный доходруб.165501,27Внутренняя норма доходности%123,22Срок окупаемости проектагод0,94Выводы:


1.Итоговая трудоёмкость разработки программного продукта составила 435,05 чел.-ч.

2.Полные затраты на создание программного продукта составляют 62590,87 руб.

3.Оптовая цена программного продукта - руб.

. Годовой эффект от внедрения программного продукта составляет руб.

.Чистый дисконтированный доход - 165501,27 руб.

.Внутренняя норма доходности - 123,22 %.

.Срок окупаемости проекта 0,94 года.

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

.Таким образом, разработка информационной подсистемы управления запасами для ООО «Регата - Ставрополь» является экономически обоснованной и эффективной.


ЗАКЛЮЧЕНИЕ


В данном дипломном проекте были рассмотрены вопросы разработки информационной подсистемы «InventoryManagement» управления запасами для ООО «Регата - Ставрополь», г. Ставрополь.

В результате дипломного проектирования было показано, что:

1.Итоговая трудоемкость разработки программного продукта (информационной подсистемы «InventoryManagement») составляет 435,05 чел.-ч.

2.Полные затраты на создание программного продукта составляют 62590,87 руб.;

.Годовой эффект от внедрения программного продукта составляет 92250,00 руб.;

.Чистый дисконтированный доход за 4 года использования программного продукта равен 165501,27 руб.

.Внутренняя норма доходности 123,22 %.

.Срок окупаемости проекта 0,94 года.

После внедрения программного продукта ежемесячные затраты времени заведующего склада ООО «Регата - Ставрополь», г. Ставрополь на управления запасами, а также подготовку и оформление предусмотренной учетно-отчетной документации сократились с 90 до 8 часов, т. е. примерно в одиннадцать раз.

Таким образом, разработка информационной подсистемы «InventoryManagement» является экономически обоснованной и эффективной.

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК


1.Калянов, Г. Н. CASE-технологии. Консалтинг при автоматизации бизнес процессов. 2-е изд. перераб. И доп [Текст] /Г. Н. Калянов. - М.: Горячая линия- Телеком, 2000. ? 320 с.

2.Петров, А. И. Информационные системы [Текст]/ А. И. Петров. - М.: Горячая линия-Телеком, 2000. ? 300с.

3.ГОСТ 2.105-95 ЕСКД Общие требования к текстовым документам.

4.Методические указания по определению экономической эффективности новых машин и оборудования/ Горлов С.М., Небесский В.Д. - Ставрополь, 2003.

5.Роберт Э. Уолтерс, Майкл Коулс SQL Server 2008: ускоренный курс для профессионалов. Р. Э. Уолтерс. - М. 2010 г. - 944 с.

. Ицик Бен-Ган. Microsoft SQL Server 2008: T-SQL Fundamentals, БХВ-Петербург, Русская Редакция, 2009 г. - 432 с.

.Браст Дж. Системы обработки информации - язык баз данных SQL со средствами поддержания целостности: Пер. с англ. [Текст]/ Дж. Браст - М.: Издательство «Русская редакция», 2007. - 878c.

8.Вендеров А. М. Автоматизированные информационные технологии в экономике [Текст]/ А. М. Вендеров - М.: Финансы и статистика, 2002 . - 415с.

.Дейт К. Дж. Введение в системы баз данных (седьмое издание): Пер. с англ. [Текст]/ К. Дж. Дейт - М.: Вильямс, 2001. - 1072 с.

.Зайдман С.А. Реляционные Базы Данных. SQL - стандартный язык реляционных баз данных [Текст]/ С.А. Зайдман - СПб.: Питер, 2002 -180c.

11.Алекс Маки. Введение в .NET 4.0 и Visual Studio 2010 для профессионалов. Вильямс, 2010 г. - 416 с.

12.Тони Нортроп. Разработка защищенных приложений на Visual C# .Net. Русская редакция, 2007г. - 688 с.

13.Конноллн Т., Томас Б., Бегг К. Карелии Базы данных. Проектирование, реализация и сопровождение: Пер. с англ. [Текст]/ Т. Конноллн, Б. Томас, К. Бегг - М.: Издательство «Русская редакция», 2005. - 415c.

.Корнеев В.В. Базы данных. Интеллектуальная обработка информации [Текст]/ В.В. Корнеев - М.: Нолидж, 2000.-352с.

.Кузнецов С.Д. Стандарты языка реляционных баз данных SQL [Текст]/С.Д. Кузнецов - М.: «Дашков и К©», 2001.- 234 c.

16.Патрушина С.Н. Компьютерные технологии обработки информации [Текст]/ С.Н. Патрушина - М.: ИКЦ «Март», 2002. - 247с.

.Пономарева К.В., Кузьмин Л.Г. Информационное обеспечение АСУ [Текст]/ К.В. Пономарева, Л.Г. Кузьмин - М.: Машиностроение, 1998.- 221с.

.Тельнов Ю.Ф. Интеллектуальные информационные системы в экономике [Текст]/ Ю.Ф. Тельнов - М.: Финансы и статистика, 1999. - 215с.

.Турбилин В. П. Автоматизированные информационные технологии в экономике [Текст]/ В.П. Турбилин. - М.: Инфа-М, 2000. - 420с.

.Шаша Д., Бонне Ф. Оптимизация баз данных. Принципы, практика, решение проблем: Пер. с франц. [Текст]/ Д. Шаша, Ф. Бонне - М.: «КУДИЦ-Образ», 2004.-586с.


Приложение А


Листинг файла MainWindow.cs

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;

RegataControl

{

public partial class MainWindow : Form

{

public MainWindow()

{

bool status = false;

LoginForm dlg = new LoginForm();

while (!status)

{

dlg.ShowDialog(this);

string u = dlg.getLogin();

string p = dlg.getPassword();

status = AuthManager.Authenticate(u, p);

if(status==false){

MessageBox.Show("Ошибка аутентификации.", "Авторизация", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}


InitializeComponent();

if (AuthManager.isAdmin()==false)

{

usersMenuItem.Visible = false;

}

}


private void сотрудникиToolStripMenuItem_Click(object sender, EventArgs e)

{

StaffControlForm dialog = new StaffControlForm();

dialog.ShowDialog(this);

}


private void остаткиToolStripMenuItem_Click(object sender, EventArgs e)

{

Goods dialog = new Goods();

dialog.ShowDialog(this);

}


private void контрагентыToolStripMenuItem_Click(object sender, EventArgs e)

{

Kontragent dialog = new Kontragent();

dialog.ShowDialog(this);

}


private void поступлениеТовараToolStripMenuItem_Click(object sender, EventArgs e)

{

ReturnsGoods dialog = new ReturnsGoods();

dialog.ShowDialog(this);

}

private void отгрузкаТовараToolStripMenuItem_Click(object sender, EventArgs e)

{

ChargeGoods dialog = new ChargeGoods();

dialog.ShowDialog(this);

}


private void остаткиНаСкладеToolStripMenuItem_Click(object sender, EventArgs e)

{

ReainsForm dialog = new ReainsForm();

dialog.ShowDialog(this);

}

private void поступлениеТовараToolStripMenuItem1_Click(object sender, EventArgs e)

{

Form1 F = new Form1();

F.ShowDialog();

}

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

{

About_author F = new About_author();

F.ShowDialog();

}

private void контрагентыToolStripMenuItem1_Click(object sender, EventArgs e)

{

report_kontagent dialog = new report_kontagent();

dialog.ShowDialog(this);

}

private void сотрудникиToolStripMenuItem1_Click(object sender, EventArgs e)

{

report_sotrudniki dialog = new report_sotrudniki();

dialog.ShowDialog(this);

}

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

{

Application.Exit();

}


private void отгрузкаТовараToolStripMenuItem1_Click(object sender, EventArgs e)

{

report_otgryzka F = new report_otgryzka();

F.ShowDialog();

}

private void пользователяToolStripMenuItem_Click(object sender, EventArgs e)

{

UsersList dialog = new UsersList();

dialog.ShowDialog(this);

}

private void MainWindow_Load(object sender, EventArgs e)

{


}

}

}



Приложение Б


Листинг файла ReturnsGoods.cs

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Excel = Microsoft.Office.Interop.Excel;System.Reflection;RegataControl

{


public partial class ReturnsGoods : Form

{

public ReturnsGoods()

{

InitializeComponent();


}


private void ReturnsGoods_Load(object sender, EventArgs e)

{

this.sotrydnikiTableAdapter.Fill(this.control_mainDataSet.sotrydniki);

this.tovarTableAdapter.Fill(this.control_mainDataSet.tovar);

this.kontagentTableAdapter.Fill(this.control_mainDataSet.kontagent);


}


private void button5_Click(object sender, EventArgs e)

{

this.Close();


}


private void button4_Click(object sender, EventArgs e)

{

// сохранение приходной накладной

AdapterDataContext db = new AdapterDataContext();

List<GoodStruct> glist = new List<GoodStruct>();

int NOT_DEFINED = -1;

int _nakladNumber= NOT_DEFINED, kontrId = NOT_DEFINED, sotrydId=NOT_DEFINED;

DateTime dt=DateTime.Now;

string kontrName="";

string sotrudName = "";

try

{

_nakladNumber = Int32.Parse(nakladNumber.Text);

// проверка номера накладной

var Choose = from pps in db.postyplenie where pps.nomer_nakladnoi == _nakladNumber select pps;

try

{

int pps_id = Convert.ToInt32(Choose.First().nomer_nakladnoi);

MessageBox.Show("Произошла ошибка. Номер накладной не уникален.", "Приходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

catch (Exception ex)

{

//-----

}

DataRowView srow = (DataRowView)kontrComboBox.SelectedItem;

kontrId = (int)srow.Row["id_kontragent"];

kontrName = (string)srow.Row["name"];

dt = dateTimePicker1.Value;


DataRowView sotrRow = (DataRowView)comboBox3.SelectedItem;

sotrydId = (int)sotrRow.Row["id_sotrydnik"];

sotrudName = (string)sotrRow["FIO"];

}

catch

{

MessageBox.Show("Произошла ошибка. Вы ввели неверные данные.", "Приходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

int ID_IDX = 0, QUANT_IDX = 2;


foreach (DataGridViewRow row in dataGridView1.Rows)

{

int row_id = (int)row.Cells[ID_IDX].Value;

string quantityString = (string)row.Cells[QUANT_IDX].Value;

int quantity;

try

{

quantity = Int32.Parse(quantityString);

}

catch

{

quantity = 0;

}

if (quantity > 0)

{

// меняем поле количество для каждого товара

var Choose = from st in db.tovar where st.id_tovar == row_id select st;

int q = Convert.ToInt32(Choose.First().kolichestvo);

double cost = Convert.ToDouble(Choose.First().tcena_pokupki);

double realcost = Convert.ToDouble(Choose.First().tcena_prodaji);

string name = Convert.ToString(Choose.First().name);

GoodStruct good = new GoodStruct(name, quantity, cost, realcost);

glist.Add(good);


Choose.First().kolichestvo = q + quantity;

db.SubmitChanges();

// -------------------------------------------

postyplenie post = new postyplenie

{

data_time = dt,

id_kontragent = kontrId,

id_sotrydnik = sotrydId,

id_tovar = row_id,

nomer_nakladnoi = _nakladNumber,

kolichestvo_tovara = quantity

};

db.postyplenie.InsertOnSubmit(post);

db.SubmitChanges();

}


}

MessageBox.Show("Накладная успешно сохранена", "Приходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Information);

//this.Close();

}


private void button1_Click(object sender, EventArgs e)

{

// добавление контрагента

AddKontragent dialog = new AddKontragent();

dialog.ShowDialog(this);

this.kontagentTableAdapter.Fill(this.control_mainDataSet.kontagent);

this.kontrComboBox.SelectedIndex = this.kontrComboBox.Items.Count - 1;

}


private void button2_Click(object sender, EventArgs e)

{

// добавление товара

AddGood dialog = new AddGood();

dialog.ShowDialog(this);

this.tovarTableAdapter.Fill(this.control_mainDataSet.tovar);

}


private void kontrComboBox_SelectedIndexChanged(object sender, EventArgs e)

{

//

}

}


public class GoodStruct

{

string name;

int quantity;

double cost;

double realCost;

public GoodStruct(string _name, int _quantity, double _cost, double _realCost)

{

name = _name;

quantity = _quantity;

cost = _cost;

realCost = _realCost;

}

public string getName()

{

return name;

}

public int getQuantity()

{

return quantity;

}

public double getCost()

{

return cost;

}

public double getRealCost()

{

return realCost;

}

}

}


Приложение В


Листинг файла ChargeGoods.cs

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;

Microsoft.Office.Interop.Excel;System.Reflection;

RegataControl

{

public partial class ChargeGoods : Form

{

public ChargeGoods()

{

InitializeComponent();

}


private void button5_Click(object sender, EventArgs e)

{

this.Close();

}void button4_Click(object sender, EventArgs e)

{


// сохранение расходной накладной

AdapterDataContext db = new AdapterDataContext();

List<GoodStruct> glist = new List<GoodStruct>();

string kontrName = "";

string sotrudName = "";

int NOT_DEFINED = -1;

int _nakladNumber = NOT_DEFINED, kontrId = NOT_DEFINED, sotrydId = NOT_DEFINED;

DateTime dt = DateTime.Now;

try

{

_nakladNumber = Int32.Parse(nakladNumber.Text);

// проверка номера накладной

var Choose = from pps in db.otgryzka where pps.nomer_nakladnoi == _nakladNumber select pps;

try

{

int pps_id = Convert.ToInt32(Choose.First().nomer_nakladnoi);

MessageBox.Show("Произошла ошибка. Номер накладной не уникален.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

catch (Exception ex)

{

//-----

}

DataRowView srow = (DataRowView)kontrComboBox.SelectedItem;

kontrId = (int)srow.Row["id_kontragent"];

kontrName = (string)srow.Row["name"];

dt = dateTimePicker1.Value;


DataRowView sotrRow = (DataRowView)comboBox3.SelectedItem;

sotrydId = (int)sotrRow.Row["id_sotrydnik"];

sotrudName = (string)sotrRow["FIO"];

}

catch

{

MessageBox.Show("Произошла ошибка. Вы ввели неверные данные.", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Error);

return;

}

int ID_IDX = 0, QUANT_IDX = 2;


foreach (DataGridViewRow row in dataGridView1.Rows)

{

int row_id = (int)row.Cells[ID_IDX].Value;

string quantityString = (string)row.Cells[QUANT_IDX].Value;

int quantity;

try

{

quantity = Int32.Parse(quantityString);

}

catch

{

quantity = 0;

}

if (quantity > 0)

{

// меняем поле количечество для каждого товара

var Choose = from st in db.tovar where st.id_tovar == row_id select st;

int q = Convert.ToInt32(Choose.First().kolichestvo);

double cost = Convert.ToDouble(Choose.First().tcena_pokupki);

double realcost = Convert.ToDouble(Choose.First().tcena_prodaji);

string name = Convert.ToString(Choose.First().name);

GoodStruct good = new GoodStruct(name, quantity, cost, realcost);

glist.Add(good);

Choose.First().kolichestvo = q - quantity;

db.SubmitChanges();

// -------------------------------------------

otgryzka post = new otgryzka

{

data_time = dt,

id_kontragent = kontrId,

id_sotrydnik = sotrydId,

id_tovar = row_id,

nomer_nakladnoi = _nakladNumber,

kolichestvo_tovara = quantity

};

db.otgryzka.InsertOnSubmit(post);

db.SubmitChanges();

}

}


if (isExcelReportNeed.Checked)

{

int var = Convert.ToInt32(nakladNumber.Text);

var f = new rasxod_naklad(var);

f.Show();

}

MessageBox.Show("Накладная успешно сохранена", "Расходная накладная", MessageBoxButtons.OK, MessageBoxIcon.Information);

//this.Close();


}


private void ChargeGoods_Load(object sender, EventArgs e)

{

this.sotrydnikiTableAdapter.Fill(this.control_mainDataSet.sotrydniki);.tovarTableAdapter.Fill(this.control_mainDataSet.tovar);.kontagentTableAdapter.Fill(this.control_mainDataSet.kontagent);

this.otgryzkaTableAdapter.Fill(this.control_mainDataSet.otgryzka);


}


private void button1_Click(object sender, EventArgs e)

{

// добавление контрагента

AddKontragent dialog = new AddKontragent();

dialog.ShowDialog(this);

this.kontagentTableAdapter.Fill(this.control_mainDataSet.kontagent);

this.kontrComboBox.SelectedIndex = this.kontrComboBox.Items.Count - 1;

}


private void button2_Click(object sender, EventArgs e)

{

// добавление товара

AddGood dialog = new AddGood();

dialog.ShowDialog(this);

this.tovarTableAdapter.Fill(this.control_mainDataSet.tovar);

}

}

}



ВВЕДЕНИЕ Актуальность разработки автоматизированной информационной подсистемы управление запасами для ООО «Регата-Ставрополь», обусловлена тем,

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ