Функциональные и нефункциональные требования
Ключевая разница между функциональными и нефункциональными требованиями
- Функциональное требование определяет систему или ее компонент, тогда как нефункциональное требование определяет атрибут производительности программной системы.
- Функциональные требования вместе с анализом требований помогают выявить недостающие требования, а преимущество нефункциональных требований заключается в том, что они помогают обеспечить хороший пользовательский опыт и простоту эксплуатации программного обеспечения.
- Функциональное требование — это глагол, а нефункциональное требование — атрибут.
- Типы нефункциональных требований: масштабируемость, доступность, надежность, возможность восстановления, данные. Integrityи т. д., тогда как исправления, корректировки и отмены транзакций, бизнес-правила, требования сертификации, требования к отчетности, административные функции, уровни авторизации, отслеживание аудита, внешние интерфейсы, управление историческими данными, юридические или нормативные требования — это различные типы функциональных требований.
Что такое функциональное требование?
В программной инженерии функциональное требование определяет систему или ее компонент. Он описывает функции, которые должно выполнять программное обеспечение. Функция — это не что иное, как входные данные, ее поведение и выходные данные. Это может быть расчет, манипулирование данными, бизнес-процесс, взаимодействие с пользователем или любая другая конкретная функция, которая определяет, какую функцию может выполнять система.
Функциональные требования в разработке программного обеспечения поможет вам уловить предполагаемое поведение системы. Это поведение может быть выражено в виде функций, услуг или задач или того, какую систему должна выполнять.
Что такое нефункциональное требование?
A нефункциональное требование определяет атрибут качества программной системы. Они представляют собой набор стандартов, используемых для оценки конкретной работы системы. Например, как быстро загружается сайт?
Нефункциональные требования необходимы для обеспечения удобства использования и эффективности всей программной системы. Невыполнение нефункциональных требований может привести к тому, что системы не смогут удовлетворить потребности пользователей.
Нефункциональные требования позволяют вам накладывать ограничения или запреты на проектирование системы в различных agile backlogs. Например, сайт должен загружаться за 3 секунды, когда число одновременных пользователей > 10000. DescriptИон нефункциональных требований так же важен, как и функциональные требования.
Пример функциональных требований
Вот несколько примеров функциональных требований в разработке программного обеспечения:
- Программное обеспечение автоматически проверяет клиентов на соответствие системе управления контактами ABC.
- Система продаж должна позволять пользователям регистрировать продажи клиентов.
- Цвет фона для всех окон в приложении будет синим и будет иметь шестнадцатеричное значение цвета RGB 0x0000FF.
- Только сотрудники управленческого уровня имеют право просматривать данные о доходах.
- Программный комплекс должен быть интегрирован с банковским API.
- Программная система должна пройти Раздел 508 требование доступности.
Примеры нефункциональных требований
Вот несколько примеров нефункциональных требований в разработке программного обеспечения:
- Пользователи должны изменить первоначально назначенный пароль для входа сразу после первого успешного входа в систему. Более того, первоначальный никогда не должен использоваться повторно.
- Сотрудникам никогда не разрешалось обновлять информацию о своей зарплате. О такой попытке следует сообщить администратору безопасности.
- Каждая неудачная попытка пользователя получить доступ к элементу данных должна регистрироваться в контрольном журнале.
- Веб-сайт должен быть достаточно способен обрабатывать 20 миллионов пользователей, что влияет на его производительность.
- Программное обеспечение должно быть портативным. Так что переход с одной ОС на другую не создаст никаких проблем.
- Конфиденциальность информации, экспорт ограниченных технологий, права интеллектуальной собственности и т. д. должны подвергаться проверке.
Разница между функциональными и нефункциональными требованиями
Ниже приведена основная разница между функциональными и нефункциональными требованиями в разработке программного обеспечения:
Параметры | Функциональное требование | Нефункциональное требование |
---|---|---|
Что это | глагол | Атрибуты |
Требование | Это обязательно | Это необязательно |
Тип захвата | Он фиксируется в варианте использования. | Это фиксируется как атрибут качества. |
Конечный результат | характеристика продукта | Свойства продукта |
Захват | Легко захватить | Трудно захватить |
Цель | Помогает вам проверить функциональность программного обеспечения. | Помогает вам проверить работоспособность программного обеспечения. |
Область внимания | Сосредоточьтесь на требованиях пользователя | Концентрируется на ожиданиях пользователя. |
Документация | Опишите, что делает продукт | Описывает, как работает продукт |
Тип тестирования | Функциональное тестирование, такое как система, интеграция, сквозное тестирование, API тестирование, и т.д. | Нефункциональное тестирование, такое как производительность, стресс, удобство использования, Тестирование безопасности, и т.д. |
Выполнение теста | Выполнение теста выполняется перед нефункциональным тестированием. | После функционального тестирования |
Информация о продукции | Особенности продукта | Свойства продукта |
Преимущества функциональных требований
Вот плюсы/преимущества создания типичного документа с функциональными требованиями:
- Помогает вам проверить, предоставляет ли приложение все функции, упомянутые в функциональных требованиях этого приложения.
- Документ функциональных требований помогает вам определить функциональность системы или одной из ее подсистем.
- Функциональные требования вместе с анализом требований помогают выявить недостающие требования. Они помогают четко определить ожидаемое обслуживание и поведение системы.
- Ошибки, обнаруженные на этапе сбора функциональных требований, исправить проще всего.
- Поддержка целей, задач или действий пользователей для упрощения управления проектами.
- Функциональные требования могут быть выражены в форме варианта использования или пользовательской истории, поскольку они демонстрируют внешне видимое функциональное поведение.
Преимущества нефункционального требования
Преимущества/плюсы нефункционального тестирования в разработка программного обеспечения составляют:
- Нефункциональные требования гарантируют, что программная система соответствует правовым нормам и правилам соответствия.
- Они обеспечивают надежность, доступность и производительность программной системы.
- Они обеспечивают удобство использования и простоту использования программного обеспечения.
- Они помогают в формулировании политики безопасности программной системы.