Какво е функционално изискване в софтуерното инженерство?
⚡ Умно обобщение
Функционалните изисквания описват всяка услуга, която една софтуерна система трябва да предлага, като обхващат входни данни, поведение и изходни данни, така че разработчиците, тестерите и бизнес заинтересованите страни да споделят единна, проверима дефиниция за това какво всъщност трябва да прави продуктът.
Какво е функционално изискване?
A Функционално изискване (FR) е описание на услугата, която софтуерът трябва да предлага. То описва софтуерна система или нейния компонент. Функцията се определя от входове, поведение и изходи. Тя може да бъде изчисление, манипулиране на данни, бизнес процес или потребителско взаимодействие, което определя какво трябва да прави системата. Функционалните изисквания в софтуерното инженерство се наричат още Функционална спецификация.
Функционалното изискване варира от нужда на заинтересованите страни на високо ниво до подробна математическа спецификация. Функционален софтуер изискванията обхващат предвиденото поведение на системата.
Какво да включите в документа с функционални изисквания
Ето какво трябва да обхваща документът с функционални изисквания:
Примерни функционални изисквания
Документът с функционални изисквания обикновено включва:
- Подробности за операциите, извършени на всеки екран
- Логика за обработка на данни, която системата трябва да прилага
- Descriptиони на системни отчети и други резултати
- Пълна информация за работните процеси, които системата изпълнява
- Кой има право да създава, променя или изтрива данни в системата
- Как системата отговаря на приложимите регулаторни изисквания и изисквания за съответствие
Предимства на функционалните изисквания
Основните предимства на добре написан документ с функционални изисквания са:
- Проверява дали приложението предоставя всяка зададена функция
- Определя функционалността на системата и нейните подсистеми на едно място
- В комбинация с анализа на изискванията, функционалните изисквания помагат за идентифициране на липсващите нужди и изясняване на очакваното поведение на системата.
- Грешките, открити на етапа на изискване, са най-евтини за отстраняване.
- Поддържа потребителските цели, задачи и дейности
Видове функционални изисквания
Често срещани категории функционални изисквания включват:
- Обработка на транзакция
- Бизнес правила
- Сертифициране Изисквания
- Изисквания за докладване
- Административни функции
- Нива на оторизация
- Проверка Tracking
- Външни интерфейси
- Управление на исторически данни
- Законови и регулаторни изисквания
Примери за функционални изисквания
По-долу са дадени практически примери за функционални изисквания:
- Софтуерът автоматично ще валидира клиентите спрямо системата за управление на контакти ABC.
- Системата за продажби трябва да позволява на потребителите да записват продажбите на клиенти.
- Цветът на фона за всички прозорци в приложението трябва да бъде син с шестнадесетична RGB стойност 0x0000FF.
- Само служители на управленско ниво имат право да преглеждат данните за приходите.
- Софтуерната система ще се интегрира с банковия API.
- Софтуерната система трябва да отговаря Раздел 508 изисквания за достъпност.
Функционални срещу нефункционални изисквания
Ето са ключовите разлики между функционалните и нефункционалните изисквания в Софтуерно инженерство:
| параметри | Функционално изискване | Нефункционално изискване |
|---|---|---|
| Какво е | глагол | Атрибути |
| Изискване | Тя е задължителна | Не е задължително |
| Тип заснемане | Той е заловен в случай на употреба. | Той се улавя като качествен атрибут. |
| Краен резултат | Функция на продукта | Свойства на продукта |
| Прихващане | Лесен за заснемане | Трудно за улавяне |
| Цел | Помага ви да проверите функционалността на софтуера. | Помага ви да проверите ефективността на софтуера. |
| Зона на фокусиране | Фокусирайте се върху изискванията на потребителя | Концентрира се върху очакванията на потребителя. |
| документация | Опишете какво прави продуктът | Описва как работи продуктът |
| Тип тестване | Функционално тестване като система, интеграция, край до край, API тестванеИ др | Нефункционални тестове като производителност, стрес, използваемост, Тестване на сигурносттаИ др |
| Изпълнение на теста | Изпълнението на тестовете се извършва преди нефункционалното тестване. | След функционалното изследване |
| Информация за продукта | Характеристики на продукта | Свойства на продукта |
Най-добри практики за писане на функционални изисквания
Най-важните най-добри практики за писане на документ с функционални изисквания са:
- Не комбинирайте две изисквания в едно; дръжте всяко изискване подробни.
- Направете всяко изискване възможно най-пълно и точно.
- Изгответе всички технически изисквания в документа.
- Свържете всяко изискване с целите и принципите, които водят до успешното разработване на софтуер.
- Изяснявайте изискванията чрез интервюта, семинари и неформални разговори.
- Документирайте всяко известно, проверено ограничение, което съществено влияе върху дадено изискване.
- Запишете всяко предположение в документа.
Често срещани грешки при писане на функционални изисквания
Често срещани грешки, допускани при създаването на документ с функционални изисквания, включват:
- Добавяне на неоправдана допълнителна информация, която обърква разработчиците
- Пропускайки детайлите, които разработчиците трябва да изградят функцията.
- Правила за смесване, примери, scoping твърдения или цели в самото изискване.
- Пропускане на информация, която е съществена за пълното и точно формулиране на изискването.
- Защита на съществуващо изискване при получаване на заявка за промяна, вместо намиране на правилния отговор.
- Изисквания за писане, които не са свързани с никаква цел или принцип.


