Индивидуальное задание №20
«Система лояльности и бонусных программ»
Section titled “«Система лояльности и бонусных программ»”Целевая аудитория данной предметной области: Покупатели розничной сети, кассиры, маркетологи и администраторы
Цель проекта: Повысить повторные покупки и увеличить средний чек через персональные предложения
Section titled “Цель проекта: Повысить повторные покупки и увеличить средний чек через персональные предложения”Разработать программный модуль информационной системы, выполнив следующие задания:
1. Анализ предметной области
Провести анализ предметной области: выделить роли пользователей (не менее 3) и описать их функции, составить перечень требований к системе (не менее 5) в формате «Система должна…», обосновать выбор архитектуры и СУБД, построить ER-диаграмму основных сущностей.
2. Постановка задачи и составление блок-схемы алгоритма
Составить информационную постановку задачи «Определение уровня участника программы лояльности и расчёт начисляемых бонусов»: определить входные и выходные данные с типами, записать расчётную формулу, построить блок-схему алгоритма по ГОСТ 19.701-90 (начало → ввод → вычисление → ветвление → вывод → конец).
3. Реализация программного модуля на языке ООП
Выбрать язык реализации: Python · PHP · Node.js (JavaScript) · Java · Go
Разработать программный модуль для управления бонусными картами, начисления и списания баллов с применением принципов ООП: инкапсуляция данных, реализация методов, валидация входных данных, обработка исключений. Продемонстрировать работу кода.
4. Проектирование базы данных и SQL-запросы
Разработать реляционную схему базы данных для данной предметной области (3–5 таблиц). Написать 4 SQL-запроса для получения аналитической информации: выборка с объединением таблиц (JOIN), агрегация с группировкой (GROUP BY), фильтрация групп (HAVING), работа с отсутствующими связями (LEFT JOIN).
5. Тестирование программного модуля
Разработать тестовые сценарии для функции «Списание бонусных баллов»: определить классы эквивалентности для входных данных (допустимые и недопустимые значения), составить таблицу тест-кейсов (не менее 6 строк: ID | описание | входные данные | ожидаемый результат), подготовить тест-план или баг-репорт.
6. Разработка проектной документации
Составить раздел «Требования к уровням участника и персональным акциям» технического задания по ГОСТ 34.602-2020: уровни (не менее 3 требований), акции (не менее 3 требований), сгорание баллов (не менее 2 требований с числовыми параметрами).
7. Оценка качества программного обеспечения
Составить матрицу оценки качества по ISO/IEC 25010: выбрать 5 характеристик, присвоить весовые коэффициенты (Σ = 1,0), выставить оценки 1–5 с обоснованием, вычислить интегральный показатель, сделать вывод о пригодности к эксплуатации. Описать бизнес-процесс в виде таблицы (не менее 5 шагов). Определить KPI: redemption rate = списанные баллы / начисленные × 100; средний баланс баллов на участника.