Tarkvaranõuete analüüs näitega

⚡ Nutikas kokkuvõte

Tarkvaranõuete analüüs jagab sidusrühmade vajadused funktsionaalseteks ja mittefunktsionaalseteks osadeks, järjestab need äri-, arhitektuuri- ja süsteemitasandil ning seejärel kontrollib igaüht neist kvaliteediomaduste suhtes, et tagada testitav ja tracteostatav, prioriteetidega spetsifikatsioon.

  • 📐 Nõuete tüübid: Äri-, arhitektuuri- ja disaini- ning süsteemi- ja integratsiooninõuded moodustavad kolm tasandit, mis struktureerivad iga tarkvaraspetsifikatsiooni.
  • 🔀 Funktsionaalne vs mittefunktsionaalne: Funktsionaalsed laused kirjeldavad, mida süsteem peab tegema, samas kui mittefunktsionaalsed laused seavad mõõdetavad jõudluse, turvalisuse ja kasutatavuse eesmärgid.
  • 📚 Alternatiivsed allikad: Kui ametlikud ülesanded puuduvad, esitavad nõuded kolleegid, varasemad versioonid, vanemad nõuete dokumendid, veateated ja paigaldusjuhendid.
  • Kvaliteediomadused: Atomic, unikaalselt identifitseeritud, täielik, järjepidev, tracTäidetav, prioriseeritav ja testitav on seitse omadust, millele iga nõue peab vastama.
  • 🔗 Lõpp-lõpuni Tracvõimekus: Ärinõuded kaardistatakse disaini, disaini koodi ja koodi testjuhtumiteks, nii et ulatus ja katvus jäävad kogu projekti vältel nähtavaks.
  • 🎯 Testitav sõnastus: Asenda ebamäärased terminid nagu „iga leht” ja „vastuvõetav aeg” nimetatud lehtede ja mõõdetavate eesmärkidega, näiteks 5 sekundit.

Tarkvaranõuete analüüs

Tarkvaranõue on funktsionaalne või mittefunktsionaalne vajadus, mis tuleb süsteemis rakendada. Funktsionaalne tähendab kasutajale konkreetse teenuse pakkumist.

Näiteks pangarakenduse kontekstis on funktsionaalne nõue, et kui klient valib „Kuva saldo“, peaks ta saama vaadata oma viimast konto saldot.

Tarkvaranõue võib olla ka mittefunktsionaalne, näiteks jõudlusnõue. Näiteks võib mittefunktsionaalne nõue sätestada, et süsteemi iga leht peaks kasutajatele laadima 5 sekundi jooksul.

Nii et põhimõtteliselt tarkvara nõue on a

  • Funktsionaalne või
  • Mittefunktsionaalne

vajadus mis tuleb süsteemi juurutada. Tarkvaranõuded väljendatakse tavaliselt avaldustena.

Nõuete tüübid

ÄrinõudedNeed on projekti äriplaanist võetud üldised nõuded. Näiteks mobiilne pangateenuste süsteem pakub pangateenuseid Kagu-Aasias. India puhul on ärinõudeks konto kokkuvõte ja rahaülekanne, Hiina puhul aga konto kokkuvõte ja arvete maksmine.

Riik Pangafunktsioone või -teenuseid pakkuv ettevõte
India Konto kokkuvõte ja rahaülekanne
Hiina Konto kokkuvõte ja Bill Makse

Archikonstruktsiooni- ja disaininõudedNeed nõuded on detailsemad kui ärinõuded ja juhivad lahenduse arhitektuuri. Need määravad ärinõude rakendamiseks vajaliku üldise disaini. Haridusasutuse puhul hõlmavad tüüpilised arhitektuuri ja disaini kasutusjuhud sisselogimist, kursuse üksikasju ja registreerumist. Nõue oleks allpool näidatud.

Panganduse kasutamise juhtum Nõue
Bill Makse See kasutusjuht kirjeldab, kuidas klient saab netipanka sisse logida ja seda kasutada Bill Maksevõimalus. Klient näeb registreeritud arvete esitajate tasumata arvete juhtpaneeli. Klient saab arve esitaja andmeid lisada, muuta ja kustutada. Klient saab seadistada SMS- ja e-posti teel saadetavaid märguandeid erinevate arveldustoimingute jaoks. Klient saab vaadata varasemate tasutud arvete ajalugu. Selle kasutusjuhtumi algatajateks on pangakliendid või tugipersonal.

Süsteemi ja integratsiooni nõudedMadalaimal tasemel on meil süsteemi- ja integratsiooninõuded. See annab iga nõude üksikasjaliku kirjelduse. Seda saab jäädvustada igapäevases ärikeeles kirjutatud kasutajalugudena. Nõuded sisaldavad rohkelt detaile, et arendajad saaksid kodeerima hakata. Bill Allolev maksemooduli näide illustreerib arve esitaja lisamise nõuet.

Bill Makse Nõuded
lisama Billtv Kommunaalteenuse pakkuja nimi, kliendi number, automaatsed maksed – jah/ei, kogu summa tasumine Bill – Jah/Ei, automaatse makse limiit – Ära maksa, kui Bill on üle määratud summa

Mõnikord ei pruugi te projekti jaoks saada mingeid nõudeid ega dokumente, millega töötada. Isegi siis on olemas ka teisi nõueteabe allikaid, millele saate oma tarkvara või testi kujundamisel toetuda. Muud nõuete allikad, millele saate toetuda, on loetletud allpool.

Muud nõuete allikad

  • Teadmiste edasiandmine kolleegidelt või töötajatelt, kes juba selle projekti kallal töötavad
  • Arutage projekti ärianalüütiku, tootejuhi, projektijuhi ja arendajatega
  • Analüüsige juba rakendatud süsteemi eelmist versiooni
  • Analüüsi projekti vanemaid nõuete dokumente
  • Revvaadake varasemaid veateateid; mõned veateated teisendatakse täiustustaotlusteks, mida saab praeguses versioonis rakendada
  • Vajalike paigalduste kohta vaata paigaldusjuhendit (kui see on saadaval).
  • Analüüsige valdkonda või valdkonda puudutavat teadmist, mida meeskond püüab rakendada

Olenemata sellest, millist nõuete allikat te kasutate, dokumenteerige need ühises vormingus ja laske kogenud meeskonnaliikmetel need üle vaadata.

Kuidas nõudeid analüüsida

Vaatleme haridustarkvara süsteemi näidet, kus õpilane saab registreeruda erinevatele kursustele.

Uurime, kuidas nõudeid analüüsida. Igal nõudel peab olema standardsete kvaliteediomaduste kogum, mis hõlmab järgmist:

  • Atomic
  • Unikaalselt tuvastatud
  • täielik
  • Järjepidev ja üheselt mõistetav
  • Tracvõimeline
  • Esikohale seatud
  • Katsetatav

Analüüsige nõudeid

Järgmises tabelis on iga atribuut illustreeritud kolme veeru abil:

  1. Esimene veerg tähistab - "nõude kvaliteet"
  2. Teine veerg näitab - "halb nõue mõne probleemiga"
  3. Kolmas veerg näitab sama nõuet „teisendatud heaks nõudeks”.
Nõue kvaliteet Halva nõude näide Hea nõude näide
Atomic Õpilased saavad registreeruda bakalaureuse- ja magistriõppesse Tudengid saavad registreeruda bakalaureuseõppe kursustele. Tudengid saavad registreeruda magistriõppe kursustele.
Unikaalselt tuvastatud 1- Tudengid saavad registreeruda bakalaureuseõppe kursustele. 1- Tudengid saavad registreeruda magistriõppe kursustele. Kursusele registreerumine. Tudengid saavad registreeruda bakalaureuseõppe kursustele. Tudengid saavad registreeruda magistriõppe kursustele.
täielik Professori kasutaja logib süsteemi sisse, esitades oma kasutajanime, parooli ja muu asjakohase teabe Professori kasutaja logib süsteemi sisse, sisestades oma kasutajanime, parooli ja osakonna koodi
Järjepidev ja üheselt mõistetav Üliõpilasel on kas bakalaureuse- või kraadiõppe kursused, kuid mitte mõlemad. Mõned kursused on avatud nii bakalaureuse- kui ka magistriõppe lõpetajatele Üliõpilasel on kas bakalaureuse- või magistriõppe lõpetajad, kuid mitte mõlemad
Tracvõimeline Kas säilitada õpilaste teave kaardistatud BRD req.ID-ga? Säilitage õpilase teave – kaardistatud BRD nõudega ID 4.1
Esikohale seatud Registreeritud üliõpilane – prioriteet 1. Kasutajateabe haldamine – prioriteet 1. Kursustele registreerumine – prioriteet 1. Hinnetelehe vaatamine – prioriteet 1 Õpilase registreerimine – prioriteet 1. Kasutajateabe haldamine – prioriteet 2. Kursustele registreerimine – prioriteet 1. Hinnetelehe vaatamine – prioriteet 3
Katsetatav Süsteemi iga leht laaditakse vastuvõetava aja jooksul Registreerige üliõpilased ja registreeruge kursustele. Süsteemi lehed laaditakse 5 sekundi jooksul

Vaatleme kõiki neid omadusi üksikasjalikumalt, alustades Atomjää.

Atomic

Atomic

Iga nõue peaks olema atomaarne, mis tähendab, et see peab olema võimalikult detailne ja seda ei saa edasi komponentideks jagada. Järgmised näited võrdlevad atomaarseid ja mitteatomaarseid nõudeid.

Jätkates haridusvaldkonna süsteemi näitega: siin on halb nõue „Tudengid saavad registreeruda bakalaureuse- ja magistriõppesse“. See on halb nõue, kuna see ei ole atomaarne – see segab kahte erinevat üksust, bakalaureuse- ja magistriõppe kursusi. Vastav hea nõue jagab selle kaheks nõudeks. Üks nõue hõlmab registreerumist bakalaureuseõppesse ja teine ​​magistriõppesse.

Unikaalselt tuvastatud

Unikaalselt tuvastatud

Järgmine kvaliteediatribuut on unikaalne identifikaator. Halvas näites on kahel eraldi nõudel sama ID#1. Kui meeskond viitab nõudele selle ID järgi, jääb selgusetuks, millist kahest silmas peetakse. Heas nõude puhul on need koondatud 1. jaotisse – Kursustele registreerumine – alanõuetega 1.1 (bakalaureuseõppesse registreerumine) ja 1.2 (magistriõppesse registreerumine).

täielik

täielik

Kõik nõuded peaksid olema täidetud. Näiteks siin ütleb halb nõue, et „professori kasutaja logib süsteemi sisse oma kasutajanime, parooli ja muu asjakohase teabe sisestamisega“. „Muu asjakohane teave“ on ebamäärane. Täielik nõue loetleb täpsed väljad, näiteks osakonna koodi, mida professor peab esitama.

Järjepidev ja üheselt mõistetav

Järjepidev ja üheselt mõistetav

Iga nõue peaks olema järjepidev ja üheselt mõistetav. Halvas näites on üks nõue, mille kohaselt „üliõpilasel on kas bakalaureuse- või magistriõppe kursused, aga mitte mõlemad“, samas kui teises nõudes on kirjas: „Mõned kursused on avatud nii bakalaureuse- kui ka magistriõppe üliõpilastele“.

Esimene nõue viitab kursuste jagamisele kahte eksklusiivsesse kategooriasse, kuid teine ​​nõue on sellega vastuolus, avades mõned kursused mõlemale rühmale.

Hea nõue lahendab konflikti, sätestades selgelt, et iga kursus on märgitud kas bakalaureuse- või magistriõppe kursusena ning üliõpilane saab registreeruda ainult ühe kategooria kursustele.

Tracvõimeline

Tracvõimeline

Iga nõue peab olema tracteostatav, kuna nõuded eksisteerivad mitmel tasandil: ärilisel, arhitektuurilisel ja disainilisel ning süsteemi ja integratsiooni tasandil.

Kui teisendate ärinõude arhitektuuri- ja disaininõueteks või arhitektuuri- ja disaininõuded süsteemi- ja integratsiooninõueteks, tracToimivus tuleb säilitada. Iga ärinõue peaks olema seotud ühe või mitme arhitektuuri- ja disaininõudega. Halvas näites „Üliõpilase teabe haldamine – kas see on seotud BRD nõude ID-ga?“ puudub nõude ID.

Hea nõue salvestab sama lause, aga on otseselt seotud BRD nõude ID 4.1-ga. Igal nõudel peab olema tracvõimekuskaartpingSüsteemi- ja integratsiooninõuded peaksid olema seotud ka neid rakendava koodi ja neid kontrollivate testidega.

TracSeega hõlmab teostatavus kogu projekti vältel otsast lõpuni.

Esikohale seatud

Iga nõue tuleb tähtsuse järjekorda seada, et meeskond teaks, mida kõigepealt rakendada ja mis võib oodata. Halvas näites on „Registreeri õpilane“, „Säilita kasutajainfo“, „Registreeri kursused“ ja „Vaata hinnetelehte“ prioriteediks 1. Kõik ei saa olla prioriteediga 1, seega tuleb nõuded realistlikult järjestada. Heas näites on „Registreeri õpilane“ ja „Registreeri kursused“ kõrgeim prioriteet 1, „Säilita kasutajainfo“ prioriteet 2 ja „Vaata hinnetelehte“ prioriteet 3.

Katsetatav

Iga nõue peaks olema testitav. Halb näide „süsteemi iga leht laadib vastuvõetava aja jooksul” ei ole testitav kahel põhjusel. Esiteks võib „iga leht” tähendada kümneid lehekülgi, mis paisutab testimise pingutust. Teiseks on „vastuvõetav ajaraam” määratlemata – kellele see on vastuvõetav ja millise võrdlusaluse suhtes? Hea nõue lahendab mõlemad probleemid, nimetades konkreetsed lehed („üliõpilaste registreerimise ja kursustele registreerumise lehed”) ja seades mõõdetava eesmärgiks 5 sekundit.

KKK

Tehisintellekti tööriistad koondavad sidusrühmade tagasisidet, märgistavad ebaselget keelt ja tuvastavad dubleerivaid või puuduvaid nõudeid suurtes alusandmetes. Ärianalüütikud kontrollivad iga ettepanekut enne selle lisamist kinnitatud nõuete hulka päringukirje alusel.

GitHub Copilot ja GPT koostavad lühikeste ülesannete põhjal kasutajalugusid, vastuvõtukriteeriume ja ärireegleid. Ärianalüütik vaatab iga väljundi üle selliste kvaliteediomaduste suhtes nagu aatomiline, testitav ja tracteostatav enne, kui sellest saab kinnitatud nõue.

Tarkvaranõuete spetsifikatsioon on ametlik dokument, mis loetleb süsteemi funktsionaalsed nõuded, mittefunktsionaalsed nõuded, liidesed ja piirangud. IEEE 830 ja ISO 29148 on standardid, mida enamik meeskondi SRS-i kirjutamisel järgib.

Nõuete kogumine ehk väljaselgitamine kogub sidusrühmadelt algandmeid vajaduste kohta. Seejärel korratakse, täpsustatakse ja kontrollitakse nõuete analüüsi käigus neid vajadusi seitsme kvaliteediatribuudi alusel, et täitmismeeskond saaks selged ja testitavad nõuded.

Kasutage selliseid tehnikaid nagu MoSCoW (Must, Should, Could, Would), Kano analüüs, kaalutud punktiarvestus või viivituskulude analüüs. Kombineerige äriväärtus tarnepingutuse ja -riskiga ning seejärel leppige enne arenduse alustamist sponsori ja tooteomanikuga kokku tellimus.

Nõuded TracTäidetavusmaatriks seob iga nõude selle disainielemendi, koodikomponendi ja testijuhtumiga. See annab edasi-, tagasi- ja kahesuunalise tracligipääsetavus, nii et midagi ei jää kahe silma vahele, ei ehitata üle ega saadeta ilma vastava testita.

Ebamäärane sõnastus, prioriseerimata mahajäämused, puuduvad tracLihtsustatus, lahendusideede segamine ärivajadustega ja ulatuse külmutamine ilma muudatuste kontrollita on vead, mis põhjustavad kõige rohkem ümbertegemist, ajakava nihkumist ja tootmisdefekte.

Populaarsete tööriistade hulka kuuluvad Jama Connect, IBM UKSED Modern Requirements eest Azure DevOps, Jira koos Xray, Visure Requirements ALM ja Blueprint. Meeskonnad valivad platvormi regulatiivsete vajaduste, meeskonna suuruse ja halduse sügavuse põhjal. tracvajalik paindlikkus.

Võta see postitus kokku järgmiselt: