Оглавление
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 4
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 5
ВВЕДЕНИЕ 6
ГЛАВА 1. ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ 7
1.1 Описание деятельности компании 7
1.2 Описание предметной области 8
1.3 Выбор инструментов для реализации 11
1.4 Формирование требований к сервису 15
1.5 Анализ и выбор технического решения 16
1.5.1 Разработка алгоритма синхронизации шаблонов 19
1.5.2 Разработка алгоритма отправки сообщений 20
1.5.3 Разработка алгоритма обработки очереди RabbitMQ 22
1.5.4 Разработка алгоритма задания отправки сообщений 23
1.5.5 Разработка алгоритма приёма отчётов о доставке 24
1.5.6 Разработка алгоритма задания обработки отчётов о доставке 25
1.5.7 Разработка алгоритма мониторинга приложения в Zabbix 26
1.6 Концептуальное проектирование 27
1.6.1 Функциональное проектирование 27
1.6.2 Объектное проектирование 29
1.6.3 Концептуальная модель 37
1.7 Логическое проектирование 38
1.7.1 Упрощение концептуальной модели 38
1.7.2 Разработка реляционной модели 39
1.7.3 Таблицы и атрибуты 39
1.7.4 Функциональные зависимости 41
1.7.5 Нормализация отношений 42
1.7.5 Реляционные связи 44
1.7.6 Обеспечение целостности базы данных 47
1.7.7 Реляционная схема данных 52
1.8 Проектирование пользовательского интерфейса 53
ГЛАВА 2. РАЗРАБОТКА СЕРВИСА 55
2.1 Установка и конфигурация фреймворка 55
2.2 Генерация моделей для работы с БД 57
2.3 Разработка вспомогательных моделей 58
2.4 Разработка моделей для фоновых заданий 61
2.5 Разработка контроллеров 63
2.6 Разработка автотестов 68
2.7 Развёртывание приложения в кластере 71
2.8 Разработка клиентской части 72
ГЛАВА 3 ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ РАЗРАБОТАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ 79
ЗАКЛЮЧЕНИЕ 83
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 84
ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ 85
ПРИЛОЖЕНИЕ Б. ТЕХНИЧЕСКОЕ ЗАДАНИЕ 99
ПРИЛОЖЕНИЕ В. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ 123