Как написать ТЗ, часть 1: ГОСТЫ и спецификации требований

автор
Как написать ТЗ, часть 1: ГОСТЫ и спецификации требований

Разработка требований к программному продукту и их оформление в виде технического задания или спецификации – одна из самых частых задач, которую решает бизнес-аналитик. Сегодня рассмотрим, какие стандарты регламентируют структуру и содержание этих документов, разберем разницу между автоматизированной системой и программным изделием, уточним, что такое информационная система и почему зарубежный шаблон SRS популярнее отечественных ГОСТ’ов.

Близнецы или тройняшки: ПО, информационная и автоматизированная системы – отличия и разные ГОСТ’ы

Структура и содержание технического задания (ТЗ) определяется специальным шаблоном – государственным или международным стандартом в зависимости от объекта разработки. Чаще всего таким объектом является:

  • программа (программное изделие). Российский ГОСТ 19781-90 «Обеспечение систем обработки информации программное» описывает это как данные, предназначенные для управления кон­кретными компонентами системы обработки ин­формации в целях реализации определенного ал­горитма.
  • автоматизированная система (АС), которая согласно ГОСТ 34.003-90, состоит из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций. АС включает различные виды обеспечения: организационное, методическое, техническое, программное (ПО), информационное, лингвистическое, математическое, правовое, эргономическое.

Таким образом, программа или программное изделие – это часть АС. А термин «информационная система» трактуется согласно следующим определениям:

  • совокупность информации, содержащейся в базах данных, информационных технологий и технических средств, которые обеспечивают её обработку [ФЗ РФ от 27.06.2006 г. № 149-ФЗ «Об информации, информационных технологиях и о защите информации», ГОСТ Р 50922-2006];
  • автоматизированная система, результатом функционирования которой является представление выходной информации для последующего использования [ГОСТ РВ 51987].

Поэтому информационная система (ИС), которая помимо программного обеспечения, также включает техническую часть, например, носимые устройства так называемого интернета вещей (IoT) – «умные часы», компоненты комплекса «умный дом» и пр. – является АС. В России ТЗ на создание АС регламентирует ГОСТ 34.602-89, впервые введенный в 1990 году и переизданный в 2009 г. А порядок построения и оформления ТЗ на разработку программы или программного изделия, которые не включает технического и других видов обеспечения, описывает ГОСТ 19.201-78, введенный в 1980 году и переизданный в 2010.

Рассмотрим, чем отличаются эти стандарты. ГОСТ 34.602-89 выделяет следующие разделы в ТЗ на создание АС:

  1. Общие сведения
  2. Назначение и цели создания системы
  3. Характеристика объектов автоматизации
  4. Требования к системе
    • Требования к системе в целом
    • Требования к функциям, выполняемым системой
    • Требования к видам обеспечения
  5. Состав и содержание работ по созданию системы
  6. Порядок контроля и приёмки системы
  7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
  8. Требования к документированию
  9. Источники разработки

По ГОСТ 19.201-78 в ТЗ на разработку программы должны быть следующие разделы:

  1. Введение
  2. Основания для разработки
  3. Назначение разработки
  4. Требования к программе или программному изделию
  5. Требования к программной документации
  6. Технико-экономические показатели
  7. Стадии и этапы разработки
  8. Порядок контроля и приемки
  9. Приложения

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

Однако, сегодня большинство разработчиков и аналитиков считают эти отечественные ГОСТ’ы морально устаревшими и все чаще вместо них для оформления требований к ИС используют шаблоны зарубежных стандартов: ISO IEEE 29148-2011 и IEEE 830-1998, которые регламентируют составление спецификаций требований к ПО. Преимущества этих шаблонов над российскими регламентами и практику их совместного использования рассмотрим далее.

Стандарты ISO IEEE 29148-2011 и IEEE 830-1998: в чем разница и как их использовать для разработки ТЗ

SRS по IEEE 830-1998

IEEE 830-1998 – это рекомендуемая методика составления спецификаций требований к ПО (Software Requirements Specification). Она описывает критерии проверки качественно составленной SRS, ее части и шаблоны. Основными рекомендуемыми разделами SRS по IEEE 830-1998 являются следующие:

  1. Введение
    • Назначение
    • Область действия
    • Определения, акронимы и сокращения
    • Ссылки
    • Краткий обзор
  2. Общее описание
    • Взаимодействие продукта с другими продуктами и компонентами
    • Функции продукта (краткое описание)
    • Характеристики пользователя
    • Ограничения
    • Допущения и зависимости
  3. Детальные требования
    • Требования к внешним интерфейсам
      • Интерфейсы пользователя
      • Интерфейсы аппаратного обеспечения
      • Интерфейсы программного обеспечения
      • Интерфейсы взаимодействия
    • Функциональные требования
    • Требования к производительности
    • Проектные ограничения (и ссылки на стандарты)
    • Нефункциональные требования (надежность, доступность, безопасность и пр.)
    • Другие требования
  4. Приложения
  5. Алфавитный указатель

ТЗ по ГОСТ vs SRS по ISO IEEE 29148-2011

IEEE 830-1998 носит рекомендательный характер – не случайно в оригинале он называется Recommended Practice for Software Requirements Specifications и сегодня не так часто используется на практике, как международный стандарт по инженерии требований ISO IEEE 29148-2011, который обеспечивает единую трактовку процессов и продуктов для всей системы и ПО. По сути, этот стандарт заменяет IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 и объединяет российские ГОСТ’ы 34.602-89 и ГОСТ 19.201-78. Он содержит два шаблона спецификации требований:

  • System requirements specification (SyRS) – технические требования к системе и удобству взаимодействия человека с ней;
  • Software requirements specification (SRS) – спецификация требований к ПО, включая программное изделие, программу или набору программ (продукт), которые выполняют определенные функции в конкретном окружении.

В отличие от BABOK@Guide, стандарт 29148-2011 делит требования к ПО на:

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

ISO IEEE 29148-2011 описывает не только структуру и содержание SRS, но и регламентирует все процессы работы с требованиями, от их определения, включая выявление у стейкхолдеров, моделирование, анализ, верификацию и валидацию, до процедур управления (изменение, оценка влияния и пр.). Если рассматривать ISO IEEE 29148-2011 как шаблон ТЗ на разработку ПО/ИС, то он выделяет следующие разделы:

  1. Введение
    • Цели
    • Соглашения о терминах
    • Предполагаемая аудитория и последовательность восприятия
    • Масштаб проекта
    • Ссылки на источники
  2. Общее описание
    • Видение продукта
    • Функциональность продукта
    • Классы и характеристики пользователей
    • Среда функционирования продукта (операционная среда)
    • Рамки, ограничения, правила и стандарты
    • Документация для пользователей
    • Допущения и зависимости
  3. Функциональность системы
    • Функциональный блок X (таких блоков может быть несколько)
      • Описание и приоритет
      • Причинно-следственные связи, алгоритмы (движение процессов, workflows)
      • Функциональные требования
  4. Требования к внешним интерфейсам
    • Интерфейсы пользователя (UX)
    • Программные интерфейсы
    • Интерфейсы оборудования
    • Интерфейсы связи и коммуникации
  5. Нефункциональные требования
    • Требования к производительности
    • Требования к сохранности (данных)
    • Требования к качеству программного обеспечения
    • Требования к безопасности системы
    • Требования на интеллектуальную собственность
  6. Прочее
    • Приложение А: Глоссарий
    • Приложение Б: Модели процессов и предметной области и другие диаграммы
    • Приложение В: Список ключевых задач

Можно сказать, что все эти разделы дополняют и уточняют пункты, предусмотренные отечественными ГОСТ’ами. С практической точки зрения структура SRS по ISO IEEE 29148-2011 дает следующие преимущества по сравнению с ГОСТ 34.602-89 и ГОСТ 19.201-78:

  • глубокий уровень детализации, в частности, подробное описание различных категорий пользователей, интерфейсов, разделение допущений и ограничений;
  • разделение требований на функциональные и нефункциональные;
  • рекомендации представлять функциональные требования в форме сценариев (вариантов) использования, т.н. use case, которые мы разбирали здесь;
  • структурированный и детальный набор разных требований легко разделяется по итерациям гибкой разработки (Agile) через определение их приоритета и очередности реализации по релизам;
  • тесная связь с бизнесом благодаря детальному описанию контекста, правил, процессов, организационной среды и других аспектов, описываемых в спецификации требований стейкхолдеров (StRS, Stakeholder requirements specification) в разделах «Видение» и «Общее описание»;
  • наглядность трассировки требований разных уровней друг к другу, а также к бизнес-правилам и регламентирующим документам.

Недостатком SRS по ISO IEEE 29148-2011 можно назвать большой объем этого документа, что отражается в длительности и трудоемкости его разработки. Впрочем, несмотря на это и вышеотмеченные достоинства, хочется подчеркнуть, по сути SRS по ISO IEEE 29148-2011 не лучше и не хуже отечественных ГОСТ’ов. В любом случае, не зависимо от выбранного шаблона ТЗ на создание ИС, АС или ПО, этот документ должен отражать функциональные и нефункциональные требования к объекту разработки так, чтобы их можно было реализовать и проверить, что решение соответствует целям бизнеса и приносит стейкхолдерам пользу. В следующей статье мы продолжим разговор про разработку ТЗ, а пока предлагаем вам пройти открытый интерактивный тест на проверку знаний о стандартах и требованиях из этого материала.

Подробнее разобраться с видами требований и стандартами их специфицирования в виде ТЗ вам поможет специализированный курс «Разработка ТЗ на информационную систему» в Школе прикладного бизнес-анализа от нашего лицензированного учебного центра обучения и повышения квалификации системных и бизнес-аналитиков в Москве.

 

Комментировать