Что такое нефункциональные требования в программной инженерии?

Что такое нефункциональное требование?

Нефункциональное требование (NFR) определяет атрибут качества программной системы. Они оценивают программную систему на основе быстродействия, удобства использования, безопасности, портативности и других нефункциональных стандартов, которые имеют решающее значение для успеха программной системы. Пример нефункционального требования, «Как быстро загружается сайт?» Невыполнение нефункциональных требований может привести к тому, что системы не смогут удовлетворить потребности пользователей.

Нефункциональные требования в программной инженерии позволяют вам накладывать ограничения или запреты на проектирование системы в различных agile backlogs. Например, сайт должен загружаться за 3 секунды, когда число одновременных пользователей > 10000. DescriptИон нефункциональных требований так же важен, как и функциональные требования.

Типы нефункциональных требований

Ниже приведены основные типы нефункциональных требований:

Типы нефункциональных требований
Типы нефункциональных требований
  • Требование юзабилити
  • Требование к работоспособности
  • Требование управляемости
  • Требование к возможности восстановления
  • Требование безопасности
  • Данные Integrity требование
  • Требуемая мощность
  • Требование доступности
  • Требование масштабируемости
  • Требование совместимости
  • Требование надежности
  • Требование ремонтопригодности
  • Нормативное требование
  • Требования к окружающей среде

Примеры нефункциональных требований

Вот несколько примеров нефункциональных требований:

  1. Пользователи должны изменить первоначально назначенный пароль для входа сразу после первого успешного входа в систему. Более того, первоначальный никогда не должен использоваться повторно.
  2. Сотрудникам никогда не разрешалось обновлять информацию о своей зарплате. О такой попытке следует сообщить администратору безопасности.
  3. Каждая неудачная попытка пользователя получить доступ к элементу данных должна регистрироваться в контрольном журнале.
  4. Веб-сайт должен быть достаточно способен обрабатывать 20 миллионов пользователей, что влияет на его производительность.
  5. Программное обеспечение должно быть портативным. Так что переход с одной ОС на другую не создаст никаких проблем.
  6. Конфиденциальность информации, экспорт ограниченных технологий, права интеллектуальной собственности и т. д. должны подвергаться проверке.

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

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

параметры Функциональное требование Нефункциональное требование
Что это такое? глагол Атрибуты
Требование Это обязательно Это необязательно
Тип захвата Он фиксируется в варианте использования. Это фиксируется как атрибут качества.
Конечный результат характеристика продукта Свойства продукта
Захват Легко захватить Трудно захватить
Цель Помогает вам проверить функциональность программного обеспечения. Помогает вам проверить работоспособность программного обеспечения.
Область внимания Сосредоточьтесь на требованиях пользователя Концентрируется на ожиданиях пользователя.
Документация Опишите, что делает продукт Описывает, как работает продукт
Тип тестирования Функциональное тестирование такие как система, интеграция, сквозное тестирование, тестирование API и т. д. Нефункциональное тестирование, такое как производительность, стресс, удобство использования, тестирование безопасности и т. д.
Выполнение теста Выполнение теста выполняется перед нефункциональным тестированием. После функционального тестирования
Информация о продукции Особенности продукта Свойства продукта

Преимущества нефункционального требования

Преимущества/плюсы Нефункциональное тестирование составляют:

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

Недостатки нефункционального требования

Минусы/недостатки требования нефункционализации:

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

КЛЮЧ ОБУЧЕНИЯ

  • NFR означает: нефункциональное требование определяет атрибут производительности программной системы.
  • Каковы типы нефункционального поведения: масштабируемость, доступность, надежность, возможность восстановления, данные. Integrity, и т.д.
  • Один из примеров NFR: «Сотрудникам никогда не разрешается обновлять информацию о своей зарплате». О такой попытке следует сообщить администратору безопасности.
  • Функциональное требование — это глагол, а нефункциональное требование — атрибут.
  • Преимущество нефункционального требования заключается в том, что оно помогает обеспечить удобство использования и простоту работы с программным обеспечением.
  • Самым большим недостатком нефункционального требования является то, что оно может повлиять на различные подсистемы программного обеспечения высокого уровня.