Що таке функціональна вимога в розробці програмного забезпечення?
⚡ Розумний підсумок
Функціональні вимоги описують кожну послугу, яку повинна пропонувати програмна система, фіксуючи вхідні дані, поведінку та вихідні дані, щоб розробники, тестувальники та зацікавлені сторони бізнесу мали єдине, перевірене визначення того, що продукт насправді повинен робити.
Що таке функціональна вимога?
A Функціональні вимоги (ФВ) – це опис послуги, яку має пропонувати програмне забезпечення. Він описує програмну систему або її компонент. Функція визначається вхідними даними, поведінкою та виходами. Це може бути обчислення, маніпулювання даними, бізнес-процес або взаємодія з користувачем, яка визначає, що повинна робити система. Функціональні вимоги в програмній інженерії також називаються Функціональна специфікація.
Функціональна вимога варіюється від потреб зацікавлених сторін високого рівня до детальної математичної специфікації. Функціональне програмне забезпечення вимоги фіксують передбачувану поведінку системи.
Що включити до документа з функціональними вимогами
Ось що має охоплювати документ з функціональними вимогами:
Приклад функціональних вимог
Документ з функціональними вимогами зазвичай містить:
- Деталі проведених операцій на кожному екрані
- Логіка обробки даних, яку має застосовувати система
- Descriptзвітів системи та інших результатів
- Повна інформація про робочі процеси, які виконує система
- Кому дозволено створювати, змінювати або видаляти дані в системі
- Як система відповідає застосовним нормативним вимогам та вимогам до дотримання нормативних вимог
Переваги функціональних вимог
Основні переваги добре написаного документа з функціональними вимогами:
- Перевіряє, чи програма забезпечує кожну вказану функцію
- Визначає функціональність системи та її підсистем в одному місці
- У поєднанні з аналізом вимог, функціональні вимоги допомагають виявити відсутні потреби та уточнити очікувану поведінку системи
- Помилки, виявлені на етапі вимог, найдешевше виправити
- Підтримує цілі, завдання та дії користувача
Типи функціональних вимог
Загальні категорії функціональних вимог включають:
- Обробка транзакцій
- Правила бізнесу
- Вимоги до сертифікації
- Вимоги до звітності
- Адміністративні функції
- Рівні авторизації
- Аудит Tracking
- Зовнішні інтерфейси
- Управління історичними даними
- Законодавчі та нормативні вимоги
Приклади функціональних вимог
Нижче наведено практичні приклади функціональних вимог:
- Програмне забезпечення повинно автоматично перевіряти клієнтів у системі управління контактами ABC.
- Система продажів повинна дозволяти користувачам фіксувати продажі клієнтам.
- Колір фону для всіх вікон у програмі має бути синім із шістнадцятковим значенням RGB 0x0000FF.
- Тільки співробітники керівного рівня мають право переглядати дані про доходи.
- Програмний комплекс має інтегруватися з банківським API.
- Програмна система повинна відповідати Розділ 508 вимоги до доступності.
Функціональні та нефункціональні вимоги
Ось ключові відмінності між функціональними та нефункціональними вимогами в Розробка програмного забезпечення:
| Параметри | Функціональні вимоги | Нефункціональна вимога |
|---|---|---|
| Що це | дієслово | Attributes |
| Вимога | Це обов'язково | Це не є обов'язковим |
| Тип захоплення | Він фіксується у випадку використання. | Це фіксується як атрибут якості. |
| Кінцевий результат | Функція продукту | Властивості продукту |
| захопивши | Легко знімати | Важко захопити |
| Мета | Допомагає перевірити функціональність програмного забезпечення. | Допомагає перевірити продуктивність програмного забезпечення. |
| Область фокусування | Зосередьтеся на вимогах користувача | Концентрується на очікуваннях користувача. |
| Документація | Опишіть, що робить продукт | Описує, як працює продукт |
| Тип тестування | Функціональне тестування, як-от системне, інтеграційне, наскрізне, Тестування API, І т.д. | Нефункціональне тестування, як-от продуктивність, стрес, юзабіліті, Тестування безпеки, І т.д. |
| Виконання тесту | Виконання тестів виконується перед нефункціональним тестуванням. | Після функціонального тестування |
| Інформація про продукт | Особливості товару: | Властивості продукту |
Найкращі практики написання функціональних вимог
Найважливіші найкращі практики для написання документа з функціональними вимогами:
- Не поєднуйте дві вимоги в одну; детально розміщуйте кожну вимогу.
- Зробіть кожну вимогу максимально повною та точною.
- Сформулюйте всі технічні вимоги в документі.
- Зіставте кожну вимогу з цілями та принципами, які сприяють успішній розробці програмного забезпечення.
- Виявляйте вимоги за допомогою співбесід, семінарів та неформальних розмов.
- Задокументуйте кожне відоме, перевірене обмеження, яке суттєво впливає на вимогу.
- Запишіть кожне припущення в документі.
Типові помилки під час написання функціональних вимог
Типові помилки, що допускаються під час створення документа функціональних вимог, включають:
- Додавання невиправданої додаткової інформації, яка бентежить розробників
- Опускаючи деталі, необхідні розробникам для створення функції.
- Правила змішування, приклади, scoping твердження або цілі в саму вимогу.
- Пропуск інформації, яка є важливою для повного та точного викладу вимоги.
- Захист існуючої вимоги, коли надходить запит на зміни, замість пошуку правильної відповіді.
- Вимоги до написання, які не відповідають жодній меті чи принципу.


