Введение

Тип требования в системной инженерии

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

Определение

В общем, функциональные требования определяют, что система должна делать, а нефункциональные требования – каким образом система должна это делать. Функциональные требования обычно формулируются как "система должна выполнять <требование>", описывая отдельное действие или часть системы, возможно, в виде математической функции, модели "черного ящика", описывающей входные данные, выходные данные, процессы и управление, или модели "вход-процесс-выход" (IPO). В отличие от них, нефункциональные требования формулируются как "система должна обладать <требованием>", определяя общее свойство системы в целом или ее конкретного аспекта, а не отдельной функции. Именно общие свойства системы часто определяют успех или неудачу проекта разработки. Нефункциональные требования часто называют "атрибутами качества" системы. Другие термины для нефункциональных требований включают "качества", "цели в области качества", "требования к качеству обслуживания", "ограничения", "нефункциональные требования" или "технические требования". Неформально их иногда называют "илити" (ilities), от таких атрибутов, как стабильность и переносимость. Качества – то есть нефункциональные требования – можно разделить на две основные категории:

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