Разработка ИС для сети пекарен

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 15.07.2020
Размер файла 4,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

3.2.2 Проектирование приложения

Для построения проекта приложения использован объектно-ориентированный язык моделирования UML (Unified Modeling Language). UML может быть использован при построении модели любой системы или процесса. При построении UML-модели используются диаграммы, позволяющие отобразить структуру системы или ее части, а также поведение системы (либо одного из ее модулей).

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

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

- Кладовщик - работает с данными по поставкам, при необходимости, оформляет возвраты некачественных поставок;

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

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

Рисунок 20 - Диаграмма прецедентов для роли «Кладовщик»

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

На рисунке 21 показана диаграмма прецедентов для роли «Бригадир».

Рисунок 21 - Диаграмма прецедентов (роль «Бригадир»)

Основная задача бригадира - внесение данных по произведенной за смену продукции.

На рисунке 22 показана диаграмма прецедентов для роли «Менеджер».

Рисунок 22 - Диаграмма прецедентов (роль «Менеджер»)

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

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

На рисунке 23 показана диаграмма пакетов.

Рисунок 23 - Диаграмма пакетов

Как видно из рисунка 23, структура системы построена на основе паттерна MVVM, согласно которому модули делятся на:

- Модели - данные, которые обрабатываются пользователями системы;

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

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

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

На рисунке 24 приведена диаграмма классов для пакета Models.

Рисунок 24 - Диаграмма классов для пакета Models

На рисунке 24 представлены следующие классы:

- Storage - склад с ингредиентами;

- Plan - планы продаж;

- Supply - поставки ингредиентов для производимой продукции;

- User - пользователи системы;

- Shift - смены;

- Product - производимая продукция;

- Order - заявка на закупку ингредиентов;

- Component - ингредиенты для производимой продукции;

- Place - точка продажи (кафе, пекарня, магазин);

- Recipe - рецепт для приготовления готовой продукции;

- Status - статус заявки;

- Expense - расход ингредиентов за определенную смену;

- Return - возвращаемая поставка;

- Supplier - поставщик;

- IASContext - класс-контекст, объектно-ориентированное представление реляционной базы данных.

На рисунке 25 показана диаграмма классов для пакета Views.

Рисунок 25 - Диаграмма классов для пакета Views

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

Рисунок 26 - Диаграмма классов пакета View Models

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

3.3 Разработка модулей системы

После того как создана структура проекта (каталоги, файлы) и установлена библиотека Entity Framework, создается база данных с помощью консоли диспетчера пакетов в Visual Studio. Для создания базы данных создается миграция, содержащая код на создание таблиц и установку связей между ними. Физическая модель базы данных показана на рисунке 27.

Рисунок 27 - Физическая модель базы данных

Характеристика связей между сущностями показана в таблице 6.

Таблица 6 - Связи между объектами

Ключ связи

Главный информационный объект

Подчиненный информационный объект

Тип отношения

1

Точка

План

М:М

2

План

Продукт

М:М

3

Продукт

Рецепт

М:М

4

Рецепт

Расход

1:М

5

Смена

Расход

1:М

6

Поставщик

Поставка

1:М

7

Поставка

Возврат

1:1

8

Поставка

Компонент

М:М

9

Рецепт

Компонент

М:М

10

Компонент

Склад

1:М

11

Склад

Заявка

М:М

12

Статус

Заявка

1:М

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

Первая форма, которая открывается после запуска приложения - форма авторизации (рисунок 28).

Рисунок 28 - Форма авторизации

Рисунок 29 - Форма для добавления данных об изготовленной за смену продукции

Рисунок 30 - Вкладка «Отчеты» в личном кабинете менеджера

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

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

- формирование отчетов различного типа:

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

- ввод, редактирование, удаление данных о поставках, складах, поставщиках, продукции, рецептах, сменах;

- оформление возврата поставки;

- формирование договора с поставщиком;

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

3.4 Оценка экономической эффективности системы

Для проведения оценки экономической эффективности использован метод TCO (Total Cost of Ownership), позволяющий вычислить совокупную стоимость владения. Использование данного метода позволяет вычислить прямые и скрытые расходы на разрабатываемый проект. Поиск скрытых расходов позволит максимально точно определить величину расходов на разрабатываемую информационно-аналитическую систему.

Схема, отображающая перечень затрат, приведена на рисунке 31.

Рисунок 31 - Прямые и скрытые затраты

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

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

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

Таблица 7 - Издержки на создание программного продукта

Издержки

Сумма, руб.

Стоимость используемых материалов

2325

Заработная плата разработчиков

96560

Отчисления с заработной платы

41520

Амортизация рабочего места

11200

Затраты на электроэнергию

1300

Затраты на доступ в Internet

2000

Амортизация оборудования

610178

Итого

765083

Таким образом, TCO составляет: 765083 рублей.

Ожидаемый эффект делится на:

- прямой - снижение трудозатрат;

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

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

Таблица 8 - Расчет прямого экономического эффекта

Затраты

Абсолютное изменение

Коэффициент изменения

Индекс изменения

Существующий вариант

После реализации проекта

затрат

затрат

затрат

Трудоемкость

, час

, час

, час

10

9

5

35%

1,3

Стоимость

, час

, час

, час

54,43

45,27

10,1

28%

1,45

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

Заключение

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

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

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

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

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

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

Список использованных источников

1. Бородулин, А.Н. Разработка информационно-аналитических систем корпоративного управления / А.Н. Бородулин // Вестник ТвГУ. - 2016. - №2. - Тверь. - С. 159-165.

2. Атре, Ш. Структурный подход к организации баз данных. / Ш. Атре - М.: Финансы и статистика, 2015. - 320 с.

3. Должностные инструкции [Электронный ресурс]. URL: https://www.rabota.ru/articles (дата обращения: 05.05.2020).

4. Бадд, Т. Объектно-ориентированное программирование в действии / Т. Бадд М.: Питер. 2016. - 400 c.

5. Боуман, Д., Практическое руководство по SQL./ Д. Боуман, С. Эмерсон, М. Дарновски - М.: Мир, 2015. - 328 с.

6. Буч, Г. Объектно-ориентированный анализ и проектирование. / Г. Буч Addison-Wesley. 2014. - 450 c.

7. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес. Спб.: Питер, 2016. - 366 с.

8. Грабер, М. Введение в SQL. / М. Грабер - М.: Лори, 2014. - 379 с.

9. Дейт, К. Введение в системы баз данных / К. Дейт - М.: Юрайт. 2014. - 784 с.

10. Иванова, Г.С. Объектно-ориентированное программирование / Г.С. Иванова, Т.Н. Ничушкина, Е.К. Пугачев. - М.: МГТУ им. Н. Э. Баумана, 2014. - 368 c.

11. Исаев Г.Н. Проектирование информационных систем: учебное пособие / Г.Н. Исаев. М.: Омега-Л, 2013. 432 с.

12. Кириллов, В.В. Структуризованный язык запросов (SQL). / В.В. Кириллов - СПб.: ИТМО, 2013. - 80 с.

13. Коваленко В.В. Проектирование информационных систем / В.В. Коваленко. М.: Форум, 2014. - 320 с.

14. Конолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. / Т. Конолли, К. Бегг - М.: Вильямс, 2017. - 1440 с.

15. Кьоу, Дж. Объектно-ориентированное программирование / Дж. Кьоу, М. Джеанини. - М.: Питер, 2015. - 240 c.

16. Ларман К. Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку / К. Ларман. М.: Вильямс, 2013. - 736 с.

17. Макконел, С. Совершенный код / С. Макконел. - М.: Русская редакция, 2017. - 896 с.

18. Мейер, М. Теория реляционных баз данных. / М. Мейер - М.: Мир, 2013. - 608 с.

19. О'Лири, Д. ERP системы. Современное планирование и управление ресурсами предприятия. Выбор, внедрение, эксплуатация [Пер. с англ. Ю.И.Водопьяновой]/ Д. О'Лири - М.: ООО "Вершина", 2014. - 272 с.

20. Пирогов, В.Ю. Информационные системы и базы данных: органзиация и проектирование. / В.Ю. Пирогов - СПб.: БХВ-Петербург, 2013. - 528 с.

21. Полякова, Л.Н. Основы SQL, БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий / Л.Н. Полякова - М.: ИНТУИТ.ру, 2014. - 224 с.

22. Редько, В.Н.; Базы данных и информационные системы. / В.Н. Редько, И.А. Бассараб - М.: Знание, 2013. - 602 c.

23. Туманов, В.Е. Проектирование и использование баз данных. / В.Е. Туманов - М.: Финансы и статистика, 1995. - 191 с.

24. Туманов, В.Е. Основы проектирования реляционных баз данных. БИНОМ. Лаборатория знаний, Интернет-университет информационных технологий / В.Е. Туманов - М.: ИНТУИТ.ру, 2007. - 424 с.

25. Ульман, Д. Основы систем баз данных. / Д. Ульман - М.: Финансы и статистика, 2013. - 334 с.

26. Хаббард, Дж. Автоматизированное проектирование баз данных. / Дж. Хаббард - М.: Мир, 2013. - 453 c.

27. Хомоненко, А.Д. Базы данных / А.Д. Хомоненко - М.: Корона-Принт, 2015. - 736 с.

28. Хорев, П.Б. Объектно-ориентированное программирование / П.Б. Хорев. - М.: Academia, 2017. - 448 c.

29. Шахгельдян, К.И. Объектно-ориентированное программирование. / К.И. Шахгельдян Учебное пособие. Влад., ВГУЭС. - 2014.

30. SQL Server [Электронный ресурс]. URL: https://www.microsoft.com/ru-ru/sql-server (дата обращения: 05.05.2020).

31. Richter, J. CLR via C# / J. Richter - Redmond: Microsoft Press, 2014. - 873 p.

32. Evans, E. Domain-Driven Design: Tackling Complexity in the Heart of Software / E. Evans - New York: Addison-Wesley Professional, 2013. - 530 p.

33. Albahari, J. Threading in C# / J. Albahari - Seb: O'Reilly Media, 2014. - 720 p.

34. Liberty, J. Learning C# / J. Liberty - Seb: O'Reilly Media, 2014. - 630 p.

35. Greene, J. Head First C# / J. Greene, A. Stellman - Washington: O'Reilly Media, 2013. - 570 p.

36. Clark, D. Beginning C# Object-Oriented Programming / D. Clark - New York: Apress, 2016. - 780 p.

37. Albahari, B. C# in a Nutshell / B. Albahari, J. Albahari, - Washington: O'Reilly Media, 2017. - 1088p.

Приложение 1. Структура проекта

Рисунок 1 - Структура проекта (часть 1)

Рисунок 2 - Структура проекта (часть 2)

Приложение 2.

Пример создания таблиц с помощью C# (Entity Framework)

CreateTable(

"dbo.Expenses",

c => new {

Id = c.Int(nullable: false, identity: true),

CurrentDate = c.DateTime(nullable: false),

RecipeAmount = c.Int(nullable: false),

Recipe_Id = c.Int(),

Shift_Id = c.Int(), })

.PrimaryKey(t => t.Id)

.ForeignKey("dbo.Recipes", t => t.Recipe_Id)

.ForeignKey("dbo.Shifts", t => t.Shift_Id)

.Index(t => t.Recipe_Id)

.Index(t => t.Shift_Id);

CreateTable(

"dbo.Suppliers",

c => new {

Id = c.Int(nullable: false, identity: true),

Title = c.String(),

Phone = c.String(),

ContactName = c.String(),

})

.PrimaryKey(t => t.Id);

Приложение 3.

Пример реализация функции авторизации

private void Autorization(object parameter)

{

var passwordBox = parameter as PasswordBox;

var password = passwordBox.Password;

var user = context.Users.Join(context.UserTypes,

u => u.UserType.Id ,

t => t.Id,

(u, t) => new

{

Id = u.Id,

LastName = u.LastName,

Name = u.Name,

Patronymic = u.Patronymic,

Login = u.Login,

Pass = u.Pass,

Phone = u.Phone,

Mail = u.Mail,

Type = u.UserType.Id

});

var checkinguser = user.Where(u => u.Login.Equals(Login) & u.Pass.Equals(password));

if (checkinguser.Count() > 0)

{

Maincontroller = MainController.GetMainController();

if (checkinguser.FirstOrDefault().Type == 1)

{

Maincontroller.StartAdminView(user.FirstOrDefault().Id, checkinguser.FirstOrDefault().LastName+" "+ checkinguser.FirstOrDefault().Name);

}

else

{

Maincontroller.StartHRView(user.FirstOrDefault().Id, checkinguser.FirstOrDefault().LastName + " " + checkinguser.FirstOrDefault().Name);

}

}

else

{

MessageBox.Show("Пользователь не существует");

}

}

Размещено на Allbest.ru

...

Подобные документы

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