Forráskód Böngészése

Добавить 'Лекции/2.5.800_Управление_доступом_и_контроль_печати_конфиденциальной_информации/Guzeev_tex_zd.md'

u23-27guzeev 2 napja
szülő
commit
223f60bc01

+ 210 - 0
Лекции/2.5.800_Управление_доступом_и_контроль_печати_конфиденциальной_информации/Guzeev_tex_zd.md

@@ -0,0 +1,210 @@
+# ТЕХНИЧЕСКОЕ ЗАДАНИЕ
+на разработку программного продукта
+«Интерактивная игра: Управление доступом и контроль печати конфиденциальной информации»
+
+## 1. Общие сведения
+### 1.1. Наименование продукта
+«Интерактивная игра: Управление доступом и контроль печати конфиденциальной информации» (далее — Игра).
+
+### 1.2. Назначение
+Игра предназначена для обучения сотрудников организаций, студентов и специалистов в области информационной безопасности основам:
+
+моделей управления доступом (DAC, MAC, RBAC);
+
+принципа минимальных привилегий;
+
+безопасной печати конфиденциальных документов;
+
+маркировки и уничтожения бумажных носителей;
+
+расследования инцидентов, связанных с утечкой через печать.
+
+Цель — закрепление теоретических знаний в интерактивной форме, проверка правильности принятия решений в симулированных ситуациях.
+
+### 1.3. Заказчик и исполнитель
+Заказчик: (указывается по требованию).
+Исполнитель: разработчик (физическое или юридическое лицо).
+
+### 1.4. Основания для разработки
+Настоящее ТЗ составлено на основании требований к обучающим системам по курсу «Информационная безопасность» и необходимости автоматизированной проверки знаний по теме контроля печати и управления доступом.
+
+## 2. Требования к функциональности
+### 2.1. Общая структура
+Игра должна состоять из последовательных сцен (этапов). Количество сцен — 5 (пять). Каждая сцена представляет собой интерактивное задание с проверкой правильности ответа. Переход к следующей сцене возможен только после успешного выполнения текущей.
+
+### 2.2. Перечень сцен и их функциональные требования
+Сцена 1: Выбор модели доступа
+
+Описание: Пользователю предъявляются 3 описания моделей DAC, MAC, RBAC и выпадающие списки для выбора правильной модели.
+
+Критерий успеха: Все 3 соответствия верны.
+
+Сцена 2: Принцип минимальных привилегий
+
+Описание: Пользователь назначает права доступа (чтение/печать) для ролей: Бухгалтер, Кадровик, Сисадмин, Стажёр к объектам: «Зарплата», «Личные дела», «Журналы сервера», «Общие инструкции».
+
+Критерий успеха: Выбор должен в точности соответствовать матрице: Бухгалтер → только «Зарплата»; Кадровик → только «Личные дела»; Сисадмин → только «Журналы»; Стажёр → только «Инструкции».
+
+Сцена 3: Настройка безопасной печати
+
+Описание: Пользователь выбирает принтер (из трёх вариантов), время автоматического удаления невостребованного задания (5, 15, 30 минут), необходимость аутентификации.
+
+Критерий успеха: Принтер — «Принтер в сейфовой комнате», время = 5 минут, аутентификация = Да.
+
+Сцена 4: Маркировка и уничтожение
+
+Описание: Два вопроса:
+
+Как промаркировать конфиденциальный документ (варианты: только гриф, штамп с номером экземпляра, без маркировки).
+
+Что сделать с бракованной распечаткой (мусор, черновик, шредер 3-й степени, сжечь).
+
+Критерий успеха: Штамп с номером экземпляра + шредер 3-й степени.
+
+Сцена 5: Расследование инцидента
+
+Описание: Представлен журнал печати (таблица). Пользователь должен указать, кто из сотрудников распечатал тот же конфиденциальный файл сразу после Петрова и не имел прав.
+
+Критерий успеха: Ответ — Иванов.
+
+### 2.3. Дополнительные функциональные требования
+Прогресс и очки: отображение текущего этапа (счётчик или прогресс-бар) и накопленных баллов (по +10 баллов за каждый успешно пройденный этап).
+
+Звуковое сопровождение: короткий звуковой сигнал при правильном ответе (1000 Гц, 200 мс) и при ошибке (400 Гц, 500 мс). Возможность отключения звука не требуется.
+
+Анимация: при проверке ответа фон основного рабочего фрейма должен плавно менять цвет на зелёный (успех) или красный (ошибка) с последующим возвратом к исходному цвету. Длительность анимации не более 0,5 секунды.
+
+Подсказки: на каждой сцене должна быть кнопка «Подсказка». При нажатии в нижней части окна на 5 секунд отображается текст с полезным советом по текущему заданию.
+
+Завершение игры: после успешного прохождения всех 5 сцен выводится финальное сообщение с итоговым количеством очков. Приложение закрывается по желанию пользователя (кнопка OK в сообщении или крестик окна).
+
+### 2.4. Обработка ошибок
+При неправильном ответе на любом этапе игра не переходит к следующей сцене, выдаёт сообщение об ошибке с пояснением и остаётся на текущей сцене для повторной попытки.
+
+Количество попыток не ограничено.
+
+Пользователь может менять свои ответы до момента нажатия кнопки «Проверить».
+
+## 3. Требования к пользовательскому интерфейсу
+### 3.1. Окно приложения
+Размер окна: не менее 900×700 пикселей (рекомендуется 900×700).
+
+Заголовок окна: «Игра: Управление доступом и контроль печати».
+
+Цветовая схема: тёмный фон (основной #2c3e50, заголовок #1a252f), светлый текст (#ecf0f1, #bdc3c7), акцентные кнопки (#3498db, #f39c12).
+
+### 3.2. Элементы интерфейса (постоянные)
+Верхняя панель (header): название игры, прогресс-бар (ttk.Progressbar), индикатор очков.
+
+Основная область (content): сменяемый контент в зависимости от сцены.
+
+Нижняя панель (footer): поле для отображения подсказок (изначально нейтральный текст).
+
+### 3.3. Элементы управления на сценах
+Кнопка «Проверить» (или аналогичная) — запускает проверку ответов.
+
+Кнопка «Подсказка» — отображает подсказку.
+
+На сцене 1 — выпадающие списки (Combobox) для выбора модели.
+
+На сцене 2 — чекбоксы в виде таблицы.
+
+На сцене 3 — радиокнопки и чекбокс.
+
+На сцене 4 — радиокнопки.
+
+На сцене 5 — радиокнопки и таблица (Treeview).
+
+Все элементы должны быть читаемыми, с достаточными отступами.
+
+## 4. Технические требования
+### 4.1. Платформа и язык реализации
+Язык программирования: Python версии 3.7 и выше.
+
+Графическая библиотека: tkinter (входит в стандартную поставку Python).
+
+Дополнительные библиотеки: не требуются (кроме стандартных: tkinter, random, time, winsound — опционально).
+
+### 4.2. Требования к коду
+Код должен быть самодостаточным, не требовать установки дополнительных пакетов.
+
+Структура: класс SecurityGame, методы для каждой сцены, методы анимации, звука, перехода между сценами.
+
+Использовать объектно-ориентированный подход.
+
+Код должен быть документирован (комментарии на русском или английском языке, поясняющие ключевые моменты).
+
+### 4.3. Обработка исключений
+При отсутствии звуковой поддержки (например, на Linux/macOS) программа не должна завершаться с ошибкой; функция звука должна корректно обрабатывать исключения (try/except).
+
+### 4.4. Производительность
+Интерфейс должен откликаться мгновенно на действия пользователя. Анимация не должна вызывать заметных задержек.
+
+## 5. Состав и содержание работ по разработке
+Разработка архитектуры приложения (класс, методы, хранение состояния).
+
+Реализация главного окна и постоянных элементов (прогресс, очки, подсказки).
+
+Реализация каждой из 5 сцен в соответствии с функциональными требованиями.
+
+Реализация звуковых эффектов и анимации.
+
+Интеграция подсказок и логики проверки ответов.
+
+Тестирование на корректность работы всех сценариев (правильные и неправильные ответы).
+
+Написание инструкции по запуску (в виде комментариев в коде или отдельного файла README).
+
+## 6. Требования к документации
+Документация должна включать:
+
+Краткое описание игры и её целей.
+
+Инструкцию по запуску (команда python filename.py).
+
+Краткое описание сцен и правильных ответов.
+
+Перечень использованных библиотек.
+
+Документация может быть оформлена в виде отдельного файла README.md или в виде комментариев в начале исходного кода.
+
+## 7. Порядок сдачи и приёмки
+Результатом работы является один файл с исходным кодом на Python (расширение .py), который при запуске открывает окно игры.
+
+Приёмка осуществляется по критериям:
+
+работа всех 5 сцен без ошибок;
+
+корректная обработка правильных и неправильных ответов;
+
+наличие прогресс-бара и счёта очков;
+
+наличие анимации и звуковых сигналов (или их корректное отключение при отсутствии поддержки);
+
+удобство интерфейса.
+
+Тестирование проводится на операционной системе Windows 10/11 (приоритет) и, опционально, на Linux/macOS.
+
+## 8. Сроки разработки
+(Указываются при необходимости, например: 5 рабочих дней с момента утверждения ТЗ.)
+
+## 9. Предполагаемые риски и их минимизация
+Риск: Отсутствие звука на платформах, отличных от Windows
+Минимизация: Использовать try/except, при отсутствии winsound просто не воспроизводить звук, не выдавая ошибку.
+
+Риск: Некорректное отображение анимации при медленной системе
+Минимизация: Установить минимальную задержку между шагами анимации (0.02 с) и ограничить число шагов (10).
+
+Риск: Сложность размещения чекбоксов на сцене 2
+Минимизация: Использовать Canvas.create_window для точного позиционирования.
+
+## 10. Приложение: эталонные правильные ответы
+Сцена 1: (1) DAC, (2) MAC, (3) RBAC
+
+Сцена 2: Бухгалтер → Зарплата; Кадровик → Личные дела; Сисадмин → Журналы; Стажёр → Инструкции
+
+Сцена 3: Принтер в сейфовой комнате, 5 минут, аутентификация Да
+
+Сцена 4: Штамп с номером экземпляра; шредер 3-й степени
+
+Сцена 5: Иванов