Kas yra reikalavimų inžinerija?

Didelės techninės ar programinės įrangos sistemos, tokios kaip erdvėlaivis, turi sudėtingų reikalavimų. Reikalavimai yra specifikacija, kas turi būti sukurta, kaip sistema turėtų veikti, arba sistemos kūrimo proceso apribojimai. Reikalavimų inžinerija – tai geros inžinerinės praktikos taikymas norint suprasti reikalavimus prieš kuriant sistemą. Ji įgyja svarbą, nes sistemos suinteresuotosios šalys nėra aiškios savo poreikių ir turi skirtingus poreikius.

Sudėtingoje sistemoje gali būti daug suinteresuotųjų šalių, tokių kaip žmonės, pavedantys sistemą, vartotojai, kurie naudojasi vienu ar daugiau sistemos aspektų, ir žmonės, kuriems sistema naudinga. Taip pat gali būti, kad tarp suinteresuotųjų šalių yra visuomenės nariai, kuriems įtakos turi tam tikri sistemos ypatumai. Suinteresuotosios šalys turi savo specialius poreikius. Kita vertus, žmonės, kuriantys sistemą, gali būti techniškai pajėgūs, tačiau gali ne iki galo suprasti suinteresuotųjų šalių požiūrio. Reikalavimų inžinerija yra esminis gebėjimas, jungiantis šias puses.

Formaliai reikalavimų inžinerinė veikla skirstoma į reikalavimų rengimą ir reikalavimų valdymą. Reikalavimų kūrimą sudaro iškvietimas, analizė, specifikacija ir patikrinimas. Reikalavimų valdymas – tai viso reikalavimų proceso kontrolė, ypač sprendžiant bet kokius reikalavimų pasikeitimus. Kai kurie praktikai, priešingai, visą veiklą vadina reikalavimų analize.

Reikalavimus iš suinteresuotųjų šalių reikia iškelti, nes suinteresuotosios šalys dažnai nevisiškai nurodo savo poreikius ir nesuvokia naujosios sistemos pasekmių. Suinteresuotosios šalys gali neatsiverti, nes gali bijoti poveikio dabartinėms jų darbo vietoms. Taigi iššaukimas yra kruopštus ir, galbūt, ilgas procesas, kuriame reikia empatijos ir subtilios psichologijos. Reikia būti atsargiems, kad kultūriniai skirtumai tarp skirtingų suinteresuotųjų šalių ir kūrėjų būtų panaikinti.

Reikalavimams nustatyti naudojami keli būdai. Reikalavimai gali būti nustatyti per individualius pokalbius, grupinius susitikimus ir stebint žmones, atliekančius jų užduotis. Metodai, galintys iškelti reikalavimus, apima tikslines grupes, prioritetinių sąrašų kūrimą, prototipų kūrimą ir palyginimą su kitomis veikiančiomis sistemomis. Reikalavimai, kuriuos reikia nustatyti, apima sistemos verslo poreikius, vartotojų verslo procesus, kai jie naudojasi sistema, ir funkcines sistemos savybes. Be to, reikia nustatyti nefunkcinius reikalavimus, tokius kaip atsako laikas, sistemos prieinamumas ir naudojimo paprastumas.

Reikalavimų inžinerijos analizės žingsnis formuoja žemo lygio reikalavimus, kurie patenkins pirminius aukšto lygio reikalavimus. Tai apima konceptualių modelių ir prototipų kūrimą, siekiant įsitikinti, kad reikalavimai yra išsamūs. Įvairių suinteresuotųjų šalių poreikių konfliktai dažniau randami pagal modelius ir prototipus, o ne iš vien reikalavimų sąrašo. Analitikai prie reikalavimų turi pridėti pageidaujamas sistemos charakteristikas, tokias kaip saugumas, lankstumas ir priežiūra.

Reikalavimai nurodyti dokumente, kad būtų lengviau juos suprasti visoms suinteresuotoms šalims. Programinės įrangos srityje dokumentas vadinamas SRS, kuris reiškia programinės įrangos reikalavimų specifikaciją. Reikalavimus tikrina pagrindinės suinteresuotosios šalys. Tai daugiausia daroma per pristatymus ir specifikacijų dokumentą, bet kartais ir su reikalavimus atitinkančiais bandomaisiais atvejais.

Reikalavimų inžinerija pirmiausia yra komunikacija, veikla, o ne techninė. Tam reikia daugiadisciplininių įgūdžių. Reikalavimų inžinerija padeda suinteresuotoms šalims ir kūrėjams išspręsti konfliktus ir suvienija juos siekiant tikslų; Tai veda į tvirtą sistemą.