Техническое задание: от идеи до безопасной разработки | В.А. Пиков
pikov.expert
Техническое задание: от идеи до безопасной разработки
В.А. Пиков · УЦ МАСКОМ · ГОСТ · РБПО · ПМИ
Markdown
Авторский курс · технические задания · безопасная разработка

Техническое задание:
разработать,
проверить,
защитить

Большой учебный лендинг В.А. Пикова о том, как превращать идеи, пользовательские сценарии, ГОСТы и требования РБПО в проверяемое ТЗ.

104крупных экранов
12смысловых разделов
ГОСТ19 · 34 · 56939
2026версия курса
Открытие01 / 104
Навигация

Два режима: лекция на проекторе и самостоятельное чтение

По умолчанию открыт режим слайдов с крупными шрифтами. Лонгрид нужен слушателю после занятия: поиск, копирование, печать и повторение.

01

Слайды

Один крупный экран на проекторе. Переходы стрелками, колесом мыши, свайпом или кнопками снизу.

02

Лонгрид

Все экраны идут вертикально. Слева появляется содержание, активная тема подсвечивается при прокрутке.

03

Размер шрифта

Кнопка A переключает крупный и очень крупный режим. Базовый вариант сразу рассчитан на аудиторию.

Открытие02 / 104
Markdown доступен сразу

Методичку можно скачать в формате Markdown

Раздаточный материал лежит рядом с лендингом и открывается без сервера, базы данных и внешних зависимостей.

Скачать методичку Markdownmaterials/лекции/методичка-по-написанию-ТЗ.md
Важно для публикацииНа хостинг загружается обычная статическая папка. Стили, логика слайдов и SVG-иконки встроены в один HTML.
Открытие03 / 104
7 больших блоков

От смысла ТЗ к проверке требований безопасности

Курс построен как инженерный маршрут: сначала понять продукт, потом написать требования, потом связать их с приемкой и РБПО.

Зачем ТЗ
Нормативная рамка
Пять слоев продукта
Качество требований
Безопасность
РБПО
ПМИ и приемка
Открытие04 / 104
Одна мысль на весь курс

ТЗ не заменяет проектирование. Оно фиксирует то, что уже понято

Если нет пользователя, сценариев, интерфейсов, архитектурных ограничений и модели угроз, документ будет имитировать определенность.

User Story + интерфейс + архитектурные ограничения + модель угроз + ГОСТ + критерии приемки = проверяемое ТЗФормула курса: требование должно быть полезно разработчику, испытателю, заказчику и аудитору.
Открытие05 / 104
Специальное предложение

Как превратить ТЗ из бюрократии в преимущество?

Закажите аудит текущего ТЗ или проведите корпоративное обучение для вашей команды. Мы внедрим практики РБПО и ГОСТ без остановки разработки.

Для кого это?Для руководителей разработки, системных аналитиков и отделов ИБ, которым нужно соответствовать ГОСТ Р 56939-2024 и выпускать защищенное ПО.
Оффер · Обучение и консалтинг06 / 104
Автор курса

Виталий Александрович Пиков

Методолог, эксперт по информационной безопасности и разработке безопасного ПО (РБПО).

Более 15 лет в ИТ и ИБ. Специализируется на стыке государственных стандартов (ГОСТ) и современных практик разработки (Agile, DevSecOps).

  • Преподаватель УЦ МАСКОМ
  • Автор методологии «ТЗ + РБПО»
  • Практик внедрения ГОСТ Р 56939-2024
  • Консультант по сертификации ПО
Оффер · Обучение и консалтинг07 / 104
Почему мы

УЦ МАСКОМ: промышленная экспертиза в безопасности

Обучение проводится на базе одного из ведущих учебных центров страны в области защиты информации.

01

Лицензия

Образовательная деятельность по программам повышения квалификации и профпереподготовки.

02

Сертификат

Слушатели получают документы установленного образца, признаваемые регуляторами.

03

Практика

Разбор реальных кейсов, работа с инструментами анализа (SAST/SCA) и шаблонами ГОСТ.

Оффер · Обучение и консалтинг08 / 104
Свяжитесь со мной

Обсудите ваш проект или обучение команды

Я открыт для предложений по аудиту ТЗ, внедрению процессов РБПО и корпоративному обучению.

Другие способыЕсли вам удобнее почта, пишите на vitaly@pikov.expert. Обычно я отвечаю в течение рабочего дня.
Оффер · Обучение и консалтинг09 / 104
Блок 1

Зачем техническое задание, если все и так “понятно”

ТЗ становится рабочим инструментом только тогда, когда оно управляет границами, сроками, приемкой и безопасностью.

  • Документ удерживает договоренность между заказчиком и исполнителем.
  • Документ превращает ожидания в проверяемые критерии.
  • Документ защищает проект от бесконечных устных трактовок.
Блок 1 · Зачем ТЗ10 / 104
Позиция курса

Хорошее ТЗ пишется не для архива, а для разработки

В нем должны быть не красивые формулировки, а управляемые единицы работ: что реализуем, почему, как проверяем, кто принимает.

01

Заказчик

Получает контроль результата, бюджета, сроков и состава приемки.

02

Исполнитель

Получает однозначный объем работ и защиту от бесконечных переделок.

03

Аудитор

Получает трассируемые критерии соответствия и подтверждающие артефакты.

Блок 1 · Зачем ТЗ11 / 104
Красная зона

Фраза “все понятно” почти всегда означает, что требования еще не готовы

Понимание должно быть проверяемым: одинаковая трактовка у заказчика, аналитика, разработчика, тестировщика и специалиста по ИБ.

Остановить аудиториюЕсли читающий документ может сказать “я понял это иначе”, значит требование не прошло базовый контроль качества.
01

Неоднозначность

Один текст допускает разные варианты реализации.

02

Непроверяемость

Нельзя построить тест, измерение, инспекцию или демонстрацию.

03

Неполная область

Не описаны роли, ограничения, данные, исключения и критерии приемки.

Блок 1 · Зачем ТЗ12 / 104
Роли документа

ТЗ связывает бизнес, разработку, испытания и эксплуатацию

Один и тот же пункт должен быть понятен разным участникам проекта, но в каждой роли он отвечает на свой вопрос.

РольВопросЧто должно быть в ТЗ
БизнесКакой результат покупаем?Цель, границы, критерии успеха, ограничения бюджета и сроков.
РазработкаЧто именно делать?Функции, интерфейсы, данные, статусы, ошибки, интеграции.
ИспытанияКак принять?Методы проверки, ожидаемые результаты, связь с ПМИ.
ИБЧто защищаем?Угрозы, меры, процессы РБПО, SAST/SCA/SBOM, артефакты.
Блок 1 · Зачем ТЗ13 / 104
Методическая ловушка

Открывать шаблон ТЗ до проектирования — плохая привычка

Шаблон помогает оформить результат размышления. Он не должен подменять исследование продукта, пользователя, архитектуры и рисков.

ПлохоНачать с разделов ГОСТа и пытаться заполнить пустоты общими словами.
ПравильноСначала собрать входные данные: цель, роли, сценарии, ограничения, угрозы, критерии приемки.
Блок 1 · Зачем ТЗ14 / 104
Из авторской лекции

Споры по ТЗ возникают не из-за объема текста, а из-за слабых требований

Даже длинный документ может не защищать заказчика, если в нем нет однозначных критериев приемки и границ трактования.

Лекционный акцентКомпания может считать, что она выполнила ТЗ, а заказчик — что получил не то. В споре решает не ожидание, а текст требования и критерий приемки.
  • Не смешивать пожелания и обязательства.
  • Не оставлять субъективные слова без метрики.
  • Не принимать требование без способа проверки.
Блок 1 · Зачем ТЗ15 / 104
Порядок работы

Сначала продуктовая ясность, потом документная дисциплина

ТЗ фиксирует договоренности о продукте, а не заменяет обсуждение продукта.

Проблема
Пользователь
Сценарий
Интерфейс
Архитектура
Угроза
Требование
ПМИ
Блок 1 · Зачем ТЗ16 / 104
Практический результат

Заказчик получает управляемую приемку, а не надежду

Качественное ТЗ заранее определяет, что будет считаться готовым результатом.

  • Состав результата зафиксирован.
  • Критерии приемки известны до разработки.
  • Изменения проходят через понятный порядок.
  • Скрытые работы безопасности становятся видимыми.
  • Спорные трактовки можно разрешать по тексту.
Блок 1 · Зачем ТЗ17 / 104
Защита разработки

Исполнитель получает границы ответственности

Четкое ТЗ защищает команду от ситуации, когда после реализации выясняется, что “имелось в виду другое”.

01

Объем

Понятно, какие функции, интерфейсы и процессы входят в работу.

02

Ограничения

Видны технологические, организационные, безопасностные и эксплуатационные рамки.

03

Приемка

Команда понимает, какие проверки завершат работу и какие артефакты нужны.

Блок 1 · Зачем ТЗ18 / 104
Экономика требований

Неясное требование — это будущая переделка

Чем позже обнаружена неоднозначность, тем дороже ее исправление: меняется код, тесты, документация, сроки и доверие.

СтадияЧто ломаетсяЦена исправления
До ТЗФормулировка и сценарийНизкая: меняем текст и договоренность.
Во время разработкиКод, задачи, архитектурные решенияСредняя: меняем реализацию и план.
На приемкеРезультат и договорные ожиданияВысокая: спор, переработка, перенос сроков.
После внедренияЭксплуатация и безопасностьКритическая: инциденты, простой, уязвимости.
Блок 1 · Зачем ТЗ19 / 104
Security by design

Безопасность нельзя “добавить потом” общим разделом

Требования безопасности должны появляться из угроз, регуляторики, архитектуры, состава компонентов и процессов разработки.

Красная зонаФраза “система должна быть защищенной” не создает защищенность. Она создает иллюзию, пока не указаны угрозы, меры, проверки и артефакты.
Активы
Угрозы
Меры
Требования
SAST/SCA
ПМИ
Артефакты
Блок 1 · Зачем ТЗ20 / 104
Методическая граница

ТЗ не делает систему правильной само по себе

Документ задает проверяемую рамку. Качество появляется, когда требования связаны с архитектурой, кодом, тестами, сборкой и приемкой.

01

Требование

Что должно быть выполнено.

02

Реализация

Как команда воплотит требование в коде и конфигурации.

03

Подтверждение

Каким тестом, анализом или документом будет доказано выполнение.

Блок 1 · Зачем ТЗ21 / 104
Запомнить

Хорошее ТЗ уменьшает неопределенность, а не увеличивает бюрократию

Если документ помогает понять, реализовать, проверить и принять результат, он работает. Если нет — это просто текст.

ТЗ готово только тогда, когда требование можно одинаково понять, реализовать, проверить и принять.
Блок 1 · Зачем ТЗ22 / 104
Блок 2

ГОСТы и инженерные практики: не конкуренты, а слои одной системы

ГОСТы задают дисциплину документа, а инженерные практики помогают формулировать требования так, чтобы они работали в разработке.

  • ГОСТ 19.201-78 — программа или программное изделие.
  • ГОСТ 34.602-2020 — автоматизированная система.
  • ГОСТ Р 59792-2021 — испытания и опытная эксплуатация.
  • ГОСТ Р 56939-2024 — процессы разработки безопасного ПО.
Блок 2 · Нормативная рамка23 / 104
Документная дисциплина

Нормативка не заменяет мышление, но задает проверяемый каркас

Стандарт помогает не забыть обязательные разделы, стадии, контроль и приемку. Но содержание требований все равно рождается из проекта.

  • Единая структура документа.
  • Понятные разделы для заказчика и исполнителя.
  • Связь со стадиями и испытаниями.
  • Проверяемые артефакты.
ОграничениеСтандарт не напишет за нас user story, модель угроз, API-контракт и критерий приемки.
Блок 2 · Нормативная рамка24 / 104
Программное изделие

ГОСТ 19.201-78: базовый язык ТЗ на программу

Подходит, когда основной объект разработки — программа, программное изделие или компонент.

01

Назначение

Для чего создается программа и какие задачи должна решать.

02

Требования

Функции, надежность, условия эксплуатации, совместимость, документация.

03

Контроль

Порядок испытаний, приемки и подтверждения соответствия.

Блок 2 · Нормативная рамка25 / 104
Автоматизированная система

ГОСТ 34.602-2020: когда важна не только программа, но и система

АС включает пользователей, процессы, данные, технические средства, интеграции, эксплуатацию и ввод в действие.

РазделЧто дает проекту
Общие сведенияОснование, заказчик, исполнитель, сроки, источники финансирования.
Назначение и целиЗачем создается система и как измерить результат.
Требования к системеФункции, надежность, безопасность, эргономика, интерфейсы.
Состав работСтадии, этапы, контроль, приемка, подготовка объекта автоматизации.
Блок 2 · Нормативная рамка26 / 104
Испытания АС

ГОСТ Р 59792-2021 связывает ТЗ с опытной эксплуатацией и приемкой

Если ТЗ не переводится в программу и методику испытаний, оно не готово к управлению результатом.

ТЗ
Предварительные испытания
Опытная эксплуатация
Приемочные испытания
Решение о вводе
Блок 2 · Нормативная рамка27 / 104
Безопасная разработка ПО

ГОСТ Р 56939-2024 добавляет в ТЗ процессы РБПО

Для безопасной разработки мало описать функции продукта. Нужно предъявить требования к процессам разработки, сборки, анализа, компонентов и поддержки.

01

5.3

Формирование и предъявление требований безопасности к ПО.

02

5.10

Статический анализ исходного кода и управление результатами.

03

5.16

Композиционный анализ, зависимости, SBOM/PPK, лицензии и уязвимости.

Блок 2 · Нормативная рамка28 / 104
Ключ для ОКР

Для НИР/ОКР процессы ГОСТ Р 56939 предъявляются явно

В ТЗ нужно не ссылаться на стандарт общими словами, а перечислять процессы, условия применимости и состав подтверждающих артефактов.

Красная зонаФраза “исполнитель должен учитывать ГОСТ Р 56939-2024” не задает ни объем работ, ни критерии приемки, ни артефакты.
  • Перечислить процессы.
  • Описать условия применимости.
  • Указать регламенты и проектные артефакты.
  • Связать с ПМИ и приемкой.
Блок 2 · Нормативная рамка29 / 104
Угрозы безопасности информации

ГОСТ Р 58412 помогает превратить угрозы в требования безопасности

Модель угроз нужна не для приложения к ТЗ, а для вывода конкретных мер, ограничений и критериев проверки.

Актив
Нарушитель
Угроза
Сценарий
Мера
Требование
Проверка
Блок 2 · Нормативная рамка30 / 104
Практические источники

OWASP и CWE дают язык требований для веб, API и типовых уязвимостей

Эти источники полезны, когда ГОСТ задает процесс, а проекту нужны конкретные требования к аутентификации, авторизации, сессиям, журналам и API.

01

OWASP ASVS

Проверяемые требования к прикладной безопасности.

02

OWASP Top 10

Карта распространенных классов рисков веб-приложений.

03

CWE

Словарь классов ошибок, который связывает требования, SAST и обучение разработчиков.

Блок 2 · Нормативная рамка31 / 104
C/C++

Для C/C++ требования безопасности должны учитывать память, API и неопределенное поведение

В проектах системного ПО и САПР нельзя ограничиться веб-чеклистом. Нужны правила безопасного C/C++ и контроль компиляции.

  • CERT C/C++ — ошибки памяти, целочисленные переполнения, обработка ошибок, API.
  • MISRA C/C++ — ограничение опасных конструкций и повышенная предсказуемость кода.
  • SAST и sanitizers — инструментальная проверка требований к коду.
  • Compiler hardening — требования к сборочной конфигурации.
Блок 2 · Нормативная рамка32 / 104
Международная рамка SSDLC

NIST SSDF помогает описывать безопасную разработку как управляемый процесс

Рамка полезна для сопоставления российских требований РБПО с понятными практиками secure software development.

01

Prepare

Политики, роли, инструменты, обучение, критерии готовности.

02

Protect

Защита кода, секретов, сборочной среды и цепочки поставки.

03

Respond

Уязвимости, исправления, уведомления, lessons learned.

Блок 2 · Нормативная рамка33 / 104
Система управления

ISO/IEC 27001 и 27034 связывают ТЗ с управлением безопасностью

Требования продукта должны жить в системе управления: роли, риски, контроль изменений, поставщики, инциденты и улучшения.

ISO/IEC 27001Контекст организации, риск-ориентированный подход и контрольные меры СУИБ.
ISO/IEC 27034Безопасность приложений и прикладные требования на протяжении жизненного цикла.
Блок 2 · Нормативная рамка34 / 104
Решение в начале проекта

Выбор ГОСТа зависит от объекта: программа, система или безопасная разработка

Часто нужен не один документ, а комбинация: структура ТЗ по ГОСТ 19/34 плюс процессы безопасности по ГОСТ Р 56939.

СитуацияБазовый каркасЧто добавить
Программный компонентГОСТ 19.201-78РБПО, SAST, SCA, требования к сборке.
Автоматизированная системаГОСТ 34.602-2020Интерфейсы, ввод в действие, эксплуатация, безопасность.
ОКР с безопасным ПОГОСТ 19/34 + ГОСТ Р 56939Явное перечисление процессов и артефактов по п. 4.15.
MVP или малый проектУпрощенный шаблонUser stories, критерии приемки, security baseline.
Блок 2 · Нормативная рамка35 / 104
Запомнить

Стандарт задает форму. Качество задает содержание

ТЗ сильное тогда, когда нормативный каркас соединен с реальными сценариями, угрозами, ограничениями и проверками.

Не “сослаться на ГОСТ”, а предъявить конкретные процессы, требования и артефакты.
Блок 2 · Нормативная рамка36 / 104
Блок 3

Пять слоев продукта до открытия шаблона ТЗ

Бизнес, пользователь, функционал, интерфейсы, backend/администрирование и безопасность должны быть понятны до формализации требований.

Бизнес
Пользователь
Функционал
Интерфейсы
Backend
Угрозы
Приемка
Блок 3 · До написания ТЗ37 / 104
Слой 1

Бизнес-цель отвечает на вопрос “зачем”

Без цели требования превращаются в набор несвязанных пожеланий. Цель задает границы, приоритеты и критерии успеха.

01

Проблема

Что изменится после внедрения системы.

02

Результат

Как измерить, что проект действительно сработал.

03

Ограничения

Сроки, бюджет, регуляторика, контур эксплуатации, доступность ресурсов.

Блок 3 · До написания ТЗ38 / 104
Слой 2

Пользователь — это роль, контекст и сценарий, а не абстрактный “клиент”

Требование должно быть связано с тем, кто выполняет действие, зачем и в какой ситуации.

Как <роль>, я хочу <действие>, чтобы <ценность/результат>.
Критерий: сценарий можно продемонстрировать и принять.
Блок 3 · До написания ТЗ39 / 104
Слой 3

Функции нужно описывать через сценарии и правила

Перечень функций сам по себе слаб. Нужны входные данные, действия пользователя, бизнес-правила, исключения и ожидаемый результат.

  • Основной сценарий.
  • Альтернативные сценарии.
  • Ошибочные ситуации.
  • Права доступа.
  • Связанные данные и статусы.
  • События аудита.
Блок 3 · До написания ТЗ40 / 104
Слой 4

Интерфейс — это место, где требование становится видимым

Для UI, API и интеграций нужно заранее понимать точки взаимодействия и контракты.

ИнтерфейсЧто фиксировать
Пользовательский UIЭкран, состояние, ошибка, роль, доступность, язык сообщений.
APIМетод, endpoint, схема данных, коды ответов, лимиты, аутентификация.
ИнтеграцияСтороны обмена, формат, расписание, retries, журналирование.
АдминкаРоли, настройки, аудит, экспорт, блокировки, ручные операции.
Блок 3 · До написания ТЗ41 / 104
Слой 5

Внутренняя работа системы тоже должна быть требованием

Многие критичные требования не видны пользователю: данные, роли, журналы, фоновые задачи, конфигурация и эксплуатационные процедуры.

01

Данные

Сущности, жизненный цикл, хранение, резервирование, удаление.

02

Роли

Права доступа, администраторы, операторы, аудиторы, сервисные учетные записи.

03

Операции

Импорт, экспорт, настройки, мониторинг, журналы, восстановление.

Блок 3 · До написания ТЗ42 / 104
Security-by-design

Угрозы нужно учитывать до формулирования требований безопасности

ТЗ должно отражать активы, нарушителей, поверхность атаки и меры защиты, иначе раздел безопасности будет декларативным.

Активы
Границы доверия
Нарушители
Поверхность атаки
Сценарии
Меры
Требования
Блок 3 · До написания ТЗ43 / 104
Реализуемость

Требование должно быть выполнимым в заданной архитектуре

Нельзя требовать поведение, которое противоречит выбранной платформе, интеграционному контуру, режиму эксплуатации или безопасной сборке.

  • Операционные системы и платформы.
  • Языки и технологический стек.
  • Сетевой контур и интернет-доступ.
  • Контейнеры, сборочная среда и репозитории.
  • Ограничения поставки, сертификации и эксплуатации.
Блок 3 · До написания ТЗ44 / 104
Перед ТЗ

Минимальный комплект входов перед написанием ТЗ

Если этих материалов нет, ТЗ будет строиться на догадках и быстро начнет конфликтовать с реальностью проекта.

АртефактЗачем нужен
Описание проблемыПонимать ценность и границы результата.
Список ролейВывести сценарии и права доступа.
User storiesСвязать требования с пользовательской ценностью.
Wireframes/APIУточнить интерфейсы и контракты.
Модель угрозВывести требования безопасности.
Черновик ПМИПроверить приемочность требований.
Блок 3 · До написания ТЗ45 / 104
Красная зона

Если команда заполняет разделы ГОСТа без понимания продукта, ТЗ имитирует работу

Визуально документ выглядит солидно, но не отвечает на вопросы разработки и приемки.

Остановить аудиториюШаблон — это форма. Содержание рождается из анализа продукта, сценариев, угроз, архитектуры и приемки.
  • Нет цели — нет приоритетов.
  • Нет сценариев — нет функций.
  • Нет интерфейсов — нет проверяемых контрактов.
  • Нет модели угроз — нет настоящей безопасности.
Блок 3 · До написания ТЗ46 / 104
Практический алгоритм

Семь шагов до первой версии ТЗ

Эта последовательность удерживает документ от преждевременной формализации.

  1. Зафиксировать проблему и измеримый результат.
  2. Описать заинтересованные стороны и роли пользователей.
  3. Собрать пользовательские сценарии и бизнес-правила.
  4. Разделить функциональные, нефункциональные и требования безопасности.
  5. Определить интерфейсы, данные и ограничения.
  6. Провести первичное моделирование угроз.
  7. Согласовать критерии приемки до передачи в разработку.
Блок 3 · До написания ТЗ47 / 104
Запомнить

ТЗ начинается не с титульного листа, а с ясности продукта

Когда входные артефакты собраны, документ становится инструментом фиксации, а не средством коллективного угадывания.

Плохое ТЗ начинается с шаблона. Хорошее — с понимания продукта и приемки.
Блок 3 · До написания ТЗ48 / 104
Блок 4

Кодекс качества требований

Требование — это рабочая единица проектирования, разработки, тестирования и приемки. У нее есть ID, источник, критерий и статус.

  • Атомарность.
  • Однозначность.
  • Проверяемость.
  • Реализуемость.
  • Обоснованность.
  • Трассируемость.
Блок 4 · Качество требований49 / 104
Критерий 1

Формулировка должна задавать обязанность

Описание текущего состояния, пожелание или рассуждение не являются требованием.

Плохо“В системе желательно предусмотреть удобную авторизацию”.
Лучше“Система должна предоставлять пользователю возможность аутентификации по адресу электронной почты и паролю”.
Блок 4 · Качество требований50 / 104
Критерий 2

Один пункт — одно требование

Если пункт нельзя проверить одним тестом или одной связанной группой проверок, его надо разделить.

Красная зонаСложное требование с несколькими “и” часто прячет несколько разных работ, разных владельцев и разные способы проверки.
  • Одна функция.
  • Одно свойство.
  • Один критерий приемки.
  • Один источник или управляемая связка источников.
Блок 4 · Качество требований51 / 104
Критерий 3

Термины должны допускать одну трактовку

Если заказчик, разработчик и испытатель понимают слово по-разному, требование не готово.

01

Глоссарий

Определяет термины: пользователь, администратор, заявка, инцидент, компонент.

02

Контекст

Указывает роли, состояние системы, исключения и ограничения.

03

Пример

Показывает, как требование будет выглядеть в сценарии или тесте.

Блок 4 · Качество требований52 / 104
Критерий 4

У каждого требования должен быть способ проверки

Проверка может быть тестом, демонстрацией, измерением, анализом или инспекцией. Без проверки это не требование, а пожелание.

МетодКогда применять
ДемонстрацияПоведение видно в интерфейсе или сценарии.
ТестПоведение воспроизводится по шагам.
ИзмерениеНужны численные показатели: время, нагрузка, доступность.
АнализПроверяется код, архитектура, модель угроз или конфигурация.
ИнспекцияПроверяются документы, журналы, настройки и артефакты.
Блок 4 · Качество требований53 / 104
Критерий 5

Требование должно быть выполнимым в заданных ограничениях

Реализуемость зависит от технологий, сроков, квалификации, регуляторики, контуров эксплуатации и инструментов.

  • Проверить технологическую возможность.
  • Проверить ресурсы и квалификацию.
  • Проверить сроки и зависимость от внешних поставщиков.
  • Проверить конфликт с безопасностью и архитектурой.
Блок 4 · Качество требований54 / 104
Критерий 6

У требования должен быть источник

Источник объясняет, почему требование существует и кто имеет право его изменить.

01

Бизнес

Цель, эффект, договоренность, KPI.

02

Пользователь

Сценарий, роль, боль, контекст работы.

03

Безопасность

Модель угроз, ГОСТ, OWASP, CWE, BDU/NVD/OSV.

04

Архитектура

Платформа, контур, интеграции, ограничения эксплуатации.

Блок 4 · Качество требований55 / 104
Критерий 7

Требования должны закрывать сценарий без лишнего дублирования

Пробелы создают догадки, а дубли создают конфликты при изменениях.

  • Покрыты основные и альтернативные сценарии.
  • Описаны ошибки и исключения.
  • Указаны роли и права.
  • Определены данные и статусы.
РискЕсли одно требование повторяется в трех местах, через месяц в одном месте его изменят, а в двух забудут.
Блок 4 · Качество требований56 / 104
Критерий 8

Требования должны смотреться как система

Конфликт может быть функциональным, архитектурным, безопасностным, эксплуатационным или договорным.

Красная зона“Разрешить всем экспорт данных” и “запретить выгрузку без роли аудитора” не могут одновременно работать без уточнения условий.
  • Проверить конфликты доступа.
  • Проверить конфликты производительности и безопасности.
  • Проверить конфликты форматов и интерфейсов.
  • Проверить конфликт сроков и состава работ.
Блок 4 · Качество требований57 / 104
Критерий 9

Требование должно иметь путь от источника до приемки

Трассируемость нужна не для красоты. Она отвечает на вопрос: почему это есть, кто делает, где проверяется и чем подтверждено.

Источник
ID требования
Задача
Код/конфигурация
Тест
ПМИ
Протокол приемки
Блок 4 · Качество требований58 / 104
Критерий 10

Приоритет помогает принимать инженерные решения

Не все требования одинаково важны. Критичность нужна для планирования, компромиссов, приемки и обработки дефектов.

СловарьКогда удобен
Must / Should / CouldMVP, продуктовая разработка, гибкие проекты.
Critical / High / Medium / LowБезопасность, уязвимости, дефекты, SAST/SCA.
Обязательное / рекомендуемоеНормативные и договорные требования.
Блок 4 · Качество требований59 / 104
Практический шаблон

Карточка требования делает пункт управляемым

Минимальные поля должны позволять найти источник, понять формулировку, проверить выполнение и управлять статусом.

ПолеСмысл
IDСтабильная ссылка на требование.
ИсточникПочему требование существует.
ФормулировкаЧто должно быть выполнено.
Критерий приемкиКак понять, что выполнено.
Метод проверкиТест, анализ, инспекция, демонстрация или измерение.
Приоритет и статусКак управлять жизненным циклом.
Блок 4 · Качество требований60 / 104
SEC-REQ

Пример: регистрация неуспешных попыток входа

Одно требование, один источник, один критерий приемки и понятный метод проверки.

SEC-REQ-014
Источник: модель угроз TM-03; ГОСТ Р 56939-2024 п. 5.3
Формулировка: система должна регистрировать все неуспешные попытки аутентификации
с указанием идентификатора пользователя, времени, IP-адреса и причины отказа.
Критерий приемки: запись появляется в журнале аудита и доступна роли администратора безопасности.
Метод проверки: функциональное испытание + инспекция журнала.
Приоритет: High.
Блок 4 · Качество требований61 / 104
Жизненный цикл

Статус требования должен быть виден и управляем

В авторской лекции по РБПО отдельно звучит мысль: требования безопасности имеют статусы, даты, ответственных и историю изменений.

Предъявлено
Принято
В реализации
На проверке
Проверено
Отклонено
Изменено
Блок 4 · Качество требований62 / 104
Что ломает ТЗ

Антипаттерны нужно показывать красным

В лекции такие моменты полезно визуально выделять: аудитория должна увидеть, где начинается риск будущего спора.

ПлохоПочему плохоКак исправить
Система должна быть безопаснойНельзя проверитьРазложить на угрозы, меры и критерии.
Должна быть удобнойСубъективноУказать сценарий, метрику или критерий доступности.
Учесть ГОСТ Р 56939Нет состава работПеречислить процессы и артефакты.
Все ошибки должны обрабатыватьсяСлишком общоОписать классы ошибок, ответы, журналы, уведомления.
Блок 4 · Качество требований63 / 104
Quality gate

Перед передачей в разработку требование проходит мини-gate

Не надо ждать конца проекта. Слабое требование дешевле исправить до постановки задач.

  • Есть ID.
  • Есть источник.
  • Формулировка задает обязанность.
  • Термины определены.
  • Требование атомарно.
  • Есть критерий приемки.
  • Есть метод проверки.
  • Нет конфликта с другими требованиями.
Блок 4 · Качество требований64 / 104
Запомнить

Качественное требование — это маленький договор внутри большого договора

Оно сообщает, что нужно сделать, почему это нужно, как проверить и как управлять изменениями.

Если требование нельзя перенести в задачу и ПМИ, оно еще не готово.
Блок 4 · Качество требований65 / 104
Блок 5

Функциональные, нефункциональные и требования безопасности

Смешение типов требований делает ТЗ мутным. Разделение типов помогает выбрать метод проверки и владельца.

01

Функция

Что система делает.

02

Качество

С каким уровнем сервиса работает.

03

Безопасность

Как предотвращает угрозу, снижает риск или выполняет нормативное требование.

Блок 5 · Типы требований66 / 104
Что делает система

Функциональное требование описывает поведение для пользователя или системы

Оно проверяется демонстрацией сценария или функциональным тестом.

FT-AUTH-001.
Система должна предоставлять пользователю возможность входа
по адресу электронной почты и паролю.
Блок 5 · Типы требований67 / 104
С каким качеством

Нефункциональное требование задает измеримое качество или ограничение

Слова “быстро”, “удобно”, “надежно” должны быть переведены в метрики, условия и способ измерения.

NFT-PERF-001.
Время ответа API поиска не должно превышать 500 мс
для 95 процентиля запросов при нагрузке 100 одновременных пользователей.
Блок 5 · Типы требований68 / 104
Как снижаем риск

Требование безопасности связывает угрозу, меру и проверку

Оно может быть функциональным по форме, но его источник — риск, нормативка, модель угроз или известный класс уязвимостей.

SEC-AUTH-003.
Система должна блокировать учетную запись на 15 минут после
5 последовательных неуспешных попыток аутентификации в течение 10 минут.
Блок 5 · Типы требований69 / 104
Лекция на доске

Один экран — три вопроса

Если участники путаются, возвращаемся к трем диагностическим вопросам.

ТипГлавный вопросПроверка
ФункциональноеЧто система делает?Функциональный тест или демонстрация.
НефункциональноеС каким качеством работает?Измерение, нагрузка, мониторинг.
БезопасностьКакой риск или норматив закрываем?Модель угроз, SAST, DAST, SCA, инспекция.
Блок 5 · Типы требований70 / 104
Откуда брать SEC

Требования безопасности должны иметь понятные источники

Лучше показать источники на слайде, чем оставлять безопасность как “общий раздел”.

01

Модель угроз

Активы, нарушители, сценарии атаки, поверхность атаки.

02

Базы уязвимостей

БДУ ФСТЭК, NVD, OSV: известные CVE и обновления компонентов.

03

Стандарты

OWASP, CWE, CERT C/C++, MISRA C/C++, ГОСТ Р 56939.

Блок 5 · Типы требований71 / 104
Security thinking

Поверхность атаки помогает понять, где нужны требования

Требования безопасности должны закрывать реальные точки взаимодействия, а не абстрактную “защищенность”.

  • Внешние API и веб-интерфейсы.
  • Файловые импорты и экспорты.
  • Административные операции.
  • Сетевые протоколы и интеграции.
  • Плагины, скрипты, макросы.
  • Секреты, ключи и учетные записи.
Блок 5 · Типы требований72 / 104
Secure C/C++

Для C/C++ безопасность начинается с требований к коду и сборке

Если продукт пишется на C/C++, ТЗ может и должно задавать требования к SAST, sanitizers, compiler hardening и правилам кодирования.

НаправлениеПример требования
ПамятьЗапрет небезопасных API без обоснования и wrapper-слоя.
КомпиляцияВключить stack protector, FORTIFY, warnings-as-errors по согласованному профилю.
SanitizersРегламентировать ASan/UBSan/TSan для тестовых сборок.
Стандарты кодаCERT C/C++ или MISRA C/C++ как источник правил.
Блок 5 · Типы требований73 / 104
Компоненты

Компоненты тоже являются частью требований безопасности и поставки

Без SCA и SBOM заказчик не понимает, что входит в продукт, какие лицензии используются и какие уязвимости уже известны.

01

Перечень зависимостей

Наименование, версия, поставщик, лицензия, источник получения.

02

SBOM/PPK

Формализованный состав поставки и база для проверок.

03

Уязвимости

BDU/NVD/OSV, критичность, статус исправления или принятия риска.

Блок 5 · Типы требований74 / 104
Красная зона

“Безопасность добавим потом” — это архитектурный долг

Поздняя безопасность почти всегда дороже, слабее и конфликтует с уже принятыми решениями.

Остановить аудиториюЕсли в ТЗ нет модели угроз, требований к компонентам, секретам, сборке и проверкам, безопасность не управляется.
Поздно заметили угрозу
Меняем архитектуру
Ломаем сроки
Удорожаем приемку
Получаем спор
Блок 5 · Типы требований75 / 104
Приемка безопасности

Безопасность должна иметь критерии приемки, как и функциональность

Отчет SAST, SBOM, протокол тестирования, журнал исправлений и решение о риске — это приемочные артефакты, а не внутренние заметки команды.

  • Нет неисправленных Critical/High без согласованного решения.
  • Есть SBOM/PPK и отчет SCA.
  • Секреты не присутствуют в репозитории и поставке.
  • Сборка воспроизводима и промаркирована.
  • Результаты SAST разобраны и имеют статусы.
Блок 5 · Типы требований76 / 104
Запомнить

Тип требования определяет способ проверки

Пока тип не определен, команда спорит не о реализации, а о самом смысле пункта.

Функция демонстрируется, качество измеряется, безопасность доказывается угрозами, анализом и артефактами.
Блок 5 · Типы требований77 / 104
Блок 6

РБПО в ТЗ: от общих фраз к процессам и артефактам

ГОСТ Р 56939-2024 требует управлять не только продуктом, но и процессом разработки безопасного ПО.

  • Формирование требований безопасности.
  • Конфигурация и изменения.
  • Анализ кода и сборка.
  • Секреты и компоненты.
  • Поддержка и уязвимости.
Блок 6 · РБПО78 / 104
ГОСТ Р 56939-2024

5.3: формирование и предъявление требований безопасности к ПО

Это центральный процесс для темы ТЗ: требования безопасности должны быть сформированы, предъявлены, отслежены и пересмотрены.

01

Регламент

Как организация управляет требованиями безопасности.

02

Реестр

ID, формулировка, даты, приоритеты, ответственные и статусы.

03

Пересмотр

Критерии изменения набора требований при событиях проекта.

Блок 6 · РБПО79 / 104
Из авторской транскрипции

Регламент определяет состав, порядок, ответственность и контроль

В лекции отдельно подчеркивается: регламент не должен быть формальностью, он описывает, кто, что, как и когда делает.

  • Область действия процесса.
  • Порядок выполнения задач.
  • Ответственные лица и полномочия.
  • Необходимые ресурсы и инструменты.
  • Критерии качества процесса.
  • Порядок контроля и эскалации.
Блок 6 · РБПО80 / 104
Реестр SEC

Требование безопасности должно быть управляемой записью

ГОСТовая логика требует не только текст, но и атрибуты жизненного цикла.

ПолеЗачем
IDСтабильная трассировка требования.
ФормулировкаЧто предъявлено исполнителю.
ДатаКогда требование появилось или изменилось.
ПриоритетКак планировать реализацию и приемку.
СрокКогда требование должно быть выполнено.
Предъявивший / принявшийКто отвечает за постановку и принятие.
СтатусПредъявлено, принято, реализуется, проверено, отклонено.
Блок 6 · РБПО81 / 104
Изменения

Набор требований безопасности должен пересматриваться по критериям

Пересмотр нужен не только по расписанию, но и при событиях: изменениях архитектуры, угроз, компонентов, назначения ПО.

01

Архитектура

Появились новые интерфейсы, контуры, интеграции, роли.

02

Уязвимости

Новая CVE/BDU/OSV затрагивает компонент или платформу.

03

Назначение

Изменились бизнес-функции, класс данных, режим эксплуатации.

Блок 6 · РБПО82 / 104
Процессное мышление

У процесса должны быть входы, действия и выходные артефакты

Вопрос аудитора: что было на входе, что сделали, что получили и где это проверяется.

ЭлементПример
ВходТЗ, модель угроз, нормативные требования, архитектура, сведения о компонентах.
ДействиеАнализ, формирование, согласование, предъявление, пересмотр.
ВыходРеестр требований безопасности, изменения, статусы, задачи, артефакты приемки.
КонтрольПМИ, документарная проверка, выборочная инструментальная проверка.
Блок 6 · РБПО83 / 104
ГОСТ Р 56939 · 5.4

Управление конфигурацией защищает требования от хаоса

Если меняется код, сборка, инструмент или требование, это должно быть управляемым изменением.

  • Правила ветвления и защиты веток.
  • Маркировка сборок и версий.
  • Состав поставки и исходных материалов.
  • Связь требований, задач и коммитов.
  • Контроль изменений инструментов анализа и сборки.
Блок 6 · РБПО84 / 104
ГОСТ Р 56939 · 5.5

Дефекты и запросы на изменение должны иметь понятный жизненный цикл

Иначе требования безопасности теряются между трекером, перепиской и устными договоренностями.

Обнаружено
Зарегистрировано
Оценено
Назначено
Исправлено
Проверено
Закрыто
Блок 6 · РБПО85 / 104
ГОСТ Р 56939 · 5.10

Статический анализ должен быть требованием, а не добровольной практикой

В ТЗ нужно указать профиль правил, периодичность, пороги, разбор срабатываний и финальный отчет.

Что требоватьКак проверять
Профиль правилСоответствие языкам, критичности и типам проекта.
Первичный анализОтчет baseline и план обработки.
Финальный анализОтчет перед поставкой и статусы Critical/High.
Разметка срабатыванийTrue positive, false positive, accepted risk, fixed.
Блок 6 · РБПО86 / 104
ГОСТ Р 56939 · сборка

Безопасная сборка — часть доверия к поставке

Если сборка не описана и не воспроизводима, трудно доказать, что поставлен именно проверенный результат.

  • Описание сборочной среды.
  • Состав компиляторов, инструментов и версий.
  • Журналы сборки.
  • Контроль целостности артефактов.
  • Правила доступа к pipeline и секретам.
Блок 6 · РБПО87 / 104
ГОСТ Р 56939 · 5.14

Доступ к исходному коду и результатам анализа должен быть ограничен

В лекции отдельно звучит вопрос: кто может читать, менять, удалять и передавать исходный код и результаты проверки.

01

Роли

Разработчик, reviewer, security, release manager, auditor.

02

Права

Чтение, запись, merge, release, просмотр отчетов.

03

Контроль

Журналы доступа, защита веток, обязательное ревью.

Блок 6 · РБПО88 / 104
ГОСТ Р 56939 · 5.15

Секреты не должны попадать в код, сборку и поставку

Требование должно описывать хранение, доступ, ротацию и проверку секретов.

  • Запрет секретов в исходном коде.
  • Secret scanning до merge и перед поставкой.
  • Разделение тестовых и продуктивных секретов.
  • Порядок ротации и отзыва.
  • Журнал доступа к секретам.
Блок 6 · РБПО89 / 104
ГОСТ Р 56939 · 5.16

Композиционный анализ показывает реальный состав продукта

ТЗ должно требовать перечень компонентов, лицензии, версии, источники, уязвимости и статус реагирования.

АртефактСодержание
SBOM/PPKКомпоненты, версии, поставщики, лицензии, источники.
Отчет SCAУязвимости, критичность, затронутые версии, рекомендации.
License reviewСовместимость лицензий и ограничения распространения.
Решение по рискуИсправить, обновить, заменить, принять риск с обоснованием.
Блок 6 · РБПО90 / 104
ГОСТ Р 56939 · 5.18

Функциональное тестирование должно быть связано с требованиями

Тесты не должны жить отдельно. Каждое требование получает проверку, а каждый тест имеет ожидаемый результат.

Требование
Тест-кейс
Данные
Ожидаемый результат
Протокол
Статус приемки
Блок 6 · РБПО91 / 104
Поддержка

После поставки нужен порядок приема и обработки уязвимостей

Без регламента поддержки уязвимость превращается в переписку без владельца, срока и решения.

  • Канал приема сообщений.
  • Регистрация и triage.
  • Оценка критичности.
  • План исправления.
  • Уведомление заказчика.
  • Выпуск обновления и контроль установки.
Блок 6 · РБПО92 / 104
Завершение поддержки

Даже конец жизненного цикла должен быть управляемым

Пользователь должен понимать, когда прекращается поддержка, как мигрировать и что происходит с уязвимостями после EOL.

01

Уведомление

Сроки, адресаты, каналы, последствия.

02

Миграция

Рекомендации по обновлению или замене.

03

Риски

Что остается на стороне пользователя после завершения поддержки.

Блок 6 · РБПО93 / 104
Документарный контроль

РБПО принимается по артефактам, а не по обещанию

В ПМИ нужно включить документарный контроль регламентов, отчетов, журналов и решений по рискам.

  • Регламенты процессов предоставлены.
  • Реестр требований безопасности актуален.
  • Отчеты SAST/SCA приложены.
  • SBOM/PPK сформирован.
  • Журналы сборки и маркировка поставки есть.
  • Отклонения имеют владельца, срок или решение о принятии риска.
Блок 6 · РБПО94 / 104
Запомнить

РБПО в ТЗ — это перечень процессов, условий и артефактов

Если процесс не назван и артефакт не указан, приемка безопасности будет спорной.

Не “учесть безопасность”, а предъявить процесс, артефакт и критерий приемки.
Блок 6 · РБПО95 / 104
Блок 7

Связь ТЗ с ПМИ и раздаточными материалами

Финальная проверка курса: каждое требование должно перейти в метод проверки, пункт ПМИ и приемочный артефакт.

ТЗ
Требование
Метод проверки
ПМИ
Протокол
Решение приемки
Блок 7 · ПМИ и материалы96 / 104
ТЗ → ПМИ

Матрица трассируемости делает приемку управляемой

Она связывает ID требования, источник, метод проверки, пункт ПМИ и ожидаемый результат.

IDИсточникМетодПМИОжидаемый результат
FT-ORD-001User Story US-05ТестPMI-FT-012Пользователь создает заказ.
NFT-PERF-002SLA проектаИзмерениеPMI-NFT-004p95 API не выше 500 мс.
SEC-SCA-001ГОСТ Р 56939 п. 5.16SCA + инспекцияPMI-SEC-008Есть SBOM/PPK без критичных неисправленных уязвимостей.
Блок 7 · ПМИ и материалы97 / 104
Приемка

Метод проверки выбирается под тип требования

Нельзя все проверять демонстрацией. Безопасность и качество часто требуют анализа, измерения и инспекции.

01

Демонстрация

Показываем сценарий в интерфейсе.

02

Тест

Выполняем шаги и сверяем результат.

03

Измерение

Фиксируем численные показатели.

04

Анализ

Проверяем код, архитектуру, модель угроз.

05

Инспекция

Проверяем документы, журналы, отчеты и настройки.

Блок 7 · ПМИ и материалы98 / 104
Перед разработкой

ТЗ можно передавать в разработку только после проверки готовности

Gate нужен не для бюрократии, а для защиты проекта от неясных требований и неуправляемой безопасности.

  • Цель проекта и границы работ зафиксированы.
  • Роли пользователей и заинтересованные стороны описаны.
  • Функциональные, нефункциональные и требования безопасности разделены.
  • У каждого требования есть ID, источник и критерий приемки.
  • Термины вынесены в глоссарий.
  • Для ОКР процессы ГОСТ Р 56939 перечислены явно.
  • Составлена матрица трассируемости ТЗ → ПМИ.
Блок 7 · ПМИ и материалы99 / 104
Маршрут слушателя

После занятия слушатель должен уйти с рабочим маршрутом

Лендинг не только показывает слайды, но и ведет к материалам, шаблонам, чек-листам и примерам.

  1. Скачать методичку Markdown.
  2. Открыть чек-лист качества ТЗ.
  3. Выбрать шаблон под тип проекта.
  4. Заполнить пять слоев продукта.
  5. Сформировать требования с ID и критериями.
  6. Отдельно выделить безопасность и РБПО.
  7. Проверить связку ТЗ → ПМИ.
Блок 7 · ПМИ и материалы100 / 104
Скачать и открыть

Раздаточные материалы остаются рядом с лендингом

Слушатель может открыть Markdown, чек-листы, шаблоны и примеры прямо с сайта.

Блок 7 · ПМИ и материалы101 / 104
Красная зона

Если требование нельзя принять, его нельзя отдавать в разработку

Перед финалом лекции это удобно выделить красным: аудитория должна унести строгий критерий готовности.

Финальная проверкаЕсли требование нельзя одинаково понять, реализовать, проверить и принять, оно еще не готово для ТЗ.
01

Понять

Одна трактовка у всех участников.

02

Реализовать

Есть техническая возможность и границы.

03

Проверить

Есть метод и ожидаемый результат.

04

Принять

Есть пункт ПМИ и артефакт приемки.

Блок 7 · ПМИ и материалы102 / 104
Что должно остаться

ТЗ — это инженерная договоренность, а не литературный документ

Курс соединяет продуктовую ясность, нормативную дисциплину, качество требований, РБПО и приемку.

Хорошее ТЗ делает разработку проверяемой, безопасность предъявленной, а приемку защищенной.
Блок 7 · ПМИ и материалы103 / 104
Виталий Александрович Пиков

Спасибо за внимание

Авторский курс по техническим заданиям, ГОСТ и разработке безопасного программного обеспечения.

Блок 7 · ПМИ и материалы104 / 104

Обзор всех слайдов