Показатель Единицы измерения

Производительность Количество выполненных транзакций в секунду; время реакции на действия пользователя; время обновления экрана

Размер Килобайты; количество модулей памяти

Удобность использования Время обучения персонала; количество статей в справочной системе

Надежность Средняя продолжительность времени между двумя последовательными проявлениями ошибок в системе; вероятность выхода системы из строя; коэффициент готовности системы

Устойчивость к сбоям Время восстановления системы после сбоя; процент событий, приводящих к сбоям; вероятность порчи данных при сбоях

Переносимость Процент машинно-зависимых операторов; количество машинно-зависимых подсистем

 


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

Нефункциональные требования часто вступают в конфликт с другими требованиями, предъявляемыми к системе. Например, в соответствии с одним из требований размер системы не должен превышать 4 Мбайт, поскольку она должна полностью поместиться в постоянное запоминающее устройство ограниченной емкости. Другое требование обязывает использовать для написания системы язык программирования Ada, который часто применяется для создания критических систем реального времени. Но, допустим, откомпилированная системная программа, написанная на языке Ada, занимает более 4 Мбайт. Итак, одновременное выполнение этих требований невозможно. В этой ситуации следует отказаться от одного из требований. Нужно или применить другой язык программирования, или увеличить объем памяти, выделяемый для системы.