Техническое задание (ТЗ) на разработку программного продукта «Викторина: Защита персональных данных» 1. Общие сведения 1.1. Наименование программы: «Викторина: Защита персональных данных» 1.2. Назначение программы: Интерактивное обучающее средство для проверки и закрепления знаний в области законодательства и мер защиты персональных данных (ФЗ-152, GDPR, классификация угроз и уровней защищенности). 1.3. Целевая аудитория: Студенты, сотрудники организаций, проходящие обучение по информационной безопасности, а также все желающие проверить свои знания. 1.4. Платформа: Кроссплатформенное приложение с графическим интерфейсом на языке Python с использованием библиотеки Tkinter. 2. Функциональные требования 2.1. Основные функции Стартовый экран Отображение приветствия и правил прохождения викторины. Кнопка «Начать викторину» для запуска тестирования. Генерация последовательности вопросов Хранение банка вопросов (не менее 50) с вариантами ответов, пояснениями и изображениями (ссылки). Перемешивание вопросов в случайном порядке перед началом теста. Отображение вопроса Номер текущего вопроса / общее количество вопросов. Текст вопроса. Четыре варианта ответа, отображаемых с нумерацией (1,2,3,4). Возможность выбора варианта мышью или клавишами 1-4. Проверка ответа Сравнение выбранного варианта с правильным (с учётом предварительного перемешивания ответов). Подсчет количества правильных ответов. Отображение модального окна с результатом: «Правильно!» (зеленый фон); «Неправильно» (красный фон) с указанием правильного ответа и пояснением. Переход к следующему вопросу Автоматический переход после закрытия модального окна. Возможность выхода из теста в любой момент (кнопка «Выход (Esc)»). Итоговый экран Вывод количества правильных ответов, процента выполнения. Текстовый комментарий в зависимости от результата (отлично, хорошо, стоит повторить). Кнопки: «Пройти заново» и «Завершить». 2.2. Управление с клавиатуры 1, 2, 3, 4 — выбор варианта ответа. Enter — подтверждение ответа / закрытие окна результата. Esc — выход из приложения (с подтверждением). 2.3. Требования к интерфейсу Адаптивный дизайн под фиксированный размер окна 800x600. Цветовое выделение экранов: Стартовый экран — светло-синий. Итоговый экран — светло-зеленый. Окно результата — зеленый/красный фон. Интуитивно понятные подсказки по горячим клавишам. 3. Структура данных Приложение содержит статический массив (список) словарей, описывающих вопросы. Каждый словарь включает: id — уникальный номер вопроса. question — текст вопроса. options — список из 4 строк (варианты ответов). correct — индекс правильного ответа (0-3) в исходном списке. explanation — пояснение к правильному ответу. image — URL (не используется в текущей версии, зарезервировано). 4. Требования к надежности Обработка ситуации, когда пользователь не выбрал ответ (вывод предупреждения). Подтверждение выхода при нажатии Esc. 5. Условия эксплуатации Наличие установленного интерпретатора Python 3.x. Подключение к интернету не требуется (ссылки на изображения не загружаются).