Итак, функциональные требования (далее — ФТ).
Наиболее удобный формат для составления ФТ — это User Stories + Наброски интерфейса. Рассказывать о том, что такое User Stories я не буду, в интернетах масса информации на эту тему, поэтому сразу к делу.
Я хочу ограничить весь функционал модуля пока одной ключевой фичей — генерацией купонов. Я считаю, что именно этого функционала очень не хватает и буду начинать реализацию именно с него и ФТ буду составлять пока только на него.
Разграничение прав доступа
Во всех процессах принимает участие только один вид пользователя — авторизованный администратор модуля генерации купонов. Все остальные пользователи не имеют доступа к этому модулю. Исключение составляет супер-администратор, который имеет права на все.
Предварительные условия.
- Пользователь должен быть авторизован
- Пользователь должен иметь права доступа на осуществление генерации купонов
Условия.
- Зайдя в административную панель, пользователь должен иметь возможность лицезреть пункт меню «Маркетинг > Товарный маркетинг > Генерация купонов», располагающийся под меню «Купоны»
- При входе на страницу «Маркетинг > Товарный маркетинг > Генерация купонов» пользователь должен увидеть форму настроек генерации
В форме генерации пользователь видит настройки генерации, где он может:
- ознакомиться с описанием функциональности генератора
- выбрать один из существующих пулов (правил работы с корзиной), который будет использоваться в качестве хранилища для сгенерированных купонов
- перейти к созданию нового пула купонов
- видеть информацию о количестве купонов в выбранном пуле купонов
- настроить шаблон для генерации купона
- добавить постоянный префикс и постфикс при генерации купона
- настроить такие параметры генерации купонов, как «Активность купона» (да/нет), «Тип купона» (на одну позицию, на один заказ, многоразовый), «Период активности купона» (без ограничений или указание интервала дат), «Максимальное число использований» (без значения или число)
- задать количество купонов, необходимых для генерации
- узнать предварительную информацию о генерации с выбранными параметрами
- произвести запуск процесса генерации
После запуска процесса генерации пользователь должен иметь возможность:
- получить информацию о ходе генерации в виде прогрессбара
- иметь возможность прервать процесс генерации
- по окончании процесса генерации получить статистическую информацию, собранную в ходе генерации (количество сгенерированных купонов, количество успешно сохраненных купонов, неудачных попыток сохранения купонов, информацию о дубликатах)
Экраны
Экраны выполнены в онлайн редакторе ninjamock.com. По большому счету, без разницы, как они будут прорисованы, можно хоть на бумаге карандашом нарисовать. Главное — это передать идею.
Ну и дизайн нам рисовать не нужно, т.к. все интерфейсы будут находиться в административной части битрикса, а значит будет использоваться стандартный для битрикса стиль оформления всех элементов управления.
Форма настроек генерации
Прогресс генерации
Результат генерации
Подводим итоги
Итак, теперь у нас на руках есть «набор хотелок» от «заказчика» (т.е. от меня 🙂 ), формализованных в форме набросков интерфейса и простых User Stories. Этот набор хотелок является основанием для составления технического задания и оценки проекта. Скорее всего представленные здесь наброски интерфейса претерпят какие-то изменения, да и какие-то требования тоже усложнятся, или упростятся, но у нас есть уже хотя бы что-то, что позволит нам работать далее.
В следующей статье составим более четкое задание, разобьем функционал на программные компоненты, попробуем продумать архитектуру будущего модуля и выделим задачи, которые надо решить.