Mis on tarkvaratehnika mittefunktsionaalsed nõuded?

⚡ Nutikas kokkuvõte

Mittefunktsionaalsed nõuded määravad kindlaks kvaliteediatribuudid, nagu jõudlus, turvalisus, kasutatavus, töökindlus, skaleeritavus ja kaasaskantavus, määratledes, kui hästi tarkvarasüsteem peab käituma, ning muutes ebamäärased ootused mõõdetavateks, testitavateks ja jõustatavateks insenerieesmärkideks kogu tarnetsükli vältel.

  • 📘 Määratlus: Mittefunktsionaalne nõue ehk NFR kirjeldab süsteemi jõudlust, turvalisust, kasutatavust, töökindlust ja kaasaskantavust.
  • 🗂️ Levinud tüübid: Kasutatavus, turvalisus, töökindlus, skaleeritavus, mahutavus, käideldavus, hooldatavus ja vastavus regulatsioonidele on kategooriad, mida meeskonnad track kõige sagedamini.
  • 📊 FURPS+ mudel: FURPS+ rühmitab NFR-id funktsionaalsuse, kasutatavuse, töökindluse, jõudluse, toetatavuse ning disaini- või liidesepiirangute järgi.
  • 🎯 Testitavad väited: Asendage sõnad „kiire“ või „turvaline“ numbriliste läviväärtuste ja kontrollimeetoditega, et NFR-i saaks testida ja vastu võtta.
  • 🆚 Funktsionaalne kontrast: Funktsionaalsed nõuded kirjeldavad, mida süsteem teeb; mittefunktsionaalsed nõuded kirjeldavad, kui hästi see seda reaalsetes tingimustes teeb.
  • Mõju ärile: Puuduvad NFR-id on tootmisintsidentide, regulatiivsete leidude ja kulukate hilise etapi arhitektuuri ümbertöötlemise peamine põhjus.

Mittefunktsionaalne nõue tarkvaratehnikas

Mis on mittefunktsionaalne nõue?

A Mittefunktsionaalne nõue (NFR) määrab tarkvarasüsteemi kvaliteediatribuudi. NFR-id hindavad süsteemi reageerimisvõime, kasutatavuse, turvalisuse, kaasaskantavuse ja muude edu saavutamiseks oluliste kvaliteediatribuutide põhjal. Levinud mittefunktsionaalse nõude näide on "Kui kiiresti veebisait laaditakse?" Mittefunktsionaalsete nõuete täitmata jätmine tekitab süsteeme, mis tekitavad kasutajates frustratsiooni.

Tarkvaratehnika mittefunktsionaalsed nõuded seavad süsteemi disainile piiranguid kogu agiilse töövoo ulatuses. Näiteks peaks sait laadima kolme sekundiga, kui samaaegsete kasutajate arv ületab 10 000. Mittefunktsionaalsete nõuete kirjeldamine on sama oluline kui funktsionaalsete nõuete jäädvustamine.

Mittefunktsionaalsete nõuete tüübid

Mittefunktsionaalsete nõuete peamised kategooriad on:

Mittefunktsionaalsete nõuete tüübid

Mittefunktsionaalsete nõuete tüübid

  • Kasutatavus
  • Töökindlus
  • Juhitavus
  • Taastavus
  • TURVALISUS
  • kuupäev Integrity
  • Võimsus
  • Kättesaadavus
  • Skaalautuvus
  • Koostalitlusvõime
  • Usaldusväärsus
  • Hooldatavus
  • nõuetele vastavuse
  • Keskkonnapiirangud

Mittefunktsionaalsete nõuete näited

Siin on praktilised näited mittefunktsionaalsetest nõuetest:

  1. Kasutajad peavad pärast esimest edukat sisselogimist oma esialgset parooli muutma ja esialgset parooli ei tohi kunagi uuesti kasutada.
  2. Töötajatel ei ole lubatud oma palgateavet ise uuendada ja igast sellisest katsest tuleb teatada turvaadministraatorile.
  3. Iga kasutaja ebaõnnestunud katse andmeüksusele juurde pääseda salvestatakse auditeerimisjälge.
  4. Veebisait peaks toetama 20 miljonit samaaegset kasutajat ilma reageerimisaega lühendamata.
  5. Tarkvara peab olema kaasaskantav, et ühelt operatsioonisüsteemilt teisele üleminek ei tekitaks probleeme.
  6. Teabe privaatsus, piiratud tehnoloogiate eksport ja intellektuaalomandi õigused peavad olema auditeeritavad.

Funktsionaalsed vs. mittefunktsionaalsed nõuded

Peamised erinevused funktsionaalsete ja mittefunktsionaalsete nõuete vahel on järgmised:

parameetrid Funktsionaalne nõue Mittefunktsionaalne nõue
Mis siis täpsemalt Megabonder on? Verb Näitajad
Nõue See on kohustuslik See ei ole kohustuslik
Pildistamise tüüp See on jäädvustatud kasutusjuhul. Seda peetakse kvaliteediatribuudiks.
Lõpptulemus Toote funktsioon Toote omadused
Püüdmine Lihtne jäädvustada Raske tabada
Eesmärk Aitab teil kontrollida tarkvara funktsionaalsust. Aitab teil kontrollida tarkvara jõudlust.
Fookuse ala Keskenduge kasutaja nõudmistele Keskendutakse kasutaja ootustele.
dokumentatsioon Kirjeldage, mida toode teeb Kirjeldab, kuidas toode töötab
Testimise tüüp Funktsionaalne testimine nagu süsteem, integratsioon, otsast lõpuni, API testimine jne. Mittefunktsionaalne testimine, nagu jõudlus, stress, kasutatavus, turvatestimine jne.
Testi täitmine Testi teostamine toimub enne mittefunktsionaalset testimist. Pärast funktsionaalset testimist
toote Info Toote omadused Toote omadused

Mittefunktsionaalsete nõuete eelised

Peamised eelised Mittefunktsionaalne testimine See on:

  • Mittefunktsionaalsed nõuded tagavad, et süsteem järgib õigus- ja vastavuseeskirju.
  • Need kaitsevad süsteemi töökindlust, käideldavust ja jõudlust.
  • Need pakuvad head kasutajakogemust ja lihtsust.
  • Nad kujundavad tarkvara turvapoliitikat.

Mittefunktsionaalsete nõuete puudused

Mittefunktsionaalsete nõuete tavalised puudused on järgmised:

  • Mittefunktsionaalsed nõuded võivad mõjutada mitmeid kõrgetasemelisi tarkvara alamsüsteeme.
  • Need vajavad arhitektuuri ja kõrgetasemelise disaini väljatöötamisel erilist tähelepanu, mis suurendab kulusid.
  • Rakendus harva seostub ühe tarkvara alamsüsteemiga.
  • Pärast arhitektuurifaasi lõppu on neid raske muuta.

FURPS+ mudel mittefunktsionaalsete nõuete klassifitseerimiseks

FURPS+ on mittefunktsionaalsete nõuete kõige laialdasemalt kasutatav taksonoomia. Algselt Hewlett-Packardi poolt välja töötatud mudel jagab kvaliteediatribuudid viide põhikategooriasse koos täiendavate piirangutega, mis on tähistatud märgiga „+“. See mudel aitab ärianalüütikutel vältida terve nõuete klassi täitmata jätmist.

  • Funktsionaalsus: Võimalused, turvalisus ja korduvkasutatavus, mis ulatuvad põhifunktsioonide loendist kaugemale.
  • Kasutatavus: Inimfaktorid, esteetika, järjepidevus, dokumentatsioon ja kasutajakogemuse reageerimisvõime.
  • Usaldusväärsus: Käideldavus, keskmine aeg rikete vahel, taastatavus, prognoositavus ja täpsus.
  • Performance: Kiirus, läbilaskevõime, maht, skaleeritavus ja ressursitarbimine koormuse all.
  • Toetatavus: Tarnitud süsteemi testitavus, paindlikkus, paigaldatavus, lokaliseeritavus ja hooldatavus.
  • Pluss (+): Projekteerimine, teostus, liides ja füüsilised piirangud, näiteks nõutavad platvormid, standardid või riistvara.

Meeskonnad, kes kaardistavad iga mittefunktsionaalse nõude FURPS+ kategooriasse, pakuvad väiksema tõenäosusega süsteemi, mis küll vastab küll funktsioonidele, kuid ei vasta jõudluse, turvalisuse või hooldatavuse nõuetele.

Kuidas kirjutada testitavaid mittefunktsionaalseid nõudeid

Hästi kirjutatud mittefunktsionaalne nõue on mõõdetav, kontrollitav ja ajaliselt piiratud. Ebamäärased väited, näiteks „süsteem peab olema kiire” või „rakendus peaks olema turvaline”, on püüdlused, mitte nõuded. Järgige alltoodud samme, et teisendada kavatsus testitavaks mittefunktsionaalseks nõudeks.

  1. Tuvastage kvaliteediomadus. Kaardista mure FURPS+ kategooriasse, et meeskond teaks, kas tegemist on jõudluse, kasutatavuse, turvalisuse või töökindluse nõudega.
  2. Valige mõõdik. Igal NFR-il on vaja ühikut – millisekundeid, päringuid sekundis, samaaegseid kasutajaid, tööaja protsenti või vastavusstandardit, näiteks ISO 27001.
  3. Määrake numbriline läviväärtus. Asendage sõna „kiire“ sõnaga „alla 400 millisekundi 95. protsentiilil“. Asendage sõna „väga kättesaadav“ sõnaga „99.9 protsenti igakuist käideolekuaega“.
  4. Kirjeldage seisundit. Märkige koormus, keskkond või kasutajasegment, millele läviväärtus kehtib, näiteks „tippmüügi ajal 10 000 samaaegse kasutajaga“.
  5. Määrake kinnitusmeetod. Pange tähele testi tüüpi – koormustest, penetratsioonitest, kaosekatse, ligipääsetavuse audit – ja tööriista, mis läve kinnitab.
  6. Rakenda SMART-kontrolli. Enne nõuete kuhjumist veenduge, et need on spetsiifilised, mõõdetavad, saavutatavad, asjakohased ja ajaliselt piiratud.

Näide ümberkirjutamisest: „Süsteem peab olema kiire” saab „Kassaleht peab vastama vähem kui 500 millisekundiga 95. protsentiilil 5,000 samaaegse kasutajaga, mida kinnitab…”. JMeter „koormustesti iga väljalaset.“ Muudetud avaldus võimaldab arendajatel selle jaoks disainida, testijatel seda kontrollida ja tooteomanikel selle vaidlusteta vastu võtta.

KKK

Tehisintellektil põhinevad koormus- ja jõudlustööriistad genereerivad realistlikku liiklust, tuvastavad anomaaliaid reageerimisaja jaotustes ja ennustavad skaleerimispiiranguid enne tootmist. Tehisintellekt kontrollib ka logisid ja juurdepääsumustreid, et märkida turvasündmusi, mida traditsioonilised reeglipõhised tööriistad ei märka.

Copilot ja GPT teisendavad ebamäärased kvaliteediväited mõõdetavateks mittestandardseteks nõueteks (NFR), mis sisaldavad mõõdikuid, läviväärtusi, tingimusi ja kontrollimeetodeid. Ärianalüütikud vaatavad iga mustandi enne selle ootel olevasse tööde nimekirja vastuvõtmist üle FURPS+ kategooriate ja SMART-raamistiku alusel.

Funktsionaalne testimine kontrollib, kas funktsioonid, näiteks sisselogimine või otsing, toimivad õigesti. Mittefunktsionaalne testimine mõõdab süsteemi toimivust koormuse, stressi ja kasutamise korral, hõlmates jõudluse, turvalisuse, kasutatavuse, ühilduvuse ja töökindluse eesmärke.

Pilvepõhiste NFR-ide puhul domineerivad skaleeritavus, kättesaadavus, latentsus, elastsus ja kulutõhusus. Ka meeskonnad track jälgitavus, katastroofidejärgse taastamise eesmärgid, näiteks RPO ja RTO, ning mitme piirkonna nõuetele vastavus, kuna need mõjutavad enamikku pilvearhitektuuri otsuseid.

Valige ühikuga mõõdik, määrake numbriline läviväärtus, kirjeldage tingimust, mille korral see kehtib, ja nimetage kinnitusmeetod. Näiteks reageerimisaeg alla 400 millisekundi 95. protsentiilil 5,000 kasutajaga, mida on kinnitanud JMeter.

Enamik meeskondi dokumenteerib turvalisuse mitteametlikke eeskirju (NFR), mis hõlmavad nii andmete krüptimist nii salvestatud kui ka edastatud olekus, autentimise tugevust, rollipõhist autoriseerimist, auditilogimist, seansi ajalõpu ja vastavust standarditele nagu ISO 27001, PCI DSS ja GDPR.

Ebamääraste omadussõnade kasutamine, mõõdiku või tingimuse väljajätmine, mittefunktsionaalsete kriteeriumide (NFR) loetlemine alles projekti lõpus ja standardsete tekstide kopeerimine ja kleepimine, mida ükski test ei suuda kontrollida, on kõige levinumad vead, mis viivad arhitektuuri hilises etapis ümbertegemiseni.

NFR-id sisalduvad tarkvaranõuete spetsifikatsioonis, arhitektuuriotsuste protokollides, teenustaseme lepingutes ja valmisoleku määratluste kontrollnimekirjades. Agiilsed meeskonnad lisavad sageli mõõdetavaid NFR-e eeposte ja iga kasutajaloo valmisoleku määratlust silmas pidades.

Võta see postitus kokku järgmiselt: