Основные принципы работы с требованиями

Разработка технического задания. Разработка технического задания на создание ИС. Источники информации для формирования технического задания. Примеры заполнения разделов документа

Основные принципы работы с требованиями

Требование - это условие или возможность, которой должна соответствовать система. Жизненно важной частью проектирования ИС является формирование требований к создаваемому решению, т.е. разработка технического задания.

Требования отражают потребности достаточно широкой аудитории (заинтересованных сторон, будущих пользователей, заказчиков ИТ - решения и пр.), на удовлетворение которых направлен проект. Однако требования обычно претерпевают существенные изменения по мере реализации проекта: дополняются, модифицируются, сокращаются.

Состав процедур управления требованиями:

  • "Анализ проблем" - разработка и согласование правильного описания проблемы, решить которую призвана новая система.
  • "Выявление потребностей пользователей" - сбор информации о действительных потребностях пользователей создаваемого решения и других заинтересованных лиц; идентификация функций системы.
  • "Определение системы" - преобразование понимания проблемы и потребностей пользователя в обобщенное описание системы, которая будет удовлетворять эти потребности.
  • "Управление масштабом" - согласование определения системы и ограничений проекта.
  • "Уточнение определения системы" - разработка детальных требований к системе.
  • "Построение правильной системы" - методики верификации создаваемого ИТ -решения и управления изменениями.

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

Процесс включает в себя следующие этапы:

  1. Достижение соглашения об определении проблемы
  2. Выделение основных причин
  3. Выявление заинтересованных лиц и пользователей
  4. Определение границ системы, предлагаемой в качестве решения
  5. Выявление ограничений.

Выявление потребностей пользователей

Потребность - это отражение некоей личной, рабочей или бизнес-проблемы (или возможности), решение которой оправдывает замысел создания, приобретение или модернизацию системы.

Выявление потребностей сопряжено с выполнением следующих задач:

  • интервьюирование и анкетирование;
  • совещания, посвященные требованиям;
  • мозговой штурм;
  • применение "раскадровок";
  • анализ прецедентов;
  • обыгрывание ролей;
  • создание прототипов.

Определение системы

Требования к системе редко удаётся зафиксировать в едином документе. Причины кроются в сложности системы, в организации выявления и документирования требований, система может быть членом семейства родственных продуктов, проектируемая система может удовлетворять только часть выявленных требований и пр. Поэтому на этапе определения системы выбирается формат представления требований. Это может быть иерархическая структура, когда требования задаются для отдельных подсистем. Или один документ может содержать общие определения функций системы, другой - конкретные требования. (Первый обычно называется концепцией, второй - спецификацией требований).

Завершается этап разработкой и согласованием концепции системы, отражающей на верхнем уровне абстракции как проблему, так и решение.

Управление масштабом проекта

Управление масштабом проекта осуществляется с целью выявления реальных рамок проекта. При этом решаются следующие основные задачи:

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

С точки зрения приоритетов функции делятся на критические (без которых система не может существовать), важные и полезные. Трудоемкость и риск оценивается по шкале "низкий - средний - высокий". После этого применяются эвристические правила принятия решений по организации проекта. Например:

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

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

Уточнение определения системы

На этапе уточнения определения системы осуществляется детализация требований к технической реализации системы, т.е. выявляются разнообразные условия или возможности, которым должна соответствовать система. Таки образом, осуществляется переход от требований в области проблем (определённых на предыдущих этапах) к требованиям в области решений.

Требования в области решений делятся на две группы: функциональные требования и нефункциональные.

Функциональные требования определяют действия, которые должна быть способна выполнить система (без рассмотрения физических связей между её элементами). Они определяют внешнее поведение системы. Функциональные требования используются для выражения поведения системы путем задания предпосылок и возможностей, ожидаемых в качестве результата.

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

Создание правильной системы

В процессе создания системы осуществляются два вида контроля её правильности: верификация и валидация.

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

Как минимум, подлежит верификации:

  • Соответствие функций потребностям
  • Соответствие функциям производных от них прецедентов и требований
  • Полнота реализация прецедентов при проектировании
  • Поддержка при проектировании функциональных и нефункциональных аспектов поведения системы
  • Соответствие программного продукта результатам и целям проектирования
  • Полнота покрытия тестами требований и прецедентов.

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

Сведения о проекте