Функционални срещу нефункционални изисквания

Ключова разлика между функционални и нефункционални изисквания

  • Функционалното изискване дефинира система или неин компонент, докато нефункционалното изискване дефинира атрибута за производителност на софтуерна система.
  • Функционалните изисквания, заедно с анализа на изискванията, помагат да се идентифицират липсващите изисквания, докато предимството на нефункционалните изисквания е, че ви помага да осигурите добро потребителско изживяване и лесна работа със софтуера.
  • Функционалното изискване е глагол, докато нефункционалното изискване е атрибут
  • Типовете нефункционални изисквания са капацитет за мащабируемост, наличност, надеждност, възможност за възстановяване, данни Integrityи т.н., докато корекциите, корекциите и анулирането на транзакции, бизнес правилата, изискванията за сертифициране, изискванията за докладване, административните функции, нивата на оторизация, проследяването на одита, външните интерфейси, управлението на исторически данни, законовите или регулаторните изисквания са различни видове функционални изисквания.
Функционални срещу нефункционални изисквания
Разлика между функционални и нефункционални изисквания

Какво е функционално изискване?

В софтуерното инженерство, a функционално изискване определя система или неин компонент. Той описва функциите, които софтуерът трябва да изпълнява. Функцията не е нищо друго освен входове, нейното поведение и изходи. Това може да бъде изчисление, манипулиране на данни, бизнес процес, взаимодействие с потребителя или друга специфична функционалност, която определя каква функция е вероятно да изпълнява дадена система.

Функционални изисквания в софтуерното инженерство ви помагат да уловите желаното поведение на системата. Това поведение може да бъде изразено като функции, услуги или задачи или това, което системата трябва да изпълни.

Какво е нефункционално изискване?

A нефункционално изискване определя качествения атрибут на софтуерна система. Те представляват набор от стандарти, използвани за оценка на конкретната работа на дадена система. Например, колко бързо се зарежда уебсайтът?

Нефункционалното изискване е от съществено значение за гарантиране на използваемостта и ефективността на цялата софтуерна система. Неспазването на нефункционалните изисквания може да доведе до системи, които не успяват да задоволят нуждите на потребителите.

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

Пример за функционални изисквания

Ето някои примери за функционални изисквания в софтуерното инженерство:

  • Софтуерът автоматично валидира клиентите спрямо системата за управление на контакти ABC
  • Системата за продажби трябва да позволява на потребителите да записват продажбите на клиентите
  • Фоновият цвят за всички прозорци в приложението ще бъде син и ще има шестнадесетична RGB цветова стойност 0x0000FF.
  • Само служители на мениджърско ниво имат право да преглеждат данните за приходите.
  • Софтуерната система трябва да бъде интегрирана с банков API
  • Софтуерната система трябва да премине Раздел 508 изискване за достъпност.

Примери за нефункционални изисквания

Ето някои примери за нефункционални изисквания в софтуерното инженерство:

  1. Потребителите трябва да променят първоначално зададената парола за влизане веднага след първото успешно влизане. Освен това инициалът никога не трябва да се използва повторно.
  2. Служителите никога не са имали право да актуализират информацията за заплатите си. Такъв опит трябва да бъде докладван на администратора по сигурността.
  3. Всеки неуспешен опит на потребител за достъп до елемент от данни се записва на одитна пътека.
  4. Един уебсайт трябва да е достатъчно способен да се справи с 20 милиона потребители, което да повлияе на ефективността му
  5. Софтуерът трябва да е преносим. Така че преминаването от една операционна система към друга не създава никакъв проблем.
  6. Поверителността на информацията, износът на ограничени технологии, правата върху интелектуалната собственост и т.н. трябва да бъдат одитирани.

Разлика между функционални и нефункционални изисквания

По-долу е основната разлика между функционалните и нефункционалните изисквания в софтуерното инженерство:

параметри Функционално изискване Нефункционално изискване
Какво е глагол Атрибути
Изискване Тя е задължителна Не е задължително
Тип заснемане Той е заловен в случай на употреба. Той се улавя като качествен атрибут.
Краен резултат Функция на продукта Свойства на продукта
Прихващане Лесен за заснемане Трудно за улавяне
Цел Помага ви да проверите функционалността на софтуера. Помага ви да проверите ефективността на софтуера.
Зона на фокусиране Фокусирайте се върху изискванията на потребителя Концентрира се върху очакванията на потребителя.
документация Опишете какво прави продуктът Описва как работи продуктът
Тип тестване Функционално тестване като система, интеграция, край до край, API тестванеИ др Нефункционални тестове като производителност, стрес, използваемост, Тестване на сигурносттаИ др
Изпълнение на теста Изпълнението на теста се извършва преди нефункционално тестване. След функционалното изследване
Информация за продукта Характеристики на продукта Свойства на продукта

Предимства на функционалното изискване

Ето плюсовете/предимствата на създаването на типичен документ за функционални изисквания -

  • Помага ви да проверите дали приложението предоставя всички функции, които са споменати във функционалните изисквания на това приложение
  • Документът с функционални изисквания ви помага да определите функционалността на система или една от нейните подсистеми.
  • Функционалните изисквания заедно с анализа на изискванията помагат да се идентифицират липсващите изисквания. Те помагат за ясното дефиниране на очакваната системна услуга и поведение.
  • Грешките, уловени в етапа на събиране на функционални изисквания, са най-евтините за коригиране.
  • Поддържайте потребителски цели, задачи или дейности за лесно управление на проекти
  • Функционалното изискване може да бъде изразено във формуляр за използване или потребителска история, тъй като те показват външно видимо функционално поведение.

Предимства на нефункционалното изискване

Предимства/плюсове на нефункционалното тестване в софтуерно инженерство са:

  • Нефункционалните изисквания гарантират, че софтуерната система следва законови правила и правила за съответствие.
  • Те гарантират надеждността, наличността и производителността на софтуерната система
  • Те осигуряват добро потребителско изживяване и лесна работа със софтуера.
  • Те помагат при формулирането на политика за сигурност на софтуерната система.