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

Опубликовано: 28 Января, 2022

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

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

Нефункциональные требования: в основном это ограничения качества, которым система должна удовлетворять в соответствии с контрактом по проекту. Приоритет или степень реализации этих факторов варьируется от одного проекта к другому. Их также называют неповеденческими требованиями.
В основном они решают такие проблемы, как:

  • Портативность
  • Безопасность
  • Ремонтопригодность
  • Надежность
  • Масштабируемость
  • Представление
  • Возможность повторного использования
  • Гибкость

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

    Функциональные требования Нефункциональные требования
    Функциональное требование определяет систему или ее компонент. Нефункциональное требование определяет атрибут качества программной системы.
    В нем указано: «Что должна делать программная система?» Он накладывает ограничения на вопрос: «Каким образом программная система должна соответствовать функциональным требованиям?»
    Функциональные требования определяет Пользователь. Нефункциональные требования указываются техническими специалистами, например архитекторами, техническими руководителями и разработчиками программного обеспечения.
    Это обязательно. Это не обязательно.
    Это зафиксировано в сценарии использования. Это фиксируется как атрибут качества.
    Определяется на уровне компонентов. Применяется к системе в целом.
    Помогает проверить работоспособность программного обеспечения. Помогает проверить работоспособность программного обеспечения.
    Выполняется функциональное тестирование, такое как система, интеграция, сквозное тестирование, тестирование API и т. Д. Выполняется нефункциональное тестирование, такое как производительность, стресс, удобство использования, тестирование безопасности и т. Д.
    Обычно легко определить. Обычно сложнее определить.
    Пример

    1) Аутентификация пользователя при входе в систему.
    2) Отключение системы в случае кибератаки.
    3) Проверочное электронное письмо отправляется пользователю всякий раз, когда он / она впервые регистрируется в какой-либо программной системе.

    Пример

    1) Электронные письма должны отправляться с задержкой не более 12 часов после такого действия.
    2) Обработка каждого запроса должна выполняться в течение 10 секунд.
    3) Сайт должен загрузиться за 3 секунды, если количество одновременных пользователей> 10000.

    Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.