Функциональные требования определяют основные возможности и функции разрабатываемой системы. Разрабатываемое приложение представляет собой чат-бота для изучения иностранных языков, предназначенного для обучения пользователей английскому, немецкому и русскому языкам в интерактивной форме.
Система должна обеспечивать регистрацию и авторизацию пользователей для сохранения личного прогресса обучения. После входа в систему пользователь должен иметь возможность выбрать изучаемый язык, а также уровень сложности обучения в зависимости от имеющихся знаний.
Основной функцией приложения является ведение текстового диалога между пользователем и чат-ботом. Бот должен поддерживать общение на выбранном языке, отвечать на сообщения пользователя, исправлять допущенные ошибки и предлагать правильные варианты написания слов и предложений. Также система должна предоставлять перевод незнакомых слов и краткие объяснения грамматических правил.
Приложение должно содержать обучающие упражнения различного типа: задания на перевод, составление предложений, изучение новых слов и тренировочные диалоги. После прохождения определённой темы пользователь должен иметь возможность пройти тестирование для проверки усвоенного материала.
Система должна автоматически проверять ответы пользователя, отображать найденные ошибки и выводить правильные варианты ответов. За успешное выполнение заданий пользователю начисляются баллы или достижения, позволяющие отслеживать прогресс обучения.
Для повышения эффективности изучения языков приложение должно предоставлять возможность сохранения новых слов в личный словарь пользователя с последующим повторением изученного материала.
Также система должна поддерживать отправку уведомлений и напоминаний о необходимости продолжения обучения, что способствует регулярному использованию приложения.
Для управления содержимым системы должен быть предусмотрен режим администратора, позволяющий добавлять и редактировать учебные материалы, задания и управлять пользователями системы.
Кроме функциональных требований, приложение должно обладать простым и понятным интерфейсом, обеспечивать стабильную работу и защиту пользовательских данных, а также поддерживать работу на персональных компьютерах и мобильных устройствах.