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

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

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

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

У програмній інженерії a функціональна вимога визначає систему або її компонент. Він описує функції, які має виконувати програмне забезпечення. Функція — це не що інше, як входи, її поведінка та виходи. Це може бути обчислення, маніпулювання даними, бізнес-процес, взаємодія з користувачем або будь-яка інша конкретна функція, яка визначає, яку функцію може виконувати система.

Функціональні вимоги в інженерії програмного забезпечення допоможе вам охопити заплановану поведінку системи. Ця поведінка може бути виражена як функції, послуги чи завдання або те, що система повинна виконувати.

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

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

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

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

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

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

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

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

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

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

Різниця між функціональними та нефункціональними вимогами

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

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

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

Ось плюси/переваги створення типового документа функціональних вимог –

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

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

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

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