АННОТАЦИЯ 3
Перечень условных обозначений 4
Введение 5
1 Анализ требований 7
1.1 Функциональные требования 7
1.2 Нефункциональные требования 10
1.3 Формализация требований 11
1.4 Модель предметной области 14
1.4.1 Модель складского учёта 16
1.4.2 Модель интернет-магазина 17
2 Инструментарий и архитектурные решения 22
2.1 Обзор альтернативных решений 22
2.2 Инструментарий 23
2.2.1 ASP.NET MVC 5 23
2.2.2 ASP.NET Web API 24
2.2.3 Entity Framework 25
2.2.4 Quartz.NET 26
2.2.5 Bootstrap 27
2.2.6 TypeScript 28
2.2.7 jQuery 30
2.3 Архитектурные решения 30
2.3.1 Паттерн «Репозиторий» 30
2.3.2 Паттерн «Unit of Work» 31
3 Проектирование и реализация 34
3.1 Модель классов 34
3.1.1 Предметы от центрального офиса и личные предметы 36
3.1.2 Модель складского учёта 37
3.1.3 Модель интернет-магазина 41
3.2 Пакеты подсистемы 46
3.3 Реализация модуля складского учёта 48
3.3.1 Проблема валидации данных 48
3.3.2 Общий алгоритм валидации данных 49
3.3.3 Валидация данных для передающей стороны 52
3.3.4 Реализация дерева категорий 56
3.4 Реализация модуля интернет-магазина 57
3.4.1 Оформление заказов 57
3.4.2 Электронные платежи по заказам 62
3.4.3 Возврат средств за платежи 64
3.4.4 Разработка API для мобильного приложения 65
Заключение 67
Список использованных источников 68
Education ERP - это веб-система для автоматизации и управления процессами школ дополнительного образования, использующаяся различными франшизными сетями. Пользователи Education ERP обладают широким функционалом, позволяющим вести запись клиентов на занятия онлайн, контролировать продажу абонементов, составлять планы занятий, предоставлять сотрудникам каталоги материалов для повышения квалификации, формировать финансовые отчёты и многое другое.
Главными пользователями системы являются франчайзи, владеющие, как правило, одной или несколькими школами. Вести деятельность по управлению школами франчайзи помогают их сотрудники: тренеры, директоры и менеджеры, ответственные за работу с клиентами.
Контролем работы филиалов, зарегистрированных в Education ERP, занимается центральный офис, сотрудники которого также являются пользователями Education ERP.
Деятельность филиалов невозможна без наличия инвентаря, необходимого для проведения занятий. Чтобы поддерживать актуальность данных об инвентаре, нужно вести складской учёт товарно-материальных ценностей. Подавляющее большинство филиалов ранее занималось этим вручную, так как не существовало готового программного решения, которое бы учитывало все особенности франшизной модели и не было при этом излишне громоздким.
Помимо этого, часть имеющегося инвентаря франчайзи продавали своим клиентам. Однако продажи носили единичный характер, потому что у франчайзи не было удобного способа предоставлять клиентам каталог товаров: чтобы всего лишь показать, какие товары были в наличии, приходилось приносить их в школу и демонстрировать клиентам перед занятиями.
В связи с вышеописанными проблемами, возникла идея разработки комплексного решения в рамках системы Education ERP. В его основе должны лежать два модуля: модуль складского учёта для контроля движения товарно-материальных ценностей и модуль интернет-магазина для предоставления клиентам франчайзи актуального каталога товаров. Оба таких модуля должны работать с едиными сущностями, за счёт чего станет возможным достижение удобства в поддержании актуальной информации об инвентаре для франчайзи и их сотрудников. В свою очередь, клиенты получат возможность не только видеть каталог товаров франчайзи, но и покупать товары в личном кабинете системы.
Таким образом, целью данной работы является разработка модулей складского учёта и интернет-магазина и их объединение в общую подсистему в рамках системы Education ERP.
Список задач для достижения цели работы можно определить следующим образом:
1. Провести анализ требований к модулям складского учёта и интернет-магазина.
2. Спроектировать модули складского учёта и интернета-магазина и построить модель единой подсистемы.
3. Разработать модули складского учёта и интернет-магазина.
Стоит отметить важный момент: перед началом работы было принято решение, что в первую очередь будет реализован и введён в эксплуатацию модуль складского учёта, и лишь затем модуль интернет-магазина. В связи с этим, проектирование и разработка модуля интернет-магазина велась на основе решений, принятых при проектировании и разработке модуля складского учёта.
В рамках данной работы в системе Education ERP была разработана и введена в эксплуатацию единая подсистема, состоящая из модулей складского учёта и интернет- магазина. Все поставленные цели и задачи достигнуты в соответствии со сформулированными требованиями.
Модуль складского учёта был введён в эксплуатацию в феврале 2021 года и на данный момент используется пользователями Education ERP.
Модуль интернет-магазина был введён в эксплуатацию в апреле 2021 года и на данный момент используется пользователями Education ERP.
В настоящее время происходит сбор обратной связи от пользователей, чтобы определить дальнейший вектор развития подсистемы.