Що таке нефункціональна вимога в розробці програмного забезпечення?

Що таке нефункціональна вимога?

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

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

Типи нефункціональних вимог

Нижче наведено основні типи нефункціональних вимог:

Типи нефункціональних вимог
Типи нефункціональних вимог
  • Вимога зручності використання
  • Вимога до справності
  • Вимога керованості
  • Вимога відновлюваності
  • Вимога безпеки
  • дані Integrity вимога
  • Вимоги до місткості
  • Вимога до наявності
  • Вимога масштабованості
  • Вимога сумісності
  • Вимога до надійності
  • Вимога ремонтопридатності
  • Нормативна вимога
  • Екологічна вимога

Приклади нефункціональних вимог

Ось декілька прикладів нефункціональних вимог:

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

Функціональні та нефункціональні вимоги

Нижче наведено основні відмінності між функціональними та нефункціональними вимогами:

параметри Функціональні вимоги Нефункціональна вимога
Що це таке? дієслово Attributes
Вимога Це обов'язково Це не є обов'язковим
Тип захоплення Він фіксується у випадку використання. Це фіксується як атрибут якості.
Кінцевий результат Функція продукту Властивості продукту
захопивши Легко знімати Важко захопити
мета Допомагає перевірити функціональність програмного забезпечення. Допомагає перевірити продуктивність програмного забезпечення.
Область фокусування Зосередьтеся на вимогах користувача Концентрується на очікуваннях користувача.
документація Опишіть, що робить продукт Описує, як працює продукт
Тип тестування Функціональне тестування як система, інтеграція, наскрізне тестування, тестування API тощо. Нефункціональне тестування, як-от тестування продуктивності, навантаження, зручності використання, безпеки тощо.
Виконання тесту Виконання тесту виконується перед нефункціональним тестуванням. Після функціонального тестування
Інформація про продукт Особливості товару: Властивості продукту

Переваги нефункціональної вимоги

Переваги/плюси Нефункціональне тестування є:

  • Нефункціональні вимоги гарантують, що програмна система дотримується правових норм і правил відповідності.
  • Вони забезпечують надійність, доступність і продуктивність програмної системи
  • Вони забезпечують гарну взаємодію з користувачем і легкість роботи з програмним забезпеченням.
  • Вони допомагають у формуванні політики безпеки програмної системи.

Недоліки нефункціональної вимоги

Мінуси/недоліки вимоги нефункціональності:

  • Жодна функціональна вимога не може впливати на різну підсистему програмного забезпечення високого рівня
  • Вони вимагають особливої ​​уваги на етапі архітектури програмного забезпечення/проектування високого рівня, що збільшує витрати.
  • Їх реалізація зазвичай не відображається на конкретній програмній підсистемі,
  • Важко модифікувати нефункціональні після того, як ви пройдете фазу архітектури.

КЛЮЧОВЕ НАВЧАННЯ

  • NFR означає: нефункціональна вимога визначає атрибут продуктивності програмної системи.
  • Які є типи нефункціональної поведінки: масштабованість, ємність, доступність, надійність, відновлюваність, дані Integrity, І т.д.
  • Одним із прикладів NFR є те, що працівникам заборонено оновлювати інформацію про свою зарплату. Про таку спробу слід повідомити адміністратора безпеки.
  • Функціональна вимога — це дієслово, тоді як нефункціональна вимога — атрибут
  • Перевага нефункціональної вимоги полягає в тому, що вона допомагає вам забезпечити хорошу взаємодію з користувачем і легкість роботи з програмним забезпеченням
  • Найбільшим недоліком нефункціональних вимог є те, що вони можуть впливати на різні підсистеми програмного забезпечення високого рівня.