Какво е функционално изискване в софтуерното инженерство?
Какво е функционално изискване?
A Функционално изискване (FR) е описание на услугата, която софтуерът трябва да предлага. Той описва софтуерна система или неин компонент. Функцията не е нищо друго освен входове към софтуерната система, нейното поведение и изходи. Това може да бъде изчисление, манипулиране на данни, бизнес процес, взаимодействие с потребителя или друга специфична функционалност, която определя каква функция е вероятно да изпълнява дадена система. Функционалните изисквания в софтуерното инженерство също се наричат Функционална спецификация.
В софтуерното инженерство и системното инженерство, функционалното изискване може да варира от абстрактно изявление на високо ниво за необходимостта на подателя до подробни математически функционални спецификации на изискването. Функционален софтуер изискванията ви помагат да уловите желаното поведение на системата.
Какво трябва да бъде включено в документа за функционални изисквания?
Ето как да напишете документ за функционални изисквания:

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