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

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

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

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

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

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

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

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

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

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

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

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

  • Программное обеспечение автоматически проверяет клиентов на соответствие системе управления контактами ABC.
  • Система продаж должна позволять пользователям регистрировать продажи клиентов.
  • Цвет фона для всех окон в приложении будет синим и будет иметь шестнадцатеричное значение цвета RGB 0x0000FF.
  • Только сотрудники управленческого уровня имеют право просматривать данные о доходах.
  • Программный комплекс должен быть интегрирован с банковским API.
  • Программная система должна пройти Раздел 508 требование доступности.

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

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

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

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

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

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

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

Вот плюсы/преимущества создания типичного документа с функциональными требованиями:

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

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

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

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