Что такое нефункциональные требования в программной инженерии?
Что такое нефункциональное требование?
Нефункциональное требование (NFR) определяет атрибут качества программной системы. Они оценивают программную систему на основе быстродействия, удобства использования, безопасности, портативности и других нефункциональных стандартов, которые имеют решающее значение для успеха программной системы. Пример нефункционального требования, «Как быстро загружается сайт?» Невыполнение нефункциональных требований может привести к тому, что системы не смогут удовлетворить потребности пользователей.
Нефункциональные требования в программной инженерии позволяют вам накладывать ограничения или запреты на проектирование системы в различных agile backlogs. Например, сайт должен загружаться за 3 секунды, когда число одновременных пользователей > 10000. DescriptИон нефункциональных требований так же важен, как и функциональные требования.
Типы нефункциональных требований
Ниже приведены основные типы нефункциональных требований:
- Требование юзабилити
- Требование к работоспособности
- Требование управляемости
- Требование к возможности восстановления
- Требование безопасности
- Данные Integrity требование
- Требуемая мощность
- Требование доступности
- Требование масштабируемости
- Требование совместимости
- Требование надежности
- Требование ремонтопригодности
- Нормативное требование
- Требования к окружающей среде
Примеры нефункциональных требований
Вот несколько примеров нефункциональных требований:
- Пользователи должны изменить первоначально назначенный пароль для входа сразу после первого успешного входа в систему. Более того, первоначальный никогда не должен использоваться повторно.
- Сотрудникам никогда не разрешалось обновлять информацию о своей зарплате. О такой попытке следует сообщить администратору безопасности.
- Каждая неудачная попытка пользователя получить доступ к элементу данных должна регистрироваться в контрольном журнале.
- Веб-сайт должен быть достаточно способен обрабатывать 20 миллионов пользователей, что влияет на его производительность.
- Программное обеспечение должно быть портативным. Так что переход с одной ОС на другую не создаст никаких проблем.
- Конфиденциальность информации, экспорт ограниченных технологий, права интеллектуальной собственности и т. д. должны подвергаться проверке.
Функциональные и нефункциональные требования
Ниже приведено основное различие между функциональными и нефункциональными требованиями:
параметры | Функциональное требование | Нефункциональное требование |
---|---|---|
Что это такое? | глагол | Атрибуты |
Требование | Это обязательно | Это необязательно |
Тип захвата | Он фиксируется в варианте использования. | Это фиксируется как атрибут качества. |
Конечный результат | характеристика продукта | Свойства продукта |
Захват | Легко захватить | Трудно захватить |
Цель | Помогает вам проверить функциональность программного обеспечения. | Помогает вам проверить работоспособность программного обеспечения. |
Область внимания | Сосредоточьтесь на требованиях пользователя | Концентрируется на ожиданиях пользователя. |
Документация | Опишите, что делает продукт | Описывает, как работает продукт |
Тип тестирования | Функциональное тестирование такие как система, интеграция, сквозное тестирование, тестирование API и т. д. | Нефункциональное тестирование, такое как производительность, стресс, удобство использования, тестирование безопасности и т. д. |
Выполнение теста | Выполнение теста выполняется перед нефункциональным тестированием. | После функционального тестирования |
Информация о продукции | Особенности продукта | Свойства продукта |
Преимущества нефункционального требования
Преимущества/плюсы Нефункциональное тестирование составляют:
- Нефункциональные требования гарантируют, что программная система соответствует правовым нормам и правилам соответствия.
- Они обеспечивают надежность, доступность и производительность программной системы.
- Они обеспечивают удобство использования и простоту использования программного обеспечения.
- Они помогают в формулировании политики безопасности программной системы.
Недостатки нефункционального требования
Минусы/недостатки требования нефункционализации:
- Ни одно функциональное требование не может повлиять на различные подсистемы программного обеспечения высокого уровня.
- Они требуют особого внимания на этапе архитектуры программного обеспечения/проектирования высокого уровня, что увеличивает затраты.
- Их реализация обычно не привязана к конкретной подсистеме программного обеспечения.
- Трудно изменить нефункциональность после того, как вы прошли этап архитектуры.
КЛЮЧ ОБУЧЕНИЯ
- NFR означает: нефункциональное требование определяет атрибут производительности программной системы.
- Каковы типы нефункционального поведения: масштабируемость, доступность, надежность, возможность восстановления, данные. Integrity, и т.д.
- Один из примеров NFR: «Сотрудникам никогда не разрешается обновлять информацию о своей зарплате». О такой попытке следует сообщить администратору безопасности.
- Функциональное требование — это глагол, а нефункциональное требование — атрибут.
- Преимущество нефункционального требования заключается в том, что оно помогает обеспечить удобство использования и простоту работы с программным обеспечением.
- Самым большим недостатком нефункционального требования является то, что оно может повлиять на различные подсистемы программного обеспечения высокого уровня.